在以太坊 2.0 中,节点之间必须彼此沟通:「哈比人协议」将作为过渡方案

在以太坊 2.0 中,节点之间必须彼此沟通:「哈比人协议」将作为过渡方案

如上次报导所说,以太坊 2.0 的 Phase Zero(零阶段)的代码已接近完成。目前负责的开发人员已经开发出哈比人协议的测试代码,目的是为了帮助客户在升级到以太坊 2.0 之前,加强测试工作。

 

太坊是目前市值第二大的区块链网路,大约是 170 亿美元。以太坊 2.0 将会是从 2015 年 7 月问世以来最大的升级,为区块链网路带来可扩展性。而根据用户开发首席技术长佛迪克(Fredik Harryson)说法,这个代码是帮助节点之间互相传递讯息的协议,在 4 月 23 日的时候就已经完成,目前正在审核。

如果审核通过实施的话,哈比人协议将会在以太坊 2.0 节点之间的通讯协议升级成 libp2p 之前,作为过渡的节点间的通讯协议。

哈比人协议名称(Hobbits),取自魔戒的哈比人。哈比人是托尔金的奇幻小说《魔戒》中出现的一种虚构民族,是人类的变种,体型娇小为其特色,但并非矮人或侏儒。在魔戒中里扮演着重要的角色。

而这个名为哈比人的通讯协议是由区块链性能测试公司 Whiteblock,以太坊技术公司 Consensys,还有以太坊测试团队 Chainsafe 和 Yeeth 合作开发。

哈比人协议

Trenton Van Epps 在介绍哈比人协议的文章写道:

随着以太坊 2.0 越来越接近实测,会需要在节点之间传递讯息的方法。这种方法叫做「有线协议(Wire Protocol)」。

有线协议是分散式网路的核心协议,因为区块链本身就是透过节点之间传递交易讯息、历史。而在 Vitalik Buterin 先前的访谈中解释说,有线协议是决定「节点传递消息的规则」,包括怎么传递、传递什么讯息等等。

哈比人协议是一种最小的传输规范,支持基本的消息传递类型,并允许节点相互通信。而这个哈比人协议会是以太坊 2.0 的 libp2p 的过渡协议。

根据 Trenton Van Epps 的说法,目前 Ethereum 的客户端只用 GO 跟 Rust 这两个程式语言。因此目前以哈比人协议将作为支持节点沟通、传递讯息的最小传输规范,而在 Java、Javascript、wift 等程式语言中完成之后,就会转换到采用 libp2p 通讯协议。

在未来,以太坊 2.0 将会借助「libp2p」的有线协议 ,该协议由区块链新创公司 Protocol Labs (IPFS 和 Filecoin 开发的协议)所开发。在所有的节点都能转换到 libp2p 协议之前,哈比人协议将会作为过渡的节点间的通讯协议。Consensys 的架构师 Jonny Rhea 解释道:

「我们还没办法使用 libp2p,所以我们需要一个最小可行的有线协议,有点像测试版的有线协议。」

什么是 libp2p

目前以太坊 1.0 使用的通讯协议叫做 DEVp2p ,这是 2015 以太坊上线时所开发的。这个协议就是俗称的八卦协议(Gossip Protocol),所有的讯息最终都会传播给所有节点。但是对于以太坊 2.0 来说,这个协议是不够的,因为对于节点而言,以太坊 2.0 的权益证明 PoS 的讯息太过庞大。

而以太坊 2.0 要使用的协议 libp2p 会有两个好处。首先,libp2p 汇集了各种传输和点对点的协议,使开发人员可以建构强大的 P2P 网路。

而且 libp2p 改善了原本了的八卦协议,防止每次节点要发送讯息时所会引起的网路泛滥和壅塞。

「如果我(节点)有一个新的区块要发布,我需要跟 6 个节点串连,我会随机将讯息发送给 2 个、3 个节点。我发布新区块的消息给其它节点,其它节点在随机选择两个节点发送,但是它不会将讯息回传给我。」Consensys 的架构师 Jonny Rhea 解释道。

另外,Rhea 也提到,在外来采用 libp2p 的另一优势在于,该协议将「节点之间通讯的形式」模块化,若是开发者不喜欢节点彼此沟通的模式,可以针对其自行设计。

「在 libp2p 协议中,如果你不喜欢一个节点透过网路连结另一个节点的方式,可以选择将预设的模式给替换。」Rhea 补充道。

📍相关报导📍

以太坊权益证明(PoS)的区块链代码有望在下个月完成,迎向以太坊 2.0

特斯拉创办人 Elon Musk 想知道「以太坊能开发些什么」? Vitalik Buterin 提 13 项应用


您可能还喜欢...

发表评论

电子邮件地址不会被公开。 必填项已用*标注