成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

【戴嘉樂】詳解IPFS的本質(zhì)、技術(shù)架構(gòu)以及應(yīng)用

whlong / 818人閱讀

摘要:戴嘉樂去年月參與了的眾籌,從而了解到技術(shù),獨(dú)立開發(fā)了兩款基于的開源應(yīng)用,一個是與有關(guān)的系統(tǒng),另一個是相關(guān)的地理位置檢索系統(tǒng)。現(xiàn)在支持的數(shù)據(jù)結(jié)構(gòu),支持比特幣以太坊的區(qū)塊數(shù)據(jù)。

戴嘉樂是前百度高級研發(fā)工程師,ipfser.org&巴比特專欄作者。戴嘉樂去年8月參與了FileCoin的眾籌,從而了解到IPFS技術(shù),獨(dú)立開發(fā)了兩款基于IPFS的開源應(yīng)用,一個是與IPFS有關(guān)的wiki系統(tǒng),另一個是IPFS相關(guān)的地理位置檢索系統(tǒng)。

IPFS是什么?

IPFS的中文名是星際文件系統(tǒng),由Juan Benet在2014年5月份發(fā)起。Juan Benet的個人經(jīng)歷很傳奇,他畢業(yè)于斯坦福大學(xué),在創(chuàng)建IPFS項目之前,他創(chuàng)辦的第一家公司被雅虎收購。2015年,他創(chuàng)建的IPFS在YCombinator孵化競賽中拿到了巨額的投資,同時成立了協(xié)議實(shí)驗室。這個實(shí)驗室團(tuán)隊由14位核心開發(fā)者以及社區(qū)中上百位代碼貢獻(xiàn)者組成的。

IPFS本質(zhì)上是一種內(nèi)容可尋址、版本化、點(diǎn)對點(diǎn)超媒體的分布式存儲、傳輸協(xié)議,目標(biāo)是補(bǔ)充甚至取代過去20年里使用的超文本媒體傳輸協(xié)議(HTTP),希望構(gòu)建更快、更安全、更自由的互聯(lián)網(wǎng)時代。

我們每天上網(wǎng)使用APP刷朋友圈、微博都在使用HTTP協(xié)議,它基于TCP/IP的計算機(jī)應(yīng)用層面,從服務(wù)器傳輸超文本數(shù)據(jù)到本地瀏覽器,本地瀏覽器或APP渲染后呈現(xiàn)給用戶?;谶@樣的網(wǎng)絡(luò)環(huán)境構(gòu)成了CS或BS架構(gòu),最后注入BAT這樣大型網(wǎng)絡(luò)提供商。

互聯(lián)網(wǎng)平臺所提供的網(wǎng)絡(luò)服務(wù)大致經(jīng)過了三種模式的迭代歷程:

1.第一個模式屬于集中化,例如早期的12306因為沒法分散去做,只有一個中心服務(wù)群,所有買票的流量直接搭載在這個服務(wù)群上,承載的壓力非常大。

2.第二個模式屬于分散集群,類似于O2O百團(tuán)大戰(zhàn)時各個網(wǎng)站需要建立不同區(qū)域下的服務(wù)群,它們背后的IDC機(jī)房,會讓同樣的服務(wù)在一個局域內(nèi)分散,這就減輕了中心服務(wù)器的壓力。

前兩種模式容易產(chǎn)生一些弊端:在第一種模式里,服務(wù)高度依賴中心網(wǎng)絡(luò)。大公司或者創(chuàng)業(yè)公司無法承受宕機(jī),運(yùn)維有一個KPI指數(shù)叫SLA,穩(wěn)定性沒有到99.9%的話,基本不合格。SLA需要消耗特別大的成本,大公司需要雇一批運(yùn)維專家或?qū)I(yè)人士,去保障系統(tǒng)的穩(wěn)定性。在第二種模式里,存儲數(shù)據(jù)有丟失的風(fēng)險。大家經(jīng)常開玩笑的電纜被挖斷,員工刪庫跑路,都是隱患。同時,這兩種模式的帶寬成本相對高很多,會造成一定帶寬資源的浪費(fèi)。比如《中國有嘻哈》第一期海選的視頻播放量有10億次,假設(shè)視頻文件大小是1GB,播放整個視頻需要消耗1000PB的帶寬量。如果按照0.001美元1GB帶寬成本,愛奇藝光一期節(jié)目需要支付一百萬美金給ISP(互聯(lián)網(wǎng)服務(wù)提供商)。

3.IPFS有希望成為第三種模式。IPFS想打造一個點(diǎn)對點(diǎn)的網(wǎng)絡(luò)拓?fù)洌喈?dāng)于顛覆HTTP所代表的分布關(guān)系,它具有內(nèi)容可尋址的特點(diǎn),通過文件內(nèi)容生成唯一的哈希標(biāo)識,一定程度上節(jié)約了空間開銷的成本。

HTTP協(xié)議使用的域名尋址,最終會映射到最底層,找到某個域名所對應(yīng)的IP地址下的某個主機(jī),以及某個文件目錄的某個文件。它不關(guān)心是否存在相同的文件,但內(nèi)容尋址會通過唯一的標(biāo)識去訪問,并且提前檢驗這個標(biāo)識是否已經(jīng)被存儲過。如果被存儲過,直接從其它節(jié)點(diǎn)讀取它,不需要重復(fù)存儲,一定意義上節(jié)約了空間。

舉個具體場景的例子。假設(shè)我想要看《環(huán)太平洋》這部電影,小明之前下載過這部電影,他啟動了IPFS節(jié)點(diǎn),將這個視頻文件加入了IPFS網(wǎng)絡(luò)。他會得到一個哈希指紋b,同時發(fā)布到公共網(wǎng)關(guān),得到了一個/IPFS/b的路徑名。他把哈希指紋和路徑名都告訴我,我要做的事情是啟動一個本地節(jié)點(diǎn),對該網(wǎng)關(guān)發(fā)一個尋址PIN的請求,IPFS自動索引分布式哈希表的哈希值,找到指紋b所對應(yīng)的節(jié)點(diǎn)列表。大的視頻通常不會都存在一個節(jié)點(diǎn),可能分片存在其它一些子節(jié)點(diǎn)上,IPFS把這些節(jié)點(diǎn)列表全部并行抓取,最后由本地的manager拼成完整的文件。并行的速度遠(yuǎn)遠(yuǎn)大于直接下載完整文件的速度,我很快就能在本地化的瀏覽器上看到電影,還可以繼續(xù)分享給其他人。

IPFS的架構(gòu)

IPFS至少有八層子協(xié)議棧,從上至下為身份、網(wǎng)絡(luò)、路由、交換、對象、文件、命名、應(yīng)用,每個協(xié)議棧各司其職,又互相搭配。

身份層和路由層可以一起解釋。對等節(jié)點(diǎn)身份信息的生成以及路由規(guī)則是通過Kademlia協(xié)議生成制定,KAD協(xié)議實(shí)質(zhì)是構(gòu)建了一個分布式松散Hash表,簡稱DHT,每個加入這個DHT網(wǎng)絡(luò)的人都要生成自己的身份信息,然后才能通過這個身份信息去負(fù)責(zé)存儲這個網(wǎng)絡(luò)里的資源信息和其他成員的聯(lián)系信息。如同微信名片分享,在無法通過直接搜索微信號的情況下,如果你要找一個人,可以通過有這個人聯(lián)系方式的朋友分享名片來建立聯(lián)系。

網(wǎng)絡(luò)層比較核心,使用的LibP2P可以支持任意傳輸層協(xié)議。NAT技術(shù)能讓內(nèi)網(wǎng)中的設(shè)備共用同一個外網(wǎng)IP,我們都體驗過的家庭路由器就是這個原理。

交換層,是類似迅雷這樣的BT工具。迅雷其實(shí)是模擬了P2P網(wǎng)絡(luò),并創(chuàng)建中心服務(wù)器,當(dāng)服務(wù)器登記用戶請求資源時,讓請求同樣資源的用戶形成一個小集群swarm,在這里分享數(shù)據(jù)。這種方式有弊端,因為服務(wù)器是由迅雷統(tǒng)一維護(hù),如果出現(xiàn)了故障、宕機(jī)時,下載操作無法進(jìn)行。中心化服務(wù)還可以限制一些下載請求,人們發(fā)明了一種更聰明的方式就是Bittorrent,讓每一個種子節(jié)點(diǎn)所要存儲的數(shù)據(jù),通過哈希表存儲在里面,BT工具相對不太受監(jiān)管,服務(wù)更加穩(wěn)定。

IPFS團(tuán)隊把BitTorrent進(jìn)行了創(chuàng)新,叫作Bitswap,它增加了信用和帳單體系來激勵節(jié)點(diǎn)去分享,我推斷FileCoin有很大概率是基于Bitswap,用戶在Bitswap里增加數(shù)據(jù)會增加信用分,分享得越多信用分越高。如果用戶只去檢索數(shù)據(jù)而不存數(shù)據(jù),信用分會越來越低,其它節(jié)點(diǎn)會在嵌入連接時優(yōu)先選擇信用分高的。

這一設(shè)計可以解決女巫攻擊,信用分不可能靠機(jī)器刷去提高,一直刷檢索請求,信用分越刷越低。請求次數(shù)和存儲量的變量之間有一個比較精妙的算法,類似一個拋物線,前期可以容忍很多東西,達(dá)到一定次數(shù)后不再信任。

對象層和文件層適合結(jié)合來談,它們管理的是IPFS上80%的數(shù)據(jù)結(jié)構(gòu),大部分?jǐn)?shù)據(jù)對象都是以MerkleDag的結(jié)構(gòu)存在,這為內(nèi)容尋址和去重提供了便利。文件層是一個新的數(shù)據(jù)結(jié)構(gòu),和DAG并列,采用Git一樣的數(shù)據(jù)結(jié)構(gòu)來支持版本快照。

命名層具有自我驗證的特性(當(dāng)其他用戶獲取該對象時,使用指紋公鑰進(jìn)行驗簽,即驗證所用的公鑰是否與NodeId匹配,這驗證了用戶發(fā)布對象的真實(shí)性,同時也獲取到了可變狀態(tài)),并且加入了IPNS這個巧妙的設(shè)計來使得加密后的DAG對象名可定義,增強(qiáng)可閱讀性。

最后是應(yīng)用層,IPFS核心價值就在于上面運(yùn)行的應(yīng)用程序,我們可以利用它類似CDN的功能,在成本很低的帶寬下,去獲得想要的數(shù)據(jù),從而提升整個應(yīng)用程序的效率。

新的技術(shù)取代老的技術(shù),無非就兩點(diǎn):第一,能提高系統(tǒng)效率;第二,能夠降低系統(tǒng)成本。IPFS把這兩點(diǎn)都做到了。

我整理了一個IPFS族譜關(guān)系圖,同時也是一個縱向數(shù)據(jù)流圖。剛才所說的八層協(xié)議,其實(shí)每一層的實(shí)現(xiàn)都綁定在對應(yīng)的模塊下,進(jìn)行了一個直觀的圖表設(shè)計。

IPFS的團(tuán)隊在開發(fā)時,采用高度模塊集成化的方式,像搭積木一樣去開發(fā)整個項目。協(xié)議實(shí)驗室團(tuán)隊2015年創(chuàng)立,到17年的時間里都在做IPLD、LibP2P、Multiformats這三個模塊的開發(fā),它們服務(wù)于IPFS底層。

Mutiformats是一系列hash加密算法和自描述方式(從值上就可以知道值是如何生成)的集合,它具有SHA1SHA256 SHA512Blake3B等6種主流的加密方式,用以加密和描述nodeID以及指紋數(shù)據(jù)的生成。

LibP2P是IPFS核心中的核心,面對各式各樣的傳輸層協(xié)議以及復(fù)雜的網(wǎng)絡(luò)設(shè)備,它可以幫助開發(fā)者迅速建立一個可用P2P網(wǎng)絡(luò)層,快速且節(jié)約成本,這也是為什么IPFS技術(shù)被眾多區(qū)塊鏈項目青睞的緣由。

IPLD其實(shí)是一個轉(zhuǎn)換中間件,將現(xiàn)有的異構(gòu)數(shù)據(jù)結(jié)構(gòu)統(tǒng)一成一種格式,方便不同系統(tǒng)之間的數(shù)據(jù)交換和互操作?,F(xiàn)在IPLD支持的數(shù)據(jù)結(jié)構(gòu),支持比特幣、以太坊的區(qū)塊數(shù)據(jù)。這也是IPFS為什么受到區(qū)塊鏈系統(tǒng)歡迎的原因之二,它的IPLD中間件可以把不同的區(qū)塊結(jié)構(gòu)統(tǒng)一成一個標(biāo)準(zhǔn)進(jìn)行傳遞,為開發(fā)者提供了成功性比較高的標(biāo)準(zhǔn),不用擔(dān)心性能、穩(wěn)定和bug。

IPFS應(yīng)用了這幾個模塊的功能,集成為一種容器化的應(yīng)用程序,運(yùn)行在獨(dú)立節(jié)點(diǎn)上,以Web服務(wù)的形式,供大家使用訪問。

最后是Filecoin, 作為去年7月才宣布的項目,它的開發(fā)進(jìn)度至今保密。Filecoin把這些應(yīng)用的數(shù)據(jù)價值化,通過類似比特幣的激勵政策和經(jīng)濟(jì)模型,讓更多的人去創(chuàng)建節(jié)點(diǎn),去讓更多的人使用IPFS。

我更希望大家把IPFS和FileCoin分開來看,如果IPFS玩得好,可以創(chuàng)建很多FileCoin項目出來,它本身的價值和意義沒有IPFS這么大。

IPFS的應(yīng)用意義

第一,可以為內(nèi)容創(chuàng)作帶來一定的自由。Akasha是一個典型的應(yīng)用,它是一個基于以太坊和IPFS的社交博客創(chuàng)作平臺,用戶創(chuàng)作的博客內(nèi)容通過一個IPFS網(wǎng)絡(luò)進(jìn)行發(fā)布,而非中心服務(wù)器。同時,用戶和以太坊錢包賬戶進(jìn)行綁定,用戶可以對優(yōu)質(zhì)內(nèi)容進(jìn)行ETH打賞,內(nèi)容創(chuàng)作者能以此賺取ETH,如同人腦挖礦一樣。它沒有太多監(jiān)管的限制,也沒有中間商抽成,內(nèi)容收益直接歸創(chuàng)作者所有。

第二,可以降低存儲和帶寬成本。我之前也舉過愛奇藝的例子,而做視頻比較成功的項目叫「Dtube」。它是一個搭建在Steemit上的去中心化視頻播放平臺,其用戶上傳的視頻文件都經(jīng)過IPFS協(xié)議進(jìn)行存儲,具有唯一標(biāo)識。相較于傳統(tǒng)視頻網(wǎng)站,它降低了同資源冗余程度,同時大大節(jié)約了海量用戶在播放視頻時所產(chǎn)生的帶寬成本。

第三個,可以與區(qū)塊鏈完美結(jié)合。區(qū)塊鏈的本質(zhì)是分布式賬本,本身的瓶頸之一就是賬本的存儲能力,目前大部分公鏈的最大問題是沒法存儲大量的超媒體數(shù)據(jù)在自己的鏈上。比特幣至今全部的區(qū)塊數(shù)據(jù)也才30-40G左右,以太坊這樣可編程的區(qū)塊鏈項目也只能執(zhí)行和存儲小段合約代碼,DApp想發(fā)展成超級App,受到了極大的限制。

運(yùn)用IPFS技術(shù)解決存儲瓶頸是目前來看的過渡方案,最典型的應(yīng)用就是EOS。EOS引以為傲的是可以支持百萬級別TPS的并發(fā)量,其中除了DPOS共識機(jī)制的功勞之外,還歸功于其底層存儲設(shè)計是采取IPFS來解決大型數(shù)據(jù)的傳輸效率。

EOS將自己打包好的區(qū)塊數(shù)據(jù)通過IPLD進(jìn)行異構(gòu)處理,統(tǒng)一成一種便于內(nèi)容尋址的數(shù)據(jù)結(jié)構(gòu)類型,并掛載到IPFS的link上,讓IPFS網(wǎng)絡(luò)承擔(dān)存儲和P2P檢索的邏輯,而不消耗EOS區(qū)塊鏈系統(tǒng)本身太多的計算資源。

第四,可以為傳統(tǒng)應(yīng)用提供分布式緩存方案。 IPFS-GEO 是我自己之前寫的,它是一個為傳統(tǒng)LBS應(yīng)用提供分布式緩存的項目,可以將地理位置坐標(biāo)數(shù)據(jù)通過GeoHash算法轉(zhuǎn)化成一維字符串,并將與之相關(guān)聯(lián)的具有檢索價值的數(shù)據(jù)存入IPFS網(wǎng)絡(luò),由IPFS網(wǎng)絡(luò)標(biāo)識唯一性,并分布在各個鄰近節(jié)點(diǎn)上。

當(dāng)檢索請求到來時,系統(tǒng)先通過字符串近似度范圍比較,縮小檢索范圍,加快檢索效率,通過NodeID從附近節(jié)點(diǎn)拿到超媒體數(shù)據(jù),達(dá)到類似分布式緩存的效果,大大提高了LBS應(yīng)用整個檢索動作的效率。

IPFS的明星應(yīng)用

OpenBazaar是IPFS上的一個明星應(yīng)用,我給它取了一個中文名叫開放集市,前一段時間剛拿到比特大陸500萬美元的投資。

在之前的1.0版本,OpenBazaar被稱之為黑市,那時沒有應(yīng)用IPFS,利用ZeroMQ來實(shí)現(xiàn)P2P交易,一定程度也繞過了中心化的檢查,把交易的手續(xù)費(fèi)作為紅利給到用戶。同時它整合了比特幣作為支付渠道,轟動一時,用戶數(shù)量在短時間內(nèi)迅速提升。

開放集市在2.0版本發(fā)布之后,考慮到法律等因素,官方加入了一層審查機(jī)制,同時支持了比特幣之外的BCH等數(shù)字貨幣,并且整合和重構(gòu)IPFS,取代了之前的ZeroMQ。

現(xiàn)在,眾多開放集市上的商店在沒有用戶上線的情況下,也可以在主機(jī)上就被運(yùn)行。以前必須同時登陸才可以交易,現(xiàn)在利用IPFS相當(dāng)于實(shí)現(xiàn)了離線店鋪。這同時意味著,訪問你的店鋪的人越多,店鋪數(shù)據(jù)被復(fù)制越多,有利于優(yōu)質(zhì)的店鋪宣傳和推廣,這是一定意義上的價值回歸。

我把它稱為明星項目,不光因為它是基于IPFS而且做得不錯,還因為它對IPFS全部的重構(gòu),它把IPFS所有的源碼、協(xié)議和各種配套設(shè)施都重新開,不僅重構(gòu)了IPFS的分支,改了協(xié)議名,同時也更改了協(xié)議頭,一定意義上把OB的網(wǎng)絡(luò)和主的IPFS網(wǎng)絡(luò)隔離開。

OpenBazaar希望有更集中化的控制,想建立自己的礦場和機(jī)房來保證服務(wù)的穩(wěn)定,在去中心和中心化之間選擇了一個中間點(diǎn)。我覺得目前大部分的傳統(tǒng)應(yīng)用和公司,也可以這樣去考慮。完全去中心化不太可能,所以可以取其精華、去其糟粕。


相關(guān)文章和視頻推薦

[ 【董天一】什么是IPFS?(一)]()

圓方圓學(xué)院匯集大批區(qū)塊鏈名師,打造精品的區(qū)塊鏈技術(shù)課程。 在各大平臺都長期有優(yōu)質(zhì)免費(fèi)公開課,歡迎報名收看。
公開課地址:https://ke.qq.com/course/345101? ? ?

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/24429.html

相關(guān)文章

  • 嘉樂】(入門)基于IPFS和Ngrok構(gòu)建自維護(hù)資源網(wǎng)關(guān)

    摘要:作者簡介戴嘉樂前百度高級研發(fā)工程師應(yīng)用實(shí)踐者布道師個人網(wǎng)站聯(lián)系方式微信號。二技術(shù)介紹對這項技術(shù)不熟悉的同學(xué),可以參考我之前一次演講分享的內(nèi)容戴嘉樂詳解的本質(zhì)技術(shù)架構(gòu)以及應(yīng)用。 作者簡介:戴嘉樂( Mr.Maple ) | 前百度高級研發(fā)工程師 | IPFS應(yīng)用實(shí)踐者&布道師|個人網(wǎng)站:https://www.daijiale.cn聯(lián)系方式:微信號:daijiale6239。 一、應(yīng)用背...

    CloudwiseAPM 評論0 收藏0
  • 嘉樂】利用IPFS構(gòu)建自己去中心化分布式Wiki系統(tǒng)

    摘要:全稱,中文名星際文件系統(tǒng),是一個旨在創(chuàng)建持久且分布式存儲和共享文件的網(wǎng)絡(luò)傳輸協(xié)議。在網(wǎng)絡(luò)中的節(jié)點(diǎn)將構(gòu)成一個分布式文件系統(tǒng)。使用稱為去中心化命名系統(tǒng),每個文件都可以被協(xié)作命名為易讀的名字。三項目實(shí)踐利用構(gòu)建一個去中心化不可篡改的分布式系統(tǒng)。 作者簡介:戴嘉樂( Mr.Maple ) | 前百度高級研發(fā)工程師 | IPFS應(yīng)用實(shí)踐者&布道師|個人網(wǎng)站:https://www.daijial...

    keithxiaoy 評論0 收藏0
  • 嘉樂】(進(jìn)階)基于IPFS和Ngrok構(gòu)建自維護(hù)資源網(wǎng)關(guān)

    摘要:五參考文獻(xiàn)區(qū)塊鏈利用構(gòu)建自己的去中心化分布式系統(tǒng)相關(guān)文章和視頻推薦戴嘉樂入門基于和構(gòu)建自維護(hù)資源網(wǎng)關(guān)圓方圓學(xué)院匯集大批區(qū)塊鏈名師,打造精品的區(qū)塊鏈技術(shù)課程。 作者簡介:戴嘉樂( Mr.Maple ) | 前百度高級研發(fā)工程師 | IPFS應(yīng)用實(shí)踐者&布道師|個人網(wǎng)站:https://www.daijiale.cn聯(lián)系方式:微信號:daijiale6239。 一、背景 上篇文章[《(入門...

    xiyang 評論0 收藏0
  • 嘉樂】基于IPFS和GeoHash構(gòu)建具有地理位置價值服務(wù)DDApp(理論篇)

    摘要:數(shù)據(jù)將具有如下個特點(diǎn)將二維的經(jīng)緯度轉(zhuǎn)換成字符串,比如下圖展示了北京個區(qū)域的字符串,分別是,等等,每一個字符串代表了某一矩形區(qū)域。例如,坐標(biāo)對,位于北京安定門附近,后形成的值為。 作者簡介:戴嘉樂( Mr.Maple ) | 前百度高級研發(fā)工程師 | IPFS應(yīng)用實(shí)踐者&布道師|個人網(wǎng)站:https://www.daijiale.cn聯(lián)系方式:微信號:daijiale6239。 show...

    lmxdawn 評論0 收藏0
  • 【許曉笛】EOS:IPFS落地重要途徑

    摘要:寫在前面,這一篇文章是許曉笛在北京開發(fā)者圓桌會議上的發(fā)言實(shí)錄,感謝主辦方戴嘉樂和董天一的邀請,感謝編輯們。我這次分享題目是有可能有點(diǎn)標(biāo)題黨,前面拉了三個字有可能是落地的一個非常重要的途徑。共識機(jī)制共識機(jī)制,就是所有代幣持有人選舉。 寫在前面,這一篇文章是許曉笛 2018.05.20 在北京 《IPFS開發(fā)者圓桌會議》上的發(fā)言實(shí)錄,感謝主辦方戴嘉樂和董天一的邀請,感謝編輯們。先介紹一下《...

    tuomao 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<