問題的由來:
為了實現鏈的容量擴展,Celestia承諾主權應用將只需下載與其有關的消息,而不用下載全部消息,但同時,不同應用的消息是打包在同一個區塊里面的,以實現平等的安全性。那么,如何保證當某個應用的執行節點向Celestia的存儲節點查詢消息時,存儲節點僅返回所有的相關消息,而且惡意存儲節點無法隱藏特定消息呢。
Celestia選擇的方案是,將稱為命名空間的應用標識符,插入到消息構成的默克爾樹的節點信息中。這樣做的好處是,可以處理存儲節點隱藏全部相關消息的情況,可以定位被隱藏的消息。另外,無需大幅度修改默克爾樹的生成邏輯,以確保存在一個節點,它的底層葉節點,包含且僅包含某個命名空間的全部消息,且能定位此節點。而只需要做三件相對簡單的事情,就可以確保默克爾樹的基本特性,不發生變化:
加密礦企Bitdeer成為VanEck Crypto and Blockchain Innovators UCITS ETF第二大成分股:金色財經報道,據VanEck官方信息顯示,截至2023年6月30日,加密礦企Bitdeer (Nasdaq: BTDR) 已成為VanEck Crypto and Blockchain Innovators UCITS ETF的第二大成分股,權重8.13%,僅次于Coinbase。資產管理公司VanEck成立于1955年,截至2022年3月31日總管理資產規模達764億美元。[2023/7/19 11:04:02]
首先,生成消息的默克爾樹之前,先按命名空間將消息分組歸并在一起,確保不同命名空間的消息沒有穿插,且命名空間是排好序的。
Bifrost CMO:Haru Invest持有的BFC數量不足以影響BFC價格:6月13日消息,多鏈中間件平臺Bifrost首席營銷官SoSo表示,“由于我已經離開Haru Invest 5年了,對內部情況一無所知,所以我覺得不宜寫出來。但由于Bifrost是Block Crafters投資組合,存在FUD可能會發生BFC拋售的情況,因此我將對其進行簡要說明。在籌備BFC主網上線的同時,我們在去年底和今年年初召開了多場早期Bifrost主網全節點合作會議。對于Block Crafters,我們了解到他們持有的BFC不足以單獨運行一個完整節點。換句話說,Haru Invest事件和BFC的價格似乎沒有關系。作為參考,BFC主網需要400萬枚BFC代幣才能運行一個完整節點。”
此前今日早些時候消息,Haru Invest稱因服務合作伙伴問題已暫停存提款請求。[2023/6/13 21:33:18]
其次,修改生成默克爾樹時使用的哈希函數,以便命名空間信息被包含進節點信息。
《上海市浦東新區文物藝術品交易若干規定》通過:數字藏品催生藝術品交易新思路新業態:金色財經報道,據上海市人大常委會辦公廳官方微信,《上海市浦東新區文物藝術品交易若干規定》經市十五屆人大常委會第四十三次會議表決通過,并將于今年10月1日起施行。《若干規定》鼓勵有條件的文物藝術品經營單位通過電子商務新業態、新模式,開展文物藝術品在線展示、交易、定制服務等活動。數字藏品催生藝術品交易的新思路、新業態。每件藏品在加密后會得到一個“數字編號”,即便外在形態一樣,卻也因其“唯一性”吸引了一票收藏愛好者。[2022/8/28 12:53:39]
檢查默克爾樹時,額外檢查排序是否無誤。
市場消息:Meta的元宇宙硬件、耳機業務放緩:6月22日,市場消息:Meta的元宇宙硬件、耳機業務放緩。Meta將2022年的出貨量預測下調40%。2024年后,Meta將推遲所有新的耳機/AR/MR硬件項目。(金十)[2022/6/22 4:44:50]
生成帶命名空間的默克爾樹:
前面我們說了,跟通用的默克爾樹邏輯相比,只有生成節點的哈希的函數不同。具體來說,就是在原哈希函數之上,又包裹了一層,使得節點哈希變成形如‘minNs|maxNs|原哈希’的形式,minNs和maxNs分別是此節點所有子節點中,最小和最大的命名空間。容易看出,對葉節點有minNs=maxNs,因為它只包含一條消息,只能有一個命名空間。默克爾樹是二叉樹,且我們已對消息做了排序,所以對非葉節點有minNs等于左子節點的minNs,maxNs等于右子節點的maxNs。另外,請注意原哈希函數會把子節點的整個哈希作為輸入,也就是說命名空間也參與哈希計算,因此不能隨意寫,否則樹根哈希會跟區塊里的記錄不一致,就很容易看出數據無效。下圖是一個帶命名空間的默克爾樹的示意圖:
證明消息的完整性:
首先,需要證明返回的某條消息,確實是在消息樹中,這個就是普通默克爾包含證明所作的事情。因此,當存儲節點返回一條消息時,它同時返回此消息的默克爾包含證明。假定返回消息M0到Mn,那會同時返回對應的默克爾包含證明P0到Pn。我們需要說明,存儲節點可以不返回某條消息,但無法對消息構成的默克爾樹進行變動,因為那會導致樹根哈希變化,數據失效。
現在我們來看漏消息的情況,首先我們的消息是按命名空間歸并在一起的,所以如果某個命名空間,在它所有消息的中間漏了消息,那任何一個默克爾證明都可以看出,消息不連續,就沒必要進一步討論了。
我們看開頭或者結尾漏消息的情況,兩種情況類似,我們以開頭為例。比如N.2的第一條消息M.2漏了,那它對應的P.0也不會發出來,那么這時候,從查詢者的角度看,原來的P.1,現在是第一個證明,它反正就檢查第一個證明。下圖,我畫出了P.0和P.1的具體內容,我們比較它們的差別,就發現M.2左側的節點,命名空間都小于M.2的命名空間,而M.3左側有一個節點H.4,它的maxNs是A.2等于M.3的命名空間N.2,這個A.2的來源,就是存儲節點隱藏起來的M.2。這樣一來,執行節點就發現異常了。
那如果某個命名空間全部的消息都被隱藏呢。我們規定,當指定命名空間的消息不存在時,返回一個葉節點的默克爾證明,這個葉節點有minNs大于目標命名空間,但它左側所有節點的maxNs都小于目標命名空間。那么,當存儲節點隱藏了整個命名空間時,必然,根據具體返回的節點的位置,它或者左側會出現一個maxNs大于等于目標命名空間的節點,或者右側會出現一個minNs小于等于目標命名空間的情況。這樣執行節點也能發現問題。綜上所述,存儲節點不可能隱藏消息而不被發現。
結語:
本文復述了Celestia白皮書中,關于多應用場景下,對抗惡意存儲節點的部分內容。現在Celestia測試網已經上線,但目前更多是展示了對輕節點的支持,以及對消息分組的可行性。白皮書里面,第三章、第四章都有提到更多關于應用主權或者分片的內容,比較偏概念,針對真實公網環境來說,具體是怎么實現的,目前還看得不是很清楚。而擴容問題,顯然是整個區塊鏈領域近期最關注的目標。所以,我們之后也會特別關注Celestia在支持獨立應用方面的進展,究竟怎么跟L2或者說其它‘區塊鏈模塊’結合起來,做到實用的功能,并提高鏈上容量,我們將拭目以待。
親愛的ZT用戶: ZTETF板即將上線</article><divclass="news_detail_footer-hujt"><divclass="detail_top-hujt".
1900/1/1 0:00:00尊敬的唯客用戶您好! 憲哥代言,不同凡響 憲哥代言大事件 自綜藝天王吳宗憲代言WEEX唯客后,在WEEX唯客產品不斷升級和安全、合規、專業服務的基礎上,憲哥的代言,引發全球用戶追捧.
1900/1/1 0:00:00“今年軟銀的投資將大幅縮減25%-50%。”軟銀集團CEO孫正義在日前召開的2021財年業績發布會后對外透露.
1900/1/1 0:00:006月30日消息,由Huobi前高管DavidGan創立的加密貨幣風險投資機構OPCrypto,正在推出一個新的基金,以支持專注于早期加密貨幣投資的新興基金管理公司.
1900/1/1 0:00:00“天下難事,必作于易;天下大事,必作于細。”——《道德經·第六十三章》2022年7月5日,CoinW幣贏向全球用戶宣布,BTC交易免手續費.
1900/1/1 0:00:00親愛的大幣網(Dcoin)用戶:大幣網(Dcoin)已完成對服務器的升級維護,所有業務現已恢復.
1900/1/1 0:00:00