冷钱包和联网手机之间只隔一串动画二维码:ERC-4527 的签名传输协议
持有以太坊资产的人如果用过硬件设备或纯离线的旧手机做签名器,一定对”数据怎么跨过这道空气墙”有体会:交易要在联网设备上组装,私钥却只躺在不联网的机器里。ERC-4527 给这件事定了标准流程——用二维码传。标准文档记录的状态为 Stagnant,创建于 2021 年 12 月 7 日,当前状态以标准仓库为准。这篇讲它的机制与适用边界,不涉及任何具体产品推荐。
两个角色与四个步骤
文档先定义角色。离线签名器(offline signer)是持有私钥、完全不联网的设备或应用;只观察钱包(watch-only wallet)是联网那一侧,能查余额、能广播交易,但手里没有私钥。两者配合走四步:第一步,签名器把公钥信息用二维码交给观察钱包,用于生成地址、同步余额;第二步,观察钱包把未签名的交易数据编码成二维码,给签名器扫;第三步,签名器在离线环境里签好,把签名结果再用二维码传回;第四步,观察钱包读回签名,拼成完整交易广播上链。整条链路上,私钥从未离开签名器,联网设备也从未请求过私钥。

为什么选二维码而不是 USB 或蓝牙
提案的动机部分比较了四种传法:二维码、USB、蓝牙、文件传输。二维码的优势被列了四条,其中最有分量的是透明性与攻击面:一串二维码的内容可以用工具还原检查,用户有机会看清”要签的到底是什么”;而 USB 和蓝牙的通道数据普通用户基本无从审计,被恶意软件利用的攻击面也更大。此外二维码不依赖驱动和配对,系统升级、换浏览器通常不会把通路搞断。代价是容量:一个静态二维码装不下一条完整交易,所以标准要求用动画二维码——把数据切成帧依次播放。
UR、CBOR、CDDL 各管什么
分帧传输不是随便切。ERC-4527 采用 BlockchainCommons 发布的 Uniform Resources(UR)协议来编码动画二维码,用 CBOR 做二进制数据的序列化,再用 CDDL 这种简洁模式语言来描述数据结构该长什么样。落到流程里:传递主密钥信息时用 crypto-hdkey 类型编码扩展公钥,推导路径用 crypto-keypath 描述,里面有深度、来源指纹、路径分量等字段。普通用户不需要会手写这些结构,但值得知道一层含义:正因为编码是标准化的,不同厂商的签名器和观察钱包才可能互换搭配,而不是逼你全家桶买一家的设备。
扫码签名的安全卖点到底在哪
很多文章把二维码签名称为”更安全”,需要把话说准:二维码本身不加密也不防钓鱼,它的贡献是切断双向通道——联网设备只能”给”签名器看数据,签名器只能”回”签名,中间没有可被劫持的会话、没有可被植入的驱动。风险随之转移到两个新位置:一是伪二维码,攻击者若在替换环节的站点上放伪造的未签交易帧,签出来的仍是一笔真实却方向错误的转账,所以签名器屏幕上的金额、收款地址必须逐字段核对;二是编码兼容,遇到个别钱包对 UR 扩展支持不全导致扫不出,宁可换标准流程验证,也不要图快把数据用聊天软件复制过去。日常习惯上,建议每隔一段时间做一次小额全流程演练:发送、扫码、签名、广播,确认通路没有因某侧版本升级而变形。
把本文浓缩成一句话:ERC-4527 管的是”数据怎么安全地飞过空气墙”,靠的是单向扫码加标准化编码;它假设你仍然会核对签名器屏幕上显示的每一个字段。本文只讲机制与安全实践,不构成投资建议;任何声称”扫码即可代签、无需确认”的流程都不属于本标准的流程设定。
发表评论
还没有评论,来说两句吧。
评论区为展示样式,提交不会被处理。