扩容技术 / 主题阅读

ZK-rollup如何通过Merkle根验证状态变更的正确性

ZK-rollup通过Merkle根验证状态变更的正确性,确保链上合约存储的Merkle根与实际状态一致。操作员计算新状态根并提交至链上合约,经验证后成为规范状态根。

Merkle根在状态变更验证中的作用

ZK-rollup的Merkle根用于验证状态变更的正确性。Merkle根是代表L2账户和余额状态的哈希值,存储在链上合约中。当执行新交易批次后,操作员计算新的状态根并提交至链上合约。

操作员提交新状态根的流程

操作员在执行交易后,减少发送方余额并增加接收方余额,然后哈希更新后的账户数据,重建Merkle树,并提交新的Merkle根至链上合约。链上合约不会自动接受该状态承诺,直到操作员证明新Merkle根是基于正确更新的rollup状态。

有效性证明确保状态变更的正确性

操作员通过生成有效性证明来验证新Merkle根的正确性。有效性证明是简洁的密码学承诺,验证合约会检查该证明,确认状态变更确实由正确执行的交易产生。若验证通过,新Merkle根成为ZK-rollup的规范状态根。

Merkle根与链上合约的交互

链上合约存储Merkle根,允许协议跟踪ZK-rollup状态的变化。当新批次提交时,合约存储批次根,用户可提供交易详情、批次根和Merkle证明,以验证交易是否被包含在批次中。

资料与延伸阅读

你可以通过以下原始资料核对文中概念,并继续深入阅读。

  1. Zero-knowledge rollups | ethereum.org ↗
← 更多扩容技术文章返回顶部 ↑