分片技术(Sharding)是解决区块链的效率问题和可扩展性问题的一种技术,为解决以太坊效率问题而诞生。
分片技术是一种分区方式,源于传统中心化的数据库,是用来提高数据库的处理效率的。一个分片是数据库的一个水平部分,每个分片储存在担负的服务器中,且不用负责处理整个网络的交易负载,只需要维护与其分片相关的信息,由此将负载分散开来,使得数据库的效率大大提升。
(一)分片技术的基本工作原理
区块链是一个链式结构的分布式数据库,需要承担整个系统的全部功能,而且每笔交易要经过所有的节点处理后才能确认,这种方式下,极大地影响了数据的处理效率。而分片技术将这条链划成一个个的区域,一个区域就叫做一个分片,每个分片承担专职的功能,而节点也会分散到各个分片上,处理相应的工作。这样一来,处理时,交易会划分到各个分片上同时进行处理,就好像各部门分工协作一样,分摊下来,每个节点处理的只是网络中的一小部分交易,如此一来,也就大大提升了这条链的处理效率。
(二)分片技术的分类
目前区块链网络上存在有四种分片技术,分别为:网络分片(Network Sharding)、交易分片(Transaction Sharding)、计算分片(Computational Sharding)和状态分片(State Sharding)。
1、网络分片是最基础的一种分片方式,就是将整个区块链网络按照一定规则划分成多个子网络(分片),网络中的所有分片并行处理网络中不同的交易。
2、交易分片将交易按某种规则分配到不同分片。其思路为,按一定规则将交易分配到同一个分片处理,这样既能够达到并行处理的目的,又可以避免双花问题的出现。在不同的记账方式下,对交易分片的要求有所区别。目前区块链网络中存在两类记账方式,分别为UTXO模型和账户/余额模型。
3、计算分片:只有网络的一个子集(如一个分片)执行计算,从而高效执行运算密集的任务。
4、状态分片:特定的分片只存储部分状态,而不是完整的区块链状态。状态分片能够减少状态储存冗余,是最为理想化的分片方式,但是面临着跨分片通信、数据有效性和数据可用性等一系列挑战。
(三)分片技术的作用
1、可以提高交易处理和确认的并发度,进而提高整个网络的吞吐量;
2、吞吐量增加可以有效的解决交易拥堵的问题,有助于降低转账手续费;
3、促进 DApp 的发展,使得更多的 DApp 可以在分片网络上运行;
4、状态分片具有很好的存储空间可扩展性,能够有效解决存储空间昂贵的问题。
分片技术虽然可以有效提高区块链的处理效率,但存在降低网络安全性和去中心化性的隐患。在原来的区块链中,因为共识机制的存在,假如有人想在网络中作恶,那他需要搞定全网的大部分节点才可以,但分片后的区块链,节点被分散到一个个小的区域中,想要作恶的人只需要获得小区域中大部分节点的共识即可。为此,分片技术引入了一个随机分配机制,负责生成随机数、为其他分片分配节点等。在随机分配的机制作用下,区块链上的节点是随机分配出去的,这样的话,即使有人想在网络上搞事情,也难以获得任意一个小区域中节点的信息,也就大大提高了才用了分片技术的区块链网络的安全性。 虽然分片技术的好处多多,但因为该技术是源于传统互联网数据库,无法直接应用在去中心化的区块链上,所以分片技术尚未落地应用。
免责声明:本文章仅代表作者个人观点,不代表本平台的立场和观点。本文章仅供信息分享,不构成对任何人的任何投资建议。用户与作者之间的任何争议,与本平台无关。如网页中刊载的文章或图片涉及侵权,请提供相关的权利证明和身份证明发送邮件到support@aicoin.com,本平台相关工作人员将会进行核查。