Moneroのプライベートビューキーは、ウォレットの公開アドレス情報と組み合わせることで、対応ソフトウェアが受信したアウトプットを特定し、その金額を読み取れるようにする秘密情報です。XMRを使用する権限はなく、これだけで送金履歴全体や信頼できる使用可能残高を把握することもできません。 SwapRocketでは、XMRを他の暗号資産に交換したり、他のコインをXMRにスワップしたりできます。自分のウォレットから送金し、指定したアドレスで受け取れます。

重要なポイント

  • プライベートビューキーは入金をスキャンするためのものであり、資金の使用を承認するものではありません。
  • 閲覧専用ウォレットで使用済みのアウトプットを確実に特定するには、署名付きキーイメージなどの追加情報が必要です。
  • トランザクションキーは個々のトランザクションに固有の秘密情報であり、ウォレットのプライベートビューキーではありません。
  • tx proofを使えば、ウォレット全体のプライベートビューキーを開示することなく、指定したアドレスへの支払いを検証できます。

Moneroのプライベートビューキーとは?

Moneroのプライベートビューキーは、対応する公開アドレス情報と組み合わせて使うことで、ウォレットが自分宛てのアウトプットを認識し、その金額を復号できるようにします。プライベートビューキーは32バイトの秘密情報で、通常は64文字の16進数で表示されます。

Moneroの支払いでは、受取人の通常のウォレットアドレスをブロックチェーン上に直接公開する代わりに、ワンタイムのアウトプットアドレスを使用します。スキャンを行うウォレットは、プライベートビューキーをトランザクションの公開鍵データおよびウォレットの公開アドレス情報と組み合わせて、自分のアウトプットを見つけます。閲覧専用ウォレットは、プライベートスペンドキーを保持せずにこのスキャンを行います。

標準的なMoneroアドレスに含まれるのは、パブリックスペンドキーとパブリックビューキーであり、それぞれに対応する秘密鍵ではありません。そのため、受取用アドレスを共有しても、プライベートビューキーによって可能になるスキャン権限を相手に与えることにはなりません。

Moneroのビューキーで何が見え、何が見えないのか?

入金確認用のプライベートビューキーと、1人の受取人に対するトランザクション証明を示すMoneroウォレットの図。 - Moneroのビューキーで何が見え、何が見えないのか?

Moneroのプライベートビューキーを使うと、ウォレットが所有するアウトプットとその金額を確認できますが、資金の使用を承認することはできません。ビューキーだけでは、どのアウトプットが未使用のままかを確定したり、送金履歴全体を再構成したり、送金先を明らかにしたりすることはできません。

ウォレットに戻るお釣りのアウトプットも確認できる場合がありますが、ビューキーだけでは、それがお釣りであると確実に判別することはできません。所有するアウトプットが見えることと、それを生成した支払いの全容が分かることは同じではありません。

Moneroはキーイメージを通じて使用済みのインプットを記録しますが、閲覧専用ウォレットはプライベートビューキーだけからキーイメージを導出することはできません。送金に使うウォレットから署名付きキーイメージをインポートすると、対応する閲覧専用ウォレットは、既知のアウトプットのうちどれが使用済みかを判定できます。これらのキーイメージがあっても、ブロックチェーン上の情報だけから送金先アドレスが明らかになることはありません。

スキャンには、正しい公開アドレス情報、対象となるサブアドレス、ブロック範囲も関係します。プライベートビューキーを共有すると、確認したい支払いだけでなく、その範囲内にある過去および将来の入金も見られる可能性があります。

プライベートビューキーだけで、入金の送金者のアドレスや現実世界での身元が明らかになることはありません。ブロックチェーン上のプライバシーと、それ以外の場所で露出する情報の違いについて詳しくは、Moneroのプライバシーの仕組みと情報が漏れるポイントをご覧ください。

Moneroのトランザクションキーはどう違うのか?

Moneroのトランザクションキーは、tx keyとも呼ばれ、送金側のウォレットが生成する、トランザクションごとに固有の秘密情報です。トランザクションID、必要なトランザクション秘密鍵、受取人のアドレスがあれば、検証者はそのトランザクションで当該アドレスへの支払いが行われたかどうかを確認し、その金額を特定できます。

トランザクションによっては、メインのトランザクション秘密鍵に加えて、追加のトランザクション秘密鍵が使われます。そのため、ウォレットからエクスポートした tx-key データには、複数の鍵が含まれる場合があります。すべてのトランザクションで、確認すべき秘密鍵が1つだけだと考えないでください。

項目明らかになる情報・可能になる操作支出を承認できるか?
秘密ビューキーと公開アドレス情報所有するアウトプットと金額のスキャン。ただし、それだけでは使用済みかどうかは確認できないいいえ
秘密スペンドキー必要なウォレットデータと組み合わせることで、支出が可能になるはい
トランザクション秘密鍵データそのトランザクションで、指定された受取アドレスに送られた金額の確認いいえ
トランザクション ID支払いの受取人や金額を公開することなく、ブロックチェーン上のトランザクションを特定いいえ
トランザクション証明トランザクション ID と証明を使った、指定アドレスへの支払いの検証いいえ

monero-wallet-cli では、check_tx_key

が、提供された tx-key データを使ってローカルで支払いを確認します。送信者が生成するトランザクション証明は、それらの秘密鍵を公開せずに、特定のトランザクションとアドレスに対する支払いの証拠を提供します。1つのトランザクションで複数のアドレスに支払っている場合、生の tx-key データを共有すると、そのトランザクション内のほかの既知の送信先アドレスに支払った金額も明らかになる可能性があります。

Monero のトランザクション証明を作成・検証するには?

入金確認用の秘密ビューキーと、特定の受取人に対するトランザクション証明を示す Monero ウォレットの図。 - Monero のトランザクション証明を作成・検証するには?

送信者は、トランザクション ID と正確な受取アドレスに対する送金証明を生成することで、Monero の支払いを証明します。検証者は、その証明をトランザクションと照合します。送信者が任意のメッセージを含めていた場合は、同じメッセージを使用します。

以下の手順では、Monero 公式のコマンドラインウォレットを使用します。ほかのウォレットのインターフェースにも同等の支払い証明機能がある場合がありますが、表示名は異なります。

  1. トランザクションの詳細を集めます。 トランザクション ID と正確な受取アドレスを入手します。サブアドレスを使用した場合は、その正しいサブアドレスを用意してください。トランザクション秘密鍵データが保存されている送信元ウォレットを開きます。
  2. 送金証明を生成します。 プレースホルダーを置き換えて get_tx_proof
    [] を実行します。任意のメッセージが不要な場合は省略してください。検証用に、生成された証明をファイルに保存します。
  3. 検証に必要な情報を共有します。 トランザクション ID、受取アドレス、証明、およびメッセージを使用した場合はその正確な内容を検証者に渡します。リカバリーシード、秘密スペンドキー、ウォレット全体の秘密ビューキーは含めないでください。
  4. 証明を独立して確認します。 検証者は、保存された証明ファイルを指定して check_tx_proof
    [] を実行します。有効性の判定結果、指定アドレスでの受取金額、トランザクションの承認状況を確認します。

想定どおりの金額を示す証明の検証に成功すれば、トランザクションのブロックチェーン上の状態を確認することを前提に、そのアドレスへの支払いが確認できます。ただし、送信者の現実世界での身元、受取人のウォレットが同期済みであること、資金がすでにロック解除されていることを証明するものではありません。

XMR スワップの払い出しを確認するには?

XMR スワップの払い出しは、受取ウォレット、払い出しのトランザクション ID、必要に応じて支払い証明を使って確認できます。BTC から XMR への交換では、受け取るのは XMR なので、払い出しの送金証明は Bitcoin ウォレットではなく、送信側から提供してもらう必要があります。

SwapRocket は、各スワップの実行に、ライセンスを取得した流動性プロバイダーを1社利用しています。トランザクション固有の証明を、指定した受取アドレスと照合するために、秘密ビューキーを開示する必要はありません。

  1. 受取用ウォレットのスキャン範囲を確認する。 ウォレットの同期を完了させ、支払い先として指定した正確なアドレスまたはサブアドレスがスキャン対象に含まれていることを確認してください。ウォレットを復元した場合は、支払いトランザクションが含まれるよう、十分に過去の時点からスキャンを開始する必要があります。
  2. 正しい金額と比較する。 SwapRocketは変動レートを採用しているため、送金前の見積額を保証された金額と捉えるのではなく、最終的な支払い明細と受取額を比較してください。証明で確認できるのはMoneroトランザクションで実際に支払われた金額であり、以前の見積もりに表示されていた金額ではありません。
  3. 必要に応じて、そのトランザクションに固有の証拠を求める。 スワップの照会番号を添えてsupport@swaprocket.ioに連絡し、支払いトランザクションの特定を依頼してください。証明が必要な場合は、スワップを実行したプロバイダーが送金のトランザクション証明(tx proof)を提供できるか確認してください。すべてのサービスがトランザクションキーや証明生成ツールを公開しているとは限りません。

支払いを見つけることと、その資金を使用できることは、別々に確認する必要があります。ロック解除のルールについては、Moneroの支払いが10ブロックの間ロックされる理由をご覧ください。

トランザクション証明ではなくビューキーを共有すべきなのは、どのような場合ですか?

秘密ビューキーを共有するのは、単一の送金の証明ではなく、継続的に入金を確認する必要がある場合に限ってください。請求をめぐる紛争、支払いの調査、受取アドレスの確認には、特定のトランザクションとアドレスに限定した証明のほうが、開示範囲を絞った証拠になります。

閲覧専用ウォレットを使えば、スペンドキーをオフラインに保ったまま、オンライン端末で入金を監視できます。ビューキーのみを使用する監査人が、完全な出金履歴を自動的に取得できるわけではありません。署名済みキーイメージや、別途保存した送金記録も必要になる場合があります。ビューキーでは資金の使用を承認できませんが、そのアクセス権の付与は金融履歴の開示として扱ってください。

1件の支払いをめぐる紛争を解決するために、ウォレットの秘密情報を公開ブロックエクスプローラーに貼り付けないでください。ローカルのウォレットでの検証を優先し、関係者が必要とする、そのトランザクションに固有の証拠だけを共有してください。

よくある質問

Moneroのビューキーは、閲覧用の機密性の高い認証情報であり、資金を使用するための認証情報ではありません。通常、支払いの検証に必要なのは、ウォレットの入金履歴全体へのアクセスよりも、はるかに限定された情報です。

Moneroの秘密ビューキーを共有しても安全ですか?

Moneroの秘密ビューキーを共有しても、資金を使用する権限は与えられません。ただし、対応する公開アドレス情報と組み合わせることで、多くの金融情報が明らかになる可能性があります。そのアクセス権を保持する人は誰でも、対象アドレスの過去および将来の入金をスキャンできる可能性があるため、継続的に利用する明確な目的がある場合にのみ共有してください。

Moneroの秘密ビューキーはどこで確認できますか?

monero-wallet-cliでは、対象のキーを利用できるウォレットでviewkeyコマンドを実行すると、ビューキー情報が表示されます。その出力をスクリーンショットやサポートへのメッセージに含めないでください。ハードウェアウォレットで秘密キーにアクセスできるかどうかは、デバイスとウォレットの連携仕様によって異なります。

Moneroの閲覧専用ウォレットには正しい残高が表示されますか?

使用済みアウトプットの情報が最新でないMoneroの閲覧専用ウォレットでは、すでに使用されたアウトプットが利用可能なものとして計上されることがあります。対応するウォレットでは、資金を使用する側のウォレットから署名済みキーイメージをインポートし、ブロックチェーンを同期することで、この制約を解消できます。

Moneroのシードからトランザクションキーを復元できますか?

シードからMoneroウォレットを復元すれば、過去のトランザクション秘密キーや送金のメタデータも復元されるとは考えないでください。後で送金の証明を生成する可能性がある場合は、元のウォレットデータを安全に保管してください。

受取人はMoneroのトランザクション証明を作成できますか?

適切なプライベートビューキーを持つ受取側ウォレットは、自身のアドレスへの支払いについて入金証明(inbound tx proof)を生成できます。入金証明は、そのトランザクションで当該アドレスへの支払いが行われたことを証明するものであり、送信者の身元や、トランザクションで使用済みとなったインプットに対する受取人の権限を証明するものではありません。

MoneroのトランザクションIDだけで支払いを証明できますか?

MoneroのトランザクションIDはトランザクションを識別するものですが、受取アドレスや支払額を公開するものではありません。特定のアドレスへの支払いを確認するには、適切なトランザクション証明(tx proof)やトランザクションキーによる検証を利用するか、プライベートビューキーを使って受取側ウォレットをスキャンしてください。

SwapRocketでXMRを交換するには?

SwapRocketでは、資金を預けたりウォレットを接続したりすることなく、XMRを他の対応暗号資産に交換したり、対応通貨をXMRにスワップしたりできます。SwapRocketは、米国および英国の居住者には提供されていません。Monero交換ページで通貨ペアを選び、支払いの確認にはウォレット全体に関わる秘密情報を使わないようにしましょう。

関連ガイド