首页
学习
活动
专区
工具
TVP
发布

区块链小白到高手的秘籍

学 区 块 链

来 听 话 F M

音频解读区块链:

以下是中文笔记

导读:

我们前面已经讲到了什么是区块链,再到全球各国对区块链的政策,再到区块链的诞生,再到今天第四期区块链的共识机制。相信正在听音频的你对区块链也有了一点点的了解,听众肯定会好奇,什么是区块链的共识机制?

如果说共识是区块链的基础,那共识机制就是区块链的灵魂。我们在解释什么是区块链时,可以用一句简洁明了的去中心化分布式账本来概括,但是在这个账本中,是如何对在几乎相同时间内的产生的事物前后排序的,就涉及到区块链网络的共识机制。所以共识机制,就是在一个时间段内对事物的前后顺序达成共识的一种算法。

共识机制有什么用?

它就像一个国家的法律,维系着区块链世界的正常运转。在区块链上,每个人都会有一份记录链上所有交易的账本,链上产生一笔新的交易时,每个人接收到这个信息的时间是不一样的,有些想要干坏事的人就有可能在这时发布一些错误的信息,这时就需要一个人把所有人接收到的信息进行验证,最后公布最正确的信息。

目前常用的共识机制有3种:

1、工作量证明机制(Proof of Work - PoW):依赖机器进行数学运算来获取记账权,资源消耗相比其他共识机制高、可监管性弱,同时每次达成共识需要全网共同参与运算,性能效率比较低,容错性方面允许全网50%节点出错。是我们最熟知的一种共识机制。POW就是工作量越多,收益越大。

PoW的三个优点:

1)算法简单,容易实现;

2)节点间无需交换额外的信息即可达成共识;

3)破坏系统需要投入极大的成本;

2、权益证明机制(Proof of Stake--PoS):它类似股权凭证和投票系统,因此也叫“股权证明算法”。由持有最多(token)的人来公示最终信息。主要思想是节点记账权的获得难度与节点持有的权益成反比,相对于PoW,一定程度减少了数学运算带来的资源消耗,性能也得到了相应的提升,但依然是基于哈希运算竞争获取记账权的方式,可监管性弱。该共识机制容错性和PoW相同。它是Pow的一种升级共识机制,根据每个节点所占token的比例和时间,等比例的降低挖矿难度,从而加快找随机数的速度。

优点:在一定程度上缩短了共识达成的时间;不再需要大量消耗能源挖矿。

3、拜占庭共识算法(Practical Byzantine Fault Tolerance- PBFT)

也是一种常见的共识证明。它与之前两种都不相同,PBFT以计算为基础,也没有token奖励。由链上所有人参与投票,少于(N-1)/3个节点反对时就获得公示信息的权利。拜占庭共识算法在保证活性和安全性(liveness & safety)的前提下提供了(n-1)/3的容错性。

在分布式计算上,不同的计算机透过讯息交换,尝试达成共识;但有时候,系统上协调计算机(Coordinator / Commander)或成员计算机 (Member /Lieutanent)可能因系统错误并交换错的讯息,导致影响最终的系统一致性。

拜占庭将军问题就根据错误计算机的数量,寻找可能的解决办法,这无法找到一个绝对的答案,但只可以用来验证一个机制的有效程度。

下面我们再跟大家讲讲以上几种共识机制的不足:

1、计算能力浪费

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

2、区块的确认时间难以缩短;商业应用效率底下。

3、权益向顶层集中

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

4、作恶成本低下

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

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

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

在权益证明机制POS中,权益越大的人获得记录权利的概率越高,而记录的人就会有奖励token ,这样一来这些人就会越来越富有,贫富差距就会越来越大。持有token少的人几乎都没有话语权了。

权利掌握在少数人手中,这有违区块链去中心化理念。目前现有的共识机制都不算完美,在一些实际应用场景弊端很多。

下面再给大家介绍两个不常用的共识机制吧~

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

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

此算法在PBFT基础上进行了以下改进:将C/S架构的请求响应模式,改进为适合P2P网络的对等节点模式;静态的共识参与节点改进为可动态进入、退出的动态共识参与节点;为共识参与节点的产生设计了一套基于持有权益比例的投票机制,通过投票决定共识参与节点(记账节点);在区块链中引入数字证书,解决了投票中对记账节点真实身份的认证问题。

优点:

1)专业化的记账人;

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

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

4)算法的可靠性有严格的数学证明;

缺点:

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

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

以上总结来说,dBFT机制最核心的一点,就是最大限度地确保系统的最终性,使区块链能够适用于真正的金融应用场景。

5.POOL验证池

基于传统的分布式一致性技术,加上数据验证机制。

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

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

到目前为止,尽管区块链上的共识机制有很多种,但没有一种是完美无缺的,也就意味着没有一种是适合所有应用场景的。本文重点介绍现有各种共识机制的问题和区块链常见的共识机制,为有关机构研发区块链应用提供参考。

下节课我们将给大家介绍《区块链的扩容与分叉》

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180311G0594100?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券