算力不等於收益,李白教你怎麼提高“幸運值”、多賺FIL

買賣虛擬貨幣

————————

分享者:幣圈李白

職位:6block 核心開發工程師


(下面正文摘自6block核心工程師“幣圈李白”的影片直播分享,相應影片請見文末)


最近社羣有很多成員談及爆塊這一問題,我們石榴礦池針對社羣提出的問題,在近兩週的時間裡面對於爆塊進行了深入的測試和研究。(在不利用任何bug的情況下)


現在市場上普遍認為爆塊是個概率性的問題,其概率會圍繞算力佔比而上下波動。但事實不是這樣, 這裡面其實還有很大的最佳化空間,本文將會涵蓋爆塊的最佳化空間以及爆塊方面常見的一些問題。


對於filecoin挖礦,大家一般都會比較關注以下幾個方面:


  • 有機器不一定能有算力

  • 有算力不一定能有爆塊 tb->fil

  • 有爆塊不一定能有解鎖


今天我們就從後面兩個點來展開,第一點我之前談過很多了,所以就不多說了。那麼這個爆塊究竟是怎麼回事呢?其實很簡單,爆塊其持續時間為25秒,在25秒內能完成系統分配的計算,就能實現爆塊。


在filecoin裡面有兩個演算法,爆塊屬於post演算法。簡單來說會有以下幾個步驟:


  1. 需要保證獲得上一高度的所有block

  2. 計算出隨機數,得到隨機數後便可以判斷自己是否中獎,並且得到中獎的sector序號和sector的資料序號

  3. 讀取sector的資料,這裡會需要消耗一定的時間

  4. 計算零知識證明得出結果

  5. 透過得到的結果構建block並廣播block


獲得上一高度的所有區塊,官方預設給出的的時間是6秒,也就是說預設6秒內全部同步了。所以在6秒的時候就會進入挖礦的步驟了,開始計算拿到隨機數。這要求我們節點的網路延遲要足夠的低,並和多同步節點,同時還要進行同步節點的排序篩選。所以獲得上一高度的所有區塊的限制主要在於網路。




當你有生成新的區塊權利的時候,就要讀取sector的資料,比較重要的是你需要一個低延時的儲存,能讓miner在最短的時間內從sector上得到資料。石榴礦池將儲存和計算進行了分離,worker設定成無狀態,這樣卡了出問題了可以隨時重啟或拿去維修,不會影響整個系統。同時,我們的儲存始終處於低負載的狀態,這樣的狀態下儲存的響應速度會非常的快,當儲存和miner相連之後,便能很快的生成證明。另外,lotus和miner最好要放在一個區域網上或一個電腦上,lotus對外要去連線其他大量的lotus節點,保證廣播足夠的快,以上這些就是我們石榴礦池的架構。



這裡也再談一些常見的問題:


首先是計算和儲存不分離,在這樣的架構下,資料抽取速度很有可能受到影響,並且很難最佳化,很難做到大量的爆塊。


其次就是冗餘和備份帶來的儲存負載,如果盲目的去做冗餘和備份,就會影響讀寫效能從而影響爆塊。


再者是讀寫過程中會互相搶資源,最好的解決方式是讀寫分離。


然後是多miner的問題,這是一個很有創意的想法,主要目的是為了把算力集中在一個賬戶下,比較好宣傳。但多miner會影響爆塊,其讀取資料可能會受到一定的影響。


最後說一下計算零知識證明,它也佔一定的時間,大概幾秒鐘的時間,但可以透過在miner上配顯示卡來節省一定的時間。本身零知識證明的計算也是可以最佳化的,在bellman的庫裡面,最佳化它就可以節省時間了。


爆塊所存在的問題和解決的思路大概就是以上這些了,最後展示下我們兩週測試努力的成果吧:



可以看到最佳化後的成果,爆塊出塊的時間降到了1.7秒。


總體來說,想要減少爆塊的時間,你需要一個低延遲的網路,一個響應及時的儲存系統,還有一個能快速算出wining post的零知識證明計算系統。


好了,今天的分享就到這裡了,謝謝大家!


免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;