本篇博文从矿工和想要在Filecoin网络上存储数据的用户两个角度解释了Filecoin交易的工作原理。 一、简介 Filecoin网络通过允许任何人作为存储提供商参与实现了规模经济。目前,该网络由分布在全球各地的数百家存储提供商组成。内容寻址和加密存储证明验证了数据在矿工的硬件上长期正确安全地存储,从而创造了一个强大可靠的服务。 这篇博文涵盖了Filecoin中两种类型交易的基本阶段,即存储交易和检索交易,并详细介绍了它们的生命周期。并解释了密码学证明是如何用于验证系统中的参与者是否按照承诺履行职责的。 二、Filecoin的数据 为了在Filecoin上存储文件,用户必须首先在其本地Filecoin节点中导入文件。这一步会产生一个数据CID——内容标识符,唯一描述该内容的ID,之后数据会传输给矿工。另一种在Filecoin上存储文件的方式是通过离线交易,这在本篇文章中没有涉及。 将数据导入本地的Filecoin节点,可以使用lotus客户端导入命令。记住生成的数据CID很重要(以后在本地节点上也可以使用),因为以后从矿工那里检索数据时必须用到它。 将数据导入本地节点后,用户必须发起交易。这可以通过lotus客户端交易命令来完成。该命令以数据CID作为输入,生成Filecoin Piece,并交互式地带领用户完成存储交易流程,详见下文。 Filecoin Piece是用户存储在Filecoin网络上的数据的主要协商单位。Filecoin Piece没有特定的大小,但受网络参数的制约,受扇区大小的上限。如果一个Filecoin Piece大于矿工支持的扇区大小,那么它必须被分割成更多的碎片,以便每个碎片都适合一个扇区。 一个Filecoin Piece就是一个CAR文件,包含一个IPLD DAG,有对应的数据和Piece CID。 CAR即内容可寻址档案(Content Addressable aRchives)—— 每个 CAR 文件是一个 IPLD DAG 的序列化表示,即将其数据块串起来,再加上描述DAG图的头部信息(还有 根CID)。 当用户想要在Filecoin网络中存储文件时,首先要用UnixFS生成文件的IPLD DAG(这就是lotus客户端导入命令的作用)。代表DAG根节点的哈希是一个IPFS风格的CID,称为数据CID。 UnixFS是一种基于protobuf的格式,用于描述IPFS中的文件、目录和符号链接。在Filecoin中,UnixFS被用作提交给Filecoin网络的文件格式。 所产生的CAR文件用额外的零位来填充,以便使文件成为二进制的merkle树。 三、仓储交易流程 用户可以通过交易在Filecoin网络中存储数据,并从Filecoin网络中检索数据。网络中的参与者,包括矿工(供应方)和用户(需求方),通过存储交易和检索交易进行互动。 (责任编辑:admin) |