IPFS 星際檔案系統(InterPlanetary File System,縮寫IPFS)是一個旨在建立持久且分散式儲存和共享檔案的網路傳輸協議。它是一種內容可定址的對等超媒體分發協議。在IPFS網路中的節點將構成一個分散式檔案系統。它是一個開放原始碼專案,自2014年開始由Protocol Labs在開源社羣的幫助下發展。其最初由Juan Benet設計。
星際檔案系統(InterPlanetary File System,縮寫IPFS)是一個旨在建立持久且分散式儲存和共享檔案的網路傳輸協議。它是一種內容可定址的對等超媒體分發協議。在IPFS網路中的節點將構成一個分散式檔案系統。它是一個開放原始碼專案,自2014年開始由Protocol Labs在開源社羣的幫助下發展。其最初由Juan Benet設計。 在2014年,IPFS協議利用比特幣區塊鏈協議和網路基礎設施的優勢來儲存不可更改的資料,移除網路上的重複檔案,以及獲取儲存節點的地址資訊——用以搜尋網路中的檔案。 IPFS是一個對等的分散式檔案系統,它嘗試為所有計算裝置連線同一個檔案系統。在某些方面,IPFS類似於全球資訊網,但它也可以被視作一個獨立的BitTorrent群、在同一個Git倉庫中交換物件。換種說法,IPFS提供了一個高吞吐量、按內容定址的塊儲存模型,及與內容相關超連結。這形成了一個廣義的Merkle有向無環圖(DAG)。IPFS結合了分散式雜湊表、鼓勵塊交換和一個自我認證的名稱空間。IPFS沒有單點故障,並且節點不需要相互信任。分散式內容傳遞可以節約頻寬,和防止HTTP方案可能遇到的DDoS攻擊。 該檔案系統可以透過多種方式訪問,包括FUSE與HTTP。將本地檔案新增到IPFS檔案系統可使其面向全世界可用。檔案表示基於其雜湊,因此有利於快取。檔案的分發採用一個基於BitTorrent的協議。其他檢視內容的使用者也有助於將內容提供給網路上的其他人。IPFS有一個稱為IPNS的名稱服務,它是一個基於PKI的全域性名稱空間,用於構築信任鏈,這與其他NS相容,並可以對映DNS、.onion、.bit等到IPNS。 每個Merkle都是一個有向無環圖 ,因為每個節點都透過其名稱訪問。每個Merkle分支都是其本地內容的雜湊,它們的子節點使用它們的雜湊而非完整內容來命名。因此,在建立後將不能編輯節點。這可以防止迴圈(假設沒有雜湊碰撞),因為無法將第一個建立的節點連結到最後一個節點從而建立最後一個引用。 對任何Merkle來說,要建立一個新的分支或驗證現有分支,通常需要在本地內容的某些組合體(例如列表的子雜湊和其他位元組)上使用一種雜湊演算法。IPFS中有多種雜湊演算法可用。 輸入到雜湊演算法中的資料的描述見 詳情可以去官網瞭解:https://ipfs.io/IPFS 星際檔案系統(InterPlanetary File System)
歷史
目前的實現採用Go和JavaScript,並有Python的實現正在發展。Go實現被認為是開發正式規範時的“參考實現”。簡介
Merkle資料格式