比特币是加密货币网络中第一个成熟的试验品,也是因为比特币网络的出现,才后继发展出以太坊等世界计算机的雏形。
不过后续公链为了性能需求,做了过多更改和添加,其中最重要的是会把公链的共识彻底更改为PoS,尽管以太坊还没有彻底改变,但也已经提上日程。
我们不禁需要思考,能不能不修改PoW共识,而达到其性能呢?我们就以本文讨论一下,PoW共识该如何进化。
因为共识算法主要应用在区块链网络结构的共识层,可以理解为layer1。而如果对PoW共识进行更改,那对比对象就是比特币的PoW中本聪共识和以太坊的ethhash,今天不用谈其对ASIC芯片和GPU芯片的规定,而是在PoW出块验证过程中的变化。
中本聪共识是区块链早期广泛使用的一种共识方法。目前为止中本聪共识仍是容错能力最好的,其设计简单,通讯开销低,经过了数十年的验证。但是该共识有一个自然的吞吐量限制。其吞吐能力较低,出块时间过长,用户体验较差。
金色晨讯丨3月27日隔夜重要动态一览:21:00-7:00关键字:区块链炒作、比特币局、USDT无效转账
1.人民日报:科技热词“区块链”被不法分子借机炒作。
2.西城区区块链应用平台已正式上线。
3.道指创1931年10月以来最佳连续3日涨幅。
4.美国司法部指控委内瑞拉总统利用加密货币隐藏非法相关交易。
5.美国加州州长警告公众防范比特币局。
6.媒体:“N号房”主犯多以XMR交易,加密资产追回恐非易事。
7.Block.one为Voice投资1.5亿美元以支持其独立运营。
8.USDT链上出现28.2亿枚无效转账。
9.比特币管理资产自2016年以来增长了10倍。[2020/3/27]
如果你想提高吞吐量,你可以做两件事:一是增加块大小,二是降低块间隔,但这会增加孤块率。消耗带宽,也不利于交易确认。随着孤儿率的增加,系统的安全性下降,吞吐量下降。
金色晚报 | 2月7日晚间重要动态一览:12:00-21:00关键词:花旗、支付宝、eBay、匈牙利
1. 花旗和高盛已进行首笔区块链股权掉期交易;
2. 支付宝上线防疫物资信息服务平台,用区块链实现全程可追溯;
3. 美国洲际交易所已放弃对在线交易平台eBay的收购计划;
4. 瑞士金融市场监管局建议降低交易加密货币的客户识别门槛;
5. 美国清算所Nacha将利用区块链技术支持企业间交换支付信息;
6. 海淀区上线基于区块链的中小企业供应链金融服务平台;
7. 匈牙利央行:警惕有关提供Libra“预售”的活动;
8. 比特币每日确认交易数创2019年9月初以来新高;
9. 岛国圣基茨和尼维斯通过《2020年虚拟资产法案》 使BCH等代币合法化。[2020/2/7]
当孤儿率非常高时,攻击者很容易秘密生成更长的链。攻击者则不需要51%的算力,可以用更少的算力覆盖区块链。
金色晨讯 | PayPal宣布退出Libra协会 Bakkt比特币期货合约已进行首次大宗交易:1.PayPal宣布退出Libra协会,未来会继续与Facebook合作。
2.欧盟将敦促G20对Libra等稳定币做出回应。
3.众议院议员敦促扎克伯格出席会议讨论Facebook加密货币计划。
4.Bakkt比特币期货合约已进行首次大宗交易。
5.香港证监会发布针对持牌虚拟资产管理公司的监管条款。
6.红海精密创办人郭台铭:正在筹划研究推出版Libra。
7.V神:以太坊2.0公共测试网很快会推出 权益证明机制很快就可以启动。
8.吉尔吉斯斯坦总统:必须谨慎对待加密货币及其对经济的影响。[2019/10/5]
如果我们想突破吞吐量限制,必须想办法降低孤儿率。
孤块出现的原因来自于块的传播延迟,如果在传播另一个块时发现一个块,则其中一个注定是孤块。
金色财经现场报道 全球区块链百亿投资基金正式发起:金色财经现场报道,在全球区块链世界巡回高峰会议大湾区站,“全球区块链投资与研究联合会”正式成立,同时举行了“全球区块链百亿投资基金”发起仪式。全球区块链百亿投资基金致力于组织制定行业规范,对优质区块链技术进行孵化和上市,与高校合作办学等计划,为区块链投资者进行筛选和尽调,大力支持优秀区块链企业与金融市场的融合,积极相应国家号召,为行业发展良好的环境。[2018/4/23]
而一些区块的传播速度较慢,是因为这些区块相关有更多的新交易,新交易是在区块打包前的10秒内生成的未同步交易,因此矿工必须先同步这些交易,然后才能进一步传播这些块。
例如,当节点A向节点B传播一个紧凑块并且其中没有新的交易时,节点B可以立即将这些紧凑块传输给它的所有邻近节点。
但是,如果区块中有新交易,节点B必须首先从节点A同步这些交易,然后验证这些交易的签名,这也需要时间。只有当整个区块的有效性得到验证时,节点B才能继续传播这个区块。
以太坊出现后,对中本聪共识并没有实质性的改善。其只是简单地缩短了出块间隔。
并且以太坊还有一个问题,因为交易的有效性取决于区块内的交易顺序,验证交易,必须等到区块收到后,因此无法在收到实际区块之前验证交易有效性。
也即是这样,每个区块中的每笔交易都会被视为新交易。交易传播中有很多冗余。例如一个以太坊客户端会将同一笔交易传播到不同的节点七次,
而这些交易就意味着以太坊会出现非常高的孤块率,数据表明,可能有时高达30%,严重占用网络资源,造成交易堵塞。
以太坊还有叔块的设置,如果这些孤块被纳入最长链,可以拿到部分奖励,但叔块的数量和奖励无济于事。
因此,这些迟缓的交易确认流程和技术现象,造成了PoW共识表现出的比特币网络和以太坊网络的问题。
那可以如何改善PoW共识?
在现有的设计案例中,可以看到两种必要的方法。
首先是挖矿难度调整,这是对于计算出块难易程度的预估,比特币和以太坊是定期调整的,并且是较长周期内调整,而改善后的PoW共识内可以通过一个小周期来调整,一个时隙会包含多少个块,以保证快速调整到平稳的难度值。这对出块时间也是重要的。
第二个必要的改进就是调整出块时间,而这涉及到很细节的过程。在上文中,因为区块打包前的新交易会不停延迟区块链传播时间,那如果让传播节点不再因新交易出现而延迟同步,出块就会变快速,但需要将新交易,以及漏掉的交易进行新的验证打包。这就需要一个新的交易提交渠道。
我们在NC-MAX的算法里查到了一个设计。
那就是将区块中添加了一个“叔块头”区域,允许矿工将尽可能多的叔块嵌入到一个块中。叔块可以在区块中传播他们的头和他们的交易提议区,但叔块不计入块大小限制。
另外还需要添加了一个交易提议区,其中可能包含一些新交易的提交,交易在传播区块后同步。并且是并行同步的,不会影响块的传播过程。只要哈希检查,不会影响块的有效性。
还有一种可以称之为智能的方式,那就是让出块时间设计为动态变化。
在PoW链正常的共识出块中,会出现孤块、叔块,这会影响链的数据,但如果通过一个数据来监控孤块和叔块,进而调整出块时间和块大小。就足以让所有链上的资源变得更智能。
例如还有一个公链的案例是引入叔块率等运行期数据,对出块时间,难度,出块奖励进行动态调整,进而最大限度利用网络资源。
详细的过程如下:当区块越大,出块时间越短,孤块会越多,而孤块率增加会降低双花攻击的难度,所以需要将孤块率限制在一个阈值之内。
如果在孤块基础上,引入叔块。首先,定义每N个块为一个Epoch。并且为每个Epoch定义出叔块。
这样就可以用Epoch内的叔块率评估网络的拥塞情况,并以此作为出块时间,出块大小调整的依据,实现充分利用网络,提升吞吐的同时,也可避免区块过大或者出块时间太短导致孤块过多,安全降低。
为了将叔块维持在一个合适的阈值内,在每个Epoch末,都会重新调整下一个周期的出块时间。
如果叔块率较高,则说当前的出块时间间隔下,网络中存在较多的分叉和孤块,我们需要调大出块的时间,缓解此问题。反之,则说明全网出块情况良好,还能进一步缩短出块时间,进一步提高全网吞吐。
以此看来,通过对PoW共识设计的改变,足以改善PoW链的表现能力,但如果用此与PoS链相比,仍旧是无法比较的,只是通过这样的改进,在面临网络拥堵情况下,链的处理能力是更高的,也是更可控的,这样的调整下,部分项目可以保持对PoW共识的信仰,同时其网络资源也是在矿工经济模型的保护之下运行的,在行业面临巨大问题时,可能会有缓冲效果。
编者按:6月15日,中国人民大学重阳金融研究院高级研究员、北京航空航天大学教授,北航数字社会与区块链实验室主任蔡维德,在人大重阳主办的“新型货币战争的科技、市场、监管”系列直播活动第九讲中,分享了他对“美国银行改革”的最新思考.
1900/1/1 0:00:00Parity公共事务负责人解释了为什么Polkadot优于以太坊、平行链是如何工作的、Kusama的角色等等.
1900/1/1 0:00:00上个月,萨尔瓦多成为世界上第一个将BTC作为法定货币的国家。虽然看到外国政府接受这种货币我并不感到惊讶,这只是时间问题,而不仅仅是一个假设,但对加密行业来说,这仍然是一个相当了不起的时刻.
1900/1/1 0:00:00在上一篇文章中,Alice和Bob建立了一个双向的支付通道。现在,Alice想要给一个第三方Carol支付1btc。一般来说,Alice和Carol需要在彼此之间开设一个支付通道。但实际上并不需要.
1900/1/1 0:00:00TheMonolithandtheApeMen2001ASpaceOdyssey,byHalHefnerDAO是Web3时代社区应有的样子,所以下面的内容不再强调DAO,均称为社区.
1900/1/1 0:00:00比特币面世十余年,各种加密货币层出不穷。支持者认为,加密货币可以提升交易效率、成为新时代重要支付结算工具。也有声音质疑,众多加密货币本身并无内在价值,暴涨暴跌蕴含高风险。伴随着近半年的“过山车”行情,多国宣布加强监管.
1900/1/1 0:00:00