当前位置:首页 > 物联网 > 区块链
[导读] Vitalik近期在其博客上发布了一篇名为《一个99%容错共识的指南》让许多人以为诞生了一个“黑科技”般的新共识算法。然而正如Vitalik自己所说,这一共识算法仍是经典拜占庭将军问题的算法。通

Vitalik近期在其博客上发布了一篇名为《一个99%容错共识的指南》让许多人以为诞生了一个“黑科技”般的新共识算法。然而正如Vitalik自己所说,这一共识算法仍是经典拜占庭将军问题的算法。通过解析,我们可以看到共识算法的研究与创新仍需要遵循CAP等已经被证明过的理论;在此基础上把各类经典分布式算法和加密算法改造应用于区块链领域内,将有可能获得不错的效果。

1、一个新的算法?

Vitalik在其博客上发布了一篇名为《一个99%容错共识的指南》。一时间各大媒体纷纷发布消息称“V神发布的新算法仅需1%节点不作恶”。区块链世界是否一夜之间进入了一个新的篇章?答案可能令人有些沮丧:这并不是一个新研究出来的算法。

事实上,Vitalik在博客中已明确说明“Leslie Lamport在他1982年《拜占庭将军问题》的著名论文里已包含了(增加容错率)的算法,下面我尝试来描述并用一个简化形式来实现它”。他之后也在twitter上强调说明,“我并没有发明出一个可以99%容错的共识协议,而是Leslie Lamport发明的。我只是做了一个解释并把这个算法适应在区块链领域内”。

这究竟是怎么一回事?为弄清楚来龙去脉,我们需要先来讨论共识问题与分布式系统等理论问题。

2、分布式系统理论

实际上在区块链诞生以前,计算机科学就对一致性问题已经有了较多的研究,形成了经过严格证明的分布式系统理论。其中较为经典的理论包括FLP和CAP等。

FLP不可能性原理为:“在网络可靠,存在节点失效(即便只有一个)的最小化异步模型系统中,不存在一个可以解决一致性问题的确定性算法。“即一致性问题的理论下限是无解的。异步分布式系统中不存在一个任意场景下都能实现的共识算法。

CAP原理称为CAP不可能三角,即一致性(Consistency)、可用性(Availablity)和分区容忍性(PartiTIon)三者无法同时满足,需要弱化某个特性来设计分布式系统。所以在FLP不可能性原理前提下,CAP原理为工程实践提供了理论指导。

比CAP更一般的,分布式系统理论中还有对于网络环境特性的定义:包括安全性(Safety)、活性(Liveness)、通讯不可靠性(Unreliable)。通过这些特性我们可以对CAP进行更为一般和直观的定义:

由此可见,一般来说网络分区容忍性P并不是一个可选项,而是必须要在算法中去考虑的因素。这也是为什么分布式系统一般都会在安全性(Safety)和可用性(Liveness)之间进行权衡。

其中,最后一个任意类型的错误是最为严重和棘手的。在这种任意类型错误都可能发生的场景中,服务器有可能产生原本不应该输出的内容,系统要做好最坏情况的准备。例如,当一个服务器向不同的服务器发送截然相反的消息时。这种类型错误,就是拜占庭错误,最早由Pease和Lamport等在上世纪80年代初通过拜占庭将军问题进行描述和分析。

因此相较于分布式数据库,区块链的对于一致性问题的设计和实现要更为复杂,这也是为什么区块链不只是一个简单的分布式数据库的原因之一。

3、 拜占庭将军问题的经典解法

关于BFT问题本身的描述,本文不再赘述。而Lamport等人在其经典论文中除了提出拜占庭将军问题外,也提供了两种解决办法。

第一种为“口头消息”的OM(m)协议,即除了链路上可使用加密安全保障外,不允许使用任何的加密算法。该协议需要两两之间递归的传递大量消息,因此消息复杂度很高,为指数级,不太具有可实际操作性。但这一算法仍有其很高的价值,首先是为“实用拜占庭容错”(PracTIcal ByzanTIne Fault Tolerance)这一多项式级别复杂度协议的诞生做了一个铺垫;另外,其1/3容错节点数量也被证明为是该类算法的理论上限。

而第二种为“加密消息”的SM(m)协议。该算法与第一种不同之处在于使用签名算法。每个节点都能产生一个不可伪造的签名,并可由其他节点进行验证。当收到消息后,节点会通过签名来判断及验证该消息是否已收到过。最终不再收到消息后,消息共识结束。

该论文已证明该第二种算法可对任意多个节点实现容错(当然网络中至少还应包括2个正常节点,否则无意义)。具体过程可参考论文原文。

然而这一算法也存在其局限性:与许多拜占庭算法在一个异步或者半同步网络环境的假设不同,它假设是在一个“同步”网络内进行,忽略网络节点间通讯延迟;另外,签名身份体系信息需要在网络运行前确定,较难实现扩展。因此,根据CAP理论可以说,这种方式是在不考虑对网络分区(P)等情况容忍的情况下,实现一个很高的一致性(C)与可用性(A)。

4、“99%容错共识算法”及对比分析

作为对比,我们再继续来看一下Vitalik所说的“由Lamport发明而自己进行了描述与简化实现”的共识算法(以下简称“实现版本”;Lamport论文中的版本成为“原版本”)。

该实现版本仍然保留了原有的数字签名体系,即每个节点都能产生一个不可伪造的签名,并可由其他节点进行验证。

与原版本不同的是,为了实现节点间的消息传递,实现版本的算法指定了消息的超时时间,即节点接收到一个消息后,对于消息的检查除了查看签名是否已收到过并且在集合当中以外,还要检查收到消息的时间不应晚于签名对应的时间节点。

在经过确定好的时间(根据轮次计算得出)后,节点将停止监听,并按照某种确定好的规则来从检查合法的消息中选择一个值来作为共识的结果。

我们对比即可发现,两种算法并没有太本质上的不同,其算法本质都是需要基于签名体系进行。而Vitalik实现版本的共识算法增加的延迟时间要求。这一设计实现在共识协议的具体编写实现时会经常遇到,可确定消息的传播轮次、确保消息传播可在一个指定的时间内结束。

另外,实现版本还讨论了观察者(Observer)作为一个独立角色在网络中传递消息。观察者作为网络中一个被动查看的角色,可接收、检查消息并直接转发(不签名)给其他节点。这需要对观察者引入一个不一样的延迟时间,以解决恶意节点故意给观察者晚发消息使得正常消息超时的问题。

5、应用及启发

正如上述讨论的那样,该类共识方法的主要问题在于对于网络的同步要求较高、可扩展性较差。另外一个实现版本的缺点在于消息量也较大(需要进行N-1轮的N个节点向其他N-1个节点发消息的过程,即消息复杂度为),所以在实际场景中,该类共识方法较难直接应用。

为了更能适用于区块链领域,Vitalik在其文章中也提到该方法可以与目前的其他共识算法(例如PBFT、PoS等)进行结合,例如可间隔一些特定时间运行该算法采用上述讨论的观察者模式随机选择出一些节点运行上述共识进行检查。但如果在两种共识算法相关前提假设都不能满足的情况下,那么共识算法也将失效,即这种改进优化并不能违背原有理论体系。

不过,我们仍可获得不少启发:充分挖掘分布式系统领域的经典理论,并将其改造为适用于区块链领域的共识算法可获得出人意料的效果。例如,PBFT与中本聪类共识结合、Vitalik提出的BFT论文中的SM(m)算法与现有区块链共识结合等等。

此外,尝试应用安全领域内的各种加密算法也可能会获得不错的效果。例如,ByzCoin等也在尝试使用聚合签名等加密算法来对共识机制进行优化改造,可大幅度降低通讯复杂度。

6. 总结

共识算法的研究与创新仍需要遵循CAP等已经被证明过的理论。

在这些理论基础上,可将计算机分布式理论中各类经典算法、安全领域内的各种加密算法加以适应性改造,以应用于区块链领域内,将有可能获得不错的效果。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭