做者簡介:董天一 ,IPFS/Filecoin中國區技術佈道人 ,《IPFS指南》做者。畢業於北京大學軟件與微電子學院曾擔任甲骨文亞洲研發中心(中國)數據庫開發工程師資深區塊鏈技術開發者,現致力於IPFS/Filecoin在中國的技術推廣。
IPFS的的「宏偉」目標是取代HTTP,那麼先來看看IPFS是如何工做的?git
IPFS爲每個文件分配一個獨一無二的哈希值(文件指紋: 根據文件的內容進行建立),即便是兩個文件內容只有1個比特的不相同,其哈希值也是不相同的。因此IPFS是基於文件內容進行尋址,而不像傳統的HTTP協議同樣基於域名尋址。數據庫
IPFS在整個網絡範圍內去掉重複的文件,而且爲文件創建版本管理,也就是說每個文件的變動歷史都將被記錄(這一點相似版本控制工具git,svn等),能夠很容易個回到文件的歷史版本查看數據。segmentfault
當查詢文件的時候,IPFS網絡根據文件的哈希值(全網惟一)進行查找。因爲每一個文件的哈希值全網惟一,查詢將很容易進行。安全
若是僅僅使用哈希值來區分文件的話,會給傳播形成困難,由於哈希值不容易記憶,就像ip地址同樣不容易記憶,因而人類發明的域名。IPFS利用IPNS將哈希值映射爲容易記的名字服務器
每一個節點除了存儲本身須要的數據,還存儲了一張哈希表,用來記錄文件存儲所在的位置。用來進行文件的查詢下載。網絡
咱們在什麼是IPFS?(一)裏面說了 HTTP 及一些中心化服務器的缺點。運維
那麼問題來了,IPFS是如何來解決這些缺點的?分佈式
1.下載速度快,再也不依賴主幹網,中心化服務器
整個IPFS系統是一個分佈式的文件存儲系統,那麼在下載相關數據的時候,將從多個節點同時下載,相比於HTTP從中心服務器的下載速度要快不少,你們都用過P2P下載(好比: 迅雷,BitTorrent),IPFS下載過程跟這個相似。svn
2.存儲空間變得很是便宜:
因爲IPFS使用的是區塊鏈技術,利用 Filecoin(爲了的文章中會將如何獲取filecoin,也就是挖礦)來激勵礦工分享本身的硬盤,而且IFPS從全網去掉了冗餘存儲(從整個網絡空間考慮,這將大大節省網絡存儲空間),未來的IPFS存儲將會變得很是便宜(與咱們如今的雲盤,各類中心化的CND相比較)。工具
3.安全:
中心化服務器目前很難抵擋DDoS攻擊,當大量的訪問請求從四面八方涌來,中心化的服務器幾乎會在一瞬間癱瘓,作過運維的同窗應該深有感觸,好比每一年雙11,不能睡覺的除了阿里,騰訊的技術同窗,還有整個銀行業的小朋友。巨大的訪問量隨時可能形成服務器宕機。IPFS天生就擁有抵擋這種攻擊的能力。由於全部的訪問將會被分散到不一樣的節點。甚至攻擊者本身也是節點之一。某種程度上講,IPFS甚至能抵擋量子計算的攻擊。
4.開放:
衆所周知,比特幣是一種去中心化,匿名的數據貨幣,這些特性使得比特幣沒法被管制,交易沒法篡改。IPFS一樣,因爲是創建在去中心化的分佈式網絡上的,因此IFPS很難被中心化管理,限制。互聯網將更加開放。
圓方圓學院聚集大批區塊鏈名師,打造精品的區塊鏈技術課程。在各大平臺都長期有優質免費公開課,歡迎報名收看。