Social Media

Καταρχήν να κάνουμε από την αρχή κάτι κατανοητό, που ίσως μπερδεύει πολλούς. Το Bitcoin δεν είναι το Blοckchain αλλά ούτε και το ανάποδο. Είναι δύο διαφορετικά πράγματα. Το Bitcoin είναι ένα ψηφιακό νόμισμα που βασίζεται στην τεχνολογία Blockchain.

Σωστά λοιπόν μαντέψατε. Tο Blockchain είναι μία τεχνολογία, μία ψηφιακή μέθοδος, ένα τρόπος καταχώρισης δεδομένων, μία ολόκληρη φιλοσοφία, αν θέλετε, που όταν εμφανίστηκε, σχεδόν άλλαξε τον τρόπο σκέψης σε πολλές δραστηριότητες του ανθρώπου. Και όπως ίσως έχετε ήδη ακούσει, το Bitcoin μπορεί και να εξαλείψει, το Blockchain όμως ποτέ. Ήρθε και θα παραμείνει για πάρα πολύ καιρό. Πάμε να δούμε.

Τι είναι το Blockchain;

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

Για την Ιστορία

Πρωτοεμφανίστηκε τον Ιανουάριο του 2009 από κάποιον ή από κάποια ομάδα με το όνομα Satoshi Nakamoto. Είναι ακόμα και σήμερα άγνωστο ποιος ή ποια ομάδα κρύβεται πίσω από αυτό το όνομα.

Τι ακριβώς κάνει;

Ας φανταστούμε ότι είστε στην Αθήνα και θέλετε να στείλετε λεφτά σε ένα φίλο σας τον Γιώργο, που βρίσκεται στην Κρήτη. Για την κατανόηση του παραδείγματός μας, ας πάμε λίγο πιο πίσω στον χρόνο και ας φανταστούμε ότι είμαστε στο 2008. Δεν υπήρχε το Bitcoin, αλλά ούτε και οι ψηφιακές συναλλαγές. Οπότε πηγαίνετε με τα πόδια μέχρι τη τράπεζα σας και λέτε στο ταμία πάρε λεφτά από το βιβλιάριο μου και στείλε στο Γιώργο στην Κρήτη 100 ευρώ.

Ο ταμίας ελέγχει αν έχετε στην κατοχή σας 100 ευρώ και αν τα βρει, στέλνει μία εντολή να διαγραφούν από εσάς και να μεταφερθούν στον τραπεζικό λογαριασμό του Γιώργου. Μετά ενημερώνετε τηλεφωνικά τον Γιώργο και αυτός περιχαρής πηγαίνει με τα πόδια στην τράπεζά του να εισπράξει 99,50 ευρώ. Η τράπεζα φυσικά κρατάει και μία προμήθεια 0,50 ευρώ για τον κόπο της. Όμως μην γελιέστε. Δεν είναι τα 0,50 ευρώ το πραγματικό κέρδος της τράπεζας. Μάλλον αυτά είναι τα λιγότερα.

Η τράπεζα κερδίζει από το ό,τι κρατάει στα χέρια της ένα ημερολόγιο που καταγράφει όλη τη συναλλαγή· Ότι στις 31 Φεβρουαρίου ο τάδε έστειλε στον δείνα 100 ευρώ. Δεν απέστειλε με φυσικό τρόπο στον Γιώργο τα 100 ευρώ, αλλά απλά κατέγραψε τη συναλλαγή και έδωσε την εντολή στο υποκατάστημά της ή σε έτερη τράπεζα στην Κρήτη να καταβάλει τα λεφτά στον Γιώργο. Αυτό σημαίνει ότι όλο το χρηματοοικονομικό σύστημα μας βασίζεται σε 5-10 τράπεζες, που τις εμπιστευόμαστε να διαχειρίζονται και να κρατούν ένα ημερολόγιο συναλλαγών.

Και αν αναρωτιέστε ποιο είναι το πρόβλημα, σας αναφέρουμε ότι οι τράπεζες λειτουργούν σε μία συναλλαγή σαν μεσάζοντες και με την λογική ότι είναι πολύ περιορισμένες σε αριθμό, καθιστώντας μας βαθιά εξαρτημένους από αυτές. Δε θα ήταν καλύτερα να μπορούσαμε να πραγματοποιούμε τις συναλλαγές μας χωρίς μεσάζοντες, όπως οι τράπεζες; Να λοιπόν τι σκέφτηκε ο (οι) Satoshi Nakamoto όταν ανακάλυψε το Blockchain.

Αρχικά το Blockchain για να λειτουργήσει θέλει να υπάρχουν πάνω από 3 άτομα. Ας κάνουμε ένα παράδειγμα με 5 άτομα. Αυτά τα 5 άτομα αποφασίζουν να κάνουν ένα ξεχωριστό νόμισμα και κάποιες συναλλαγές με αυτό. Αντιλαμβάνονται ότι για να σταθεί στα πόδια του το νέο νόμισμα θα πρέπει να παρακολουθούν τη ροή κεφαλαίων και ένα άτομο – ας το αποκαλούμε Γιώργο – αποφασίζει να κρατήσει μια λίστα όλων των ενεργειών σε ένα ημερολόγιο. Το ημερολόγιο στην αρχή είναι κενό αλλά την 1η ημέρα καταγράφηκαν οι εξής συναλλαγές:

α. Ο Κώστας δίνει στον Μανώλη 100 νομίσματα

β. Ο Μανώλης δίνει στον Γιώργο 150 νομίσματα

γ. Ο Γιώργος δίνει στον Δημήτρη 50 νομίσματα

δ. Ο Δημήτρης δίνει στην Μαρία 20 νομίσματα

Ένας από τους πέντε, ας πούμε ο Δημήτρης, πονηρά σκεπτόμενος, αποφασίζει να κλέψει και να πάει κρυφά στο ημερολόγιο του Γιώργου και κάνει κάποια αλλαγή:

α. Ο Κώστας δίνει στον Μανώλη 100 νομίσματα

β. Ο Δημήτρης δίνει στον Γιώργο 150 νομίσματα

γ. Ο Γιώργος δίνει στον Δημήτρη 50 νομίσματα

δ. Ο Δημήτρης δίνει στην Μαρία 20 νομίσματα

Λειτουργία Hash

Ο Γιώργος παρατήρησε ότι κάποιος είχε αλλοιώσει το ημερολόγιό του και αποφάσισε να το σταματήσει. Βρήκε ένα πρόγραμμα που ονομάζεται Hash, το οποίο μετατρέπει το κείμενο σε ένα σύνολο αριθμών και γραμμάτων, όπως στον παρακάτω πίνακα.

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

Χαρούμενος ο Γιώργος που βρήκε λύση στο πρόβλημά του, μετά από κάθε εγγραφή, εισήγαγε ένα hash που αντιπροσώπευε την εγγραφή αυτή. Το νέο ημερολόγιο είχε πλέον ως εξής:

α. Ο Κώστας δίνει στον Μανώλη 100 νομίσματα 

29f3e7d933dfa9aa6f28b56e2676197d

β. Ο Μανώλης δίνει στον Γιώργο 150 νομίσματα

e20a38184188d3cde4b31ba136ab7f9a

γ. Ο Γιώργος δίνει στον Δημήτρη 50 νομίσματα

d1ce2082961d697493faef24ee227a23

δ. Ο Δημήτρης δίνει στην Μαρία 20 νομίσματα

160830a92d8bf4634d24201092946d2e

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

α. Ο Κώστας δίνει στον Μανώλη 100 νομίσματα

29f3e7d933dfa9aa6f28b56e2676197d

β. Ο Μανώλης δίνει στον Γιώργο 150 νομίσματα

e20a38184188d3cde4b31ba136ab7f9a

γ. Ο Γιώργος δίνει στον Δημήτρη 5 νομίσματα

2e9252e9b7ac9183cc32af4ee373acc4

δ. Ο Δημήτρης δίνει στην Μαρία 20 νομίσματα

160830a92d8bf4634d24201092946d2e

Ο Γιώργος, την επομένη παρατήρησε ότι κάποιος είχε αλλοιώσει ξανά το ημερολόγιο. Αποφάσισε να περιπλέξει την καταγραφή της κάθε συναλλαγής. Μετά από κάθε εγγραφή, εισήγαγε ένα hash που δημιουργήθηκε από την εγγραφή της συναλλαγής + το τελευταίο hash, έτσι ώστε κάθε καταχώρηση να εξαρτάται από την προηγούμενη.

α. Ο Κώστας δίνει στον Μανώλη 100 νομίσματα

29f3e7d933dfa9aa6f28b56e2676197d

β. Ο Μανώλης δίνει στον Γιώργο 150 νομίσματα –

29f3e7d933dfa9aa6f28b56e2676197d

5c1e8fc1a84af70c4847706f3e5af054

γ. Ο Γιώργος δίνει στον Δημήτρη 50 νομίσματα –

5c1e8fc1a84af70c4847706f3e5af054

9960e5687176870d6c32d10758ba8f07

δ. Ο Δημήτρης δίνει στην Μαρία 20 νομίσματα –

9960e5687176870d6c32d10758ba8f07

62a154626243b2f41bb79e673a8d6948

Αν ο Δημήτρης τώρα προσπαθήσει να αλλάξει την εγγραφή, θα πρέπει να αλλάξει το hash σε όλες τις προηγούμενες καταχωρήσεις. Αλλά ο Δημήτρης ήταν πεισματάρης και ήθελε πραγματικά να βγάλει εύκολα χρήματα. Έτσι, έφαγε όλη τη νύχτα μετρώντας όλα τα hashes και φτιάχνοντας καινούργια.

Nonce

Αλλά ο Γιώργος δεν ήθελε να εγκαταλείψει. Αποφάσισε να προσθέσει έναν αριθμό μετά από κάθε εγγραφή συναλλαγής. Αυτός ο αριθμός ονομάζεται “Nonce”. Το nonce θα πρέπει να επιλέγεται έτσι ώστε το δημιουργημένο hash κάθε συναλλαγής να τελειώνει σε δύο μηδενικά. Διαδικασία όχι εύκολη, αφού απαιτεί επίπονες και ατελείωτες δοκιμές μέχρι να βρεθεί το σωστό nonce.

α. Ο Κώστας δίνει στον Μανώλη 100 νομίσματα 451

29f3e7d933dfa9aa6f28b56e26761900

β. Ο Μανώλης δίνει στον Γιώργο 150 νομίσματα 13

29f3e7d933dfa9aa6f28b56e26761900

5c1e8fc1a84af70c4847706f3e5af000

γ. Ο Γιώργος δίνει στον Δημήτρη 50 νομίσματα 467 –

5c1e8fc1a84af70c4847706f3e5af000

9960e5687176870d6c32d10758ba8f00

δ. Ο Δημήτρης δίνει στην Μαρία 20 νομίσματα 56

9960e5687176870d6c32d10758ba8f00

62a154626243b2f41bb79e673a8d6900

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

Στο δεύτερο μέρος του άρθρου θα επικεντρωθούμε στις έννοιες των Nodes (Κόμβων) και στο Block για να εξηγήσουμε τις αρχές του Blockchain και πως μπορεί αυτή τη τεχνολογία να επηρεάσει τη ζωή μας.

About Συμεών Σιδέρης

Ονομάζομαι Συμεών Σιδέρης, μεγάλωσα και ζω στη Θεσσαλονίκη. Είμαι τελειόφοιτος στο Τμήμα Μηχανικών Παραγωγής και Διοίκησης του ΔΙΠΑΕ. Εργάζομαι στο ΑΠΘ ως Ερευνητικός Συνεργάτης. Τα ερευνητικά ενδιαφέροντα μου αφορούν γενικότερα τη τεχνολογία περισσότερο όμως τα αυτοοδηγούμενα συστήματα και τη βιομηχανική πληροφορική.