有了私钥这个 256 位整数后,钱包在 secp256k1(比特币和以太坊用的曲线)上做一次点乘,得到曲线上的一个点。这个点的坐标就是公钥。整个推导是单向的:从私钥能很快算出公钥,反过来在现有算力下基本算不动。
为什么这个词重要
普通用户日常用到的是地址,不是公钥。但理解公钥的位置很关键,因为它解释了一件反直觉的事:你在链上转账时,节点靠签名和公钥验证这笔交易是不是你授权的,对得上才算数。比特币交易会带上公钥(或它在脚本里的形式);以太坊交易不直接携带公钥,节点从签名中恢复出公钥再核对。整个过程里,签名能证明你持有对应的私钥,而私钥本身不会暴露——这就是公钥密码学的用处。
有些场景你会直接见到公钥:比特币早期的 P2PK 输出、Schnorr 多签、Nostr 协议的身份(npub 就是公钥的 bech32 编码)、以太坊的离线签名验证。换句话说,公钥不是程序员的玩意儿,它是你身份在链上对外那张脸。
常见误解
- "公钥就是地址"——不是。地址通常是公钥再做一次哈希再加上校验码得到的更短字符串。把地址当作公钥的"显示名"更准确。
- "公开公钥不安全"——公钥本身可以公开,这是设计意图。真正要保密的只有私钥。但在量子计算大规模可用之前的过渡期,比特币社区习惯地址只用一次(一花就换),减少公钥长时间暴露的窗口。
延伸阅读
- 相关词条:私钥、地址、派生路径
- 深度长文:私钥与助记词 · 加密世界的身份证