資訊科普系列(10) — 星際檔案系統(InterPlanetary File System)簡介

陳彥榮
MODA IT
Published in
Nov 3, 2023
圖片擷取自:https://meta.m.wikimedia.org/wiki/File:IPFS_logo.png

什麼是星際檔案系統(IPFS)?

IPFS 是一種分散式檔案系統,為一項基於內容定址、版本化、點對點等技術的傳輸協議。和現今常用的網路儲存空間相比,IPFS 最大特點是去中心化,可由無數個節點組成,避免單點失效導致運作癱瘓的問題。上載到 IPFS 的檔案,皆會對應唯一的 hash 值,當檔案大小超過 256 KB 時,就會拆分成多個最大為 256 KB 的 Block 分散儲存,每個 Block 也會有對應的 hash 值,內容定址(content addressing)即是根據這些 hash 值,找到使用者需要的檔案。

假如更新一個檔案的內容,則會生成一個全新的 hash 值,等於每次版本更新後,都要再傳遞 hash 值給檔案的使用者。為了解決這個問題,我們可以使用 InterPlanetary Name System(IPNS),利用節點初始化後預設 key 的 public key hash 為 domain name,將其對應會變動的 hash 值,後續可再使用 DNS 服務進行網域名稱設定,像是數位部官網:

圖片擷取自:https://twitter.com/audreyt/status/1556152887008702464

近期被越多使用者下載的檔案,則會暫存到使用者的本地儲存空間,理論上能提供其他使用者更多下載節點,提高下載速度。這會導致檔案上傳者,很難將系統內的檔案主動刪除,相對而言,檔案擁有者則可執行釘選(pin)指令,將檔案保存在本地儲存空間,避免檔案被垃圾回收機制刪除。此外,使用者也可主動將檔案上傳到像是 Pinata 等網站,讓檔案被釘選到節點,協助檔案在 IPFS 網路中傳遞。

IPFS 常被人和區塊鏈一同提及,雖兩者常結合協同運作,但不能畫上等號,同前面所述,IPFS 是一種分散式「檔案系統」,而區塊鏈可被理解為去中心化的分散式「資料庫」。由於在區塊鏈上儲存大量資料所費不貲,代表 IPFS 檔案的 hash 值,而必定具備唯一性的 Content Identifiers 就成了儲存在區塊鏈的首選。加密貨幣 Filecoin 則是基於 IPFS 的一個應用,透過導入獎勵機制,讓礦工願意架設 IPFS 節點,提供更專業和穩定服務資源。

--

--