译者 | 刘涛
审校 | 重楼
在去中心化网络的世界里,计算机需要在没有中心权威控制的情况下协作。共识算法是帮助它们合作并找到共同基础的关键所在。这些算法确保网络中的所有节点对真实信息以及虚假信息地达成一致,以保证数据安全和交易有效性。
在这篇博客中,我们将以简单的术语探索共识算法的奥秘。我们将了解这些智能系统如何确保所有计算机状态一致,以及它们如何防范欺诈性攻击。做好准备,来发现计算机如何在一个没有中心权威控制的数字世界中团队协作并保持安全!
简单来说,共识算法就是计算机网络的节点在某些问题上达成一致,比如共享数据库的状态或交易的有效性。它确保网络中的所有计算机保持状态一致,平稳协作。
想象这样一个场景,一群朋友在网络文件夹中共享一份数字文档。所有人都可以访问这个文件并对其进行修改。然而,为避免混乱,他们需要就文档的同一个版本达成一致。
还是以上述一群朋友共享数字文档的场景为例:
在这个例子中,朋友们通过对文档修改建议进行投票,使用了一个简单的共识算法。多数人的意见统一才能保证文档的一致性,每个人都在处理相同的信息。
在更复杂的系统中,比如区块链网络(例如比特币或以太坊),共识算法在验证和保障交易的安全性方面发挥着至关重要的作用,而不需要中心权威控制。算法确保网络中的所有节点就交易顺序和有效性达成一致,维护区块链和参与者之间共享信息的完整性。
在 PoS 共识算法中,根据“抵押"或冻结的代币数量(以太币)来选择校验者,从而创建新的区块并保障网络安全。一个校验者抵押的以太币数量越多,其被选中提议和验证区块的机会就越大。
想象一群朋友运营一个类似以太坊的网络,来跟踪他们的共同费用和交易。他们使用权益证明(PoS)来达成共识。
1. 校验者:在他们的网络中,每一个人都要拿出自己一定数量的以太币作抵押,才能成为校验者。爱丽丝抵押了10个以太币,鲍勃抵押了5个以太币,查理抵押了8个以太币。
2. 区块提议者:由于爱丽丝抵押的以太币最多(10 个以太币),她在第一轮中被选为区块提议者的机会更大。
3. 区块验证:爱丽丝提议了一个包含最近交易的新区块。鲍勃和查理像其他校验人员一样,对交易进行检查,以确保其合法性。
4. 达成共识和最终确定性:如果鲍勃和查理对爱丽丝提出的新区块的提议表示赞同,他们就会将其添加到区块链中。作为提出该新区块的校验者,爱丽丝会获得一定的交易手续费作为奖励,然后这个朋友圈组成的类以太坊网络就进入下一轮区块生成流程。
在这个实例中,朋友们通过轮流提出新的区块并通过PoS共识算法对其进行验证,从而维护他们共享的财务记录。他们抵押的以太币越多,成为校验者并因保护网络而获得奖励的机会就越大。
以下用实际例子更详细地说明以太坊的权益证明(PoS)共识算法可能遭受的一些常见攻击:
为了防范这些攻击,以太坊的 PoS 协议包含了惩罚抵押和检查点等安全措施。这些机制共同保证了网络的安全性,并使参与者能够达成共识。有了这些防范措施,以太坊仍然是安全的,区块链也可以被信任。共识算法维护了网络的可靠性和安全性,在确保所有参与者能够充满信心地协作方面发挥着至关重要的作用。
因此,下次当你听到区块链或加密货币时,请记住共识算法在保持每件事同步和确保计算机之间的完美协作方面所发挥的重要作用。
感谢您加入我们对共识算法奥秘的探索之旅。
刘涛,51CTO社区编辑,某大型央企系统上线检测管控负责人。
原文标题:Consensus Algorithms: How Computers Agree and Stay Safe Together,作者:Sahil Sojitra