Επί της αλυσίδας αξιόπιστη τελετή εγκατάστασης PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

Τελετή εγκατάστασης αξιόπιστης αλυσίδας

Η τελετή της αξιόπιστης εγκατάστασης είναι ένας από τους πόνους - και τους ενθουσιασμούς - των κοινοτήτων κρυπτογράφησης. Ο στόχος μιας τελετής είναι να δημιουργήσει αξιόπιστα κρυπτογραφικά κλειδιά για την ασφάλεια κρυπτογραφικών πορτοφολιών, πρωτοκόλλων blockchain ή συστημάτων απόδειξης μηδενικής γνώσης. Αυτές οι (μερικές φορές επιδεικτικές) διαδικασίες αποτελούν συχνά τη ρίζα της εμπιστοσύνης για την ασφάλεια ενός δεδομένου έργου και, επομένως, είναι εξαιρετικά σημαντικό να γίνουν σωστά.

Τα έργα Blockchain πραγματοποιούν τελετές με πολλούς δημιουργικούς τρόπους – που περιλαμβάνουν φυσητήρες, ραδιενεργή σκόνη και αεροπλάνα – αλλά όλα μοιράζονται κάτι κοινό: όλα περιλαμβάνουν έναν κεντρικό συντονιστή. Με αυτήν την εργασία δείχνουμε πώς να αποκεντρώνουμε τη διαδικασία αντικαθιστώντας τον κεντρικό συντονιστή με ένα έξυπνο συμβόλαιο. Επιπλέον, διαθέτουμε μια βιβλιοθήκη ανοιχτού κώδικα που επιτρέπει σε οποιονδήποτε να πραγματοποιήσει μια τέτοια τελετή – γνωστή στους επαγγελματίες κρυπτογράφησης ως Kate-Zaverucha-Goldberg (KZG) ή τελετή «powers-of-tau» – στην αλυσίδα Ethereum. Οποιοσδήποτε μπορεί να συμμετάσχει απλά πληρώνοντας τα τέλη συναλλαγής!

Η αποκεντρωμένη προσέγγισή μας έχει περιορισμούς, αλλά εξακολουθεί να είναι χρήσιμη. Λόγω των υφιστάμενων περιορισμών δεδομένων στην αλυσίδα, το μέγεθος των κρυπτογραφικών παραμέτρων πρέπει να είναι μικρό, δηλαδή όχι περισσότερο από 64 KB. Αλλά ο αριθμός των συμμετεχόντων δεν έχει ανώτατο όριο και οι άνθρωποι μπορούν να συνεχίσουν να υποβάλλουν συνεισφορές στο διηνεκές. Οι εφαρμογές για αυτές τις σύντομες παραμέτρους περιλαμβάνουν μικρά SNARK μηδενικής γνώσης, δειγματοληψία διαθεσιμότητας δεδομένων, να Βερκλοειδή δέντρα.

Ιστορία και μηχανική της τελετής εγκατάστασης αξιόπιστων

Σε μια τυπική αξιόπιστη τελετή εγκατάστασης, μια ομάδα συμμετεχόντων θα δημιουργήσει από κοινού ένα σύνολο κρυπτογραφικών παραμέτρων. Κάθε συμμετέχον μέρος χρησιμοποιεί μυστικές πληροφορίες, που παράγονται τοπικά, για να δημιουργήσει δεδομένα που βοηθούν στη δημιουργία αυτών των παραμέτρων. Οι κατάλληλες ρυθμίσεις διασφαλίζουν ότι τα μυστικά δεν διαρρέουν, ότι τα μυστικά χρησιμοποιούνται μόνο όπως ορίζονται από το πρωτόκολλο και ότι αυτά τα μυστικά καταστρέφονται εντελώς στο τέλος της τελετής. Εφόσον τουλάχιστον ένα μέρος στην τελετή συμπεριφέρεται με ειλικρίνεια, δεν παραβιάζεται και καταστρέφει το τοπικό μυστικό του, ολόκληρη η εγκατάσταση μπορεί να θεωρηθεί ασφαλής. (Φυσικά, αυτό σημαίνει ότι τα μαθηματικά είναι σωστά και ο κώδικας δεν έχει σφάλματα.)

Μερικές από τις πιο εξέχουσες τελετές ήταν διευθύνεται από την Zcash, ένα έργο blockchain με γνώμονα το απόρρητο. Οι συμμετέχοντες σε αυτές τις τελετές δημιούργησαν δημόσιες παραμέτρους σχεδιασμένες να επιτρέπουν στους χρήστες του Zcash να κατασκευάζουν και να επαληθεύουν ιδιωτικές συναλλαγές κρυπτογράφησης. Έξι συμμετέχοντες πραγματοποίησαν την πρώτη τελετή Zcash, Sprout, το 2016. Δύο χρόνια αργότερα, ο ερευνητής κρυπτογράφησης Ariel Gabizon, τώρα επικεφαλής επιστήμονας στο Αζτέκων, βρέθηκαν ένα καταστροφικό ζωύφιο στο σχεδιασμό της τελετής που κληρονομήθηκε από τον α θεμελιώδη ερευνητική εργασία. Η ευπάθεια θα μπορούσε να έχει επιτρέψει στους εισβολείς να δημιουργήσουν απεριόριστα νομίσματα Zcash χωρίς να εντοπιστούν. Η ομάδα του Zcash κράτησε μυστική την ευπάθεια για επτά μήνες έως ότου μια αναβάθμιση συστήματος, η Sapling, της οποίας η τελετή συμμετείχαν 90 συμμετέχοντες, αντιμετώπισε το ζήτημα. Ενώ μια επίθεση με βάση το κενό ασφαλείας δεν θα είχε επηρεάσει το απόρρητο των συναλλαγών των χρηστών, η προοπτική της άπειρης πλαστογραφίας υπονόμευσε την υπόθεση ασφαλείας του Zcash. (Είναι θεωρητικά αδύνατο να γνωρίζουμε αν έλαβε χώρα μια επίθεση.)

Ένα άλλο αξιοσημείωτο παράδειγμα αξιόπιστης εγκατάστασης είναι το αέναη τελετή «εξουσίες του ταυ». σχεδιασμένο κυρίως για Σηματοφόρος, μια τεχνολογία διατήρησης απορρήτου για ανώνυμη σηματοδότηση στο Ethereum. Η εγκατάσταση χρησιμοποίησε μια ελλειπτική καμπύλη BN254 και είχε 71 συμμετέχοντες μέχρι στιγμής. Άλλα εξέχοντα έργα χρησιμοποίησαν αργότερα αυτή τη ρύθμιση για να πραγματοποιήσουν τις δικές τους τελετές στην κορυφή, μεταξύ των οποίων Ανεμοστρόβιλος. Μετρητά (επικυρώθηκε πρόσφατα από την κυβέρνηση των ΗΠΑ), Ερμέζ δίκτυο και Loopring. Αζτέκων πραγματοποίησε μια παρόμοια τελετή σε μια ελλειπτική καμπύλη BLS12_381 με 176 συμμετέχοντες για το zkSync, μια λύση κλιμάκωσης Ethereum "επίπεδο δύο" που χρησιμοποιεί μηδενικές συνάθροιση γνώσεων. Filecoin, ένα αποκεντρωμένο πρωτόκολλο αποθήκευσης δεδομένων, διεξήγαγε μια τελετή με 19 και 33 συμμετέχοντες, σε πρώτη και δεύτερη φάση αντίστοιχα, διαχωρίζοντας το αρχικό repo. Ζεαλ, ένα blockchain στρώματος 1, πραγματοποίησε επίσης μια τελετή για τον ελαφρύ πελάτη τους Plumo.

Οι αιώνιες τελετές δεν έχουν όριο στον αριθμό των συμμετεχόντων. Με άλλα λόγια, αντί να εμπιστεύονται άλλα άτομα για τη διεξαγωγή μιας αξιόπιστης τελετής εγκατάστασης, ΟΠΟΙΟΣΔΗΠΟΤΕ μπορεί να συμμετάσχει σε όποιο βαθμό ασφάλειας ικανοποιεί. Ένας μόνο αξιόπιστος συμμετέχων διασφαλίζει την ασφάλεια όλων των παραμέτρων που προκύπτουν. η αλυσίδα είναι τόσο δυνατή όσο ο ισχυρότερος κρίκος της. Οι αιώνιες τελετές μπορεί να εκτελούνται, όπως υπονοεί το όνομα, στο διηνεκές, όπως ήταν η υπόθεση με την αρχική τελετή powers-of-tau. Τούτου λεχθέντος, τα έργα συχνά αποφασίζουν για μια συγκεκριμένη ώρα έναρξης και λήξης για τις τελετές τους, με αυτόν τον τρόπο μπορούν να ενσωματώσουν τις παραμέτρους που προκύπτουν στα πρωτόκολλά τους και δεν χρειάζεται να ανησυχούν για τη συνεχή ενημέρωση τους.

Το Ethereum σχεδιάζει να πραγματοποιήσει μια μικρότερη τελετή εγκατάστασης αξιόπιστων για το επόμενο διάστημα ProtoDankSharding και DankSharding αναβαθμίσεις. Αυτές οι δύο αναβαθμίσεις θα αυξήσουν τον όγκο των δεδομένων που παρέχει η αλυσίδα Ethereum στους πελάτες για αποθήκευση. Αυτά τα δεδομένα θα έχουν λήξη των προτεινόμενων 30 έως 60 ημέρες. Η τελετή είναι υπό ενεργό ανάπτυξη, Και είναι προγραμματίζονται να τρέξει για έξι εβδομάδες στις αρχές του επόμενου έτους. (Βλέπω kzg-ceremony-specs για περισσότερες λεπτομέρειες.) Διαμορφώνεται ως η μεγαλύτερη αξιόπιστη τελετή εγκατάστασης για blockchains που έχουν εκτελεστεί μέχρι στιγμής.

Η παράνοια είναι μια αρετή όταν πρόκειται για αξιόπιστες τελετές εγκατάστασης. Εάν το υλικό ή το λογισμικό ενός μηχανήματος παραβιαστεί, αυτό μπορεί να υπονομεύσει την ασφάλεια των μυστικών που δημιουργεί. Επιθέσεις ύπουλων πλευρικών καναλιών, οι οποίες διαρρέουν μυστικά μπορεί επίσης να είναι δύσκολο να αποκλειστούν. Ένα τηλέφωνο μπορεί να κατασκοπεύσει τις λειτουργίες ενός υπολογιστή από εγγραφή ηχητικών κυμάτων των δονήσεων της CPU, για παράδειγμα. Στην πράξη, δεδομένου ότι είναι εξαιρετικά δύσκολο να εξαλειφθούν όλες οι πιθανές επιθέσεις πλευρικών καναλιών – συμπεριλαμβανομένων εκείνων που δεν έχουν ακόμη ανακαλυφθεί ή αποκαλυφθεί – υπάρχουν ακόμη και προτάσεις για να πετάξουν μηχανές στο διάστημα για να πραγματοποιήσουν τελετές εκεί.

Προς το παρόν, το βιβλίο παιχνιδιού για τους σοβαρούς συμμετέχοντες στην τελετή έχει συνήθως ως εξής. Αγοράστε ένα νέο μηχάνημα (ακάθαρτο υλικό). Διαχωρίστε το με αέρα αφαιρώντας όλες τις κάρτες δικτύου (για να αποτρέψετε την έξοδο τοπικών μυστικών από το μηχάνημα). Λειτουργήστε το μηχάνημα σε ένα κλουβί Faraday σε μια απομακρυσμένη άγνωστη τοποθεσία (για να απομακρύνετε τους επίδοξους snoopers). Δημιουργήστε τη γεννήτρια ψευδοτυχαίων μυστικών με πολλή εντροπία και δεδομένα σκληρής αναπαραγωγής, όπως τυχαία χτυπήματα πλήκτρων ή αρχεία βίντεο (για να κάνετε τα μυστικά δύσκολο να σπάσουν). Και τέλος, καταστρέψτε το μηχάνημα – μαζί με τυχόν ίχνη από τα μυστικά – καίγοντας τα πάντα σε στάχτη. 😀

Συντονισμός αξιόπιστων τελετών εγκατάστασης

Ακολουθεί μια διασκεδαστική επιλογή από αποσπάσματα από μερικούς προηγούμενους έμπιστους συμμετέχοντες στην τελετή εγκατάστασης:

  • "…ο φυσητήρας χρησιμοποιήθηκε για να θερμάνει μεθοδικά τα ηλεκτρονικά εντελώς κομμάτι-κομμάτι μέχρι να μαυρίσουν όλα…"- Peter Todd για την φυσική καταστροφή των τοπικών μυστικών.
  • «Έχω εδώ ένα κομμάτι υφάσματος που έχει σκόνη γραφίτη [από] τον πυρήνα του αντιδραστήρα [του Τσερνόμπιλ]… Μετράς κάθε τέσσερις παλμούς [από έναν μετρητή Geiger συνδεδεμένο με έναν μικροελεγκτή] και συγκρίνεις το χρονικό διάστημα μεταξύ του παλμού XNUMX και δύο και το χρονικό διάστημα μεταξύ του παλμού τρία και τέσσερα και αν είναι μεγαλύτερο παίρνετε μηδέν, αν είναι μικρότερο παίρνετε ένα». «…πρόκειται να μπούμε σε αυτό το αεροπλάνο και να δημιουργήσουμε τους τυχαίους αριθμούς μας…» - Ράιαν Πιρς και Άντριου Μίλερ στη μυστική γενιά.

Zcash powers-of-tau τελετή γύρω από 41 περιλάμβανε ένα αεροπλάνο. Στιγμιότυπο οθόνης: βίντεο YouTube

  • "Ο πωλητής είπε ότι είχαν 13 [υπολογιστές]. Ρώτησα αν μπορούσαμε να διαλέξουμε ένα από τα 13. Με ρώτησε αν υπάρχει κάτι που έψαχνα συγκεκριμένα (μπερδεμένος γιατί είναι όλοι ίδιοι) και είπα ότι ήθελα απλώς να διαλέξω ένα τυχαίο. Είπε ότι δεν μπορούσε να μας αφήσει να μπούμε στην πίσω αποθήκη. Ρώτησα αν θα έβγαζε δύο από αυτά για να διαλέξουμε ένα από τα δύο. Έβγαλε δύο έξω σε ένα καρότσι. Ο Τζέρι διάλεξε έναν από τους δύο υπολογιστές και τον μεταφέραμε στο μητρώο για έλεγχο."- Peter Van Valkenburgh για την απόκτηση νέου μηχανήματος.
  • "Οι πρώτες ώρες της τελετής πραγματοποιήθηκαν σε ένα αυτοσχέδιο κλουβί Faraday από αλουμινόχαρτο και μεμβράνη. Μετακίνησα τον φορητό υπολογιστή έξω από το κλουβί του Faraday καθώς είχε κακό αερισμό και ζεσταινόταν στην αφή"- Koh Wei Jie στην προστασία του πλευρικού καναλιού.
  • ".. έκανε ένα μέρος της τελετής στα βουνά χωρίς γείτονες."- Micheal Lapinski στην προστασία του πλευρικού καναλιού.
  • "Επέλεξα να χρησιμοποιήσω βίντεο από το περιβάλλον για να δημιουργήσω επαρκή εντροπία"- Μουχντ Αμρουλάχ σχετικά με τη δημιουργία τυχαίων τιμών.
Επί της αλυσίδας αξιόπιστη τελετή εγκατάστασης PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

Ο Za Wilcox, αδελφός του συνιδρυτή της Zcash, Zooko Wilcox, καταστρέφει έναν υπολογιστή που χρησιμοποιείται για τη δημιουργία τυχαίων αριθμών για μια αξιόπιστη τελετή το 2016. Φωτογραφία: Morgen Peck

Όλες αυτές οι τελετές βασίστηκαν σε έναν κεντρικό συντονιστή. Ο συντονιστής είναι ένας μεμονωμένος ή ιδιωτικός διακομιστής ή κάποια άλλη οντότητα στον οποίο έχει ανατεθεί η εγγραφή και η παραγγελία συμμετεχόντων, να λειτουργεί ως αναμεταδότης προωθώντας πληροφορίες από τον προηγούμενο συμμετέχοντα στον επόμενο και να διατηρεί ένα κεντρικό αρχείο καταγραφής όλων των επικοινωνιών για λόγους ελέγχου. Ο συντονιστής είναι συνήθως επίσης υπεύθυνος για τη διάθεση του ημερολογίου στο κοινό στο διηνεκές. Φυσικά εγώΥπάρχει πάντα μια πιθανότητα με ένα κεντρικό σύστημα για απώλεια ή κακή διαχείριση δεδομένων. (Το Perpetual-powers-of-tau, για παράδειγμα, αποθηκεύεται στο Microsoft Azure και στο Github.)

Μας φάνηκε ειρωνικό το γεγονός ότι τα έργα κρυπτογράφησης πρέπει να βασίζονται σε κεντρικές αξιόπιστες τελετές εγκατάστασης, όταν η αποκέντρωση είναι ένα τέτοιο βασικό δόγμα του ήθους της κρυπτογράφησης. Αποφασίσαμε, λοιπόν, να δείξουμε τη σκοπιμότητα της εκτέλεσης μιας μικρής τελετής για τις αιώνιες δυνάμεις του tau απευθείας στο blockchain Ethereum! Η εγκατάσταση είναι πλήρως αποκεντρωμένη, χωρίς άδεια, ανθεκτική στη λογοκρισία και είναι ασφαλής, εφόσον κάποιος από τους συμμετέχοντες είναι ειλικρινής [βλ. αποποίηση ευθυνών]. Η συμμετοχή στην τελετή κοστίζει μόνο 292,600 έως 17,760,000 αέριο (περίπου 7 έως 400 $ σε τρέχουσες τιμές), ανάλογα με το μέγεθος των επιθυμητών παραμέτρων που προκύπτουν (σε αυτή την περίπτωση μεταξύ 8 και 1024 powers-of-tau). (Δείτε τον παρακάτω Πίνακα για συγκεκριμένα κόστη – θα αναφερθούμε σε περισσότερες λεπτομέρειες σχετικά με αυτούς τους υπολογισμούς αργότερα στη δημοσίευση.)

Επί της αλυσίδας αξιόπιστη τελετή εγκατάστασης PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

Προς το παρόν, σας συμβουλεύουμε να μην χρησιμοποιείτε τον κώδικα για οτιδήποτε άλλο εκτός από πειραματικούς σκοπούς! Θα το εκτιμούσαμε πολύ αν κάποιος που εντοπίσει προβλήματα με τον κωδικό μας τα αναφέρει. Θα θέλαμε να συλλέξουμε σχόλια και ελέγχους της προσέγγισής μας.

Κατανόηση της τελετής KZG ή «powers-of-tau».

Ας εξερευνήσουμε μια από τις πιο δημοφιλείς αξιόπιστες ρυθμίσεις, η οποία είναι γνωστή ως η τελετή KZG ή «powers-of-tau». Εύσημα στον συνιδρυτή του Ethereum Vitalik Buterin, του οποίου ανάρτηση ιστολογίου για αξιόπιστες ρυθμίσεις ενημέρωσε τις ιδέες μας σε αυτήν την ενότητα. Η εγκατάσταση δημιουργεί τις κωδικοποιήσεις των powers-of-tau, που ονομάζονται έτσι επειδή το "tau" τυχαίνει να είναι η μεταβλητή που χρησιμοποιείται για να εκφράσει τα μυστικά που δημιουργούνται από τους συμμετέχοντες:

pp = [[𝜏]1, [𝜏2]1, [𝜏3]1,…, [𝜏n]1; [𝜏]2, [𝜏2]2,…, [𝜏k]2]

Για ορισμένες εφαρμογές (π.χ. Groth16, ένα δημοφιλές σχέδιο απόδειξης zkSNARK που σχεδιάστηκε από τον Jens Groth το 2016), αυτή η πρώτη φάση της εγκατάστασης ακολουθείται από μια δεύτερη φάση, μια τελετή υπολογισμού πολλαπλών μερών (MPC), που παράγει παραμέτρους για ένα συγκεκριμένο κύκλωμα SNARK . Ωστόσο, η δουλειά μας επικεντρώνεται αποκλειστικά στην πρώτη φάση. Αυτή η πρώτη φάση –η δημιουργία των powers-of-tau– είναι ήδη χρήσιμη ως θεμελιώδες δομικό στοιχείο για τα καθολικά SNARK (π.χ. PLONK και SONIC), καθώς και άλλες εφαρμογές κρυπτογραφίας, όπως π.χ. Δεσμεύσεις KZG, Βερκλοειδή δέντρα και δειγματοληψία διαθεσιμότητας δεδομένων (DAS). Γενικά, οι γενικές παράμετροι SNARK θα πρέπει να είναι πολύ μεγάλες ώστε να μπορούν να υποστηρίζουν μεγάλα και χρήσιμα κυκλώματα. Τα κυκλώματα που περιέχουν περισσότερες πύλες είναι γενικά πιο χρήσιμα καθώς μπορούν να συλλάβουν μεγάλους υπολογισμούς. ο αριθμός των δυνάμεων του tau αντιστοιχεί περίπου στον αριθμό των πυλών στο κύκλωμα. Έτσι, μια τυπική ρύθμιση θα είναι μεγέθους |pp| = ~40 GB και δυνατότητα υποστήριξης κυκλωμάτων με ~228 πύλες. Δεδομένων των τωρινών περιορισμών του Ethereum, θα ήταν αδύνατο να τεθούν τέτοιες μεγάλες παράμετροι στην αλυσίδα, αλλά μια μικρότερη αξιόπιστη τελετή εγκατάστασης χρήσιμη για μικρά κυκλώματα SNARK, δέντρα Verkle ή DAS μπορεί να εκτελεστεί στην αλυσίδα.

Το Ίδρυμα Ethereum σχεδιάζει να λειτουργήσει αρκετά μικρότερα τελετές για powers-of-tau μεγέθους 200 KB έως 1.5 MB. Αν και οι μεγαλύτερες τελετές μπορεί να φαίνονται καλύτερες, δεδομένου ότι οι μεγαλύτερες παράμετροι μπορούν να δημιουργήσουν πιο χρήσιμα κυκλώματα SNARK, οι μεγαλύτερες δεν είναι, στην πραγματικότητα, πάντα καλύτερες. Ορισμένες εφαρμογές, όπως το DAS, χρειάζονται συγκεκριμένα μια μικρότερη! [Ο λόγος είναι πολύ τεχνικός, αλλά αν είστε περίεργοι, είναι επειδή μια εγκατάσταση με n δυνάμεις (στο G1) ενεργοποιεί μόνο τις δεσμεύσεις KZG σε πολυώνυμα βαθμού ≤ n, κάτι που είναι κρίσιμο για να διασφαλίσουμε ότι το πολυώνυμο κάτω από την δέσμευση KZG μπορεί να ανακατασκευαστεί από οποιεσδήποτε n αξιολογήσεις. Αυτή η ιδιότητα επιτρέπει τη δειγματοληψία δεδομένων-διαθεσιμότητας: κάθε φορά που λαμβάνονται επιτυχώς t τυχαίες αξιολογήσεις του πολυωνύμου (δειγματοληψία) παρέχει μια βεβαιότητα ότι το πολυώνυμο μπορεί να ανακατασκευαστεί πλήρως με πιθανότητα t/n. Αν θέλετε να μάθετε περισσότερα για το DAS, ρίξτε μια ματιά σε αυτήν την ανάρτηση του Buterin στο φόρουμ Έρευνας Ethereum.]

Σχεδιάσαμε ένα έξυπνο συμβόλαιο που μπορεί να αναπτυχθεί στο blockchain Ethereum για την εκτέλεση μιας αξιόπιστης τελετής εγκατάστασης. Η σύμβαση αποθηκεύει τις δημόσιες παραμέτρους - τα powers-of-tau - πλήρως on-chain και συλλέγει τη συμμετοχή μέσω των συναλλαγών των χρηστών.

Ένας νέος συμμετέχων διαβάζει πρώτα αυτές τις παραμέτρους:

pp0 = ([𝜏]1, [𝜏2]1, [𝜏3]1,…, [𝜏n]1; [𝜏]2, [𝜏2]2,…, [𝜏k]2),

στη συνέχεια λαμβάνει δείγματα ενός τυχαίου μυστικού 𝜏' και υπολογίζει τις ενημερωμένες παραμέτρους:

pp1 = ([𝜏𝜏']1, [(𝜏𝜏')2]1, [(𝜏𝜏')3]1,…, [(𝜏𝜏')n]1; [𝜏𝜏']2, [(𝜏𝜏')2]2,…, [(𝜏𝜏')k]2),

και τα δημοσιεύει on-chain με μια απόδειξη που καταδεικνύει τρία πράγματα:

  1. Γνώση discrete-log: ο συμμετέχων γνωρίζει 𝜏'. (Μια απόδειξη ότι η πιο πρόσφατη συνεισφορά στην τελετή αξιόπιστης εγκατάστασης βασίζεται στη δουλειά όλων των προηγούμενων συμμετεχόντων.)
  2. Καλοσχηματισμός του pp1: τα στοιχεία κωδικοποιούν πράγματι αυξητικές δυνάμεις. (Μια επικύρωση της καλοσχηματισμένης συνεισφοράς ενός νέου συμμετέχοντα στην τελετή.)
  3. Η ενημέρωση δεν διαγράφεται: 𝜏' ≠ 0. (Μια άμυνα ενάντια σε επιτιθέμενους που προσπαθούν να υπονομεύσουν το σύστημα διαγράφοντας την προηγούμενη εργασία όλων των συμμετεχόντων.)

Το έξυπνο συμβόλαιο επαληθεύει την απόδειξη και αν είναι σωστή, ενημερώνει τις δημόσιες παραμέτρους που αποθηκεύει. Μπορείτε να βρείτε περισσότερες λεπτομέρειες για τα μαθηματικά και το σκεπτικό πίσω από αυτά στο repo.

Υπολογισμός κόστους φυσικού αερίου

Η κύρια πρόκληση για την εκτέλεση της εγκατάστασης on-chain είναι να γίνει η αξιόπιστη τελετή εγκατάστασης όσο το δυνατόν πιο αποδοτική από άποψη αερίου. Στην ιδανική περίπτωση, η υποβολή μιας συνεισφοράς δεν θα κόστιζε περισσότερο από ~ 50 $. (Μεγάλα έργα ενδέχεται να είναι σε θέση να επιδοτούν φυσικό αέριο για τους συνεισφέροντες, οπότε είναι ευκολότερο να φανταστεί κανείς εκατοντάδες συμμετέχοντες που ξοδεύουν 100 $ ο καθένας). Παρακάτω, δίνουμε περισσότερες λεπτομέρειες για τα πιο ακριβά μέρη της εγκατάστασης. Το χαμηλότερο κόστος φυσικού αερίου θα μείωνε το κόστος των συνεισφορών και θα επέτρεπε την κατασκευή μεγαλύτερων παραμέτρων (περισσότερες ισχύς tau και μεγαλύτερα κυκλώματα SNARK)!

Η εγκατάσταση μας λειτουργεί για την ελλειπτική καμπύλη BN254 (επίσης γνωστή ως BN256, BN128 και alt_bn128), η οποία υποστηρίζει τα ακόλουθα προκατασκευασμένα συμβόλαια στο Ethereum:

  • Το ECADD επιτρέπει την προσθήκη δύο ελλειπτικών σημείων καμπύλης, δηλαδή τον υπολογισμό [𝛼+𝛽]1 από [𝛼]1 και [𝛽]1: κόστος φυσικού αερίου 150
  • Το ECMULT επιτρέπει στα σημεία ελλειπτικής καμπύλης να πολλαπλασιάζονται με ένα βαθμωτό, δηλαδή να υπολογίζουν [a*𝛼]1 από ένα και [𝛼]1: κόστος φυσικού αερίου 6,000
  • Το ECPAIR επιτρέπει τον έλεγχο ενός προϊόντος ζευγών ελλειπτικών καμπυλών, π.χ. υπολογισμό e([𝛼1]1, [𝛽1]2)* … *e([𝛼1]1, [𝛽1]2) = 1 που ισοδυναμεί με τον έλεγχο του 𝛼1*𝛽1+… + 𝛼k*𝛽k = 0 : κόστος αερίου 34,000 * k + 45,000

Μπορεί το Ethereum να ενεργοποιήσει το BLS12_381 (όπως προτείνεται στο EIP-2537), το συμβόλαιό μας εγκατάστασης θα μπορούσε εύκολα να λειτουργήσει και για αυτήν την άλλη καμπύλη.

Ας υπολογίσουμε το κόστος αερίου για την ενημέρωση της ρύθμισης σε ([𝜏]1, [𝜏2]1, [𝜏3]1,…, [𝜏n]1; [𝜏]2):

  1. Κόστος αερίου για την επαλήθευση της απόδειξης. Κάθε συμμετέχων ενημερώνει τη ρύθμιση και υποβάλλει μια απόδειξη με τρία στοιχεία όπως περιγράφεται παραπάνω. Τα στοιχεία 1 και 3 της απόδειξης - "γνώση διακριτού αρχείου καταγραφής" και "η ενημέρωση δεν διαγράφεται" - είναι πολύ φθηνά για επαλήθευση. Η πρόκληση έγκειται στην επαλήθευση της συνιστώσας 2, «καλή διαμόρφωση της σελ1», στην αλυσίδα. Απαιτεί έναν μεγάλο πολλαπλασιασμό πολλαπλών βαθμίδων (MSM) και δύο ζεύγη:
    e(𝝆0[1]1 + 𝝆1[𝜏]1 + 𝝆2[𝜏2]1 +… + 𝝆n-1[𝜏n-2]1, [𝜏]2) = e([𝜏]1 + 𝝆1[𝜏2]1 +… + 𝝆n-1[𝜏n-1]1, [δύο]2),
    όπου 𝝆0,…,𝝆n-1 είναι βαθμωτές βαθμίδες ψευδοτυχαίας δειγματοληψίας. Όσον αφορά τα προκατασκευασμένα έξυπνα συμβόλαια, θα χρειαζόταν:
    (2n-4) x ECADD + (2n-4) x ECMULT + ECPAIRk = 2 = (2n-4) x 6,150 + 113,000 αέριο.
  2. Κόστος φυσικού αερίου για την αποθήκευση δεδομένων. Κάθε συμμετέχων αποθηκεύει επίσης την ενημέρωση στην αλυσίδα ως δεδομένα κλήσης (68 αέριο ανά byte) που αντιστοιχούν σε n*64*68 αέριο. (Μια σημείωση για όσους είναι εξοικειωμένοι με την κρυπτογραφία ελλειπτικής καμπύλης: η αποθήκευση συμπιεσμένων σημείων θα έκανε την αποσυμπίεση να κυριαρχήσει στο συνολικό κόστος σύμφωνα με τις μετρήσεις μας για n=256.)

Αυτό μας φέρνει στον ακόλουθο πίνακα που υπολογίζει το κόστος του φυσικού αερίου που θα πρέπει να παρέχει πληροφορίες για μελλοντικές βελτιστοποιήσεις:

Επί της αλυσίδας αξιόπιστη τελετή εγκατάστασης PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

Διερευνούμε λύσεις για να μειώσουμε το κόστος του φυσικού αερίου, οπότε μείνετε συντονισμένοι!

Βιβλιοθήκη ανοιχτού κώδικα: evm-powers-of-tau

Έχουμε δημιουργήσει το αποθετήριο τελετών powers-of-tau με βάση το EVM github.com/a16z/evm-powers-of-tau. Η διεξαγωγή μιας τελετής με τη στρατηγική μας είναι εύκολη και διαφανής:

  1. Ανάπτυξη της σύμβασης αποθήκευσης και επαλήθευσης (contracts/KZG.sol)
  2. Ένας συνεισφέρων διαβάζει παραμέτρους τελετής από δεδομένα κλήσης προηγούμενων συναλλαγών
  3. Ο συνεισφέρων δημιουργεί ένα μυστικό τοπικά, υπολογίζει τις ενημερωμένες παραμέτρους
  4. Ο συνεισφέρων δημιουργεί την απόδειξή του: pi1, pi2
  5. Ο συνεισφέρων υποβάλλει τις ενημερωμένες παραμέτρους μέσω του KZG.potUpdate() στο έξυπνο συμβόλαιο που έχει αναπτυχθεί στη δημόσια αλυσίδα μπλοκ
  6. Το έξυπνο συμβόλαιο θα επαληθεύσει την εγκυρότητα της ενημέρωσης, επιστρέφοντας σε περίπτωση λανθασμένης υποβολής
  7. Πολλοί συνεισφέροντες μπορούν να εκτελέσουν τα βήματα 2-5 στο διηνεκές, αυξάνοντας ο καθένας την ασφάλεια της τελετής
  8. Κάθε φορά που ένας προγραμματιστής είναι σίγουρος για τον αριθμό και την ποιότητα των υποβολών, μπορεί να ζητήσει από το blockchain τις τρέχουσες παραμέτρους και να χρησιμοποιήσει αυτές τις τιμές ως κρυπτογραφικά κλειδιά του

Το repo μας χρησιμοποιεί arkworks-rs για να υπολογίσετε τα βήματα δύο και τρία (ο υπολογισμός της σκουριάς βρίσκεται στο src/pot_update.rs), αλλά οι χρήστες μπορεί να θέλουν να γράψουν το δικό τους. Ολόκληρη η από άκρο σε άκρο ροή υποβολής ενημερώσεων μπορεί να βρεθεί στη δοκιμή ενοποίησης στο tests/integration_test.rs.

Λάβετε υπόψη ότι επιλέξαμε να χρησιμοποιήσουμε δεδομένα κλήσης για την αποθήκευση ενημερωμένων παραμέτρων power-of-tau στην αλυσίδα, καθώς είναι αρκετές τάξεις μεγέθους φθηνότερα από την αποθήκευση. Ένα ερώτημα που βασίζεται σε αιθέρες για αυτά τα δεδομένα μπορεί να βρεθεί στο src/query.rs.

Τέλος, αποδείξεις και λεπτομερείς εξισώσεις μπορούν να βρεθούν στην τεχνική έκθεση στο techreport/main.pdf.

Μελλοντική δουλέια

Προτού αυτή η αξιόπιστη τελετή εγκατάστασης μπορεί να χρησιμοποιηθεί στην παραγωγή, θα συνιστούσαμε πρώτα να κάνετε έναν ολοκληρωμένο έλεγχο τόσο των μαθηματικών αποδείξεων όσο και της εφαρμογής του δείγματος.

Όπως υλοποιείται, το κόστος συναλλαγής για την ενημέρωση της τελετής αυξάνεται γραμμικά με το μέγεθος της ρύθμισης. Για τις περισσότερες εφαρμογές (SNARK, DAS) θα θέλαμε μια ρύθμιση n >= 256, που επί του παρόντος κοστίζει 73 $ ανά ενημέρωση. 

Μπορεί να είμαστε σε θέση να επιτύχουμε αύξηση του κόστους υπογραμμικής επαλήθευσης με μια STARK απόδειξη του έγκυρου υπολογισμού της ενημέρωσης και μια διανυσματική δέσμευση για τις ενημερωμένες τιμές. Αυτή η κατασκευή θα αφαιρούσε επίσης την εξάρτηση από τα προμεταγλωττισμένα Ethereum L1 BN254, επιτρέποντας τη χρήση της πιο δημοφιλής καμπύλης BLS12-381.

Όλες οι στρατηγικές τελετών έχουν συμβιβασμούς. Πιστεύουμε ότι αυτή η κατασκευή είναι συμπαγής και έχει εξαιρετικές επαληθεύσιμες ιδιότητες αντοχής στη λογοκρισία. Αλλά και πάλι, θα προσέχουμε να μην χρησιμοποιήσετε αυτήν τη μέθοδο μέχρι να γίνει περισσότερη δουλειά για να επαληθευτεί η ορθότητα της προσέγγισής μας.

Ευχαριστίες

  • Dan Boneh – για χρήσιμα σχόλια στα αρχικά στάδια αυτής της εργασίας
  • Joe Bonneau – για τη διευκρίνιση της έκθεσης στην αρχική έκδοση της τεχνικής έκθεσης
  • William Borgeaud – για συζήτηση σχετικά με το BLS στο TurboPlonk / Plonky2
  • Mary Maller – για σκέψεις σχετικά με τη γενική μηχανική της προσέγγισης

Επιμέλεια: Robert Hackett @rhhackett

***

Οι απόψεις που εκφράζονται εδώ είναι αυτές του μεμονωμένου προσωπικού της AH Capital Management, LLC ("a16z") που αναφέρεται και δεν είναι απόψεις της a16z ή των θυγατρικών της. Ορισμένες πληροφορίες που περιέχονται εδώ έχουν ληφθεί από τρίτες πηγές, συμπεριλαμβανομένων των εταιρειών χαρτοφυλακίου κεφαλαίων που διαχειρίζεται η a16z. Αν και λαμβάνεται από πηγές που πιστεύεται ότι είναι αξιόπιστες, το a16z δεν έχει επαληθεύσει ανεξάρτητα τέτοιες πληροφορίες και δεν κάνει δηλώσεις σχετικά με την τρέχουσα ή διαρκή ακρίβεια των πληροφοριών ή την καταλληλότητά τους για μια δεδομένη κατάσταση. Επιπλέον, αυτό το περιεχόμενο μπορεί να περιλαμβάνει διαφημίσεις τρίτων. Η a16z δεν έχει ελέγξει τέτοιες διαφημίσεις και δεν υποστηρίζει κανένα διαφημιστικό περιεχόμενο που περιέχεται σε αυτές.

Αυτό το περιεχόμενο παρέχεται μόνο για ενημερωτικούς σκοπούς και δεν θα πρέπει να βασίζεται ως νομική, επιχειρηματική, επενδυτική ή φορολογική συμβουλή. Θα πρέπει να συμβουλευτείτε τους δικούς σας συμβούλους για αυτά τα θέματα. Οι αναφορές σε οποιουσδήποτε τίτλους ή ψηφιακά περιουσιακά στοιχεία είναι μόνο για ενδεικτικούς σκοπούς και δεν αποτελούν επενδυτική σύσταση ή προσφορά για παροχή επενδυτικών συμβουλευτικών υπηρεσιών. Επιπλέον, αυτό το περιεχόμενο δεν απευθύνεται ούτε προορίζεται για χρήση από επενδυτές ή υποψήφιους επενδυτές και δεν μπορεί σε καμία περίπτωση να γίνει επίκληση του κατά τη λήψη απόφασης για επένδυση σε οποιοδήποτε αμοιβαίο κεφάλαιο που διαχειρίζεται η a16z. (Μια προσφορά για επένδυση σε ένα αμοιβαίο κεφάλαιο a16z θα γίνει μόνο από το μνημόνιο ιδιωτικής τοποθέτησης, τη συμφωνία εγγραφής και άλλη σχετική τεκμηρίωση οποιουδήποτε τέτοιου κεφαλαίου και θα πρέπει να διαβαστεί στο σύνολό τους.) Τυχόν επενδύσεις ή εταιρείες χαρτοφυλακίου που αναφέρονται, αναφέρονται ή που περιγράφονται δεν είναι αντιπροσωπευτικές όλων των επενδύσεων σε οχήματα που διαχειρίζεται η a16z και δεν μπορεί να υπάρξει διαβεβαίωση ότι οι επενδύσεις θα είναι κερδοφόρες ή ότι άλλες επενδύσεις που θα πραγματοποιηθούν στο μέλλον θα έχουν παρόμοια χαρακτηριστικά ή αποτελέσματα. Μια λίστα με επενδύσεις που πραγματοποιήθηκαν από αμοιβαία κεφάλαια που διαχειρίζεται ο Andreessen Horowitz (εξαιρουμένων των επενδύσεων για τις οποίες ο εκδότης δεν έχει παράσχει άδεια για δημοσιοποίηση της a16z καθώς και των απροειδοποίητων επενδύσεων σε δημόσια διαπραγματεύσιμα ψηφιακά περιουσιακά στοιχεία) είναι διαθέσιμη στη διεύθυνση https://a16z.com/investments /.

Τα γραφήματα και τα γραφήματα που παρέχονται εντός προορίζονται αποκλειστικά για ενημερωτικούς σκοπούς και δεν θα πρέπει να βασίζονται σε αυτά όταν λαμβάνεται οποιαδήποτε επενδυτική απόφαση. Οι προηγούμενες αποδόσεις δεν είναι ενδεικτικές των μελλοντικών αποτελεσμάτων. Το περιεχόμενο μιλά μόνο από την ημερομηνία που υποδεικνύεται. Οποιεσδήποτε προβλέψεις, εκτιμήσεις, προβλέψεις, στόχοι, προοπτικές και/ή απόψεις που εκφράζονται σε αυτό το υλικό υπόκεινται σε αλλαγές χωρίς προειδοποίηση και μπορεί να διαφέρουν ή να είναι αντίθετες με τις απόψεις που εκφράζονται από άλλους. Ανατρέξτε στη διεύθυνση https://a16z.com/disclosures για πρόσθετες σημαντικές πληροφορίες.

Σφραγίδα ώρας:

Περισσότερα από Andreessen Horowitz