Bulletproofs++

Posted mutourend

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Bulletproofs++相关的知识,希望对你有一定的参考价值。

1. 引言

前序博客:

Liam Eagen 2022年3月论文《Bulletproofs++》。
开源代码实现见:

Bulletproofs++ 在 Bulletproofs 和 Bulletproofs+ 的基础上,实现了:

  • 1)新的range proof:具有更短的proof size的同时,具有更短的witness length。

    • 1.1)将(weighted)inner product协议修改为可证明norm relation——即self inner product,与此同时,仅需要对该vector commit一次。
    • 1.2)借助norm relation argument,构建了a binary digit range proof,其witness length仅为 Bulletproofs和Bulletproofs+ 的一半。
    • 1.3)借鉴由BG12论文派生的logarithmic permutation argument,以及本文的norm argument,构建了一组具有任意bases的range proof方案。
      • 1.3.1)对于64 bit range proof:采用16个十六进制数字,reciprocal range proofs中包含10个曲线点和3个标量,其proof size对应Curve25519为416字节,对应SECP256k1为418字节。
        该proof size比Bulletproofs+ 小约27%,比Bulletproofs小约38%。
      • 1.3.2)witness length与Verification Complexity成比例,缩小了约6倍,随着range number的增加,可缩小约8倍。
  • 2)新的confidential transaction协议:支持多种currency类型。
    使用permutation argument构建了支持多种currency类型的 zero knowledge confidential transaction protocol:

    • 采用one multiplication per input and per output,并支持多方证明,从而大大改进基于ring signature以及Bulletproof所构建的confidential transactions。

具体range proof证明性能对比为:

range proof验证性能对比为:

不同range proof的proof size对比为:


以上是关于Bulletproofs++的主要内容,如果未能解决你的问题,请参考以下文章

安全多方计算之五:零知识证明(从入门到入土。。)

非交互式零知识证明(上)

安比实验室郭宇:当深度神经网络遇上零知识证明

零知识证明DApp开发实践身份证明/以太坊

零知识证明系列之一——初探零知识证明

零知识证明系列:Schnorr协议