天天看點

Bulletproofs++1. 引言

1. 引言

前序部落格:

  • Bulletproofs: Short Proofs for Confidential Transactions and More學習筆記
  • Bulletproofs 代碼解析
  • Bulletproofs+: Shorter Proofs for Privacy-Enhanced Distributed Ledger學習筆記
  • Bulletproofs+ 代碼解析

Liam Eagen 2022年3月論文《Bulletproofs++》。

開源代碼實作見:

  • https://github.com/sanket1729/rust-bulletproofs-pp(Rust)

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證明性能對比為:

Bulletproofs++1. 引言

range proof驗證性能對比為:

Bulletproofs++1. 引言

不同range proof的proof size對比為:

Bulletproofs++1. 引言
Bulletproofs++1. 引言
Bulletproofs++1. 引言

繼續閱讀