1. Polygon zkEVM的Dragon Fruit升级
2023年8月31日,Polygon zkEVM团队宣称启动了其Mainnet Beta的Dragon Fruit升级的10天timelock,预计将于2023年9月11日激活。
Dragon Fruit升级点有:
- 改进了网络
- 支持了最新的以太坊opcode——PUSH0
1.1 Dragon Fruit升级点
Dragon Fruit,又名ForkID5,包含了2个新特性:
- 1)PUSH0:最新的以太坊opcode,PUSH0已包含在以太坊Shanghai硬分叉中。一旦Dragon Fruit升级完成,Polygon zkEVM Mainnet Beta与最新版本的Solidity一致,以维护rollup的EVM等价性。更多PUSH0知识,见EIP-3855。
- 2)RLP解析:修复了交易解析的一个非致命错误。
1.2 Dragon Fruit升级审计
Spearbit对以上Dragon Fruit升级特性进行了安全性审计,同时对在本次升级中所包含的密码学优化进行了独立审计。Spearbit未发现任何致命风险或可靠性问题。在审计过程中所发现的非致命风险均已修复并经Spearbit确认。
具体的审计报告见:
1.3 Dragon Fruit测试网
当前,可使用Dragon Fruit测试网来体验push0,具体见Polygon zkEVM的公开测试网:
- Polygon zkEVM的Dragon Fruit公开测试网【注意切换“Testnet Products”选项】
1.4 Dragon Fruit到Mainnet Beta的升级路径
Dragon Fruit会影响Verifier,因Verifier中包含了生成state transitions的逻辑。这要求升级Polygon.zkEVM.sol
共识合约。
为与Polygon zkEVM的治理模式 保持一致,本次Polygon zkEVM Mainnet Beta升级已触发了10天的timelock。
升级流程已启动、执行,并将在10天内结束——即9月10日。在此提醒开发者和普通用户,在timelock会保护其安全性,在升级完成之前,给足够的时间取回资金(如有需要)。
已升级合约见:
- https://etherscan.io/address/0x301442aa888701c8b86727d42f3c55fb0dd9ef7f/advanced#code
包含升级提案及其签名的交易哈希见:
- https://etherscan.io/tx/0x94c0d1e336349013d0fe2072375d5b40c174fc26f7f1b06f23ddf4c6b1142519
1.4 升级Dragon Fruit之后
在9月中旬,一旦Dragon Fruit在以太坊主网激活之后,开发者需更新到最新版本的节点、prover和bridge服务,具体为:
- Node v0.3.0
- Prover v2.2.0
- Bridge服务 v0.2.0
2. Polygon zkEVM的Inca Berry升级
2023年10月26日,Polygon zkEVM团队宣称启动了其Mainnet Beta的Inca Berry升级的10天timelock。
Inca Berry升级点主要有:
- 升级后的
FflonkVerifier.sol
合约
- Inca Berry升级交易提案
伴随着Inca Berry升级,节点和prover也将更新。
对于终端用户来说,一旦Inca Berry升级激活,无需任何操作可继续使用Polygon zkEVM。从终端用户角度来看,一切皆未变。
2.1 Inca Berry升级点及审计
Inca Berry升级主要:
- 做了密码学优化
- 修复了一些bug
- 更新了prover和节点,包括给sequencer添加了data stream,并改进了Websocket订阅。
之前的prover代码无法在最流行的(除Ubuntu之外的)桌面Linux系统上编译。随着本次升级,prover代码将兼容GCC13,且开发者在Linux系统中编译和执行prover。
Inca Berry升级相关审计由Verichains主导。未来将分享相应审计报告。
2.2 下一步 及 如今如何测试Inca Berry
为与Polygon zkEVM的治理模式 保持一致,本次Polygon zkEVM Mainnet Beta升级已触发了10天的timelock,将于2023年11月5日结束。
在此提醒开发者和普通用户,在timelock会保护其安全性,在升级完成之前,给足够的时间取回资金(如有需要)。
该timelock对开发者来说,也是自行测试和验证升级的机会。Inca Berry以及最新版本的node和prover,均已在Polygon zkEVM公开测试网上可用:
- Polygon zkEVM的Inca Berry公开测试网【注意切换“Testnet Products”选项】
2.3 升级Inca Berry之后
一旦Inca Berry在以太坊主网激活,开发者需更新最新版本的node和prover:
- Node v0.3.2
- Prover v3.0.0
参考资料
[1] 2023年8月31日 Polygon zkEVM: Dragon Fruit Upgrade (with New Opcode) Coming to Mainnet Beta
[2] 2023年10月26日 Polygon zkEVM: Inca Berry Upgrade Coming to Mainnet Beta
附录:Polygon Hermez 2.0 zkEVM系列博客
- ZK-Rollups工作原理
- Polygon zkEVM——Hermez 2.0简介
- Polygon zkEVM网络节点
- Polygon zkEVM 基本概念
- Polygon zkEVM Prover
- Polygon zkEVM工具——PIL和CIRCOM
- Polygon zkEVM节点代码解析
- Polygon zkEVM的pil-stark Fibonacci状态机初体验
- Polygon zkEVM的pil-stark Fibonacci状态机代码解析
- Polygon zkEVM PIL编译器——pilcom 代码解析
- Polygon zkEVM Arithmetic状态机
- Polygon zkEVM中的常量多项式
- Polygon zkEVM Binary状态机
- Polygon zkEVM Memory状态机
- Polygon zkEVM Memory Align状态机
- Polygon zkEVM zkASM编译器——zkasmcom
- Polygon zkEVM哈希状态机——Keccak-256和Poseidon
- Polygon zkEVM zkASM语法
- Polygon zkEVM可验证计算简单状态机示例
- Polygon zkEVM zkASM 与 以太坊虚拟机opcode 对应集合
- Polygon zkEVM zkROM代码解析(1)
- Polygon zkEVM zkASM中的函数集合
- Polygon zkEVM zkROM代码解析(2)
- Polygon zkEVM zkROM代码解析(3)
- Polygon zkEVM公式梳理
- Polygon zkEVM中的Merkle tree
- Polygon zkEVM中Goldilocks域元素circom约束
- Polygon zkEVM Merkle tree的circom约束
- Polygon zkEVM FFT和多项式evaluate计算的circom约束
- Polygon zkEVM R1CS与Plonk电路转换
- Polygon zkEVM中的子约束系统
- Polygon zkEVM交易解析
- Polygon zkEVM 审计及递归证明
- Polygon zkEVM发布公开测试网2.0
- Polygon zkEVM测试集——创建合约交易
- Polygon zkEVM中的Recursive STARKs
- Polygon zkEVM的gas定价
- Polygon zkEVM zkProver基本设计原则 以及 Storage状态机
- Polygon zkEVM bridge技术文档
- Polygon zkEVM Trustless L2 State Management 技术文档
- Polygon zkEVM中的自定义errors
- Polygon zkEVM RPC服务
- Polygon zkEVM Prover的 RPC功能
- Polygon zkEVM PIL技术文档
- Polygon zkEVM递归证明技术文档(1)【主要描述了相关工具 和 证明的组合、递归以及聚合】
- Polygon zkEVM递归证明技术文档(2)—— Polygon zkEVM架构设计
- Polygon zkEVM递归证明技术文档(3)——代码编译及运行
- Polygon zkEVM递归证明技术文档(4)—— C12 PIL Description
- Polygon zkEVM递归证明技术文档(5)——附录:借助SNARKjs和PIL-STARK实现proof composition
- eSTARK:Polygon zkEVM的扩展STARK协议——支持lookup、permutation、copy等arguments(1)
- eSTARK:Polygon zkEVM的扩展STARK协议——支持lookup、permutation、copy等arguments(2)
- eSTARK:Polygon zkEVM的扩展STARK协议——支持lookup、permutation、copy等arguments(3)