说透区块链
赵铭
区块链服务平台资深架构师
新⼈⾸单¥59.9
877 人已学习
课程目录
已更新 9 讲 / 共 18 讲
0/2登录后,你可以任选2讲全文学习。
开篇词 (1讲)
开篇词 | 区块链,一种面向未来的思维方式
免费
历史现状篇 (2讲)
01 | 回顾前世:解读区块链技术发展三阶段
02 | 着眼今生:揭秘区块链技术的发展现状
技术篇 (6讲)
03 | 技术特性:用“铁锁连环”直观理解区块链特点
04 | 存储:区块链的存储设计有定式吗?
05 | 密码学:为什么说区块链站在了巨人肩膀上?
06 | 网络:先有去中心化还是先有点对点?
07 | 共识(上):拜占廷将军也讲少数服从多数?
08 | 共识(下):区块链领域的两类常用算法
说透区块链
15
15
1.0x
00:00/00:00
登录|注册

08 | 共识(下):区块链领域的两类常用算法

你好,我是赵铭。
在上一讲中,我们通过对拜占庭将军问题的描述及推演,引出了分布式共识的基础知识,也论证了区块链共识的必要性。而这一讲,我将为你梳理区块链中常用到的共识算法。
说起对区块链共识最初的认知,我们几乎都能想到比特币中的 PoW,也就是工作量证明算法。
其实它只是众多区块链共识算法中的一个,虽然现在区块链领域中有很多种类的共识算法,但总的来说可以分为两类,一类是联盟链中用到的拜占庭容错算法,而另一类就是公链中用到的类似于 PoW、PoS 之类的算法,而我更愿意将它们统称为激励共识算法。
因为是两类共识,理解起来肯定有差异,但是我们却可以从上一讲故事里提取共识的基础要点来进行对比分析。我大致总结了三个要点。
1. 由谁来生产区块?因为区块链是去中心化网络,节点间权利与义务是对等的,因此在任意一个时刻,任何节点都可以生产区块。但是以谁的为准呢?这是我们在理解区块链共识时需要首先搞清楚的问题。
2.什么时刻可以达成共识?分布式共识其实也蕴含一个前提,那就是需要在有限的时间内达成各节点间区块一致。如果共识过程无限期,那么共识本身就不成立了。
3.有多少节点参与了共识?通过对拜占庭将军问题的解析,我们知道共识的达成跟叛徒的数量息息相关,不同的共识对于叛徒的容忍程度是不一样的,我们常听到的少数服从多数,51% 攻击等等说的就是这一点。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/1000字
划线
笔记
复制
该试读文章来自付费专栏《说透区块链》,如需阅读全部文章,
请订阅文章所属专栏新⼈⾸单¥59.9
立即订阅
登录 后留言

精选留言(3)

  • 三儿
    原文中“而这个条件就是利用哈希算法计算区块哈希,使得区块哈希以 N 个 0 开头,N 的多少取决于当前网络区块增长的速度,是一个动态调整的值。这样一来,PoW 就限制了一段时间内网络中区块提案的个数” 是不是像区块链POW本身的调节机制,像TCP/IP协议栈中的拥塞控制?
    2021-08-07
  • 高鹏0409
    为什么规定最长的哪个链是共识的呢?如果本来是分支的链很短,后来追上来了呢?

    作者回复: 为什么要规定:这是为了约束共识的一致性。就是要让参与者知道什么情况算是达成共识。就比如摇骰子,规定大数赢,那相比5,6是赢的。但是如果规定小数赢,那5就赢。类似的道理吧。

    短链追上:这就是我后面提到的了,节点当前所累积的最长链可能并不是最终的结果,在某个时刻它可能收到比节点本地存储更长的链,此时节点就应该切换区块链。

    2021-08-06
    1
  • 漂泊的小飘
    老师,这个课程后面会不会给我们一个思路或者代码去实现一个简单联盟链呢?

    作者回复: 你好,不会的。这门课程的定位是给所有专业背景同学看的区块链通识课,提代码的话就有些偏科了。

    但我后面会提到推荐的联盟链实现

    2021-08-06
收起评论
3
返回
顶部