¿Qué son las transferencias confidenciales?
Las transferencias confidenciales te permiten transferir tokens entre token accounts sin revelar el monto de la transferencia. Esto es útil para transacciones que preservan la privacidad. Solo los montos de transferencia y los saldos de tokens son privados. Las direcciones de las token accounts siguen siendo públicas.
- Descripción general del protocolo - Detalles sobre el protocolo criptográfico subyacente
- Guía de inicio rápido - Configuración y comandos básicos de CLI
- Cookbook de Saldos Confidenciales - Fragmentos de código sobre cómo usar la extensión de Transferencia Confidencial
¿Cómo funciona?
La extensión de Transferencia Confidencial agrega instrucciones al Token Extensions Program que te permite transferir tokens entre cuentas sin revelar el monto de la transferencia.
El flujo básico de las transferencias confidenciales de tokens es el siguiente:
- Crea una mint account con la extensión de transferencia confidencial.
- Crea token accounts con la extensión de transferencia confidencial para el emisor y el destinatario.
- Acuña tokens en la cuenta del emisor.
- Deposita el saldo público del emisor en el saldo pendiente confidencial.
- Aplica el saldo pendiente del emisor al saldo disponible confidencial.
- Transfiere de forma confidencial los tokens desde la token account del emisor a la token account del destinatario.
- Aplica el saldo pendiente del destinatario al saldo disponible confidencial.
- Retira el saldo disponible confidencial del destinatario al saldo público.
Para más detalles sobre los pasos del flujo de transferencia confidencial, consulta las páginas correspondientes:
Crear Mint Account
Cómo crear una mint account con la extensión de Transferencia Confidencial
Crear Token Account
Cómo configurar una token account con la extensión de Transferencia Confidencial
Depositar Tokens
Cómo depositar tokens en el saldo pendiente confidencial
Aplicar Saldo Pendiente
Cómo aplicar el saldo pendiente al saldo confidencial disponible
Retirar Tokens
Cómo retirar tokens del saldo confidencial disponible
Transferir Tokens
Cómo transferir tokens de forma confidencial entre token accounts
Guía de Integración
Cómo las billeteras, exploradores e intercambios pueden admitir tokens de transferencia confidencial
Guía para Emisores
Cómo emitir y operar un token de transferencia confidencial (política de aprobación, auditores, comisiones, acuñación y quema)
El diagrama a continuación muestra una secuencia detallada del flujo básico para transferencias de tokens confidenciales:
Instrucciones de Transferencia Confidencial
La lista completa de las instrucciones de la extensión de Transferencia Confidencial es la siguiente:
| Instrucción | Descripción |
|---|---|
InitializeMint | Configura el mint account para transferencias confidenciales. Esta instrucción debe incluirse en la misma transacción que la instrucción TokenInstruction::InitializeMint. |
UpdateMint | Actualiza la configuración de transferencias confidenciales para un mint. |
ConfigureAccount | Configura un token account para transferencias confidenciales. |
ApproveAccount | Aprueba un token account para transferencias confidenciales si el mint requiere aprobación para nuevos token accounts. |
EmptyAccount | Vacía los saldos confidenciales pendientes y disponibles para permitir el cierre de un token account. |
Deposit | Convierte el saldo público de tokens en saldo confidencial pendiente. |
Withdraw | Convierte el saldo confidencial disponible de vuelta a saldo público. |
Transfer | Transfiere tokens entre token accounts de forma confidencial. |
ApplyPendingBalance | Convierte el saldo pendiente en saldo disponible tras depósitos o transferencias. |
EnableConfidentialCredits | Permite que un token account reciba transferencias de tokens confidenciales. |
DisableConfidentialCredits | Bloquea las transferencias confidenciales entrantes mientras permite las transferencias públicas. |
EnableNonConfidentialCredits | Permite que un token account reciba transferencias de tokens públicas. |
DisableNonConfidentialCredits | Bloquea las transferencias regulares para que la cuenta solo reciba transferencias confidenciales. |
TransferWithFee | Transfiere tokens entre token accounts de forma confidencial con una comisión. |
ConfigureAccountWithRegistry | Forma alternativa de configurar token accounts para transferencias confidenciales usando una cuenta ElGamalRegistry en lugar de una prueba VerifyPubkeyValidity. |
Is this page helpful?