在不犧牲吞吐量的情況下實現(xiàn)區(qū)塊鏈的私密性和可替代性一直是一個眾所周知的困難挑戰(zhàn)。增強隱私的相關(guān)升級,如zk-SNARKS和機密交易,通常會導(dǎo)致更低的交易容量和更高的交易成本。
另一種區(qū)塊鏈設(shè)計MimbleWimble有望克服這一挑戰(zhàn)。2016年,Tom Elvis Jedusor在一個開發(fā)者網(wǎng)站上發(fā)布了這個從哈利波特小說里咒語命名的設(shè)計,由此MimbleWimble進入公眾視野。從那時起,來自不同區(qū)塊鏈項目的研究人員和開發(fā)人員為其開發(fā)做出了貢獻。目前有幾個團隊正在尋求將MimbleWimble區(qū)塊鏈引入公共使用。
讓我們揭開MimbleWimble的神秘頭紗,探尋它有什么秘密。
替代區(qū)塊鏈設(shè)計
MimbleWimble的設(shè)計與比特幣等UTXO區(qū)塊鏈有顯著不同。首先,比特幣沒有地址,也沒有腳本語言,這是比特幣使用的基本編程語言。
在比特幣交易中,舊的輸出符號表示新輸出。所有這些輸出都有自己獨特的腳本化公鑰。用戶通過使用他們的私鑰簽署交易來證明他們擁有他們所要求的資金。
然而,在MimbleWimble中,我們完全不使用腳本。相反,輸出有自己對應(yīng)的公鑰。一個大的多簽名密鑰,也稱為一個過剩值,是通過減去一個交易的所有輸入加上所有輸出的交易費來計算的。通過證明該值等于零,它可以驗證沒有鑄造新幣,同時不顯示任何交易金額。此外,它消除了對節(jié)點處理的所有輸出鍵的需要和存儲。這極大地減少了交易在塊中占用的數(shù)據(jù)量和區(qū)塊鏈的總大小。
該協(xié)議使用盲因子和Pedersen模式來混淆交易值。結(jié)合起來,這些特性以加密方式確保只有交易中的發(fā)送方和接收方知道交換的金額。在進行交易處理時,收件人生成盲因子并僅與發(fā)送方共享。
MimbleWimble交易只包含輸入、輸出和一個多簽名密鑰。輸入只是引用以前的輸出。輸出類似于交易量,但也包含了盲因子和范圍證明。最后,多簽名密鑰充當(dāng)簽名,并驗證發(fā)送方是否擁有它們所聲明的資產(chǎn)。
MimbleWimble中沒有新的密碼假設(shè),只是對交易和塊的結(jié)構(gòu)進行了創(chuàng)新性的重新設(shè)計。因此,底層的密碼假設(shè)得到了很好的驗證。然而,就像比特幣一樣,MimbleWimble也容易受到量子計算進步的沖擊。
通過可擴展性實現(xiàn)隱私
MimbleWimble能夠提供幾乎完全的隱私,而不需要進行重大的可擴展性權(quán)衡。交易金額以及發(fā)送方和接收方都是隱藏的。
通常情況下,像Monero和Zcash這樣的以隱私為重點的區(qū)塊鏈,其吞吐量比不注重隱私的項目低,費用要比不不注重隱私的項目高得多。
實際上,使用MimbleWimble節(jié)點可以在交易之間維護更新的摘要。這種機制與比特幣不同,在比特幣中,他們存儲并驗證返回到創(chuàng)世塊的每個交易簽名。其結(jié)果是,盡管采用了隱私加密技術(shù),但MimbleWimble區(qū)塊鏈的規(guī)模和交易能力可以與比特幣相當(dāng)。
限制
盡管解決了隱私和可擴展性的難題,MimbleWimble確實有兩個明顯的缺點。
腳本
MimbelWimble最大的缺點之一是它完全刪除了腳本語言。這減少了區(qū)塊鏈的其他功能,除了保留簡單的價值轉(zhuǎn)移和貨幣目的。這種功能的減少意味著像閃電網(wǎng)絡(luò)這樣的第二層協(xié)議將更加難以集成。
但是,可以通過多簽名和timelock交易復(fù)制腳本當(dāng)前提供的一些功能,畢竟這兩個功能在MimbleWimble中仍然是可實現(xiàn)的。比特幣開發(fā)者Andrew Poelstra表示,通過結(jié)合防彈協(xié)議和無腳本的腳本,可以實現(xiàn)更智能的合約功能。
量子計算
不幸的是,MimbleWimble與當(dāng)前UTXO區(qū)塊鏈一樣,在量子計算發(fā)展方面也存在同樣的漏洞。
該協(xié)議依賴于橢圓加密算法(ECC)(是一種公鑰加密體制,最初由Koblitz和Miller兩人于1985年提出,其數(shù)學(xué)基礎(chǔ)是利用橢圓曲線上的有理點構(gòu)成Abel加法群上橢圓離散對數(shù)的計算困難性。公鑰密碼體制根據(jù)其所依據(jù)的難題一般分為三類:大素數(shù)分解問題類、離散對數(shù)問題類、橢圓曲線類。有時也把橢圓曲線類歸為離散對數(shù)類。)的隱私和幣發(fā)行控制。量子計算理論上可以破壞ECC,完全破壞協(xié)議。
但是,需要注意的是,開發(fā)人員應(yīng)該能夠在這些進展生效之前先發(fā)制人。這些進展的結(jié)果將以某種方式影響大多數(shù)區(qū)塊鏈項目,并且很可能在我們達(dá)到這一點之前發(fā)生量子安全的更改。實際上,根據(jù)Poelstra的說法,大多數(shù)MimbleWimble都可以使用量子安全原語進行更新。然而,要找到令人滿意的量子安全距離證明,還需要進一步的工作。