Bitcoin και εθνική κυριαρχία
Το ζητούμενο δεν είναι ο περιορισμός της διάδοσης ή της επίδρασής των κρυπτονομισμάτων, αλλά το πώς το κράτος θα μπορέσει να «παντρέψει», κατά το δυνατόν πιο αρμονικά, τον υπάρχοντα τρόπο λειτουργίας της οικονομίας με τον καινούριο.
Ο ΚΩΝΣΤΑΝΤΙΝΟΣ ΧΟΥΖΟΥΡΗΣ είναι Πλωτάρχης Πολεμικού Ναυτικού, MSc σε Electrical and Electronics Engineering, MA σε Diplomacy and International Relations,και PhD Candidate στο University of Lancaster. Το παρόν δοκίμιο εκφράζει προσωπικές απόψεις του συγγραφέα.
Ένας αριθμός βυζαντινών στρατών, υπό διαφορετικό στρατηγό ο κάθε ένας, πολιορκεί μια πόλη από διαφορετικά σημεία, χωρίς άμεση επαφή μεταξύ τους. Καθώς, όμως, η άμυνα είναι ισχυρή, ο μόνος τρόπος νίκης είναι η ταυτόχρονη επίθεση όλων των στρατών κατά της πόλης, σε συγκεκριμένη ώρα. Το πρόβλημα που ανακύπτει, είναι το πώς θα συμφωνηθεί ασφαλώς και επακριβώς η ώρα επίθεσης. Οι περιορισμοί που υπάρχουν είναι οι εξής:
α. Η επικοινωνία μπορεί να γίνει μόνο μέσω αγγελιοφόρου.
β. Οι αγγελιοφόροι θα πρέπει να περάσουν από «κοιλάδες» στις οποίες μπορεί να συλληφθούν από τον εχθρό ή να αντικατασταθούν από εχθρικούς αγγελιοφόρους.
γ. Υπάρχει η πιθανότητα κάποιοι στρατηγοί να είναι προδότες.
Ο σύγχρονος παραλληλισμός είναι ότι ο κάθε στρατηγός αντιπροσωπεύει έναν χρήστη (node), ο αγγελιοφόρος αντιπροσωπεύει το μήνυμα, που αποστέλλεται από κάθε χρήστη και οι «κοιλάδες» είναι η υποδομή του Internet, η οποία υπόκειται σε υποκλοπές και παραφθορές.
Το πρόβλημα μπορεί να φαίνεται απλό, αλλά δεν είναι. Από την στιγμή που ένας αγγελιοφόρος αποσταλεί, ο εκδότης-στρατηγός δεν είναι σε θέση να γνωρίζει ούτε αν το μήνυμά του έφτασε στον παραλήπτη ούτε αν έφτασε μεν, αλλά είναι αλλαγμένο από τον εχθρό, ούτε αν ο παραλήπτης στρατηγός είναι προδότης.
Μια φαινομενικά προφανής λύση, θα ήταν η αποστολή πολλαπλών μηνυμάτων, εξασφαλίζοντας έτσι ότι κάποια εκ των αυθεντικών θα έφθαναν στον προορισμό τους. Αυτό, όμως, δεν μπορεί να διασφαλίσει ότι η πλειοψηφία των σωστών μηνυμάτων έχει όντως διαβιβασθεί ή ότι η πλειοψηφία των ληφθέντων μηνυμάτων δεν είναι σκοπίμως παραφθαρμένα από τον εχθρό. Μια άλλη λύση θα ήταν ο κάθε στρατηγός να γνωστοποιεί την λήψη των μηνυμάτων. Αλλά και αυτή η λύση υποπίπτει στα προαναφερθέντα σφάλματα, καθώς όσα μηνύματα γνωστοποίησης λήψεως και αν σταλούν δεν θα υπάρχει ποτέ η βεβαιότητα του ορθού περιεχομένου. Ως εκ τούτου, το πρόβλημα των «Βυζαντινών Στρατηγών» θεωρείτο άλυτο στην επιστημονική κοινότητα.
Μέχρι που ο Satoshi Nakamoto το έλυσε.
Ο κώδικας του Bitcoin παίρνει ένα μήνυμα οιουδήποτε μεγέθους και το κρυπτογραφεί μέσω ενός αλγορίθμου [3] σε ένα νέο μήνυμα μεγέθους 64bit. Η αποκρυπτογράφηση μπορεί να γίνει μόνο μέσω μιας πολύπλοκης μαθηματικής εξίσωσης, όμως η πολυπλοκότητά της είναι λιγότερο σημαντική από την υπολογιστική προσπάθεια που καταβάλλεται, καθώς η τελευταία είναι το αποδεικτικό της επίλυσης (proof-of-work). Η εξίσωση είναι αρκετά δύσκολη ώστε να απαιτεί ικανό χρόνο επίλυσης ακόμα και από τους καλύτερους υπολογιστές, αλλά όχι τόσο δύσκολη ώστε να τελματώσει το δίκτυο. Για να λυθεί η εξίσωση του κώδικα του Bitcoin, απαιτούνται 10 λεπτά, ακόμα και από τους καλύτερους υπολογιστές, ενώ η δυσκολία του αλγορίθμου μεταβάλλεται κάθε 2 εβδομάδες, ώστε ο ανωτέρω χρόνος να τηρείται σταθερός.
Παράδειγμα κωδικοποίησης με Hash Function. Ασχέτως του αρχικού μηνύματος, το εξαγόμενο μήνυμα είναι συγκεκριμένου μεγέθους και πάντοτε διαφορετικό.
--------------------------------------------------------------------------
Ως εκ τούτου, αν ένας «κακός χρήστης» επιθυμεί να αποστείλει ένα εσφαλμένο μήνυμα, θα πρέπει να το «πληρώσει» με την μορφή μιας διόλου ευκαταφρόνητης υπολογιστικής δύναμης [4] και κόστους ηλεκτρικού ρεύματος. Αν, από την άλλη, στείλει ένα εσφαλμένο μήνυμα, χωρίς να μπει στην διαδικασία να αποκωδικοποιήσει το αρχικό, οι υπόλοιποι χρήστες θα αντιληφθούν ότι δεν έχει καταβάλει την προβλεπόμενη προσπάθεια και θα το απορρίψουν. Ως εκ τούτου, για να επιβεβαιώσουν οι χρήστες ότι τα μηνύματα, στην πλειοψηφία τους, αποκωδικοποιούνται ορθά, παρακολουθούν την συνολική υπολογιστική δύναμη του δικτύου: αν απαιτούνται 10 λεπτά για την αποκωδικοποίησή τους, θα γνωρίζουν ότι έχουν αποσταλεί ορθά. Τέλος, το πρωτόκολλο απαιτεί το 51% των χρηστών να διαβεβαιώσουν ότι έλαβαν το ίδιο μήνυμα, ώστε αυτό να επικυρωθεί ως αληθές.
Επιπλέον, ο αλγόριθμος δίνει κίνητρο στους χρήστες να αποκωδικοποιήσουν σωστά και γρήγορα τα μηνύματα. Συγκεκριμένα, ο πρώτος χρήστης που θα αποκωδικοποιήσει σωστά ένα μήνυμα και θα το δημοσιεύσει στο δίκτυο, ανταμείβεται με BTCs (Bitcoins ως νομισματική μονάδα πλέον –η διαδικασία αυτή ονομάζεται «εξόρυξη»:«mining»). Με τον τρόπο αυτό και όσο η αξία του δικτύου και της εν λόγω νομισματικής μονάδας αυξάνεται, τόσο αυξάνεται και το κίνητρο των χρηστών να μη γίνονται «προδότες στρατηγοί».
Ακολούθως, το κάθε μήνυμα (block) που δημιουργείται και επιβεβαιώνεται από χιλιάδες έως και εκατομμύρια χρήστες στο δίκτυο, προστίθεται σε μια αλυσίδα τέτοιων μηνυμάτων (Blockchain) δημιουργώντας με τον τρόπο αυτό όχι απλά ένα μοναδικό αρχείο, αλλά ένα μοναδικό αρχείο με μοναδικό χρονολογικό ιστορικό (time-stamped), καθώς πλέον το κάθε μήνυμα γίνεται ένα συγκεκριμένο και ταυτοποιήσιμο μέλος μιας συνολικής αλληλουχίας μηνυμάτων!
Σχηματική απεικόνιση του Blockchain.
-----------------------------------------------------------------------
Αυτό το αρχείο συναλλαγών (δηλ. το Blockchain) δεν αποθηκεύεται σε κάποιον κεντρικό Server, Data Base ή κάποια οντότητα εν γένει, αλλά διαμοιράζεται ταυτόχρονα και από κοινού σε όλους του χρήστες του δικτύου [5]. Ο όρος που δίδεται για την διαδικασία αυτή είναι «Distributed Ledger». Ως εκ τούτου, τυχόν παραποίηση ενός τέτοιου αρχείου, θα πρέπει να λάβει χώρα ταυτόχρονα σε όλους τους υπολογιστές του δικτύου. Οι πιθανότητες αυτό να συμβεί είναι θεωρητικά απειροελάχιστες και πρακτικά μηδενικές. Επιπλέον, το γεγονός ότι το αρχείο αυτό δεν ανήκει σε κάποιον χρήστη αλλά είναι διαμοιρασμένο στους χρήστες, σημαίνει ότι οι συναλλαγές είναι δημόσιες και άμεσα προσβάσιμες από οιονδήποτε.