Ιδιωτική ανάκτηση πληροφοριών
Με λίγα λόγια
- Η ιδιωτική ανάκτηση πληροφοριών, ή PIR, επιτρέπει σε μια συσκευή να ανακτήσει ένα στοιχείο από τη βάση δεδομένων ενός διακομιστή χωρίς ο διακομιστής να μαθαίνει ποιο στοιχείο ζητήθηκε
- Το Zcash το χρειάζεται αυτό επειδή ένα ιδιωτικό πορτοφόλι δεν μπορεί να ρωτήσει έναν διακομιστή ποιες συναλλαγές είναι δικές του χωρίς να αποκαλυφθεί
- Σήμερα τα πορτοφόλια κατεβάζουν και σαρώνουν πολύ περισσότερα δεδομένα από όσα χρειάζονται, κάτι που είναι ένας βασικός λόγος για τον οποίο ο συγχρονισμός είναι αργός
- Το PIR θα επέτρεπε σε ένα πορτοφόλι να ανακτά μόνο τα δικά του δεδομένα ιδιωτικά, εξαλείφοντας αυτό το εμπόδιο ενώ διατηρείται η ιδιωτικότητα
- Είναι ένας ενεργός τομέας έρευνας για το Zcash, ισχυρός θεωρητικά και υπό ανάπτυξη ώστε να γίνει πρακτικός για πραγματικά πορτοφόλια
Σε ποιους απευθύνεται
- Σε οποιονδήποτε έχει αναρωτηθεί πώς ένα ιδιωτικό πορτοφόλι βρίσκει τα δικά του νομίσματα χωρίς να διαρρέει ποια είναι
- Σε νέους χρήστες που βλέπουν συνεχώς το PIR να αναφέρεται μαζί με την εργασία κλιμάκωσης του Zcash
- Σε αναγνώστες που θέλουν πρώτα την έννοια και έπειτα την κρυπτογράφηση που βρίσκεται από κάτω
Το πρόβλημα που λύνει το PIR για το Zcash
Το Zcash αποκρύπτει για ποιον προορίζεται μια συναλλαγή. Αυτή η ιδιωτικότητα δημιουργεί ένα δύσκολο ερώτημα: αν το δίκτυο δεν μπορεί να δει ποιες συναλλαγές ανήκουν σε εσένα, πώς τις βρίσκει το δικό σου πορτοφόλι;
Σήμερα η απάντηση είναι άμεση. Ένα πορτοφόλι δεν μπορεί να ρωτήσει έναν διακομιστή ποιες συναλλαγές είναι δικές μου, επειδή αυτή η ερώτηση θα αποκάλυπτε ακριβώς αυτό που το Zcash προσπαθεί να κρύψει. Επομένως, το πορτοφόλι κατεβάζει μεγάλο όγκο δεδομένων και ελέγχει κάθε στοιχείο τοπικά για να δει τι του ανήκει. Λειτουργεί και διατηρεί την ιδιωτικότητα, αλλά είναι αργό και απαιτητικό. Αυτή η σάρωση είναι ένας από τους βασικούς λόγους για τους οποίους ο συγχρονισμός ενός πορτοφολιού μπορεί να φαίνεται νωθρός.
Το ιδανικό θα ήταν ένας τρόπος για ένα πορτοφόλι να ζητά από έναν διακομιστή ακριβώς τα δικά του δεδομένα και να τα λαμβάνει, χωρίς ο διακομιστής να μαθαίνει ποτέ τι ζητήθηκε. Αυτό ακριβώς παρέχει η ιδιωτική ανάκτηση πληροφοριών.
Τι είναι το PIR
Η ιδιωτική ανάκτηση πληροφοριών είναι μια κρυπτογραφική μέθοδος που επιτρέπει σε έναν client να διαβάζει μία καταχώριση από τη βάση δεδομένων ενός διακομιστή χωρίς να αποκαλύπτει στον διακομιστή ποια καταχώριση διάβασε.
Φαντάσου μια βιβλιοθήκη όπου μπορείς να λάβεις ακριβώς το βιβλίο που θέλεις, αλλά ο βιβλιοθηκάριος δεν μαθαίνει ποτέ ποιο βιβλίο σου έδωσε. Παίρνεις το στοιχείο σου και το ενδιαφέρον σου παραμένει ιδιωτικό. Το PIR είναι η μαθηματική εκδοχή αυτής της ιδέας, εφαρμοσμένη σε οποιαδήποτε βάση δεδομένων.
Η έννοια μελετάται στην κρυπτογράφηση εδώ και δεκαετίες. Παρουσιάστηκε για πρώτη φορά το 1995 από τους Chor, Goldreich, Kushilevitz και Sudan, οι οποίοι περιέγραψαν την προσέγγιση πολλαπλών διακομιστών, και η πρώτη εκδοχή ενός διακομιστή ακολούθησε το 1997 από τους Kushilevitz και Ostrovsky. Δεν είναι κάτι που εφηύρε το Zcash, είναι ένας καθιερωμένος τομέας που το Zcash εφαρμόζει τώρα σε ένα πραγματικό και επίμονο πρόβλημα.
Πώς λειτουργεί το PIR, σε πρώτο επίπεδο
Υπάρχουν δύο ευρείς τρόποι να υλοποιηθεί το PIR και η διαφορά έχει σημασία.
Ο πρώτος χρησιμοποιεί πολλαπλούς διακομιστές. Ο client στέλνει σε καθέναν από πολλούς διακομιστές ένα τμήμα του ερωτήματος και συνδυάζει τις απαντήσεις τους τοπικά. Κανένας μεμονωμένος διακομιστής δεν βλέπει αρκετά ώστε να μάθει τι ζητήθηκε. Αυτό είναι αποδοτικό, αλλά εξαρτάται από το να μη συνεργάζονται μεταξύ τους οι διακομιστές, κάτι που είναι δύσκολο να εγγυηθείς στον πραγματικό κόσμο.
Ο δεύτερος χρησιμοποιεί έναν μόνο διακομιστή και έξυπνη κρυπτογράφηση αντί για πολλαπλά μέρη. Εδώ ο client βασίζεται σε ένα ειδικό εργαλείο που ονομάζεται ομομορφική κρυπτογράφηση, και αυτή είναι η πιο χρήσιμη κατεύθυνση για πραγματικές υλοποιήσεις, επειδή δεν χρειάζεται πολλούς διακομιστές που δεν συνεργάζονται μεταξύ τους.
Ο μηχανισμός: ομομορφική κρυπτογράφηση
Η ομομορφική κρυπτογράφηση είναι ένα είδος κρυπτογράφησης που επιτρέπει σε έναν διακομιστή να υπολογίζει πάνω σε δεδομένα ενώ αυτά παραμένουν κρυπτογραφημένα. Ο διακομιστής παράγει μια σωστή κρυπτογραφημένη απάντηση χωρίς να βλέπει ποτέ τις υποκείμενες τιμές.
Αυτή είναι η ιδέα πίσω από το PIR ενός διακομιστή που υλοποιείται με αυτόν τον τρόπο. Ο client θέλει το στοιχείο με αριθμό τρία από μια λίστα. Δημιουργεί ένα ερώτημα που είναι, στην πράξη, ένα κρυπτογραφημένο ναι για τη θέση τρία και ένα κρυπτογραφημένο όχι για κάθε άλλη θέση. Για τον διακομιστή, αυτό το ερώτημα είναι απλώς ανούσιος θόρυβος, δεν μπορεί να διακρίνει ποια θέση περιέχει το ναι.
Έπειτα, ο διακομιστής συνδυάζει τη βάση δεδομένων του με αυτό το κρυπτογραφημένο ερώτημα χρησιμοποιώντας τις ειδικές ιδιότητες της ομομορφικής κρυπτογράφησης, πολλαπλασιάζοντας κάθε αποθηκευμένο στοιχείο με το αντίστοιχο κρυπτογραφημένο ναι ή όχι και προσθέτοντας τα αποτελέσματα. Αυτό που προκύπτει είναι ένα μόνο κρυπτογραφημένο πακέτο που περιέχει ακριβώς το στοιχείο που ήθελε ο client και τίποτα δεν αποκαλύπτει ποιο ήταν. Ο client αποκρυπτογραφεί αυτό το πακέτο και διαβάζει το στοιχείο του. Ο διακομιστής έχει απαντήσει στην ερώτηση χωρίς να γνωρίζει ποτέ την ερώτηση.
Μια ισχυρότερη εκδοχή, που ονομάζεται συμμετρικό PIR, προσθέτει μια δεύτερη εγγύηση: ο client μαθαίνει μόνο το στοιχείο που ζήτησε και τίποτα για οποιαδήποτε άλλη καταχώριση στη βάση δεδομένων. Αυτό προστατεύει τη βάση δεδομένων καθώς και τον client.
Μια πιο προσεκτική ματιά για τεχνικούς αναγνώστες
Τα σύγχρονα σχήματα ενός διακομιστή βασίζονται στην κρυπτογραφία πλεγμάτων, συνήθως στην υπόθεση learning with errors. Το ερώτημα του client είναι ένα διάνυσμα από ciphertexts, μια κρυπτογράφηση του ένα στον δείκτη-στόχο και του μηδέν παντού αλλού, και η κρυπτογράφηση είναι προσθετικά ομομορφική, ώστε ο διακομιστής να μπορεί να προσθέτει ciphertexts και να τα πολλαπλασιάζει με καταχωρίσεις plaintext της βάσης δεδομένων χωρίς να αποκρυπτογραφεί.
Ο διακομιστής αντιμετωπίζει τη βάση δεδομένων ως πίνακα, εφαρμόζει το κρυπτογραφημένο διάνυσμα επιλογής και επιστρέφει ένα μόνο ciphertext που αποκρυπτογραφείται στη ζητούμενη γραμμή. Επειδή το ερώτημα δεν διακρίνεται από τυχαίο θόρυβο, ο διακομιστής δεν αποκτά καμία πληροφορία για τον δείκτη.
Το ιστορικό εμπόδιο ήταν πάντα το κόστος. Αφελώς, ο διακομιστής πρέπει να αγγίξει κάθε καταχώριση στη βάση δεδομένων για κάθε ερώτημα, κάτι που είναι υπολογιστικά δαπανηρό, και τα ciphertexts είναι μεγάλα, κάτι που είναι δαπανηρό σε εύρος ζώνης. Η πρόσφατη έρευνα αντιμετωπίζει αυτό το ζήτημα με προεπεξεργασία: σχήματα όπως τα SimplePIR και FrodoPIR επιτρέπουν στον διακομιστή να προετοιμάζει τη βάση δεδομένων εκ των προτέρων και να δίνει σε κάθε client ένα μικρό hint, μεταφέροντας μεγάλο μέρος της εργασίας σε μια offline φάση ώστε τα ζωντανά ερωτήματα να γίνονται γρήγορα. Ένα χρήσιμο παράπλευρο όφελος είναι ότι οι κατασκευές που βασίζονται σε πλέγματα θεωρούνται επίσης ανθεκτικές σε κβαντικές επιθέσεις, κάτι που ευθυγραμμίζεται με την ευρύτερη μετάβαση του Zcash προς ιδιωτικότητα ανθεκτική στους κβαντικούς υπολογιστές.
PIR στο Zcash
Το PIR αποτελεί μέρος της προσπάθειας να γίνει το Zcash ταυτόχρονα ιδιωτικό και γρήγορο σε κλίμακα.
Το εμπόδιο της σάρωσης πορτοφολιών που περιγράφηκε νωρίτερα είναι ο στόχος. Η εργασία στο Valar Group αναπτύσσει τεχνικές ιδιωτικής ανάκτησης πληροφοριών, ώστε ένα πορτοφόλι να μπορεί να ανακτά τα δικά του δεδομένα από έναν διακομιστή χωρίς ο διακομιστής να μαθαίνει ποιες καταχωρίσεις ζητήθηκαν. Μια συγκεκριμένη εφαρμογή είναι ο ιδιωτικός έλεγχος nullifiers. Ένα nullifier είναι ένα μοναδικό αναγνωριστικό που δημοσιεύεται όταν δαπανάται ένα note, το οποίο αποτρέπει τη διπλή δαπάνη των ίδιων κεφαλαίων. Ένα πορτοφόλι συχνά χρειάζεται να ελέγξει αν έχει εμφανιστεί ήδη ένα συγκεκριμένο nullifier, με άλλα λόγια αν ένα note παραμένει αδαπάνητο, και το να το κάνει αυτό μέσω ενός διακομιστή σήμερα μπορεί να διαρρεύσει για ποιο note ρωτά. Η ιδιωτική ανάκτηση πληροφοριών επιτρέπει στο πορτοφόλι να υποβάλει αυτή την ερώτηση χωρίς να αποκαλύπτει για ποιο nullifier ενδιαφέρεται. Αυτό συνυπάρχει με άλλη εργασία κλιμάκωσης, συμπεριλαμβανομένου του Project Tachyon και νέου λογισμικού κόμβων, με στόχο την άρση των περιορισμών απόδοσης που περιορίζουν σήμερα τα ιδιωτικά πορτοφόλια.
Είναι σημαντικό να είμαστε ειλικρινείς για το στάδιο. Πρόκειται για ενεργή έρευνα και μηχανική, όχι για μια ολοκληρωμένη λειτουργία που έχει ήδη κυκλοφορήσει. Η έννοια είναι καθιερωμένη και η κατεύθυνση έχει οριστεί, αλλά το να γίνει το PIR αρκετά αποδοτικό για καθημερινά πορτοφόλια σε συνηθισμένες συσκευές είναι ακριβώς το δύσκολο μέρος στο οποίο εργάζονται τώρα.
Συνήθεις παρανοήσεις
- Το PIR αποκρύπτει ποιο στοιχείο ζήτησες, δεν αποκρύπτει απαραίτητα ότι επικοινώνησες καθόλου με τον διακομιστή· τα μεταδεδομένα επιπέδου δικτύου είναι ξεχωριστό ζήτημα
- Το PIR δεν είναι μοναδικό για το Zcash, είναι ένα γενικό κρυπτογραφικό εργαλείο που το Zcash εφαρμόζει στην ιδιωτικότητα των πορτοφολιών
- Ο ταχύτερος συγχρονισμός μέσω PIR είναι ένας στόχος υπό εξέλιξη, όχι μια λειτουργία που υπάρχει ήδη στα πορτοφόλια
- Η λήψη όλων των δεδομένων και η τοπική σάρωσή τους, η τρέχουσα προσέγγιση, είναι ιδιωτική αλλά αργή· το PIR στοχεύει να διατηρήσει την ιδιωτικότητα ενώ εξαλείφει την καθυστέρηση
Σχετικές σελίδες