(1)PBFT

    最常用的BFT共识机制是实用拜占庭容错算法PBFT(Practical Byzantine Fault Tolerance)。该算法是Miguel Castro和Barbara Liskov在1999年提出 来的,解决了原始拜占庭容错算法效率不高的问题,将算法复杂度由节点数的指 数级降低到节点数的平方级,使得拜占庭容错算法在实际系统应用中变得可行。
    PBFT是针对状态机副本复制为主的分布式系统执行环境开发的算法,旨在 让系统中大部分的诚实节点来覆盖恶意节点或无效节点的行为。PBFT算法的节 点数量是固定的,节点身份提前确定,无法动态添加或删除,只能适用于节点数 目固定的联盟链或私有链场景中。
    PBFT算法存在的问题:
      ◼  计算效率依赖于参与协议的节点数量,不适用于节点数量过大的区块链
  1. 系统,扩展性差。
  2. ◼  系统节点是固定的,无法应对公有链的开放环境,只适用于联盟链或私
  3. 有链环境。
  4. ◼  PBFT算法要求总节点数n>=3f+1(其中,f代表作恶节点数)。系统的失效节点数量不得超过全网节点的1/3,容错率相对较低。

(2)DBFT

    考虑到BFT算法存在的扩容性问题,NEO采用了一种代理拜占庭容错算法— —DBFT(Delegated Byzantine Fault Tolerant)。它与EOS的DPOS共识机制 一样,由权益持有者投票选举产生代理记账人,由代理人验证和生成区块,以此 大幅度降低共识过程中的节点数量,解决了BFT算法固有的扩容性问题。
    为了便于在区块链开放系统中应用,NEO的DBFT将PBFT中的将C/S(客户 机/服务器)架构的请求响应模式,改进为适合P2P网络的对等节点模式,并将静 态的共识参与节点改进为可动态进入、退出的动态共识参与节点,使其适用于区 块链的开放节点环境。
    DBFT的算法中,参与记账的是超级节点,普通节点可以看到共识过程,并 同步账本信息,但不参与记账。总共 n 个超级节点分为一个议长和 n-1 个议员, 议长会轮流当选。每次记账时,先有议长发起区块提案(拟记账的区块内容), 一旦有至少(2n+1)/3 个记账节点(议长加议员)同意了这个提案,那么这个 提案就成为最终发布的区块,并且该区块是不可逆的,所有里面的交易都是百分 之百确认的,区块不会分叉。
    NEO 的 DBFT 共识机制下只设置了 7 个超级节点,以一种弱中心化的模式 实现较高的共识效率。目前,这些代理节点是静态选出的,并完全由项目方部署, NEO 由此被外界质疑为过于中心化。
    DBFT 的优点一方面是效率高,NEO 每 15~20 秒生成一个区块,交易吞吐 量可达到约 1000TPS,通过适当优化,性能可达 10000TPS;另一方面是其良 好的最终性,区块不会分叉,以此来验证参与者的身份,保护网络安全,使区块 链能够适用于对交易确认实时性要求高的真实金融场景。
    DBFT 的缺点也不容忽视,一方面体现在较低的容错率,当有 1/3 或以上超 级节点为恶意节点或宕机后,系统将无法提供服务;另一方面体现在超级节点数 量过少,中心化程度高。
区块链、后端技术 交流!

区块链共识算法之BFT(4)相关推荐

  1. php 区块链算法_PoW/BFT等5种主流区块链共识算法的开源代码实现

    共识算法是实现自主产权区块链的必不可少的关键环节,本文列出社区中相对成熟的区块链共识算法开源实现,包括BFT共识.Raft共识.Paxos共识.PoW共识等,可供希望开发自主产权区块链的团队参考学习. ...

  2. 区块链共识算法及应用研究

    摘要 作为区块链核心技术的共识算法,为区块链的去中心化.开放自治.信息不可篡改.匿名溯源等功能的实现提供了机制支撑和保障,实现了分布式系统中强一致性和最终一致性的高效达成.以比特币出现为时间节点,将共 ...

  3. 比较流行的几种区块链共识算法

    在每一种的加密货币背后,都有一种伟大的共识算法. 但没有一种共识算法是完美的,但它们各有优缺点.他们的主要目标是防止双重支出. 重要的是要记住,它们都不是绝对完美的,在分散或部分分散化的环境中,不存在 ...

  4. CCR量化:什么是区块链共识算法?

    在我们定义区块链共识算法之前,了解"共识"的含义至关重要.简而言之,这是一种达成协议的方式.区块链是一个分散的系统,没有单一的管理元素.为了在彼此之间建立某种信任,参与者应该就一些 ...

  5. 15种区块链共识算法全面详解

    1,摘要 本文尽可能列出所有主要的共识算法,评估各自的优劣之处.共识算法是区块链的核心技术,本文会跟随作者的理解,持续更新.如果读者发现有所遗漏,或是存在错误,希望能通过评论指出. 2,区块链共识算法 ...

  6. 主流区块链共识算法大全

    1. 引言 主要参考资料见: Lear With Whiteboard 2023年4月博客 All Major Blockchain Consensus Algorithms Explained 视频 ...

  7. 区块链共识算法的发展现状与展望

    来源:平行区块链 摘 要 共识算法是区块链技术的核心要素, 也是近年来分布式系统研究的热点. 本文系统性地梳理和讨论了区块链发展过程中的 32 种重要共识算法, 介绍了传统分布式一致性算法以及分布式共 ...

  8. 深入理解区块链共识算法

    区块链的概念: 区块链是一种去中心化.不可篡改.可追溯的分布式数据库系统[3].区块链系统中底层网络采用对等式网络(P2P 网络)组织各个独立的网络节点.P2P网络是扁平式的拓扑结构, 网络中的每个节 ...

  9. 【区块链讲师会前访谈】结合应用场景 区块链共识算法如何选择?

    再过8天,2017中国云计算技术大会将在北京隆重举行. 今年,2017年中国云计算技术大会将继续在技术基石上,更着重行业实践和应用.综合来看,本次大会将围绕"四大主题峰会+八大专题论坛&qu ...

最新文章

  1. 如何批量文件格式转化
  2. 【BZOJ 3036】 3036: 绿豆蛙的归宿 (概率DP)
  3. linux dd devzero,makefile中ifeq与ifneq dev/null和dev/zero简介 dd命令
  4. 协调多个对象之间的交互——中介者模式
  5. str045漏洞提权linux,Linux运维知识之CVE-2016-5195 Dirtycow: Linux内核提权漏洞
  6. 和谐 平等_平等还是认同?
  7. 02.改善深层神经网络:超参数调试、正则化以及优化 W1.深度学习的实践层面(作业:初始化+正则化+梯度检验)
  8. 内含干货PPT下载|一站式数据管理DMS及最新解决方案发布
  9. python3cookbook_python3-cookbook读书笔记(四)
  10. oracle database link创建
  11. 倾斜摄影三维模型OSGB格式简化(压缩、优化)
  12. php-java-net-python-刺绣添加厂商信息计算机毕业设计程序
  13. 如何在android lolipop中开启google now
  14. 怎么找到电脑的打印机
  15. 黑鲨能换鸿蒙系统吗,黑鲨告诉你重装系统对电脑的好坏处
  16. 评测i9 13900hx和​​R9 7940HS选哪个 酷睿i913900hx和​​锐龙R97940HS对比
  17. 单点登录、域用户、常规登录、AD域
  18. 微服务化有3个阶段,但大部分金融企业仍处在0.5
  19. 【UE5 水体系统】
  20. python基础篇总结

热门文章

  1. slow post ddos tools torshammer (win32可执行下载)
  2. 闪灵s-cms 5.0 20220328版 去广告 破解过程 思路
  3. 基于二阶锥规划的主动配电网最优潮流求解(Matlab代码实现)
  4. C语言 输入一行字符,统计其中有多少个单词 和 有三个字符串(网上找的代码有瑕疵已解决),找出其中最大者的完整代码及分析过程
  5. EXOduino开源手外骨骼有几个自由度?
  6. 考研不歧视双非的院校计算机专业,考研23所良心大学:不歧视“双非”,且保护一志愿。赶紧看过来!...
  7. 计算机考研跨考新闻学,研友自述:跨专业考新闻传播学,只用四个月
  8. 《趣谈网络协议》(刘超老师)读后笔记记录 002
  9. [另类方式破解]支付宝的小程序sign验签参数算法
  10. 怎么制作出GIF动态图?制作方法其实非常简单