个人网站可以备案月入百万的游戏代理
1. 引言
所有的zkEVM都存在一个有趣的问题:
- 如何给gas定价?
 
在Ethereum Virtual Machine (EVM)中,gas通过为每个计算设置economic fee,来保持网络安全。恶意行为,如拒绝服务(DoS)攻击,通过设置执行交易的价格来抑制。gas limit定义了事务可以执行的计算步骤总数。
gas用于反映节点所消耗的(带宽、存储、计算)资源,但是在生成zkEVM proof的过程中,某些EVM opcodes的证明 要比 在CPU中re-execute 昂贵。
 换句话说,就是在EVM中某些低gas fee的计算,在zkEVM中证明时,可能会变得非常昂贵并降低网络速度。
zkEVM中的opcode定价,有3个选项:
-  
1)保持与原有的EVM gas定价策略一致:
- 有利于EVM-equivalency,开发者可无缝将其dapp部署在zkEVM。
 - 但是,存在潜在的DDOS攻击。原因在于:EVM中某些低gas fee计算,在zkEVM中证明将非常昂贵。将足够多的低gas fee opcode压缩到一个EVM块中,但在zkEVM中的证明是高成本的,并且网络可能会经历严重的延迟。如,在zkEVM中,Keccak hash证明是昂贵的,将EVM区块中填满“EXTCODESIZE”仅需100 gas,但会导致type-1 zkEVM执行大量Keccak hash,从而导致潜在的DoS。
 
 -  
2)在zkEVM中重新给opcode定价。
重新定价的问题在于:某些合约依赖于现有的gas策略来工作——如“GASLEFT”或“CALLSTIPEND”。
这会给dApps引入unexpected behavior,给开发者增加不必要的麻烦。 -  
3)保持原有的gas定价策略,同时额外引入DOS缓解机制。
- 可保留合约的功能,同时不牺牲网络安全性和可靠性。
 - 当前Polygon zkEVM的opcode gas定价与EVM完全一致。
 - Polygon zkEVM引入了配额(quotas)来识别病态交易——如用EXTCODESIZE填充整个块。将其视为额外的安全反射。一个块中只能包含一定数量的Keccak哈希。Polygon zkEVM扫描违反此配额(quotas)的恶意块,有助于确保不会发生昂贵且网络缓慢的spam。
由于Polygon zkEVM证明器速度极快,Polygon zkEVM中L1 gas计划和实际资源消耗之间的计算成本差异仍然很小。【在zkASM编写的zkROM中为各opcode引入了ZK-COUNTERS计数。可参看Jordi 2022年10月分享Technical Details of the Opcode Compatible zkEVM by Jordi Baylina | Devcon Bogotá。】 - 这是最好的选项:无缝设计集成加上防止spam的机制。
 
 
参考资料
[1] Polygon zkEVM的gas定价
附录: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
 
