Bulletproofs和Plonk等ZKP系统中Fiat-Shamir实现漏洞Frozen Heart
Posted mutourend
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Bulletproofs和Plonk等ZKP系统中Fiat-Shamir实现漏洞Frozen Heart相关的知识,希望对你有一定的参考价值。
1. 引言
Trail of Bits团队近期发布Coordinated disclosure of vulnerabilities affecting Girault, Bulletproofs, and PlonK,指出Bulletproofs和Plonk等ZKP系统中的Fiat-Sharmir实现存在漏洞,使得恶意用户可为随机statement伪造proof。Trail of Bits将该漏洞命名为Frozen Heart,其中Frozen代表FoRging Of ZEro kNowledge proofs,Heart是指Fiat-Shamir transformation是很多proof system的核心。
Trail of Bits提前通知了相关团队修复了该漏洞之后,才进行了公开披露。受影响的库主要有:
- ZenGo的zk-paillier
- ING Bank’s zkrp (该库目前已删除)
- SECBIT Labs的 ckb-zkp
- Adjoint, Inc.的 bulletproofs:在 Bulletproofs论文 中,作者推荐了一种不安全的Fiat-Shamir生成方式。该作者已在论文最新版本中更新了该问题,在
y
y
y的计算中引入了statement
s
t
st
st。(可参看博客 Bulletproofs: Short Proofs for Confidential Transactions and More学习笔记。)
- Dusk Network的 plonk
- Iden3的 SnarkJS
- ConsenSys的 gnark
因Fiat-Shamir实现引起的漏洞问题并不新鲜,如:
- 2016年论文 How not to Prove Yourself: Pitfalls of the Fiat-Shamir Heuristic and Applications to Helios
- 2020年论文 When is a test not a proof?
参考资料
[1] 2022年4月博客 Coordinated disclosure of vulnerabilities affecting Girault, Bulletproofs, and PlonK
[2] 2021年2月博客 Serving up zero-knowledge proofs
以上是关于Bulletproofs和Plonk等ZKP系统中Fiat-Shamir实现漏洞Frozen Heart的主要内容,如果未能解决你的问题,请参考以下文章