jk260.com

如何读懂区块链技术?“小飞象算法”有何过人之处?

近日,中国科学院软件研究所张振峰团队联合美国新泽西理工学院唐强团队,在区块链核心技术的拜占庭容错(BFT)共识研究中取得重要突破,在国际上提出首个完全实用的异步共识算法“小飞象拜占庭容错(DumboBFT)算法”(简称“小飞象算法”)。

在以“去中心化”为主要特征的区块链技术中,共识算法为什么重要?什么是“拜占庭容错共识算法”?“小飞象算法”又有哪些过人之处?

共识算法为什么重要?

“去中心化”是区块链的特征之一。在一个去中心化的系统里,没有负责“拍板”的角色,这就好比一个临时组成的旅游团,有人想往东,有人想往西。

再举一个更加贴近生活的例子,在传统的金融系统里,A向B转账了一笔钱,这个行为会被保存在银行数据库里,交易数据的真实性由银行这样的传统机构保证,以他们的记录为准。

但是在比特币这种“去中心化”的区块链系统中,可能有的节点记录了A向B转账的事情,有的节点没有记录,那到底有没有转账这回事?以谁的记录为准?

很明显,在上述两种情况下,通过一个合适的共识机制,让整个系统能做出统一的决定非常重要。

因此,在区块链的世界里,不同的节点通过预设共识算法最终达到数据的一致性,这其实就是一种通用性规则,每个人只要按照这个规则参与运行,结果即可得到其他人的认可。

“拜占庭容错共识算法”与拜占庭有何关系?

在实际运行中,共识算法并非无懈可击。来自各方的挑战经常会影响共识的达成,其中最大的挑战还是源自“信任问题”。

1982年,图灵奖获得者莱斯利·兰伯特(LeslieLamport)等在论文中提出了这样一个可能令共识算法失灵的情况假设,即“拜占庭将军问题”。

什么是“拜占庭将军问题”?

由此可见,拜占庭容错(ByzantineFaultTolerance,BFT)共识算法是由拜占庭将军问题衍生出来的共识算法,其目的是要解决在非信任环境下,如何达成共识。

类似的故事在中国的历史上更为普遍,例如战国时期的“合纵连横”:秦国的势力不断强大,成为其他六国的共同威胁,于是六国“合纵”,合力抵抗强秦。与此同时,秦国也通过“连横”分别与六国联盟,目的是破坏六国间的“合纵”,以便孤立各国,各个击破。

在上述背景下,无论秦国还是其他六国,均面临所谓的“拜占庭将军问题”——既要联合作战,又要防范自己被灭。那时候的古人往往通过人质或联姻等手段建立信任,而在区块链的语境中,类似的问题可以由“拜占庭容错共识算法”来解决。

因此,作为区块链的关键核心技术,“拜占庭容错共识算法”是确保区块链安全可靠运行、提升区块链扩展能力和运行性能的核心算法,具有运行性能高、资源消耗低、易于部署等特点,得到工业界的青睐,广泛应用于中外区块链系统中。

郑重声明:本文版权归天网查所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。