Confidential-Transactions

範圍證明如何在 0 而不是 -1 處下限?

  • June 1, 2017

來自機密交易文章

C' = C - 1H然後我提供了一個環簽名{C, C’}

如果 C 是對 1 的承諾,那麼我不知道它的離散對數,但 C’ 成為對 0 的承諾,我確實知道它的離散對數(只是致盲因子)。如果 C 是對 0 的承諾,我知道它的離散日誌,而我不知道 C’。如果是對任何其他金額的承諾,則結果都不會為零,我將無法簽名。

如果 C 和 C’ 是對 0 和 -1 的承諾怎麼辦?那麼如果我可以簽名,那就意味著環簽名是一個證明已經結束{0,-1}。我可能遺漏了一些東西,所以請告訴我,為什麼這個證明中的金額不能是-1?

如果 C 和 C’ 是對 0 和 -1 的承諾怎麼辦?然後如果我可以簽名,那就意味著環簽名是一個超過 {0,-1} 的證明。

要創建簽名,公鑰必須是 G 的已知倍數。該倍數稱為私鑰。當一個點中包含非零 H 項時,不能創建以該點為公鑰的簽名。為了將 r G+v H 寫成 G 的倍數 k,k = r + v*(G/H)。H 的構造方式是沒有人知道 G 和 H 之間的比率。因此,當 v = 0 時,r G+v H 只能是 G 的已知倍數。

因此,您只能簽署作為對值 0 的承諾點的公鑰。

環簽名意味著您選擇多個點作為公鑰,並為其中的一個簽名,而不透露是哪一個。

因此,如果 C 是對 0 的承諾,因此 C’ 是對 -1 的承諾,那麼您絕對可以使用 {C, C’} 作為公鑰創建環簽名。但這是由於 C 的存在。

我可能遺漏了一些東西,所以請告訴我,為什麼這個證明中的金額不能是-1?

證明中沒有“價值”。有兩個值可供選擇。簽名者僅證明他可以為其中一個簽名,驗證者無法知道他指的是哪一個。

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