时间:2023-07-31|浏览:177
Filecoin自然也围绕这个问题进行的。这一节,我们重点来学Filecoin的区块链共识机制是如何设计和实现的。
这一节,我们重点来学Filecoin的区块链共识机制,即回答“Filecoin究竟是如何产生新区块的”。与工作量证明机制(PoW)不同,工作量证明机制中,大量算力只能用于维护网络安全,而不能产生其他对网络的贡献。在Filecoin系统中,矿工需要时刻生成时空证明,我们也就能利用时空证明,统计各个矿工对全网存储的贡献度,进而以此设计共识机制。
它的共识机制称为期望共识(EC),而Filecoin区块链实际上不是绝对意义的链,而是DAG。其期望是,从数学角度来看,最佳状态是每个时刻Filecoin只会产生一个区块。当然也可能产生多个或者没有。因此,在主链周围会分布有一些小分支,不过它们都是账本的一部分。
共识机制概述 目前工作量证明机制因为其消耗大量的能源,同时除了维护区块链系统安全性外,没有其他价值,这一点一直以来为学术界和工业界所诟病。Filecoin试图设计更合理的共识机制是在确保其拜占庭安全的同时,更加环保,并且对系统产生更大价值。
有些区块链项目开始探索新的方式,比如:将PoW机制中验证先导零的工作改为发现新的素数;以太坊要求矿工在执行工作量证明的同时,运行脚本程序。这些都是有很大价值的改进,但浪费依旧巨大。
一个很直接的思路是要求矿工使用“存储空间挖矿”,这样矿工在经济激励下会致力于投入更多的存储空间而不是计算能力,相比计算能力挖矿更节能。另一个尝试是基于POS权益证明的拜占庭协议,即下一个区块中投票比重与其在系统中所占代币份额成正比。下面会描述,如何着手设计基于用户数据存储证明的共识协议。
这里我们重点描述Filecoin区块链的共识机制,与目前主流公有链协议(如PoW、PoS)不同,Filecoin选举新区块矿工是根据它当前已用存储空间占全网存储空间的比值决定的。它的共识机制被称为期望共识(ExpectedConsensus,EC)。如此一来,矿工更愿意投资在更大的存储空间,而不是在更大的计算力上。矿工提供存储空间,同时矿工之间相互竞争更大的存储空间,这对维护FilecoinDSN是有利的。
EC共识机制思路如下:每个存储矿工为网络提供的有效存储空间占比,我们将其定义为存储算力。通过查阅区块链中合法的存储证明,任何一个节点都能获得并且验证任意节点的存储算力。
在每个产生新区块的周期内,矿工利用这一周期生成的存储证明生成选票。每个矿工会检查自己的选票的哈希值是否小于该矿工的存储算力,如果满足,则说明该矿工当选本轮的领导节点,下一个区块可以由该矿工创建并发并发送给全网其他节点进行验证。