Tóm Tắt
Cây Merkle (Merkle Tree)
Khái niệm
Cây Merkle trong tiếng Anh là Merkle Tree.
Cây Merkle (Merkle Tree) là một cấu trúc dữ liệu được sử dụng trong các ứng dụng khoa học máy tính. Trong bitcoin và các loại tiền mã hóa khác, cây Merkle sử dụng để mã hóa dữ liệu chuỗi khối hiệu quả và an toàn hơn.
Chúng cũng được gọi là cây băm nhị phân ( binary hash trees ) .
Nội dung về cây Merke
Trong chuỗi khối của bitcoin, một khối thanh toán giao dịch được chạy trải qua thuật toán để tạo ra hàm băm, đó là một chuỗi những số và vần âm hoàn toàn có thể được sử dụng để xác định rằng một bộ tài liệu nhất định giống với bộ thanh toán giao dịch bắt đầu, nhưng không để có được bộ thanh toán giao dịch bắt đầu .Phần mềm của Bitcoin không hề chạy hàng loạt khối tài liệu thanh toán giao dịch ( tương ứng với giá trị những thanh toán giao dịch trung bình là 10 phút ) trải qua hàm băm cùng một lúc. Thay vì mỗi thanh toán giao dịch được băm thì mỗi cặp thanh toán giao dịch được móc nối và băm với nhau, và cứ như vậy cho đến khi có một hàm băm cho hàng loạt khối. ( Nếu có số lượng thanh toán giao dịch là một số lẻ thì một thanh toán giao dịch được nhân đôi và hàm băm của nó được nối với chính nó ) .
Để dễ hiểu ta hình dung cấu trúc này giống như một cái cây. Trong sơ đồ bên dưới, “T” là một giao dịch, “H” là một hàm băm. Lưu ý rằng hình ảnh dưới đây đã được đơn giản hóa cao; một khối trung bình chứa hơn 500 giao dịch, không phải là 8 giao dịch.
Các hàm băm ở hàng dưới cùng được gọi là những ” lá “, những giá trị băm ở giữa là ” những nhánh ” và hàm băm ở trên cùng là ” gốc “. Gốc Merkle của một khối nhất định được tàng trữ trong tiêu đề : Ví dụ, gốc Merkle của khối # 482819 là e045b18e7a3d708d686717b4f44db2099aabcad9bebf968de5f7271b458f71c8 .Gốc Merkle được tích hợp với những thông tin khác ( phiên bản ứng dụng, hàm băm của khối trước, dấu thời hạn ( timestamp ), tiềm năng độ khó và số được sử dụng một lần ( nonce ) ) và sau đó chạy qua hàm băm để tạo ra hàm băm duy nhất của khối : 000000000000000000 bfc767ef8bf28c42cbd4bdbafd9aa1b5c3c33c2b089594 ( tác dụng trong trường hợp của khối # 482819 ). Hàm băm này không thực sự được gồm có trong khối có tương quan mà là của khối tiếp theo ; nó dễ nhận thấy từ gốc Merkle .Cây Merkle rất hữu dụng vì nó được cho phép người dùng xác định một thanh toán giao dịch đơn cử mà không cần tải xuống hàng loạt chuỗi khối ( hơn 130 gigabyte vào cuối tháng 8 năm 2017 ) .
Ví dụ : giả sử bạn muốn xác định rằng thanh toán giao dịch Td có trong khối ở sơ đồ trên. Nếu bạn có hàm băm gốc ( HABCDEFGH ), bạn sẽ tìm nó như giải game show sudoku : bạn truy vấn Hd trong mạng lưới và nó trả về những giá trị Hc, Hab và Hefgh. Cây Merkle được cho phép bạn xác định rằng mọi thứ được tính bằng ba giá trị băm đã biết là Hab, Hc, Hefgh và gốc Habcdefgh, Hd ( hàm băm duy nhất bị thiếu ) phải có trong mạng lưới hệ thống .Cây Merkle được đặt theo tên của Ralph Merkle trong một bài báo năm 1987 có tiêu đề ” A Digital Signature Based on a Conventional Encryption Functio ” ( tạm dịch : Chữ kí số dựa trên tính năng mã hóa thường thì ). Merkle cũng là người ý tưởng ra hàm băm mật mã .
(Tài liệu tham khảo: investopedia.com)
Source: https://final-blade.com
Category: Tiền Điện Tử – Tiền Ảo