×
首页
Portal
交流
登录
注册
登录迅雷链开发者社区更精彩
下次自动登录
忘记密码
立即注册
登录
其他帐号登录:
用户组:游客
主题
帖子
威望
我的帖子
我的收藏
我的好友
我的勋章
设置
退出
退出
迅雷链开发者社区
»
交流
›
解密区块链最强心脏 迅雷链共识算法详解 ...
解密区块链最强心脏 迅雷链共识算法详解
迅雷链技术沙龙
2018-11-15
5397
0
交流
/ 沙龙 /
只看大图
/
正序浏览
© 著作权归作者本人所有
标签:
暂无标签
11月10日在广州贝塔咖啡举办的迅雷链技术沙龙上,迅雷链底层工程师张骁就迅雷链共识算法的内在细节,向到场的开发者和区块链爱好者做了详细解读。DPoA+PBFT的算法保证了分布式系统中的强一致性和高效率共识,吸引了在场来宾的关注。
什么是共识算法?
张骁认为,区块链建立在分布式系统上,有若干个节点,每个节点都会维护自己的数据,这些数据需要保证一致性。如果不同的节点提供的数据不同,就不是一个能够正常对外工作的分布式系统。所以在区块链中,需要把这些数据通过复制和同步,来保持一致性,这个过程就叫做共识。
共识过程中所使用的算法就叫共识算法。对于区块链来说,共识算法的作用就是制定达成共识的标准,即当数据有所不同时,以谁的为准。张骁深入浅出,用通俗易懂的方式,解释了这个概念。
当前主流共识算法的分类
张骁表示,目前共识算法可分为分为概率一致性共识和绝对一致性共识。
概率一致性共识算法是指在某一个时间点上,允许数据有一些不一致情况的算法。比如比特币采用的算法,就是一种典型的概率一致性算法。比特币达成共识的过程中,如果在同一个时间点有两个不同的节点,都找到了满足这个条件的计算公式,就相当于都可以产生一个区块,然后就产生了分叉。当然,这种分叉是会被下一轮的挖矿和共识过程所修正的,最终还是会达成一致,但在其诞生后的一小段时间里,是无法达成一致的。
绝对一致性共识算法是指数据始终保持一致性的算法,它通过牺牲一定的可用性,保证了数据的一致,其中又可以细分CFT和BFT两个类型。
CFT算法的特点是确定一个固定的节点数量,只要有达到这个数量的节点确认,那么共识就算达成。比如总共有11个节点,确定只要4个节点投票确认某次交易,那么这次交易就算完成。这样做的结果是交易确认速度很快,同时结果永远都是确定的,而且不会出现分叉。
BFT算法是另外一种常见的绝对一致性算法,它达成共识的过程分为三个阶段,分别是预准备、准备还有提交,其共识过程是:
1.预准备阶段:某个节点为从客户端收到的请求分配提案编号,然后发出预准备消息,广播给其它节点;
2.准备阶段:其它节点收到预准备消息后,检查消息合法性,如果检查通过则向其他节点发送准备消息,并带上自己的ID信息,同时接收来自其他节点的准备信息。收到准备消息的节点对消息同样进行合法性检查验证,全网中至少2/3的节点验证过的消息,才会真正进入准备状态;
3.提交阶段:向全网所有节点广播进入准备状态的消息,然后由所有节点进行投票,投票数达2/3后该消息通过。
迅雷链技术沙龙
写了 7 篇文章,拥有财富 37,被 1 人关注
+关注
我要分享:
1
举报
收藏
反对
0
回复
使用道具
评论
使用高级模式,上传图片!
B
Color
Link
Quote
Code
Smilies
发表评论
成为第一个吐槽的人
Archiver
|
手机版
|
小黑屋
|
迅雷链开发者社区
Copyright©2018 onethingcloud.com All Rights Reserved 深圳市网心科技有限公司版权所有 粤ICP备14008884号-23
返回顶部