Bulletproof范围证明之优化
主页
微信公众号:密码应用技术实战
博客园首页:https://www.cnblogs.com/informatics/
GIT地址:https://github.com/warm3snow
简介
Bulletproof将范围证明转换为二次多项式表达
本文组织如下:
- 术语定义
- Bulletproof复杂度分析
- Bulletproof折半算法
- 总结
- 参考文献
术语定义
和 :分别表示两个大素数 :表示模 的整数环 :表示模 的整数环中的所有与 互素的元素, 即非零元素 :阶为 的循环群, 如果: , 则 是 的生成元 和 :分别表示群 上的n维向量空间和 上的n维向量空间 = : 表示向量 的Pedersen承诺值 : 表示向量 和 的Pedersen承诺值 : 表示向量 和 的内积。 : 表示向量 和 的哈达玛积。 和 : 表示向量 的前 个元素和后 个元素。 和 : 分别表示证明生成者Prover和证明验证者Verifier
Bulletproof复杂度分析
在上一篇文章《Bulletproof范围证明之原理》中,我们介绍了Bulletproof向量内积证明,Bulletproof使用向量内积证明来进行范围证明,流程如下:
分析上图中的通信数据包可以发现,交互式Bulletproof向量内积证明过程中,Prover和Verifier需要发送的数据包包括:
- 承诺
, 其中 , 复杂度为 - Verifier需要发送的数据包括:挑战
, 其中 , 复杂度为 - 响应
, 其中 , , 复杂度为
综上,未优化版本的Bulletproof向量内积证明通信复杂度为
Bulletproof折半算法
Bulletproof折半算法是Bulletproof的一种优化技木,主要用于减少Bulletproof范围证明的通信复杂度,并实现了
折半算法
Bulletproof折半算法基于改进的向量内积证明,下面我们将详细介绍Bulletproof折半算法的优化原理。
改进的向量内积
假设
其中:
是 的向量Pedersen承诺。 表示 的向量内积
以上的向量关系可以转换为下面的证明系统:
在上述证明系统中:
- Prover可以直接将
发送给Verifier, Verifier重新计算 并检查是否正确,这种承诺的明文打开和验证方式显然是可以的。 - Prover需要向Verifier发送
个元素。
在Bulletproof中,将以上证明系统转换为以下等价的证明系统:
其中
折半算法
H函数
在Bulletproof折半算法中,引入了一个特殊的功能函数
其中:
, 即 表示向量 的前 个元素, 表示向量 的后 个元素。 同理- 输入参数为五元组
- 输出为群
中的元素
上述
同态性证明:
等价转换
按照
等式证明:
折半算法构造
Bulletproof折半算法的构造流程如下:
- Prover计算
, 并发送给Verifier
- Verifier选择随机挑战
, 并发送给Prover - Prover计算
, 并发送给Verifier
- 基于
, Verifier验证以下等式是否成立:
- 注:等式中的
是Prover发送的向量内积证明的承诺值
正确性验证
已知:
根据
由于:
因此,我们可以得出:
综上,verifier可以成功验证步骤4中的等式,即折半算法的正确性。
复杂度分析
通过折半算法,在通信过程中,Prover只发送了
, 通信复杂度为 , 通信复杂度为
因此通过一轮折半算法,可以将直接发送
递归折半算法
通过递归折半的方式,我们可以进一步降低复杂度:
- Prover可以在
基础上继续执行折半算法 - 通过
次折半(即:向量长度每次减半),可以将 折半为两个元素 - 每次执行折半算法,Prover需要重新生成
由于交互式证明可以通过Fiat-Shamir方法转换为非交互式证明,因此在整个递归折半算法中,Prover仅需要发送以下消息给Verifier:
表示第 次执行折半算法生成, 所有 复杂度: 为两个元素,复杂度为
因此Bulletproof通过递归折半算法,成功将通信复杂度降低为
结语
本文详细分析了Bulletproof范围证明的优化技术 - 折半算法。通过引入
本文未对Bulletproof递归折半算法构造进行详细证明,感兴趣的读者可以参考《Bulletproofs: Short Proofs for Confidential Transactions and More》进行深入学习。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异