区块链学堂——深入浅出共识机制(共识算法)

什么是共识?

在理解共识的概念之前,先简单粗爆地假设——咱们村有100人,现在要投票选举谁当村长,如果100人都亲自到场投出自己的一票,那参与度是100%;如果这100人选出了10个代表去投票,参与度则只有10%。这两种投票,哪一种投票更能代表民意呢?毫无疑问是前者,因为参与度更高;相反,后者选出了10位代表去投票,参与度低,难免以偏盖全。通过这个假设,我们可以对什么是参与度有一个简单粗暴的理解。

共识(Consensus)是一切交易的基础,达成共识越分散(参与度越高),其效率就越低,但满意度越高,因此也越稳定;相反,达成共识越集中(参与度越低),效率越高,也越容易出现独裁和腐败现象。

区块链技术的伟大之处在于去中心化和去信任(或降低信用成本),如何在一个完全陌生的网络环境里,通过代码撮合交易?言外之意,这些代码究竟发挥了何种神奇的魔力,让买卖双方产生信任呢?

答案就是共识机制

共识的重要性和意义

共识机制是区块链技术自带颠覆(改善)世界的光芒,得以被全世界逐步接受和认可的最大幕后功臣,它让互联网上,陌生人之间,在没有第三方作为信用背书的情况下,发生一切交易变成可能,它赋予了机械的代码以人性和温度。

在区块链中最常用的三种共识算法有工作量证明、权益证明和股份授权证明。学习共识算法是掌握区块链技术的必由之路,共识机制是区块链技术的核心点之一,一个区块链系统,共识机制设计得好与坏直接决定了系统的工作效率、运行成本、安全性、甚至毫不夸张地说,直接决定了系统存在的价值。

下面我们抛开所有术语,一起来探索这三种并不神秘的共识机制(算法)。

一:工作量证明PoW

顾名思义,工作量证明是证明你完全某项任务所花费的精力(包括时间、脑力、体力等),同时也证明你达到了某个水平。在生活中,它类似于毕业证、驾照,大学毕业证可以证明你读完了学制四年的大学课程,并通过了所有课程的考试,达到了所学专业的某个水平;驾照可以证明你学完了所有学时,并通过了四个科目的考试,达到了开车上路的水平。

在众多的区块链应用中,使用工作量证明作为共识算法的典型案例就是比特币,如果了解比特币,对比特币挖矿一定不会陌生(如果对挖矿不太了解,强烈建议先看看《区块链学堂——比特币挖矿(一)》),假设比特币的世界里有A、B、C、D四个人,现在这四个人都在争抢记账权限(挖矿),到底用什么方式在保证公开、公正、透明的情况下,快速决定把记账权限归谁呢?

科学家们脑洞大开,发明了工作量证明机制,即每一次要争夺记账权限,都给A、B、C、D四个人出一道题,谁要是第一时间算出了这道题的正确答案,就可以获得一个证书——工作量证明,凭这个证明,就可以获得记账权限。

优点:完全去中心化 缺点:挖矿造成了巨大的资源浪费(为了争夺记账权限不停地轮询计算,耗电量巨大),而且达成共识的周期过长,导致每秒仅仅只能做几笔交易(比特币每秒只能做7笔交易),不适合商业应用。

二:权益证明PoS

为了弥补工作量证明达成共识周期过长的缺点,科学家们发明权益证明共识算法,权益证明就是用股权代替PoW中的挖矿算力,来模拟比特币的挖矿过程。A、B、C、D四个人谁拥有的代币(类似于比特币等数字货币)数量多,谁就有机会获得记账权限。

这样做的好处显而易见,A、B、C、D都不需要拼命地算题,从而节省了大量算力和电费,同时大大缩减了达成共识的时间,但缺点也很明显:钱多的的人(节点),获得记账权的机率更大,这会使得共识成为少数有钱人的游戏,从而失去公正性。

三:股份授权证明DPos

股份授权证明类似于董事会投票,假设某个区块链系统的世界里有10万人,现在这10万人投票选出了4位股东作为代表来行驶记账权,这4位董事分别是A、B、C、D,在记账过程中,按顺序每位董事有两秒钟的时间来记账,如果在规定的时间内记账失败,则直接把权限交给下一位董事,这样原本10万人参与记账竞争的游戏,现在变成了4人。

这样做的优点是大幅缩减了参与验证和记账的数量,形成共识几乎可以达到秒级,缺点是固定数量的董事作为记账候选人,与去中心化的理念相违背,董事数量太少,参与度太低,也缺乏一定的代表性。

对比这三种最常用的共识算法,不难发现各有利弊,它们的诞生都围绕着一个核心——如何更加公平、公正、透明、轻量(不过多消耗资源)、高效(更快)地达成共识,挑选出记账的人(节点)。

文中尽可能地避免引用专业名词和术语,只是为了更加通俗易懂地讲明白三种不同共识算法的定义,以及各自的优缺点,为后面更加深入学习区块链技术打下基础。欢迎大家留言讨论,共同学习进步。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

3 条评论
登录 后参与评论

相关文章

来自专栏区块链大本营

解密区块链生态的技术信任

36514
来自专栏Seebug漏洞平台

智能合约游戏之殇——类 Fomo3D 攻击分析

作者:LoRexxar'@知道创宇404区块链安全研究团队 发布时间:2018/08/23

934
来自专栏区块链

解释区块链 - 工作证明如何实现去信任化的共识

比特币是区块链技术应用的经典实例,但是区块链这一技术往往很难被人们所理解。这是因为区块链技术的核心常常被一些复杂却并不重要的细节所掩盖。本文的目的就是建立对计算...

74811
来自专栏企鹅号快讯

四个问答让你秒懂区块链原理及应用

作者:Mr.Fintech 来源:thinkfintech 从比特币(Bitcoin)开始,区块链技术去中心化及数据无法被窜改的特性日渐被认为可能颠覆人类数千年...

1829
来自专栏企鹅号快讯

信用是一个道德问题还是数学问题?区块链给了答案

1915年5月,英国人类学家布罗尼斯拉夫·卡斯珀·马林诺夫斯基来到了位于新几内亚的特罗布里恩德群岛(Trobriand Islands)进行研究,发现了当地土著...

22510
来自专栏区块链讲解

举例说明区块链技术的含义

区块链是什么,区块链系统,区块链模式,区块链软件,区块链APP 左彬: I ⑧ 8 二 7 ④ 1 肆 7  I ④,区块链商城,区块链平台,区块链有什么用。

643
来自专栏企鹅号快讯

极简区块链手册:什么是区块链?什么是比特币?

前言:疯狂的时代 这个时代变化太快,互联网金融刚刚热了几年,金融科技便取而代之。一波波新概念让我们眼花缭乱,在不断鼓噪的创新颠覆中,莫名的焦虑感笼罩着所有人。相...

1949
来自专栏区块链大本营

BTA | PCHAIN曹锋:跨链使区块链大规模应用成为可能

34411
来自专栏智能计算时代

区块链101:区块链技术是如何工作的?

正如我们的指南中所说的“区块链技术是什么?”有三种主要的技术可以组合成区块链。没有一个是新的。相反,它是他们的业务流程和应用程序。 这些技术包括:1)私有密钥加...

3448
来自专栏企鹅号快讯

POW和POS机制究竟是什么?一

区块链是去中心化的,没有中心记账节点,所以需要全网对账本达成共识。目前有POW、POS、DPOS、POOL四种共识机制。 今天我们用通俗的例子来分析下其中的两种...

1959

扫码关注云+社区