公钥与私钥详解
私钥证明你拥有自己的加密资产;公钥让他人能够验证这一点。了解密钥对如何运作、地址如何生成,以及如何保护好你的密钥。
私钥是一个秘密数字,让你能够授权从某个加密地址发出的交易;公钥则由私钥派生而来,可以公开分享,让他人验证你的签名并向你转账。私钥证明所有权;公钥(以及由它生成的地址)可以放心分享。任何拿到你私钥的人,都能控制你的加密资产。
这个密钥对是加密货币运作的基础。理解了它,你就会明白为什么“not your keys, not your coins”是一句流行语,为什么任何正规方都不会向你索要私钥或助记词,以及为什么丢失的密钥无法重置。
公钥密码学的工作原理
公钥(或非对称)密码学使用两把相互关联的密钥:
- 1私钥——一个非常大的随机数,需要保密。
- 2公钥——通过单向数学函数由私钥计算得出。
关键在于“单向”。从私钥计算出公钥只需不到一秒;而从公钥倒推出私钥,以现有技术需要耗费不切实际的计算时间。正因如此,你可以放心公开公钥。
Bitcoin 和 Ethereum 都使用基于 secp256k1 曲线的椭圆曲线密码学。包括 Solana 在内的其他区块链使用另一条曲线(Ed25519),但原理相同。
数字签名:密钥如何协同工作
当你发送加密资产时,你的钱包会:
- 1构建一笔交易(“从我的地址向这个地址发送 0.1”)。
- 2用你的私钥对交易进行签名,生成这笔交易独有的数字签名。
- 3将交易和签名广播到网络。
随后,节点使用你的公钥来验证签名是否有效、交易是否被篡改。它们永远看不到你的私钥。只要有人改动交易中的哪怕一个字符,签名就不再匹配。
私钥、公钥与地址对比
| 私钥 | 公钥 | 地址 | |
|---|---|---|---|
| 是什么 | 秘密随机数 | 由私钥派生 | 公钥经编码(通常经过哈希)后的形式 |
| 用途 | 签署交易 | 验证签名 | 接收资金;便于分享 |
| 可以分享吗? | 绝不 | 可以 | 可以 |
| 如果被他人获得 | 对方可以拿走你的资金 | 无直接风险 | 无直接风险,但你的余额和历史记录可见 |
| 常见形式 | 长十六进制字符串或编码后的密钥 | 长十六进制字符串 | 例如以 bc1(Bitcoin)或 0x(Ethereum)开头 |
例如在 Ethereum 上,地址是公钥哈希值的最后 20 个字节,以十六进制书写并带有 0x 前缀。
助记词处于什么位置
现代钱包不需要你逐个管理私钥。它们会生成一组助记词(通常为 12 或 24 个单词),并由此派生出一整棵私钥树——在众多区块链上,每个地址各对应一个私钥。
这意味着:
- 备份助记词,就等于备份了钱包里的每一把密钥。
- 任何知道助记词的人都能重新生成每一把密钥。
- 单独导出的一个私钥只控制一个地址。
托管:谁持有私钥?
| 方式 | 谁持有密钥 | 意味着什么 |
|---|---|---|
| 交易所账户 | 交易所 | 方便;你依赖交易所的安全性和偿付能力 |
| 软件(热)钱包 | 你自己,在联网设备上 | 你掌控资金;设备上的恶意软件是主要风险 |
| 硬件(冷)钱包 | 你自己,在专用离线设备上 | 密钥从不离开设备;对大多数人来说是最强的保护 |
我们对托管钱包与非托管钱包的对比文章有更详细的介绍。
一个简单的比喻
想象一个信箱,正面有投信口,背面有一扇上锁的门:
- 地址是信箱的位置——你可以公开它,让任何人都能投信。
- 公钥就像一份锁的说明,邮局可以据此确认某把钥匙确实属于这个信箱。
- 私钥是唯一能打开背面那扇门、取出信件的钥匙。
这个比喻并不完美——在加密世界里,私钥生成的是签名,而不是真的打开什么东西——但它抓住了要点:分享地址是安全的,分享密钥则不然。
私钥是如何被盗的
攻击者很少去“破解”密钥。他们会诱骗人们主动泄露:
- 冒充客服的人要求你输入助记词来“验证”或“同步”钱包。
- 看起来与正品一模一样的钓鱼网站和假冒钱包应用。
- 在设备中搜寻密钥文件、截图或记有助记词的笔记的恶意软件。
- 含有你助记词的照片或文档的云端备份。
应让你立即停下的警示信号:
- 任何索要你助记词或私钥的网站、应用或个人。
- 要求你提供恢复词的“钱包验证”“空投领取”或“解锁”流程。
- 催促你尽快行动的压力。
保护密钥的实用规则
- 1绝不要在任何网站上输入助记词或私钥,也不要与任何人分享。
- 2将备份离线保存在纸张或金属上,而不是存放在照片、邮件或云笔记中。
- 3对于金额较大的资产,请使用硬件钱包。
- 4签名前在设备屏幕上核对地址。
- 5将日常尝试用的钱包和长期储蓄用的钱包分开。
总结
你的私钥就是你的加密资产:它签署交易,谁持有它,谁就控制资金。公钥和地址本来就是用来分享的,让别人可以向你付款并验证你的签名。把私钥和助记词当作真正唯一重要的东西来守护,并把任何索要它们的请求都视为攻击。想了解更多基础知识,请浏览我们的基础知识分类。
常见问题
加密货币中的私钥是什么?
私钥是一个控制加密地址的秘密数字。它用于生成授权交易的数字签名,因此任何拥有它的人都能转走资金。私钥绝不应分享给他人、输入到网站中,或以明文形式存放在网上。
别人能用我的公钥或地址盗走我的加密资产吗?
不能。公钥和地址本来就是用来分享的,这样别人才能向你转账并验证你的签名。以现有技术,从公钥推算出私钥在计算上是不可行的。不过,分享地址会暴露该地址的余额和交易记录。
助记词和私钥是一回事吗?
不完全是。助记词是一种人类可读的备份,钱包会从中派生出许多私钥,每个地址对应一个。任何拥有助记词的人都能重新生成所有这些私钥,因此它比单个私钥更加敏感,必须以同样的方式加以保护。
如果我丢失了私钥会怎样?
如果你自己保管密钥,并且同时丢失了私钥和助记词备份,资金将永久无法访问。没有任何公司或区块链能够重置它。如果你的加密资产存放在交易所,密钥由交易所持有,你可以通过交易所的常规账户流程恢复访问。
