以太坊主题标识插画(2019),用于识别讨论对象,不是实体ETH或WETH凭证。
以太坊主题标识插画(2019),用于识别讨论对象,不是实体ETH或WETH凭证。 来源/作者:Stanley Osorio。

图片原始来源 · CC BY 2.0 · 等比例缩小、WebP压缩;未改动内容

查看完整图片 ↗

在以太坊主网使用标准WETH合约时,包装与解包都是同一条链上的合约动作,不是市场兑换。把ETH存入WETH合约,合约铸造等量WETH;把WETH交还合约,WETH被销毁,赎回等量ETH。数量上的1:1由合约规则保证,不表示WETH在二级市场一定按ETH面值成交。跨链桥则处理资产从一条链到另一条链的转移,可能顺带调用包装或解包,但它与同链包装不是互斥关系,也不承担同链赎回的职责。

动作 交出 得到 记账变化
包装 同链原生ETH 同链等量WETH ETH进入WETH合约,WETH按ERC-20记账
解包 同链WETH 同链等量ETH WETH被销毁,ETH回到账户余额
跨链 一条链上的资产 另一条链上的对应资产 由桥的规则决定,可能包含包装步骤

为什么需要包装。 原生ETH不是ERC-20代币,而许多DeFi合约按ERC-20接口处理资产。WETH把ETH变成符合该接口的代币,使同一套合约逻辑能处理ETH敞口。ethereum.org的说明可概括为:WETH合约接收ETH并铸造等量WETH,解包时销毁WETH并返还ETH,同时提醒存入后要留原生ETH付Gas。这段转述只覆盖标准机制,不涉及具体应用的价格或收益。

Gas要单独留。 在以太坊上,Gas以原生ETH计价和支付,WETH不能直接用来付Gas。包装时ETH余额会减少,若把可用ETH全部存入,后续解包或转账可能因缺少原生ETH而无法发起。一个稳妥的做法是先估算本次及后续几步的Gas上限,再决定包装数量。这里说的是以太坊原生支付方式,其他网络的手续费规则不在本文范围。

教学计算。 假设某地址有1.2 ETH,计划包装0.8 ETH,并假设本次包装Gas折合0.003 ETH。操作后WETH增加0.8,原生ETH约为1.2−0.8−0.003=0.397。若之后解包0.5 WETH,并假设解包Gas折合0.002 ETH,则WETH降为0.3,原生ETH约为0.397+0.5−0.002=0.895。数值只用于说明余额如何变化,不构成对实际费用的估计;真实费用随网络状况波动。

怎么判断自己遇到了哪一种。 先看资产是否留在同一条链:ETH减少、同链WETH等量增加,是包装;WETH减少、同链ETH等量增加,是解包;资产从一条链消失、在另一条链出现,并经过桥合约或桥服务,是跨链。再看数量关系:同链包装与解包的1:1来自合约的存入铸造、销毁赎回规则;跨链到账数量取决于桥的设计和费用,不能直接套用这条规则。最后看Gas:无论包装、解包还是跨链,只要在以太坊上发起交易,都要用原生ETH支付手续费。

同名资产要核对。 市场上可能存在其他项目发行的同名或类似包装资产,机制未必是存入铸造、销毁赎回。本文只讨论标准WETH合约的同链包装与解包。操作前核对合约地址和所在网络,比只看代币名称可靠;跨链完成后,目标链上拿到的是WETH还是ETH,取决于桥的具体路径,不能把“跨链成功”直接理解为“已经解包”。

一个常见混淆。 有人把包装当成“买入WETH”,把解包当成“卖出WETH”。在合约层面,这两步都不经过交易对手报价,数量按1:1变化;但一旦WETH进入二级市场或流动性池,成交价格由市场决定,可能出现折溢价。反过来,桥在转移资产时可能先包装再跨链,或在目标链上再解包,这些组合步骤不改变“同链包装由WETH合约完成”这一事实。把三个动作分开看,余额变化和合约调用就不容易混。

资料来源