APP下载

以太坊区块链技术大突破,台湾团队AMIS创新区块链共识演算,每秒交易量上看1,200笔

消息来源:baojiabao.com 作者: 发布时间:2024-04-24

报价宝综合消息以太坊区块链技术大突破,台湾团队AMIS创新区块链共识演算,每秒交易量上看1,200笔

台湾新创AMIS帐联网于7月4日发表了一个台湾独创的全新区块链共识算法机制“伊斯坦布尔拜占庭容错算法(Istanbul BFT)”,能大幅提升现有以太坊架构的讯息交换效率,在理想状态下的交易速度最高可达每秒1,200笔,将专供金融高速交易之用,也提出申请要成为以太坊官方认证的第三个共识算法机制。目前,摩根大通的区块链平台Quorum也计划采用这个新算法。

以太坊创办人Vitalik Buterin也特别来台参加发表会,他表示,区块链上的节点在彼此不信任的状态下,就是利用共识算法(Consensus Algorithm)来构成一个具有信任度的网络,而“Istanbul BFT就是改良版的拜占庭容错算法(PBFT),整合了更多符合区块链实际应用的功能。”

AMIS帐联网的创办人兼首席执行官刘世伟则指出,相较于比特币等公有区块链上常用的工作量校验(Proof-of-Work,简称PoW或俗称“挖矿”算法)共识算法,PBFT已经做出不少重大改良,也比挖矿算法更适合商业应用。因此,AMIS帐联网就基于PBFT再进一步研发,找到了这个更瞄准金融业需求的私有链共识演算机制。

申请成第三个Ethereum官方支援的共识算法

目前,以太坊官方认证的共识算法有Proof-of-Work(PoW)及Proof-of-Authority(PoA),而AMIS帐联网正积极争取,将Istanbul BFT纳为以太坊第三个官方支援的共识算法。

AMIS帐联网的工程副总林祐德指出,目前官方认证的PoW跟PoA的共识算法,在私有链或联盟链的实际应用场景中仍有一些问题。以PoW为例,“PoW是一个很好的算法,在公有链(比特币、以太坊)上证明了,成千上万个节点的运作不会有问题。”但是,它不能接受可结束(Final)的区块链区块(Block),导致每一个区块都有被分支(Fork)的些微概率。此外,PoW的矿工彼此竞争之下,运算越来越复杂,计算上也越来越耗资源。使用PoW共识演算产生区块的速度大约是3~15秒,无法将区块的生产力(也就是Throughput能力)提升。更重要的是,在使用PoW的公有链上,任何节点都可以是矿工,不容易进行控管,需要额外的精力来执行治理。

林祐德表示,现有的另一种共识机制PBFT则能够改善上述PoW的缺陷,区块能够即时达到Final状态,其次,共识完成就可以将上传区块,不会衍生更多分支,也因此可以大幅提升区块生产力。第三,产生区块的过程不需要竞争,因此能源消耗很低,而且,PBFT节点的延展性可以跟PoW相同;更重要的是,PBFT可以透过验证节点(Validator)的方式来控管区块链。不过,PBFT仍有其缺陷,验证节点没有办法太多,仅能约20~30个左右,这也让扩展的程度有上限。

而AMIS发明的Istanbul BFT算法,可以继承了PBFT共识算法的优点,同时延伸go-ethereum(geth)的可插拔(Pluggable)共识界面。

伊斯坦布尔共识算法3步骤,可容错三分之一个拜占庭节点

Istanbul BFT的共识演算流程,由左上角的New Round开始由发起者发起一个区块,开启3步骤的共识决,最高可容忍链中有三分之一个拜占庭节点。

Istanbul BFT的共识演算流程,可分为三阶段:Pre-prepare 、Prepare及Commit。由发起者(Proposer)发起一个区块(Block)开始,开启3步骤的共识决,最高可容忍链中有三分之一个拜占庭节点(坏节点)。

首先,由发起者提出Block Proposal后,广播Pre-prepare message给链上的所有验证节点,开始执行共识。每一轮的共识起始,都是由发起者发出一个区块的Proposal给所有验证节点。此阶段为Pre-prepare。

验证节点收到Pre-prepare message后,就开始Prepare阶段。验证节点就会广播Prepare message给所有验证节点包含发起者,告诉每一个节点我们要处理这个区块,每一个验证节点都要等收到2F+1个Prepare message(一个私有链网络中,有N个验证节点,以及F个拜占庭节点,N=3F+1)后,才获得共识同意要大家来处理这个区块,意即,Istanbul BFT的共识算法可容忍三分之一个拜占庭节点。在这个前提之下,即可保证资料的完整性与一致性。

在验证节点收到2F+1个Prepare messages后,就进入到Commit阶段,广播Commit message,所有节点在收到2F+1个Commit messages后,就取得共识同意将这个区块放到区块链上。

一个正常的共识轮,就是执行上述的流程(即图中的外圈)。完成后就可以产生一个区块。不过在某些情况下共识无法达成,例如:共识时间太久,或是发起者本身是一个拜占庭节点,发出一个垃圾区块,抑或者是无法放入区块。此时,验证节点就会发出Round Change,同样共识出一个大家同意的Round Number,决定出新的Proposer来发起新的轮回。

只不过,许多人纷纷提出坏节点产出的垃圾区块是否会让整个区块链生成有延迟问题。对此,林祐德回应,目前Istanbul BFT的共识算法会用Round Change来解决,可能要多花几百毫秒来处理,才能进到下一个区块生产轮回,这就是它的代价,不过现在他们也正努力去研究更智慧的共识决方式来避免坏节点所产生的垃圾区块。

最高每秒可交易1,200笔资料,区块链交易速度大加倍

AMIS测试Istanbul BFT的结果,以10秒为单位,最高每秒可有1,200笔的交易,平均则是每秒800笔。

AMIS实际测试了Istanbul BFT的共识算法,设了100个账号,对4个节点发出交易,平均每个账号发出100笔交易,持续10分钟的时间。结果指出,共识的时间会根据区块的大小而有所不同,在10毫秒(millisecond)到100毫秒之间。而区块大小可以装2千笔交易,而交易池则可以储存1万笔交易。

测试结果以10秒为单位来看,最高1秒可以有1,200笔交易,平均约800笔,最少则约400笔。以1分钟为单位来看,平均则是400笔交易。林祐德指出,目前很难有平均的测试结果,受到许多Geth因素的影响,目前仍许多问题需要克服,仍在优化他们的共识算法机制。

只不过,AMIS此研究结果这已是区块链交易速度的大突破,林祐德以比特币为例,一秒可处理7笔交易,这次的Istanbul BFT共识算法能在理想状态下达成1,200笔交易,虽然还未经过长时间的实验,但仍比现有的公有链交易速度还要快上许多,是私有链交易速度的大跃进,更朝商用之路迈进。

AMIS帐联网也正与摩根大通合作,要将Istanbul BFT共识算法导入到摩根大通的Quorum平台,成为QuorumChain与Raft共识算法之外的第三种选择。

刘世伟解释,AMIS投入精力与成本研究共识算法的原因在于,AMIS受惠于以太坊(Ethereum),因此也希望对社群有所回馈,并且替更多的区块链使用者找到更好的解决方案,“AMIS很关注这些金融机构客户的需求,当世界各地的使用者看到新的共识算法可以解决他们商业上的痛点时,就会想要采用。”

2018-11-07 17:34:00

相关文章