当前位置:主页 > 区块链 > 区块链技术 > Filecoin交易

Filecoin如何挖矿存储 Filecoin怎么检索交易

2021-05-26 09:04:30 | 来源: | 作者:佚名
Filecoin 网络允许任何人作为存储提供商参与,从而实现规模经济。目前,该网络由遍布全球的数百家存储提供商组成。内容寻址和加密存储证明可验证数据随时间的推移是否正确且安全地存储在矿工的硬件上,从而创建了强大可靠的服务。

Filecoin如何进行存储和检索交易?本篇文章从存储提供商(也称为矿工)和想要在 Filecoin 网络上存储数据的客户的角度解释了 Filecoin 交易是如何运作的。本文中的技术解释在查询数据时使用 JSON-RPC API 与 Filecoin 网络交互。此接口主要由应用程序使用。作为用户,您可以使用用户友好的 lotus 命令行工具,它在幕后使用 JSON-RPC API。喜欢的朋友一起看看吧!

介绍

Filecoin 网络允许任何人作为存储提供商参与,从而实现规模经济。目前,该网络由遍布全球的数百家存储提供商组成。内容寻址和加密存储证明可验证数据随时间的推移是否正确且安全地存储在矿工的硬件上,从而创建了强大可靠的服务。

本篇文章涵盖了 Filecoin 中两类交易的基本阶段,即存储交易和检索交易,并详细介绍了它们的生命周期。还解释了用于验证系统中的参与者是否根据其承诺履行其职责的加密证明。

Filecoin 存储的数据

为了将文件存储在 Filecoin 上,客户端必须首先将它们导入其本地 Filecoin 节点。此步骤生成数据 CID 内容标识符,唯一描述内容的 ID。随后,数据被转移到矿工手中。在 Filecoin 上存储文件的另一种方式是通过离线交易,本文没有讨论这一点。

可以使用 lotus client import 命令将数据本地导入到 Filecoin 节点。记住结果数据 CID(稍后也可以在本地节点上使用)很重要,因为它必须用于以后从矿工那里检索数据。

将数据导入本地节点后,用户需要发起交易。这可以使用 lotus client Deal 命令来完成。该命令将数据 CID 作为输入,生成一个 Filecoin Piece,并以交互方式引导用户完成下面详细描述的存储交易流程。

Filecoin Piece 是协商用户存储在 Filecoin 网络上的数据的主要单位。Filecoin Piece 不是特定大小,而是由扇区大小(由网络参数控制)的上限。如果 Filecoin Piece 大于矿工支持的扇区的大小,则必须将其拆分成更多的 Piece,以便每个 Piece 都适合一个扇区。

Filecoin Piece 是包含 IPLD DAG 的 CAR 文件,该 IPLD DAG 具有自己的数据/有效载荷 CID 和 Piece CID。

CAR 代表内容可寻址档案,CAR 文件是任何 IPLD DAG 的序列化表示,作为其块的串联,加上描述文件中图形的头(带有根CID)。

当客户端希望在 Filecoin 网络中存储文件时,他们首先使用 UnixFS 生成文件的 IPLD DAG(这就是lotus client import命令所做的)。表示 DAG 根节点的散列是 IPFS 样式的 CID,称为数据/有效负载 CID。

UnixFS 是一种基于协议的格式,用于描述 IPFS 中的文件、目录和符号链接。UnixFS 在 Filecoin 中用作提交到 Filecoin 网络的文件格式指南。

生成的 CAR 文件用额外的零位填充,以便该文件生成二进制 Merkle 树。

存储交易流程

用户可以通过交易在 Filecoin 网络中存储数据和检索数据。网络中的参与者,矿工(供应方)和客户(需求方),通过存储交易和检索交易进行互动。

存储交易的生命周期如下:

1. 发现

客户识别矿工并确定他们的当前要求,即每 epoch(30秒)的每 GiB 价格。在attoFIL(1 attoFIL等于10^-18*FIL)中,矿工希望收到以接受交易。目前,Filecoin 中的交易最短持续时间为 180 天。

通过使用 Filecoin.StateListMiners 方法查询同步节点的 JSON RPC API(出于测试目的,使用https://api.node.glif.io公共端点),可以列出所有当前活动的矿工:

curl -X POST -H "Content-Type: application/json" \ --data '{ "jsonrpc": "2.0", "method": "Filecoin.StateListMiners", "params": [ null ], "id": 1 }' \ 'https://api.node.glif.io' | jq​{ "jsonrpc": "2.0", "result": [ "f011303", "f011092", ...

您可能希望根据特定提供商在网络中的声誉或实力来决定。矿工的声誉指标还不是 Filecoin 协议的一部分,在本文中也没有涉及。

选择矿工后,您需要获取其 PeerID(例如,使用Filecoin.StateMinerInfo方法),以便通过 libp2p 协议与它们建立安全连接:

curl -X POST -H "Content-Type: application/json" \ --data '{ "jsonrpc": "2.0", "method": "Filecoin.StateMinerInfo", "params": [ "f03274", null ], "id": 1 }' \ 'https://api.node.glif.io' | jq​{ "jsonrpc": "2.0", "result": { "Owner": "f03261", "PeerId": "12D3KooWP5D9TmqC45i6L2e2qQHYcuxaUwPdYo6CzqUMVmFEH3N9", ...

然后可以使用 Filecoin.ClientQueryAsk 方法查询签名的 StorageAsk。这将建立与所选矿工的直接 libp2p 连接,并请求存储报价:

curl -X POST https://api.node.glif.io \ -H "Content-Type: application/json" --data-binary @- << EOF{ "jsonrpc": "2.0", "method": "Filecoin.ClientQueryAsk", "id": 1, "params": [ "12D3KooWP5D9TmqC45i6L2e2qQHYcuxaUwPdYo6CzqUMVmFEH3N9", "f03274" ]}EOF​{ "jsonrpc": "2.0", "result": { "Price": "100000000000", "VerifiedPrice": "100000000000", "MinPieceSize": 256, "MaxPieceSize": 34359738368, "Miner": "f03274", "Timestamp": 148031, "Expiry": 1199231, "SeqNo": 14 }, "id": 1}

结果包括该矿工愿意接受的交易细节,例如允许的 Filecoin Piece 大小范围和每 epoch 每 GiB 的价格。请注意,提出符合矿工存储要求的存储交易方案是前提条件,但不足以确保交易被接受,存储提供商稍后可能会运行自己的决策逻辑。

2. 协商和数据传输

在此阶段,双方就交易条款达成一致,如交易费用、交易期限、交易开始时间等。

然后将数据从客户端传输到矿机。

3. 发布

该交易通过 PublishStorageDeals 消息在链上发布,使存储提供商对该交易公开负责。

4. 切换

一旦交易在链上发布,它将被移交给 Storage Mining 子系统,以打包到一个扇区中,该扇区稍后会被封存,随后会不断得到证明。

Storage Mining 子系统

Storage Mining 子系统确保矿工可以有效地将存储提交到 Filecoin 网络,并且:

  1. 通过接收客户端数据和参与存储交易,参与Filecoin存储市场。
  2. 参与Filecoin Storage Power Consensus,验证并生成数据块以发展 Filecoin 区块链,并因此而赚取数据块奖励和费用。

它监督以下过程:

提交新存储并注册新扇区

为了在 Filecoin 中注册扇区,矿工必须封装该扇区。封装是一个计算量很大的过程,它以证明的形式生成数据的唯一表示形式,称为复制证明(Proof-of-Replication,简称PoRep)。一旦生成了证据,矿工就会对其进行压缩,并将结果提交给区块链。这是一份证明,证明该矿工确实复制了他们同意存储的数据副本。

持续证明存储(请参阅WindowPoST)

每个存储矿工都必须不断地在链上提交证明,以证明他们继续存储他们的扇区。

声明存储故障并从中恢复(请参阅故障)

未能提交上述特定扇区的证明将导致故障,矿工将受到处罚。

存储矿工和客户端注意事项

如上所述,存储交易在激活和封装之前在链上发布。这一点很重要,因为发布交易会将客户的资金锁定在链上的第三方托管中。因此,矿工保证,如果他们真的封存了某个扇区的数据,他们将获得报酬。

这有助于将在网上发布交易视为签署合同,并将封存和激活交易视为开始做矿工承诺的工作。

从希望在 Filecoin 上存储数据的客户的角度来看,交易大致经历了以下阶段:

  1. 为交易提供资金,客户将资金锁定在第三方托管中。
  2. 向矿工提议一笔交易。
  3. 检查是否有接受交易的意向。
  4. 将交易数据传输到矿工,这是通过 GraphSync 协议完成的。GraphSync 是一种用于在对等体之间同步 IPLD 图的协议。它允许主机向远程对等点发出单个请求,以获取遍历远程对等点的本地 IPLD 图上的 IPLD 选择器的所有结果。Lotus 使用 GraphSync 协议的 ipfs/go-raphsync 实现。
  5. 检查是否接受-确保矿工已经接受了交易,并将其发布在链上。
  6. Seal-Deal 处于连锁状态,Miner 目前正在封存包含该交易的一个扇区。
  7. 有效,交易已封存并处于有效状态。从现在开始,存储提供商/矿工应定期证明他们将继续存储数据。更多细节请参见下面的时空证明部分。

从通过存储客户数据向客户提供服务的矿工的角度来看,这笔交易大致经历了以下几个阶段:

  1. 验证交易,接收交易建议书,并检查其参数(规模、价格等)。
  2. 检查锁定的资金,确保客户已锁定资金,并且可以支付交易费用。
  3. 等待数据,从客户接收交易数据。
  4. 为链上交易质押抵押品。
  5. 在链上发布交易。
  6. 封装扇区。
  7. 激活交易,从现在开始,存储提供商/矿工定期提交 WindowPoST 证明,证明他们在持续存储数据。

检索交易流程

检索交易与存储交易不同,检索交易大多是在支付渠道的推动下脱链进行的。数据传输是计量的,客户在传输数据时向矿工支付递增的费用。创建支付渠道和兑换代金券是这一过程中唯一涉及到与 Filecoin 区块链互动的部分。

这是整个过程:

发现,客户端识别拥有所需数据的矿工,并向他们请求检索报价,每字节价格、开封价格、付款间隔。

支付渠道设置,客户在他们和矿工之间建立支付渠道(如果还不存在的话)。

使用 Payment,Miner 进行数据传输,将数据发送到客户端,直到需要付款。当达到特定阈值时会请求支付处理,在此之后继续进行数据传输。根据矿工在其块存储中是否有数据,他们可能需要首先将其解封,这是一个非常重要且非即时的操作,这与关于存储交易一节中描述的封存相反。

客户端尚未成功检索数据的完整副本。

时空证明

上面几节简要介绍了使 Filecoin 独一无二并为用户提供数据概率保证的许多细节。本节介绍了 Filecoin 使用的两个证明,并解释了它们如何适应协议以及它们解决的问题。

时空证明(PoSt)是存储矿工可以向 Filecoin 网络证明他们代表网络继续存储某些数据的唯一副本的过程。

在如今的 Filecoin 中,时空证明有两种不同的表现形式:

  1. Window Proof-of-Spacetime(WindowPoSt)
  2. Winning Proof-of-Spacetime(WinningPoSt)

Winning Proof-of-Spacetime

Winning Proof-of-Spacetime(WinningPoST)是一种奖励存储矿工对 Filecoin 网络做出贡献的机制。在每个时代之初,都会选出一小部分存储矿工,为每个矿分配一个新的区块。作为这样做的一项要求,每个矿工的任务是提交特定扇区的压缩存储证明。每个成功创建区块的当选矿工都会获得 FIL(区块奖励),并有机会向其他 Filecoin 参与者收取费用,以便在区块中包含消息。

在必要的窗口内未能做到这一点的存储矿工将丧失开采区块的机会,但不会因未能做到这一点而受到惩罚。

Window Proof-of-Spacetime

Window Proof-of-Spacetime(WindowPoST)是 Filecoin 区块链审核存储矿工承诺的机制。

每个存储矿工都应该维持其承诺的扇区。这些扇区包含与客户或空扇区达成的交易。后者被称为承诺产能,即矿工可以做出产能承诺,用任意数据填充一个扇区,而不是用客户数据。通过维护这些扇区,存储矿工可以证明他们正在代表网络预留空间。

每天被分成多个窗口,当前为 48 个窗口,持续时间为 30 分钟(60个周期,因为1个周期等于30秒)。

每个存储矿工的质押扇区集被划分为子集,每个窗口一个子集。

在给定的窗口(30分钟)内,每个存储矿工必须提交各自子集中每个扇区的时空证明。这需要随时访问每个受挑战的扇区,并将 ZK-snark 证明作为块中的消息发布到 Filecoin 区块链。通过这种方式,质押存储的每个部门在任何 24 小时内至少审计一次,并保留一份永久的、可核实的和公开的记录,以证明每个存储矿工的持续承诺。

在上图中,您可以看到样本矿工应该在截止日期 0(>16TB)、截止日期 1(<8TB)和截止日期 2(<8TB)中提交 WindowPoSt 证明,其大部分扇区都在截止日期 0 内。每个矿工的截止日期是随机的,对于这个特定的矿工,分别从 epoch1635、epoch 1695 和 epoch 1755 开始。您可以在 SpaceGap 工具上查看这些截止日期和有关矿工的更多详细信息。

Filecoin 网络期望存储数据的持续可用性。未能提交扇区的 WindowPoSt 将导致故障,并且提供该扇区的存储矿工将被大幅削减。这激励了存储矿工的健康行为。

故障

如果由于网络连接中断、存储故障或恶意行为而导致网络连接中断、存储故障或恶意行为,则在证明期间内 Filecoin 区块链中未包含证明,则会发生故障。

当某个扇区出现故障时,Filecoin 网络将大幅削减本应存储该扇区的存储矿工;也就是说,它将评估对该矿工的处罚(从矿工提供的抵押品中支付),原因是他们未能履行其存储承诺。

扇区故障费有三种类型:

扇区故障费,当扇区处于故障状态时,每天按扇区支付此费用。这笔费用的规模略高于该扇区预计每天赚取块奖励收入。如果一个扇区连续两周以上仍然出现故障,该扇区将支付终止费,并被从链条状态中移除。

扇区故障检测费,这是在发生故障时支付的一次性费用,前提是矿工不诚实地报告故障,而未报告的故障被区块链捕获。考虑到事后检查的概率性质,这被设定为相当于特定扇区预期赚取的几天的整体奖励。

扇区终止费,扇区可以通过自动故障或矿工决定在到期日期之前终止。收取终止费,原则上是等于一个扇区迄今已赚取的收入,但要达到一定的上限,以免影响较长的使用寿命。

在 Filecoin Spec 网站上阅读更多关于故障及其经济方面的信息

结论

本篇文章涵盖了与在 Filecoin 上存储和检索数据相关的一些概念,客户和矿工为实现这一目标而参与的协议,以及在此过程中涉及的不同证明和保证。

它从客户和矿工的角度详细说明了存储和检索交易的流程,以及 Filecoin 协议将在其中一方行为不当的情况下执行的惩罚措施。

最后,概述了 Filecoin 协议如何管理 Filecoin 网络的一些基础,从而形成可靠且不可信的去中心化存储网络。

End

非常感谢您对 IPFS&Filecoin 项目的持续支持。我们很高兴继续与您一起,为人类信息建立一个强大的,去中心化和高效的基础。

FilCloud 帮你迅速了解 IPFS 领域的热点技术和应用公众号:filcloud

本文内容来自于网络,如有侵权,烦请联系处理

本站作为开放的资讯分享平台以供学习研究,所有观点仅代表原作者个人观点,绝不代表本站赞同其观点或证实其描述。

本站提醒:投资有风险,入市须谨慎,本内容不作为投资理财建议。

文章链接:https://www.readblocks.com/archives/96948

免责声明:本文只为提供市场讯息,所有内容及观点仅供参考,不构成投资建议,不代表本站观点和立场。投资者应自行决策与交易,对投资者交易形成的直接或间接损失,作者及本站将不承担任何责任。!
Tag:Filecoin   挖矿   存储   交易  

你可能感兴趣的文章

更多

热门币种

  • 币种
    最新价格
    24H涨跌幅
  • bitcoin BTC 比特币

    BTC

    比特币

    $ 79430.32¥ 538942.66
    -1.15%
  • ethereum ETH 以太坊

    ETH

    以太坊

    $ 2253.42¥ 15289.68
    -1.94%
  • tether USDT 泰达币

    USDT

    泰达币

    $ 0.9995¥ 6.7817
    -0.02%
  • binance-coin BNB 币安币

    BNB

    币安币

    $ 672.2¥ 4560.94
    -0.69%
  • ripple XRP 瑞波币

    XRP

    瑞波币

    $ 1.4417¥ 9.782
    -0.13%
  • usdc USDC USD Coin

    USDC

    USD Coin

    $ 1.0001¥ 6.7857
    +0%
  • solana SOL Solana

    SOL

    Solana

    $ 90.9111¥ 616.84
    -3.49%
  • tron TRX 波场

    TRX

    波场

    $ 0.354¥ 2.4019
    +0.85%
  • dogecoin DOGE 狗狗币

    DOGE

    狗狗币

    $ 0.1136¥ 0.7707
    +1.43%
  • hyperliquid HYPE Hyperliquid

    HYPE

    Hyperliquid

    $ 40.2098¥ 272.82
    +2.48%

币圈快讯

  • Circle强推USDC绑定Hyperliquid生态官宣成为技术部署方USDC成为对齐报价资产

    2026-05-14 20:42
    USDC发行商Circle宣布进一步深化与Hyperliquid的合作,成为USDC在Hyperliquid的技术部署方,并将USDC定位为对齐报价资产(AlignedQuoteAsset)。Hyperliquid作为高性能链上交易平台正从永续合约扩展到结果型市场,USDC将继续作为主要抵押品和报价资产支持流动性、抵押管理和跨链资本流动。Circle负责提供可靠的铸造、赎回和跨链转移基础设施,让USDC在新市场中发挥更核心作用。Circle同时宣布加大对Hyperliquid生态的金融投入:继2025年9月首次购买HYPE代币后,再度质押50万枚HYPE,进一步绑定双方利益,并朝着成为验证者迈进。
  • 过去24hBinance净流入13.42亿USDT

    2026-05-14 20:38
    据Coinglass数据显示,Binance在过去24小时内净流入13.42亿USDT。
  • 由Tron、Tether和TRMLabs支持的T3已冻结超4.5亿美元涉案资产

    2026-05-14 20:34
    由Tether、TRONDAO与TRMLabs联合成立的T3FinancialCrimeUnit(T3FCU)宣布,截至2026年5月已在全球冻结超过4.5亿美元涉案加密资产。公告显示,T3FCU于2025年拦截的非法资金规模同比增长43.9%,涉及案件包括受控物质交易、交易所黑客攻击、朝鲜相关活动、恐怖融资及绑架勒索等。该组织目前已与23个司法辖区的监管和执法机构合作,包括美国、西班牙、德国、巴西和英国等。T3FCU表示,其曾在巴西“OperationLusocoin”行动中协助冻结超30亿巴西雷亚尔加密资产,其中包括430万枚USDT。
  • 美国至5月9日当周初请失业金人数增至21.1万人超预期

    2026-05-14 20:30
    美国至5月9日当周初请失业金人数为21.1万人,超过市场预期的20.5万人。前值由20万人修正为19.9万人。
  • ZachXBT再度指控LAB项目进行市场操纵损害散户利益超95%代币已被控盘

    2026-05-14 20:29
    链上侦探ZachXBT再发长文曝光LAB项目及其创始人(@vsadkovv),LAB代币暴涨至60亿美元FDV,但背后非常不透明。该团队由VovaSadkov和Mark创立,此前其Eesee项目令众多投资者不满。当前LAB流通量数据混乱,官方未明确公布清晰的代币分配,投资方和交易平台高度重叠,最关键的是:内部人士很可能控制了超过95%的代币,散户根本对真实流通情况不知情。此外,LAB团队单方面将公售锁仓期从3个月改成9个月,同时拖欠营销费用,向KOL和巨鲸给予特殊待遇并要求发帖宣传。创始人将项目资金和个人账户混用,大量资金直接进入交易平台充值地址。内部人士可在散户完全不知情的情况下进行抛售。链上显示内部人士最近从交易平台提出上亿枚LAB,价值数亿美元,并和之前多个被操纵的项目手法类似。ZachXBT呼吁交易平台进行彻底调查并下架或冻结相关资金。此外ZachXBT特别声明:这不是做空推荐。在如此高的供应控制下,做空反而成为燃料。
  • 查看更多