ULT:“披荆斩棘”合并之后 以太坊会面临哪些监管问题和应用层问题?_以太坊

点击阅读:深度|以太坊“大合并”之后能治好Web3的精神内耗吗?

在我们推出“以太坊大合并”系列的第一篇文章里,主要为大家介绍了以太坊升级的原因、路线和当前进展。

随着以太坊Merge时间节点将至,今天我们将探讨以太坊合并之后会面临哪些监管问题和应用层问题。

2022年8月16日,以太坊联合创始人VitalikButerin在推特上参与讨论“若监管通过某些协议的验证者者对以太坊进行协议级别的审查,以太坊社区将如何反应”这一话题时表示,会将这种审查视为对以太坊的攻击,并选择通过更广泛共识将这些验证者的质押权益进行销毁。

引起这个讨论的导火索在于:近期,美国财政部海外资产控制办公室将与TornadoCash有关的以太坊地址添加到制裁实体的名单中。但是目前对其的制裁都是处于中心化层面的操作,对于涉及到去中心化的智能合约部分,尚无法进行技术制裁。

这表明如果美国要想要彻底制裁Tornadocash,就必须要控制底层的以太坊链。那么就引出一个问题,假如美国政府对以太坊进行监管,会面临什么?

如果美国政府要对以太坊进行监管,最大的可能是要求大型PoS质押服务商对以太坊进行协议级别的交易审查。这并不是验证者“作恶”,而是验证者对链上地址的”针对性制裁“。

简单来说,就是监控被制裁地址发出的所有请求,并将所有包含被制裁地址事务的区块进行拒绝出块即可,当一个区块无法通过66%以上权益验证投票通过时,该区块的所有事务请求将会进行回滚,这也就意味着被制裁的地址将无法进行任何操作,并且验证者不会面临任何惩罚。

截至目前,以太坊全网质押的以太币数量大约为1300多万ETH,而通过Lido质押的以太币数量已经占了约30.9%,Coinbase占了约14.7%,Kraken占了约8.5%。

如果美国政府要求Lido、Coinabse、Kraken为代表的大型节点验证者对以太坊进行协议级别的交易审查,作为具有美国法律实体的质押服务商很难拒绝类似要求。

图源自DuneAnalytics

针对可能出现的上述情况,在以太坊社区在Twitter上发起了一项投票讨论,如果OFAC通过验证节点对以太坊实施监管该怎么做。V神支持将上述情况视为对以太坊的攻击,并通过更广泛共识将这些节点的质押权益进行销毁。

下面,我们再来聊一聊应用层的问题。

我们在上一篇曾提到:按照计划,以太坊的Merge以“最小破坏”原则进行,使原来运行的应用客户端可以无感地切换到PoS。也就是说,尽管是“最小破坏”,但在这个过程中,有一些小的变化仍然值得我们注意。本节就主要从应用开发的角度介绍在合并后,我们应该关注的方面。

合并后,当前的Eth1和Eth2客户端将成为以太坊的执行层和共识层。这意味着Eth1或信标链客户端的节点运营商将需要运行堆栈的“另一半”以获得完全验证的节点。下图显示了合并后完整的以太坊客户端架构。

客户端架构

合并后客户端架构.图源自DannyRyan

区块结构

当合并发生时,信标节点将监视当前的PoW链并等待它达到预定义的totaldifficulty阈值,该值被称为TERMINAL_TOTAL_DIFFICULTY。即一旦PoW链产生了一个带有totaldifficulty>=TERMINAL_TOTAL_DIFFICULTY的块,它将被视为链上最后的一个PoW块。

随后,PoW块包含的数据将成为信标链块的数据组成部分,而信标链则可以被视作为以太坊新的PoS共识层,取代之前的PoW共识层。

同时在进行共识验证时,信标节点将与其执行引擎通信,并要求它生成或验证ExecutionPayloads。ExecutionPayloads包含了父哈希、状态根、基本费用和要执行的交易列表等信息。

一旦这些数据被生成或验证,信标节点将与p2p网络上的其他节点共享它们。

而对于终端用户和应用程序开发人员来说,这些原来PoW链上的ExecutionPayloads仍然是他们与以太坊进行直接交互的位置,事务仍将由执行层客户端处理,这使得他们可以无感切换到PoS链。下图显示了这种关系:

图源自DannyRyan

执行引擎

合并之后,执行引擎主要负责状态管理,区块创建和验证功能,而不再包含与共识相关的任何操作。因此,执行引擎被进行了部分修改,这些修改在EIP-3675中进行了描述,主要包含以下三点:

首先,修改了区块的部分数据字段。将原有区块中几个仅与PoW相关的字段设置为0,具体包括与挖矿相关、叔块奖励相关。此外,extraData的长度在主网上也将被限制为32字节。

其次,由于只有合并后的信标链才能进行出块,因此执行引擎将停止处理区块和叔块奖励。但交易手续费仍由其进行处理,即当执行引擎创建一个ExecutionPayload时,需确保所有交易的发起者至少能够支付当前baseFeePerGas的费用,并且将剩余的交易手续费发送到feeReceipient。注意,feeReceipient指的是升级前的以太坊地址,而不是信标链验证者地址。

最后,一旦PoS取代PoW,执行引擎将不再负责广播区块,但仍会通过p2p网络进行交易的广播。具体过程为,首先用户将交易通过本地的RPC请求发送到共识客户端,在那里它们将被打包到信标块中。然后,共识客户端将在他们的p2p网络中广播信标块。

下图表明了以太坊合并时的过程:首先停止PoW出块,其次信标链块在合并后开始持有ExecutionPayload。

图源自DannyRyan

BLOCKHASH&DIFFICULTY操作码更改

合并后,BLOCKHASH操作码仍可使用,但由于它不再通过工作量证明生成对应的Hash值,所以此操作码提供的伪随机性将被大大减弱。

与此同时,DIFFICULTY操作码(0x44)将会更名为RANDOM并返回由信标链提供的随机数值。因此,该值将替代BLOCKHASH成为应用程序开发人员可使用的更好随机源。

RANDOM值将存储在ExecutionPayload中原有mixHash的位置,该值与工作量证明计算相关。升级后该值被重命名为random。

下图解释了合并前后DIFFICULTY和RANDOM操作码的工作原理:

图源自DannyRyan

合并前,我们看到?0x44操作码返回区块头里的difficulty字段。合并后,负责生成随机数的RANDOM操作码则指向原有mixHash字段,该字段被重名为random。

出块时间

合并将影响以太坊的平均区块时间。目前在PoW下,平均每约13秒产出一个区块,但实际区块间隔时间会由于网络拥堵的情况,而存在相当大的差异。但在PoS下,区块间隔为固定的12秒,除非发生某些极端情况,如:验证者离线或未及时提交区块而错过了某个插槽。

综上,升级后网络的平均出块时间将减少近1秒,这提高了交易的速率。注意:如果智能合约中存在与特定平均出块时间相关的逻辑,则在计算时开发人员需要考虑到这一点。

好了,今天的分享就结束了,下一篇,我们探讨以太坊合并之后将面临的安全问题,欢迎持续关注我们的分享。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

大币网

[0:0ms0-3:319ms