Daily Digest 每日摘要 View All 查看全部
01
Sun 日
zkSecurity snarkjs Trusted Setup
@zkSecurity analyzes recent ZK circuit exploits in a blog post, attributing them to Groth16 verifier setup errors where missing Phase 2 contributions cause identical γ and δ parameters, enabling proof forgery. @zkSecurity 在博客中分析了近期两起针对ZK电路的攻击事件,指出它们源于Groth16验证器设置错误,即缺少第二阶段贡献,导致验证密钥中的γ和δ参数相同,从而允许伪造证明。
Key Points: 要点:
- • Both exploits stem from Groth16 verifier setup errors in snarkjs, where missing Phase 2 contributions leave γ and δ parameters identical. 两起攻击均因snarkjs生成的Groth16验证器设置错误,缺少第二阶段贡献,使γ和δ参数相同
- • Losses: ~$1.5M and 5 ETH, discovered by white-hat hackers to prevent malicious attacks. 攻击导致约150万美元和5 ETH损失,由白帽黑客发现
- • Root cause: snarkjs sets γ and δ to the same generator point when initializing zkey 根源:snarkjs在初始化zkey时设置γ和δ为相同生成点
- • Phase 2 contribution is required to randomize δ 需通过第二阶段贡献随机化δ
- • Developers often overlook simple mistakes while focusing on complex parts 开发者常因关注复杂部分而忽略简单错误,
- • ZK DSLs are easy to misuse and lack foundational tooling support ZK DSL易误用且缺乏基础工具支持