比特币是加密货币网络中第一个成熟的试验品,也是因为比特币网络的出现,才后继发展出以太坊等世界计算机的雏形。
不过后续公链为了性能需求,做了过多更改和添加,其中最重要的是会把公链的共识彻底更改为PoS,尽管以太坊还没有彻底改变,但也已经提上日程。
我们不禁需要思考,能不能不修改PoW共识,而达到其性能呢?我们就以本文讨论一下,PoW共识该如何进化。
因为共识算法主要应用在区块链网络结构的共识层,可以理解为layer1。而如果对PoW共识进行更改,那对比对象就是比特币的PoW中本聪共识和以太坊的ethhash,今天不用谈其对ASIC芯片和GPU芯片的规定,而是在PoW出块验证过程中的变化。
中本聪共识是区块链早期广泛使用的一种共识方法。目前为止中本聪共识仍是容错能力最好的,其设计简单,通讯开销低,经过了数十年的验证。但是该共识有一个自然的吞吐量限制。其吞吐能力较低,出块时间过长,用户体验较差。
金色晚报 | 7月22日晚间重要动态一览:12:00-21:00关键词:四川省、NatWest、以太坊
1.四川省已将全部5131座小水电站纳入清理整改范围,其中退出1360座;
2.英国银行业巨头NatWest禁止向Binance付款;
3.Coinbase Commerce新增支持DOGE支付;
4.以太坊开发者修复测试网上的EIP-1559相关漏洞;
5.韩国FSC通知27家境外虚拟资产运营商在9月24日前申报;
6.特斯拉CEO马斯克:支持利用核能发电开采比特币;
7.俄罗斯央行要求该国证券交易所不允许加密相关公司上市;
8.资管规模达300亿美元的Global X向美国SEC提交比特币ETF申请;
9.上海银行APP已可申请数字人民币。[2021/7/22 1:10:06]
如果你想提高吞吐量,你可以做两件事:一是增加块大小,二是降低块间隔,但这会增加孤块率。消耗带宽,也不利于交易确认。随着孤儿率的增加,系统的安全性下降,吞吐量下降。
金色午报 | 4月22日午间重要动态一览:7:00-12:00关键词:数字美元钱包、苏州市、Dash减产
1.姚前:数字美元钱包充当“撒钱”的“直升机” 可谓是恰逢其时。
2.国家发改委高技术发展司司长:“新基建”包含区块链等新技术。
3.苏州市区块链技术和产业协会已正式成立。
4.中国银行自4月22日起暂停客户原油宝新开仓交易。
5.中金:区块链有望最先在政务和金融领域大规模落地。
6.赵锡军:央行数字货币重点在于如何与传统货币进行融合。
7.Dash预计将于4月28日减产。
8.11家投资公司要求SEC停止泄漏Telegram的ICO战略。
9.Dai稳定费率全面下调预期鼓励市场提供更多Dai流动性。[2020/4/22]
当孤儿率非常高时,攻击者很容易秘密生成更长的链。攻击者则不需要51%的算力,可以用更少的算力覆盖区块链。
金色晨讯 | 日本或将推出基于加密货币的支付系统:1.罗马尼亚现正式对加密货币收入征税;
2.印度银行HDFC要求客户签订加密货币监管同意书;
3.中信银行济南分行完成首笔区块链国内信用证福费廷业务;
4.赵长鹏:Binance Chain测试网将于两周后上线;
5.日本或将推出基于加密货币的支付系统;
6.西班牙港务局加入由IBM和马士基开发的区块链平台;
7.去年四季度公募基金亏损1412亿元 货币基金盈利608亿元。[2019/1/23]
如果我们想突破吞吐量限制,必须想办法降低孤儿率。
孤块出现的原因来自于块的传播延迟,如果在传播另一个块时发现一个块,则其中一个注定是孤块。
而一些区块的传播速度较慢,是因为这些区块相关有更多的新交易,新交易是在区块打包前的10秒内生成的未同步交易,因此矿工必须先同步这些交易,然后才能进一步传播这些块。
金色财经现场报道 国务院参事王辉耀:区块链对中国社会产生四方面的影响:金色财经现场报道,中国与全球化研究中心主任、国务院参事在区块链教育创新论坛“链接大脑——区块链教育机遇与展望”圆桌论坛上指出,区块链对中国的影响主要有四个方面:一是区块链思维鼓励创新;二是充分促进发挥个人的能动性;三是有利中国信用体系建设;四是区块链人才的培养对社会整体的推动作用。[2018/4/21]
例如,当节点A向节点B传播一个紧凑块并且其中没有新的交易时,节点B可以立即将这些紧凑块传输给它的所有邻近节点。
但是,如果区块中有新交易,节点B必须首先从节点A同步这些交易,然后验证这些交易的签名,这也需要时间。只有当整个区块的有效性得到验证时,节点B才能继续传播这个区块。
以太坊出现后,对中本聪共识并没有实质性的改善。其只是简单地缩短了出块间隔。
并且以太坊还有一个问题,因为交易的有效性取决于区块内的交易顺序,验证交易,必须等到区块收到后,因此无法在收到实际区块之前验证交易有效性。
也即是这样,每个区块中的每笔交易都会被视为新交易。交易传播中有很多冗余。例如一个以太坊客户端会将同一笔交易传播到不同的节点七次,
而这些交易就意味着以太坊会出现非常高的孤块率,数据表明,可能有时高达30%,严重占用网络资源,造成交易堵塞。
以太坊还有叔块的设置,如果这些孤块被纳入最长链,可以拿到部分奖励,但叔块的数量和奖励无济于事。
因此,这些迟缓的交易确认流程和技术现象,造成了PoW共识表现出的比特币网络和以太坊网络的问题。
那可以如何改善PoW共识?
在现有的设计案例中,可以看到两种必要的方法。
首先是挖矿难度调整,这是对于计算出块难易程度的预估,比特币和以太坊是定期调整的,并且是较长周期内调整,而改善后的PoW共识内可以通过一个小周期来调整,一个时隙会包含多少个块,以保证快速调整到平稳的难度值。这对出块时间也是重要的。
第二个必要的改进就是调整出块时间,而这涉及到很细节的过程。在上文中,因为区块打包前的新交易会不停延迟区块链传播时间,那如果让传播节点不再因新交易出现而延迟同步,出块就会变快速,但需要将新交易,以及漏掉的交易进行新的验证打包。这就需要一个新的交易提交渠道。
我们在NC-MAX的算法里查到了一个设计。
那就是将区块中添加了一个“叔块头”区域,允许矿工将尽可能多的叔块嵌入到一个块中。叔块可以在区块中传播他们的头和他们的交易提议区,但叔块不计入块大小限制。
另外还需要添加了一个交易提议区,其中可能包含一些新交易的提交,交易在传播区块后同步。并且是并行同步的,不会影响块的传播过程。只要哈希检查,不会影响块的有效性。
还有一种可以称之为智能的方式,那就是让出块时间设计为动态变化。
在PoW链正常的共识出块中,会出现孤块、叔块,这会影响链的数据,但如果通过一个数据来监控孤块和叔块,进而调整出块时间和块大小。就足以让所有链上的资源变得更智能。
例如还有一个公链的案例是引入叔块率等运行期数据,对出块时间,难度,出块奖励进行动态调整,进而最大限度利用网络资源。
详细的过程如下:当区块越大,出块时间越短,孤块会越多,而孤块率增加会降低双花攻击的难度,所以需要将孤块率限制在一个阈值之内。
如果在孤块基础上,引入叔块。首先,定义每N个块为一个Epoch。并且为每个Epoch定义出叔块。
这样就可以用Epoch内的叔块率评估网络的拥塞情况,并以此作为出块时间,出块大小调整的依据,实现充分利用网络,提升吞吐的同时,也可避免区块过大或者出块时间太短导致孤块过多,安全降低。
为了将叔块维持在一个合适的阈值内,在每个Epoch末,都会重新调整下一个周期的出块时间。
如果叔块率较高,则说当前的出块时间间隔下,网络中存在较多的分叉和孤块,我们需要调大出块的时间,缓解此问题。反之,则说明全网出块情况良好,还能进一步缩短出块时间,进一步提高全网吞吐。
以此看来,通过对PoW共识设计的改变,足以改善PoW链的表现能力,但如果用此与PoS链相比,仍旧是无法比较的,只是通过这样的改进,在面临网络拥堵情况下,链的处理能力是更高的,也是更可控的,这样的调整下,部分项目可以保持对PoW共识的信仰,同时其网络资源也是在矿工经济模型的保护之下运行的,在行业面临巨大问题时,可能会有缓冲效果。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。