区块链最长链共识机制

导 读

区块链解决了在不可信的通道上传输可信信息、价值转移的问题,而共识机制解决了区块链如何在分布式场景下达成一致性的问题。所以我认为区块链的伟大之处就是它的共识机制在去中心化的思想上解决了节点间互相信任的问题。区块链能在众多节点达到一种较为平衡的状态也是因为共识机制。尽管密码学占据了区块链的半壁江山,但是共识机制是保障区块链系统不断运行下去的关键。今天我将给大家讲讲区块链的工作量证明、最长链共识机制,还有权益证明分别都是什么意思。

中心化的共识机制如何实现?

在一个中心化的结构体系中,系统的共识是由中心决定的,各参与方只需要服从中心下达的命令就可以了。因此,中心化体系共识建立是极为高效的。这也就是为什么中心化的机构要比去中心化的机构相对来说效率更高的缘故。比如说,你上一所学校,什么时间之前要交多少人民币学费,要打到哪个账号,到哪栋楼报道,基本都是学校规定的,你服从就行。如果你不按照规定的时间、地点和方式进行报道,你有可能损失你上学的机会,从而没有资格加入这个中心化的体系。所以你一定会按照要求进行报到。这种中心化的方式也会让入学报名工作井井有条,并且快速完成程序。

中心化和去中心化区别

去中心化的共识机制如何实现?

而在一个去中心化的结构体系中,由于各个参与方的地位是平等的,当出现分歧的时候,如何达成共识就成了问题。试想一下,如果你和学校、老师之间的地位是平等的,如果办理入学,会出现什么样的情况?是不是很有意思。在报名环节,你和同学们、老师、校长最有可能商议出来,谁年纪最大听谁的。这样一种协商后的达成统一的规则,就叫共识机制。

上次了解过在中本聪之前有很多的虚拟货币的尝试,其中有一位叫戴伟(W Dai)密码学专家,不知道是否还记得,他发明了匿名的、分布式的电子加密货币系统B-money,实现了点对点的交易和不可更改的交易记录。为什么B-money没有成功呢?因为在B-money体系中,每个节点分别记录自己的账本,这不可避免地会产生节点间的不一致。戴伟为此设计了复杂的奖惩机制,但是并没有从根本上解决问题。

由此可见,一个设计精妙、实际操作起来简单的共识机制是一个分布式的体系能够顺利自运转下去的关键所在。简而言之,共识机制就是解决达成共识的依据,也是区块链的核心之一,它使得去中心化的体系能够公共维护同一个账本。目前比较知名的共识机制有工作量证明(Pow)和权益证明(PoS)。

早期大部分区块链都是模仿比特币,实行工作量证明。我这里讲一下比特币的共识机制,工作量证明和最长链机制。

上次我们讲了英国的密码学专家亚当.贝克(Adam Back)1997年发明了哈希现金(Hashcash),就是用工作量证明系统(Proof Of Work)这个方法解决了互联网垃圾邮件问题。它要求计算机在获得发送信息权限之前做一定的计算工作,这对正常的信息传播来讲,几乎很难察觉,但是对向全网大量散布垃圾信息的计算机来说,就成为了巨大的工作量和负担。在比特币之前,哈希现金被用于垃圾邮件的过滤,也被微软用于Hotmail、Outlook等产品中。

工作量证明

工作量证明,简单说就是一份证明,用来确认你做过一定量的工作。你拿到了大学的毕业证,能够客观证明你进行过大学四年的学习,具备一个大学生的学习能力。通过对工作的结果进行认证来证明完成了相应的工作量,这样的方式是一种非常高效的方式。工作量证明,虽然工作量证明很公平,然而对它大家也有一些批评。一个常见的指责就是消耗能源,因为节点进行算力竞赛是要消耗电力的。我们在前面讲到比特币的挖矿的时候,我们了解过电力占挖矿成本中很大的比重,就可以实际感受到工作量证明的对于能量消耗是很大的。

最长链机制

一般的区块链网络为了长久发展下去,都会要求所有节点遵守一个公式,就是所有保存到本地的区块链,都必须是被本地节点验证通过的最长链。由于区块链的每个区块必须引用它的上一个区块,所以最长链是最难推翻的。

那么,怎么来保证最长链呢?理论上,矿工可以在任意区块的基础上开始计算下一个区块的。但只有最长区块链上的区块才能获得系统的承认并得到挖矿奖励。打包区块获得的奖励只有在该区块上被增加之后才能获得使用。也就是说,如果你是矿工,你挖出来了新的区块,你获得了新生的比特币奖励,只有往后诞生了99个区块之后,你才能动用这个区块里的奖励。这是保证区块链不发生分裂的重要机制。

权益证明

“权益证明”是和 “工作量证明”相对应的另外一种共识机制。“权益证明”是根据你在这个网络里拥有币的多少来竞争记账的权力,简单的说,如果你持有的币越多,你的记账的权力的获取概率就越大,这种证明机制在一定程度上缩短了共识的达成时间,也不再需要大量消耗能源挖矿。简而言之「持有越多,获得记账权力概率越大」,这种共识机制叫“权益证明”。说的通俗点就是在这个共识机制下,你买入的币越多,获得在这个网络里的话语权的概率就越大。币最多的人,就能得到话语权。

币 龄

这里要讲一下“币龄”这一概念,也就是数字货币年龄。我们之前学过,UTXO(Unspent Transaction Output)是躺在你的地址里还没有花出去的币。在比特币世界里,UTXO所位于区块的高度与当前最长链高度之间的差值决定着该笔Unspent的币龄的大小,差值越大,币龄越大,差值越小,币龄越小。如果你花费了这个UTXO,也就代表着这个币龄被消耗了。举个例子,你的朋友之前转给了你1枚比特币,这笔交易被矿工在42万个区块高度时打包。现在的区块高度是48万,到目前为止你还没有把这枚比特币花出去。那么你有的这枚比特币的币龄是6万,你的权益能力是6万*1枚=6万。假设全网的UTXO加起来的币乘以币龄是1000亿,那么你进行记账并获得奖励的概率是一千万分之六。在PoS机制里,拥有币和币龄越高的节点拥有着越高产生新区块的权力。简单来说,就是你拥有越多的币,并且你拥有的币的币龄越久,就有可能获得记账权的概率越大。这一段是否有点烧脑?建议你多听两遍,就明白其中的奥妙。

工作量证明+权益证明=混合共识机制

由于工作量证明带来的能源消耗和其他缺陷,越来越多的区块链项目开始抛弃原来单一的工作量证明,开始实行工作量证明+权益证明的混合共识机制。以太坊的设计也是在后期会由工作量证明转换成为权益证明共识机制。而真正将权益证明共识机制运用起来的区块链项目早在2012年就诞生了,中文名字叫点点币,英文名叫PeerCoin,由一个叫山尼·金Sunny King的匿名极客开发出来的。

股份授权证明机制(DPoS)

它类似于董事会投票,持币者投出一定数量票,代理他们进行验证和记账。另外还有其他的一些方案,比如:

燃烧证明(PoB,Proof of Burn)、

沉淀证明(PoD,Proof of Deposit)、

能力证明(PoC,Proof of Capacity)、

消逝时间证明(PoET,Proof of Elapsed Time)等

这些方案目前还不够成熟,你如果有兴趣,可以在网上进行搜索了解一下。

总 结

好了,今天我们学习了 几个新知识,我们来说说最重要的工作量证明PoW,最长链机制,以及权益证明PoS。我们来简单回顾一下它们的概念:

1

工作量证明,是用来解决比特币随意记账的一种方法,就像我们需要毕业证书来证明我们完成大学四年的学习一样,比特币也需要通过「工作量证明」机制来确保记账权利的宝贵性。

2

最长链机制,是为了保证区块链网络能够长久发展下去,要求所有节点都遵守的一个公式。由于区块链的每个区块必须引用它的前一个区块,所以最长链也是最难推翻的,所有节点都需要满足最长链机制。

3

权益证明,是另一种保证比特币交易效率的机制,它能根据你在这个网络里拥有币的数量来竞争记账的权力,你持有的币越多,币龄越久,获得记账权力的概率就越大。

另外,我们还提到了“币龄”,简单来说,就是你拥有越多的币,并且你拥有的币的币龄越久,就有可能获得记账权的概率越大。混合共识机制就是工作量证明和权益证明的综合使用。还有股份授权证明机制类似于董事会投票,持币者投出一定数量票,代理他们进行验证和记账。

今天的知识你GET了吗?

让我们的思维一起碰撞出更多智慧的火花吧!

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20171220G05MLV00?refer=cp_1026

扫码关注云+社区