• 全部
  • 产业
  • Web 3.0
  • DAO
  • DeFi
  • 符文
  • 空投再质押
  • 以太坊
  • Meme
  • 比特币L2
  • 以太坊L2
  • 研报
  • 头条
  • 投资

免责声明:内容不构成买卖依据,投资有风险,入市需谨慎!

加密中的公钥是什么?密钥、地址与签名解析

2026-08-24 20:36:55
收藏

摘要

公钥是与私钥相对应的密码学概念。两者结合,让你能够在无需泄露控制资金的秘密的前提下,证明你拥有加密货币的所有权。

公钥是通过椭圆曲线乘法从私钥中数学推导出的一个大数。这是一种单向函数,正向计算极快,但逆向推导几乎不可能。

比特币和以太坊均使用 secp256k1 椭圆曲线,该曲线可生成 256 位私钥以及 512 位非压缩公钥(或 257 位压缩公钥)。

钱包地址与公钥并不相同;地址是公钥经过哈希处理后的较短版本,旨在更易于分享并对某些理论攻击更具抵抗力。

私钥用于签署交易,公钥用于验证签名,地址用于接收资金。丢失私钥意味着永久失去访问权限;分享公钥或地址则不会危及资金安全。

2026 年 7 月的 Coldcard 固件漏洞暴露了弱私钥生成问题,影响了价值 1.16 亿美元的比特币,这凸显了为何正确的密钥生成与存储仍然是自我托管最关键的部分。

公钥密码学是每一笔加密货币交易的基础,但大多数用户从未直接与自己的公钥交互。他们看到的是钱包地址、扫描二维码、确认转账,却并不了解使无需信任的所有权成为可能的数学层面。

这个层面之所以重要,是因为理解它会改变你对安全性的认知。公钥不是密码,也不是秘密。它是一个你可以与任何人分享的数字,并且没有人能从中推导出控制你资金的私钥。这种不对称性——单向容易、逆向无解——正是让互联网上的陌生人能够在不信任银行、政府或彼此的情况下相互转账的基础。

密钥对如何运作

每个加密货币钱包都基于一个密钥对:一个私钥和一个公钥。私钥是一个随机生成的数字,通常为 256 位,这意味着它大约是 10 的 77 次方个可能值中的一个。作为对比,可观测宇宙中估计的原子数量约为 10 的 80 次方。密钥空间足够大,在目前或可预见的未来技术下,通过暴力破解猜测特定私钥并非实际可行的问题。

公钥通过椭圆曲线乘法从私钥推导而来。比特币和以太坊均使用一条名为 secp256k1 的特定曲线。私钥与该曲线上一个称为生成点的固定点相乘,结果得到曲线上的另一个点,该点就是公钥。

关键特性在于,这种乘法是一种单向函数。给定私钥,计算公钥仅需不到一秒。而仅给定公钥,计算私钥则需要解决椭圆曲线离散对数问题,目前尚无高效的解决方案。这种不对称性正是加密货币安全的全部基础。

公钥与钱包地址

一个常见的误解是,钱包地址和公钥是同一回事。事实并非如此。地址是通过一轮或多轮哈希从公钥推导而来,这个过程会缩短输出长度并增加一层额外安全保护。

在比特币中,其过程如下:512 位非压缩公钥(或 257 位压缩公钥)先经过 SHA-256 哈希,再经过 RIPEMD-160 哈希,生成一个 160 位的哈希值。然后添加版本字节和校验和,最后以 Base58Check 格式编码。最终输出就是我们所熟悉的以 1、3 或 bc1 开头的比特币地址。

在以太坊中,过程更简单:512 位公钥经过 Keccak-256(SHA-3 的一种变体)哈希,取哈希值的最后 20 字节(160 位)作为地址。再加上“0x”前缀以及可选的 EIP-55 校验和,就得到了我们熟悉的以太坊地址。

将公钥哈希为地址,部分原因是出于实用考虑(更短的字符串更容易分享),部分原因则是防御性考虑。如果有一天量子计算机能够破解椭圆曲线密码学,它们需要公钥(而非地址)才能推导出私钥。从未用于发起交易的钱包地址,其公钥从未在链上暴露,这增添了一层理论上的量子抗性。

数字签名如何证明所有权

当你发送加密货币时,你并不是在将币从一个位置移动到另一个位置。你是在创建一条消息,内容为“我授权将 X 数量的资金从我的地址转移给此接收方”,并用你的私钥对该消息进行签名。签名证明创建消息的人控制着与发送地址关联的私钥,而无需泄露私钥本身。

验证过程使用公钥。网络中的任何节点都可以获取交易消息、数字签名以及发送方的公钥,然后运行数学验证,确认该签名是由对应的私钥生成的。如果验证通过,交易有效;如果失败,交易被拒绝。

这就是丢失私钥为何是灾难性的原因。没有私钥,就无法生成有效签名,也就无法授权从该地址发起交易。资金仍然留在区块链上,所有人都能看到,但永远无法访问。不存在“忘记密码”恢复机制,因为没有中央机构持有备份。

密钥生成链

在现代钱包中,单个私钥并非独立生成。相反,通过 BIP-32(分层确定性钱包)和 BIP-39(助记词种子短语)定义的确定性过程,一个主种子可以生成钱包中的所有密钥。

这个过程始于熵,即随机性来源。钱包软件或硬件设备生成一个随机数,通常为 128 或 256 位。这个熵被编码为由 12 或 24 个单词组成的助记词短语,这些单词来自一个包含 2048 个单词的标准化列表。助记词短语与可选密码短语结合后,通过密钥派生函数(PBKDF2)生成一个 512 位的主种子。

从主种子出发,可以推导出一个分层密钥对树。树的每个分支可以生成数十亿个唯一的私钥及其对应的公钥和地址。这就是为什么一个种子短语就能恢复整个钱包及其所有地址:种子可以确定性地重新生成层级中的每一个密钥对。

安全含义在于,种子短语是所有密钥的根源。任何获取种子短语的人都可以重新生成钱包曾经使用过或将来会使用的每一个私钥、每一个公钥和每一个地址。保护种子短语等同于同时保护钱包中的每一个密钥对。

压缩公钥与非压缩公钥

早期的比特币软件使用非压缩公钥,其中包括椭圆曲线上点的 x 和 y 坐标。非压缩公钥长度为 65 字节:1 字节前缀(0x04),后跟 32 字节的 x 坐标和 32 字节的 y 坐标。

由于椭圆曲线方程意味着对于任何给定的 x 坐标,只有两个可能的 y 值(一个偶数,一个奇数),因此只需存储 x 坐标以及一个指示 y 为偶数还是奇数的比特位即可。这样生成的是 33 字节的压缩公钥:1 字节前缀(y 为偶数时用 0x02,奇数时用 0x03),后跟 32 字节的 x 坐标。

压缩密钥在交易中节省空间,从而降低手续费。自 2012 年以来,大多数比特币软件默认使用压缩公钥。以太坊内部使用非压缩公钥,但在地址推导中去掉了前缀字节,仅使用 64 字节的 x 和 y 值。

这种区别对兼容性很重要。在比特币中,由同一私钥推导出的压缩公钥和非压缩公钥会产生不同的地址。如果将私钥导入使用不同压缩格式的钱包,将会生成另一个地址,如果资金被发送到了另一种格式的地址,就可能造成混淆。

现实世界中的密钥安全失败案例

公钥密码学的理论是可靠的,但实施中的失败已造成重大损失。

2026 年 7 月,研究人员发现 Coldcard 硬件钱包在五年间生成了弱私钥。固件中的一个构建标志指示设备跳过其专用的硬件随机性芯片,导致熵可预测。攻击者逆向工程了该弱点,并于 7 月 30 日开始清空钱包,在漏洞公开披露前盗走了约 1.16 亿美元的比特币。

教训是:密钥对的安全性完全取决于生成私钥所用随机性的质量。一个理论上不可破解的 256 位密钥,如果随机数生成器存在缺陷、偏差或可预测,则毫无价值。这就是为什么信誉良好的硬件钱包使用专用的真随机数生成器,并允许用户添加自己的熵(如掷骰子)作为额外保障。

其他历史事件包括:2013 年的 Android SecureRandom 漏洞,导致多个比特币钱包生成重复的随机数,使攻击者能够从交易签名中计算出私钥;2022 年 9 月,Profanity 虚荣地址生成器被利用,原因是研究人员发现其密钥生成使用了 32 位种子,将有效密钥空间从 2 的 256 次方降低到 2 的 32 次方(约 40 亿种可能),可在几分钟内暴力破解。

公钥与智能合约

在以太坊等智能合约平台上,公钥密码学具有双重用途:它保护外部拥有账户(EOA,即由私钥控制的标准用户钱包),并验证这些账户在与智能合约交互时签名的消息。

当用户调用智能合约上的函数时,交易中包含由用户私钥生成的数字签名。以太坊虚拟机在执行函数之前,会根据发送方的公钥验证该签名。这就是智能合约如何知道调用“向地址 X 转账 100 USDC”的人实际上是被转移代币的所有者。

智能合约钱包(ERC-4337 引入的账户抽象钱包)可以修改此模型。智能合约钱包不依赖单个私钥,而是可以要求多重签名、生物识别认证、社交恢复或由代码强制执行的花费限额。公钥仍属于系统的一部分,但关于什么构成有效授权的规则变得可编程。

托管式与自我托管式密钥管理

在中心化交易所中,交易所持有私钥,用户通过传统身份验证(用户名、密码、双因素验证码)访问资金。用户从未见过公钥或私钥。交易所代表用户签署交易。

在自我托管中,用户持有私钥(或生成它的种子短语),并独自负责其安全。公钥和地址在本地派生,没有任何第三方拥有签名能力。

权衡是显而易见的。托管解决方案方便,但存在对手方风险:如果交易所被黑客攻击、破产或冻结提现,用户资金将面临风险。自我托管消除了对手方风险,但引入了操作风险:如果用户丢失种子短语、存储不当或遭遇钓鱼攻击,资金将永久丢失。

多重签名设置通过在多方或多设备之间分散密钥管理来平衡风险。2-of-3 多重签名要求任意两个私钥签署交易,因此丢失一个密钥不会导致永久丢失,而攻破一个密钥也不会让攻击者完全控制。

本文未涵盖的内容

本文不涵盖后量子密码学方案(如基于格论的签名),这些方案正在被研究作为椭圆曲线密码学的替代方案,以应对大规模量子计算机可能成为现实的情况。本文不涵盖超出概念层面的椭圆曲线数学。本文不提供具体的钱包设置指南,因为这类指南因产品而异且频繁更新。

保护密钥的实用检查清单

切勿分享你的私钥或种子短语。任何合法服务、支持代理或空投都不会要求你提供这些信息。任何索要这些凭证的请求都是骗局,无一例外。

发送前验证地址格式。剪贴板恶意软件可能会将复制的地址替换为攻击者的地址。粘贴后,务必目视确认地址的前几个和后几个字符。

大额持有建议使用硬件钱包。硬件钱包在专用芯片上生成和存储私钥,该芯片永远不会向连接互联网的设备暴露私钥。购买前请研究制造商在熵生成方面的记录。

尽可能添加自己的熵。某些硬件钱包允许用户通过手动输入随机性(如抛硬币、掷骰子)来补充设备的随机数生成器。这可以降低硬件随机数生成器存在缺陷的风险。

将种子短语备份保存在多个安全位置。单份副本存放在一个地方容易遭受火灾、洪水或盗窃。金属种子短语备份比纸质备份更能抵抗环境损害。

常见问题

加密货币中的公钥是什么?

公钥是通过椭圆曲线乘法从私钥中推导出的大数。它作为加密身份,用于验证交易签名而不泄露私钥。任何人都可以看到公钥,分享它不会危及资金安全。

公钥和钱包地址相同吗?

不相同。钱包地址是通过一轮或多轮加密哈希从公钥派生而来,更短且更易分享。在比特币中,同一私钥根据使用压缩公钥还是非压缩公钥,可以产生不同的地址。

如果有人知道我的公钥,能盗取我的加密货币吗?

不能。公钥的设计目的就是可以分享。从公钥推导私钥需要解决椭圆曲线离散对数问题,在现有计算技术下没有已知的高效解决方案。

如果我丢失了私钥会怎样?

与该密钥关联的资金将永久无法访问。没有恢复机制,因为加密货币网络没有存储备份的中央机构。这就是为什么种子短语备份对自我托管钱包至关重要。

公钥和私钥有什么区别?

私钥是用于签署交易的随机生成的秘密数字。公钥是从私钥派生而来,用于验证签名。私钥必须保密,公钥可以自由分享。

种子短语与公钥和私钥有何关系?

种子短语(12 或 24 个单词)编码了钱包中所有私钥确定性推导的主熵。每个私钥生成一个对应的公钥和地址。保护种子短语就是保护钱包将生成的所有密钥对。

比特币和以太坊使用什么椭圆曲线?

比特币和以太坊均使用 secp256k1 椭圆曲线。它生成 256 位私钥和 512 位非压缩公钥(或 257 位压缩公钥)。该曲线因其高效性和经过充分研究的安全属性而被选用。

量子计算机能破解公钥密码学吗?

理论上,一台足够强大的量子计算机运行肖尔算法可以从公钥推导出私钥。然而,截至 2026 年,这样的量子计算机还不存在。从未用于发起交易的钱包地址尚未在链上暴露其公钥,这增添了一层保护。后量子签名方案正在被研究作为未来的替代方案。

免责声明:

本网站、超链接、相关应用程序、论坛、博客等媒体账户以及其他平台和用户发布的所有内容均来源于第三方平台及平台用户。百亿财经对于网站及其内容不作任何类型的保证,网站所有区块链相关数据以及其他内容资料仅供用户学习及研究之用,不构成任何投资、法律等其他领域的建议和依据。百亿财经用户以及其他第三方平台在本网站发布的任何内容均由其个人负责,与百亿财经无关。百亿财经不对任何因使用本网站信息而导致的任何损失负责。您需谨慎使用相关数据及内容,并自行承担所带来的一切风险。强烈建议您独自对内容进行研究、审查、分析和验证。

展开阅读全文
更多新闻
自选
我的自选
查看全部
市值 价格 24h%