分片(Sharding)是FLETA正在实现的最令人兴奋的技术之一。为了理解分片的重要性,让我们简要概述一下目前为止我们所知的区块链的状态。
区块链和可扩展性
随着比特币的出现,世界各地的人们都在引入区块链技术。区块链技术的前景是开创性的。一种分布式技术,可以确保系统在不需要信任每个单独组件的情况下诚实地工作?这真是太神奇了。然而,与所有技术一样,有一个问题需要解决。
区块链技术本身并不是一个可伸缩的解决方案。粗略地说,可扩展性意味着即使越来越多的用户开始使用系统,系统也应该具有高性能和高速度。区块链的架构并不一定允许这样做。
Leader共识机制
几个现代区块链,如FLETA、EOS、Cardano等,已经开始使用基于Leader的共识模型。其中,特定的“超级节点”通过连续的选举被选中,这些节点负责生态系统内的决策。现在,这确实解决了部分可扩展性问题。以太坊每秒只能管理25个事交易,而FLETA每秒可以处理数千个交易。
然而,要实现真正的可扩展性还需要做一件事。
在FLETA,我们意识到基于区块链的平台将成为未来的规范。因此,仅仅减少所需验证器的数量是不够的。需要集成更多的并行任务。
顺序和并行化
任务可以按顺序或并行的格式完成。为了理解这两者之间的区别,假设有三个任务T1、T2和T3。在顺序任务中,节点将一次处理一个任务。在并行任务中,节点将自己分成三个部分,每个部分同时处理T1、T2和T3。
现在,我们进入主题。
分片是什么?
分片是从数据库系统中提取的一个术语。在数据库中,有时必须处理大量的数据。这极大地阻碍了性能和吞吐量,并使整个过程极其低效。
这就是分片的作用。
分片处理数据库的水平分区,并将其转换为更小、更易于管理的表。
就像这样:
那么,为什么是水平分区而不是垂直分区呢?看一下这个表:
现在,我们要把这个表垂直分区:
由于分区的关系,该表变成了两个完全不同的表。
与之相反,当表被水平分区时会发生什么:
你看到发生什么了吗?当您垂直地划分一个表时,它们往往会变成两个完全不同的表。
然而,如果我们将它们水平分区:
水平分区将数据库转换为同一数据库的更小的表。这些较小的数据库称为分片。
分片如何帮助区块链?
正如我们目前所看到的,随着越来越多的节点进入以太坊和比特币生态系统,整个共识和验证过程需要更多的时间。现在,分片将如何帮助解决这个问题?
分片将把区块链的全局状态分解为更小、更易于管理的碎片。
碎片激活时会发生什么?
· 分裂成碎片
· 每个单独的帐户都位于一个分片中,该分片中的帐户只与同一分片中的其他帐户进行交易。
简单地说,设想一下这个场景。假设有一个网络有三个节点——A、B和C,它们必须验证数据T。数据T被分解为三个碎片T1、T2和T3。而不是所有这些节点作为一个整体处理T,它们可以同时单独处理一个分片。正如你所看到的,你节省的时间是指数级的。
FLETA 认为,通过结合使用 Proof-of-Formulation (POF)和分片,我们将创建一个高度可伸缩和高性能的平台。