织梦CMS - 轻松建站从此开始!

我的网站

当前位置: 主页 > 竞争币 > 以太坊

为什么说 Polygon 是「提交链」而不是侧链?(2)

时间:2021-08-23 13:46来源:未知 作者:admin 点击:
Heimdall 链和 Bor 链 Heimdall 与部署在以太坊主网上的 Stake Manager 合约协同工作,以协调验证器选择和更新验证器。 由于 Staking (质押)实际上是在以太坊智

Heimdall 链和 Bor 链

Heimdall 与部署在以太坊主网上的 Stake Manager 合约协同工作,以协调验证器选择和更新验证器。

由于 Staking (质押)实际上是在以太坊智能合约上完成的,我们不必依赖验证者的诚实性,而是为这个关键部分继承以太坊链的安全性。即使大多数验证者串通并开始恶意行事,社区也可以聚集在一起并在以太坊上重新部署合约以进行分叉,即削减恶意验证者,并且链可以继续按预期运行。

Heimdall 还负责检查点(checkpointing)——本文后面将详细介绍这一点。

Bor 是 PoS 链架构的区块生产者层,负责将交易聚合成区块。

Bor 区块生产者是由 Heimdall 验证器定期改组的验证器的子集。区块生产者被选中来仅验证一定数量的区块,也称为「跨度(span)」。在此时间段之后,该选中过程再次被触发。

让我们仔细看看选择区块生产者的过程。

为什么说 Polygon 是「提交链」而不是侧链?

  • 假设池中有 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 提议者选择解耦,并为其提供诸如仅在以太坊主网上的检查点交易成功时选择提议者或在检查点交易失败时提交先前区块的检查点交易等功能。 (责任编辑:admin)

织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
推荐内容