比特幣能運用MimbleWimble協議嗎?Pieter Wuille和Charlie Lee這麼說
灑脫喜/張詠晴編譯
2019-12-06 12:15

 

「比特幣的隱私能夠從萊特幣運用的EB MimbleWimble提議中受益嗎?」今日在/r/Bitcoin論壇上,有人提出了這樣一個問題。

 

45

 

MimbleWimble協議最初是匿名密碼學者「Tom Elvis Jedusor」根據保密交易(CT)、Coin Join等技術提出的協議,而萊特幣整合MimbleWimble協議,則是由Grin開發者David Burkett在負責進行的,萊特幣的MW協議並不是直接應用到其主鏈當中,而是透過擴展區塊(Extension Block)來完成的。

 

關於擴展區塊(EB):擴展區塊(或稱為輔助區塊)技術方案,最初是由比特幣開發者Johnson Lau在2013年提出的,擴展區塊(EB)旨在為網路提供有效的區塊大小及容量,並透過軟分叉(即沒有網路分裂)的方式進行部署。這也意味著如果用戶不想使用擴展區塊(EB),他們就不會被迫使用到它。

 

為區塊鏈上的每個區塊創建一個擴展區塊(EB),它看起來就像是一個普通區塊,但是沒有header(區塊頭)。來自擴展區塊(EB)的Merkle根將被包含在主區塊的coinbase當中,並將它們連接到一起。

 

關於擴展區塊方案,它的原作者是這樣描述的:「所有升級的節點將檢查比特幣是否從主鏈正確傳輸到輔助鏈。人們可以像在主鏈中一樣轉移輔助鏈比特幣,礦工也可以使用與主鏈相同的機制在輔助鏈中收取費用。唯一的區別是在輔助鏈中沒有生成獎勵。- Johnson Lau」

 

但這並不是這篇文章的重點,來自比特幣core協議的維護者Pieter Wuille給出了關於這一問題的精彩答案,他是這麼說的:

 

並沒有那麼簡單。我個人非常希望看到保密交易(CT)技術能夠在比特幣上面得到應用。默認情況下,隱藏交易金額(而不是一個單獨的隱私銀彈)將使CoinJoin更加強大。我認為,公平地說,它可能有助於實現現有鏈上(on-chain)技術很難達到的隱私水準。

 

然而,保密交易(CT)會從根本上改變交易的工作方式,因為當前交易中預期有明文金額,而沒有(極具侵襲性的)硬分叉,這種改變是無法實現的。即使它們突然被允許,也沒有人能強迫現有錢包突然採用它們。這樣做會破壞兼容性,違背不會使現有非廣播交易無效的基本期望。這樣一個成功的改變,可能意味著比特幣會失去一些最有價值的特性。因此,保密交易(CT)或任何形式隱藏金額的技術必須是可選的( opt-in),而不是默認的。

 

但可選( opt-in)並不意味著每次交易都需要進行選擇。擴展區塊(EB)有效地做到了這一點:透過有兩個清晰劃分的邊,並且需要在它們之間進行明確的、可能緩慢/昂貴的操作,你創建了一個保密交易(CT)是默認的、甚至可能比另一個邊更便宜的世界。當然,人們仍然可以選擇使用遺留端(legacy side,或主鏈),而且在很長一段時間內,由於兼容性的原因,他們可能會選擇使用遺留端,但從長遠來看,這可能意味著使用CT的每筆交易會具有更好的隱私性。

 

事實證明,在擴展區塊(EB)中應用的保密交易(CT),要比試圖將其插入到現有的交易結構中要簡單得多,效率也更高。

 

因此,我相信擴展區塊(EB)是將保密交易(CT)技術引入比特幣的唯一可能希望。

 

但是,這裡有很多問題是需要提出來的:

 

  1. CT交易在計算上要比當前的交易要昂貴得多,而且比當前的交易要大得多,如果說隱私交易選擇最終導致使用成本變得更高,那將是非常不幸的;
  2. CT交易引入了一個比我們現有更強大的密碼學假設。你不能只運行UTXO集,將這些值相加,然後看看它是否超過了預期的補貼;
  3. 事實上,CT交易本質上要麼必須在密碼學假設的基礎上,設定隱私條件,要麼必須是soundness的。比特幣目前依賴於ECDLP(橢圓曲線離散對數問題)假設來抵禦盜竊,但它可以升級到另一種假設(比如因為我們認為ECDLP的基礎是不穩固的,然後量子計算…)。而使用CT之後,這就不那麼容易了,因為這一假設現在也涵蓋了金額;
  4. 這是一種相當大的變化,這需要生態系統有巨大需求才能夠成功;
  5. 所有相同的問題,都適用於MimbleWimble協議,甚至會遇到更多的問題。MimbleWimble是一種更先進的CT形式,它對基本數據結構有著更具侵入性的影響,而且可能根本無法在沒有擴展區塊(EB)的情況下完成,因為它與比特幣當前的區塊鏈有著根本的不同(隨著時間的推移,MimbleWimble區塊鏈還會收縮(shrink)!)它也移除了Script腳本,甚至移除了擁有類似Script腳本的能力。

 

讓我回到上面的第(3)點,零知識證明技術有一個非常基本的結果,那就是你不能同時擁有無條件的隱私和無條件的可靠性(soundness),因此,這裡就存在著設計權衡。

 

  1. 無條件隱私但計算可靠性(computational soundness)的CT是最常見的選擇。這意味著,如果ECDLP因為某種方式遭到威脅(數學突破、secp256k1的意外結構或者量子計算),有人就可能會進行無法被察覺到的增發Coin的操作,但過去(和未來)交易的隱私不會受到影響。據我所知,Monero、ZCash以及Grin都是使用的這種模式。
  2. CT具有無條件可靠性,但計算隱私也是可能的。這意味著如果ECDLP遭遇破解,也不會允許任何人去進行增發操作,但未來(和過去)交易的隱私將面臨風險。不幸的是,這種選擇的效率要低得多,而且幾乎沒有系統使用它。

 

有鑒於比特幣的設計重點是控制通貨膨脹,我預計,如果需要做出選擇,很多人會更喜歡第二種模式,而不是第一種模式。不過,也有一點需要說明,如果ECDLP遭遇破解,系統的未來必然會面臨風險,但我們可能不想在這種情況發生時放棄過去的隱私,而這一點有利於第一種模式。

 

而基於擴展區塊的CT設計的好處(或可怕之處…)在於,我們可以兩者兼得,而不會直接影響到主鏈的價值。你需要明確地將幣移動到CT側,如果意外的通貨膨脹發生在CT側,那麼並不是所有的幣都能移回到主鏈。

 

而這種意外情況發生時,如果公眾對其中一側的安全信任受到嚴重影響,這實際上可能意味著兩種幣的匯率會是不同的。

 

對此,萊特幣創辦人Charlie Lee則回覆說:「 Pieter,你認為使用轉換承諾(Switch Commitments)方案(https://eprint.iacr.org/2017/237.pdf)來緩解這種完美binding vs 完美隱藏的兩難問題有什麼想法?應用這種方案後,基本上我們當前是處於完美隱藏和計算binding,然後當量子計算成為現實時,切換到完美binding和計算隱藏。轉換前的交易不會顯示它們的金額,而量子電腦(QC)也不能在轉換後增加幣的總供應量。這就是Grin目前所實施的方案,我認為這給了我們一個很好的逃生艙口和時間,來提出一個抗量子計算的CT承諾方案。」

 

譯者評:正如Pieter Wuille所言,通過擴展區塊(EB)是將保密交易(CT)技術引入比特幣的唯一可能,但這種可能性目前依舊很小,而MimbleWimble應用到比特幣的可能性更是微乎其微,但這次Pieter Wuille和Charlie Lee所討論的內容當中,最重要的其實是隱私與安全的權衡,而在這方面,比特幣、萊特幣以及Grin是存在不同的。

 

本文為巴比特資訊授權刊登,原文標題為「比特幣能運用MimbleWimble協議嗎?Pieter Wuille和Charlie Lee是這麼說的