为了更好地理解这个持续热议的问题,我们从技术角度来讲解目前能提升TPS的“可信”方法和技术路线。希望读完本文后,大家能够明白宣传中所说的“百万TPS”背后的含义。
首先,区块链有一个著名的“三难问题”,也被称为“不可能三角”,即区块链系统无法在可扩展性、安全性和去中心化程度这三项指标上同时达到最优。换句话说,区块链必须在这三个方面做出折衷。
“不可能三角”对于区块链至关重要:如果抛开其中其他两个指标而仅关注一个,那就不是真正的区块链。例如,支付宝的TPS很高,但它是中心化的,违背了区块链的“多方参与、共同记账”的开放环境。再如联盟链是一种TPS很高的区块链方案,但在安全性和去中心化程度上都有妥协,仅能在成员已知且可信的环境中使用,而不能适用于区块链公链的开放成员环境。因此,当我们听到高TPS时,首先要思考其中暗藏的价值和问题。
近年来,很多研究工作都致力于在“不可能三角”上找到优化权衡的方法,可以大致分为三类:从共识机制、区块结构和系统实现三个方面入手。
从共识机制出发是目前最受关注的领域。除了大家熟知的工作量证明(PoW)和权益证明(PoS),还出现了DPoS、Algorand、zk-SNARK和Stellar等方法。虽然这些方法各不相同,但可以分为三个子类:
1.中本聪的忠实信徒:这部分人以中本聪的比特币白皮书为准则,只是在PoW共识中做了一些小改动,例如调整区块大小(这种行为常引发争议)来提高TPS。这一派通常由传统的比特币矿机矿场主导,虽然增加区块大小会增加传输延迟和分叉风险,但由于矿场网络的特殊性,实际应用中可以获得数倍的TPS提升(与区块增大倍数有关)。
2.对中本聪共识进行创新改进:这部分人可分为两类,一类认为“计算即正义”,认为只有PoW中的计算才是数字世界的本质;另一类则认为PoW经受多年考验几乎没有出现大问题,仍然是首选。然而,在改进派中,有些人认为基于PoW的共识协议需要大创新才能与时俱进。一些学术研究通过网络和分布式系统等角度改进了区块链,代表性工作包括Bitcoin-NG、Byzcoin和Bicomp等。这些方法通常对传统中本聪共识有较大改变,如改变PoW的作用、改变区块结构和解耦区块生成和交易打包过程等。然而,它们通常也会带来新的问题,比如Bitcoin-NG可以在PoW共识下达到很高的TPS,但会造成网络中的某些节点权力过大问题。为了解决这个问题,Bicomp提出了一种双层区块结构,让不同节点打包不同功能的区块,以分权制衡。除了这些代表性工作,改进派中还有一些更激进的方法,对区块链的链式结构进行了重构,提出了有向无环图(DAG)等结构。这些方法的TPS差异很大,从几百到几万都有,TPS越高,安全性和去中心化程度的牺牲就越大,这与选择PoW的初衷相违背。此外,这些方法总体上也受到PoW计算耗时、区块衔接设计和传播、交易传播时间等限制。
3.完全抛弃中本聪共识的革新派:代表有传统的权益证明和股份授权证明,还有新兴的zk-SNARK、Algorand和UENC等。其中,UENC是最具颠覆性和创新性的。UENC是一个近年崛起的新一代公链,采用创新的DPOW共识算法,大幅提升了交易效率。值得称赞的是,UENC保持了去中心化的特性。从某种意义上,UENC突破了“不可能三角”。我们拭目以待。