

作者:小白
本文为作者原创投稿,观点仅代表作者个人理解,ETHPanda 对内容进行编辑整理。
区块链一直强调「自己掌握资产」,但很少有人认真回答另一个问题,如果用户根本看不懂自己正在签什么,那这种掌握到底有多真实?从 blind signing 到 Clear Signing,以太坊正在补一块很基础、也很迟到的拼图,让交易签名从程序员能看懂,慢慢变成普通用户也能理解。
盲签,不是用户不小心
我很早用加密钱包的时候,就一直有个疑问。
为什么我每次点签名,钱包弹出来的东西,总是一串十六进制代码?
我明明是在网页上点了 Swap、Mint、Claim、Approve,但到了钱包确认那一步,屏幕突然变成了一堆0x开头的东西。很多科普视频又反复提醒大家,不要乱签名,很多钓鱼网站就是靠这个偷资产。
这就很拧巴。
一边告诉普通用户,签名很危险,你要看清楚。一边又把真正要看的东西,展示成普通人根本看不懂的格式。
这真不是用户不谨慎,是这个交互本身就很反人类。
后来我才知道,这种情况有个名字,叫 blind signing,盲签。你点下确认时,密码学上确实是在授权一笔交易,但从人的理解层面看,你其实是在签一张看不懂的纸。
问题不是用户不知道安全重要,而是他根本没有足够的信息去判断安全不安全。
以太坊基金会最近宣布 Clear Signing 已经上线,目标很直接,让 human-readable transaction signing 成为默认体验。Clear Signing 官网把这件事讲得更白,See what you sign,让你真正看见自己在签什么。
它不是一个单纯的钱包 UI 优化,而是在补以太坊面向普通用户时一直缺的那块基础设施。
过去的钱包安全,大多是在出事前帮你报警。比如一些插件会提前检查网站是不是钓鱼站,有风险就爆红提醒。Rabby 这类钱包也做了很多交易预览和风险提示,能让你看到签完之后资产余额大概会发生什么变化。
这些都很有用。
但它们更像是在交易旁边加安全员,而不是从签名本身解决问题。你依然要信任插件、信任钱包模拟、信任它能识别这个网站和这笔交易的风险。
Clear Signing,想把交易翻译成人话
Clear Signing 想做的事情更底层一点。
它不是只告诉你「这个网站可能危险」,而是让协议方把交易语义用标准格式写出来,让钱包能稳定地把 calldata 翻译成人能理解的动作。
比如以前你看到的是一长串 hex。
以后理想状态下,你看到的应该是,Swap,发送 1,000 USDC,最少收到 0.42 WETH,协议是 Uniswap V3,网络是 Ethereum。
这才是人应该看到的签名确认页。
这里可以顺一下 Ray 老师的说法。他在帖子里讲了一句我觉得很好的话,「整理过的代码依然是代码」。
这句话其实点中了 EIP-712 和 ERC-7730 之间的差别。EIP-712 把原本混乱的签名内容变成结构化数据,但结构化不等于人类可读。普通用户真正需要的,不是一排排更整齐的变量名和参数,而是能一眼看懂的动作语言。
Ray 老师还把 Clear Signing 形容成**「在代码和普通用户之间加上一层翻译」**。这个比喻特别好。
ERC-7730 和 Registry,是怎么工作的
Clear Signing 背后的核心标准是 ERC-7730。
它定义的是一种 JSON metadata 格式。
大白话讲,就是协议方可以为自己的合约函数写一本「翻译字典」。合约里某个函数、某个参数、某个金额字段,分别应该怎么展示给用户,协议方提前按标准写清楚,然后提交到公开 registry。钱包在签名前查这本字典,把底层 calldata 翻译成用户能读懂的确认页。
ABI 能告诉钱包,这里有个uint256 amount。
但 ABI 不一定能告诉用户,这个 amount 是 USDC 的 6 位小数,还是 ETH 的 18 位小数,也不一定能告诉用户这笔操作是 Swap、Stake、Approve,还是 Claim。
ERC-7730 补的就是这层语义。
然后 registry 扮演的是公共目录的角色。clear-signing-erc7730-registry 仓库维护registry目录里的 metadata files。协议方提交描述文件,钱包和工具读取后,才有机会把交易展示成更清楚的人类语言。
截至 Clear Signing 官网 2026 年 5 月 7 日的快照,registry 已覆盖 44 个 protocol,发布了 346 个 descriptors。里面已经能看到 1inch、Aave、Circle、Lido、Uniswap、Safe、WalletConnect、WETH 等项目。
它不是魔法开关,但方向是对的
看着不少,但 Clear Signing 其实也才刚开始。
不是 EF 发了一条消息,所有盲签问题就突然消失了。现实里还有大量合约没有按 ERC-7730 注册,钱包端也不可能一夜之间全部支持。官网目前明确显示 Ledger 已经 live,Trezor 还在 development。其他钱包、工具、协议还需要时间接入。
所以 Cos 老师提醒的现实问题很关键。协议需要按 ERC-7730 规范完成注册,支持 ERC-7730 的钱包和工具才能更好解析展示。与此同时,钱包端已有的解析、模拟和风险提示能力仍然不能丢。
这点我真的非常认同。
Clear Signing 解决的是,这笔交易声称要做什么。Rabby 这类交易模拟解决的是,执行后可能发生什么。一个看意图,一个看结果。真正好的钱包安全体验,应该是两层都要有。
因为攻击者不会停止进化。
如果未来用户开始信任清晰签名,攻击者也可能尝试提交误导性 metadata,或者用长尾合约、未注册合约、复杂批量交易绕开展示。官方文档里也专门提到,钱包需要自己决定信任哪些 registry、review signal 和 attestation。
所以 Clear Signing 不是魔法开关,它更像是一套新的行业纪律。
协议方要写清楚交易语义。
Registry 要有审查和信任信号。
钱包要决定哪些 metadata 可以被展示。
用户终于不用再被迫面对一堆天书。
我觉得这件事对中文社区尤其有意义。
很多人不是不想进入链上生态,而是门槛真的太高了。大部分用户不是程序员,即便是程序员,也未必看得懂 Solidity、calldata、ABI、selector、permit、delegatecall 这些东西。
以前的链上体验,常常默认用户应该自己承担理解成本。
你看不懂,是你不够专业。
你被骗了,是你不够小心。
你不敢用,是你还没学会。
但这不是大众应用应该有的姿态。
如果一个金融级系统要求普通用户在签名前读懂十六进制代码,那不是用户教育没做好,而是产品和基础设施还没长大。
我之前在 LXDAO 和 ETHPanda 的 Web3 冬季实习计划里,也提过类似想法。当时我在 Headbook 里提增加安全课程的 PR,我想法很单纯,希望科普一下钱包怎么解析签名前四位的十六进制函数选择器,去理解函数意义。那时候我还没有一个完整方案,只是很朴素地觉得,用户不应该对着 hex 猜命运。
现在回头看,ERC-7730 就是在更系统地回答这个问题。
它不只是解析前四位 selector,而是让协议把函数、字段、金额、地址、上下文都写成可验证、可复用、可被钱包消费的结构化 metadata。
这比简单查函数名更重要。
因为函数名也可能骗人。一个恶意函数可以叫claimRewards,也可以叫deposit。真正有价值的展示,不只是告诉你函数叫什么,而是告诉你这笔签名对应的动作、资产、金额、协议、网络和风险边界。
这才是知情同意权。
以太坊早期为了让智能合约快速跑起来,牺牲了很多人类可读性。这在历史上可以理解。没有当年的快速实验,也不会有后来的 DeFi、NFT、DAO 和整个 EVM 生态。
但技术债不会消失,它只会在用户规模变大之后,以钓鱼、误签、恶意授权、冷钱包被盗的方式回来要账。
未来畅想
现在 Clear Signing 出现,至少说明以太坊生态已经开始认真补这笔账了。
我不觉得它会在几个月内改变所有人的钱包体验。更现实的判断是,未来几年,随着主流协议提交 metadata、主流钱包逐步支持、审计和 attestation 机制完善,清晰签名才会慢慢成为默认体验。
但方向是对的。
区块链不应该永远停留在「懂代码的人才敢用」的阶段。真正的大众化,不是让每个人都学会读 calldata,而是让每个人在签名前,都能用自己的语言理解自己正在授权什么。
天下苦盲签久矣。
Clear Signing 的意义就在这里,它不是让钱包变得更好看,而是把交易签名的知情权,慢慢还给用户。
免责声明:本文章仅代表作者个人观点,不代表本平台的立场和观点。本文章仅供信息分享,不构成对任何人的任何投资建议。用户与作者之间的任何争议,与本平台无关。如网页中刊载的文章或图片涉及侵权,请提供相关的权利证明和身份证明发送邮件到support@aicoin.com,本平台相关工作人员将会进行核查。