帶你走進 EOS 的存儲系統

原文鏈接:http://t.cn/RBfwcpn

轉載自《區塊鏈100講》系列文章,感謝HiBlock社區的支持。

全文字數:3522

閱讀時間:9分鐘

帶你走進 EOS 的存儲系統


1.海量數據

在一個完全去中心化的區塊鏈系統中,每個節點如果想驗證某一筆交易是否正確,則必須下載完整的區塊鏈數據,隨著時間的推移,區塊鏈的數據量呈線性遞增,以比特幣為例,每10分鐘產生一個區塊,區塊大小為1MB,每年的區塊增長速度為24 * 60 / 10 * 365 = 51.3GB,10年後,大概需要5T空間。EOS理論上可以達到百萬TPS,按照一個交易數據100字節計算,1天的區塊數據量為1000000 * 100 * 60 * 60 * 24 = 7.8TB,一年的區塊數據量為7.8 * 365 = 2868TB,到了2023年大約需要14340TB的存儲空間,另外,還需要包括智能合約代碼以及用戶上傳的圖片、視頻等等,所以,普通的個人用戶是無法承擔如此巨大的存儲空間的。

帶你走進 EOS 的存儲系統

EOS如何解決這個問題呢?生產者節點負責保存文件實際的數據,而客戶端節點本地只保存文件的地址,所有客戶端節點可以通過地址遠程訪問文件內容。這樣可以為客戶端節點節約大量的存儲開銷。

帶你走進 EOS 的存儲系統

2.IPFS分佈式文件系統

EOS使用IPFS分佈式文件系統作為底層存儲。IPFS是一種內容可尋址、點對點、通過http協議傳輸的分佈式文件系統。IPFS採用content-addressable尋址技術,即通過文件內容進行檢索而不是通過文件的網絡地址。簡單來說,就是對文件內容進行hash運算,將hash值作為文件名保存在本地數據庫中,所以,只要文件內容不變,則文件名也保持不變。

運行IPFS的節點,既是客戶端又是服務器。客戶端通過發送文件名到服務器,請求下載文件,服務器會根據文件名到數據庫中查找對應的文件,查找成功後將文件發送給客戶端,當文件下載完成後,客戶端通過對文件內容進行hash運算,將hash值和文件名作比較就可以確定文件的完整性。

由於文件是在遠程節點上保存,所以IPFS本身不能保證文件內容始終是可訪問的,例如,文件被刪除或者遠程節點拒絕訪問等等。所以,需要有一套完善的激勵機制鼓勵服務器節點提供穩定高效的存儲服務。例如,在Filecoin系統中,用戶需要為每次上傳和下載文件支付一定的費用給服務器節點。但是,這種付費模式會引起一些用戶的排斥,畢竟看著錢從腰包掏出來,而且一旦用戶忘記續費,文件可能有被刪除的風險。

3.EOS存儲設計模型

為了獲得IPFS存儲空間的使用權限,用戶需要持有一定數量的EOS存儲代幣(TOK)。每個EOS客戶端需要定義一個本地home目錄,用於存放IPFS文件鏈接。鏈接內容主要包括本地home目錄路徑、文件名(文件內容的hash值)、文件大小。

用戶將文件鏈接打包成交易信息,簽名後廣播給區塊生產者,然後用戶通過EOS存儲軟件定義的標準化REST應用程序接口將文件上傳到其中一個區塊生產者。接著,這個生產者會校驗文件內容hash值和文件大小是否正確,一旦校驗成功,生產者會將交易信息廣播給其它生產者並同步到TOK區塊鏈上,表示文件已經保存成功。其它節點會通過IPFS網絡同步保存文件信息。用戶上傳文件的流程如下:

帶你走進 EOS 的存儲系統

帶你走進 EOS 的存儲系統

文件上傳成功後,當客戶端需要下載文件時,只需要將文件名發給生產者服務器,然後,服務器通過IPFS檢索到對應的文件發送給客戶端即可。一般來說,IPFS文件系統中的文件都是隻讀的,因為文件內容的細微修改就會導致客戶端校驗失敗。

EOS存儲的核心是IPFS,它提供了一個任何人都可以託管文件的去中心化網絡,這些文件可以通過地址遠程訪問。區塊生產者實際代表了21個超級節點,每個超級節點需要擁有支持高吞吐EOS交易量的數據中心,可以在全球範圍提供文件託管服務,而且只要有至少一個超級節點在線,用戶的文件就是可以訪問的。

4.EOS存儲經濟學

1)區塊生產者如何盈利

IPFS本身不能保證文件內容始終是可訪問的,例如,文件被刪除或者遠程節點拒絕訪問等等。所以,需要有一套完善的激勵機制鼓勵區塊生產者提供穩定高效的存儲服務。

EOS存儲的商業模式有別於一般的雲存儲提供商的按時按量收費模式,例如Amazon S3。持有TOK的用戶可以免費使用EOS存儲服務,當用戶上傳文件後,所持有的TOK會通過智能合約鎖定在區塊鏈上,這些TOK不能交易或者被重複鎖定。當用戶刪除文件後,TOK會自動釋放,然後用戶可以將TOK轉賣或者進行下一次鎖定。如果TOK的價格保持不變,則用戶相當於免費使用了EOS存儲服務。其實,TOK每年會增發5%,發給區塊生產者作為貢獻獎勵,所以用戶持有的TOK會不斷貶值(假設TOK價格不變),相當於用戶把持有TOK產生的利息作為服務費,付給區塊生產者。

2)TOK存儲配額

區塊生產者們通過投票產生他們想要提供的存儲容量,存儲容量集合的中位數是所有生產者必須提供的預期容量。為了贏得選票,生產者會增加提供的存儲容量。每年的TOK總量是一定的,所以,如果生產者提供的存儲容量增加,那麼持有一個單位TOK所能使用的存儲容量就會相應增加。否則,一個單位TOK對應的存儲容量就會減少:

TOK存儲配額 = 存儲總量 / TOK總量

3)TOK價格

和EOS token一樣,TOK的價格也受二級市場的供求關係影響,如果EOS存儲的需求增加,則被鎖定的TOK數量會相應的增加,導致市場的流通的TOK就會減少,最終使得TOK的價格提高,持有TOK的用戶不但可以免費使用存儲服務,還可能在二級市場上轉賣盈利;相反,如果使用EOS存儲的用戶數量減少,則流向市場的TOK數量增加,TOK價格就會降低,持有TOK可能會承擔一定經濟損失。

5.EOS帶寬經濟學

在EOS存儲系統中,只有鎖定了TOK的用戶才能上傳和下載文件,而普通的匿名互聯網用戶沒有權限下載IPFS中的文件。比如,我們在EOS系統中部署了一個類似YouTube的視頻分享網站,某個TOK用戶上傳了一部電影,然後希望所有互聯網用戶能夠觀看該視頻。

但是,視頻發佈作者並不希望為這些互聯網用戶支付TOK,來觀看視頻,而且這也是一筆巨大的開銷。在這種情況下,如果每個視頻觀察者都為自己的帶寬支付費用就完美了。但是,這種小額的高頻支付方式會讓用戶感覺每次觀看視頻都要付費,所以,並不是一個理想的解決方案。更合理的方案是所有用戶永久的鎖定足夠覆蓋他們所需帶寬的TOK。

那麼,誰會為這些普通用戶的帶寬費用買單呢?答案是那些將業務部署在EOS系統上的DAPP開發商。這些開發商根據自己的業務規模購入適量的TOK,並通過鎖定TOK為用戶提供免費的帶寬服務。對於用戶來說,其實不感知DAPP業務的底層技術是中心化的還是去中性化的,只要開發商能夠向用戶提供優質的服務,那麼就可以通過收取增至服務費來盈利。並且,企業購入的TOK也相當於一筆投資,未來還有增值的可能。

6.總結

通過徹底改變經濟模式,EOS存儲有潛力從根本上改變去中心化存儲市場。通過消除了小額高頻率的支付,EOS將促進應用程序的創新發展,例如,上述提到的去中心化視頻分享應用。史上第一次,一個去中心化的託管服務平臺可以媲美當前由中心化服務商提供的免費增值服務的託管平臺。

(注:文章內容僅為提供信息參考和學習,不做投資建議)


分享到:


相關文章: