该教程旨在为初学者提供友好的、无需代码的Filecoin证明系统体验,并详细讨论了复制证明(PoRep)、存储证明(PoSt)和zkSNARK等技术在激励的分布式存储系统中如何实现互信。
接下来,我们将开始学习第二课。
验证Filecoin上的存储|第2课,共6课准备和传输数据
一、准备要存储的数据
在将系统文件(例如puppy.gif)存储到Filecoin网络之前,首先必须将其转换为FilecoinPiece。
在转换过程中,将系统文件与UnixFS一起分块,以创建IPLDDAG(有向无环图)。关于DAG(一种Merkle树形式)的更多信息可以在我们的分散数据结构教程中了解。IPLDDAG的根被表示为有效载荷CID(内容标识符),与IPFSCID相同。
然后将IPLDDAG序列化为CAR文件,并进行位填充以制作FilecoinPiece。该FilecoinPiece有一个唯一的PieceCID(内容标识符),也称为CommP(Piece Commitment)。
由于有效载荷CID和分片CID是数据本身的加密哈希,因此它们是唯一的。相同的CID保证了相同的内容。相同的IPLDDAG将产生相同的有效载荷CID,相同的片段将产生相同的片段CID,无论它们是由谁存储或检索的。
二、协商存储交易并传输数据
当客户与矿工协商存储时,他们雇佣矿工来存储数据块,可以是整个文件或部分文件。矿工将这些分片存储在扇区中,这是Filecoin使用的基本存储单位。扇区的大小不同,并且客户可以存储每个交易的最大数据规模。
一个CID(内容标识符)与其他交易参数一起打包,以创建交易提案。该交易提案包含有关数据本身、矿工和客户身份信息以及其他重要的交易细节。
客户将此交易提案发送给同意存储其数据的矿工。矿工确认后,客户端将数据传输给矿工。一旦矿工获得并验证了数据与交易提案中记录的CID相匹配,他们将在Filecoin的区块链上发布交易提案,并承诺交易双方。
作者:桑榆话说区块链