Monero 技術介紹:環籤交易(RingCT)

買賣虛擬貨幣
Monero是一種安全且無法追蹤的電子加密貨幣。它來自一個開放原始碼、去中心化且任何人皆可自由參閱的開發專案。在這篇文章中,我們要來談談環狀簽名保密交易,通常簡稱為環籤交易(RingCT)。在上一篇文章中,我們呈現了Monero是如何藉由創造無法區分的交易輸入以保護付款者的隱私。過程中使用了數位簽名的技術,將真正的交易簽署者隱藏在數個環狀簽名輸入中完成一筆交易。另外,我們也闡述了金鑰映像(key image)是如何用來防止交易輸入被重複花費。然而為了更徹底的增加交易雙方的隱私,一個稱為環籤保密交易(RingCT)的協定被用來隱藏交易的金額。在Monero 發展早期開始啟用RingCT 之前, Monero 的交易金額需要先分割成特別的單位數量。譬如,一筆金額為12.5 的交易輸出會被分割成三筆分別為10、2、0.5的金額。這樣的方式可以讓環狀簽名在建構時可以有足夠等同的輸入來源,因為環狀簽名的輸入金額必須是一致的。但在這個交易步驟中,每一筆交易金額都是可見的。為了改善這個缺點, Monero 在2017 年的一月啟用了RingCT 協定。在啟用RingCT 的一個月後,大約有98% 的交易都是使用RingCT 協定。而在2017 年的九月之後,所有的Monero 交易都會是強制使用RingCT 協定。如今在使用RingCT 的協定下,每個在挖礦中新產生的Monero 會先以可見金額的形式存在於交易輸出中。而當這些新產生的Monero 在第一次被轉移時,將會產生帶有金額遮罩的RingCT 交易輸出。如此一來, Monero 的交易將不再需要被分割為特定的單位數量。這代表著錢包在交易時可以任意挑選一個RingCT 的交易輸出,這大幅提高了匿蹤性。值得注意的是,一個環狀簽名裡無法同時包含在RingCT 啟用前的舊交易輸出與帶有金額遮罩的新交易輸出。所以就如同新產生的Monero 的處理方式,在RingCT 啟用前的舊時期交易輸出必須要先轉換成RingCT 的交易輸出,接著才能與RingCT 的輸出形成環狀簽名。讓我們來舉個例子來解釋RingCT 是如何運作的。舉例來說,若Alice 擁有一個金額為12.56 的交易輸出並想付款2.5 個Monero 給Bob。由於輸出是無法被花費兩次的,所以這個輸出將會被整筆花費出去,之後才會將找零返回給Alice 。以這個例子為例, Alice 的這筆交易將會有一筆12.56 Monero 的輸入和兩筆輸出,第一個輸出會是要付款給Bob 的2.5 Monero ,而另一筆將會是10.06 Monero 的找零將會傳送回她原本自己的錢包。為了防止Monero 在交易的過程中被偽造而無中生有,每一筆Monero 的交易輸入與交易輸出各自的金額總和必須相同。而在RingCT 的交易中, Alice 會被要求提供一個此筆交易輸出的資訊,此資訊僅包含了讓交易網路可以驗證此筆交易的資訊,而不會公開實際上到底花費了多少金額。儘管提供的這些資訊看起來像是隨機的數字,礦工們仍然可以從這其中驗證轉帳給Bob 的金額與可用的餘額相同(詳見注1)。在RingCT 交易中,另一個重要的機制是”範圍保護”,這個可以防止有人提交了負值的交易金額, 範圍保護在加密學上保證了交易中的金額是大於零並小於特定的數字,以保護Monero 的發行量。基於以上的各種機制設計,使得即使外部觀察者的角度無法從交易輸出中得知真正的交易金額,但依舊是可以驗證此筆交易為有效的。
拜Monero 擁有的隱私設計所賜,使用者可以隨意地傳送給任何物件,而不用擔心有人會得知交易的金額或是交易雙方的身分。這些特性使得Monero 成為在保護隱私需求中最先進的數位貨幣,但這些創新的腳步不會停歇於此。在下一部影片中,我們將討論Kovri ,一個用C++ 打造的I2P 路由技術,將使得Monero 的交易更加安全。注1: 交易中須公開的資訊由這個公式而來:rct = x_G + a_H(G) 。在這邊最重要的變數為a與x。H(G)和G是關係到許多在這篇文章所述之外的因素故在此不做解釋。a是在交易中的真正金額,在文章中的例子也就是2.5。x是用來作為金額遮罩的隨機數字,由錢包所自動產生。
簡單來說,這個公式可以被簡單敘述為rct =隨機數字+真正的交易金額。在RingCT的交易中,rct的值將會被髮布到交易網路中作為一個交易輸出,而交易網路或礦工將可使用這個rct值去驗證交易輸入是否等於交易輸出的金額,以確認沒有額外的Monero 被偽造產生。然而,對於一個外部的觀察者來說,並無從得知變數x的實際金額,所以無法得知有多少金額在交易中被實際的花費掉。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;