來源:萬向區塊鏈

你知道區塊鏈中的“不可能三角”嗎?即區塊鏈無法同時達到可擴展性(Scalability)、去中心化(Decentralization)和安全(Security)。這三個要素中只能同時兼顧兩個,比如,要想追求“去中心化”和“安全”就勢必會犧牲“可擴展性”。因為要想保證開放性、自治性、不可篡改等去中心化網絡特性就需要賦予任意節點均等的權利和義務,也就是說,系統中任意節點都需要對交易數據進行全量計算和存儲。這樣一來,整體系統的性能就會受限於單個節點的性能上限,進而限制整體系統的可擴展性。

可擴展性是目前區塊鏈普遍面臨的一大挑戰。以太坊創始人Vitalik Buterin就曾表示過:“擴展性也許是排在第一位的問題。擴展性問題已經成為很多系統的墳墓。這是一個重大而艱鉅的挑戰。這些都是已知的事實。”為有效應對這一挑戰,很多項目正在嘗試以“IPFS+區塊鏈”協同合作的方式提升區塊鏈的可擴展性。但IPFS又是什麼?如何提升區塊鏈的可擴展性?今天的萬向區塊鏈小課堂就帶大家了解一下IPFS。

IPFS是什麼?

IPFS全稱Interplanetary File System,星際文件系統,是一種點對點的開源分佈式超媒體協議。它最初誕生於互聯網界,旨在解決HTTP(超文本傳輸協議)引發的一些問題。說起HTTP,大家應該不陌生吧。我們在輸入網址時通常都會在最開始輸入http://。這一協議發明於1991年,並於1996年應用於網絡瀏覽器。其主要作用就是支撐互聯網上的數據通信,即規定互聯網上的信息傳輸方式及瀏覽器和服務器的指令響應方式。

可以說HTTP是現今互聯網運行的基石。但是誕生將近30年來,這一協議已逐漸過時,其弊端也已逐一顯露。例如:

1、不支持同時從多個服務器下載文件,導致內容傳輸效率低下。

2、高帶寬成本及大量重複文件堆積,加劇存儲負荷。

3、隨著服務器和服務提供商的中心化程度不斷提高,互聯網的監管也更加嚴格。

4、互聯網能夠存儲的歷史信息有限,難以追溯時間久遠的歷史信息記錄。

5、連接不穩定導致連接速度慢、信息傳輸效率低。

諸如此類的問題不勝枚舉。 IPFS這一分佈式文件存儲系統則有望將這些難題一一突破。比如,在IPFS這一分佈式協議中,用戶不再從單一服務器中下載文件,而可以同時從網絡中的其他多個節點處獲取文件,提高下載效率。另外,這種分佈式數據存儲協議還通過會哈希加密保障網絡信息的安全性。聽起來是不是跟區塊鏈有著異曲同工之妙呢。

IPFS如何運作?

首先,IPFS通過哈希值來對系統裡的所有文件進行唯一身份標識,在此基礎上剔除重複文件,記錄文件的歷史版本信息,實現文件的歷史信息可追溯,從而確保網頁內容不會因為服務器故障或虛擬主機崩潰而丟失。

其次,哈希加密也有助於保障文件內容的真實性。用戶通過IPFS網絡查找文件時,網絡系統其實是以文件的哈希值作為標準,從儲存文件的各節點中找到哈希值一致的文件返回給用戶。

另外,IPFS中的節點通過哈希值相連,形成默克爾有向無環圖(Merkle DAG)這一數據結構,因此具有以下幾大優勢:

1、內容可尋址:所有內容通過哈希值進行身份標識,方便查找追踪。

2、無重複內容:由於系統裡的哈希值具有唯一性,相同內容會生成相同的哈希值,從而被系統判定為重複,並及時剔除。

3、內容不可篡改:系統的內容需通過哈希值校驗。篡改內容後哈希值自然會發生變化,幫助系統識別出內容已被篡改,及時發現風險。

值得一提的是IPFS中的每個節點只會儲存它需要或是感興趣的內容,並為內容信息製作索引,便於節點之間了解各自儲存了什麼樣的信息,方便後續查找。

綜上,IPFS的分佈式文件儲存框架從根本上顛覆了HTTP以中心化的服務器傳輸內容的方式。用戶不再從單一的服務器中搜索信息,而是可以從網絡中成千上百萬的其他節點中,依據文件的唯一身份標識(哈希值)快速獲取信息,同時還能夠實現文件的本地化離線獲取,大大提升信息獲取的效率和便捷性。

IPFS在區塊鏈中的應用

無論是去中心化的分佈式結構,還是運用密碼學技術保障信息安全,我們都可以看到IPFS和區塊鏈有諸多相似之處。同時,IPFS的發明者Juan Benet曾表示:“IPFS中的信息可以在互不信任的節點間傳輸且系統不會喪失信息的控制權,也不會面臨安全風險。”這與區塊鏈能夠幫助缺乏信任的利益相關者進行低成本、高效率的協作這一應用價值有著異曲同工之妙。

IPFS和區塊鏈如此高的吻合度讓我們看到了這兩項技術的融合潛力。 IPFS技術通過哈希加密為海量數據生成不可篡改的永久性IPFS地址,再將地址信息儲存在區塊鏈上。這樣相當於將原始數據簡化成IPFS地址後再上鍊,在不犧牲去中心化和安全性的前提下擴充單個節點信息儲存容量,從而整體網絡的可擴展性,為解決區塊鏈中的“不可能三角”問題提供可行方案。

已有不少項目嘗試在區塊鏈中應用IPFS技術,通過這種點對點的分佈式文件系統提升節點的存儲能力,為整體系統擴展和可持續發展奠定良好基石。隨著區塊鏈的應用場景不斷拓展,對於該技術的性能要求也會逐漸提高,我們相信IPFS分佈式儲存協議將會通過提升區塊鏈的可擴展性助力區塊鏈應用的進一步發展。

參考文章

What is IPFS? Interplanetary File System: Complete Beginner's Guide

https://blockonomi.com/interplanetary-file-system/

The IPFS and the blockchain

https://thebitcoinnews.com/the-ipfs-and-the-blockchain/

區塊鏈的“不可能三角”

https://www.jianshu.com/p/8afe15e7a11f

區塊鏈的可擴展性問題及原因分析

http://www.elecfans.com/blockchain/792569.html

閱讀原文