前言
根据 wenmerge 数据,不出意外的话,ETH Pos 升级将于 9 月 13 号的晚间进行,在这次升级的过程中,作为普通的用户,我们该做什么吗?根据一众大 V 的操作,他们的答案是什么也不用做,然而,真的是这样吗?事实上,如果你持续想留在以太坊主网,那么确实你不需要做任何的事情,然而,相信有不少的人想借助这次升级,获得价格不菲的糖果,正好,这篇文章就是给这些不安分的用户的 😀 ,下面就简单分享几个需要注意的风险
糖果的问题
相信很多人都认为只要主网发生升级,就会自动有许多的糖果,然后只需要等待交易所开放冲提,就可以坐享其成,实际上,目前据我所知,比较热门的分叉组织是 ETHPoW 组织,但是这个组织的 github 更新实在是太慢了,还有2天的时间就正式升级了,其实根本上没有时间给他们完成代码的测试,那么如果没有其他分叉组织出来分叉以太坊的话,理论上,所有的用户将会平稳过渡到 ETH PoS 架构,而不会产生任何的糖果,因为糖果的产生是基于在升级的过程中出现两份相同的数据,然后这两份数据沿着不同的方向发展延续,这样,多出来的那份数据就是大家所说的糖果,也就是分叉,如果没有人在升级的时候分叉,多出来一份数据,就不会有任何的糖果,目前来看,大家平稳过渡的概率会很大。
分叉链的重放问题
在分叉链上操作,其实是一项风险很高的事情,稍不留神就会导致资产的损失,这次升级主要的风险为重放风险,这个风险通常被用户忽略,因为这种攻击发生的次数比较少,也不容易引起注意。但是在分叉的过程中,重放风险反而是最容易发生的风险,主要如下:
1. chainId 未改动导致的重放风险
chainId 是用来标识不同链身份的重要参数,是 EIP155 中提出来的重要改进,最初该参数是用于区分 ETH/ETC ,由于大家都是相同的 evm 架构,增加 chianId 参数可有效防止交易在在不同的链上重放,保护用户资产,在分叉链未进行更改 chainID 的情况下,如果强行使用分叉,将导致主网的交易可以重放到分叉链上,或者反过来,分叉链的交易重放到主网上。举一个例子,假设你在主网上发送了一笔 ETH 给 Bob,由于分叉链上的 chainId 未改变,所以 Bob 可以直接将你的交易数据直接发送到分叉链接上,让 Bob 在分叉链的地址上再接受一笔从你地址发送出来的 ETH。这种情况下,用户的资产就会有所损失。但是由于 chainId 是一个重要的系统参数,在正常情况下,是会和主网有所区别的。
2. DeFi 协议中的重放问题
目前很多 DeFi 协议都明确表示不会支持任何的分叉链,在这种情况下,在分叉链中使用某些利用用户签名执行操作的 DeFi 协议,就会收到影响,如 yearn 最近发布的关于 permit 函数的签名问题。这些功能依赖于用户的消息签名来执行某些功能,通过在合约中验证用户的消息签名来验证调用者的合法性,由于某些消息签名只不包含用于识别链本身的参数,所以理论上签名是可以在分叉链上使用的,在这种情况下,假如你在分叉链上签名,极有可能会导致该签名重放到主网上。上文看起来好像有很多协议进行区分,但是教大家一个简单的方法,就是不要在分叉链上进行任何的消息签名,即可规避这种风险
总结
虽然本次分叉会带来很多的财富机会,但是同时也是存在很大的风险,从用户资产安全的角度考虑,还是建议用户在没有很稳固的技术基础的情况下贸然操作分叉链,造成不必要的资产损失。
原文始发于微信公众号(蛋蛋的区块链笔记):关于 ETH Merge 你该知道的