Merkle tree

Ένα Merkle tree είναι ένας τρόπος οργάνωσης και διάρθρωσης μεγάλων όγκων δεδομένων, ώστε να γίνει πιο απλή η επεξεργασία τους. Στην περίπτωση των κρυπτονομισμάτων και του blockchain, το Merkle tree χρησιμοποιείται για τη διάρθρωση των δεδομένων συναλλαγών κατά τρόπο που να απαιτεί λιγότερους πόρους.
Όταν μια συναλλαγή κρυπτονομισμάτων πραγματοποιείται σε μια δομή Merkle tree, υποβάλλεται σε hashing και, στη συνέχεια, δίνεται μια ισοδύναμη τιμή hash. Αφού κάθε συναλλαγή υποστεί hashing στο Merkle tree, οι τιμές hash που παράγονται αντιστοιχίζονται με μια άλλη τιμή hash και, στη συνέχεια, υπόκεινται εκ νέου hashing. Για παράδειγμα, οι τιμές hash "AB" και "AC" συνδυάζονται για να δημιουργήσουν το "ABC".
Αυτή η διαδικασία σύζευξης τιμών hash επαναλαμβάνεται μέχρι να παραχθεί μια τελική τιμή hash. Η τελική τιμή hash, το Merkle root, παρέχει μια σύνοψη όλων των συναλλαγών που περιέχει. Στη συνέχεια, η σύνοψη του Merkle root εισάγεται στο block header.


Ασφάλεια δεδομένων

Μια δομή Merkle tree παρέχει ένα εύκολα προσβάσιμο αρχείο των συναλλαγών σε ένα block. Έτσι, είναι πολύ απλό κάποιος να ελέγξει εάν τα δεδομένα σε ένα block έχουν αλλάξει ή έχουν παραποιηθεί. Αυτό ισχύει, επειδή οποιαδήποτε αλλαγή σε μια συναλλαγή (ή οποιοδήποτε άλλο σχετικό στοιχείο) στο Merkle tree θα οδηγούσε σε ένα εξολοκλήρου διαφορετικό αντίστοιχο Merkle root.


Αποτελεσματική χρήση πόρων

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

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

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