Filecoin官方信息|Lotus节点的演变

Posted 盘古开源

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Filecoin官方信息|Lotus节点的演变相关的知识,希望对你有一定的参考价值。

检索市场小型峰会的目的是聚集多个检索市场(Retrieval Market )解决方案的所有构建者,突出迄今为止所取得的进展,并探讨多个系统如何结合在一起以提高网络用户检索交易的效率、高效和可靠性。

在Filecoin Youtube频道上查看峰会详细内容:
https://www.youtube.com/playlist
list=PL_0VrY55uV19TsJ8r2qsMyG2v2LIKEmv2

在4月的检索市场创建者峰会上,Raul Kripalani(libp2p 和 Filecoin 核心开发者)深入研究了 Lotus 节点的架构和计划的更改,特别是对 Lotus-miner 节点的更改,以更好地满足存储服务商的需求和网络参与者。此次峰会的演讲旨在强调为Lotus 存储服务商确保检索交易高度可靠和可扩展所需的工作——帮助确保 Filecoin检索市场建立在稳健的基础上。

Lotus 是 Filecoin 网络的一个实现,用 Go 编写。作为 Filecoin 的第一个实现,Lotus旨在为整个网络奠定坚实而有弹性的基础。Filecoin节点的核心功能之一是实现有用数据的存储和检索,从而为 Filecoin 网络上强大的检索市场奠定基础。

Lotus 节点的演变

Filecoin 生态系统正在快速发展,Lotus 等生态系统工具也在不断发展以满足网络的需求并尝试未来的机会。特别是检索市场将为Filecoin 网络引入新功能,包括索引、CDN、公共检索等。

我们发现,这些新的检索市场功能将依赖于强大的存储服务商基础——如今,Lotus 存储服务商倾向于解决他们认为不稳定或无利可图的某些功能。归根结底,这是服务商认可的良好行为;它帮助 Lotus 发展,并满足他们的需求。当网络参与者开始短路某些功能时,表明软件本身应该为其用户提供更多的灵活性和模块化。

通过这一观察,我们意识到Lotus 的单体二进制文件阻碍了 Lotus 存储服务商灵活和稳健的操作,并确定了解决问题的机会。
在这里插入图片描述

单体二进制

目前为止,Lotus 节点的架构在很大程度上是单体的。Lotus 有两个不同的入口点:

  1. 一个完整节点;

  2. 一个存储服务商。

然而,除此之外,网络参与者几乎没有选择要在存储生命周期中承担哪些责任。例如,存储服务商的任务是封装、证明存储、交易等。这些是完全不同的职责,但它们通过当前的 Lotus-miner架构耦合在一起。

单体架构的问题

从广义上讲,这种整体架构阻止了存储服务商在不同的职责之间有效地分配他们的资源。强制合并责任与服务商的核心动机相矛盾,即在最小化运营风险的同时实现利润最大化。具体来说,单体二进制存在许多问题。

脆弱性:当架构内没有分隔时,一个区域的错误可能会泄漏并影响其他关键流程。这使得很难分割关键和非关键进程,导致整体崩溃。

攻击面增加:Lotus 服务商的某些进程需要公开公共端点,这使系统的该部分容易受到攻击。 如果架构是单一的,则单个公共端点可能会危及整个系统。

功能膨胀:在Filecoin 的使命中,服务商不仅存储和提供原始数据,而且还提供有用的服务,例如索引、发现等。 使用新的服务商侧功能重载单个进程会导致进一步的担忧和操作风险。

无法扩展:不同的能力需要不同的特性和不同的升级过程。尝试在单一系统中管理这些不同的功能很困难,并且会导致迭代和增长缓慢。

缺乏一些细微功能控制:由于服务商无法主动选择加入或退出功能,他们必须通过拒绝交易、设置高价以阻止交易甚至分叉代码库等机制来解决这些问题。

迭代慢:单体架构意味着更难测试和创新,因为没有简单的方法来隔离新组件并选择加入实验功能而不将其引入整个系统。

迈向模块化存储服务商架构

一个Lotus 服务商的职责有哪些呢,有两个不同的类别:封装和市场。这两个层共享非常不同的服务和SLA。例如,Lotus 服务商的封装作业是其最具经济利润的活动,并且本质上也是私有的。然而,市场运作是完全公开的,并在不同的盈利模式下运作。
在这里插入图片描述

Lotus存储服务商的更多责任

使用这种初始分类,迈向解决单体架构缺点的模块化服务商架构的第一步出现了:将Lotus 服务商流程分为:

  1. Lotus 市场流程;

  2. 其他 Lotus 服务商流程。

通过分离市场和封装,Lotus 节点的架构对于服务商来说变得更加特定于功能,使他们能够与最适合其能力和网络经济偏好的职责保持一致。
在这里插入图片描述

设计原则

在朝着更加模块化的服务商架构的这条新道路上前进的同时,Lotus 将继续坚持一些设计原则:

避免类似微服务架构的复杂性:明确避免复杂的相互依赖网络,这些网络迅速转化为意大利面状式架构,并需要专门的工具(如服务网格)来管理和调试。这是向Lotus 引入错误的复杂程度。因为这些过程仍然是一个单一的有凝聚力的单元的一部分。

简单的中心/辐条架构:Lotus 正在向中心辐射架构发展,该架构由主管实例管理。这些主管知道部署中提供了哪些功能以及哪些节点提供了这些功能。它们还充当聚合的外部API入口点。
在这里插入图片描述

在许多方面都值得投资:新的Lotus架构一定值得投资。 除了盈利能力外,其他一些ROI因素包括可靠性、安全性、开发人员敏捷性和稳健性。

强大的分布式流程生命周期监督系统:模块化架构并不意味着完全孤立的架构。如果出现故障并且意味着其他下游服务将出现故障,那么整个系统必须能够注意到并做出反应。

为了设计这个新的运行时,我们通过Erlang/OTP 和面向角色的编程(例如 JVM 世界中的 Akka)等模型来激励自己,并从服务网格和编排器中借用精选概念和抽象,而实际上并不完全依赖这些框架。

以上是关于Filecoin官方信息|Lotus节点的演变的主要内容,如果未能解决你的问题,请参考以下文章

FileCoin 挖矿教程 Lotus 源码大致的结构目录

lotus环境搭建

FileCoin Lotus复制证明 PoRep 源码梳理

盘古开源科普:IPFS与Filecoin节点之间如何交互?

FileCoin 挖矿教程之三:发送与接收 FIL

FileCoin 挖矿教程之四:日常维护