在星际视界上篇文章FilecoinSpec系列(一)中笔者对于协议系统中涉及的重要概念、FilecoinVM等进行了深入研究。今天这篇文章星际视界将对FilecoinSpec系列中系统分解进行详细讲解阐述。
系统及运转
Filecoin将功能解耦并模块化为松散连接systems。每个系统都添加了重要的功能,通常可以实现一系列重要且紧密相关的目标。
例如,区块链系统提供了诸如区块,Tipset和链式的结构,并提供了区块同步,区块传播,区块验证,链的选择和链的访问之类的功能。这与文件,片段和数据传输分开,这两个系统都与市场隔离。市场提供订单,交易,市场可见性和交易结算。
系统解耦起作用的方向
执行的界限:可以构建仅执行系统子集的Filecoin实现。这对于实现多样性尤其有用:我们需要安全性关键系统的许多实现,但不需要可以解耦的系统的许多实现。
Brave宣布在Brave钱包推出自动化NFT备份及增强Filecoin支持功能:金色财经报道,Filecoin社区宣布Brave正式在Brave浏览器和钱包推出新特性,通过Filecoin和星际文件系统(IPFS)来支持web3的发展、落地和使用。这些新特性包括将NFT锚定到IPFS上,以及整合Filecoin虚拟机来访问dApps应用,还有通过Brave钱包利用Filecoin网络的其他功能。
据悉,Brave和协议实验室从2021年1月开始展开合作,当时Brave在其桌面浏览器宣布支持IPFS ,为日常用户解锁了web的独特新体验。在同一年的晚些时候,旨在协助用户在去中心化web网络上存储、访问和分发数据。[2023/5/5 14:44:57]
运行时解耦:系统解耦使构建和运行将系统隔离到单独程序甚至单独物理计算机中的Filecoin节点变得更加容易。
Filecoin 在 Immunefi 上推出高达 50 万美元的漏洞赏金计划:金色财经报道,Filecoin 现已在 Immunefi 上线高达 50 万美元的赏金计划,帮助识别 FVM 启动后代码库中可能存在的潜在风险和问题。[2023/4/17 14:07:13]
安全隔离:某些系统比其他系统需要更高的操作安全性。系统解耦使实现能够满足其安全性和功能性需求。一个很好的例子是将区块链处理与数据传输分开。
可伸缩性:系统和各种用例可能会为不同的操作员带来不同的性能要求。系统解耦使运营商更容易沿着系统边界扩展其部署。
Filecoin节点不需要全部的系统
Filecoin节点差异很大,不需要系统的全部;大多数系统仅在部分用例中才需要。星际视界在这里举个例子:需要区块链系统来同步链,参与安全共识,存储挖矿和链的验证。许多Filecoin节点不需要链,只需从其信任的节点中从最新的状态树中获取内容即可执行其工作。
Filecoin网络目前总质押量约为7760万枚FIL:据IPFS100.com报道,Filfox浏览器数据显示,Filecoin网络当前区块高度为800056,全网有效算力为5.784EiB,总质押量约为7760万枚FIL,活跃矿工数为2372个,每区块奖励为25.5498FIL,近24小时产出量为358573FIL,24小时平均挖矿收益为0.0595FIL/TiB,目前FIL流通量为128124972FIL。目前有效算力排名前三的分别为:f0127595(时空云)以118.07PiB暂居第一,f0135467(RRM-雅典娜)以106.34PiB位居第二,f0142720(RRM-雅典娜)以103.79PiB位居第三。[2021/5/30 22:55:42]
最好根据节点的功能来定义节点,因此也要根据它们所运行的系统来定义节点。例如:
1、链的验证器节点:运行区块链系统,可以同步和验证链,无法挖矿或打包区块。
Filecoin核心开发者称Filecoin网络可考虑支持NFT:2月15日消息,Filecoin核心开发者Why近日在Slack频道中发布了一段关于将NFT(非同质化通证)添加到Filecoin网络的想法,引发社区讨论。Why表示:我们可以在Filecoin中添加NFT actor,允许人们像在以太坊上面那样铸造和交易NFT资产。Filecoin可以原生地支持NFT,并存储在网络中。NTF还可以有一些特殊的机制,比如可以通过某种方式自动验证客户端数据。这意味着任何人制造的NFT基本上都会立即由网络免费存储。Why在与社区沟通中强调,Filecoin支持原生NFT的功能需要在网络升级中添加,整体的工作量并不小。[2021/2/15 19:49:24]
开源矿池攻克Filecoin丢失算力难题:近期,Filecoin太空竞赛期出现了算力丢失问题,不完全统计大概有80%的矿工遇到算力丢失问题。开源矿池近日取得重大技术突破,针对Filecoin官方代码进行了优化和重构,可以100%恢复算力,并且可以预防算力丢失。为促进Filecoin生态良性发展,开源矿池也正式推出算力恢复工具“算力恢复大师”,帮助有需要的矿工恢复算力。目前部分代码已经提交官方,等待官方接受合并。[2020/9/4]
2、客户端节点:运行区块链,市场和数据传输系统;可以同步和验证链,无法挖矿或打包区块。
3、检索矿工节点:不需要链,运行检索市场和数据传输系统。可以进行检索交易,可以发送客户数据,并为其付款。
4、存储矿工节点:运行区块链,存储市场,存储挖掘系统;可以同步和验证链。可以进行存储交易,可以将存储的数据密封到扇区中;可以获得存储共识能力。可以开采和生产块。
分离的系统
如何确定一个系统与另一个系统的功能?
在系统之间划定界限是将紧密相关的功能与无关部分分开的艺术。从某种意义上说,我们寻求在同一系统中保持紧密集成的组件,而远离其他不相关的组件。这有时是很直接的,边界自然来自于数据结构或功能。
例如,很明显客户端和矿工之间的交易谈判与VM的执行无关。
有时这更难,并且需要整理,添加或删除抽象。例如,StoragePowerActor和以前StorageMarketActor是单个Actor。这导致了整个StorageDeal生产StorageMarket市场-存储市场-部门密封-PoSt生成等功能之间的产生巨大耦合。纠结这两组相关功能需要将一个参与者分成两个。
在系统内分解
系统分解为较小的子单元有时称为“子系统”,以避免与更大的一流系统混淆。子系统本身可能会进一步崩溃。此处的命名未严格执行,因为这些细分与协议和实现工程方面的问题相比,与用户功能的关系更大。
实施系统1.系统要求
为了更容易将功能解耦到系统中,Filecoin协议假定有一组对所有系统可用的功能。该功能可以通过多种实现方式实现,星际视界温馨提示以下仅作为指导建议。
1、本地的IpldStore——数据结构的一定数量的持久本地存储。系统期望使用IpldStore进行初始化,在该系统中存储期望在崩溃后持久存在的数据结构。
2、用户配置值——少量用户可编辑的配置值,这些应该使最终用户易于访问,查看和编辑。
3、本地安全KeyStore——用于生成和使用加密密钥的工具,必须对Filecoin节点保密。系统不应直接访问密钥,而应通过KeyStore提供加密、解密、签名、SigVerify等功能进行访问。
4、本地的FileStore——某些文件的持久本地存储,系统期望使用存储大文件的FileStore进行初始化。
例如:Markets系统可能需要存储和删除大量较小的文件。而存储挖矿系统可能需要存储和删除大量的大文件。
1、网络——大多数系统需要访问网络,才能连接到其他Filecoin节点中的对应系统,系统期望使用可libp2p.Node在其上安装自己的协议的进行初始化。
2、时钟——有些系统需要访问当前的网络时间,而有些系统的漂移容差较低。系统期望使用一个时钟来初始化,以从中得知网络时间。一些系统需要很少的时钟漂移,并且需要安全的时间。
为此,我们使用FilecoinNode数据结构,该数据结构在初始化时传递到所有系统中。
2.系统局限性
另外,系统必须遵守以下限制:
1、随机故障——Filecoin节点可能随时故障。系统必须是安全且一致的。这主要是通过限制持久状态的使用,通过IpLd数据结构持久化这种状态以及通过使用检查状态以及可能纠正错误的初始化例程来实现的。
2、隔离——系统必须通过定义明确的隔离接口进行通信。不得在共享内存空间上构建关键功能。,它还显着简化了协议,并使其更易于理解-分析-调试和更改。
3、无法直接访问主机操作系统文件系统或磁盘——系统无法直接访问磁盘,而是通过FileStore和IpldStore来进行。这将为最终用户提供高度的可移植性和灵活性,这需要能够轻松替换其Filecoin节点访问本地存储的方式。
4、不能直接访问主机OS网络堆栈或TCP/IP系统无法直接访问网络——它们通过libp2p库进行访问。不得有任何其他类型的网络访问,这提供了跨平台和网络协议的高度可移植性,使Filecoin节点可以使用各种协议在多种设置下运行。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。