Transferência confidencial

O que são Transferências Confidenciais?

As transferências confidenciais permitem transferir tokens entre token accounts sem revelar o valor da transferência. Isso é útil para transações que preservam a privacidade. Apenas os valores das transferências e os saldos de tokens são privados. Os endereços das token accounts permanecem públicos.

Como funciona?

A extensão de Transferência Confidencial adiciona instruções ao Token Extensions Program que permite transferir tokens entre contas sem revelar o valor da transferência.

Confidential Transfer Basic Overview

O fluxo básico das transferências confidenciais de tokens é o seguinte:

  1. Criar um mint account com a extensão de transferência confidencial.
  2. Criar token accounts com a extensão de transferência confidencial para o remetente e o destinatário.
  3. Cunhar tokens na conta do remetente.
  4. Depositar o saldo público do remetente no saldo pendente confidencial.
  5. Aplicar o saldo pendente do remetente ao saldo disponível confidencial.
  6. Transferir confidencialmente os tokens da token account do remetente para a token account do destinatário.
  7. Aplicar o saldo pendente do destinatário ao saldo disponível confidencial.
  8. Sacar o saldo disponível confidencial do destinatário para o saldo público.

Para mais detalhes sobre as etapas do fluxo de transferência confidencial, consulte as páginas correspondentes:

O diagrama abaixo mostra uma sequência detalhada do fluxo básico para transferências confidenciais de tokens:

Confidential Transfer Detailed Overview

Instruções de Transferência Confidencial

A lista completa das instruções da extensão de Transferência Confidencial é a seguinte:

InstruçãoDescrição
InitializeMintConfigura o mint account para transferências confidenciais. Esta instrução deve ser incluída na mesma transação que a instrução TokenInstruction::InitializeMint.
UpdateMintAtualiza as configurações de transferência confidencial para um mint.
ConfigureAccountConfigura um token account para transferências confidenciais.
ApproveAccountAprova um token account para transferências confidenciais, caso o mint exija aprovação para novos token accounts.
EmptyAccountEsvazia os saldos confidenciais pendentes e disponíveis para permitir o encerramento de um token account.
DepositConverte o saldo público de tokens em saldo confidencial pendente.
WithdrawConverte o saldo confidencial disponível de volta para saldo público.
TransferTransfere tokens entre token accounts de forma confidencial.
ApplyPendingBalanceConverte o saldo pendente em saldo disponível após depósitos ou transferências.
EnableConfidentialCreditsPermite que um token account receba transferências confidenciais de tokens.
DisableConfidentialCreditsBloqueia transferências confidenciais recebidas, permitindo ainda transferências públicas.
EnableNonConfidentialCreditsPermite que um token account receba transferências públicas de tokens.
DisableNonConfidentialCreditsBloqueia transferências regulares para que a conta receba apenas transferências confidenciais.
TransferWithFeeTransfere tokens entre token accounts de forma confidencial com uma taxa.
ConfigureAccountWithRegistryForma alternativa de configurar token accounts para transferências confidenciais usando uma conta ElGamalRegistry em vez de uma prova VerifyPubkeyValidity.

Is this page helpful?

Índice

Editar Página
© 2026 Fundação Solana. Todos os direitos reservados.