Fast Asyncronous Byzantine Agreement with optimal resilience Παπαδιάς Σεραφείμ
Περιεχόμενα 1. Ασύγχρονο μοντέλο-ασυγχρονο ΒΑ 2. AVSS(A-RS,AWSS,AVSS) σχήμα 3. Voting Protocol and Global Coin 4. Byzantine Agreement from Global Coin using Voting Protocol
Ασύγχρονο μοντέλο(1/2) Aσύγχρονο δίκτυο με n παίχτες και κάθε δύο παίχτες συνδέονται με ένα αξιόπιστο και ιδιωτικό κανάλι επικοινωνίας. Τα μηνύματα που στέλνονται στο κανάλι μπορεί να έχουν πεπερασμένα αυθαίρετη καθυστέρηση. Η σειρά αποστολής μηνυμάτων στο κανάλι δεν διατηρείται αναγκαία. Εκτελείται σε ατομικά βήματα. Σε κάθε βήμα,ένας παίχτης είναι ενεργός, και ενεργοποιείται όταν λαμβάνει ένα μήνυμα και στη συνέχεια κάνει έναν εσωτερικό υπολογισμό και πιθανότατα στέλνει μηνύματα σε άλλα κανάλια,σε άλλους παίχτες. Τη σειρά των ατομικών βημάτων την κανονίζει ένας χρονοδρομολογητής (scheduler), που θυμάται μόνο την προέλευση και τον προορισμό του κάθε μηνύματος...όχι το περιεχόμενό του!!
Ασύγχρονο μοντέλο(2/2) Μέχρι και t παίχτες να κλέψουν (faulty players) ανα πάσα στιγμή κατά την διαρκεια εκτέλεσης του πρωτοκόλλου. Λέμε εχθρό(adversary) του ΒΑ αυτόν που μπορεί να διαφθείρει μέχρι και t παίχτες(t-εχθρό). Οι faulty παίχτες παραχωρούν τις πληροφορίες τους στον εχθρό. Επιτρέπουμε άπειρη υπολογιστική ισχύ στον εχθρό.
Ασύγχρονο Byzantine Agreement Ορισμός Έστω π ασύγχρονο πρωτόκολλο που κάθε παίχτης έχει ένα binary input.λέμε ότι το π έιναι (1-ε)-terminating, t-ανεκτικό ΒA πρωτόκολλο αν ισχύει για κάθε t-εχθρό και κάθε είσοδο(input). Τερματισμός( Termination) Mε πιθανότητα (1-ε) όλοι οι ειλικρινείς παίχτες τερματίζουν το πρωτόκολλο. Ορθότητα Όλοι οι ειλικρινείς παίχτες που έχουν τερματίσει το πρωτόκολλο έχουν πανομοιότυπες εξόδους(outputs).kαι αν όλοι οι ειλικρινείς παίχτες έχουν το ίδιο input,έστω σ, τότε όλοι θα έχουν έξοδο σ. Σε ασύγχρονο δίκτυο με n παίχτες,με μέχρι και t faulty, ένας παίχτης δεν μπορεί να περιμένει να επικοινωνήσει με περισσότερους απο n-t παίχτες,γιατί μπορεί οι faulty να μην συμφωνήσουν να συνεργαστούν.
Secret Sharing in general Ένα μυστικό μοίρασμα(secret sharing) είτε σύγχρονο είτε ασύγχρονο αποτελείται από δύο πρωτόκολλα: Το sharing protocol, στο οποίο ο dealer μοιράζει στον καθένα ένα κομματάκι από το μυστικό. Το reconstruction protocol,στο οποίο οι παίχτες κατασκευάζουν το μυστικό από από τις μοιρασιές που έκανε ο dealer. Κάθε παίχτης θα πρέπει να μπορεί να ολοκληρώσει την εκτέλεση του sharing phase ακόμα και αν έχει επικοινωνήσει μόνο με n-t παίχτες. Έτσι επικυρώνει την ύπαρξη ενός καλά ορισμένου μυστικού μόνο επικοινωνόντας με αυτό το υποσύνολο παιχτών. Στην rec phase μπορεί να αναμένει να επικοινωνήσει με μέχρι μόνο n-t παίχτες.και οι παίχτες που επικοινωνεί στο rec phase μπορεί να μην συμμετείχαν στο sh phase.βασίζεται για την ανακατασκευή του μυστικού μόνο σε αυτούς που συμμετείχαν και στις δύο φάσεις.
ΑVSS(Asyncronous Verifiable Secret Sharing) Έχει 3 στρώμματα-προτόκολλα με ένα secret sharing scheme το καθένα. 1. Α -RS(Asynchronous Recoverable Sharing) Αυτό εξασφαλίζει ότι με συντριπτική πιθανότητα τα μερίδια όλων των παιχτών που συμμετείχαν στο sharing phase θα είναι διαθέσιμα στο reconstruction phase. 2. AWSS(Asynchronous Weak Secret Sharing) 3. AVSS(Asynchronous Verifiable Secret Sharing) Αν ο dealer,που μοιράζει το μυστικό είναι honest τότε οι honest παίχτες κατασκευάζουν το μυστικό που μοιρασε ο dealer. Αν ο dealer είναι faulty πάλι διασφαλίζεται η επανακατασκευή του μυστικού.αν μαλιστα όλοι οι ειλικρινείς παίχτες ολοκληρώσουν το reconstruction protocol που επικαλέστηκαν τότε κάθε επανάληψη του ΒΑ θα τερματίζει σε σταθερό χρόνο. Συνδυάζοντας την δουλεία του Feldman για την τελμάτωση του ΒΑ δοθέντος ενός σχήματος AVSS, κατασκεύασαν ένα (ceil(n/3)-1)-ανεκτικού ΒA πρωτόκoλλο.
ICP(Information Checking Protocol) Protocol......Εργαλείο για πιστοποίηση μηνυμάτων υπό την παρουσία faulty παιχτών με απεριόριστη υπολιγιστική ισχύ. Εκτελείται από τρεις παίχτες: 1)τον dealer D 2) τον ΙΝΤ(ενδιάμεσο) και 3)τον R (παραλήπτη). O dealer που έχει ένα μυστικό s το δίνει στον ΙΝΤ που πρέπει να το παραχωρήσει στον R.Το πρωτόκολλο εκτελείται σε τρία στάδια: 1. Generalization O D δίνει το s στον ΙΝΤ και καποιες βοηθητικές πληροφορίες και στον ΙΝΤ και στον R. 2. Verification Ξεκινά με τον ΙΝΤ.Σε αυτή την φάση ο παραλήπτης R καλείται να συμμετέχει.ο ΙΝΤ επιλέγει αν θα συνεχίσει ή θα εγκαταλείψει το πρωτόκολλο...βασίζει την αποφασή του στην πρόβλεψη για το στάδιο authentication,όπου ο R θα αποδεχτεί ή θα απορρίψει το μυστικό που είχε ο ΙΝΤ. 3. Authentication Ξεκινάει με τον R. O INT καλείται να συμμετάσχει. Σε αυτή την φάση ο R λαμβάνει s' από τον ΙΝΤ και είτε το αποδέχεται είτε το απορρίπτει.
A-RS protocol...
AWSS protocol...variation of it,which is usefull for our AVSS Για την υλοποίηση του AVSS σχήματος γίνεται χρήση μίας παραλλαγής του AWSS σχήματος όπου: O dealer μοιράζεται τρία μυστικά s1,s2,s3 έτσι ώστε s3 = s1 + s2. Kαι πρέπει να ισχύει ότι: Aν επανακατασκευάσουμε είτε το s2 είτε το s1+s2 τότε οι faulty παίχτες δεν έχουν πληροφορία για το s1. Έστω ri να είναι η τιμή που παίρνει μόλις ο πρώτος ειλικρινής παίχτης ολοκλήρωση το μοίρασμα of si.tότε είτε r1+r2 = r3 ή τουλάχιστον δύο από τα r1,r2,r3 είναι null. Η παραλλαγή είναι γνωστή ως Two&Sum AWSS.
AVSS(Asynchronous Verifiable Secret Sharing) Sharing Protocol Ο dealer που έχει ένα μυστικό s, διαλέγει τυχαία πολυώνυμα f(x) για το s.μετά στέλνει σε κάθε παίχτη Pi,το βi = f(i).kαι ακόμα διαλέγει ένα κατάλληλο πολυώνυμο g(x) βαθμού t. Για κάθε g(x) και για κάθε ι στέλνει το g(ι) κάθε Pi. Mετά ο κάθε παίχτης Pi μοιράζεται τις τιμές {f(i),g(i),f(i)+g(i)} για κάθε πολυώνυμο g(x) κάνοντας χρήση του Τwo&Sum AWSS. Ο dealer αποδεικνύει σε κάθε παίχτη με μία cut-and-choose method ότι τα μερίδια των παιχτών πράγματι ορίζουν ένα μυστικό. Όταν ένας παίχτης πιστεί ότι τα μερίδια 2*t+1 παιχτών είναι αποδεκτά επιβεβαιώνει αυτούς τους παίχτες. Μόλις ένας παίχτης ολοκληρώσει 2*t+1 Α-casts στα οποία ο παίχτης έχει επικυρωθεί, προσθέτει τον p στο τελικό του σύνολο FINALi. Όταν ένα σύνολο FINALi περιέχει 2*t+1 παίχτες τότε ο Pi ολοκληρώνει το sharing protocol. Reconstruction Protocol Τα μερίδια όλων των παιχτών ανακατασκευάζονται με το AWSS-rec.Mόλις t+1 μερίδια στο FINALi έχουν ανακατασκευαστεί ο Pi παίχτης υπολογίζει το μυστικό που υπάρχει στα μερίδια και τερματίζει.
Global Coin Protocol Ορισμός Έστω π πρωτόκολλο που κάθε παίχτης έχει ένα random input,και output μία τιμή {0,1}.Λέμε ότι το π έιναι (1-ε)-terminating, t-ανεκτικό global coin πρωτόκολλο αν ισχύει για κάθε t-εχθρό: Τερματισμός( Termination) Mε πιθανότητα (1-ε) όλοι οι ειλικρινείς παίχτες τερματίζουν τοπικά. Ορθότητα Για κάθε τιμή σ που ανήκει στο {0,1} με πιθανότητα τουλάχιστον 1/4 όλοι οι τίμιοι παίχτες δίνουν output σ.
Voting Protocol Kάθε παίχτης έχει ένα input που είναι δυαδική τιμή. Καθε παίχτης προσπαθεί να βρει αν υπάρχει πλειοψηφία για κάποια τιμή των input των παιχτών. Το output κάθε παίχτη έχει δύο πεδία.το πρώτο πέδιο είναι η πλειοψηφία της ψήφου( 0 ή 1 ανάλογα) και το δεύτερο είναι η παράμετρος πλειοψηφίας, που μπορεί να παίρνει τιμές: 2 για σιντριπτική πλειοψηφία, 1 για distinct (ευκρινή) πλειοψηφία και 0 για όχι distinct (ευκρινή) πλειοψηφία. Έχει τρεις γύρους: 1. Kάθε παίχτης κάνει Α-cast την τιμή input του και περιμένει να λάβει n-t other inputs και θέτει την ψήφο του ίση με την τιμή που πλειοψηφεί στα input που έλαβε. 2. Σε αυτό τον γύρο κάθε παίχτης κάνει Α-cast την ψήφο του,και περιμένει να λάβει n-t άλλες ψήφους που είναι συνεπείς με τα casted inputs του πρώτου γύρου, και θέτει την επανα-ψήφο του στην πλειοψηφία των ψήφων που έλαβε. 3. Πάλι η ίδια διαδικασία αλλά οι παίχτες castaroun τις re-votes τους τώρα.
Byzantine agreement from Global Coin