为什么有些区块链隐藏了你签名的内容

为什么像 Ethereum 和 Solana 这样的链让你签下“空白支票”,以及行业如何尝试修复这个问题。

Author logo
Patrick Dike-Ndulue
•
Post image

当你在硬件钱包上批准一笔加密交易时,其实只是在做两件事之一:要么你能在屏幕上看到清晰明了的交易摘要,准确了解即将发生什么;要么你只能面对一串原始的十六进制代码,盲目签名,寄希望于一切顺利。盲签(blind signing)指的是在无法以可读方式核实全部细节的情况下,批准一笔数字交易。
 

2025年2月,盲签成为 $15亿 Bybit 黑客事件的关键因素,这是有史以来最大规模的加密资产盗窃案。攻击者并未攻破任何加密算法,而是利用了人类签名者无法区分普通转账和恶意合约升级的事实。
 

你的钱包能否在签名前显示清晰可读的交易摘要,这不是软件好坏的问题,而是每条区块链在协议层设计时的抉择。有些链天生让交易自我描述,所有关键信息一目了然;而有些链则把重要细节隐藏在二进制数据中,必须依赖外部信息才能解码。本文将拆解这些设计决策在主流区块链中的表现,以及它们对你的安全意味着什么。

 

image.png

三层分级框架

明文签名是一种安全流程,让你能在安全屏幕上以可读方式核查数字交易的全部细节,再决定是否批准。 


在13个主流区块链生态中,明文签名的支持度根据协议架构分为三大层级。这不是说哪条链好或坏,而是多年前在设计时做出的权衡,往往当时并未充分认识到安全影响。

 

image.png

 

第1级:为透明而生

这些区块链的设计让明文签名成为自然结果。核心原因在于它们采用了有限的、带类型的交易结构,每个字段都有名称、类型和明确定义的结构。硬件钱包无需外部信息即可解析,交易本身就说明了一切。

 

The XRP Ledger 或许是所有主流链中明文签名最彻底、最清晰的代表。其二进制格式包含 TransactionType 字段,确保50+种枚举交易类型(如 Payment、OfferCreate、TrustSet、EscrowCreate 等)都能被确定性解析。每个字段都有明确定义的结构。硬件钱包可以直接显示收款人、金额、手续费、备注和各类型特有参数,无需查找任何外部信息。当前主网近100%的交易都能实现完整明文签名。

 

Polkadot 通过其 运行时元数据系统(MetadataV14/V15),打造了业内技术最先进的明文签名方案。每笔交易都引用 pallet 和 call 索引,元数据精确描述这些索引的含义及参数解码方式。挑战在于完整元数据超过200KB,超出硬件钱包的内存限制。 

解决方案是 RFC-0078(Merkleized Metadata),通过加密树结构,仅传输相关子集,并在链上验证包含证明。这样,一个 Ledger 应用就能支持所有 Polkadot 平行链,无需为每条链单独更新。
 

Cosmos 采用带类型的消息架构,并通过 SIGN_MODE_TEXTUAL 标准(ADR-050)(自 Cosmos SDK v0.50 引入),将交易渲染为适合小屏显示的可读界面。币种数量会显示为“2 ATOM”而非“2000000uatom”。NEAR Protocol 更进一步,支持 可读账户名(如“alice.near”),以及钱包可直接展示的 JSON 格式函数参数。
 

第2级:基础明文,复杂场景失效

六大生态系统对原生操作支持明文签名,但一旦涉及智能合约,透明度就大幅下降。以 Bitcoin 为例,UTXO 模型下,原始交易并不包含输入金额,硬件钱包无法直接计算手续费,需借助前置输出的额外信息。 PSBT(BIP 174)解决了标准支付场景,覆盖约90%的常见交易,但 Taproot 脚本路径支出和复杂多签仍然存在盲区。
 

Stellar 的分层最为明显。其26种经典操作类型(如 Payment、ManageSellOffer、ChangeTrust)拥有固定结构,在硬件钱包上显示清晰。但2024年上线的 Soroban 智能合约重新引入了 EVM 式不透明:参数以二进制编码,需要合约专属知识才能解读,经典操作的明文覆盖率从约95%骤降至 Soroban 场景几乎为零。Algorand、Cardano、Aptos 和 Tezos 也有类似模式:原生操作透明,复杂可编程逻辑存在巨大空白。
 

第3级:不透明写进架构

三大生态的架构设计让明文签名几乎不可能实现,无论钱包软件多优秀。理解这一点,有助于解释为何几乎所有主流 DeFi 界面都反复提示盲签风险。
 

Ethereum 及所有 EVM 兼容链的核心问题在于:ABI 编码本身并不自描述。与智能合约交互时,交易数据字段只包含4字节函数选择器(函数名哈希前4字节),后面跟着32字节一组的参数编码。没有合约的 ABI JSON,这些内容就是纯粹的十六进制乱码。ABI 并不存储在链上,硬件钱包无法知道 0xa9059cbb... 代表“转账1000 USDC 到 0xABC...”除非有外部元数据。
代理合约进一步加剧了问题:它们将执行路由到可变更的实现合约,这正是 Bybit 黑客事件的实现方式。
 

行业对此的应对是 ERC-7730,这是2024年推出的元数据标准,以 JSON 文件描述如何解码并展示特定合约交互。它确实有效,但前提是有人为你可能交互的每个合约都编写并维护元数据文件。归根结底,这只是给本不透明的架构打了补丁。
 

Solana 的挑战甚至更大。交易指令仅包含程序 ID 和一段不透明的指令数据字节流,没有统一的 ABI,每个程序自定义序列化格式。Anchor 框架提供了8字节 discriminator 的半标准化方式,但许多程序并未采用 Anchor,也未公开接口定义。对于 DeFi 交互,Solana 上大部分交易量都需盲签。

TON 则通过异步执行进一步增加复杂度:你只签首条消息,后续跨区块发生的所有操作在签名时都是不可见的。

 

 核心要点

最实用的建议:在用硬件钱包参与 DeFi 前,先了解你的链属于哪一层。第1级链,明文签名如预期般安全;第2级链,简单转账可放心签名,但遇到复杂合约交互要停下来查明细节;第3级链,在 DeFi 协议上每笔交易都需格外警惕,并确认 dApp 和钱包是否支持 ERC-7730 元数据后再批准重要操作。
 

硬件钱包厂商正在积极改进。Ledger 的 Generic Parser 能读取 ERC-7730 元数据文件,在安全屏幕上展示交易细节。

Polkadot 的 Merkleized Metadata 方案堪称行业最优雅:无需信任、加密验证、协议原生。行业正朝着更好的标准迈进,但第3级链的底层协议限制短期内难以改变。
 

最简单的规则:如果你的钱包只显示哈希或一串十六进制字节并让你签名,请务必提高警惕。

 

参考资料与延伸阅读

以下资源可深入了解本文涉及的协议与标准:

ERC-7730 规范(Ethereum Foundation)

EVM 明文签名元数据标准

BIP 174 — PSBT(Bitcoin Improvement Proposals)

比特币部分交易签名

Polkadot RFC-0078:Merkleized Metadata

Polkadot 无信任明文签名

Cosmos ADR-050:SIGN_MODE_TEXTUAL

Cosmos 可读签名模式

NEAR Protocol:账户模型

可读账户标识

XRP Ledger:交易类型

XRP 类型化交易结构

Ethereum:EIP-712 类型化结构化数据签名

链下类型化数据签名标准

Substrate 运行时元数据文档

Polkadot/Substrate 元数据系统

Ledger ERC-7730 注册表(GitHub)

社区元数据提交

Algorand ARC-4:ABI 标准

Algorand 智能合约 ABI

常見問題

  • 明文签名指的是你的硬件钱包会在可信屏幕上显示可读的详细信息,比如收款地址、代币数量、网络手续费和你授权的操作内容,只有你确认无误后才批准。盲签则是钱包只显示编码后的二进制数据(通常是一串十六进制字符串),你无法理解其真实含义,只能凭信任批准。安全风险在于,如果应用被攻破,可能屏幕上显示一套内容,实际签名的却是完全不同的交易。

  • 并非总是如此,但风险确实存在。对于普通 ETH 转账,硬件钱包通常能清晰显示收款人和金额。但一旦涉及智能合约(如代币兑换、流动性提供、权限授权等),是否能明文显示就取决于具体 dApp 和钱包是否实现了 ERC-7730 元数据。如果没有实现,你就是在盲签。

  • 协议设计需要权衡。Ethereum 灵活的 ABI 体系造就了丰富的 DeFi 应用生态,但这种灵活性以牺牲交易自描述性为代价。如果强行改变,会导致成千上万个已部署智能合约失去兼容。ERC-7730 元数据和 EIP-712 等方案,是在现有架构下的务实改进,而不是彻底重构协议。

  • ERC-7730 是2024年推出的 JSON 元数据标准,用于指导硬件钱包如何解码并展示特定智能合约交互。协议团队可以提交元数据文件,将合约函数的原始 ABI 编码映射为可读标签和格式。

  • 是的,确实更安全。即使硬件钱包只显示编码数据而非明文摘要,私钥也始终留在安全芯片内,签名决策在隔离硬件上完成。即便电脑被攻破,也无法窃取你的私钥。硬件钱包盲签的风险在于你可能会批准本不愿意的交易,但密钥本身是安全的。而软件钱包盲签不仅你的批准决策暴露,如果软件被攻破,私钥也可能被盗。

Author logo
作者 Patrick Dike-Ndulue

Senior editor covering crypto, onchain equities, and technology.

Author logo
經審核 Rukkayah Jigam

Writer & editor covering digital assets and product updates.