Android
在Filecoin中,矿工M在时间t的权力p是M的存储分配的总和。M的影响力I是M的权力占整个网络全部权力的比例。在Filecoin中,权力具有如下属性:
公开
网络中当前在用的存储总量是公开的。通过读取区块链,任何人都能计算每个矿工的存储分配,因此,任何人都可以在任何时间点计算每个矿工的权力和网络中的总权力。这里的权力,类似于其网络中的影响力,能直接用于选举生成区块的矿工。
可公开验证
对于每个存储分配,矿工要求生成PoST时空证明(Proof-of-Spacetime),证明其正在提供的服务。通过读取区块链,任何人都可以验证一个矿工声称的权力是否正确。
变量
在任何时间点,通过承诺新的扇区并填充扇区,矿工可以向网络增加新的存储。通过这种方式,矿工可以随着时间改变其拥有的权力比例。
我们还需要一种机制来防止三种类型的攻击,恶意的矿工能够利用他们并无真实提供的存储来获得奖励:女巫攻击(Sybil Attack)、外包攻击(Outsourcing Attack)、生成攻击(Generation Attack)。
女巫攻击
通过创建多个女巫身份,恶意矿工可以假装其存储比实际更多的副本(并由此获得报酬),但实际上只存储数据一次。
外包攻击
通过依赖于从其他存储提供商那里快速获取数据,恶意矿工承诺存储超出其实际存储能力的数据。
生成攻击
恶意矿工可以声称存储了大量的数据,而他们却使用一个小程序按需求高效地生成了这些数据。如果程序小于所声称的存储数据,这会增加恶意矿工在Filecoin中赢得区块奖励的概率,这个可能性与矿工当前使用中的存储成正比。