Φαίδωνας Καλφάογλου

Καθηγητής Οικονοµικών του Epsilon College

Blockchain – Η τεχνολογία κατανεμημένου καθολικού

Home // Article Writings // Blockchain – Η τεχνολογία κατανεμημένου καθολικού

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

Σε μια πλατφόρμα blockchain μπορεί να δημιουργηθεί κάθε είδους ψηφιακό ή ψηφιοποιημένο περιουσιακό στοιχείο (digital or digitized asset ή cryptoasset), το οποίο στη συνέχεια, μέσω ενσωματωμένων εφαρμογών, μπορεί να γίνει αντικείμενο μεταφοράς, ανταλλαγής και διαπραγμάτευσης. Για να συμβεί αυτό ακολουθείται μια διαδικασία που λέγεται tokenization, με την οποία δημιουργούνται ψηφιακά αποτυπώματα του περιουσιακού στοιχείου (tokens), τα οποία προσφέρονται στους επενδυτές. Η πιο γνωστή έκφανση των κρυπτοστοιχείων είναι τα κρυπτονομίσματα, τα οποία βασίζονται στο πρωτόκολλο της πλατφόρμας blockchain και μπορούν να χρησιμοποιηθούν ως μέσα πληρωμής για υπηρεσίες εκτός της πλατφόρμας.

Ένα σύστημα λογισμικού μπορεί να χαρακτηριστεί ως κεντροποιημένο (centralized) ή αποκεντρωμένο (decentralized). Στην πρώτη περίπτωση, υπάρχει ένας κεντρικός κόμβος (node), δηλαδή ένας υπολογιστής με το κατάλληλο λογισμικό, το οποίο συντονίζει όλους τους άλλους κόμβους, οι οποίοι συνδέονται με αυτόν.  Στο αποκεντρωμένο σύστημα, υπάρχουν πολλοί διασυνδεδεμένοι μεταξύ τους ομότιμοι κόμβοι (peer-to-peer), χωρίς ιεραρχία και χωρίς να υπάρχει ένας κεντρικός κόμβος ελέγχου. Ο τρόπος λειτουργίας των δύο συστημάτων μπορεί να γίνει κατανοητός με ένα θεωρητικό παράδειγμα χρηματοοικονομικής συναλλαγής.

Έστω ότι ο Α θέλει να στείλει χρήματα στο Β. Στο κεντροποιημένο σύστημα υπάρχει ένας κεντρικός αντισυμβαλλόμενος (μια τράπεζα), ο οποίος διαχειρίζεται, έναντι αμοιβής, ένα ιδιωτικό μητρώο, διασφαλίζει ότι η συναλλαγή μπορεί να πραγματοποιηθεί, δηλαδή ο Α έχει στη διάθεσή του το ποσό, και πραγματοποιεί τη μεταφορά με πίστωση και χρέωση των αντίστοιχων λογαριασμών. Το νομοθετικό πλαίσιο εξασφαλίζει την ακρίβεια των καταχωρήσεων. Στο αποκεντρωμένο σύστημα δεν υπάρχει κεντρικός αντισυμβαλλόμενος και ο Α πρέπει να μεταδώσει το αίτημά του προς το δίκτυο κόμβων (όπως ένα ηλεκτρονικό μήνυμα – email), όπου οι συμμετέχοντες πρέπει να επικυρώσουν τη συναλλαγή.

Για να γίνει αυτό πρέπει να γνωρίζουν αν ο Α έχει στη διάθεσή του το ποσό, δηλαδή όλοι οι κόμβοι πρέπει να έχουν, ανά πάσα στιγμή, το ίδιο σύνολο πληροφοριών. Ως εκ τούτου, υπάρχει ένα δημόσιο μητρώο, ανοιχτό σε όλους, με την ιστορία όλων των προηγούμενων συναλλαγών. Έτσι μπορούν να επιβεβαιώσουν ότι ο Α έχει στη διάθεσή του το ποσό. Για να αποφευχθούν παρατυπίες, δηλαδή ένας κακόβουλος κόμβος να βεβαιώσει ψευδώς ότι ο Α διαθέτει το ποσό ή να αλλοιώσει το μήνυμα του Α υπέρ του, υπάρχει ένας μηχανισμός συναίνεσης (consensus mechanism), τον οποίο ακολουθούν όλοι οι κόμβοι. Στην πραγματικότητα, αυτό είναι ένα πρωτόκολλο, το οποίο περιγράφει τους κανόνες που επιτρέπουν στους χρήστες να καταλήξουν σε αμοιβαία συμφωνία. Ο κόμβος που επιβεβαιώνει ότι ο Α διαθέτει το ποσό, το κοινοποιεί στους υπόλοιπους κόμβους, οι οποίοι εξετάζουν αν τηρήθηκε το πρωτόκολλο, και επιβεβαιώνουν τη συναλλαγή. Σε αντίθετη περίπτωση απορρίπτουν τη συναλλαγή.

Η τεχνολογία blockchain είναι μια εφαρμογή του αποκεντρωμένου συστήματος λογισμικού.  Άρα, το αποκεντρωμένο σύστημα λογισμικού είναι στην ουσία ένα μητρώο δεδομένων (ledger), στο οποίο αποθηκεύονται και επαληθεύονται οι πληροφορίες. Για την τήρηση του μητρώου δεν είναι υπεύθυνη κάποια αρχή, αλλά όλοι οι κόμβοι, οι οποίοι, αφού επιβεβαιώσουν τη συναλλαγή βάσει του πρωτοκόλλου, ενημερώνουν, ταυτόχρονα όλοι μαζί, το μητρώο με τις αλλαγές. Με αυτό τον τρόπο, ανά πάσα στιγμή, όλοι οι κόμβοι έχουν πρόσβαση στην ίδια κατάσταση του μητρώου. Συνεπώς, ένα αποκεντρωμένο σύστημα λογισμικού δεν είναι μόνο αποκεντρωμένο, αλλά και κατανεμημένο (distributed), με την έννοια ότι ολόκληρο το μητρώο συναλλαγών τηρείται και ενημερώνεται από όλους τους κόμβους, ώστε όλοι να έχουν το ίδιο ενημερωμένο μητρώο, εξ’ ου και η ονομασία, κατανεμημένη τεχνολογία καθολικού (Distributed Ledger Technology – DLT).

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

Σε μια πλατφόρμα blockchain, όλες οι εκκρεμείς συναλλαγές ομαδοποιούνται σε ένα μπλοκ, το οποίο συνδέεται με το προηγούμενο μπλοκ συναλλαγών και επομένως το δημόσιο μητρώο περιέχει πολλά μπλοκ, το καθένα συνδεδεμένο με ένα πριν από αυτό, με χρονολογική σειρά, σχηματίζοντας έτσι μια αλυσίδα (block chain). Έτσι, το δημόσιο μητρώο, το οποίο δημιουργείται με την τεχνολογία blockchain μπορεί να παρομοιασθεί με ένα βιβλίο, όπου οι σελίδες του περιέχουν όλες τις προηγούμενες συναλλαγές, και ένα νέο μπλοκ είναι μια νέα σελίδα, όπου καταγράφονται όλες τις τρέχουσες συναλλαγές. Όταν κάποιος θέλει να επικυρώσει μια συναλλαγή μπορεί να ανατρέξει στις σελίδες του «βιβλίου» ώστε να διαπιστώσει ότι η αιτούμενη συναλλαγή μπορεί να πραγματοποιηθεί.

Μπορεί κάποιος να αντικαταστήσει μια σελίδα από το «βιβλίο» ώστε να παραπλανηθούν όλοι και να επικυρωθεί μια συναλλαγή που δεν πρέπει; Με άλλα λόγια, είναι δυνατή η αντικατάσταση ενός μπλοκ από το δημόσιο μητρώο, ώστε να φαίνεται, ψευδώς, ότι κάποιος κατέχει το ποσό που επιθυμεί να αποστείλει;

Η ακεραιότητα του συστήματος επιτυγχάνεται μέσω της κρυπτογράφησης, και συγκεκριμένα με τη μέθοδο hashing, μέσω της οποίας δημιουργείται μια τιμή (hash), δηλαδή ένα σταθερού μήκους μήνυμα, το οποίο ενσωματώνει τα δεδομένα της συναλλαγής[1] . Η μέθοδος hashing δίνει τη δυνατότητα να αναζητηθούν και να αναγνωρισθούν προηγούμενες πληροφορίες. Έτσι κάθε μπλοκ περιλαμβάνει την τιμή hash των συναλλαγών και την τιμή hash του προηγούμενου μπλοκ.  Αν κάποιος επιχειρήσει κακόβουλα να τροποποιήσει ένα προηγούμενο μπλοκ, τότε θα αλλάξει η τιμή hash του μπλοκ, και αυτή δεν θα επιβεβαιωθεί από το νέο μπλοκ, και συνεπώς η συναλλαγή δεν θα επικυρωθεί. Συνεπώς, η κρυπτογράφηση χρησιμοποιείται για να επαληθεύσει ότι οι πληροφορίες στα προηγούμενα μπλοκ δεν έχουν τροποποιηθεί.  Αυτή η επαναληπτική διαδικασία επιβεβαιώνει την ακεραιότητα των προηγούμενων μπλοκ, μέχρι το αρχικό μπλοκ γένεσης (genesis block). Έτσι εξασφαλίζεται η ακεραιότητα των δεδομένων καθώς καμία εγγραφή δεν μπορεί να τροποποιηθεί αναδρομικά. Θεωρητικά, βεβαίως, υπάρχει η δυνατότητα τροποποίησης ενός μπλοκ και όλων των επόμενων μπλοκ, αλλά αυτό απαιτεί τη συναίνεση όλου του δικτύου. Η συναίνεση μπορεί να είναι κακόβουλη σε περίπτωση που ένας κόμβος ελέγχει τουλάχιστο το 51% των κόμβων του δικτύου (Sybil attack).

Για να γίνει αποδεκτό ένα μπλοκ στην αλυσίδα, πρέπει να διασφαλισθεί η συναίνεση του δικτύου. Η διαδικασία συναίνεσης είναι, κατ’ ουσία, μια διαδικασία επαλήθευσης της τιμής hash και ονομάζεται εξόρυξη (mining). Κάθε κόμβος έχει στη διάθεσή του μια ομάδα εκκρεμών συναλλαγών, οι οποίες έχουν μεταδοθεί στο δίκτυο αλλά δεν έχουν ακόμη συμπεριληφθεί στην αλυσίδα των μπλοκ επειδή δεν έχει επιτευχθεί ακόμη συναίνεση. Σε τακτά χρονικά διαστήματα, κάθε κόμβος που συμμετέχει στην εξόρυξη προτείνει στο δίκτυο το επόμενο υποψήφιο μπλοκ (candidate block) για να προσδεθεί στην αλυσίδα. Για να το κάνει αυτό πρέπει πρώτα να επιλύσει ένα μαθηματικό γρίφο. Πρέπει να βρει ένα αυθαίρετο αριθμό (Number used Once – nonce), ο οποίος μαζί με την τιμή hash των συναλλαγών και την τιμή hash του προηγούμενου μπλοκ, δημιουργούν την τιμή hash του μπλοκ ή το ψηφιακό αποτύπωμα του μπλοκ. Για να είναι έγκυρο το μπλοκ πρέπει το ψηφιακό του αποτύπωμα (τιμή hash) να είναι μικρότερο από μια ορισμένη τιμή κατωφλίου, η οποία ορίζεται από το πρωτόκολλο. Οι κόμβοι δοκιμάζουν διαφορετικά nonces, ψάχνοντας αυτό που προκαλεί την τιμή hash του μπλοκ να είναι μικρότερη του ορίου. Ο μόνος τρόπος για να λυθεί ο γρίφος είναι η δοκιμή και το λάθος, και συνεπώς κάθε κόμβος χρησιμοποιεί την υπολογιστική του δύναμη για να βρει τον τυχαίο αριθμό, ο οποίος ικανοποιεί τη συνθήκη. Δοκιμάζει πολλά nonces μέχρι να βρεθεί τυχαία το ζητούμενο. Όσο μεγαλύτερη υπολογιστική δύναμη χρησιμοποιείται τόσο μεγαλύτερη η πιθανότητα να βρεθεί το σωστό nonce. Παράλληλα, η συνθήκη για κάθε νέο υποψήφιο μπλοκ γίνεται δυσκολότερη, απαιτώντας μεγαλύτερη υπολογιστική ισχύ, η οποία με τη σειρά της δυσκολεύει το κριτήριο, κ.ο.κ..  Για το λόγο αυτό η διαδικασία (proof-of-work) έχει κατηγορηθεί για σπατάλη ενέργειας, γεγονός που ανάγκασε ορισμένες πλατφόρμες blockchain να αναζητήσουν εναλλακτικό μηχανισμό. Σε μερικές περιπτώσεις ο κόμβος, ο οποίος θα προσδέσει στην αλυσίδα ένα νέο μπλοκ, επιλέγεται ανάλογα με την αξία που διακυβεύεται (proof- of- stake), το οποίο όμως δημιουργεί πρόβλημα ισότητας των κόμβων.

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

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

Μια πλατφόρμα blockchain μπορεί να είναι είτε ανοιχτή/δημόσια, δηλαδή, να επιτρέπει την πρόσβαση σε οποιονδήποτε με υπολογιστή και το κατάλληλο λογισμικό ή κλειστή/ ιδιωτική, όπου επιτρέπεται μόνο περιορισμένη πρόσβαση. Στην πρώτη περίπτωση ο καθένας μπορεί να δημιουργήσει ένα κόμβο, να συνδεθεί με ένα άλλο κόμβο ώστε να αποκτήσει πρόσβαση σε όλο το δίκτυο, και να αρχίσει να επικυρώνει τις συναλλαγές και να συμμετέχει στις διαδικασίες συναίνεσης. Συνήθως η πλατφόρμα blockchain προβλέπει αμοιβή σε όποιον επικυρώσει πρώτος τη συναλλαγή. Αν η πλατφόρμα blockchain είναι κλειστή/ιδιωτική, απαιτείται άδεια για συμμετοχή στο δίκτυο.

Έτσι, μερικές φορές αναφερόμαστε σε blockchain με ή χωρίς άδεια χρήσης (permissioned or permissionless), κάτι ανάλογο με το διαδίκτυο (internet), το οποίο είναι ανοικτό σε όλους, και το εσωτερικό δίκτυο (intranet), στο οποίο υπάρχει περιορισμένη πρόσβαση.

Ανακεφαλαιώνοντας, η τεχνολογία blockchain παρουσιάζει τα εξής χαρακτηριστικά:

(i) Είναι αποκεντρωμένη (decentralized), δηλαδή, δεν υπάρχει μια κεντρική αρχή για τη διεκπεραίωση των συναλλαγών.

(ii)   Είναι διαφανής (transparent), διότι οι συναλλαγές καταγράφονται σε δημόσιο μητρώο, στο οποίο έχουν πρόσβαση όλα τα μέρη του δικτύου.

(iii)  Δεν επιδέχεται μεταβολή (immutable), καθώς με τη χρήση της κρυπτογραφίας αποτρέπεται η αλλοίωση του δημόσιου μητρώου.

(iv)  Λειτουργεί με βάση τη συναίνεση (consensus driven), καθώς για να ενημερωθεί το δημόσιο μητρώο με μια νέα συναλλαγή, απαιτείται συναίνεση όλων.

(v)  Επιτρέπει οριστικοποίηση των συναλλαγών (finality) για τις οποίες υπάρχει συναίνεση.

Η σημασία της τεχνολογίας blockchain καθώς και το πλήθος των πιθανών εφαρμογών της, κέντρισε το ενδιαφέρον πολλών διεθνών οργανισμών. Η Ευρωπαϊκή Επιτροπή θεωρεί το blockchain ως στρατηγική τεχνολογία και ενθαρρύνει τις κυβερνήσεις, τη βιομηχανία και τους πολίτες να επωφεληθούν από ευκαιρίες που προσφέρει[2].  Η Επιτροπή θεωρεί ότι η τεχνολογία blockchain “… βρίσκεται ακόμα σε φάση ωρίμανσης και υπάρχει ανάγκη για περισσότερη καινοτομία, έρευνα, ανάπτυξη, καθοδήγηση και αποσαφήνιση των όρων, προκειμένου να ενθαρρυνθεί το ενδιαφέρον”[3] . Στόχος είναι να αναπτυχθεί μια κοινή προσέγγιση για την τεχνολογία blockchain της Ευρωπαϊκής Ένωσης στη διεθνή σκηνή. Για το σκοπό αυτό, οι κατανεμημένες τεχνολογίες καθολικού (DLT) εξετάζονται στο πλαίσιο του προγράμματος «Horizon 2020» και των δράσεων συνεργασίας Fintech, ενώ ξεκίνησε το «Παρατηρητήριο της Ευρωπαϊκής Ένωσης για το Blockchain», προκειμένου να γίνει κόμβος γνώσεων σχετικά με blockchain, να χαρτογραφήσει τις σχετικές πρωτοβουλίες, να ανταλλάξει εμπειρίες και να συγκεντρώσει την τεχνογνωσία σχετικά το blockchain.

[1] Μια κρυπτογραφική συνάρτηση κατατεμαχισμού (cryptographic hash function) χρησιμοποιείται για να παραχθεί μια τιμή κατακερματισμού (hash).  Η συνάρτηση μετατρέπει ένα δεδομένο τυχαίου μεγέθους σε αλφαριθμητικό κείμενο συγκεκριμένου μεγέθους, το οποίο δεν είναι αναγνώσιμο. Παραδείγματος χάριν, η τιμή κατακερματισμού του δεδομένου «Πανεπιστήμιο Αθηνών», με τη συνάρτηση SHA-256, είναι:

«7650a264ad4a543969649d7702e9d9a827e4169b9a02f2fe18c868e0f2671ea2»

Μια μικρή αλλαγή στο δεδομένο παράγει μια εντελώς διαφορετική τιμή. Το δεδομένο «πανεπιστήμιο Αθηνών» έχει τιμή:

[2] Michele Finck (2018), “Blockchain Regulation and Governance in Europe”, Cambridge University Press

[3] Βλέπε https://ec.europa.eu/digital-single-market/en/blockchain-technologies

M Masters D Diplomas B Bachelors