⚡ 新消息:ElysiumTestnet 发布QuicknodeTestnet Kinetiq 在 HyperEVM 上的 EVM 链的端点
获取一个endpoint通过 SOC 2 II 类认证 · ISO 27001
什么是 ERC-7730?详解Ethereum 上的《Clear Signing Standard》
ERC-7730 快速指南:Ethereum提出的“清晰签名”标准,旨在使交易意图在签名前可读。

ERC-7730 是首个旨在解决这一价值 20 亿美元问题的标准。
而这个问题本质上正是加密货币的基础:交易签名。让我们来看看具体数据:
Bybit因签名接口遭篡改而遭遇了约14.6亿美元的黑客攻击。
针对 Ledger Connect Kit 的网络钓鱼攻击造成 60 万美元损失。
Radiant Capital因交易数据篡改而蒙受了约5000万美元的损失。
以上所有情况都暴露了同一个漏洞:用户仅对钱包显示的内容进行确认,而区块链却在执行不透明的调用数据或签名。
这被称为“盲签”。简而言之,人类有能力对以字节码形式呈现的、自己无法读取的交易数据进行授权和批准。
ERC-7730 是Ethereum 首次有组织地尝试将交易签名机制从“信任接口”转变为“验证意图”。
本文详细解析了“清晰签名”和ERC-7730的含义、其工作原理,以及它们对整个加密货币技术栈的意义。

Clear Signing 使钱包能够在用户签署交易之前显示易于理解的交易意图和详细信息,从而取代了对原始字节码的“盲签”。
钱包不应直接显示原始调用数据、哈希值或泛泛的“签署消息”提示,而应使用通俗易懂的英语解释该操作:
发送 USDC,
批准一名支出人,
交换代币,
过渡性资产,或
转让合同所有权。
ERC-7730 是Ethereum 为确保此操作一致性而制定的标准。
该标准允许智能合约团队发布描述符,这些描述符会告知钱包如何解码和显示特定的合约交互。
请记住,清晰的签名并不能自动保证交易的安全性。它只是使交易数据和意图清晰可辨,从而帮助用户核实自己签署的内容。
好的。那么,ERC-7730 和 clear signing 是如何工作的?

该Ethereum 标准的序言是“所见即所签”。
为了实现这一点,ERC-7730 通过交易描述符来运作。这些是结构化的 JSON 文件,用于将智能合约函数映射到人类可读的签名消息。
描述符会告诉钱包:
它适用于哪个合约和链
正在调用哪个函数
哪些参数重要
这些参数应如何显示
用户在签名之前应看到什么最终提示信息
与其显示原始数据,不如 approve(address, uint256) 调用时,使用 ERC-7730 描述符的钱包可以显示: 批准 {spender} 支出 {amount} {token}
让我们来了解一下这在实际运行中是什么样子的。
ERC-7730 描述符是一个 JSON 文件,用于告知钱包如何将合约调用转换为可读的签名提示。
它主要分为三个部分:
“上下文”部分说明了钱包应在何时使用描述符。它将文件与一个或多个合约部署关联起来,通常通过 chainId 和地址进行关联。
当用户签署一笔交易时,钱包会检查目标合约和网络是否与已知的描述符相匹配。
元数据部分提供了辅助背景信息。其中可包含协议所有者、项目 URL、合约名称、代币详细信息、常量、枚举或回退值。
这有助于钱包更清晰地显示数值,而不是显示原始地址、整数或未作说明的参数。
显示部分负责实际的翻译工作。内部 display.formats,每个键都是一个易于理解的 ABI 函数签名,例如:
swapExactTokensForTokens( uint256 amountIn, uint256 amountOutMin, address[] path, address to, uint256 deadline )
对于每个函数,描述符都定义了一个意图和一个可选的 插值意图,以及钱包应显示的字段列表。
每个字段都通过类似于以下形式的路径指向一个已解码的 calldata 值: #.amountIn, #.to,或 #.deadline,然后告诉钱包如何对其进行格式化。
例如:
{
"path": "#.amountIn",
"label": "Send",
"format": "tokenAmount",
"params": {
"tokenPath": "#.path[0]"
}
}这会告诉钱包:
选择 amountIn 参数,
将其标记为“发送”,
将其格式化为象征性金额,并且
使用 path[0] 以确定哪个令牌提供了代码和小数位数。
请记住,该交易在链上仍以相同的方式执行。ERC-7730 只是为钱包提供了一种标准方式,用于说明用户即将签署的内容。
然而,显示功能只是签名安全性的一个方面。以下是ERC-7730为何仍是一种不完整的解决方案的原因。
ERC-7730 固然重要,但人们很容易高估其作用。正因如此,理解本节内容对于认识其局限性至关重要。
可读并不意味着已验证。一个描述符可能写着“批准支出方使用USDC”,但ERC-7730并不能证明该描述符是准确的、完整的或真实的。
即使提示信息清晰明确,仍可能导致用户批准不当操作。钱包可能正确显示交易详情,但用户仍可能批准恶意合约、不安全的权限授予或存在安全隐患的前端flow 。钱包可能准确显示交易详情,但用户仍可能批准恶意合约、过高的权限授予或存在风险的协议交互。
描述符可能滞后于契约。如果代理进行了升级、路由器改变了行为,或者函数的含义发生了变化,旧的描述符仍可能生成一个正确的提示。
描述符在处理复杂的执行路径时会遇到困难。批量调用、委托调用、路由器以及嵌套的调用数据,可能会导致一个事务执行的操作超出其可见函数所暗示的范围。
此外,为了使清晰签名能够可靠且有效地运行,它在很大程度上依赖于以下关键因素:
可信注册机构,
交易模拟,
元数据检查,以及
钱包级别的风险警告。
正因如此,有必要再次强调这一限制:ERC-7730 虽然让交易更易于理解,但并不意味着签名就自动安全。
ERC-7730 已在注册表层上线,而 Ledger 目前无疑是其最成熟的实际应用案例。但“清晰签名”的应用范围还更为广泛。
随着账户抽象技术的日趋成熟,用户签署的一次性交易将越来越少,而授予的范围限定权限则会越来越多:
支出限额,
会话密钥,
已批准的合同,
委托操作,以及
定期保单。
这使得交易意图显得尤为重要。
如果智能钱包无法清楚地理解某项操作的含义,就无法执行合理的规则。
同样的情况也适用于人工智能(agents )和自主执行。
如果agents 要代表用户发起掉期交易、支付、资产再平衡或合约行权,仅靠原始行权数据是不够的。
他们需要一个语义层,该层能够被钱包、策略引擎、模拟器以及最终其他agents 读取。
ERC-7730 是朝着这一方向迈出的第一步。
它始于可读的签名,但其长期价值可能在于可机读的意图:这是一种让钱包、应用程序和agents 在执行之前,能够共同理解正在授权的内容的方式。
Quicknode 成立于 2017 年,致力于为开发者和企业部署机构级区块链基础设施。凭借 99.99% 的运行时间和对 76 条以上区块链的支持,各团队能够毫无妥协地构建和扩展链上应用程序。
将最新的工程见解、产品更新和 Web3 资讯直接发送至您的收件箱。