公链分析报告 - Filecoin

Filecoin 介绍

在这里插入图片描述
Filecoin是由协议实验室发起的一种分布式存储解决方案,它将现有的云存储转化为一个自带区块链算法的分布式存储市场。它曾创造了历史上最高的代币融资销售记录,通过ICO募集到2.57亿美元。

Filecoin 是一个去中心化的存储网络(DSN),是一个云存储的自由交易市场,通过 Filecoin 项目来实现其协议。矿工通过提供数据存储或检索来获得 token(也称为“filecoin”)。相反,客户向矿工支付 token 以存储或分发数据并进行检索。

  • Filecoin的首个实现版本go-fileoin于2019年2月15号上线。2019年12月15日,Fileoin的第二个实现版本lotus测试网上线, 两个实现可互操作。
  • 安全证明采用WinningPoSt 和 WindowPoSt 的零知识证明(zkSNARK)来保证矿工确实存储了用户的数据;而且是持续完整地存储了用户数据
  • 采用堆叠式深度鲁棒图(SDRG)和扩展图(EG)技术来解决存储证明的时延要求,和时空证明的时间上的安全要求,从而防止存储的欺骗

Filecoin 共识 - 预期共识(EC)

采用创新的预期共识(EC)机制来实现高效的选举,并达到接近SSLE(秘密单领导人选举)的效果

预期共识:预期共识 EC 的基础在于在每个纪元确定地、不可预测地并且秘密地选举一小部分领袖。期望是每个纪元都只选出 1 个领袖,但一些纪元内可能会出现 0个或者多个领袖。领袖通过创建一个区块并将其传播到网络的方式来拓展区块链条。在每一个纪元,区块链将被延伸一个或多个区块。在没有领袖的纪元里,一个空的区块将被添加到区块链中。虽然区块链中的区块可以线性排序,但它的数据结构是一个有向无环图。EC 是一个概率共识,每个纪元都比前面的区块更加确定,最终因为不同历史可能性足够小的缘故达到足够的确定性。如果绝大部分的参与者通过扩展链或签名区块的方式将他们的权重添加到区块所属的链上,那么这个区块就被确定了。

网络选择一个矿工来创建新区块(称之为矿工的投票权)的概率与当前这个矿工使用中的存储和网络其余部分相关的存储的关系成正比。

在任意时间点,矿工可以通过抵押新扇区并且填充新扇区的方式来添加新的存储。这样矿工便可以改变他们的功率。

选举矿工

在每一个纪元,每个矿工都会检查它们是否当选为领袖. 其中 rand(t) 是一个可以在纪元 t 从区块链中提取的公开的随机变量
在这里插入图片描述

在期望共识协议中的领袖选举

存力与出块率

Filecoin的出块时间是45秒,意味着矿工需要在这个时间内打包好数据提交到链上,这意味着节点封存的数据越多,要处理的数据量就越大。在一阶段测试网时,这就导致一些节点存力很大但出块率很低,干了很多货但是拿到的奖励却很少。

零知识证明实现

Filecoin利用零知识证明(Groth16)实现"数据的压缩",用户存储的数据(数据量很大)不需要直接上链,只需要将数据证明(数据量比较小,几百个字节)存储在链上。

Filecoin工程上最新的实现方案采用了BLS12-381(一种Zcash中所使用的新型zk-SNARK椭圆曲线加密算法,隶属于Bellman库,由Rust语言所实现,它的特点是小巧易用,能快速验证),同时兼备加密时延和快速可验证两个特性。可缩小算术电路的大小,降低密钥的大小,以及简化协议

filecoin 与 IPFS 的关系

类别 IPFS Filecoin
功能 基于内容寻址的分布式存储基础设施 IPFS 网络之上的激励层,提供一个云存储领域的自由交易市场
对标对象 HTTP 大型集中式孤岛存储提供商,如国外的 aws、国内的 aliyun 等
存储权限 对有所有权的 IPFS 节点具备存储权限 1 除对有所有权的 IPFS 节点具备存储权限外
2 还可以通过支付的方式,在其供应商的节点之上具备存储权限
读取权限 ALL(只要知道内容 cid) ALL(只要知道内容 cid)
架构设计 另行文章补充分析 原则上需要无缝对接到 IPFS
1Filecoin 将 IPLD 用于区块链数据结构
2 Filecoin 节点使用 libp2p 建立彼此的安全连接
3 节点和 Filecoin 块传播之间的消息传递使用 libp2p pubsub
使用场景 1 存储自己的节点数据,分享数据等,类似 BT
2 基于 IPFS 或其中部分组件构建企业自己的分布式云存储架构、区块链架构等
1 成为 filecoin 矿工,提供分布式检索及存储服务
2 成为 filecoin 客户,支付费用享受 filecoin 网络的检索及存储服务
3 基于 filecoin,开发第三方管理系统

IPFS 现在和将来都可以免费下载,运行和使用,并且将独立于 Filecoin 运行。一旦 Filecoin 正式网络启动,IPFS 节点还可以免费或利润地在 Filecoin 检索市场上提供其文件的检索。

filecoin 网络中的角色

角色 说明 主要影响因素
存储矿工 存储矿工通过为客户存储数据来获得 Filecoin;获得区块奖励和交易费用的概率与矿工对 Filecoin 网络的存储量成正比 存储容量
检索矿工 检索矿工的带宽和交易的出价/响应时间(即延迟和与客户的接近度)将决定其在网络上关闭检索交易的能力 带宽
检索客户 支付 filecoin 获取检索服务
存储客户 支付 filecoin 获取存储服务

矿工收益方式

收益来源 类比分析
提供存储服务 存储矿工收益来自两部分
1 工资(提供存储并收取服务费用)
2 按照出资比例分红(区块奖励就是按照有效存储占比来实现的)
提供检索服务 检索矿工是 offchain 的,不参与挖矿,收益来自
1 工资(提供检索并收取服务费用)

猜你喜欢

转载自blog.csdn.net/wcc19840827/article/details/107502425