摘要:區(qū)塊鏈?zhǔn)且粋€(gè)分布式系統(tǒng),但包括以太坊、EOS在內(nèi)的諸多公鏈本身實(shí)現(xiàn)的都只是數(shù)據(jù)的分布式計(jì)算,而沒有提供數(shù)據(jù)的分布式存儲(chǔ),這導(dǎo)致分布式的區(qū)塊鏈系統(tǒng)無法真正徹底地做到分布式。
作者丨李畫
編輯|熊吉
區(qū)塊鏈?zhǔn)且粋€(gè)分布式系統(tǒng),但包括以太坊、EOS在內(nèi)的諸多公鏈本身實(shí)現(xiàn)的都只是數(shù)據(jù)的分布式計(jì)算,而沒有提供數(shù)據(jù)的分布式存儲(chǔ),這導(dǎo)致分布式的區(qū)塊鏈系統(tǒng)無法真正徹底地做到分布式。
IPFS(Inter Planetary File System,星際文件系統(tǒng))協(xié)議解決的正是這樣一個(gè)問題,它是分布式文件系統(tǒng),可以實(shí)現(xiàn)數(shù)據(jù)的分布式存儲(chǔ)。同時(shí)它也是一個(gè)去中心化網(wǎng)絡(luò)的基礎(chǔ)設(shè)施,包括公鏈在內(nèi)的不同類型的應(yīng)用都可以構(gòu)建在它的基礎(chǔ)之上。
如果說公鏈?zhǔn)歉咚俟罚琁PFS則是高速公路路面之下的層層地基中重要的一層,它為不同的公鏈和應(yīng)用提供數(shù)據(jù)的分布式存儲(chǔ)這一支持。
IPFS并非全新發(fā)明,它是幾十年來分布式系統(tǒng)探索的產(chǎn)物,綜合了包括DHT(Distributed Hash Table),BitTorrent,Git和SFS(Self-Certified Filesystems)在內(nèi)的優(yōu)秀思想。IBFS對(duì)它們做出適合區(qū)塊鏈系統(tǒng)的改進(jìn),并通過分層設(shè)計(jì)將它們組合成一個(gè)新的系統(tǒng)。
本文將去繁從簡(jiǎn),以數(shù)據(jù)的存取過程為線索,通過對(duì)IPFS最關(guān)鍵的三個(gè)系統(tǒng)技術(shù)的分析,看它是如何滿足區(qū)塊鏈數(shù)據(jù)的分布式存儲(chǔ)需求的。
01 Merkle DAG
當(dāng)把文件存儲(chǔ)到IPFS系統(tǒng)中時(shí),文件并不是以一個(gè)完整的個(gè)體被存儲(chǔ),文件數(shù)據(jù)以平均分割法的方式被切分成若干個(gè)256KB大小的塊。這些塊在經(jīng)過哈希運(yùn)算后,也并不是存儲(chǔ)在單個(gè)中心化的服務(wù)器上,而是分開存儲(chǔ)在網(wǎng)絡(luò)中的各個(gè)分布式的節(jié)點(diǎn)之中,沒有節(jié)點(diǎn)擁有特權(quán)。
這一分布式存儲(chǔ)的難點(diǎn)不在于文件的切割或加密,而在于如何把這些被分割的和被分開存儲(chǔ)的數(shù)據(jù)重新組合成一個(gè)文件,這正是IPFS協(xié)議的第一個(gè)關(guān)鍵技術(shù)——Merkle DAG(Merkle Directed Acyclic Graph,默克爾有向無環(huán)圖)。
Merkle DAG從Git系統(tǒng)(林納斯·托瓦茲創(chuàng)作的分布式版本控制系統(tǒng))改造而來,是在Merkle Tree(如下圖所示)的基礎(chǔ)上構(gòu)建,儲(chǔ)存的是哈希值。IPFS上大部分?jǐn)?shù)據(jù)對(duì)象都是以Merkle DAG的結(jié)構(gòu)存在。
當(dāng)從網(wǎng)絡(luò)中獲取文件時(shí),先從可信的節(jié)點(diǎn)獲得文件的Merkle Tree樹根哈希值。一旦獲得了樹根,就可以從其他不可信的節(jié)點(diǎn)獲取Merkle Tree的各個(gè)節(jié)點(diǎn)的哈希值。通過可信的樹根來檢查接收到的Merkle Tree節(jié)點(diǎn),如果Merkle Tree某節(jié)點(diǎn)是損壞的或者虛假的,就從其他存儲(chǔ)節(jié)點(diǎn)獲得另一個(gè)Merkle Tree節(jié)點(diǎn),直到最終獲得一個(gè)與可信樹根匹配的Merkle Tree。
這樣一來,從上至下,直到獲得最底層的被切割成小塊的數(shù)據(jù)的哈希,最終形成一個(gè)完整的正確的文件。
由于Merkle DAG是基于哈希值的,而哈希值取決于數(shù)據(jù)塊的內(nèi)容,因此IPFS協(xié)議擁有內(nèi)容尋址的功能(HTTP是基于域名尋址),此外它還有防篡改和去重復(fù)的功能。防篡改是因?yàn)榭梢酝ㄟ^檢查哈希值來確認(rèn)數(shù)據(jù)是否被篡改;去重復(fù)是由于相同內(nèi)容的數(shù)據(jù)塊哈希是相同的,可以去掉重復(fù)的數(shù)據(jù),節(jié)省存儲(chǔ)空間。
02 DHT
依靠Merkle DAG,可以構(gòu)建一個(gè)數(shù)據(jù)結(jié)構(gòu)用于實(shí)現(xiàn)分布式的數(shù)據(jù)存儲(chǔ),但還缺最后一步,Merkle DAG存儲(chǔ)的哈希值如何定位到具體存儲(chǔ)數(shù)據(jù)的節(jié)點(diǎn),也就是說,應(yīng)該把數(shù)據(jù)分配到哪一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)去存儲(chǔ),以及去從哪一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)獲得存儲(chǔ)數(shù)據(jù)。DHT(Distributed Hash Table,分布式哈希表)便是用來解決這一問題的方法。
哈希表是一種存儲(chǔ)“鍵值對(duì)( Key/Value Pairs)”的容器,它能方便快速地通過key值來獲得 value值。在DHT中,key是被存儲(chǔ)數(shù)據(jù)的哈希值,通過K/V可以實(shí)現(xiàn)數(shù)據(jù)塊與目標(biāo)節(jié)點(diǎn)的映射關(guān)系。
哈希表被分割成不連續(xù)的塊,每個(gè)節(jié)點(diǎn)被分配一個(gè)屬于自己的哈希塊,也稱做區(qū)間表,并成為這個(gè)哈希塊的管理者,當(dāng)用戶存儲(chǔ)數(shù)據(jù)時(shí),系統(tǒng)對(duì)數(shù)據(jù)進(jìn)行哈希運(yùn)算,根據(jù)哈希運(yùn)算的結(jié)果決定此數(shù)據(jù)由哪個(gè)節(jié)點(diǎn)負(fù)責(zé)儲(chǔ)存,并生成哈希表。
當(dāng)用戶提取數(shù)據(jù)的時(shí)候,用同樣的算法計(jì)算數(shù)據(jù)的哈希,然后從哈希表獲得對(duì)應(yīng)的數(shù)據(jù)存儲(chǔ)位置(如下圖所示)。
DHT是分布式系統(tǒng)的關(guān)鍵技術(shù),實(shí)現(xiàn)它的方法有很多種,IPFS采用的是基于S / Kademlia和Coral的算法。
03 BitSwap
僅僅實(shí)現(xiàn)數(shù)據(jù)的分布式存儲(chǔ)還遠(yuǎn)遠(yuǎn)不夠,數(shù)據(jù)還需要在節(jié)點(diǎn)之前有效的交換,從而使得整個(gè)系統(tǒng)能夠高效運(yùn)轉(zhuǎn)。IPFS協(xié)議 受BitTorrent 的啟發(fā),通過對(duì)等節(jié)點(diǎn)間交換數(shù)據(jù)塊來分發(fā)數(shù)據(jù)。
BitTorrent 是一種點(diǎn)對(duì)點(diǎn)傳輸?shù)木W(wǎng)絡(luò)協(xié)議,它可以在存有不信任對(duì)等節(jié)點(diǎn)的網(wǎng)絡(luò)中分發(fā)數(shù)據(jù),對(duì)于一個(gè)文件,下載的用戶數(shù)越多,下載的速度就越快,部分的網(wǎng)絡(luò)擁堵或服務(wù)器宕機(jī)也不會(huì)對(duì)整個(gè)系統(tǒng)造成大的影響。不過BitTorrent有一個(gè)致命的缺點(diǎn),就是節(jié)點(diǎn)往往更多的是索取而不是貢獻(xiàn)。
如何激勵(lì)節(jié)點(diǎn)分享數(shù)據(jù)?IPFS在BitTorrent的基礎(chǔ)上進(jìn)行了創(chuàng)新,增加了包括信用、策略、帳單在內(nèi)的體系,這一體系之上的新的數(shù)據(jù)交換協(xié)議被稱做BitSwap。
在BitSwap協(xié)議下,發(fā)送數(shù)據(jù)給其他節(jié)點(diǎn)可以增加節(jié)點(diǎn)信用值,而從其他節(jié)點(diǎn)接受數(shù)據(jù)則會(huì)降低節(jié)點(diǎn)信用值。
也就是說,如果一個(gè)節(jié)點(diǎn)持續(xù)分享數(shù)據(jù),其他節(jié)點(diǎn)給它發(fā)送數(shù)據(jù)的概率就會(huì)越來越大;而如果一個(gè)節(jié)點(diǎn)只接收數(shù)據(jù)而不分享數(shù)據(jù),其他節(jié)點(diǎn)給它發(fā)送數(shù)據(jù)的概率就會(huì)越來越低,直到低到被其他節(jié)點(diǎn)忽略(如下圖所示)。
此外,BitSwap獲取數(shù)據(jù)塊的時(shí)候不限于從同一組對(duì)等節(jié)點(diǎn)中,在該協(xié)議里存在一個(gè)對(duì)等節(jié)點(diǎn)形成的大集群,它包括所有的數(shù)據(jù)塊,這使得BitSwap的效率相比于BitTorrent更高。
04 結(jié)語
Juan Benet在2014年5月成立了Protocol Labs協(xié)議實(shí)驗(yàn)室,并在2015年1月發(fā)布了IPFS。IPFS在本質(zhì)上是一個(gè)內(nèi)容尋址的分布式存儲(chǔ)和傳輸協(xié)議。
IPFS被寄予厚望,它是目前階段最好的分布式存儲(chǔ)解決方案之一,人們甚至認(rèn)為它可能取代超文本傳輸協(xié)議(HTTP,HyperText Transfer Protocol)。但另一方面,它在目前階段還不夠成熟,仍面臨著包括安全性、可用性在內(nèi)的諸多問題。
最后,簡(jiǎn)單介紹一下Filecoin和Filenet。
Filecoin和Filenet都是運(yùn)行在IPFS上的激勵(lì)層,通過Token激勵(lì)讓節(jié)點(diǎn)有動(dòng)力為網(wǎng)絡(luò)提供存儲(chǔ)空間,從而在IPFS協(xié)議的基礎(chǔ)上構(gòu)建一個(gè)分布式的存儲(chǔ)網(wǎng)絡(luò)。但Filecoin和Filenet彼此獨(dú)立,是兩個(gè)不同的項(xiàng)目,采用的也是不同的Token分發(fā)模式。從某種角度而言,任何組織都可以在IPFS上搭建自己的激勵(lì)層。
【本文為投資家網(wǎng)原創(chuàng)文章,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系投資家網(wǎng),違規(guī)轉(zhuǎn)載,法律必究。】
媒體一致認(rèn)為,Consensus2024在區(qū)塊鏈和加密領(lǐng)域具有廣泛的影響力,是TRON展示其比較新進(jìn)...
劉衛(wèi)兵副會(huì)長指出,當(dāng)前,數(shù)據(jù)已經(jīng)成為驅(qū)動(dòng)經(jīng)濟(jì)發(fā)展、社會(huì)治理和技術(shù)創(chuàng)新的寶貴資源。
“三農(nóng)”問題是關(guān)系國計(jì)民生的根本性問題,自黨的十九大報(bào)告提出鄉(xiāng)村振興戰(zhàn)略以來,促進(jìn)鄉(xiāng)村相關(guān)產(chǎn)業(yè)發(fā)展成...
10月24日下午,倡議“1024區(qū)塊鏈活動(dòng)日”第三次系列活動(dòng)暨鄉(xiāng)村產(chǎn)業(yè)鏈改大會(huì)·鄉(xiāng)村振興鏈改助農(nóng)大會(huì)...
分付是微信官宣的一款先買單后還款的消費(fèi)服務(wù)雖然現(xiàn)在還沒有全部面向用戶開通但還是已經(jīng)有非常多的用戶已經(jīng)...
在近日上海開啟的第二十七屆中國國際復(fù)合材料工業(yè)技術(shù)展覽會(huì)上,碳纖維材料毋庸置疑成為現(xiàn)場(chǎng)焦點(diǎn)之一,頭部...
8月31日,杭州市十四屆人大常委會(huì)第十九次會(huì)議表決通過《關(guān)于將〈夢(mèng)想天堂〉設(shè)立為“杭州市市歌”的決定...
8月21日-25日,2024世界機(jī)器人大會(huì)(WRC)于在北京經(jīng)開區(qū)北人亦創(chuàng)國際會(huì)展中心舉行
摩根士丹利、高盛等多家華爾街投行今日紛紛發(fā)布研報(bào)指出,淘寶接入微信支付,是騰訊和阿里巴巴合作的重要里...
2024年以來,在A股市場(chǎng)的風(fēng)波不斷的環(huán)境下,資源品行業(yè)相對(duì)表現(xiàn)出色,特別是石油石化、煤炭等板塊,逆...
魏管家與外賓隨行的助理和翻譯默契配合,協(xié)助安排其各項(xiàng)出行日程,共同為外賓打造舒適愜意的旅程。
短債基金的較低風(fēng)險(xiǎn)、較低波動(dòng)特性使其能夠滿足多類投資者的不同投資需求,尤其是風(fēng)險(xiǎn)承受能力不高、投資風(fēng)...
本屆展覽由香港特別行政區(qū)政府文化體育及旅游局轄下“文化藝術(shù)盛事基金”特別資助,源自加拿大、扎根香港1...
投資家網(wǎng)(jubohaotong.com)是國內(nèi)領(lǐng)先的資本與產(chǎn)業(yè)創(chuàng)新綜合服務(wù)平臺(tái)。為活躍于中國市場(chǎng)的VC/PE、上市公司、創(chuàng)業(yè)企業(yè)、地方政府等提供專業(yè)的第三方信息服務(wù),包括行業(yè)媒體、智庫服務(wù)、會(huì)議服務(wù)及生態(tài)服務(wù)。長按右側(cè)二維碼添加"投資哥"可與小編深入交流,并可加入微信群參與官方活動(dòng),趕快行動(dòng)吧。
2016年注冊(cè)于北京的中氫新能技術(shù)有限公司,下設(shè)位于大興的裝備制造公司、位于海淀區(qū)的技術(shù)研究院、材料...
一度無比高光的理想汽車,猝不及防遭遇重挫。
2024年1月10日,由投資家網(wǎng)主辦,財(cái)經(jīng)銳眼、有時(shí)間協(xié)辦,北京微金科技有限公司承辦的“第十二屆股權(quán)...
2024年1月10日,由投資家網(wǎng)主辦,財(cái)經(jīng)銳眼、有時(shí)間協(xié)辦,北京微金科技有限公司承辦的“第十二屆股權(quán)...
2024年1月10日,由投資家網(wǎng)主辦,財(cái)經(jīng)銳眼、有時(shí)間協(xié)辦,北京微金科技有限公司承辦的“第十二屆股權(quán)...