ERC-8128 是以太坊生态中一项创新的 HTTP 签名协议,旨在将以太坊钱包的私钥能力扩展到 Web 请求层面。它基于 RFC 9421(HTTP Message Signatures)标准进行扩展,允许开发者使用现有的以太坊账户密钥对 HTTP 请求进行数字签名和验证,而无需引入额外的身份凭证体系。这一设计使得链上已存在的钱包地址可以直接用于后端服务的身份认证,极大简化了去中心化应用与中心化 API 之间的安全交互流程。通过 ERC-8128,任何持有以太坊私钥的实体——无论是用户钱包、自动化机器人还是智能合约代理——都能以密码学方式证明其对特定网络请求的所有权和控制权。该协议不仅支持标准的 GET/POST 请求,还内置了防重放攻击机制、时间戳校验和内容完整性保护,确保每一次签名请求都具备强安全保障。目前已有成熟的 JavaScript SDK 和命令行工具支持其实现,并已发布为 ERC 提案,具备广泛的兼容性和未来扩展潜力。
核心功能特点
- 使用以太坊钱包私钥直接对 HTTP 请求进行数字签名,无需额外身份系统
- 支持请求绑定(request-bound)和类绑定(class-bound)两种签名模式,灵活适配不同场景需求
- 内置防重放保护机制,通过 nonce 和时间窗口防止请求被重复利用
- 自动处理 Content-Digest 头部,保障请求体内容在传输过程中不被篡改
- 提供完整的 JS SDK 和 CLI 工具链,便于集成到现有 Node.js 或自动化工作流中
适用场景
ERC-8128 特别适用于需要将以太坊账户作为可信身份源接入传统后端系统的场景。最常见的应用之一是构建基于钱包认证的 RESTful API,例如 DeFi 平台允许用户直接用 MetaMask 签署交易请求,或 NFT 市场让创作者通过签名授权作品上架操作。此外,该协议非常适合运行在服务器端的自动化代理(Agent),如链上数据抓取机器人、跨交易所套利程序或 DAO 治理执行器,这些系统可使用专用密钥文件安全地代表组织发起受控请求。对于需要高安全性且避免暴露敏感环境变量的部署环境,结合加密密钥库(keystore)和密码管理的 CLI 工具尤为实用。由于签名过程完全离线完成,即使 API 网关本身不存储私钥,也能有效隔离密钥风险,满足企业级安全审计要求。同时,其标准化的头部格式和验证逻辑也便于在 Express、Fastify 等主流 Web 框架中快速集成中间件,实现端到端的无感认证流程。
