【IPFS/Filecoin】存储交易的达成和收费

【IPFS/Filecoin】存储交易的达成和收费

在Filecoin网络中,存储矿工是最为重要的角色, 因为存储矿工不仅提供存储服务,同时,也只有存储矿工具有挖矿获得区块奖励的资格。本文不谈存储矿工如何挖矿,专谈,存储矿工如何与客户达成交易,并且获取存储收费。

一些基本要素

在展开叙述之前,我们一定要明白,Filecoin网络的一些基本常识。在此基础上,讨论存储的过程和收费就相对比较容易。对于这些基本常识,我在之前的一些文章中也有叙述,再此简单罗列如下:

  1. Filecoin网络是一个去中心化网络,也就是说,这里没有一个老大哥来监管整个系统,系统完全靠共识、靠算法运行来维护;
  2. Filecoin存储矿工需要为自己背书,背书的方法就是抵押FIL到网络之中,作为对自己承诺的保证,当不能实现自己的承诺时,同意抵押被没收;
  3. Filecoin矿工的挖矿是在成功提供存储服务的基础之上进行的,因此,挖矿和提供服务是相辅相成的;
  4. Filecoin网络提供一个透明的存储市场,在这个市场中,矿工和用户之间可以自由交易。
存储交易的大致流程

前面提到,Filecoin的存储市场是一个透明的市场。在这个市场上,矿工是主要角色。当矿工希望提供存储服务时,需要做以下几件事:

存储矿工准备
基本流程:
1、存储矿工在网络登记(在Filecoin节点上执行创建矿工的指令);这时,Filecoin的链上会增加相应矿工的角色2、存储矿工承诺可使用的存储空间并进行质押;这即是承诺质押(Pledge Collateral) 3、存储矿工挂单,声明单位存储的价格;并声明这个价格的有效期为多久。
目前实现说明(0.1.4版):
– 矿工必须与一个钱包地址绑定,而此钱包地址属于Filecoin节点。当前规定;一个节点只能拥有一个矿工- 矿工可以从一个节点移至另一个节点,但目前还未实现; – 区块链数据是透明的,全网可查。
  前面的基本流程,总结起来就是如下两条指令:
## 创建矿工并登记,同时设置承诺质押,一步进行$ go-filecoin miner create <pledge> <collateral>    ## 挂单 $ go-filecoin miner set-price <storageprice> <expiry>
那么,作为存储用户,如果需要存储数据,则可以通过以下步骤进行:
存储用户达成交易
基本流程:
1、存储用户可以询问网络,目前有哪些矿工在提供服务2、经过比较,选定一个矿工,来提出交易要求 3、存储矿工收到交易申请,回复并达成交易
目前实现相关说明(0.1.4版):
– 在目前的实现中,如果客户提出的申请符合矿工开出的条件,交易自动达成- 自动撮合的存储市场在将来可能实现,但基本考虑是链下进行 – 目前链上没有矿工信用值统计等的直观反应,可以有人来利用区块数据实现线下信用查询,这会是一个不错的服务。
交易达成的过程主要通过两条指令实现:

查询矿工挂单

go-filecoin client list-asks

客户提出交易申请

go-filecoin client propose-storage-deal <miner> <data> <ask> <duration>
交易达成的更多细节

交易达成虽然只有一条指令,但其中涉及到很多细节。大致包括如下方面:

  1. 查询区块链,查看是否指令中涉及到的矿工及其挂单是否有效;有效则继续,无效返回错误;

  2. 连接矿工所在节点,如果不能连接,返回错误,能够连接,继续;

  3. 等待矿工返回同意存储申请;

  4. 传输需要存储的文件给矿工;

  5. 创建支付通道,客户付费给支付通道(注意,不是直接付给矿工)

  6. 矿工接收完数据,开始做封印(Seal)

  7. 矿工Seal完成,验证数据保存完整

  8. 在存储交易要求的区间内,矿工持续证明存储完好,并从支付通道获得报酬。

【IPFS/Filecoin】存储交易的达成和收费

支付通道?

支付通道是个什么东西?

支付通道在这个网络中是一个很关键的角色,注意,是个角色。记住,矿工在网络中也是一个角色。也就是说,你可以把支付通道看成是一个人。实际上它是一个智能合约。当客户申请交易时,此智能合约自动建立,并在之后自动执行。也就是说,客户的费用是付给了智能合约,而智能合约只在矿工能够成功证明自己持续保有数据的情况下,才会付费给矿工。

也就是说,矿工的所有存储收费不是直接来自用户,而是来自支付通道。

其实,支付通道不是一个新鲜概念,在BTC网络和以太坊中已经有实现,很多是为了减低链上交易的压力,为链下交易而提出来的。

支付通道的问题

Filecoin直接在链上实现支付通道。当然,一种最简单的方式就是对一个文件的存储就创建一个支付通道,也就是说运行一个智能合约。这看起来简单,实现容易,但是,当网络规模变大的时候,区块链上的支付通道将变得过多,反复执行,交易量将会很大,使得整个网络的交易速率下降,出现拥塞。这对于区块链而言并不陌生,Filecoin似乎也不可避免。

有没有更好的办法呢?当然有,既然实现支付通道,为什么不实现链下交易。很多小额交易完全可以链下进行,通过双方签名,达到一定额度上链即可。

另一个办法,一个用户可能会信任几个特定的矿工,那么他们的交易会很多,系统可以提供一种支付通道归并的方式,来实现多个通道统一一次性交易,这样讲大大减少交易信息量和实际交易量。

当然,这些目前都还只是设想,还有大量的工作要做。我相信,在Filecoin上线之前,这些都会有很大的进步;在上线之后,进步也不会停滞。我们必然会迎来一个逐步变好、被逐步广泛使用的网络

【IPFS/Filecoin】存储交易的达成和收费

【IPFS原力区】

总部位于上海,深耕IPFS社区发展与商业生态建设

Force系列产品布局IPFS商业应用,贯通视频娱乐、文件共享、浏览器入口、数据加密管理等服务,为企业与个人的使用提供一站式服务。

旗下IPFS原力区是IPFS顶级价值生态社区,聚集了众多技术大咖和IPFS爱好者,通过持续输出全面、精细、优质的IPFS咨询和技术支持,将生态中的爱好者转化为IPFS支持者和参与者,推动IPFS生态的健康发展。

【IPFS/Filecoin】存储交易的达成和收费

原创文章,作者:IPFSforce,如若转载,请注明出处:http://ipfser.org/2019/05/07/%e3%80%90ipfs-filecoin%e3%80%91%e5%ad%98%e5%82%a8%e4%ba%a4%e6%98%93%e7%9a%84%e8%be%be%e6%88%90%e5%92%8c%e6%94%b6%e8%b4%b9/

发表评论

登录后才能评论

联系我们

在线咨询:点击这里给我发消息

邮件:ipfsforce@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

QR code