[{"data":1,"prerenderedAt":28},["ShallowReactive",2],{"blog-content-zh-private-key-vs-public-key":3},{"slug":4,"title":5,"excerpt":6,"description":7,"bodyHtml":8,"faqItems":9},"private-key-vs-public-key","私钥、公钥与地址：它们各自到底在做什么","其中一个是主秘密，一个负责验证签名，一个只用来接收资金。以下讲清私钥、公钥和地址究竟各自在做什么、为什么派生只能朝一个方向进行、到底什么可以放心公开——以及为什么在 WATS 中，私钥是在你的设备上生成的，WATS 从不持有它。","私钥 vs 公钥 vs 地址详解：签名与验证、单向派生、一个签名到底证明了什么、助记词如何生成每一把密钥、什么可以放心分享，以及 WATS 如何把私钥留在你的设备上。","\u003Cblockquote>\u003Cp>私钥是一个 256 位的秘密数字，它唯一的工作就是签署交易，而在区块链上，能够签署\u003Cem>就是\u003C\u002Fem>所有权；公钥由私钥派生而来，让任何人都能验证这些签名，却始终看不到那个秘密；地址则是由公钥派生出的一个简短公开标识，它存在的意义就是让别人能给你付款。派生只朝一个方向进行——私钥 → 公钥 → 地址——因此没有人能从一个地址反推出控制它的私钥。实用规则直接从这套数学中得出：你的地址和公钥可以放心公开，而你的私钥和助记词无论出于什么理由都绝不能透露给任何人。在 WATS 中，私钥在你的设备上生成并留在那里——WATS 的四款产品全都是完全非托管的，从不持有任何密钥——而 WATS NFC Metal Card 完全不存储私钥：它通过轻触来认证那些始终留在 WATS 应用内的密钥。\u003C\u002Fp>\u003C\u002Fblockquote>\n\n\u003Ch2>三个名字，同一条数学链\u003C\u002Fh2>\n\u003Cp>钱包把这三样东西糅进同一个界面里，这也是这几个词经常被混用的原因。它们不该被混用。它们各自处在同一条单向数学链上的不同位置，安全属性也完全不同：一个是主秘密，一个是公开的验证工具，一个是信箱上的名牌。分清谁是谁，就是“安全地分享”与“血本无归”之间的差别。\u003C\u002Fp>\n\n\u003Ch2>私钥到底在做什么？\u003C\u002Fh2>\n\u003Cp>私钥是一个巨大的随机数——在 Bitcoin 和 Ethereum 上是 256 位，取自大约 2^256 种可能构成的空间，也就是一个 78 位数，因此靠猜测得到它并不是一种现实的攻击方式。它唯一的工作是\u003Cstrong>签名\u003C\u002Fstrong>：生成一份授权某一笔特定交易的密码学证明。在区块链上，能够签名\u003Cem>就是\u003C\u002Fem>所有权。密钥背后没有账户，没有密码重置，也没有找回窗口——谁知道这个数字，谁就掌控资金，立即生效且不可逆转。\u003C\u002Fp>\n\n\u003Ch2>公钥是用来做什么的？\u003C\u002Fh2>\n\u003Cp>公钥是用椭圆曲线数学从私钥计算出来的——在 Bitcoin 和 Ethereum 上用的是 secp256k1 曲线，在 Solana 上是 Ed25519。它的工作是\u003Cstrong>验证\u003C\u002Fstrong>。用一句话概括\u003Cstrong>非对称加密\u003C\u002Fstrong>：私钥创建签名，而与之配对的公钥让网络上任何人都能核验这些签名，却始终看不到那个秘密。正是这一处不对称，才让区块链成为可能——成千上万素不相识的人可以确认某笔付款确实由你授权，同时又学不到任何能让他们伪造下一笔的东西。\u003C\u002Fp>\n\n\u003Ch2>地址和公钥是一回事吗？\u003C\u002Fh2>\n\u003Cp>不是——在大多数链上，地址是公钥的一枚\u003Cem>指纹\u003C\u002Fem>，通过对公钥做哈希、再把结果编码成更短且带校验和的形式而得到。在 Ethereum 上，它是公钥的 Keccak-256 哈希的最后 20 个字节；在 Bitcoin 上，公钥先被哈希再被编码，而在 legacy 和 SegWit 地址类型中，完整的公钥只有在你第一次从某个地址花费时才会被公开（Taproot 地址则是把一个经过 tweak 调整的公钥直接放到链上）。\u003C\u002Fp>\n\u003Cp>不过，并非每条链都做哈希。Solana 的地址\u003Cem>就是\u003C\u002Fem> ed25519 公钥本身，只是用 base58 编码了一下；TON 的地址编码的是账户初始状态的哈希，而这个状态承诺的是公钥，而不是仅仅承诺那把密钥。所以，永远成立的规则关乎的是\u003Cem>方向\u003C\u002Fem>，而不是哈希：地址由公钥派生而来，而没有任何一条链允许你把这条链条倒着走回私钥。这三样东西的对应关系如下：\u003C\u002Fp>\n\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>对象\u003C\u002Fth>\u003Cth>它是什么\u003C\u002Fth>\u003Cth>它的工作\u003C\u002Fth>\u003Cth>可以分享吗？\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd>私钥\u003C\u002Ftd>\u003Ctd>一个 256 位的秘密数字\u003C\u002Ftd>\u003Ctd>签署交易\u003C\u002Ftd>\u003Ctd>绝不可以——分享它等于把资金拱手让人\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>公钥\u003C\u002Ftd>\u003Ctd>由私钥派生而来\u003C\u002Ftd>\u003Ctd>验证签名\u003C\u002Ftd>\u003Ctd>可以——这正是它的用途\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>地址\u003C\u002Ftd>\u003Ctd>由公钥派生而来——在 Ethereum 和 Bitcoin 上是公钥的哈希，在 Solana 上就是公钥本身\u003C\u002Ftd>\u003Ctd>接收资金、标记历史记录\u003C\u002Ftd>\u003Ctd>可以——但要接受隐私上的取舍\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\n\n\u003Ch2>为什么没有人能从你的地址反推回去？\u003C\u002Fh2>\n\u003Cp>因为整条派生链走的是\u003Cstrong>单向函数\u003C\u002Fstrong>。在地址是哈希的地方——Ethereum、Bitcoin——把它变回公钥就意味着要找出哈希原像；而在地址本身\u003Cem>就是\u003C\u002Fem>公钥的地方，比如 Solana，这第一步根本算不上障碍。但无论哪种情况，真正保护你的那堵墙都是同一堵：要从公钥恢复出私钥，就等于要解开椭圆曲线离散对数问题。截至 2026 年，没有任何已知技术能在这种密钥长度下于可行的时间内做到这一点。大规模量子计算机最终有可能威胁到这一步——这也是为什么 Bitcoin 的 legacy 和 SegWit 地址类型在首次花费前隐藏公钥的做法，具有一种低调的防御价值——但这种威胁如今仍停留在理论层面。\u003C\u002Fp>\n\n\u003Ch2>一个签名到底证明了什么？\u003C\u002Fh2>\n\u003Cp>一个签名恰好证明两件事：签名者持有与某个给定公钥相匹配的私钥，以及他批准了\u003Cem>这条确切的消息\u003C\u002Fem>——这个收款方、这个金额、这个 nonce。只要改动交易中的一个字节，签名就无法通过验证。它并不会泄露密钥本身；你可以永远签下去而不泄露那个秘密。Ethereum 把这一点用得很优雅：节点\u003Cem>直接从签名本身\u003C\u002Fem>恢复出公钥，再检查它的哈希是否与发送地址一致——签名自带身份标识。\u003C\u002Fp>\n\u003Cp>这也是为什么任何正当流程都不需要你的密钥。验证是网络\u003Cem>用你的签名\u003C\u002Fem>去完成的事，只依赖公开信息。任何向你索要密钥、或索要密钥背后那组助记词的网站、私信或“客服人员”，都不是在验证什么——他们是在收割。\u003C\u002Fp>\n\n\u003Ch2>助记词在这中间处于什么位置？\u003C\u002Fh2>\n\u003Cp>在私钥之上一层，是种子。一组\u003Ca href=\"\u002Fblog\u002Fwhat-is-a-seed-phrase\">助记词\u003C\u002Fa>——那 12 或 24 个单词——编码的是主熵，现代钱包会由它确定性地派生出将来会用到的每一把私钥，跨账户、跨链皆是如此。这就是 HD 钱包的设计：上游一个秘密，下游无数密钥对，全都能在任何兼容钱包上重新生成——完整的派生路径在\u003Ca href=\"\u002Fblog\u002Fwhat-is-an-hd-wallet\">什么是 HD 钱包\u003C\u002Fa>中有讲解。实际后果只有一句话：\u003Cem>护住种子，每一把密钥都受保护；泄露种子，每一把密钥都泄露了\u003C\u002Fem>。\u003C\u002Fp>\n\n\u003Ch2>什么可以放心分享——什么绝对不行\u003C\u002Fh2>\n\u003Cp>分享规则直接从数学中得出：\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>地址\u003C\u002Fstrong>——可以放心分享；别人正是靠它给你付款。代价是隐私，而不是安全：在公开链上，任何人都能查看一个地址的全部历史。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>公钥\u003C\u002Fstrong>——可以放心分享；验证正是它的用途。它不会泄露任何能用来伪造的信息。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>私钥或助记词\u003C\u002Fstrong>——绝不可以，对任何人、出于任何理由都不行。没有任何正规钱包、客服人员或空投会向你索要。把种子输入某个网站并不是一种风险——那本身就已经是损失，只是还没标上日期而已。\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>这也正是“not your keys, not your coins”的字面含义。在交易所里，签名的是交易所的密钥——你手里握的是一个承诺，而不是加密资产，FTX 的客户在 2022 年就领教过了。在\u003Ca href=\"\u002Fblog\u002Fwhat-is-a-non-custodial-wallet\">非托管钱包\u003C\u002Fa>里，签名的是你自己的密钥，所以在区块链唯一认可的意义上，这份资产才真正属于你。\u003C\u002Fp>\n\n\u003Ch2>WATS 在其中的位置\u003C\u002Fh2>\n\u003Cp>上面讲的一切都在描述一条界线，而一个钱包是否诚实，就看它站在界线的哪一边。WATS 的四款产品全都站在自托管这一边——\u003Ca href=\"\u002Fchrome-extension\">Chrome 扩展\u003C\u002Fa>、移动应用、\u003Ca href=\"\u002Fhot-wallet\">Hot Wallet\u003C\u002Fa> 和 NFC Metal Card。私钥在你的设备上生成，始终留在你手里，WATS 从不持有任何密钥。WATS 一侧不存在任何可能泄露的副本，也不存在任何可以向 WATS 申请的恢复流程——这恰恰是上面那些分享规则并非“可选建议”的原因。\u003C\u002Fp>\n\u003Cp>有两点值得明确说清楚，因为在任何一篇讲密钥的文章里，它们都是常见的困惑点：\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>WATS NFC Metal Card 不存储私钥。\u003C\u002Fstrong>它是轻触即可认证的伴侣设备，比起冷存储，它更接近一把实体安全密钥：每张卡都带有唯一 ID，只与一台设备配对，采用 NTAG 216 芯片、在 ISO\u002FIEC 14443 之上使用 AES-128 加密，外壳为军规级金属，具备 IP68 等级并通过 MIL-STD-810 测试。密钥始终留在 WATS 应用内，而卡片负责证明轻触的人就是你本人。详情见 \u003Ca href=\"\u002Fnfc-card\">NFC 卡页面\u003C\u002Fa>。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>WATS 覆盖 Ethereum、Arbitrum、Optimism、Base、Polygon、BNB Chain、Solana 和 TON。\u003C\u002Fstrong>一组种子、一棵派生树，八条链上都有密钥。Bitcoin 之所以贯穿全文出现，是因为 secp256k1 和基于哈希的地址是讲解“密钥如何变成地址”最清晰的教学案例；WATS 并不原生支持 Bitcoin。\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>覆盖八条链，对手续费有一个现实层面的影响。按常理，在你的签名能被广播出去之前，这些网络中的每一条都要求你手里先有它自己的原生 gas 代币。WATS 让网络手续费可以用单一代币 \u003Cstrong>ATS\u003C\u002Fstrong> 来支付，而不必使用每条链的原生 gas 代币，做法是在 EVM 链上采用 ERC-4337 账户抽象，并通过 LayerZero OFT 让同一份 ATS 余额实现全链流转。这并不是打折——它改变的是由哪种代币来支付，而不是网络收取多少——并且收取到的 ATS 会被销毁，使供应量从 100M 降向 30M 的下限。WATS 是首个也是唯一一个把 ERC-4337 + OFT 的单代币手续费（以其替代原生 gas 收取）与这套销毁机制结合起来的钱包。\u003C\u002Fp>\n\n\u003Ch2>归根结底\u003C\u002Fh2>\n\u003Cp>私钥负责签名，公钥负责验证，地址负责接收——而由于派生只朝一个方向进行，后两者可以公开，前者则永远不可以。一个签名证明的是对密钥的持有以及对某一笔确切交易的批准，仅此而已；助记词则位于它之上一层，能够重新生成钱包将来派生的每一把私钥。把这些关系理清楚，大多数“把密钥发来验证”式的攻击就干脆对你失效了，因为你早已知道：验证一个签名从来都不需要那个秘密。如果你希望这套模型由钱包来强制执行，而不是只靠你自己的自律，请从\u003Ca href=\"\u002Fdownload\">下载页面\u003C\u002Fa>安装 WATS：私钥在你的设备上生成，WATS 从不持有它，一组恢复词就覆盖全部八条受支持的链，而 NFC Metal Card 是认证，而非存储。\u003C\u002Fp>",[10,13,16,19,22,25],{"q":11,"a":12},"如果别人知道我的地址或公钥，能偷走我的加密资产吗？","不能——这两者的设计初衷就是用来公开的。地址只能让别人给你转账，以及查看该地址的链上历史；公钥只能让别人验证你的签名。要从其中任何一个推导出私钥，就意味着攻破椭圆曲线密码学，而截至 2026 年这并不可行。分享地址的真正代价是隐私，因为任何人都能盯着它的活动记录。",{"q":14,"a":15},"WATS 会持有我的私钥吗？","不会。WATS 的四款产品全都是完全非托管的——Chrome 扩展、移动应用、Hot Wallet 和 NFC Metal Card。私钥在你的设备上生成并留在那里，WATS 从不持有任何密钥，也不持有你助记词的任何副本。这也意味着不存在 WATS 一侧的恢复流程：WATS 没有任何人能代你签名，也没有任何人能帮你找回丢失的助记词。任何声称可以做到、或向你索要私钥或恢复词的人，都是在试图窃取你的资金。",{"q":17,"a":18},"如果我弄丢了私钥会怎样？","如果那是你唯一的副本，那把密钥所控制的资金将永久无法访问——没有任何公司、矿工或开发者能恢复访问权，因为在区块链上，所有权字面意义上就是签名的能力。实践中，大多数钱包通过助记词来保护你，它能确定性地重新生成钱包中的每一把私钥。在 WATS 中，你在全部八条受支持链上的账户背后都是这一组助记词，所以只要助记词还在，丢失或损坏的设备都可以恢复；如果助记词也没了，那就无计可施了，因为 WATS 是非托管的，从未持有过任何密钥。",{"q":20,"a":21},"WATS NFC Metal Card 会存储我的私钥吗？","不会。WATS NFC Metal Card 完全不存储任何私钥。它是轻触即可认证的伴侣设备，比起冷存储设备，更接近一把实体安全密钥：每张卡都有唯一 ID，只与一台设备配对，采用 NTAG 216 芯片、在 ISO\u002FIEC 14443 之上使用 AES-128 加密，外壳为军规级金属，具备 IP68 等级并通过 MIL-STD-810 测试。私钥始终留在 WATS 应用内，而卡片的职责是证明轻触的人就是你本人。",{"q":23,"a":24},"助记词和私钥是一回事吗？","不是。助记词是位于其上一层的主秘密：12 或 24 个单词，编码着一份熵，HD 钱包由它确定性地派生出将来会用到的每一把私钥，跨账户、跨链皆是如此。一把私钥只控制一个密钥对；而种子能重新生成全部密钥对。这正是助记词成为加密世界中最敏感之物的原因——谁持有它，谁就持有它下游的每一把密钥。",{"q":26,"a":27},"我需要为每条区块链准备一把不同的私钥吗？","针对不同的曲线家族，你会持有不同的密钥对，但派生它们的只有一组种子。在 WATS 中，一组恢复词就派生出你的 EVM 密钥对——一个在 Ethereum、Arbitrum、Optimism、Base、Polygon 和 BNB Chain 之间共用的地址——再加上 Solana 和 TON 各自独立的密钥，因为它们使用不同的签名方案。所以需要保护的备份只有一份，而不是八份。WATS 还允许你用 ATS 支付网络手续费，而不必持有每条链的原生 gas 代币，因此一组助记词加一种手续费代币就覆盖了全部这些链。WATS 并不原生支持 Bitcoin。",1786059412433]