目前的区块练技术面临着一个巨大的瓶颈,那就是:如何有效地提升区块的吞吐量(TPS)。区块链的扩展性一直是大多数公链发展过程中难以避开的一块拦路石,比特币因之有一段长达三年的扩容之争,以太坊一度因为一个小小的密码猫游戏而长时间拥堵不堪。目前提出的问题解决思路主要有以下几种:治标不治本的扩容(扩大区块容量)、牺牲部分去中心化的DPoS和pBFT共识机制、不同于区块链的DAG、链下扩容(子链和侧链),以及分片。分片(Sharding)技术,被认为是一种有效的、能够解决区块链吞吐量问题的解决方案。
1.起源
分片原本是一种数据库分区技术,能够将一个大型的数据库分割成小的数据碎片,并将这些碎片储存在不同的服务器上,使其能够更快更有效地管理数据。而区块链中的分片技术,是在2015年初次提出的。当时新加坡国立大学的一对师生,在国际顶尖安全会议CCS上发表了一篇论文《A Secure Sharding Protocol For Open Blockchains》,首次提出了区块链领域中的分片概念。
后来,这对师生发展出了第一个分片技术的落地项目Zilliqa,它结合pBFT和PoW共识机制,有6个分片,3600个节点的测试网络,已经能够达到每秒处理2800次交易的速度,是目前公链中处理速度最快的。珠玉在前,很多为扩展性烦恼不已的项目开始考虑将分片技术应用在自家的区块链上,比如以太坊,V神已经打算在以太坊的区块链上应用分片技术来扩大吞吐量了。此外,还有很多以此为核心技术的新项目正在出现,当然其中也不乏打着分片旗号挂羊头卖狗肉的项目。不过,分片技术并不是那么容易掌握的。
2.分类和原理
分片技