Ed25519是什么?主流公链为什么选用Ed25519签名
Ed25519是一种基于爱德华兹曲线的数字签名算法,属于EdDSA签名体系,安全强度约为128位,它使用32字节公钥和64字节签名,可以验证交易或消息是否由对应私钥持有者签署,以及签名内容是否被篡改。

在区块链中,数字签名相当于身份凭证,用户发起转账时,需要使用私钥签名,网络节点再通过公钥验证签名。Ed25519具有签名长度固定、无需依赖外部随机数生成每次签名所用的nonce等特点,因而被Solana、Stellar等区块链及多种软件系统采用。
Ed25519的工作原理
Ed25519由Daniel J. Bernstein等密码学研究者提出,相关规范收录于RFC 8032,它使用EdDSA签名方案,并建立在Curve25519相关的扭曲爱德华兹曲线上。
工作流程分为三个步骤
1. 生成密钥:从安全的随机种子派生密钥材料,生成32字节公钥。种子和私钥的具体存储格式取决于所使用的密码学库。
2. 生成签名:使用私钥对指定消息进行签名,输出固定64字节的签名。Ed25519采用确定性签名,同一密钥对同一消息签名时,通常会得到相同结果。
3. 验证签名:验证者使用公钥、原始消息和签名进行验证。如果验证通过,说明签名符合该公钥对应的签名规则,且消息与签名相匹配。
数字签名主要用于验证身份和数据完整性,并不负责隐藏消息内容,即使签名验证成功,也不能单独证明交易在业务规则上合法,系统仍需检查余额、权限和其他条件。

Ed25519与ECDSA有什么区别?
ECDSA是一类广泛使用的椭圆曲线数字签名算法,比特币和以太坊普通外部账户(EOA)主要采用secp256k1曲线与ECDSA组合,而Ed25519采用不同的曲线形式和签名方案。
| 对比项 | Ed25519 | secp256k1 + ECDSA |
|---|---|---|
| 公钥长度 | 32字节 | 压缩公钥通常为33字节 |
| 签名长度 | 固定64字节 | 原始签名通常为64字节,其他编码可能更长 |
| 签名随机数 | 通过确定性机制生成,不需要外部随机nonce | 需要安全生成nonce,也可采用确定性生成方案 |
| 性能特点 | 软件实现通常高效,具体表现取决于实现和硬件 | 成熟且经过广泛优化,性能同样可以很高 |
| 典型应用 | Solana、Stellar等系统 | 比特币、以太坊普通外部账户 |
Ed25519的一个重要特点是确定性签名,可以减少因随机数生成不当造成的私钥泄露风险,ECDSA也可以采用RFC 6979等确定性方案,因而不能简单认为ECDSA一定依赖随机数,或者一定比Ed25519不安全。
为什么一些区块链采用Ed25519?
1. 签名格式固定,便于处理。
Ed25519的公钥和签名长度固定,有利于协议设计、数据序列化和网络传输,对于需要频繁验证签名的系统,这种统一格式也方便软件实现。

2. 不依赖外部随机nonce。
Ed25519通过确定性机制生成签名所需的中间值,减少了随机数生成环节出现错误的风险,但如果种子泄露、实现存在漏洞或私钥管理不当,仍然可能导致资产损失。
3. 适合软件实现。
Ed25519具有较成熟的密码学库支持,在许多平台上能够高效运行。实际签名和验签速度仍然取决于硬件、代码实现以及具体工作负载,不能仅凭算法名称判断性能。
哪些区块链使用Ed25519?
1、Solana:普通交易签名主要采用Ed25519,用于验证交易签名者的授权。
2、Stellar:账户密钥和交易签名广泛使用Ed25519。
3、Cardano:采用基于Ed25519的签名方案及相关扩展形式,具体实现与标准Ed25519存在差异。
4、NEAR、Aptos、Sui:支持Ed25519相关密钥或签名方案,但也支持其他签名方式,不能将整个账户体系简单归为单一算法。
5、Cosmos生态:部分基于Tendermint或CometBFT的系统使用Ed25519进行共识签名,具体取决于链的实现与配置。
6、Polkadot生态:常见的sr25519与Ed25519相关,但两者是不同的签名方案,不能视为同一种算法。
Q&A
Ed25519的公钥和签名分别有多长?
标准Ed25519公钥为32字节,签名为64字节。私钥或密钥对的存储格式则取决于具体实现,不能一概认为所有库中的私钥都是32字节。
Ed25519比ECDSA更安全吗?
两者都可以提供可靠的数字签名安全性,前提是参数、实现和密钥管理正确。Ed25519的确定性签名有助于减少随机数使用不当的风险,但不能简单认定它在所有场景下都比ECDSA安全。
Ed25519可以直接用于比特币或以太坊账户吗?
不能直接替换比特币或以太坊普通账户采用的签名方案。若要支持Ed25519,需要相应的协议、账户或验证逻辑配合,不能仅更换密钥就沿用原来的地址和交易格式。
普通用户需要了解Ed25519吗?
如果使用Solana等区块链,或者从事钱包开发、节点运维和跨链系统开发,了解Ed25519会很有帮助,普通用户则更应关注钱包备份、交易授权和官方应用的真实性。






