Πρωτόκολλο βεβαίωσης ZAP1
Το ZAP1 είναι ένα πρωτόκολλο βεβαίωσης ανοιχτού κώδικα για το Zcash. Καταγράφει δομημένα συμβάντα κύκλου ζωής σε ένα δέντρο Merkle BLAKE2b και αγκυρώνει τη ρίζα του δέντρου on-chain μέσω θωρακισμένων σημειωμάτων Orchard. Οι αποδείξεις επαληθεύονται δημόσια. Τα δεδομένα των συμβάντων παραμένουν ιδιωτικά.
Πώς λειτουργεί
Οι χειριστές καταχωρίζουν τύπους συμβάντων (αναπτύξεις, πληρωμές, μεταφορές κ.λπ.) και τους υποβάλλουν σε ένα στιγμιότυπο ZAP1. Κάθε συμβάν παράγει ένα hash φύλλου χρησιμοποιώντας BLAKE2b-256 με διαχωρισμό πεδίων ορισμού. Τα φύλλα συσσωρεύονται σε ένα δέντρο Merkle. Όταν επιτευχθεί ένα όριο, η ρίζα του δέντρου κωδικοποιείται ως σημείωμα ZAP1:09 και αγκυρώνεται στο Zcash σε μια θωρακισμένη συναλλαγή.
Οποιοσδήποτε διαθέτει ένα hash φύλλου μπορεί να επαληθεύσει ολόκληρη τη διαδρομή από το φύλλο έως τη ρίζα και την on-chain αγκύρωση, χωρίς να εμπιστεύεται τον χειριστή.
Βασικές ιδιότητες
- Ανεξάρτητο από εφαρμογές: οποιοσδήποτε χειριστής Zcash μπορεί να ορίσει τους δικούς του τύπους συμβάντων και συμβολοσειρές εξατομίκευσης
- Διατήρηση ιδιωτικότητας: τα ωφέλιμα φορτία συμβάντων μετατρέπονται σε hash πριν από την αγκύρωση. Μόνο τα hash καταχωρίζονται on-chain.
- Ανεξάρτητα επαληθεύσιμο: η επαλήθευση χρειάζεται μόνο το πακέτο αποδείξεων και πρόσβαση στην αλυσίδα. Δεν απαιτείται εμπιστοσύνη στον χειριστή.
- Συμβατό με ZIP 302: το ZAP1 συγκλίνει προς ένα partType ZIP 302 για το ωφέλιμο φορτίο βεβαίωσης
Τι υπάρχει
- Υλοποίηση αναφοράς (Rust, με άδεια MIT)
- SDK επαλήθευσης στο crates.io (Rust + 83KB WASM)
- SDK JavaScript στο npm
- Καθολικός αποκωδικοποιητής σημειωμάτων (εντοπίζει σημειώματα ZAP1, ZIP 302 TVLV, κειμένου, δυαδικά και κενά)
- Κιτ συμμόρφωσης με 29 ελέγχους API και 14 ελέγχους πρωτοκόλλου
- Σχεδιασμός υπογραφής κατωφλίου 2-από-3 FROST για μετάδοση αγκύρωσης από πολλαπλά μέρη
- Προσχέδιο PR #1243 του ZIP υπό εξέταση
- 4 αγκυρώσεις mainnet με 14 φύλλα έως τον Μάρτιο του 2026
Αρχιτεκτονική
Code-highlight
Your app --> ZAP1 API --> Merkle tree --> Zcash anchor
| |
event types shielded memo
(DEPLOYMENT, etc) (ZAP1:09:{root})
Κάθε χειριστής εκτελεί το δικό του στιγμιότυπο ZAP1 με τα δικά του κλειδιά, δέντρο Merkle και αγκυρώσεις. Δεν υπάρχει κοινή κατάσταση μεταξύ χειριστών.
Πού θα μάθεις περισσότερα