Μετάβαση στο κύριο περιεχόμενο

Παρουσίαση του NI-DKG: ένα μη διαδραστικό πρωτόκολλο κατανεμημένης δημιουργίας κλειδιών βασισμένο σε zkSNARK

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

JP

Jordi Pinyana

· 6 λεπτά ανάγνωσης

Παρουσίαση του NI-DKG: ένα μη διαδραστικό πρωτόκολλο κατανεμημένης δημιουργίας κλειδιών βασισμένο σε zkSNARK

Η ομομορφική κρυπτογράφηση κατωφλίου (threshold homomorphic encryption) είναι θεμελιώδες δομικό στοιχείο του πρωτοκόλλου ψηφοφορίας DAVINCI. Εξασφαλίζει ότι κανένα μεμονωμένο μέρος δεν μπορεί να αποκρυπτογραφήσει μόνο του τα αποτελέσματα της ψηφοφορίας: το κλειδί αποκρυπτογράφησης μοιράζεται σε πολλούς ανεξάρτητους κόμβους, και τα αποτελέσματα μπορούν να αποκρυπτογραφηθούν μόνο όταν συνεργαστούν αρκετοί από αυτούς.

Πριν όμως γίνει οποιαδήποτε αποκρυπτογράφηση, οι κόμβοι αυτοί πρέπει πρώτα να δημιουργήσουν από κοινού το κλειδί. Η διαδικασία αυτή ονομάζεται Κατανεμημένη Δημιουργία Κλειδιών (Distributed Key Generation — DKG). Αναπτύσσουμε μια εκδοχή του DKG σχεδιασμένη ειδικά για περιβάλλοντα blockchain, όπου κάθε συμμετέχων πρέπει να αποδείξει ότι η συνεισφορά του είναι ορθή προτού αυτή γίνει αποδεκτή στην αλυσίδα (on-chain).

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

Επισκόπηση του πρωτοκόλλου

Το NI-DKG είναι ένα πρωτόκολλο εγγενές στο blockchain, σχεδιασμένο να είναι πλήρως μη διαδραστικό, καθώς επιβάλλει την ορθότητα κατά τη στιγμή της υποβολής μέσω αποδείξεων μηδενικής γνώσης (ZK).

Αντί για φάσεις καταγγελιών και γύρους επίλυσης διαφορών, κάθε συμμετέχων πρέπει να αποδεικνύει την ορθότητα της συνεισφοράς του τη στιγμή που την υποβάλλει. Το έξυπνο συμβόλαιο (smart contract) ελέγχει την απόδειξη αμέσως: οι έγκυρες υποβολές γίνονται δεκτές και οι μη έγκυρες απορρίπτονται επιτόπου. Δεν υπάρχει πηγαινέλα ούτε αντιδραστικές αμφισβητήσεις. Επειδή ολόκληρο το ιστορικό της διαδικασίας καταγράφεται στην αλυσίδα, αποκτούμε επίσης δημόσια επαληθευσιμότητα.

Πέρα από το ότι είναι μη διαδραστικό εκ σχεδιασμού, το πρωτόκολλο NI-DKG είναι επίσης λειτουργικά ασύγχρονο στην πράξη. Οι φάσεις του ορίζονται με βάση αριθμούς μπλοκ και όχι εύθραυστες προθεσμίες απόκρισης.

Γιατί έχει σημασία

Τα σημερινά πρωτόκολλα DKG που υποβοηθούνται από blockchain στηρίζονται σε φάσεις επίλυσης διαφορών: αν ένας κόμβος λάβει εσφαλμένα δεδομένα, υποβάλλει καταγγελία στην αλυσίδα και ο κατηγορούμενος πρέπει να απαντήσει εντός προθεσμίας. Αυτό προσθέτει γύρους, κόστη gas και επιφάνεια επίθεσης: έντιμοι κόμβοι μπορεί να αποκλειστούν αν η απάντησή τους καθυστερήσει, ενώ κακόβουλοι παράγοντες μπορούν να υποβάλλουν αβάσιμες καταγγελίες για να σαμποτάρουν τη διαδικασία. Πρόσφατες ακαδημαϊκές εργασίες πάνω στο πλήρως ασύγχρονο DKG έχουν παραγάγει εντυπωσιακά θεωρητικά αποτελέσματα, τα πρωτόκολλα αυτά όμως είναι εξαιρετικά πολύπλοκα.

Το σημαντικότερο είναι ότι το NI-DKG είναι δομημένο εξ ολοκλήρου από καλά κατανοητά, καθιερωμένα κρυπτογραφικά στοιχεία. Δεν εισάγουμε νέες υποθέσεις· αντίθετα, εφαρμόζουμε δοκιμασμένες τεχνικές με πιο πρακτικό τρόπο. Το πρωτόκολλο καταλαμβάνει μια πραγματιστική και πρακτική μέση οδό: απλούστερο από τις πλήρως ασύγχρονες κατασκευές, αλλά πιο εύρωστο από τα αφελή σύγχρονα σχήματα. Κληρονομεί το χρονικό μοντέλο του υποκείμενου blockchain, κάτι φυσικό για εφαρμογές on-chain, και το συνδυάζει με προληπτικές αποδείξεις μηδενικής γνώσης, ώστε να εξαλείφονται οι διαδραστικές διαδικασίες καταγγελιών, ένα συνηθισμένο αδύνατο σημείο των υπαρχόντων σχεδιασμών. Το αποτέλεσμα είναι ένα ασφαλέστερο πρωτόκολλο, κατάλληλο για αναπτύξεις σε πραγματικές συνθήκες.

Οι φάσεις του πρωτοκόλλου NI-DKG

Δημιουργία

  1. Έναρξη: ο διοργανωτής δημοσιεύει τις παραμέτρους (n, t).
  2. Δήλωση συμμετοχής: οι επιλέξιμοι κόμβοι δηλώνουν ετοιμότητα (προαιρετικά με stake).
  3. Επιλογή κόμβων: επιλέγονται n κόμβοι με χρήση της τυχαιότητας της αλυσίδας· η διαδικασία ματαιώνεται αν δεν πληρούνται οι όροι της πολιτικής.
  4. Κύρια διαδικασία DKG: κάθε κόμβος δημοσιεύει δεσμεύσεις πολυωνύμων και κρυπτογραφημένα μερίδια, μαζί με απόδειξη ορθότητας ZK.
  5. Ολοκλήρωση: ο διοργανωτής υπολογίζει το δημόσιο κλειδί PK και τις δεσμεύσεις των ιδιωτικών μεριδίων και τα δημοσιεύει στο blockchain μαζί με απόδειξη ορθότητας ZK.

Αποκρυπτογράφηση

  1. Δημοσίευση κρυπτοκειμένου: δημοσιεύεται ένα κρυπτοκείμενο (C1, C2) μαζί με το αναγνωριστικό του γύρου. Οι κόμβοι γνωρίζουν πότε δημοσιεύονται τέτοια κρυπτοκείμενα.
  2. Δημοσίευση μερικών αποκρυπτογραφήσεων: οι κόμβοι δημοσιεύουν μια μερική αποκρυπτογράφηση του C1, μαζί με απόδειξη ισότητας διακριτών λογαρίθμων.
  3. Αποκρυπτογράφηση: μόλις δημοσιευθούν t ή περισσότερες μερικές αποκρυπτογραφήσεις, μπορεί να κληθεί το έξυπνο συμβόλαιο για την ανάκτηση του μηνύματος.

Προαιρετική αποκάλυψη του κλειδιού

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

  1. Έναρξη: το αίτημα αποκάλυψης του μυστικού κλειδιού μπορεί να σταλεί από τον διοργανωτή ή να ενεργοποιηθεί αυτόματα, εφόσον αυτό επιτρέπεται από τις παραμέτρους πολιτικής.
  2. Δημοσίευση μεριδίων του μυστικού κλειδιού: κάθε συμμετέχων κόμβος δημοσιεύει το μερίδιό του από το μυστικό.
  3. Υπολογισμός μυστικού κλειδιού: μόλις υποβληθούν t ή περισσότερες τιμές, οποιοσδήποτε μπορεί να υπολογίσει το μυστικό κλειδί**.**

Στο εσωτερικό του πρωτοκόλλου

Το πρωτόκολλο καλύπτει τον πλήρη κύκλο ζωής: δημιουργία κλειδιών, αποκρυπτογράφηση κατωφλίου και προαιρετική αποκάλυψη του κλειδιού. Σε κάθε στάδιο, το έξυπνο συμβόλαιο λειτουργεί ως επίπεδο συντονισμού και επαλήθευσης, ενώ οι αποδείξεις μηδενικής γνώσης μεταφέρουν όλους τους βαρείς κρυπτογραφικούς ελέγχους εκτός αλυσίδας (off-chain). Υπάρχει σαφής διαχωρισμός αρμοδιοτήτων: το blockchain αναλαμβάνει τη διάταξη και τη δημόσια τήρηση αρχείου· το σύστημα αποδείξεων εγγυάται την ορθότητα.

Τα κρυπτογραφικά δομικά στοιχεία είναι τα εξής:

  • Shamir + Feldman VSS: πολυώνυμα με δημόσιες δεσμεύσεις συντελεστών.
  • Hashed ElGamal για την κρυπτογράφηση των μεριδίων.
  • Απόδειξη ισότητας Chaum-Pedersen DLOG, που χρησιμοποιείται για τις μερικές αποκρυπτογραφήσεις.
  • zk-SNARKs (Groth16, FFLONK, …) για την επαλήθευση στην αλυσίδα.

Κυκλώματα:

<!--kg-card-begin: html-->
Φάση Σκοπός Έξοδος / Τι αποδεικνύει
Δημιουργία — Φάση 4: Κύρια διαδικασία DKG Απόδειξη συνεισφοράς ανά συμμετέχοντα Η συνεισφορά DKG κάθε συμμετέχοντα είναι έγκυρη.
Δημιουργία — Φάση 5: Υπολογισμός μυστικών μεριδίων και δημόσιου κλειδιού Ολοκλήρωση Το τελικό δημόσιο κλειδί και οι δεσμεύσεις των μεριδίων παράγονται ορθά.
Αποκρυπτογράφηση — Φάση 2: Δημοσίευση μερικών αποκρυπτογραφήσεων Μερική αποκρυπτογράφηση + απόδειξη DLEQ (ανά κόμβο) Η μερική αποκρυπτογράφηση κάθε κόμβου είναι ορθή και συνοδεύεται από απόδειξη ορθότητας DLEQ.
Αποκρυπτογράφηση — Φάση 3: Αποκρυπτογράφηση Συνδυασμός μερικών αποκρυπτογραφήσεων → αρχικό κείμενο Ο συνδυασμός έγκυρων μερικών αποκρυπτογραφήσεων αποδίδει το ορθό αρχικό κείμενο.
Προαιρετική αποκάλυψη κλειδιού — Φάση 2: Δημοσίευση μεριδίων του μυστικού κλειδιού Έλεγχος μεριδίου έναντι δέσμευσης (ανά κόμβο) Κάθε κόμβος αποδεικνύει ότι το μερίδιο που αποκάλυψε αντιστοιχεί στη δέσμευση που είχε δημοσιευθεί προηγουμένως.
Προαιρετική αποκάλυψη κλειδιού — Φάση 3: Υπολογισμός μυστικού κλειδιού Ανακατασκευή του μυστικού κλειδιού από t μερίδια Η ανακατασκευή του μυστικού κλειδιού από τα μερίδια κατωφλίου (t) είναι ορθή.
<!--kg-card-end: html-->

Περιορισμοί

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

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

Πού βρισκόμαστε

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

Εδώ θα βρείτε ένα PoC σε Golang που επικυρώνει το βασικό σχήμα.

Η πλήρης εργασία είναι διαθέσιμη εδώ.

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

Επικοινωνία


Σχετικές αναρτήσεις

Το EBSI συναντά το DAVINCI: πώς η UPC χρησιμοποίησε ευρωπαϊκή υποδομή blockchain για ιδιωτική φοιτητική ψηφοφορία
DAVINCI

Το EBSI συναντά το DAVINCI: πώς η UPC χρησιμοποίησε ευρωπαϊκή υποδομή blockchain για ιδιωτική φοιτητική ψηφοφορία

Τι θα γινόταν αν οι φοιτητές μπορούσαν να ψηφίσουν σε μια δεσμευτική εκλογική διαδικασία μόνο με την πανεπιστημιακή τους ταυτότητα, με πλήρες απόρρητο και επαληθευσιμότητα, και χωρίς να κατεβάσουν τίποτα; Αυτό ακριβώς απέδειξαν η UPC και το πρωτόκολλο DAVINCI. Η πλήρης μελέτη περίπτωσης είναι διαθέσιμη.

L

Lucas

5 λεπτά ανάγνωσης

Το Vocdoni App 2.3 προσθέτει υποστήριξη υβριδικής ψηφοφορίας, σταθμισμένη ψηφοφορία, ανάθεση ψήφου και πολλά ακόμη
Ανακοινώσεις

Το Vocdoni App 2.3 προσθέτει υποστήριξη υβριδικής ψηφοφορίας, σταθμισμένη ψηφοφορία, ανάθεση ψήφου και πολλά ακόμη

Το Vocdoni App 2.3 εισάγει τη σταθμισμένη ψηφοφορία, την ανάθεση ψήφου και τους ζωντανούς καταλόγους ψηφοφόρων, για να υποστηρίξει πραγματικές ροές διακυβέρνησης, συμπεριλαμβανομένων σεναρίων υβριδικής ψηφοφορίας.

F

Ferran

5 λεπτά ανάγνωσης