美文网首页HiBlock区块链社区区块链
区块链100讲:区块链的灵魂——共识算法

区块链100讲:区块链的灵魂——共识算法

作者: 宇宙永恒 | 来源:发表于2018-05-31 22:32 被阅读1次
    image

    在解释拜占庭将军问题的时候提到“共识机制”,本期《区块链100讲》我们来说说被称为区块链灵魂的“共识算法”。

    1

    共识机制

    共识机制,在百度百科上的解释是这样的:

    image

    看上去是不是一头雾水?那么我这里就给大家一个比较能通俗易懂的解释:所谓的共识机制,就好比大家在开一次“会议”,最后达成一个一致,但是达成一致的途径有很多种,这也就是后续区块链的主链有各种各样的共识机制。那么这次“会议”都达成什么共识了呢?比如说有人做好事了,大家都知道了;有人做坏事了,大家也都知道。所以这就是共识机制的最大的好处,就是解决了彼此不认识的人的互相不信任的问题;同时,在这个“会议”里谁不管谁做了什么,大家都是知道的。

    那么有人会问,如果这次“会议”的大部分人都叛变了,那岂不是导致会破坏掉这个“会议”,从而破坏掉整个区块链嘛?这种可能性当然是存在的了,但是参加这次“大会”的人都是来自世界各地,且彼此都不认识,想要控制他们是很难的。理论上,只要控制了51%的参加“会议”的人,就可以破坏掉整个网络,但是,如果你有控制51%人的能力,你还愿意去破坏整个区块链么?我觉得正常人都应该是拼命的去维护,所以,这也就是为什么区块链很难受到攻击的一个原因。

    image

    那么讲到这里,我们把共识机制类比成开“会议”,那么我们知道,如果开会的人多,最后达成结果的时间就比较久,开会的人少,最后达成结果的时间就比较快;放在区块链里,其实也是一样的。参加人数多了,大家就不容易被控制了,那么去中心化程度就越强了,那么达成一致的时间就久了;同理,参加的人数少了。大家就容易被控制,去中心化程度越弱了,但是达成一致的时间可能就会变快了。

    大家会发现,共识机制的去中心化强弱是和区块链的速度成反比关系:去中心程度越弱,安全性就越低,区块链的速度就越快;去中心化程度越强,安全性就会越高,区块链的速度就会越慢。当然影响区块链速度的因素还有其他方面,日后我们会再讲。不过,很多媒体拿速度慢来抨击比特币,这就说明很多媒体和项目方是没技术含量的。区块链上的共识机制有多种,但任何一种都不是完美无缺,只能说每种共识机制适用的场景是不一样的。

    2

    主流的共识算法

    image

    1、Pow工作量证明

    就是大家熟悉的挖矿,通过运算,计算出一个满足规则的随机数,即获得本次记账权,发出本轮需要记录的数据,全网其它节点验证后一起存储。

    优点:完全去中心化,节点自由进出。

    缺点:目前bitcoin已经吸引全球大部分的算力,其它再用Pow共识机制的区块链应用很难获得相同的算力来保障自身的安全;挖矿造成大量的资源浪费;共识达成的周期较长,不适合商业应用。

    2、Pos权益证明

    根据每个节点所占代币的比例和时间;等比例的降低挖矿难度,从而加快找随机数的速度。

    优点:在一定程度上缩短了共识达成的时间。

    缺点:与区块链的去中心化相背离。

    3、DPos股份授权证明机制

    类似于董事会投票,持币者投出一定数量的节点,代理他们进行验证和记账。

    优点:大幅缩小参与验证和记账节点的数量,可以达到秒级的共识验证。

    缺点:整个共识机制还是依赖于代币,在某种程度上趋向中心化。

    4、Pool验证池

    基于传统的分布式一致性技术,加上数据验证机制;是目前行业链大范围在使用的共识机制。

    优点:不需要代币也可以工作,在成熟的分布式一致性算法(Pasox、Raft)基础上,实现秒级共识验证。

    缺点:去中心化程度不如bictoin;更适合多方参与的多中心商业模式。

    5、权威证明PoA(Proofof Authority)

    所谓权威证明(PoA),就是使用一组所谓的“权限” 来允许人们在区块链上创建新的节点并确保区块链的安全。

    优点:出块时间快,便于高速并发应用落地,可以根据参与方角色分配不同节点、开源系统丰富。

    缺点:去中心化程度不如bictoin;更适合多方参与的多中心商业模式。

    **6、PBFT **:Practical Byzantine Fault Tolerance,实用拜占庭容错
    在保证活性和安全性(liveness & safety)的前提下提供了(n-1)/3的容错性。

    在分布式计算上,不同的计算机透过讯息交换,尝试达成共识。

    但有时候,系统上协调计算机(Coordinator / Commander)或成员计算机 (Member /Lieutanent)可能因系统错误并交换错的讯息,导致影响最终的系统一致性。

    缺点:

    • 当有1/3或以上记账人停止工作后,系统将无法提供服务;

    • 当有1/3或以上记账人联合作恶,且其它所有的记账人被恰好分割为两个网络孤岛时,恶意记账人可以使系统出现分叉,但是会留下密码学证据。

    7.dBFT: delegated BFT 授权拜占庭容错算法

    介绍:小蚁采用的dBFT机制,是由权益来选出记账人,然后记账人之间通过拜占庭容错算法来达成共识。

    此算法在PBFT基础上进行了以下改进:

    • 将C/S架构的请求响应模式,改进为适合P2P网络的对等节点模式;
      将静态的共识参与节点改进为可动态进入、退出的动态共识参与节点;

    • 为共识参与节点的产生设计了一套基于持有权益比例的投票机制,通过投票决定共识参与节点(记账节点);

    • 在区块链中引入数字证书,解决了投票中对记账节点真实身份的认证问题。

    优点:

    • 专业化的记账人;

    • 可以容忍任何类型的错误;

    • 记账由多人协同完成,每一个区块都有最终性,不会分叉;

    • 算法的可靠性有严格的数学证明。

    缺点:

    • 当有1/3或以上记账人停止工作后,系统将无法提供服务;

    • 当有1/3或以上记账人联合作恶,且其它所有的记账人被恰好分割为两个网络孤岛时,恶意记账人可以使系统出现分叉,但是会留下密码学证据。

    3

    现有各种共识机制的问

    A、计算能力浪费

    在工作量证明机制POW中,猜数字最快的通常是电脑计算能力强的。超强的计算能级仅用来猜数字,实在是浪费。

    B、权益向顶层集中

    在权益证明机制POS中,token的余额越多的人获得公示信息的概率越高,公示人会得到一定的token作为奖励,如此持有token多的人会越来越多,少的人越来越少。

    C、作恶成本低下

    在靠算力与权益的的多少来获得公示信息的权利的模式当中,当算力和权益向少数人集中之后,这些少数人如果想要做一些违反规则的事情是轻而易举的;在PBFT中,由所有人投票,如果一个没有任何token余额的人想要捣乱,那他几乎是完全没有利益损失。

    D、对于真正的去中心化构成威胁

    在工作量证明机制中,计算能力越强,获得记录权利的概率就越高。如果有人把很多人集中在一起来猜数字,把好多电脑的算力加在一起来用,那这些抱团的人就会更容易获得公示信息的权利,发展到最后可能公示权就直接掌握在这些人手里。

    本文内容来源于:皮蛋投资、海派部落、超级商人

    整理:Cynthia

    延伸阅读:区块链100讲:梅克尔树保障区块链数据不可篡改,想换根就要砍树!

    区块链100讲:公开密钥算法不能不知道的4个概念

    区块链100讲:据说,80%的人都搞不懂哈希算法

    区块链100讲:以太坊(Ethereum ETH)挖矿教程

    岗位招聘

    公司:奥林巴斯(OlympusLabs)

    岗位:全栈开发工程师

    人数:1~2人

    地点:深圳

    薪资:视能力而定

    报名:联系微信baobaotalk_com

    岗位要求:

    1、1年以上js开发经验:

    2、熟悉react native开发。

    3、熟悉nodejs后端开发。

    4、能够承担全栈开发任务。

    5、 对区块链本身有浓厚的兴趣。

    6、能够自我驱动,主动学习新技术。

    7、了解 golang/ solidity 优先。

    8、参与过开源项目优先。

    image

    奥林巴斯(OlympusLabs)是一个突破性的金融生态系统,定义了基于加密货币的金融产品的协议。奥林巴斯生态系统为投资者提供了一个全面的金融市场,充满了满足其投资需求的金融产品,服务和应用。奥林巴斯实验室为投资者提供了构建多元化投资组合的工具,以对冲其下行风险,并在所有市场条件下取得积极回报。欢迎加入Olympus Labs 的官方中文社区了解项目更多信息:https://t.me/olympuslabschina

    拓展阅读:奥林巴斯(OlympusLabs) CEO Kai Chen :

    Blockathon(北京)分享:风口之下,如何衡量区块链创业项目的价值

    image

    相关文章

      网友评论

        本文标题:区块链100讲:区块链的灵魂——共识算法

        本文链接:https://www.haomeiwen.com/subject/arbcsftx.html