区块链共识的确定性

今天,我刷信用卡买了一杯好喝的抹茶拿铁(这要感谢在伯克利的 Asha)。刷卡后,作为对我支付金额的交换,店老板热情地把茶递给我。因为老板已经确认了交易完成并且之后这笔交易不会被撤销,他一定能够获得我支付的美元金额。 换句话说,交易已经确定(finalized)。 [作者编辑:感谢 Lawson Baker 和 Ari Paul 指出信用卡最终确定交易背后日益增加的复杂性。(请看我在右边标记出来的 Lawson 的回应)。而现金交易则实现了对财产的即时确定性。]

在区块链设置中,确定性 是保证了所有有效区块一旦被提交到区块链上就不会被撤销。当用户进行交易时,他们也希望在转账完成后能够保证转账操作不能随意更改或撤销。因此,在设计区块链共识协议时,确定性变得至关重要。目前基于中本聪共识的系统中,51% 攻击和自私挖矿行为就是因为允许有撤销区块的可能,才会威胁到系统的健全(例如,如果作恶者累积了 51% 的挖矿能力,他们就可以进行双花攻击)。这种协议提供了概率性确定,而其他一些协议则实现了绝对性确定。

确定性的类型

概率性确定(Probabilistic Finality) 是基于区块链的协议提出的确定性类型(例如,比特币的中本聪共识)。在概率性确定中,包含交易的区块在链上埋得越深,该交易被撤销的可能性越低。因为某一区块后面的区块越多,包含该区块的(分叉)链就越可能是最长的链。 这就是为什么建议等到包含交易的区块在比特币区块链的深度为 6 个区块时才能确认交易完成(大约需要 1 小时),因为此时撤销交易的可能性非常低。

绝对性确定(Absolute Finality) 是基于拜占庭容错(PBFT)的协议(例如 Tendermint)提出的确定性类型。在绝对性确定中,一旦交易被包含在区块中并添加到区块链上,该交易就会被立即视为最终确定。在这种情况下,一个验证者会先提出一个区块,而这个区块必须获得委员会中足够多验证者的认可才能提交到区块链上。

还有一个概念叫经济确定性(Economic Finality),也就是说撤销区块所需的资金成本非常高。在使用罚没机制的权益证明基础系统(例如 Casper FFG,Tendermint)中,如果权益持有者在两个(校注:相同高度的)区块上都签了名,那么他们所有的权益都会被没收,这就是损害确定性的昂贵代价。例如,一个有 100 位权益持有者的网络,每位权益持有者持有价值 100 万美元的权益,那么整个网络一共有价值 1 亿美元的权益。 如果有两个区块出现在区块链的同一高度,命名为 B 和 B',此时 B 获得了 66% 的权益持有者的投票(6600万美元),B' 也获得了 66% 的投票(6600万美元),那么 B 和 B' 的交集(至少有 33% 恶意的权益持有者)将失去他们所有的权益(至少 3300 万美元)。

CAP 定理与确定性

看起来似乎绝对性确定比概率性确定更可行,但仍有一些基本权衡表明选择支持概率性确定的区块链更好。考虑如何在概率性确定与拜占庭容错确定性之间取得适当的平衡时,Eric Brewer 的 CAP 定理就发挥了作用。CAP 定理指出,在网络分区的情况下,分布式系统只能满足一致性或可用性。 满足一致性的系统会停止运行,不让错误的交易通过。而满足可用性的系统即使允许错误的交易通过也会继续运行 。一致性的系统具备拜占庭容错确定性(校注:即绝对性确定),而可用性的系统具备概率性确定。

在支付的场景中,用户通常会选择概率性确定的区块链所提供的可用性(这就是为什么许多基于 DAG 的协议都把重点放在支持支付上,因为这些协议都是支持可用性而非一致性),然而,许多区块链平台提供的不仅仅是支付,还支持以智能合约为基础的去中心化应用程序(DApp)。不同的 DApp 在确定性方面可能有不同的偏好:那些需要可行性的 DApp,哪怕交易信息不准确也总会让交易通过,更偏好概率性确定链;而倾向于一致性的 DApp,会让整个应用程序停止运行以阻止不正确的交易通过,偏好绝对性确定链。因此,确定性从根本上影响了用户体验。

权益证明共识中的确定性


在替代共识协议的元分析中,我们考量了一些主要的 PoS(权益证明)平台对确定性的保证,包括 Tendermint,Thunderella,Algorand,Dfinity,Ouroboros Genesis,Casper FFG 和 Casper CBC。 在这里,我们将简要概述这些平台如何实现确定性,但决定采用哪种协议更重要的是整体考察,而不是仅仅考虑一个参数(这里指的是对确定性的保障)。

Tendermint:Tendermint 实现了绝对性确定。任何得到 ⅔ 或以上的预投票和预提交的区块都将被最终确定,并且此过程将无限期地继续。除非 ⅓ 或以上的验证者不响应,导致网络停止运行。因此,Tendermint 更偏好一致性而非可用性。另外,当权益证明的惩罚规则应用在 Tendermint 时,Tendermint 协议还能实现经济确定性。

Thunderella:Thunderella 的快速路径提供了绝对性确定。任何获得公证的最大交易序列都被视为经过完全确认的输出。如果 3/4 的快速路径委员会是诚实且在线的,同时提议者也是诚实的,那么有效交易就能被即时确认。然而,快速路径确认与一般的确定性不同,它是乐观性确定。 一旦交易记录在了基础区块链上,该交易就被完全确定,这种情况既可以是基于链的,也可以是基于拜占庭容错的。但当快速路径发生问题时,Thunderella 会回退到基础区块链,因此 Thunderella 是优先考虑可用性。

Algorand:Algorand 实现了概率性确定。只要攻击者控制的协议货币价值低于总价值的 1/3,Algorand 就可以保证分叉几乎是不可能的,从而允许协议以强同步方式运行,使得每个区块最终保持一致。而在弱同步中,Algorand 可能会发生分叉,但会使用 BA* 来决定选择哪个分叉链。因此,当协议恢复强同步时,Algorand 中的交易最后也能被最终确定。Algorand 优先考虑一致性而非可用性,因为它宁愿产生空白区块,也不会牺牲一致性。

Dfinity:Dfinity 实现了概率性确定,其确定性的概率是随着链上区块权重的增加而增加。假设每一轮 r 的周期里我们会拒绝接收更多已公证的区块。在此周期内,我们可以最终确定第 r 轮,因为我们知道第 r 轮已公证的区块包含了第 r 轮之前的所有链上的交易。第 r 轮中,只要操作无误就能保证近乎即时的确定性,经过两次确认加上网络传输延迟,对观察者来说在第 r 轮里任何包含在区块中的交易都是最终确定的。Dfinity 优先考虑一致性,如果网络分区形成大小几乎相同的两半,它会自动令随机信标(random beacon)暂停工作,不允许任何一半网络继续运行。

Ouroboros Genesis:Genesis 协议可以根据其如何选取区块链的规则实现概率性确定。具体规则是对于短距离攻击(最多 k 个区块,其中 k 是安全参数),则采用最长链原则;而对于长程攻击(超过 k 个区块),则采用充裕法则(plenitude rule),也就是说在当前链发生分叉后即时查看时间段,然后选择密度较高的链。

Casper FFG:Casper FFG 的目标是为基于链的系统提供绝对/经济上的确定性,委员会按权益加权获得 ⅔ 大多数投票后签署一个区块,便能达到确定性。Casper FFG 的这种构建方式,即使攻击者控制了底层区块链的提案机制,出现冲突的检查点也永远无法被最终确定。但是,FFG 提供了安全性并且提案机制提供了活跃度,因此攻击者可以通过延迟达成共识来阻止 Casper 确定未来的检查点。FFG 是优先考虑一致性的,因为它不允许在没有 ⅔ 验证者同意的情况下对检查点进行最终确定,否则确定无效。此外,FFG 还可以通过罚没机制来实现经济确定性。

Casper TFG:TFG 通过具有不同容错阈值的验证者来实现绝对性确定。也就是说,协议是异步安全和拜占庭容错的,允许验证者具有不同的容错阈值。

撤销区块可能导致数百万美元的损失,或者影响到去中心化应用的基本运行。因此,对于构建强健的区块链平台以及如何选择开发应用程序的平台,确定性起着至关重要的作用。

致谢:特别感谢 Zubin Koticha 和 Aparna Krishnan,他们的讨论与反馈为这篇文章作出了巨大贡献。

24小时热点

1U等于多少人民币?U币怎么兑换人民币?

U币(如USDT)是一种基于区块链技术的稳定币,其价值与美元 ...

251060

区块链圈小菜鸡

交易

比特币的交易(Transation,缩写Tx),并不是通常意 ...

68612

Xmax星球

BTC恐慌贪婪指数怎么查询?BTC恐慌贪婪指数查询攻略

BTC恐慌贪婪指数是一个情绪分析工具,用来衡量当前比特币市场 ...

45999

区块链圈小菜鸡

世界各国的货币简称及符号一览

无论是投资外汇市场还是出国旅游,都要了解各国货币符号,接下来 ...

92126

波场区块链浏览器

2024年Pi币价格预测:Pi币何时上市?能达到100美元吗?

Pi Network 是加密货币领域中一个颇具特色的项目。自 ...

420990

波场区块链浏览器

比特币最开始价格多少一个?比特币刚进入中国多少钱一个?

比特币最开始的价格不到1美分,1美元可以兑换1300个比特币 ...

329124

区块链圈小菜鸡

988pay虚拟钱包使用指南分享

988pay虚拟钱包被称为数字货币钱包或者是区块链钱包,方便 ...

657985

波场区块链浏览器

代币钱包有哪些?如何使用代币授权?

代币钱包有很多种,往往都是加密型,在一定程度上提高了安全性, ...

15201

波场区块链浏览器

如何查询钱包里的USDT是否是黑U?详细教程

“黑U”指的是通过非法手段获取的USDT,这些USDT可能涉 ...

103070

波场区块链浏览器

最新中国数字人民币股票代码汇总

最新中国数字人民币股票代码有300468、002649、60 ...

84223

波场区块链浏览器

热点专题

区块链网是什么

中国区块链价值评价中心 中国区块链价值评价中心于2 ...

5292806

知信链

免费的行情软件app网站在国外有哪些?

区块链看行情的软件,简而言之,就是一类能够实时提供数字货币行 ...

2377018

波场区块链浏览器

雷达币最新进展:2024年主网上线时间及前景预测

近期有传闻称,新加坡的加密货币交易所推出了一款雷达币,这款被 ...

1827508

波场区块链浏览器

2024年最新十大不收费看盘软件排名公布

随着股市交易的普及和技术的发展,投资者对高效、可靠且免费的看 ...

1125849

波场区块链浏览器

元界(Metaverse)

元界(Metaverse)是一个去中心化的公有区块链项目,元 ...

992187

WEEX数字货币

BTC123

BTC123(www.btc123.com)成立于2011年 ...

839225

Kusama 测试网

最全传销名单,请告诉家人朋友,别让他们上当受骗后赔到血本无归

因为互联网的发展,让现代传销具备了更强的隐蔽性,更让社会经验 ...

785641

律动 BlockBeats

中币网zb——中币交易所

ZB.com是一个全球化的数字货币交易所,目前已获得泰国和迪 ...

751221

中币交易所

Bitfinex(香港B网)

Bitfinex交易平台目前仍处于试运营阶段,该平台由iFi ...

722733

Hi元宇宙

DAC币——达芬奇Davinci Coin

达芬奇项目的平台是通过叫作"Dchain"的自身区块链把可以 ...

715222

Mechanism Capital