Merkle Tree
Ένα δέντρο Merkle είναι μια δομή δεδομένων που χρησιμοποιείται στις εφαρμογές πληροφορικής. Σε bitcoin και άλλες cryptocurrencies, δέντρα Merkle χρησιμεύουν για την κωδικοποίηση των δεδομένων blockchain πιο αποτελεσματικά και με ασφάλεια.
Αναφέρονται επίσης ως "δυαδικά δέντρα κατακερματισμού".
Σπάζοντας κάτω το Merkle Tree
Στο blockchain του bitcoin, ένα μπλοκ συναλλαγών εκτελείται μέσω ενός αλγορίθμου για τη δημιουργία ενός hash, που είναι μια σειρά από αριθμούς και γράμματα που μπορούν να χρησιμοποιηθούν για να επαληθεύσουν ότι ένα δεδομένο σύνολο δεδομένων είναι το ίδιο με το αρχικό σύνολο συναλλαγών, αλλά να μην αποκτήσετε το αρχικό σύνολο συναλλαγών. Το λογισμικό της Bitcoin δεν τρέχει ολόκληρο το μπλοκ δεδομένων συναλλαγής - αντιπροσωπεύοντας κατά μέσο όρο 10 λεπτά συναλλαγών - μέσω της λειτουργίας κατακερματισμού ταυτόχρονα. Αντίθετα, κάθε συναλλαγή έχει χαστούκι, τότε κάθε ζεύγος συναλλαγών συνδέεται και συρρικνώνεται μαζί και ούτω καθεξής έως ότου υπάρχει ένας hash για ολόκληρο το μπλοκ. (Εάν υπάρχει ένας περίεργος αριθμός συναλλαγών, μια συναλλαγή διπλασιάζεται και η κατακερματισμός της είναι συσσωρευμένη με τον εαυτό της.)
Οραματίστηκε, αυτή η δομή μοιάζει με δέντρο. Στο παρακάτω διάγραμμα, το "T" δηλώνει μια συναλλαγή, "H" ένα hash. Σημειώστε ότι η εικόνα είναι εξαιρετικά απλοποιημένη. ένα μέσο μπλοκ περιέχει πάνω από 500 συναλλαγές, όχι οκτώ.
Τα χτυπήματα στην κάτω σειρά αναφέρονται ως "φύλλα", τα ενδιάμεσα χτυπήματα ως "κλάδους" και ο κατακερματισμός στην κορυφή ως "ρίζα". Η ρίζα Merkle ενός δεδομένου μπλοκ αποθηκεύεται στην κεφαλίδα: για παράδειγμα, η ρίζα Merkle του μπλοκ # 482819 είναι e045b18e7a3d708d686717b4f44db2099aabcad9bebf968de5f7271b458f71c8. Η ρίζα συνδυάζεται με άλλες πληροφορίες (την έκδοση λογισμικού, το hash του προηγούμενου μπλοκ, τη χρονική σφραγίδα, το στόχο δυσκολίας και το nonce) και έπειτα τρέχει μέσω μιας συνάρτησης κατακερματισμού για να παράγει το μοναδικό hash του μπλοκ: 000000000000000000bfc767ef8bf28c42cbd4bdbafd9aa1b5c3c33c2b089594 στην περίπτωση μπλοκ # 482819 . Αυτός ο κατακερματισμός δεν περιλαμβάνεται στην αντίστοιχη ομάδα, αλλά ο επόμενος. είναι ξεχωριστή από τη ρίζα Merkle.
Το δέντρο Merkle είναι χρήσιμο επειδή επιτρέπει στους χρήστες να επαληθεύσουν μια συγκεκριμένη συναλλαγή χωρίς να κατεβάσουν ολόκληρο το blockchain (πάνω από 130 gigabytes στα τέλη Αυγούστου 2017). Για παράδειγμα, πείτε ότι θέλετε να επαληθεύσετε ότι η συναλλαγή T D περιλαμβάνεται στο μπλοκ στο παραπάνω διάγραμμα. Αν έχετε το hash root (H ABCDEFGH ), η διαδικασία είναι σαν ένα παιχνίδι sudoku: ερωτάτε το δίκτυο για το H D και επιστρέφει τα H C, H AB και H EFGH . Το δέντρο Merkle σάς επιτρέπει να επαληθεύσετε ότι τα πάντα υπολογίζονται με τρία hashes: δεδομένου H AB, H C, H EFGH, και η ρίζα H ABCDEFGH, H D (η μόνη λείπει hash) πρέπει να υπάρχει στα δεδομένα.
Τα Merkle δέντρα ονομάζονται από τον Ralph Merkle, ο οποίος τους πρότεινε σε ένα έγγραφο του 1987 με τίτλο "Μια ψηφιακή υπογραφή βασισμένη σε μια συμβατική λειτουργία κρυπτογράφησης". Ο Merkle εφευρέθηκε επίσης κρυπτογραφικό hashing.
Σύγκριση επενδυτικών λογαριασμών Όνομα παροχέα Περιγραφή Αποκάλυψη διαφημιζόμενου × Οι προσφορές που εμφανίζονται σε αυτόν τον πίνακα προέρχονται από συνεργασίες από τις οποίες η Investopedia λαμβάνει αποζημίωση.