http://www.7klian.com

Filecoin 解读|赢得PoST的是什么?

验证comm_r是由comm_c和comm_r_last计较得出的。

友情提示:

简而言之,它是利用random_provider_id的random_information和该扇区的随机数来计较sha256的哈希值。计较功效和当前有限的扇区数是模数。即,sector_index是最终质询的扇区ID。

验证叶节点可以正确计较Merkle树的根。

pub const WINNING_POST_CHALLENGE_COUNT: usize = 66;pub const WINNING_POST_SECTOR_COUNT: usize = 1;

// 1. Verify H(Comm_C || comm_r_last) == comm_r       {           let hash_num = <Tree::Hasher as Hasher>::Function::hash2_circuit(               cs.namespace(|| "H_comm_c_comm_r_last"),               &comm_c_num,               &comm_r_last_num,           )?;// Check actual equality           constraint::equal(               cs,               || "enforce_comm_c_comm_r_last_hash_comm_r",               &comm_r_num,               &hash_num,           );       }

1.回覆“Filecoin”即可得到Filecoin项目中文版、英文版白皮书

// 2. Verify Inclusion Paths for(i,(leaf,path))in leafs.iter().zip(paths.iter()).enumerate() {   PoRCircuit::<Tree>::synthesize(       cs.namespace(|| format!("challenge_inclusion_{}", i)),       Root::Val(*leaf),       path.clone(),       Root::from_allocated::<CS>(comm_r_last_num.clone()),       true,   )?;

让我们先来谈谈winningPoSt。顾名思义,winningPoSt是得胜时的PoSt。所谓得胜就是得到区块权。

func (m *Miner) mineOne(ctx context.Context, addr address.Address, base *MiningBase) (*types.BlockMsg, error) {mbi, err := m.api.MinerGetBaseInfo(ctx, addr, round, base.TipSet.Key())rand, err := m.api.ChainGetRandomness(ctx, base.TipSet.Key(), crypto.DomainSeparationTag_WinningPoStChallengeSeed, base.TipSet.Height()+base.NullRounds, nil)    prand := abi.PoStRandomness(rand)    postProof, err := m.epp.ComputeProof(ctx, mbi.Sectors, prand)

挑战叶子选择逻辑

简朴地说,winningPoSt是一个随机查抄的扇区,该扇区中66条随机选择的Merkle路径可以是正确的。然后说说代码逻辑。从Lotus的代码来讲。这一切都从Lotus / miner / miner.go的Miner布局的mineOne函数的块开始。

——End——

零常识证明的计较部门可以在rust-fil-proofs / post / fallback目次中查察。

LotusPoSt的一部门已从竞选PoSt变动为两个新的PoSt,一个是winningPoSt,另一个是windowPoSt

因为这些逻辑的特定实现是在rust-fil-proofs(即rust语言)中实现的。从防锈到防锈,很多接口被交错:

仅先容rust-fil-proofs提供的两个API函数,,就不会先容中间的接口。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

相关文章阅读