不同于传统 PoW 矿工使用算力矿机来「解密」随机难度的 Hash 值, Filecoin 采用了 FIL (Filecoin 网络代币)质押挖矿方法,辅以复制证明(PoRep)和时空证明(PoSt)计算,目标是避免因无效计算而造成的资源浪费,赋予 Filecoin 矿工更多角色,以提升网络安全和稳定性。

原文标题:《Filecoin 是这样设计 Staking 机制的……》
作者:剑光寺

不久前,Protocol Labs 团队宣布将于 2019 年 12 月 11 日启动 Filecoin 测试网,预计 2020 年一季度上线主网。这一去中心化存储明星项目的重大进展立时引发反响无数。作为 Protocol Labs 主导开发的开源存储项目,IPFS 协议现已平稳运行两年。Filecoin 则基于 IPFS 协议增加了代币奖励机制,提供更为私密和稳定的使用场景。

不同于传统 PoW 矿工使用算力矿机来「解密」随机难度的 Hash 值, Filecoin 创造性地采用了FIL (Filecoin 网络代币)质押挖矿方法,辅以复制证明(PoRep)和时空证明(PoSt)计算,既避免了因无效计算而造成的资源浪费,还赋予 Filecoin 矿工更多角色,从而提升了网络安全和稳定性。本文将结合目前的开源代码初探 Filecoin 网络的出块机制。

EC 共识机制

Filecoin 网络共识称为 Expected Consensus,简称 EC 共识。Filecoin 网络中存在存储矿工和检索矿工两种角色。

EC 共识中检索矿工会在固定时间(目前为 6 天)内向存储矿工提出随机挑战,以证明存储矿工能够持续提供已存数据的检索服务——这就是 Filecoin 特有的复制证明(PoRep)和时空证明(PoSt)算法。证明本身也依赖一定的 CPU 性能,因此高效地完成证明也能够增加参与区块选举的机会,Filecoin 的 block 结构体可见 Git 仓库 地址

三分钟硬核简述备受瞩目的 Filecoin 质押挖矿机制

  • Tickets:节点在每轮区块生成时会计算相应 ticket 值
  • ElectionProof VRFPi:当下计算出的参与打包 leader 的选举参数

根据注释与白皮书可知,Filecoin 在每轮区块打包时间内可生成多个区块,多个区块组成一个 TipSet。TipSet 之间通过哈希算法先后依次联接的结构组成了我们通常所理解的区块链结构。

节点打包 leader 的选举逻辑见 https://github.com/filecoin-project/go-filecoin/blob/master/consensus/election.go 中 IsElectionWinner 函数:

三分钟硬核简述备受瞩目的 Filecoin 质押挖矿机制

如图可知,CompareElectionPower 函数将每一轮区块生成时间内(目前设置为 30s)生成 ticket 进行验证后,再将 electionProof、矿工有效存储与全网存储比较,判断该节点是否获得本轮的打包权限。

其中,electionProof 由对每轮生成的 ticket 签名获取。vrfPi 和矿工算力相比的过程可见 https://github.com/filecoin-project/go-filecoin/blob/master/consensus/election.go 中 CompareElectionPower 函数:

三分钟硬核简述备受瞩目的 Filecoin 质押挖矿机制

因此,leader 选举的逻辑可理解为: 当 lhs < (矿工有效存储 / 全网存储),即 ticket 值小于节点有效存储与全网存储占比时,节点即成为 leader,获得打包区块的资格,提高节点的有效存储可获得更高的爆块几率。参考白皮书可知,矿工节点有效存储与多个参数有关(CPU/ 内存 / 带宽 / 硬盘容量 /FIL 数量)。

Filecoin 与 PoW 挖矿

Filecoin 存储矿工类似于 PoW 矿工。如白皮书所述,存储节点提供的可用容量用尽后,存储节点的有效存储无法继续叠加。伴随着全网算力提高,PoW 矿工需要提供更高的算力。EC 矿工在其他性能不变的情况下,需要持续增加可提供的存储资源,才能继续参与挖矿获取网络分配收益

Filecoin 与 PoS 质押

Filecoin 的检索矿工更接近 PoS 的 validator 节点。PoS 中的 Staking 运营商无需购置成本高昂的矿机,只需维护全节点和质押代币即可参与挖矿。

Filecoin 节点质押一定的 FIL 成为检索矿工,对存储矿工发起随机挑战,也可以获取系统奖励。

Filecoin 与矿池

去中心化始终是公链聚焦的核心。对比 PoW 和 PoS 网络,矿工们的利益追逐也会驱使 Filecoin 产生类似矿池的组织。我们猜测,矿池设计可以满足以下三点:

  • 矿池如何共享矿机间的 CPU 和内存资源更快完成 PoRep 和 PoSt 证明,即可提高存储数据的效率;
  • 矿池提供的存储资源动态增速能否提高全网存储资源的占比;
  • 存储矿工和检索矿工都需要质押一定的 FIL 代币,持有代币的检索矿工和持有矿机的存储矿工通过矿池平台的撮合是一种互利互惠的合作模式。

时下,PoW 云算力平台极大地降低了普通投资人参与挖矿的门槛。由于 Filecoin 矿机制造更为复杂,占地更大,耗电更多,Filecoin 矿池模型极有可能借鉴该模式,相较于矿机接入矿池的模式在设计上更容易实现。

来源链接:mp.weixin.qq.com