什麼是白皮書?IPFS 解析
Learn what a whitepaper is in crypto, how IPFS works, and why it matters for Web3. Understand content addressing, CIDs, and decentralized storage.
一份白皮書是一個加密貨幣協議的創始文件,而由 Juan Benet 於 2014 年撰寫的星際文件系統 (IPFS) 白皮書,是 Web3 生態系統中最常被參考的技術文件之一。本文將解釋白皮書作為一種文件格式是什麼,然後以 IPFS 白皮書作為一個實際範例,向您確切展示該協議提出了什麼以及為何重要。
如果你在研究 NFT 專案、DeFi 協議的基礎設施,或是 Filecoin 的投資論點時,遇到了 IPFS,並且在直接閱讀原始文件前,需要一份淺顯易懂的指南,那麼這篇文章就能提供給你。無需電腦科學背景。
重點摘要
- 白皮書是一份技術文件,旨在定義問題、提出解決方案,並概述實施該方案所需的系統架構。
- IPFS 白皮書由 Protocol Labs 的 Juan Benet 撰寫,並於 2014 年發佈。
- 星際檔案系統 (IPFS) 是一種點對點 (P2P) 協定,使用內容定址而非伺服器位置來儲存與擷取檔案。
- IPFS 並非區塊鏈。它是一個分散式檔案系統。
- IPFS 與 Filecoin 是獨立的專案:IPFS 是協定;Filecoin 則是激勵層。
- IPFS 內容並非自動永久存在。它需要主動「固定」(pinning) 才能保持可存取性。
- 現今大多數 IPFS 內容都是透過標準瀏覽器經由 HTTP 閘道進行存取的。
目錄
- 什麼是白皮書?
- IPFS 白皮書:概覽與作者
- 什麼是 IPFS?
- IPFS 是如何運作的?
- 內容定址與內容識別碼 (CID)
- IPFS vs. 傳統網路 (HTTP)
- IPFS 是區塊鏈嗎?關鍵差異解析
- IPFS 與 Filecoin:有什麼區別?
- IPFS 上的數據持久化、固定 (Pinning) 與存儲
- 為什麼 IPFS 很重要:現實世界的應用
- IPFS 的局限性與批評
- 常見問題解答
- 延伸閱讀
什麼是白皮書?
在加密貨幣和技術的背景下,白皮書是一份技術文件,旨在定義問題、提出解決方案,並概述實作該方案所需的系統架構。這種用法與政府白皮書不同,後者是政策文件。在加密貨幣領域,白皮書是協議或專案為了確立其設計意圖而發布的基礎技術規範。
白皮書這種體裁在區塊鏈和 Web3 領域有著可追溯的歷史。《比特幣白皮書》)(Satoshi Nakamoto,2008 年)以一份九頁的文件確立了這種格式,該文件指出了雙重支出問題,提出了一種加密解決方案,並描述了實現該方案的點對點架構。Vitalik Buterin 的 《以太坊白皮書》)(2013 年)擴展了這一格式,提議在分散式運算平台上開發可程式化的智能合約。次年,Juan Benet 的 IPFS 白皮書將同樣的傳統應用於分散式檔案儲存。這些文件中的每一份都遵循相同的結構邏輯:指出問題、提出架構,並引用其所基於的前人工作。
白皮書與輕量版白皮書(litepaper)不同,後者是針對非技術受眾的較短且更易讀的摘要。輕量版白皮書解釋概念;而白皮書則具體說明架構。
白皮書包含的內容
一份結構良好的技術白皮書通常包含以下內容:
- 摘要或引言:對問題和擬議解決方案的簡要概述
- 問題陳述:對協議所解決的技術或系統性故障的精確描述
- 擬議解決方案:核心架構理念,包括關鍵設計選擇
- 技術架構:系統的運作方式,包括其資料結構和協議規格
- 使用案例:所提出系統的具體應用
- 代幣經濟學 (如適用):相關加密貨幣如何激勵網路參與
- 團隊資歷與先前工作:作者的背景以及提案所依循的現有研究
為何加密貨幣專案會發布白皮書
項目發布白皮書有四個主要原因:
- 建立技術公信力: 詳細的白皮書標誌著該專案是建立在明確的架構之上,而非僅是投機
- 傳達設計意圖: 評估該協定的開發者在開始在其上構建之前,需要了解其功能與運作方式
- 邀請同行審查: 發布技術規範可讓研究人員與工程師在部署前識別出漏洞
- 為投資者與公眾記錄目標: 白皮書為專案所宣稱的功能建立了公開記錄,進而實現責任制
如何閱讀加密貨幣白皮書
- 先閱讀問題陳述,以了解該協議聲稱要解決什麼問題
- 檢查所提出的解決方案是否在邏輯上與問題相符
- 核實團隊的資歷及其引用的先前研究
- 查看技術架構章節,評估設計是否連貫
- 如果涉及代幣,請檢查經濟激勵措施是否與所述目標一致
IPFS 白皮書是展現優秀技術白皮書所有特質的一個實例。下一個章節將逐步解析其內容。
IPFS 白皮書:概述與作者群
IPFS 白皮書,由 Protocol Labs 的 Juan Benet 於 2014 年撰寫,提出了一個點對點、內容定址的分布式文件系統,旨在取代或補充現有的基於 HTTP 的網路。
誰撰寫了 IPFS 白皮書
IPFS 白皮書是由 Juan Benet 所撰寫,他是一位電腦科學家,也是 Protocol Labs 的創辦人,並於 2014 年發表。Benet 擁有史丹佛大學電腦科學背景,也是 Filecoin 和 libp2p 網路函式庫的創作者。Protocol Labs,他創立的組織,是一家專注於去中心化網路基礎設施的研究與開發公司。該公司將 IPFS、Filecoin 和 libp2p 維護為開放原始碼專案,可供任何開發者或組織使用。
Protocol Labs 是一家營利性公司,但將其核心協議作為開放標準發布。IPFS 並非由 Protocol Labs 以排他性方式擁有;它是一個開源協議,由整個生態系統的開發者共同貢獻。
IPFS 白皮書提議的內容:簡明語言摘要
目前的網際網路將檔案儲存在伺服器上,您透過前往指向該特定伺服器的特定位址(URL)來擷取檔案。IPFS 白皮書提出了一種不同的方法:與其根據檔案的儲存位置來尋找檔案,不如根據檔案本身的內容來尋找檔案。每個檔案都會獲得一個獨特的加密指紋,且網路上的任何儲存該檔案的電腦都可以將其提供給您。沒有單一伺服器擁有該內容。
您可以直接閱讀 IPFS 原始白皮書)。以下各節將以通俗易懂的語言解釋其核心概念。
IPFS 白皮書中的關鍵概念
- 內容定址 (Content addressing): 根據檔案內容而非伺服器位置來尋找檔案
- 內容識別碼 (CID): 分配給 IPFS 上每個檔案的唯一加密指紋
- 默克爾有向無環圖 (Merkle DAG): IPFS 用於組織和連結檔案區塊的資料結構
- 分散式雜湊表 (DHT): 用於定位哪些節點持有哪些內容的路由層
- 點對點 (P2P) 網路: 從任何持有內容的節點擷取檔案,而非中心化伺服器
- 星際命名系統 (IPNS): 可變指標,允許為更新內容提供穩定位址
- 數據去重 (Data deduplication): 相同的區塊共用一個 CID,因此相同的數據絕不會在網路上重複儲存
什麼是 IPFS?
星際檔案系統(IPFS)是一個開源、點對點協定,用於在分散式檔案系統中儲存和分享資料,由 Juan Benet 開發並由 Protocol Labs 維護。與傳統網路透過伺服器位置(URL)尋找檔案不同,IPFS 則透過一種稱為內容識別符(CID)的獨特加密指紋來尋找檔案。
IPFS 融入了去中心化網路 (Web3) 的廣泛架構,這是一種新興的網路模型,其中的數據和應用程式分布在眾多節點上,而非由 Google、Amazon 或 Meta 等中心化實體所控制。IPFS 提供了去中心化應用程式運作所需的儲存與內容路由層,使其不需依賴任何單一公司的伺服器。NFT 中繼資料、去中心化網站以及 dApp 資產皆仰賴 IPFS 作為 Web3 技術棧中的持久儲存層。
接下來的章節將解釋 IPFS 在技術上如何實現這一點、它與 HTTP 和區塊鏈的比較,以及它在現實世界中的採用情況。
IPFS 解決了什麼問題?
IPFS 解決了以 HTTP 為基礎的網路之四大結構性弱點:
["連結失效:當伺服器離線或 URL 變更時,該位址的檔案將永久消失","審查:政府或網際網路服務供應商可以封鎖對伺服器的存取,從而從整個區域移除內容","頻寬瓶頸:熱門內容會在單一伺服器上造成集中負載,導致速度變慢","靜默資料竄改:URL 中的檔案可以在未記錄變更的情況下被修改,而讀者無法偵測到"]
IPFS 透過將伺服器從檢索過程中排除,來解決這些問題。內容儲存在分散式網路上,並根據其內容而非其位置來尋找。HTTP 與 IPFS 的完整比較,請參閱下方專門的比較區段。
IPFS 的用途為何?
IPFS 被應用於 Web3 生態系統中的多個應用類別:
- NFT 中繼資料儲存: 以太坊上的 NFT 專案將圖像與中繼資料儲存在 IPFS 中,並將 CID 嵌入智能合約,以在代幣與其內容之間建立防竄改連結
- 去中心化網站託管: 網站可以發布至 IPFS,並在沒有任何中心化託管提供商的情況下進行存取
- Web3 應用程式資料層: 去中心化應用程式將鏈下資料儲存在 IPFS,以避開鏈上儲存的成本與限制
- 抗審查的內容分發: 記者與檔案保管員使用 IPFS 發布內容,使其不會因單一伺服器被阻斷而遭下架
- 學術與檔案數據保存: 研究數據與歷史記錄可以儲存在 IPFS 中,並具有完整性的加密證明
IPFS 是如何運作的?
IPFS 透過將內容拆分成區塊、為每個區塊產生加密指紋,並將這些區塊分發到沒有中央伺服器的點對點 (P2P) 網路中的過程來儲存和檢索檔案。如果您熟悉像 Litecoin 和其他分散式網路 這樣的點對點加密貨幣協定在網路層面上的運作方式,IPFS 也遵循類似的分散式節點參與邏輯。
點對點網路:無中央伺服器
IPFS 背後的基礎架構選擇是點對點(P2P)網路。在傳統網際網路中,您的瀏覽器會聯繫特定的伺服器,並向其請求特定路徑下的檔案。而在點對點網路中,任何持有該檔案且參與其中的電腦(稱為節點)都可以為您提供該檔案。
這種區別非常重要,因為它消除了單點故障。如果伺服器斷線,它所託管的任何 HTTP 資源都會變得無法使用。在 P2P 網路中,同一個檔案可以從任何持有該檔案的節點中檢索。IPFS 透過加入內容定址擴展了這種架構,因此網路可以精確知道哪些節點持有哪些檔案。
IPFS 如何儲存與檢索檔案:逐步指南
- 檔案會被分割成較小的資料片段。
- 每個片段會經過密碼雜湊函數處理,產生一個稱為內容識別符 (CID) 的獨特指紋。
- 這些片段會連結在一個稱為 Merkle DAG(有向無環圖)的資料結構中,其中根節點的 CID 代表整個檔案。
- 檔案的 CID 會發布到分散式雜湊表 (DHT),該雜湊表會記錄網路上哪些節點正在儲存這些片段。
- 當其他使用者透過 CID 請求該檔案時,IPFS 會查詢 DHT 以找出目前持有相關片段的節點。
- 這些片段會從這些對等節點檢索回來,重新組合,並與原始 CID 進行驗證,以確認資料的完整性。
此流程不涉及任何單一伺服器。任何持有特定 CID 的節點都可以向任何請求者提供該內容。這意味著,儲存在 IPFS 上的檔案,只要至少還有一個節點持續託管,就不會因為任何單獨節點的關閉而失效。
Merkle DAG:IPFS 如何組織資料
將 Merkle DAG (梅克爾有向無環圖) 比喻為由拼圖塊構成的一棵樹,每個拼圖塊的 ID 根據其內容生成,並記錄了它所連結的其他拼圖塊的 ID。根拼圖塊的 ID 代表了整個組裝好的拼圖。若更改拼圖中的任何部分,根 ID 就會隨之改變,從而使任何竄改行為都能被立即偵測到。
從形式上來說,Merkle DAG(有向無環圖)是一種資料結構,其中每個節點都由其密碼雜湊值識別,並透過其他節點的雜湊值連結到它們,形成一個可驗證、防篡改的結構。由於相同的區塊總是會產生相同的 CID,IPFS 會自動對資料進行去重。同一內容在網路上永遠不會儲存兩次。
IPFS 屬於分散式檔案系統類別:資料是在節點網路中存儲和檢索,而非來自單一伺服器,其承襲自包括 NFS、AFS 以及 Git 的物件存儲模型等技術脈絡。Git 使用相同的基本原理,每個提交(commit)都由其內容的哈希值(hash)來識別,從而形成一個具備防篡改特性的歷史鏈。IPFS 將此相同原理應用於所有的內容存儲。
分散式哈希表:IPFS 如何尋找內容
將分散式雜湊表 (DHT) 想像成一個分散式電話簿:並非由一個中央目錄列出誰持有什麼內容,而是由成千上萬個節點各自持有索引的一小部分。當您需要某個檔案時,您向網路詢問目前哪些節點擁有該檔案,網路就會將您的請求導向正確的節點。
正式而言,DHT 是一種去中心化路由系統,能將內容識別碼映射到目前儲存該內容的節點。IPFS 使用 Kademlia 演算法(一種在 2002 年開發的特定 DHT 變體)來實現此節點探索與路由功能。與 BitTorrent 相似,IPFS 同時從多個節點檢索檔案,而非從單一中央伺服器檢索。與 BitTorrent 不同的是,IPFS 被設計為開放網路的一個永久且可定址的層級,而非僅是用於分享個別種子檔案的工具。
內容定址與內容識別碼 (CIDs)
內容定址是 IPFS 的核心架構創新,使其運作方式與傳統網路截然不同,理解它是掌握該協定其他一切的關鍵。
什麼是內容定址?
可以將其比作透過 ISBN 找書,而不是透過特定書店裡的書架位置來找。ISBN 是根據書籍本身的內容來識別它,無論哪家書店販售,內容都永遠不會改變。書架位置則是根據書籍目前恰好存放的位置來識別,而如果該書店倒閉,書架位置就沒用了。ISBN 則依然有效。
內容定址是一種檔案檢索方法,它使用檔案內容的密碼雜湊值作為其位址。與基於位置的定址(URL 指向特定的伺服器和路徑)不同,內容位址指向內容本身,任何持有該內容的節點都可以提供。一個關鍵的實際應用是:如果內容即使只改變一個位元組,其位址也會改變。這表示內容定址提供了內建的資料完整性驗證,因為該位址也是您收到的內容確實是您所要求的證實。
CID 在 IPFS 中是什麼意思?
內容識別碼 (CID) 是分配給 IPFS 上儲存之每件內容的唯一地址,是透過對內容執行加密雜湊函數所產生的。真實的 CID 看起來像這樣:
QmR7GSQM93Cx5eAg6a6yRzNde1FQv7uL6X1o4k7zrJa3LX
兩個完全相同的檔案產生的 CID 始終相同。即使只更改檔案中的一個位元組,也會產生完全不同的 CID。IPFS 網路上的任何節點都可以驗證他們收到的內容是否與他們請求的 CID 相符。如果雜湊值一致,則表示該內容是真實且未經篡改的。
密碼雜湊函數就像一個指紋辨識系統:將任何檔案輸入其中,它就會輸出一個代表該檔案的、獨一無二的固定長度字串。相同的輸入總是會產生相同的輸出,而兩個不同的檔案產生相同指紋的可能性實際上微乎其微。IPFS 會對每個檔案和每個區塊執行雜湊函數,以生成其 CID,這就是為什麼 CID 同時充當位址和完整性檢查的原因。
IPFS (星際檔案系統) 也包含星際命名系統 (IPNS),它提供可變位址,允許穩定連結更新以指向新的內容版本,這類似於網站的網域名稱即使在伺服器 IP 位址變更時仍保持不變。這解決了內容定址對於需要更新的內容不切實際的自然顧慮。
下方的表格預覽了基於位置的定址與基於內容的定址之間的主要差異。IPFS 與 HTTP 的完整對比將在下一節中呈現。
| HTTP (基於位置) | IPFS (基於內容) | |
|---|---|---|
| 位址指向 | 特定伺服器 | 內容本身 |
| 伺服器故障時的影響 | 檔案變得無法存取 | 檔案可從任何釘選節點獲取 |
| 資料完整性檢查 | 無內建功能 | CID 不符會揭露竄改行為 |
| 抗審查能力 | 低:封鎖伺服器即可 | 較高:沒有單一伺服器可封鎖 |
IPFS 對比 傳統網路 (HTTP)
HTTP 和 IPFS 解決的是相同的根本問題(透過網路檢索數據),但兩者在如何識別與定位數據方面,做出了截然不同的架構選擇。
| 維度 | HTTP (傳統網路) | IPFS |
|---|---|---|
| 定址方式 | 基於位置 (URL 指向伺服器) | 基於內容 (CID 識別內容) |
| 檔案檢索來源 | 單一指定的伺服器 | 任何持有內容的對等節點 |
| 單點故障 | 是:伺服器斷線即無法存取檔案 | 否:可從任何持有內容的節點檢索 |
| 抗審查性 | 低:封鎖伺服器或 DNS | 較高:沒有可針對的中央伺服器 |
| 資料完整性 | 預設不驗證 | CID 驗證內容與請求內容相符 |
| 內容永久性 | 取決於伺服器運行時間 | 取決於主動固定 (Pinning) |
傳統網路使用基於位置的定址(Location-based addressing)。像 https://example.com/file.jpg 這樣的 URL 會指示您的瀏覽器聯繫特定 IP 位址上的特定伺服器,並擷取特定路徑下的特定檔案。您收到的內容可靠性完全取決於該伺服器。如果伺服器斷線、受到審查或修改了檔案,體驗就會下降或完全失敗。這些並非 HTTP 的錯誤,而是基於位置定址固有的一種取捨。
HTTP 針對速度與簡便性進行了最佳化,並有數十年完善開發者工具的支持。IPFS 優先考量彈性與可驗證性,代價是犧牲了既有的工具生態系統。這些是不同的設計目標,帶來了不同的權衡取捨,且沒有哪一個普遍優於另一個。正確的選擇取決於特定應用程式的需求。
IPFS 是否取代 HTTP?
並非如此。IPFS 並非旨在取代 HTTP。目前大多數 IPFS 內容是透過 HTTP 閘道器(gateway)存取的,這表示使用者無需任何特殊軟體,即可透過標準瀏覽器存取 IPFS 內容。這兩個協定是相輔相成,而非相互競爭。
IPFS 是區塊鏈嗎?關鍵差異解析
不是。IPFS 不是區塊鏈,這兩種技術的用途基本不同,儘管它們經常在同一個 Web3 應用程序堆疊中一起使用。
區塊鏈是一個分散式、僅限追加的分類帳,它以加密方式連結的區塊記錄交易,並由必須就分類帳狀態達成共識的節點網路維護。區塊鏈旨在記錄所發生的事情,並使該記錄難以竄改。對於想了解分散式共識如何在區塊鏈層級上運作的讀者,Cardano 的區塊鏈架構展示了什麼) 實際展示了相同的基本設計。
IPFS 是一種分散式檔案系統,透過內容尋址來儲存和檢索內容。它不維護交易紀錄鏈。它不需要節點間的共識來進行檔案檢索。它沒有自己的原生加密貨幣。它以 Merkle DAG(有向無環圖)來組織資料,而非以區塊鏈的方式。
| 維度 | IPFS | 區塊鏈 |
|---|---|---|
| 資料結構 | Merkle DAG (透過雜湊連結內容) | 加密連結的區塊鏈 |
| 主要用途 | 檔案儲存與檢索 | 交易記錄與帳本維護 |
| 資料可變性 | 內容定址;新內容產生新 CID | 僅限附加;過往記錄無法更改 |
| 代幣需求 | 無:IPFS 不需要加密貨幣 | 大多數區塊鏈需要原生代幣 |
| 彼此的關係 | 互補:區塊鏈用於鏈下儲存 | 使用 IPFS 儲存體積過大而不適合鏈上儲存的資料 |
這兩項技術互為補充,而非同義詞。以 NFT 在以太坊上的智能合約為例,其通常將代幣的元數據和媒體內容儲存在 IPFS 上。區塊鏈持有指向該檔案的 CID;IPFS 則持有檔案本身。這種安排將大型數據保留在鏈下(因其儲存成本昂貴),同時在代幣與其內容之間維持了一個具防篡改特性的連結。
IPFS 與 Filecoin:有什麼區別?
IPFS 和 Filecoin 是由同一個組織 Protocol Labs 所創立的兩個獨立項目,但它們的功能各不相同。將兩者混淆是 Web3 生態系統中最常見的誤解之一。
IPFS 是用於儲存和檢索內容定址資料的點對點協定。Filecoin 是一個獨立的加密貨幣和激勵網路,它支付節點運營商以永久地在 IPFS 上儲存資料。記住區別的最簡單方法是:IPFS 是基礎設施;Filecoin 是支付系統。
在預設情況下,IPFS 內容僅在至少有一個節點主動託管時才可用。目前沒有內建的經濟激勵機制能促使節點存儲其未建立或未請求的內容。如果持有特定 CID 的所有節點都停止託管,即使該 CID 地址仍然存在,該內容也將變得無法存取。
Filecoin 藉由以 FIL 代幣支付儲存提供者,讓他們承諾在約定的期間內儲存特定資料,並以密碼學證明作為後盾。儲存提供者會提供抵押品,若未能維持其合約中承諾儲存的資料,則會被沒收,從而創造持久性的經濟保證。
| 維度 | IPFS | Filecoin |
|---|---|---|
| 類型 | 開源協議 | 加密貨幣和儲存網路 |
| 目的 | 內容定址檔案儲存與檢索 | 為 IPFS 持續儲存提供經濟激勵 |
| 代幣要求 | 無 | 需要 FIL 代幣 (加密貨幣) |
| 資料持久性 | 取決於節點的自願託管 | 由儲存合約和密碼學證明保證 |
| 依賴性 | 不需要 Filecoin | 需要 IPFS 才能運作 |
IPFS 可以在沒有 Filecoin 的情況下運行。Filecoin 則無法在沒有 IPFS 的情況下運行。
免責聲明: 本文僅供教育和資訊參考之用。本內容不構成任何財務、投資或法律建議。Filecoin (FIL) 是一種加密貨幣。加密貨幣投資存在風險。在做出任何投資決策前,請諮詢合格的財務顧問。
資料持久性、釘選與 IPFS 上的儲存
IPFS 並不會自動永久儲存內容。這是一個讓許多首次接觸此協議的讀者感到意外的細節。
當一個 IPFS 節點檢索內容時,它會暫時快取該內容。快取會隨著時間透過稱為垃圾回收(garbage collection)的過程清除,移除節點未明確要求保留的內容。如果網路中沒有任何節點被主動指示保留特定的 CID,那麼該內容就會變得無法取得,儘管該 CID 地址在技術上仍然有效且內容曾經可以存取。
將釘選想像成是為檔案加上書籤,並指示您的 IPFS 節點永久保留它,而不是將其視為臨時下載。嚴格來說,釘選是向 IPFS 節點發出的指令,要求其保留特定內容,使其超出預設的快取生命週期,並將其排除在垃圾回收之外。如果您將內容發佈到 IPFS 但未將其釘選在某處,您將依賴其他節點自願無限期快取該內容,這並無法保證。
為了確保 IPFS 內容保持可存取,您有三種實用期權:
- 自行運行 IPFS 節點並鎖定內容。 這能讓您擁有直接控制權,但需要持續的基礎設施管理。
- 使用專用的鎖定服務。 Pinata、web3.storage 和 Filebase 在它們管理的 IPFS 節點上託管您的內容,無需您進行任何技術設定。
- 使用 Filecoin 進行有經濟激勵的持久儲存。 儲存提供者簽訂合約承諾保留您的資料,並設有密碼學證明與未履約的經濟罰款。
IPFS 內容只要至少有一個節點持續進行釘選,便可永久保存。若無釘選或 Filecoin 儲存,即便該 CID 仍存在於智慧合約、文件或其他參考資料中,該內容也可能變得無法存取。
IPFS 的重要性:實際應用
IPFS 不再只是一個理論提案。該協議已部署於多個 Web3 基礎設施類別的生產環境中,從 NFT 元數據存儲到以太坊自身的網路層皆有應用。
許多基於以太坊的 NFT 標準使用 IPFS CID 將元數據和媒體文件儲存於鏈下,並將 CID 嵌入於智能合約中,以在代幣與其內容之間建立一個具備防篡改特性的連結。這種安排意味著 NFT 的內容證明在任何單一儲存提供商關閉後仍能留存。Protocol Labs 將為 IPFS 構建的網路層提取出來,成為一個名為 libp2p 的獨立函式庫,此後已被以太坊共識層採用作為其點對點網路堆疊。這次採用展示了 IPFS 技術對 Web3 基礎設施的更廣泛影響,遠超出了文件儲存的範疇。包括 Internet Archive 在內的組織已探索將基於 IPFS 的內容分發用於存檔目的。
IPFS 提供去中心化應用程式所依賴的儲存與內容路由層,以便在沒有中央伺服器的情況下持久保存數據。儲存在 IPFS 上的 NFT 元數據、去中心化網站文件和 dApp 資產,只要節點持續固定 (pin) 它們,就能無限期保存,不受任何單一公司持續營運的影響。關於加密貨幣生態系統如何發展與被追蹤的更多背景資訊,加密貨幣數據排名如何運作 解釋了圍繞這些協議的更廣泛市場基礎設施。
您現在可以透過三種途徑存取 IPFS 內容:
- 公共 IPFS 閘道: 在任何標準瀏覽器中前往
ipfs.io/ipfs/[CID]或cloudflare-ipfs.com/ipfs/[CID];無需安裝 - IPFS 桌面應用程式或 Brave 瀏覽器: Brave 內建 IPFS 支援,可原生解析 IPFS 地址而無需透過閘道
- 命令列 IPFS 守護行程 (Daemon): 適合希望運行自己的節點並直接參與網路的技術用戶
閘道存取在底層採用 HTTP,這表示無需特殊軟體即可在任何標準瀏覽器中存取 IPFS 內容。大多數讀者會發現,閘道選項對於瀏覽託管在 IPFS 上的內容已然足夠。
IPFS 的限制與批評
IPFS 確實解決了傳統網路的實際問題,但該協定本身也引入了自身的權衡取捨,任何審慎的評估都需要直接加以處理。
| 優勢 | 劣勢 |
|---|---|
| 抗審查性:無單一伺服器可封鎖 | 無自動持久性:若取消釘選,內容即消失 |
| 資料完整性:CID 不符即暴露任何竄改 | 較慢的初始檢索(適用於較少存取或新上傳的內容) |
| 無單一故障點:內容可承受個別節點故障 | DHT 路由會引入延遲,尤其是對於主機很少的內容 |
| 自動重複資料刪除:相同內容在網路中僅儲存一次 | 不保證使用者匿名性 |
| 熱門內容的頻寬效率:從多個附近節點檢索 | 對非技術使用者而言使用者體驗複雜;需要釘選服務或技術設定 |
數據持久性限制是最重大的實際考量。IPFS 上的內容其永久性取決於願意託管該內容的節點。這並非傳統意義上的設計缺陷,而是移除原本負責維持內容可用性的中心化伺服器後所產生的直接結果。持久性的負擔從基礎設施提供者轉移到了內容發佈者身上,後者必須主動管理固定 (Pinning) 或支付 Filecoin 儲存費用。
DHT 路由引入了 HTTP 所沒有的檢索延遲。對於由許多節點固定的熱門內容,IPFS 表現良好,因為附近的節點可以快速提供內容。對於冷門內容或新上傳的文件,IPFS 可能比緩存良好的 HTTP 響應明顯更慢。這是一個真實的性能權衡,而非理論上的。
IPFS 在結構上是去中心化的。沒有單一實體控制該網絡,且內容完整性通過 CID 驗證獲得密碼學上的保證。然而,IPFS 並不提供匿名性。參與節點的 IP 地址在內容檢索期間是可見的,這意味著 IPFS 並非隱私工具,不應被視為隱私工具。
下方的常見問題 (FAQ) 部分直接針對其中的幾項權衡進行了解答。
常見問題
以下問題反映了關於 IPFS 和白皮書最常見的搜尋查詢,並直接進行了解答。
IPFS 解決了什麼問題?
IPFS 解決了以 HTTP 為基礎的網路的四種結構性弱點:連結失效、審查、頻寬瓶頸和資料遭靜默篡改。HTTP 會將檔案儲存在中心化伺服器上。如果伺服器離線或 URL 變更,檔案就會消失。IPFS 會將檔案儲存在分散式點對點網路中,並根據其內容而非位置來識別檔案,因此只要至少有一個節點託管它們,檔案就仍可存取。
IPFS 中的內容定址是什麼?
內容定址是一種根據內容而非儲存位置來檢索檔案的方法。IPFS 不是向特定伺服器的特定 URL 請求檔案,而是向網絡請求與特定加密指紋(稱為內容識別碼,CID)相匹配的檔案。這意味著可以從任何持有該檔案的節點檢索相同的檔案,且 CID 本身證明了檔案未被篡改。
IPFS 與區塊鏈有何不同?
IPFS 是一種用於儲存和檢索內容的分佈式文件系統;區塊鏈是一種用於記錄交易的分佈式賬本。IPFS 使用 Merkle DAG(有向無環圖)來組織文件塊;區塊鏈則使用加密連結區塊的鏈來記錄交易歷史。這兩種技術經常一起使用,區塊鏈應用程式將大型文件儲存在 IPFS 上,並將文件的 CID 記錄在鏈上,以創建一個防篡改的參考。
IPFS 中的 CID 是什麼?
內容識別碼 (CID) 是分配給存儲在 IPFS 上的每一份內容的唯一位址,它是透過對內容執行加密雜湊函數產生的。兩個完全相同的文件總會產生相同的 CID;即使只更改一個位元組,也會產生完全不同的 CID。這使得 CID 既是位址,也是完整性檢查:如果您收到的內容與您請求的 CID 相符,您就知道該文件是真實且未經改動的。
IPFS 是由誰在何時創建的?
IPFS 白皮書由 Juan Benet,一位電腦科學家兼 Protocol Labs 的創辦人撰寫,並於 2014 年發表。Protocol Labs,Benet 所創立的組織,透過生態系開發者的貢獻,持續開發和維護 IPFS 作為一個開源協議。
IPFS 安全且去中心化嗎?
IPFS 在架構上是去中心化的。沒有單一實體控制該網路,內容的完整性由密碼學雜湊保證。任何檢索檔案的節點都可以驗證其是否符合要求的 CID。然而,內容的可存取性取決於主動釘選 (active pinning):如果沒有節點託管某個檔案,該檔案將變得無法存取。IPFS 不提供匿名性,因為參與節點的 IP 位址在檔案檢索過程中是可見的。
什麼是 Filecoin 以及它與 IPFS 有何關聯?
Filecoin 是一種由 Protocol Labs 所建立,透過 FIL 代幣支付節點營運者以在 IPFS 上持久儲存資料的獨立加密貨幣與儲存網路。IPFS 是底層協議;Filecoin 是建立在其上的經濟激勵層。IPFS 可以獨立於 Filecoin 運行,但 Filecoin 則需要 IPFS 才能運行。
什麼是加密貨幣領域的白皮書?
加密貨幣中的白皮書是一份技術文件,描述了協議的設計、其解決的問題以及用於解決該問題的架構。由中本聰於 2008 年發布的比特幣白皮書,為該行業奠定了格式基礎。大多數具公信力的區塊鏈和 Web3 項目都會發布白皮書,作為其基礎技術參考。
我該如何存取 IPFS 上的內容?
存取 IPFS 內容最簡單的方法是透過公開閘道:在任何標準瀏覽器中前往 ipfs.io/ipfs/[CID] 或 cloudflare-ipfs.com/ipfs/[CID],無需安裝。Brave 瀏覽器內建 IPFS 支援,可原生解析 IPFS 位址。對於技術使用者而言,運行 IPFS 桌面應用程式或命令列守護程式可直接將您連接到點對點網路。
IPFS 會取代網際網路嗎?
不。IPFS 的設計並非為了取代網際網路或 HTTP。它是一種補充協議,旨在解決 HTTP 模型的特定限制,特別是關於資料持久性、抗審查性以及內容完整性。目前大多數 IPFS 內容是透過 HTTP 閘道進行存取的,這意味著這兩個系統是相輔相成地運作,而非競爭關係。
延伸閱讀
閱讀完本文後,您已具備與 IPFS 協定互動、評估白皮書,以及理解 IPFS 在更廣泛的 Web3 生態系統中倉位所需的基礎知識。您現在可以解釋什麼是白皮書、總結 IPFS 白皮書提出的內容、區分 IPFS 與區塊鏈及 HTTP,並理解為什麼 Filecoin 和釘選 (pinning) 作為持久性問題的獨立解決方案而存在。
接下來的步驟取決於您的需求:
- 閱讀 原始 IPFS 白皮書) 以獲取 Juan Benet 編寫的完整技術規格
- 查閱 官方 IPFS 文件 以取得 Protocol Labs 維護的最新實施細節、API 參考資料和教學
- 透過相關協議探索區塊鏈基礎知識,以深化您的 Web3 基礎
**準確性聲明:**IPFS 是一個積極開發中的開源協定。技術細節、採用數據和生態系統資訊可能會在發布後有所變更。請參閱 docs.ipfs.tech 上的 官方 IPFS 文件 以獲取最新規格。
相關閱讀
["- 什麼是 Cardano Ada 加密貨幣 區塊鏈 說明","- 什麼是 Litecoin Ltc 加密貨幣 說明 運作方式","- 什麼是 Polkadot 加密貨幣 Dot 幣種 平行鏈 說明"]