本文深入探讨了以太坊的共识机制,从早期的工作量证明(PoW)转变为权益证明(PoS),并详细描述了PoS的运作原理、验证者的角色和经济激励机制。文章还阐述了区块的验证过程、处理恶意行为的方法以及最终性机制,为读者提供了一把理解以太坊共识的钥匙。
这是一系列关于区块链的文章中的一部分。如果这是你看到的第一篇文章,我强烈建议你从系列的开始阅读。
在之前的两篇文章中,我们重点讨论了允许以太坊(以及与EVM兼容的链)执行我们用户创建的程序的机制。并不是任何类型的程序 — 精确来说是智能合约,这是唯一能够改变在区块链上存在的不可变的custom state 的逻辑。
但正如我们在这一点上已经知道的,这只是部分故事。
你可以使用像 Hardhat 或 Foundry(使用 Anvil)等工具启动一个_local_区块链(节点)。这些工具能够理解如何执行交易和智能合约,但它们不会是真正的区块链——在这种意义上,这样的节点与外部世界是_disconnected_的。
我们需要做的是与其他网络参与者达成共识。与其他节点一致同意所谓的state of the world。并遵守这样做所暗示的规则。
因此,终于是时候讨论以太坊的共识了。
在这网络的早期,以太坊选择的共识机制是工作量证明(PoW) — 至今比特币仍然使用的相同机制(至少在原则上是如此)。
我们已经讨论过 这个机制所存在的一些问题:吞吐量低(即网络的低交易处理速度)、能耗高,以及挖矿集中在大型矿场的事实,而不是一个真实的去中心化系统,像Bob那样可以参与到他计算机中的节点。
不过,我必须说,真正的去中心化是非常难以实现的。我们会在我们的旅程中讨论这一点,不用担心。
以太坊基金会(Ethereum Foundation)识别出了这些缺陷,并试图将方向引向不同的轨道。
从概念上讲,以太坊突破性地为区块链提供了dynamic state management。但公正地说,在提出_新共识机制_时,web3(即基于区块链的)生态系统已经繁荣发展,涌现出了大量具有不同价值提议的区块链—以及新共识机制。
我的意思是新的共识算法权益证明(PoS)并没有像智能合约的推出那样新颖和颠覆。然而,以太坊进行转换的方式,还是相当有趣的,我们将在下一篇文章中讨论这一点。现在让我们探索一下_PoS_是如何运作的。
但首先,先简单回顾一下PoW。
正如你可能记得的,几篇文章之前,_工作量证明_是一种依赖于_困难谜题_来提供公平性的共识机制。这里我们有几点需要关注:
但带来这些好处的那个谜题,也是该机制最大的设计缺陷:它是_极其低效_的。大量的时间和计算资源被花费在解决这个谜题——部分哈希前映问题——而不是直接增长区块链。
自然,我们可能会想:是否必须是这样的? 这个问题的答案是极为肯定的no。当然,这并不像简单地调整几下旋钮那么简单:我们必须完全重新思考我们对共识的理解。
我们需要两个主要成分作为任何良好共识机制的基础:
我们稍后会谈到第二点,但先让我们关注前者。我们该如何做到这一点?
在比特币中,节点在_随机时间_生成有效区块,因为网络中的某个节点随机地解决了谜题。决定区块“有效”的是某个随机数(nonce)的存在,该数在我们将所有区块内容传入哈希函数时会生成一个非常特定的哈希输出。
然而,交易本身并不一定是有效的。由于这一点,每个节点都会检查他们接收到的每个区块。如果任何交易无效,那么整个区块都会被拒绝。在这种情况下,我们可以说该区块实际上是_被网络拒绝_的。
换句话说,我们不信任任何人。这符合常见的座右铭:
不要相信,验证。
这一切都源自于生产区块的节点没有以任何方式被控制。他们只需要付出努力。找到一个有效的随机数就足够使一个区块有效,但我们仍需要检查交易。
那么,我们何不尝试让这个_西部牛仔_的...
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!