走进 Web3

比特币私钥、公钥和地址有什么关系?

By Safeheron Team

比特币的私钥、公钥和地址是一条单向推导链:私钥算出公钥,公钥再算出地址,反过来却算不回去。私钥决定谁能花钱,必须保密;公钥用来验证签名;地址用来收款,可以公开。一把私钥只对应一个公钥,却可以生成多种类型的地址。

私钥、公钥和地址分别是什么?

私钥是一个 256 位的随机数,用来对交易签名。公钥由私钥经椭圆曲线运算得到,节点用它验证签名是否由对应的私钥生成。地址则是公钥或脚本经过哈希和编码后的字符串,告诉付款方把钱锁在什么条件下。

这三步都是单向的。从公钥反推私钥要解椭圆曲线离散对数问题,从地址反推公钥要破解哈希函数,在现有算力下都不可行。

比特币私钥有哪些格式?

同一把私钥可以写成不同格式。最直接的是 64 位十六进制数。钱包导入导出时更常用 WIF 格式,它在私钥前加版本字节 0x80,再加校验码并用 Base58 编码:对应非压缩公钥的以 5 开头,对应压缩公钥的以 K 或 L 开头。

以公开的演示私钥 1 为例,它的压缩 WIF 是 KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qYjgd9M7rFU73sVHnoWn。任何人都能花掉这把私钥对应地址上的资金,切勿使用。现在的钱包大多不再直接展示单把私钥,而是让用户备份助记词,再由 HD 钱包推导出全部私钥。

压缩公钥和非压缩公钥有什么区别?

公钥是曲线上的一个点,有 x、y 两个坐标。非压缩格式把两个坐标都写出来,以 04 开头,共 65 字节;压缩格式只写 x 坐标,用前缀 02 或 03 标明 y 的奇偶,共 33 字节。两者表示的是同一个点,但压缩格式让交易更小、手续费更低,如今已是标准做法,隔离见证地址也只接受压缩公钥。

需要注意的是,压缩与非压缩公钥的哈希不同,生成的传统地址也不同。私钥 1 的非压缩地址是 1EHNa6Q4Jz2uvNExL497mE43ikXhwF6kZm,压缩地址则是 1BgGZ9tcN4rm9KBzDn7KprQz87SZ26SAMH。导入很早以前的私钥时,选错格式就会“看不到余额”。

一把私钥可以对应几个地址?

一把私钥只有一个公钥,但同一个公钥可以生成传统、P2SH 包装隔离见证、原生隔离见证和 Taproot 等多种地址,它们在链上是完全不同的地址,余额各自独立。钱包通常只显示一种类型,如果有人转到了同一把私钥的另一种地址,钱不会丢,只是要用支持该类型的钱包才能看到和花费。

哪些可以公开,哪些绝不能泄露?

地址可以随意公开,这就是它的用途。公钥公开也不会导致资金被盗,但会在花费时自动上链。需要小心的是扩展公钥(xpub),它能推导出钱包的全部地址,泄露后别人虽然转不走钱,却能看到你全部的余额和收支。

私钥和助记词绝不能泄露,拿到它们就等于拿到了资金。企业的难点在于私钥必须既能用来签名,又不能落在任何一个人或一台服务器手里,这正是门限签名要解决的问题。

结语

私钥、公钥和地址是一条只能正向计算的链条,地址可以公开,私钥决定一切。一把私钥对应多种地址,格式选错不会丢钱,私钥泄露却无法挽回。Safeheron 的 MPC 钱包即服务为企业提供 MPC 密钥管理和策略引擎。

想让企业的私钥不再完整地存在于任何一处?

联系 Safeheron 销售团队,预约一对一演示

分享

预约演示

正在评估数字资产安全方案?不妨与 Safeheron 专家聊聊,获取专属方案建议

预约演示