5 + 5 = 10
因此得出,價值是恆定的,並且致盲因子也是被加密的。由此看出MimbleWimble 的創造性,其中致盲因子實際上是交易方私鑰和公鑰的組合,透過這個被模糊但相等的等式,我就可以證明交易數量相等,並且我是金鑰的持有者。
在交易結束時,您將獲得此交易的多重簽名,並且在交易時的大多數輸入被輸出消耗,使得在更少的空間內(較與比特幣)就可進行完整驗證,上鍊的資料減少了並且摒除繁雜步驟剔除多餘的資料,MimbleWimble 執行便很大程度上得益於只在區塊鏈中儲存少量資料。
Grin 和 BEAM 是基於 MimbleWimble 協議兩種不同的加密方式,儘管表面上相似,但除了基於 MimbleWimble 協議之外,其他各個方面都不同。
GRIN
2016年11月以Grin為命名初次實現了MimbleWimble協議,由Ignotus Peverell在IRC釋出,如今依然是Grin最活躍的程式碼貢獻者。Grin主要編譯語言是Rust,主網於今年1月15日上線,一經上線便吸引了大批資本礦池與礦工加入。
Grin使用了新的 Cuckoo Cycle,這是 John Tromp 在 2015 年開發的替代POW的證明。儘管該演算法的設計初衷是抵抗 ASIC,但該團隊長期以來一直認為 ASIC是不可避免的。2018 年 9 月出現了兩種解決方案:一種最佳化為 ASIC 友好型( Cuckatoo31+);另一種最佳化為允許 GPU 競爭( Cuckaroo29 ), POW 每 24 小時平衡兩種演算法之間的挖掘獎勵,從而抵抗像比特幣的硬體武裝競賽現象出現。
除了令人印象深刻的Cuckoo演算法之外,Grin還有一些有趣的特點:
1. SnRoR簽名,也稱為聚合簽名,為ScriptlessScripts支援智慧合約鋪平道路。
2. 蒲公英協議,這使得初始傳送人的IP更難以追蹤。在進行廣播之前,所有的交易都在網路上徘徊。
3. 防彈技術,它允許對更小的零知識證明的私密交易進行處理,不需要可信的設定。
4. flyclient,一個超輕量級客戶端,它同步所有先前Block Header的默克爾根,而不是對前一塊的引用。它允許透過儲存Head來檢查任何先前塊的包含。
5. 原子交換,Grin的第一個原子交換,Grin testnet3和Ethereum Ropsten testnet之間進行了第一次原子交換已經成功實現。
BEAM
2018年4月出現了另一個MimbleWimble嘗試——Beam,編譯語言為C++,在很短的時間內Beam釋出了測試網,並且在近期推出相容 Mimblewimble 協議的閃電網路( LN ),在鏈下價值快速轉移的情況下實現第二層擴充套件解決方案,提高可用性便於商業支付場景。
Equihash是一種需要高記憶體的工作量證明,這意味你能挖到多少幣主要取決於你的裝置記憶體的大小。在短期內要建立一個低成本的挖礦定製硬體(專用積體電路)幾乎不可能,所以Equihash被認為可以構造更去中心化的一種POW演算法。
除了Equihash外,Beam的一些有趣的部分還包括:
1. 在Stem階段用混淆合併交易進一步改進蒲公英協議。
2. BatchBulletproofs簽名。
3. 超輕量級的flyclient實現。
4. 安全的BBS,這就降低了傳送者和接收者同時線上的需求。
5. 可稽覈的錢包,能夠為第三方發出一個或多個審計金鑰。
6. 視覺化設計移動錢包,全部充當完整節點,並與硬體錢包互相整合。
7. 在錢包內透過P2P交易進行比特幣的原子交換。
BEAM 和 Grin 之間的區別
閃電網路最初是用來解決比特幣網路阻塞問題而提出的比特幣網路改進方案。為什麼要使用閃電網路?
首先,更快的出塊時間並不一定意味著更快的支付確認。其次,考慮到更多的數字貨幣支付用例,例如在酒吧付啤酒錢又著急離開、在趕火車時買了一杯飲料等情境下都需要快速支付,實驗表明,閃電網路能夠實現使支付體驗像信用卡支付一樣快速、簡單,這使其成為實現加密貨幣主流應用的基礎之一。
Beam 和比特幣的底層協議之間存在很多差異,因此引入相容 Mimblewimble 協議的閃電網路存在一些挑戰。
主要差異在於 Mimblewimble 協議中缺少指令碼,引入閃電網路需要使用多個構建在彼此之上的交易,這些交易的支出需求將共同形成與比特幣中的 HTLC(雜湊安全時間鎖合約) 相同的結構,支付渠道的參與者將合作構建這些不同的交易,這將導致在通道參與者之間傳送的訊息增加,但 Beam 認為這是值得的。
另一方面,閃電網路的核心概念雜湊時間鎖合約的構造需要另外兩種智慧合約方案:雜湊鎖和相對時間鎖。雜湊鎖是 Beam 基礎協議的一部分,但目前 Beam 還沒有實現相對時間鎖。