分片技术究竟是什么?为什么能解决区块链的扩容问题?
要谈区块链扩容,我们想要先了解一个概念——吞吐量。在区块链平台上,网络处理交易任务的速率就是吞吐量,目前绝大部分公有链的交易吞吐量都非常低,比特币在扩容之前平均每秒只能处理6.7交易。区块链想要发展成为主流系统,如此低的吞吐量显然不够,扩容问题就由此产生。
我们可以做个简单的运算:
每秒的交易量=一个区块里包含的交易总量/一个区块产生的时间
从这个公式可以看出,想要增加每秒的交易量,有两种方式:
第一,增加一个区块里包含的交易总量;
第二,减少区块产出的时间。
减少出块时间是很多区块链采用的方案,但是该方案仅仅是缩短了确认时间,并不能提升单位时间的处理能力。
增加区块包含的交易总量就是一个更好的方式,这就需要用到分片技术。
分片(sharding)是数据库分区的一种,它将大型数据库分成更小、更快、更容易管理的部分,这些部分叫做数据碎片。数据库越大,数据库内的交易越多,处理交易的时间就会越长;反之,数据库越小,交易数量越少,处理交易的时间就越短。一个区块能包含的交易数量有两个影响因素,一个是区块大小,另一个就是处理交易的速度,速度越快,相同时间,区块里记录的交易总量就越多,区块链的吞吐量自然就增加了。
由本能区块链实验室研发的支持移动端访问的公有链——IFMChain使用的众多分片技术中就包含了数据库分片技术,仅此一项分片技术的性能提升部分就超过比特币的几百倍。