验证星际文件系统上的存储

原创
1301 天前
2870

上一期探索星际中我们探讨了激励性的去中心化存储,包括集中式和分布式存储,激励性存储,密码证明。今天我们一起来学习验证星际文件系统上的存储:准备和传输数据。

在将系统文件(例如puppy.gif)存储到星际文件系统网络之前,必须先将其转换为星际文件系统Piece。扫码获取参与方式

在此转换的第一阶段,系统文件与 UnixFS 分块以创建IPLD DAG(有向无环图)。您可以在我们的去中心化 Web 上的内容寻址教程中了解有关DAG(默克尔树的一种形式)的更多信息。这个IPLD DAG有一个有效载荷CID,与代表DAG根的分布式存储协议CID相同。

然后将IPLD DAG序列化为CAR文件并填充位以制作星际文件系统Piece。(位填充添加了额外的位,使片符合标准尺寸。)这片具有唯一的片CID,也称为CommP(Piece Commitment)。

由于有效负载CID和片段CID是数据本身的加密散列,因此它们是唯一的,相同的CID保证相同的内容。相同的IPLD DAG 将产生相同的有效载荷CID,相同的片段将产生相同的片段CID,无论谁来存储或检索它们。扫码获取参与方式

协商存储交易和传输数据

当客户与用户协商存储协议时,他们雇用他们来存储一段数据,可能是整个文件或部分文件。用户将来自一个或多个客户的这些片段存储在扇区中,这是星际文件系统使用的基本存储单元。扇区有多种大小,客户可以将数据存储到每笔交易的最大扇区大小。

一个CID与其他交易参数一起包装以创建交易建议。交易CID包含有关数据本身的信息,以片段CID的形式,用户和客户的身份,以及其他重要的交易细节。

客户将此交易提案发送给同意存储其数据的用户。一旦用户确认,客户端将他们的数据传输给用户。一旦用户获得数据并验证它与交易提案中注明的CID匹配,他们就会在星际文件系统的区块链上发布交易提案,让交易双方都参与其中。扫码获取参与方式