以太坊 2.0 等 Layer 1 方案都能在可扩展性上指数级提升,但分片化生态系统的挑战在于它们打破了可组成性。
原文标题:《热点丨以太坊 2.0 与其它 Layer1 扩容方案有何异同?》
撰文:Mika Honkasalo
翻译:李翰博
摘要
大多数下一代区块链的 layer1 以并行架构进行扩展,把交易处理分配给不同的节点根据讲解处理跨分片通信的安全性,这被称为分片互操作性。分片化生态系统的挑战在于它们打破了可组成性–除非智能合约部署在同一个分片或区块链上,否则它们无法同步地相互调用大多数**的下一代区块链项目都计划采用并行化的扩展架构进行扩展。对于 Ethereum 2.0 和 NEAR 的情况,被称作分片,而对于 PolkaDOT 和 Co**os 的情况,它更经常被称为区块链之间的互操作性。
从自上而下的角度来看,这些解决方案中的每一个看起来都很相似。交易用不同的验证器集进行处理,不同环境之间有一些类似的通信方法。这对于 Ethereum 2.0 上的分片和 Co**os 上的特定应用链是一样的。
共享安全 vs. 主权: 其中每个节点都从全局的验证器集中获得安全性,或者对自己的安全性负责。
异质性 vs. 同质性:其中每个连接的分片都和其他分片一样,或者连接的链可以有不同的属性(例如不同的共识机制或支持的编程语言)。
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%。
不**的随机抽样会存在一个新的攻击方法,即验证者知道他们在给定的时间段内处于哪个分片上,并可以开始贿赂同一分片上的其他委员会成员。而抽样是有开销的,因为每次验证者被选入一个新的分片时,他们需要下载整个分片的数据。
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 的权利带来的一个不同之处是,平行链上的交易费用是可以定制的。平行链可以在系统内自行选择费用,而中继链的安全和资源是通过拍卖机制来支付的。
与 Polkadot 和 Ethereum 相比,Co**os 采取了「lightest」的跨链通信方式,将自身的安全性从整个系统的安全性中分割开来。Co**os Hubs 只对连接的区块链之间的消息进行验证。
Co**os SDK 是一个用于构建特定应用区块链(或区域)的框架,这些区块链可与 Co**os 生态系统的其余部分互操作。
连接到 Co**os Hubs 的特定应用区块链(通过 IBC 协议)被设计为保持其**主权。设计目标是,主权增加了 token 持有人对其协议的 决定 权力。如果发现了一个 bug 或者需要一个新的功能,可以不用说服另一条链 token 持有者就可以引入。
例如,如果 MakerDAO 今天被黑客攻击,MKR 持有者将不得不说服 ETH 所有者分叉区块链。与 MakerDAO 是自己的区块链相比,这样做的门槛要高得多。
Co**os 的特别之处在于增加了开发者的灵活性–他们可以**控制自己想要的虚拟机、共识机制或治理方法。Co**os 所需要的只是一个轻客户端证明。
然而,Co**os 模式要求市场在处理失败的风险方面承担更大的作用。例如,一个快速确认版本的锚定 token 可能与同一 token 的慢速版本有不同的价格。从本质上讲,安全性可以被定价为资产,而不是区块链的设计。
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 的分片设计相对容易实现。
对分片或类似区块链生态系统的 担忧是 ,它们限制了可组合性。其无法支持不同合约的交互和以及交易的升级。经过权衡之后,Co**os 的跨链事务可能是最慢的,而具有同质安全性的分片链是最快的。
在有限的可组合性的前提下,像 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 进行仲裁。Co**os 上的特定应用区块链可以**无权限代码部署的能力,从而**这种寄生攻击载体。
不同区块链应用的架构在**状态下是什么样的,目前还不清楚。可能是应用与其他应用分开,通过跨链协议进行通信,也可能是一些一起使用的应用存在于同一个 分片 上–而更多不**的通信则留给跨链或分片协议。同一个应用甚至可以将自己**到许多分片或区块链上。
来源链接:mp.weixin.qq.com
正加财富网内容推荐 | ||
OK交易所下载 | USDT钱包下载 | 比特币平台下载 |
新手交易教程 | 平台提币指南 | 挖矿方法讲解 |