第三周学习日志

区块链中的几种共识算法

1.异步通信

即接收端可以随时接收信息,并且发送端需要在每个字符前后加上开始位以及结束位以保证接收端正确接收每个字符,同时接收并处理以后,通过回调机制使得发送端知道发送成功。但是开始位和结束位占用空间大,会使得信道利用率低,异步通信的好处是通信设备简单、便宜。

2.容错协议

异步系统中,可能出现无法进行通信的主机,主机性能下降等等都可能导致错误信息在系统内传播,因此,需要定义容错协议,确保主机之间达成安全可靠状态共识。

3.共识机制

顾名思义,大家达成一致。在区块链当中,即每个节点让自己的账本与其他节点保持一致,要注意的是,区块链有去中心化的特征,其是一个分布式的对等网络结构,在这个结构中,没有中心,所有节点平等。

因此,共识算法就是让所有节点的数据保持一致以及正确的规则,让节点按照这个规则进行确认,筛选出具有代表性的节点,通过设置条件,看哪个节点更好的完成,则有可能成为有代表性的节点。
共识算法的核心就是解决拜占庭将军问题(分布式网络一致性问题)。

4.BTF拜占庭容错技术

即是分布式计算领域的容错技术,拜占庭假设是对现实世界的模型化,该技术被设计用来处理现实存在的异常行为,并满足所要解决的问题的规范要求,通常,发生故障的节点被称为拜占庭节点,而正常的节点为非拜占庭节点。

注:死机、丢失雄安锡等缺陷或故障不在拜占庭缺陷或故障的范围内,拜占庭缺陷或故障是最严重缺陷或故障,有不可预测、任意性,例如遭黑客破坏,中木马的服务器就是一个拜占庭服务器。

5.PBFT实用拜占庭容错系统

降低拜占庭协议的运行复杂度,使拜占庭协议在分布式系统中应用成为可能。

PBFT将服务作为状态机进行建模,是一种状态机副本复制算法。(状态机FSM:能够根据控制信号按照预先设定的状态进行状态转移,是协调相关信号动作,完成特定操作的控制中心。)

在区块链场景中,PBFT一般适合于对强一致性有要求的私有链和联盟链场景。

6.Raft协议

一种一致性算法,用于实施分布式共识的协议。
[http://thesecretlivesofdata.com/raft/],了解Raft原理。

Raft阶段主要分为两个,首先是leader选举过程,然后在选举出来的leader基础上进行正常操作,比如日志复制、记账等。分为follower,candidate,leader三个状态。leader失效,follower变为candidate,向其他节点拉选票,最终确定新的leader。

在这一过程中,若发生网络通信故障,使得leader不能访问大多数follower了,那么leader只能正常更新它能访问的follower服务器。而大多数的服务器follower因为没有leader,将重新选举一个candidate作为leader,这个新的leader就按步骤通知大多数follower进行记账过程。当网络通信恢复,原先的leader就变成follower,在失联阶段,这个老leader的任何更新都不能算确认,必须全部回滚,接收新的leader的新的更新。

注:Raft是一种更易理解的一致性算法,意在取代目前广为使用的Paxos算法。

7.Paxos算法

能够基于一大堆完全不可靠的网络条件下却能可靠确定地实现共识一致性的算法。就是说:它允许一组不一定可靠的服务器在某些条件满足情况下就能达成确定的安全的共识,如果条件不能满足也确保这组服务器保持一致。

一个被Paxos管理的系统实际上谈论的是值状态和跟踪等问题,其目标是建造更高可用性和强一致性的分布式系统。Paxos完成一次写操作需要两次来回,分别是prepare/promise, 和 propose/accept,Paxos算法的特点是一致性>可用性。

8.POW工作证明

判定竞争的结果,所谓竞争,即节点在系统中进行算力竞赛以获得记账权力,避免多个节点同时记账造成的混乱。
比特币网络中任何一个节点,如果想生成一个新的区块并写入区块链,必须解出比特币网络出的PoW问题。这道题关键的3个要素是工作量证明函数、区块及难度值。工作量证明函数是这道题的计算方法,区块决定了这道题的输入数据,难度值决定了这道题所需要的计算量。

Nonce值
Nonce是Number once的缩写,在密码学中Nonce是一个只被使用一次的任意或非重复的随机数值。在加密技术中的初始向量和加密散列函数都发挥着重要作用,在各类验证协议的通信应用中确保验证信息不被重复使用以对抗重放攻击(Replay Attack)。

挖矿
挖矿是将一段时间内比特币系统中发生的交易进行确认(比特币的工作量证明),并记录在区块链上形成新区块的过程,是生产比特币的过程。挖矿的人叫做矿工。

9. POS股权证明

这种模式会根据持有数字货币的量和时间,分配相应的利息。

币龄
每个币每天产生1币龄,难度与交易输入的币龄成反比。
时间越长,币集越大则更有可能签名下一区块。30天到90天的机制,既防止了在签署一个区块币龄清空后立即签署另一个区块,也防止了权益过大。

10. DPOS委任权益证明

解决首富账户的权力更大,有可能支配记账权的问题。
原理是让每一个持有比特股的人进行投票,由此产生101位代表 , 我们可以将其理解为101个超级节点或者矿池,而这101个超级节点彼此的权利是完全相等的。

比特股
一类采用DPoS机制的密码货币。

见证人
见证人可以生成区块,每一个持有比特股的人都可以投票选举见证人。

代表竞选
选出的代表拥有提出改变网络参数的特权,包括交易费用、区块大小、见证人费用和区块区间。

11. Ripple共识算法

是一种基于互联网的开源支付协议,可以实现去中心化的货币兑换、支付与清算功能。算法效率更高效。

在Ripple的网络中,客户端发起交易,经过追踪节点或验证节点把交易广播到整个网络中。

追踪节点的主要功能是分发交易信息以及响应客户端的账本请求。

验证节点除包含追踪节点的所有功能外,还能够通过共识协议,在账本中增加新的账本实例数据。

可信任节点名单(UNL)
在名单上的节点可对交易达成进行投票。

可信环境使用paxos 或者raft,带许可的联盟可使用pbft ,非许可链可以是pow,pos,ripple共识等,根据对手方信任度分级,自由选择共识机制。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值