当前位置:首页 >> 区块链

中科院研究員圍繞區塊鏈不可能三角的各種可

区块链  |  2019-10-27  |  来源:潜江物联网云平台

中科院研究员:围绕区块链“不可能三角”的各种可能

近年来唱衰区块链(尤其是公链)的声音中,提得最多的是它的交易处理效率太差、TPS(每秒交易次数)太低的问题,比如“比特币每秒只能处理个位数的交易,以太坊也不过20多笔每秒,乃至不具有支持一个普通范围应用的能力,还想C位出道成为下一代分布式社会的底层平台?”这类问题不但区块链唱衰者常挂嘴边,也常常是国内外区块链团队在讲述自己的工作的聚焦所在但是,很多团队常在“研发”短短数月内就号称已经研发出TPS高达十万甚至百万的区块链底层系统,噱头十足,但是真真假假,颇难分辨

为了更好理解这个有着延续热度的问题,今天我们从技术视角出发,讲讲目前能够带来TPS提升的“靠谱”方法和技术线路希望在浏览这篇文章后,大家再看到类似“百万TPS”之类宣扬时,就能够理解他们到底在讲什么:

首先,区块链有一个著名的“3难问题”,也常称为“不可能三角”,即区块链技术系统没法同时在可扩展性(Scalability,国内也常译为高效性)、安全性(Security)和去中心化程度(Decentralization)这三项指标上做到最优从另一个角度来讲,那就是区块链必须得在这三者之间做出一个优化的权衡

“不可能三角”对区块链的重要意义在于:完全抛开“三角”中的其他两者而孤立地去谈其中一者,那就根本不是区块链例如,支付宝TPS很高,但它是中心化的,而非区块链所面对的“多方参与、共同记账”的开放环境再比如联盟链(一种面向企业服务领域的区块链方案),它就是一种TPS很高的区块链,但它在安全和去中心化程度上都有一定的让步,仅能用于成员已知且可信的环境,而非区块链公链所面对的开放成员(Open Membership)环境因此,当我们听到别人提起高TPS的时候,首先要想想,这个高TPS背后隐藏了什么,它究竟是否真的具有价值

近年来,很多研究工作都围绕如何在“不可能三角”上获得一个优美权衡而努力,而这些努力大致可分为三个大类:第一类是从共识机制动身,第二类是从区块结构动身,第三类是从系统实现动身

从共识机制动身是近年来最火热的话题和路线

除我们耳熟能详的工作量证明(PoW)和权益证明(POS)之外,还出现了DPoS、Algorand、zk-SNARK、Stellar等,大概能列出数百种虽然花样繁多,但是我们可以把它们再细分为三个子类:

1.中本聪原教旨主义者:这部份人以中本聪的比特币白皮书为圣经,最多也就是围绕BIP的工作方向对以PoW为核心的中本聪共识进行小修小补,在这一派中,尝试提升TPS的举措包括调整区块大小(甚至这样的行动都会引发巨大争议)等

这条阵线上往往以传统的比特币矿机矿场为主,虽然增加区块大小会在互联上造成更多的传输延迟继而增加分叉风险,但由于矿场络的特殊性等原因,在实际中还是能够取得数倍的TPS提升(这一倍数与区块增大倍数直接相关)

2.在中本聪共鸣基础上进行较大创新的改良派:这部份人又可以分为两类,一类深信“计算即正义”,认为只有PoW中的计算才是数字世界的真理;另外一类则务实地认为惟有PoW经历过多年的考验且几乎没有出现过大的问题,所以它依然应该是首选

不过在改进派中,普通认为基于PoW的共鸣协议需要有大的创新才能与时俱进初期从络和分布式系统等角度对区块链进行改良的学术派多在这个方向上有所建树,代表性工作包括Bitcoin-NG、Byzcoin和Bicomp等这些方法一般对传统中本聪共鸣过程有较大的改变,包括改变PoW的作用、改变区块结构、解耦区块产生和交易打包进程等

但是,它们往往也会带来新的问题,比如,Bitcoin-NG可以在PoW共鸣下到达很高的TPS,但却会造成络中出现个别节点权力过大的问题基于此,Bicomp提出一种双层区块结构,让不同节点打包不同功能的区块,各司其职,不能越权,制约了络中霸权者的产生

除了以上代表性工作,在改良派中还有一部分工作显得更加激进,体现在对区块链的“链”式结构都进行了重构,提出诸如有向无环图(DAG)等结构,代表工作有IOTA和Conflux等,详细介绍参见本文的另一个大类“区块结构”中的内容该类型工作的TPS参差不齐、相差较大,从数百到数万都有,TPS越高者在PoW安全性和去中心化程度上牺牲越大,这就或多或少违背了选择PoW的初衷此外,该类方法整体还会受限于PoW的计算耗时、区块衔接设计与传播时间、交易传播时间等

3.完全抛弃中本聪共鸣的颠覆派:主要代表为旧派红PoS、DPoS,或新贵如zk-SNARK、Algorand等最著名、也是最饱受争议的代表性人物之一可能是EOS的提出人BMPoS等共鸣完全抛弃了传统“挖矿”的概念,在PoS的支持者看来:“矿工听起来太土了,埋头计算又辛苦又浪费资源,都商业社会了,金钱才是最大的正义”PoS的理论依据是“掌握了系统中最多钱的人不会去做伤害系统的事情”妥妥的资本主义PoS共识不必挖矿且没有沉重的哈希计算进程,可以非常快速地产生区块,因此其TPS方面的表现自然能够高出PoW一大截

然而,实践才是检验真理的唯一标准,EOS等公链上线后曾爆出使用成本过高等问题,各种非议也是接连不断PoS体系还没有经受过长时间且大范围的考验,不像PoW一样已扛过了大批黑客一轮又一轮的攻击因此,很难下断言说PoS是解决“不可能三角”的完善之道而且,PoS的理论基础必然会带来资源分配的不均,并会随着时间的推移不断放大,产生更大的不公,这恰恰是牺牲了去中心化的一个表现

一些新的工作采用随机选择出块者或验证者的方式来代替“有钱说了算”,例如Algorand,但Algorand饱受争议之处又在于它放弃了经济鼓励,这又降低了络节点参与的热情度干活了不给钱,那还继续留下来干活的很可能就会有越来越多的不良动机者但不管怎样,愈来愈多的新工作诞生在这1领域,连以太坊也在严肃思考向PoS迁移,并已基本确定了Casper协议

这一大类的方法常常计算耗时较少,且由于打包进程中没有传统中本聪共识的不确定性,区块尺寸可以更大以容纳更多交易这个类型的工作以高TPS著称,部份宣称可达百万但考虑到打包节点的处理能力、其周围络潜伏的堵塞和延迟、打包节点遴选耗时等,真实的T PS很难到达对外宣称的量级另外,该类工作所经历的现实环境下的考验仍不足以证明其安全性和可靠性,还需我们拭目以待

从区块结构出发,也是当前的研究和实践的热点

区块链,顾名思义,以链的情势串联区块,这就是区块链的基本结构然而,有些做法颠覆了这个结构,就是我们上文提到的DAGDAG不是链,更像一个最著名的DAG结构如IOTA,甚至连区块都没有,直接把海量的交易通过单向引用连结成了一张,如下图所示

DAG的出现来源于以下两点思考:

一是在有限TPS的条件下,如何记录尽可能多的数据?

2是如何解决传统链式结构下PoW共识易分叉所带来的隐患?

分叉问题是由于络规模过大时,不同节点可能同时产生不同的区块并在周围延续、形成不同的分支链当不同分支链相遇时,就必须面临仅可选择其一的窘境,而另外一条会被直接丢弃,上面所有的交易也随之消失PoW区块链的易分叉问题会带来很多不良影响,包括潜伏的自私挖矿攻击、算力浪费,和尽人皆知的51%攻击等由此可见,链式结构存在一定顽疾,这也给了DAG一派立足的基础

采用DAG的方案在近段时间里大量涌现,并常以区块链3.0自诩,俨然已稳居区块链新一代接班人地位然而,DAG也有其顽疾首先是交易确认时间:DAG的非链式结构牺牲了稳定性和交易的固定时间序,交易或区块的提交相对链式而言更为随便,因此更难被最终确认,会带来很大的不稳定性,而不能被终究确认的交易,也就谈不上有什么高的TPS

为解决这个问题,IOTA引入了协调器的角色,被协调器确认的交易即是被确认的交易但是,调和器的出现背离了IOTA最初的理论基础,这个类中心化形态的存在,也让IOTA团队在解释“是不是去中心”这个问题上动更多脑筋自圆其说了与之相比,Conflux引入了一种类似于基准链的设计来解决DAG的高动态问题,可以看成Conflux在链和DAG结构之间进行了融会,用链结构来锚定DAG的时序

但是,DAG还存在另一个大的问题:缺乏可行的激励机制虽然采取PoW,却无法激励矿工挖矿,甚至无法结算交易的手续费,这还是由于DAG结构中写入区块过于随便而致使的

需要说明的是,正如我们上文提到的,严谨地说,DAG类型的工作应当归入我们上文提到的中本聪共识改进派中进行介绍然而,对区块结构变化的探讨并不但限于DAG,一些团队也开始在这个方向上有了新的思考和尝试尤其是随着区块链在物联等场景的继续深入,在链式结构或DAG结构之外,还会有新的高效结构来满足更多的业务场景因此,我们将其作为一个独立的大类,并会在后续进行更多介绍

从系统实现的工程角度提升区块链TPS

系统实现流派奉行“少谈理论,多讲算法,务求快速且实用”的理念系统实现派可以在不改动现有共鸣机制的基础上提高TPS,其做法也可细分三个子类

1.多链并行

古语有云,“三个臭皮匠顶个诸葛亮”多链并行的做法显然遭到了这1思想的影响一条链

TPS低,同时运行多条链一起记账总能提升TPS吧?然而,多链会带来跨链的问题,随着交易量的增加,跨链数据的互通可能十分频繁,资金可能在多个链上流转,一个账户可能同时在多个链上产生交易,这些会带来管理和效力的问题多链并行的实现中,计算TPS往往是简单累加,因而,商业宣传想要多高的TPS,就并行多少条链

这样做宣传可行,实际实施和管理却不现实

2.侧链技术

侧链技术是在用户间临时搭建交易链路,解决同一对用户的多次频繁交易给系统带来的TPS压力,其代表项目是闪电络比如有两个商户一天内屡次相互交易,但是当一天结束时,却发现双方你来我往了2000多次交易,但来往金额却恰好相抵归零,正是侧链技术最合适运用的场景侧链让双方先在链下交易,一段时间后,将最终结算金额记录在链上,减少直接作用在链上的交易数量

但是,侧链的实现借助了中心化的方法,它的TPS数量不应当计入区块链的TPS因此,侧链技术也常被称为链下扩展不过,很多项目在宣扬中故意疏忽这之间的差异,混淆大众视听侧链技术除无法提升区块链本身的TPS之外,另一个大问题是,中心化的管理方式不论安全还是效力都存在瓶颈

3.分片技术

分片技术是将数据处理分散在不同的系统分片内,也是目前较为热门的技术之一分片技术源于分布式数据存储,与多链技术类似,属于并行化解决方案它与多链技术最大的区别在于,所有分片仍然基于一条链,因此,在不同的分片间高效协同以保持共识的有序性和正确性极具挑战

分片条件下的TPS计算,应以交易的终局状态达成为准将各分片瞬时TPS累加进行宣扬是常见做法,但缺乏实际意义分片是目前的热点方向,在前述工作如Bicomp中也采取了分片的架构未来我们也会对这1技术进行更加详细的介绍

可以看到,提高TPS的技术路线各有利弊与挑战希望读完本文后,当我们再听到诸如百万TPS的宣传时,能够理性判断个中虚实

我们身边常充斥着虚假的技术进步和宣扬,总以为技术已一日千里但吹嘘出来的泡沫,就像沙滩上盖不起高楼,不可能在实践中展现出真正的进步因而,每当现实不能满足期待,大众的信心就被消磨,大众也会迅速从期待转化为失望,继而转变为唾骂

但技术的发展一定需要严谨的探讨,更需要长时间、科学有序地实践、演进和完善我们往往由于缺少对技术本身的理解和对技术发展规律的必要尊重,对包括区块链在内的技术操之过急,对现状有太高期待,这样的心态无益于新兴技术的发展而从业者则更应该在这样的环境压力下苦练内功,务实创新,用实际行动为行业营造良性的环境和发展动能

区块链游戏区块链怎样赚钱区块链技术运用区块链技术原理区块链是什么通俗解释区块链的中国骗局区块链是什么意思区块链技术2000论文区块链技术区块链是什么区块链修仙区块链dapp区块链技术及其应用论文区块链技术是什么区块链技术的运用前景区块链投资骗局

小孩口臭怎么办

肾虚吃什么补得快

宝宝健脾胃的药有哪些

浙江治疗子宫内膜炎方法
泰州治疗前列腺囊肿方法
达州治疗不孕不育方法