2022年5月19日,MimbleWimble成功部署在萊特幣網絡,從此用戶可以選擇萊特幣作為隱私幣。
但在萊特幣升級MimbleWimble後,6月13日幣安發佈公告稱,將不支持通過MimbleWimble功能進行的LTC存取款,因該功能為用戶提供了在不洩露任何交易信息的情況下發送隱私LTC交易的選項,使得幣安無法核實發件人地址,資金將不會被接收或退回從而導致資金損失。
MimbleWimble是如何實現萊特幣隱私交易的?本文詳解萊特幣的MimbleWimble實現。
萊特幣MimbleWimble實現
萊特幣MimbleWimble主要由三個組件實現,這三個組件是:交易內核(Transaction Kernels)、交易穿透(Transaction Cut-Through)和擴展區塊(Extension Blocks)。
擴展區塊(Extension Blocks)
正如Peter Wuille在他2016年的播客中所預測的那樣,MimbleWimble是作為現有萊特幣網絡的側鏈被整合進萊特幣。這意味著有一條稱之為擴展區塊的“平行高速公路”區塊,其區塊生產節奏與萊特幣網絡上的區塊相同(2.5分鐘),用戶可以通過發送資金進出這條平行鏈來增強萊特幣交易的隱私。然後礦工將在萊特幣主鏈上提交一個默克爾根,這個默克爾根為來自擴展區塊的所有交易的摘要。
在擴展區塊內進行的任何交易都將向所有人隱藏所涉及的地址和金額,除了那些參與交易的人,使用戶能夠獲得比他們在主區塊鏈上輕鬆實現的更多交易隱私。
這種方法允許透明的主鏈交易和隱私增強的擴展區塊交易共存,並且完全由用戶自己選擇。
從擴展區塊發送和移除資金
要將資金發送到擴展區塊(EB),用戶首先創建掛鉤(pegging-in)交易,其中LTC被發送到使用交易內核(transaction kernels)的特殊地址類型(上圖中的A )。為了便於理解,最好將其想像為一個ltc1前綴地址,其中包含一條額外的信息,可以將其鏈接到特定的EB(上例中的F)。
這些掛鉤(pegging-in)交易創建了一個準備好在特定EB中進行交易的資金池。
要從EB中取出資金,用戶必須創建一個解鉤(pegging-out)交易,在其中指定了希望在主鏈上接收LTC的地址以及從擴展區塊(上圖中的G)取出金額的鏈接。這會創建一個“提款請求”隊列。
為了處理釘掛鉤(pegging-in)和解鉤(pegging-out)交易,礦工創建了一種特殊類型的交易——集成交易(Integration Transaction),也稱為Hogwarts Transaction,它有X+1個輸入和Y+1個輸出,其中X和Y是掛鉤(pegging-in)和解鉤(pegging-out)交易的數量。上圖稍微簡化了一點,只有一個pegging-in和一個pegging-out交易。
集成交易輸入(Integration Transaction Inputs)
集成交易中的第一個輸入將始終是從前一個區塊的HogAddr(上圖中HogEx中的灰色框)到當前區塊的HogAddr(上圖中C)的輸出。這確保了留在前一個EB中的任何代幣都“移動”到這個新的EB中。其他的輸入與EB的掛鉤交易匹配(上圖中B)。
隨後,礦工將創建MimbleWimble coinbase交易,將代幣從掛鉤交易(上圖中B)發送到HogAdd(上圖中C)。這用新的掛鉤代幣來補充從以前的HogAddr轉移的現有EB“餘額”。與主鏈上的區塊不同,每次與擴展區塊掛鉤的交易將有一個coinbase MW,因此10次掛鉤交易將產生10個MW coinbase交易到EB。
集成交易輸出(Integration Transaction Outputs)
每個HogEx中的第一個輸出為將發送到EB的新HogAddr(圖中C),並匹配第一個輸入,該輸入將所有剩餘的“餘額”從最前一個EB移動到新的EB。其他的輸出處理解鉤交易,因此將相應數量的LTC從解鉤交易中發送到指定的提款LTC地址(圖中D)。值得注意的是,未激活前解鉤資金在萊特幣區塊鏈上鎖定了6個區塊,以便為激活後輸出提供一些額外的安全保障。
如上所述,LTC可以移入或移出擴展區塊,隱私保護魔法就發生在這些擴展區塊中。因為任何人都可以使用他們從主鏈掛鉤的LTC在EB內協作創建MimbleWimble交易。這些MW交易類似於比特幣閃電網絡交易,因為不存儲在主鏈上。因此,Alice可以從主鏈錨定超過10個LTC,向各種其他參與者進行50個MW交易,並且只有活動“結果”被提交回主鏈,例如她現在有3個LTC。
在萊特幣上使用MWEB將允許隱私移動LTC並為用戶提供可選的保密性。
交易穿透(Transaction Cut-Through)
除了MW的隱私,還有可擴展性優勢。當一個新的萊特幣節點首次同步時,它必須處理區塊鏈整個歷史以驗證LTC交易。然而,對於MimbleWimble交易,使用交易穿透意味著只需要驗證需要的UTXO集。這將大大減少同步時間。
例如,如果有兩個相同的交易從A到B,然後B到C,那麼中間交易的歷史可以被“切割”,從而導致從A到C的合併交易。這樣,只有當前的UTXO 狀態是必需的,不需要在區塊鏈中存儲任何地址。 (LIP-003)
因此,使用交易直通將減少新節點需要同步的數據量,從而減少節點激活的時間,並將降低後續存儲成本,從而降低維護完整節點的成本。
萊特幣MWEB交易實際什麼樣
目前已經有工具出現,監測萊特幣的MWEB交易,下面為i其中兩個網站:https://litecoinsignals.quest/charts、https://flappening.watch/。目前擴展區塊中有4176枚LTC。
這一部分將使用一些具體交易示例來詳解MWEB交易是如何工作的。
在萊特幣此次Mimblewimble升級之前,所有萊特幣交易的發送人、收收人和金額都可以公開查看。現在隨著MimbleWimble Extension Blocks (MWEB)的引入,人們現在可以將他們的一些萊特幣從主鏈轉移到一條平行高速公路上,從而允許他們以匿名的方式轉移錨定的萊特幣。具體怎麼實現的呢?
掛鉤(pegging-In)
要將LTC從主區塊鏈中移出,必須創建一個掛鉤交易。此交易將LTC發送到一個特殊的任何人都可以輸出的地址,這個地址只有礦工才能使用。
上圖是有人掛鉤84枚LTC的例子,他希望在擴展區塊中使用這些LTC來進行隱私交易。
對於希望將資金轉移到MWEB的每個實體,區塊中都會有一個不同的交易,每個交易都有不同的收款人地址。
然後在區塊中存在一種特殊類型的交易,它必須“處理”交易中的掛鉤。這稱為Integrating Transaction或HogEx(全名Hogwarts Express Transaction),並且始終是區塊中的最後一筆交易。
對於區塊2,268,029,即上述掛鉤交易,我們可以在下面查看HogEx詳細信息。
第一個發送者地址代表MWEB LTC從前一個擴展區塊移動到新的擴展區塊(接收地址ltc1g7w5j…),第二個發送者地址代表上面的掛鉤交易。
因此,HogEx將資金從一個擴展區塊轉移到下一個區塊,並且還允許掛鉤LTC的數量超過擴展區塊餘額。 HogEx中的這種“充值”被稱為MWEB coinbase交易,因為它在擴展區塊“創造”萊特幣。與主鏈活動相一致,擴展區塊本身也有一個交易,它將掛鉤交易中的金額發送到用戶的ltcmweb1隱秘地址,因此從下一個區塊開始,用戶將能夠從該隱秘地址轉移資金到任何其他ltcmweb1或標準ltc地址。
除了將資金轉進擴展區塊,還可以將它們轉出。這稱為解鉤交易。它在區塊中不作為單獨的交易存在,而是在HogEx內被稱為輸出。
下面示例以紅色顯示HogAddr,以綠色顯示掛鉤交易,然後以黃色顯示解鉤交易。
因此,這是某個人將0.0049749枚LTC從擴展區塊提取到其地址。無從知道此人是否在擴展區塊中投入了0.1 LTC、1 LTC還是100 LTC,甚至無法知道他們在擴展區塊中私下進行了多少MimbleWimble交易。鏈上沒有此信息,為將萊特幣與MimbleWimble擴展區塊掛鉤的參與者提供交易隱私。
如果你希望在這些擴展區塊中進行隱私交易,你需要使用Litecoin Core生成一個MimbleWimble隱秘地址,該地址以前綴ltcmweb1開頭。這不是典型加密意義上的地址,無法在區塊數據中找到它,而要查看與它相關的活動,你需要查看密鑰(viewing key)。這意味著接收人無法看到發送地址,除非他們擁有該查看密鑰。同樣,網絡上正在驗證和處理mweb隱秘地址交易的節點無法看到交易的金額或地址,只知道交易中的ismweb字段設置為true。
至於mweb交易處理,提供幫助的節點仍然收取費用,就像他們為萊特幣主網節點樣。這就是為什麼一些HogEx上有交易費用的原因,因為擴展區塊中有MimbleWimble活動。
而擴展區塊中沒有MimbleWimble活動的情況下,交易費用為0 LTC。
當我們在區塊數據級別觀察時,你會注意到在去塊頭信息以及標準字段中,現在有一個與mweb相關活動的部分:
這是因為MimbleWimble擴展區塊方法不是側鍊或狀態通道,而是附加到每個主鏈區塊的一些數據。因此,所有MimbleWimble交易,無論是ltcmweb1到ltcmweb1還是ltcmweb1到或者來自標準ltc地址,都進入內存池並與萊特幣主鏈交易一起處理。 MimbleWimble的魔力在於,擴展區塊部分的操作,發送者、接收者和交易金額都保持隱秘。
你可能會質疑這種方法的可擴展性,因為MWEB交易通常比標準LTC交易大得多(由於內置的隱私元素)。然而,通過交易穿透,實際上使MWEB交易大小比標準交易小一半。
比特幣會是下一個嗎?
從歷史上看,萊特幣一直是比特幣新功能的試驗台。比如,SegWit於2017年5月被添加到萊特幣,幾個月後被納入比特幣。閃電網絡於2017年5月在萊特幣上推出,2018年3月比特幣採用閃電網絡。 。
毫無疑問,比特幣核心開發人員將密切關注萊特幣Mimblewimble的表現,以及用戶對其隱私功能的接受程度。
未來,比特幣將有可能採用MimbleWimble技術,以保護用戶隱私。