简版 区块链本质论(5): 性能本质之延迟

区块链本质论

区块链被大家关注是件好事情,但非常不希望看到各种区块链项目盲目上马,造成各种社会资源的浪费。区块链技术本身尚在发展阶段,还有很多核心技术问题有待突破,对区块链技术本质还充斥着各种不同的理解。后面几天我们将就区块链的计算本质,技术难点,业务调整,社会影响等方面和大家分享。

(5) 性能: 交易确认延迟

在当下的主流公链中,一个交易从发出到最终确认上链,并非瞬间完成,而需要历经一段不短时间,可能是十几分钟甚至高达几个小时。这期间,大部分的时间是在排队。就比特币而言,大部分时候有近5000到10000个已经发出,但尚未得到确认的交易被临时存储在每个比特币的节点中,这个存储池被称为mempool。大致每10分钟,会有一批交易被确认上链,每批约2000到3000个交易。剩下的部分就在mempool中排队等候。

为什么要10分钟才确认一批?为什么每批只有几千个交易?可以在这里找到答案:

王嘉平:简版 区块链本质论(3): 性能本质之吞吐量zhuanlan.zhihu.comf159ce41d8ec3cd563ed85717a8f827e.jpeg

同时,这些交易的排队并不是按先来后到确认的。每个交易的发出时,附带了交易手续费,交易的确认会优先选取交易手续费高的。所以,通常网络中交易过多的时候,比较着急的交易可以通过附带更多的交易手续费来插队。这也是为什么,网络拥塞的时候,交易手续费会飙升。

一个区块链系统吞吐量低于其上应用的需求时,交易确认的延迟主要由交易排队构成。这就是大家认为,提高吞吐量,提高TPS,会感觉区块链变快。吞吐量确实是当下区块链系统最需要改善的地方,并带来更低的交易确认延迟。

除了排队延迟,一个交易从发出到第一次确认上链的完整过程,包含以下过程:
1. 该交易的全网广播扩散 ,通常需要2,3秒
2. 交易排队 (前面已经讨论过的步骤)
3. 一轮共识周期 (需要一个出块间隔的时间,例如比特币是10分钟)
4. 包含这个交易的区块得到全网广播扩散,通常需要4到8秒

其中,步骤1和4主要由互联网点对点通讯延迟和全网的节点数量决定。步骤2则由区块链系统的共识算法及其参数决定。值得的注意的是,粗看来,大区块+大间隔 或者 小区块+小间隔 都可以满足特定的吞吐量,并且后者(小区块)的确认延迟更小。但事实上,小区块对带宽的利用率大大小于大区块,因为在每一个区块中,除了被确认的交易数据,还包含完整的共识相关的算力证明数据或者验证者的签名数据 。

当然,类似吞吐量的提升,这里可以有个很简单的解决方案,就是高度集中部署,所有节点在一个高速局域网内,从而实现秒级甚至毫秒级交易确认。但是,很难说这样的系统还是不是一个区块链系统。

上面讲到的首次确认的时间延迟,对于不同安全性要求,人们可能需要在首次确认之后再观察一段时间。我们第二篇的共识本质中,讲到了两类共识算法:

王嘉平:简版 区块链本质论(2): 共识本质zhuanlan.zhihu.com9a688699c2c772572ee3ef590d1193cd.jpeg

基于最终一致性的POW共识机制的区块链系统是可能出现区块回滚的,也就是说当一个交易被某区块确认之后,该区块有可能被作废(孤块),从而导致之前确认过的交易会需要重新确认,并返回mempool。这种情况会小概率地发生,即使不存在恶意的攻击。一个区块成为孤块从而导致其确认的交易被撤销的概率会随着时间流逝,紧接其后的更多区块越来越多而指数级下降。最后,被这个区块的交易就几乎不可能被撤销了。这就是为什么,比特币系统大家经验上认为,需要6次确认来认定一个交易已经可靠上链了。而在即时一致性的共识系统中,例如BFT则不需要这个额外的等待。

这一篇的扩展阅读:

王嘉平:区块链公链如何才能快起来 (一)zhuanlan.zhihu.com90ac3c00021590feb4b40ab7dd3cd13e.jpeg

作者简介
国际计算机网络系统顶会NSDI 2019,发表了王嘉平博士团队关于高性能并行分片区块链系统的论文,这是中国人自主研发成果在区块链核心算法领域首次得到国际专家和同行的认可。

王嘉平博士原为微软研究院主管研究员,专注分布式系统,计算机图形学和视觉以及用于机器学习的GPU集群等领域的研究,有数十项研究成果发表于ACM SIGGRAPH/ToG顶级国际期刊,已授权的美国专利十余项。他师从沈向洋博士(现微软全球执行副总裁),在中科院计算所获得博士学位。他的博士论文获得2009年度全国百篇优秀博士论文奖,是该年唯一一名计算机科学专业的获奖者。

简版 区块链本质论(5): 性能本质之延迟

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值