Η απλότητα αυτού του μοντέλου βασίζεται σε μια καθαρή σχέση εμπιστοσύνης. Η το βασιζόμενο μέρος εμπιστεύεται τον πάροχο ταυτότητας και αναλαμβάνει το ίδιο την πλήρη επαλήθευση του token. Η αλυσίδα εμπιστοσύνης είναι γνωστή και περιορισμένη, ενώ τα δεδομένα που ανταλλάσσονται, αν και ευαίσθητα, παραμένουν εντός ενός καθιερωμένου πλαισίου.
Το zkLogin εισάγει μια διαφορετική αρχιτεκτονική, επιχειρώντας να γεφυρώσει τον κόσμο του Web2 login με τις απαιτήσεις του Web3.Το zkLogin είναι μία ανοιχτή λύση ταυτοποίησης που εφαρμόζεται στο blockhain Sui. Στο zkLogin ένα πορτοφόλι του χρήστη (Wallet) αναλαμβάνει το ρόλο του βασιζόμενου μέρους. Στη συνέχεια χρησιμοποιεί μια οντότητα που ονομάζεται proving service, η οποία αναλαμβάνει η οποία επιβεβαιώνει ότι ο χρήστης κατέχει ένα έγκυρο token χωρίς να αποκαλύπτει τα περιεχόμενά του. Η απόδειξη αυτή χρησιμοποιείται για να αυθεντικοποιηθεί ο χρήστης στην τελική υπηρεσία.
Σε θεωρητικό επίπεδο, ο ρόλος των ZKP στο zkLogin είναι να περιορίσει τη διαρροή πληροφοριών και να επιτρέψει την ταυτοποίηση χωρίς αποκάλυψη προσωπικών δεδομένων. Η απόδειξη αποσκοπεί στο να πει απλώς «το token είναι έγκυρο», χωρίς να μεταφέρει ευαίσθητα στοιχεία στην τελική υπηρεσία. Με αυτόν τον τρόπο, το zkLogin παρουσιάζεται ως μια λύση που ενισχύει την ιδιωτικότητα, διατηρώντας παράλληλα τη χρηστικότητα των καθιερωμένων μηχανισμών login.
Ωστόσο, η πρακτική υλοποίηση αλλάζει σημαντικά τη δυναμική των ρόλων. Η πλήρης επαλήθευση του OIDC token δεν πραγματοποιείται από την τελική υπηρεσία, αλλά από την proving service. Το provingservice είναι εκείνo που ελέγχει – ή οφείλει να ελέγχει – την υπογραφή, την εγκυρότητα, τη χρονική ισχύ και τo μορφότυπο του token. Για λόγους αποδοτικότητας και περιορισμού της πολυπλοκότητας των ZKP όμως κάνει περιορισμένους ελέγχους.
Αυτή η επιλογή είναι κατανοητή από τεχνική άποψη. Οι αποδείξεις μηδενικής γνώσης είναι υπολογιστικά δαπανηρές και όσο περισσότερους ελέγχους ενσωματώνουν, τόσο αυξάνεται το κόστος και η πολυπλοκότητα. Ως αποτέλεσμα, η proving service υλοποιεί έναν «ελάχιστο» έλεγχο, αφήνοντας εκτός ZKP σημαντικές πτυχές της επαλήθευσης του token. Η ορθότητα αυτών των ελέγχων δεν αποδεικνύεται κρυπτογραφικά προς το τελικό σύστημα, αλλά βασίζεται στην παραδοχή ότι η υπηρεσία λειτουργεί σωστά και αξιόπιστα.
Το κρίσιμο σημείο εδώ δεν είναι απαραίτητα μια τεχνική ευπάθεια στο ίδιο το zkLogin ή στο δίκτυο Sui: στο zkLogin η εμπιστοσύνη μεταφέρεται σε μια ενδιάμεση υπηρεσία, η οποία δεν δεσμεύεται πλήρως από τις αποδείξεις μηδενικής γνώσης ως προς το σύνολο των ελέγχων που εκτελεί. Πρόσφατη έρευνα από την ομάδα του Brave έδειξε πως αυτό, υπό προϋποθέσεις, μπορεί να οδηγήσει σε κενά ασφαλείας.
Συμπερασματικά, με το παράδειγμα του zkLogin αναδεικνύεται πώς οι αποδείξεις μηδενικής γνώσης, όταν ενσωματώνονται σε σύνθετες αρχιτεκτονικές, δεν εξαλείφουν την ανάγκη για εμπιστοσύνη, αλλά συχνά τη μετασχηματίζουν. Η κατανόηση αυτής της μετατόπισης είναι κρίσιμη για όποιον αξιολογεί ή υιοθετεί τέτοιες λύσεις, ιδιαίτερα σε περιβάλλοντα όπου η ταυτότητα και η εμπιστοσύνη αποτελούν θεμελιώδη στοιχεία του συστήματος.





