以太幣交易所 以太幣交易所
Ctrl+D 以太幣交易所
ads
首頁 > Gateio > Info

星際聯盟解讀 Filecoin中的WinningPoSt是什么?區塊獎勵是如何產生的?_WIN

Author:

Time:1900/1/1 0:00:00

概述:

WinningPoSt是Filecoin網絡獎勵存儲提供者的機制,旨在構建一個安全、高效、可靠地分布式存儲網絡。

Winning代表出塊權,Post就是在獲得出塊權時需要提交的時空證明。當存儲提供者通過EC共識的leader競選算法成功贏得出塊權后,便要進行WinningPoSt挑戰。WinningPoSt挑戰的答案必須在短時間內提交,使得存儲提供者來不及通過密封找到挑戰的答案,以此保證挑戰者存儲了指定數據副本。證明答案會放進區塊中,每個成功創建區塊并被主鏈認可的存儲提供者會得到FIL獎勵,并且在區塊中打包消息,可以收取其他Filecoin參與者的費用。如果存儲提供者未能及時提交時空證明,便會失去本次打包區塊的機會,但不會受到任何懲罰。

本文將詳細分析Lotus代碼中WinningPost以及EC共識的設計。

源碼分析

(基于Lotusv1.11.1)

1.啟動

使用lotus-minerinit初始化一個miner,該miner將主要負責兩個任務,一個是worker的調度,另一個Mining協程就是負責出塊。

2.m.mine()

typeMiningBasestruct{

??TipSet???*types.TipSet

??NullRoundsabi.ChainEpoch//從Base到當前高度,沒有產生區塊的輪次數

}

go?m.doWinPoStWarmup()??//喚醒WinningPoSt,log記錄本次喚醒時長

美國廣播公司CBS為NFT市場星際迷航提交NFT及元宇宙商標申請:4月19日消息,美國律師Mike Kondoudis發推表示,美國廣播公司CBS已為NFT市場《星際迷航(STAR TREK CONTINUUM)》提交了NFT及元宇宙商標申請,范圍包括涵蓋NFT及數字代幣的在線市場、NFT支持的媒體及加密收藏品。[2022/4/19 14:33:16]

For{

?For{

???Prebase=GetBestMiningCandidate??//獲取最優Tipset

???如果base和prebase的高度、nullrounds相同,則退出循環進行出塊??//如果此時拿到的不是最優Tipset,出塊會形成孤塊

???waitFunc??//等待一個網絡傳播延遲

???api.BeaconGetEntry(prebase.TipSet.Height()+prebase.NullRounds+1)?//等待能夠獲得最新回合的隨機信標

???Base=prebase?

?}

?b=m.mineone()??//競選Winner

?SyncSubmitBlock(b)//將新創建的區塊通過PubSub同步到網絡上

}

首先,Filecoin是一個由Tipset組成的鏈,一個高度對應一個Tipset,Tipset包含了對應高度生成的區塊,目前一個高度預期出塊數約為5,如果在一個高度沒有人出塊,則稱為空Tipset。

星際聯盟商學院講師Michael:分布式存儲協議擁有四大優勢:4月25日,由星際聯盟主辦的2021分布式存儲生態峰會在上海舉辦,星際聯盟商學院講師Michael以“分布式存儲行業的發展趨勢”為主題,發表了精彩的主題演講。

他講述了中心化網絡存在的四大痛點:存儲數據易丟失、安全性差、存儲費用高昂、傳輸速度慢,而分布式存儲協議擁有四大優勢:上傳下載快;大幅降低存儲成本;人類數據永存;數據安全,防黑客及DDoS攻擊。分布式存儲協議可以讓互聯網速度更快, 更安全, 并且更開放,是未來互聯網的大勢所趨。

他為大家演示了分布式云存儲協議的原理以及分布式存儲生態應用,并為大家講解了分布式存儲協議與“激勵通證”及“結算通證”的關系。此外他還講解了星際文件系統的收益來源和數字通證分配情況。

“讓人類數據永存!”星際聯盟將秉承這一愿景,讓存儲更高效、更經濟、更安全,為社會創造新的價值。[2021/4/25 20:56:14]

Mine函數使用了兩層循環,里面一層是為了獲取最優Tipset,最優Tipset是指從當前輪次向前推,上一個非空的完整的Tipset,稱為base,每有一個空Tipset,base.NullRounds加1。但由于產生空Tipset的概率非常低,一般情況下NullRounds值為0。外層是獲取最優Tipset后開始競選Winner,競選的成功率基于泊松分布,如果競選成功并創建區塊同步到網絡上,該區塊被主鏈認可后,便能得到FIL獎勵。

3.m.mineone()

//獲取Base的基本信息,包括Miner和全網算力、需要抽取的sector信息、用于生成隨機數的Beacon

MinerGetBaseInfo()?

????//獲取900個高度前的Tipset

????GetLookbackTipSetForRound?

星際礦池合伙人黃柏程:真正的投資只有一個標準,那就是是否在創造真正的價值:4月25日,由星際聯盟主辦的2021分布式存儲生態峰會在上海隆重召開,星際礦池合伙人黃柏程發表了精彩的主題演講。

黃柏程表示,“真正的投資,有且只有一個標準,那就是是否在創造真正的價值,這個價值是否有益于社會的整體繁榮。”他表示,投資的本質是價值。而星際文件系統擁有真正的價值支撐,未來將潛力無限。

此外,他還強調選擇一家優質服務商的重要性。他向大家介紹了星際聯盟的“達摩五指”戰略方針,并表示星際聯盟雖成立不久但發展飛速,目前星際聯盟已在全球范圍建立了由近千家經銷商組成的完整銷售渠道,為用戶提供性價比高的產品和專業軟件服務,并致力于將技術資源向企業級用戶開放。

他表示,星際文件系統是具有革命性技術突破的項目,在剛創立時就獲得了紅杉資本等美國華爾街八大風投機構的青睞,首次融資就打破了區塊鏈行業最快的融資記錄,成為資本的寵兒。新一代科技革命正踏浪而來,跟隨著Web3.0的步伐,站在巨人的肩膀上,我們將一起見證屬于分布式存儲的輝煌時代![2021/4/25 20:56:07]

computeTicket()

????//依次寫入base回合隨機信標、加密類型、上一輪次和Miner地址計算Hash

????Store.DrawRandoness

????ComputeVRF?//使用私鑰給Hash值簽名,生成一段可驗證的VRF輸出

IsRoundWinner()

????//依次寫入本輪的隨機信標、加密類型、當前輪次和Miner地址計算Hash

????Store.DrawRandoness?

???//若某Miner成功贏得選舉提交區塊,其他Miner可以通過提交的VRF輸出判斷winner是否符合條件

星際聯盟CTO:星際聯盟在礦池系統、挖礦系統、存儲檢索平臺、生態建設等方面持續推進:在2021年IPFS分布式存儲高峰論壇上,星際聯盟CTO毛必盛以“Filecoin礦池解決方案核心要素”為主題發表演講。他向大家介紹了Filecoin挖礦本質、Filecoin共識機制、Filecoin挖礦收益以及Filecoin存儲礦工獲取收益主要步驟。并向大家介紹了星際聯盟在算法優化、任務調度、存儲、運維、有效數據這五方面強大的技術優勢。

他表示,星際聯盟擁有穩定的存儲解決方案以及行業領先的專業運維服務。目前,星際聯盟的自動化運維在Filecoin行業中處于遙遙領先的優勢地位。此外,他還向大家介紹了StarPool星際礦池架構以及星際聯盟旗下礦池和數據中心部署情況。

星際聯盟將始終保持我們強大的技術優勢,在礦池系統、挖礦系統、存儲檢索平臺、生態建設、大數據分析、運維云原生這些方面持續推進,不斷探索研究更高效更完善的技術方案,積極推動分布式存儲技術生態落地,引領分布式存儲產業上下游發展。[2021/3/10 18:32:28]

???ComputeVRF?

???//計算贏得的獎勵數,算法基于泊松分布

???ComputeWinCount(MinerPower,NetworkPower)

???//抽取一個Sector,并計算該Sector上的66個葉子的CommR

???ComputeProof()

api.MpoolSelect()→CreateBlock()//從消息池中挑選一些Message打包成區塊

MinerGetBaseInfo獲取用于出塊的基本信息,需要注意的是其中GetLookbackTipSetForRound獲取了900個高度前的那個Tipset,因為此時可以認為該Tipset在鏈上的狀態是穩定的,幾乎不可能處于分叉鏈上。用于出塊的Miner算力、全網算力、抽查扇區和worker均是基于900個高度前的Tipset,而不是當前的情況。

星際大陸董事長李彥東:預計Filecoin上線后礦機不會出現爆發式增長:2020年6月22日,由金色財經主辦,節點咨詢、IPFS100.com承辦,星際特工、麥客存儲聯合主辦的“星際漫游指南——IPFS技術與應用研討論壇”在深圳拉開帷幕。論壇上星際大陸董事長李彥東,在題為《押注IPFS & Filecoin的“危”與“機”》的主題演講中指出,2018年礦機的數量有一波增長,但是又開始下落,到2019年又開始熱起來,越靠近上線,我認為礦機增長會放緩,因為大多數的人已經趕不上頭礦,接近上線風投的人可能會減少。我預判目前大多數的礦機公司可能投入產出比不會理想,所以等上線之后這些公司客戶復投不會增加,整個市場的礦機數量不會有爆發式的增長,但是頭部投入產出比可以的廠家會繼續增長[2020/6/22]

其中抽查扇區邏輯使用cgo調用rust函數generate_winning_post_sector_challenge實現,具體如下:

letmuthasher=Sha256::new();

hasher.update(AsRef::<>::as_ref(&prover_id));

hasher.update(AsRef::<>::as_ref(&randomness));

hasher.update(&n.to_le_bytes());

lethash=hasher.finalize();

letsector_challenge=LittleEndian::read_u64(&hash);

letsector_index=sector_challenge%sector_set_len;

其將prove_id、隨機數和抽查扇區類型做sha256的hash計算,計算結果與扇區數取模,得到結果就是抽查的扇區ID。

這里選擇抽查扇區ID時引入了隨機數,隨機數的生成基于DRand協議。DRand是一個公開的可驗證隨機信標協議,使用基于BLS的(t,n)-閾值簽名方案。簡單來說,就是生成n份簽名,只需要收集到其中t份簽名就能重構出完整的BLS簽名,Filecoin使用blake2b散列算法將簽名轉換為一個256bit的字符串。drand輪數和Filecoin高度之間存在映射關系,在winning競選前,MinerGetBaseInfo函數以當前高度和base高度為入參,得到相對應的DRand輪數來獲取隨機信標。如果DRand信標中斷則會打斷Filecoin區塊的產生,期間Miner只能發布空塊。不過DRand分發恢復后會快速產生drand值趕上當前回合,從而快速的恢復Filecoin區塊生產。

ComputeTicket得到的Ticket存放到創建的區塊中,用于該區塊在Tipset中的排序,Ticket最小的優先級最高,其打包的消息會被優先執行。

ComputeProof會調用Rust函數fil_generate_winning_post生成時空證明。該函數也引入了隨機數,以從上述ID對應的扇區抽查隨機的66個葉子節點,驗證是否可以正確計算出CommR和Merkle樹根。

EC共識

區塊鏈世界中,千千萬萬個Miner夜以繼日的工作為的就是取得出塊權,分配出塊權的機制稱為共識,像Bitcoin使用的是PoW工作量證明,誰先算出哈希難題,誰就有權出塊得到獎勵。

上面的mineone代碼邏輯中包含了Filecoin中最為重要的共識協議稱為EC共識(ExpectedConsensus)。EC共識采用非交互的方式來選舉leader,即每個節點私下進行運算,如果運算成功,提交一個證明即可。在每個Epoch開始時,所有的存儲提供者都會運行一次leader選舉,選舉中它們做的是同一道題,計算量不大,只是每個人的參數不同,預期指定數量的參與者代入參數后答案不為0,競選成功獲得出塊權。EC共識保證了競選獲勝者是隨機的,獲勝的幾率僅僅與他們自身的算力大小相關,目前每一輪全網預期獲勝數為5,并且EC共識的計算量很小,是一個綠色環保的共識機制,使得存儲提供者更愿意投入存儲空間而不是計算力。

1.泊松分布

X服從參數為λ的泊松分布,則概率分布為

期望E(X)=λ,λ很小時的泊松分布圖像如下

2.ComputeWinCount函數

Lhs?=blake2b.Sum256(ep.VRFProof).Int??//獲取一個隨機數,位于[0,2^256)

λ=power/totalpower*5?//λ很小時,泊松分布圖像如上圖所示

Rhs(j)=1-P(X=0)-p(X=1)-…-p(X=j)??*2^256

for(j=0;Lhs<Rhs(j)&&j<15;j++);

Wincount=j;

代碼的邏輯是當Lhs>=Rhs(j)或j>=15時退出循環,Wincount=j

不難理解,wincount=0概率為p(0),以此類推,wincount=i的概率為p(i)

∴Wincount~P(λ)

3.WinCount

E(Wincount(p))=λ=p/t?*5

礦工的算力越大,獲得的Wincount期望越高

E(Wincount(2p))=2p/?5≈2p/t?5=2E(Wincount(p))?

由于單個礦工的算力相對于全網總算力非常小,所以wincount的期望與礦工的算力線性相關,礦工拆分算力獲得的獎勵和不拆分獲得的獎勵幾乎是一樣的

又設單個曠工算力為Pi,則全網wincount總期望為

所以每個Epoch全網預計wincount為5

4.出塊率

當Wincount≠0時,Miner便能獲得出塊權。Wincount>0時,Miner雖然只出一個塊,但可以獲得多份獎勵,Wincount的和會被計入Tipset的權重中

9月8日全網總算力為10.4388EiB,得出塊率和算力的關系圖像如下

當Miner算力小于500PiB時,出塊率和算力大小幾乎成正比,每PiB獲得出塊權的概率約為0.00046。隨著全網算力持續增長,單P出塊率正持續下降。以8月8號為例,當日全網算力為8.77EiB計算得當日單P出塊率為0.00054,僅僅一個月的時間,單P產量就下降了15%,另外當前全網存儲總量已經超過了基線要求,有效算力高速增長致使出塊的獎勵也在減少,所以越早加入Filecoin網絡,獲取的收益率越高。

5.共識錯誤懲罰

出于利益,存儲提供者可能會選擇無視共識協議,試圖分叉鏈,影響協議的公平性。為此,Filecoin為共識錯誤攻擊設置了相當嚴重的懲罰。

如在同一個區塊高度連續發布多個區塊,就可能觸發共識攻擊懲罰。根據合約ReportConsensusFault,一旦出現共識錯誤攻擊,所有網絡節點均可報告,檢驗屬實將會導致攻擊者接下來7.5個小時不能出塊,pre消息不能上鏈,并扣除一個區塊獎勵,舉報者可以獲得懲罰的1/20。

總結

Filecoin中每30秒存儲提供者競爭一次出塊權,全網預期贏得的區塊獎勵數為5。每個存儲提供者出塊的幾率僅與自身的算力大小相關,當算力小于500PiB時,出塊率和算力大小幾乎成正比。此外,存儲提供者拆分算力和不拆分獲得的獎勵幾乎是一致的。獲得出塊權后需要對一個隨機扇區的隨機66個葉子節點進行驗證,并挑選消息打包區塊同步到網絡上,被主鏈認可后便能獲得區塊獎勵。

Filecoin使用了綠色環保的EC共識機制,有效的激勵存儲提供者積極封裝算力,為分布式存儲的未來不斷添磚加瓦。而目前單P產量正處于快速下降中,對于存儲提供者來說,越早的加入Filecoin網絡才能獲得更高的收益率,而對于整個項目來說,這表明正有越來越多的人參與到Filecoin網絡的建設,有助于項目的長期發展和價值提升,未來的局面也越發令人期待!

Tags:WINMINFILSETTrade.WinAnonverse Gaming Tokenfilecoin幣的投資價值Dix Asset

Gateio
人人都能分一杯羹 IDO真有如此大的潛力?_IDO

一、1CO戛然而止,IDO應運而生過去,在區塊鏈領域的投資主流一直是1CO,源自股票市場的首次公開發行(IPO)概念。項目方通過發行和出售通證等數字資產從外界融資,賦予token投資的屬性.

1900/1/1 0:00:00
元宇宙將帶來什么樣的數字化品牌營銷變革?_元宇宙

在Facebook最近的第二季度收益電話會議上,聯合創始人兼CEO扎克伯格闡述了他將社交媒體公司轉型為「元宇宙」公司的宏大愿景,他將這一轉型稱為「我們一生中將要從事的最令人興奮的項目之一」.

1900/1/1 0:00:00
金色觀察丨當我們談論“邊玩邊賺”游戲時 我們在談論什么_區塊鏈

金色財經區塊鏈9月18日訊?區塊鏈和游戲的交集無疑會成為未來許多行業內部熱議的主題——類似話題其實已經非常多了。但是在這一領域里,有一個新趨勢非常引人關注,那就是邊玩邊賺(P2E)游戲.

1900/1/1 0:00:00
金色DeFi日報 | Arbitrum免許可代幣橋接功能將于10月22日對所有項目開放_EFI

DeFi數據 1.DeFi總市值:1217.1億美元 DeFi總市值數據來源:Coingecko2.過去24小時去中心化交易所的交易量:34.

1900/1/1 0:00:00
Facebook高管揭秘元宇宙發展新動向:將以負責任的方式建設元宇宙_ACE

摘要 本文作者系Facebook現實實驗室負責人AndrewBosworth及Facebook副總裁兼全球事務副總裁NickClegg,重點將揭秘Facebook的元宇宙發展新動向.

1900/1/1 0:00:00
經濟日報:虛擬貨幣炒作當休矣_區塊鏈

近日,中國人民銀行等10部門發布《關于進一步防范和處置虛擬貨幣交易炒作風險的通知》,明確虛擬貨幣相關業務活動屬于非法金融活動,建立健全應對虛擬貨幣交易炒作風險的工作機制.

1900/1/1 0:00:00
ads