拜占庭将军问题
含义
拜占庭将军问题(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年代由尼克·萨博提出,是一种旨在以数字化形式制定、传播、验证及执行合同的计算机协议。由于技术限制,其在诞生初期并没有被真正应用。随着区块链技术的出现,智能合约获得了可信的执行环境,两者开始结合应用。 什么是智能...
-
什么是联邦拜占庭协议?联邦拜占庭协议的主要特性是去中心化和任意行为容错,通过分布式的方法,达到法定人数或者节点足够的群体能达成共识,每一个节点不需要依赖相同的参与者就能决定信任的对象来完成共识。 拜占庭协议采用的方法是确保可以通过分布式的方法达成共...
-
什么是极值优化?EO算法源于复杂系统自组织临界的思想.算法从优化问题内部变量之间的联系出发,将问题本身作为一个演化的复杂系统,变量之间的相似性构成了变量之问比较、竞争、交流的条件.变量在局部寻优的过程中,驱动整个系统向最优解运动.EO算具有独特的...
-
什么是混币服务?混币(Coin Shuffle) 是一个去中心化的隐私功能,它可以让用户快速高效地与其他用户的资金进行混合,在现有的用户账户和混币后的新账户之间创建随机的映射关系,从而实现完全匿名。该功能是基于TimRuffing在Bitcointalk.org上的描述以及它的学术论...
-
什么是共识算法?共识算法解决的是区块链的信任问题,即通过特定的算法去证明某一节点拥有记账权,从而使得区块网络中的各个节点达成共识。共识算法规定了挖矿的规则。 区块链的去中心化意味着区块网络中每个节点拥有相同的权力,同时区块网络中的信息都是公开...
-
什么是双花攻击?双花攻击是指单个或者多个单位/组织能控制全网51%的算力,从而改变区块链中区块的交易次序的攻击问题。 双花攻击实现原理: 比特币等区块链通过分布式账本实现去中心化,具有公信力和安全性。区块链中的事物需要网络中的大部分节点都认同后,才...
-
什么是工作量证明?共识算法解决的是区块链的信任问题,即通过特定的算法去证明某一节点拥有记账权,从而使得区块网络中的各个节点达成共识。共识算法规定了挖矿的规则。 区块链的去中心化意味着区块网络中每个节点拥有相同的权力,同时区块网络中的信息都是公开...
- 热门词条
-
- 什么是孙宇晨王小川互怼? 孙宇晨单方发起赌约,说自己忘不了当初和王...
- 什么是波动? 指投资市场上加密货币的价格涨跌变化幅度情...
- 什么是护盘? 护盘是指对盘口的保护,指的是在市场情绪低迷...
- 什么是币安智能链? 币安智能链,全称 Binance Smart Chain,是由币...
- 什么是孙宇晨要帮网易离职员工出钱看病? 2019年11月23日一名自称曾在网易任游戏策...
- 什么是算法? 算法(Algorithm)是指解题方案的准确而完整的...
- 什么是合约层? 区块链层级结构之一。合约层包括各种脚本代...
- 什么是数字货币交易? 指数字货币之间的买卖交易,一般涉及交易时...
- 什么是授权拜占庭容错算法? 授权拜占庭容错算法,是基于持有权益比例来...
- 什么是环签名? 环签名(ring signature)是一种数字签名方案...
- 猜你喜欢
-
什么是FLOKI代币?揭秘FLOKI从Meme到加密市场黑马的崛起之路
川沐:币圈大神,千元赚到千万!继欧阳/半神之后,又一实盘高手!高胜率策略大公开,牛市最佳买点策略,绝对可靠的买入卖出规则!
川沐交易笔记:从500U到100万U的交易 完整版下载
PUBG G币详解:储值与免费获取攻略
XAI平台:区块链版Steam与XAI小钥匙的财富机遇
ALEO 新币挖矿详细教程:Windows 系统挖矿,快速入门!
加密货币混币器全解析:工作原理、类型及洗钱监管风险与代表专案
Vegas隧道交易法:基于黄金比例的改良趋势交易策略
手机挖矿轻松赚取比特币、以太坊:BOM项目深度解析
CXT币值得投资吗?CXT币种介绍及其投资价值分析