LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 行情分析 > 区块链速度提升之后所面临的问题,看conflux如何解决

区块链速度提升之后所面临的问题,看conflux如何解决

2020-12-09 cncoin 来源:区块链网络

近期以太坊2.0信标链的启动成功引起了市场的关注,以太币也因此创了近几年的新高,当然在2.0成功启动之后的一天内,有多个验证人节点遭到了处罚,主要原因是现在的节点们对以太坊2.0实际上并没有 搞得特别清楚,也就是社区和开发人员还是太过于着急了,从这一点来看,以太坊人们想要用到以太坊2.0的功能还是需要等上几年的时间,毕竟现在的市场还并不是特别成熟。

对于公链目前的瓶颈,很多人都知道是TPS的问题,比特币平均每秒确认四到五个交易,以太坊才十几个交易,就连libra改名的diem也是每秒几个交易的水平,对于这样的吞吐量,很多人可能产生了怀疑,这还能大规模应用么?

虽然目前有layer2的技术,另外一些公链也提供了高TPS的技术,但是对于区块链来说,随着TPS的提高,问题随之而来,那就是区块分叉的问题,如果是简单的提高TPS能够解决问题的话,那么现在的公链早都大规模应用了,正因为快速的确认容易导致区块分叉问题的产生,因此对于公链来说,提升交易速度绝不是简单的改几个参数就能解决的事情。

我们以以太坊为例,在目前以太坊1.0的公链上,仅仅是这个水平的吞吐量,都要为区块分叉寻求解决方案,这就是所谓的叔块,叔块简单来说,就是父区块的分叉区块,在比特币区块链中,叔块其实就是废区块,比特币寻求的是最长链,不允许叔块的存在,以太坊允许叔块的存在,主要是因为出块速度决定的。

比特币平均10分钟一个区块,10分钟内区块可以全网都同步完,而以太坊不行,因为以太坊目前是十几秒一个区块, 因此等到上一个区块还没有在全网所有节点同步完的时候,可能有的节点就已经开始挖下一个区块了,这就很容易产生分叉行为,按照比特币的这种规则来说,以太坊可能就要时不时地进行数据的回滚,这自然是不稳定的,因此叔块的存在自然就很好的解决了这个问题,而且还能够提升交易的TPS。

简单来说,我们打个比方,在比特币挖矿过程中,某个区块之后,出现了两个不同的链,一个是中国矿工挖的,另一个是美国矿工挖的,而这两个区块时间上很接近,因为地理和网速的原因,他们都开始争取周围区域的记账节点的支持,这样时间就不断的往后推,直到一方矿工在某个区块后面又挖出一个区块,于是这就形成了最长链,自然就石锤了短的一方自然就失效,这里十分钟就是各方阵营都要争夺的焦点,谁的网速快,节点确认多,谁赢的概率就大,而谁最先生成下一个区块,那么谁就赢,这是十分钟一个区块的时候的做法。

当区块速度达到十几秒的时候,这就变了,比如我们还是以中美两国的挖矿为例,这个时候,也是比拼网速和节点确认速度,但是唯一不同的是这里大家只有十几秒的时间,因此谁也不能保证自己的区块能够在短时间内获得全网同意,这样一来,你挖你的,我挖我的,自然就容易分叉,于是以太坊就形成了叔块这个规则。

叔块也是可以确认的,只不过获得的奖励会少一些,但是对于交易数据来说,已经确认就ok了,是不是叔块他们并不是很关系,交易者关心的是区块能否在短时间内确认。

当我们想着如果将区块确认时间再缩短的时候,比如三到四秒生产一个区块,这个时候就会在极短时间内出现多个区块,这样整个网络就更加不稳定。

假如四个地区在某个时间内同时生产出来四个不同的区块,而根据最长链原则,只有一个是主区块,其他的可能都是叔块或者废链,那么这样一来,整个网络的矿工可能就要崩溃了,他们无法在这么短的时间内确定自己收益为多少,也自然会容易出现问题。

Conflux提出了一个比较新颖的方式,那就是树图结构的共识机制来确保网络稳定性和交易速度的问题,简单来说,就是采用一种区块打包和区块执行分离,延迟执行的策略模式来提高效率。

简单来说就是是先确认区块,然后再验证交易和执行智能合约。

以前的区块链中,矿工都要执行一遍区块中的交易之后,然后才能进行区块打包,这样就浪费了时间,而conflux则将这一步简化,先打包区块里面的区块,然后再执行区块中的具体交易数据,矿工打包的时候只要验证这个交易是没问题的就可以了,这样做的好处就是能够在短时间内提高吞吐量,简单来说,就是让区块传播速度更快。

区块传播速度是受到网络硬件条件限制的,比如网速、硬盘读写速度等等,而一般的同步区块慢就是因为这些原因,而conflux则先将交易记下来,后面再慢慢具体执行,这样就能够显著提高速度,而且还不会出现以太坊那样的情况。

这样一来就会产生两种状态,1、区块未被确认,也就是正在确认之中。2、未被确认的结果,也就是区块已经被确认了,交易数据已经无法改变,而结果会在稍后确认,其实这个状态如果交易是合法的,那么基本上已经可以确定结果待会儿就会确认了。

总结

并不是简单的来进行区块链参数的调整就能提高TPS,很多时候区块生成时间、确认时间等都会影响到整个网络的运行,以太坊模式的区块链确认模式虽然添加了叔块这样的方法,但是在这几年来已经严重不够用,而新的layer2问题可能还没有爆发出来,但是未来肯定会面临其他问题的困扰,这样的情况下,实行区块确认和交易数据执行的分离和延缓执行可以充分利用整个网络的硬件吞吐量,自然也就能够很好的提高了交易速度了。

最后欢迎添加好友wx:liang13457511226或我自己wx来探讨conflux相关技术。

—-

编译者/作者:cncoin

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...