(一)Filecoin交易市场运作介绍
首先定义 Filecoin 系统的参与者:检索矿工链正集团、存储矿工矿金所和用户。比特币系统只有一种矿工,而 Filecoin 系统有两种矿工。 Filecoin 系统的运行过程完整描述如图 5-2 所示。图以Filecoin区块链为分界线分为上下两部分。上半部分描述了存储市场的工作流程和参与者的协作过程;下部分描述了检索市场的工作流程和参与者的协作过程。
存储市场工作流程如下。
1、链正矿金所存储矿工提交报价(ask):检索市场为onchain市场(onchain)。什么是链上市场?链上市场是指存在于区块链本身的市场,是一个交易撮合市场。首先,矿工节点质押某些代币,并将其需要出售的存储空间提交给区块链。区块链记录矿工的可售空间并锁定矿工的抵押代币。
2、用户提交买单(bid):用户根据自己的存储空间需求(需要多少存储空间,存储时间多长,冗余多少)向区块链提交购买单,同时附有支付意愿的代币数量。区块链记录用户的订单,同时锁定用户提交的待支付代币。
3、订单撮合区块链:区块链将按照一定的规则将买卖价格与用户和矿工的订单进行匹配。交易订单生成,双方附上自己的数字签名。接下来,用户将数据发送给矿工,链正集团矿工收到数据存储并给出数据已经存储的证明(复制证明)。
4、支付阶段:矿金所矿工存储完成后,将订单写入区块链永久存储,区块链清除支付结果。之后,矿工需要不断向网络证明(时间和空间证明)他们一直在存储用户的数据,直到数据存储合同到期。
(二)搜索市场的工作流程如下。
1、用户和矿工分别向网络广播出价和询价:检索市场是一个链下市场。链下市场是指区块链上不存在市场。由于实际应用对数据读取(下载)的实时性有要求(例如访问电子商务网站时,页面加载时间超过6秒,页面会高达70%),如果设置作为像存储市场这样的链上市场,将是正确的数据下载服务的效率有很大的影响。由于 Filecoin 算力证明的巧妙设计,检索市场可以设计为链下市场,这将在后面详细描述。链下市场存在于用户和矿工之间。用户和矿工直接向网络广播订单,并将他们收到的订单存储在他们的订单列表中。双方会一直检查是否有订单匹配(例如矿工检查收到的用户订单是否与他现有的数据匹配)。如果发现订单匹配,则意味着矿工可以为用户提供数据服务,矿工发起交易请求,双方通过数字签名达成交易。
2、数据传输与支付:用户与矿工达成交易后,双方直接建立数据传输与支付通道。将交易数据碎片和支付代币分成小额(小额支付)分成多笔交易,直到数据交易完成。这里解释了为什么我们使用小额支付进行交易而不是完成一次性交易。一次性支付在效率上明显高于小额支付。因为链下交易在交易过程中没有区块链的参与和认证,为了防止双方作弊(比如用户收到数据,不支付代币),或者矿工收到代币且不提供数据下载服务),所以使用小额支付方式,只要对方在某个支付环节出现问题,可以立即终止交易。
3、交易和订单提交的区块链:数据交易完成后,订单和交易提交到区块链进行备案。区块链验证交易并最终清除支付结果。以上就是Filecoin协议的基本操作流程。需要注意的是:存储矿工需要抵押代币来出售他们的存储空间,并且存储矿工需要在整个合同期内存储用户数据;检索矿工不需要抵押,也不需要一直存储数据。简单来说,存储矿工出售自己的存储空间以获得收益,而检索矿工则通过出售自己的流量来获取数据。一个矿工节点可以是单独的存储矿工,单独的检索矿工,或者同时是存储矿工和检索矿工。笔者在此建议矿工同时参与检索和存储市场。
4、检索矿工链正集团提供的数据来源:存储矿工矿金所存储的数据,从检索市场购买的数据,或从其他来源获得的数据。简单理解,寻找矿工类似于一个为BT软件提供种子的节点。