为什么说Polygon是Commit Chain而不是侧链?
那么什么是提交链(commit chain)?它与侧链有何不同?是什么让 Polygon Commit Chain 成为一条提交链而不是侧链?我们将在本文中回答所有这些问题。
让我们从了解究竟什么是侧链开始。
侧链
侧链本质上是一个单独的区块链,可用作扩展第 1 层区块链(如以太坊或比特币)的一种方式。顾名思义,侧链与主链并行运行或在主链“一侧”运行。
侧链有自己的共识机制,通常采用权益证明(PoS)、委托权益证明(DPoS)或权威证明(PoA)的形式。
侧链允许用户从主链发送他们的代币并在侧链上接收它们。一旦资金转移到侧链,它们就可以在侧链生态系统中使用。同样,用户可以将他们的代币从侧链撤回主链。整个过程称为双向挂钩 或双向桥。需要注意的是,一旦用户代币在侧链上,它们就完全依赖于侧链的共识机制。
最初,所有扩展解决方案(例如侧链、Plasma 和Rollup)都被归类为第 2 层解决方案,因为它们建立在第 1 层之上。
一段时间后,以太坊社区开始区分由以太坊主链完全保护的扩展解决方案——第 2 层和其他具有自己共识机制的扩展选项——侧链。目前,几乎所有的扩展解决方案都归类为一种或另一种。
谈到 Polygon Commit Chain,值得将它与侧链区分开来,因为它有许多依赖于主要以太坊层的安全性的额外能力。
让我们一一回顾它们。
以太坊上的无许可验证器
许多侧链使用共识机制来限制能够验证链的实体数量。例如,在委托权益证明(DPoS)中,通常有 21 个由代币持有者选择的验证者,只有这些验证者能够验证区块链的状态。类似地,在权威证明 (PoA) 模型中,链发起者选择权限来运行链。这将大多数参与者排除在外,并造成只有少数人负责确保正确验证交易的情况。
在 Polygon PoS 链中,任何人都可以加入网络并开始验证区块链的状态。这很重要,因为它允许任何参与者成为验证者并自行检查所有交易是否正确处理。
Polygon PoS Chain 上的验证者必须抵押他们的 MATIC 代币并运行一个完整节点。
MATIC 代币质押在以太坊主链上。这也是维护所有验证器集的地方。如果验证者开始以恶意方式行事,例如,通过双重签名或严重停机,他们的质押品将被削减。
这也是介绍 Polygon PoS 链架构的 2 个核心组件——Heimdall 链和 Bor 链——的好时机。
Heimdall 链和 Bor 链
Heimdall 与部署在以太坊主网上的 Stake Manager 合约协同工作,以协调验证器选择和更新验证器。
由于 Staking (质押)实际上是在以太坊智能合约上完成的,我们不必依赖验证者的诚实性,而是为这个关键部分继承以太坊链的安全性。即使大多数验证者串通并开始恶意行事,社区也可以聚集在一起并在以太坊上重新部署合约以进行分叉,即削减恶意验证者,并且链可以继续按预期运行。
Heimdall 还负责检查点(checkpointing)——本文后面将详细介绍这一点。
Bor 是 PoS 链架构的区块生产者层,负责将交易聚合成区块。
Bor 区块生产者是由 Heimdall 验证器定期改组的验证器的子集。区块生产者被选中来仅验证一定数量的区块,也称为“跨度(span)”。在此时间段之后,该选中过程再次被触发。
让我们仔细看看选择区块生产者的过程。
假设池中有 3 个验证者,他们是 Alice、Bill 和 Clara。
Alice 质押了 100 个 MATIC 代币,而 Bill 和 Clara 各自质押了 40 个 MATIC 代币。
验证者根据他们的质押被分配给插槽,因为 Alice 有 100 个 MATIC 代币抵押,每个插槽有 10 个代币(由验证者管理维护),Alice 总共将获得 5 个槽位。同样,Bill 和 Clara 总共获得 2 个插槽。
所有验证器都被赋予这些插槽 [ A, A, A, A, A, B, B, C, C ]
使用历史以太坊区块作为种子,我们对这个数组进行洗牌。
使用种子打乱插槽后,我们得到这个数组 [ A, B, A, A, C, B, A, A, C]
现在根据生产者数量(由验证者治理维护),我们从顶部选出验证者,例如,如果我们想选择 5 个生产者,我们将生产者设置为 [ A, B, A, A, C]
因此,为下一个跨度设置的生产者定义为 [ A: 3, B:1, C:1 ]。
使用这个验证器集和 Tendermint 的提议者选择算法,我们为 Bor 上的每个sprint选择一个生产者。
该模型允许任何人使用任意数量的 MATIC 代币参与保护网络。它也不会牺牲交易速度,因为并非所有验证者都必须一直验证区块。
让我们回到 Heimdall 的另一个重要功能——检查点(Checkpointing)。
检查点
检查点很重要,因为它们在以太坊链上提供了最终性。
Heimdall 层允许将 Bor 生成的区块聚合到单个 Merkle 根中,并定期将其发布到以太坊主链。此已发布状态也称为检查点,因此整个过程称为检查点。
检查点提议者最初是通过 Tendermint 的加权循环算法选择的。基于检查点提交的成功实现进一步的自定义检查。这允许 Polygon PoS Chain 与 Tendermint 提议者选择解耦,并为其提供诸如仅在以太坊主网上的检查点交易成功时选择提议者或在检查点交易失败时提交先前区块的检查点交易等功能。
在 Tendermint 上提交检查点是一个两阶段提交过程。通过上述算法选择的提议者在提议者字段中发送带有地址的检查点,所有其他提议者对其进行验证。
然后下一个提议者发送确认交易以证明之前的检查点交易在以太坊主网上成功。每个验证器集更改都将由嵌入到验证器节点上的 Heimdall 上的验证器节点中继。这允许 Heimdall 始终与以太坊主链上的 Polygon 合约状态保持同步。
部署在主链上的 Polygon PoS Chain 合约被认为是最终的真实来源,因此所有验证都是通过查询以太坊主链合约来完成的。
检查点还在提取资产时提供“销毁证明”。
说到提现,让我们来看看 PoS 链的另一个重要元素——双向以太坊桥。
双向以太坊桥
典型的双向桥依赖于一小组通常甚至不被质押的权威机构,也不是侧链验证者集的一部分——基本上桥通常是由几个 PoA 签名者控制的。这是一个重要的安全问题。
Polygon 提供了两种不同的方式在以太坊和 Polygon 之间移动资产——Plasma Bridge 和 PoS Bridge。
由于 Plasma 退出机制,Plasma Bridge 提供了更高的安全保证。但是,由于 Plasma 架构中的某些限制,所有退出/提款都有 7 天的提款期。
PoS 桥没有这个限制,它由我们在本文前面讨论的一组强大的验证器保护。这些验证器的状态在以太坊主网上维护,它们由系统中的所有资金担保——在撰写本文时约为 5 亿美元。据我们所知,PoS 桥是唯一一个由桥接链的整个验证者集保护的桥;如前所述,桥梁通常由一小组 PoA 签名者保护。
如我们所见,Polygon PoS Chain 提供了许多基于以太坊主链的额外安全措施,而不仅仅是一条侧链。也许,提交链是一个更好的名字。
那么您如何看待 Polygon Commit Chain 呢? 您认为将其与侧链区分开来是否有价值?
微信扫描关注公众号,及时掌握新动向
2.本文版权归属原作所有,仅代表作者本人观点,不代表比特范的观点或立场
2.本文版权归属原作所有,仅代表作者本人观点,不代表比特范的观点或立场