Program Derived Addresses (PDAs)

Οι Program Derived Addresses (PDAs) είναι διευθύνσεις λογαριασμών 32 bytes που προκύπτουν ντετερμινιστικά από ένα program ID και ένα σύνολο seeds. Είναι εγγυημένο ότι δεν βρίσκονται πάνω στην καμπύλη Ed25519, πράγμα που σημαίνει ότι δεν υπάρχει ιδιωτικό κλειδί γι' αυτές. Μόνο το πρόγραμμα του οποίου το ID χρησιμοποιήθηκε στην παραγωγή μπορεί να "υπογράψει" για ένα PDA, και το κάνει αυτό μέσω invoke_signed κατά τη διάρκεια κλήσεων μεταξύ προγραμμάτων (CPIs).

Program Derived AddressProgram Derived Address

Βασικά στοιχεία

  • Ντετερμινιστικό: Τα ίδια seeds και program ID παράγουν πάντα την ίδια διεύθυνση.
  • Εκτός καμπύλης: Η παραγόμενη διεύθυνση επαληθεύεται ότι δεν είναι έγκυρο δημόσιο κλειδί Ed25519. Αν το hash τυχαίνει να πέσει πάνω στην καμπύλη, η παραγωγή αποτυγχάνει και δοκιμάζεται ένα διαφορετικό bump seed.
  • Χωρίς ιδιωτικό κλειδί: Επειδή η διεύθυνση είναι εκτός καμπύλης, κανείς δεν μπορεί να παράγει κρυπτογραφική υπογραφή γι' αυτήν. Το πρόγραμμα "υπογράφει" μέσω του μηχανισμού invoke_signed του runtime.

Πότε να χρησιμοποιείτε PDAs

  • Ντετερμινιστική διευθυνσιοδότηση: Παράγετε τον ίδιο λογαριασμό από τα ίδια seeds κάθε φορά.
  • Υπογραφή προγράμματος: Μόνο το πρόγραμμα-ιδιοκτήτης μπορεί να υπογράψει μέσω invoke_signed, επιτρέποντας στα προγράμματα να λειτουργούν ως αυτόνομες αρχές.
  • Κατάσταση ανά χρήστη: Παράγετε λογαριασμούς ανά χρήστη από seeds pubkey χρήστη (π.χ., ["user", user_pubkey]).
  • Χωρίς διαχείριση keypair: Δεν υπάρχει ιδιωτικό κλειδί για αποθήκευση ή απώλεια. Η διεύθυνση προκύπτει αποκλειστικά από seeds.

Όρια

ΌριοΤιμήΠηγή
Μέγιστα seeds16MAX_SEEDS
Μέγιστο μήκος seed32 bytes μέγιστο ανά seedMAX_SEED_LEN
Εύρος bump0-255 (1 byte)Προστίθεται ως το τελικό στοιχείο seed
Κόστος create_program_address1.500 CUscreate_program_address_units
Κόστος find_program_address χειρότερης περίπτωσης1.500 εισόδου + 1.500 x επαναλήψεις1.500 κατά την είσοδο + 1.500 ανά αποτυχημένο bump
Μέγιστοι υπογράφοντες PDA ανά CPI16MAX_SIGNERS

Is this page helpful?

Πίνακας Περιεχομένων

Επεξεργασία Σελίδας

Διαχειρίζεται από

© 2026 Ίδρυμα Solana.
Με επιφύλαξη παντός δικαιώματος.
Συνδεθείτε