「飛豬說幣」2018年的10倍幣:IPFS原理介紹之二
飛豬盡量用自己的語言來做基礎原理介紹锋华,也許不是最精確铭污,但是一定是最容易理解的語言恋日。
(至于為什么說IPFS會是2018年的10倍價值幣,相信讀者看完全系列介紹以后會有自己的判斷嘹狞。)
IPFS基礎介紹之二: IPFS文件尋址
上一章節(jié)介紹了IPFS是什么岂膳,同時介紹了分布式存儲的好處。我們知道所有進入IPFS存儲的文件會被分成很多小塊分別存儲到IPFS的節(jié)點中去磅网,接下來飛豬將介紹IPFS另一個重要的基礎功能谈截,即我們怎么訪問這些文件。存儲和尋址涧偷,這是IPFS的兩個主要核心簸喂。
IPFS文件尋址:
先簡單介紹一下我們現(xiàn)在訪問網頁的原理:
我們現(xiàn)在訪問網頁,比如百度的網址嫂丙,電腦或者手機先會去DNS服務器(什么是DNS服務器飛豬就不多解釋了娘赴,有興趣的老鐵可以去百度一下),從DNS服務器了解到百度網站對應的IP地址跟啤,然后電腦或者手機才可以通過IP地址訪問到這個網頁诽表。如果這時候域名解析服務器(DNS)出了問題或者網站更換了IP,那你就沒辦法訪問到百度網站了隅肥。
IPFS采用內容尋址技術竿奏,為每一份文件添加數字指紋,即生成一個哈希值腥放,內容的任何變動都會造成哈希值的變化泛啸,這個哈希值類似于我們平常給文件打包時的MD5碼,同一個文件無論復制粘貼多少遍都是同一個MD5碼秃症。文件的任何變動會得到一個新的哈希值候址,大量哈希值相同的冗余文件會被刪除吕粹,哈希值列表會部署在一條公鏈上,任何人可以通過內容搜索直接找到相關文件岗仑。相較于HTTP協(xié)議采用的路徑尋址匹耕,HTTP搜索的結果是服務器中文件存儲位置,文件存儲位置如果有變化荠雕,你都可能再也無法找到它稳其。而IPFS的每個文件有唯一的哈希值,不論網絡如何變化炸卑,隔壁老王的電腦打開還是關閉既鞠,這個文件始終存在,根據這個哈希值就肯定能找到這個文件盖文。
在IPFS里訪問一個地址的過程是根據文件的哈希值可以直接訪問到IPFS網絡里的這個文件嘱蛋。
這里介紹一下哈希值的概念:
Hash,一般翻譯做“散列”椅寺,也有直接音譯為"哈希"的浑槽,就是把任意長度的輸入(又叫做預映射蒋失,pre-image)返帕,通過散列算法,變換成固定長度的輸出篙挽,該輸出就是哈希值荆萤。這種轉換是一種壓縮映射,也就是铣卡,散列值的空間通常遠小于輸入的空間链韭,不同的輸入可能會散列成相同的輸出,而不可能從散列值來唯一的確定輸入值煮落。簡單的說就是一種將任意長度的消息壓縮到某一固定長度的消息摘要的函數敞峭。飛豬簡單舉例:一部6T的電影,最終通過哈希算法的出來的就是不到1K的一串字符串蝉仇,這串字符串可以唯一代表這個6T電影旋讹。比如隔壁老王給飛豬傳來一部電影,飛豬只用比較哈希值就知道這個電影是不是飛豬想要的轿衔,而不用從頭到尾把這個電影看完才知道沉迹。
Hash主要用于信息安全領域中加密算法,他把一些不同長度的信息轉化成雜亂的128位的編碼里,叫做HASH值. 也可以說害驹,hash就是找到一種數據內容和數據存放地址之間的映射關系鞭呕。哈希算法主要用于以下方面:
1) 文件校驗
2) 數字簽名
3) 鑒權協(xié)議
IPFS用基于內容的尋址替代傳統(tǒng)的基于域名的尋址,用戶不需要關心服務器的位置宛官,不用考慮文件存儲的名字和路徑葫松。我們將一個文件放到IPFS節(jié)點中瓦糕,將會得到基于其內容計算出的唯一加密哈希值。哈希值直接反映文件的內容腋么,哪怕只修改1比特刻坊,哈希值也會完全不同。當IPFS被請求一個文件哈希時党晋,它會使用一個分布式哈希表找到文件所在的節(jié)點谭胚,取回文件并驗證文件數據。IPFS每個節(jié)點維護一張DHT(分布式哈希表)未玻,包含相應數據塊與目標節(jié)點的對應映射關系灾而。整個哈希表被組織成二叉樹,平均查詢聯(lián)系節(jié)點的復雜度是O(log2N)扳剿。例如要查詢10000萬節(jié)點只需20跳旁趟。(至于什么是跳,這個飛豬不多說庇绽,大家百度一下吧)
存儲和尋址锡搜,這是IPFS的兩個主要核心。
有了這兩個基本的核心瞧掺,一套分布式存儲系統(tǒng)就可以運行起來了耕餐,當然實際運行起來還需要很多其他功能輔助,比如認證辟狈、交換肠缔、傳輸等,但是存儲和尋址是IPFS的最核心基礎哼转。
IPFS在便利性明未、安全性、開放性等諸多方面都體現(xiàn)出相當大的優(yōu)勢壹蔓。接下來飛豬將會有一個章節(jié)專門講解IPFS的優(yōu)勢趟妥。(所以飛豬說IPFS是2018年的10倍幣是有依據的。)
飛豬寫作習慣會在文章末尾放一些基礎知識介紹供大家參考佣蓉。
IPFS礦機收益來源:IPFS網絡中披摄,礦機的收益將主要來源于檢索和儲存,越多的存儲空間被占用偏螺,越多的上傳下載被利用行疏,越多的關鍵詞被檢索到礦工的收益越高。不同于傳統(tǒng)GPU或ASIC礦機套像,其收益波動性大(因為我們很難知道明天哪個文件關鍵詞會成為檢索熱點)酿联,但由于其不需要強大的計算核心,僅需要硬盤空間與網絡帶寬,或許能避免傳統(tǒng)POW機制中算力過于集中的弊病贞让,讓更多有閑置資源的群眾參與到POW中來周崭,共同維護IPFS網絡。
(可以私信飛豬要數字助理軟件的試用版)