左耳听风
陈皓
网名“左耳朵耗子”,资深技术专家
180929 人已学习
新⼈⾸单¥98
登录后,你可以任选6讲全文学习
课程目录
已完结/共 119 讲
左耳听风
15
15
1.0x
00:00/00:00
登录|注册

66 | 区块链技术细节:去中心化的共识机制

去中心化、安全和高性能的权衡
PoW、PoS和DPoS的比较
DPoS的优化和问题
选举超级节点的过程
PoS的问题和进化版DPoS
提高数据篡改成本和网络中不同声音的成本
PoW的优点和问题
区块链中的分叉问题
限制提案数量和放宽一致性确认需求
区块链中的一致性算法选择
Paxos协议和Raft协议
拜占庭将军问题的解决
分布式领域中最复杂、最严格的容错模型
一致性问题的虚构模型
总结
DPoS机制
股权证明协议(PoS)
工作量证明(PoW)
分布式一致性算法
拜占庭将军问题
区块链中的去中心化共识机制

该思维导图由 AI 生成,仅供参考

你好,我是陈皓,网名左耳朵耗子。
其实,去中心化的共识机制也是要解决拜占庭将军问题(The Byzantine Generals Problem),它是莱斯利·兰伯特(Leslie Lamport)于 1982 年提出来的,用来解释一致性问题的一个虚构模型。同时,它也是分布式领域中最复杂、最严格的容错模型。

分布式一致性算法

拜占庭的将军们没有一个中心化的领导机构,所以,如果他们需要攻击某个城市,所有将军需要对任何将军可能提出的攻击时间达成共识。也就是说,只有所有的将军都达成了共识,在同一个攻击时间攻击,就有非常大的胜率。但是,问题来了。这时,可能会有多个将军同时发出不同的攻击计划,而且这些将军中还有叛徒。那么,将军们怎样达成共识呢?
莱斯利·兰伯特证明,当叛变者不超过 1/3 时,存在有效的算法。不论叛变者如何折腾,忠诚的将军们总能达成一致的结果。如果叛变者过多,则无法保证一定能达到一致性。
拜占庭问题之所以难解,在于任何时候系统中都可能存在多个提案(因为提案成本很低),并且要完成最终的一致性确认过程十分困难,容易受干扰。但一旦确认,即为最终确认。
比特币的区块链网络在设计时使用的 PoW(Proof of Work) 算法思路。一个是限制一段时间内整个网络中出现提案的个数(增加提案成本),另外一个是放宽对最终一致性确认的需求,约定好大家都确认并沿着已知最长的链进行拓宽。
也就是说,如果比特币系统在某一个时刻同时出现了两个都合法的区块,那么两个都承认。于是,区块链上会出现两个合法的分支(术语叫 " 分叉 ")。此时矿工可以选择任何一个分支继续,在某个分支的长度超过了另一个分支时,短的那个分支马上作废。
如果你看过我之前写的《分布式系统架构的本质》系列文章,那么一定知道 Paxos 协议,这也是一种分布式一致性的共识算法。但为什么不用 Paxos 和 Raft 来做区块链的一致性算法的协议呢?这两个算法对资源的消耗比 PoW 要小得多呢。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

区块链技术中的共识机制是解决拜占庭将军问题的关键。本文深入探讨了区块链中的去中心化共识机制,以及相关的技术理论。文章首先介绍了拜占庭将军问题的复杂性,并讨论了莱斯利·兰伯特提出的有效算法。在讨论比特币的区块链网络设计时,提到了PoW算法和其对一致性确认的约定。此外,文章还对比了Paxos/Raft算法和PoW算法的不同之处,强调了区块链所面对的无中心化P2P网络的复杂性。另外,文章还介绍了拜占庭容错系统研究中的三个重要理论:CAP、FLP和DLS。CAP理论指出在网络发生阻断时只能选择数据的一致性或可用性,而FLP和DLS则讨论了容错的上限和网络环境对协议容忍拜占庭故障的影响。此外,文章还介绍了工作量证明(PoW)和股权证明(PoS)协议的原理及其在区块链中的应用。总的来说,本文全面解析了区块链技术中的共识机制及相关理论,对于理解区块链技术的复杂性和关键问题有很好的阐述。 此外,文章还介绍了PoS机制潜在的问题,包括Nothin-At-Stake攻击、双重支付问题、贿赂攻击等。针对这些问题,文章提出了DPoS(Delegated Proof of Stake,委托股权证明)作为PoS的进化方案,通过不同的策略选中一小群节点来减少区块创建和确认所需的时间和算力成本。然而,DPoS也存在一些问题,如节点的选举过程可能导致中心化和贿选行为。文章还以EOS为例,探讨了DPoS下的超级节点选举和相关竞争现象。最后,文章指出了DPoS已经开始将区块链的去中心化初衷向中心化演进,并强调了政治在未来区块链世界中的重要性。 总的来说,本文深入探讨了区块链共识机制的技术特点和相关问题,以及对DPoS的讨论,展现了区块链技术的复杂性和发展趋势。文章提出了对PoW、PoS和DPoS的不同观点,以及在区块链技术中面临的权衡和挑战。同时,文章还探讨了区块链技术在去中心化、安全和高性能之间的权衡,为读者提供了对区块链技术发展方向的思考和启示。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《左耳听风》
新⼈⾸单¥98
立即购买
登录 后留言

全部留言(28)

  • 最新
  • 精选
  • .
    讲的好清楚! 补充亮点 在bitcoin挖矿中,GPU已经被更专业的ASIC取代了 在改进版的POS中,要求参与者抵押资产来解决nothing at stake的问题

    作者回复: 谢谢补充

    2018-06-06
    11
  • 酱了个油
    耗子叔,关于链长导致的效率问题,是说每个区块生成后都需要把整条链走一遍来验证合法性吗,这一步主要是做什么校验呀

    作者回复: 验证你账户上的钱是怎么来的?

    2018-04-10
    2
  • Yole
    其实Paxos/Raft也能作为区块链网络中的共识算法,只是不能使用在公有链里面,不能BFT。联盟链CFT应该就够了。

    作者回复: 两个问题,1)为什么要联盟链?2)为什么数据结构要存成链?

    2018-04-10
  • hua168
    大神,分布式方面,能不能讲下安全,像国内大网站经常会被攻击他们是怎么防攻击,像防DDOS做CDN+DDOS防火墙效果也不怎么好,都在哪些地方做安全……能简单讲下吗?谢谢……
    2018-04-11
    7
  • neohope
    哈哈哈,您预测的很准,EOS的主链刚上线就挂了。我觉得BM能力是有的,但对团队的管理水平就有些差了。 应该多看看您的文章。
    2018-06-22
    6
  • 猪脚姜
    一般人最多也就了解个POW POS DPOS,但是像耗子哥这样能从系统演变的过程来谈真是让人耳目一新,层次太高了!
    2020-04-25
    1
    1
  • 耗子叔想的果然深远,去中心化发展到最后可能又回归中心化
    2020-03-28
    1
  • freeland
    最后说到了去中心化,安全性和高性能不能同时存在,现在的侧链的这种方案,主链用安全的pow,锚定对应的资产到侧链,侧链用dpos这样的共识,如果发现侧链有问题,主链通过plasma cash把侧链中的资产withdraw,是不是就同时有去中心化,安全性和高性能了
    2018-11-15
    1
  • 登高
    行家出手,比起之前看过的文章更有高度
    2018-04-29
    1
  • derek
    老师有了解墨客吗?作为母链,可在之上构建各种子链,子链可使用自己的共识机制,并实现了分层分片
    2018-04-11
    1
收起评论
显示
设置
留言
28
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部