请选择 进入手机版 | 继续访问电脑版

tokentop

全面对比波卡与以太坊 2.0 机制设计:架构、Staking 与治理等

巴比特 发表于 2020-5-28 08:34:02 | |阅读模式
巴比特 | 注册会员 | 发表于 2020-5-28 08:34:02 | 显示全部楼层 |阅读模式
原文标题:《决战分片之颠 ?全面对比波卡和以太坊 2.0 的设计
撰文:joe petrowski
编译:洒脱喜
北京时间 5 月 26 日晚,备受关注的公链项目波卡(Polkadot)发布了第一个侯选链 CC1,而它很可能成为将来的 Polkadot 主网,而根据描述,波卡已从之前的跨链定位切换到了分片协议,因此将与以太坊 2.0 正面交战。
那波卡的分片设计和以太坊 2.0 的分片设计有什么不同呢?本文将从模型、架构、共识、Staking、分片链、消息传递、治理和升级这 8 个方面全面进行一个对比。(注:两者目前都处于规划阶段)
图片来自:tuchong.com
模型篇
以太坊 2.0 中的分片都具有相同的状态转换函数(STF),这个状态转换函数(STF)为智能合约的执行提供了一个接口。合约存在于单个分片上(并且可以在分片之间发送异步消息),因此可通过并行执行分片来进行扩展。
同样,在波卡(Polkadot)中,每个分片都承载了核心逻辑,分片并行执行,并且波卡(Polkadot)可发送跨分片异步消息。然而,协议中的每个分片都有一个唯一的状态转换函数(STF)。应用程序可存在于单个分片中,也可以通过组合逻辑跨分片存在。另外,波卡(Polkadot)使用了 WebAssembly (Wasm)作为「元协议」,只要波卡(Polkadot)上的验证者能够在 Wasm 环境中执行,分片的状态转换函数(STF)就可以是抽象的。
架构篇以太坊 2.0
以太坊 2.0 的主链被称为信标链(Beacon Chain)。信标链上的主要负载是证明(attestation),它们是对分片数据可用性和信标链有效性的投票。以太坊 2.0 中的每一个分片都是具有以太坊 Wasm (eWasm)接口的区块链。
以太坊 2.0 只需一条信标链就可以启动阶段 0 (Phase 0),而在阶段 1 (Phase 1),以太坊将有 64 条简单的分片链来测试信标链的最终确定性。每个分片向信标链提交「交联」(crosslink),其包含了确定分片数据的信息。之后,在阶段 2 (Phase 2),分片将实现 eWasm 接口,最终使系统可用。[1]
此外,该网络还将有一些「侧链」,它们将与非以太坊 2.0 终局性链进行交互。
波卡(Polkadot)
和以太坊 2.0 一样,波卡(Polkadot)也有一个主链,它的名字叫中继链(Relay Chain),然后它还有一些分片叫平行链(parachain)。平行链并不局限于像 eWasm 这样的单个接口,相反,它们可以定义自己的逻辑和接口,只要将其状态转换函数(STF)提供给中继链验证程序即可执行。
按照计划,波卡准备每个区块最多验证 100 个分片。除了计划在每个区块中执行的并行链之外,波卡还具有动态调度的平行线程(parathread)。这使得链之间可共享分片插槽(slot),就像多家小型航空公司在机场共享一个登机口一样。
此外,为了和其他链进行交互(例如比特币),波卡还会拥有提供双向兼容性的桥平行链。
共识篇
以太坊 2.0 和波卡都使用了混合共识模型,其中区块生产和终局性都有各自的协议。对于终局性协议,以太坊 2.0 所采用的 Casper FFG 和波卡的 GRANDPA 都是基于 GHOST 的,它们都可以在一轮中完成一批区块。对于区块生产,两个协议都使用基于插槽(slot)的协议,这些协议将验证者随机分配给一个插槽(slot),并为未完成的区块提供分叉选择规则,其中以太坊 2.0 使用的是 RandDAO/LMD,而波卡则是用的 BABE。
在共识坊啊吗,以太坊 2.0 和波卡之间有两个主要区别:
  • 以太坊 2.0 根据称为「epoch」的时间段来完成一批区块。目前的计划是每个「epoch」有 64 个区块,并在一轮中完成所有的区块。预计的区块时间约为 12 秒,这意味着预期的终局性时间为 6 分钟(最多 12 分钟)[2] 而波卡的终局性协议 GRANDPA 基于可用性和有效性检查来完成区块的批处理,这些检查是随着提议链的增长而发生的。也就是说,波卡的终局性时间随需要执行的检查次数而变化(无效性报告导致协议需要额外检查),预计的时间大概在 12-60 秒之间。
  • 以太坊 2.0 需要每个分片有大量的验证者来提供强大的有效性保证。而波卡的分片,需要的验证者更少,并且也能提供强大的有效性保证。波卡通过使验证者将擦除编码分发给系统中的所有验证者来实现此目的,这样任何人(不仅仅是分片的验证者)都可以重建并行链的区块并测试其有效性。
Staking 篇
以太坊 2.0 将是一个权益证明(PoS)网络,每个验证者需要质押 32 ETH 来参与区块验证过程。验证者将运行一个主要的「信标链」节点和多个验证者客户端(每个需要 32 ETH)。这些验证者会被分配给「委员会」,它们是随机选择出来的组,用于验证网络中的分片。以太坊 2.0 依赖于设置一个大的验证程序来提供可用性和有效性保证:它们需要每个分片至少 111 个验证者来运行网络,每个分片至少需要 256 个验证者才能在一个 epoch 时期内最终确定所有分片 [3]。这就要求有 64 个分片,即 16,384 个验证者(每个分片提供 256 个验证者) [4]
而波卡能够用更少的验证者,同样提供强大的终局性和可用性保证,它使用的提名权益证明(NPoS)机制从较小的集合中选择验证者,让较小的持有者指定验证者来运行基础设施,同时仍要求获得系统的回报,而无需运行自己的节点。波卡计划在第一年拥有 1000 个验证者,并且网络中每个平行链大约需要 10 个验证者。
分片篇
以太坊 2.0 中的每个分片都有相同的状态转换函数(STF),在阶段 1 (预期 2021 年实现)[5],分片将是提供指向信标链的交联的简单数据容器,而在阶段 2 (预计 2023 年),分片们将实现 eWasm 执行环境。EWasm 是 Wasm 虚拟机的一个受限子集,其接口提供了一组可用于合约的方法。对于 eWasm,将会有一套类似 Truffle 和 Ganache 的开发工具集。[6]
而波卡中的每个分片,都有一个基于 Wasm 的抽象状态转换函数(STF)。只要逻辑编译为 Wasm,并且每个分片为波卡验证者提供「执行区块」函数,则每个分片都可以公开自定义接口。波卡有一个 Substrate 开发框架,它可以对模块进行配置、组合和扩展,以开发链的状态转换函数(STF)。
消息传递篇
以太坊 2.0 中的分片将通过它们的交联和状态访问彼此的状态。在以太坊 2.0 模型中,会有 64 个分片,每个分片在信标链中为每个区块发布一个交联,这意味着分片可包含根据另一个分片上的某笔交易的轻客户端证明执行逻辑。[7] 截至目前,以太坊 2.0 研发团队尚未发布分片间消息的传递规范。
而波卡则对平行链使用跨链消息传递(XCMP)协议来相互发送任意消息。平行链打开彼此之间的连接,并可以通过它们已建立的通道发送消息。如果两条平行链有任何共同的全节点,它们可以通过全节点 gossip 消息。否则,验证程序将处理消息传递。消息不通过中继链,只有 post 和 channel 操作(打开、关闭等)的证明会进入中继链。通过将数据保留在系统边缘,这可以增强系统的可扩展性。
此外,波卡有一个名为 SPREE 的附加协议,它为跨链消息提供共享逻辑。通过 SPREE 协议发送的消息为接收链提供了关于来源和解释的其他保证。
治理篇
以太坊目前使用的是链外治理方式,例如 Github 讨论,所有的核心开发者讨论,以及 Ethereum Magicians 来制定有关该协议的决策。[8]
而波卡则是采用的链上治理方式(使用了一种称为 multicameral 的系统),它有几种途径可以通过提案,比如链上理事会、技术委员会或公众。所有的提案最终都会通过一次公投来决定,在公投活动中,多数代币的参与就可以控制结果。对于可能的低投票率情况,波卡使用了自适应仲裁偏差来设置通过阈值。
升级篇
以太坊 2.0 的升级将遵循正常的硬分叉过程,其需要验证者升级其节点来实现协议更改。
而使用 Wasm 元协议的波卡,可以在不使用硬分叉的情况下执行链升级。像 STF、交易队列或 off-chain 的任何内容都可以在不需要分叉链的情况下进行升级。
总结
以太坊 2.0 和波卡都使用了分片模型,其中分片链(以太坊 2.0 中的「分片」和波卡中的「平行链 / 平行线程」)由主链通过连接主链区块中的分片状态进行保护。这两个协议在几个主要方面有所不同。首先,以太坊 2.0 中的所有分片都有相同的状态转换函数(STF),而波卡则让分片有一个抽象的状态转换函数(STF)。其次,以太坊的治理过程是脱离区块链的,其需要协调硬分叉来制定治理决策,而在波卡,它的决策是在链上进行的。第三,验证者选择机制是不同的,相比以太坊 2.0,波卡每个分片的验证者数量要求要更少一些。
相关资料
4.Buterin, Eth2 shard chain simplification proposal
https://notes.ethereum.org/@vbuterin/HkiULaluS
5.Messari Crypto Theses for 2020
https://messari.io/report/crypto-theses-for-2020
来源链接:wiki.polkadot.network
您需要登录后才可以发帖 登录 | 立即注册  

本版积分规则

发表主题
返回顶部 返回列表