什么是机密转账?
机密转账使您能够在 token account 之间转移代币,而无需披露转账金额。这对于保护隐私的交易非常有用。只有转账金额和代币余额是私密的,token account 地址仍然是公开的。
它是如何工作的?
机密转账扩展为 Token Extension program 添加了 指令,使您能够在账户之间转移代币,而无需披露转账金额。
Confidential Transfer Basic Overview
机密代币转账的基本流程如下:
- 创建带有机密转账扩展的 mint account。
- 为发送方和接收方创建带有机密转账扩展的 token account。
- 向发送方账户铸造代币。
- 将发送方的公开余额存入**机密待处理余额**。
- 将发送方的待处理余额应用至机密可用余额。
- 以机密方式将代币从发送方 token account 转账至接收方 token account。
- 将接收方的待处理余额应用至机密可用余额。
- 将接收方的机密可用余额提取至公开余额。
有关机密转账流程各步骤的详细说明,请参阅对应页面:
创建 Mint Account
如何创建带有机密转账扩展的 mint account
创建 Token Account
如何为 token account 配置机密转账扩展
存入代币
如何将代币存入机密待处理余额
应用待处理余额
如何将待处理余额应用至机密可用余额
提取代币
如何从机密可用余额中提取代币
转账代币
如何在 token account 之间进行机密代币转账
集成指南
钱包、浏览器和交易所如何支持机密转账代币
发行方指南
如何发行和管理机密转账代币(审批策略、审计方、手续费、铸造与销毁)
下图展示了机密代币转账基本流程的详细序列:
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?