400-638-8808
|
微信公眾號





穩(wěn)定可靠 永不間斷

海外收發(fā) 暢通無阻

協(xié)同辦公 資源管理

超大郵件 超級功能

智能反垃圾郵件技術(shù)
易管理 免維護

IPFS是什么?
星際文件系統(tǒng)(InterPlanetary File System)
本質(zhì)上是一種內(nèi)容可尋址、版本化、點對點超媒體的分布式存儲、傳輸協(xié)議,目標是補充乃至取代過去20年里使用的超文本媒體傳輸協(xié)議(HTTP),希望構(gòu)建更快、更安全、更自由開放的互聯(lián)網(wǎng)時代。
Ipfs最核心的技術(shù)是p2p,原來是中心化的服務(wù)器在分發(fā)內(nèi)容,現(xiàn)在我們想要下載某一個內(nèi)容,可以直接建立一個連接,也可以跟其他人連接,迅雷也是這種模式,它是一個虛擬的p2p中心網(wǎng)絡(luò),這里不多細講。
為什么需要IPFS?
HTTP的中心化是低效的, 并且成本很高
油管上,鳥叔的“江南style”這個視頻,累計被播放30億次,假設(shè)這個文件100MB大小,則播放這個視頻浪費300Petabytes(1P=1,000,000GB)的網(wǎng)絡(luò)流量,按照0.01USD/GB算CDN成本,谷歌將支付300W美金給ISP服務(wù)商。
使用HTTP協(xié)議每次需要從中心化的服務(wù)器下載完整的文件(網(wǎng)頁, 視頻, 圖片等), 速度慢, 效率低。如果改用P2P的方式下載, 可以節(jié)省近60%的帶寬。

Web文件經(jīng)常被刪除
http的頁面平均生存周期大約只有100天,Web文件由于存儲成本太高經(jīng)常被刪除,無法永久保存。
IPFS提供了文件的歷史版本回溯功能(就像git版本控制工具一樣), 可以很容易的查看文件的歷史版本, 且數(shù)據(jù)無法刪除,可以得到永久保存。

中心化限制了web的成長
現(xiàn)在使用的互聯(lián)網(wǎng)其實是由數(shù)百萬個分布在世界各地的服務(wù)器構(gòu)成的。世界最大的芯片制造廠商 Intel 有大約10萬臺服務(wù)器,F(xiàn)acebook有3萬臺,美國最大的電話公司 AT&T 也有2萬臺,而 Google有超過100萬臺服務(wù)器。
在現(xiàn)有的http協(xié)議下,所有的數(shù)據(jù)都保存在這些巨頭的服務(wù)器上,這是高度中心化的。巨頭不但對我們的數(shù)據(jù)有絕對的控制權(quán)和解釋權(quán),各種各樣的監(jiān)管,封鎖,監(jiān)控一定程度上也極大的限制了創(chuàng)新和發(fā)展。
建立在去中心化的分布式網(wǎng)絡(luò)上的IFPS很難被中心化管理和限制,互聯(lián)網(wǎng)將更加開放。

互聯(lián)網(wǎng)應用高度依賴互聯(lián)網(wǎng)主干網(wǎng)
過于中心化,為了支撐http協(xié)議,服務(wù)器7*24小時開啟,對于大流量公司,比如百度、騰訊、阿里等,投入大量資源維護服務(wù)器和安全隱患,防止DDoS,XSS,CSRF等攻擊。
主干網(wǎng)絡(luò)受制于戰(zhàn)爭,自然災害,中心服務(wù)器宕機等因素,都可能造成整個互聯(lián)網(wǎng)中斷服務(wù)。
IPFS可以極大的降低對中心主干網(wǎng)絡(luò)的依賴。

IPFS如何工作?
IPFS為每一個文件分配一個獨一無二的哈希值(文件指紋: 根據(jù)文件的內(nèi)容進行創(chuàng)建), 即使是兩個文件內(nèi)容只有1個比特的不相同,其哈希值也是不相同的。所以IPFS是基于文件內(nèi)容進行尋址, 而不像傳統(tǒng)的HTTP協(xié)議一樣基于域名尋址。
IPFS在整個網(wǎng)絡(luò)范圍內(nèi)去掉重復的文件, 并且為文件建立版本管理, 也就是說每一個文件的變更歷史都將被記錄(這一點類似版本控制工具git,svn等), 可以很容易個回到文件的歷史版本查看數(shù)據(jù)。
當查詢文件的時候, IPFS網(wǎng)絡(luò)根據(jù)文件的哈希值(全網(wǎng)唯一)進行查找。 由于每個文件的哈希值全網(wǎng)唯一, 查詢將很容易進行。
如果僅僅使用哈希值來區(qū)分文件的話,會給傳播造成困難,因為哈希值不容易記憶,就像ip地址一樣不容易記憶,于是人類發(fā)明的域名。IPFS利用IPNS將哈希值映射為容易記的名字。
每個節(jié)點除了存儲自己需要的數(shù)據(jù),還存儲了一張哈希表, 用來記錄文件存儲所在的位置,用來進行文件的查詢下載。
IPFS的架構(gòu)
IPFS 協(xié)議棧
身份 S/Kademlia生成 對等身份信息生成
網(wǎng)絡(luò) 任意傳輸層協(xié)議 ICE NET & NAT穿透
路由 分布式松散哈希表(DSHT) 定位對等點和存儲對象需要的信息
交換 BitTorrent& BitSwap 管理區(qū)塊如何分布
對象 Merkle-DAG 內(nèi)容可尋址的不可篡改、去冗余的對象鏈接
文件 類似Git 版本控制的文件系統(tǒng):blob,list, tree, commit
命名 具有SFS(Self-CertifiedFilesystems)IPNS:DAG對象命名可變
應用 在IPFS上運行的應用程序利用最近節(jié)點提供服務(wù)提供效率、降低成本
身份層和路由層
對等節(jié)點身份信息的生成以及路由規(guī)則是通過Kademlia協(xié)議生成制定,KAD協(xié)議實質(zhì)是構(gòu)建了一個分布式松散Hash表(distributedhash table),簡稱DHT,每個加入這個DHT網(wǎng)絡(luò)的人都要生成自己的身份信息,然后才能通過這個身份信息去負責存儲這個網(wǎng)絡(luò)里的資源信息和其他成員的聯(lián)系信息。
網(wǎng)絡(luò)層
LibP2P可以支持任意傳輸層協(xié)議。
ICE NAT traversal框架整合STUN、TURN和其他類型的NAT協(xié)議,該框架可以讓客戶端利用各種NAT方式打通網(wǎng)絡(luò),從而完成NAT通信,這對于IPFS的p2p網(wǎng)絡(luò)非常重要。
交換層
類似迅雷這樣的BT工具,IPFS團隊把BitTorrent進行了創(chuàng)新,叫作Bitswap,它增加了信用和帳單體系來激勵節(jié)點去分享,用戶在發(fā)送給其他節(jié)點數(shù)據(jù)可以增加信用值,從其他節(jié)點接受數(shù)據(jù)降低信用值。如果用戶只去接收數(shù)據(jù)而不分享數(shù)據(jù),信用分會越來越低而被其他節(jié)點忽略掉。
對象層和文件層
共同管理IPFS上80%的數(shù)據(jù)結(jié)構(gòu)。
大部分數(shù)據(jù)對象都是以MerkleDag的結(jié)構(gòu)存在,這為內(nèi)容尋址和去重提供了便利。
文件層是一個新的數(shù)據(jù)結(jié)構(gòu),和DAG并列,采用Git一樣的數(shù)據(jù)結(jié)構(gòu)來支持版本快照。
命名層
具有自我驗證的特性(當其他用戶獲取該對象時,使用指紋公鑰進行驗簽,即驗證所用的公鑰是否與NodeId匹配,這驗證了用戶發(fā)布對象的真實性,同時也獲取到了可變狀態(tài)),并且加入了IPNS這個巧妙的設(shè)計來使得加密后的DAG對象名可定義,增強可閱讀性。
應用層
IPFS核心價值就在于上面運行的應用程序,可以利用它類似CDN的功能,在成本很低的帶寬下,去獲得想要的數(shù)據(jù),從而提升整個應用程序的效率。
IPFS家族
IPFS項目其實很大,并不是一個東西,IPFS是由很多模塊組成,每一個模塊現(xiàn)在都已經(jīng)獨立成項目了,并且有自己的主頁。
協(xié)議實驗室的主頁:https://protocol.ai/projects/
在協(xié)議實驗室的主頁上面,可以找到目前的五個項目,來簡單看一下IPFS家族成員:

Filecoin
IPFS只是一個協(xié)議, 并不是挖礦軟件本身。Filecoin系統(tǒng)才是挖礦軟件本身, 代幣名字是 FIL。Filecoin使用了IPFS 協(xié)議來運行系統(tǒng)。
FIL代幣總共有20億枚。分配方案,總共有四個部分組成:
70%作為挖礦的回報:像比特幣一樣根據(jù)挖礦的進度逐步分發(fā)
15%預留Protocol Labs:作為研發(fā)費用, 6年逐步解禁
10%分配給ICO投資者: 根據(jù)挖礦進度, 逐步解禁
5%預留給Filecoin基金會: 作為長期社區(qū)建設(shè), 網(wǎng)絡(luò)管理等費用, 6年逐步解禁
私募時間:2017.07.21-2017.7.24
成本:0.75美元
行權(quán)期:1-3年,折扣額0-30%
參與人數(shù):150+人
募集金額:0.52億美元
公募時間:2017.08.07-2017.09.07
成本:1-5美元
行權(quán)期:1-3年,折扣額0-30%
參與人數(shù):2100+人
募集資金:2.05億美元
Filecoin與挖礦市場
Filecoin存儲市場(Filecoin Storage Market)
數(shù)據(jù)存儲市場所需要貢獻的就是硬盤存儲空間,越多的硬盤空間,挖礦能力就越高,存儲市場采用的工作量證明是PoS(Power of Storage)證明,根據(jù)存儲的數(shù)據(jù)大小來按比例分配FIL
Filecoin數(shù)據(jù)檢索市場(Filecoin Retrieval Market)
數(shù)據(jù)檢索市場貢獻帶寬,根據(jù)訪問數(shù)據(jù)的流量來分配FIL
Filecoin場景
用戶場景:
1.用戶提交數(shù)據(jù)存儲訂單(PUT)給Filecoin系統(tǒng)
2.用戶提價數(shù)據(jù)檢索訂單(GET)給Filecoin系統(tǒng)
3.如果上述訂單達成,用戶支付FIL以獲取相應的服務(wù)
存儲礦工場景:
1.在區(qū)塊鏈上注冊自己硬盤空間,注冊完成后硬盤空間將被記錄到區(qū)塊鏈的配置表里面
2.接受訂單,用戶提交的存儲訂單(PUT)
3.訂單交易達成后,雙方對交易進行簽名,礦工完成數(shù)據(jù)存儲,交易完成后該交易被記錄到區(qū)塊
4.用戶獲取到對應的支付
檢索礦工場景:
1.接受訂單,用戶提交數(shù)據(jù)查詢訂單(GET)
2.交易達成后,雙方對交易進行簽名,礦工把數(shù)據(jù)發(fā)送給用戶,該交易提交到區(qū)塊
Filecoin證明
數(shù)據(jù)持有性證明(Provable Data Possession ,PDP):用戶發(fā)送數(shù)據(jù)給礦工進行存儲,礦工證明數(shù)據(jù)已經(jīng)被自己存儲,用戶可以重復檢查礦工是否還在存儲自己的數(shù)據(jù)
可檢索證明(Proof-of-Retrievability,PoRet):和PDP過程比較類似,證明礦工存儲的數(shù)據(jù)是可以用來查詢的
存儲證明(Proof-of-Storage ,PoS):利用存儲空間進行的證明。工作量證明的一種,F(xiàn)ilecoin上一篇論文使用了這個名字,新的論文則升級為PoRep
復制證明(Proof-of-Replication,PoRep):新的 PoS(Proof-of-Storage),PoRep可以保證每份數(shù)據(jù)的存儲都是獨立的,可以防止女巫攻擊,外源攻擊和生成攻擊
工作量證明(Proof-of-Work,PoW):證明者向檢驗者證明自己花費了一定的資源,PoW被用在加密貨幣,拜占庭共識和其他各種區(qū)塊鏈系統(tǒng)。BTC使用的就是這種類型的證明,依賴巨量的哈希計算和能源消耗來建立共識和保證btc網(wǎng)絡(luò)的安全性
空間證明(Proof-of-Space,PoSpace):Filecoin提出的概念,存儲量的證明,PoSpace是PoW的一種,不同的是PoW使用的計算資源,而PoSpace使用的是存儲資源
時空證明(Proof-of-Spacetime,PoSt):時空證明,礦工證明自己花費了spacetime資源,即:一定時間內(nèi)的存儲空間的使用,PoSt是基于PoReps實現(xiàn)的
Libp2p
IPFS團隊將點對點(peer-to-peer)網(wǎng)絡(luò)的網(wǎng)絡(luò)層從IPFS工程里面分離出來,形成一個獨立的項目,這就是libp2p。該項目不僅可以供IPFS使用,也可以提供其它項目使用,作為一個p2p工程的底層協(xié)議存在。
主要功能:
發(fā)現(xiàn)節(jié)點
連接節(jié)點
發(fā)現(xiàn)數(shù)據(jù)
傳輸數(shù)據(jù)

IPLD
IPLD定義了基于內(nèi)容尋址的統(tǒng)一數(shù)據(jù)結(jié)構(gòu)類型。它是一個轉(zhuǎn)換器,可以把現(xiàn)有的異構(gòu)的數(shù)據(jù)結(jié)構(gòu)(基于內(nèi)容尋址)統(tǒng)一成一種格式,方便不同系統(tǒng)之間的數(shù)據(jù)交換和互操作。
通過哈希進行內(nèi)容尋址的技術(shù)已經(jīng)廣泛應用于各種分布式系統(tǒng)。從加密貨幣的區(qū)塊鏈到備份代碼的每一次提交,再到各種web內(nèi)容,他們背后的邏輯幾乎是相同的,然后由于數(shù)據(jù)結(jié)構(gòu)的不兼容,造成了這些數(shù)據(jù)無法互相操作。IPLD作為中間層統(tǒng)一了這些異構(gòu)的數(shù)據(jù)結(jié)構(gòu),使得不同的數(shù)據(jù)可以進行數(shù)據(jù)交換。
IPLD的組成:
CID(Self-describingcontent-addressed identifiers for distributed systems):基于內(nèi)容尋址的自我描述標識
IPLDtree:基于 JSON、Protobuf和路徑導航的跨協(xié)議的數(shù)據(jù)模型
IPLD Resolvers: IPLD轉(zhuǎn)換器,可以添加新的協(xié)議到IPLD里面
Multiformats
Multiformats是一系列協(xié)議的集合,它在現(xiàn)有協(xié)議基礎(chǔ)上對值(值:通常是具有某一項表達意義的)進行自我描述改造,即從值上就可以知道該值是如何產(chǎn)生的。
當前multiformats協(xié)議里面包含以下協(xié)議。
multihash- self-describing hashes
multiaddr- self-describing network addresses
multibase- self-describing base encodings
multicodec - self-describingserialization
multistream- self-describing stream network protocols
multigram(WIP) - self-describing packet network protocols
通常情況下我們使用的哈希計算方法都是某一種實現(xiàn)方式,比如sha1,sha2-256等。哈希計算在軟件工程里面幾乎隨處可見,特別是區(qū)塊鏈項,multiformats將所有的哈希值計算統(tǒng)一成同樣的格式,為系統(tǒng)開發(fā)帶來很多好處
以multihash為例:
升級后的哈希值的結(jié)構(gòu)為:
<hash-func-type><digest-length><digest-value>
<哈希函數(shù)類型><摘要長度><摘要值>
有一個使用sha2-256函數(shù)生成的哈希值(如下),其長度為32(16進制0x20):
41dd7b6443542e75701aa98a0c235951a28a0d851b11564d20022ab11d2589a8
規(guī)定sha2-256的代表數(shù)字為12(16進制),于是得出來新的哈希值:
122041dd7b6443542e75701aa98a0c235951a28a0d851b11564d20022ab11d2589a8
新的哈希值具有自我描述性質(zhì),它說明了自己是怎么來的
IPFS應用及意義
可以為內(nèi)容創(chuàng)作帶來一定的自由
代表應用:
Akasha( https://blog.akasha.world )是一個基于以太坊和IPFS的社交博客創(chuàng)作平臺,用戶創(chuàng)作的博客內(nèi)容通過一個IPFS網(wǎng)絡(luò)進行發(fā)布,而非中心服務(wù)器。
同時,用戶和以太坊錢包賬戶進行綁定,用戶可以對優(yōu)質(zhì)內(nèi)容進行ETH打賞,內(nèi)容創(chuàng)作者能以此賺取ETH,如同人腦挖礦一樣。它沒有太多監(jiān)管的限制,也沒有中間商抽成,內(nèi)容收益直接歸創(chuàng)作者所有。
可以降低存儲和帶寬成本
代表應用:
Dtube(https://d.tube)是一個搭建在Steemit上的去中心化視頻播放平臺,其用戶上傳的視頻文件都經(jīng)過IPFS協(xié)議進行存儲,具有唯一標識。相較于傳統(tǒng)視頻網(wǎng)站,它降低了同資源冗余程度,同時大大節(jié)約了海量用戶在播放視頻時所產(chǎn)生的帶寬成本。
可以與區(qū)塊鏈完美結(jié)合
代表應用:
EOS引以為傲的是可以支持百萬級別TPS的并發(fā)量,其中除了DPOS共識機制的功勞之外,還歸功于其底層存儲設(shè)計是采取IPFS來解決大型數(shù)據(jù)的傳輸效率。
EOS將自己打包好的區(qū)塊數(shù)據(jù)通過IPLD進行異構(gòu)處理,統(tǒng)一成一種便于內(nèi)容尋址的數(shù)據(jù)結(jié)構(gòu)類型,并掛載到IPFS的link上,讓IPFS網(wǎng)絡(luò)承擔存儲和P2P檢索的邏輯,而不消耗EOS區(qū)塊鏈系統(tǒng)本身太多的計算資源。
天下數(shù)據(jù)IDC提供香港服務(wù)器、美國服務(wù)器等全球海外服務(wù)器租用托管,是區(qū)域鏈、直銷、流媒體、外貿(mào)、游戲等服務(wù)器解決方案首選品牌。
產(chǎn)品與服務(wù)
香港服務(wù)器 香港高防服務(wù)器 美國服務(wù)器 韓國服務(wù)器 新加坡服務(wù)器 日本服務(wù)器 臺灣服務(wù)器云服務(wù)器
香港云主機 美國云主機 韓國云主機 新加坡云主機 臺灣云主機 日本云主機 德國云主機 全球云主機高防專線
海外高防IP 海外無限防御 SSL證書 高防CDN套餐 全球節(jié)點定制 全球?qū)>GPLC關(guān)于我們
關(guān)于天下數(shù)據(jù) 數(shù)據(jù)招商加盟 天下數(shù)據(jù)合作伙伴 天下數(shù)據(jù)團隊建設(shè) 加入天下數(shù)據(jù) 媒體報道 榮譽資質(zhì) 付款方式關(guān)注我們
微信公眾賬號
新浪微博
天下數(shù)據(jù)手機站 關(guān)于天下數(shù)據(jù) 聯(lián)系我們 誠聘英才 付款方式 幫助中心 網(wǎng)站備案 解決方案 域名注冊 網(wǎng)站地圖
天下數(shù)據(jù)18年專注海外香港服務(wù)器、美國服務(wù)器、海外云主機、海外vps主機租用托管以及服務(wù)器解決方案-做天下最好的IDC服務(wù)商
《中華人民共和國增值電信業(yè)務(wù)經(jīng)營許可證》 ISP證:粵ICP備07026347號
朗信天下發(fā)展有限公司(控股)深圳市朗玥科技有限公司(運營)聯(lián)合版權(quán)
深圳總部:中國.深圳市南山區(qū)深圳國際創(chuàng)新谷6棟B座10層 香港總部:香港上環(huán)蘇杭街49-51號建安商業(yè)大廈7樓
7×24小時服務(wù)熱線:4006388808香港服務(wù)電話:+852 67031102
本網(wǎng)站的域名注冊業(yè)務(wù)代理北京新網(wǎng)數(shù)碼信息技術(shù)有限公司的產(chǎn)品