Confidential Transfer

Cosa sono i Trasferimenti Riservati?

I trasferimenti riservati ti consentono di trasferire token tra token account senza rivelare l'importo del trasferimento. Ciò è utile per le transazioni che preservano la privacy. Solo gli importi dei trasferimenti e i saldi dei token sono privati. Gli indrizzi dei token account rimangono pubblici.

Come funziona?

L'estensione Confidential Transfer aggiunge istruzioni al Token Extensions Program che ti consente di trasferire token tra account senza rivelare l'importo del trasferimento.

Confidential Transfer Basic Overview

Il flusso di base dei trasferimenti riservati di token è il seguente:

  1. Crea un mint account con l'estensione confidential transfer.
  2. Crea token account con l'estensione confidential transfer per il mittente e il destinatario.
  3. Conia token sull'account del mittente.
  4. Deposita il saldo pubblico del mittente nel saldo in attesa riservato.
  5. Applica il saldo in attesa del mittente al saldo disponibile riservato.
  6. Trasferisci in modo riservato i token dal token account del mittente al token account del destinatario.
  7. Applica il saldo in attesa del destinatario al saldo disponibile riservato.
  8. Preleva il saldo disponibile riservato del destinatario nel saldo pubblico.

Per ulteriori dettagli sui passaggi del flusso di trasferimento riservato, consulta le pagine corrispondenti:

Il diagramma seguente mostra una sequenza dettagliata del flusso di base per i trasferimenti di token riservati:

Confidential Transfer Detailed Overview

Istruzioni per i Trasferimenti Riservati

L'elenco completo delle istruzioni dell'estensione Confidential Transfer instructions è il seguente:

IstruzioneDescrizione
InitializeMintConfigura il mint account per i trasferimenti riservati. Questa istruzione deve essere inclusa nella stessa transazione dell'istruzione TokenInstruction::InitializeMint.
UpdateMintAggiorna le impostazioni dei trasferimenti riservati per un mint.
ConfigureAccountConfigura un token account per i trasferimenti riservati.
ApproveAccountApprova un token account per i trasferimenti riservati se il mint richiede l'approvazione per i nuovi token account.
EmptyAccountSvuota i saldi riservati in sospeso e disponibili per consentire la chiusura di un token account.
DepositConverte il saldo pubblico dei token in saldo riservato in sospeso.
WithdrawConverte il saldo riservato disponibile nuovamente in saldo pubblico.
TransferTrasferisce token tra token account in modo riservato.
ApplyPendingBalanceConverte il saldo in sospeso in saldo disponibile dopo depositi o trasferimenti.
EnableConfidentialCreditsConsente a un token account di ricevere trasferimenti di token riservati.
DisableConfidentialCreditsBlocca i trasferimenti riservati in entrata consentendo comunque i trasferimenti pubblici.
EnableNonConfidentialCreditsConsente a un token account di ricevere trasferimenti di token pubblici.
DisableNonConfidentialCreditsBlocca i trasferimenti regolari per far sì che l'account riceva solo trasferimenti riservati.
TransferWithFeeTrasferisce token tra token account in modo riservato con una commissione.
ConfigureAccountWithRegistryMetodo alternativo per configurare i token account per i trasferimenti riservati utilizzando un account ElGamalRegistry invece della prova VerifyPubkeyValidity.

Is this page helpful?

Indice dei contenuti

Modifica pagina
© 2026 Solana Foundation. Tutti i diritti riservati.