比特币的密码学基础与以太坊相同(都用 secp256k1),但地址生成方式完全不同。
比特币和以太坊都使用 secp256k1 椭圆曲线 生成公钥,但地址编码方式不同:
| 特性 | Bitcoin | Ethereum |
|---|---|---|
| 曲线 | secp256k1 | secp256k1 |
| 公钥格式 | 压缩(33字节)常用 | 未压缩(65字节) |
| 哈希算法 | SHA256 + RIPEMD160 | Keccak-256 |
| 地址编码 | Base58Check / Bech32 | Hex(十六进制) |
| 地址长度 | 25-62 字符 | 42 字符(含0x) |
| 校验机制 | 内置校验和 | EIP-55 大小写校验 |
椭圆曲线上的点有 (x, y) 两个坐标。未压缩公钥存储完整的 x 和 y(65字节),压缩公钥只存 x + y 的奇偶标记(33字节),因为知道 x 就能算出 y。
比特币主要使用压缩公钥以节省空间。