任何用户都可以作为客户端、存储矿工、检索矿工或存储兼检索矿工来参与Filecoin网络。
客户在DSN中通过Put和Get请求存储数据或者检索数据,并为此付费。
存储矿工为网络提供数据存储。存储矿工通过提供他们的磁盘空间和响应Put请求来参与Filecoin。要想成为存储矿工,用户必须按照存储空间的大小预存对应的抵押品。存储矿工响应客户Put请求,将客户的数据储存,并且储存的有效时间是明确的。存储矿工生成"时空证明”,并提交到区块链网络来证明他们在特定时间内存储了数据。假如证明无效或丢失,那存储矿工将被罚没他们的部分抵押品。存储矿工也有资格挖取新区块,如果挖到了新块,矿工就能得到挖取新块的奖励和包含在块中的交易费。
检索矿工为网络提供数据检索服务。检索矿工通过提供用户Get请求所需要的数据来参与Filecoin。和存储矿工不同,他们不需要抵押,不需要提交存储数据,不需要提供存储证明。存储矿工可以同时也作为检索矿工参与网络。检索矿工可以直接从客户或者从检索市场赚取收益。
我们将所有运行Filecoin全节点的所有用户称之为一个抽象实体:网络。该网络作为运行管理协议的中介。简单的说,负责Filecoin区块链的每个新块生成,全节点管理可用的存储,验证抵押品,审核存储证明和修复可能的故障。
我们的协议适用于基于账本的货币。为了通用,我们称之为“账本” L。在任何给定的时间t(称为时期),所有的用户都能访问Lt。当处于时期t的时候,账本是追加式的,它由顺序的一系列交易组成。Filecoin DSN协议可以在运行验证Filecoin的证明的任意账本上实现。在第六节中我们展示了我们如何基于有用的工作构建一个账本。
存储需求和供给组成了两个Filecoin市场:存储市场和检索市场。这两个市场是两个去中心化交易所,这会在第5节中详细解释。简而言之,客户和矿工们通过向各自的市场提交订单来设定他们请求服务或者提供服务的订单的价格。交易所为客户和矿工们提供了一种方式来查看匹配出价并执行订单。如果服务请求被成功满足,通过运行管理协议,网络保证了矿工得到报酬,客户将被收取费用。