Confidential Transfer

コンフィデンシャル転送とは何ですか?

コンフィデンシャル転送を使用すると、転送金額を公開せずにtoken accounts间でトークンを転送できます。これはプライバシーを保護するトランザクションに役立ちます。非公開となるのは転送金額とトークン残高のみです。token accountのアドレスは引き続き公開されます。

どのように機能しますか?

Confidential Transfer拡張機能は、Token Extensions Programにinstructionsを追加し、転送金額を公開せずにアカウント間でトークンを転送できるようにします。

Confidential Transfer Basic Overview

コンフィデンシャルトークン転送の基本的な流れは次のとおりです:

  1. Confidential Transfer拡張機能を持つmint accountを作成する。
  2. 送信者と受信者用にConfidential Transfer拡張機能を持つtoken accountsを作成する。
  3. 送信者のアカウントにトークンをミントする。
  4. 送信者の公開残高をコンフィデンシャル保留残高デポジットする。
  5. 送信者の保留残高をコンフィデンシャル利用可能残高適用する。
  6. 送信者のtoken accountから受信者のtoken accountへトークンをコンフィデンシャルに転送する。
  7. 受信者の保留残高をコンフィデンシャル利用可能残高適用する。
  8. 受信者のコンフィデンシャル利用可能残高を公開残高引き出す

コンフィデンシャル転送フローの各ステップの詳細については、対応するページを参照してください:

以下の図は、機密トークン転送の基本フローの詳細なシーケンスを示しています:

Confidential Transfer Detailed Overview

機密転送 instructions

Confidential Transfer拡張機能のinstructionsの完全なリストは以下の通りです:

Instruction説明
InitializeMint機密転送のためのmint accountを設定します。このinstructionは TokenInstruction::InitializeMint instructionと同じトランザクションに含める必要があります。
UpdateMintmint accountの機密転送設定を更新します。
ConfigureAccounttoken accountを機密転送用に設定します。
ApproveAccountmintが新しいtoken accountの承認を要求する場合、token accountを機密転送用に承認します。
EmptyAccounttoken accountをクローズできるよう、保留中および利用可能な機密残高を空にします。
Deposit公開トークン残高を保留中の機密残高に変換します。
Withdraw利用可能な機密残高を公開残高に戻します。
Transfertoken account間で機密的にトークンを転送します。
ApplyPendingBalanceデポジットまたは転送後に、保留中の残高を利用可能な残高に変換します。
EnableConfidentialCreditstoken accountが機密トークン転送を受け取れるようにします。
DisableConfidentialCredits公開転送は許可しながら、受信側の機密転送をブロックします。
EnableNonConfidentialCreditstoken accountが公開トークン転送を受け取れるようにします。
DisableNonConfidentialCredits通常の転送をブロックし、アカウントが機密転送のみを受け取るようにします。
TransferWithFee手数料付きでtoken account間で機密的にトークンを転送します。
ConfigureAccountWithRegistryVerifyPubkeyValidity proofの代わりに ElGamalRegistry アカウントを使用して、機密転送用のtoken accountを設定する別の方法です。

Is this page helpful?

目次

ページを編集
© 2026 Solana Foundation. 無断転載を禁じます。