BFT(Byzantine Fault Tolerance),即拜占庭容错,是一种共识机制,源于拜占庭将军问题,其目的是要解决在非信任环境下,节点如何达成共识的问题。
在现实世界,计算机和网络可能会因为硬件错误、网络拥塞或中断、以及遭到恶意攻击等原因出现不可预料的问题。而拜占庭容错技术就是用来处理现实中存在的上述异常问题,并满足所要解决的问题的规范要求。
区块链网络环境中,存在着运行正常的服务器,也存在有故障的服务器,还有破坏者的服务器。共识算法的核心是在正常节点间形成对网络状态的共识。通常发生故障的节点被称为为拜占庭节点,而正常的节点为非拜占庭节点。
一、BFT的必要条件
拜占庭容错系统是一个拥有n台节点的系统,整个系统对于每一个请求,需满足以下条件:
1、所有非拜占庭节点(正常的节点)使用相同的输入信息,产生同样的结果;
2、如果输入的信息正确,那么所有非拜占庭节点必须接收这个信息,并计算相应的结果。
另外,拜占庭容错系统还需要达成如下两个指标:
- 安全性:任何已经完成的请求都不可再更改,但节点可以在请求完成后查看。就好比区块链中,账本一旦生成便不可篡改,但节点可以随时查看账本。
- 灵活性:可以接受并且执行非拜占庭客户端的请求,且不受任何因素影响。
二、BFT的假设条件
拜占庭系统常用的假设条件有以下四种。
1、拜占庭节点(发生故障的节点)的行为可以是任意的,拜占庭节点之间可以共谋;
2、节点之间的错误是不相关的;
3、节点之间通过异步网络连接,网络中的消息可能出现丢失、乱序并延时到达的问题,但大部分协议是假设消息在有限的时间里能传达到目的地;
4、服务器之间传递的信息,第三方可以嗅探到,但不能篡改或伪造信息的内容和验证信息的完整性。
注:嗅探是一种网络流量数据分析的手段,常见于网络安全领域使用,也有用于业务分析领域,一般是指使用嗅探器对数据流的数据截获与分组分析。
【仅供参考,若信息有误,请联系更改】
免责声明:本文章仅代表作者个人观点,不代表本平台的立场和观点。本文章仅供信息分享,不构成对任何人的任何投资建议。用户与作者之间的任何争议,与本平台无关。如网页中刊载的文章或图片涉及侵权,请提供相关的权利证明和身份证明发送邮件到support@aicoin.com,本平台相关工作人员将会进行核查。
暂时没有评论,赶紧抢沙发吧!