宇宙链 宇宙链
Ctrl+D收藏宇宙链
首页 > Bitcoin > 正文

点对点网络组建:从Kademlia到Discv5

作者:

时间:1900/1/1 0:00:00

编者按:本文来自以太坊爱好者,作者:dean,翻译&校对:裴奇&阿剑,Odaily星球日报经授权转载。如果你一直在研究以太坊或者相关的技术,你可能听说过discv4或discv5。但这些究竟是什么呢?它们是如何工作的呢?它们出众的地方在哪里呢?想要回答这些问题,我们需要从头开始梳理一下。这篇博文假定读者对这个领域比较陌生,因此没有技术背景的人也可以阅读。开篇

故事的开端:在P2P网络中,节点的相互发现及网络成型的过程会面临一些问题。早年间的P2P文件共享技术,比如Napster,使用单个服务器共享信息,信息中记录谁拥有什么文件。某个节点向中心服务器发起连接并提交记录自己所拥有文件的列表。另一个节点之后向同一个中心服务器发起连接,寻找自己所需文件的存储节点,然后和找到的节点建立联系。然而这是一个有缺陷的系统——系统很容易遭受攻击,而且中心化服务器节点可能会吃官司。因此,点对点网络亟需另一种解决方案。研究者们经过数年研究和实验,提出了分布式哈希表。分布式哈希表

尼日利亚点对点比特币交易量持续上升,仅次于美国:作为非洲最大的经济体,尼日利亚的点对点比特币交易量继续上升。据Quartz Africa报道,比特币P2P市场Paxful的数据显示,该国的比特币交易量仅次于美国,位居全球第二。自2015年以来,尼日利亚人已经在Paxful平台上交易了超过60200枚比特币,在此期间的交易额约为5.66亿美元。Coin Dance的数据显示,截至12月12日当周的交易量为8.863亿奈拉(约合230万美元)。比特币在尼日利亚的采用率不断提升,可能是多种因素共同作用的结果,其中最主要的是尼日利亚央行(CBN)严格的外汇政策,以及该国法定货币奈拉的快速贬值。在12月16日发布的一份公报中,央行指示国际汇款运营商(IMTOs)停止处理侨民的奈拉汇款。(Cointelegraph)[2020/12/19 15:47:36]

2001年,研究者们为DHT提出了4种新的协议,分别是Tapestry、Chord、CAN以及Pastr,这4个协议在核心功能上各有取舍和改变,因此拥有不同的特性。上文中一直都在说DHT。那么DHT到底是什么呢?分布式哈希表是一个分布式的键值列表。参与到DHT的节点可以很轻松地检索到某个键对应的值。假定一个网络中,有9个键值对和3个节点,理想情况下,每个节点只需要存储3个键值对,意味着如果要更新某个键值对,只有部分网络节点需要更新。大致想法是这样的,网络中的任何节点都可以基于信息在节点间分布的方式,知道要去哪里寻找它所需要的特定键值对。Kademlia

余半城:Defi和CeFi区别是一个机构托管交易,一个是自己控制私钥做点对点的交易:2020年5月23日,由百团大战、节点咨询、金色财经主办,莱比特、算力360联合主办的百团大战矿业峰会·丰水期之战在成都开幕。

在会上,比特币老玩家余半城表示,Defi和CeFi区别是一个是支持机构托管的交易,一个是支持点对点的交易,这是两个核心。包括去年和前年出了很多Defi的产品,它的核心是用户掌握自己私钥,是双方信息充分情况下完成自主交易。CeFi是大部分用户没有自己掌管私钥的能力,资金资产托管放在平台上,在平台的内部撮合下完成交易,这是CeFi和Defi的区别。[2020/5/23]

现在我们知道DHT是什么了,那我们来看看discv4的前身Kademlia。Kademlia是PetarMaymounkov和DavidMazières于2002年发明的DHT协议。我觉得这个协议可能是最流行,而且使用最广泛的DHT协议。它的工作原理很简单,让我们来看看吧。在Kademlia中,节点和值通过距离来排列。这里的距离不是地理位置上的距离,而是基于标识符的表示方法。通过使用一些距离函数,可以计算出两个标识符之间的距离。Kademlia使用XOR作为距离函数。XOR函数的特点在于,只有当输入不同时,输出才为true。下面是用二进制标识符表示的例子。XOR1001100100110010--------10101011上面的这个例子是说,十进制数字153和50之间的距离是171。使用XOR作为距离函数有很多原因,包括:某个ID与它自己的距离是0。距离是对称的,A到B的距离和B到A的距离相同。遵循三角不等式,如果A,B,C是三角形上的三点,那么A到B的距离,小于或等于A到C的距离加上B到C的距离。综上,节点可以根据距离函数来确定哪个节点离它更近,并基于这种“距离”来做决策。Kademlia节点存储着一个路由表。路由表中包含多个列表。每后一个列表所记载的节点都比前一个列表中的节点离得远一点。每个节点维护离自己最近节点的信息;另一个节点离得越远,本地节点保存的相关信息就越少。假定我想要找到一个特定的节点。我要做的就是向我已知的节点发送请求,这些节点返回他们的记录中离我的目标节点更近的邻居节点。我重复此过程,直到某群邻居帮我找到目标节点。对值来说也是同样的过程。值跟节点之间的距离是确定的,因为值和节点的标识符ID以相同的方式组织,因此我们可以计算这个距离。如果我想查找一个值,我只需要寻找离这个值的键最近的邻居节点,直到找到存储这个值的节点。为了让Kademlia节点支持这些功能,协议通过下面这些消息来通信。PING-用来检测一个节点是否还在运行。STORE-在一个节点上存储给定键的值。FINDNODE-向给定ID返回所请求的最近节点。FINDVALUE-和FINDNODE一样,区别在于,如果一个节点存储着特定的值,它将会直接将值返回。这是对Kademlia的一个非常简化的讲解,中间跳过了各种重要的细节。想要更全面的了解,力荐原论文或者更深层次的设计规范。Discv4

动态 | 菲律宾和马来西亚过去一周的比特币点对点交易量飙升:金色财经报道,根据加密市场数据提供商Coindance的报告,比特币点对点交易最近在马来西亚和菲律宾飙升。点对点交易平台Paxful上的交易量在过去一周经历了峰值。虽然上周正值比特币遭遇6个月来的新低,菲律宾的增长情况却尤为突出。报告指出,该国的BTC交易量已从前一周的价值291837菲律宾比索跃升至1221000菲律宾比索,为菲律宾有史以来最高的交易量。报告还指出,马来西亚在11月23日当周交易了价值157615马来西亚林吉特的比特币,前一周仅为149724马来西亚林吉特。该国的比特币持有者继续稳步增长,这也代表了Paxful在马来西亚创下的历史新高(ATH)。[2019/11/27]

对背景做好铺垫之后,终于来到discv4了,这是以太坊当前的节点发现协议。Discv4协议本身是基于Kademlia的,但在某些部分做了改动。例如,discv4中不再使用DHT中的值部分。Kademlia主要用于网络的组织,因此我们可以使用路由表定位其他节点。但discv4中完全不使用DHT中的值部分,因此我们可以抛弃Kademlia中使用的命令FINDVALUE和STORE。前文中,Kademlia的查询方法描述了节点如何得到对等节点。节点向另一些节点发起请求,得到离自己更近的节点。重复此请求过程,直到无法找到任何新的节点。此外,discv4添加了相互的终端验证功能。这是为了确保发起FINDNODE请求的节点正在参与同一个节点发现协议。最后,所有的discv4节点都应该维护最新的ENR记录。记录里包含一个节点的信息。任何节点都可以使用特定于discv4的包,叫做ENRRequest,去请求ENR记录。如果你想知道关于ENRs的更多细节,请移步至我的另一篇博文NetworkAddressesinEthereum。然而,discv4也引入了一些问题。让我们来看看其中的几个。首先,按照discv4目前的工作方式,是无法区分节点间的次级协议的。也就是说,如果一个以太坊节点将以太坊Classic节点,Swarm或Whisper节点加入它的DHT,那么只有和这些节点发生多次通信之后,才能发现这些节点的无效性。这种无法区分次级协议的能力使得它很难找到特定的节点,比如支持轻客户端的以太坊节点。其次,为了防御重放攻击,discv4使用了时间戳。当某个主机的时钟发生错误时,这种方式会导致各种各样的问题。欲了解更多详情,请查阅discv4规范的“KnownIssues”部分。最后,终端的互验证工作中也存在问题。因为信息有丢包的可能,所以没有办法断定两个对等节点是否都已验证过对方。也就是说,我们可能自认为已经被验证过了,但跟我们通信的对等节点却并不这么认为;他们可能会因此丢弃我们的FINDNODE包。最后,终端的互验证工作中也存在问题。因为信息有丢包的可能,所以没有办法断定两个对等节点是否都已验证过对方。也就是说,我们可能自认为已经被验证过了,但跟我们通信的对等节点却并不这么认为;他们可能会因此丢弃我们的FINDNODE包。Discv5

动态 | 点对点ETH交易平台LocalEthereum开发身份验证解决方案,以防止身份盗用:LocalEthereum正在开发一种旨在打击欺诈行为的身份确认解决方案,这个新的解决方案并不是KYC,而是让用户透过加密消息直接共享身份文档。具体来说,交易者可选择以一种更加安全的方式将自己的姓名共享给另一名用户,并在无需向对方泄露原始文档也不必要向LocalEthereum透露自己名字的情况下,证明是自己的名字。据悉,LocalEthereum是一个点对点的ETH交易平台,可以实现买家与卖家直接进行ETH与现金交易。[2019/8/4]

最后,让我们来看一下discv5。Discv5是discv4的迭代版本,将作为Eth2.0的节点发现协议。Discv5旨在修复discv4中存在的诸多问题。第一个改变是FINDNODE的工作方式。传统的Kademlia以及discv5都使用标识符。而在discv5中,我们使用对数距离,也就是说,发送FINDNODE请求后,响应中包含的节点,都与发送方节点在特定的对数距离内。对数距离指:先计算出距离,然后使用以2为底数的log函数,即log2(AxorB)。其次一个很重要的改变就是discv5一直致力于解决的,存在于discv4的最大问题:次级协议的区分。Discv5添加了主题表。主题表是先进先出的列表,表中包含提供特定服务的节点。节点通过在对等节点中注册广告将自己添加进这个列表。截至本文写作之时,这个次级协议区分方案中的写操作依然存在一些问题。对一个节点来说,目前没有有效的方法将广告发布在多个对等节点上,因此需要向每个对等节点发送单独的请求,这对于大规模网络来说效率很低。此外,一个节点向多少个对等节点上发布广告,以及向哪些对等节点投放都是不清楚的。更多详情请查阅devp2p#136。Discv5中还有很多小的改变,但是这些改变没那么重要,因此在这篇总结中就省略了。虽然discv5解决了一些discv4中存在的问题,但还有一些问题,discv5仍没有解决,比如不可靠的终端验证。写这篇博文之时,discv5还没有提出新的方法去提升终端验证的处理过程。正如你所见,discv5的工作仍在进行中,目前还需要克服一些很大的挑战。如果这个协议解决了这些问题,那么它将会是对原始Kademlia实现的一个巨大提升。希望这篇文章能帮助你理解什么是发现协议以及发现协议是如何工作的。如果你对整个协议感兴趣,可以在github上查阅。

声音 | 澳本聪:ABC失去了点对点特性,因此SV更好:据ambcrypto报道,在CoinGeek周期间,澳本聪(Craig Wright)称:“我打算用比特币ABC给我的花园施肥”。澳本聪表示比特币SV是商品分类账,商品分类帐可以是任何东西,没有人可以决定什么是有效的交易。比特币的整个概念是关于拥有点对点交易系统,当只有大量交易时,这种系统变得困难。将多个矿工加入生态系统使其更具竞争力,从而阻碍了这些功能。对于执法机构跟踪比特币区块链上的非法活动,整个网络将需要更大的链。澳本聪称,ABC失去了点对点的特性,这就是为什么SV更好。[2018/11/30]

标签:DISISCDISC比特币DisneyKISC价格DISC币我国为什么禁止比特币挖矿

Bitcoin热门资讯
以太坊是2020年最值得期待的项目吗?

编者按:本文来自哔哔News,作者:Breeze,Odaily星球日报经授权转载。以太坊是很好的投资品,也是真正让人感到兴奋的生态项目之一,后者进一步扩大了其作为投资品的潜力.

1900/1/1 0:00:00
比特币秘史(七十四):疯狂敛财的庞氏局,却是比特币暗黑时刻的“布道者”

本文来自:哈希派,作者:LucyCheng,星球日报经授权转发。 2014年超大型交易所门头沟的一夕陨落,震动了整个加密货币领域,让比特币市场陷入漫长的价格寒冬,时隔一年多后才在2015年下旬显现出复苏的迹象.

1900/1/1 0:00:00
为什么闪电网络的衍生品会很重要?

编者按:本文来自LongHash区块链资讯,作者:LongHashKyleTorpey,Odaily星球日报经授权转载。闪电网络可以通过快速、低廉且可靠的方式处理更多支付来帮助比特币实现扩展.

1900/1/1 0:00:00
数字金融资产简介

Overview概述本文将以衍生品出发,概述数字金融资产市场的未来趋势。Report报告行业总结尽管加密市场继续停滞不前,2017年不断推高的加密货币市场上出现了成千上万的现金掠夺和欺诈性的ICO.

1900/1/1 0:00:00
胖协议时代之后的价值捕获者:中间件协议

编者按:本文来自IOSG,作者:Jocy,Ray,Odaily星球日报经授权转载。导读基于我们对中间层协议的理解,我们对加密网络中的中间件协议的具体细分方向作了一次分类和梳理.

1900/1/1 0:00:00
Libra发行会改变稳定币的格局?

近两日,各大媒体网站被DCEP和Libra刷屏,归根结底还是由于数字货币这个概念受到币圈投资者广大关注,若是同为数字货币的DCEP和Libra被社会广泛认可,那是否意味着加密货币也有出头之日呢?大家都知道.

1900/1/1 0:00:00