保密转账

什么是机密转账?

机密转账使您能够在 token account 之间转移代币,而无需披露转账金额。这对于保护隐私的交易非常有用。只有转账金额和代币余额是私密的,token account 地址仍然是公开的。

它是如何工作的?

机密转账扩展为 Token Extension program 添加了 指令,使您能够在账户之间转移代币,而无需披露转账金额。

Confidential Transfer Basic Overview

机密代币转账的基本流程如下:

  1. 创建带有机密转账扩展的 mint account。
  2. 为发送方和接收方创建带有机密转账扩展的 token account。
  3. 向发送方账户铸造代币。
  4. 将发送方的公开余额存入**机密待处理余额**。
  5. 将发送方的待处理余额应用机密可用余额
  6. 以机密方式将代币从发送方 token account 转账至接收方 token account。
  7. 将接收方的待处理余额应用机密可用余额
  8. 将接收方的机密可用余额提取公开余额

有关机密转账流程各步骤的详细说明,请参阅对应页面:

下图展示了机密代币转账基本流程的详细序列:

Confidential Transfer Detailed Overview

机密转账指令

机密转账扩展的完整指令列表如下:

指令说明
InitializeMint为机密转账配置 mint account。此指令必须与 TokenInstruction::InitializeMint 指令包含在同一笔交易中。
UpdateMint更新 mint 的机密转账设置。
ConfigureAccount为机密转账配置 token account。
ApproveAccount若 mint 要求对新 token account 进行审批,则批准该 token account 用于机密转账。
EmptyAccount清空待处理和可用的机密余额,以便关闭 token account。
Deposit将公开代币余额转换为待处理的机密余额。
Withdraw将可用的机密余额转换回公开余额。
Transfer在 token account 之间以机密方式转移代币。
ApplyPendingBalance在存款或转账后,将待处理余额转换为可用余额。
EnableConfidentialCredits允许 token account 接收机密代币转账。
DisableConfidentialCredits屏蔽传入的机密转账,同时仍允许公开转账。
EnableNonConfidentialCredits允许 token account 接收公开代币转账。
DisableNonConfidentialCredits屏蔽常规转账,使账户仅接收机密转账。
TransferWithFee以机密方式在 token account 之间转移代币并收取手续费。
ConfigureAccountWithRegistry使用 ElGamalRegistry 账户替代 VerifyPubkeyValidity 证明,为机密转账配置 token account 的另一种方式。

Is this page helpful?

Table of Contents

Edit Page
©️ 2026 Solana 基金会版权所有