Що таке конфіденційні перекази?
Конфіденційні перекази дозволяють передавати токени між token accounts без розкриття суми переказу. Це корисно для транзакцій із збереженням конфіденційності. Лише суми переказів і баланси токенів є приватними. Адреси token account залишаються публічними.
- Огляд протоколу — Деталі щодо базового криптографічного протоколу
- Посібник із швидкого старту — Налаштування та основні команди CLI
- Cookbook конфіденційних балансів — Фрагменти коду для використання розширення конфіденційних переказів
Як це працює?
Розширення конфіденційних переказів додає інструкції до Token Extensions Program, що дозволяє передавати токени між акаунтами без розкриття суми переказу.
Базовий процес конфіденційних переказів токенів виглядає так:
- Створіть mint account із розширенням конфіденційних переказів.
- Створіть token accounts із розширенням конфіденційних переказів для відправника та отримувача.
- Відкарбуйте токени на акаунт відправника.
- Внесіть публічний баланс відправника до конфіденційного очікуваного балансу.
- Застосуйте очікуваний баланс відправника до конфіденційного доступного балансу.
- Конфіденційно перекажіть токени з token account відправника до token account отримувача.
- Застосуйте очікуваний баланс отримувача до конфіденційного доступного балансу.
- Виведіть конфіденційний доступний баланс отримувача до публічного балансу.
Докладніше про кроки процесу конфіденційного переказу дивіться на відповідних сторінках:
Створення mint account
Як створити mint account із розширенням конфіденційних переказів
Створення token account
Як налаштувати token account із розширенням конфіденційних переказів
Внесення токенів
Як внести токени до конфіденційного очікуваного балансу
Застосування очікуваного балансу
Як застосувати очікуваний баланс до доступного конфіденційного балансу
Виведення токенів
Як вивести токени з конфіденційного доступного балансу
Переказ токенів
Як конфіденційно переказувати токени між token accounts
Посібник з інтеграції
Як гаманці, оглядачі блокчейну та біржі можуть підтримувати токени з конфіденційними переказами
Посібник для емітента
Як випускати та керувати токеном із конфіденційними переказами (політика підтвердження, аудитори, комісії, карбування та спалення)
Діаграма нижче показує детальну послідовність основного процесу конфіденційних переказів токенів:
Інструкції конфіденційних переказів
Повний список інструкцій розширення конфіденційних переказів виглядає так:
| Інструкція | Опис |
|---|---|
InitializeMint | Налаштовує mint account для конфіденційних переказів. Ця інструкція повинна бути включена в ту саму транзакцію, що й інструкція TokenInstruction::InitializeMint. |
UpdateMint | Оновлює налаштування конфіденційних переказів для mint. |
ConfigureAccount | Налаштовує token account для конфіденційних переказів. |
ApproveAccount | Схвалює token account для конфіденційних переказів, якщо mint вимагає підтвердження для нових token accounts. |
EmptyAccount | Очищує очікувані та доступні конфіденційні баланси, щоб дозволити закриття token account. |
Deposit | Конвертує публічний баланс токенів у очікуваний конфіденційний баланс. |
Withdraw | Конвертує доступний конфіденційний баланс назад у публічний баланс. |
Transfer | Конфіденційно переказує токени між token accounts. |
ApplyPendingBalance | Конвертує очікуваний баланс у доступний баланс після депозитів або переказів. |
EnableConfidentialCredits | Дозволяє token account отримувати конфіденційні перекази токенів. |
DisableConfidentialCredits | Блокує вхідні конфіденційні перекази, водночас дозволяючи публічні перекази. |
EnableNonConfidentialCredits | Дозволяє token account отримувати публічні перекази токенів. |
DisableNonConfidentialCredits | Блокує звичайні перекази, щоб token account міг отримувати лише конфіденційні перекази. |
TransferWithFee | Конфіденційно переказує токени між token accounts з комісією. |
ConfigureAccountWithRegistry | Альтернативний спосіб налаштування token accounts для конфіденційних переказів з використанням облікового запису ElGamalRegistry замість доказу VerifyPubkeyValidity. |
Is this page helpful?