Cryptography

Range proof 的 Confidential Transaction 理解

  • February 7, 2021

我對 Greg Maxwell 機密交易有些懷疑,希望有人能幫助澄清。使用橢圓曲線數學的承諾是:

                                 P=xG + aH

其中 G,H 是公共價值,x,a 是私人價值。

我的問題是:

  1. xG是公共價值還是私人價值?
  2. 如果xG是公共值,為什麼攻擊者不能簡單地進行蠻力攻擊,嘗試所有可能的值來a檢查與 P 值是否相等?
  3. 如果xG是 CT 論文告訴的私有值:can be proven to be a commitment to a zero by just signing a hash of the commitment with the commitment as the public或者如果你想證明a=1makeC' = C - 1H 然後簽署C'. 如何簽名CC'我可以證明價值以及如果我不知道如何驗證簽名xG

僅顯示整體承諾 ( P )。GH是眾所周知的常數。x(致盲因子)和a(值)是秘密的。

如果 xG 是一個私有值,CT 論文告訴:只需簽署承諾的雜湊值並作為公共承諾,或者如果你想證明 a=1,則可以證明是對零的承諾- 1H 然後對 C’ 的雜湊進行簽名。如何簽署 C 或 C’ 我可以證明價值,如果我不知道 xG,我如何驗證標誌?

如果它是G的已知倍數,您只能用一個點簽名。根據定義,可以使用公鑰kG驗證具有私鑰k的簽名。如果P = xG + aH且非零,不可能找到k使得kG = xG + aH - 這需要知道GH之間的比率(並且H的構造方式使得該比率未知每個人)。

引用自:https://bitcoin.stackexchange.com/questions/53469