摘要:我們將在這一章源碼倉庫全解析第五章檢索服務(wù)礦工的配置操作中介紹與存儲市場并駕齊驅(qū)而又息息相關(guān)的檢索市場,以及體系中另一重要角色檢索服務(wù)礦工的基本配置操作。
對不起,你們可能關(guān)注了一個愛拖更的公眾號...
不過不拖更,可能這篇也不會有這么多 猛料...
歡迎大家來到第五章,經(jīng)過前章 《【Filecoin源碼倉庫全解析】第四章:存儲需求方(用戶)的配置操作》的內(nèi)容閱讀后,我們應(yīng)該對存儲需求方(用戶)的配置操作有了系統(tǒng)的了解,并在實踐中反過來驗證了第三章中所描述的存儲礦工挖取新塊的過程以及整個的生命周期。
我們將在這一章《【Filecoin源碼倉庫全解析】第五章:檢索服務(wù)(礦工)的配置操作》中介紹與存儲市場并駕齊驅(qū)而又息息相關(guān)的檢索市場,以及Filecoin體系中另一重要角色:檢索服務(wù)(礦工) 的基本配置操作。
5.1 檢索市場小編認為,檢索市場協(xié)議在當下的互聯(lián)網(wǎng)環(huán)境中,是非常非常關(guān)鍵,且有潛力的,這也是Filecoin體系設(shè)計中的一大亮點。
為什么這么說?
太遠的就不追溯了,一起來看下,這兩天發(fā)生在我們身邊,與我們(公司或者個人)息息相關(guān)的事件:
事件一:3月2日23點55分阿里云出現(xiàn)大規(guī)模宕機故障這種事這幾年好像越來越頻繁了,作為一個感同身受的企業(yè)客戶(以下稱為甲方),想吼一句:
如果有一次讓你重新上談判桌的機會,你愿意嗎?
你可能會在談判桌上看到一份這樣的不平等協(xié)議:
甲方重金購置XXX服務(wù)器或者XXX對象存儲服務(wù)之前,先凍結(jié)乙方一部分的抵押金,并同時委托其他方為甲方生成多副本數(shù)據(jù)冷存。檢索數(shù)據(jù)時,乙方出事了,宕機超過閾值了,甲方可無條件沒收抵押金,還有一堆丙丁戊方搶在乙方之前,第一時間立即為您恢復(fù)副本數(shù)據(jù),并繼續(xù)提供實時檢索服務(wù)。(小編猜測,F(xiàn)ilecoin未公布的Repair Miner角色設(shè)定正是為了平衡這塊:你不干,別人搶著干,抵押金會分給最先幫助修復(fù)的朋友)
說到這里:
是不是比差遣研發(fā)運維兄弟來得省心?
是不是比事后看阿里云臉色來獲得理賠更值得推崇?
是不是更能保障甲方的利益?
不知道你怎么想,真有這種好協(xié)議,反正我是簽定了...
你說巨頭們會不會改?
我覺得短時間內(nèi)(也可能是十幾年)、體制難改革...
畢竟這是道人性題,和技術(shù)無關(guān)...
阿里云做不到,
騰訊云也做不到,
亞馬遜應(yīng)該根本不Care...
但把人性和市場經(jīng)濟研究透了的Filecoin,或許真做得到...
事件二:感謝黑客0xDUDE讓我們知道中國普通民眾的明文聊天記錄情理之中,有數(shù)據(jù)黑產(chǎn)的利益驅(qū)動,有實力的黑客們都很難淡定。
而且,以現(xiàn)在網(wǎng)民的平均素質(zhì),關(guān)于自身數(shù)據(jù)有多值錢這件事,大部分是意識不到的...
身處于目前互聯(lián)網(wǎng)體制下的巨頭們都建立在"網(wǎng)絡(luò)中間商"的基礎(chǔ)上,中間商賺的不僅是差價,還有大量的用戶數(shù)據(jù)。
畢竟大部分投資人都比你精明,你就不好奇,那些年的補貼大戰(zhàn),大家究竟燒錢是為了爭奪什么?領(lǐng)完紅包的你,究竟是得了便宜,還是被人套路?
我們真的能夠相信,中間商有意愿,有能力善待網(wǎng)民的數(shù)據(jù)?
至少我不相信,大部分"被害人"不相信,協(xié)議實驗室更不相信...
不僅不信,還設(shè)計了IPFS+Filecoin這套體系,畢竟 "請把你的臟手從我的隱私數(shù)據(jù)上拿開" 這件事總歸還是有人帶頭做的,而且,還做得這么認真且徹底...
Filecoin的檢索市場則是其中最重要的一環(huán):幫助數(shù)據(jù)確權(quán)和去中間商交易。
5.1.1 定位看完慷慨激昂的,我們來點內(nèi)涵的:
正如Star Li在《Filecoin邏輯梳理及源代碼導(dǎo)讀》06小節(jié)所描述的一樣,F(xiàn)ilecoin在協(xié)議層目前設(shè)計的模塊有:Hello協(xié)議,Storage協(xié)議以及Retrieval協(xié)議。(PS:小編通讀完一遍,覺得很棒,作者同樣花費了很多心血研究Filecoin源碼和架構(gòu),并為大家梳理好了其中最為重要的一些關(guān)鍵點,值得大家仔細閱讀。)
Retrieval協(xié)議用以規(guī)范檢索市場,負責文件檢索讀取等交易事務(wù),與負責區(qū)塊同步的Hello協(xié)議和之前詳細介紹的Storage市場協(xié)議并駕齊驅(qū),分別發(fā)揮不同的專屬職能(與存儲市場協(xié)議不同,檢索市場協(xié)議的實時并發(fā)響應(yīng)要求更高,參與鏈上的事務(wù)會更少)。
5.1.2 職能Filecoin體系下的檢索市場(Retrieval Marketing Protocol)是未來真正意義實現(xiàn)Web3.0目標的一個產(chǎn)品雛形。
Web3.0我理解為:消滅網(wǎng)絡(luò)中間商,建造可信互聯(lián)網(wǎng)基礎(chǔ)設(shè)施,讓用戶真正擁有數(shù)據(jù)自主權(quán),保障用戶身份安全以及數(shù)據(jù)交易。
5.2 實現(xiàn)程度需要注意的是,協(xié)議實驗室目前在這塊的開發(fā)進度還處于比較早期,優(yōu)先級并不如其他模塊,僅支持檢索訂單的正常交易和數(shù)據(jù)響應(yīng),版本號也因此暫設(shè)為0。
為了搭建一個完善的檢索市場,已經(jīng)部分實現(xiàn)的依賴功能有:
鏈下支付通道的Actor擴展
基于libp2p的檢索服務(wù)
鏈上內(nèi)容尋址接口
節(jié)點客戶端的相關(guān)命令行操作
下面將分別介紹每個子模塊的細節(jié):
5.3 鏈下支付通道的Actor擴展Filecoin的交易市場將承載大量的實時交易,因此,訂單撮合和支付渠道被設(shè)計為鏈下事務(wù),同時在未來,除了使用FIL作為支付媒介,還將使用比特幣、以太坊等其他跨鏈支付方案作為支持。下面是支付通道的相關(guān)源碼結(jié)構(gòu):
//通道ID type ChannelID *big.Int //區(qū)塊高度 type BlockHeight *big.Int //簽名 type Signature []byte //支付收據(jù) type SpendVoucher struct { Channel ChannelID Amount *TokenAmount Sig Signature } type PaymentBroker interface { //用以創(chuàng)建微支付通道 CreateChannel(target Address, eol BlockHeight) ChannelID //用以更新微支付通道金額數(shù)量 Update(channel ChannelID, amt *TokenAmount, sig Signature) //用以關(guān)閉微支付通道 Close(channel ChannelID, amt *TokenAmount, sig Signature) //用以增加資金 Extend(target Address, channel ChannelID, eol BlockHeight) //用以收回未使用的資金 Reclaim(target Address, channel ChannelID) } // 生成收據(jù)信息 func MakeSpendVoucher(ch ChannelID, amt *TokenAmount, sk PrivateKey) *SpendVoucher { data := concatBytes(ch, amt) sig := sk.Sign(data) return &SpendVoucher{ Channel: ch, Amount: amt, Sig: sig, } }5.4 基于libp2p的檢索服務(wù)
在第三章3.2節(jié)中,我們介紹了檢索礦工(Retrieval miners)的角色和職能:比較像內(nèi)容分發(fā)網(wǎng)絡(luò)CDN的作用,負責“就近”檢索和抓取數(shù)據(jù),使得更快更好地把數(shù)據(jù)文件直接通過P2P鏈接,傳輸給需求方用戶。
而在IPFS和Filecoin的體系下,不光大文件的傳輸,所有的協(xié)議通信基本都是通過P2P的方式。而這一切都被封裝在libp2p模塊之中,而libp2p的職責就是負責節(jié)點之前的網(wǎng)絡(luò)發(fā)現(xiàn),協(xié)議通信,數(shù)據(jù)傳輸和響應(yīng)。
檢索服務(wù)很大程度上也是依賴于libp2p的,在V0版本下的檢索市場實現(xiàn)中,基于libp2p,新加了兩個與業(yè)務(wù)強相關(guān)的服務(wù)功能:
1)基于libp2p的檢索消息的響應(yīng)特征
type RetDealProposal struct { //被檢索數(shù)據(jù)的CID Ref Cid //支付金額 Price TokenAmount //檢索訂單的支付通道 Payment PaymentInfo } type ResponseStatus uint const ( Unset = ResponseStatus(iota) Accepted Rejected Error ) type RetDealResponse struct { //響應(yīng)體包括狀態(tài)碼和數(shù)據(jù)詳細信息 Status ResponseStatus Message string }
2)基于libp2p的檢索礦工報價查詢響應(yīng)特征
type RetQuery struct { //按數(shù)據(jù)CID信息進行查詢請求 Piece Cid } type RetQueryResponse struct { //響應(yīng)體包括狀態(tài)碼和最低報價 Status RetQueryStatus MinPrice TokenAmount } type RetQueryStatus uint const ( Unset = RetQueryStatus(iota) OK PieceUnavailable )5.5 鏈上內(nèi)容尋址
內(nèi)容尋址是延用了IPFS協(xié)議的設(shè)計思想,即我只關(guān)心我所要檢索的內(nèi)容,并不關(guān)心底層路由系統(tǒng)和網(wǎng)絡(luò)鏈接,系統(tǒng)默認會以最優(yōu)的線路和速度幫我獲取。與現(xiàn)有HTTP路徑尋址的方式呈現(xiàn)根本的不同,更具創(chuàng)新性。
Filecoin的檢索市場也是使用內(nèi)容尋址,并且會根據(jù)區(qū)塊鏈上記錄的信息來匹配對應(yīng)存儲了該內(nèi)容的礦工ID集合(保證數(shù)據(jù)確權(quán)),然后解析成peerID和multiaddress,交給底層libp2p來負責網(wǎng)絡(luò)路由和建立傳輸鏈接。接口定義如下:
type ChainContentRouting interface { FindProvidersAsync(ref Cid, count int) <-chan pstore.PeerInfo }5.6 命令行操作
目前V0版本的節(jié)點客戶端設(shè)計集成關(guān)于檢索市場協(xié)議的三個命令行功能操作(但是小編親測的客戶端Demo,在工程上實現(xiàn)與設(shè)計有一些出入),這三個功能分別是:
5.6.1 通過CID檢索數(shù)據(jù)內(nèi)容USAGE filecoin retr get5.6.2 根據(jù)CID查看被檢索數(shù)據(jù)的所有檢索報價- Retrieve a piece from a miner. SYNOPSIS filecoin retr get [--price= ] [--miner= ] [--] ARGUMENTS - Content ID of piece to retrieve. OPTIONS --price string - Amount of filecoin to offer for this data. --miner string - Optional Peer ID of miner to connect to. (If unspecified, the chain routing service will be used)
USAGE filecoin retr lookup5.6.3 通過礦工ID查詢該檢索礦工的信息- Print a list of miners who have the given piece. SYNOPSIS filecoin retr lookup [--sort= ] [--] ARGUMENTS ... - Content ID of piece to find. OPTIONS --sort string - Output sorting scheme.
USAGE filecoin retr query5.6.4 案例[ ] - Query the given retrieval miner. SYNOPSIS filecoin retr query [--] [ ] ARGUMENTS - ID of miner to query. [ ] - Optional cid of piece to query for.
我們試著檢索查詢一下,于 第四章4.2節(jié) 中所導(dǎo)入并成功被存儲的文本數(shù)據(jù) QmRxRSrZgFfRc...7s1o 來試試:
當存儲訂單的狀態(tài)變?yōu)閜osted時,就可以進行被存儲數(shù)據(jù)的檢索響應(yīng)了,需要礦工worker地址和對應(yīng)數(shù)據(jù)CID信息:
go-filecoin retrieval-client retrieve-piece
此過程有一定網(wǎng)絡(luò)時延,查詢成功效果如下圖所示:
至此,無論從定位職能,還是從設(shè)計原理,還是從工程操作角度,我們應(yīng)該對目前的Filecoin檢索市場都有了更加深入的了解。
我們將在下一章《【Filecoin源碼倉庫全解析】第六章:如何組建多節(jié)點礦工集群》中介紹如何在一臺機器上構(gòu)建多節(jié)點的方案。
參考文獻:https://github.com/filecoin-p...
https://github.com/filecoin-p...
往期系列文章回顧:【Filecoin源碼倉庫全解析】第一章:搭建Filecoin測試節(jié)點
【Filecoin源碼倉庫全解析】第二章:如何創(chuàng)建賬戶錢包并獲取FIL Mock代幣
【Filecoin源碼倉庫全解析】第三章(上):存儲提供方(礦工)的配置操作
【Filecoin源碼倉庫全解析】第三章(下):存儲提供方(礦工)的配置操作
【Filecoin源碼倉庫全解析】第四章:存儲需求方(用戶)的配置操作
本章贊助品牌:深圳牛鏈科技有限公司 ,是一家專注存儲類IPFS礦機研發(fā)、生產(chǎn)、銷售、托管為一體的高科技企業(yè)。 目前技術(shù)團隊包括IPFS硬件技術(shù)研發(fā),IPFS協(xié)議研究,IPFS底層程序開發(fā),IPFS應(yīng)用程序研發(fā),并在成都專門成立研發(fā)中心。2018年,研發(fā)中心團隊在研究IPFS底層協(xié)議的基礎(chǔ)上,開始搭建并運營IPFS高速網(wǎng)絡(luò)系統(tǒng),并正積極研發(fā)基于IPFS的網(wǎng)絡(luò)應(yīng)用。牛鏈科技的技術(shù)研發(fā)團隊全力以赴研究Filecoin的運行機制,優(yōu)化礦場配置,作為一家區(qū)塊鏈技術(shù)服務(wù)提供商,致力于為廣大用戶提供優(yōu)質(zhì)的信息技術(shù)服務(wù)。牛鏈希望以技術(shù)驅(qū)動效率,為Filecoin落地提供基礎(chǔ)設(shè)施。
感謝 深圳牛鏈科技有限公司 對嘉樂SOHO的原創(chuàng)內(nèi)容提供支持。
聯(lián)系作者:本人從業(yè)經(jīng)驗有限,不免有不足之處,歡迎指正和更多討論,可私信微信公眾號:jialesoho,或者加我微信:daijiale6239,如果覺得對您有幫助,可以幫點擊好看推廣和打賞支持噢,感激不盡!
(識別圖中二維碼,關(guān)注嘉樂SOHO微信公眾號)
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/24586.html
摘要:我們將在本章介紹如何在一臺機器上構(gòu)建多節(jié)點的方案和未來礦池產(chǎn)品設(shè)計的一些思路。本文將介紹一種直接在單機上部署和管理多節(jié)點的方案。最初起源于比特幣。 歡迎大家來到第六章,經(jīng)過前章《【Filecoin源碼倉庫全解析】第五章:檢索市場及檢索礦工》的介紹,無論從定位職能,還是從設(shè)計原理,還是從工程操作角度,我們應(yīng)該對目前的Filecoin檢索市場有了更加深入的了解。 我們將在本章介紹如何在一臺...
摘要:之后,存儲端礦工節(jié)點會在一定時間間隔可配置,默認為秒自動啟動密封過程,即獲取之前微支付通道中暫存區(qū)域的所有數(shù)據(jù),并將其密封到礦工的承諾存儲區(qū)域中。 歡迎大家來到第四章,經(jīng)過前章 【Filecoin源碼倉庫全解析】第三章(下):存儲提供方(礦工)的配置操作的內(nèi)容閱讀后,我們應(yīng)該會對Filecoin市場機制中的礦工對象有了更詳細的認知,對礦工事務(wù)的生命周期有了具象化地理解。 本章,我們將重...
摘要:如上圖,驗證過程可以表述為驗證者會按照一定的規(guī)則向礦工提起挑戰(zhàn),挑戰(zhàn)是隨機生成的,礦工不能提前獲知。三時空證明如圖所示,可以理解為礦工一定時間內(nèi)持續(xù)地生成復(fù)制證明和接受挑戰(zhàn)和驗證的過程,并通過這個過程,更新全網(wǎng)存儲算力。 歡迎大家來到第七章,經(jīng)過前章《【Filecoin源碼倉庫全解析】第六章:如何單機部署多節(jié)點集群及礦池設(shè)計思路》的介紹,我們分享了如何在單機部署多節(jié)點集群的知識以及礦池...
摘要:我們會在后面的源碼倉庫全解析第三章下存儲提供方礦工的配置操作章節(jié)重點介紹這個過程。參考文獻本章贊助品牌深圳牛鏈科技有限公司,是一家專注存儲類礦機研發(fā)生產(chǎn)銷售托管為一體的高科技企業(yè)。感謝深圳牛鏈科技有限公司對嘉樂的原創(chuàng)內(nèi)容提供支持。 歡迎大家來到第三章,經(jīng)過 前章《【Filecoin源碼倉庫全解析】第二章:如何創(chuàng)建賬戶錢包并獲取FIL Mock代幣的內(nèi)容閱讀后,我們應(yīng)該能順利在Filec...
摘要:我們將在下一章源碼倉庫全解析第四章下存儲需求方的配置操作中重點介紹存儲需求方用戶的配置操作,并反過來驗證第三章中存儲礦工后續(xù)挖取新塊的過程,幫助大家融會貫通,并在工程上驗證整個挖礦行為的生命周期。目前已成為華中區(qū)最大最具影響力的垂直媒體。 不好意思,這篇加了點八卦: 本來是不太想說這事的,從18年看到現(xiàn)在,不少見圈里的朋友和友商互相吐槽乃至攻擊...最近還鬧得比較大。這里說兩句:區(qū)塊鏈...
閱讀 2123·2019-08-29 16:53
閱讀 2698·2019-08-29 16:07
閱讀 2041·2019-08-29 13:13
閱讀 3266·2019-08-26 13:57
閱讀 1331·2019-08-26 13:31
閱讀 2432·2019-08-26 13:22
閱讀 1220·2019-08-26 11:43
閱讀 2084·2019-08-23 17:14