Skip to main content

1.1 区块链提高性能的尝试

区块链是一种去中心化的分布式账本技术,其基础原理是通过加密算法将交易记录打包成区块,并按照时间顺序链接起来形成不可篡改的链式结构。简而言之是所有人维护相同的账本,从而在信息可复制的互联网上实现了价值的不可篡改性。

为了保证参与门槛足够低,比特币将全网同步的出块时间控制在 10 分钟,平均 TPS [1](每秒可处理交易笔数)仅有个位数。以太坊出块时间约 12 秒,平均 TPS 也仅有十几笔。这对比于传统 Web2 的经济活动来说,远远不够用。

提高性能的尝试

了解了区块链的基础原理之后,我们很自然想到以下两种思路来提升性能:

Bigger bLock & Faster block speed.gif
  • 增大单个区块的大小,容纳更多的交易

    这样做会引起区块账本的快速膨胀,参与验证的机器性能要求越来越高,提高了参与门槛,导致整个网络去中心化程度和安全性渐渐降低。从 BTC 分叉出来的 BCH(Bitcoin Cash) 将区块大小从 1MB 提升至 32MB,BSV(Bitcoin Satoshi's Vision) 则是更激进地取消了区块大小上限,允许无限多的信息融入一个区块。

  • 降低出块的时间,追求一定时间内出更多的块来处理更多的交易

    这样对节点的网络条件提出了更高要求,提高了参与门槛。并且影响了全网数据同步的稳定性,因为物理上相隔较远的节点集群容易对最新的区块产生分歧,导致分叉。分叉链总需要竞争出新的最长链,抛弃其中的一条分支,导致过去一段时间内的许多交易被重写,这就是“区块重组”现象,Polygon 在 2023 年发生过 157 个区块的重组事件 [2]

此外,还有一些公链试图用更激进的方式改善性能:

  • 使用数量更少的超级节点通讯

    超级节点的性能更强大,网络带宽更好更稳定,因此彼此之间能实现超高速的通讯,但这显然降低了去中心化程度。如 Fanton 有 51 个共识节点,BSC、EOS、TRON 则仅有 21 个超级节点。

  • 用特殊的共识机制提升性能

    共识机制决定了全网节点对出块方式如何达成共识,一些特殊的机制也许可以提高出块速度,但共识机制越复杂,就对机器性能要求越高,也更容易出现单点故障导致整个系统出错。如 Solana,全网节点依赖随机选出的单个 Leader 节点来协调,因此获得了极高的理论 TPS 上限,但对节点性能要求变得非常高,并多次发生全网宕机的安全性事故。

    另外如 Conflux,也使用了一种特殊的共识机制来提升性能,通过采用独特的树图(Tree-Graph)结构,实现了高吞吐量和低延迟的交易确认,同时保持了较高的去中心化程度。使得其能够处理大量的交易,同时保持安全和去中心化,是对现有共识机制的一种创新尝试。

目前高性能公链的探索成果,普遍获得了将 TPS 提升至 100 ~ 1000 的成绩,但共识节点数量也降低为几十个至一千多个不等。对比于以太坊分布全球的近万个共识节点 [3],高性能公链在性能提高了一两个数量级的同时,去中心化程度也下降了一两个数量级。所以区块链在 Layer 1 [4] 上试图做提升时究竟遇到了什么?

 

注释及拓展阅读

[1] TPS 即 Transactions Per Second(每秒钟处理的交易数量),它反映了系统的处理能力和吞吐量。通常来说,TPS 越高,系统的处理能力就越强,能够处理更多的交易。

[2] Polygon hit by 157-block ‘reorg’ despite hard-fork to reduce reorgs (protos.com)

[3] 以太坊 Node Tracker:https://etherscan.io/nodetracker

[4] Layer 1 即一层网络,是指包含所有基础架构,无需其他网络参与即可验证并完成交易的区块链网络。如比特币、以太坊、Conflux便是典型的 Layer 1 公链。