原文及图片来自卡尔达诺论坛,原作者为卡尔达诺基金会的Elliot Hill,由卡尔达诺大使陈哲Anson翻译
共识机制对于各方就区块链的单一不变历史,出新区块并维护整个协议至关重要。
今天使用的两种主要共识方法是基于工作量证明(PoW)或权益证明(PoS)机制,影响了许多其他类型的类似共识方法。
在这里,紧随Cardano成功应用于PoS区块链之后,我们深入探讨了共识机制的历史、它们的局限性以及Cardano如何通过Ouroboros(迄今为止技术最先进的PoS算法)解决一些最相关的共识问题。
我们还将研究Cardano达成共识的方法如何使智能合约和去中心化应用程序(DApp)比以往更加安全。
工作证明(PoW)
工作量证明最早是在区块链中实现的,正如我们今天所知道的那样,它是在2008年通过比特币实现的。但是,它的基础在于比区块链技术本身更古老的密码学研究,了解PoW的起源可以帮助我们整体理解分布式账本技术。
Cynthia Dwork和Moni Naor于1993年首次将PoW描述为一种用于打击垃圾邮件的计算技术,早期PoW系统背后的基本理论是要求生态系统参与者计算中等难度但并非不可能的数学问题,以参与到资源中——因此不鼓励轻易使用。
今天快速浏览您的电子邮件垃圾文件夹可能会看出PoW其最重要的利基市场不是防止垃圾邮件,而是通过防止Hashcash进行双重支出(这是比特币最终使用的算法的一部分)来促进区块链技术的创建。
1999年,密码学家Markus Jakobsson和Ari Juels正式定义了PoW的概念,将其定义为验证参与者在指定的时间间隔内执行一定数量的计算工作,在这种情况下,他们被授予访问资源的权限——PoW区块链中的块奖励。
几年后,已故的密码学家哈尔·芬尼(Hal Finney)使用PoW的迭代构建了第一个数字电子货币,但是PoW的经济用途有限。然而,芬尼在不到十年后成为有史以来第一个接收比特币的人,这就是匿名的中本聪建造具有原始PoW功能的区块链——仍然是当今市值最大的加密货币。
PoW导致了加密货币矿工的出现,他们使用功能强大的计算硬件解决加密问题并验证区块,以换取区块奖励。此后,加密采矿已成为一项巨大的业务,为加密货币市场和整个行业提供了动力。
尚不清楚这些密码学的先驱者是否知道庞大的比特币以及整个区块链行业将变成什么样。尽管如此,学术理论为今天的共识机制和哈希算法奠定了基础,即使对于那些已超越PoW进化的协议也是如此。
除比特币外,PoW还被用作当今超过75%的区块链的共识机制,包括莱特币,以太坊,比特币现金,门罗币,狗狗币等。但是,仅仅因为它是第一,并不一定意味着它是最好的,让我们探讨一下PoW的一些局限性。
PoW的问题
尽管PoW共识有助于防止重复支出,但PoW共识仍有许多理论上和经过实践的问题,其中包括:
•能源效率低下– PoW需要大量能源,为挖掘区块所需的计算硬件供电,对环境造成了巨大的负担。2019年发表的研究估计,仅比特币采矿网络每年就消耗至少40TWh的电力,甚至可能高达62 TWh,与整个瑞士的能源需求相当。
•哈希率集中–理论上,较少的具有充足资金的矿工或采矿集团可能会负责PoW系统中的大多数哈希率。哈希率集中的风险使整个网络更加集中,因为相对较少的矿工负责挖掘新区块。
权益证明(PoS)
正如我们将在下面详细讨论的那样,卡尔达诺是属于PoS共识机制的区块链。PoS协议是按回合运行的,当涉及到在轮询类型选择中铸造新块时,大多数PoS区块链只是在块生产者之间循环。相反,一些PoS区块链(如下所述)将为每个回合或每个slot随机选举领导者,这些领导者在Cardano中被称为slot领导者。最关键的算法是slot首领选举程序,该程序确定参与者的子集,该子集有权在每一轮中向区块链添加新块。
Slot领导者是根据其在协议中的质押或他们控制的相对于其他代币的数量来选择参与者。那些质押率更高的人更有可能被选为Slot领导者,能够出新的块——所有有了权益证明的术语。
至关重要的是,PoS使用的哈希功率只是PoW算法的一小部分,只消耗很少的电力,这是因为PoS是根据其在协议中的质押来选择Slot领导者,而不是拥有多少物理哈希能力。
其他PoS区块链
卡尔达诺(Cardano)是最新最先进的PoS区块链之一。尽管如此,其他一些区块链在过去已经开始使用PoS,而一些目前正在使用PoS:
•Peercoin – Peercoin成立于2012年,是第一个实施PoS的区块链。白皮书描述了Peercoin基于比特币代码库的情况,该白皮书基于网络中代币的“币龄”提出了使用PoS进行的首次正式出块。
•Tezos–与卡尔达诺一样,Tezos也属于“周期”轮流产出区块。尽管表面层相似,但Tezos建立在与Cardano完全不同的共识层上。例如,Tezos的账户模型基于以太坊,而不是像Cardano这样的扩展的UTXO,它支持Hydra和高级多资产。Tezos既有区块生产者(他们称为“面包师”),也有同意新区块的参与者,称为“背书者”。Tezos PoS共识算法的参与者在每个周期的开始,使用从存储在区块链上的信息计算出随机种子分配权或背书权。
•以太坊2.0 –尽管目前以PoW区块链形式存在,但以太坊最终将通过推出以太坊2.0转向PoS。以太坊2.0将依靠验证者(也称为“虚拟矿工”)和存储的以太坊达成共识。
权益证明问题
PoS存在一些理论上的问题,包括许多在PoS区块链的早期迭代中存在问题。让我们在这里讨论它们其中的一些,以及研究Cardano如何避免这些问题:
•“无需抵押”问题——验证者可以促进对PoS区块链的攻击,验证者可以利用几乎不需要任何计算工作即可构建PoS区块链的事实,从而使多个区块链同时进行。由于保护网络并没有PoW算法中的固有成本,这可能导致验证器建立在PoS区块链的所有过去分叉上,以便在最终成为最常用的链上收取交易费。这可能会破坏共识,并使更广泛的网络易受攻击。
•金手指攻击——金手指攻击以试图破坏美国国库的邦德小人命名,旨在破坏共识协议本身,从而为攻击者带来经济利益。这些攻击可以采取各种形式,例如买断攻击,贿赂攻击,租赁攻击或建筑物攻击,每种攻击都有不同的操作方式。
卡尔达诺共识
从拜伦(Byron)到雪莱(Shelley)的硬分叉之后,卡尔达诺(Cardano)现在在Ouroboros Praos上运行。这是一个PoS协议,它是第一个可证明可抵御自适应攻击者并真正具有可扩展性的协议。
在古埃及和希腊文化的图像学中,衔尾蛇是一种自食的蛇,代表周期性的更新——特别适合在一个时期内生成可验证的随机函数并用于在下一个时期选举时段领导者的方式。
Ouroboros Praos在半同步环境中提供了解决贿赂的安全性,这意味着只要利益相关者保持诚实的多数(通过权益池和授权实现),对手可以随时损害任何利益相关者但不会影响基础区块链。
饱和点(即“ K”)阻止参与者对Cardano网络进行过多的控制,因为一旦超过此数值,收益便会递减。这是为了防止单个或少数几个池被不成比例地选为slot领导者,并保持区块链真正的去中心化。
卡尔达诺上的权益池和委派设计确保了协议具有更大的去中心化能力—鼓励创建数千个权益池和理论上不限数量的代表。因此,据独立代码审核员称,卡尔达诺的PoS算法使类似的竞争对手相形见绌。
卡尔达诺如何克服PoS限制?
卡尔达诺采用最新的密码学研究方法构建而成,并通过严格的学术研究不断完善,并获得了IOHK发布的近80篇同行评审的密码学论文的启发。
与PoS共识相关的许多限制已被完全缓解或避免,这使得Ouroboros Praos成为PoS发展至今最安全的迭代。
通过对Cardano分叉线的分析,解决了“无需抵押”的问题。即使对手要在不久的将来强行采用所有可能的策略来分叉Cardano区块链,也没有任何金融上的策略可以实行。
同样,链上的选举规则指示参与者忽略分支,这些分支与上次在线时收到的块不同。
超越Shelley —智能合约,最佳吞吐量和侧链
Shelley向Cardano引入了实时PoS,但PoS共识对于更广泛的Cardano区块链的实用性还有更多好处,其中包括智能合约,最佳交易吞吐量和侧链。让我们探索这些功能的一些基本原理。
智能合约
卡尔达诺达成共识的方式对其智能合约和DApp功能至关重要。区块链中的去中心化意味着更多的节点同意单一版本。
在足够去中心化的网络上编写的智能合约特别强大和值得信赖。当它与去中心化的oracle网络配合使用时,这些智能合约可以充分满足企业用例需求,甚至可以解决复杂的法律协议。
最佳吞吐量
实现高交易吞吐量是区块链面临的最大挑战之一,但要使区块链成为未来的金融操作系统,这一点至关重要。
IOHK的研究人员提出了一种基于Ouroboros的PoS正式执行模型,该模型在保持安全性的同时还提供了最佳的交易吞吐量,这将使Cardano区块链在保持安全的同时扩展并处理大量交易。
PoS侧链和互操作性
长期以来,人们一直在探索侧链的潜力,以实现区块链的可扩展性和互操作性,但是在有效实施之前,有许多安全方面的考虑和问题需要解决。
在2019年5月,IOHK的研究人员首次描述了PoS侧链的结构,该结构可以部署在Cardano的Ouroboros Praos PoS协议上。
一种支持安全跨链价值转移的解决方案被提了出来,它将维护每个基础链的安全性,验证两个参与链的诚实权益是否存在,并在另一个交易链失败时维护一个交易链的完整性。
金手指攻击和其他破坏共识的尝试在侧链上受到了阻碍,因为它们一次只持有少量股份。
实际上,PoS侧链可以首次实现区块链之间的完全互操作性——加快整个区块链行业的可扩展性,而且还可以通过许可的分类帐与传统银行和金融系统进行互通。
了解有关卡尔达诺共识的更多信息
这里我们探究了共识机制的历史,以及Cardano的PoS共识在更广泛的范围内适用的情况。除此之外,我们还了解了Cardano的PoS机制的先进程度,更关键的是,它如何支撑整个Cardano生态系统。
您可以通过访问我们的开发人员文档,进入论坛或阅读IOHK大量的研究库来了解有关Cardano共识机制的更多信息。