# 1. 以太坊2.0-POS共识机制

By [damian-dyor.eth](https://paragraph.com/@damian-dyor) · 2023-02-27

---

自从2022年以太坊1.0完成与信标链的合并后，以太坊正式放弃了POW（proof-of-work）共识机制，转而拥抱POS（proof-of-stake）共识机制，升级后的Ethereum也被称为ETH 2.0。姑且不论POS与POW哪种方案更加去中心化（尚有争议），但转向POS后的以太坊大大减少了对能源的消耗，在当今碳中和大背景下，不失为明智之举，且引入POS后的以太坊对于网络容量的扩展也更加友好，为了更好的理解，下面先为大家简单介绍一下POW共识机制是如何运作的

以太坊POW共识机制简介
------------

简单来说，在POW机制下，区块链中的各个全节点（矿工）是通过解一道非常难的数学题来争取记账权，谁先计算出答案，谁就可以将答案连同新区块率先通过P2P（peer-to-peer）网络广播，让其他矿工知道，已经有人找到了答案并发布了新区块，这时，其他矿工就会将新区块中的每笔交易、数学题答案、签名都完整验证一遍，如果没问题，大家就会达成一个共识：承认这个新区块的有效性，同时也就承认了解对这道题的矿工拥有这个区块记账权，该矿工获得出块奖励，之后，大家就会进入下一轮的解题大赛。由于解对题的时间并不固定，所以区块的出块间隔并不固定，但会有一个数学题的难度调整机制，帮助出块间隔大概稳定在15秒的水平上

以太坊POS共识机制介绍
------------

POS机制下，矿工需要在以太坊的智能合约中质押32个ETH申请成为验证者，并且需要在本地运行三个独立的软件：execution client（执行客户端）, consensus client（共识客户端）, and validator（验证者客户端），在排队结束后，即可进入P2P网络，接收新产生的区块，并将新区块中的交易记录在本地全数执行一遍，检查签名是否正确，如果没有问题，验证者就会发出投票（attestation）支持这个新的区块

那么POS机制下如何决定谁拥有记账权呢？

POS下矿工不再需要通过解数学难题来获得记账权（即发布新区块并获得奖励的权利），此时记账权由系统随机挑选产生（需要注意：区块链中的随机数基本都是伪随机数，因为要保证每个节点计算出的这个“随机数”都一致），且出块间隔也被固定在了1个slot（12秒），每32个slots为一个epoch，同时，在每个slot中，系统会随机选择一个验证者委员会（committee of validators，由最少128个验证者组成），委员会的投票结果会决定新产生区块是否有效。每个epoch的第一个区块为这个epoch的检查点，在每个epoch结束后，也需要同步委员会（sync committees）来为这个epoch的“有效性投票，若是投票通过（至少2/3）则这个检查点状态变为“Justified”，此时，上一个epoch的检查点升级为“finalized（最终完成）”，所以，一笔在ETH 2.0中的交易会在2个epochs以内被最终确认，即：

(12 × 32 × 2) / 60 = 12.8min

以上就是验证者在ETH 2.0中所扮演的角色，下面我们详细来讲一讲一笔交易在ETH 2.0中是如何被处理的：

1.  用户通过钱包软件（大多数情况下）发起一笔交易，用私钥对交易签名，但从底层来看，实际上是通过[JSON-RPC API](https://ethereum.org/en/developers/docs/apis/json-rpc/)来向节点发起一个请求
    
2.  交易被提交至节点的以太坊的执行客户端，来验证其有效性，其一验证是否有足够的ETH来完成这笔交易，其二验证该笔交易的签名是否正确
    
3.  如果交易没问题，执行客户端会将该笔交易放入本地的内存池（mempool: list of pending transactions），并通过执行层的网络，将该笔交易广播给其他节点
    
4.  被伪随机选出的验证者作为新区块的产生者，其执行客户端会在本地处理交易，并将数据打包好，准备作为信标链的一部分，之后同共识客户端通信，来确保整个网络对新区块的产生达成共识
    
5.  其他节点通过共识层网络收到这个新的信标链区块后，会讲该区块传递给本地的执行客户端，并将里面的交易全数执行一遍来确保交易的有效性，同时也同步了本地的数据，如果没问题，该节点的验证客户端会进行投票来支持该区块
    
6.  在2个epochs以内，该交易会被升级为“finalized”，表示该交易已被确认，无法被回退了
    

### 以太坊POS共识机制的优缺点

*   **优点**：相较于POW机制，大大降低了成为全节点的硬件门槛，极大的节约了能源，从安全性上来看，确实有进步，POW下，网络攻击者发动51%攻击后，完全可以带着自己的矿机去挖别的公链，而在POS机制下，想要发动攻击就必须要质押，二者利益绑定程度更高
    
*   **缺点**：虽然降低了硬件的成本，但是对于资金成本的要求依然很高，这就促使出现了Lido这类质押服务提供商，在DVT（Distributed Validator Technology）技术没有落地之前，这反而促进了中心化，其次，POS的机制上线时间还不够长，还需要经历更多的考验来验证其安全性
    

[Subscribe](null)

---

*Originally published on [damian-dyor.eth](https://paragraph.com/@damian-dyor/1-2-0-pos)*
