这一期我们仍然请到了清华大学密码学在读博士生 @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日
参考资料
- 🔗 知乎帖子 by 吴寿鹤
- 🔗 Layer2的几种技术架构对比 from 登链社区
提到的部分名词
- TPS - transaction per second 每秒处理的交易数
- ZKP - zero knowledge proof 零知识证明(详见我们的第 1、2 期播客)
- Merkle tree - 密码学中的一种数据结构。每个叶节点均以数据块的哈希作为标签,而除了叶节点以外的节点则以其子节点标签的加密哈希作为标签。
- Zcash - 一种加密货币
- Plasma / Validium / Optimistic Rollup - 三个 Layer2 扩容架构
- AppliedZKP / zkSync / Scroll ZK / StarkWare - 四种 zkRollup 的技术实现