核心洞察
分片是一种数据库扩展技术,将区块链划分为更小的片段(分片),实现并行处理交易并提升网络吞吐量。这种方法能显著提升可扩展性和效率,但也带来了如分片间通信复杂和安全风险增加等挑战,因为单个分片更易受到攻击。Zilliqa、NEAR 和 Ethereum 等网络正在探索分片技术。如果这些缺陷能被解决,分片有望在不牺牲去中心化和安全性的前提下,助力区块链实现三难困境的突破。
数据库开发者面临的最大挑战之一是扩展性。随着数据量和操作数量的增长,系统性能也必须随之提升。
分片是一种数据库扩展技术,通过将数据库拆分为独立的片段,每个片段可以部署在不同的服务器上。
将这一技术应用到区块链时,分片指的是将网络划分为若干独立的分区。每个分区(分片)包含独特的智能合约和账户余额,并由特定的网络节点负责维护。
These nodes are responsible for verifying transactions only in their assigned shard rather than for all transactions on the blockchain.
分片能解决哪些问题?
随着项目越来越受欢迎,用户数量不断增加。这些用户会发起更多交易,部署更多 DApp,并在网络上运行更多流程。结果就是交易速度下降、手续费上升,阻碍了项目的进一步扩展和发展。将网络划分为多个分片,可以通过提升区块链的处理能力来解决这一问题。
当一组节点只负责账本的某个片段时,整个网络的节点就无需为每笔交易都维护完整区块链。各项操作可以并行验证,而非线性处理,从而提升网络吞吐量,解决扩展性瓶颈。
此外,采用分片的区块链节点,由于负载降低,无需提升算力也能更高效地运行。
分片的运作原理
区块链的正常运行需要数千台计算机协作,这些算力让分布式账本能够处理交易、执行智能合约、部署 DApp 等。如果网络采用顺序执行模式,每个节点都必须处理所有交易,验证过程耗时较长。例如,Ethereum 每秒最多只能处理 10 笔交易。
即使向区块链中添加更多节点,性能也不会提升,只会让验证链变得更长。
分片的核心在于放弃线性执行,转而采用并行模式。每个分片只负责特定计算,并能同时处理大量交易。它们就像“区块链中的区块链”,所有信息会以压缩格式传递到主链。
分片的不足之处
分片主要有两个核心难题:分片间通信和安全性。
- Communication。如果网络被拆分成多个独立分区,每个分区实际上就像独立的区块链。一个分片内的用户和 DApp 要与其他分片的用户和应用交互,必须依赖特定的通信协议。
- Security。在分片网络中,攻破单个分片要比攻破整个未分片网络容易得多,因为所需算力大幅降低。例如,对 Bitcoin 网络发起 51% 攻击需要投入数十亿美元的硬件和每天数亿美元的电力,几乎不可能实现。而攻陷单一分片的成本和难度则低得多。
分片并不是万能方案,它带来了实现复杂性和安全隐患。攻击者可能利用分片结构,仅控制区块链的某一部分即可发起恶意交易,影响整个网络。
此外,由于不同节点组负责不同区块链片段,每个分片本质上都像独立网络。需要特殊机制来确保这些分片间的顺畅通信。
如果实现不当,可能会出现如“双花”等问题,严重影响网络安全。分片在现有区块链上实施也极具挑战,因为涉及网络拆分和数据重新分配。
Ethereum 针对这一问题提出了随机抽样方案。分片协议会被随机分配到不同片段,以确认区块的有效性。这得益于网络切换到权益证明(proof-of-stake)共识机制。
已应用分片的网络
首个引入分片的网络是 Zilliqa。它自称为通过分片解决可扩展性的区块链平台,在测试网阶段实现了每秒 2,828 笔交易。
NEAR 区块链生态自称为分片 PoS 区块链,声称其分片技术支持低性能设备节点的运行。
Ethereum 也计划引入分片技术。其他采用分片的网络还包括 Cardano、QuarkChain 和 Plian。
总结
理论上,如果分片技术能克服自身缺陷,有望最终解决区块链三难困境。届时,区块链可在不牺牲去中心化和安全性的前提下实现扩展。