<返回更多

共识算法:计算机如何共同达成协议并保持安全

2023-09-12  51CTO  
加入收藏

译者 | 刘涛

审校 | 重楼

在去中心化网络的世界里,计算机需要在没有中心权威控制的情况下协作。共识算法是帮助它们合作并找到共同基础的关键所在。这些算法确保网络中的所有节点对真实信息以及虚假信息地达成一致,以保证数据安全和交易有效性。

在这篇博客中,我们将以简单的术语探索共识算法的奥秘。我们将了解这些智能系统如何确保所有计算机状态一致,以及它们如何防范欺诈性攻击。做好准备,来发现计算机如何在一个没有中心权威控制的数字世界中团队协作并保持安全!

共识算法

简单来说,共识算法就是计算机网络的节点在某些问题上达成一致,比如共享数据库的状态或交易的有效性。它确保网络中的所有计算机保持状态一致,平稳协作。

实例展示

想象这样一个场景,一群朋友在网络文件夹中共享一份数字文档。所有人都可以访问这个文件并对其进行修改。然而,为避免混乱,他们需要就文档的同一个版本达成一致。

共识算法的实际应用

还是以上述一群朋友共享数字文档的场景为例:

  1. 爱丽丝对文档提出了修改建议,在文末添加一个新段落。
  2. 网络中的另外两个朋友鲍勃和查理看到了爱丽丝的建议,并表示赞同。他们对这项修改投了赞成票。
  3. 由于大多数朋友(超过一半)同意这一调整,所以小组成员达成共识,对文档进行了相应修改。
  4. 现在,所有朋友都可以看到更新后的版本,他们知道这个版本已经被公认为有效文件了。

在这个例子中,朋友们通过对文档修改建议进行投票,使用了一个简单的共识算法。多数人的意见统一才能保证文档的一致性,每个人都在处理相同的信息。

在更复杂的系统中,比如区块链网络(例如比特币或以太坊),共识算法在验证和保障交易的安全性方面发挥着至关重要的作用,而不需要中心权威控制。算法确保网络中的所有节点就交易顺序和有效性达成一致,维护区块链和参与者之间共享信息的完整性。

以太坊中的权益证明(PoS)共识算法

在 PoS 共识算法中,根据“抵押"或冻结的代币数量(以太币)来选择校验者,从而创建新的区块并保障网络安全。一个校验者抵押的以太币数量越多,其被选中提议和验证区块的机会就越大。

工作原理

  1. 校验者:在 PoS 系统中,部分节点被选为校验者。要成为校验者,节点需要"抵押"一定数量的加密货币(在这里是以太币)作为担保。抵押的以太币越多,被选为校验者的机会就越大。
  2. 区块提议者:校验者轮流成为“区块提议者”来创建新的交易区块。抵押数量最高的校验者通常有更高的机会被选为区块提议者。
  3. 区块验证:一旦一个校验者提出新的区块,其他校验者就会检查区块内交易的合法性,确保它们符合网络规则,并且不是欺诈性行为。
  4. 达成共识和最终确定:如果大多数校验者同意提议的区块有效,它就会被添加到区块链中。共识是通过这些校验者的协议达成的,因为他们有经济动机诚实行事,否则他们就会面临失去抵押代币的风险。

实例展示

想象一群朋友运营一个类似以太坊的网络,来跟踪他们的共同费用和交易。他们使用权益证明(PoS)来达成共识。

1. 校验者:在他们的网络中,每一个人都要拿出自己一定数量的以太币作抵押,才能成为校验者。爱丽丝抵押了10个以太币,鲍勃抵押了5个以太币,查理抵押了8个以太币。

2. 区块提议者:由于爱丽丝抵押的以太币最多(10 个以太币),她在第一轮中被选为区块提议者的机会更大。

3. 区块验证:爱丽丝提议了一个包含最近交易的新区块。鲍勃和查理像其他校验人员一样,对交易进行检查,以确保其合法性。

4. 达成共识和最终确定性:如果鲍勃和查理对爱丽丝提出的新区块的提议表示赞同,他们就会将其添加到区块链中。作为提出该新区块的校验者,爱丽丝会获得一定的交易手续费作为奖励,然后这个朋友圈组成的类以太坊网络就进入下一轮区块生成流程。

在这个实例中,朋友们通过轮流提出新的区块并通过PoS共识算法对其进行验证,从而维护他们共享的财务记录。他们抵押的以太币越多,成为校验者并因保护网络而获得奖励的机会就越大。

以太坊权益证明(PoS)可能遭遇的攻击

以下用实际例子更详细地说明以太坊的权益证明(PoS)共识算法可能遭受的一些常见攻击:

  1. 无成本攻击(Nothing-at-Stake Attack)
  1. 长程攻击(Long-Range Attack )
  1. 无风险套利攻击(Nothing-to-Stake Attack)
  1. 51% 攻击

为了防范这些攻击,以太坊的 PoS 协议包含了惩罚抵押和检查点等安全措施。这些机制共同保证了网络的安全性,并使参与者能够达成共识。有了这些防范措施,以太坊仍然是安全的,区块链也可以被信任。共识算法维护了网络的可靠性和安全性,在确保所有参与者能够充满信心地协作方面发挥着至关重要的作用。

因此,下次当你听到区块链或加密货币时,请记住共识算法在保持每件事同步和确保计算机之间的完美协作方面所发挥的重要作用。

感谢您加入我们对共识算法奥秘的探索之旅。

译者介绍

刘涛,51CTO社区编辑,某大型央企系统上线检测管控负责人。

原文标题:Consensus Algorithms: How Computers Agree and Stay Safe Together,作者:Sahil Sojitra

关键词:共识算法      点击(7)
声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多共识算法相关>>>