中心化存儲數據的交互效率、成本以及安全性能製約新一代互聯網的發展。
一、目標願景
現階段互聯網的數據交互及存儲協議都是基於超文本傳輸協議(HyperText Transfer Protocol,HTTP)在中心化服務器中處理完成的。這種基於客戶端和服務器的交互模式,由於數據都在中心化存儲系統中,較低的設備、網絡、運維成本與高速的集中處理性能。但是隨著的互聯網的更新迭代,中心化存儲方式逐漸被分佈式存儲取代。
中心化存儲數據的交互效率、成本以及安全性能製約新一代互聯網的發展。一是現階段的數據交互,每次需要從中心化的服務器下載完整的文件,大數據的存儲與傳輸帶寬使得中心化存儲成本高,傳輸速度慢,效率低。二是Web文件容易丟失,難以永久保存。據統計HTTP的頁面平均生存週期大約100天。三是中心化的存儲會受到各種管制,對互聯網功能完整性構成威脅。各種突發的故障因素都可能造成互聯網應用中斷服務。
星際文件系統(Inter-Planetary File System,IPFS)協議主要服務於數據存儲和文件傳輸,旨在代替傳統的HTTP協議。 IPFS網絡協議可以實現存儲速度更快、成本更低、安全性更高的效果。通過IPFS與區塊鏈技術的結合,能夠使數據的強保密、高隱私、低成本和防篡改特性相較於傳統中心化存儲會更加完善,IPFS將會帶來一個新的互聯網時代。
二、解決方案
1、IPFS技術架構
IPFS為了實現存儲更快、成本更低、安全更高的特性,採用了分塊,傳輸和隱私保護等多種技術。 IPFS的技術架構主要分為以下8個技術層次。
圖1 IPFS協議的技術架構
身份層:IPFS存儲網絡中存儲節點的身份信息通過身份層功能生成的,給加入DHT網絡的用戶分配身份信息,通過分配的身份參加IPFS存儲網絡工作。
網絡層:網絡層是IPFS信息傳輸的基礎,通過Libp2p協議棧支持任意傳輸層協議的功能,以此構建了P2P鏈接的基石。
路由層:通過利用DHTS、MDNS、DNS等協議,完成存儲內容的查找以及路由的查找。
交換層:IPFS存儲網絡中重要的交換協議,實現節點之間數據塊的交換。 IPFS利用了BitTorrent協議為基礎構建符合IPFS分佈式存儲的交換協議。
對象層:完成IPFS存儲網絡上的數據結構構建,利用MerkleDag結構,通過路徑持續分叉的結構,快速、精準地找到目標數據,為內容尋址和去重提供了便利。
文件層:記錄存儲對像在不同版本中的各種特定的快照,保留出兩個對象文件的區別。
命名層:證明文件的自我驗證。即驗證所用的公鑰是否與節點身份匹配,並加入IPNS使得加密後的DAG對象名可與節點綁定,把可變的內容固定在相對固定的節點身份。
應用層:應用層也是IPFS的核心層,應用層實現網絡加速,數據價值化和經濟價值,加快分佈式存儲網絡生態的發展。
2、IPFS關鍵技術
IPFS通過分佈式版本控制系統,可以記錄之前任何一個文件版本,支持數據恢復。 IPFS系統通過Git控制存儲文件版本的迭代,Git控制系統不僅存儲最新版本的文件,還把歷史文件版本都完整地存儲下來。系統中任何一處協同存儲的服務器發生故障,都可以用任何一個本地存儲數據進行恢復。
IPFS採用分佈式哈希列表DHT快速查詢數據,具有離散性、伸縮性和良好的容錯性。 DHT是一種分佈式哈希表,通過存儲的鍵值對提供查詢服務。鍵值對存儲在DHT中,鍵值對的映射由網絡中所有的節點維護。在不需要服務器的情況下,每個節點負責部分路由和數據存儲,從而實現整個DHT網絡的尋址和存儲。
IPNS文件域名系統依據文件名搜索文件時只需查詢文件名,而不受文件內容變更的影響。 IPFS中文件的哈希值完全取決於文件內容,每次更新文件後都需更新引用的哈希值。為了能夠在更改文件內容時保證原鏈接的有效性,IPFS團隊採用星際域名系統IPNS。 IPNS是一個去中心化的命名系統,通過指針地址安全地指向可變內容,資源塊都可以被命名為易讀的名字,通過搜索名字就可以找到文件。
三、項目歷程
-
2014年5月起,IPFS創始人胡安·貝內特發起IPFS項目,成立了協議實驗室。
-
2015年1月, 協議實驗室向全球發布IPFS。
-
2017年,IPFS團隊宣布成立Filecion項目,在同年8月得到華爾街風投機構2.57億美元的募資。
-
2018年5月,第一屆IPFS大會召開,用戶能夠在自己的移動設備上運行個人IPFS,實現了真正的去中心化存儲。
-
2019年2月份,Filecion生態語言代碼正式開放,進一步助力IPFS的發展。
-
2020年10月15日,Filecion在全球六百多家交易所正式上線。
四、思考評論
1、IPFS的優勢
IPFS誕生之初,就是為了解決HTTP協議的中心化問題,不斷迭代發展至今,IPFS已經展現了諸多優勢。
IPFS利用文件分片機制,改善互聯網應用的數據存儲成本。用戶上傳的大型文件在經過IPFS存儲時,通過DHT既可以有效降低相同資源冗餘程度,也可以將大型文件分塊多地存儲,降低硬件存儲的要求;通過特殊的路由機制就近獲取資源,降低數據傳輸時間,緩解主網的帶寬壓力,節約海量用戶在文件傳輸時所產生的帶寬成本。
IPFS通過鏈下分佈式存儲解決區塊鍊鍊上數據存儲空間問題。目前大部分公有鏈的問題是沒法將大量的數據存儲在鏈上。運用IPFS存儲網絡,將打包好的區塊數據通過異構處理,並轉換成便於內容尋址的數據結構類型,掛載到IPFS存儲網絡上,可以讓IPFS存儲網絡承擔存儲和P2P檢索功能,而不消耗區塊鏈系統本身太多的計算資源。
IPFS借助就近檢索模式提供快速便捷的分佈式緩存方案。 IPFS可以將數據通過算法轉化成一維字符串,將與之相關聯的常用檢索數據存入IPFS存儲網絡並分佈在各個鄰近節點上。檢索時,系統優先通過字符串近似度範圍比較,縮小檢索範圍,加快檢索效率,緩解骨幹網的通信壓力,達到分佈式緩存的效果。
2、IPFS的挑戰
作為一種新型的分佈式存儲技術,目前依舊存在一些問題限制了IPFS技術的發展與普及。
IPFS的文件分片對系統的吞吐性能有很高的要求。 IPFS需要將文件分片、複製、多節點冗餘保存,在調取存儲數據時,需要查詢大量文件分片,對系統數據吞吐性能要求很高。另外,對於大型數據,大量的文件分片使得內容尋址的哈希表也會很大,尋址時間也會增加。因此,現有的分佈式存儲系統的吞吐效率是首要考慮的問題。
IPFS缺乏獎懲機制使得存儲用戶承擔較高的服務質量風險。 IPFS只負責監控參與節點的工作完成情況並予以激勵,但是無法避免惡意節點對存儲內容的攻擊,因此存儲安全的保障需要由應用層通過獎懲措施來解決。存儲節點通過預質押保證金以支撐其信用保障,只有當越來越多的用戶願意選擇收費更高的網絡節點時,去中心化存儲系統的整體效率才能提升,服務質量才更有保障。
作者:程彤彤,中國信息通信研究院工業互聯網與物聯網研究所技術部工程師
主要從事工業互聯網、標識解析、區塊鏈存儲等領域研究和產業推進工作。
聯繫方式:chengtongtong@caict.ac.cn
展開全文打開碳鏈價值APP 查看更多精彩資訊