Είναι το Blockchain και το Bitcoin Πραγματικά Αναλλοίωτα;
Εξετάζουμε σε βάθος την έννοια του blockchain, την εφαρμογή που έχει στο Bitcoin και το αν είναι αναλλοίωτα ή όχι. Μοιραστείτε
Όποτε μιλάμε για blockchain, η μονιμότητα των δεδομένων είναι το επόμενο πράγμα που έρχεται ως λογική ακολουθία. Υπάρχουν διάφορες απόψεις επί του θέματος, αλλά το τελικό ερώτημα είναι αυτό – είναι το blockchain και το Bitcoin μη-αλλοιώσιμα; Η σύντομη απάντηση είναι – Ναι, τα blockchains και τα Bitcoins δεν μπορούν να αλλαχθούν. Η πιο διευρυμένη απάντηση απαιτεί να ξέρετε τους λόγους πίσω από την απάντηση ώστε να μπορείτε να κατανοήσετε τις προεκτάσεις.
Προτού δούμε το θέμα σε βάθος, είναι σημαντικό να κατανοήσουμε τα βασικά του blockchain χωρίς όμως να μπούμε σε πολύ τεχνικές λεπτομέρειες. Τι είναι λοιπόν το blockchain; Πολλοί χρησιμοποιούν τον όρο του blockchain και του Bitcoin εναλλάξ, όμως δεν είναι το ίδιο. Το blockchain είναι μια έννοια, μία ιδέα. Το Bitcoin είναι η πρώτη μεγάλη εφαρμογή αυτής της ιδέας. Μπορούν να υπάρξουν κι’ άλλες διαφορετικές εφαρμογές βασισμένες στην ιδέα του blockchain που να μην σχετίζονται καθόλου με το Bitcoin. Στην πραγματικότητα, υπάρχει καλή πρόοδος σε άλλες εφαρμογές όπως έξυπνα συμβόλαια, διατραπεζική εκκαθάριση συναλλαγών κτλ, που είναι πιο ενδιαφέρουσες από το Bitcoin.
Με αυτή την έννοια, το blockchain είναι ένα διαμοιρασμένο αρχείο τήρησης ιστορικών καταγραφών. Σε αντίθεση με ότι συνηθίζεται, όπου υπάρχει κάποια αξιόπιστη κεντρική αρχή να ελέγχει τα πράγματα, το blockchain παρέχει ένα δίκτυο όπου δεν υπάρχει κανένα ίχνος εξουσίας. Δεν υπάρχει ανάγκη "εμπιστοσύνης" προς κάποιον αφού το σύστημα είναι σχεδόν αδύνατο να τεθεί υπό τον έλεγχο κάποιου. Αυτή η αποκέντρωση είναι που το κάνει τόσο ισχυρό και ελκυστικό στους απλούς ανθρώπους.
Το Bitcoin είναι ένα κρυπτονόμισμα που βασίζεται στο blockchain και δεν ελέγχεται από κανέναν. Οι συναλλαγές είναι άμεσες και υπάρχει ένα μικρό τέλος για την κάθε συναλλαγή, γεγονός που το καθιστά ιδιαίτερα δημοφιλές για παγκόσμιες πληρωμές. Όμως δεν υπάρχει κάποια εγγενής αξία στο ίδιο το νόμισμα, αφού δεν υποστηρίζεται από κάτι άλλο. Η αξία του εξαρτάται από το χρηματικό ποσό που προτίθενται να πληρώσουν όσοι θέλουν να το αποκτήσουν και σχετίζεται άμεσα με την εμπιστοσύνη των ανθρώπων στο σύστημα. Γι' αυτό βλέπετε την τιμή του Bitcoin να πέφτει όταν υπάρχουν κάποια αρνητικά νέα που σχετίζονται με το blockchain. (Μπορείτε να διαβάσετε περισσότερα για το Bitcoin εδώ.)
Τι είναι λοιπόν η μη-αλλοιωσιμότητα και γιατί θα πρέπει να σας ενδιαφέρει; Σε γενικές γραμμές η μη-αλλοιωσιμότητα (immutability) αναφέρεται σε κάτι που δεν μπορεί να αλλαχθεί μετά τη δημιουργία του. Όσοι ασχολούνται με προγραμματισμό κατανοούν τη σημασία των μη-αλλοιώσιμων αντικειμένων. Το νόημα είναι παρόμοιο στο πλαίσιο του blockchain, αλλά έχει πολύ μεγαλύτερη σημασία. Για να εξηγήσουμε γιατί είναι τόσο σημαντικό, ας μιλήσουμε με συγκεκριμένους όρους παίρνοντας το παράδειγμα του Bitcoin.
Οι συναλλαγές του Bitcoin – οι οποίες γίνονται σε όλο τον κόσμο – αποθηκεύονται με διαμοιραζόμενο τρόπο πάνω στο δίκτυο, σε πολλαπλά αντίγραφα των ίδιων δεδομένων. Πρόκειται πραγματικά για μια αλυσίδα από κρίκους που ο ένας συνδέεται με τον άλλον. Αν αυτοί οι κρίκοι μπορούν να μεταβληθούν, τότε είναι εύκολο για κάποιον κακόβουλο να αλλάξει την ιστορία των συναλλαγών και να γίνει πολύ πλούσιος αλλάζοντας τα αρχεία των συναλλαγών. Γι' αυτό η σταθερότητα των δεδομένων του κάθε κρίκου είναι τόσο σημαντική. Ας το δούμε και πιο αναλυτικά:
Για να αρχίσετε μια νέα συναλλαγή, εκπέμπετε ένα μήνυμα με τις πληροφορίες της συναλλαγής του τύπου “πλήρωσε τον Bob με 9 BTC.” Όμως πώς ξέρει ο κόσμος ότι εσείς το στείλατε και δεν είναι κάποιος άλλος αυτός που έδωσε την εντολή για την συναλλαγή; Αυτός είναι ο λόγος που το λογισμικό (ή το πορτοφόλι) του Bitcoin που χρησιμοποιείτε δημιουργεί μια ψηφιακή υπογραφή για κάθε συναλλαγή από το ιδιωτικό σας κλειδί, το οποίο γνωρίζετε μόνο εσείς (το σύστημά σας) και είναι μοναδικό για κάθε συναλλαγή. Οι άλλοι θα χρησιμοποιήσουν ένα αντίστοιχο δημόσιο κλειδί προκειμένου να αποκρυπτογραφήσουν το μήνυμα. Το παρακάτω διάγραμμα εξηγεί πως πάει η ροή σε ένα υψηλότερο επίπεδο:
Όμως αφού η συναλλαγή πάει μέσω δικτύων και υπολογιστών, που δεν είναι και τόσο έμπιστοι, πως μπορεί να διασφαλιστεί ότι το μήνυμα θα παραμείνει αναλλοίωτο και δεν θα αλλαχτούν οι λεπτομέρειές του; Ο τρόπος με τον οποίο δουλεύουν οι ψηφιακές υπογραφές είναι τέτοιος όπου αν το μήνυμα αλλοιωθεί, ακυρώνεται η υπογραφή και έτσι όλοι ξέρουν ότι έχει πειραχθεί. Στη συνέχεια, η συναλλαγή κατευθύνεται σε μια δεξαμενή ανεπιβεβαίωτων συναλλαγών. Αυτοί που συμμετέχουν στο δίκτυο του Bitcoin επιλέγουν κάποιες από αυτές και προσπαθούν να τις προσθέσουν στον κρίκο που υπάρχει ήδη. Όμως προκειμένου να προστεθεί η συναλλαγή, ένα μαθηματικό παζλ πρέπει πρώτα να επιλυθεί (ο Αλγόριθμος SHA256, για να ακριβολογούμε). Η εύρεση της λύσης σ' αυτό το παζλ τρώει χρόνο, που σηματοδοτεί ένα πολύ σημαντικό χαρακτηριστικό του δικτύου του Bitcoin το οποίο θα δούμε αργότερα. Πολλοί προσπαθούν να λύσουν αυτό το παζλ ταυτόχρονα. Όποιος το λύσει πρώτος, μπορεί να προσθέσει τη συναλλαγή στον υπάρχοντα κρίκο της αλυσίδας και θα λάβει ένα μικρό ποσοστό από Bitcoin ως ανταμοιβή. Το παρακάτω διάγραμμα το εξηγεί. Παρατηρήστε ότι η τελευταία συναλλαγή έχει ένα δείκτη προς τη παλαιότερη συναλλαγή που σχηματίζει τον κρίκο.
Εξ αιτίας της φύσης της υποδομής του Bitcoin, μπορούν να υπάρχουν πολλά παράλληλα παρακλάδια του blockchain που έχουν αντιφατικές πληροφορίες. Πώς ξέρουμε ποιο να εμπιστευτούμε; Ο κανόνας είναι ότι αυτό που πρέπει να εμπιστευόμαστε είναι η πιο μακριά αλυσίδα ενώ το μικρότερο παρακλάδι πάει προς τη δεξαμενή των ανεπιβεβαίωτων συναλλαγών. Γι' αυτό υπάρχει μια περίοδος ηρεμίας μετά τη συναλλαγή και γι' αυτή τη περίοδο είναι γενικά αβέβαιη η έκβαση αφού δεν έχει επιβεβαιωθεί. Ορισμένα πορτοφόλια τις δείχνουν με κόκκινο για να το επισημάνουν.
Και εδώ ξαναθέτουμε το ίδιο ερώτημα. Είναι η αλυσίδα πραγματικά μη-αλλοιώσιμη; Είναι δυνατόν κάποιος κακόβουλος να αλλάξει έναν κρίκο για να επωφεληθεί; Η απάντηση είναι ότι δεν είναι 100% μη-αλλοιώσιμη, αλλά η προσέγγιση με το μαθηματικό παζλ που συζητήσαμε νωρίτερα το κάνει σχεδόν αδύνατο να αλλοιωθεί. Για έναν επιτιθέμενο που θέλει να πετύχει το στόχο της αλλοίωσης, θα πρέπει να δημιουργήσει μια αλυσίδα από κρίκους που είναι μακρύτεροι από τους υφιστάμενους. Η κατανομή και η ανάγκη σε χρόνο για να γίνει κάτι τέτοιο το καθιστούν πρακτικά αδύνατο να το κάνει κάποιος.
Τι γίνεται όμως με τον κρίκο που προστέθηκε ήδη; Μπορεί να αλλαχθεί; Ναι, αλλά από τη στιγμή που οι διάφοροι κόμβοι είναι διάσπαρτοι, θα πρέπει ο επιτιθέμενος να ελέγξει ένα μεγάλο αριθμό υπολογιστών στο δίκτυο. Σε όρους πιθανοτήτων, για να γίνει αυτό, ο επιτιθέμενος θα πρέπει να ελέγχει το 51% των υπολογιστών και από εκεί παίρνει το όνομά της η “επίθεση του 51%”. Τότε προκύπτει ένα λογικό επιχείρημα που λέει ότι αν κάποιος ελέγχει τόσους υπολογιστές, θα ήταν πιο επικερδές να κερδίζει Bitcoins μέσω τίμιας εξόρυξης παρά κλέβοντας το σύστημα.
Εν κατακλείδι, θα ήταν σωστό να πούμε ότι το blockchain είναι πρακτικά μη-αλλοιώσιμο, εφόσον υπάρχουν αρκετοί συμμετέχοντες. Σημαντικό είναι να καταλάβει κάποιος το λόγο γιατί κάποιοι ίσως είναι κάπως παρανοϊκοί σχετικά με το θέμα - ενδεχομένως σωστά.
Σχολιάστε πώς μπορεί να βελτιωθεί το εν λόγω άρθρο. Τα σχόλιά σας έχουν σημασία!