资讯 · 2022年6月22日

区块链TPS的扩展性探索:为什么说BBP技术带来卓越的性能改变?

区块链在元宇宙和web3世界中是操作系统一样的基础设施,其性能决定了未来数字经济的发展历程。现阶段,区块链普遍存在着交易数据处理能力较弱的问题。这使得比特币以太坊的性能无法与中心化系统相抗衡,从根本上制约了区块链上诸多应用的开展。因此增强区块链的可扩展性,也就是实现更高的交易数据处理速度(TPS)刻不容缓。

着眼0层的隐形区块传播BBP技术

为了实现更高效的区块链交易数据处理,不断有人提出区块链扩展容量解决方案。目前的扩容方案百花齐放。

业界一般将区块链系统的六个层次数据层、网络层、共识层、激励层、合约层和应用层划入三个Layer,由底到顶分别为Layer 0(L0)、Layer 1(L1 )和Layer 2(L2)。Layer 0又称网络传输层,主要涉及区块链和传统网络之间的结合问题。当前主流扩容方案大多从L1层和L2层着眼,鲜有通过改进L0层(网络层)成功扩容的案例。

Layer 1扩容方案又称链上扩容,指在区块链基层协议上实现的扩容解决方案。Layer 2扩容方案又称链下扩容,指不改变区块链底层协议和基础规则,通过状态通道、侧链等方案提高交易处理速度。但是这些扩容方案无一列外的都以牺牲安全性为代价,也就是区块链CAP理论的限制。

而今年4月,来自深圳大学、香港中文大学的区块链研究团队提出了一种全新的L0层区块传播与验证技术,即隐形区块传播(Bodyless Block Propagation, BBP)技术,不需要传输区块且不损失安全性,突破了CAP理论。

JVXVZhAudYWRjMHxLSZG6H0XLtH5ElCkLaA35nEH.png

(公开在康奈尔大学在线学术网站arXiv上的论文信息)

该论文的作者们注意到,在当前的公链中,交易都存在重复传输和串行验证的问题。交易的重复传输是说,交易本身会单独在全网广播传输一次;交易被打包进区块后,又会随着区块一起在全网广播传输一次。交易的串行验证是说,交易打包进区块后并在全网广播,各验证节点收到该区块后再进行验证。由于这些问题的存在,区块包含交易越多,其在网络中传播和验证的速度就越慢,这就极大制约了区块链的TPS。BBP要实现的就是通过消除区块中的交易数量对于传播时间的制约以及减少区块验证时间来提高TPS。

具体而言,BBP技术只在节点之间传输区块头,各节点对新区块的交易进行预测和提前打包、提前验证,这样区块在传播过程中对新区块的验证就只是将预先计算的全局状态和嵌入在区块头中的全局状态进行一个简单的比较确认即可。因此,不管每个区块中的交易量有多大,其传播时间和验证时间都只是一个区块头的时间(固定的),不再受到交易数量的制约,每个区块也能容纳下任意多数量的交易。同时,BBP技术利用了除出块节点外,其他节点也在进行出块计算的原理,将区块传播和区块验证从串行关系转向并行关系。于是,BBP从基础协议设计上来消除区块中交易数量对于传播时间的制约以及减少区块验证时间,彻彻底底地提高TPS,释放区块链的性能。

fGdmVIZn1pYbnpoqJtjHb3y9DSQM2sYSMXzuvEjt.png

(传统区块链中交易传播、验证和BBP中的交易传播、验证方案比较)

BBP性能扩展突进但挑战犹存

不过,要实现上述技术目标也并不容易,要同时兼顾很多方面的考虑和解决若干技术挑战:

1、如何确保在预打包一个区块体前,所有节点的预测都是大致相同的。由于去中心化的区块链节点之间没有假定信任(presumed-trust),因此原则上节点可以根据自己的喜好选择交易并将其封存在区块中。在以太坊中,节点通常会选择交易后将其排序并打包到区块中,使GAS收益达到最大化。为了使分散的去信任节点做出的决策达到一致,新方案必须要能起到激励节点的作用,通过遵循共同的规则预先打包几乎完全一样的区块体。  

2、如果节点预测的交易略有不同,又该如何协调成一致。由于区块链是在去中心化的 P2P 网络上运行的,因此不同节点上的交易很可能是不同的。因此,即使所有节点都遵循相同的规则来选择交易并预先打包成区块体,这些区块体也可能是不同的。值得注意的是,在以太坊中,区块体中单个交易的差异或是打包顺序的差异都可能导致区块头中验证摘要信息的不同。当节点选择的交易以及排序略有不同时,一旦在区块到达时需要重新排序并重新验证所有的交易,BBP就会失效。因此,新方案要能在新区块到达之前就能使不同节点做出的交易预测达到一致。

3、如何在预验证过程中处理一些尚未得到的信息。由于在新区块到达之前,用于验证区块的一些信息可能还无法知晓,因此区块就无法执行完整的预验证。例如,某些交易可能会涉及到与矿工相关的Coinbase地址,但在每个节点的预验证过程中却无法事先知道哪些矿工最后会成功。因此,为了能够保证整个流程的一致性并且使TPS最高效,BBP的预验证过程还必须要能解决此类交易中产生的难题。

BBP技术的提出者对如何解决上述技术问题给出了当前的方案(具体可详见论文:https://arxiv.org/abs/2204.08769),并在大规模区块链网络上对BBP进行了实验。结果表明,BBP的区块全网传播时间比以太坊(在可以支持最大交易数量时)减少了 4 倍。

结语:当前,区块链网络中的区块传播与验证时间制约了TPS性能。此外,由于许多提高TPS的解决方案是以降低安全性为代价,因此如何在TPS和安全性之间做出平衡也是急需解决的一大难题。与以太坊上的协议相比,带有预验证机制的隐形区块传播(BBP)可以在不影响安全性的情况下,将区块传播速度提高。更重要的是,BBP的区块传播时间几乎与区块中的交易数量无关。因此,TPS将不再受到区块传播的制约。实际上,在实施BBP时,相当于只插入了一个预打包的区块体模块和一个预验证模块作为对交易池的扩展,因此BBP与其它下层和上层的区块链技术是完全兼容的。最后,实验结果也证实了BBP在TPS的扩展性方面具有相当卓越的性能。因此,我们对于BBP在真实区块链系统中的表现抱有极大的期待。