寫在前面:一項技術如果是難用的,或者說對用戶不友好的,那么它就很難被廣泛采用。而此前的Mimblewimble協議,其交易就要求發送方和接收方同時在線交互才能實現,從而阻礙了相關項目的大規模應用。而在今日,Grin++錢包開發者DavidBurkett提出了一種支持Mimblewimble非交互式交易的提案,其可適用于萊特幣、Grin等區塊鏈項目。
DavidBurkett在萊特幣論壇開發者板塊中提到:
一月份最大的消息是,我找到了一種方法來支持Mimblewimble的非交互式交易!使用MW協議最大的困難,是需要發送方和接收方進行通信,這需要雙方在線。而新的提議,可消除這種需要,由此可清除掉主要的用戶體驗障礙,同時支持通過冷存儲進行接收,從而使硬件錢包更易于支持。在開發方面,已經為libmw確定了構建過程,并且本地構建正在為libmw-ltc工作。我將在下個月左右設置CI/CD。另外,我還構建了一個具有交易處理功能的健壯數據庫框架,以支持跨多個table的原子更新,并實現了與幣無關的區塊數據庫查詢和更新,并且已使用特定于LTC的區塊頭和區塊模型進行了部分測試。安全審計結果是從Grin++得出的,因此我已將所有修復程序應用于Grin++和libmw,并將等待審計人員的最終審查。事實證明,C++的實現是非常復雜的,相關的審計給了我教訓。作為這個過程的一部分,我學到了很多,因此Grin++&libmw代碼庫明顯更好。再次感謝Grin、Beam和LTC社區的貢獻者,他們使審計成為可能。在Grin++方面,我們已完成了一個成功的計劃硬分叉,解決了硬分叉前的同步問題,并且Grin++0.7.5現在已經可用,它是迄今為止最穩定的版本。而二月份的首要任務,就是實施萊特幣擴展區塊的共識規則,包括所有驗證和一整套測試。這是代碼中最重要的部分,因此要確保所有詳細信息正確無誤,并且代碼具有完整的測試覆蓋范圍,而這將非常耗時。一旦完成,我將為擴展區塊開發API,這樣我們就可以開始將LBMW集成到現有的萊特幣代碼庫中。我還將集中精力全面審查新的單側交易提案,如果未發現重大的安全問題,我將創建一個LIP以供社區反饋。
Curve平臺MIM/3CRV池資產比例嚴重傾斜,一度達到95%/5%:1月28日消息,受 Wonderland CFO 0xSifu 不良歷史影響,Curve 平臺 MIM/3CRV 池資產比例嚴重傾斜,一度達到 95%/5%,目前回升至 89%/11%。同時 MIM 也出現脫錨。[2022/1/28 9:18:51]
從這個帖子當中,我們可以看到,目前DavidBurkett正在為萊特幣開發的Mimblewimble應用方案正處于初期階段,而其中最大的進展就是非交互式交易提案。
那么,這個神奇的方案具體是如何實現的呢?下面我們來看提案譯文:
Mimblewimble離線交易提案
Mimblewimble區塊鏈協議通過使用pedersen承諾、schnorr簽名和一種稱為‘cut-through’的新技術,可提高比特幣等加密貨幣的隱私性和可擴展性。而帶來這些好處的同時,也需要付出一些昂貴的代價。到目前為止,構建MW交易需要發送方和接收方之間的交互來創建輸出并集體簽署交易。本文提出了一種在最小化影響mimblewimble協議可擴展性及隱私性條件下,實現單側交易的方法。
萊特幣MimbleWimble隱私協議代碼將于1周內完成:3月9日消息,萊特幣基金會發推稱,MWEB(MimbleWimble擴展模塊)代碼將在1周內完成。此前2月2日消息,萊特幣MimbleWimble隱私協議代碼將進行測試,并將在3月15日完成審核。
注:萊特幣計劃通過Mimblewimble擴展模塊(MWEB)來達到一定程度的隱私保護和可替代性。[2021/3/9 18:28:36]
當前的Mimblewimble協議
和比特幣一樣,Grin也使用了UTXO模型。交易是通過包含要花費的輸入、創建相等或較低價值的新輸出,以及簽名和構建驗證輸入所有權的范圍證明來創建的。與比特幣不同的是,Grin使用了保密交易技術,因此輸入和輸出是pedersen承諾。與添加到輸入的簽名不同,每筆交易只有一個簽名,它是交易內核的一部分。
為了使交易有效,必須滿足以下條件:
輸出承諾的總和減去輸入承諾的總和必須等于內核承諾,即(r_out1..n*G+v_out1..n*H)-(r_in1..n*G+v_in1..n*H)=r_kern*G;對某些已知消息基點G的內核excessvalue(rk=sum(ro1..n)-sum(ri1..n))的一種簽名;一種證明所有輸出值都不是負的范圍證明;這三者的結合,證明了發送者是輸入的所有者,并保證在交易中沒有新的幣被創造出來。
聲音 | 李啟威:實施Mimblewimble可能會對LTC采用產生負面影響:LTC創始人李啟威在接受采訪時表示,Mimblewimble的工作進展緩慢,Grin開發人員已經加入了這個項目的團隊。此外,李啟威擔心在實施該協議后,一些主要交易所因為協議的完全隱私性而下架LTC,從而影響其采用。在被問及Mimblewimble是否會取代基礎協議時,李啟威表示,他最初的想法是將協議添加為擴展塊,類似于側鏈,但將被附加到主鏈上。他補充說,在這種情況下,所有的礦工將被要求在一個軟分叉之后同時開采主鏈和延長塊。一旦被激活,礦工將別無選擇,只能挖掘這兩個塊,否則,將創建一個無效的塊。(ambcrypto)[2019/8/29]
而這種協議就要求發送者與接收者進行交互以構建交易,以避免暴露彼此輸入和輸出的盲因子。這是一個三步過程:
Alice用她的輸入創建一筆未簽名交易,改變輸出和范圍證明,一個包含輸出和輸入盲因子差異的中間內核,并提交給schnorr簽名的nonce;Bob創建他的輸出和范圍證明,添加他在內核承諾中的份額以生成實際的交易內核,提交到nonce,并提供交易內核的部分簽名;Alice簽署她的內核簽名,并聚合這兩個簽名;雖然該協議可以運作,并且允許Alice不受限制地將資金轉移到Bob,但是交互屬性帶來了一些安全性、可用性和隱私方面的挑戰。構建交易要么需要用戶保持密鑰在線,要么需要某種形式的帶外通信,而這可能導致隱私泄露和MITM攻擊。
動態 | 李啟威推特發布關于MimbleWimble的最新進展:李啟威在推特上發布關于MimbleWimble最新進展:Grin ++的主要開發者@ davidburkett38正在和我以及@ecurrencyhodler一起合作設計。我們一直在研究讓LTC進出MW / EB的機制。還想出了如何以簡潔的方式處理MW費用。[2019/8/22]
建立非交互式交易
長期以來,絕大多數人都認為在mimblewimble協議中不可能實現非交互式交易,因為知情輸出盲因子對于創建范圍證明和構建schnorr簽名而言是必要的。而要解決這個問題,我們必須首先找到一種方法,讓發送者和接收者都知道盲因子,而不是其他人。而Diffie-Hellman密鑰交換算法很適合解決這一問題。發送方只需生成一個密鑰對,使用接收方的pubkey執行ECDH,并生成一個共享密鑰,該密鑰可用作盲因子。然后,發送方可以生成接收方的輸出、盲因子和簽名,以創建有效的交易。
但這種方案,也帶來了兩個明顯的問題。
第一個問題是,發送方仍需要將其公鑰和值傳遞給接收方,因此我們需要在不影響隱私的情況下將其作為輸出的一部分包含進來。但是沒有明顯的方法可提交數據。我們不能將它作為內核的一部分,因為它會將內核鏈接到輸出,從而消除隱私的好處。
聲音 | 慢霧余弦:MimbleWimble并沒完全解決“交易隱私”問題:區塊鏈安全公司慢霧創始人余弦發微博稱,MimbleWimble并沒完全解決“交易隱私”問題,它讓交易在區塊鏈上不會暴露隱私,這個實現確實很漂亮,但由于它交易的特殊性,這導致相比其他匿名貨幣,基于 MimbleWimble 實現的在鏈下隱私與安全會遭遇更大挑戰。[2019/3/22]
第二個問題是Alice和Bob最終都拿到了資金的密鑰,這意味著Bob沒有成為資金的獨家所有人,也不可能解決糾紛。我們需要一種方法來驗證只有Bob才能花費輸出。
新的提案
事實證明,在范圍證明中可以加密近32字節的數據。例如,如果我們使用一個已知的密鑰blake2b(output_commitment),我們就可以公開提交一些額外的數據。如果我們在范圍證明中“加密”的數據是哈希,那么我們實際上就可以公開提交所需的數據。這允許我們納入一個新的數據塊(output_data),其中包含:發送人的短暫公鑰;接受者公鑰;輸出值;輸出的盲因子;然后,我們就可以添加以下用于驗證輸出的共識規則:
每個范圍證明,通過使用blake2b(output_commitment)都是可重繞的;每個輸出都必須包含output_data;ripemd160(blake2b(output_data))必須與重繞的范圍證明數據的前20個字節匹配;節點必須存儲所有UTXO的output_data,因此在之后使用時,我們還可以要求1個新的共識規則來驗證輸入:
每個輸入都必須包含一個有效的簽名:sig(receiver_pubkey,input_commitment)輸入和輸出可以繼續像往常一樣被修剪,我們現在提供了一種向接收者發送資金的方法,并保證發送者無法重花費這些資金。
安全性
因為發送方和接收方都知道輸出的盲因子,所以僅僅根據內核驗證當前的UTXO集是不夠的。這需要驗證所有最近輸入的簽名,我們建議新節點驗證最近X區塊的所有輸入簽名,其中X=coinbase成熟值,因為風險是相似的。而這仍然會留下一個在今天看來不太可能實現的攻擊點。這種攻擊的工作方式如下:
Alice創建一筆包含用于Bob輸出的交易;Bob將Alice買的東西寄給對方;幾天過去了,而Bob仍舊沒有花掉他的幣;Alice強制對過去一天+1個區塊進行一次大的重組。然后,她可以將Bob的輸出發回給自己,因為她知道盲因子,并且未對超過1天的區塊中的交易進行簽名驗證;盡管這種攻擊在理論上允許你花費任何幣齡的幣,但它們必須是攻擊者之前發送的幣,而且沒有被接受者花費掉。然而,這種攻擊能夠帶來的效益,不太可能覆蓋掉進行重組攻擊的代價。不過,為了謹慎起見,當你收到大量幣時,你只需要自己花掉這些幣,就可以防止這種攻擊,而所需的額外內核成本卻很小。
隱私問題
只要密鑰對不被重用,上面提到的方案就不會泄露任何額外的隱私。為了確保這一點,我們建議對輸出數據進行一個相當小的修改,以支持某種形式的隱秘地址。支付證明
現在,支付可相當容易地進行證明。要證明一筆支付的所有必要條件,是原始輸出、范圍證明、output_data以及顯示范圍證明MMR成員身份的merkle證明。多重簽名錢包
目前,要安全地將資金發送到多重簽名錢包,需要發送者和所有接收方進行交互。而新提案消除了這種需要,代價是造成多重簽名錢包隱私性方面的損失。其他改進
由于我們現在有一種方法來提交額外的數據,并將其作為輸出的一部分,我們可以將費用或者其它數據從內核移到output_data結構當中,這就允許進行修剪,從而減少區塊鏈的大小。致謝
感謝JohnTromp對重組攻擊的詳細描述,感謝JaspervanderMaarel關于防彈證明和多重簽名錢包技術方面提供的建議,感謝Phyro提出的將內核細節移動到輸出數據結構中的建議。同時,非常感謝DanielLehnberg、AntiochPeverell、Phyro以及VladislavGelfer對以上設計提供的寶貴反饋意見。
Tags:萊特幣比特幣區塊鏈萊特幣官網查詢萊特幣中國區創始人pz萊特幣減產日期是多少比特幣中國官網聯系方式40億比特幣能提現嗎比特幣最新價格行情走勢區塊鏈工程專業學什么區塊鏈存證怎么弄區塊鏈技術
說到阿聯酋我們會想起什么?迪拜?紙醉金迷?購物天堂?但別忘了,阿聯酋的全名是「阿拉伯聯合酋長國」,迪拜只是它的七個酋長國之一迪拜酋長國的首都,其他還有六個國家.
1900/1/1 0:00:00文/毛毛 編輯/初九 近日,有知情人士向新金融深度透露,近期獲批籌建的小米消費金融在籌備期將更名為天星消費金融.
1900/1/1 0:00:00來源:EMBA微金 3月9日,對于全球市場來說,是見證歷史的一天。在美油刷新史上最大跌幅、美債期貨“漲停”,標普500期貨“熔斷”后,美股也觸發“熔斷”.
1900/1/1 0:00:00文|筆尖銘筆 人類從很早開始就有了物品交流的需求,畢竟除了戰爭掠奪等方式之外,還應該有一種更為平和對現狀影響波及更小,更專注于貨物層面的流通形式,這就是現在所說的小商品經濟.
1900/1/1 0:00:00我的勇者里面,每個職業都會有著很多很多的流派和玩法,如果你想要自己DIY那么下面就是教你如何搭配自己的裝備和魂卡。 傷害計算 首先還是要說游戲里面的傷害是如何計算的.
1900/1/1 0:00:00冰島,北大西洋中的一座孤島,被評為全歐洲最貴的國家,沒有之一。那座孤島,曾經是我的一個夢。一場11天的冰島自駕之旅,藍湖溫泉、雷克雅未克、辛格韋德利國家公園、冰河湖、蓋歇爾間歇泉、黃金瀑布,塞里.
1900/1/1 0:00:00