另一种改进以太坊、提高以太坊吞吐量的直觉是:以太坊的吞吐量有限,源于每个全节点都必须处理所有链上交易;如果我们可以让每个节点只处理一部分交易,不同组的节点分别(并行化地)处理不同的交易,那么整个系统在单位时间内的吞吐量就等于这几组节点的单组处理量的总和;即,单个节点的负担并没有增加,但整个系统的吞吐量提高了(而且分组越细,吞吐量的乘数越大)。这就是所谓的 “分片”。关于分片化架构,一个有趣的问题是其确切定义。在经典的、非分片化的区块链架构中,全节点必须(1)重复所有计算;(2)维护所有状态;(3)传播所有区块/交易。有人认为,只需打破一者,就算是分片化的了;但从更严格的视角看,必须打破所有三者,才能达到理论所推导的吞吐量提升效果 6。取不同的定义,带来的效果也很不同。此处,我所采取的定义是,一个节点至少无需维护整个系统所有的状态。但另一个更有趣的问题是,假使分片架构所要求的前置技术都能实现,这一架构能有多大的意义。在以太坊基金会的研究团队所构想的分片架构中,整个系统的状态被分割成了几个部分,各部分是并行更新的,也就是说,一个分片并不能实时地了解另一个分片的内部状态。当位于分片 A 的合约 A' 尝试调用分片 B 上的合约 B' 时,并不能假设处理者拥有分片 B 的状态,也因此,处理的结果必须等待分片 B 完成状态更新后才能返回。由此,跨分片的交易必须忍受事务处理中最难以忍受的代价:时延。关键在于,此种时延是不能用货币代价来加以抽象的。因为分片 B 也并不知道分片 A 上发生了一笔需要调用自身的交易,因此只能等待一个可信的通信层为自己播报这条交易。单位时间内能够创造的价值越高,时延越不可忍受;而这意味着,假设有某个 DeFi 应用集中的分片,这些应用根本不会通过跨分片的交易来调度其它分片上的处理能力,因为这根本没有意义,满足不了 DeFi 应用对时延的要求。同样,这也意味着,这个 DeFi 应用集聚的分片,其单分片处理能力就是其处理能力上限(与单条区块链没有区别)。在深山老林里造房子和修路,解决不了大都市里人们的生活空间问题。(有人认为,这些 “闲置” 的分片吞吐量可以为更小众的应用所用。我认为,Layer-2 方案能达到同样的效果,而且对底层的改动更少,更安全。)