Day24 - 关於共识演算法与容错机制

这几篇文章可能都会比较偏技术一些,会尽量解释简单,让大家容易理解,我们就继续看下去。

常见的共识演算法有:PoW工作量证明、PoS权益证明、PoA权威证明、DPoS代理权益证明

  1. PoW:最快说了算。常见如比特币、以太坊。
    因为追求网路的品质,所以维持用挖矿的方式,拥有最多算力的节点,挖得越快,能更快验证出块、否认错误交易。
  2. PoS:最有钱说了算。
    拥有越多资产在网路内,就会希望这个网路越好、越稳定。
  3. PoA:老大说了算,老大一开始就会决定。
    常用在测试链中,不想部署设置节点做挖矿,单纯测试这个合约的部署能否正常执行。
  4. DPoS:代理人间得票率高说了算,代理人可能随时被撤换。常用在EOS。
    共识都会在三角悖论中抉择,比如必特币、以太坊牺牲效率,DPoS、EOS牺牲去中心化。

为何需要共识演算法?常用在拜占庭问题中。

有点像是狼人杀,你要找到狼是谁。数百前年有个拜占庭帝国,征战打仗时,将军们分散四处准备围攻,只能透过信使与四面八方的将军们沟通,一定要达成共识才能行动。前提是,将军们必须达成一起进攻或一起撤退,有些将军进攻有些撤退就会落难,而且将军当中有叛徒。那麽多个将军间要怎麽去达成共识呢?怎麽确保信使不会被敌军收买呢?

有个名词叫做「拜占庭容错机制」,就是要依赖多数决,让将军节点间在有敌对存在的情况下,仍能和旁边可能几十公里远的将军达成共识,容忍信使不诚实或将军背叛的情况。

在区块链,我们应用实用拜占庭容错(PBFT)技术,让分布在世界各地的节点达成共识。主要是透过精准掌握节点总数,让坏人阵营容错在1/3以下。由於和区块链相比更重视安全性,透过三阶段选出领袖的方式,由他主导进行每一次的行动。现今的PBFT主要在安全性优先的多轮验证的经济模型,会比较让人期待。

补充资料

参考资料:https://www.abmedia.io/blockchain-important-classic-pbft/


<<:  HERE API Example - 限制地图移动

>>:  DAY28 深度学习-卷积神经网路-Yolo v2 (二)

【把玩Azure DevOps】Day13 Pipeline与Artifacts应用:Build nuget package上传到Private nuget

前一篇内容设定了C#专案里的Generate NuGet package on build,让专案编...

[自然语言处理基础] 语法分析与资讯检索 (II)

前言 上一回我们将词性标签依序排列建构出片语组块( phrase chunk ),描绘出相应的分析树...

【Day9】前端React +Antd 的环境(Docker化)建立 (下)

使用命令行设定初始化。 这边是本地的方式。 git clone https://github.com...

Day 9-假物件 (Fake) - 虚设常式 (Stub)-1 (核心技术-1)

虚设常式(Stub)简介 今天的文章进入了新的系列,那因为接下来的概念是非常抽象的,所以会介绍数个核...

聊天室(下)- 图文混排的实现

缘由: 前篇讲完布局,这篇讲讲我卡住最久的部分,想流畅地在打字时插入自订的表情符号,一开始是有些目标...