主页 > imtoken钱包app > 充分理解区块链数字货币共识体系的特点和差异

充分理解区块链数字货币共识体系的特点和差异

imtoken钱包app 2023-09-13 05:10:52

蓝军会给出确认回复:我知道你收到了订单!

红军继续给出答复:我知道你知道我知道命令!

....

比特币之父能不能随意制造比特币_比特币系统的一致性_比特币分叉会影响比特币价格吗

二级军队无限循环

拜占庭将军问题:

在拜占庭罗马帝国的军事行动中,由将领投票决定进攻还是撤退,即如果多数人决定进攻,则总体进攻策略就确定了。 但如果军中有奸细(将军有可能出卖真相,传令官有可能误报),如何保证最后的投票真实反映忠诚将军的决定?

拜占庭帝国周围有10个小国。 他们受拜占庭的压迫,但只有6个以上的国家同时进攻,才能打败拜占庭帝国,否则必败无疑。

难点在于:在古代,军队之间的交流完全靠人。 如果军中有奸细,不管是将军出卖,还是使者误传,都会是其他九国得到假消息,导致战斗失败。 如果你是国王,你怎么知道一定有5个以上的国家与你并肩作战? 毕竟一不小心,国家就会灭亡。

由于存在与上述类似的问题,就出现了达成共识的必要性。

九种共识机制比较

区块链上有很多共识机制,但没有一个是完美的或适用于所有应用场景的。

1. 工作量证明(POW)

工作量证明(Proof of Work,简称 PoW)通常只能从结果上证明,因为监控工作过程通常是繁琐且低效的。

比特币之父能不能随意制造比特币_比特币系统的一致性_比特币分叉会影响比特币价格吗

比特币在区块生成过程中使用 PoW 机制。 一个合格的区块哈希值由 N 个前导零组成,零的数量取决于网络的难度值。 要得到一个合理的区块哈希值需要大量的试算,计算时间取决于机器的哈希速度。 当一个节点提供了一个合理的区块哈希值时,说明该节点确实经过了很多次计算尝试比特币系统的一致性,但是无法得到计算次数,因为找到一个合理的哈希值是一个概率事件。 当一个节点拥有全网n%的算力时,该节点有n%的概率找到区块的哈希值。

PoW 依靠机器进行数学计算来获得记账权。 资源消耗大,共识机制高,监管薄弱。 同时,每一次达成共识,都需要全网参与计算。 性能效率比较低,容错方便让全网50%。 节点错误。

PoW的优点:完全去中心化,节点自由进出。

PoW的劣势:目前比特币吸引了全球大部分的算力,其他使用PoW共识机制的区块链应用很难获得同等算力来保证自身的安全; 采矿造成大量资源浪费; 达成共识的周期较长。

使用PoW的项目有:比特币、以太坊的前三个阶段(Frontier、Homestead、Metropolis)。 Serenity 是以太坊的第四阶段,将采用权益证明机制(POS)。

2.权益证明(P0S)

Proof of Stake(简称PoS)最早由量子力学在2011年比特币论坛的一次演讲中提出,后来由点点币(Diancoin)和NXT(Future Coin)以不同的思路实现。

PoS 的主要概念是节点记账权的获得难度与节点持有的权益成反比。 它基于哈希运算,竞争记账权比特币系统的一致性,弱监督。 这种共识机制的容错性与 PoW 相同。 它是PoW的升级,根据每个节点的token的比例和时间按比例降低挖矿难度,从而加快寻找随机数的速度。

在 PoW 中,用户可以花 1000 美元购买一台电脑,加入网络进行挖矿,生成新的区块并获得奖励。 在 PoS 中,用户可以用 1000 美元购买等值的代币,并将这些代币作为保证金放入 PoS 机制中,这样用户就有机会产生新的区块并获得奖励。

一般来说,这个系统中有一个代币持有者的集合,他们将自己的代币放入 PoS 机制中,从而成为验证者。 例如,对于区块链的第一个区块,PoS算法随机选择其中一个验证者(验证者的权重是根据他们投入的代币数量来选择的,例如选择存款为1W代币的验证者概率是投资 1K 代币的验证者的 10 倍),让他有权生成下一个区块。 如果验证者在一定时间内没有生成块,则选择第二个验证者而不是生成新块。 与 PoW 一样,PoS 也是基于最长链。

随着规模经济(指扩大生产规模带来经济效益增加的现象)的消失,集中化的风险降低。 价值 1000 万美元的代币支付同样多,是价值 100 万美元代币的 10 倍,而且没有人因为买得起量产工具而得不到成比例的额外回报。

PoS的优点:一定程度上缩短了达成共识的时间; 无需消耗大量能源进行挖矿。

PoS的缺点:仍然需要挖矿,并没有从本质上解决商业应用的痛点; 所有的确认只是一种概率表达,不是确定性的事情,理论上可能还有其他的攻击效果,比如以太坊的 The DAO 攻击导致了以太坊的硬分叉,而随后 ETC 的出现证明了这次硬分叉的失败。

3. 股份授权证明(DPOS)

比特币系统的一致性_比特币分叉会影响比特币价格吗_比特币之父能不能随意制造比特币

比特股(BitShares)社区首先提出了共享授权证明(DPoS)机制。 它与 PoS 的主要区别是节点选举若干代理人,由代理人进行验证和记账,但其合规监管、性能、资源消耗和容错性与 PoS 类似。 类似于董事会投票,代币持有者投出一定数量的节点进行代理验证和记账。

DPoS的工作原理是:每个股东根据其持股比例具有相应的影响力,51%股东投票的结果将是不可逆转的,具有约束力。 挑战在于通过及时高效的方式实现“51%的认可”;

为实现这一目标,每个股东都可以将投票权委托给一名代表。 得票最多的前 100 名代表将按照既定时间表依次出块。 每个代表都被分配了一个时间段来生产块。

所有代表将获得相当于平均区块中所含交易费用 10% 的补偿。 如果平均一个区块使用 100 股作为交易费用,则代表将获得一股。

网络延迟可能会阻止一些代表及时广播他们的区块,这将导致区块链分叉。 然而,这不太可能发生,因为制作区块的代表可以与区块制作前后的区块代表建立直接联系。 与您之后的代表(也许还有您之后的代表)建立这种直接联系是为了确保您获得报酬。

DPoS 的投票模式每 30 秒可以产生一个新区块,在正常网络条件下,区块链分叉的可能性极小,即使发生分叉,也能在几分钟内解决。 执行模式的基本步骤如下:

成为代表。 要成为委托人,您必须在网络上注册您的公钥并获得一个唯一的 32 位标识符。 该标识符将由每个交易数据的“标题”引用。

投票授权。 每个钱包都有一个参数设置窗口,用户可以在其中选择一个或多个代表并对其进行排名。 一旦设置,用户进行的每笔交易都会将选票从“输入代表”转移到“输出代表”。 通常,用户不会专门为投票目的创建交易,因为这会花费他们交易费。 但在紧急情况下,一些用户可能会觉得支付费用是值得的,因为这是一种更积极的改变投票的方式。

保持忠诚。 每个钱包都会显示一个状态指示器,让用户知道他们的代表在做什么。 如果错过太多块,系统会建议用户更换新的代表。 如果发现任何代表发布了无效区块,则所有标准钱包都需要选出新的代表,然后每个钱包才能继续进行更多交易。

抵抗攻击。 在抗攻击性方面,前100名代表获得的权利是相同的,即每个代表拥有平等的投票权,因此不可能通过获得超过1%的选票将权力集中在单个代表身上. 由于只有100个受托人,不难想象攻击者可以对每个轮到出块的受托人进行拒绝服务攻击。 幸运的是,由于每个代表都是通过其公钥而不是 IP 地址来识别的,因此很容易减轻这种特定攻击的威胁。 这将使针对 DDoS(分布式拒绝服务)攻击变得更加困难。 而受托人之间的潜在联系将使得阻止他们出块变得更加困难。

DPoS的优点:大大减少了参与验证和记账节点的数量,可以实现秒级共识验证。

DPoS 的缺点:整个共识机制仍然依赖代币,很多商业应用不需要代币。

4.投注共识

对赌共识是以太坊下一代共识机制Casper引入的新概念,属于PoS。 Casper 的共识是通过区块来达成的,而不是像 PoS 那样通过链来达成。

比特币系统的一致性_比特币之父能不能随意制造比特币_比特币分叉会影响比特币价格吗

为了防止验证者在不同的世界提供不同的赌注,我们还有一个简单而严格的条款:如果你有两次相同的赌注序列号,或者如果你提交了 Casper 根据合约无法处理的赌注,你将失去所有保证金。 从这一点我们可以看出,Casper不同于传统的PoS,Casper有惩罚机制,让不法节点通过对网络的恶意攻击,不仅得不到交易手续费,还面临保证金被没收的风险.

Casper 协议下的验证者需要完成两个活动:区块生成和投注。 详情如下:

区块生产是一个独立于所有其他时间发生的过程,验证者收集交易,当轮到他们生产区块时,他们生产一个区块,对其进行签名并将其发送到网络。 投注过程有点复杂。 目前,Casper 的默认验证器策略旨在模仿传统的拜占庭容错共识:观察其他验证器如何抵押,取值 33%,并进一步向 0 或 1 移动。

客户端确认当前状态的过程如下:首先下载所有的区块和赌注,然后使用上述算法形成自己的意见,但不发表意见; 它只是按顺序在每个高度进行观察,如果一个块的概率高于 0.5,则处理它,否则跳过它。 在处理完所有块之后,结果状态可以显示为区块链的“当前状态”。 客户端也可以给出对“敲定”的主观看法:如果高度k之前的每个区块形成的意见高于99.999%或者低于0.001%,那么客户端可以认为前k个区块被敲定。

5. 瑞波币共识

Ripple 共识算法使一组节点能够基于特定的节点列表形成共识。 最初的特殊节点列表就像一个俱乐部。 接纳新会员须经本会会员51%投票通过。 共识遵循这些核心成员的“51%权利”,外人没有影响力。 由于俱乐部一开始是集中的,它将保持集中,如果它开始腐烂,股东们也无能为力。 与比特币和点点币一样,Ripple 系统将股东与其投票权分开,因此比其他系统更加集中。

6.矿池验证池

Pool(联合运行)验证池是基于传统的分布式一致性技术和数据验证机制,是业界广泛使用的共识机制。 其优缺点如下:

优点:无需代币即可工作,在成熟的分布式共识算法(Paxos、Raft)的基础上实现秒级共识验证。

缺点:去中心化程度不如比特币,更适合多方参与的多中心商业模式。

7.实用的拜占庭容错

在分布式计算中,不同的计算机试图通过信息交换来达成共识,但有时,系统中的协调计算机或成员计算机可能会由于系统错误而交换错误的信息,从而影响最终的系统一致性。 对于拜占庭将军问题,如果我们根据故障计算机的数量来寻找可能的解决方案,实际上并不能找到绝对的答案,只能用来验证一种机制的有效性。

拜占庭一般问题可能的解决方案是:在N≥3F+1的情况下,一致性是可能的(N是计算机总数,F是有问题的计算机总数)。 计算机之间交换信息后,每台计算机列出所有获得的信息,并取大部分结果作为解决方案。

使用拜占庭容错(PBFT),首先由Castro和Liskov于1999年提出,是第一个被广泛使用的拜占庭算法。 只要系统中2/3的节点正常工作,就可以保证一致性。

比特币系统的一致性_比特币分叉会影响比特币价格吗_比特币之父能不能随意制造比特币

使用拜占庭容错算法的整体流程如下:客户端向主节点发送请求调用服务操作,如“”,其中客户端c请求执行操作o,时间戳t用于确保客户端请求只会被执行一次。 副本节点向客户端发送的每条消息中都包含当前视图号,以便客户端跟踪视图号并进一步计算当前主节点的编号。 客户端通过点对点的消息向它认为是主节点的节点发送请求,然后主节点自动将请求广播给所有的备份节点。

视图编号是一个具有连续数字的整数。 master节点通过公式p=v mod |R|计算,其中v为视图号,p为副本号,|R| 是副本集的数量。

副本发送给客户订单的响应为“”,v为视图号,t为时间戳,i为副本号,r为请求执行结果。

主节点通过广播向其他副本发送请求,然后开始执行三阶段任务。

准备阶段。 主节点为接收到的请求分配一个序号n,然后向所有备份节点发送预准备消息。 预准备消息格式为“<

,m>”,其中v为视图号,m为客户端发送的请求消息,d为请求消息m的摘要。

准备阶段。 如果备份节点i接受了预准备消息,则进入准备阶段。 准备时,节点向所有副本节点发送准备消息“

",并将pre-prepare message和prepare message写入自己的message log。

确认阶段。 当“(m, v, n, i)”条件为真时,副本i会向其他副本节点广播“”,从而进入确认阶段。 所有副本执行请求并将结果发送回客户端。 客户端需要等待不同的副本节点发回相同的结果作为整个操作的最终结果。

如果客户端在限定时间内没有收到回复,则将请求广播给所有副本节点;

如果请求在副本节点上已经处理完毕,则副本会将执行结果重新发送给客户端;

如果请求还没有被副本节点处理,副本节点会将请求转发给主节点;

如果主节点没有广播请求,则认为主节点无效;

如果有足够多的副本节点导致主节点无效,则会触发视图更改。

比特币分叉会影响比特币价格吗_比特币之父能不能随意制造比特币_比特币系统的一致性

图2-85为主节点无故障时算法的正常执行流程,其中replica 0为主节点,replica 3为故障节点,c为client。

使用拜占庭容错机制是一种采用“许可投票,少数服从多数”选举领导人和记账的共识机制。 这种共识机制允许拜占庭容错,允许强监管节点参与,具有权限分类能力,具有更高的性能。 能耗更低,每轮记账由全网节点共同选举产生,允许33%的节点作恶,容错率为33%。

因为特别适合联盟链的应用场景,实用的拜占庭容错机制及其改进算法是目前联盟链使用最多的共识算法,其改进算法是目前联盟使用最多的共识算法chain,其改进算法在以下几个方面进行了调整: 修改底层网络拓扑的要求,使用P2P网络; 动态调整节点数; 减少协议使用的消息数量。

8.授权拜占庭容错

2016年4月,小蚁发布了共识算法白皮书,描述了一种通用的共识机制——授权拜占庭容错,并提出了一种改进的拜占庭容错算法,使其适用于区块链系统。 授权的拜占庭容错算法在拜占庭容错算法的基础上做了如下改进:

将C/S架构的请求-响应模式改进为适合P2P网络的点对点节点模式;

将静态的共识参与节点改进为可以动态进入和退出的共识参与节点;

为共识参与节点的产生设计一套基于持股比例的投票机制,通过投票决定共识参与节点(记账节点);

区块链引入数字证书,解决了投票中记账节点真实身份的认证问题。

授权拜占庭容错机制的优势:专业记账; 可以容忍任何类型的错误; 簿记由多人完成; 每个区块都有最终确定性,不会分叉; 算法的可靠性有严格的数字证明。

授权拜占庭容错机制的缺点:当1/3或更多的簿记员停止工作时,系统将无法提供服务; 当1/3或更多的记账人联手作恶,而其他所有记账人都被瓜分为两个网络孤岛时,恶意记账人可以导致系统分叉,但会留下密码学证据。

总而言之,授权拜占庭容错机制的核心点是最大程度保证系统的最终性,从而使区块链能够应用于真实的金融应用场景。

9.Paxos算法

这是一种传统的分布式共识算法,是一种基于选举领导者的共识机制。 Leader节点拥有绝对权限,允许强监管节点参与,性能高,资源消耗低。 所有节点一般都有离线接入机制,但选举过程中不允许有恶意节点,不具有容错性。