文章深入剖析以太坊质押中资产控制权的本质,指出非托管质押通过分离签名密钥(Signing Key)与提款凭证(Withdrawal Credentials)实现用户对ETH本金的真正所有权;对比Lido等流动性质押方案,强调原生质押中用户直接掌控提款权的安全优势,呼吁用户从关注APR转向重视底层控制结构。
撰文:imToken
把 32 枚 ETH 质押进一个验证器之后,这笔钱还算不算「你的」?
在各种 Staking 产品漫天飞的今天,这是一个听起来极其基础、却往往被所有人默认略过的问题。
过去大家挑质押方案,习惯拿着放大镜去比:哪家的 APR 多了 0.2%?手续费抽成是 5% 还是 10%?能不能自动复利?什么时候能退?
但在全网质押基准收益率一路被抹平到 3% 以下的今天,各家在账面收益上的那点微小差距,早就不够看了,相比为了千分之几的利息去折腾,另一个一直被藏在产品界面底下的问题,其实重要得多:
你的 ETH 质押出去之后,到底是谁在控制它?
想要看透非托管质押,关键在于搞清楚以太坊在共识层玩的一个非常精妙的设计。
运行一个验证器,从来不是只靠一把 Key,它在协议层面把权限拆成了截然不同的两半。

一类是 Signing Key,也就是验证签名私钥。
这把 Key 专门用来「干活」,每天 24 小时在线参与 Attestation、提议区块、完成各种共识任务,它必须直接挂在服务器上,时时刻刻处于联网状态。谁拿着这把 Key,谁就负责跑这台机器。
但它只能用来证明你在老老实实做共识,哪怕拿这把 Key 去签名一万次,也绝不可能动用本金,而且如果机器掉线甚至违规双签,以太坊扣罚的也是这个验证器的收益或本金。
另一类则是 Withdrawal Credentials,也就是提款凭证所指向的提款控制权。
它才是真正的「取款密码」,在质押生效的那一刻就写死在信标链上,决定了质押进去的 ETH 和产生的收益,最终能够被提到哪里。
这把钥匙完全可以安安静静躺在你的冷钱包或助记词里,一辈子不用联网。
其实以太坊官方对二者的定位就非常清楚:验证签名 Key 是需要保持在线的「热」权限,而提款凭证代表的则是资金所有权层面的「冷」权限。
这意味着,一个第三方完全可以替用户运行验证器,却不必因此拥有用户的 ETH。
这也是为什么像 imToken 这样的非托管质押行得通——节点服务商(比如 InfStones)拿的是 Signing Key,负责机房运维、网络防攻击和 24 小时保持在线,它决定了节点跑得顺不顺、能赚多少出块奖励,但它翻遍代码也找不到哪怕一行能把质押款提给自己的指令。

甚至在以太坊升级并引入 EIP-7002(执行层可触发退出) 之后,这层控制权的闭环变得更加极端了。
以前如果节点运营商失联或者耍赖,虽然钱他拿不走,但用户想退出验证器,往往还得等运营商用 Signing Key 广播退出消息,难免处于被动,但有了 EIP-7002,只要提款凭证(0x01 / 0x02)在你手里,你拿着自己的 imToken 钱包,直接在执行层发一笔指令,就能强行把这个验证器关停、排队退款。
换句话说,就算哪天节点服务商彻底人间蒸发,你的钱也不会被困在链上。
这其实就是「非托管」真正需要关注的地方,整个质押过程也有第三方参与,但负责干活的人,不同时拥有把钱拿走的权力。
沿着这条线继续拆解,就会发现一次看似简单的 ETH 质押,实际上至少有四个角色参与其中。
那就是用户、钱包、节点服务商,以及以太坊协议本身,只是它们拥有的权限并不相同。

首先是用户。
在真正的非托管架构里,用户保留最重要的资金控制权。
以 imToken 的非托管 ETH 质押为例,用户拥有提款相关权限,服务商无法擅自把质押资产转到自己的账户。验证器状态也可以直接通过链上查询。
这和很多人平时理解的「把币交给别人理财」,其实存在根本区别,ETH 虽然已经不再躺在用户钱包余额里,而是进入以太坊 Deposit Contract 并成为验证器余额,但它并没有因此变成相关节点的资产。
节点替你维护的是 Validator,控制的是它的工作权限,而不是资产提款权。
其次是钱包。
钱包更像用户管理这一套权限的入口,而不是质押资产的所有者。
它帮助用户发起质押、管理地址、签署操作、查看验证器状态和收益,但只要底层仍然遵循非托管设计,钱包服务方本身并不会因为提供了这个界面,就自动获得用户资产的提款权限。
因此「通过某个钱包质押」和「把 ETH 托管给这个钱包」其实是两个完全不同的概念,真正决定性质的,依然是底层 Key 和 Withdrawal Credentials 如何配置。
第三个角色是节点服务商。
这是非托管质押里最容易产生误解的一环,既然用户自己没有 24 小时运行机器,那么验证器总得有人维护。
节点服务商负责客户端运行、保持在线、完成验证任务,并保管用于这些工作的 Signing Key,这意味着它们依然非常重要,如果它频繁宕机,用户会损失一部分本应获得的奖励;如果发生严重违规操作,则存在 Slashing 风险。
所以「非托管」从来不意味着「没有服务商风险」,只是这种风险主要被限制在 验证器运行质量与收益层面,而不是「服务商能否把你的 32 ETH 转走」。
最后一个角色,则是以太坊协议本身。
这一层往往最容易被忽略,ETH 一旦进入验证器,任何一方都不能像普通钱包余额一样,想什么时候转账就什么时候转账。
它必须遵守以太坊统一制定的规则,譬如什么时候可以激活、什么时候能够退出、退出是否需要排队、验证器发生什么行为会被惩罚,以及最终什么时候完成提款,都由协议决定。
Pectra 之后推出的 0x02 Compounding Validator 同样如此,它可以让验证器有效余额从传统的 32 ETH 上限提高到最高 2048 ETH,使奖励继续参与复利,但提款与退出依旧按照协议规定进行。
把这套框架建立起来之后,再看 Lido 这样的流动性质押,区别就非常直观了。
用户把 ETH 存入 Lido 后,会得到 stETH,且 stETH 本身仍然完全属于用户,可以转账、交易,也可以拿到 DeFi 中继续使用。
这也是 Liquid Staking 最大的价值,使得原本锁在 Validator 里的流动性,被重新释放出来了。
但与此同时,底层 ETH 的控制结构也发生了变化。
Lido 会把大量用户的 ETH 汇总,再通过协议分配给不同 Node Operator 创建和运营验证器,这些验证器的 Withdrawal Credentials 并不是每一位 stETH 用户自己的 Ethereum 地址,而是由 Lido 协议统一设置,底层提款流程也由协议的智能合约、Oracle、节点运营商等组件共同完成。
所以用户持有的是 stETH 所代表的质押权益,而不是某一个「只属于自己的 Validator」的 Withdrawal Credentials。
当用户想从协议中赎回 ETH 时,需要把 stETH 提交至 Lido Withdrawal Queue,等待协议完成相应的退出和资金准备,之后再领取 ETH。Lido 会为这笔提款请求生成代表提款权利的 NFT,待请求完成后用户才能领取底层 ETH。
不过,虽然看起来用户依然自己持有 stETH,协议本身也是通过智能合约运行,并不存在一个中心化机构可以随意拿走所有用户资产,但它和一人一个 Validator、提款地址直接属于用户的非托管原生质押,确实拥有不同的信任边界。
前者换来了更低的参与门槛、更好的流动性,以及 stETH 在 DeFi 中广泛的可组合性;
后者牺牲了一部分流动性,并需要至少 32 ETH,却把底层验证器的资金控制关系做得更加直接。
简单来说,Liquid Staking 更像是在持有一份可以自由流通的「质押资产凭证」,非托管原生质押,则更接近于拥有一个真正属于自己的 Validator,只把它的日常运维外包出去。
二者并没有绝对的优劣。

对于只有几枚 ETH、需要随时交易或者希望参与 DeFi 的用户来说,stETH 这样的流动性质押资产显然更加方便。
但如果一个用户长期持有 32 ETH、64 ETH 甚至更多,本身也没有很强的流动性需求,那收益率差距并没有大到足以决定选择,这时候,「谁控制资产」的安全性考虑,就会占绝更大的权重。
毕竟 Staking 的收益每天都在变化,APR 会随着全网质押量不断下降或上升,费率也可能调整。
毕竟 Withdrawal Credentials 指向哪里、谁可以把本金提出来、出现极端情况时是否需要第三方配合,却决定了整个产品最底层的信任结构。
这或许也是 ETH Staking 逐渐成熟之后,一个容易被忽略的变化:
当各类产品的收益和体验越来越接近,接下来真正拉开差距的,很可能会回到一个最朴素的问题——我的 ETH,究竟还掌握在谁手里?
选择并没有绝对的对错。
如果手里只有两三个 ETH,或者热衷在 DeFi 乐高里玩循环借贷,那么无论从资金利用率还是门槛来看,stETH 这类流动性质押代币都是更务实的选择。
但如果你的目标是在以太坊网络里沉淀一笔中长期的核心底仓,不管是 32 个还是更多,情况就完全变了,当各类产品的净收益率差只剩千分之几、甚至几个基点时,再去为这点收益去背负冗长的合约调用和治理风险,性价比其实极低。
在加密行业里,大家常说「Not your keys, not your coins.」
但放到 Staking 的语境里,它或许也应该多出半句:「Not your withdrawal credentials, not your native stake.」