比特币是加密货币网络中第一个成熟的试验品,也是因为比特币网络的出现,才后继发展出以太坊等世界计算机的雏形。
不过后续公链为了性能需求,做了过多更改和添加,其中最重要的是会把公链的共识彻底更改为PoS,尽管以太坊还没有彻底改变,但也已经提上日程。
我们不禁需要思考,能不能不修改PoW共识,而达到其性能呢?我们就以本文讨论一下,PoW共识该如何进化。
因为共识算法主要应用在区块链网络结构的共识层,可以理解为layer1。而如果对PoW共识进行更改,那对比对象就是比特币的PoW中本聪共识和以太坊的ethhash,今天不用谈其对ASIC芯片和GPU芯片的规定,而是在PoW出块验证过程中的变化。
中本聪共识是区块链早期广泛使用的一种共识方法。目前为止中本聪共识仍是容错能力最好的,其设计简单,通讯开销低,经过了数十年的验证。但是该共识有一个自然的吞吐量限制。其吞吐能力较低,出块时间过长,用户体验较差。
数据:伦敦升级以来已燃烧超25万枚ETH:9月9日,ultrasound.money数据显示,以太坊伦敦升级以来已燃烧252819.58枚ETH。当前ETH燃烧速率为每分钟5.06ETH。[2021/9/9 23:11:58]
如果你想提高吞吐量,你可以做两件事:一是增加块大小,二是降低块间隔,但这会增加孤块率。消耗带宽,也不利于交易确认。随着孤儿率的增加,系统的安全性下降,吞吐量下降。
当孤儿率非常高时,攻击者很容易秘密生成更长的链。攻击者则不需要51%的算力,可以用更少的算力覆盖区块链。
如果我们想突破吞吐量限制,必须想办法降低孤儿率。
孤块出现的原因来自于块的传播延迟,如果在传播另一个块时发现一个块,则其中一个注定是孤块。
而一些区块的传播速度较慢,是因为这些区块相关有更多的新交易,新交易是在区块打包前的10秒内生成的未同步交易,因此矿工必须先同步这些交易,然后才能进一步传播这些块。
数据:以太坊伦敦升级后销毁超7万枚ETH,价值超2.2亿美元:8 月 21 日,据 ultrasound.money 数据,以太坊伦敦升级后共销毁 70043 枚 ETH,价值超 2.2 亿美元。其中,ETH 销毁数量前三位的平台分别为 OpenSea(8483 枚)、Uniswap V2(4966 枚)、Axie Infinity(3745 枚)。[2021/8/21 22:27:57]
例如,当节点A向节点B传播一个紧凑块并且其中没有新的交易时,节点B可以立即将这些紧凑块传输给它的所有邻近节点。
但是,如果区块中有新交易,节点B必须首先从节点A同步这些交易,然后验证这些交易的签名,这也需要时间。只有当整个区块的有效性得到验证时,节点B才能继续传播这个区块。
以太坊出现后,对中本聪共识并没有实质性的改善。其只是简单地缩短了出块间隔。
V神发布伦敦升级后链容量增加约9%的三个原因:V神(Vitalik Buterin)发文《链容量为什么在伦敦升级之后增加了约9%?》。V神表示有3个原因:
1. 冰河时代延迟
当伦敦分叉开始时,冰河时代才刚刚开始生效。伦敦之前的平均区块时间约为13.5秒,伦敦之后的平均区块时间回落到其长期正常水平约13.1秒。这是区块速度约3%的差异,这解释了链上gas使用量增加9%中的3%。
2. 目标值1500万与最大1500万
在伦敦升级之前,区块最低gas使用量为1500万,并非所有区块都使用了整个1500万,即使是功能最完善的区块生产者也会留下0-20999未使用的gas,因为剩余空间太少,无法容纳单笔交易,除此之外,总会有偶尔的区块生产者制造空块。4月份的一项分析表明,大约2%的区块是空的。假设在伦敦之前有大约2-3%的未使用空间。然而,在伦敦之后,1500万不是最大值,而是目标值。这意味着,如果使用的平均gas(包括空块)低于1500万,则基本费用将减少,直到平均值回到1500万。所以这又占了大约2-3%。
3. basefee调整中的数学缺陷
EIP1559公式在目标为50%时并不完美。从最近观察到的时间跨度中获取数据,51.5%是完整区块(full block)(因此,比预期的50%高约3%)。[2021/8/15 22:15:37]
并且以太坊还有一个问题,因为交易的有效性取决于区块内的交易顺序,验证交易,必须等到区块收到后,因此无法在收到实际区块之前验证交易有效性。
Pantera Capital创始人:伦敦升级将帮助以太坊赶超比特币:Pantera Capital创始人,同时也是被誉为加密投资大师的Dan Morehead在周一的路透社全球市场论坛中表示,即将到来的伦敦升级将帮助以太坊赶超比特币,使以太坊更像一种固定资产。“我们将看到人们的转变,他(她)们也将用ETH存储财富,而不仅仅是用比特币。”此外,Dan Morehead还表示,以太坊升级到2.0后将大幅降低挖矿能耗。以太坊DeFi的广泛采用也将使其的规模超越比特币。
尽管Dan Morehead认为以太坊的未来比比特币更光明,但是其对比特币未来的发展也表示乐观。其认为到2021年底,BTC价格能达到8-9万美元,1年后达到12万美元。(Cointelegraph)[2021/8/4 1:33:15]
也即是这样,每个区块中的每笔交易都会被视为新交易。交易传播中有很多冗余。例如一个以太坊客户端会将同一笔交易传播到不同的节点七次,
而这些交易就意味着以太坊会出现非常高的孤块率,数据表明,可能有时高达30%,严重占用网络资源,造成交易堵塞。
以太坊还有叔块的设置,如果这些孤块被纳入最长链,可以拿到部分奖励,但叔块的数量和奖励无济于事。
因此,这些迟缓的交易确认流程和技术现象,造成了PoW共识表现出的比特币网络和以太坊网络的问题。
那可以如何改善PoW共识?
在现有的设计案例中,可以看到两种必要的方法。
首先是挖矿难度调整,这是对于计算出块难易程度的预估,比特币和以太坊是定期调整的,并且是较长周期内调整,而改善后的PoW共识内可以通过一个小周期来调整,一个时隙会包含多少个块,以保证快速调整到平稳的难度值。这对出块时间也是重要的。
第二个必要的改进就是调整出块时间,而这涉及到很细节的过程。在上文中,因为区块打包前的新交易会不停延迟区块链传播时间,那如果让传播节点不再因新交易出现而延迟同步,出块就会变快速,但需要将新交易,以及漏掉的交易进行新的验证打包。这就需要一个新的交易提交渠道。
我们在NC-MAX的算法里查到了一个设计。
那就是将区块中添加了一个“叔块头”区域,允许矿工将尽可能多的叔块嵌入到一个块中。叔块可以在区块中传播他们的头和他们的交易提议区,但叔块不计入块大小限制。
另外还需要添加了一个交易提议区,其中可能包含一些新交易的提交,交易在传播区块后同步。并且是并行同步的,不会影响块的传播过程。只要哈希检查,不会影响块的有效性。
还有一种可以称之为智能的方式,那就是让出块时间设计为动态变化。
在PoW链正常的共识出块中,会出现孤块、叔块,这会影响链的数据,但如果通过一个数据来监控孤块和叔块,进而调整出块时间和块大小。就足以让所有链上的资源变得更智能。
例如还有一个公链的案例是引入叔块率等运行期数据,对出块时间,难度,出块奖励进行动态调整,进而最大限度利用网络资源。
详细的过程如下:当区块越大,出块时间越短,孤块会越多,而孤块率增加会降低双花攻击的难度,所以需要将孤块率限制在一个阈值之内。
如果在孤块基础上,引入叔块。首先,定义每N个块为一个Epoch。并且为每个Epoch定义出叔块。
这样就可以用Epoch内的叔块率评估网络的拥塞情况,并以此作为出块时间,出块大小调整的依据,实现充分利用网络,提升吞吐的同时,也可避免区块过大或者出块时间太短导致孤块过多,安全降低。
为了将叔块维持在一个合适的阈值内,在每个Epoch末,都会重新调整下一个周期的出块时间。
如果叔块率较高,则说当前的出块时间间隔下,网络中存在较多的分叉和孤块,我们需要调大出块的时间,缓解此问题。反之,则说明全网出块情况良好,还能进一步缩短出块时间,进一步提高全网吞吐。
以此看来,通过对PoW共识设计的改变,足以改善PoW链的表现能力,但如果用此与PoS链相比,仍旧是无法比较的,只是通过这样的改进,在面临网络拥堵情况下,链的处理能力是更高的,也是更可控的,这样的调整下,部分项目可以保持对PoW共识的信仰,同时其网络资源也是在矿工经济模型的保护之下运行的,在行业面临巨大问题时,可能会有缓冲效果。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。