手机版
扫描查看手机站
首页 > 文章 > 加密世界 > 正文

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

时间:2023-02-03 阅读:
特战英豪官网版

特战英豪官网版

  • 类型:射击空战
  • 大小:61.82MB
  • 语言:中文版
  • 版本:v1.0.0

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


三国志幻想大陆礼包码怎么使用(三国志幻想大陆 礼包码怎么用) 网页如何清除缓存?怎样清理浏览器的缓存和垃圾 泰拉瑞亚黄玉钩爪怎么合成(泰拉瑞亚红玉抓钩) 冰原守卫者新手冬季生存图文教程(冰原守卫者怎么快速升级) MetaMask钱包安全吗?小狐狸钱包好用吗? OKExChain是什么链?OK链怎么样 热血传奇:1.76与1.80的过渡相连是什么样的(热血传奇1.76和1.80区别) 币印矿池能挖莱特币吗?币印矿池莱特币LTC挖矿教程 电脑清理垃圾的命令代码是什么?清理电脑垃圾的三个命令 欧易交易所怎么做多做空?OKEX/欧易交易所做多做空操作教程 币安交易所手续费多少?币安交易所手续费汇总 2022年最适合玩的5款大型单机游戏(2021好玩的大型单机) uni币对比dot币哪个更值得投资? 比特派钱包使用教程:如何一键创建多地址撸空投至币安智能链BSC 第五人格怎么溜鬼(第五人格怎么溜鬼医生) dnfpk场需要装备吗(现在dnfpk场怎么玩?) Jaxx Wallet是什么钱包?Jaxx(钱包)Wallet安全吗? bigone云币国际交易平台怎么样?bigone注册流程详细介绍 CCFOX交易所手续费多少钱?CCFOX手续费明细一览 欧易策略交易操作指南—进阶策略 三国志幻想大陆战魂怎么洗属性(三国志幻想大陆战魂属性洗练) DOTC去中心化交易平台使用教程:购买USDT okex资金账户是什么意思?资金账户和交易账户的区别 王者荣耀紫星币能赠送吗(王者荣耀紫星币能否赠送) 原神共饮之杯怎么获得(原神共饮之杯怎么获得的) 区块链扫盲:炒币做空是什么意思?炒币做空要注意什么? 币安交易所购买比特币BTC操作步骤教程 如何通过qq查别人英雄联盟ID(怎么用qq号查别人lol的id) 通俗解释元宇宙概念是什么意思?元宇宙有哪些属性? 时空猎人巅峰赛用什么角色好(时空猎人巅峰王者需要多少星) AAX交易所靠谱吗?AAX是正规交易所吗? 冰原守卫者佣兵如何分配(你知道的冰原守卫者相关要素) 创造与魔法雅安河的辣椒在哪里(创造与魔法贝雅河) 建筑工程相关专业(建筑工程专业找工作最好的网站?) 地下城堡3塔莱辛魔像在哪里(地下城堡3 塔顶平台) 我的世界奥法指环有什么用(我的世界奥法戒指怎么用) OpenSea是什么?opensea交易所开户、买卖NFT教学 NFT交易平台有什么意义?如何交易NFT代币? RSR是什么币种?RSR币前景怎么样? “无法连接至(无法连接至steam网络怎么办) 消逝的光芒2杂项有什么用(消逝的光芒2dlc) 魔兽争霸rpg地图推荐,魔兽rpg地图排名前十的游戏 比特币存哪个钱包最安全?安全的比特币钱包一览 2023年最赚钱的5个行业(2023年什么最赚钱) 比特币委托价格是什么意思?比特币委托挂单要手续费吗? 瓦特交易所怎么样?瓦特交易所正规吗? 我的世界裤子可以附魔什么(我的世界裤子附魔什么属性最好) 虚拟货币钱包如何使用?虚拟货币钱包imtoken使用教程图文介绍 第五人格小女孩天赋加点(第五人格小女孩天赋加点攻略) DF是什么交易所?DF交易所是哪个国家的? 比特币期货ETF是什么意思?一文读懂比特币期货ETF 电脑运行太慢了太卡了怎么办?一键提速30%从此不卡顿 2023热门的角色扮演游戏有哪些(好玩的角色扮演回合制类手游) 外媒评10款最佳动漫RPG(动漫风格的rpg游戏推荐) 冰原守卫者黑龙值得练吗(冰原守卫者冰龙怎么获得) 盘点各类正规拍店拍街兼职(兼职拍店赚钱) Cryptonator是什么钱包?Cryptonator钱包全面介绍 USDT负溢价是什么意思?一文读懂泰达币/USDT负溢价 火焰纹章封印之剑哪些人值得培养?全人物初始属性分析 比特币强制平仓是不是全亏了?造成强制平仓的行为有哪些 Steam社区/商店打不开(steam的社区怎么打不开错误代码-118) 如何解决小狐狸钱包报错问题,HECO链上小狐狸钱包突然报错解决方法 火币app注册教程:用非小号app注册火币操作教程 PDEX是什么币种?PDEX币详细介绍 十大招聘网站(十大招聘网站排行榜) 王者荣耀休息15分钟怎么解除(王者荣耀总让休息15分钟多少小时后刷新) 蜀门手游百花法宝技能解析(蜀门百花法宝技能加点) 硬件钱包Ledger Nano S介绍及安装使用教程 帝国战纪英雄币怎么得(帝国战纪兑换) 区块链Defi金融三要素 okex官网如何打开?okex网页登录不了了【已解决】 「玩转STEAM」游戏购买/账号切换/社区/成就无法访问解决方案 帝国战纪装备属性有哪些作用(帝国战纪游戏攻略) 火币生态链heco钱包值得投资的十大数字货币 深度诠释什么是区块链乐高"DeFi+永续合约"新玩法 问道手游宠物研发技能哪个好(问道手游宠物技能书怎么获得) USDT充值多久到账?泰达币充值到账时间介绍 HNS是什么币种?HNS币未来价值深度分析 WELL币发行价多少?WELL币发行价格详细介绍 消逝的光芒2第一只生体标记器密码是什么(消逝的光芒2rh) 超详细的金庸群侠传攻略全求成,轻松助你过关斩将 宝可梦阿尔宙斯满月怎么刷(阿尔宙斯专属道具) BitGlobal是什么交易所?BitGlobal交易所怎么样? 和平精英铂金下一个段位是什么(和平精英铂金段位下赛季是什么段位) 杠杆挖矿什么意思?为什么选择杠杆挖矿 DeFi项目:手把手教你使用Sushiswap教程 虚拟货币怎么提现到银行卡?一文学会虚拟货币提现人民币 支持HECO火币生态链钱包有哪些?如何设置PC端以太坊钱包? 三国志战略版三个战法发动顺序(三国志战略版战法发动顺序是) 解析波卡平行链与以太坊2.0架构设计有什么区别? 库神冷钱包支持什么数字货币?库神钱包怎么样? DKA是什么币种?DKA币未来前景怎么样? 宝可梦阿尔宙斯怎么重新开档(阿尔宙斯怎么用) DeFi项目及使用教程:手把手教你使用Balancer 区块链技术和YTBCOIN未来发展趋势 我的世界中各种药水的合成配方大全,药水合成表一览 BORA是什么币种?BORA币全面介绍 消逝的光芒2抑制剂密码是什么(消逝的光芒2boss) 币格交易所怎么样?bigone(币格)交易所详细介绍 宝可梦阿尔宙斯火之石怎么获得(阿尔宙斯gf)

热门文章

推荐专题

更多>>

游戏推荐

更多>>