什么是分片?
分片(Sharding)指的是将整个以太坊网络分成许多个小部分(Shards)。每个分片都包含独立的状态、完整的账户系统和智能合约。
分片绝对是最复杂的以太坊扩展解决方案,因此它也被放在了以太坊2.0路线图中的最后一阶段,给开发者充足的时间开发和在生产环境中测试。
在进入分片的技术细节之前,我们首先需要了解节点在以太坊网络中扮演的角色。节点负责验证链上交易并确保交易都遵守区块链共识规则。要做到这一点,最好的方法就是让每个节点都保留一份以太坊交易账本的完整副本,用以验证交易的真实性和完整性。但是以太坊的链上数据一直在快速增长,目前的数据大小已经超过1TB,对于普通人来说保存完整的数据副本是不切实际的。
以太坊的瓶颈
这就导致了一个大问题:如果以太坊全节点的运营成本过高,运营全节点的人数就会越来越少,网络将更容易受到中心化的影响。
同时,如果每笔交易都需要通过所有节点验证,那以太坊也将难以实现可拓展性,分片将是这些问题的终极解法。
分片与状态通道和plasma等拓展解决方案不同的是,分片不会将任何交易数据放到链下处理。分片只是将链上数据分成很多个部分,节点就不需要处理网络上的所有交易,而只要处理某一个片区的交易。分片也引发了一个讨论,分片后还能保障区块链的安全吗?