分享百科

ZK Rollup

ZK Rollup

你应该对以太坊扩容方案Layer 2 有所了解了。

零知识Rollup(ZK Rollup) 是一种 Layer2 扩展解决方案,它将计算和状态从链下转移到链下网络,并使用零知识证明在链上证明链下交易是有效的。

ZK-rollups 虽然在主网之外执行交易,但定期将链下交易批量提交到链上 rollup 合约。该交易记录是不可变的,就像以太坊区块链一样,链下的交易也形成了 ZK-rollup 链。

ZK-rollup 主要由 链上合约和链下虚拟机(VM)组成,

链上合约:ZK-rollup 协议由运行在以太坊上的智能合约控制。包括存储rollup区块、跟踪存款和监控状态更新的主合约 和 验证区块生产者提交的零知识证明的验证者合约。因此,以太坊充当 ZK-rollup 的基础层或“第一层”。

链下虚拟机 (VM):虽然 ZK-rollup 协议存在于以太坊上,但交易执行和状态存储发生在独立于 EVM 的单独虚拟机上。该链下虚拟机是 ZK-rollup 上交易的执行环境,并充当 ZK-rollup 协议的第二层或“第 2 层”。以太坊主网上验证的有效性证明保证了链下虚拟机中状态转换的正确性。

Zk Rollup 运行机制

  1. 交易批量处理

收集交易:ZK-Rollup 排序器收集用户提交的多笔交易,将其批量打包在一起。这个批次中的交易在链下进行处理,包含了转账、智能合约调用等操作。

链下处理:在链下,所有交易的状态变化被计算和记录。这些变化包括账户余额的更新、智能合约状态的修改等。

  1. 生成零知识证明

ZK-Rollup 通常 ZK-SNARKZK-STARK技术生成一个证明,该证明证明了这批交易的有效性和正确性。

  1. 提交证明到主链
  • 提交批次和证明:ZK-Rollup将批次交易的零知识证明提交到以太坊主链上。每个证明包含了这个批次交易的所有状态变化的证明。
  • 更新状态根:ZK-Rollup还提交一个新的状态根(state root),该状态根是所有交易处理后的全局状态哈希。
  1. 链上验证
  • 验证零知识证明:以太坊主链上的智能合约会验证提交的零知识证明。如果证明有效,表示所有链下交易都已正确执行且未被篡改。
  • 状态更新:如果证明有效,主链会更新状态根,这意味着主链承认了这些链下交易的结果。

ZK-Rollups 通过结合链下计算和链上验证,为以太坊网络提供了一种高效、安全的扩容解决方案,显著提升了交易处理能力和用户体验。

✍️更新/纠错
登链社区