TL;DR
- 私钥用于生成签名,必须严格保密。其公钥由私钥派生而来,用于验证这些签名。您分享的地址是一个独立的、特定于网络的标识符,可能由公钥、脚本或合约逻辑派生而来。助记词是一种备份来源,钱包可据此推导出多个私钥。
- 私钥是签名算法所使用的秘密加密输入。在常见的椭圆曲线系统中,它表现为一个巨大的秘密数字,或由 32 字节的秘密种子生成。钱包软件应使用加密安全的随机源来生成私钥;用户不应自行编造私钥。
- 公钥是从私钥派生出的数学验证数据。它允许任何人验证签名是否与相应的密钥匹配,而无需知晓该密钥。公布公钥并不授予签名权限。但根据网络的不同,它可能会揭示账户关系或活动情况。
- 钱包将精确的交易或消息序列化,应用网络的签名规则,并使用私钥生成签名。节点或应用程序使用公钥验证该签名。更改已签名的有效载荷会使证明失效,但有效的签名并不能保证所请求的操作是安全的或被理解的。
在一个街区
私钥是一种保密的签名材料,可用于授权区块链账户或支出策略下的操作。公钥是根据私钥通过数学推导得出的,它允许网络在不获知私钥的情况下验证签名。钱包地址是根据密钥、脚本、合约或程序规则推导出的、特定于网络的标识符。大多数用户分享的是地址,而非原始公钥。助记词通常是许多确定性密钥的备份输入,而非某个私钥的同义词。
私钥和公钥有什么区别?
快速解答
私钥用于生成签名,必须严格保密。其公钥由私钥派生而来,用于验证这些签名。您分享的地址是一个独立的、特定于网络的标识符,可能由公钥、脚本或合约逻辑派生而来。助记词是一种备份来源,钱包可据此推导出多个私钥。
公钥加密技术刻意制造了一种不对称性:其中一项信息保持保密并用于授权操作;另一项信息则可广泛分发,允许任何人验证生成的证明。区块链利用这种不对称性来验证支出,而无需要求银行或账户管理员对客户进行身份验证。
初学者常用的简写——“公钥接收,私钥支出”——虽然指明了正确方向,但在技术上过于宽泛。公钥通常用于验证签名;地址、输出或账户则用于接收价值。私钥可能是简单账户的唯一授权方,多签名策略中的一个签名人,阈值系统中的一个份额,或者与由代码定义控制权的合约地址无关。
| 条目 | 主要功能 | 能否共享? | 若遭泄露或丢失会怎样? |
|---|---|---|---|
| 私钥 | 使用一组密钥对生成签名。 | 不可以。请对他人、网站及不可信设备保密。 | 若私钥泄露,可能会导致未经授权的签名。只有在没有备份或替代授权源的情况下,丢失私钥才会造成严重后果。 |
| 公钥 | 用于验证签名,有时可协助推导地址。 | 从支付安全角度来看,通常是需要的。 | 披露公钥不会授予签名权限,但可能会降低隐私性或暴露未来加密迁移的风险。 |
| 地址/输出标识符 | 告知网络价值或状态的分配位置。 | 是的;这通常就是用户交换的内容。 | 披露可能会泄露交易历史,或招致针对性的诈骗。向错误地址发送通常是不可逆的。 |
| 恢复短语 | 用于重新生成确定性钱包种子及其密钥层次结构。 | 绝不能。 | 一旦泄露,可能会导致许多当前和未来的账户信息暴露。如果丢失且没有其他备份,将无法进行恢复。 |
| 钱包密码或 PIN 码 | 用于解锁或解密本地钱包界面或设备。 | 不,但通常并非区块链权威机构本身。 | 通常可通过恢复方法进行重置;具体取决于产品设计。 |
| 钱包 | 管理密钥素材、签名者、策略、地址和交易。 | 软件可以是公开的,但其密钥不能公开。 | 一个钱包可能包含一个密钥、多个密钥、没有可导出的密钥,或者包含一个分布式签名策略。 |
私钥到底是什么?
快速解答
私钥是签名算法所使用的秘密加密输入。在常见的椭圆曲线系统中,它表现为一个巨大的秘密数字,或由 32 字节的秘密种子生成。钱包软件应使用加密安全的随机源来生成私钥;用户不应自行编造私钥。
私钥不是用户名、账户密码或支持代码。它是允许签名者生成与公钥匹配的证明的秘密数学输入。 比特币和以太坊使用 secp256k1 椭圆曲线进行普通用户签名。一个有效的 secp256k1 私钥是曲线群中的一个标量,通常存储在 32 字节中。像 Solana 这样的 Ed25519 系统通常以 32 字节的秘密种子开始,并根据 EdDSA 规则推导出签名标量和公钥。
诸如“一个随机的256位数字”之类的描述对于secp256k1而言很有用,但不应被视为通用的钱包定义。密钥还以不同的编码形式出现:十六进制、钱包导入格式、加密密钥库、硬件支持的密钥对象或不可导出的操作系统凭据。编码是一种容器或表示形式;而真正的签名权威则是其底层的秘密。
生成质量至关重要
密钥空间虽然庞大,但这仅在钱包使用可信的随机数和正确的密码学代码时才成立。人工选择的短语、易于记忆的数字或即兴的“脑钱包”熵值远低于此,且可能被破解。BIP39明确描述了传输计算机生成随机数的方法;它并非将用户自创的句子转化为安全钱包的手段。
签名实现还必须正确处理每条消息的非ce。在 ECDSA 中,即使长期密钥生成得再完美,如果重复使用或严重偏倚该秘密非ce,仍可能泄露私钥。RFC 6979 等确定性 ECDSA 流程减少了对新鲜随机非ce的依赖,但实现仍需具备侧信道和故障防护措施。
私钥并不总是等同于整个账户
对于一个简单的以太坊外部所有账户,只要持有密钥,就足以对协议允许的任何交易进行签名。对于比特币输出,只有当密钥满足输出脚本的要求时,才具有实际作用。多签名输出可能需要多个密钥。以太坊合约账户本身没有私钥;由代码决定接受哪些调用或签名。Solana程序派生地址则完全没有私钥。
要点:“谁持有私钥,谁就拥有资金”这一说法对于单密钥账户而言是准确的,但这并非区块链所有权的通用定义。实际的控制权取决于账户、输出脚本或程序所验证的内容。
公钥究竟是什么?
快速解答
公钥是从私钥派生出的数学验证数据。它允许任何人验证签名是否与相应的密钥匹配,而无需知晓该密钥。公布公钥并不授予签名权限。但根据网络的不同,它可能会揭示账户关系或活动情况。
在椭圆曲线密码学中,推导公钥涉及将标准曲线点与秘密标量相乘。正向计算效率很高。而从所得点中恢复标量则属于椭圆曲线离散对数问题,对于采用现代参数且经过合理选择的情况,使用已知的经典方法在计算上是不可能的。这种单向关系正是 ECDSA、Schnorr 和 EdDSA 背后的安全假设。
公钥有多种编码形式。比特币的 secp256k1 密钥可能表现为 33 字节的压缩点、较早的 65 字节未压缩点,或是 BIP340 Schnorr 协议中仅包含 x 值的 32 字节密钥。以太坊工具通常会在内部生成未压缩的 secp256k1 公钥,尽管用户交互时使用的是 20 字节的地址。 Solana 的 Ed25519 公钥长度为 32 字节,通常以 Base58 格式显示。
公钥无法证明的内容
公钥本身并不自动等同于法定名称或个人身份。签名仅能证明签名者在签名时对相应签名权限的控制权;它无法证明谁实际持有设备、请求是否由恶意软件发起、签名者是否理解有效载荷,也无法证明密钥是否被盗。身份认证来源于周边系统——如证书、账户注册、社交验证或其他证据——而非仅凭密钥对本身。
钱包地址与公钥是一样的吗?
简答:有时是,但通常并非如此。钱包地址是特定网络的标识符。它可能编码了公钥、公钥的哈希值、脚本哈希、见证程序、合约地址,或是不含私钥的程序生成地址。请始终遵循具体网络和地址类型的规则。
“地址是公钥的简写”这一说法过于笼统。地址的设计需符合网络的账户或输出模型、校验和及支出规则。同一条链上的两个地址甚至可能代表不同类型的权限。
| 网络 / 类型 | 面向用户的地址所代表的含义 | 是否必然存在匹配的私钥? |
|---|---|---|
| 比特币 P2PKH / P2WPKH | secp256k1 公钥哈希值的编码形式。 | 生成相关签名需要私钥,但地址本身并非公钥。 |
| 比特币 P2SH / P2WSH | 脚本哈希或见证脚本哈希的编码形式。 | 不一定是单个密钥;脚本可能需要多个密钥或其他条件。 |
| 比特币 P2TR | 一个 SegWit v1 见证程序,其中包含一个经过调整的、仅包含 x 的 Taproot 输出密钥。 | 密钥路径的消费可能使用私钥或聚合/阈值授权;脚本路径可使用其他条件。 |
| 以太坊 EOA | 未压缩 secp256k1 公钥的 Keccak-256 哈希值的最后 20 字节。 | 是的,用于 EOA 签名权限。 |
| 以太坊合约账户 | 由合约部署规则创建的地址。 | 没有固有的私钥;由合约代码定义控制权。 |
| Solana 曲线签名者 | 32字节的Ed25519公钥,通常采用Base58编码。 | 是的,存在相应的私钥。 |
| Solana PDA | 由程序 ID 和种子生成的曲线外地址。 | 不。指定程序可通过运行时规则对其进行授权。 |
比特币开发者文档通常泛泛地讨论公钥的分发,同时指出钱包通常分发的是公钥哈希或脚本哈希。以太坊将外部拥有的账户与合约账户区分开来。Solana 明确支持 Ed25519 公钥地址和由程序派生的非曲线地址。
仅靠地址格式是不够的
地址必须与目标网络、资产以及(如有需要)备注或标签配对。同一个十六进制 EVM 地址可能存在于多个网络中,但如果资产发送到了错误的网络,收件人可能无法通过其预期的服务访问这些资产。地址的有效性也不能证明所有权属于预期的人:请通过独立渠道验证目的地。
数字签名如何工作——它们能证明什么?
快速解答
钱包将精确的交易或消息序列化,应用网络的签名规则,并使用私钥生成签名。节点或应用程序使用公钥验证该签名。更改已签名的有效载荷会使证明失效,但有效的签名并不能保证所请求的操作是安全的或被理解的。
数字签名是私钥与公共区块链之间的操作桥梁。签名者不会传输私钥,而是传输签名以及足够的上下文信息,以便验证者能够重建已签名的有效载荷,并识别相关的公钥或地址。美国国家标准与技术研究院(NIST)将数字签名描述为一种机制,用于检测未经授权的篡改,并在其周围的密钥管理系统下对签名者进行身份验证。
| 有效的签名可以确立 | 有效的签名本身无法证明 |
|---|---|
| 该签名与指定的公钥或可恢复的签名者相匹配。 | 密钥背后的法律或个人身份。 |
| 已签名的字节在签名后未被更改。 | 钱包显示准确解释了这些字节。 |
| 所需的签名机构已按照算法参与了签名过程。 | 该密钥未被盗用、未受远程控制,也未被恶意软件使用。 |
| 交易或消息满足签名级别的授权要求。 | 收件人地址、智能合约或经济结果是安全的。 |
| 签名人已批准该确切的加密有效载荷。 | 签署人理解其中嵌入的每一项权限、批准、许可或授权。 |
签名不等于加密
大多数公共区块链交易都是公开可见的。签名用于验证交易真实性;它不会隐藏交易金额、收款方或合约调用信息。某些系统也会使用公钥密码学进行加密或密钥协商,但这属于独立的操作,采用不同的算法和假设。
免Gas费的签名仍可在后续转移价值
钱包可能会对链下消息进行签名,例如代币许可、市场订单、登录验证或类型化数据授权。有些签名仅用于验证会话;有些则授权第三方或合约在后续消耗资产。签名时不产生网络费用并不意味着该请求无害。批准前请仔细阅读域名、链、支付方、资产、金额、有效期和操作。
加密密钥从何而来?
快速解答
可信的钱包会获取计算机生成的随机数,创建密钥材料,并根据网络算法推导出一对或多对密钥。现代钱包通常采用分层确定性推导机制,允许通过一个根种子生成多个账户和地址,而无需为每个账户和地址单独存储独立的随机备份。
早期的钱包会生成并备份许多互不相关的私钥。分层确定性钱包改变了这一模式:一个根种子和链码可推导出一棵子密钥树。BIP32 为比特币兼容系统标准化了这种方法,其中包括仅公开分支,该分支可在不暴露消费密钥的情况下生成接收地址。
随后,钱包利用派生路径将账户、网络、收款地址和找零地址进行分离。BIP44及相关标准定义了通用规范,但具体实现方式仍存在差异。若将助记词恢复到另一款产品中,在选定正确的派生方案、账户索引和网络之前,钱包可能显示为空。

密钥生成应可验证且可重复
钱包应使用加密安全的随机数生成器,保留足够的备份信息,并清晰说明恢复流程。硬件钱包可能在专用设备内部生成并保存密钥。移动钱包可能依赖操作系统的安全存储。阈值钱包可能通过联合生成份额,确保完整私钥永远不会被拼凑出来。这些是不同的托管设计,而不仅仅是不同的界面。
恢复短语等同于私钥吗?
简短回答:不是。根据 BIP39 标准,这些单词编码了钱包熵值以及校验和。助记词和可选的密码会被处理成二进制种子,而像 BIP32 这样的确定性钱包标准会从该种子中派生出多个私钥。任何拥有完整恢复输入的人通常都能重构整个钱包层次结构。
将助记词称为“用文字表达的私钥”虽然便于记忆,但在技术上却具有误导性。典型的确定性钱包包含多个私钥。助记词是用于根节点的可读备份输入,这些私钥正是由此根节点派生而来的。 BIP39 允许使用 12、15、18、21 或 24 个单词,具体取决于熵值大小,不过 12 和 24 词是常见的消费者格式。并非所有钱包都采用 BIP39 标准,某些托管或智能账户系统甚至完全不显示助记词。
| 凭证 | 通常控制的内容 | 恢复后果 |
|---|---|---|
| 一个原始私钥 | 一组密钥对或一个签名者角色。 | 仅恢复与该密钥关联的权限;其他钱包账户可能使用不同的密钥。 |
| 恢复短语/助记词 | 一个确定性钱包种子,可能包含多个账户。 | 恢复还取决于可选的密码短语、钱包标准、派生路径和支持的网络。 |
| BIP39 密码短语 | 会改变由同一组单词派生的种子。 | 每个密码短语都会生成一个有效但不同的钱包。在加密层面上,不存在“密码短语错误”的警告。 |
| 钱包密码或设备 PIN 码 | 本地加密或设备访问。 | 通常不会重新生成区块链密钥。若忘记密码,可通过种子或恢复策略恢复钱包。 |
| 扩展公钥(xpub) | 可派生出一系列无需消耗资产的公钥和地址。 | 通常不用于签名。该密钥涉及高度敏感的隐私信息,因此切勿随意公开。 |
切勿遗忘可选的密码短语
BIP39 密码短语有时被宣传为“第 25 个单词”,但其实它可以是任何受支持的字符串,且不会存储在助记词中。一旦丢失,即使单词输入正确,目标钱包也可能无法恢复。因此,如果记录单词时未包含钱包类型、密码短语策略和恢复说明,所创建的备份虽然看似完整,实则并不完整。
一个钱包是否只包含一组密钥?
简答:通常不是。现代钱包可能从一个根种子派生出多个账户和地址,管理导入的密钥,协调多个签名人,或控制一个政策可变的智能账户。“钱包”、“账户”、“地址”和“密钥对”属于不同的层级。
比特币钱包通常会生成新的收款和找零地址,以减少地址重复使用并管理 UTXO 模型。每个地址可能对应不同的子密钥或脚本。以太坊钱包通常会显示多个由同一助记词派生的外部账户,每个账户都有自己的私钥和地址。Solana 钱包可以管理多个密钥对和代币账户。交易所账户可能会显示余额,但完全不会向客户提供任何区块链私钥。
| 术语 | 实际含义 |
|---|---|
| 钱包应用程序 | 用于构建交易、管理签名者并追踪余额的软件或硬件界面。 |
| 钱包文件/密钥库 | 钱包应用程序所使用的存储密钥或加密元数据。 |
| 账户 | 网络或应用层级的记录。它可能是密钥控制型、合约控制型或托管型。 |
| 地址 | 用于标识账户、输出、脚本、合约或程序生成的位置的网络特定标识符。 |
| 密钥对 | 一个私有签名密钥及其对应的公钥。 |
| 种子/恢复材料 | 用于重新生成确定性密钥对层次结构的输入。 |
| 签名者策略 | 定义哪些密钥、份额、通行密钥或合约必须授权某项操作的规则。 |
要点:说“我的钱包有一个私钥”通常是错误的。安全规划应识别所有能够授权或再生成钱包的根密钥、签名者、设备、备份及恢复路径。
比特币、以太坊和 Solana 之间有何区别?
快速解答
它们采用相同的公钥核心理念,但使用的签名算法、账户模型和地址规则各不相同。比特币在不同输出类型中混合使用 ECDSA 和 Schnorr 算法;以太坊的 EOA 使用 ECDSA,而智能合约则采用代码定义的控制机制;Solana 的标准密钥对使用 Ed25519,且程序可在无需私钥的情况下控制地址。
| 属性 | 比特币 | 以太坊 | 索拉纳 |
|---|---|---|---|
| 通用用户签名 | 对于传统和 SegWit v0 密钥的消费,采用基于 secp256k1 的 ECDSA;对于 Taproot,采用基于 secp256k1 的 BIP340 Schnorr 签名。 | 外部账户交易和 EIP-7702 授权采用基于 secp256k1 的 ECDSA。 | Ed25519 / EdDSA 用于标准密钥对签名。 |
| “地址”的含义 | 输出类型的编码:密钥哈希、脚本哈希、见证程序或 Taproot 输出密钥。 | 20字节的EOA或合约标识符。EOA地址由公钥派生而来;合约地址则不然。 | 32字节的账户地址:通常为Ed25519公钥,或通过离曲线程序生成的地址。 |
| 账本模型 | 由脚本锁定的UTXO。 | 账户状态:EOA 和合约。 | 账户包含 lamports、数据、所有者程序及其他字段。 |
| 一个地址是否可以要求多个签名人? | 可以,通过脚本策略、Taproot 脚本路径或聚合/阈值机制实现。 | 可以,通过智能合约账户或钱包策略实现。 | 可以,通过程序逻辑或多签名程序实现。 |
| 一个地址可以没有私钥吗? | 可以,脚本承诺无需映射到单个密钥。 | 可以,合约账户没有私钥。 | 是的,PDA 是有意设计为脱离曲线的。 |
Pectra 之后的以太坊:委托并非密钥替代
EIP-7702 允许以太坊 EOA 将执行权限委托给代码,从而实现类似智能账户的功能。尽管如此,EOA 的私钥仍保留完全控制权,并可替换或撤销该委托。将 EOA 委托给多签式代码,并不会使底层的 EOA 密钥成为真正的阈值要求。
为何算法名称很重要
ECDSA、Schnorr 和 EdDSA 都能生成数字签名,但它们的编码方式、随机数规则、聚合属性及验证流程各不相同。不能仅仅因为两种方案都使用 32 字节的值,就假设其中一种方案的密钥或签名与另一种兼容。网络软件会精确决定哪些算法和编码是有效的。
共享公钥或钱包地址安全吗?
快速解答
在当前的密码学假设下,分享地址或公钥通常不会授予消费权限。但这仍可能泄露余额、交易关联及身份信息,并可能使您成为网络钓鱼、地址中毒、垃圾代币或物理胁迫的攻击目标。
公钥本就该公开,地址也本该被广泛传播。即使有人知道您的比特币地址、以太坊地址或 Solana 公钥,也无法仅凭当今的经典计算方法直接推算出私钥。不过,他们可以观察与该标识符相关的公开活动,并将其与交易所记录、社交媒体帖子、域名或泄露的数据相结合。
地址透露的信息取决于使用方式
重复使用的账户式地址可能会暴露漫长的交易历史和当前代币余额。比特币钱包通常会生成新的接收地址,这虽然减少了直接重复使用的情况,但仍会留下图分析的线索。公布扩展公钥则会泄露更多信息:观察者可以据此推导出整个公钥分支,并监控未来产生的许多地址。
安全接收
- 通过与风险相适应的渠道分享地址,并独立确认高价值收款地址。
- 明确指定网络和资产,而不仅仅是字符串。同一个 EVM 地址可能存在于多个网络中。
- 切勿未经核查就直接复制交易记录中的重复收款人;地址中毒攻击正是为了植入相似条目而设计的。
- 对于高价值转账,请在可信显示界面上验证完整的收款地址。仅检查首尾几个字符不足以防范针对性的相似地址攻击。
- 在操作上合适的情况下,可考虑进行测试交易,然后通过独立渠道确认收款,再发送余额。
- 避免公开将大额持仓与您的法定姓名、居住地或出行计划关联起来。
如果私钥或助记词泄露了,该怎么办?
快速解答
将受影响的密钥视为已永久失效。在干净、可信的环境中,生成真正全新的恢复材料或制定新的账户管理策略,并在确保安全的前提下尽快转移或重新分配资产。切勿将泄露的助记词导入另一个钱包并将其视为新钱包。
应对措施取决于泄露的具体内容。单个子私钥可能仅危及相关账户,但跨链复用及高级HD关系可能会扩大损害范围。恢复短语通常会导致所有由此派生的账户受影响,包括尚未显示的账户。若多签或智能账户中仍有足够数量未受影响的签名人,则签名密钥可能可以替换。
紧急应对流程
- 停止使用可能已受损的设备或浏览器会话。切勿点击任何联系您的人发送的恢复链接。
- 在安全设备上,使用全新的密钥材料初始化新钱包或签名策略。独立验证软件、网络及恢复备份的完整性。
- 根据账户设计转移有价值的资产或轮换签名人。密钥遭泄露会引发竞态条件;请谨慎优先处理资产和原生手续费代币。
- 对于以太坊代币授权,请注意仅撤销授权无法解决私钥泄露问题:攻击者仍可签署新交易。请转移授权权限或资产。
- 检查所有使用过同一密钥或助记词的网络,包括测试账户、第二层网络以及不太显眼的代币余额。
- 保留交易哈希值、地址、消息内容及设备证据。立即向相关托管方、交易所和执法部门报告盗窃事件。
- 拒绝任何承诺收取预付费用即可保证恢复的个人。恢复诈骗者会系统性地锁定已知的受害者。
如果私钥丢失会怎样?
快速解答
对于简单的自托管账户,一旦丢失唯一的私钥及所有有效备份,资金将无法提取。区块链仍可显示余额,但它没有身份认证机构,也没有密码重置机制。其他托管模式可能允许账户恢复、签名人轮换或阈值重建。
网络无法分辨密钥是丢失、损毁还是被故意弃用。它仅能判断是否出示了有效的授权凭证。若无有效授权,被锁定的资产将无限期地保留在账本中。正因如此,备份设计是资产所有权不可或缺的一部分,而非可有可无的便利措施。
| 托管模式 | 若丢失一项凭证 |
|---|---|
| 单密钥自主托管 | 通过有效的备份或恢复短语进行恢复。若无备份,通常将永久丧失访问权限。 |
| 托管型交易所或服务 | 由于服务商持有区块链密钥,在完成身份和安全验证后,可恢复账户访问权限。 |
| 链上多签名 | 剩余的签名人仍可满足阈值要求,从而转移资金或制定新政策。 |
| 智能合约账户 | 若事先设计妥当,恢复模块、监护人、通行密钥、时间锁或管理员规则均可替代签名人。 |
| 阈值/MPC钱包 | 如果协议和阈值允许,剩余份额可继续进行签名或启动重新分配流程。 |
| EIP-7702 授权 EOA | 原始的EOA密钥仍然具有权威性;除非在丢失之前有另一项预先安排的机制能够发挥作用,否则丢失该密钥仍被视为根本性故障。 |
继承与丧失行为能力
恢复计划应涵盖死亡、丧失行为能力及丢失等情况——而不仅仅是被盗。该计划必须向授权人员提供足够的信息以实现恢复,同时避免在当下形成一个容易被针对的单一目标。根据资产价值和管辖权的不同,这可能涉及多签名、专业托管、密封指令、法律文件或经过仔细测试的智能账户恢复政策。技术恢复与法律权利是两个独立的问题。
私钥可以更改、拆分或替换吗?
快速解答
在保持同一密钥对的前提下,无法将传统的单密钥账户在操作层面轮换为独立的新密钥。应生成新的密钥对并转移资产。脚本、多签名合约、智能账户和阈值系统则可在保留账户或策略的同时,实现权限分配或签名人替换。
就实际钱包安全而言,独立生成的替换密钥具有不同的公钥;而在预期的安全假设下,找到一个既能保留截断地址标识符又与原密钥不同的密钥在计算上是不可能的。 因此,对于普通的单密钥比特币输出或以太坊EOA,密钥轮换意味着将资金转移到新的目的地。可升级的智能账户策略可以在不更改账户地址的情况下替换授权签名人。多签名策略可能需要通过交易来建立新的签名人集合。

图3。“私钥”仅是一种可能的授权模型。脚本、合约和阈值协议均可实现控制权的分配或轮换。
链上多签名
区块链会验证一项需要多个独立签名或合约批准的策略。该策略可能在链上可见,尽管Taproot可以在花费之前隐藏未使用的脚本路径。多签名提供了透明的规则执行和链特有的恢复选项,但成本可能更高,且会暴露操作结构。
阈值签名与多方计算(MPC)
阈值协议通过分配签名份额,使所需的子集协同生成一个普通签名。在合理的分布式密钥生成设计中,完整的私钥无需同时存在于同一存储空间中。区块链可能仅看到一个普通签名,而非多签名策略。此时,安全性在很大程度上取决于协议选择、独立的份额环境以及实现质量。
智能账户与通行密钥
基于合约的账户可支持多种签名方案、通行密钥、支出限额、会话、监护人或延迟恢复机制。这虽能提升易用性并优化密钥轮换,但也带来了代码、升级及治理方面的风险。因此,合约地址由策略控制,而非由固有的公私钥对控制。
硬件钱包保护什么?
简答:硬件钱包是一种签名设备,旨在将私钥材料与通用计算机隔离,并在可信显示屏上展示交易详情。它降低了远程密钥提取的风险,但无法保护已暴露的恢复短语,也无法阻止所有者授权恶意交易。
硬件钱包最显著的优势在于隔离。计算机或手机可以准备未签名的交易,而设备则保存密钥并在内部执行签名。即使主机遭到入侵,攻击者仍需用户在设备上进行批准。只有当用户在可信屏幕上验证了收款方、金额、网络以及相关合约权限时,这种机制才有效。
关键限制
- 恢复短语一旦泄露,设备防护便形同虚设。任何掌握该短语的人都能在其他地方重建密钥。
- 盲签或不可读签名可能导致恶意批准、授权或合约调用,即使密钥从未离开设备。
- 若用户未核对硬件屏幕显示内容便直接确认,计算机端被篡改的收款地址仍可能被成功执行。
- 固件、供应链、物理访问和备份流程仍然是威胁模型的一部分。
- 单个硬件钱包加上一组助记词仍可能成为单点故障。多签名或阈值设计旨在解决不同的问题。
- 没有任何设备能防范资产价格风险、欺诈性交易对手、遭入侵的智能合约或错误的网络选择。
要点:硬件隔离虽有价值,但“密钥始终处于离线状态”并不等同于“交易是安全的”。可信显示屏和用户的验证决策都是安全边界的一部分。
量子计算机对加密密钥意味着什么?
快速解答
ECDSA、Schnorr 和 Ed25519 并非为抵御足够强大的容错型量子计算机而设计。此类机器原则上可利用肖尔算法(Shor's algorithm)从公钥中恢复椭圆曲线私钥。目前尚无已知的量子计算机能做到这一点,实际风险取决于未来硬件的发展、协议迁移以及公钥暴露的时间点。
美国国家标准与技术研究院(NIST)的 FIPS 186-5 标准明确指出,其经典签名算法预计无法抵御大规模量子计算机。NIST 已另行制定了包括 ML-DSA 和 SLH-DSA 在内的后量子签名标准。这些标准不会自动升级区块链:每个网络都需要兼容的地址、签名验证机制、钱包支持以及现有资金的迁移路径。
“未使用的地址是量子安全的,因为只有哈希值是公开的”这一常被重复的说法并非放之四海皆准。地址类型各不相同:Taproot 输出密钥和 Solana 签名者公钥是可见的,以太坊公钥在使用后通常可通过签名恢复,且资金可能通过不同方式被转移或暴露。哈希处理可以延缓某些形式的公钥暴露,但并非完整的迁移策略。
用户当前应采取的措施
- 切勿惊慌,也切勿将资金转移至那些通过制造紧迫感进行营销、未经审查的“量子安全”产品中。
- 确保钱包软件和签名设备保持受支持状态,以便未来能够采用网络迁移工具。
- 在网络钱包模型建议使用新地址的情况下,避免不必要地重复使用地址。
- 若宣布进行迁移,请遵循官方协议和钱包指南;并独立核实目标地址和截止日期。
- 对于长期持有的机构托管,请在治理规划中纳入加密灵活性及迁移授权机制。
常见问题
如何用一句话解释私钥?
私钥是一种用于生成满足账户或输出授权规则的签名的秘密加密材料。它必须保密,因为在单密钥设计中,仅持有私钥就可能足以转移资产。
如何用一句话解释公钥?
公钥是从私钥派生出的验证数据。它允许任何人验证签名是否匹配,而无需知晓私钥或获得签名权限。
钱包地址等同于公钥吗?
通常并非如此。一个地址可能包含公钥、公钥哈希、脚本或见证程序、合约标识符,或是由程序生成的地址。在 Solana 上,标准的签名者地址即为公钥本身;而在以太坊上,合约地址没有对应的私钥。
仅凭我的钱包地址,有人能盗取我的加密货币吗?
通常不能。地址本身并不授予签名权限。它可能会泄露余额和交易记录,可能被用于针对性诈骗或地址中毒攻击,因此虽然地址是公开的,但并不总是完全保护隐私的。
有人能根据我的公钥推算出我的私钥吗?
如果使用了安全的受支持曲线和正确的实现,已知的实用经典方法无法做到这一点。在当前的安全级别下,该问题在计算上不可行。未来大型容错量子计算机的出现将改变这一假设,这就是为什么迁移规划至关重要。
助记词和私钥是一样的吗?
不是。恢复短语通常编码了用于推导种子所需的熵,而确定性钱包会从该种子推导出多个私钥。由于恢复短语能够重建整个钱包层次结构,因此其作用往往比单个原始私钥更为强大。
钱包密码与私钥有什么区别?
钱包密码或 PIN 码通常用于解锁本地软件、解密密钥库或授权设备。私钥则是区块链的签名授权凭证。忘记密码时,通常可以通过钱包备份进行恢复;但一旦丢失唯一的签名密钥,则无法恢复。
我可以在不更改地址的情况下修改私钥吗?
对于传统的数学密钥对而言并非如此。不同的私钥会生成不同的公钥。智能合约钱包或其他受策略控制的账户可以在保留相同账户地址的同时,更换授权签名人。
为什么我的比特币钱包会生成新地址?
分层确定性比特币钱包会从一个根种子衍生出许多接收地址和找零地址。使用新的地址可以减少简单地址的重复使用,并有助于钱包管理独立的UTXO,而无需每次都创建新的独立备份。
我应该分享扩展公钥吗?
仅在您充分理解隐私影响且系统值得信赖的情况下才应分享。尽管扩展公钥通常无法直接花费资金,但它可能允许他人监控并推导出整个地址的公钥分支。
硬件钱包会存储我的币吗?
不。区块链记录的是资产。硬件钱包存储或保护签名密钥,并批准交易。其恢复短语或其他备份可在另一台兼容设备上重建该权限。
核心要点
私钥、公钥、地址和助记词彼此关联,但不可互换。私钥或签名份额产生控制权;公钥用于验证该控制权;地址标识网络目标或支出条件;当原始设备失效时,恢复系统可重建或替换该控制权。混淆这些层级不仅会导致解释错误,还会引发代价高昂的失误。
持久的安全习惯是保护整个签名系统,而非仅仅保护一个字符串。使用可信的软件或硬件生成密钥。将恢复材料保密并经过测试。在可信的显示屏上核对确切的交易内容。将签名视为强大的授权,包括链下签名。采用一种您真正理解其恢复和故障模式的托管模式。
来源与进一步阅读
本文关键参考文献(截至 2026 年 7 月)。
- NIST FIPS 186-5 - 数字签名标准。https://csrc.nist.gov/pubs/fips/186-5/final
- 比特币开发者指南 - 钱包。https://developer.bitcoin.org/devguide/wallets.html
- 比特币开发者指南 - 交易。https://developer.bitcoin.org/devguide/transactions.html
- BIP 340 - secp256k1 的 Schnorr 签名。https://bips.dev/340/
- BIP 341 - Taproot:SegWit 1.0 消费规则。https://bips.dev/341/
- BIP 32 - 分层确定性钱包。https://bips.dev/32/
- BIP 39 - 用于生成确定性密钥的助记词。https://bips.dev/39/
- Ethereum.org - 以太坊账户。https://ethereum.org/developers/docs/accounts/
- Ethereum.org - 安全与防诈骗。https://ethereum.org/security/
- Ethereum.org - Pectra EIP-7702 指南。https://ethereum.org/roadmap/pectra/7702/
- Solana 文档 - 账户结构。https://solana.com/docs/core/accounts
- Solana 文档 - 程序派生地址。https://solana.com/docs/core/pda
- RFC 8032 - 爱德华兹曲线数字签名算法。https://www.rfc-editor.org/info/rfc8032/
- NIST FIPS 204 - 基于模块格的数字签名标准。https://csrc.nist.gov/pubs/fips/204/final
快速测验:它粘住了吗?
提出了一些检查基本原理的问题。下面是带有解释的答案,除了你未来的作品集之外,没有人给你评分。
你已完成关于“私钥与公钥详解”的测验!在社交媒体上分享你的成果。




