7.2 地址生成的完整流程(Bitcoin 示例)
1. 私钥 (32 bytes) → secp256k1 → 公钥 (64 bytes 或 33 bytes 压缩)
2. 公钥 → SHA-256 → RIPEMD-160 → Hash160 (20 bytes)
3. Hash160 + 版本前缀 (0x00 主网) → 双重 SHA-256 → 取前 4 bytes 作为校验和
4. 版本前缀 + Hash160 + 校验和 → Base58Check 编码 → 地址
hash160 = RIPEMD160(SHA256(public_key_bytes))
checksum = SHA256(SHA256(version_prefix + hash160))[:4]
address = Base58Check(version_prefix + hash160 + checksum)
- Base58 排除了易混淆字符(0 O I l),减少人工抄写错误
- 校验和可以检测约 99.99% 的输入错误