寫在前面:一項技術如果是難用的,或者說對用戶不友好的,那么它就很難被廣泛采用。而此前的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以供社區反饋。
Frog Nation前CFO 0xSifu將逾800萬枚UST兌換為MIM:5月9日消息,Etherscan鏈上信息顯示,Frog Nation前CFO 0xSifu將801.8萬枚UST兌換為穩定幣MIM。[2022/5/9 3:00:20]
從這個帖子當中,我們可以看到,目前DavidBurkett正在為萊特幣開發的Mimblewimble應用方案正處于初期階段,而其中最大的進展就是非交互式交易提案。
那么,這個神奇的方案具體是如何實現的呢?下面我們來看提案譯文:
Mimblewimble離線交易提案
Mimblewimble區塊鏈協議通過使用pedersen承諾、schnorr簽名和一種稱為‘cut-through’的新技術,可提高比特幣等加密貨幣的隱私性和可擴展性。而帶來這些好處的同時,也需要付出一些昂貴的代價。到目前為止,構建MW交易需要發送方和接收方之間的交互來創建輸出并集體簽署交易。本文提出了一種在最小化影響mimblewimble協議可擴展性及隱私性條件下,實現單側交易的方法。
當前的Mimblewimble協議
Grin開發者:萊特幣MimbleWimble協議代碼將于2021年第一季度準備就緒:金色財經報道,Grin開發者David Burkett在推特表示,萊特幣MimbleWimble協議的代碼將于2021年第一季度準備就緒。激活時間將根據用戶和礦工隨后很快進行。此前消息,萊特幣基金會于2019年10月發布萊特幣改進提案草案LIP-0002和LIP-0003,旨在為萊特幣網絡整合MimbleWimble協議,以建立隱私功能。[2020/12/31 16:07:28]
和比特幣一樣,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))的一種簽名;一種證明所有輸出值都不是負的范圍證明;這三者的結合,證明了發送者是輸入的所有者,并保證在交易中沒有新的幣被創造出來。
動態 | Grin開發者David Burkett更新萊特幣MimbleWimble 12月份開發進展:由萊特幣基金會資助的GRIN開發者David Burkett發文更新萊特幣MimbleWimble 12月份的開發進展。其表示,經過數月的規劃,MimbleWimble擴展區塊的開發已正式開始。此外,本月的工作主要集中在重組將在Grin ++和LTC之間共享的core logic上,這涉及所有logging、序列化、加密、錯誤處理和通用數據結構等。
另外,明年1月份的優先事項為:1.確定構建方法;2.定義所有LTC模型,包括確定headers & kernels(包括簽名)的確切字段和序列化格式;3.將數據庫實現移至libmw-core,完成清理并匹配新標準,并添加完整的測試。此外,還將在下個月為Grin開發一種更快的同步機制,LTC將直接從中受益。[2019/12/30]
而這種協議就要求發送者與接收者進行交互以構建交易,以避免暴露彼此輸入和輸出的盲因子。這是一個三步過程:
Alice用她的輸入創建一筆未簽名交易,改變輸出和范圍證明,一個包含輸出和輸入盲因子差異的中間內核,并提交給schnorr簽名的nonce;Bob創建他的輸出和范圍證明,添加他在內核承諾中的份額以生成實際的交易內核,提交到nonce,并提供交易內核的部分簽名;Alice簽署她的內核簽名,并聚合這兩個簽名;雖然該協議可以運作,并且允許Alice不受限制地將資金轉移到Bob,但是交互屬性帶來了一些安全性、可用性和隱私方面的挑戰。構建交易要么需要用戶保持密鑰在線,要么需要某種形式的帶外通信,而這可能導致隱私泄露和MITM攻擊。
聲音 | 萊特幣創始人:MimbleWimble協議可增加可替換性和隱私性:據Ambcrypto消息,萊特幣創始人Charlie Lee近日表示,為了使比特幣和LTC成為更具實用性的資產,可替換性必須被允許,而沒有隱私是無法實現這一點的,添加MimbleWimble協議可增加可替換性和隱私。他表示,當我們在一個擴展塊上使用MimbleWimble時,我們提出的是一種可供選擇的隱私保護,所以你可以把擴展塊看作是萊特幣的側鏈,它實際上是永久地連接在主鏈上的,每個主鏈都會有一個擴展塊。這與以隱私為中心的Grin非常相似,用戶可以獲得“更多的金融隱私和可替換性”。[2019/11/3]
建立非交互式交易
長期以來,絕大多數人都認為在mimblewimble協議中不可能實現非交互式交易,因為知情輸出盲因子對于創建范圍證明和構建schnorr簽名而言是必要的。而要解決這個問題,我們必須首先找到一種方法,讓發送者和接收者都知道盲因子,而不是其他人。而Diffie-Hellman密鑰交換算法很適合解決這一問題。發送方只需生成一個密鑰對,使用接收方的pubkey執行ECDH,并生成一個共享密鑰,該密鑰可用作盲因子。然后,發送方可以生成接收方的輸出、盲因子和簽名,以創建有效的交易。
動態 | MimbleWimble協議開發團隊:兩年之內將每6個月進行硬分叉或升級:據CoinDesk消息,以完成開發MimbleWimble協議而聞名的Grin開發團隊最近公布了技術路線圖,其中包括將每6個月改變加密貨幣的工作證明算法,意味著其每次都要進行系統升級或硬分叉,以此來避免強大的采礦硬件ASIC用于其網絡。對于各個加密社區來說,硬分叉已經被證明是有爭議的。批評人士認為,ASIC是中心化力量,不僅因為其通常完勝單個的GPU礦工,使這個網絡集團變成了幾個礦池,還因為目前比特大陸在該領域處于壟斷地位。
但由于多次硬分叉不利于管理社區,Grin開發團隊決定予以限制。兩年之后,他們希望永久地切換到Cuckoo Cycle工作量證明算法。但他們亦表示期望出現由多家公司建造的多樣化ASIC團體,因為這將使Grin生態系統更加健康。[2018/9/15]
但這種方案,也帶來了兩個明顯的問題。
第一個問題是,發送方仍需要將其公鑰和值傳遞給接收方,因此我們需要在不影響隱私的情況下將其作為輸出的一部分包含進來。但是沒有明顯的方法可提交數據。我們不能將它作為內核的一部分,因為它會將內核鏈接到輸出,從而消除隱私的好處。
第二個問題是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億比特幣能提現嗎比特幣最新價格行情走勢區塊鏈工程專業學什么區塊鏈存證怎么弄區塊鏈技術
疫情蔓延,資本寒冬。創投界有人陷入彷徨,也有人在拓展邊界。近日,亞太目的地旅游體驗平臺KLOOK客路旅行在官網及APP開通了酒店預訂入口,低調涉水酒店領域.
1900/1/1 0:00:00今天全面大漲,久違的大漲行情!盤面用大漲,有力回擊了質疑減半行情的人!享受紅利的,永遠是最堅定的信仰者.
1900/1/1 0:00:00引燃數字資產行業牛市的OKB又有新動作。2月20日OKB正式登陸OKEx兩個重要現貨產品線-----幣幣杠桿和余幣寶,OKB對OKEx生態的滲透力進一步增強.
1900/1/1 0:00:00全球首燒!保時捷Taycan車庫內燒到面目全非一直以特斯拉“宿敵”自居的保時捷電動跑車Taycan,沒能逃過起火的宿命.
1900/1/1 0:00:00(⊙_⊙) 每天一篇全球人文與地理 微信公眾號:地球知識局 NO.1341-蒙古國農業 作者:那日蘇 制圖:孫綠/校稿:貓斯圖/編輯:養樂多蒙古國位于東亞與北亞的交界,歐亞大草原的東部.
1900/1/1 0:00:00主持人劉偉杰:中共中央局10月24日下午就區塊鏈技術發展現狀和趨勢進行第十八次集體學習。中共中央總書記習近平在主持學習時強調,區塊鏈技術的集成應用在新的技術革新和產業變革中起著重要作用.
1900/1/1 0:00:00