查看原文
其他

【了解】Filecoin区块链共识机制解析

自从区块链技术诞生以来,共识机制就成为区块链需要解决的核心问题。目前,所有的区块链系统都要围绕这个问题运作,这是由区块链本身的特点决定的。Filecoin作为新一代区块链技术,自然也是围绕这个问题进行的。今天咱们就来聊聊Filecoin的区块链的共识机制是如何设计和实现的。


与工作量证明机制(PoW)不同,工作量证明机制中,大量算力只能用于维护网络安全,而不能产生其他对网络的贡献。Filecoin系统中,矿工需要时刻生成时空证明,我们也能利用时空证明,统计各个矿工对全网的贡献度,进而以此设计共识机制。他的共识机制称为期望共识(EC),而Filecoin区块链实际上不是绝对意义上的链,而是DAG。其期望是,从数学角度来看,最佳状态是每个时刻Filecoin只会产生一个区块。当然也可能产生多个或者没有。因此,在主链周围会分布一些小分支,不过他们都是账本的一部分。下面我们来详细说明。


共识机制


目前工作量证明机制因为其消耗大量的能源,同时除了维护区块链系统安全以外,没有其他价值,这一点一直以来以学术界和工业界所诟病。Filecoin师徒设计更合理的共识机制是在确保其安全的同时,更加环保,并且对系统产生更大价值。有些区块链项目开始探索新的方式,比如:将PoW机制中验证先导零的工作改为发现新的素数,以太坊要求矿工在执行工作量证明同时运行脚本程序。这些都是很有价值的改进,但是浪费巨大。


Filecoin的共识机制也目前主流的公有链协议比如(PoW、PoS)不同,Filecoin选举新区块矿工是根据它当前已用存储空间占全网存储空间比值决定的。它的共识机制被称为期望共识(Exxpected Consensus,EC)。如此一来,矿工更愿意投资在更大的存储空间,而不是更大的计算力上。矿工提供存储空间,同时矿工之间相互竞争更大的存储空间,这对于维护Filecoin DSN是有利的。




共识机制要解决3个问题


1、计算矿工存储算力。

2、确定每个矿工的时空证明。

3、运行EC共识机制。


存储算力:Filecoin定义挖矿存储算力模型,主要考虑

1、存储算力计算透明。每个矿工的存储算力和全网总存储算力是公开的,任何时候都能通过区块链订单簿查看,这是完全公开的。


2、可灵验性。矿工在特定时间段内需要生成存储证明,因此通过验证区块链的存储证明,任何节点都能验证存储算力计算是否合法。


3、灵活性。任何时候矿工都可以很容易的提交报价单增加新的存储空间,以接受更多的订单来增加自己的存储算力。


虽然PoW也同样满足以上3个特点,但是EC机制相比于PoW机制在透明性上表现更好。


时空证明容量:每隔一定的区块高度,矿工需要提交一次存储证明,一次时空证明成功提交需要网络大部分存储算力验证合法性。每一个新区块生成,都会更新当前分配表,而计算时空证明容量,只需要查询并验证记录即可。具体有两种方式。


1、全节点验证。全节点验证会保存完整区块链日志,进行全节点验证需要区块到当前回溯一次,再参考此时的分配表。


2、简易存储验证。一部分矿工并不会保存完整的区块数据,这些矿工或者节点被称作轻节点。具体验证请看下图。


EC共识机制:Filecoin记账节点采用类似于权益证明的方式,那些提供更大有效的存储的节点会有更大的概率赢得竞选,同时获得下一个区块的记账权,这一共识机制被称作为期望共识。矿工们需要持续生成时空证明以确保它们存储文件的备份,每一个存储证明同时产生下一个区块的选票。EC共识机制有三个特性。


1、公平性。每位参与者在每次选举时都只有一次机会,最终成功率与其存储算力占比基本一致。在期望上,存储算力与成功率大小是对等的,对网络贡献越多的节点,越有可能当选为记账矿工。


2、不可伪造。验证信息有矿工私钥签名,其他人无法伪造。


3、可验证性。被选举出的领导节点的时空证明会提交给其他节点验证,确保签名都一致,存储证明一致,并满足区块产生条件。这一过程任何人都能够简单的进行验证。


以上部分文案来自《IPFS原理与实践》


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存