您当前的位置:主页 > 区块链 >

区块链共识和最终性简史:从比特币到波卡

2019-05-09 10:17 来源:互联网 编辑:运营003
摘要: 
为了更好地理解为什么我们需要在区块链技术中引入共识算法,我们需要了解比特币的区块链技术都解决了哪些问题

前言:去中心化特性决定了区块链有达成共识的需要。区块链的共识机制从比特币的PoW开始逐渐发展出新模式,如PoS、BFT等。而波卡采用了混合的共识算法。共识机制一直都会是区块链技术发展的重点领域。本文作者Edward A Thomson,由“蓝狐笔记”社群的“HQ”翻译。

为了更好地理解为什么我们需要在区块链技术中引入共识算法,我们需要了解比特币的区块链技术都解决了哪些问题?最为关键的问题有两个:

双重支付

中心化的货币发行

本文首先介绍比特币解决上述问题的方法,其次讨论共识的一些精妙之处,如容错性和最终性(最终确定性的简称),最后以一些项目为例子进行讨论,以及探讨未来的方向。

区块链共识和最终性简史:从比特币到波卡

比特币如何解决双重支付和货币发行问题?

要理解为什么容错性对区块链如此重要,有必要解释一下比特币解决的两个问题(双花和中心化货币发行)。

换句话说,为了防止任意超发,比特币以一种可预测、透明且去中心化的方式发行货币。管理货币转账和发行过程的机制的就是共识算法,能够确保整个交易历史的一致性(共识)。

共识算法在区块链技术时代并不是新玩意儿,强调比特币为什么具有创新性是很重要的:因为在公有的无须许可的网络中,即使有潜在的恶意行为者出现,比特币也可以达成共识

PoW的共识算法

众所周知,像比特币这种PoW的区块链,节点通过获得创建新区块所产生的新币奖励,来维护整个网络的安全。该奖励提供了一种激励机制,使矿工在尽可能快速创造新区块的同时,始终表现诚实。

获胜的关键在于,创造新区块需要解出一个独特且计算困难的数学难题。它数学题的难度从根本上限制了新区块产生的速度,且答案的唯一性可以使网络识别出获胜节点(通过他们的地址)。虽然恶意行为不会受到特意惩罚,但并没有动力去做,因为不诚实的行为存在机会成本。

存在的一个问题是,节点之间的通信不是即时的,因此处于网络中不同地理区域的节点可能会收到自称已解出难题的不同区块(网络分区/分叉)。两个不同的节点 (矿工) 有可能碰巧都合法地解出了难题,但是由于全网不同区域间不是即时通信,网络中的不同分区就会选择基于不同的获胜区块来构建区块链(临时性)。这会导致临时分叉,但由于总有新区块被添加到每个分支上,最终总会出现一个较长的分支。

选择最长的区块分支,实际上是比特币为实现共识而制定的规则,该规则被称为最长链规则。较短分支上的区块则会被丢弃,并且所有不在主分支上的交易最终都会被添加到主分支的区块中。请注意,非法交易(例如:那些试图进行双重支付的交易)则不会被包含在构成最长链的区块中。包含此类交易的区块也将被丢弃,因为任何“货币”都只能被花费一次。这里需要注意的是,大多数节点都是诚实的(至少51%),并且这些节点不会尝试去破坏协议。

理论上讲,一条新的最长链可以通过拥有更强的挖矿算力创造出来。但是这对于靠近“链的头部”的区块(最新产生的区块)来说,风险是最大的。区块在整个链上的深度越深,它被逆转的可能性就越小。

这说明PoW 链上的区块总是会有被逆转的可能,那么这些区块中的交易也就可能都没发生。在一条被恶意创造的链上,交易是不会被保存进新区块中,原因如上所述。

比特币白皮书中建议,等待6 个区块的时间便足以确保交易不会被拒绝,因为此时区块被丢弃的可能性非常小。我们可以从这里认识“最终确定性”(以下简称最终性):无法被逆转的区块可以被称作是“最终确定的”。在比特币及其他PoW 区块链中,最终性并不是那么完美,因为区块总有被逆转的可能。

以上说明,比特币具有强大的抵抗故障的鲁棒性,并且可以在公共和无须许可的网络中以去中心化的方式发行货币。通过探索确保最终性的方法,能够确保更高水平的安全性。这一观点将在后文的容错部分中进行探讨。

PoS区块链

还应该注意的是,一些权益证明(PoS) 区块链的运行方式与比特币类似。大多数 PoS 链用选举产生区块来代替挖矿。与PoW链让获胜矿工创建下个区块不同,PoS链的新区块是由随机选择的节点(“领导者”)来创建。

[ 编辑: 运营BX01 ]

中国金融领域第一媒体

更多服务
友情链接

京ICP备11011451号-1

举报热线:(010)12377

举报邮箱:xinhua_ljzjr#ljzjr.cn(#替换@)

合作QQ:1447260813

中国金融时报网 版权所有 Copyright © 2010 - 2018 ljzjr.cn All Rights Reserved.