1. 程式人生 > >Filecoin挖礦分析全套 不容錯過的乾貨

Filecoin挖礦分析全套 不容錯過的乾貨

隨著協議實驗室filecoin資訊的不斷的釋出,許多Filecoin挖礦資訊浮出水面,filecoin挖礦非常具有研究意義,為了幫助廣大想參與filecoin挖礦的礦工深入理解filecoin挖礦的知識,星際大陸明哥整理了一些知識,供大家參考。 星際大陸明哥將從知識普及的角度,分析一些挖礦的要素和知識點,為礦工收益最大化提供參考。 1.複製證明的原理 複製證明(PoPep)是一種新型的儲存證明方案,它讓儲存礦工說服使用者或其他礦工資料已經被複制到了它的礦機上了。這種方案能有效的阻止女巫攻擊、外包攻擊和生成攻擊的儲存作弊問題,以下是複製證明的簡化步驟: 1)礦工建立特定的副本R 當礦工存滿一個扇區(此扇區並非磁碟上的物理扇區,而是filecoin網路定義的邏輯扇區)後,對該扇區的資料加上礦工的祕鑰對進行一種緩慢的順序編碼,形成該礦工的特定的儲存副本,使每一個數據副本都不一樣。密封的結果是形成一種Merkle樹結構的資料副本,如下圖所示。 在這裡插入圖片描述

2)礦工生成儲存資料副本的證明Πpos 礦工儲存資料並完成密封后,那礦工如何向一個沒有中心化伺服器的filecoin網路證明礦工確實儲存了這個副本呢?星際大陸明哥覺得很難,但是協議實驗室做到了。 生成證明過程中使用了零知識證明(關於零知識證明有點複雜,有興趣的讀者可以閱讀相關資料)的思路,即驗證者在不需要擁有任何資料的情況下相信礦工確實儲存了資料副本,怎麼做到的呢? 如下圖中的紅色所示,礦工根據網路中其他驗證節點提出的隨機挑戰C,例如是要挑戰位置8,那麼礦工就需要計算從葉子節點D8跟根節點Root的路徑,輸出一個證明Πpos,返回給發起挑戰的驗證節點。 在這裡插入圖片描述 3)驗證節點驗證儲存礦工的證明 驗證節點獲得儲存礦工的證明後,可以通過給定的資訊進行驗證,當驗證結果等於1時,說明該礦工確實儲存了特定的副本,驗證過程非常快。具體驗證的演算法需要等程式碼公佈後再詳細解答,白皮書寫的比較粗略。 2.扇區的解釋 扇區(白皮書中的sector)是指儲存礦工特定的儲存空間,用來衡量有效儲存以及提交儲存證明的單位空間,當儲存礦工存滿(可能沒存滿也可以密封,但是應該會浪費部分的儲存空間)一個扇區的資料後才執行扇區密封,密封后提交複製證明,這樣才會形成有效儲存。 目前協議實驗室對扇區可能二種方案,一種是固定大小,例如1G;第二種是礦工指定大小,例如(1G或者10G)。 那麼單位扇區的大小有什麼用呢?根據白皮書中關於filecoin區塊鏈資料結構的描述,扇區ID會儲存在區塊鏈的分配表中,一個扇區大約需要消耗300位元組(官方溝通的答案,還沒有公開發布)的鏈上儲存空間。因此可以計算,假設扇區大小為1GB,經過一段時間後,全網的有效儲存達到10EB(10240PB),那麼扇區在區塊鏈上需要佔用的儲存空間大約為3TB左右,這還不包括訂單和交易佔用的區塊鏈空間,即維護一個filecoin全節點需要佔用3TB以上的儲存空間。 因此,扇區太小,會佔用大量的區塊空間,但是如果扇區太大,不容易密封,這會導致部分有效儲存浪費掉了,相信協議實驗室會在如何平衡扇區大小和區塊鏈空間上做出一個非常好的決策。 3.時空證明 時間證明可以理解為持續的複製證明,即礦工必須不斷的生成證明(大膽的預測10分鐘左右)並在一個提交週期內提交儲存證明(大膽的預測3-5天提交一次,這樣做的目的是即使短時間斷網也不會影響證明的生成和提交),在提交週期內如果沒有連續及時提交證明會扣除部分代幣。 生成證明的過程跟複製證明非常相似,只是時空證明的輸入是以上一生成的證明做為輸入引數,這樣能保證證明生成的連續性,詳見白皮書。 4.時空證明與共識機制 區塊鏈的共識機制是區塊鏈專案的核心要素之一,filecoin的共識機制依據時空證明來達成共識,這個共識機制跟POW一樣簡單明瞭,下面星際大陸明哥將舉例說明: (1)假設全網有二個礦工A和B,A礦工在某時刻密封了儲存滿資料的2個扇區,並一直提交時空證明;B礦工在這個時刻密封了儲存滿資料的4個扇區,並一直提交時空證明。 (2)此時全網的有效儲存為6個扇區。 (3)A礦工當選領導節點的概率為2/6 (4)B礦工當選領導節點的概率為4/6 (5)即某礦工在某一時刻當選領導節點的概率=已密封扇區容量/全網總密封扇區容量 5.礦工、礦工演員和礦機 根據filecoin團隊釋出的demo顯示,filecoin挖礦細節跟BTC和ETH等有較大的區別,有礦工和礦工演員之分,那麼礦工、礦工演員和礦機之間的關係是啥?星際大陸明哥的理解如下,供各位礦工參考: (1)礦工:可以理解為一個類似BTC和ETH一樣的地址和祕鑰對,在釋出訂單和成交訂單時需要用到,挖礦收益也是歸屬礦工的地址。 (2)礦工演員:每個礦工可以有多個礦工演員,釋出訂單時是以礦工演員為單位(詳見星際大陸翻譯的demo視訊,仔細看胡安演示礦工出價的部分複製的是礦工演員的地址),每個礦工演員也有一個地址,礦工的多個礦工演員儲存可累加(猜測)。 (3)礦機:每個礦工演員對應一臺物理礦機。 6.關於filecoin礦池 根據星際大陸明哥理解,filecoin可能無法實現像BTC和ETH那種傳統意義上的虛擬礦池,原因有以下幾點: (1)礦工在釋出訂單和生成證明時都需要使用祕鑰對,如果礦池服務商將祕鑰告訴礦工(而不像傳統礦池只需要配置一個礦池地址那麼簡單)是非常危險的做法,當然這一點也許可以通過加密的方法來實現,具體可能性目前還無法判斷。 (2)礦工需要不斷的提交儲存證明,如果礦池中某些礦工無法及時提交證明,扣除的抵押由所有礦工分擔,這對優質礦工非常不公平。 (3)礦池服務商需要提供非常大的代幣抵押,因為每個礦工的儲存都是不斷變化的,不太可能直接讓礦工直接支付所有抵押費,這也是不公平的。 綜上,filecoin虛擬礦池可行性是存疑的,但是不代表不會有創新的方法,比如組建實體礦池,由礦場或礦池服務商統一管理礦機的方法,對於礦工來說,同樣可以達到加入礦池的效果。