Poufne Salda

Czym są Poufne Salda?

Poufne Salda to rozszerzenie Token-2022, które umożliwia przesyłanie tokenów między token accounts bez ujawniania kwoty transferu. Jest to przydatne w przypadku transakcji zachowujących prywatność. Prywatne są tylko kwoty transferów i salda tokenów. Adresy token accounts pozostają publiczne.

Jak to działa?

Rozszerzenie Poufnych Sald dodaje instrukcje do programu Token Extension, które umożliwiają przesyłanie tokenów między kontami bez ujawniania kwoty transferu.

Confidential Balances Basic Overview

Podstawowy przebieg poufnych transferów tokenów jest następujący:

  1. Utwórz mint account z włączonymi Poufnymi Saldami.
  2. Utwórz token accounts z włączonymi Poufnymi Saldami dla nadawcy i odbiorcy.
  3. Wyemituj tokeny na konto nadawcy.
  4. Wpłać publiczne saldo nadawcy na poufne saldo oczekujące.
  5. Zastosuj saldo oczekujące nadawcy jako poufne saldo dostępne.
  6. Poufnie prześlij tokeny z token account nadawcy do token account odbiorcy.
  7. Zastosuj saldo oczekujące odbiorcy jako poufne saldo dostępne.
  8. Wypłać poufne saldo dostępne odbiorcy na saldo publiczne.

Klucze audytora

Mint account z Poufnymi Saldami może przechowywać opcjonalny globalny klucz publiczny ElGamal audytora. Gdy jest skonfigurowany, każdy poufny transfer zawiera kwotę zaszyfrowaną dla nadawcy, odbiorcy i audytora. Dowód transferu weryfikuje, że wszystkie trzy szyfrogramy zawierają tę samą kwotę. Publiczność nadal nie może odczytać kwoty, ale posiadacz tajnego klucza audytora może odszyfrować kwoty transferów dla danego minta.

Uprawnienia Poufnych Sald ustawiają klucz audytora podczas inicjalizacji rozszerzenia lub zmieniają go później za pomocą UpdateMint. Uprawnienia mogą rotować lub usuwać klucz. Rotacja dotyczy tylko przyszłych transferów, dlatego należy zachować poprzednie tajne klucze, gdy wymagany jest historyczny dostęp do audytu. Klucze audytora zapewniają dostęp do odczytu; nie autoryzują transferów tokenów ani nie ujawniają pełnego poufnego salda konta.

Przykłady konfiguracji i rotacji można znaleźć w sekcji Konfiguracja audytora. Portfele, eksploratory, giełdy i dostawcy usług compliance powinni również zapoznać się z wytycznymi dotyczącymi integracji audytora.

Aby uzyskać więcej informacji na temat kroków w procesie poufnego transferu, zapoznaj się z odpowiednimi stronami:

Poniższy diagram przedstawia szczegółową sekwencję podstawowego przepływu dla poufnych przelewów tokenów:

Confidential Balances Detailed Overview

Instrukcje Poufnych Sald

Pełna lista instrukcji rozszerzenia Poufnych Sald jest następująca:

InstrukcjaOpis
InitializeMintWłącza Poufne Salda na mint account. Ta instrukcja musi być zawarta w tej samej transakcji co instrukcja TokenInstruction::InitializeMint.
UpdateMintAktualizuje politykę zatwierdzania kont minta oraz opcjonalny globalny klucz publiczny ElGamal audytora.
ConfigureAccountWłącza Poufne Salda na token account.
ApproveAccountZatwierdza token account dla Poufnych Sald, jeśli mint wymaga zatwierdzenia dla nowych token accounts.
EmptyAccountOpróżnia oczekujące i dostępne poufne salda, aby umożliwić zamknięcie token account.
DepositKonwertuje publiczne saldo tokenów na oczekujące poufne saldo.
WithdrawKonwertuje dostępne poufne saldo z powrotem na saldo publiczne.
TransferPoufnie przesyła tokeny między token accounts.
ApplyPendingBalanceKonwertuje oczekujące saldo na dostępne saldo po wpłatach lub przelewach.
EnableConfidentialCreditsUmożliwia token account odbieranie poufnych przelewów tokenów.
DisableConfidentialCreditsBlokuje przychodzące poufne przelewy, jednocześnie zezwalając na publiczne przelewy.
EnableNonConfidentialCreditsUmożliwia token account odbieranie publicznych przelewów tokenów.
DisableNonConfidentialCreditsBlokuje zwykłe przelewy, aby token account odbierał wyłącznie poufne przelewy.
TransferWithFeePoufnie przesyła tokeny między token accounts z opłatą.
ConfigureAccountWithRegistryAlternatywny sposób konfigurowania token accounts dla Poufnych Sald przy użyciu konta ElGamalRegistry zamiast dowodu VerifyPubkeyValidity.

Is this page helpful?

Spis treści

Edytuj stronę