伴随着技术的成熟落地,区块链逐渐被广大公众了解、熟知和接纳,用户规模得到爆炸式增长,与此同时,底层公链的挑战也在日益加剧。为此,业界曾提出侧链、闪电网络、隔离见证等多种解决方案,希望能够有效提升公链的可扩展性,解决区块链效率问题。

作为一个开源的有智能合约功能的公共区块链平台,以太坊曾多次因区块拥堵、交易速度太慢而饱受诟病,尤其是加密猫游戏大火之际,游戏带动了以太坊用户的急剧增长,导致以太网网络长时间拥堵不堪。
为此,2018年,在以太坊与EOS竞争进入白热化时期,以太坊联合创始人Vitalik Buterin提出采用分片技术增加以太坊网络的交易吞吐量,达到扩容作用,提升区块链处理事务的效率,以此拯救以太坊网络预拥堵现象。

什么是分片技术
分片技术(sharding)来源于传统中心化的数据库,是数据库分区的一种形式,也被成为水平分区。分片技术之所以被叫分片技术,就是因为其背后逻辑是化整为零,分而治之。顾名思义就是将一个大的数据库切割成很多小的,可处理的部分,各个分区并行运作,以此提高整体性能,缩短响应时间。
而以太坊所倡导的区块链分片技术,则是将区块链网络中所有节点分组,并对所有待处理任务进行分解,每一组同时处理一个分解后的任务,利用多组节点同时并行处理交易任务。这样一来,各组节点就类似水流线上的分工协作一样,将交易通过各组分摊并行处理,大家各司其职。

通俗来说,就像是排队过安检的场景,大家都在同一个安检口排队安检,安检速度自然缓慢。但如果在同一地方增加10个安检口,大家可任意选择安检口,安检速度则会得到大幅度提升。
暗藏风险
尽管分片技术能够解决区块链的可扩展性问题,但凡事有利有弊,分片技术依旧存在缺陷。
首先是安全隐患,原来攻击者需要付出大量的成本,最少掌控网络上的51%节点才能实现攻击,如今,因为分区原因,只需要对分片节点组发动51%攻击即可,亦称1%攻击。恶意攻击者只需要掌控全网51/(N个分区)%的算力就可以实现单一分片的攻击,相较之下攻击成本更低,篡改交易的可能性更大。
其次是各分区通信问题,由于将全网节点重新分区,每个区域都是相对独立的、平行的区块链网络,都需要各自节点进行维护和确认交易。但如果各分区需要相互通信,则需要增加跨分区的通信机制,而这一操作无疑会增加整条区块链的复杂性,也为区块链开发提出更多要求。
此外,分片技术对于安全性、可拓展性和稳定性的要求都极高,一旦面临带宽限制,就需要充分考虑因延迟所带来的不一致性会导致的后果。当然,和比特币、以太坊等传统共识机制相比,分片技术能够在实现多方共识的基础上解决因节点增加而导致的网络拥堵现象,这种看似从串联到并行的简单调整,却赋予了区块链技术更强大的应用空间。
对于分片技术而言,尽管以太坊联合创始人Vitalik Buterin对其寄予厚望,但从技术角度来看,仍处于概念模型,距离真正的场景落地还存在一定距离,技术完善和市场商用的路程依然任重道远。