POL:从模型到治理,全方位对比「波卡」和「以太坊 2.0」

编者按:本文来自PolkaWorld,Odaily星球日报经授权转载。Polkadot和以太坊2.0都是分片式区块链协议。即它们通过在单独的分片中执行交易,并提供在分片之间发送消息的协议来提供可扩展性。模型

以太坊2.0中的分片都具有相同的状态转换函数,即管理着区块链如何更改每个区块状态的规则。该STF提供了智能合约执行的界面。合约存在于单个分片上,因此可以通过并行执行分片来进行扩展。同样,在Polkadot中,每个分片都承载核心逻辑,这些分片并行执行,并且Polkadot可以发送跨分片的异步消息。但是,协议中的每个分片都有唯一的STF。通过组合逻辑,应用程序可以存在于单个分片中,也可以存在于多个分片中。Polkadot使用WebAssembly作为“元协议”。分片的STF可以是抽象的,只要Polkadot上的验证人可以在Wasm环境中执行即可。架构

以太坊2.0

以太坊2.0的主链称为信标链。信标链的主要负载是见证消息,这是对分片数据可用性和信标链有效性的投票。以太坊2.0中的每个分片都是具有EthereumWasm接口的区块链。以太坊2.0将仅通过信标链启动阶段0。在第1阶段,它将以简单链的形式启动64个分片,以测试信标链的最终性。每个分片都向“信标链”提交“交联”,其中包含确定分片数据的信息。稍后,在阶段2中,分片将实现eWasm接口,最终使系统可用。该网络还将具有“侧链”,来与不在以太坊2.0最终性协议下的链进行交互。Polkadot

像以太坊2.0一样,Polkadot也有一个主链,称为中继链,带有许多分片,叫作“平行链”。平行链不限于单个界面,例如eWasm。取而代之的是,它们可以定义自己的逻辑和接口,只要将其STF提供给中继链验证人即可执行。Polkadot计划在启动时每个区块最多能够验证100个分片。除了计划在每个块中执行的平行链以外,Polkadot还具有动态调度的平行线程。这让多条链可以共享分片插槽,就像多家小型航空公司可能在机场共享一个登机口一样。为了与想要使用自己的最终过程的链进行交互,Polkadot拥有转接桥平行链来提供双向兼容性。共识

以太坊2.0和Polkadot都使用混合共识模型,其中出块和最终性都有各自的协议。最终性协议基于GHOST,并且都可以在一轮中最终确定一批区块。对于出块,这两种协议都使用基于插槽的协议,该协议将验证人随机分配给插槽,并为未最终确定的区块提供分叉选择规则。以太坊2.0和Polkadot的共识有两个主要区别:以太坊2.0根据称为“epochs”的时间段来最终确定一批区块。当前的计划是每个时期有64个块,并在一轮中全部完成。预计的区块时间为12秒,这意味着最终确定的预期时间为6分钟。Polkadot的最终协议GRANDPA根据可用性和有效性检查来最终确定一批区块,这些检查随着被提议的链增多而发生的。最终确定的时间随需要执行的检查次数而变化。预期的最终确定时间为12-60秒。以太坊2.0每个分片需要大量验证人以提供强大的有效性保证。Polkadot能够通过每个分片更少的验证人来提供更强大的保证。Polkadot通过让验证人向系统中的所有验证人分发纠删码来实现此目的,从而使任何人都可以重建平行链的区块并测试其有效性。随机的平行链验证人分配算法,和由随机选出的验证人进行的二次检查,让每个平行链上的一小组验证人无法串通。Staking机制

以太坊2.0将是一个权益证明网络,每个验证人需要32ETH来进行抵押。验证人将运行一个主要的“信标链”节点和多个验证人客户端。这些验证人被分配给“委员会”,“委员会”是随机选择的组,以验证网络中的分片。以太坊2.0依靠大型验证人集合来提供可用性和有效性保证:每个分片至少需要111个验证人才能运行网络,每个分片至少需要256个验证人才能一个epoch之内未最终确定所有分片。而64个分片就是16,384个验证人。Polkadot能够以更少的验证人来提供强大的确定性和可用性保证。因此,Polkadot使用提名权益证明从较小的集合中选择验证人,从而使较小的持有者可以提名验证人来运行基础结构,同时仍然可以获得系统的收益,而无需运行自己的节点。Polkadot计划在第一年拥有1,000个验证人,并且网络中每个平行链大约需要10个验证人。分片

以太坊2.0中的每个分片都具有相同的STF。在阶段1中,分片将是简单的数据容器,提供与信标链的交联。在阶段2中,他们将实现eWasm执行环境。EWasm是Wasm的有限子集,用于以太坊中的合约。eWasm界面提供了一组可用于合约的方法。eWasm开发应该有类似的开发工具集,例如Truffle和Ganache。Polkadot中的每个分片都有一个基于Wasm的抽象STF。只要逻辑编译为Wasm,并且每个分片为Polkadot验证人提供“执行区块”功能,每个分片都可以公开自定义接口。Polkadot具有Substrate开发框架,该框架拥有可配置、组合和扩展的模块,可以进行全方位的组合来开发链的STF。消息传递

以太坊2.0中的分片可以通过对方的交联和状态证明访问彼此的状态。在具有64个分片的以太坊2.0模型中,每个分片在信标链中为每个块发布一个交联,意味着分片可以包含一些逻辑,来执行基于另一个分片上的一笔交易的轻客户端证明。以太坊2.0尚未发布节点在分片之间传递消息的规范。Polkadot使用跨链消息传递(XCMP)来让平行链间相互发送任意消息。平行链彼此之间建立了开放的连接,并可以通过其建立的通道发送消息。如果两个平行链具有相同的全节点,则它们可以通过全节点“八卦”消息。否则,中继链验证人将处理消息传递。消息不通过中继链,只有发布和通道操作的证明进入中继链。这一特性通过将数据保留在系统边缘来增强可扩展性。Polkadot具有称为SPREE的附加协议,该协议为跨链消息提供共享逻辑。使用SPREE发送的消息为接收链提供了关于来源和解释的其他保证。治理

以太坊2.0治理仍未解决。以太坊目前使用链下治理程序,例如Github讨论、AllCoreDevscall和EthereumMagicians来制定有关该协议的决策。Polkadot将链上治理与多系统一起使用。有几种途径可以通过议案,例如来自链上的理事会、技术委员会或公众。所有议案最终都要经过公投,公投的结果始终由多数代币控制。对于低投票率公投,Polkadot使用自适应投票偏见设置通过阈值。公民投票可以包含各种议案,包括从链上财政库中分配资金。决策是在链上制定的,具有约束力和自主性。升级

以太坊2.0的升级将遵循常规的硬分叉流程,要求验证人升级其节点以实现协议更改。Polkadot使用Wasm元协议,无需硬分叉就可以实施链升级和成功的提案。STF、交易队列或链下工作机中的所有对象都可以升级,而无需分叉。结论

以太坊2.0和Polkadot都使用分片模型,其中分片链通过在主链区块中链接分片状态而受主链保护。这两个协议在几个主要方面有所不同。首先,以太坊2.0中的所有分片都具有相同的STF,而Polkadot让分片具有抽象的STF。其次,以太坊中的治理流程是链下的,需要协调和硬分叉才能执行治理决策,而在Polkadot中,决策是在链上自主颁布和执行的。第三,验证人选择机制不同,因为Polkadot可以在每个分片的验证人数量较少的情况下,提供强大的可用性和有效性保证。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

链链资讯

[0:0ms0-6:873ms