盲签 vs 清晰签名:钱包究竟能核验哪些交易信息?
比较盲签与清晰签名的显示内容、ERC-7730 与 EIP-712 的作用、可读提示仍可能失败的原因,以及用户应核验的交易字段。
作者: Damon Salvatore · Senior Content Marketer 盲签是指批准钱包无法用人类可理解方式解释的数据。清晰签名则会解码操作,并显示用户做决定所需的详情,例如资产、金额、接收方、被授权方、网络和合约。
清晰签名比批准不透明哈希更安全,但并不保证交易诚实。只有当数据来源、合约绑定、钱包实现和用户核验都可信时,设备显示才真正有用。
快速解答:盲签与清晰签名有什么区别?
盲签要求用户在不了解交易意图的情况下批准原始或不完整数据。清晰签名会把待签数据转换为可读字段,并把这些字段与真实交易绑定。它能减少歧义,但用户仍要核验合约、资产、金额、接收地址、网络和权限。未知或无法验证的数据应该触发警告,而不是显示让人安心的名称。
关键要点
- 盲签把交易意图隐藏在原始数据、哈希或信息不完整的提示中。
- 清晰签名显示可读操作,以及影响决定的关键参数。
- 大尺寸可信屏幕只有在钱包能够解码并验证数据时才有帮助。
- EIP-712 负责结构化类型化消息,ERC-7730 用于描述可读合约交互。
- 清晰签名的元数据和注册表也需要自己的安全控制。
- 如果提示无法说明交易结果,应拒绝,除非能够独立解码并核实。
盲签与清晰签名对比
| 核验项目 | 盲签 | 清晰签名 |
|---|---|---|
| 显示的操作 | 原始数据、哈希或笼统请求 | 显示转账、兑换、授权等可读操作 |
| 资产与金额 | 可能缺失或难以理解 | 在可识别时显示代币和格式化金额 |
| 合约或被授权方 | 可能只显示地址 | 可显示已识别名称,同时保留地址 |
| 网络信息 | 可能不清楚 | 可显示链和域信息 |
| 用户判断 | 需要信任应用或自行解码 | 让用户能够基于具体内容做决定 |
| 剩余风险 | 意图不可读时风险较高 | 风险较低,但元数据、前端、注册表和人为疏忽仍可能出错 |
差别不只是界面是否好看。只显示授权两个字并不够;如果钱包隐藏了被授权方、代币、金额或网络,用户仍然无法做出有效判断。清晰签名必须提供经过验证的完整上下文。
盲签时发生了什么?
钱包收到了待签数据,却没有可信描述。设备可能显示十六进制 calldata、哈希、合约地址或笼统消息。生成的密码学签名仍然有效,但用户很难把提示与自己预期的结果对应起来。
原始数据并不自动代表恶意,问题在于人类无法通过肉眼可靠区分安全与有害载荷。信任从设备屏幕转移到了连接的应用、网站或发送交易的人。
清晰签名应该显示什么?
有效的清晰签名提示应识别操作和决定其结果的字段。根据交易类型,可能包括:
- 转账、兑换、授权、质押或挂单等操作类型。
- 资产和正确格式化的金额。
- 接收方、合约、操作员或被授权方地址。
- 网络和链 ID。
- 授权额度和到期时间。
- 最低收到金额、费用或滑点限制。
- 代币、合约或描述文件无法验证时的明确警告。
ERC-7730 如何支持清晰签名
Ethereum.org 的 ERC-7730 教程介绍了一种把合约函数和参数映射为可读意图的格式。描述文件可以把 calldata 转换为一句明确说明,例如用某一数量的资产兑换不少于某一数量的另一资产。
描述文件必须绑定到正确链和合约部署。与真实载荷分离的标签反而会制造虚假安全感。
EIP-712 与清晰签名有关,但不是同一件事
EIP-712 定义结构化类型数据签名,让字段和类型具有可预测结构,但应用仍可能请求危险的类型化签名。钱包必须准确显示域、验证合约、关键字段和实际效果。
ERC-7730 也可以描述 EIP-712 消息,增加显示规则与上下文;钱包仍需验证描述是否与载荷一致。
清晰签名仍可能在哪里失败?
ERC-7730 的安全考虑列出了剩余风险,包括误导性描述、注册表污染、元数据受损、代理升级以及错误的代币或地址解析。
- 恶意前端可能请求与用户预期不同的操作。
- 假代币可以使用熟悉的简称。
- 解析后的名称可能指向错误地址。
- 升级后的代理合约可能改变行为。
- 即使提示正确,用户也可能不阅读就批准。
清晰签名改善的是决策界面,不等于合约审计,也无法预测每个后续影响。
为什么硬件钱包屏幕很重要?
构建交易的电脑或手机也会暴露给浏览器扩展、恶意软件和受损前端。独立设备屏幕提供第二个核验点,这也是硬件钱包需要可信屏幕的原因。
屏幕应能完整显示相关字段,而不是用模糊摘要隐藏内容。用户还应把设备提示与独立核验的接收地址和预期操作进行比较。
实用签名决策流程
- 确认操作来自官方站点或应用,而且确实由本人发起。
- 检查网络和目标合约。
- 阅读操作、资产、金额、接收方或被授权方以及授权额度。
- 任务只需小额权限时,拒绝无限授权。
- 设备退回原始数据或提示交易未知时停止。
- 测试陌生协议时使用独立低余额钱包。
- 高风险操作后检查现有代币和 NFT 授权。
权限核验可继续阅读DeFi 代币授权安全指南。
盲签不等于密码学中的盲签名
在钱包安全中,盲签通常指用户无法理解待批准载荷。密码学中的盲签名则是另一种协议,签名者在不知道内容的情况下为隐藏数据签名。两个相似术语描述的是不同问题。
UKey 在签名核验中的位置
UKey Core 26 在 UKey 签名流程中提供设备端核验界面。当钱包拥有可信且可读的交易数据时,屏幕可以帮助用户做出更安全的决定。设备本身无法为未知载荷凭空生成可靠解释,也不能让有害合约变安全。
应把可读签名与UKey 安全 Hub中的其他控制结合,并通过官方UKey 帮助中心查看产品说明。
相关资源
权威资料
本文仅用于安全教育。不同链和应用的钱包显示、解码字段、描述文件支持和合约行为并不相同。钱包无法提供足够且经过验证的信息时,应拒绝交易。
如需按官方支持的流程继续操作,请参阅交易确认检查清单。这些官方资源提供与本主题相关的当前产品信息和分步操作方法。