您的位置: 首页 > 星驰资讯 > 挖矿课堂

怎么理解Filecoin预期共识

2020-04-14 20:48:15  阅读:人  来自:挖矿课堂

  Filecoin共识协议是决定在一个周期内由谁产生TipSet的算法,这个协议中的Miner更愿意投身于存储而不是计算能力,并以此来平衡挖矿计算.矿工提供存储,并利用自己的计算能力生成数据已被存储的证明,以此参与到这个共识协议中.因为矿工的有效存储空间占比越大,算力越强,竞争选票获胜的概率就越高.

一、挖矿能力建模

功率容错:

  是对在参与者对协议结果的影响方面进行拜占庭故障重构的抽象。每个参与者控制网络总功率n中的一部分,其中f是故障或竞争参与者控制的部分。

Filecoin功率:

  在Filecoin中,功率Pti是t时间内,矿工Mi所分配到的存储任务的总和。影响因子Iti是Mi的功率在全网功率中的占比。在Filecoin中,功率有以下特性:

(1)公开性:

  网络中正在使用的存储总量是公开的。通过读取区块链,每个人都可以计算任意矿工被分配的存储任务—因此任何人在任意时间点都可以计算出的每个矿工的功率和全网总功率。

(2)公开验证性:

  对于每个存储任务,矿工都需要生成时空证明来证明自己确实在提供存储服务。通过读取区块链,任何人都可以验证矿工声明的功率是否正确。

(3)可变性:

  在任意时间点,矿工都可以通过新增抵押扇区和填充扇区来增加新的存储。这样矿工就能对功率大小进行调整。

二、功率会计与时空证明

  在每个∆proof区块(∆proof为一个系统参数)中,矿工们都必须向网络提交时空证明,如果网络中大多数功率认为它们有效,证明就可以被成功添加到区块链。在每个区块中,每个完整节点都会会更新AllocTable,添加新的存储任务分配,删除过期和缺少标记的证明。

  矿工Mi的功率可以通过分析AllocTable来计算和验证。分析主要有两种方式:

(1)全节点验证

  如果节点拥有完整的区块链记录,则可以从初始区块开始,运行NetworkProtocol读取Mi的AllocTable直到当前区块。这个过程可以验证当前每一个分配给Mi的存储的时空证明。

(2)简单存储验证

  假设一个轻客户端可以访问一个可以广播最新区块的信任源。轻客户端可以从网络节点中请求:

  1.矿工Mi当前AllocTable的入口

  2.能够证明入口包含在最新区块的状态树中的Merkle路径

  3.从初始区块到当前区块的头文件。这样轻客户端就可以将时空证明的验证托付给网络。

  功率计算的安全性来自于时空证明的安全性。在这个设置里面,PoSt保证了矿工无法对他们所分配的存储量说谎。事实上,他们不能声称存储过量的数据,因为这会耗费很多时间来获取和运行PoSt.Setup。并且 PoSt.Prove是顺序算法,他们无法通过并行计算快速生成证明。

三、使用功率达成共识

  我们预见了通过扩展权益证明共识协议的当下规模(和未来预期)来实现Filecoin共识的多种策略,其中权益被替换为分配式存储。同时我们预见了权益证明协议的改进,我们提出了一个架构,这个架构基于我们前期“预期共识”的工作。我们的策略是在每一轮中选出一个(或多个)矿工,赢得选举的概率与矿工被分配的存储量成正例。

  预期共识(Expected Consensus,EC)的基本直觉是确切地、不可预测地、并且秘密地在每个周期中选举一小组领导人集合。在预期中,每个周期内当选的领导人数是1,但也有一些周期内可能有零个或者许多领导人。每个周期中,区块连网络都会扩展一个或多个区块。如果某个周期内没有领导人,网络就会被添加一个空的区块。虽然链中的区块可以被线性排列,但其数据结构是一个有向无环图。EC是一个概率共识,每个周期都比前面的区块更具有确定性,所以最终可以达到足够的确定性,使得出现不同历史的可能性足够小。如果大多数的参与者都通过扩展区块链或签署区块来将自己的权重附加到链上,这个区块就稳固了。

  选举矿工:在每个周期,每个矿工都要检查自己是否被选为领导人,这类似于前面的协议:CoA,Snow White,和Algorand。

  定义(Filecoin中的EC选举)如果下面的条件是满足的,则在时段t 内矿工Mi 成为领导人:

  其中rand(t)是在时间t内可以从区块链中提取出来的公开的随机变量,Pti是Mi的功率。考虑对于任意的m,L是H(m)的大小,H是一种安全的加密哈希函数,Mi是由Mi签名的信息m,例如:

  这种选举方案提供了三种特性:公平性,保密性和公开可验证性性。

  公平性:每次选举中每个参与者只有一次机会,因为签名是确定性的并且t和rand(t)是固定的。假设H是安全的加密哈希函数,那么H(Mi)/2L必须是从(0,1)均匀选择的实数,因此,使等式为真的可能性为Pti/Σjptj,这与矿工在在网络中的功率相等。因为这个概率对功率是线性的,这种可能性在分割或者汇总功率的情况下就会被保留。注意随机值rand(t)在没有给出t之前是未知的。

  保密性:在给出的数字签名假设中,即便是非常高效的攻击者,在没有密匙Mi的情况下计算出签名的概率也是极小的。

  公开可验证性:被选出的领导人i ∈ Lt 可以通过给出t、rand(t)、H(Mi)/2L来说服一个有效的验证者;鉴于前面给出的观点,再有能力的攻击者在没有获胜秘钥的情况下也不能生成证明。

IPFS星际联盟

链接:https://www.ipfsunion.cn/news/class/156.html

来源:星际联盟Filecoin挖矿

声明:本站部分内容来源于网络转载,若有侵权,请及时与网站客服取得联系。

热门标签

在线客服