拜占庭将军问题
含义
拜占庭将军问题(Byzantine failures),又称两军问题,1982年在莱斯利·兰波特研究分布式对等网络通信容错问题的论文中提出。在分布式系统的通讯过程中,可能会出现一些局部问题导致计算机发送错误信息,破坏系统一致性。因此,拜占庭将军问题本质上是关于点对点通信中的共识问题。
起源
拜占庭将军问题起源于中世纪时期,由于拜占庭国土辽阔,军队之间通信只能依靠信差传递上层的作战信息。如果有叛徒故意错传上层领导作战信息,会导致作战方案不一致,从而出现“拜占庭将军问题”。为解决这个问题,出现了两种解决方案:一是以口头协议的方式互相派信差传递消息,采用少数服从多数的决策方式达成共识,但如果存在叛徒很难分辨;二是以书面协议的方式派信差传递带有专属签章的书面信息,每个军队都要附议,但传递速度过慢,签章可能丢失。由于两种方案都只能解决一部分问题,而且达成共识所需要花费的时间和资源过大,所以都不受用。
互联网中的拜占庭将军问题
互联网中的拜占庭将军问题是指在信道传输的过程中,部分节点可能会由于工作量过大或遭到某些恶意攻击而导致难以实现信息同步。1999年,Miguel Castro和Barbara Liskov提出了拜占庭容错算法,认为:如果系统中有 2/3 的节点是正常工作的,可以保证系统的一致性和正确性。后来中本聪提出比特币的工作量证明机制和非对称加密算法,又为拜占庭将军问题提供了一种新的解决方法。
拜占庭容错算法
假设有n个将军,t个叛徒。当 n=3,t=1,此时A、B、C三人中有一人是叛徒。若A发出【进攻】命令,但叛徒B告诉C【撤退】,这时候C就无法做出判断;若叛徒B向A发出【进攻】命令,向C发出【撤退】命令,此时A、C就无法保持一致,因此当叛徒数大于或等于1/3时,拜占庭问题无法解决。
同理,假设网络节点总数为N,恶意节点数为T,只有当 Ngt;=3T+1,即网络中的正常节点数至少有(2/3)N时,问题才能被解决,从而保证信息的一致性。在网络通信可靠的情况下,拜占庭容错算法可以在一定程度上解决节点故障问题,使系统达成共识。
工作量证明(PoW)机制
假设将军A首先发出【进攻】命令并附上自己的签章,其他将军接收后,如果也打算进攻,就会在将军A的命令后面跟上【进攻】命令以及自己的签章。如果A发出【进攻】命令后却没执行,其他将军就可判断A是叛徒,并借此来分辨信息正误。
同理,多个参与节点会通过一系列工作得出一个结果,第一个得出结果的节点会进行全网广播。如果该结果正确,则其他节点会把结果添加到自己的账本中,为争取到下一笔交易的记账权做好计算准备。
黑客必须拥有超过51%的算力才能够破坏网络安全或发布虚假区块,这种做法的花费远大于收益。因此,使用该机制能够降低虚假信息出现的可能性,使系统能够更快达成共识。
非对称加密算法
非对称加密算法的加密和解密需要两个不同的秘钥——公钥和私钥,两者一般成对出现。如果A想给B发消息,那么A需用B公开的公钥对信息加密,B则需用自己的私钥对信息解密。如果B想表明自己的身份,可以私钥签名写一段“签名文本”并进行广播,其他人可以根据B的公钥来验证他的身份。
由于身份和签名是不可伪造的,非对称加密算法保证了传输过程的私密性和签名不完全可信问题。
-
什么是区块链?区块链技术是指通过去中心化和去信任的方式集体维护一个可靠数据库的技术方案。 区块链,就是一个又一个区块组成的链条。每一个区块中保存了一定的信息,它们按照各自产生的时间顺序连接成链条。这个链条被保存在所有的服务器中,只要整个系统...
-
什么是日食攻击?日食攻击是一种攻击去中心化网络的方法,攻击者通过这种方法试图隔离和攻击一个或多个特定用户,而不是攻击整个网络。 在这篇文章中将解释以太坊的一些特性,包括它的叔块机制,如何使它更容易受到这种攻击。 区块链中的数据结构 区块链是一个去...
-
什么是侧链?比特币区块是一直在运行且不可篡改的,一旦出错就会涉及到大量资金,另外比特币区块自身机制存在问题需要不断改进,侧链是目前诸多问题的解决方案中的一种。 2013 年 12 月,侧链这个概念在比特币社区被提出,侧链协议则是一种可以让比特币安全地从...
-
什么是联邦拜占庭协议?联邦拜占庭协议的主要特性是去中心化和任意行为容错,通过分布式的方法,达到法定人数或者节点足够的群体能达成共识,每一个节点不需要依赖相同的参与者就能决定信任的对象来完成共识。 拜占庭协议采用的方法是确保可以通过分布式的方法达成共...
-
什么是智能合约?智能合约最早在1990年代由尼克·萨博提出,是一种旨在以数字化形式制定、传播、验证及执行合同的计算机协议。由于技术限制,其在诞生初期并没有被真正应用。随着区块链技术的出现,智能合约获得了可信的执行环境,两者开始结合应用。 什么是智能...
-
什么是工作量证明?共识算法解决的是区块链的信任问题,即通过特定的算法去证明某一节点拥有记账权,从而使得区块网络中的各个节点达成共识。共识算法规定了挖矿的规则。 区块链的去中心化意味着区块网络中每个节点拥有相同的权力,同时区块网络中的信息都是公开...
-
什么是共识算法?共识算法解决的是区块链的信任问题,即通过特定的算法去证明某一节点拥有记账权,从而使得区块网络中的各个节点达成共识。共识算法规定了挖矿的规则。 区块链的去中心化意味着区块网络中每个节点拥有相同的权力,同时区块网络中的信息都是公开...
-
什么是混币服务?混币(Coin Shuffle) 是一个去中心化的隐私功能,它可以让用户快速高效地与其他用户的资金进行混合,在现有的用户账户和混币后的新账户之间创建随机的映射关系,从而实现完全匿名。该功能是基于TimRuffing在Bitcointalk.org上的描述以及它的学术论...
-
什么是极值优化?EO算法源于复杂系统自组织临界的思想.算法从优化问题内部变量之间的联系出发,将问题本身作为一个演化的复杂系统,变量之间的相似性构成了变量之问比较、竞争、交流的条件.变量在局部寻优的过程中,驱动整个系统向最优解运动.EO算具有独特的...
-
什么是双花攻击?双花攻击是指单个或者多个单位/组织能控制全网51%的算力,从而改变区块链中区块的交易次序的攻击问题。 双花攻击实现原理: 比特币等区块链通过分布式账本实现去中心化,具有公信力和安全性。区块链中的事物需要网络中的大部分节点都认同后,才...
- 热门词条
-
- 什么是永续合约结算货币? 指在永续合约中的用来结算盈亏的币种,如Gat...
- 什么是经典力学? 经典力学的基本定律是牛顿运动定律或与牛顿...
- 什么是成交量? 成交量是指在某一时段内具体的交易数。它可...
- 什么是多链钱包? 指的是支持多条公链(主链)上的数字货币及其代...
- 什么是有向无环图? 指没有回路的有向图。若一个有向图没有办...
- 什么是远期合约? 远期合约是交易双方约定在未来的某一确定...
- 什么是白皮书? 是让投资人了解一个币种项目的重要渠道,类似...
- 什么是楔入式侧链技术? 楔入式侧链,是一条资产可以从其他链导入并...
- 什么是虚拟地址? 虚拟地址是Windows程序时运行在386保护模...
- 什么是撤单? 就是撤回未成交的委托单、订单等合同性约定...
- 猜你喜欢
-

比特币闪崩跌破6万!加密市场单日蒸发2万亿美元,58万人爆仓血洗

2026年加密货币开年巨震:4.7亿美元爆仓血洗多军,监管风暴下合规赛道成唯一出路

2026年比特币牛市终极指南:3个月精准抄底策略与10万美元突破路线图

【突发】马杜罗600亿比特币秘密金库曝光:60万枚BTC下落成2026年最大加密悬案

【2026终极预测】比特币20万美元倒计时:机构集体押注的三大暴涨信号

币圈高手都在用的聚合社群曝光!10+顶级博主实时策略

【重磅预测】VanEck最新报告:比特币2050年或突破290万美元,机构投资者已开始疯狂布局

以太坊质押狂潮:166万枚ETH抢筹入场,退出通道清零预示暴涨行情?

2026年DeFi暴富指南:6大黄金指标秒杀90%空气币

2025币圈大戏:这20条神预言推文竟成年度最准风向标

