⑴ 长沙北大青鸟分享区块链技术中的共识算法
关于区块链技术的一些讲解和知识点分析我们已经给大家分享过很多次了。
今天,长沙java课程http://www.kmbdqn.cn/就再来了解一下,区块链技术中的共识算法的一些基本定义与特点。
简单过一下区块链我们一般意识形态中的链是铁链,由铁铸成,一环扣一环。
形象地,区块链的也可以这么理解,只不过它不是由铁铸成,而是由拥有一定数据结构的块连接而成,这是一个简单的雏形通俗讲解共识所谓共识,通俗来说,就是我们大家对某种事物的理解达成一致的意思。
比如说日常的开会讨论问题,又比如判断一个动物是不是猫,我们肉眼看了后觉得像猫,其满足猫的特征,那么我们认为它是猫。
共识,是一种规则。
继续我们的会议例子。
参与会议的人,通过开会的方式来达到谈论解决问题。
对比区块链中,参与挖矿的矿工通过某种共识方式(算法)来解决让自己的账本跟其他节点的账本保持一致。
让账本保持一致的深入一层意思就是,让链中区块信息保持一致。
为什么需要共识,不需要可不可以?当然不可以,生活中没了共识的规则,一切乱套。
区块链没了共识的规则,各个节点各干各的,失去一致的意义。
这两个例子的对应的关系如下:会议的人=挖矿的矿工开会=共识方式(算法)谈论解决问题=让自己的账本跟其他节点的账本保持一致如果你对节点的概念意思不懂,请先理解为矿工,一个节点内部包含很多角色,矿工是其中之一。
共识算法目前常见的在区块链中,节点们让自己的账本跟其他节点的账本保持一致的共识方式(算法)有如下几种:PoW,代表者是比特币(BTC)弊端:矿池的出现,一定程度上违背了去中心化的初衷,同时也使得51%攻击成为可能,影响其安全性。
存在巨大的算力浪费,看看矿池消耗大量的电力资源,随着难度增加,挖出的不够付电费PoS,代表者是以太坊(ETH),从PoW过度到PoS弊端:破坏者对网络的攻击成本很低,拥有代币就能竞争另外拥有代币数量大的节点获得记账权的概率会更大,会使得网络共识受少数富裕账户支配,从而失去公正性。
⑵ 区块链常见的三大共识机制
区块链是建立在P2P网络,由节点参与的分布式账本系统,最大的特点是“去中心化”。也就是说在区块链系统中,用户与用户之间、用户与机构之间、机构与机构之间,无需建立彼此之间的信任,只需依靠区块链协议系统就能实现交易。
可是,要如何保证账本的准确性,权威性,以及可靠性?区块链网络上的节点为什么要参与记账?节点如果造假怎么办?如何防止账本被篡改?如何保证节点间的数据一致性?……这些都是区块链在建立“去中心化”交易时需要解决的问题,由此产生了共识机制。
所谓“共识机制”,就是通过特殊节点的投票,在很短的时间内完成对交易的验证和确认;当出现意见不一致时,在没有中心控制的情况下,若干个节点参与决策达成共识,即在互相没有信任基础的个体之间如何建立信任关系。
区块链技术正是运用一套基于共识的数学算法,在机器之间建立“信任”网络,从而通过技术背书而非中心化信用机构来进行全新的信用创造。
不同的区块链种类需要不同的共识算法来确保区块链上最后的区块能够在任何时候都反应出全网的状态。
目前为止,区块链共识机制主要有以下几种:POW工作量证明、POS股权证明、DPOS授权股权证明、Paxos、PBFT(实用拜占庭容错算法)、dBFT、DAG(有向无环图)
接下来我们主要说说常见的POW、POS、DPOS共识机制的原理及应用场景
概念:
工作量证明机制(Proof of work ),最早是一个经济学名词,指系统为达到某一目标而设置的度量方法。简单理解就是一份证明,用来确认你做过一定量的工作,通过对工作的结果进行认证来证明完成了相应的工作量。
工作量证明机制具有完全去中心化的优点,在以工作量证明机制为共识的区块链中,节点可以自由进出,并通过计算随机哈希散列的数值解争夺记账权,求得正确的数值解以生成区块的能力是节点算力的具体表现。
应用:
POW最着名的应用当属比特币。在比特币网络中,在Block的生成过程中,矿工需要解决复杂的密码数学难题,寻找到一个符合要求的Block Hash由N个前导零构成,零的个数取决于网络的难度值。这期间需要经过大量尝试计算(工作量),计算时间取决于机器的哈希运算速度。
而寻找合理hash是一个概率事件,当节点拥有占全网n%的算力时,该节点即有n/100的概率找到Block Hash。在节点成功找到满足的Hash值之后,会马上对全网进行广播打包区块,网络的节点收到广播打包区块,会立刻对其进行验证。
如果验证通过,则表明已经有节点成功解迷,自己就不再竞争当前区块,而是选择接受这个区块,记录到自己的账本中,然后进行下一个区块的竞争猜谜。网络中只有最快解谜的区块,才会添加的账本中,其他的节点进行复制,以此保证了整个账本的唯一性。
假如节点有任何的作弊行为,都会导致网络的节点验证不通过,直接丢弃其打包的区块,这个区块就无法记录到总账本中,作弊的节点耗费的成本就白费了,因此在巨大的挖矿成本下,也使得矿工自觉自愿的遵守比特币系统的共识协议,也就确保了整个系统的安全。
优缺点
优点:结果能被快速验证,系统承担的节点量大,作恶成本高进而保证矿工的自觉遵守性。
缺点:需要消耗大量的算法,达成共识的周期较长
概念:
权益证明机制(Proof of Stake),要求证明人提供一定数量加密货币的所有权。
权益证明机制的运作方式是,当创造一个新区块时,矿工需要创建一个“币权”交易,交易会按照预先设定的比例把一些币发送给矿工本身。权益证明机制根据每个节点拥有代币的比例和时间,依据算法等比例地降低节点的挖矿难度,从而加快了寻找随机数的速度。
应用:
2012年,化名Sunny King的网友推出了Peercoin(点点币),是权益证明机制在加密电子货币中的首次应用。PPC最大创新是其采矿方式混合了POW及POS两种方式,采用工作量证明机制发行新币,采用权益证明机制维护网络安全。
为了实现POS,Sunny King借鉴于中本聪的Coinbase,专门设计了一种特殊类型交易,叫Coinstake。
上图为Coinstake工作原理,其中币龄指的是货币的持有时间段,假如你拥有10个币,并且持有10天,那你就收集到了100天的币龄。如果你使用了这10个币,币龄被消耗(销毁)了。
优缺点:
优点:缩短达成共识所需的时间,比工作量证明更加节约能源。
缺点:本质上仍然需要网络中的节点进行挖矿运算,转账真实性较难保证
概念:
授权股权证明机制(Delegated Proof of Stake),与董事会投票类似,该机制拥有一个内置的实时股权人投票系统,就像系统随时都在召开一个永不散场的股东大会,所有股东都在这里投票决定公司决策。
授权股权证明在尝试解决传统的PoW机制和PoS机制问题的同时,还能通过实施科技式的民主抵消中心化所带来的负面效应。基于DPoS机制建立的区块链的去中心化依赖于一定数量的代表,而非全体用户。在这样的区块链中,全体节点投票选举出一定数量的节点代表,由他们来代理全体节点确认区块、维持系统有序运行。
同时,区块链中的全体节点具有随时罢免和任命代表的权力。如果必要,全体节点可以通过投票让现任节点代表失去代表资格,重新选举新的代表,实现实时的民主。
应用:
比特股(Bitshare)是一类采用DPOS机制的密码货币。通过引入了见证人这个概念,见证人可以生成区块,每一个持有比特股的人都可以投票选举见证人。得到总同意票数中的前N个(N通常定义为101)候选者可以当选为见证人,当选见证人的个数(N)需满足:至少一半的参与投票者相信N已经充分地去中心化。
见证人的候选名单每个维护周期(1天)更新一次。见证人然后随机排列,每个见证人按序有2秒的权限时间生成区块,若见证人在给定的时间片不能生成区块,区块生成权限交给下一个时间片对应的见证人。DPoS的这种设计使得区块的生成更为快速,也更加节能。
DPOS充分利用了持股人的投票,以公平民主的方式达成共识,他们投票选出的N个见证人,可以视为N个矿池,而这N个矿池彼此的权利是完全相等的。持股人可以随时通过投票更换这些见证人(矿池),只要他们提供的算力不稳定,计算机宕机,或者试图利用手中的权力作恶。
优缺点:
优点:缩小参与验证和记账节点的数量,从而达到秒级的共识验证
缺点:中心程度较弱,安全性相比POW较弱,同时节点代理是人为选出的,公平性相比POS较低,同时整个共识机制还是依赖于代币的增发来维持代理节点的稳定性。
⑶ 区块链有几种共识算法
Ripple Consensus(瑞波共识算法)
使一组节点能够基于特殊节点列表达成共识。初始特殊节点列表就像一个俱乐部,要接纳一个新成员,必须由51%的该俱乐部会员投票通过。共识遵循这核心成员的51%权力,外部人员则没有影响力。由于该俱乐部由“中心化”开始,它将一直是“中心化的”,而如果它开始腐化,股东们什么也做不了。
5、PBFT:Practical Byzantine Fault Tolerance(实用拜占庭容错算法)
PBFT是一种状态机副本复制算法,即服务作为状态机进行建模,状态机在分布式系统的不同节点进行副本复制。每个状态机的副本都保存了服务的状态,同时也实现了服务的操作。将所有的副本组成的集合使用大写字母R表示,使用0到|R|-1的整数表示每一个副本。为了描述方便,假设|R|=3f+1,这里f是有可能失效的副本的最大个数。尽管可以存在多于3f+1个副本,但是额外的副本除了降低性能之外不能提高可靠性。
PBFT算法主要特点如下:客户端向主节点发送请求调用服务操作;主节点通过广播将请求发送给其他副本;所有副本都执行请求并将结果发回客户端;客户端需要等待f+1个不同副本节点发回相同的结果,作为整个操作的最终结果。
⑷ 区块链共识机制
PoW:工作量证明 (Proof of Work,简称 PoW ) ,简单的解释就是一份证明,用来确认你做过一定量的工作。因为监测工作的整个过程通常是极为低效的,而通过对工作的结果进行认证来证明完成了相应的工作量,则是一种非常高效的方式。比如现实生活中的毕业证、驾驶证等等,都是通过检验结果的方式所取得的证明。这就是说,你获得多少币,取决于你对挖矿贡献的有效工作。简单的理解,你电脑性能越好,你获得的收益就会越多,这就是根据你的工作量来执行币的分配。大部分的数字货币,比如比特币、莱特币等等,都是基于 PoW 模式的虚拟货币(算力越高、挖矿时间越长,你获得的币就越多)。
PoS:PoS 是一种在公链中的共识算法,可作为 PoW 算法的一种替换。PoW是保证比特币、当前以太坊和许多其它区块链安全的一种机制,但是 PoW 算法在挖矿过程中因破坏环境和浪费电力而受到指责。PoS 试图通过以一种不同的机制取代挖矿的概念,从而解决这些问题。
PoS 机制可以被描述成一种虚拟挖矿。PoS 主要依赖于区块链自身里的代币。在PoW 中,一个用户可能拿 1000 美元来买计算机,加入网络来挖矿产生新区块,从而得到奖励。而在 PoS 中,用户可以拿 1000 美元购买等价值的代币,把这些代币当作押金放入 PoS 机制中,这样用户就有机会产生新块而得到奖励。在 PoW 中,如果用户花费 2000 美元购买硬件设备,当然会获得两倍算力来挖矿,从而获得两倍奖励。同样,在 PoS 机制中投入两倍的代币作为押金,就有两倍大的机会获得产生新区块的权利。
⑸ 区块链技术中的共识算法
关于区块链技术的一些讲解和知识点分析我们已经给大家分享过很多次了。今天,云南java课程http://www.kmbdqn.cn/就再来了解一下,区块链技术中的共识算法的一些基本定义与特点。
简单过一下区块链
我们一般意识形态中的链是铁链,由铁铸成,一环扣一环。形象地,区块链的也可以这么理解,只不过它不是由铁铸成,而是由拥有一定数据结构的块连接而成,这是一个简单的雏形
通俗讲解共识
所谓共识,通俗来说,就是我们大家对某种事物的理解达成一致的意思。比如说日常的开会讨论问题,又比如判断一个动物是不是猫,我们肉眼看了后觉得像猫,其满足猫的特征,那么我们认为它是猫。共识,是一种规则。
继续我们的会议例子。参与会议的人,通过开会的方式来达到谈论解决问题。
对比区块链中,参与挖矿的矿工通过某种共识方式(算法)来解决让自己的账本跟其他节点的账本保持一致。让账本保持一致的深入一层意思就是,让链中区块信息保持一致。
为什么需要共识,不需要可不可以?当然不可以,生活中没了共识的规则,一切乱套。区块链没了共识的规则,各个节点各干各的,失去一致的意义。
这两个例子的对应的关系如下:
会议的人=挖矿的矿工
开会=共识方式(算法)
谈论解决问题=让自己的账本跟其他节点的账本保持一致
如果你对节点的概念意思不懂,请先理解为矿工,一个节点内部包含很多角色,矿工是其中之一。
共识算法
目前常见的在区块链中,节点们让自己的账本跟其他节点的账本保持一致的共识方式(算法)有如下几种:
PoW,代表者是比特币(BTC)
弊端:
矿池的出现,一定程度上违背了去中心化的初衷,同时也使得51%攻击成为可能,影响其安全性。
存在巨大的算力浪费,看看矿池消耗大量的电力资源,随着难度增加,挖出的不够付电费
PoS,代表者是以太坊(ETH),从PoW过度到PoS
弊端:
破坏者对网络的攻击成本很低,拥有代币就能竞争
另外拥有代币数量大的节点获得记账权的概率会更大,会使得网络共识受少数富裕账户支配,从而失去公正性。