Blockchain εξηγείται

blockchain-101

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

Πολύ απλά, το blockchain είναι λογισμικό που λειτουργεί σε εκατομμύρια υπολογιστές. Αυτοί οι υπολογιστές (ή κόμβοι) επικοινωνούν μεταξύ τους για να διασφαλίσουν ότι τα δεδομένα παραμένουν συγχρονισμένα.

Αλλά πώς λειτουργεί και γιατί εφευρέθηκε?

Το πρόβλημα των διπλών δαπανών

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

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

Για παράδειγμα, ας πούμε ότι η Χάνα έχει 10 δολάρια και πρέπει να πληρώσει στην Αλίκη 3 δολάρια και στη Λίαμ 5 δολάρια. Το λογικό, επιτυχημένο τέλος αυτών των συναλλαγών θα είχε ως αποτέλεσμα η Χάνα να έχει 2 $, η Αλίκη με 3 $ και ο Liam με 5 $. Η Χάνα δεν μπορεί να στείλει τα ίδια χρήματα τόσο στην Αλίκη όσο και στον Λίαμ την ίδια στιγμή. Αν το έκανε αυτό, η Χάνα θα κατέληγε με 5 δολάρια, η Αλίκη της 3 και ο Λίαμ τα 5 δολάρια του. Η Χάνα θα είχε δημιουργήσει μαγικά 3 $ επιπλέον. Θα είχε ξοδέψει τα χρήματά της δύο φορές.

Χωρίς μια αξιόπιστη, κεντρική αρχή όπως μια τράπεζα που τηρεί αρχεία για κάθε μία από αυτές τις συναλλαγές, το χρηματοπιστωτικό σύστημα θα καταρρεύσει γρήγορα.

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

Πώς το λύνει το Bitcoin/το Blockchain

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

Ο Νικ Σάμπο είχε παρουσιάσει Bitgold το 2005. Το Bitcoin είναι τόσο παρόμοιο με το Bitgold και μοιράζεται τόσες πολλές από τις ιδέες του που μερικοί άνθρωποι υποπτεύονται ότι ο Szabo είναι ο Satoshi Nakamoto.

Κρυπτογραφία δημόσιου κλειδιού

Για να καταλάβετε πώς λειτουργεί η τεχνολογία blockchain, πρέπει να κατανοήσετε την κρυπτογραφία δημόσιου κλειδιού. Οι πλήρεις τεχνικές λεπτομέρειες αυτού του θέματος είναι πέρα ​​από το πεδίο εφαρμογής αυτού του άρθρου. Περισσότερες λεπτομέρειες είναι διαθέσιμες εδώ.

Σε πολύ υψηλό επίπεδο, η κρυπτογραφία δημόσιου κλειδιού βασίζεται σε δύο κλειδιά: ένα δημόσιο κλειδί και ένα ιδιωτικό κλειδί. Αυτά τα δύο κλειδιά είναι συνδεδεμένα αλλά χωριστά όπως παρακάτω:

  • Μόνο το δημόσιο κλειδί μπορεί να αποκρυπτογραφήσει δεδομένα που κρυπτογραφήθηκαν από το αντίστοιχο ιδιωτικό κλειδί
  • Το δημόσιο κλειδί μπορεί να επαληθεύσει δεδομένα που υπογράφονται από το αντίστοιχο ιδιωτικό κλειδί

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

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

Για αναφορά, μοιάζει με ένα δημόσιο κλειδί:

305C300D06092A864886F70D01010105 00034B003048024100A251C92CCA3E7B 6599146DDB10044807B3AA1EFA8BE627 4D329765E0CC5A0EA03CA8F02D8922032022052A82203202B9002B9002A03B092D01B092D01B092B092D092B092B092B092B092B092B0892D092B092B092B0892D09220922092209220922092209220922092209220920002000

Ένα κρυπτογραφημένο μήνυμα θα μπορούσε να μοιάζει κάπως έτσι:

—–BEGIN PGP ΜΗΝΥΜΑ —– hIwCMavvb4t6z90BA / 42UOAdWvnzfhRG2xXyYe203CISLsn2O39vM / y640hNbSl7 U29aNGZFfLMRGn7eLZG43SWwBz4cHjphG6iAzeLftRgHkLggxXA9VpGki5PyNID9 B0rk4TpRVE3qzgTbdio69aMlK6BdAQ4zWkyxSCi0oR3Vpnh + VVZyOVyaX8etlYRM AvUTsuDYCkr1AQH + OlA4ntqhxoPP / SJpKm5ugMLYiiij8ak8V90a8IYMkYB0CzMr liOJ6ZZxQm1x8orgjL / 6Bm5EoSvN4eCCeA / xXKYAAAHXLhG47kVhJkjlPrI / U / SR 2aQEm6r + aU1s0ziU1LxF2c5DAW6cD5b4xH + EbvYrnQQJClNMh9y03SjviXvnqFDC O4M70u3iLC50 + em4PouqM1DZdoW8O5pb = vhFx —– END PGP MESSAGE—–

Λειτουργίες Hash-SHA-256

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

Το hash είναι σαν μια ψηφιακή υπογραφή ενός μηνύματος. Πολυάριθμοι αλγόριθμοι, γνωστοί ως συναρτήσεις hash, έχουν αναπτυχθεί για τη δημιουργία ενός κατακερματισμού, όπως π.χ. MD5 και SHA-1, αλλά αυτό που χρησιμοποιείται πιο συχνά τώρα ονομάζεται SHA-256. Οι λεπτομέρειες του hashing και των μαθηματικών που εμπλέκονται στις διάφορες συναρτήσεις hash είναι περιττές για την κατανόηση του blockchain.

Η συνάρτηση κατακερματισμού είναι μια μονόδρομη συνάρτηση. Αυτό σημαίνει ότι ο κατακερματισμός ενός μηνύματος είναι πάντα ο ίδιος όταν χρησιμοποιείται η ίδια λειτουργία. Ωστόσο, το μήνυμα δεν μπορεί να αποκρυπτογραφηθεί από το hash.

Το SHA-256 παράγει πάντα μια τιμή κατακερματισμού 256 bit. Για παράδειγμα:

[αναγνωριστικός πίνακας = 1 /]

Όπως μπορείτε να δείτε, μια μόνο αλλαγή στα δεδομένα (κεφαλαίο L σε αυτήν την περίπτωση) αλλάζει εντελώς το hash.

Η εισαγωγή δεδομένων στη συνάρτηση κατακερματισμού μπορεί να είναι τόσο απλή όσο μια λέξη ή μπορεί να είναι ολόκληρο το λεξικό και θα παράγει πάντα μια τιμή κατακερματισμού 256 bit παρόμοια με τις παραπάνω.

Τι είναι οι αλυσίδες

Όπως αναφέρθηκε παραπάνω, οποιοδήποτε σύνολο δεδομένων μπορεί να περάσει μέσω μιας συνάρτησης κατακερματισμού για να δημιουργήσει το αντίστοιχο κατακερματισμό του. Σε ένα blockchain, αυτό το σύνολο δεδομένων είναι οι συναλλαγές που πραγματοποιούνται σε αυτό. Κάθε συναλλαγή σε ένα blockchain υπογράφεται ψηφιακά χρησιμοποιώντας το hash του, χρησιμοποιώντας αυτήν τη στιγμή τη λειτουργία SHA-256. Όλες οι επόμενες συναλλαγές θα περιλαμβάνουν την ψηφιακή υπογραφή της προηγούμενης συναλλαγής. Αυτό σχηματίζει ένα αλυσίδα συναλλαγών έτσι ώστε εάν κάποιος τροποποιήσει οποιαδήποτε συναλλαγή στην αλυσίδα, θα αλλάξει την τιμή κατακερματισμού όλων των επόμενων συναλλαγών. Αυτό καθιστά εύκολο τον εντοπισμό οποιασδήποτε αλυσίδας όπου μια προηγούμενη συναλλαγή έχει τροποποιηθεί μόνο συγκρίνοντας τιμές κατακερματισμού.

Παράδειγμα: Πείτε ότι ο Bob πρέπει να μεταφέρει 10 $ στην Alice και άλλα 5 $ στον Charlie. Δεδομένου ότι οι συναλλαγές είναι ατομικές, η μεταφορά του Μπομπ των $ 10 στην Αλίκη θα γίνει πρώτα. Αυτή η συναλλαγή θα υπογραφεί ψηφιακά χρησιμοποιώντας τον κατακερματισμό SHA-256. Η επόμενη συναλλαγή του Bob που μεταφέρει 5 $ στον Charlie θα υπογραφεί επίσης ψηφιακά, αλλά αυτή τη φορά θα περιλαμβάνει επίσης το hash της προηγούμενης συναλλαγής.

[αναγνωριστικός πίνακας = 2 /]

Φυσικά, οι συναλλαγές σε ένα blockchain δεν θα μοιάζουν με αυτό, αλλά αυτό δίνει μια γενική αναπαράστασή του.

Τι είναι η εξόρυξη

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

Ο σκοπός των ανθρακωρύχων είναι να επαληθεύσουν τις συναλλαγές που γίνονται στο blockchain. Όταν ένας αριθμός αλυσίδων συναλλαγών έχει επαληθευτεί, συνδυάζονται για να σχηματίσουν ένα ΟΙΚΟΔΟΜΙΚΟ ΤΕΤΡΑΓΩΝΟ των συναλλαγών.

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

Οι ανθρακωρύχοι πρέπει να δείξουν το δικό τους απόδειξη εργασίας να κερδίσουν την ανταμοιβή τους. ο εργασία είναι να βρούμε ουσιαστικά ένα πεδίο 32-bit το οποίο όταν κατακερματίζεται με την τιμή κατακερματισμού της αλυσίδας συναλλαγών δημιουργεί μια άλλη τιμή κατακερματισμού με έναν καθορισμένο αριθμό μηδενικών. Αυτό το πεδίο ονομάζεται nonce. Ο αριθμός των μηδενικών που θα δημιουργηθούν καθορίζεται από τη δυσκολία που αλλάζει μετά την εξόρυξη ενός καθορισμένου αριθμού μπλοκ. Όσο μεγαλύτερος είναι ο αριθμός των μηδενικών, τόσο πιο δύσκολο γίνεται να βρεθεί το μηδενικό. 

Για παράδειγμα, το nonce του μπλοκ Bitcoin #493257 βρέθηκε να είναι 1488602745 το οποίο όταν κατακερματίστηκε με τις συναλλαγές σε αυτό το μπλοκ δημιούργησε το hash για το μπλοκ του 00000000000000000034bd56aea0c6db865e8dff1fe5d2023170b568ad5e0968. Λάβετε υπόψη τα κορυφαία μηδενικά στην τιμή κατακερματισμού του μπλοκ.

Είναι εξαιρετικά αδύνατο να προκύψει μια μη χρήση ενός τύπου. Ο μόνος τρόπος για να βρείτε το nonce είναι μέσω εικασίας. Αυτό σημαίνει ότι οι ανθρακωρύχοι πρέπει να ξοδέψουν τη δική τους υπολογιστική ισχύ για να περάσουν από έναν δυνητικά μεγάλο αριθμό τιμών 32-bit πριν πέσουν ουσιαστικά σε αυτήν που πληροί τις απαιτήσεις για τα κορυφαία μηδενικά. Το γεγονός ότι βρήκαν το nonce αποδεικνύει ότι έχουν κάνει τη δουλειά για να το βρουν.

Βάζοντας μαζί το Blockchain

Η κρυπτογραφία δημόσιου κλειδιού διασφαλίζει ότι οι συναλλαγές μεταξύ δύο λογαριασμών είναι ασφαλείς.

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

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

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