Τι είναι τα Confidential Balances;
Το Confidential Balances είναι μια επέκταση Token-2022 που σας επιτρέπει να μεταφέρετε tokens μεταξύ token accounts χωρίς να αποκαλύπτετε το ποσό της μεταφοράς. Αυτό είναι χρήσιμο για συναλλαγές που διαφυλάσσουν το απόρρητο. Μόνο τα ποσά μεταφοράς και τα υπόλοιπα token παραμένουν ιδιωτικά. Οι διευθύνσεις των token accounts παραμένουν δημόσιες.
- Επισκόπηση Πρωτοκόλλου - Λεπτομέρειες για το υποκείμενο κρυπτογραφικό πρωτόκολλο
- Οδηγός Γρήγορης Εκκίνησης - Ρύθμιση και βασικές εντολές CLI
- Confidential Balances Cookbook - Αποσπάσματα κώδικα που δείχνουν πώς να χρησιμοποιήσετε το Confidential Balances
Πώς λειτουργεί;
Η επέκταση Confidential Balances προσθέτει εντολές στο Token Extension program που σας επιτρέπουν να μεταφέρετε tokens μεταξύ λογαριασμών χωρίς να αποκαλύπτετε το ποσό της μεταφοράς.
Η βασική ροή των εμπιστευτικών μεταφορών tokens είναι η εξής:
- Δημιουργήστε ένα mint account με ενεργοποιημένο το Confidential Balances.
- Δημιουργήστε token accounts με ενεργοποιημένο το Confidential Balances για τον αποστολέα και τον παραλήπτη.
- Έκδοση tokens στον λογαριασμό του αποστολέα.
- Κατάθεση του δημόσιου υπολοίπου του αποστολέα στο εμπιστευτικό εκκρεμές υπόλοιπο.
- Εφαρμογή του εκκρεμούς υπολοίπου του αποστολέα στο εμπιστευτικό διαθέσιμο υπόλοιπο.
- Εμπιστευτική μεταφορά tokens από το token account του αποστολέα στο token account του παραλήπτη.
- Εφαρμογή του εκκρεμούς υπολοίπου του παραλήπτη στο εμπιστευτικό διαθέσιμο υπόλοιπο.
- Ανάληψη του εμπιστευτικού διαθέσιμου υπολοίπου του παραλήπτη στο δημόσιο υπόλοιπο.
Κλειδιά ελεγκτή
Ένα mint account Confidential Balances μπορεί να αποθηκεύει ένα προαιρετικό καθολικό δημόσιο κλειδί ElGamal ελεγκτή. Όταν αυτό είναι διαμορφωμένο, κάθε εμπιστευτική μεταφορά περιλαμβάνει το ποσό κρυπτογραφημένο για τον αποστολέα, τον παραλήπτη και τον ελεγκτή. Η απόδειξη μεταφοράς επαληθεύει ότι και τα τρία κρυπτοκείμενα περιέχουν το ίδιο ποσό. Το κοινό εξακολουθεί να μην μπορεί να διαβάσει το ποσό, αλλά ο κάτοχος του μυστικού κλειδιού ελεγκτή μπορεί να αποκρυπτογραφήσει τα ποσά μεταφοράς για αυτό το mint.
Η αρχή Confidential Balances ορίζει το κλειδί ελεγκτή κατά την αρχικοποίηση της επέκτασης ή το αλλάζει αργότερα με UpdateMint. Η αρχή μπορεί να εναλλάξει ή να διαγράψει το κλειδί. Μια εναλλαγή ισχύει μόνο για μελλοντικές μεταφορές, επομένως διατηρήστε τα προηγούμενα μυστικά κλειδιά όταν απαιτείται ιστορική πρόσβαση ελέγχου. Τα κλειδιά ελεγκτή παρέχουν πρόσβαση ανάγνωσης· δεν εξουσιοδοτούν μεταφορές token ούτε αποκαλύπτουν το πλήρες εμπιστευτικό υπόλοιπο ενός λογαριασμού.
Για παραδείγματα ρύθμισης και εναλλαγής, δείτε Διαμόρφωση ελεγκτή. Τα πορτοφόλια, οι εξερευνητές, τα ανταλλακτήρια και οι πάροχοι συμμόρφωσης θα πρέπει επίσης να ανατρέξουν στις οδηγίες ενσωμάτωσης ελεγκτή.
Για περισσότερες λεπτομέρειες σχετικά με τα βήματα της ροής εμπιστευτικής μεταφοράς, δείτε τις αντίστοιχες σελίδες:
Δημιουργία Mint Account
Πώς να δημιουργήσετε ένα mint account με ενεργοποιημένο το Confidential Balances
Δημιουργία Token Account
Πώς να διαμορφώσετε ένα token account με ενεργοποιημένο το Confidential Balances
Κατάθεση Tokens
Πώς να καταθέσετε tokens στο εμπιστευτικό εκκρεμές υπόλοιπο
Εφαρμογή Εκκρεμούς Υπολοίπου
Πώς να εφαρμόσετε το εκκρεμές υπόλοιπο στο διαθέσιμο εμπιστευτικό υπόλοιπο
Ανάληψη Tokens
Πώς να αναλάβετε tokens από το εμπιστευτικό διαθέσιμο υπόλοιπο
Μεταφορά Tokens
Πώς να μεταφέρετε εμπιστευτικά tokens μεταξύ token accounts
Οδηγός Ενσωμάτωσης
Πώς τα πορτοφόλια, οι εξερευνητές και τα ανταλλακτήρια μπορούν να υποστηρίζουν tokens Confidential Balances
Οδηγός Εκδότη
Πώς να εκδώσετε και να διαχειριστείτε ένα token Confidential Balances (πολιτική έγκρισης, ελεγκτές, προμήθειες, έκδοση και καύση)
Το παρακάτω διάγραμμα δείχνει μια λεπτομερή ακολουθία της βασικής ροής για εμπιστευτικές μεταφορές token:
Εντολές Confidential Balances
Η πλήρης λίστα των εντολών της επέκτασης Confidential Balances είναι η εξής:
| Εντολή | Περιγραφή |
|---|---|
InitializeMint | Ενεργοποιεί το Confidential Balances σε ένα mint account. Αυτή η εντολή πρέπει να συμπεριληφθεί στην ίδια συναλλαγή με την εντολή TokenInstruction::InitializeMint. |
UpdateMint | Ενημερώνει την πολιτική έγκρισης λογαριασμού του mint και το προαιρετικό καθολικό δημόσιο κλειδί ElGamal ελεγκτή. |
ConfigureAccount | Ενεργοποιεί το Confidential Balances σε ένα token account. |
ApproveAccount | Εγκρίνει ένα token account για Confidential Balances εάν το mint απαιτεί έγκριση για νέα token accounts. |
EmptyAccount | Αδειάζει τα εκκρεμή και διαθέσιμα εμπιστευτικά υπόλοιπα για να επιτρέψει το κλείσιμο ενός token account. |
Deposit | Μετατρέπει το δημόσιο υπόλοιπο token σε εκκρεμές εμπιστευτικό υπόλοιπο. |
Withdraw | Μετατρέπει το διαθέσιμο εμπιστευτικό υπόλοιπο πίσω σε δημόσιο υπόλοιπο. |
Transfer | Μεταφέρει token μεταξύ token accounts εμπιστευτικά. |
ApplyPendingBalance | Μετατρέπει το εκκρεμές υπόλοιπο σε διαθέσιμο υπόλοιπο μετά από καταθέσεις ή μεταφορές. |
EnableConfidentialCredits | Επιτρέπει σε ένα token account να λαμβάνει εμπιστευτικές μεταφορές token. |
DisableConfidentialCredits | Αποκλείει τις εισερχόμενες εμπιστευτικές μεταφορές, επιτρέποντας ωστόσο τις δημόσιες μεταφορές. |
EnableNonConfidentialCredits | Επιτρέπει σε ένα token account να λαμβάνει δημόσιες μεταφορές token. |
DisableNonConfidentialCredits | Αποκλείει τις κανονικές μεταφορές ώστε ο λογαριασμός να δέχεται μόνο εμπιστευτικές μεταφορές. |
TransferWithFee | Μεταφέρει token μεταξύ token accounts εμπιστευτικά με χρέωση. |
ConfigureAccountWithRegistry | Εναλλακτικός τρόπος διαμόρφωσης token accounts για Confidential Balances χρησιμοποιώντας έναν λογαριασμό ElGamalRegistry αντί για απόδειξη VerifyPubkeyValidity. |
Is this page helpful?