Mimblewimble
Mimblewimble 是一種極度精簡的區塊鏈設計,藉由丟棄比特幣保留的幾乎一切,同時達成隱私與精簡。它沒有地址、沒有交易腳本,也沒有個別交易的永久紀錄——只有機密金額,以及證明貨幣供給誠實所需的最少密碼學黏合。它於 2016 年以「Tom Elvis Jedusor」(佛地魔的法文名,呼應其哈利波特命名主題)匿名發佈,由 Andrew Poelstra 等人精煉,再實作於 Grin 與 Beam 兩種加密貨幣。
每個輸出都是一個隱藏其金額的 Pedersen 承諾,與機密交易中完全相同,故數值永不可見。之所以沒有地址,是因為交易由發送方與收款方互動式地建構:雙方共同選擇致盲因子並共同簽名,這意味收款需要一次互動,而非只是公佈一個靜態地址。「交易未生出貨幣」的證明是一個 kernel,內含一個「餘額」值——致盲因子之差——加上一個簽名;若輸入與輸出平衡,這個餘額便是一個帶有已知簽名、對零的承諾,在不洩漏金額下認證守恆。
使 Mimblewimble 與眾不同的特性是「貫穿削除」(cut-through)。因為鏈的有效性只取決於「當前未花費輸出的集合」加上 kernel,任何在歷史中被建立、後又被花掉的輸出都能直接刪除——它相互抵消。因此鏈不需儲存完整的歷史交易序列;新節點只需下載未花費輸出、kernel 與區塊標頭即可同步,這比重播每一筆交易小得多。貫穿削除同時帶來更佳的隱私(沒有歷史交易圖存留)與遠更好的擴展性。
誠實的限制很重要。Mimblewimble 的隱私比乍看更弱:一個連線良好的「嗅探」節點,若在交易於網路上被聚合與貫穿削除「之前」觀察它們,便能重建大部分原始交易圖——即所謂的手電筒攻擊——故它比不上屏蔽 zk 池的匿名性。它也沒有智能合約腳本(雖然無腳本腳本的技巧能找回部分功能),而且像多數當前方案一樣不具後量子安全性,因為它的隱私建立在橢圓曲線的離散對數困難之上。
區塊 1 建立輸出 A;區塊 2 花用 A 以建立 B。完整封存的鏈會永久儲存兩筆交易。有了貫穿削除,同步中的節點可完全丟棄 A——它被建立又被消耗——只把 B 當作未花費保留,加上證明每一步平衡的兩個 kernel。A 到 B 這筆交易不再出現在已同步的狀態中。
貫穿削除刪去已花費的中間輸出,縮小鏈並抹除交易圖。
貫穿削除意味 Mimblewimble 在設計上遺忘歷史,這對大小與隱私很好,卻意味沒有過去交易的完整稽核軌跡——這是刻意的取捨,而非缺漏的功能。