图灵奖得主姚期智:如何打破“不可能三角”?
姚期智|Conflux首席科学家、图灵奖得主、清华大学交叉信息研究院教授兼院长
2018年12月5日,区块链协议项目Conflux获得了包括红杉资本在内的多家知名投资机构的3500万美元的融资。图灵奖得主、清华大学交叉信息研究院院长姚期智作为Conflux 首席科学家。
1.不可能三角
事实证明,中本聪共识对记账权和交易顺序做出了严格的规定,使得比特币在运行和发展过程中面临如下瓶颈:
(1)只有一个参与者可获得算力竞争的胜利并给主链提供有效的区块,其他同时期产生的区块会被视做分叉而遗弃,这种记账权机制导致的算力竞争,极大地浪费了网络和算力资源;
(2)最长链规则使得比特币网络工作效率低下。比特币每10分钟才出一个块,每秒仅处理7笔交易。用户需等待数小时才能来确认最长链,然后完成交易以确保自己的交易安全不被逆转。
中本聪共识导致的生产效率低下和交易时滞过长的问题,引发了糟糕的用户体验、飙涨的转账费用和拥堵的网络,不利于区块链技术长期的推广和发展。
虽然已有很多团队试图解决中本聪共识的瓶颈,但他们的方案仍存在不完美之处:
(1)通过选举代理节点,降低无效竞争产生的资源浪费,虽然可以提升区块链的效率,但会使得链变得中心化。
(2)增加区块大小或提升出块速度,只是表面上虚增了区块链的吞吐量,实际上会令同一时段产生更多的并发区块,增加区块链分叉的风险。
这种困境,被早期区块链开发人员称作为“不可能三角”,即:公链的三个属性:去中心化(Decentralization)、安全(Security)和可扩展性(Scalability),在技术实现上有二缺一,不能同时实现。
然而,Conflux团队在论文中设计了一种对比特币的扩展方案,它结合了工作量证明(PoW)与有向无环图(DAG)的优势,在去中心化的前提下,既保障了区块链的安全,又提升了区块链的可扩展性,在某些层面上,突破了“不可能三角”,极其具有变革性。
2.Conflux的实现方案
与中本聪共识在打包区块时对交易顺序进行严格规范不同,Conflux乐观地假设,在并存的区块中,交易(Tx,Transactions)是不冲突的,只要所有节点对一致的交易顺序达成共识即可。
基于这一假设,Conflux首先设立规则将区块们整合为有向无环图(DAG):每个区块都需要引用一个它的父区块的边(Parent Edges),每个区块也可以引用发生在它之前的,还没有被引用过的区块的边作为他们的引用边(Reference Edges),父边和引用边确定了各个区块之间的先后关系,实现了DAG的整体框架,增加了同一时段一起被处理的区块的数量。
相较于比特币一次只能处理一个区块的低效模式而言,DAG结构大大提升了公链的速度。
(Conflux的架构)
然而DAG不能显示同一时段产生的不同区块之间的顺序(即区块全序),为进一步完善区块排序机制,Conflux团队创造性地引入了GHOST算法、拓扑排序,并提出了Epoch概念,将细化排列区块全序的步骤拆分成了四步:
(1)确认枢轴链(Pivot Chain):
Conflux改采用GHOST算法,即选择拥有最多子区块的区块作为枢轴链(Pivot Chain)上的区块,然后再采用同样的算法将它之后的区块纳入枢轴链。
区块A和区块B都是创世区块的子区块, 虽然区块B之后的的链是最长链,但区块A拥有更多的子区块(5个),所以GHOST算法会选择区块A作为枢轴链上的区块。枢轴链即确定整个公链方向的主链,Conflux团队表示GHOST算法让枢轴链和枢轴链以外其他分叉链上的区块,都对确认枢轴链做出了贡献,这样就可以进一步保障由诚实节点确定的枢轴链的安全性,除非攻击者的算力超过了50%。
(2)排列分叉链的区块:
在确认了主链之后,为了让所有节点对区块全序产生共识,Conflux又提出了“时段”(Epoch)概念,每个枢轴链上的区块,都对应某一时段,分叉链上区块的时段,由产生在它之后的第一个引用它的枢轴链区块决定。如下图所示,区块D的时段属于Epoch E,因为区块E是最先引用D的枢轴链区块。
(3)时段(Epoch)内排序:
Epoch内的区块,都产生于同一时段,这些区块之间的顺序,由拓扑排序(Topologically Sorting)来决定,如果两个区块的排序一样,那就根据他们的哈希ID来排序。
(4)交易(Tx)排序:
此时,每个区块之间的顺序已经确定了,Conflux按照区块顺序给交易排序。区块内部的交易顺序由交易自己在区块出现的顺序来确定。
3.安全性分析和性能检验
在区块全序和交易全序确认之后,Conflux还设定了规则来应对公链容易面对的交易问题和双花问题:
(1)交易问题:
冲突交易和重复打包是最常见的交易问题。如下图所示,Tx2(X转8个币给Y)和Tx3(X转8个币给Z)属于冲突交易,因为X的账户里只有10个币,所以这两笔交易只能实现一笔;而另一种问题如Tx4(Y转8个币给Z)所示,Tx4被重复打包到了区块B和区块G当中。当出现这类交易问题时,Conflux只承认在全序中位置靠前的那一笔交易,让排序靠后的冲突交易无效化;
(2)双花问题:
Conflux防止双花的思路和比特币基本一致。由于Conflux中的交易顺序是由枢轴链决定的,攻击者要进行双花交易,就需要改变枢轴链上的区块顺序以逆转已经被确认过的交易。除非攻击者掌握50%以上的算力,分叉出有更多子节点的链来取代枢轴链,否则不可能实现双花。理论上讲,Conflux的运行时间越长,受到这类攻击的概率越小。
此外,Conflux团队还在Amazon EC2上搭建了原型系统,运行了10,000个带宽为20Mbps的Conflux节点,用控制变量法来测试在区块大小、出块率变化之下,Conflux、GHOST和比特币的吞吐率和交易确认时间。
结果显示,尽管区块大小和出块率发生了变化,Conflux(下图中以蓝色三角线表示)都能实现100%的高区块利用率,它有能力去处理所有的区块,鲜少遗漏掉分叉中的区块,减少了出块时的资源浪费,实现了更大的吞吐量。
此外,Conflux可实现分钟级别的确认时间(即用户高度相信区块全序不会改变所需要花费的时间),然而和其他共识一样,区块越大,确认时间也会变长。
团队还以带宽和用户数量作为变量,对Conflux的可扩展性做出了测试。测试结果显示:Conflux可以实现5.68GB/h的吞吐量,即如果参考比特币网络在现实中的交易量,Conflux可以提升公链的每秒处理量至6400tps。Conflux团队认为:限制区块链可扩展性的瓶颈已不再是共识机制,而是网络带宽与节点算力了。
俨然,Conflux提供了一种快速的、可扩展的、去中心化并且安全的共识方案,给予区块链技术升级和场景应用以极大的幻想空间。寻弊索瑕的一点,我们认为Conflux在证明区块链性能的过程中,过分乐观地假设了交易之间不冲突(即假设节点打包的都是独一无二的交易),忽略了被重复打包的交易对真实交易处理量的影响,如果Conflux希望在未来实现大规模应用的话,这是一个有待完善的方面。
*
更多论述,请参看姚期智院士撰写的两篇有关区块链的论文:
Scaling Nakamoto Consensus to Thousands of Transactions per Second (扩展中本聪共识至上千交易每秒)
论文链接:
https://arxiv.org/pdf/1805.03870.pdf
An Incentive Analysis of some Bitcoin Fee Designs(对几种比特币费用设计的激励分析)
论文链接:
https://arxiv.org/pdf/1811.02351.pdf
本文内容源自Jameson Lopp先生的分享,部分资料来自网络,由“未来大脑”采编,Mr.DAO主编,未经分享人最终审核。
위믹스3.0 최초의 DAO ‘원더다오’, 노드 카운슬 파트너 합류
위믹스3.0 최초의 DAO ‘원더다오’, 노드 카운슬 파트너 합류 l 탈중앙화 자율조직 형태로 결성…구성원 모두가 위믹스3.0 운영에 참여 가능l 스마트 컨트랙트 기반 모듈화 ...
[주간톡톡] 양의 탈을 쓴 늑대는 양일까? 늑대일까?
주간톡톡은 한주간의 블록체인 소식을 재구성해 독자들과 재미있게 이야기해보는 코너입니다. 이번주는 페이스북의 스테이블 코인 프로젝트 '디엠(Diem)'에 대해 알아보겠습니다. 그럼 ...
IBM, 블록체인 와인 추적 서비스 '빈어슈어(Assure)' 공개
IBM이 재배지부터 매장까지 와인 공급망을 추적할 수 있는 블록체인 기반 플랫폼을 공개했다.10일(현지시간) 발표에 따르면 IBM은 와인 모니터링 업체 e프로브넌스(eProven...