2.3 论文组织

本文的其余部分安排如下:我们在第二节中介绍了对一个理论上的DNS方案的定义和需求。在第三节中我们定义和介绍我们的“复制证明”和“时空证明”协议,以及Filecoin将其用于加密地验证数据按照订单的要求被持续不断的存储。第四节描述了Filecoin DSN的具体实例,描述了数据结构,协议,以及参与者之间的交互。第5节定义和描述可验证市场的概念,还有存储市场和检索市场的实施。第6节描述了使用“时空证明”协议进行演示,并且评估矿工对网络的贡献,这对扩展区块链块和区块奖励是必要的。第7节简要介绍了Filecoin中的智能合约。在第8节中讨论了未来的工作作为结束。

Figure 1: Sketch of the Filecoin Protocol Filecoin协议的框架:

客户一旦收到来自存储矿工M的成交订单时: 1) 对成交订单进行签名; 2) 通过Put.AddOrders将签名过的成交订单提交到区块链中。

客户一旦收到来自检索矿工M的数据碎片: 1) 确认碎片是否有效,以及是不是自己需求的; 2) 发送一个小型支付给矿工M。

在每段时间t:

  1. 对订单簿中每一个询价订单Oask: (a) 通过Put.MatchOrders查找匹配的订单; (b) 与匹配的客户建立联系,并创建一个新的成交订单。
  2. 对每一个抵押的扇区: (a) 通过Manage.ProveSector生成一个存储的证明; (b) 如果发布证明的时间一到 (每隔∆proof时间), 将证明提交到区块链。

一旦从客户那里获取到数据碎片p:

  1. 检查碎片的大小是否与客户出价订单里描述的一致;
  2. 创建一个成交订单,签名,并发送给客户;
  3. 将碎片存储到扇区中;
  4. 如果扇区存储已满,将运行Manage.SealSector

一旦检索矿工接收到客户的请求:

  1. 开启一个与客户C的支付通道;
  2. 将检索到的数据分成多份;
  3. 当收到支付以后,才发送数据,一份一份的方式发送。

Figure 2: 凭借对Filecoin协议的直觉,我们脑海中有了客户和矿工交互的概览。存储和检索市场分别显示在图2的上方和下方,时间从左边的订单匹配阶段推进到右边的结算阶段。 注解:在执行检索服务的小型支付之前,客户必须对要支付的资金上锁。