网络

尽管NeoFS网络节点运行相同的软件并使用相同的协议,但它们可能扮演不同的角色。其中,有部分节点可以存储数据并处理用户API请求,它们属于常规存储节点,并形成外环。此外,还有有些节点负责网络健康运行、执行数据审计和支付结算等服务任务,并形成内环。该类节点不是很多,它们使用dBFT 2.0一致性算法来协调其操作。

内环节点连接到Neo区块链。它们不断监控来自区块链的事件,以同步其状态以及管理用户存款和内环节点自身信息的NeoFS智能契约的状态。

由于内环是基础架构的关键部分,因此并非每个节点都可以担当此角色。自愿加入内环的节点需要在Neo区块链的NeoFS智能合约中注册,并支付一定的安全保证金,倘若节点开始表现不佳,保证金将不予退还。

此外,与Neo共识节点一样,NeoFS内环节点试图实现最大可能的地理、政治和网络分散化。

NeoFS关于"此外,与Neo共识节点一样,NeoFS内环节点试图实现最大可能的地理、政治和网络分散化",的主要用例是DApps的数据存储和内容分发。如今,大多数DApps并未以分发的方式存储起资产,因此,它们不是真正的分布式应用程序。在NeoFS中,DApps可以通过使用标准HTTPS协议的协议门户或使用诸如移动应用程序的NeoFS API上传内容并分发给客户端。

DApp可以直接从智能合约代码访问NeoFS。 例如,DApp的智能合约可以生成一些数据并将其存入NeoFS中,而非存储于区块链中。此外链外存储数据非常便宜,也更容易交付予客户端。

网络地图

内环节点监控NeoFS存储节点的状态。利用该等信息,它们可以维护最新的网络地图。网络地图是一种多维图,其中节点具有属性,可根据该等属性及其数值进行分组。当无任何网络请求的情况下将对象置于NeoFS网络或从NeoFS网络获取对象时,可使用特殊的数据布局功能以查找将存储对象的节点。

此方法不允许使用任何集中式元数据存储来保存对象的位置,也不允许在每个连接点或离开存储节点时重新平衡数据,如同在以DHT为基础的系统中一样。

旨在混乱环境中可靠的工作

由于文件在文件系统的目录中组织,因此对象在NeoFS的包容器中组织。

每个包容器由满足用户为该特定容器定义的存储策略的存储节点子集提供服务。为了计算节点的子集,可将存储策略过滤器应用于网络地图。最终产生的节点集将负责确保满足存储策略,并确保数据没有损坏。如若成功,他们可共享用户为数据存储支付的费用。一个存储节点可为多个包容器提供服务,因此如果操作正确,就可以从每个包容器中获取少量的共享信息,从而获得可观的回报。而容器节点行为不当造成的损失亦如此。该操作促使节点密切关注其他包容器成员,并正确执行所有所需的复制、迁移和数据恢复过程。

该方法的另一个显而易见的好处是,NeoFS网络规模越大,网络就会越稳定,因为随着网络中节点数量的增加,网络的改变会影响到特定包容器的机会在减少。这意味着,需要迁移的数据量随网络的增长而减少,它与DHT方法不同。

NeoFS区块链组件

向NeoFS账户提供GAS的输入和输出以及内环节点列表的主要智能合约都在Neo主网上。NeoFS 内部储存和数据审计结果在侧链上。这使得不需要将大量的NeoFS内部交易加载到Neo区块链网络中。这种方法还允许我们实现内环节点的完全匿名性,并且不向其他网络节点泄漏。

NeoFS主网合约部署在Neo主网中。该合约的作用是维护内环节点列表、维护内环候选节点列表、接受用户的输入和提取GAS资产。

NeoFS网络的服务合约,如网络定向合约、容器合约、余额合约、数据审计合约、声誉合约等都在NeoFS Neo侧链上。

网络定向合约是NeoFS Neo侧链中的主要网络合约。本合同的作用是向侧链合约提供一份内环节点列表,该列表最初存储在NeoFS合同的Neo主网区块链中,管理存储节点列表,维护网络定向,在新的元设置时对网络定向快照,并存储元计数器,提供将元更改为内环节点的接口。元是一个实时的时间段,在此期间永久性的网络定向存在。

容器合约部署在NeoFS Neo侧链中。这个合约的作用是维护一个容器的列表,并提供这样的操作:通过标识符获取一个特定的容器,获取所有用户容器的列表,以及获取所有容器的列表。

余额合约位于NeoFS Neo侧链中,为NeoFS储存提供基于NeoFS网络结果执行大量快速微交易的内部NeoFS储存。

信誉合约的作用是维护存储节点的信誉等级。这个合约还部署在NeoFS Neo侧链中,用于处理大量调用,以处理存储节点的信任视图。

Neo主网区块链和NeoFS Neo侧链不直接交互。两条链之间的桥梁是内环,内环订阅来自两条链的事件。内环节点负责维护Neofs网络、监视存储节点和存储网络的数据完整性。

内环节点连接到Neo区块链。他们不断监控来自区块链的事件,以同步其状态、管理用户GAS的存入和内环节点自身信息的NeoFS智能合约状态,以及NeoFS Neo侧链智能合约。

协议门户

为使用标准协议与现有系统交互,NeoFS具有协议门户。该门户主要由用户维护,并非NeoFS网络的一部分。首先,提供REST协议门户,从而允许使用常规浏览器从NeoFS访问数据。然后,还将提供AWS S3和OpenStack对象存储门户,以允许用户进行更复杂的集成。就技术角度而言,可使用NeoFS协议库轻松开发属于自己的门户。