Το blockchain και τα κρυπτονομίσματα είναι ένα τεράστιο και πολύπλοκο τοπίο. Πολλά γρανάζια μπαίνουν σε αυτό το μηχάνημα, συμπεριλαμβανομένου κάτι που είναι γνωστό ως δέντρο Merkle. Τα δέντρα Merkle παίζουν βασικό ρόλο στη λειτουργικότητα του blockchain, αλλά τι ακριβώς κάνει; Πώς λειτουργεί ένα δέντρο Merkle και γιατί είναι τόσο σημαντικό στην τεχνολογία blockchain;

Πώς λειτουργεί ένα Blockchain;

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

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

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

εργαλεία όπως ένας εξερευνητής blockchain).

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

Κατά την καταγραφή συναλλαγών σε μια αλυσίδα μπλοκ, τα δέντρα Merkle παίζουν κρίσιμο ρόλο. Πώς λειτουργεί όμως ένα δέντρο Merkle;

Τι είναι το Merkle Tree;

Το όνομα "Merkle tree" έχει δύο προέλευση. Ο όρος "Merkle" αναφέρεται στον Ralph Merkle, έναν Αμερικανό επιστήμονα υπολογιστών και μαθηματικό που συνέβαλε μαζικά στην κρυπτογραφία δημόσιου κλειδιού. Η Merkle αρχικά πρότεινε δυαδικά δέντρα κατακερματισμού το 1987 σε μια εργασία με τίτλο "A Digital Signature Based on a Συμβατική συνάρτηση κρυπτογράφησης." Η Merkle εφηύρε επίσης το κρυπτογραφικό κατακερματισμό, το οποίο χρησιμοποιείται στο Merkle δέντρο.

Το δεύτερο μέρος του "Merkle tree" πηγάζει από τη δομή του. Ένα δέντρο Merkle (ή ένα δυαδικό δέντρο κατακερματισμού) είναι μια δομή δεδομένων που μοιάζει κάπως με δέντρο. Τα δέντρα Merkle περιέχουν "κλαδιά" και "φύλλα", με κάθε "φύλλο" ή "κλαδί" να περιέχει τον κατακερματισμό ενός μπλοκ δεδομένων.

Εν ολίγοις, ένα δέντρο Merkle απλοποιεί τη διαδικασία αποθήκευσης συναλλακτικών κατακερματισμών σε μια αλυσίδα μπλοκ. Συγκεντρώνει όλες τις συναλλαγές σε ένα μόνο μπλοκ και τις κωδικοποιεί αποτελεσματικά για ασφαλέστερη και ταχύτερη αποθήκευση με τη μορφή ενός κατακερματισμού. Χρησιμοποιώντας ένα δέντρο Merkle, η εγκυρότητα των δεδομένων μπορεί να αξιολογηθεί γρήγορα μέσω ενός τελευταίου κατακερματισμού. Αυτό απλοποιεί τη διαδικασία αποθήκευσης δεδομένων αλλά και διατηρεί την ακεραιότητα της ασφάλειας.

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

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

Τα δέντρα Merkle χρησιμοποιούνται σε πολλούς τομείς υπολογιστών (ιδιαίτερα κρυπτογραφία και κρυπτογράφηση), αλλά είναι συχνά γνωστά για την παρουσία τους σε blockchains κρυπτονομισμάτων. Το Bitcoin, το Ethereum, το Dogecoin και όλα τα άλλα κρυπτονομίσματα χρησιμοποιούν το δέντρο Merkle, επομένως είναι αναμφίβολα ένα σημαντικό στοιχείο.

Πως λειτουργεί, λοιπόν?

Πώς λειτουργεί ένα δέντρο Merkle;

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

Πίστωση εικόνας: Azaghal/Wikimedia Commons

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

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

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

Αν και ο τελικός κατακερματισμός εμφανίζεται στην κορυφή του παραπάνω διαγράμματος, είναι γνωστός ως η "ρίζα" του δέντρου (το ριζικό κατακερματισμό). Η ρίζα είναι ουσιαστικά ο κατακερματισμός κορύφωσης όλων των μεμονωμένων κατακερματισμών των συναλλαγών που είναι αποθηκευμένοι στο μπλοκ. Απαιτείται ένα δέντρο Merkle ανά μπλοκ, που σημαίνει ότι κάθε μπλοκ έχει ένα πεδίο δεδομένων Merkle Root.

Εάν έχετε εξετάσει ποτέ σε βάθος τις αλυσίδες μπλοκ, μπορεί να έχετε ακούσει για το Merkle Root ή το Merkle Hash. Μέσα σε ένα μπλοκ υπάρχει κάτι γνωστό ως hashMerkleRoot. Αυτά τα δεδομένα (ο τελικός κατακερματισμός στο τέλος του δέντρου) διατηρούνται στην κεφαλίδα μπλοκ ενός δεδομένου μπλοκ. ΕΝΑ Το blockchain περιέχει επίσης άλλα δεδομένα, όπως μια χρονική σήμανση, ο αριθμός έκδοσης στοιχείου και το "nonce" (ο αριθμός χρησιμοποιείται μόνο μία φορά).

Μπορούν τα Blockchains να λειτουργήσουν χωρίς Merkle Trees;

Ενώ τα δέντρα Merkle δεν είναι απολύτως απαραίτητα για την ύπαρξη ενός blockchain, παίζουν έναν απίστευτα σημαντικό ρόλο στην ασφάλεια των δεδομένων.

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

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

Τα δέντρα Merkle είναι το κλειδί στη λειτουργικότητα του Blockchain

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