SNARK Security and Performance PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

SNARK Ασφάλεια και Απόδοση

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

Ένα SNARK επιτυγχάνει το ίδιο αποτέλεσμα, αλλά με καλύτερο κόστοςστους επικυρωτές. Για παράδειγμα, σε μια επαληθεύσιμη συγκέντρωση επιπέδου δύο (L2), μια υπηρεσία συνάθροισης επεξεργάζεται συναλλαγές blockchain. Η υπηρεσία δημοσιεύει περιοδικά τα υπόλοιπα των λογαριασμών των χρηστών της στην αλυσίδα μπλοκ ενός επιπέδου. Κάθε φορά που δημοσιεύει μια ενημέρωση στα υπόλοιπα, προσθέτει μια απόδειξη SNARK ότι γνωρίζει μια σειρά έγκυρων συναλλαγών που άλλαξαν τα παλιά υπόλοιπα λογαριασμού στα ενημερωμένα. Με αυτόν τον τρόπο, οι επικυρωτές blockchain δεν χρειάζεται να κάνουν τη σκληρή δουλειά για τον έλεγχο της εγκυρότητας της συναλλαγής (π.χ. έλεγχο μιας ψηφιακής υπογραφής για κάθε συναλλαγή) ούτε να επεξεργάζονται ρητά τις συναλλαγές για να υπολογίσουν τα ενημερωμένα υπόλοιπα.  

My το προηγούμενο άρθρο επικεντρώθηκε στην απόδοση των provers SNARK - ο πρωταρχικός καθοριστικός παράγοντας της εφαρμογής του SNARK. Ενώ η εκτέλεση ενός prover SNARK μπορεί να είναι υπολογιστικά εντατική, στο βαθμό που μπορεί να είναι αδύνατη η δημιουργία απόδειξης για υπολογισμούς μεγάλης κλίμακας, η επαλήθευση SNARK είναι συνήθως πολύ φθηνότερη από τον άμεσο έλεγχο και την επεξεργασία δεδομένων. Ωστόσο, το κόστος επαλήθευσης SNARK ποικίλλει σημαντικά. Αυτή η ανάρτηση αποσυσκευάζει αυτά τα κόστη και συγκρίνει τις ιδιότητες ασφαλείας διαφορετικών SNARK. 

Συγκεκριμένα, εξηγώ ότι σε πρακτικά SNARK με εύλογη μετα-κβαντική ασφάλεια (PQ-SNARKs), υπάρχει σημαντική ένταση μεταξύ του κόστους ασφάλειας και επαλήθευσης. Επιπλέον, σε ορισμένες περιπτώσεις, αυτή η ένταση επί του παρόντος επιλύεται υπέρ του κόστους επαλήθευσης έναντι της ασφάλειας.

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

Ποσοτικά μέτρα ασφαλείας 

Ένα SNARK είναι ασφαλές εάν είναι υπολογιστικά ανέφικτο να παραχθεί μια πειστική απόδειξη μιας ψευδούς δήλωσης. Για παράδειγμα, στο πλαίσιο των συγκεντρώσεων L2, ένας εισβολέας που επιθυμεί να κλέψει τα χρήματά μου θα ήθελε να αποδείξει μια ψευδή δήλωση της φόρμας: «Γνωρίζω μια ψηφιακά υπογεγραμμένη συναλλαγή που μεταφέρει όλα τα περιουσιακά στοιχεία του Justin στον δικό μου λογαριασμό». 

Το επίπεδο ασφάλειας ενός SNARK μετριέται από την ποσότητα εργασίας που πρέπει να γίνει για να βρεθεί μια πειστική απόδειξη μιας ψευδούς δήλωσης. Παρόμοια με άλλα κρυπτογραφικά πρωτόγονα, όπως οι ψηφιακές υπογραφές, ο λογάριθμος αυτού του όγκου εργασίας αναφέρεται ως "κομμάτια ασφαλείας". Για παράδειγμα, 30 bit ασφάλειας συνεπάγεται ότι 230 ≈ Απαιτούνται 1 δισεκατομμύριο «βήματα εργασίας» για την επίθεση στο SNARK. Αυτό είναι εγγενώς ένα κατά προσέγγιση μέτρο της ασφάλειας του πραγματικού κόσμου, επειδή η έννοια ενός βήματος εργασίας μπορεί να ποικίλλει και δεν λαμβάνονται υπόψη πρακτικές εκτιμήσεις όπως απαιτήσεις μνήμης ή ευκαιρίες για παραλληλισμό.

Και τα ποιοτικά

Τα κομμάτια της ασφάλειας είναι α ποσοτικός μέτρο ασφάλειας ενός SNARK. Τα SNARK διαφέρουν επίσης ως προς τους ποιοτικός ιδιότητες ασφαλείας. 

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

Για να είναι ασφαλές ένα μη διαφανές SNARK, συνήθως τουλάχιστον ένας συμμετέχων στην τελετή πρέπει να έχει συμπεριφερθεί με ειλικρίνεια, που σημαίνει ότι παρήγαγε και στη συνέχεια απέρριψε μια «πόρτα» που, αν συνδυαστεί με τις πόρτες όλων των άλλων συμμετεχόντων, θα το έκανε εύκολο για να βρείτε πειστικές «αποδείξεις» του SNARK για οποιαδήποτε ψευδή δήλωση. Οι αξιόπιστες ρυθμίσεις είναι είναι τρέξιμο με εκατοντάδες ή χιλιάδες συμμετέχοντες για να γίνει αυτή η υπόθεση όσο το δυνατόν πιο ήπια. 

Τα SNARK διαφέρουν επίσης ως προς την ευαισθησία τους σε κβαντικές επιθέσεις. Συγκεκριμένα, πολλά SNARK (π.χ. Groth16, Πέφτω, Είδος μεγάλου ψαριού, Αλεξίσφαιρες, Nova) βασίζονται στην υπόθεση ότι οι διακριτοί λογάριθμοι είναι δύσκολο να υπολογιστούν (και σε ορισμένες περιπτώσεις, επιπλέον υποθέσεις επίσης). Ο υπολογισμός διακριτών λογαρίθμων είναι κάτι που οι κβαντικοί υπολογιστές θα μπορούσαν να κάνουν αποτελεσματικά. Ως εκ τούτου, αυτά τα SNARK δεν είναι μετα-κβαντικά ασφαλή (μη PQ). 

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

Πολυωνυμικές δεσμεύσεις

Όλα τα SNARK χρησιμοποιούν ένα κρυπτογραφικό πρωτόγονο γνωστό ως α πολυωνυμικό σύστημα δεσμεύσεων, και αυτό το στοιχείο είναι συχνά μια συμφόρηση απόδοσης. (Για λεπτομέρειες, βλ το προηγούμενο άρθρο .) Επιπλέον, η διαφάνεια και η εύλογη μετα-κβαντική ασφάλεια ενός SNARK καθορίζονται αποκλειστικά από το πολυωνυμικό σχήμα δέσμευσης που χρησιμοποιεί. 

Ένα χαρακτηριστικό παράδειγμα είναι τα λεγόμενα KZG πολυωνυμικές δεσμεύσεις, τα οποία χρησιμοποιούνται από Πέφτω, Είδος μεγάλου ψαριού, και πολλοί άλλοι. Οι δεσμεύσεις της KZG δεν είναι ούτε διαφανείς ούτε μετα-κβαντικά ασφαλείς. Άλλα συστήματα δεσμεύσεων είναι διαφανή αλλά όχι μετα-κβαντικά, συμπεριλαμβανομένων Αλεξίσφαιρες, hyrax, να Είδος λέμβου

Άλλα σχήματα είναι και διαφανή και εύλογα μετα-κβαντικά. Αυτά περιλαμβάνουν ΔΩΡΕΑΝ, Λιγκέρο, Ligero++, Brakedown, να Ωρίων. Όλα αυτά τα σχήματα βασίζονται σε κωδικούς διόρθωσης σφαλμάτων. Ο κατακερματισμός είναι το μόνο κρυπτογραφικό πρωτόγονο που χρησιμοποιούν. Μοιράζονται επίσης την ακόλουθη ιδιότητα: το κόστος επαλήθευσης (μετρούμενο με τον αριθμό των αξιολογήσεων κατακερματισμού και των λειτουργιών πεδίου) αυξάνεται γραμμικά με τον αριθμό των bits ασφαλείας.

Σε γενικές γραμμές, μια μόνο «επανάληψη» αυτών των μετακβαντικών πολυωνυμικών δεσμεύσεων επιτυγχάνει μόνο έναν μικρό αριθμό (ας πούμε 2-4) bits ασφάλειας. Επομένως, το πρωτόκολλο πρέπει να επαναλαμβάνεται πολλές φορές για να «ενισχύεται» το επίπεδο ασφάλειας, με το κόστος επαλήθευσης να αυξάνεται με κάθε επανάληψη. Έτσι, για τον έλεγχο του κόστους επαλήθευσης σε PQ-SNARK (και συνεπώς το κόστος αερίου σε εφαρμογές blockchain) οι σχεδιαστές πρωτοκόλλων έχουν κίνητρα να διατηρήσουν το επίπεδο ασφάλειας σε χαμηλά επίπεδα. 

Με σπάνια εξαιρέσεις, αυτή η ένταση μεταξύ του συγκεκριμένου κόστους ασφάλειας και επαλήθευσης δεν προκύπτει σε μη PQ SNARK (διαφανή και αδιαφανή εξίσου). Τα μη PQ-SNARK χρησιμοποιούν ομάδες ελλειπτικών καμπυλών στις οποίες οι διακριτοί λογάριθμοι θεωρείται ότι είναι δύσκολο να υπολογιστούν και τα επίπεδα ασφάλειάς τους καθορίζονται από την ομάδα που χρησιμοποιείται. Το μέγεθος της κατάλληλης ομάδας ελλειπτικής καμπύλης, και συνεπώς το κόστος κάθε ομαδικής λειτουργίας, αυξάνονται με το επιθυμητό επίπεδο ασφάλειας. Ωστόσο, το αριθμός των στοιχείων της ομάδας σε μια απόδειξη είναι ανεξάρτητα από την επιλογή της ομάδας. 

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

Συγκεκριμένο κόστος επαληθευτή και ασφάλεια σε αναπτυγμένα SNARK

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

Κόστος επαληθευτή 

My το προηγούμενο άρθρο ανέφερε δύο παραδείγματα συγκεκριμένου κόστους επαλήθευσης: Πέφτω κόστος αποδείξεων υπό Αέριο 300,000 για επαλήθευση στο Ethereum, ενώ οι αποδείξεις του StarkWare κοστίζουν περίπου 5 εκατομμύρια αέριο. Οι αποδείξεις του StarkWare είναι διαφανείς και εύλογα μετα-κβαντικές ενώ του PlonK όχι. Ωστόσο, όπως περιγράφεται στη συνέχεια, οι αποδείξεις του StarkWare εκτελούνται σε πολύ χαμηλότερο επίπεδο ασφάλειας από τις αποδείξεις PlonK στο Ethereum.

Ασφάλεια από σκυρόδεμα

Η μόνη ελλειπτική καμπύλη με προμεταγλωττίσεις Ethereum ονομάζεται altbn128, επομένως αυτή είναι η καμπύλη όλων των SNARK που δεν είναι PQ που αναπτύσσονται στη χρήση του Ethereum, συμπεριλαμβανομένων Αζτέκωνκαι του zkSync'μικρό. Αυτή η καμπύλη - και επομένως και τα αναπτυγμένα SNARK που τη χρησιμοποιούν - αρχικά πιστευόταν ότι προσφέρει περίπου 128 bit ασφάλειας. Αλλά λόγω βελτιωμένες επιθέσεις (ο ακριβής χρόνος εκτέλεσης του οποίου είναι δύσκολο να προσδιοριστεί), η καμπύλη θεωρείται πλέον ευρέως ότι προσφέρει 100 έως 110 bit ασφάλειας. 

Υπάρχουν EIP υπό εξέταση να εισαγάγουν προμεταγλωττίσεις για διαφορετικές καμπύλες που εξακολουθούν να πιστεύεται ότι προσφέρουν σχεδόν 128 bit ασφάλειας. Τέτοιες καμπύλες είναι ήδη χρησιμοποιημένο στα SNARK έργων που δεν ανήκουν στο Ethereum, συμπεριλαμβανομένων των ZCash, Algorand, Dfinity, Filecoin και Aleo. 

Αντίθετα, σύμφωνα με δεδομένα on-chain, τα PQ-SNARK της StarkWare (στο λεγόμενο σύστημα SHARP, συντομογραφία του SHARed Prover) έχουν διαμορφωθεί ώστε να στοχεύουν 80 bit ασφάλειας. Αυτό το επίπεδο ασφάλειας ισχύει κάτω από ορισμένες εικασίες σχετικά με τη στατιστική ευρωστία του FRI (το οποίο θα αναφερθώ αργότερα σε αυτήν την ανάρτηση). 

Ο όρος "80 bits ασφάλειας" είναι ασαφής σε αυτό το πλαίσιο, οπότε επιτρέψτε μου να τον αποσυσκευάσω. Σε γενικές γραμμές, σημαίνει ότι ένας εισβολέας μπορεί να παράγει μια πειστική απόδειξη μιας ψευδούς δήλωσης αξιολογώντας μια συνάρτηση κατακερματισμού 280 φορές (δηλαδή KECCAK-256, η συνάρτηση κατακερματισμού που χρησιμοποιείται από το Ethereum). Για να είμαστε πιο ακριβείς, ένας επιθετικός που είναι πρόθυμος να εκτελέσει 2k Οι αξιολογήσεις κατακερματισμού μπορούν να παράγουν μια πειστική απόδειξη με πιθανότητα περίπου 2k-80. Για παράδειγμα, με 270 αξιολογήσεις κατακερματισμού, μπορεί κανείς να βρει μια «απόδειξη» SNARK μιας ψευδούς δήλωσης με πιθανότητα περίπου 2-10 = 1/1024. 

Αυτή η έννοια είναι πιο αδύναμη από ό,τι σημαίνει ο όρος "80 bits ασφάλειας" σε άλλα πλαίσια. Για παράδειγμα, μια συνάρτηση κατακερματισμού ανθεκτική σε σύγκρουση (CRHF) που έχει ρυθμιστεί σε 80 bit ασφαλείας θα παράγει εξόδους 160 bit. Εάν η συνάρτηση κατακερματισμού είναι καλά σχεδιασμένη, η ταχύτερη διαδικασία εύρεσης σύγκρουσης θα είναι η Επίθεση γενεθλίων, μια διαδικασία ωμής δύναμης που μπορεί να βρει μια σύγκρουση με περίπου 2160/2 = 280 αξιολογήσεις κατακερματισμού. Ωστόσο, με 2k αξιολογήσεις κατακερματισμού, η επίθεση Birthday θα βρει μια σύγκρουση με πιθανότητα μόνο 22k-160

Για παράδειγμα, 270 Οι αξιολογήσεις κατακερματισμού θα προκαλέσουν σύγκρουση με πιθανότητα 2-20  ≈ 1/1,000,000. Αυτό είναι πολύ μικρότερο από το 1/1,000 πιθανότητα ένας εισβολέας να σφυρηλατήσει ένα PQ-SNARK proof που έχει ρυθμιστεί σε 80 bit ασφάλειας. 

Αυτή η διαφορά μπορεί να αλλάξει δραστικά την ελκυστικότητα της εκτέλεσης μιας επίθεσης. Για παράδειγμα, φανταστείτε ότι ένας εισβολέας έχει προϋπολογισμό 100 $, ο οποίος μπορεί να αγοράσει 270 αξιολογήσεις κατακερματισμού. Και ας υποθέσουμε ότι σε περίπτωση που ο επιτιθέμενος πετύχει, η πληρωμή είναι 200 ​​εκατομμύρια δολάρια. Η αναμενόμενη αξία της επίθεσης εναντίον ενός PQ-SNARK που έχει ρυθμιστεί σε 80 bit ασφαλείας είναι (1/1,000) * 200 εκατομμύρια $ ή 200 $ – διπλάσιο κόστος. Εάν η πιθανότητα επιτυχίας ήταν μόνο 1/1,000,000, όπως συμβαίνει με ένα CRHF, η αναμενόμενη αξία της επίθεσης θα ήταν μόλις $200. 

Οι δύο έννοιες των «80 bits ασφάλειας» διαφέρουν επίσης δραματικά ως προς την ευρωστία τους σε ανεξάρτητες επιθέσεις. Για παράδειγμα, ας υποθέσουμε ότι 1,000 ανεξάρτητα μέρη επιτίθενται στο PQ-SNARK εκτελώντας 270 αξιολογήσεις κατακερματισμού. Εφόσον το καθένα πετυχαίνει με πιθανότητα περίπου 1/1,000, τουλάχιστον ένα από αυτά είναι πολύ πιθανό να πετύχει. Αυτό δεν θα ίσχυε εάν το καθένα πέτυχε με πιθανότητα μόνο 1/1,000,000.

Οι καλά σχεδιασμένες ομάδες ελλειπτικών καμπυλών αναμένεται να συμπεριφέρονται παρόμοια με τα CRHF, με επιθέσεις που μοιάζουν με γενέθλια, όπως Ο αλγόριθμος rho του Pollard όντας ο πιο γνωστός. Αυτό σημαίνει ότι σε μια ομάδα που προσφέρει 128 bit ασφάλειας, 2k οι ομαδικές πράξεις θα πρέπει να δώσουν μια λύση σε μια περίπτωση του προβλήματος διακριτού λογαρίθμου με πιθανότητα μόνο 22k-256. Για παράδειγμα, 270 Οι ομαδικές πράξεις θα έβρισκαν έναν διακριτό λογάριθμο με μόνο μια αστρονομικά μικρή πιθανότητα 2-116. Επιπλέον, κάθε ομαδική λειτουργία είναι πιο αργή από μια αξιολόγηση CRHF. 

Πόσες αξιολογήσεις κατακερματισμού είναι εφικτές σήμερα;

Τον Ιανουάριο του 2020, το κόστος υπολογισμού είναι μόλις 264 Οι αξιολογήσεις SHA-1 με χρήση GPU ήταν $45,000. Αυτό βάζει το κόστος των 270 Οι αξιολογήσεις SHA-1 σε GPU σε μερικά εκατομμύρια δολάρια (ίσως χαμηλότερες μετά τη συγχώνευση του Ethereum, καθώς η μετάβαση από την απόδειξη εργασιακής εξόρυξης που κυριαρχείται από GPU πιθανότατα θα μειώσει τη ζήτηση για υπολογιστές GPU, μειώνοντας το κόστος της). 

Με τις συναθροίσεις εγκυρότητας να αποθηκεύουν ήδη εκατοντάδες εκατομμύρια δολάρια σε κεφάλαια χρηστών, η εύρεση μιας πειστικής απόδειξης μιας ψευδούς δήλωσης μπορεί να αποφέρει πολλά εκατομμύρια δολάρια σε κέρδος. Η διαμόρφωση ενός PQ-SNARK στα 80 bit ασφάλειας κάτω από επιθετικές εικασίες αφήνει λιγότερο από 10 bit χώρο περιστροφής μεταξύ κερδοφόρων επιθέσεων και της εικαζόμενης ασφάλειας του PQ-SNARK.

Ως άλλο σημείο δεδομένων, ο ρυθμός κατακερματισμού δικτύου του Bitcoin είναι επί του παρόντος περίπου 264  αξιολογήσεις κατακερματισμού ανά δευτερόλεπτο, που σημαίνει ότι οι εξορύκτες bitcoin στο σύνολό τους εκτελούν 280 Αξιολογήσεις SHA-256 κάθε 18 ώρες. Φυσικά, αυτός ο εντυπωσιακός αριθμός οφείλεται στην τεράστια επένδυση σε ASIC για την εξόρυξη bitcoin. 

Υποθέτοντας έξι μπλοκ bitcoin δημιουργούνται ανά ώρα και με δεδομένη την τρέχουσα ανταμοιβή μπλοκ 6.25 Bitcoin ανά μπλοκ, αυτά τα 280 Οι αξιολογήσεις SHA-256 προφανώς κοστίζουν λιγότερο από 22,000 $ * 18 * 6 * 6.25 ≈ 15 εκατομμύρια $. Διαφορετικά, η εξόρυξη bitcoin δεν θα ήταν επικερδής σε τρέχουσες τιμές. 

Προτεινόμενες δράσεις για ένα υγιές οικοσύστημα

Το όλο νόημα της χρήσης SNARK σε συνάθροιση είναι η επίτευξη επεκτασιμότητας blockchain χωρίς οι χρήστες να χρειάζεται να εμπιστεύονται τυφλά την υπηρεσία συγκέντρωσης. Εφόσον η υπηρεσία συνάθροισης έγραψε το έξυπνο συμβόλαιο που λειτουργεί ως επαληθευτής SNARK, το κοινό πρέπει να μπορεί να επιθεωρήσει τη σύμβαση και να επιβεβαιώσει ότι επαληθεύει όντως τις αποδείξεις SNARK των κατάλληλων δηλώσεων. Ο δημόσιος έλεγχος του έξυπνου συμβολαίου μπορεί επίσης να είναι απαραίτητος για να διασφαλιστεί ότι η υπηρεσία συλλογής δεν είναι σε θέση να λογοκρίνει τους δικούς της χρήστες. Οι προτεινόμενες μέθοδοι για αντίσταση στη λογοκρισία απαιτούν το έξυπνο συμβόλαιο της συνάθροισης που επιτρέπει στους χρήστες να αναγκάσουν την απόσυρση των κεφαλαίων τους εάν η υπηρεσία συλλογής αποτύχει να επεξεργαστεί τις συναλλαγές τους. 

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

Αλλά με τα PQ-SNARK, μπορεί να είναι δύσκολο ακόμη και για τους ειδικούς να εξακριβώσουν το επίπεδο ασφάλειας του αναπτυγμένου πρωτοκόλλου για τον ίδιο λόγο που η ασφάλεια και η απόδοση του επαληθευτή είναι σε ένταση για αυτά τα SNARK: το επίπεδο ασφάλειας (και το κόστος του επαληθευτή) εξαρτώνται από τις εσωτερικές παραμέτρους του SNARK. Και τουλάχιστον για το StarkWare έξυπνες συμβάσεις, αυτές οι παράμετροι, καλούνd logBlowupFactor, proofOfWorkBits και n_Queries, δεν καθορίζονται απευθείας στον κώδικα του έξυπνου συμβολαίου, αλλά μεταβιβάζονται στο έξυπνο συμβόλαιο ως δημόσια δεδομένα. Από όσο γνωρίζω, ο ευκολότερος τρόπος για να προσδιορίσετε αυτές τις παραμέτρους από τις πληροφορίες on-chain είναι μέσω μιας διαδικασίας τεσσάρων βημάτων: 

  1. δείτε το κατάλληλο έξυπνο συμβόλαιο σε έναν εξερευνητή μπλοκ όπως το Etherscan, 
  2. κάντε κλικ σε ένα κατάλληλη συναλλαγή «επαλήθευσης απόδειξης».
  3. αποκωδικοποιήσει τα δεδομένα εισόδου της συναλλαγής και
  4. καταλάβω πώς να ερμηνεύω τα αποκωδικοποιημένα δεδομένα εισόδου για να μάθετε τις βασικές παραμέτρους SNARK που μαζί καθορίζουν το επίπεδο ασφάλειας. 

Αυτό το τελευταίο βήμα απαιτεί την εύρεση του κατάλληλου κωδικού Solidity για την υλοποίηση της συναλλαγής, η οποία από μόνη της μπορεί να προκαλέσει σύγχυση. (Όταν ετοιμαζόμουν επισκόπηση συνομιλίες σε συνάθροιση αυτό το καλοκαίρι, το Etherscan μπόρεσε να αποκωδικοποιήσει τα σχετικά δεδομένα εισόδου στις συναλλαγές του επαληθευτή SHARP σύμφωνα με το Βήμα 2 παραπάνω. Αλλά αυτό δεν φαίνεται πλέον να λειτουργεί.)

Πρόταση 1: Έλεγχος 

Έχοντας αυτό κατά νου, η πρώτη μου πρόταση στην κοινότητα του web3 είναι να διευκολυνθεί ο έλεγχος του επιπέδου ασφάλειας των αναπτυγμένων μετα-κβαντικών SNARK. Αυτό πιθανότατα περιλαμβάνει καλύτερα εργαλεία για την κατανόηση των δεδομένων on-chain και αυξημένη διαφάνεια από τα ίδια τα έργα για τη γνωστοποίηση αυτών των παραμέτρων. 

Πρόταση 2: Ισχυρότεροι κανόνες

Η ασφάλεια των 80 bit είναι πολύ χαμηλή, ειδικά η αδύναμη έκδοση στην οποία 270 Οι αξιολογήσεις κατακερματισμού είναι αρκετές για επιτυχή επίθεση με πιθανότητα περίπου 1/1000 — ακόμη περισσότερο δεδομένης της μακράς ιστορίας των εκπληκτικών επιθέσεων σε κρυπτογραφικά πρωτόγονα. Μία, που αναφέρθηκε παραπάνω, είναι οι καλύτερες επιθέσεις σε ελλειπτικές καμπύλες φιλικές προς το ζευγάρωμα όπως το altbn128. Ένα πιο διάσημο παράδειγμα είναι το SHA-1, το οποίο τυποποιήθηκε στα 80 bit ασφάλειας αλλά τελικά αποδείχθηκε ότι επιτυγχάνει μόνο περίπου 60 bit. Έχοντας κατά νου αυτό το ιστορικό, οι σχεδιαστές του PQ-SNARK θα πρέπει να αφήσουν στον εαυτό τους περισσότερα από 10 bit ελεύθερου χώρου κατά τη διαμόρφωση του επιπέδου ασφαλείας, ειδικά εάν η ανάλυση ασφαλείας περιλαμβάνει ισχυρές εικασίες σχετικά με τη στατιστική ασφάλεια σχετικά νέων πρωτοκόλλων όπως το FRI.

Ακόμη και για τα PQ-SNARK, μπορούν πάντα να επιτευχθούν τα κατάλληλα επίπεδα ασφάλειας, απλώς αυξάνοντας το κόστος επαλήθευσης. Για παράδειγμα, η αύξηση της ασφάλειας του επαληθευτή SHARP από 80 σε 128 bit (υπό εικασίες σχετικά με τη στατιστική ορθότητα του FRI) θα αύξανε το κόστος του αερίου κατά περίπου δύο φορές, από λίγο πάνω από 5 εκατομμύρια σε λίγο πάνω από 10 εκατομμύρια. Χωρίς εικασίες σχετικά με το FRI, το κόστος του φυσικού αερίου θα αυξανόταν κατά έναν άλλο παράγοντα δύο, σε πάνω από 20 εκατομμύρια. 

Η επόμενη πρότασή μου, λοιπόν, είναι ότι η κοινότητα του web3 θα πρέπει να αναπτύξει ισχυρότερους κανόνες γύρω από τα κατάλληλα επίπεδα ασφάλειας για τα αναπτυγμένα SNARK. Η προσωπική μου σύσταση θα ήταν τουλάχιστον 100 bit και τουλάχιστον 128 εάν η ασφάλεια του SNARK βασίζεται σε μη τυπικές υποθέσεις. Δεν είμαι ο πρώτος που κάνει μια τέτοια πρόταση.

Εδώ, είμαι πρόθυμος να κατηγοριοποιήσω ως «τυπική υπόθεση» την άνευ όρων ασφάλεια στο τυχαίο μοντέλο μαντείου, εάν ο τυχαίος μαντείος στο αναπτυσσόμενο SNARK δημιουργηθεί με μια τυπική συνάρτηση κατακερματισμού όπως το KECCAK-256. Το τυχαίο μοντέλο μαντείου είναι μια εξιδανικευμένη ρύθμιση που προορίζεται να καταγράψει τη συμπεριφορά των καλά σχεδιασμένων συναρτήσεων κατακερματισμού κρυπτογράφησης. Συχνά χρησιμοποιείται για την ανάλυση της ασφάλειας των PQ-SNARK. 

Ένα παράδειγμα μη τυπικών υποθέσεων είναι οι εικασίες (που περιγράφονται παρακάτω) σχετικά με την ποσοτική ορθότητα ενός πρωτοκόλλου όπως το FRI, είτε σε διαδραστικό περιβάλλον είτε ως μη διαδραστικό πρωτόκολλο στο τυχαίο μοντέλο μαντείου.

Οι σχεδιαστές του SNARK καινοτομούν με πολλούς συναρπαστικούς τρόπους, μερικοί από τους οποίους μπορεί να ωθήσουν τον φάκελο όσον αφορά την ασφάλεια - για παράδειγμα, χρησιμοποιώντας φιλικές προς το SNARK συναρτήσεις κατακερματισμού που δεν έχουν υποβληθεί σε τόση κρυπτανάλυση όσο πιο τυπικές συναρτήσεις κατακερματισμού. Δεν ζητώ να σταματήσουν τέτοιες προσπάθειες – κάθε άλλο παρά. Αλλά αυτά τα πρωτόγονα θα πρέπει να δημιουργηθούν σε επίπεδα ασφαλείας που υπερβαίνουν τις γνωστές, εφικτές επιθέσεις κατά πολύ περισσότερα από 10 bit. 

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

Μια άκρη: Βουτήξτε ακόμα πιο βαθιά στην ασφάλεια PQ-SNARK

Τα 80 bit ασφάλειας στα PQ-SNARK του StarkWare υπολογίζονται ως εξής. Αυτά τα PQ-SNARK χρησιμοποιούν ένα σχήμα πολυωνυμικής δέσμευσης που ονομάζεται ΔΩΡΕΑΝ, και ο επαληθευτής SHARP του StarkWare εκτελεί το FRI στα 48 bit ασφαλείας υπό μια εικασία. Σε γενικές γραμμές, η εικασία είναι ότι μια απλή επίθεση στην ευρωστία του FRI είναι η βέλτιστη. Σε αυτήν την επίθεση, ένας cheating prover, με μια μικρή προσπάθεια, δημιουργεί ένα "FRI proof" που περνά τους τυχαία επιλεγμένους ελέγχους του επαληθευτή με πιθανότητα 2-48

Το StarkWare συνδυάζει το FRI με μια τεχνική που ονομάζεται "grinding". Αυτό απαιτεί από τον ειλικρινή δοκιμαστή να παράγει μια απόδειξη εργασίας 32 bit πριν παράγει μια απόδειξη FRI. Το πλεονέκτημα της λείανσης είναι ότι αυξάνει δραστικά την εργασία που απαιτείται για έναν cheating prover να πραγματοποιήσει την απλή επίθεση στο FRI που αναφέρθηκε παραπάνω, σε περίπου 232 αξιολογήσεις κατακερματισμού. 

Αφού (σε αναμονή) 248 Οι προσπάθειες της απλής επίθεσης είναι απαραίτητες πριν μια από αυτές είναι επιτυχής, η συνολική εργασία που πρέπει να κάνει ο cheating prover για να δημιουργήσει μια απόδειξη FRI είναι περίπου 248 * 232 = 280 αξιολογήσεις κατακερματισμού.

Τέλος, ας ξεσυσκευάσουμε πώς προκύπτουν τα 48 bit ασφάλειας για το FRI. Ο επαληθευτής FRI κάνει «ερωτήματα» στο δεσμευμένο πολυώνυμο. Το κόστος επαλήθευσης FRI αυξάνεται γραμμικά με τον αριθμό των ερωτημάτων. Για παράδειγμα, 36 ερωτήματα επαληθευτή FRI είναι περίπου 4 φορές ακριβότερα από 9 ερωτήματα. Αλλά περισσότερα ερωτήματα σημαίνουν περισσότερη ασφάλεια. Ο αριθμός των "bits ασφαλείας ανά ερώτημα" εξαρτάται από μια άλλη παράμετρο του FRI, που ονομάζεται ρυθμός κώδικα. 

Συγκεκριμένα, το FRI χρησιμοποιεί κάτι που ονομάζεται κωδικός συντελεστή Reed-Solomon r, Όπου r είναι πάντα ένας αριθμός αυστηρά μεταξύ 0 και 1. Το κόστος του prover του FRI είναι αντιστρόφως ανάλογο του r, έτσι ένας ρυθμός 1/16 οδηγεί σε έναν prover που είναι περίπου τέσσερις φορές πιο αργός και πιο εντατικός σε χώρο από έναν ρυθμό ¼. 

Ο επαληθευτής SHARP εκτελούσε το FRI με ρυθμό κωδικού 1/16 και με 12 ερωτήματα επαληθευτή.

Το StarkWare εικάζει ότι κάθε ερώτημα επαληθευτή FRI προσθέτει αρχείο καταγραφής2(1 /r) κομμάτια ασφάλειας. Σύμφωνα με αυτήν την εικασία, 12 ερωτήματα επαληθευτή αποδίδουν αρχείο καταγραφής 12 *2(16) = 48 bit ασφάλειας.

Ωστόσο, οι τρέχουσες αναλύσεις αποδεικνύουν μόνο ότι κάθε ερώτημα επαληθευτή προσθέτει ελαφρώς λιγότερο από το αρχείο καταγραφής2(1/r1/2) κομμάτια ασφάλειας. Έτσι, 12 ερωτήματα επαληθευτή FRI αποδίδουν μόνο λιγότερο από 12 * αρχείο καταγραφής2(4) = 24 bit "αποδείξεως" ασφάλειας. 

Μια πρόταση για τον μετριασμό της έντασης μεταξύ ασφάλειας και απόδοσης

Τα πρακτικά PQ-SNARK έχουν κόστος επαληθευτή που αυξάνεται γραμμικά με τον επιθυμητό αριθμό bits ασφάλειας. Μια πολλά υποσχόμενη τεχνική για τον μετριασμό αυτής της έντασης είναι η σύνθεση SNARK — την οποία περιέγραψα στην προηγούμενη ανάρτησή μου ως μέσο για την επίλυση της έντασης μεταξύ του κόστους ελέγχου και επαληθευτή, αλλά μπορεί επίσης να αντιμετωπίσει την ασφάλεια. 

Δύο παραδείγματα 

Πολύγωνο Hermez είναι σύνθεση PQ-SNARK με PlonK. Η ιδέα είναι ότι ο prover δημιουργεί πρώτα ένα PQ-SNARK proof π. Εάν το PQ-SNARK έχει ρυθμιστεί ώστε να έχει γρήγορο prover και επαρκές επίπεδο ασφάλειας, τότε το π θα είναι μεγάλο. Άρα ο prover δεν στέλνει π στον επαληθευτή. Αντίθετα, χρησιμοποιεί το PlonK για να αποδείξει ότι γνωρίζει το π. 

Αυτό σημαίνει ότι εφαρμόζεται το PlonK σε ένα κύκλωμα που παίρνει το π ως είσοδο και ελέγχει ότι ο επαληθευτής PQ-SNARK θα δεχόταν το π. Δεδομένου ότι το PQ-SNARK έχει κόστος πολυλογαριθμικής επαλήθευσης, το PlonK εφαρμόζεται σε ένα μικρό κύκλωμα και ως εκ τούτου ο prover PlonK είναι γρήγορος. Δεδομένου ότι οι αποδείξεις PlonK είναι μικρές και φθηνές για επαλήθευση, το κόστος επαλήθευσης είναι χαμηλό. 

Δυστυχώς, η χρήση του PlonK καταστρέφει τη διαφάνεια και την μετα-κβαντική ασφάλεια. Αντίθετα, μπορεί κανείς να εξετάσει το ενδεχόμενο χρήσης του ίδιου του PQ-SNARK στη θέση του PlonK για να αποδείξει τη γνώση του π (στην πραγματικότητα το PQ-SNARK που χρησιμοποιείται από το Πολύγωνο συντίθεται με αυτόν τον τρόπο). 

Σε αυτή τη δεύτερη εφαρμογή του PQ-SNARK, για να αποδειχθεί η γνώση του π, το σύστημα μπορεί να ρυθμιστεί ώστε να επιτυγχάνει επαρκή ασφάλεια με αποδείξεις λογικού μεγέθους, για παράδειγμα, επιλέγοντας έναν πολύ μικρό ρυθμό κωδικού για χρήση στο FRI. Το βασικό σημείο είναι ότι, ενώ αυτός ο μικρός ρυθμός κωδικού είναι κακός για το prover time, η δεύτερη εφαρμογή του PQ-SNARK εφαρμόζεται μόνο σε ένα μικρό κύκλωμα, επομένως ο συνολικός χρόνος prover θα πρέπει να είναι ακόμα μικρός.

Η θεωρητική μας κατανόηση της ασφάλειας των σύνθετων SNARK αφήνει πολλά να είναι επιθυμητά. Ωστόσο, δεν υπάρχουν γνωστές επιθέσεις εναντίον τους που να είναι πιο γρήγορες από την επίθεση σε ένα από τα συστατικά SNARK μεμονωμένα. Για παράδειγμα, εάν συνθέτουμε ένα PQ-SNARK με το PlonK, δεν γνωρίζουμε καλύτερη επίθεση από το να επιτεθούμε είτε στο PQ-SNARK (δηλαδή, να βρούμε μια απόδειξη PQ-SNARK π μιας ψευδούς δήλωσης), είτε να επιτεθούμε στο PlonK (δηλ. βρείτε μια απόδειξη PlonK της ψευδούς δήλωσης "Γνωρίζω μια απόδειξη PQ-SNARK π που θα είχε αποδεχτεί ο επαληθευτής.")

Η σύνθεση SNARK με αυτόν τον τρόπο είναι ένας όλο και πιο δημοφιλής τρόπος βελτίωσης της απόδοσης. Ελπίζω ότι οι σχεδιαστές πρωτοκόλλων το χρησιμοποιούν επίσης για τη βελτίωση της ασφάλειας.

***

Τζάστιν Τάλερ είναι Αναπληρωτής Καθηγητής στο Πανεπιστήμιο Georgetown. Πριν ενταχθεί στο Georgetown, πέρασε δύο χρόνια ως ερευνητής στο Yahoo Labs στη Νέα Υόρκη, πριν από την οποία ήταν ερευνητής στο Simons Institute for the Theory of Computing στο UC Berkeley. 

Μοντάζ: Tim Sullivan @tim_org

***

Οι απόψεις που εκφράζονται εδώ είναι αυτές του μεμονωμένου προσωπικού της 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