跳到正文

公钥和私钥

公钥密码学让钱包使用保密的私钥为区块链交易签名,同时让网络用对应的公钥验证签名。本词条说明密钥、地址、恢复短语之间的区别以及签名风险。

更新于

仅供教育参考,不构成安全或投资建议。区块链交易可能无法撤销。绝不要泄露私钥或恢复短语,并在签名前核对每笔交易。

直接答案

公钥与私钥构成一种非对称密码学关系,用于授权和验证区块链操作。私钥是创建数字签名的秘密数据。对应的公钥可以公开,使他人能在不知道私钥的情况下验证签名。

区块链地址通常由公钥、脚本或账户规则派生,并非在所有网络上都等同于公钥。派生方式和地址格式取决于具体网络。地址标识目的地或账户,而控制权通常取决于能否满足该网络的支出或授权规则。

持有私钥不代表代币存放在钱包里。资产或可支出输出记录在账本上,密钥让持有人能够授权有效的状态变更。取得密钥的人可能以持有人身份签名,而唯一可用密钥一旦丢失,自托管资产可能永久无法访问。

工作原理

基本签名流程如下:

  1. 钱包软件用密码学安全的随机数生成私钥,或按照规定方案从钱包种子派生私钥。
  2. 单向数学运算派生对应的公钥。在算法和实现安全时,从公钥反推出私钥在计算上应不可行。
  3. 网络规则从公钥派生地址、脚本或账户,或将其与公钥关联。不同网络可能使用不同的曲线、哈希函数、编码和账户模型。
  4. 钱包用私钥对特定交易或消息签名。签名只对应精确编码的数据;数据一经改变,签名即失效。
  5. 网络参与者在接受获授权操作前,依据公钥和协议规则验证签名。验证过程不会泄露私钥。

恢复短语与私钥不是同一个对象。在许多分层确定性钱包中,恢复短语表示用于重建种子的熵,再由种子派生多个密钥和地址。因此,知道该短语的人可能控制所有派生账户。钱包密码通常只用于加密或解锁本地钱包文件;它不能取代底层密钥,也不能单独恢复密钥。

公私钥控制也不能描述所有区块链账户。例如,以太坊外部账户由密钥对控制,合约账户则由已部署代码控制,并可能实施多重签名、时间延迟或恢复规则。

示例

Alice 把收款地址交给 Bob。Bob 的钱包检查网络和地址格式,构造付款,并要求 Bob 确认收款人、金额和手续费。钱包在本地用 Bob 的私钥为这笔确切交易签名,再广播已签名交易;私钥本身从不发送给 Alice 或网络。

节点验证签名和相关支出规则。有效签名表明所需密钥授权了该交易,但不能证明 Bob 的法律身份、Alice 值得信任,或交易在经济上合理。如果 Bob 为错误网络、收款人或合约操作的数据签名,正确的密码学仍可能授权错误结果。

风险

  • 泄露: 钓鱼、恶意软件、云备份、截图、浏览器扩展或假冒客服都可能暴露私钥或恢复短语。应将二者都视为具有完整控制权的材料。
  • 丢失: 设备损毁、遗忘附加密码、备份不完整或派生设置不兼容都可能阻止恢复。应在不暴露秘密的前提下测试有文档说明的恢复流程。
  • 不良随机数或软件: 可预测的密钥生成、有缺陷的签名代码、供应链入侵或恶意钱包会破坏原本可靠的密码学。使用持续维护的软件和信誉良好的签名设备。
  • 签名含义不清: 签名可能授权转账、代币批准、订单、登录或其他消息。阅读人类可理解的意图,并独立核对编码详情、网络、地址和金额。
  • 操作集中: 一把密钥控制全部资产会形成单点故障。适当分离余额和职责,尽量减少联网暴露,并为高价值用途考虑硬件签名、多重签名或受策略控制的账户。

如果私钥或恢复短语可能已经暴露,应假定其已被攻破。在干净设备上创建独立生成的新钱包,核验其备份,并在安全时转移剩余资产和必要权限。不要把旧秘密输入声称可以检查或修复钱包的网站。

常见误区

误区 1:私钥只是钱包密码

密码可以保护本地应用或加密密钥库。私钥用于授权签名,重置应用密码不能重建丢失的私钥或恢复短语。

误区 2:地址和公钥始终相同

地址构造取决于协议。许多地址编码的是哈希、脚本或账户规则,而不是原始公钥;某些合约地址根本没有私钥。

误区 3:公开公钥会让别人算出私钥

安全的公钥系统本就允许公开公钥和签名。实际威胁是薄弱随机数、有缺陷的实现、秘密泄露以及密码学未来可能被破解,而不是正常的验证过程。

误区 4:有效签名能证明签名者是谁

它只能证明所需密钥按照协议规则授权了已签名数据。要把该密钥与真人或组织关联,还需要独立的身份证据。

相关主题

来源

  • 区块链技术概述 - NIST(查阅日期:2026-08-21)
  • 公钥 - NIST 计算机安全资源中心(查阅日期:2026-08-21)
  • 钱包 - Bitcoin 开发者文档(查阅日期:2026-08-21)
  • 以太坊账户 - Ethereum.org(查阅日期:2026-08-21)
导航

搜索知识库...