Τι είναι το Merkle tree;
Με λίγα λόγια
Το Merkle tree (δέντρο Merkle) είναι μια δομή που συνδυάζει τα hash πολλών δεδομένων σε ένα τελικό hash, το Merkle root, επιτρέποντας να ελέγχουμε αν ένα στοιχείο περιλαμβάνεται χωρίς να κατεβάζουμε όλα τα δεδομένα.
Πώς ελέγχεις ότι μια συναλλαγή βρίσκεται σε ένα block χωρίς να κατεβάσεις όλες τις συναλλαγές του; Σκεφτείτε έναν φάκελο γεμάτο αποδείξεις: θέλουμε να επιβεβαιώσουμε ότι μία συγκεκριμένη απόδειξη ανήκει στο περιεχόμενό του, χωρίς να φωτοτυπήσουμε ολόκληρο τον φάκελο.
Η διαδικασία ξεκινά από τα hash, τα ψηφιακά «αποτυπώματα» των δεδομένων. Σε ένα τυπικό δυαδικό δέντρο Merkle, κάθε συναλλαγή αντιστοιχεί σε ένα hash. Τα hash συνδυάζονται ανά ζεύγη και από κάθε ζεύγος υπολογίζεται ένα νέο hash. Η διαδικασία επαναλαμβάνεται, επίπεδο προς επίπεδο, μέχρι να μείνει ένα τελικό αποτύπωμα: η ρίζα Merkle (Merkle root).
Φανταστείτε τέσσερις συναλλαγές, Α, Β, Γ και Δ. Τα αποτυπώματα των Α και Β δίνουν ένα κοινό αποτύπωμα, όπως και εκείνα των Γ και Δ. Τα δύο αποτελέσματα συνδυάζονται στη ρίζα. Αν αλλάξει η Α, αλλάζει και το αποτύπωμά της, επηρεάζοντας όλη τη διαδρομή μέχρι τη ρίζα.
Γιατί έχει σημασία
Για να ελέγξουμε τη συμμετοχή της Α, αρκούν το hash της Β και το κοινό hash των Γ και Δ. Μαζί με την Α και τη σωστή σειρά συνδυασμού, μας επιτρέπουν να υπολογίσουμε ξανά τη ρίζα. Αυτή η μικρή συλλογή στοιχείων λέγεται απόδειξη Merkle (Merkle proof). Όσο μεγαλώνει το δέντρο, η απόδειξη παραμένει πολύ μικρότερη από το σύνολο των δεδομένων.
Στο Bitcoin, η ρίζα των συναλλαγών περιλαμβάνεται στην κεφαλίδα του block. Έτσι, μια εφαρμογή μπορεί να ελέγξει ότι μια συναλλαγή περιλαμβάνεται σε συγκεκριμένο block, χωρίς να κατεβάσει όλο το περιεχόμενό του. Θεωρούμε αυτή την οικονομία δεδομένων βασικό πλεονέκτημα για εφαρμογές με περιορισμένο αποθηκευτικό χώρο ή σύνδεση.
Τι να προσέξεις
Μια απόδειξη Merkle αποδεικνύει συμμετοχή σε συγκεκριμένο σύνολο δεδομένων, όχι ότι η συναλλαγή είναι έγκυρη ή οριστική. Χρειάζεται επίσης να γνωρίζεις ότι συγκρίνεις με τη σωστή, αξιόπιστη ρίζα.
Αντίστοιχα, όταν ένα ανταλλακτήριο χρησιμοποιεί δέντρα Merkle σε έλεγχο αποθεματικών (Proof of Reserves), η επιβεβαίωση ότι το υπόλοιπό σου περιλαμβάνεται σε μια καταγραφή δεν αποδεικνύει από μόνη της ότι έχουν δηλωθεί όλες οι υποχρεώσεις του ή ότι διαθέτει επαρκή περιουσιακά στοιχεία.
Από το Cryptonomy
Άρθρα όπου θα το συναντήσεις
- Bitcoin: Ένα peer-to-peer ηλεκτρονικό σύστημα μετρητών Οδηγοί · 08 Μάι. 2021