摘要:我們將在本章介紹如何在一臺機器上構建多節點的方案和未來礦池產品設計的一些思路。本文將介紹一種直接在單機上部署和管理多節點的方案。最初起源于比特幣。
歡迎大家來到第六章,經過前章《【Filecoin源碼倉庫全解析】第五章:檢索市場及檢索礦工》的介紹,無論從定位職能,還是從設計原理,還是從工程操作角度,我們應該對目前的Filecoin檢索市場有了更加深入的了解。
我們將在本章介紹如何在一臺機器上構建多節點的方案和未來礦池產品設計的一些思路。
如果自己學習進度ok,實踐效果符合預期,應該很快也會給大家分享多機(不同配置,不同規格,不同區域)多節點部署的方案。
一、多節點的部署需求 1.單機即可使用不同的角色職能我們在第三章、第四章和第五章中,分別模擬了三個角色:存儲提供方(存儲礦工),存儲需求方(存儲用戶)以及檢索用戶,小編用了兩臺不同的機器來實驗。其實,也可以通過單機完成所有測試。
2.對于配置比較高的機器,可增加資源利用率雖然節點客戶端對機器性能、配置要求目前比較苛刻,但是對于一些不經常處于滿負荷狀態,具有更高性能的機器和服務器,還是可以通過部署單機多節點方案,來增加整機資源利用率。
3.復用公網IP相比于國外,公網IP是真的稀缺資源,目前看不到IPV6短時間內普及的希望...
libp2p所需的mutiaddress可通過配置端口,多路復用...
4.研發復合型產品未來,隨著Filecoin項目的不斷成熟,和市場需求的不斷演化,將誕生除了礦機之外的一系列復合型產品和工具型產品,為了把服務能力和邊界擴大,需要統一的節點管理、控制方案,以及專門針對檢索市場而設計的類CDN方案,存儲市場的礦池方案等。
這些,都或多或少離不開多節點的部署運維工作。本文將介紹一種直接在單機上部署和管理多節點的方案。
二、創建新節點倉庫假設已編譯安裝了最新版的go-filecoin客戶端,可參考:Filecoin源碼倉庫全解析】第一章:搭建Filecoin測試節點
之后,通過指定不同的倉庫路徑--repodir,來創建新節點2:
export FCRD=$HOME/.filecoin2 go-filecoin init --genesisfile=http://user.kittyhawk.wtf:8020/genesis.car --repodir=$FCRD
成功后,將生成與之前默認初始化文件夾.filecoin一樣結構的的.filecoin2,如圖所示:
三、修改新節點配置vim .filecoin2/config.json
修改默認值,重新設置新節點2的api.address和swarm.address的監聽端口:
{ "api": { "address": "/ip4/127.0.0.1/tcp/3455" ... }, ... "swarm": { "address": "/ip4/0.0.0.0/tcp/6011" } }四、節點互聯
在本機上,分別啟動原節點1和新節點2:
go-filecoin daemon go-filecoin daemon --repodir=$FCRD
啟動daemon后,我們也可以對比單機節點1和節點2的配置信息,如下所示,MultiAddress與PeerID一一對應,且按照不同端口配置已生成。
我們將原節點的multiaddress記錄至臨時變量NODE1_ADDR中,
export NODE1_ADDR=$your_node1_multiaddress
通過go-filecoin swarm connect $NODE1_ADDR --repodir=$FCRD,將新節點2與原節點1建立P2P連接。
成功后并通過go-filecoin swarm peers --repodir=$FCRD復查連接狀態:
如圖所示,我們在新節點2的Peer集群中,查詢到了原節點1的multiaddress。
這樣,一個初步的單機雙節點集群就部署完畢了,以此類推,可以繼續批量部署下去,直至機器資源滿負荷運行。
之后,我們可以在單機上分別操作多節點,并設置不同角色進行前面幾章所描述的測試過程了,有條件的朋友,也可以將這幾章所描述的配置邏輯編寫成Shell腳本或者加入程序控制來實現自動化。
五、Filecoin礦池設計思路 5.1 礦池的概念礦池從一定意義上來說,是伴隨時間和市場需求演化而來,更傾向于產品的一個定義。最初起源于比特幣。
在比特幣的體制下,全網平均每10分鐘產出一個區塊,每個區塊包含50(現在是12.5,每四年左右獎勵減半一次)個比特幣,而一個區塊只可能被某一個幸運兒挖走,直接擁有所有獎勵,其他人則顆粒無收,挖到的概率與礦工投入的設備算力大小成正比。
這就注定了如果比特幣挖礦參與人數龐大且分散到一定程度后,挖到比特幣的概率將無限接近于零,跟中彩票差不多。
這時候,如果散戶要參與,資源有限,只能投入一臺礦機挖礦,按照概率,要5~10年才能開采到一個區塊,這使比特幣挖礦陷入尷尬境地,讓普通人幾乎沒有參與的可能,并不利于比特幣的發展。
因此,解決的方案是集眾人之力,收益平攤的方式,這也是礦池產品的核心,舉個例子:
假設100萬人參與比特幣挖礦,全網400P算力,其中90%的礦工為1P(1000T)以下的算力,如果投入一臺1T礦機,將占全網算力的40萬分之1,理論上平均每40萬個10分鐘能挖到一個區塊,也就是7.6年才能挖到一個區塊然后一次性拿到50(現在是12.5)個比特幣。那么,假如我再找9個擁有1T算力礦機的礦工,達成協定,我們總共10個人,其中任何一個人挖到區塊,都按照每人的算力占比來進行平分,那么我們就是一個整體,總共10T算力,那么平均0.76年即可挖到一個區塊,然后算下來到我們手上的就是0.76年開采到5個比特幣,如果組織100人、1000人、1萬人甚至10萬人呢?如果是10萬人,那么平均40分鐘就能挖到1個區塊,作為團隊的一份子,我的收入將會趨于穩定,且參與度顯著提高。
5.2 礦池的意義降低了比特幣等虛擬數字貨幣開采的難度,降低了開采門檻,真正實現了人人皆可參與的比特幣挖礦理念。
提高了產業化程度,促進了更穩定的區塊鏈服務。
更合理的商業模式,完善了虛擬數字貨幣行業的產品形態。
5.3 Filecoin可能存在礦池產品嗎?首先,在DevNetworkState監控面板上有三個關鍵參數我們需要了解:
ProvenStorage:存儲礦工已提交PoSt并得到系統驗證的存儲量。
StoragePower:表示存儲有效率,即贏得挖掘下一個區塊的可能性。
%of BlocksMined 已被挖掘出的區塊全網占比
其次,是競選算法的設計與實現完整度:
競選算法:使用選票參與競選,獲得選舉的條件。
從Filecoin的白皮書的設計可知,一個好的競選算法,應當滿足至少如下的幾個特點:
公平:每個參與者每次選舉只有一次試驗,簽名是確定的,而且t和rand(t)是固定的。隨機值rand(t)在時刻t之前是未知的。因此,每個Ticket的計算值域相對公平。
保密:即攻擊者沒有Mi(目前已經在網絡有抵押的擔保品信息),因此無法生成有效的Ticket和被簽名的密鑰。
公開可驗證:可以通過給出計算值域,時刻t和Mi來說服驗證者自身有效性。
其實白皮書的設計思想可以歸結于下面這個公式,已被簽名的ticket值域,同時被簽名的ticket需要被哈希成一串較長位數編碼,以防被暴力破解 (類似比特幣中所使用的Hashcash,不斷嘗試要滿足前綴N個比特位都是0這樣的條件) ,而紅框中的表示節點的存儲有效率Ratio,有效率是一個相對大的十進制值,需要換算成二進制的編碼,才能與Hashcash之后的簽名Ticket匹配做精準判斷,L與全網難度強相關,要求的前導0的個數越多,代表L難度越大。
那么,小編查閱了一下測試網目前這塊的競選算法代碼實現:
Leader的選舉,目前僅比較了存儲有效率與Ticket的值域,全網難度L的策略目前還未實現...
盡管如此,綜合來看:存儲效率是關鍵,Filecoin很大可能也將催生出礦池類產品。 理由如下:
在相同的時間內,只要某個礦工節點所提供的存儲增量的速度大于全網存儲增量的速度,那么該節點的StoragePower將顯著提升。
存儲訂單的選擇在測試網并未實現撮合,是由用戶來主動選擇,那么用戶選擇的傾向很大程度取決于礦工的QoS和報價。存儲有效率更高的礦工提供QoS的信任感更強,同時獲得的區塊獎勵更多,可以以更低的報價單提供服務,那么將導致更多的訂單流向存儲有效率更高的礦工節點。 雪球越滾越大...
越早參與,存儲越久數據的礦工節將更有優勢,當全網存儲量達到一個很大的基數時,新礦工短時間內將難以獲得較大的出塊可能,將隨比特幣系統一樣,節點礦工將形成馬太效應。
5.4 Filecoin礦池設計思路如圖,設計了一個粗略的Filecoin礦池產品架構,復雜的系統都是由基礎的模塊迭代而來,歡迎對此感興趣的朋友做更深入的交流和探討。
我們也將在下一章《【Filecoin源碼倉庫全解析】第七章:如何參與復制證明游戲測試》中,介紹Filecoin中的核心技術,EC共識,復制證明,時空證明,以及目前的證明測試游戲等內容。
參考文獻:https://github.com/filecoin-p...
https://baike.baidu.com/item/...
往期系列文章回顧:【Filecoin源碼倉庫全解析】第一章:搭建Filecoin測試節點
【Filecoin源碼倉庫全解析】第二章:如何創建賬戶錢包并獲取FIL Mock代幣
【Filecoin源碼倉庫全解析】第三章(上):存儲提供方(礦工)的配置操作
【Filecoin源碼倉庫全解析】第三章(下):存儲提供方(礦工)的配置操作
【Filecoin源碼倉庫全解析】第四章:存儲需求方(用戶)的配置操作
【Filecoin源碼倉庫全解析】第五章:檢索市場及檢索礦工
本章贊助品牌:江西正舵者網絡科技有限公司 是一家專業的大數據和分布式存儲的新興科技公司。公司團隊匯聚了國內外區塊鏈、人工智能、大數據、金融投資各個領域的經驗豐富的頂尖專家,包括美國亞利桑那州大學、香港大學、中山大學、華中科技大學等國內外一流大學畢業的教授博士團隊5人、碩士10人、核心技術骨干18人等,擁有專利技術12項;公司與國內外各高校、區塊鏈實驗室等建立了戰略合作關系,其為正舵者科技公司帶來了最前沿的科研成果、人才培養和輸送。公司專注于IPFS應用研究和礦場項目建設,為IPFS生態提供最全面、專業的支持,包括礦機、礦場、托管、數據等,為不同層次參與者提供多方位,多角度的服務。
感謝 江西正舵者網絡科技有限公司(http://www.zdzkj.net) 對嘉樂SOHO的原創內容提供支持。
聯系作者:本人從業經驗有限,不免有不足之處,歡迎指正和更多討論,可私信微信公眾號:jialesoho,或者加我微信:daijiale6239,如果覺得對您有幫助,可以幫點擊好看推廣和打賞支持噢,感激不盡!
(識別圖中二維碼,關注嘉樂SOHO微信公眾號)
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/24652.html
摘要:如上圖,驗證過程可以表述為驗證者會按照一定的規則向礦工提起挑戰,挑戰是隨機生成的,礦工不能提前獲知。三時空證明如圖所示,可以理解為礦工一定時間內持續地生成復制證明和接受挑戰和驗證的過程,并通過這個過程,更新全網存儲算力。 歡迎大家來到第七章,經過前章《【Filecoin源碼倉庫全解析】第六章:如何單機部署多節點集群及礦池設計思路》的介紹,我們分享了如何在單機部署多節點集群的知識以及礦池...
摘要:情人節,項目開放了核心源碼倉庫,并更新了下的諸多核心成果,這意味著,已然度過了最困難的難點攻關期,進入到了全民公測階段。年月日,開源了核心源碼庫,開啟全民公測階段。 2019.2.14 情人節,Filecoin項目開放了核心源碼倉庫go-filecoin,并更新了 filecoin-project organization下的諸多核心成果,這意味著,Filecoin已然度過了最困難的難...
摘要:之后,存儲端礦工節點會在一定時間間隔可配置,默認為秒自動啟動密封過程,即獲取之前微支付通道中暫存區域的所有數據,并將其密封到礦工的承諾存儲區域中。 歡迎大家來到第四章,經過前章 【Filecoin源碼倉庫全解析】第三章(下):存儲提供方(礦工)的配置操作的內容閱讀后,我們應該會對Filecoin市場機制中的礦工對象有了更詳細的認知,對礦工事務的生命周期有了具象化地理解。 本章,我們將重...
摘要:我們會在后面的源碼倉庫全解析第三章下存儲提供方礦工的配置操作章節重點介紹這個過程。參考文獻本章贊助品牌深圳牛鏈科技有限公司,是一家專注存儲類礦機研發生產銷售托管為一體的高科技企業。感謝深圳牛鏈科技有限公司對嘉樂的原創內容提供支持。 歡迎大家來到第三章,經過 前章《【Filecoin源碼倉庫全解析】第二章:如何創建賬戶錢包并獲取FIL Mock代幣的內容閱讀后,我們應該能順利在Filec...
摘要:我們將在這一章源碼倉庫全解析第五章檢索服務礦工的配置操作中介紹與存儲市場并駕齊驅而又息息相關的檢索市場,以及體系中另一重要角色檢索服務礦工的基本配置操作。 對不起,你們可能關注了一個愛拖更的公眾號... 不過不拖更,可能這篇也不會有這么多 猛料... 歡迎大家來到第五章,經過前章 《【Filecoin源碼倉庫全解析】第四章:存儲需求方(用戶)的配置操作》的內容閱讀后,我們應該對存儲需求...
閱讀 1356·2021-11-24 09:39
閱讀 1345·2021-11-04 16:12
閱讀 2682·2021-09-24 09:47
閱讀 3336·2021-09-01 10:50
閱讀 1476·2019-08-30 15:55
閱讀 1423·2019-08-30 15:43
閱讀 641·2019-08-30 11:08
閱讀 3578·2019-08-23 18:33