学习
深入技术
去中心化验证者

去中心化验证者

在目前的 Layer2 解决方案中,如何将排序器去中心化是一个挑战。如果定序器不能去中心化,一方面存在排序器宕机时全网不可用的单点风险,另一方面也存在排序器造假的风险。在交易批量写入数据可用性层和共识层之前,排序器可以通过丢弃交易或调整交易顺序进行欺诈。

Rooch 在设计之初就考虑到了这一点,试图建立一个去中心化的验证者网络。

验证者角色定义

排序器:排序并执行交易,计算状态树的根和交易累加器的根。 验证者:从共识层和数据可用性层获取交易,执行并验证它们,如果发现结果不正确,则向仲裁层发起欺诈证明。

Sequencer 和 Verifier 在 Rooch 中被称为 Validator。

去中心化解决方案

由于 Layer2 共识只需要确定交易的顺序,因此可以通过挑战威慑来保证交易执行的正确性。为了保证交易的顺序,只需将交易(或交易哈希)写入 Layer1,Layer1 具有共识层的作用。

因此,Layer2 或执行层不需要构建 PBFT 共识网络来决定交易顺序和执行结果来实现去中心化,而只需要设计定序器的轮换机制和 P2P 网络上的数据同步协议。

最初的设计思路如下:

  1. 任何人都可以通过存入一定数量的 Token 来注册成为链上的验证者。
  2. 每个 Epoch,链上的智能合约都会随机选择一个验证者作为排序器。
  3. 未被选为排序器的节点会自动成为验证者。
  4. 所有验证者组成一个 P2P 网络,验证者收到的交易将被转发到排序器。然后,排序器将验证并排序所有交易,并将它们连同状态树根和序列证明转发给其他验证者。