科普 | 分布式共识案例研究

曾汨   |     |   268 次阅读

2018 年 11 月,Preethi Kasireddy 发表了一篇非常棒的关于分布式共识的文章。文章很好地涵盖了有关分布式系统的基础知识及它们的历史。

编者注:开篇提到的 Preethi Kasireddy 关于分布式共识的文章已由 EthFans 完成翻译,中译本见文末超链接。

从比较抽象的角度来看,分布式系统的设计离不开各种各样的权衡。每一个共识算法通常都可以拆分成三个步骤:1)选举,2)投票,和 3)决定,执行这个过程的方法则大相径庭。

纵观分布式系统工程史,我们尚未设计出一个拜占庭容错(“BFT”)的异步共识机制。让我们逐个解释一下这些术语:

“异步”

“同步” 指的是动作或事件同时发生。因此,“异步” 与 “同步” 相反;它指的是动作或事件没有同时发生。同步系统假想的是一个完美的网络,其中的节点都是有组织的,并且能在规定的时间范围内完成消息的传递。这与实际情况不符,分布式系统没有全局时钟,因此需要一种方法来确定错落发生在网络中不同计算机上的事件的发生顺序。解决这个问题有多种方法,其中最主要的两种是:1)部分同步(partial synchrony)和 2)异步。

部分同步介于同步和异步之间。部分同步假设消息传递时间是有上限的,但限制了这种假设所能造成的影响。(部分同步假设就是要求,只要消息传递时间有上限)共识算法无论是否知晓超时上限都能保证达成共识。

在异步的环境中,共识不能保证在一个固定的时间段内达成(不存在固定的时间上限)。异步系统的设想是网络可能会无限期地延迟消息、复制消息,或无序地传递消息。这往往更加接近现实系统的真实情况。

“拜占庭容错”

对于不熟悉这个领域的人来说,拜占庭将军问题是一个古老的计算机科学问题,指的是一个系统的组件可能会发生故障,而关于一个组件是否发生故障的信息并不完整。这个词得名于一个寓言——几个各自带领拜占庭军队的将军制定一个攻城计划。最简单的模式是,这些将军只能决定是进攻还是撤退。一些将军可能更倾向于进攻,而其他将军则更倾向于撤退。重要的是,每个将军都要就作战计划达成一致,如果没有达成一致,只有少数几位将军发起进攻的话,最后只会一败涂地,比起联合进攻或联合撤退带来的结果更加糟糕。

由于存在将军叛变的情况,这个问题就会变得更加复杂,他们不仅会投票赞成次优战略,而且可能会搞投机。举例来说,如果有 5 名将军参与投票,其中两人支持进攻,而另外两人支持撤退,剩下一人可能会向 “撤退派” 发送支持撤退投票,并向 “进攻派” 发送支持进攻的票。那些从第 5 名将军那里得到撤退票的将军将撤退,而其余的将军则会进攻(“进攻派”可能就要遭殃了)。这些将军在地理上相互隔绝,必须通过信使将自己的投票传递给其他将军,而信使可能无法成功传递或伪造虚假投票,这使得问题进一步复杂化。在这个例子中,第 5 名将军作恶的动机可能是,等到进攻失败后,其他军队都丧失了战斗力,自己就可以带领军队一举拿下城池,独享权力(不必与其他将军分享)。总之,拜占庭将军问题指向了一个现实问题:行动者必须达成一致的协同作战策略,以避免灾难性的系统故障,但一些行动者是不可靠的。

拜占庭将军问题本质上没有限制,也不对分布式网络中的节点可能采取的行为类型做任何假设。在拜占庭系统中,节点有不同的动机,可能会撒谎、协作或任意行动,简单的多数决原则不足以达成共识。拜占庭容错(“BFT”)系统的设计前提是网络中的节点不应该受到单个节点行为的决定性影响。

为什么设计异步的拜占庭容错网络如此具有挑战性?

设计一个异步的拜占庭容错共识算法历来都是一个极大的挑战。达成异步的拜占庭容错共识主要要考虑两大问题:活性 vs. 安全性。

简单来说,偏好 “活性” 的算法可能维持了通信的持续性、但会因为缺乏共识而导致网络分裂(又称分叉)。另一方面,偏好 “安全性” 的算法会在达成共识后才推进,但可能造成系统暂停。(译者注:此处原文疑似弄反了 “活性” 和 “安全性” 的含义,故针对原文做了较大的改造,使其尽可能符合我们已有的知识)

这就不得不说到比特币了。

比特币的高明之处并不完全在于它的底层技术(毕竟它只是一个 C++ 编码的数据库),而是解决了异步拜占庭容错问题的博弈论(偏好 “活性”)。在工作量证明系统中,所有节点不必通过通信来实现终止(例如,就一个最终状态达成一致)并转换到下一状态,而是让最快解出工作量证明数学难题的节点来决定最新状态,并就 状态正确的概率 达成一致。

自比特币诞生以来,开发者一直在努力推动基础层(“layer 1”)的创新,以便了解不同的取舍可能会对最终结果造成什么样的影响——不仅是对基础层来说,还包括构建在基础层之上的其它用例和应用程序。

迄今为止,工作量证明可以说是已知最安全的机制设计。对于一个有潜力捕获数万亿美元价值的用例来说,安全性极为重要。但是,如何划分 “非常安全” 和 “足够安全” 之间的界限呢?什么是“足够安全”?权益证明系统足够安全吗?

想要搞清楚权益证明创新目前的状况,重要的是了解工作量证明的局限性。工作量证明的安全性与两个稀缺资源(贡献)有关:1)电力和 2)时间。工作量证明的支持者认为,工作量证明所进行的哈希计算需要付出不可伪造的高昂成本,这是权益证明系统所不具备的。

相反,权益证明的支持者认为这种观点有些狭隘,因为权益证明捕获的是另一种稀缺贡献:资金的机会成本。资金的机会成本是金融学的基础知识。由机会成本的概念可知,将资金锁定(质押)在权益证明系统中,就要放弃将这笔资金投入其他地方所能得到的收入。如果我们想更好地理解权益证明是否 “足够安全”,那么我们应该了解一些攻击途径和现有权益证明系统可以用来抵抗这些攻击的解决方案,以及它们对于权益证明系统达成分布式共识能力的影响。

首先:女巫攻击

这一术语通常被行业内许多人滥用。这是一种常见于点对点网络中的攻击,即网络中的一个节点同时主动操纵多个身份,并通过在全网进行重复投票来破坏 和/或 推翻声誉系统中的权威。

乍一看,我们很容易认为权益证明系统不存在女巫攻击的问题。毕竟,质押本质上是需要 “押金” 的(例如,自身利益绑定),这从一开始就防止了女巫攻击产生的可能性。

在系统设计合理的情况下确实能够抗女巫攻击,但是在没有真正的质押成本或声誉系统的情况下,女巫攻击不仅可能发生,它就会发生。质押不一定总需要外部成本(例如,借款、分叉、委托)。许多人认为质押都是基于本质上有限的资源,只要投票权重与资源数量成正比即可,那么它是分散在一堆女巫节点中还是由一个实体掌握并不重要。

但并不是只有这一条路可以走。EOS 区块链就是个例外:在该系统中,区块生产者由 EOS 代币持有者通过选举而产生,因此可以通过声誉系统来抵抗女巫攻击——如果区块生产者被认为作恶,可以将他们投出局。

总之,可以通过(外部)质押成本或声誉系统来抵抗女巫攻击。一些采用质押模式的热门项目有以太坊(参见以太坊 2.0 路线图)、Casper LabsSolana LabsTezosDFINITYNear ProtocolOasis LabsThunder ProtocolPolkadot Network

采用声誉系统的项目有 EOSCosmosTerra

第二:分布式的拒绝服务(DDoS)攻击

DDoS 攻击是一种网络攻击,即作恶者试图通过暂时或永久中断服务的方式来让目标用户无法使用网络功能。

据我们所知,有几种方法可以抵抗 DDoS 攻击。我们先来介绍一下共识选举过程中的不可偏移随机性(熵源)(回想一下前面提到的,每个共识算法通常可以分解为三个步骤:1)选举,2)投票和 3)决定)。

这采取的是可验证随机函数(“VRF”)的形式。

用最简单的话来说,随机性可以作为一种防止在分布式共识中抢先运行选举过程的防御机制。有三种构造 VRF 的常用方法:1)可验证的延迟函数(“VDF”),2)一个提交-显示方案,以及 3)BLS 签名。

1.可验证的延迟函数(“VDF”)是一种能够对某些伪随机生成器的输出施加时间延迟的函数。VDF 是计算成本极高的函数,因此无法实现并行计算(这个安全特性是不是很诱人?)。

这种时间上的延迟可以防止作恶者影响伪随机生成器的输出,因为在任何人计算完 VDF 之前,所有输入都已最终确定了。以太坊 2.0Casper LabsSolana LabsTezos 是使用 VRF + VDF 的一些热门的权益证明项目。

2.在 commit-reveal (“提交-揭示”)方案中,验证者承诺要提交某个选定的值,但在表达承诺的过程中不让其他验证者知道自己选定的值;当所有人都表达承诺之后,再公开自己选定的值。这些方案都是经过设计的,因此已提交值无法被更改,而且随机性也无法被操控。AlgorandOuroboros Genesis 共识(Coda ProtocolCardano)都是使用 VRF + 提交-显示方案的权益证明项目。

3.BLS 签名是“门限”签名的一种形式,它利用双线性配对(例如,定义的 M (N) 多重签名)进行验证。这里有一篇长文详细解释了 BLS 签名 。(编者注:中译本请见文末超链接)

一下子讲的太多了,我们消化一下吧。随机性有助于抵抗 DDoS 漏洞,因为它能够阻碍作恶者在分布式共识中抢先运行选举过程。在这一节中,我们讨论了可验证的随机函数和常用来构造该函数的三种方法。

另一种能够抵抗 DDoS 攻击的方法是建立一个可识别且固定的验证委员会,这个委员会用的是老一套方法来建立信任关系,因为每个验证者都会在网络中质押保证金,一旦出现作恶行为,保证金就会被罚没(丢失)。CosmosEOSNear ProtocolThunder ProtocolPolkadot NetworkTerra 都是实行保证金质押的固定委员会的一些热门权益证明项目。

第三:权益研磨攻击。

在权益研磨攻击(stake grinding attack)中,攻击者通过操纵区块链来最大化自己当选出块者的可能性。一个常见的例子就是一个拥有少量权益的攻击者在区块链历史中找到 ta 能够当选出块者的机会。为了连续当选出块者,ta 会不断修改下一个区块头,直到再次当选为止。

一般来说,对抗权益粉碎攻击的方式与对抗 DDoS 的方式类似,可以在选举过程中引入无偏倚的随机性或实行保证金质押的固定委员会。

第四:无利害关系攻击。

无利害关系攻击是指委员会中的验证者在同一区块高度给两个区块都投了票(且不会受到惩罚)。简单来说,无利害关系问题可以让作恶者钻空子,却又不受惩罚。

通常有两种方法来抵抗无利害关系攻击:1)质押保证金(例如,一旦出现作恶行为,参与者所质押的保证金就会被罚没),或 2)实施分叉选择规则。这就回到了活性与安全性的权衡问题。

罚没机制通常是直截了当的——如果一个节点作恶,ta 就会在经济上受到惩罚。该机制常用于重安全性更胜于活性的网络(参见 CosmosNear ProtocolOasis LabsPolkadot NetworkTezosCeloTerra)。

分叉选择规则稍微复杂一些,用于重活性更胜于安全性的网络。一些偏重于活性的热门权益证明项目有以太坊 2.0Casper LabsSolana LabsAlgorandDFINITYThunder ProtocolOuroboros Genesis 共识(Coda ProtocolCardano)。更多信息请参见后文。

第五:网络分区。

网络分区的技术定义是由于网络设备故障而导致网络在节点之间分裂。简而言之,如果一个网络无法达成共识,并且相较安全性更偏重于活性,那么这个网络将会发生分叉,并且两条链将并存(这就是为什么要有 “分叉选择规则”)。

为了理解分叉选择规则背后的设想,请回想一下,在工作量证明的网络中,矿工挖出下一个区块的概率与其贡献哈希算力占全网算力的比重成正比。

比特币将分叉选择规则和工作量证明机制相结合。矿工必须提供工作量证明(解决算法复杂度高的数学难题),因为算力的获取成本很高,每位矿工的哈希算力都有限,所以生成工作量证明的成本也很高。如果挖错了链,这部分算力就会白白浪费掉。

这就是为什么在网络分区(分叉)的情况下,小众链的市场价值不大(这是市场的选择),正如我们所见的那样(比特币与比特币现金就是个很明显的例子)。

我们现在已经讨论了如何对抗女巫攻击、DDoS 攻击、权益粉碎攻击、无利害攻击和网络分区这五种区块链中常见攻击的方法。你应该已经注意到了,除比特币外,本文举的其它例子都是权益证明网络。那是为什么?

很简单。本文旨在通过案例研究来探索是否能在 “非常安全” 和 “足够安全” 之间划出界限。(相比于 “非常安全的” 工作量证明网络)“足够安全的” 权益证明网络是否可以通过其用例捕获数十亿美元(就算达不到数万亿美元)的价值?

区块链行业的一些投资者已经开始质疑,是否不管存不存在货币溢价,安全性都能上升。我们希望在这个问题上取得更多的进展。

我们的结论

最后,我们要分享一下从这项研究中获得的主要收获,并在风险/回报框架中对它们进行评估。我们认为,每一位区块链从业者都应该对这些技术及其运行方式有一个基本的理解,尤其是那些聚焦于基础项目的投资管理者。

归根结底,这属于风险管理。这些技术资产都处于早期阶段且具有高度实验性质。如果不了解技术,就很容易在追逐高回报的同时严重低估风险。

我们的第一个主要收获是——必须勤奋学习技术。投资者应该了解设计漏洞,从而预测网络将来可能会遭遇什么样的攻击。投资者应该了解可以实施哪些解决方案,以及这些解决方案是否向后兼容。

第二个主要收获是理解 为何 做决策时要考虑权衡关系。开发人员最终是希望在一个可以信任的协议之上进行构建。无论是否拥有自主权,重要的是要了解吸引开发者的是什么。毕竟,这些吸引因素在塑造我们未来的方向。

投资者也一样,要识别出哪些模式或趋势是能够在投资者和工程师之间取得平衡的。一个网络在越能平衡这种关系,其系统性面临的风险就越低。去中心化的网络是一场社会协调博弈 ; 社会认可度越高,“粘性”就越大,该网络的合理价值也就越高。

最后一点收获是——安全性是有范围的。过多的营运资金对公司来说是低效的(因为这意味着公司内部可用的资金远远超过其运营所需的资金),过多的安全性也可能造成低效。

我们怀疑,是否不管基础层网络存不存在货币溢价,安全性都能上升。与此相反的是,所有的基础层协议都在争相成为某种形式的货币。然而,并非所有数据或信息都具有货币或金融属性(例如身份、医疗记录等)。

我们相信,未来十年里最重要的一项实验就是,去中心化的信息网络是否可以在不充当金融资产的情况下产生实质性的价值。时间会告诉我们答案。

点击这里查看长推文。

感谢 @iam_preethi@ KyleSamani@ mrjasonchoi@ SPEncernoon 以及其他许多鼓舞我们前进的人。


免责声明

本报告中的信息及陈述由 Vision Hill Research 撰写,从 Vision Hill Research 认为正当可靠的来源处获得,并由 Vision Hill Research 认为是可靠的,仅供参考之用。本报告所述内容不应被视为投资建议,也不应视为对任意证券、策略或投资产品的推荐,或是出售要约或征求购买要约。Vision Hill Research 不对此类信息的准确性或完整性作出任何声明。本报告中的观点、估计和预测以及相关陈述均为 Vision Hill Research 的当前判断,如有变更,恕不另行通知。

Vision Hill Research 没有义务更新、修改或完善本报告及相关陈述。如果本报告中陈述的任何事项或任何观点、设想、预测或估计因任何未知或不可预见的原因而变得不准确或发生变化,Vision Hill Research 也没有义务另行通知读者。

Vision Hill 集团是一家提供全方位服务的数字资产管理和解决方案公司,旨在引导投资者走向数字资产的未来。Vision Hill 集团汇集了一支在传统金融市场方面拥有丰富经验,对密码学资产和数字资产市场富有热情和深刻理解,且具备风险和投资组合管理经验的团队。Vision Hill 集团有三个主要部门:Vision Hill 资产管理,Vision Hill 研究和 Vision Hill 顾问。Vision Hill 资产管理是 Vision Hill 集团的多策略数字资产投资管理部门。我们的平台提供的服务使我们的投资能够横跨多种策略、投资论点和时间范围,让投资者能够接触到更广泛且多样化的数字资产。Vision Hill 研究为机构客户和合格的投资者提供深入的研究以及分析见解,在新兴的数字资产行业中寻找值得信赖且无偏见的市场情报和指导。Vision Hill 集团的顾问部门为寻求定制化解决方案和咨询的机构客户和合格投资者提供投资组合管理和咨询服务,以协助他们实现投资目标。

Vision Hill 间接投资了本报告中提到的一些区块链项目。本报告中的内容不应被视为投资建议,也不应视为对任意证券、策略或投资产品的推荐,或是出售要约或征求购买要约。Vision Hill 从未收取过任何报酬,也不会因撰写本报告而收到任何报酬。


原文链接: https://medium.com/vision-hill-blog/a-distributed-consensus-case-study-abf4a1b60394
作者: Vision Hill Research
翻译&校对: 曾汨 & 闵敏


你可能还会喜欢:

科普 | 分布式共识的工作原理,Part-1:分布式系统的定义及属性
科普 | 分布式共识的工作原理,Part-2:共识问题与 FLP 不可能定理
科普 | 分布式共识的工作原理,Part-3:使用同步假设的共识算法
科普 | 分布式共识的工作原理,Part-4:非确定性共识算法
干货 | 理解 BLS 签名算法

 
0 人喜欢