Insolar的缩放和分片
Insolar区块链平台的节点角色分配和分片的组合达到了每秒超过10,000个。区块链领域的交易速度是一个备受争议的话题,到目前为止,平台还无法扩展到可以跨一个大型分散的网络执行大量事务。问题在于,在扩展时先前的分散系统变得集中,以便在全球网络状态中保持一致。因此,迄今为止区块链网络受到DCS定理的限制,该定理表明,在权限下放时共识和规模方面只能同时实现两个属性。 虽然定理是正确的,但它可以通过适当的问题结构“被欺骗”。
Insolar如何在保持分散的同时扩大规模?
Insolar区块链平台通过将整体问题划分为3个子问题克服了上述定理,其中每个子问题通过使用不同的DCS属性并在不同的时间解决。
此外,Insolar认识到没有“一个共识来统治所有人”。共识的选择必须基于目的,应该能够根据不同的交易而变化。
Insolar推出了三个主要阶段
1.基于Globula网络协议的网络共识
a.它涵盖了DCS定理的分散性和一致性,确保了整个网络都同意下列几点:谁是活跃的网络成员;以及随机性。
b.这种共识是纯BFT,其结果在脉冲持续时间(阻滞时间)内有效。
2.工作划分
a.从达成网络一致性开始,复盖了DCS定理的一致性和规模特性。
b.通过对活动成员列表和网络共识产生的统一应用确定其函数,Insolar获得的工作分布图在每个活动成员上都是相同的。
c.此工作分布图使Insolar能够通过每个智能合约仅应用一个执行程序节点来最小化工作负载。
3.确认和交易共识
a.在处理合同时保护网络免受恶意节点的攻击,并使每个事务达成共识。
b.作为智能合约的执行者,节点的分配在脉冲结束时到期将选择验证器来实现在下一个工作分区阶段的验证结果。这可以保证执行程序无法预测验证工作的验证程序。
c.换句话说,我们为每个更新的智能合约运行了数千个小共识,每个共识都可以单独调整。
因此,通过考虑时间和功能,Insolar克服了DCS限制并提供了独特的功能。但这并不是Insolar 全域识别特性的唯一性能,更多可以提高安全性和性能包括:
基于不同类型的硬件容量会有多个节点角色,以实现动态和有效的负载管理。
数据分片和散布,以及数据提交和数据持久化节点的分离,以提高存储可扩展性和数据安全性。
节点角色
就像在室友之间分配家务劳动提高了完成琐事的工作效率一样,将特定功能分配给特定节点可以提高处理速度,同时它还允许网络在添加的附加节点被分配到不同功能时同时进行扩展。
Insolar的方法涉及分配计算资源(节点)特定角色,即将节点分为三类:
计算节点(所谓的虚拟节点)执行处理,能够将更改和新数据引入存储。
块构建节点(所谓的轻质材料节点)用作虚拟节点的存储,形成新块并充当短期(小时或天)存储。
存储节点(所谓的重物质节点)通过数据复制和密度控制完成长期分布式存储,用来基于存储证明技术的自动内容完整性检查。分离这些类别与可扩展性紧密相关。增加虚拟节点数可提供更高的CPU处理速度;更多轻质材料节点提供更高的网络处理速度;更多重物料节点增加了存储容量。
数据分片和散射
在Insolar平台上,分片中的每个对象都独立于其他对象,属于Jet - 一个分片单元。 Insolar使用两种射流:一种物质射流,它接近了对碎片链的理解;和Virtual Jet射流,它涵盖了基于CPU的处理和数据关联。
在虚拟节点执行所有基于CPU数据处理的同时,它们将处理后的数据发送到轻物质节点,轻负载节点的任务是在负载较大时分割数据。此过程称为数据分片。此外,Insolar跨多个节点进行数据对象基于时间的分发,因此没有单个节点拥有对象的所有数据。这称为散射。
Jet中的数据
如上所述,新的Jet的出现取决于存储和网络负载而发生的分裂。一个新的Jet通过从大型负载的Jet分支形成。Jet保留网络包含的对象子集的记录,并分配节点以存储相关记录。
除了组成碎片链之外,Jet还是按时间划分,这构成了我们称之为Jet Drops的存储块。 Jet Drops与其他区块链中的块相当,因此是存储单元。
在这种情况下,Jet分配单独功能的工作的划分和分配可以提高网络效率。 Material Jet为虚拟执行数据存储和检索,就像验证交易中的虚拟节点的物料节点一样。这种网络结构意味着可以避免存储和处理瓶颈,因此网络可以应对更大的数据负载。此外,该结构允许平台的任何数量的数据对象的近线性可伸缩性。
Insolar区块链平台的功能是以企业需求为基础创建的,以便实现该技术的采用。业务的关键要求之一是事务的高速处理,这是我们使用Insolar测试网所展示的功能。 Insolar的网络共识验证和每个事务共识,以及分离工作负载的角色分配是网络能够实现事务高速处理的关键。