9.7 网络拥堵:大量交易的确认延迟

无论是哪一种区块链应用程序(数字货币、智能合约、去中心的交易系统等),它们的网络都是由一个个独立的节点组成的,发生在节点中的各种操作(如转账交 易、合约状态的变更等),都会以交易事务的数据形式广播到网络中,通过矿工打包到新的区块,作为主链的一部分而最终确认所有的这些操作。然而,当节点很 多,使用量很多的时候,大量发生的交易就会来不及在正常期望的时间内被打包,因为它们都拥堵在网络中,这些等待被确认打包的交易数据通常都维持在节点的内 存池中。

9.7 网络拥堵:大量交易的确认延迟

以比特币来说,每隔大约10分钟生产一个区块,而每个区块还是有大小限制的。目前来说,比特币一个区块的大小限制是1MB,而很多人在以太坊上大量地进行 智能合约开发以及进行ICO(Initial Coin Offerings)也导致大量的网络拥堵,实际上对于每一类区块链应用来说,这个问题都是存在的。下图是从blockchain.info网站上获取的 一段时间内的比特币内存池大小统计:

9.7 网络拥堵:大量交易的确认延迟

图中的统计时间区间是:从2017年7月12日的早上8点到次日的早上8点。数据大小的计量单位是字节,换算一下,平 均也有12MB多,我们看到,每时每点都充满了这么多等待验证确认的内存池交易数据,比特币平均10分钟确认一个区块,一个区块大小还不超过1MB,可想 而知,有多么拥堵了。我们再来看看,实际的交易数据确认时间的统计:

可以看到,在大多数时候的确认时间都不止10分钟。随着拥挤程度越来越甚,如果对交易确认速度和区块大小等没有提升的话,将会严重影响比特币的正常使用。其他的区块链应用也是一样,都要面临一旦大规模使用后如何解决网络拥堵的问题。

一般大部分区块链应用还会对内存池中的交易排列优先级进行处理,比如愿意花更多交易费的事务会优先处理等,这将使得使用成本越来越大,对于普通用户的交易,手续费低的就很难排上了。

9.7 网络拥堵:大量交易的确认延迟

来源:我是码农,转载请保留出处和链接!

本文链接:http://www.54manong.com/?id=59

'); (window.slotbydup = window.slotbydup || []).push({ id: "u3646208", container: s }); })();
'); (window.slotbydup = window.slotbydup || []).push({ id: "u3646147", container: s }); })();