近日,中科院软件所张振丰团队联合新泽西理工学院唐强团队,在区块链核心技术拜占庭容错(BFT)共识研究上取得重要突破,在国际上提出首个完全实用的异步共识算法“DumboBFT”(简称小飞象BFT算法)。
为什么共识算法在以“去中心化”为特征的区块链技术中很重要?什么是「拜占庭容错共识算法」?小飞象算法有什么优势?
共识算法为什么重要?
“权力下放”是区块链的特点之一。在一个分散的系统中,没有决策的角色。就像一个临时旅行团。有些人想去东方,有些人想去西方。
“集权”与“分权”
再举一个更贴近生活的例子。在传统的金融体系中,甲转账一笔钱给乙,这个行为会被保存在银行数据库中。交易数据的真实性由银行等传统机构保证,以其记录为准。
然而,在比特币的“去中心化”区块链系统中,一些节点可能会记录从A到B的转账,而其他节点则不会。那么有没有转学这种事呢?谁的记录为准?
显然,在上述两种情况下,整个系统通过适当的共识机制做出统一的决定是非常重要的。
所以在区块链的世界里,不同的节点最终通过预设的共识算法达到数据的一致性,这其实是一个普适的规则。只要大家都按照这个规则参与操作,结果就能得到别人的认可。
拜占庭容错共识算法和拜占庭有什么关系?
然而,在实践中,共识算法并不是无懈可击的。来自各方面的挑战往往影响共识的达成,其中最大的挑战来自于“信任问题”。
1982年,图灵奖获得者莱斯利兰波特(Leslie Lamport)等人提出了这样一个可能使共识算法失效的情境假设,即“拜占庭一般问题”。
视频加载.
因此,拜占庭容错(Byzantine Fault Tolerance,BFT)共识算法是从拜占庭一般问题中衍生出来的一种共识算法,其目的是解决在不可信环境下如何达成共识。
类似的故事在中国历史上更是屡见不鲜,比如战国时期的“联合连横”:秦国的力量越来越强大,成为其他六国的共同威胁,于是六国“联合”,联手抵抗强秦。与此同时,秦国还通过“连横”与六国结盟,目的是破坏六国之间的“联盟”,从而孤立各个国家,一个个瓜分。
在上述背景下,无论秦国还是其他六国,都面临着所谓的“拜占庭将军问题”3354。他们不得不并肩作战,防范自己的毁灭。当时古人往往通过人质或婚姻来建立信任,而在区块链的背景下,类似的问题可以通过“拜占庭容错共识算法”来解决。
因此,“拜占庭容错一致性算法”作为区块链的关键核心技术,是保证区块链安全可靠运行,提高其可扩展性和性能的核心算法。具有高性能、低资源消耗、易部署等特点,受到业界青睐,广泛应用于中外区块链系统。
小飞象算法有什么优势?
这项研究成果的主要作者张振丰研究员在接受采访时表示,如何设计一个高效的异步“拜占庭容错一致性算法”是密码学和分布式计算领域的一个众所周知的问题。自20世纪80年代以来,包括多位图灵奖获得者在内的众多国际知名学者相继对这一难题进行了探索。HoneyBadgerBFT于2016年提出,是第一个实用的异步一致性算法,已应用于区块链平台。
张振丰指出,为了设计出完全实用的异步一致性算法,中科院软件所于2015年启动了“小飞象算法”的研究工作。该算法从独特的角度分析了“蜜獾算法”,揭示了其性能受限的根本原因是大量随机化子模块调用导致的运行时间增加。提出了一种新的可证明的可靠的广播原语,并通过密码“证明”来保证事务广播的正确完成。给出了一种基于门限数字签名技术的高效构造方法。通过多值拜占庭一致性的创新应用,将事务的一致性转化为“证明”的一致性,使Dumbo算法可以容忍1/3的恶意节点,突破异步一致性算法的性能设计挑战。
目前,在遍布四大洲的100个共识节点的测试网络中,Dumbo算法的确认延迟为24秒,不到蜜獾算法的1/20,事务吞吐量接近每秒18000个事务,是蜜獾算法的9倍以上。
张振丰还表示,联合团队实现的Dumbo算法的创造性突破,不仅解决了异步一致性算法设计的理论难题,而且性能大幅提升,完全超越了当前业界采用的蜜獾算法,成为全球首个完全实用的异步一致性算法。该研究成果可为中国区块链基础设施建设提供安全性强、性能高、可扩展性强的新一代核心技术。
规划:刘娟
制片人:唐心怡
编辑:周
校对:王欣荣