前言:去中心化特性决定了区块链有达成共识的需要。区块链的共识机制从比特币的PoW开始逐渐发展出新模式,如PoS、BFT等。而波卡采用了混合的共识算法。共识机制一直都会是区块链技术发展的重点领域。本文作者EdwardAThomson,由“蓝狐笔记”社群的“HQ”翻译。
为了更好地理解为什么我们需要在区块链技术中引入共识算法,我们需要了解比特币的区块链技术都解决了哪些问题?最为关键的问题有两个:
双重支付
中心化的货币发行
本文首先介绍比特币解决上述问题的方法,其次讨论共识的一些精妙之处,如容错性和最终性,最后以一些项目为例子进行讨论,以及探讨未来的方向。
比特币如何解决双重支付和货币发行问题?
要理解为什么容错性对区块链如此重要,有必要解释一下比特币解决的两个问题。
换句话说,为了防止任意超发,比特币以一种可预测、透明且去中心化的方式发行货币。管理货币转账和发行过程的机制的就是共识算法,能够确保整个交易历史的一致性。
声音 | TOP Network CMO:区块链技术发展更需和其他技术融合:在今日金色财经对话TOP Network的线上直播中,针对“区块链技术区真正发挥价值还需做哪些事情?”的提问,TOP Network CMO Noah Wang发言指出:我认为首先是“链”的技术要过硬。到目前为止,即使是业内知名公链以太坊也因为性能问题而无法在现实生活中大规模应用,甚至在以太坊上跑个小游戏都有可能导致区块链拥堵。这就是当前区块链技术存在的通病,也是区块链技术一直没能大范围落地的重要原因。但可喜的是,目前很多新生的公链通过分片、跨链、侧链等各种技术正在解决或者已经解决了区块链TPS的问题。当然,光有过硬的技术实力还是不能让区块链技术发挥真正的作用。因为现实生活中的业务是复杂多样的,只靠区块链技术可能有些问题很难解决。比如溯源问题,虽然区块链能够起到作用,但是如果不和大数据、人工智能结合,或者不跟监管部门合作,区块链能起到的作用是非常有限的。所以,对于当前的区块链技术发展来说,一是要有扎实的技术实力,二是能够和其他技术融合,三是需要跟企业和机构进行合作。[2020/2/12]
共识算法在区块链技术时代并不是新玩意儿,强调比特币为什么具有创新性是很重要的:因为在公有的无须许可的网络中,即使有潜在的恶意行为者出现,比特币也可以达成共识。
声音 | 中国银联周钰:区块链面临3大挑战:今日在南京举行的中国区块链技术与应用高峰论坛上,中国银联电子支付研究院高级主管周钰认为区块链在技术、业务、标准层面存在3大挑战。技术层面表现在:如何保证各参与方的数据隐私、交易速度无法达到成熟的中心化系统的水平、如何实现系统随业务量的增长横向扩展。业务层面表现在:区块链真正的必要性应用场景在哪里?无法定量衡量区块链带来的实际利益。法律合规和业务合规性如何保证。标准层面表现在:在存储/通讯/传输/网络安全等方面都未形成成熟的方案、区块链之间的互操作尚无标准。[2019/6/1]
PoW的共识算法
众所周知,像比特币这种PoW的区块链,节点通过获得创建新区块所产生的新币奖励,来维护整个网络的安全。该奖励提供了一种激励机制,使矿工在尽可能快速创造新区块的同时,始终表现诚实。
获胜的关键在于,创造新区块需要解出一个独特且计算困难的数学难题。它数学题的难度从根本上限制了新区块产生的速度,且答案的唯一性可以使网络识别出获胜节点。虽然恶意行为不会受到特意惩罚,但并没有动力去做,因为不诚实的行为存在机会成本。
声音 | 雄岸科技姚勇杰:雄岸科技区块链研究和相关业务没有停止:据格隆汇消息,5月8日晚间,香港主板上市公司雄岸科技(01647.HK)发布公告称“\"李笑来辞任执行董事,专注区块链前沿领域研究。”雄岸科技联席主席姚勇杰对此表示,布局工业大麻正处于时间点,但雄岸科技区块链研究和相关业务没有停止,目前雄岸部分区块链业务已经产生盈利。此外,李笑来此前已多次表达想要从事区块链前沿研究领域工作的想法,公司非常尊重他个人选择。[2019/5/9]
存在的一个问题是,节点之间的通信不是即时的,因此处于网络中不同地理区域的节点可能会收到自称已解出难题的不同区块。两个不同的节点有可能碰巧都合法地解出了难题,但是由于全网不同区域间不是即时通信,网络中的不同分区就会选择基于不同的获胜区块来构建区块链。这会导致临时分叉,但由于总有新区块被添加到每个分支上,最终总会出现一个较长的分支。
选择最长的区块分支,实际上是比特币为实现共识而制定的规则,该规则被称为最长链规则。较短分支上的区块则会被丢弃,并且所有不在主分支上的交易最终都会被添加到主分支的区块中。请注意,非法交易则不会被包含在构成最长链的区块中。包含此类交易的区块也将被丢弃,因为任何“货币”都只能被花费一次。这里需要注意的是,大多数节点都是诚实的,并且这些节点不会尝试去破坏协议。
声音 | 链塔智库:老牌BBS社区与区块链创业公司展开了激烈竞争:据链塔智库,老牌BBS社区与区块链创业公司展开了激烈竞争。区块链社区网络平台的激励机制构建还不够完善,滋生了大量工作室控制批量账号恶意刷赞赚取奖励的现象,给社区平台生态构建造成极大影响。区块链社交平台的最大优势在于独特运营机制所保证的高质量内容生产,因此,如何优化激励机制,保证内容质量就成了社交平台今后发展的关键。[2018/8/27]
理论上讲,一条新的最长链可以通过拥有更强的挖矿算力创造出来。但是这对于靠近“链的头部”的区块来说,风险是最大的。区块在整个链上的深度越深,它被逆转的可能性就越小。
这说明PoW链上的区块总是会有被逆转的可能,那么这些区块中的交易也就可能都没发生。在一条被恶意创造的链上,交易是不会被保存进新区块中,原因如上所述。
比特币白皮书中建议,等待6个区块的时间便足以确保交易不会被拒绝,因为此时区块被丢弃的可能性非常小。我们可以从这里认识“最终确定性”:无法被逆转的区块可以被称作是“最终确定的”。在比特币及其他PoW区块链中,最终性并不是那么完美,因为区块总有被逆转的可能。
社科院专家:十年来区块链技术没有大差异:日前,中国社科院金融研究所支付清算研究中心特约研究员赵鹞受访时指出,不管是纵向上来看,从十年前区块链技术出现到今天,还是横向上来看,目前市场上相关企业掌握的区块链技术,都没有太大的变化和差异,区块链应用需要解决的是基础理论上的问题,这是政府部门、科研机构牵头承担的任务。[2018/3/14]
以上说明,比特币具有强大的抵抗故障的鲁棒性,并且可以在公共和无须许可的网络中以去中心化的方式发行货币。通过探索确保最终性的方法,能够确保更高水平的安全性。这一观点将在后文的容错部分中进行探讨。
PoS区块链
还应该注意的是,一些权益证明区块链的运行方式与比特币类似。大多数PoS链用选举产生区块来代替挖矿。与PoW链让获胜矿工创建下个区块不同,PoS链的新区块是由随机选择的节点来创建。
被选中的概率是由权益的数量来决定的。这个理念是,持有的币越多,说明更希望区块链取得成功,因此这样的节点将获得更大概率来创建下个区块。
NXT是最早的PoS链之一,使用这种随机领导者的方法来创建新区块。NXT的共识机制与比特币相同:创建的新区块都会被添加到最长链上。通过遵守这个规则,任何分叉问题都能够被解决,节点则继续在最长链上创建区块。
拜占庭协议与容错性
当参与者出现违反协议的操作时,就会出现错误。对区块链来说,因为可能存在恶意行为者试图利用协议的弱点,所以我们希望协议足够安全,可以抵御任何故障。任何可抵御任意故障的协议,也足够安全去防范随机故障及恶意行为者。
即使有一小部分参与者的行为表现异常,拜占庭容错协议也能正常工作。行为不当的节点,可能是发生了意外故障,也可能是恶意行为。当然,这里假设大多数参与者都是遵守协议的。这种观点在一篇名为“拜占庭将军问题”的研究论文中提到。该问题讨论的是,多个参与者如何就一个简单的信息达成一致。
当在拜占庭协议中达成共识时,商定好的结果一定是正确的。也就是说,商定的结果可以被看作是确定性的正确,而不是概率性的。当应用在区块链时,拜占庭算法保证了交易的最终性。这意味着一旦在区块中达成协议,区块就会最终确定,其中的交易也不能被逆转。
显然这与比特币和其他PoW链不同。如上所述,那些链仅能达成一定概率的确定性。比特币的共识类型通常被称为“中本聪共识”,很容易看出来,为什么它会和拜占庭容错混淆,因为二者都是可容错的,但只有后者才能保证最终确定性。更深层次的混淆,来自于比特币的区块创建与共识算法高度重叠。但事实上并不需要这样。
以太坊未来路线的提案之一,就是像现在一样继续由矿工生产区块,但会让一些节点充当验证者来提供最终确定性,从而加强共识。验证者在已创建的区块上进行投票。通过给某个区块投票,即表示他们认为该区块是正确的。一旦有三分之二的验证者投票,那么这个区块就可以被认为是最终确定的了。这种在挖矿后的拜占庭共识机制被称为“最终确定性组件”。
发展探索
大多数正在开发的新项目都将区块创建与共识进行分离。未来的一些区块链也将采用混合共识算法。这一部分将介绍一些正在探索的未来方向。
Cosmos
Cosmos的区块创建也是由随机选择的领导者完成,但是Cosmos的共识中没有最长链规则。相应地,它采用了被称为Tendermint的拜占庭算法。这意味着每个区块都能保证最终确定性。此外,如果验证者不能就单个区块达成共识,按照Cosmos的设计,Cosmos将会暂时停下来,以防止分叉。
Polkadot波卡
Polkadot采用混合共识算法。区块将由随机领导者创建,该领导者会将下个区块添加到最长链上。Polkadot还将采用拜占庭协议,但不是每轮投票只产生一个区块,而是在一次投票中最终确定多个区块。
采用混合共识机制的一个好处是,区块链可以在最长链上连续生产区块,同时在不影响链活性的情况下,最终实现拜占庭最终确定性。
目前在Polkadot当前的测试网络PoC-2中,其共识类似于Cosmos。区块由随机选择的验证者节点生成,在通过拜占庭协议将其最终确定后,再生产下个区块。
Cardano
简单来说,Cardano的共识算法类似于比特币。与NXT相同,区块的生产由随机选择的领导者完成。Cardano团队已竭尽全力解决了一些在随机选择领导者时出现的问题。他们已经确保选择领导者的随机性与目前比特币出块方式一致。
然而比特币是没有领导者的,区块由随机矿工生产。挖矿难题的解集将分布在拥有最大哈希算力的矿工附近。
Ethereum以太坊
以太坊也曾经尝试通过加入一个在出块后保证最终确定性的步骤,来加强共识算法的方式。区块仍旧通过PoW生成,但是会有一组验证者节点对已出区块的正确性进行投票。这就是所谓的“最终确定性组件”。也就是说,该方法结合了最长链规则和拜占庭容错算法:即两种共识算法的混合。
最近似乎有迹象表明,以太坊将可能使用权益证明取代PoW,使以太坊与正在开发的新链保持一致。区块将由一个随机领导者来创建,然后由一个最终确定化组件来最终确定。
优化方法
区块链的“旧时代”主要围绕使用PoW挖矿及使用最长链规则,来增强网络共识。后来为了用更节能的方式,开始尝试使用PoS取代挖矿。过去的PoS链仍然使用最长链规则;然而,近年来的趋势是将拜占庭容错协议也纳入共识机制:而不使用最长链规则,或者让两者共存。
在下一篇文章中,我们将更加深入地探讨Polkadot的共识算法是如何工作的。他们还制定了一份标准规范,但目前尚未正式发布。
------
风险警示:蓝狐笔记所有文章都不构成投资推荐,投资有风险,投资应该考虑个人风险承受能力,建议对项目进行深入考察,慎重做好自己的投资决策。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。