LocalMonero will be winding down

The winding down process begins May 7th, 2024, and finishes after November 7th, 2024. Our support staff will be available for help throughout this period.
  1. Effective immediately, all new signups and ad postings are disabled;
  2. On May 14th, 2024, new trades will be disabled as well;
  3. After November 7th, 2024, the website will be taken down. Please reclaim any funds from your arbitration bond wallet prior to that date, otherwise the funds may be considered abandoned/forfeited.

環形簽名如何保護門羅幣發送者的輸出

发布时间:
By Diego Salazar

門羅幣作為隱私幣之王,去中心化的瑞士銀行,隱私性在加密貨幣領域廣為人知. 儘管每個人都知道門羅幣提供了良好的隱私保護,但沒有多少人真正瞭解門羅幣隱私的運作方式.

許多其他加密貨幣,或者區塊鏈媒體在發佈各種加密貨幣的比較圖,或者其它文案時,大多數情況下,總將門羅幣的隱私保護技術標記為RingCT,但這只是部分正確.實際上,Monero對隱私保護採取了三管齊下的方法.分別是隱藏接收者,交易金額,和發送方輸出的技術,隱藏收款人的技術是stealth addresses,中文翻譯成隱蔽位址,有時也被翻譯成一次性位址,隱藏交易金額的RingCT又叫環形機密,而防彈協議,ringCT3.0等都屬於環形機密,最後一項,保護發送方的是ring signatures,中文翻譯成環簽名或者環形簽名.

這種三管齊下的方法意味著,如果其中一項隱私技術被破壞,其他技術仍將發揮作用.這其中環簽名是門羅幣隱私方案中最薄弱的環節,當然了這裡的弱也是相對而言的,讓我們不要那麼浮躁,耐心花一些時間探索它,到底有沒有可能被破解.

如上所述,環簽名的目的是使交易中發送方的output也就是輸出變得模糊.這裡插一句話,在加密貨幣世界裡面,如果類似於輸入input和輸出output這種術語讓你感到困惑,請不用擔心,它們概念並不複雜,今天用人類能懂的語言來解釋清楚.當你聽到輸出output時,請聯想一下支票,人們用來付帳的時候,可以寫一張支票給對方,這在中國不太普遍,你可以把支票想像成一個欠條,它可以表示任何面額,類似五塊,三千,幾萬,或者一個票據,類似於逢年過節憑票可以去商店領若干米麵油,或者蛋糕店的卡,都對應的屬於商店和蛋糕店的output,這種票據像支票一樣在交易雙方之間可以交換和轉讓.對於加密貨幣,發送者的輸出output具有以下功能.

當有人向你支付10個門羅幣時,您將收到10 個門羅幣的輸出.此輸出的面額為10,也就是從發送人的錢包中扣取了10個幣發給了你,同理當你付款時也一樣,一個輸出帳單會離開你的實際錢包,並發給你要付款的對方.

門羅幣隱藏發送者輸出的方式是通過構造若干類似於誘餌輸出,形成一個環形結構,環簽名因此得名. 但是這些誘餌不是憑空捏造的假輸出,它們是區塊鏈過去的真實輸出,只是與當前交易無關,但是對於外部觀察者而言,這些輸出中的每一個看起來都可能與真實的輸出相同.誘餌輸出的大小加上真實的輸出稱為環大小,目前門羅幣的環簽名大小為11.因此,每一筆交易,有十個誘餌輸出和一個真實的輸出.通俗的例子是,當我支付一張支票的時候,我在裡面混了另外十個不同人之間以前互相轉帳的支票,外人看來這11個支票都可能是真的,如何保證沒有人能憑空製造假鈔票,怎麼保證11個支票裡至少一個是真的,下文還會提到,不過這不是本文的討論的重點,包括門羅如何在匿名情況下審計總量,請參考社區和我們其它文章.

既然這樣,為什麼我們只混進去十個假的誘餌呢,我們為什麼不將這個數字增加到100甚至1000呢,誘餌越多越好,真實交易越不容易被發現.是的,從隱私的角度來看,完全沒錯,但是還有其他因素需要考慮.讓我們回到一個實際的例子來瞭解.如果你要轉帳1塊錢給你的朋友,為了保護隱私,所以要混進去十個誘餌,所以你在手機上還要發送十個假的誘餌交易,也就是為了轉帳一塊錢,你要操作11次轉帳. 如果您要轉帳幾次每天,這已經變得很麻煩了,現在,假設我們將誘餌數量增加到1000.哪怕要轉帳的一塊錢,你都要在這個交易裡添加另外1000個毫不相干別人以前的轉帳記錄.這好比你攜帶了成捆的鈔票和支票,去買一個煎餅果子!值得注意的是,這裡只是一個舉例,實際上誘餌本身不是環簽名的一部分,環簽名只是從系統裡自動對它們的引用,但是我們希望這種比喻在幫助理解基本概念方面有所幫助,也就是說為什麼不能在短期內無限增加環簽數量,但是門羅社區一直在開發和研究更好,更小,更快的環簽名方案,今年2020年10月將要部署的CLSAG簽名就是其中一個,它將壓縮門羅幣交易百分之25的大小和至少百分之10的運行速度,我們有一篇單獨的文章,關於CLSAG環簽名原理,這些概念下文還會提到.

門羅幣區塊鏈上的誘餌情況類似.每添加一個誘餌都會增加交易時間和驗證成本.每個節點必須為每筆交易下載整個環簽名,這其中包含實際發送人的輸出以及誘餌.不僅如此,節點還必須進行數學運算,驗證這些輸出中至少有一個是真實的,並且誘餌越多,需要數學運算的時間也會增加.這意味著我們必須找到一個性價比最高的折衷地帶,即遭受分析和攻擊時,環的大小也足夠大到足以掩蓋真實輸出,但又要足夠小以免導致區塊鏈資料急劇增加和效率降低.當我們用更好的方案,構建新的環形簽名時,例如上面說到的CLSAG簽名,僅關注增大多少環簽,或者僅僅關注提速多少是沒有意義的.門羅幣社區希望獲得具體的數學證據,以瞭解哪種環形簽名的尺寸,可以提供最佳折衷方案.環簽誘餌數量太小,隱私保護不足以抵抗資料分析的攻擊.環簽名太大,我們可能在隱私方面獲得的效益十分有限,而在可擴展性方面,遭受不必要地痛苦.

最後一件事要重點聲明的是. 一些門羅幣的參考文獻進行了簡化,或者他們理解就是錯誤的,他們說環簽名隱藏的是發送人,這並非完全正確,區別不僅僅在於學術名詞.在保護隱私方面,發送人本身和發送人的輸出之間的差異很大. 儘管輸出可能與發送方有關聯,但輸出本身並不等於發送方.這裡再舉個例子,A寫了一張支票給了B,B又把這個支票給了C,C又給了F,最後儘管某個環簽的11個輸出裡有一個是A的資訊,這是一個屬於A的輸出,可並不能證明就是他在做交易.因此,即使一個環簽名被破壞了,它也不一定連結到一個人的身份,而且交易金額和接收者都仍然被隱藏起來,從而最大程度地減少了對各方隱私的損害.

這並不是說即使環簽名洩露和被破壞也不重要. 任何洩漏的中繼資料都不是好事,並且有可能暴露超出我們想像更多的資訊,尤其是當大資料時代與其他中繼資料一起使用時.因此,我們將盡最大努力確保設置環簽大小具有嚴格的依據,從而讓中繼資料洩漏風險降至最低,並且在使用者預設情況下,也就是使用者不需要採取任何額外措施,就到達全網匿名轉帳,整個系統都是隱私且安全的.

好吧說到這裡,如果杠精和迫害狂還是擔心,環簽名是不是可能被破壞,那麼我再給你吃一顆定心丸,一些令人難以置信的好消息.即將面世的,比如Triptych, Arcturus, and Lelantus,等正在開發的下一代門羅幣隱私協議,它們具有劃時代的意義,在這些協議中,隨著環簽名大小的增加,資料大小只會按對數增加而非線性縮放. 這意味著我們可以毫無壓力的容納100個誘餌輸出,但是在舊的環簽名技術中,10個誘餌左右基本上就是一個優化的邊際了.門羅幣的環簽名還在進化,未來會完全不同,並且將顯著改善整體的隱私.

關於隱私性和安全性,老生常談,是一場永恆的貓鼠遊戲,保護和破解的攻防戰也許永遠不會停息,好在,門羅幣並不墨守成規,並不僵化和刻舟求劍,相反門羅幣社區總是不斷創新,反省,學習,半年一次的硬分叉升級,社區並不分裂就是大家凝聚起來的共識是動態的,這也正是門羅幣保持隱私之王的秘訣,未來,它也將繼續確保所有人享有最好的,具有實用價值的隱私保護.


進一步閱讀