Monero 私有查看密钥是一项秘密信息,与钱包的公开地址信息配合使用时,可让兼容软件识别收到的输出并读取其金额。它不能用于花费 XMR,也无法单独揭示完整的转出付款历史或可靠的可用余额。 在 SwapRocket,你可以将 XMR 兑换为其他加密货币,或将其他币兑换为 XMR,从自己的钱包发送,并在你提供的地址接收。
要点
- 私有查看密钥可用于扫描收款,但不能授权花费。
- 只读钱包需要额外信息(例如已签名的密钥镜像),才能可靠地识别已花费的输出。
- 交易密钥是特定交易的秘密数据,并非钱包的私有查看密钥。
- 交易证明可以验证是否向指定地址付款,而无需披露可查看整个钱包的私有查看密钥。
什么是 Monero 私有查看密钥?
Monero 私有查看密钥与匹配的公开地址信息配合使用时,可让钱包识别发送给它的输出,并解码其金额。私有查看密钥是一项 32 字节的秘密信息,通常显示为 64 个十六进制字符。
Monero 付款使用一次性输出地址,而不是直接在区块链上公开收款人的常规钱包地址。扫描钱包会结合私有查看密钥、交易公钥数据和钱包的公开地址信息,查找属于自己的输出。只读钱包无需持有私有花费密钥,即可执行这种扫描。
标准 Monero 地址包含公开花费密钥和公开查看密钥,而非对应的私有密钥。因此,分享你的收款地址并不会让他人获得私有查看密钥所提供的扫描权限。
Monero 查看密钥能看到什么,不能看到什么?
Monero 私有查看密钥可以揭示属于钱包的输出及其金额,但不能授权花费。仅凭查看密钥,无法确定哪些输出尚未花费、重建完整的转出付款历史,或获知转出付款的收款人。
返回钱包的找零输出也可能被看到,但仅凭查看密钥无法可靠地将其标记为找零。看到属于钱包的输出,并不等于了解生成该输出的完整付款情况。
Monero 通过密钥镜像记录已花费的输入,而只读钱包无法仅凭私有查看密钥推导出密钥镜像。从可执行花费的钱包导入已签名的密钥镜像后,兼容的只读钱包就能确定哪些已知输出已被花费。仅凭区块链上的信息,这些密钥镜像不会揭示转出付款的收款地址。
扫描还取决于正确的公开地址信息、子地址覆盖范围和区块范围。分享私有查看密钥可能会暴露该范围内过去和未来的收款,而不只是你正在核查的那笔付款。
私有查看密钥本身不会揭示转入付款发送方的地址或现实身份。有关区块链隐私与其他渠道暴露的信息之间更广泛的区别,请参阅 Monero 隐私的运作方式及其泄露环节。
Monero 交易密钥有何不同?
Monero 交易密钥通常称为 tx key,是由发送方钱包生成、专用于特定交易的秘密数据。有了交易 ID、必要的交易私钥和收款地址,验证者就能检查该交易是否向该地址付款,并确定付款金额。
有些交易会使用一个主交易私钥以及额外的交易私钥。因此,钱包导出的 tx-key 数据可能包含多个密钥;不要假定每笔交易都只有一个私钥需要核查。
| 项目 | 可揭示的信息或支持的操作 | 能否授权花费? |
|---|---|---|
| 私有查看密钥及公开地址信息 | 扫描属于该钱包的输出及其金额,但仅凭这些信息无法确定输出是否已花费 | 否 |
| 私有花费密钥 | 配合必要的钱包数据使用时,可授权花费 | 是 |
| 交易私钥数据 | 核查该笔交易中发送至所提供收款地址的金额 | 否 |
| 交易 ID | 标识链上交易,但不会公开披露收款方或金额 | 否 |
| 交易证明 | 使用交易 ID 和证明,验证向指定地址的付款 | 否 |
在 monero-wallet-cli 中,check_tx_key 使用所提供的 tx-key 数据在本地核查付款。发送方生成的交易证明可提供针对特定交易和地址的凭证,而无需公开这些私钥。如果一笔交易向多个地址付款,共享原始 tx-key 数据还可能暴露该笔交易中支付给其他已知目标地址的金额。
如何创建和验证 Monero 交易证明?
发送方通过针对交易 ID 和准确的收款地址生成转出交易证明,来证明一笔 Monero 付款。验证方会结合该笔交易核查证明;如果发送方附加了可选消息,验证时也需使用完全相同的消息。
以下步骤使用 Monero 官方命令行钱包。其他钱包界面可能提供类似的付款证明功能,但名称可能有所不同。
- 收集交易详情。 获取交易 ID 和准确的收款地址;如果使用了子地址,务必提供正确的子地址。打开发送该笔交易且仍保留交易私钥数据的钱包。
- 生成转出证明。 运行
get_tx_proof,替换其中的占位符;如不需要可选消息,则将其省略。将生成的证明保存到文件中,以供验证。[ ] - 分享验证所需资料。 向验证方提供交易 ID、收款地址、证明,以及使用过的完整消息(如有)。不要提供恢复助记词、私有花费密钥或可查看整个钱包的私有查看密钥。
- 独立核查证明。 验证方使用已保存的证明文件运行
check_tx_proof。核查证明是否有效、指定地址收到的金额,以及交易确认状态。[ ]
如果证明验证成功且显示的金额符合预期,即可证明已向该地址付款,但仍需核查该笔交易的链上状态。这并不能确认发送方的真实身份,也不能证明收款方已同步钱包,或表明资金已经解锁。
如何核查 XMR 兑换的出款?
可以通过收款钱包、出款交易 ID,以及必要时提供的付款证明来核查 XMR 兑换的出款。在 BTC 兑换 XMR 中,你接收的是 XMR,因此转出付款证明必须由发送方提供,而不是由你的 Bitcoin 钱包提供。
SwapRocket 每笔兑换均由一家持牌流动性提供商执行。将针对特定交易的证明与你预定的收款地址进行核对,无需披露你的私有查看密钥。
- 检查收款钱包的扫描范围。 让钱包完成同步,并确认扫描范围包含用于收款的确切地址或子地址。如果钱包是从备份恢复的,扫描起始时间必须足够早,才能覆盖这笔付款交易。
- 核对正确的金额。 SwapRocket 采用浮动汇率,因此应将到账金额与最终付款详情进行比较,而不是将发送前的预估金额视为承诺金额。证明核验的是 Monero 交易实际支付的金额,而不是此前预估显示的金额。
- 必要时请求特定交易的证据。 请联系 support@swaprocket.io,提供你的兑换编号,并请求协助确认付款交易。如果需要证明,请询问执行兑换的服务商能否提供转出交易证明;不要假定所有服务都会提供交易密钥或证明生成工具。
找到一笔付款和能够花费这笔资金是两项独立的检查。有关解锁规则,请参阅为什么 Monero 付款需要等待 10 个区块才能解锁。
什么时候应该分享查看密钥,而不是交易证明?
只有在对方需要持续查看收款情况时,才应分享私有查看密钥,而不是仅仅为了证明某一笔转账。对于发票纠纷、付款调查或收款地址核查,针对特定交易和地址的证明所披露的信息范围更小。
只读钱包可以在联网设备上监控收款,同时将支出密钥保留在离线环境中。仅使用查看密钥的审计人员并不会自动获得完整的支出记录;可能还需要已签名的密钥镜像以及单独保存的转出记录。尽管查看密钥无法授权支出,仍应将授予查看密钥访问权限视为披露财务历史。
不要为了处理单笔付款纠纷,就将钱包机密信息粘贴到公共区块浏览器中。应优先使用本地钱包进行验证,并且只向相关方分享所需的特定交易证据。
常见问题
Monero 查看密钥是敏感的查看凭证,而不是支出凭证。验证付款通常只需要范围小得多的信息,无需获得钱包的收款历史访问权限。
分享我的 Monero 私有查看密钥安全吗?
分享 Monero 私有查看密钥不会授予支出权限,但与对应的公开地址信息结合使用时,可能会暴露大量财务信息。任何保留该访问权限的人都可能扫描所涵盖地址过去和未来的收款,因此,只有在存在明确的持续使用需求时才应分享。
在哪里可以找到我的 Monero 私有查看密钥?
在 monero-wallet-cli 中,如果钱包中有相应密钥,viewkey 命令会显示该钱包的查看密钥信息。不要让这些输出出现在截图或客服消息中;能否访问硬件钱包的私钥,取决于设备及其与钱包软件的集成方式。
Monero 只读钱包显示的余额准确吗?
如果没有最新的已花费输出信息,Monero 只读钱包可能会将已花费的输出计为可用余额。在兼容的钱包中,从可支出钱包导入已签名的密钥镜像并同步区块链,可以弥补这一局限。
我能通过 Monero 助记词恢复交易密钥吗?
不要假定通过助记词恢复 Monero 钱包就能恢复历史交易私钥或转出付款的元数据。如果你以后可能需要生成转出付款证明,请妥善、安全地保存原始钱包数据。
收款方能生成 Monero 交易证明吗?
持有相应私有查看密钥的收款钱包,可以为支付至其地址的款项生成收款交易证明。收款证明可验证该交易是否向该地址付款,但不能证明付款人的身份,也不能证明收款人对该交易中已花费的输入拥有控制权。
Monero 交易 ID 足以证明付款吗?
Monero 交易 ID 可以标识一笔交易,但不会公开收款地址或付款金额。要验证是否已向特定地址付款,请使用适当的交易证明或交易密钥校验,或使用收款钱包的私有查看密钥扫描该钱包。
如何在 SwapRocket 上兑换 XMR?
SwapRocket 支持您将 XMR 兑换为其他受支持的加密货币,或将受支持的币种兑换为 XMR,无需为您托管余额,也不要求您连接钱包。SwapRocket 不向美国或英国居民提供服务。请使用 Monero 兑换页面选择交易对,并将付款验证与涉及整个钱包的机密信息分开处理。
相关指南



