Τόσο στην πραγματική ζωή όσο και στον ψηφιακό κόσμο, συχνά θέλουμε να αποδείξουμε πράγματα στους άλλους. Πριν εισέλθουν σε ένα κτίριο γραφείων, οι υπάλληλοι συνήθως παρέχουν κάποιο είδος ταυτότητας πριν μπουν μέσα.
Όταν οι χρήστες προσπαθούν να συνδεθούν σε μια εφαρμογή όπως το Facebook ή το Twitter, αυτές οι υπηρεσίες πρέπει πρώτα να ζητήσουν από τον χρήστη να συνδεθεί με κωδικό πρόσβασης και περιστασιακά αποστέλλεται ένας κωδικός πρόσβασης μίας χρήσης (OTP) στην κινητή συσκευή του.
Ένα μειονέκτημα της παροχής αποδείξεων είναι ότι συχνά δίνουμε άλλους τύπους πληροφοριών. Η παροχή κωδικού πρόσβασης σε έναν ιστότοπο εξακολουθεί να σημαίνει ότι ο ίδιος ο ιστότοπος διατηρεί ένα αντίγραφο του κατακερματισμένου κωδικού πρόσβασης στους διακομιστές του. Αν κάποιος χακάρει τον σαρωτή ταυτότητας υπαλλήλων του κτιρίου γραφείων, μπορεί να μπορέσει να αποκτήσει τα ιδιωτικά κλειδιά όλων.
Τα αποδεικτικά μηδενικής γνώσης ή τα ZKP παρέχουν έναν τρόπο για την επικύρωση μιας ταυτότητας ή μιας συναλλαγής χωρίς να χρειάζεται να παρέχετε πρόσθετες πληροφορίες. Λόγω των εφαρμογών του στην κρυπτογραφία, τα ZKP έχουν προσαρμοστεί από μπλοκ αλυσίδες για τη δημιουργία ασφαλών και επεκτάσιμων πρωτοκόλλων επικύρωσης.
Τι είναι οι αποδείξεις μηδενικής γνώσης;
Οι αποδείξεις μηδενικής γνώσης προτάθηκαν για πρώτη φορά από τους ερευνητές του MIT Silvio Micali, Charles Rackoff και Shafi Goldwasser το 1985 στην εργασία τους. «Η γνωσιακή πολυπλοκότητα των διαδραστικών αποδεικτικών συστημάτων»
Αυτή η εργασία εισήγαγε την έννοια της πολυπλοκότητας της γνώσης. Αυτό αναφέρεται στο πλήθος των γνώσεων σχετικά με μια απόδειξη που μεταφέρεται από τον αναλυτή στον επαληθευτή. Οι αποδείξεις μηδενικής γνώσης στοχεύουν στο να επιτρέψουν σε ένα μέρος να αποδείξει ότι μια συγκεκριμένη δήλωση είναι αληθής σε ένα άλλο μέρος χωρίς να χρειάζεται να αποκαλύψει άλλες πληροφορίες.
Τα ZKP μπορούν να χρησιμοποιηθούν ως ασφαλής εναλλακτική λύση στα τρέχοντα συστήματα ελέγχου ταυτότητας και μπορούν επίσης να προστεθούν σε πρωτόκολλα blockchain για να διατηρούνται ιδιωτικές οι συναλλαγές.
Πώς λειτουργούν τα ZKP;
Παράδειγμα πραγματικού κόσμου
Για να δείξουμε πώς λειτουργούν οι αποδείξεις μηδενικής γνώσης, ας ρίξουμε μια ματιά σε ένα αφηρημένο παράδειγμα ενός ZKP.
Ας πούμε ότι έχετε έναν φίλο που είναι κοκκινοπράσινος αχρωματοψίας. Έχετε μαζί σας δύο ίδιες μπάλες που διαφέρουν μόνο στο χρώμα: μία κόκκινη και μία πράσινη. Για τον φίλο σου φαίνονται πανομοιότυπα, αλλά ως άτομο χωρίς αχρωματοψία, μπορείς εύκολα να τα ξεχωρίσεις.
Είναι δυνατόν να αποδείξεις στον φίλο σου ότι έχουν διαφορετικό χρώμα χωρίς να αποκαλύπτεις ποια μπάλα είναι κόκκινη ή πράσινη;
Υπάρχει, στην πραγματικότητα, ένας τρόπος να το αποδείξετε αυτό χωρίς να αποκαλύψετε τα χρώματα των μπάλων. Πρώτα, πρέπει να αφήσετε τον φίλο σας να βάλει και τις δύο μπάλες πίσω από την πλάτη του και να του πείτε να δείξει οποιαδήποτε μπάλα και να την κρύψει ξανά. Στη συνέχεια, λέτε στον φίλο σας ότι έχει την επιλογή να δείξει ξανά την ίδια μπάλα ή να την αλλάξει με την άλλη.
Κάθε φορά που εμφανίζεται μια νέα μπάλα, μπορείτε να του πείτε αν άλλαξε τη μπάλα ή όχι. Εάν συνεχίσετε να μαντεύετε τη σωστή κλήση, γίνεται όλο και πιο πιθανό οι μπάλες να έχουν διαφορετικό χρώμα. Ο φίλος σας θα πρέπει τώρα να πειστεί ότι οι μπάλες έχουν διαφορετικό χρώμα χωρίς να χρειάζεται να του πει ποιες μπάλες έχουν ποιο χρώμα.
Πρακτικές Εφαρμογές
Τα περισσότερα πρακτικά παραδείγματα αποδείξεων μηδενικής γνώσης χωρίζονται σε δύο τύπους.
Πρώτον, τα ZKP μπορούν να χρησιμοποιηθούν κατά το σχεδιασμό πρωτοκόλλων. Μπορούμε να διασφαλίσουμε ότι διαφορετικά μέρη δεν μπορούν να εξαπατήσουν ή να επωφεληθούν από το πρωτόκολλο. Δεύτερον, τα ZKP μπορούν να χρησιμοποιηθούν για αναγνώριση.
Για παράδειγμα, μπορούμε να χρησιμοποιήσουμε τα ZKP για να συνδεθούμε με ασφάλεια σε μια εφαρμογή Ιστού χωρίς να χρειάζεται να αποκαλύψουμε τον ίδιο τον κωδικό πρόσβασης.
Ας δούμε μερικά παραδείγματα για το πώς μπορούμε να χρησιμοποιήσουμε αποδείξεις μηδενικής γνώσης.
Ηλεκτρονική ψηφοφορία
Μια συχνά συζητούμενη εφαρμογή των ZKP είναι ο πιθανός ρόλος τους στην ηλεκτρονική ψηφοφορία. Ας πούμε ότι έχουμε ένα επερχόμενο δημοψήφισμα όπου οι χρήστες μπορούν να ψηφίσουν για μια προτεινόμενη πολιτική. Κάθε ψηφοφόρος που έχει δικαίωμα ψήφου επιτρέπεται να ψηφίσει είτε 1 είτε 0 στο ψηφοδέλτιο.
Χρησιμοποιώντας τα ZKP, οι ψηφοφόροι μπορούν να αποδείξουν το δικαίωμά τους να ψηφίσουν χωρίς να αποκαλύψουν την ταυτότητά τους. Αυτό διασφαλίζει ότι κάθε ψήφος θα είναι πραγματικά ανώνυμη. Ένα επιπλέον ZKP θα χρησιμοποιηθεί επίσης για να αποδειχθεί ότι η ψήφος ενός συγκεκριμένου χρήστη αποτελεί μέρος της τελικής καταμέτρησης ψήφων.
Όσον αφορά το ίδιο το περιεχόμενο των ψηφοδελτίων, το σύστημα ψηφοφορίας μπορεί επίσης να δημιουργήσει μια απόδειξη μηδενικής γνώσης ότι κάθε ψηφοδέλτιο περιέχει είτε 1 είτε 0. Αυτό επιτυγχάνεται χωρίς να χρειάζεται να γνωρίζουμε το περιεχόμενο του ίδιου του ψηφοδελτίου.
Απόρρητο Blockchain
Blockchains όπως το Bitcoin και το Ethereum δεν υποστηρίζουν εγγενώς ιδιωτικές συναλλαγές. Εφόσον το πορτοφόλι σας Bitcoin είναι δημόσιο, οποιοσδήποτε μπορεί να πάει σε έναν εξερευνητή μπλοκ όπως π.χ Blockstream για να δείτε όλες τις συναλλαγές στις οποίες ανήκει το πορτοφόλι.
Εν τω μεταξύ, η χρήση μιας υπηρεσίας όπως μια τράπεζα ή υπηρεσιών πληρωμών όπως το Cash App ή το Venmo σάς δίνει τη δυνατότητα να πραγματοποιείτε ιδιωτικές συναλλαγές. Αυτή η ευκολία, ωστόσο, έχει το κόστος της αποκάλυψης των πληροφοριών σας στην κεντρική υπηρεσία.
Μπορούμε να συνδυάσουμε την ανωνυμία με την αποκέντρωση προσθέτοντας ZKP στο πρωτόκολλο blockchain. Κρυπτονομίσματα όπως το ZCash χρησιμοποιούν ZKP για να δημιουργήσουν ιδιωτικές συναλλαγές που επιτρέπουν στους κατόχους νομισμάτων να διατηρήσουν την ανωνυμία τους. Πολλά από αυτά τα κρυπτονομίσματα χρησιμοποιούν έναν τύπο ZKP γνωστό ως zk-SNARK.
Αυτά τα ZKP δεν απαιτούν αλληλεπίδραση μεταξύ του prover και του επαληθευτή.
Συνάθροιση μηδενικών γνώσεων
Τα ZK-rollups είναι μια λύση επεκτασιμότητας που επιτρέπει την άμεση επαλήθευση των συναλλαγών εκτός αλυσίδας και με ελάχιστες χρεώσεις αερίου. Είναι ένας τρόπος για να συνδυάσετε μεγάλο αριθμό συναλλαγών επιπέδου 2 και να τις υποβάλετε στο πρωτόκολλο του επιπέδου 1.
Εκτός από την παροχή απορρήτου, τα ZKPs επιτρέπουν την κλιμάκωση πολύπλοκων συστημάτων. Τα πρωτόκολλα blockchain μπορούν να χρησιμοποιούν ZKP για να αποδείξουν ότι οι χρήστες έχουν διευθετήσει τις σωστές συναλλαγές, έχουν το κατάλληλο υπόλοιπο κ.λπ. Αυτές οι ασφαλείς αλλά επεκτάσιμες λύσεις είναι δυνατές μόνο μέσω των μαθηματικών αποδείξεων που γίνονται εκτός αλυσίδας σε ZKP.
Πρωτόκολλα όπως το Loopring χρησιμοποιούν αποδείξεις μηδενικής γνώσης για να βοηθήσουν στη διεκπεραίωση συναλλαγών εκτός αλυσίδας χωρίς να χρειάζεται να θέσουν σε κίνδυνο την ασφάλεια.
Οφέλη από αποδείξεις μηδενικής γνώσης
- Τα ZKP αντικαθιστούν λιγότερο αξιόπιστες μορφές ελέγχου ταυτότητας, όπως PIN ή κάρτες ταυτότητας
- Το ZKPS αυξάνει την επεκτασιμότητα των blockchains
- Η υλοποίηση του ZKP απαιτεί απλές μεθόδους κρυπτογράφησης
- Η χρήση του ZKPS μπορεί να κάνει τα συστήματα πιο ασφαλή, χωρίς να απαιτεί την αποθήκευση περιττών πληροφοριών στο σύστημα.
Συμπέρασμα
Το απόρρητο δεδομένων είναι ήδη ένα σημαντικό ζήτημα τόσο στα κεντρικά όσο και στα αποκεντρωμένα συστήματα. Οι αποδείξεις μηδενικής γνώσης παρέχουν έναν τρόπο για τα διαφορετικά μέρη να αποδείξουν ή να επικυρώσουν συναλλαγές και ταυτότητες χωρίς να χρειάζεται να αποκαλύψουν τις εν λόγω συναλλαγές ή ταυτότητες.
Καθώς η τεχνολογία blockchain χρησιμοποιείται ευρύτερα, η υιοθέτηση των ZKP για την ασφαλή διαχείριση της επαλήθευσης θα είναι το κλειδί για τις ανησυχίες επεκτασιμότητας.
Αφήστε μια απάντηση