Skip to content

BTC #1:公钥与私钥

比特币的密码学基础与以太坊相同(都用 secp256k1),但地址生成方式完全不同。


核心知识点

比特币和以太坊都使用 secp256k1 椭圆曲线 生成公钥,但地址编码方式不同:

ETH地址生成

BTC地址生成

ECDSA secp256k1
点乘运算

SHA-256

RIPEMD-160

Base58Check

Bech32

Keccak-256

取后20字节

🔑 私钥
256 位随机数

📢 公钥
65 字节(未压缩)
33 字节(压缩)

哈希1

公钥哈希
20 字节

1 开头的地址
P2PKH

bc1q 开头
P2WPKH

哈希

0x 开头
40 个十六进制字符

关键差异对比

特性BitcoinEthereum
曲线secp256k1secp256k1
公钥格式压缩(33字节)常用未压缩(65字节)
哈希算法SHA256 + RIPEMD160Keccak-256
地址编码Base58Check / Bech32Hex(十六进制)
地址长度25-62 字符42 字符(含0x)
校验机制内置校验和EIP-55 大小写校验

压缩公钥 vs 未压缩公钥

椭圆曲线上的点有 (x, y) 两个坐标。未压缩公钥存储完整的 x 和 y(65字节),压缩公钥只存 x + y 的奇偶标记(33字节),因为知道 x 就能算出 y。

比特币主要使用压缩公钥以节省空间。

学习资源