以太坊 2.0 等 Layer 1 方案都能在可扩展性上指数级提升,但分片化生态系统的挑战在于它们打破了可组成性。
原文标题:《热点丨以太坊 2.0 与其它 Layer1 扩容方案有何异同?》
撰文:Mika Honkasalo
翻译:李翰博
摘要
- 大多数下一代区块链的 layer1 以并行架构进行扩展,把交易处理分配给不同的节点
- 根据如何处理跨分片通信的安全性,这被称为分片互操作性。
- 分片化生态系统的挑战在于它们打破了可组成性–除非智能合约部署在同一个分片或区块链上,否则它们无法同步地相互调用
大多数著名的下一代区块链项目都计划采用并行化的扩展架构进行扩展。对于 Ethereum 2.0 和 NEAR Protocol 的情况,被称作分片,而对于 Polkadot 和 Cosmos 的情况,它更经常被称为区块链之间的互操作性。
从自上而下的角度来看,这些解决方案中的每一个看起来都很相似。交易用不同的验证器集进行处理,不同环境之间有一些类似的通信方法。这对于 Ethereum 2.0 上的分片和 Cosmos 上的特定应用链是一样的。
设计中的一些权衡
共享安全 vs. 主权: 其中每个节点都从全局的验证器集中获得安全性,或者对自己的安全性负责。
异质性 vs. 同质性:其中每个连接的分片都和其他分片一样,或者连接的链可以有不同的属性(例如不同的共识机制或支持的编程语言)。
Ethereum 2.0
Ethereum 2.0 的 分片 基于简单的目标,即在分片之间划分交易处理和存储需求。在当前版本的 Ethereum 中,每个节点都需要验证所有交易并存储 Ethereum 的所有历史信息。
在实践中,这意味着从 Ethereum 2.0 上作为验证者的 Proof-of-Stake 节点中,有一个子集被分配给一个分片。一个领导者会被随机选出,承担类似于比特币工作证明中获胜矿工的角色–打包一个区块,同时由其他验证者组成的委员会证明该区块的有效性。
一旦委员会证明了一个区块的有效性,它就可以被纳入「主链」(Beacon Chain)。这个证明就会被存储在 Beacon Chain 中,而不是存储分片的全部交易历史。
委员会会创建分片区块的时间框架,称为「slot」。32 个 slot 形成一个「epoch」,之后委员会解散,并以新的参与者重新组建分片。每个 epoch 的第一个 slot 是一个检查点,之前的区块可以在这里实现最终确定。epoch 每 6.4 分钟循环一次。
拆分验证器似乎会产生一个明显的安全问题。例如,如果有 64 个分片,全局验证器集就会被分割成至少 64 个委员会–可能会使每个分片的验证器相对较少。此外,单个分片上的交易数据的损坏可能会产生巨大的后果。如果其他分片建立在虚假的交易基础上,整个系统就会被破坏。
解决方案 是随机抽样和定期轮换验证者。
每个分片委员会至少要有 128 个成员,如果你从全球随机选择验证者,被挑选者的分布遵循二项式分布。例如,如果您假设从全球贡献者(ETH 2.0 token 持有者)池中选出 150 名成员,且诚实度为 75%,那么该分片也诚实的概率为 99.999999998%。
不频繁的随机抽样会存在一个新的攻击方法,即验证者知道他们在给定的时间段内处于哪个分片上,并可以开始贿赂同一分片上的其他委员会成员。而抽样是有开销的,因为每次验证者被选入一个新的分片时,他们需要下载整个分片的数据。
Polkadot
Ethereum 2.0 通过共享安全,ETH 持有者在有着同样分片的情况下对交易进行验证。Polkadot 也实现了共享安全,但采用不同分片,允许每个分片有自己的 token 和治理规则。
通常情况下,这些分片或并行的链建立在 Substrate (一种区块链开发框架)上。如果一条链决定连接到中继链,DOT 持有者就会成为 平行链 的安全提供者。如果某条链想成为 Polkadot 共识的一部分,他们必须通过拍卖租赁一个平行链插槽。
Polkadot 使用了一种名为 Nominated Proof-of-Stake (NPoS)的变体。提名者是 DOT 持有人,他们为验证者投票。目前,该网络在启动阶段正在将验证者的规模从 20 人扩大到 100 人。
连接到中继链的每个平行链都有 collators,他们运行平行链的一个完整节点,并将其交易打包成区块。然后,这些区块被提交给中继链上的验证者,这些验证者已经被分配到一个给定的平行链。与 Ethereum 2.0 类似,这些验证者会定期随机轮换到新的 平行链 上。
如何激励这些验证者由平行链决定–例如,给定平行链的验证者可以通过给予平行链的原生 token 来激励。Collators 为平行链的验证者提供最新状态转换的 Merkle 树–区块链中给定区块的种类摘要和唯一指纹。然后,中继链验证者会检查该区块是否遵循了平行链的状态转换规则。
需要注意的是,Polkadot 并不保证状态有效,只是检查状态转换。在实践中,这意味着当一个平行链加入 Polkadot 的共识时,它之前的状态被认为是有效的。
一旦分配给平行链的验证者达成共识,认为状态转换是有效的,他们就会构建一个「候选收据」,并最终包含在中继链的状态中。在中继链上,一个最终确定的区块的预计时间是 12-60 秒。Polkadot 还在研究一种跨链消息传递协议,它可以让 平行链 之间不通过 中继链 进行通信。
与 Ethereum 相比,给予平行链负责自己的 token 的权利带来的一个不同之处是,平行链上的交易费用是可以定制的。平行链可以在系统内自行选择费用,而中继链的安全和资源是通过拍卖机制来支付的。
Cosmos
与 Polkadot 和 Ethereum 相比,Cosmos 采取了「lightest」的跨链通信方式,将自身的安全性从整个系统的安全性中分割开来。Cosmos Hubs 只对连接的区块链之间的消息进行验证。
Cosmos SDK 是一个用于构建特定应用区块链(或区域)的框架,这些区块链可与 Cosmos 生态系统的其余部分互操作。
连接到 Cosmos Hubs 的特定应用区块链(通过 IBC 协议)被设计为保持其完全主权。设计目标是,主权增加了 token 持有人对其协议的 决定 权力。如果发现了一个 bug 或者需要一个新的功能,可以不用说服另一条链 token 持有者就可以引入。
例如,如果 MakerDAO 今天被黑客攻击,MKR 持有者将不得不说服 ETH 所有者分叉区块链。与 MakerDAO 是自己的区块链相比,这样做的门槛要高得多。
Cosmos 的特别之处在于增加了开发者的灵活性–他们可以完全控制自己想要的虚拟机、共识机制或治理方法。Cosmos 所需要的只是一个轻客户端证明。
然而,Cosmos 模式要求市场在处理失败的风险方面承担更大的作用。例如,一个快速确认版本的锚定 token 可能与同一 token 的慢速版本有不同的价格。从本质上讲,安全性可以被定价为资产,而不是区块链的设计。
NEAR Protocol
NEAR 协议的分片设计(Nightshade)与 Ethereum 2.0 一样,具有核心属性。NEAR 持有者负责所有分片的安全,这些分片是同质的。两者的主要区别是 Near 取消了 beacon chain。
NEAR 没有一条主链,而是有一个包含区块的单链,承载所有已经发生的交易。然而,从物理上讲,每个验证者只维护他们验证交易的一个分片(「块」)所对应的状态。
一个块中的交易被分配在不同的 chunk。区块本身只包含这些 chunks。与 Polkadot 和 Ethereum 2.0 中的主链和分片链有两个独立的共识进程运行不同,NEAR 只有一个共识进程来维护链。
这是由验证者同时被分配到区块生产和一些子集的分片中来实现的。在这些分片中,验证者轮流生产块。然后,每个区块生产者等待区块生产者将区块的 纠删 码版本发送给他们–然后这些区块被用来创建下一个区块。
NEAR 在具有接收事务的合约之间保持快速的跨分片调用。当一个交易影响到另一个 chunk 的状态时,会向区块链发送一个收据。每个 chunk 观察最近的区块和指定给它们的收据,并在自己的交易中应用这些收据。
问题是,NEAR 以某种方式必须确保收据被各分块实际应用–否则,一个分块会执行一个交易并将其包含在一个 chunk 中,但另一个 chunk 不会。这将导致该 chunk 破坏链的其他部分。
为了打击无效 chunk 的产生,NEAR 使用了一个渔夫系统,在这个系统中,有一个挑战期,任何人都可以对一个 chunk 发布挑战。在这期间,任何诚实的验证者都可以提供一个证明,证明某个 chunk 是无效的。然后,该证明会被下一个区块的区块生产者验证,不诚实的区块生产者的 NEAR 会被部分罚没。在这种情况下,整个 NEAR 区块链会被回变到最新的有效状态。
NEAR 的权衡是,目前的设计最多可以处理约 200 个验证者,而 Ethereum 可以让任何拥有 32 个 ETH 的用户作为验证者(数百万个验证者)。这是因为 Chunk 生产者和区块生产者之间的不断通信要求(目标是区块时间在 2-3 秒之间)。
不过,NEAR 的分片设计的主要优势在于,相比 Ethereum 2.0 和 Polkadot,NEAR 的分片设计相对容易实现。
结论
对分片或类似区块链生态系统的 担忧是 ,它们限制了可组合性。其无法支持不同合约的交互和以及交易的升级。经过权衡之后,Cosmos 的跨链事务可能是最慢的,而具有同质安全性的分片链是最快的。
在有限的可组合性的前提下,像 Ethereum 2.0 这样的分片设计确实提供了潜在的大规模可扩展性。Ethereum 2.0 将分三个阶段推出,其中最后一个阶段将启用智能合约。然而,第二阶段之后,使用 Ethereum 作为数据层,通过 Optimistic 或 ZK Rollup 可以将交易处理能力提高到每秒 5 万笔。
总的来说,这些 layer1 构造中的每一个都能在可扩展性上比现在有指数级的提升。然而,值得注意的是,它们的相似程度也很高。
不同区块链之间有意义的差异可能更多的是与时间有关–即项目何时能够推出对 Ethereum 有竞争力的版本。今天,大多数项目都建立在 Ethereum 上,因为它可用,而且所有的资产和其他开发者都在那里。
如今,Ethereum 用户为常见的智能合约交互支付 10-50 美元 Gas 费,而提供更多交易处理的竞赛正在进行,无论是 layer1 还是 layer2 扩展解决方案,如 Optimistic 和 ZK Rollup。现有的高 Gas 费或许是启动另一个成功生态系统的最佳机会。到目前为止,只有比特币和 Ethereum 链看到了有意义的推动力。
「无限智能合约能力」论点的一个有趣的例外是,有目的地限制这些能力可能有利于区块链的安全性。
成功的应用可以依附区块链的安全性,因为它们除了验证链上交易获得利润还能参加其他的项目–例如,通过还原区块链的历史记录来进行有利可图的交易,从而对 DEX 进行仲裁。Cosmos 上的特定应用区块链可以消除无权限代码部署的能力,从而消除这种寄生攻击载体。
不同区块链应用的架构在最终状态下是什么样的,目前还不清楚。可能是应用与其他应用分开,通过跨链协议进行通信,也可能是一些一起使用的应用存在于同一个 分片 上–而更多不频繁的通信则留给跨链或分片协议。同一个应用甚至可以将自己分裂到许多分片或区块链上。
本文由用户:麦妖榜 发布,不代表网站的立场,转转请注明出处:http://www.maiyaotop.com/cosmos/85189.html