區塊鏈迫在眉睫的儲存問題 迅雷鏈是這麼解決的
區塊鏈上大資料、大檔案該如何儲存?
這是目前困擾區塊鏈應用落地的主要難題之一,對此業內不少技術團隊,都在進行各種嘗試,以期找出一種能夠將大體積檔案上鍊儲存的妥善方法。
11月24日,在迅雷鏈技術沙龍上海站上,迅雷鏈底層研發工程師張小剛分享了迅雷鏈對此問題的解決方案,他表示,通過冗餘編碼和共享計算技術,能夠有效解決大資料的上鍊難題,由此掃平區塊鏈技術商用上的一大障礙。
區塊鏈儲存痛點:價格貴,容量小
資料儲存在鏈上並不困難,目前基本所有的區塊鏈主鏈都可以實現資料存放。真正的問題是, 資料的儲存成本極其昂貴 ,比如以太坊上,存放1MB資料需要花費大約3.76ETH,即便按目前市價來算,也接近3000元。EOS上更是如此,曾有人估算,在EOS上開發一個DAPP,光購買記憶體的費用就要幾百萬元之巨。顯然,如此高的價格,在實際商用中根本無法接受。
此外,現有的主流區塊鏈上 可儲存的資料量其實並不大 ,這是由於傳統區塊鏈是單機儲存架構,而資料儲存容量會受到單機儲存上限的限制所致。張小剛表示,截止2018年5月,比特幣的一個完整節點的資料儲存達到了210G,而以太坊的資料儲存達到了1T。這種水平已經讓很多普通使用者,無法執行一個全量的以太坊節點了。
如果放開商業化應用資料上鍊,資料儲存的增長將非常迅猛,遠超當前資料體積,以目前的技術架構,基本上不可能滿足實際商用的資料上鍊需求。
成本高,容量小,成為目前區塊鏈資料儲存所面臨的主要難題,如果要實現商用,解決儲存問題首當其衝。
迅雷鏈的解決方案
據張小剛介紹,迅雷鏈對資料上鍊儲存的解決方案分3步。首先是打破了傳統區塊鏈中,所有節點全部儲存同樣資料的做法,取而代之以新的分割槽模式。
迅雷鏈採用的是獨創的同構多鏈架構,本身可以進行分割槽,且保證每個分割槽結構完全相同。分割槽之後,將不同的分割槽,交給不同的節點叢集來儲存,這樣單個節點儲存的資料量就大大減小,有效降低了單節點的儲存壓力。
如果分割槽需要更高的效能或者儲存達到了閾值,則可以對分割槽進行平滑擴鏈,也就是將一個分區劃分出更多的分割槽,這樣既提高效能又減快取儲增長。而迅雷鏈的節點來自於共享計算所提供的150萬+個人節點,如此龐大的數量足以支撐起足夠多的分割槽儲存需求。
其次,就是在行業內引起重大反響的迅雷鏈檔案系統,即TCFS。 使用者將檔案儲存在 TCFS 中,TCFS 會計算檔案的摘要返回一個hash 值,hash 值進行上鍊, 從而一個大體積的檔案資料,也能實現上鍊的記錄。
另一方面TCFS要保證檔案儲存的安全和可靠。 它將檔案經過冗餘編碼分成若干片,分別儲存在不同節點上,讀取的時候,只要把部分切片組合到一起,就能還原出整個原檔案,由此保證了即便在有節點不線上的情況下,僅憑其餘線上節點,也能還原出整個檔案 。同時, 任何一個單一節點,看到的都是檔案碎片,無法還原出其真實意義, 保證了安全性。
此外張小剛還透露,目前迅雷鏈正在將底層的儲存升級為可插拔的外掛化儲存架構,節點可以根據自身場景選擇不同的底層儲存架構,除了原生支援的levelDB儲存外,後續還會有新的儲存解決方案陸續支援。
通過這三步技術上的創新,迅雷鏈目前已能夠較為妥善地處理大資料、大檔案上鍊儲存這一難題。分享最後,張小剛表示,迅雷鏈對所有技術問題的解決,都是本著如何讓開發者更好、更方便地開發區塊鏈應用為出發點,儲存解決方案也不例外。迅雷鏈希望能夠通過對儲存技術的創新,讓區塊鏈開發者做出更豐富、優秀的DAPP,並早日實現區塊鏈技術的商用落地。
責編:chenjian