什么是Sharding?

Sharding是给予其中一种数据库分区的名称。也称为水平分区。

通过将大型数据库分解为更小,更易于处理的部分来完成分片。这可以提高性能并缩短查询响应时间。

分片不是一个新概念,它自90年代以来一直用于管理已知的中央数据库。流行的MMORPG游戏Ultima Online促成了Sharding概念的普及。游戏的开发者选择将玩家分配到不同的服务器 – 在不同的世界中,以便克服流量。

在业务中,分片通常用于按地理位置对大型客户数据库进行分组。每个地理位置都有自己的服务器。

区块链和分片

实质上,区块链和分片在类似的过程中工作。
区块链网络是节点的数据库,每个节点代表一个数据服务器。如果我们将分片应用于区块链,我们将网络分成单独的部分,每个部分都有自己的智能合约和余额。然后将节点分配给这些部分,即它们仅负责验证所分配部分的操作而不是整个网络的操作。主要思想是通过分解为更小的部分来增加区块链操作的数量,并解决常见的可伸缩性问题。

Sharding如何工作

以以太坊区块链为例,通过一个例子来检查Sharding。

以太坊区块链是数千台计算机的组合,即节点。在本文撰写时,这些7807计算机允许区块链网络利用其散列功能。借助这种散列功能,以太坊虚拟机可以制作智能合约,运行去中心化应用程序等。

以太坊基于顺序执行系统,这意味着每个节点必须计算每个事务并执行每个操作。过程的复杂性可能导致单个过程花费很长时间。以太坊每秒可以进行10次交易,与Visa等金融巨头每秒24,000笔交易的容量相比非常低。向网络添加更多计算机可能无法使该过程更有效,因为整个笔记本必须已经存在于网络上的每台计算机上。

使用分片的原因是为了避免这种线性执行模型并切换到并行执行模型。如果实现了这种转换,则每台计算机都不必处理每个进程,计算机只处理它们所分配的特定进程。这意味着可以同时执行多个进程。区块链将分为单独的部分 – 换言之,子区域。节点不会执行整本书,而只会保留已分配任务的书。

分片会带来什么样的问题?

分片,区块链具有很大的潜力来解决持续的可扩展性问题。

块链的缩放问题随着时间的推移而增加,因为网络越优选,运行和程序就越多。增加必须在网络上执行的活动数意味着节点需要验证的事务数量会增加。

结果,区块链可能会被堵塞,这是用户想要的最后一件事,因为这个过程非常慢。减速还会破坏区块链的图像,并阻止预期将来成为用户的目标受众。它在所有方面都不可持续。

如果区块链被分解为较小的单个部分,并且每个节点被分配到不同的部分,则每个节点不需要掌握整本书。与并联连接的电路的情况一样,可以在网络的部分上同时执行一个以上的处理。这种分段方法可以提高整个网络的速度,是一种长期可持续的解决方案。

以太坊联合创始人Vitalik Buterin发表了一项名为“区块链Trio Contradiction”的声明。在本声明中,Buterin将区块链的三个核心特征描述为安全性,可扩展性和去中心化性,并认为区块链只能同时容纳这三个特征中的两个。根据Buterin的说法,为了维持其中的两个功能,放弃第三个是不可避免的。如果通过分片找到可伸缩性问题的解决方案,则可以解决其他两个问题。

Sharding的缺点是什么?

今天,分片的缺点通常与通信和安全问题有关。

如果你打破区块链,每一块看起来就像是独立的隔离区块链网络。如果零件之间没有通信机制,则零件内的用户和应用程序将不会知道其他零件中的用户和应用程序。由于区块链网络中缺乏沟通是不可接受的,因此开发人员需要付出巨大的代价。

安全问题也可能出现在碎片区块链中。除了整个区块链的散列能力之外,各部分的各个散列力仍然相当低。这使得部件更容易受到黑客攻击,因为黑客更容易捕获单个组件。这种类型的攻击称为单件攻击或%1攻击。如果捕获单个片段,攻击者可以验证对主机网络的无效操作,或者导致覆盖该片段上记录的事务。

以太坊建议随机抽样作为预防措施。这种方法以部件服务员的形式应用,他们有责任通过检查随机部件和检查原创性来验证部件的真实性。

还有其他工具可以替代Sharding吗?

到目前为止,开发人员提出了两个不同的建议来改进区块链。

这些建议中的第一个是增加块的大小。逻辑简单,块大小越大,可以安装的操作越多,并且以这种方式可以增加每秒的操作次数。虽然逻辑是正确的,但块的大小似乎不太可能增加,这意味着需要更多的功率来验证块。因为如果块大小增加太多,只有具有特殊设备的强大计算机才能提供所需的处理能力。节点矿池变得更小,因为用户获得这样的设备将是昂贵的。缩小规模可能会对区块链的去中心化结构构成威胁,因为它可能使其更容易受到51%的攻击。此外,增加块尺寸可能需要硬分叉。如果每个人都没有根据新的区块链更新自己,那么将会积极使用这两个链,从而产生两个硬币。
鉴于所有这些原因,增加块大小只是一个短期解决方案。

第二个建议是使用更多的子币,以便不同的应用程序可以继续使用自己的链。此方法可以提高性能,因为操作不会堆叠到单个区块链中。但是,由于整个哈希功率去中心化在多个区块链上,因此仍然可能发生安全漏洞。同样,重点是区块链容易受到51%的攻击。

换句话说,这些提案都没有比分片更积极的结果。

谁使用Sharding?

一些区块链已经开始使用分片,而其他区块链仍在转型中。

Zilliqa是第一个使用分片的区块链。由于应用了Sharding,发现测试可以达到每秒2,828次操作。

近期,一个去中心化的应用程序开发平台,将自己的区块链生态系统定义为“支离破碎,开发人员友好,共享块证明区块链”。由于采用了分片技术,Near还能够获得足够小的节点以在云服务器上运行。节点可以达到如此小的尺寸这一事实可以使将来在移动设备上使用。

以太坊基金会计划通过备受期待的以太坊2.0更新实施分片技术。以太坊基金会宣布更新将于2020年1月到达。

Cardano,QuarkChain和PChain是计划使用分片的其他项目之一。

区块链和分片的未来是什么?

Facebook的Libra硬币分片再次出现在议程中。

Facebook计划在2020年上半年推出Libra硬币。 Facebook最近发布了Koinin的白皮书,买下了Chainspace。 Chainspace的软件团队正致力于区块链分片,这提示Libra硬币可以从相同的技术中受益。

资讯来源:由0x资讯编译自KOINBULTENI。版权归作者所有,未经许可,不得转载
提示:投资有风险,入市需谨慎,本资讯不作为投资理财建议。请理性投资,切实提高风险防范意识;如有发现的违法犯罪线索,可积极向有关部门举报反映。
你可能还喜欢