Cryptography
Range proof 的 Confidential Transaction 理解
我對 Greg Maxwell 機密交易有些懷疑,希望有人能幫助澄清。使用橢圓曲線數學的承諾是:
P=xG + aH
其中 G,H 是公共價值,x,a 是私人價值。
我的問題是:
xG
是公共價值還是私人價值?- 如果
xG
是公共值,為什麼攻擊者不能簡單地進行蠻力攻擊,嘗試所有可能的值來a
檢查與 P 值是否相等?- 如果
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=1
makeC' = C - 1H
然後簽署C'
. 如何簽名C
或C'
我可以證明價值以及如果我不知道如何驗證簽名xG
?
僅顯示整體承諾 ( P )。G和H是眾所周知的常數。x(致盲因子)和a(值)是秘密的。
如果 xG 是一個私有值,CT 論文告訴:只需簽署承諾的雜湊值並作為公共承諾,或者如果你想證明 a=1,則可以證明是對零的承諾- 1H 然後對 C’ 的雜湊進行簽名。如何簽署 C 或 C’ 我可以證明價值,如果我不知道 xG,我如何驗證標誌?
如果它是G的已知倍數,您只能用一個點簽名。根據定義,可以使用公鑰kG驗證具有私鑰k的簽名。如果P = xG + aH且非零,則不可能找到k使得kG = xG + aH - 這需要知道G和H之間的比率(並且H的構造方式使得該比率未知每個人)。