時(shí)間:2023-06-19|瀏覽:220
小編:記得
來(lái)源:Filecoin社區(qū)
關(guān)于IPFS對(duì)互聯(lián)網(wǎng)以及傳統(tǒng)的中心化存儲(chǔ)解決方案意味著什么?
除了對(duì)互聯(lián)網(wǎng)及傳統(tǒng)的中心化存儲(chǔ)方案有著顛覆意義之外,IPFS對(duì)于區(qū)塊鏈應(yīng)用本身其實(shí)也有著巨大的意義,今天就和大家分享這方面的知識(shí)。
每當(dāng)我們說(shuō)起大型的公鏈比如比特幣和以太坊的特點(diǎn),幾乎馬上就能脫口而出地說(shuō)出:去中心化,點(diǎn)對(duì)點(diǎn),數(shù)據(jù)無(wú)法篡改等獨(dú)有的特點(diǎn)。
那么這些特點(diǎn)的取得是通過(guò)什么方式呢?實(shí)際上是通過(guò)區(qū)塊鏈公鏈系統(tǒng)中一個(gè)非常特殊的做法:每個(gè)全節(jié)點(diǎn)都具備同等的權(quán)限及地位。而要取得同等的權(quán)限及地位最根本的是要通過(guò)每個(gè)全節(jié)點(diǎn)都存儲(chǔ)有一份一模一樣的賬本來(lái)實(shí)現(xiàn)的。
因?yàn)槊總€(gè)全節(jié)點(diǎn)都存儲(chǔ)有一份一模一樣的賬本,所以每個(gè)全節(jié)點(diǎn)都可以進(jìn)行區(qū)塊的驗(yàn)證。
無(wú)疑這種實(shí)現(xiàn)方式是分布式系統(tǒng)中的一次創(chuàng)舉,然而它帶來(lái)的問(wèn)題也是顯而易見(jiàn)的:那就是存儲(chǔ)效率非常低下。
就拿比特幣來(lái)說(shuō),如果比特幣全網(wǎng)的全節(jié)點(diǎn)有1萬(wàn)個(gè),比特幣每一個(gè)區(qū)塊的大小是1M,那么每當(dāng)一個(gè)區(qū)塊被記錄到比特幣系統(tǒng)中時(shí),這1萬(wàn)個(gè)節(jié)點(diǎn)每一個(gè)都要存儲(chǔ)這個(gè)區(qū)塊,所以全網(wǎng)一共要耗費(fèi)10G(=1Mx10000)的存儲(chǔ)空間。而這10G的存儲(chǔ)空間是把一份數(shù)據(jù)重復(fù)存儲(chǔ)了1萬(wàn)份。
比特幣是如此,其它的公鏈系統(tǒng)比如萊特幣,以太坊等都是如此。由此可見(jiàn)區(qū)塊鏈公鏈系統(tǒng)中的存儲(chǔ)效率有多么低下。
那么有沒(méi)有辦法保證公鏈中每個(gè)全節(jié)點(diǎn)在存儲(chǔ)相同數(shù)據(jù)的同時(shí),也盡量減小空間的無(wú)謂耗費(fèi)呢?有,IPFS就為這個(gè)問(wèn)題提供了一種解決方案。
在公鏈的每一個(gè)區(qū)塊中,存儲(chǔ)空間大部分都被交易數(shù)據(jù)所占據(jù),所以完全可以把交易數(shù)據(jù)提取出來(lái)存儲(chǔ)到IPFS這個(gè)去中心化存儲(chǔ)系統(tǒng)中,這些交易數(shù)據(jù)被存儲(chǔ)到IPFS系統(tǒng)中后會(huì)生成一個(gè)哈希值,而這個(gè)哈希值所占的空間就比交易數(shù)據(jù)小得多了。這個(gè)哈希值就可以被存儲(chǔ)到區(qū)塊中。
每當(dāng)節(jié)點(diǎn)進(jìn)行交易驗(yàn)證或非區(qū)塊鏈應(yīng)用需要查詢交易數(shù)據(jù)時(shí),只需要在區(qū)塊中找到相應(yīng)交易對(duì)應(yīng)的哈希值,然后再拿這個(gè)哈希值到IPFS系統(tǒng)中查詢其所對(duì)應(yīng)的交易數(shù)據(jù)就行了。
用這樣的方式,區(qū)塊鏈鏈上數(shù)據(jù)的存儲(chǔ)效率就可以大大提高。
不只是交易數(shù)據(jù),在以太坊中,大量的智能合約代碼也被存儲(chǔ)在區(qū)塊鏈上。由于智能合約代碼一旦被部署到區(qū)塊鏈上將永遠(yuǎn)無(wú)法刪除,因此一旦某個(gè)智能合約不再適用,就會(huì)被舍棄,永遠(yuǎn)存在以太坊上但再也沒(méi)有什么用處了。這對(duì)以太坊的鏈上存儲(chǔ)而言是個(gè)極大的浪費(fèi)。
對(duì)此,同樣也可以仿照存儲(chǔ)數(shù)據(jù)的方法,把以太坊智能合約存儲(chǔ)代碼存儲(chǔ)到IPFS系統(tǒng)中,而把代碼存儲(chǔ)后生成的哈希值存在以太坊上。
這樣當(dāng)需要調(diào)用智能合約的源代碼時(shí),只需要在以太坊上找到該合約的哈希值,然后用該哈希值在IPFS找到相應(yīng)的合約代碼就行了。
因此IPFS對(duì)解決區(qū)塊鏈存儲(chǔ)效率的低下也是極有前景的一種方案。