首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏帆说区块链

    共识算法】-汇总整理各类共识算法比较

    按某文分类将共识机制算法分为:证明类(适用于较大范围的区块链平台,可参考分层或者较大用户结合跨链技术一起使用),拜占庭故障类(主要包括拜占庭容错类算法,PBFT、RBFT等一些改进算法,为了解决一些拜占庭将军问题 ,防止恶意节点影响主节点决策和一些失信问题),失效停止失效(raft类为主,可考虑相关算法PAXO等分布式一致性算法,鲁棒性网络容纳故障节点),能源电力领域考虑多使用POS、POA(以太坊网络共识),PBFT raft(fabric网络使用的共识),所以若有相应的平台选定则可不用考虑共识问题,例如利用POS的原理,选择相对发电贡献大的运营商为主节点共识,又或者权威节点确定情况下采用raft手动超时选定主节点 以下相关算法均列举了国内外典型项目以及电力交易中考虑较多的hash计算量问题 可扩展性问题等。 参考:面向电力领域的区块链核心算法应用综述 A Survey on Efficient Consensus Mechanism for Electricity Information Acquisition

    65430编辑于 2022-04-26
  • 来自专栏专注于主流技术和业务

    RPCA共识算法

    RPCA概述 目前,针对决拜占庭将军问题,已经有几种可行的解决方案,比如比特币与以太坊采用的POW算法,HyperLedger采用的PBFT算法。 然而,在这种分布式支付系统中,由于节点间需要同步沟通,导致共识效率比较低。 在RPCA算法中,为了降低这种同步沟通的成本,使用了一种子网络内部互相信任,由这些内部信任的子网络构成大的网络的方案。 通过以上解决方案,RPCA实现了一种高性能,同时拥有较高拜占庭容错的算法。RPCA算法已经应用在Ripple共识协议中。 2. 另外,可用性的其它方面包括达成正确性与一致性需要的算力水平、为避免一个用户被欺诈所应用的算法复杂度等。 RPCA算法就能很好的解决以上三个问题。 3. RPCA中的基本概念 在讲算法之前,有一些基本概念需要了解: 服务节点,就是可以接收交易的区块链节点,包括验证节点与非验证节点两种,验证节点是指被其它节点加入到信任列表中的节点,可参与共识过程,非验证节点不参与共识过程

    1.8K10发布于 2018-09-10
  • 来自专栏帆说区块链

    共识算法(1)】适用于私链共识算法-“raft”

    背景:共识机制-所谓共识,就是多个节点对某个事情达成一致的看法,即使是在部分节点故障、网络延时、网络分割的情况下。 raft是工程上使用较为广泛的强一致性、去中心化、高可用的分布式协议。 在一些资料上经常将paxos算法和PBFT算法和raft做比较,paxos由于其复杂和难以理解,所以大多数人会选择直接理解raft,在电力领域的共识机制研究大多会选择在POS和POW上改进,而一些资料也将 ,但不会影响对该算法的理解。 由于作者是研究能源电力的,所以在下面结合电力领域,对raft算法的应用做一些论文梳理: 基于区块链的可信部分共识 基于区块链的网端数据监管机制 主要在监管链的部分将监管部门设为主节点进行管理。 后话:现在在对raft结合电力领域的研究还较少,作者认为主要原因还在于raft算法适用范围较小,而电力市场又属于一个比较复杂的市场,但跟一些传统的共识算法相比较还是有很大的应用空间。

    46620编辑于 2022-04-26
  • 来自专栏月梦·剑心的技术专栏

    Raft 共识算法总结

    Raft 算法是目前应用广泛的分布式共识算法,在许多知名的开源项目比如 etcd 中,都有 Raft 的身影。 同时,随着 MIT6.824 课程的普及,Raft 俨然成为了最广为人知的分布式共识算法。 上面这句话引自 Raft 论文,即 Raft 是一个用于管理复制式日志的共识算法。 这里有两个问题,什么是复制式日志?什么是共识? 这里的 共识模块 采用的就是 Raft 这样的共识算法,它来保证各个节点上 日志 的一致性。 一个共识算法应该做到可以 保证所有节点上的状态机以相同的顺序执行相同的日志,最后得到相同的状态,产生相同的结果,达成共识

    51010编辑于 2024-02-14
  • 来自专栏深入浅出区块链技术

    Conflux共识算法解读

    串行交易引发的吞吐量瓶颈 上次我们讲到GHOST算法[2],它在中本聪共识的基础上提出的确定主链的算法,在保障了在高吞吐量的同时还保障了安全性(即不容易分叉,依然保证51%攻击)。 但是GHOST算法的吞吐量是否还有进一步的提升空间呢? 答案是肯定的! Conflux团队注意到不论是中本聪共识还是GHOST共识,他们都是只维护一条主链,非主链的区块则被抛弃了,因此也就导致了这些被丢弃的块不能为整个区块链系统提供安全性,并且也降低了吞吐量(因为这些块被抛弃了 节点数目 如下图,可以看出,随着节点数据增多,确认延迟几乎只是随之线性增长(不像BFT算法那样指数增长,受节点数据拓展影响很大)。 ? 因此可见,Conflux提出的共识算法已经不在是PoW公链性能上的共识瓶颈!

    1.3K10发布于 2020-06-04
  • 来自专栏网络安全攻防

    以太坊共识算法

    文章前言 共识算法是区块链项目的核心之一,每一个运行着的区块链都需要一个共识算法来保证出块的有效性和有序性,在以太坊的官方源码中,有两个共识算法—clique和ethash,它们位于以太坊项目的consensus )共识算法,用于正式网络。 共识引擎 Engine接口定义了共识引擎需要实现的所有函数,实际上按功能可以划分为2类: 区块验证类:以Verify开头,当收到新区块时,需要先验证区块的有效性 区块盖章类:包括Prepare/Finalize 进行POW计算,填充nonce值 源码分析 ethash ethash目录结构如下所示: ├─ethash │ algorithm.go // Dagger-Hashimoto算法实现 = 0 { return errWrongDifficulty } } return nil } 前期准备 Prepare用于实现共识引擎,它提供了所有共识字段以便运行事务

    4.6K20发布于 2021-09-01
  • raft 共识算法详解

    Paxos 共识算法家族若要说到共识算法,那一定会提及 Paxos,原因是 Paxos 刚被提出时缺少工程面的实作细节,比较像个理论框架,导致后面有实作细节的算法看起来都像 Paxos,甚至有人会说「这世界只有一种共识算法 共识算法分类 — BFT vs. CFT从解决的问题类型来看,共识算法分成两种,分别是 拜占庭容错算法 (Byzantine Fault Tolerance, BFT)与 故障容错算法 (Crash Fault Tolerance, CFT ,像是 Google 通过 Paxos 达成共识的分布式锁系统 — Chubby ,而今天我们要介绍的就是常见于企业内部的共识机制 — Raft。 从论文名称就可以看出作者们有多想表达其他共识机制不好理解,一个好理解的算法最大的优点就是,在工程面上不容易出错,这也导致了 2013 年后的新系统如果需要强一致性,通常会优先考虑 Raft,像是 2013

    47410编辑于 2024-11-04
  • 来自专栏计算机工具

    区块链中的共识机制以及共识算法

    这是可能的,因为共识协议的存在,这是任何区块链网络的核心部分。 共识算法是一个程序,通过这个程序,区块链网络的所有对等人就分布式账本的当前状态达成共同协议。 区块链共识协议包括一些具体的目标,如达成协议、协作、合作、每个节点的平等权利,以及每个节点在共识过程中的强制性参与。因此,共识算法的目的是找到一个共同的协议,对整个网络来说是一个胜利。 现在,我们将讨论各种共识算法以及它们是如何工作的。 1、基于工作证明(Proof of Work PoW) 工作证明是用来选择下一个区块生成的矿工。比特币使用这种PoW共识算法。 PoW共识算法涉及通过采矿过程验证交易。 挖矿 工作证明(Proof of Work)共识算法涉及解决一个具有计算挑战性的难题,以便在比特币区块链中创建新的区块。 在PoW共识算法中存在一些缺点,这使得研究人员致力于开发一种新的共识算法,即PoB。 第一个缺点是,PoW的功耗非常高。矿工通过升级POW模式下的账本获得奖励。

    2.6K10编辑于 2024-12-13
  • 来自专栏运维开发王义杰

    共识算法探讨:拜占庭容错算法

    拜占庭容错算法的基本原理 拜占庭容错算法的核心思想是通过多次信息交换和验证,确保在大多数节点正常的情况下,系统能够达成一致性决策。 达成共识:根据收集到的有效消息,节点达成最终决策。 拜占庭容错算法的应用 区块链技术 拜占庭容错算法是区块链技术的基础,特别是在私有链和联盟链中。 例如,Hyperledger Fabric 中采用了 PBFT 作为其共识机制,确保在有限的恶意节点存在下,区块链系统能够正常运作。 UML 示例 为了更好地理解拜占庭容错算法的工作原理,下面我们使用 UML 绘制一个 PBFT 算法的流程图。

    1.9K10编辑于 2024-06-11
  • 来自专栏算法之美

    共识算法-raft论文分析

    不可能, 细节: CAP和ACID一致性区别 CAP理论的一致性是保证同样一个数据在所有不同服务器上的拷贝都是相同的,是共识,不相同的就踢掉 Consensus algorithms ,排除异己

    95320发布于 2019-05-14
  • 来自专栏岑玉海

    RChain的Casper共识算法

    RChain的Casper共识算法是基于Vlad Zamfir的correct-by-construction共识协议和CTO Greg Meredith和其他RChain成员讨论而来的。 与链结构相反,DAG结构的原因在于共识协议的某些部分需要多个父块指针。 这里我们选择的是greedy heaviest observed sub-tree (GHOST) 算法,它会选择得分最高的区块来继续这个结构。 而且,由于政治资本被纳入共识协议,花费之后赚取政治资本的唯一途径就是承认其他区块。 3、有没有可能操纵共识协议来获得免费的存储?也就是说,因为共识的历史需要作为证据永久存储,那这些信息是否可以由客户端使用,而不需要支付适当的存储费用。

    1.3K70发布于 2018-02-28
  • 来自专栏帆说区块链

    【区块链异步共识】-首个完全实用的异步共识算法“小飞象算法

    作为区块链的关键核心技术,BFT共识算法是确保区块链安全可靠运行、提升区块链扩展能力和运行性能的核心算法。 ,期待)是第一个接近实用的异步共识算法,已被应用于区块链平台。 为设计完全实用的异步共识算法,中科院软件所于 2015 年开展“小飞象算法”研究工作。 ;通过一种创新性的多值拜占庭共识应用,将对交易的共识转换为对“证明”的共识,使“小飞象算法”在容忍 1/3 的恶意节点的同时,突破异步共识算法在性能上的设计挑战。 “小飞象算法”的创造性突破,不仅解决了异步共识算法设计的理论难题,而且在性能上大幅提升,并全面超越当前工业界采用的“蜜獾算法”,从而成为国际首个完全实用的异步共识算法

    2.1K40编辑于 2022-04-27
  • 来自专栏帆说区块链

    共识算法】--“raft的实现”

    www.cnblogs.com/mindwind/p/5231986.html https://blog.csdn.net/s15738841819/article/details/84286276 【共识算法 】-“PBFT的实现” 2021-11-26 【共识算法(6)】-“DPOS与POS的区别与实现” 2021-11-24

    63820编辑于 2022-04-26
  • 来自专栏fnatic的区块链

    Tendermint共识算法技术实现

    Tendermint共识算法技术实现1. Tendermint共识算法tendermint共识算法是拜占庭容错算法,也是最多容忍不超过1/3的恶意节点。 tendermint共识主要有一下几个阶段:NewHeight、NewRound、Propose、Prevote、Precommit、Commit。作为一个BFT类的共识算法共识流程tendermint共识流程可以通过下面这张经典的图片来描述:图片下面我们根据这张图片来分析tendermint的共识流程:NewHeight阶段NewHeight阶段属于特殊阶段,是共识的开始阶段 生成proposal之后,共识进入到prevote阶段。 Tendermint共识算法和PBFT共识算法的比较:相同点:都属于BFT类型的算法,最多容忍不超过1/3的恶意节点。

    6.6K60编辑于 2022-07-14
  • 来自专栏深入浅出区块链技术

    共识算法解读-PoW算法之GHOST

    2015年,以色列的学者Yonatan Sompolinsky和Aviv Zohar就提出了一种The Greedy Heaviest-Observed Sub-Tree (GHOST)贪婪最重可观测子树算法 论文链接:共识算法相关paper:Secure High-Rate Transaction Processing in Bitcoin[1] 那么GHOST又是如何做的? 具体的算法如下,输入整个树结构的区块链,输出最终主链的最后一个区块B: ? 该算法,从创世区块(Genesis)开始,每次分叉就选取最重子树,直到确定完主链的序。 GHOST算法对吞吐量的影响又如何呢?这就涉及到GHOST的特性。 GHOST特性 1.收敛特性:任何一个区块,经过足够长的时间,最终会被主链完全丢弃或者采用。

    1K20发布于 2020-06-05
  • 来自专栏算法协议

    详细解读Raft 共识算法

    @(Raft共识算法)[CAP定理|Paxos|解读Raft] 马克飞象 [TOC] 1. raft是一个共识算法(consensus algorithm),所谓共识,就是多个节点对某个事情达成一致的看法,即使是在部分节点故障、网络延时、网络分割的情况下。 这些年最为火热的加密货币(比特币、区块链)就需要共识算法,而在分布式系统中,共识算法更多用于提高系统的容错性,比如分布式存储中的复制集(replication)。 raft协议就是一种leader-based的共识算法,与之相应的是leaderless的共识算法。 同时,leader-based 共识算法中,节点的数目都是奇数个,尽量保证majority的出现。 4.4.

    2.5K10编辑于 2022-01-13
  • 来自专栏腾讯云区块链

    活动预告:详解共识算法及长安链共识设计

    文章内容源自“长安链ChainMaker”官方微信公众号 本次长安链“核心开发者说”线上直播活动我们将为大家带来主题内容:详解共识算法及长安链共识设计。 不同的共识算法有各自的优劣势和使用场景,长安链自v1.1.0开源版本起支持Solo、Raft、TBFT、HotStuff 四种共识类型,四种共识对比如下: 近期长安链发布的1.2.0版本新增了对于DPoS 共识算法的支持。 想了解主流共识算法的基础原理和优缺点,长安链的共识设计,以及长安链1.2.0版本共识算法使用场景及特性? 7月13日晚19点-20点,我们邀请到长安链核心开发者邵珠光,为大家详细讲解常见的共识算法使用场景及长安链共识算法的设计与思考,欢迎大家扫码进群参与活动!

    60510编辑于 2022-04-26
  • 来自专栏圆方圆学院精选

    区块链主流共识算法

    最快求得解的节点,则可以视为挖矿胜出,取得其他节点的共识。 目前比特币已经吸引了全球大部分的运算能力,其他再使用PoW共识机制的区块链应用很难获得相同的计算能力来保障自身的安全,从而无法复制比特币的辉煌;同时由于挖矿造成大量的资源被浪费,共识达成的周期很长,导致了比特币的 PoW共识算法从经济角度,可以自然做到防止区块链分叉(区块链分叉的本质就是网络各节点对区块链的生成产生分歧,无法达成共识)。 四.PBFT(Practical Byzantine Fault Tolerance) Practical Byzantine Fault Tolerance,实用拜占庭容错算法。 这些算法通常以其弹性t作为特征,t表示算法可以应付的错误进程数。很多经典算法问题只有在t小于n/3时才有解,如拜占庭将军问题,其中n是系统中进程的总数。

    1.3K10发布于 2018-11-28
  • 来自专栏帆说区块链

    共识算法(4)】拜占庭容错算法-“PBFT”

    算法是继raft算法之后的再一次深入实践的共识算法,与raft、paxo一样都可以看作是分布式一致性算法。 Practical Byzantine Fault Tolerance:PBFT,是联盟币的共识算法的基础。实现了在有限个节点的情况下的拜占庭问题,有3f+1的容错性,并同时保证一定的性能。 容错率 raft算法的的容错只支持容错故障节点,不支持容错作恶节点,所以容错率高,过半节点正常即可 PBFT算法可以容忍小于1/3个无效或者恶意节点 作恶节点:除了可以故意对集群的其它节点的请求无响应之外 ,还可以故意发送错误的数据,或者给不同的其它节点发送不同的数据,使整个集群的节点最终无法达成共识,这种节点就是作恶节点。 性能尚可 PBFT 算法通信复杂度 o(n^2),因为系统在尝试达成状态共识时,涉及到N个几点都需要广播N-1个其它节点。

    2.2K10编辑于 2022-04-26
  • 来自专栏卡尼慕

    分布式共识算法

    那么这里可以把问题定性为如何设计一套算法让所有节点当遇到分歧的时候能够达成一致。也就是基于异步通信的分布式共识问题。 同样,拜占庭将军问题也是一个类似的问题。这里的图片来自ppt。 ? 共识 目标是所有成员达成一致的意见。 解决拜占庭将军问题 FLP不可能性定理 “在分布式异步通信的网络里,即便存在一个故障的节点,不存在可解决一致性的算法。” ,FLP不可能原理实际上告诉人们,不要浪费时间,去为异步分布式系统设计在任意场景下都能实现共识算法。 但是!!!不存在任意情景下都适用的算法。但我们可以进行一些假设,来进行限制来简化问题。 总结一下 去中心化交易模型容易导致类似双重支付或者拜占庭将军问题出现,这些问题的实质都是基于异步通信下的分布式共识算法,理论上这个问题是无解的,而在实际操作中可以尝试简化问题,限制条件来找到一种成功率较高的解法 那么明天再来看看,比特币是怎么实现共识算法的。

    64220发布于 2019-09-09
领券