区块链开发中的9类共识机制,你知道多少

区块链共识机制浅谈 前言 本文对区块链中常见的共识机制做了一些介绍和自己的看法,欢迎指教。 区块链解决了在不可信信道上传输可信信息、价值转移的问题,而共识机制解决了区块链如何在分布式场景下达成一致性的问题。所以我认为区块链的伟大之处就是它的共识机制在去中心化的思想上解决了节点间互相信任的问题。区块链能在众多节点达到一种较为平衡的状态也是因为共识机制。尽管密码学占据了区块链的半壁江山,但是共识机制是保障区块链系统不 阅读详情

简介

目前大多数国家的现有银行系统中,所有银行都是通过中央的电子账本进行账目核对的。这是一个中心化的结构,越靠近中心的机构,权限越多,存储的数据量越多。而为了维护这个中心化系统中所有数据的准确性,银行需要付出巨大的运营成本。
而凭借去中心化的特点,区块链技术可以为银行创建一个分布式的公开可查的网络,其中的所有交易数据是透明和共享的。利用区块链技术进行分布式记账可以削减无效的银行中介,节省很多运营成本。

今天,我们主要来介绍一下区块链的共识机制。

区块链9类共识机制

工作量证明(PoW)

比特币在区块的生成过程中使用了PoW机制,一个符合要求的区块哈希值由N个前导零构成,零的个数取决于网络的难度值。要得到合理的区块哈希值,要经过大量的尝试计算,计算时间取决于机器的哈希运算速度。
当某个节点提供出一个合理的区块哈希值,说明该节点确实经过了大量的尝试计算,当然,这并不能得出计算次数的绝对值,因为寻找合理的哈希值是一个概率事件。当节点拥有占全网n%的算力时,该节点即有n%的概率找到区块哈希值。
Pow依赖机器进行数学运算来获取记账权,资源消耗大、共识机制高、可监管性弱,同时每次达成共识需要全网共同参与运算,性能效率比较低,容错性方面允许全网50%节点出错。

  • 优点:完全去中心化,节点自由进出
  • 缺点:比特币已经吸引全球大部分的算力,再使用PoW共识机制的区块链应用很难获取相同的算力来保障自身安全。同时,挖矿造成大量的资源浪费;共识达成的周期较长。

权益证明(PoS)

主要理念:相比PoW,节点记账权的获得难度与节点持有的权益成反比,其在一定程度上减少了数学运算带来的资源消耗,性能也得到相应提升。PoS也是基于哈希运算,通过竞争的方式获得记账权。可以说,PoS是PoW的一种升级,其根据每个节点所占代币的比利和时间,等比例地降低挖矿难度,从而加快找到随机数的速度。
在这个系统中,存在一个持币人集合,他们把手中的代币放入POS机制中,这样他们就变成验证者。比如对区块链最前面的一个区块,PoS算法在验证者中随机选取一个,给其权利产生下一个区块。通常,选择验证者的权重依据他们投入的代币量,投入的越多,权重越大。
如果在一定时间内,这个验证者没有产生一个区块,则选出第二个验证者代替产生,以此类推。

  • 优点:在一定程度上缩短了共识达成的时间;不再需要大量消耗能源去挖矿。
  • 缺点:仍然需要通过挖矿来实现;所有的确认只是一个概率上的表达,而非一个确定性的事情,理论上仍有可能存在其他攻击影响。

股权授权证明(DPoS)

其与PoS主要区别在于节点选举若干代理人,然后由这些代理人验证和记账,但其合规监管、性能、资源消耗和容错性与PoS相似。
你可以想象成董事会投票,持币者投出一定数量的节点,进行代理验证和记账。
工作原理:每个股东按其持股比例拥有相应的影响力,51%股东投票的结果将是不可逆且有约束力的,其目标是通过及时而高效的方法达到让“51%通过”。
为了达到这个目标,每个股东可以将其投票权授予一名代表。获得票数最多的前100位代表按既定时间表轮流产生区块。每位代表分配到一个时间段来产生区块。
所有的代表将收到等同于一个平均水平的区块所含交易费的10%作为报酬。如果一个平均水平的区块用100股作为交易费,一位代表将获得一股作为报酬。
DPoS的投票可以每30秒产生一个新区块,并且在正常的网络条件下,区块链分叉的可能性极其小,即便发生也可以在几分钟内得到解决。执行该模式的基本步骤:
1、成为代表。先在网络上注册你的公钥,该公钥是一个32位的标识符。该标识符会被每笔交易数据的“头部”引用。
2、授权投票。每个钱包有一个参数设置窗口,在该窗口里用户可以选择一位或更多的代表,并将其分级。一经设定,用户所做的每笔交易将把选票从“输入代表”转移到“输出代表”。
3、保持代表诚实。每个钱包都会配有一个状态指示器,让用户知道他们的代表表现如何。
4、抵抗攻击。每位代表都有一项平等的投票权,因此,无法通过获得超过1%的选票而将权利集中到单一代表上。由于每位代表的标识是公钥,因而攻击者很难对每位代表进行攻击。

  • 优点:大幅缩小参与验证和记账节点的数量,可以达到秒级的共识验证。
  • 缺点:整个共识机制还是依赖于代币,而很多商业应用是不需要代币的。

投注共识(Casper)——以太坊下一代共识机制

为了防止验证人在不同的世界中提供不同的投注,还需要一个条款:如果你两次的投注序号一样,或者说你提交了一个无法让Casper依照合约处理的投注,你将失去所有保证金。从这一点我们可以看出,Casper与传统的PoS不同的是,Casper有惩罚机制,这样非法节点通过恶意攻击网络不仅得不到交易费,而且还面临保证金被没收的风险。
Casper协议下的验证人需要完成出块和投注两个活动。
出块:独立于其他所有事件而发生的过程,验证人收集交易,当轮到他们的出块时间时,他们就制造一个区块,并签名,然后发生到网络上。
投注:目前Casper默认的验证人策略被设计为模仿传统的拜占庭容错共识:观察其他的验证人如何投注,取33%处的值,向0或者1进一步移动。

客户端确认过程:
1、下载所有的区块和投注,然后用上面的算法来形成自己的意见,但是不公布意见;
2、简单地按顺序在每个高度进行观察,如果一个区块的概率高于0.5就处理它,否则就跳过它。在处理所有的区块之后所得到的状态就可以显示为区块链的“当前状态”。
同时,客户端还可以给出对于“最终确定”的主观看法:如果高度k之前的每个区块形成的意见高于99.9999%或者低于0.001%,那么客户端就可以认为前k个区块已经最终确定。

瑞波共识机制

该算法使一组节点能够基于特殊节点列表形成共识。
初始的特殊节点列表可以看成一个俱乐部,要接纳一个新成员,必须由该俱乐部51%的会员投票通过。即,该共识遵循该俱乐部核心成员的“51%全力”,外部人员则没有影响力。
但是,由于该俱乐部是由中心化构成的,所以一旦它腐败,就会失去意义。

Pool(联营)验证池

Pool验证池基于传统的分布式一致性技术和数据验证机制。目前是行业内大范围使用的机制。
优点:不需要代币也能工作;在成熟的分布式一致性算法(Pasox、Raft)的基础上,实现秒级共识验证。
缺点:去中心化程度不高,不如比特币,其更适合多方参与的多中心商业模式。

帕克索斯算法

传统分布式一致性算法,基于选举领导者的共识机制。
领导者拥有绝对权限,并允许强监管节点参与。
优点:性能高,资源消耗低。
缺点:所有节点一般都有线下准入机制,但选举过程中不允许有作恶节点,不具备容错性。

实用拜占庭容错(PBFT)

有一问题:在分布式计算上,不同的计算机通过信息交换尝试达成共识,但有时候,系统中的协调计算机或成员计算机可能因系统错误交换错的信息,以至于影响最终的系统一致性。
通常我们上述这样的问题,称为“拜占庭将军”问题。

那么有什么解决方法呢?
早在1999年,卡斯特罗和利斯夫提出的实用拜占庭算法,该算法认为只要系统中有2/3的节点是正常工作的,就可以保证一致性。
总体过程如下:
客户端向主节点发送请求调用服务操作,如"<REQUEST,o,t,c>"——客户端c请求执行操作o,时间戳t用来保证客户端请求只会执行一次。每个由副本节点发给客户端的消息都包含了当前的视图编号,使得客户端能够追踪视图编号,使得客户端能够追踪视图编号,从而进一步推算出当前主节点的编号。客户端通过点对点消息向它认为的主节点发送请求,然后主节点自动将该请求向所有备份节点进行广播。

注:
视图编号是连续编号的整数。主节点由公式p = v mod |R|(v:视图编号,p:副本编号,|R|副本集合的个数)
副本发给客户端的响应为"<REPLY,v,t,c,i,r>",v是视图编号,t是时间戳,i是副本编号,r是请求执行的结果。

接着,主节点广播请求给其他副本,然后就开始执行三个阶段的任务:
1、预准备阶段。主节点分配一个序列号n 给收到的请求,然后向所有备份节点群发预备消息,预备消息的格式:"<PRE-PREPARE,v,n,d>,m>"。(v:视图编号,m:客户端发送的请求消息,d:请求消息m的摘要)

2、准备阶段。如果备份节点 i 接受了预备消息,则进入准备阶段。在准备的同时,该节点向所有副本节点发送准备消息"<PREPARE,v,n,d,i>",并且将预准备消息和准备消息写入自己的消息日志。
3、确认阶段。当"(m,v,n,i)"条件为真的时候,副本 i 将 "<COMIT,v,n,D(m), i>"向其他副本节点广播,然后进入确认阶段。所哟副本都执行请求并将结果发回客户端。客户端需要等待不同副本节点发回相同的结果,作为整个操作的最终结果。

注意:
如果客户端没有在有限时间内收到回复,请求将向所有副本节点进行广播;
但是会出现几种情况:
1、如果该请求已经在副本节点处理过,副本就向客户端重发一遍执行结果;
2、如果该请求没有在副本节点处理过,该副本节点将把请求转发给主节点;
3、如果主节点没有将该请求进行广播,那么认为主节点失效;
4、如果有足够多的副本节点认为主节点失效,则会触发一次视图变更。

实用拜占庭容错机制,是一种采用”许可投票、少数服从多数“来选举领导者并进行记账的共识机制,该机制允许拜占庭容错,允许强监管节点参与,具备权限分级能力,性能更高,耗能更低,而且每轮记账都会由全网节点共同选举领导者,允许33%的节点作恶,容错性为33%。

应用场景:联盟链

授权拜占庭容错

该机制由国内的小蚁公司提出,是一种改进的拜占庭容错算法。
改进如下:
1、将C/S架构的请求响应模式改进为适合P2P网络的对等节点模式
2、将静态的共识参与节点改进为可动态进入、退出的共识参与节点;
3、为共识参与节点的产生设计一套基于持有权益比例的投票机制,通过投票决定共识参与节点(记账节点)
4、在区块链中引入数字证书,解决投票中对记账节点真实身份的认证问题

  • 优点:专业化的记账人;可容忍任何类型的错误;记账由多人协同完成;每一个区块都有最终性,不会分叉;算法的可靠性有严格的数学证明。
  • 缺点:当1/3及以上的记账人停止工作后,系统将无法提供服务;当1/3及以上的记账人联合作恶,且其他所有的记账人被恰好分割为两个网络孤岛时,恶意记账人可以使系统出现分叉,但会留下密码学证据。

应用场景:金融

区块链的共识机制是什么? 当我们讨论区块链的时候,经常会谈到共识机制。那么什么是共识机制?区块链为什么需要共识机制?区块链的共识机制有哪些?了解到这些不同共识机制的原理,才能进一步理解区块链的安全特性和不可篡改特性。 共识机制/Consensus 由于点对点网络下存在较高的网络延迟,各个节点所观察到的事务先后顺序不可能完全一致。因此区块链系统需要设计-种机制对在差不多时间内发生的事务的先后顺序进行共识,这种对一个时间窗口内的事务的先后顺序达成共识的算法被称为”共识机制”。 工作量证明/Proof of Work/PoW 阅读详情

相关推荐

区块链中的几种共识机制

工作量证明,权益证明,委托权益证明,瑞波共识协议 提要: 1. 工作量证明就是全网解决同一个难度问题,谁先证明出来谁赢 2. 权益证明则是每个节点都有自己的难度问题,谁先证明出来谁赢。 P.S. 简单来说就是对于工作量证明,所有节点的难度系数是一样的,但是对于权益证明来说,每个节点的难度系数是不一样的。 工作量证明 说到区块链的证明机制,首先不得不提的是比特币使用的工作量证明机制(Po...

卖鱼的小白菜的专栏 3610

区块链共识机制

如果节点被选中成为出块者,它需要验证交易记录的合法性,然后将这些交易记录打包成一个新的区块,其他节点会对这个区块进行验证,如果验证通过,这个区块将会被添加到区块链上并且出块者可以获得一定数量的加密货币作为奖励,如果节点发布了不合法的交易记录或区块或者没有及时参与网络的验证和管理,它的权益将会被扣除一定数量的加密货币,最后系统会选择一个新的权益地址,继续下一个区块的出块和验证过程。验证人可以获得一定数量的加密货币作为奖励,同时也需要承担一定的责任和风险。

Fly_鹏程万里 6439

区块链共识机制实现:从PoW到BFT算法

本文探讨了区块链网络中的共识机制,从最初的PoW(工作量证明)到PoS(权益证明)、DPoS(委托权益证明)和BFT(拜占庭容错)等不同算法。文章分析了每种共识机制的原理、优缺点及适用场景,并提供了PoW和PoS的简化实现代码示例。共识机制作为区块链的核心技术,决定了网络的安全性、去中心化程度和性能表现。随着区块链应用场景的扩展,不同共识机制各有侧重,开发者需要根据实际需求选择合适的算法。未来可能出现更多创新共识算法,推动区块链技术在商业和金融等领域的应用发展。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1670

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

共识,从字面上来看,是在某方面达成一致。打个比方,一个部门最近来了几位新同事,部门主管为了欢迎新同事的加入,以能让新同事融入到新环境,提议下班后聚个餐,对于聚餐了,大伙对此举双手赞成,毕竟能蹭个免费餐的事并不是每月都有的,这时便可以说,大家对下班后聚餐迎新达成了一致认同。共识机制是一整套由协议、激励和想法构成的体系,使得整个网络的节点能够就区块链状态达成一致。我们知道,区块链是一个分布式的去中心化网络,它提供了不可更改性、隐私性、安全性和透明度。没有中央机构存在来验证和核实交易,但区块链中的每一笔交易都被认

仗剑行于江湖,执笔记江湖事。 9174

区块链开发共识:区块链技术共识机制新玩法

共识算法是什么? 共识机制就是用来解决分布式系统的一致性问题,其核心为在某个协议(共识算法)保障下,在有限的时间内,使得指定操作在分布式网络中是一致的、被承认的、不可篡改的。在区块链系统中,特定的共识算法用于解决去中心化多方互信的问题。 其实简单理解就是达成一致。现实生活中很多场景是需要达成一致的。区块链系统中,每个节点必须让自己的账本和其他节点的账本保持一致。而中心化世界里,这几乎不可能,因为有...

SunmoonYDM的博客 2037

区块链基础知识3:共识机制

随着区块链技术的不断发展和完善,相信未来会有更多创新的共识机制出现,为区块链的应用提供更广阔的空间。这个过程通常被称为“挖矿”。在PoS机制中,参与区块链共识的节点的权益(即持有的加密资产数量)决定了他们被选为验证和生成新区块的机会。首先,工作量证明(PoW)作为最早的共识机制之一,它通过解决复杂的数学问题来竞争记账权,确保了网络的安全性,但因其高能耗而受到批评。此外,权益份额证明(DPoS)是PoS的进一步发展,它通过引入代表或见证人制度,减少了参与验证的节点数量,从而提高了系统的运行效率。

HongYingClub-优快云 1691

区块链常见的几大共识机制

区块链常见的几大共识机制

m0_64749660的博客 2262

什么是区块链的共识机制?

什么是区块链的共识机制?拜占庭将军问题其实是虚构出来的一个故事,是为了方便通俗地介绍分布式系统所面临的难题。1982年,Leslie Lamport提出的“拜占庭将军”问题是解释一致性问题的一个虚拟模型。拜占庭是古东罗马的首都,由于地域宽广,守卫的将军需要通过信使传递消息,达成一致的决定。但由于将军中可能存在叛徒,这些叛变的将军可能会发送错误的消息,干扰大家的决议。 拜占庭问题的提出是为了解决上述情况下,怎样让忠诚的将军们达成一致的决议。这个问题演变到计算机领域,就是在互联网中不同计算机通过通信怎样达成一致

雨夜的博客 5102

区块链共识机制详解

区块链共识机制详解

J_Lee 3990

web3:区块链常见的几大共识机制及优缺点

web3:区块链常见的几大共识机制及优缺点

鄙人kunzhi96,感恩遇见! 6390

【Android】条形码/二维码扫描——ZXing源码分析

正在更新中 针对3.2.1版本源码 与其他版本代码可能会有出入,但核心思想基本不变。 首先从com.google.zxing.client.android包中的目录结构分析:Book:这个文件夹中有5个类: BrowseBookListener 实现了adapter的点击事项响应,通过获取ISBN,然后跳转到Google books中查询响应的详细信息。 SearchBookContents

年轻的学徒 2453

区块链共识机制技术一——POW(工作量证明)共识机制

什么是共识机制 所谓“共识机制”,是通过特殊节点的投票,在很短的时间内完成对交易的验证和确认;对一笔交易,如果利益不相干的若干个节点能够达成共识,我们就可以认为全网对此也能够达成共识。 区块链作为一个去中心化的分布式账本系统,然而在实际运行中,怎么解决因为去中心化后,保证整个系统能有效运行,各个节点诚实记账,在没有所谓的中心的情况下,互相不信任的个体之间就交易的合法性达成共识的共识机制。 共识机制的目标 区块链作为一种按时间顺序存储数据的数据结构,可支持不同的共识机制。共识机制是区块链技术的重要组件。区块链

小白的博客 3万+

Reactor 响应式编程(第一篇:Reactor核心)

响应式:响应式编程: 全异步、消息、事件回调默认还是用当前线程,生成整个流、发布流、流操作.log();//只要不指定线程池,默认发布者用的线程就是订阅者的线程;

moments的博客 1571

区块链共识机制深度揭秘:从PoW到PoS,谁能主宰未来?

区块链的技术背后,最大的挑战之一就是如何让多个分布在全球各地的节点在没有中心化管理者的情况下达成一致,确保数据的一致性和安全性。这一切都依赖于区块链的核心——**共识机制**。共识机制不仅决定了区块链的安全性、效率和去中心化程度,还对整个数字货币的运行和应用产生深远影响。

Linke的博客 1万+

OGG工具实现MySQL同步到Oracle数据库

OGG工具实现MySQL同步数据到Oracle

Mrzhou的博客 1682

鱼眼相机矫正实战:除了棋盘格,试试横向展开和经纬度法(OpenCV4/C++实现对比)

本文对比了鱼眼相机矫正的三种主流方法:棋盘格标定法、横向展开法和经纬度法,通过OpenCV4/C++实战代码解析,帮助开发者在自动驾驶、VR全景拼接和安防监控等场景中选择最适合的技术方案。重点分析了各方法的精度、处理速度和适用场景,为工程实践提供实用指导。

weixin_29032489的博客 283

区块链常见共识机制简介

区块链相关的讨论仍然很热闹。区块链是去中心化的,分布式的和公共的数字分类帐,用于记录许多计算机上的交易,这样就不会在不改变后续块和网络串通的情况下追溯地改变记录。区块链需要功能强大,高效且安全的一致性算法,以便通过共享公共分类帐在全球范围内运行。 在这里,我将讨论区块链使用的共识机制。它不等同于区块链,对于不同区块链可能使用不同技术,例如:以太坊使用股权证明和比特币使用工作量证明。 区块链共识机制: 1.工作量证明(PoW,Proof of Work) 工作量证明是一种协议,其主要目标是阻止网络

跨链技术践行者 4728

解决银河麒麟V10分辨率问题:xrandr命令详解与常见错误排查

本文详细解析了在银河麒麟V10系统中使用xrandr命令调整屏幕分辨率的方法,包括核心功能解析、常见问题排查及持久化配置技巧。通过实战指南帮助用户解决分辨率缺失、配置失效等典型问题,提升多显示器环境下的工作效率。

weixin_30642561的博客 501

区块链共识机制介绍

作者:qinyutong、chengyueqiang共识机制(Consensus Mechanism)是区块链事务达成分布式共识的算法,随着区块链这一技术不断被推广,共识机制作为区块链的...

Baidu_Secrity的博客 4097

最小二乘拟合圆:使用拉格朗日乘子法

在本文中,我们将探讨如何使用拉格朗日乘子法来进行最小二乘拟合,并将其应用于拟合一个空间圆。首先,我们需要定义问题。给定一组二维或三维数据点,我们的目标是找到一个圆,使得这些数据点到圆的距离的平方和最小。为了找到最小值,我们需要计算拉格朗日函数的偏导数,并令其等于零。通过解决优化问题,我们可以找到最佳拟合的圆,以最小化数据点到圆的距离的平方和。其中,(x, y) 是圆心的坐标,r 是圆的半径,(xi, yi) 是数据点的坐标。其中,g(x, y, r) = 0 是约束条件,C 是常数,λ 是拉格朗日乘子。

TechProX的博客 473

【软件系统架构】系列十一:面向对象技术—sysML

摘要: SysML(系统建模语言)是UML的扩展,专为复杂系统工程设计,支持硬件、软件、人员等跨领域建模。其核心包括9种图:4种结构图(如块定义图BDD、内部块图IBD)、4种行为图(如活动图AD、序列图SD)和需求图(REQ),覆盖需求、结构、行为及参数约束。相比UML(面向软件),SysML精简图表(9 vs 13),强化需求追踪与性能分析(如参数图PD),并支持MBSE(基于模型的系统工程)。需求关系(如满足、验证、派生)在需求图中明确关联设计实现,形成闭环管理。SysML是UML的子集与系统工程扩展

moton2017的博客 1904

区块链的共识与共识机制

首先,我们可以简单下个定义:共识:系统里大家都能认可的一种结果。共识机制:系统中获取共识的方法。在目前的区块链中:共识:大家认可的交易记录共识机制:使交易记录大家都认可的方法。原因。

ZhangJiqun&191cm&85kg 2014

AI智能体在化学中的伦理问题:7个案例,架构师如何应对?

AI在化学中的应用早已不是新鲜事:药物发现中用AI预测分子活性(比如AlphaFold预测蛋白质结构)、化工生产中用AI优化合成路线(降低成本30%+)、材料研发中用AI设计新型电池材料(缩短研发周期5年)……但随着AI从“辅助工具”升级为“自主决策智能体”(比如能自动调整反应条件的“化学机器人”),伦理风险开始从“潜在隐患”变成“真实事故”。AI在化学中会踩哪些伦理“坑”?(用案例具象化)这些“坑”的底层逻辑是什么?(从技术到价值观的链条)架构师能做什么?

AI 算法实战派 1360
上一篇: 【NodeJS】归纳篇(二)模块化
下一篇: 【数据挖掘导论】书籍小册(一)绪论
蟹蟹蟹风流
蟹蟹蟹风流 优质创作者: 编程框架技术领域 优质创作者: 编程框架技术领域 领域专家: 前端开发技术领域 领域专家: 前端开发技术领域
博客等级 码龄11年 3万+粉丝 396原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蟹蟹蟹风流

期望和你分享一杯咖啡

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值