區塊鏈是一個記錄節點間交易的分佈式賬本,不依賴任何可信的第三方機構。交易記錄通過共識算法同步到全球所有節點,形成不可篡改的歷史記錄。也正因如此,所有的交易信息,包括髮送者的公鑰、接受者的私鑰和具體交易內容等都是公開透明的。這對於金融科技(FinTech)領域的敏感交易而言幾乎是不可行的。因此,區塊鏈行業中的隱私保護問題引起了業界和學術界的諸多關注。

Zecrey 協議中的 RingCT
正如前所述,承諾方案無法在沒有任何改進的情況下直接使用。其中一個關鍵要點是承諾的輸入值應該是有效的,即參數應該限制在合理的範圍內。然而,這已經成爲了一個棘手的問題。假設所設計的隱私保護方案是有效的,那麼接受者就無法獲得與輸入值相關的任何有用信息,這就存在操控輸入值的可能。因此,需要一個範圍證明來爲驗證者提供承諾輸入值的可信保證,Zecrey 就設計了一個類似於 RingCT 的新的範圍證明方案。
第一個區塊鏈保密交易(CT)[1] 是對比特幣協議的改進,用於在區塊鏈網絡中隱藏交易值。爲了進一步實現發送者匿名,許多混幣池協議均採用了 CT 保密交易。如加密貨幣門羅 [2],可鏈接環簽名與 CT 共同使用,從而形成 RingCT 協議 [3]。對於一組 M 個交易輸入而言,交易輸入對應於每個環尺寸爲 O(n) 的環簽名,n 是可能的簽名者數量。此外,淨交易數額還對應於一個環尺寸爲 O(n) 的環簽名。因此,門羅的 RingCT1.0 具有每個環尺寸爲 O(n) 的 (M+1) 環簽名。由於簽名尺寸過大會限制可能的簽名者數量 n,門羅的官方錢包中 n 值僅從 5 到 20 不等。因此,RingCT1.0 的發送者匿名度最多爲二十分之一。由於環簽名的尺寸較小,門羅用戶的匿名性可能會遭受到各種攻擊,並且通過對門羅鏈的數據進行分析,簽名者的匿名性可以以一定的概率遭到撤銷。此外,RingCT1.0 的研究沒有給出任何有關 RingCT 的概念和安全模型,後來的 RingCT2.0 協議通過使用可信的公共參數提出了一個環尺寸爲 O(1) 的 (M+1) 環簽名。然而,在公共區塊鏈的設置中使用可信的公共參數是不可取的。因此,本文簡單介紹一下 RingCT3.0[4]。

Zecrey 協議中的 RingCT
RingCT3.0 是最有可能的區塊鏈環加密交易協議,可以用於保護髮送者的身份、接收者的身份和交易金額等方面的隱私內容。對於環尺寸爲 1024 的典型雙輸入交易,RingCT3.0 協議的環簽名尺寸比門羅鏈中使用的 RingCT1.0 協議的環簽名尺寸小 98%,因此可大幅節約交易費用。請注意,交易費用取決於交易數據的長度,而交易數據的長度受發送者的簽名長度影響。對於比特幣而言,一個典型的雙輸入雙輸出的交易包含 2 個 ECDSA 簽名,長度均爲 1 kB。截至 2018 年 4 月,比特幣的平均交易費用爲 1 美元,整個比特幣網絡每日的交易費用爲 160,000 美元。對於門羅而言,一個典型的加密交易的簽名尺寸爲 13.2 kB。利用緊湊的 RingCT3.0 環簽名尺寸優勢,可以獲得更低的交易手續費。
除了在效率方面的顯著提升外,RingCT3.0 在更強的安全模型中也被證明是安全的。RingCT2.0 中使用的可信設置假設通過使用佩德森承諾 [5] 中承諾值的零知識範圍證明也可以消除。此外,RingCT3.0 對環內部人員(包括在環內的非簽名用戶)也是匿名的。RingCT3.0 協議依賴於一個全新設計的環簽名方案作爲底層原語,該方案被認爲是迄今爲止最有效的環簽名方案(就簽名尺寸而言)。

Zecrey 協議中的 RingCT
簡單介紹了 RingCT 協議之後,我們將對其核心技術“環簽名”進行具體的說明,環簽名目前已經在安全領域得到廣泛採用。環簽名是一種數字簽名,可以由一組用戶中的任何成員執行,每個用戶都持有密鑰。因此,用戶中的任何一人都可以憑藉持有的密鑰對某項信息進行環簽名。環簽名的一個安全特性是,通過計算來確定產生簽名的密鑰是不可行的,因此提供了寶貴的匿名性。環簽名的學習將有助於我們增強對主流區塊鏈隱私保護項目中核心隱私協議的理解。

Zecrey 官網:https://zecrey.com/
歡迎加入我們的社區並在推特上關注我們!
媒體:https://medium.com/@zecrey
推特:https://twitter.com/zecreyprotocol
電報:https://t.me/zecrey
Discord:https://discord.com/invite/U98ghQsJE5

參考:
[1]Maxwell, G.: Confidential transactions (2015), https://people.xiph.org/ ~ greg/confidential_ values.txt
[2]https://www.investopedia.com/tech/introduction-monero-xmr/
[3]Noether, S.: Ring Signature Confidential Transactions for Monero. Cryptology ePrint Archive, Report 2015/1098 (2015), http://eprint.iacr.org/
[4]Yuen T H, Sun S, Liu J K, et al. RingCT 3.0 for blockchain confidential transaction: Shorter size and stronger security[C]//International Conference on Financial Cryptography and Data Security. Springer, Cham, 2020: 464-483.
[5]https://crypto.stackexchange.com/questions/64437/what-is-a-pedersen-commitment