区块链的可扩展性一直是一个被激烈讨论的话题。几乎每个区块链网络都把高的每秒交易量作为一个卖点。然而,TPS并不是比较区块链网络的有效指标—这使得评估其相对性能成为一种挑战。此外,大的TPS数字通常是有代价的—这就提出了一个问题:这些网络实际上是在扩展,还是只是增加了他们的吞吐量?
因此,让我们研究一下如何定义可扩展性,为实现可扩展性要做哪些权衡,以及为什么ValidityRollups是终极可扩展性解决方案。
不是所有的交易都消耗同等gas
首先,我们需要确定我们的论断,即简单方便的TPS指标并不是可扩展性的准确衡量标准。
为了补偿执行交易的节点,区块链收取与计算负担成比例的费用。在以太坊中,计算负担的复杂性是以gas来衡量的。因为gas是一个非常方便的交易复杂性衡量标准,所以这个术语在本文中也将用于非以太坊区块链。
交易的复杂程度有很大不同,因此,它们消耗的gas也有很大不同。比特币是无信任的点对点交易的先驱,只支持基本的比特币脚本。这些从地址到地址的简单转移使用的gas很少。相比之下,像以太坊或Solana这样的智能合约链支持虚拟机和图灵完备的编程语言,可以进行更复杂的交易。因此,像Uniswap这样的dApps需要更多的gas。
比特币网络区块高度783426产生叔块:4月1日消息,据节点监控工具ForkMonitor显示,比特币网络区块高度783426产出了两个区块。BitMex Research表示,疑似是F2pool产出了一个无效区块,具体原因目前尚在研究中。[2023/4/2 13:39:55]
这就是为什么比较不同区块链的TPS是没有意义的。我们应该比较的是计算能力或吞吐量。
所有区块链都有一个区块大小和区块时间,决定了每个区块可以处理多少计算单位和可以多快的速度增加一个新区块。这两个变量共同决定了一个区块链的吞吐量。
什么制约了可扩展性?
区块链努力成为最大限度的去中心化、对外开放的和具有包容性的网络。为了实现这一目标,必须保持两个基本属性。
●硬件要求
区块链网络的去中心化是由网络中最弱的节点验证区块链和保持其状态的能力决定的。因此,运行一个节点的成本应该保持在尽可能低的水平,以使尽可能多的个人成为去信任网络中的无需许可的参与者。
●状态增长
状态增长指的是区块链增长的速度。区块链允许在单位时间内发生的吞吐量越大,区块链的增长速度就越快。全节点存储网络的历史,且必须能够验证网络的状态。以太坊的状态是使用默克尔树等高效结构来存储和引用的。随着状态的增长,新的叶子和分支被添加到其中,这使得执行某些行动变得越来越复杂和费时。随着链的增长,它使节点执行的最坏情况更糟,这导致验证新区块的时间越来越长。随着时间的推移,这也增加了一个全节点同步的总时间。
以太坊L2网络总锁仓量为44.7亿美元:金色财经报道,L2BEAT数据显示,截至5月30日,以太坊Layer2上总锁仓量为44.7亿美元。其中锁仓量最高的为扩容方案Arbitrum,约24.亿美元,占比53.97%。其次是dYdX,锁仓量9.54亿美元,占比21.33%。Optimism占据第三,锁仓量4.69亿美元,占比10.5%。[2022/5/30 3:49:48]
增加吞吐量的不利影响
●节点
运行一个节点的最低要求和节点数量情况。
Bitcoin1:350GB硬盘空间,5Mbit/s连接,1GB内存,CPU>1Ghz。节点数量:~10,000
以太坊2。500GB以上的SSD磁盘空间,25Mbit/s的连接,4-8GB内存,CPU2-4核。节点的数量:~6,000
Solana3。1.5TB以上的SSD磁盘空间,300Mbit/s的连接,128GB内存,CPU12个以上的核心。节点数量:~1,200
请注意,区块链的吞吐量对节点的CPU、带宽和存储要求越大,网络上的节点就越少,这会导致更弱的去中心化程度和更差的网络包容性。
●同步一个完整节点时间
Apifiny与ECS Fin合作进行Roxe网络试点项目:金融技术公司Apifiny今天宣布,ECS Fin将开始一项试点计划,以测试Apifiny的Roxe即时结算网络的集成。Roxe网络旨在通过使用区块链技术为支付和汇款、传统资产和数字资产提供高度可靠、安全和实时的清算和跨境结算,从而为金融机构节省大量时间和成本。(Businesswire)[2020/9/17]
当第一次运行一个节点时,它必须与所有现有的节点同步,下载并验证网络的状态,从创世块到链的顶端。这个过程应该是尽可能的快速和高效,以允许任何人作为协议的无需许可的参与者。
以JamesonLopp的2020年比特币节点和2021年节点同步测试为指标,表1比较了在普通消费级PC上同步一个比特币、以太坊、Solana的完整节点所需的时间。
表1.区块链吞吐量和节点同步比较
表1显示,吞吐量的增加导致同步时间的延长,因为越来越多的数据需要被处理和存储。
虽然不断对节点软件进行改进,以减轻区块链不断增长的挑战,但节点显然仍然无法跟上吞吐量的增长。
应如何定义可扩展性?
可扩展性是区块链领域中最被误用的术语。虽然增加吞吐量是可取的,但它只是难题的一部分。
Tether在波场网络增发1.2亿枚USDT:据DAppTotal.com稳定币专题页面数据显示:07月24日01时29分,USDT发行方Tether在波场网络增发1笔价值120,000,000美元的TRC20 USDT,块高度为:21752109,交易哈希值为:c6cb43c65c3a7933b25cf650490f1bef3a4c0a228681e75f0bab5e9b7fd227d7。截至目前,Tether在波场网络上的TRC20 USDT总发行量已达3,002,712,942枚。[2020/7/24]
可扩展性意思是在相同的硬件上能够执行有更多的交易。
出于这个原因,可扩展性可以分为两类:
●排序器的可扩展性
排序器描述的是网络中交易的排序和处理行为。如前所述,任何区块链都可以通过提高区块大小和缩短区块时间来增加其吞吐量,直到这种方法对网络的去中心化程度造成较大的负面影响。但是,只是调整这些简单的参数并不能提供所需的改进。以太坊的EVM理论上可以处理高达约2,000TPS,这不足以满足长期的区块空间需求。为了扩展排序,Solana做了一些令人印象深刻的创新:利用可并行的执行环境和巧妙的共识机制,使吞吐量的效率大大提高。但是这些改进不足以满足对吞吐量的需求,也不具备排序器的可扩展性。随着Solana增加其吞吐量,运行一个节点和处理交易的硬件成本也在增加。
加州区块链公司Dock Systems将发布Danforth测试网,目前正寻求网络验证者:专注于可核验证书的加利福尼亚区块链公司Dock Systems宣布将于七月底发布Danforth测试网,并且正在寻求与验证者的合作。
随着Northill测试网的发布,以及该公司架构和互操作性的完成,Dock将进入下一个发展阶段——对Dock运行的基础设施进行去中心化。(RealWire)[2020/7/5]
●验证可扩展性
验证的可扩展性指在不给节点带来不断增加的硬件成本负担的情况下增加吞吐量的方法。具体来说,它指的是像Validityproofs这样的密码学创新。它们是ValidityRollups能够可持续地扩展区块链的原因。
什么是ValidityRollups?
ValidityRollups将计算和状态存储转移到链外,但在链上保留少量的特定数据。底层区块链上的一个智能合约维护着Rollup的状态根。在Rollup上,一批高度压缩的交易连同当前的状态根,被发送到一个链外证明人。Prover计算交易,生成交易结果的和新状态根的有效性证明,并将其发送给链上的验证者。验证人对有效性证明进行验证,然后维护Rollup状态的智能合约将其更新为验证者提供的新状态。
在相同的硬件要求下,ValidityRollups是如何扩展?
即使证明人确实需要高端硬件,它们也不会影响区块链的去中心化;因为交易的有效性是由数学上可验证的证明来保证的。
重要的是验证证明的要求。由于所涉及的数据经过了高度压缩并通过计算进行了大量的抽象,它对底层区块链节点的影响是很小。
验证器不需要高端硬件,批次的大小也不会增加硬件要求。只有状态转换和少量的调用数据需要由节点处理和存储。这允许所有以太坊节点使用他们现有的硬件来进行有效性验证。
交易越多,价格越低。
在传统的区块链中,交易越多,对每个人来说就越昂贵,因为区块空间被填满了。用户需要在收费市场上出价高于对方,才能使他们的交易包含在区块内。
这个情况在ValidityRollup中是相反的。在以太坊上验证一个批交易有一定的成本。随着一个批中的交易数量的增加,验证该批交易的成本以对数级的速度增长。但在一个批中添加更多的交易会带来更便宜的交易费用,即使这个批的验证成本增加。因为这些成本由一个批内的所有交易摊销,所以ValidityRollup希望在一个批内有尽可能多的交易。当一个批的大小增长到无限大时,每笔交易的摊销费用会收敛到零,也就是说,ValidityRollup中包含的交易越多,对每个用户说需要支付的交易费就越便宜。
dYdX,一个由ValidityRollup驱动的dApp,经常看到超过12,000个交易的批。将同样的交易两在主网和在ValidityRollup上的消耗gas量进行比较,可以看见可扩展性的提高。
在以太坊主网上结算一笔dYdX交易:200,000gas
在StarkEx上结算一笔dYdX交易:<500gas
另一种方式来看待它则发现ValidityRollups的主要成本与同一个批的用户数量成线性比例。
为什么OptimisticRollup的可扩展性不如人们想象的那么好?
理论上,OP拥有与ValidityRollups几乎相同的可扩展性优势。但有一个重要的区别。OP针对平均情况进行优化,而ValidityRollups针对最坏情况进行优化。因为区块链系统是在极端对抗的条件下运行的,针对最坏情况进行优化是实现安全的唯一途径。
OP拥有的最坏情况是用户的交易不会被欺诈检查器检查到。因此,为了质疑欺诈,用户必须同步一个以太坊全节点和一个L2全节点,同时自己计算可疑的交易。
在ValidityRollups中,即使在最坏的情况下,用户也只需要同步一个以太坊全节点来验证有效性证明,省去了自己的计算负担。
与ValidityRollups相比,OP的成本与交易数量呈线性关系,而不是与用户数量呈线性关系,这使得OP更加昂贵。
无需许可的访问Rollup状态
为了保证交易的有效性,用户只需要运行一个以太坊节点。然而,用户和开发人员可能希望出于各种目的查看并运行Rollup的状态和执行。一个索引的L2节点完美地满足了这个需求。它不仅可以让用户看到网络中的交易,而且也是生态系统基础设施运作所必需的一个关键基础设施。像TheGraph、Alchemy、Infura这样的索引器;像Chainlink这样的Oracle网络,以及区块浏览者,所有这些都由无需许可的索引L2节点完全支持。
结论
许多解决区块链可扩展性的方法错误地集中在增加吞吐量上。但是,这忽略了吞吐量对节点的影响:处理区块和存储网络历史的硬件要求不断增加,以及这如何抑制了网络的去中心化。
随着有效性证明密码学的出现,区块链可以实现真正的可扩展性,而不给节点带来不断增加的成本负担,并允许广泛的去中心化。同样的硬件执行具强大和更复杂计算的交易现在是可能的,扭转了收费市场的困境——ValidityRollup上的事务越多,它就越便宜!
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。