寫在前面:一項技術如果是難用的,或者說對用戶不友好的,那么它就很難被廣泛采用。而此前的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以供社區反饋。
萊特幣MimbleWimble隱私協議代碼將于1周內完成:3月9日消息,萊特幣基金會發推稱,MWEB(MimbleWimble擴展模塊)代碼將在1周內完成。此前2月2日消息,萊特幣MimbleWimble隱私協議代碼將進行測試,并將在3月15日完成審核。
注:萊特幣計劃通過Mimblewimble擴展模塊(MWEB)來達到一定程度的隱私保護和可替代性。[2021/3/9 18:28:36]
從這個帖子當中,我們可以看到,目前DavidBurkett正在為萊特幣開發的Mimblewimble應用方案正處于初期階段,而其中最大的進展就是非交互式交易提案。
那么,這個神奇的方案具體是如何實現的呢?下面我們來看提案譯文:
Mimblewimble離線交易提案
Mimblewimble區塊鏈協議通過使用pedersen承諾、schnorr簽名和一種稱為‘cut-through’的新技術,可提高比特幣等加密貨幣的隱私性和可擴展性。而帶來這些好處的同時,也需要付出一些昂貴的代價。到目前為止,構建MW交易需要發送方和接收方之間的交互來創建輸出并集體簽署交易。本文提出了一種在最小化影響mimblewimble協議可擴展性及隱私性條件下,實現單側交易的方法。
Synthetix完成Mimosa版本升級部署:剛剛,合成資產發行平臺Synthetix官方發推稱,已完成Mimosa版本升級部署。DApps再次上線,SNX和Synths已恢復轉移和交互。[2020/11/12 14:06:49]
當前的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目前不兼容閃電網絡 開發人員正研究使兩者兼容的方法:據ambcrypto報道,LTC創始人李啟威表示,MimbleWimble目前不兼容閃電網絡,但我認為開發人員正在研究使其與閃電網絡兼容的方法。我不知道將來的兼容性如何,但始終可以將LTC主鏈用于閃電網絡。注:MimbleWimble是一個區塊鏈隱私保護的格式和協議,是一種可以防止區塊鏈泄露個人信息的技術。[2019/12/2]
而這種協議就要求發送者與接收者進行交互以構建交易,以避免暴露彼此輸入和輸出的盲因子。這是一個三步過程:
Alice用她的輸入創建一筆未簽名交易,改變輸出和范圍證明,一個包含輸出和輸入盲因子差異的中間內核,并提交給schnorr簽名的nonce;Bob創建他的輸出和范圍證明,添加他在內核承諾中的份額以生成實際的交易內核,提交到nonce,并提供交易內核的部分簽名;Alice簽署她的內核簽名,并聚合這兩個簽名;雖然該協議可以運作,并且允許Alice不受限制地將資金轉移到Bob,但是交互屬性帶來了一些安全性、可用性和隱私方面的挑戰。構建交易要么需要用戶保持密鑰在線,要么需要某種形式的帶外通信,而這可能導致隱私泄露和MITM攻擊。
聲音 | 李啟威:萊特幣基金會將資助David Burkett實現MimbleWimble:金色財經報道,萊特幣創始人李啟威在推特上宣布,萊特幣基金會將會資助Grin開發人員David Burkett領導團隊在萊特幣上實現MimbleWimble和擴展區塊,并支持其繼續在Grin++上工作。據此前消息,李啟威、David Burkett和SoCalLightning組織者ecurrencyhodler已經提出了關于萊特幣升級的2個提案(LIP-0002 EB和LIP-0003 MW),以通過以通過區塊擴展實現MimbleWimble(MW)。而后李啟威在萊特幣峰會上表示,添加MimbleWimble協議當然存在風險,但沒有風險就不會有進步。[2019/10/31]
建立非交互式交易
長期以來,絕大多數人都認為在mimblewimble協議中不可能實現非交互式交易,因為知情輸出盲因子對于創建范圍證明和構建schnorr簽名而言是必要的。而要解決這個問題,我們必須首先找到一種方法,讓發送者和接收者都知道盲因子,而不是其他人。而Diffie-Hellman密鑰交換算法很適合解決這一問題。發送方只需生成一個密鑰對,使用接收方的pubkey執行ECDH,并生成一個共享密鑰,該密鑰可用作盲因子。然后,發送方可以生成接收方的輸出、盲因子和簽名,以創建有效的交易。
動態 | 幣安科普MimbleWimble算法:幣安官方推特今日發布隱私算法Mimblewimble的科普貼,在下方留言區大量網友留言猜測是否是基于 Mimblewimble算法的隱私幣Grin或者Beam即將登陸幣安交易所,其中猜測Grin的呼聲更高。[2019/9/2]
但這種方案,也帶來了兩個明顯的問題。
第一個問題是,發送方仍需要將其公鑰和值傳遞給接收方,因此我們需要在不影響隱私的情況下將其作為輸出的一部分包含進來。但是沒有明顯的方法可提交數據。我們不能將它作為內核的一部分,因為它會將內核鏈接到輸出,從而消除隱私的好處。
第二個問題是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億比特幣能提現嗎比特幣最新價格行情走勢區塊鏈工程專業學什么區塊鏈存證怎么弄區塊鏈技術
來源:新京報 4月27日,閱文集團宣布管理團隊調整,原聯席CEO吳文輝和梁曉東、總裁商學松、高級副總裁林庭鋒等部分高管團隊成員辭任,吳文輝將調任非執行董事和董事會副主席.
1900/1/1 0:00:00作者:行走的翻譯C 幣圈就像一扇旋轉門,送走了一批批離場的人,又迎接著一批批涌入的人。只有守得住的人,才能撥開云霧,終見青天。“最窮的時候,想轉型去做O2O.
1900/1/1 0:00:002020年是一個神奇的年,一點兒也不吝嗇給人驚訝。3月19日,羅永浩宣布帶貨,立刻成為了熱搜。在2019年,李佳琦的直播帶貨火的一塌糊涂,我當時覺得這就是一個精神病,但我很快就修正了自己的觀點.
1900/1/1 0:00:00金融學類屬于經濟學門類,下設9個專業:金融學、金融工程、金融數學、經濟與金融、互聯網金融、保險學、投資學、信用管理和精算學.
1900/1/1 0:00:00雖然沒人知道“中本聰”這個名字的背后的人是誰,但最近的一份研究文件顯示,這位比特幣的創造者可能還開發了另一種加密貨幣——門羅幣.
1900/1/1 0:00:00EOS資訊 BM:DPOS是建立在許多技術共識變體之上的主觀治理模型BM發推表示,每一個區塊鏈都有兩種共識算法:自動、客觀、技術主導以及手動、主觀、管理主導.
1900/1/1 0:00:00