| |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| -> 区块链 -> PBFT实用拜占庭容错算法 -> 正文阅读 |
|
|
[区块链]PBFT实用拜占庭容错算法 |
PBFT实用拜占庭容错算法原理
共识算法概览
联盟链有两个共识算法:一个是本章将去讲的PBFT,另一个就是DBFT(Delegated Byzantine fault tolerance)委托拜占庭容错共识算法。
PBFT为何而来PBFT 刚开始是在MIT的Miguel 和 Barbara Liskov在1999年的学术论文中提出的,他们的本意是为设计一个低延迟存储系统设计系统,将算法复杂度由指数级降低到多项式级,使得拜占庭容错算法在实际系统应用中变得可行,主要是为了应用于不需要大交易量但需要处理许多事件的数字资产平台,每个节点都可以发布公钥,这是被允许的。 节点将签名所有通过节点的消息,以验证其准确性。当得到一定数量的签名想用,此交易就被认定为有效。 解决了BFT(原始拜占庭容错算法)效率不高的问题,将算法复杂度由指数级降低到多项式级,使得拜占庭容错算法在实际系统应用中变得可行。 PBFT对付恶意节点几个数字
当节点数>3时,拜占庭将军问题的有解情况将会比较复杂; For example: N = 3f当恶意节点数f = 1时,总结点数N = 3f = 3时,问题将会无解,如下图所示
显而易见,在f = N/3的时候,整个节点系统都将无法做出正确的决定;因为恶意节点恶意传递结果,导致无论恶意节点时发令者还是接令者,都会坏了整个结果的输出; N > 3f当恶意节点数f = 1时,总结点数N > 3f = 4时,问题将会得到解决,如下图所示:
无论恶意节点如何恶意地传递信息,由于还存在着其他三个公平节点,因此最后总是能够少数服从多数,得到最终的结果。 为什么最大容错节点数是(N-1)/3 ?假定节点总数是N,作恶节点数为f,那么剩下的正确节点数为 意味着只要收到N - f个消息且 为了多数一致,正确消息必须占多数,也就是 总结1.优点
2.缺点
更多区块链技术干货请关注参考 |
|
|
|
|
| 上一篇文章 下一篇文章 查看所有文章 |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| 360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年11日历 | -2025/11/8 7:05:48- |
|
| 网站联系: qq:121756557 email:121756557@qq.com IT数码 |