Filecoin解读

点击上方“蓝字”带你去看小星星什么是 Filecoin

Filecoin 是一个去中心化的存储网络,能将海量用户的闲散存储资源充分利用起来,从而构建一套超低成本的可靠存储系统。

因为它没有中心,所以会用到区块链技术,只不过一般区块链使用的是算力挖矿的工作量证明(Proof-of-Work mining),而 Filecoin 使用的是存储工作量证明(Proof-of-Storage)。

与 IPFS 的关系

在谈 Filecoin 之前想必大家对 IPFS 已经有过了解,那二者有什么关系呢?

简单来说,IPFS 主要负责 P2P 网络中的内容寻值和内容传输,而 Filecoin 是内容永久存储的激励层,它们之间是相互补充的关系。

IPFS addresses and moves content; Filecoin is the missing incentive layer。Filecoin 架构

我们可以把 Filecoin 简化为两层,一个是区块链,主要是记录全网状态(一个去中心化的状态机),包括所有钱包账户和余额,市场订单匹配记录。另外一个是存储的解决方案,主要包括副本策略(纠删码,多副本),端到端加密,存储时间和续费策略,存储市场匹配等。

它主要包括 4 种角色:

存储矿工(Storage miners):将自己的磁盘抵押出来,提供存储服务,类似云厂商的对象存储

检索矿工(Retrieval miners):可以帮助用户快速的检索到内容,类似于传统意义的 CDN

存储客户端(Storage clients):能够上传内容到 Filecoin,类似对象存储上传客户端

检索客户端(Retrieval clients):能够从 Filecin 检索到内容,类似对象存储下载客户端

如何挖矿?

挖矿就是在 Filecoin 网络中获取虚拟货币(FIL),主要可以通过以下途径:

成为存储矿工,在市场中通过报价的方式出租存储空间,当匹配成功,将获取相应报酬

成为检索矿工,帮助内容下载客户端下载内容

成为数据修复矿工,帮助修复丢失或损坏的数据

目前版本主要实现的是存储矿工部分,其它以后会相继完成。

那如何成为存储矿工呢?

Step 1: 通过抵押资产创建存储矿工

例如:创建一个矿工承诺10个扇区(目前每个256 MiB)和100 FIL作为抵押,消息气价格为0 FIL /unit,限制1000个气体单位。

go-filecoin miner create 10 100 –price=0 –limit=1000 –peerid `go-filecoin id | jq -r ‘.ID’`

这一步可能需要较长时间,主要确认账户余额是否足够抵押,如果创建成功将返回矿工地址。

Step 2: 启动矿工

go-filecoin mining start

Step 3: 创建存储订单请求

// 获取存储矿工地址 export MINER_ADDR=`go-filecoin config mining.minerAddress | tr -d \”` // 获取矿工拥有者(Filecoin 节点) 地址 export MINER_OWNER_ADDR=`go-filecoin miner owner $MINER_ADDR` // 创建一个报价请求,例如以0.000000001 FIL/字节/块的价格询问,对2880块有效,消息气价为0 FIL/unit,限制为1000气体单位 go-filecoin miner set-price –from=$MINER_OWNER_ADDR –miner=$MINER_ADDR –price=0 –limit=1000 0.000000001 2880 # output: CID of the ask // 查询报价列表 go-filecoin client list-asks –enc=json | jq 如何存取数据?

想使用 Filecoin 来存储数据,必须保证节点钱包具有充足的余额(FIL),这个等以后上线主网后可以通过交易市场购买,目前测试网络可以通过 faucet 免费获取。

Step 1:添加存储的内容到本地节点

这点很像 ipfs add xx, 例如:

echo “Hi my name is $USER”> hello.txt export CID=`go-filecoin client import ./hello.txt` go-filecoin client cat $CID

也可以通过文件导入:

export CID=`go-filecoin client import ~/Desktop/sample-: “fcqxvnl37zdv8clc26j6r43zn8md7tc2mrfx77vru”, “Price”: “2.5”, “Expiry”: 588. “ID”: 0. “Error”: null }

Step 3: 匹配报价

go-filecoin client propose-storage-deal

其中:

miner: 通过 go-filecoin client list-asks 出来的矿工地址

data: 本地导入内容的 CID

ask: 通过 go-filecoin client list-asks 列出来的 ID(通常都为 0) -duration: 希望存储的时间周期,30秒为一个blocks, 所有一天就是 (2 blocks/min * 60 min/hr * 24 hr/day) = 2880 blocks。

Step 4: 矿工存储数据

当匹配订单(propose-storage-deal)创建成功后, 本地数据将自动通过 bitswap 传输到矿工节点。

Step 5: 客户端检索数据

客户端可以通过提交查询订单和数据恢复操作来下载数据,例如:

// 创建查询订单 go-filecoin client query-storage-deal // 当查询订单创建后,可以通过订单 minner 的地址以及想查询的内容 ID 来获取内容 go-filecoin retrieval-client retrieve-piece # 可能需要1分钟

现状

当前 Filecoin 还是较为早期阶段,部分功能还在开发中,而且存在一定安全问题。现在上线的是测试网络,主网预计 2019 Q3&Q4上线。

核心功能进展:

存储矿工:基本完成

检索矿工:待开发

数据修复矿工:待开发

客户端加密:待开发

纠删码存储:待开发

最后,到目前为止官网尚未发布Filecoin具体上线时间,官方确定具体上线时间之后我们会及时告知大家。点击上方蓝色字体关注我们,及时获取最新消息。

专注真诚分享,帮助新人跃迁。
QQ:334026,一起交流。
微信公众号:“今日币有约”,及时掌握我的一手分享。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Back To Top