一篇文章帶你深入瞭解IPFS
什麼是IPFS?
星際檔案系統IPFS(InterPlanetary File System)是一個面向全球的、點對點的分散式版本檔案系統,目標是為了補充(甚至是取代)目前統治網際網路的超文字傳輸協議(HTTP),將所有具有相同檔案系統的計算裝置連線在一起。原理用基於內容的地址替代基於
域名
的地址,也就是使用者尋找的不是某個地址而是儲存在某個地方的內容,不需要驗證傳送者的身份,而只需要驗證內容的雜湊,透過這樣可以讓網頁的速度更快、更安全、更健壯、更持久。
點選載入圖片
HTTP存在的弊端
HTTP的效率低下,並且伺服器昂貴。
使用HTTP協議從中心化的伺服器叢集中一次需要下載一個完整檔案,而P2P的方式可以從許多peers(對等節點)中下載不同的資料塊,經研究可以節省60%的頻寬成本。
歷史檔案被刪除。
網頁的平均壽命是100天,部分網站資料不能得到永久儲存。這也是受限於中心化伺服器的高儲存成本。
HTTP的中心化限制了發展機會。
全球網際網路的域名解析服務,根源上是由13個根伺服器所提供。同時主要的雲服務也由幾家重要的雲服務商所提供。政府和機構可以在這些中心化叢集前擷取HTTP訊息包,窺探和監控網民的生活;駭客們也可以透過DDOS等手段攻擊中心化的伺服器叢集,網路癱瘓的案例屢見不鮮。
網路應用過於依賴主幹網。
當主幹網因為不可抗力因素造成擁塞或宕機等,無法繼續服務時,應用也會受到影響。
IPFS的工作原理
IPFS的出現,則是為了解決中心化web的這些問題。
基於內容定址而非域名定址
當檔案被上傳到IPFS網路,它被賦予一個雜湊值,這個雜湊值類似於我們的身份證號,他是獨一無二的,它是從檔案內容中被計算出來的。即使檔案內有一個標點的改動,被計算出來的雜湊值也是完全不同的,就像一對雙胞胎,也擁有不同的身份證號。
點選載入圖片
於是,在
ipfs
網路中查詢檔案就是在ipfs網路中尋找雜湊值,它透過雜湊表能快速的找到儲存內容的節點,從中找到相應內容。
IPFS使用一個叫IPNS的分散式命名系統
IPFS使用一個叫IPNS的分散式命名系統,這可以類比於域名與IP地址的對映關係,將難於記憶的資料雜湊值對映為易於記憶的字串
IPFS是一個分散式的檔案儲存系統
ipfs網路裡的下載,是一種類似迅雷下載的技術(p2p下載)。當檔案上傳到ipfs網路,這個檔案會被分散成很多份,每一份都存在全國各地不同的節點中,每個節點都有這個檔案的一部分。節點的儲存空間有上百G甚至幾個T,下載檔案的時候,就從每個節點同時獲取資料,這叫做去中心化儲存,速度非常快。
IPFS發行了一種Filecoin代幣,只要你幫助他們儲存檔案,那麼就能獲得Filecoin獎勵。有了這個獎勵機制後,我們只需要共享閒餘的儲存空間就能獲得相應的回報,這也促使大家願意為ipfs的節點發展貢獻自己的一份力量
每個節點維護一張DHT(分散式雜湊表)
Ipfs全網路裡的每個節點都有一張DHT(分散式雜湊表),這張表包含相應查詢內容(雜湊值)與目標節點(雜湊值存在的位置)的對應對映關係。整個雜湊表用二叉樹的演算法,平均查詢聯絡節點的複雜度是O(log2N)。例如要查詢10000萬節點只需20跳,尋表的速度非常快,所以如果你要查詢一個內容很快就可以幫你遍歷到,搜尋到結果
IPFS解決了哪些問題?
1。下載速度快
整個IPFS系統是一個分散式的檔案儲存系統, 那麼在下載相關資料的時候, 將從多個節點同時下載, 相比於HTTP從中心伺服器的下載速度要快很多, 大家都用過P2P下載(比如: 迅雷, BitTorrent), IPFS下載過程跟這個類似。
IPFS資料去重複性
IPFS是透過雜湊值(身份證號)標記所儲存內容的,所以同樣的內容在IPFS主鏈上只有獨一無二的一份,保證檔案不會被重複儲存,大大節省網路儲存空間,儲存成本自然更加便宜。
點選載入圖片
3 。安全性
中心化伺服器目前很難抵擋DDoS攻擊, 當大量的訪問請求從四面八方湧來, 中心化的伺服器幾乎會在一瞬間癱瘓, IPFS天生就擁有抵擋這種攻擊的能力。 因為所有的訪問將會被分散到不同的節點。 甚至攻擊者自己也是節點之一。 某種程度上講, IPFS甚至能抵擋量子計算的攻擊。
4 。開放性
眾所周知, 比特幣是一種去中心化, 匿名的資料貨幣, 這些特性使得比特幣無法被管制, 交易無法篡改。 IPFS同樣, 由於是建立在去中心化的分散式網路上的, 所以IFPS很難被中心化管理, 限制。 網際網路將更加開放。
用一個劇情來總結IPFS
1。小紅和小剛以前看過該影片,於是他們將影片檔案加入IPFS網路,得到相同的雜湊指紋B。(現實中,若該影片在周邊好幾個節點都持有,IPFS會把檔案分塊去重,節省節點的儲存成本)
2。小明在本地透過雜湊指紋B(形如 /ipfs/B 的路徑名),試圖從IPFS網路拉取該影片。小明不關心最終的影片資料來自哪些節點。
3。小明的節點索引DHT中的雜湊值所對應的節點列表,並行地從這些節點下載部分資料塊。
相關文章
- 2021-08-11紀錄片《UFO檔案幽浮檔案: 終極解密》揭開多年來各種UFO目擊事件的神秘面紗
- 2021-06-30三大分散式儲存: FIL、CHIA及SWARM, 誰值得你最看好?
- 2021-05-25有關於時間悖論的思考
- 2021-05-11阿里雲 Elasticsearch 雲原生核心
- 2021-05-09Java Map 中那些巧妙的設計