Vol 03 | 聊聊 zkRollup

以太坊的扩容解决方案

这一期我们仍然请到了清华大学密码学在读博士生 @sputnik-meng 来分享一直以来都非常引人关注的 zkRollup 技术。2017 年火爆一时的 dAPP 加密猫曾经造成了以太坊主网大规模的拥堵,当时以太坊每秒只能处理 15 笔交易。随着区块链技术不断发展,扩容的需求变得越来越紧急。

今天我们讨论的 zkRollup 就是基于零知识证明的扩容解决方案。

  • 区块链领域应用 zkRollup 技术的动力:扩容与环保
    • 主要的公链及扩容 TPS很低
    • Vitalik 提出的不可能三角的限制
  • 目前以太坊主网扩容的核心思想
    • 底层区块链 Layer1:保证安全和去中心化,绝对可靠、可信;它能做到全球共识,并作为“加密法院”,通过智能合约设计的规则进行仲裁。
    • 扩展层 Layer2:追求极致的性能,它只能做到局部共识,但是能够满足各类商业场景的需求。zkRollup 就是基于零知识证明的 Lyer2 方案。
    • 为什么选择 zkp 来做扩容证明?
  • zkRollup 具体实现过程
    • 一句话总结:将链下进行复杂的计算和证明的生成,链上进行证明的校验并存储部分数据保证数据可用性
    • 链下
      • 利用 Merkle tree 存储账户状态
      • 利用 节点 收集交易
      • 节点 会进行 校验余额,校验nonce,校验签名,执行状态转换
      • 交易完成后 节点 会生成一个新的 Merkle tree Root 和 一个零知识证明
    • 链上
      • 提交 prev state root,post state root,交易数据和 proof 提交到链上合约
      • 合约验证 proof 通过后就会更新链上状态
      • 具体的交易数据存储在CALLDATA
  • 应用 zkRollup 理想情况下的优化效果
    • zkRollup生成的证明很小,验证时间很快
    • 交易数据(15 byte)
    • 理想状态下大约的效果大约是提升一百倍
  • 主流平台采用的技术路线
    • ETH
    • zkSync
    • scroll
    • starkware
  • zkRollup 之外其他解决带宽问题的方法

本期出场:@末末哈 @Sputnik
本期编辑:@末末哈
录制时间:2022年6月7日


参考资料

提到的部分名词

  • TPS - transaction per second 每秒处理的交易数
  • ZKP - zero knowledge proof 零知识证明(详见我们的第 1、2 期播客)
  • Merkle tree - 密码学中的一种数据结构。每个叶节点均以数据块的哈希作为标签,而除了叶节点以外的节点则以其子节点标签的加密哈希作为标签。
  • Zcash - 一种加密货币
  • Plasma / Validium / Optimistic Rollup - 三个 Layer2 扩容架构
  • AppliedZKP / zkSync / Scroll ZK / StarkWare - 四种 zkRollup 的技术实现