Merkle tree là gì? Cây Merkle là một cây nhị phân có thứ tự được xây dựng từ một dãy các đối tượng dữ liệu (d1, d2,…,dn) dùng hàm băm h. Bài viết dưới đây, Eth.vn sẽ cung cấp thông tin về Khái niệm Ethereum là gì? Giá trị của Ethereum là gì?, cùng tham khảo nhé!
Mục lục
Merkle Tree là gì?

Merkle Tree (hay Cây Merkle) 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. Đó là một cấu trúc dữ liệu toán học được hình thành từ các hàm băm của nhiều block dữ liệu khác nhau tóm lược toàn bộ các giao dịch trong một block. Nó cũng cho phép xác minh thông tin mau chóng, an toàn và nhất quán trên các bộ dữ liệu lớn.
Trong Bitcoin và các loại Cryptocurrency khác, Merkle tree được dùng để mã hóa dữ liệu blockchain một cách hiệu quả và an toàn hơn vì cấu trúc Merkle tree bổ sung một bản ghi đơn giản truy cập về các giao dịch trong một block.
Vì lẽ đó, cực kì dễ dàng để kiểm tra coi dữ liệu trong một block có bị thay đổi hoặc giả mạo hay không. Điều này đúng vì bất kỳ điều chỉnh nào đối với giao dịch (hoặc bất kỳ dữ liệu có sự liên quan nào khác) trong Merkle tree sẽ dẫn đến một Merkle root tương ứng hoàn toàn khác.
Xem thêm Ứng dụng vay tiền online nào phù hợp với nhu cầu của bạn?
Merkle Tree hoạt động như thế nào?
Merkle tree tóm tắt tất cả các giao dịch trong một khối bằng việc tạo dấu vân tay kỹ thuật số của tất cả giao dịch, từ đấy cho phép người dùng xác minh coi có bao gồm giao dịch trong một khối hay không.
Cây Merkle được tạo bằng việc liên tục băm các cặp nút cho đến khi chỉ còn lại một hàm băm (hàm băm này được gọi là Root Hash hoặc Root Merkle). Chúng được tạo ra từ dưới lên, từ băm của các giao dịch riêng lẻ (được gọi là ID giao dịch).
Mỗi nút lá là một hàm băm của dữ liệu giao dịch và mỗi nút không lá là một hàm băm của các thành quả băm trước đó. Merkle tree là nhị phân và do đó đòi hỏi số nút chẵn. Nếu số lượng mua bán là số lẻ, hàm băm cuối cùng có thể được nhân đôi một lần để tạo số nút chẵn.
Thông tin về cây Merke

Trong chuỗi khối của bitcoin, một khối giao dịch được chạy thông qua thuật toán để tạo ra hàm băm, đó là một chuỗi các số và chữ cái có khả năng được dùng để xác minh rằng một bộ dữ liệu nhất định đồng nghĩa với bộ giao dịch ban đầu, nhưng không để sở hữu bộ giao dịch ban đầu.
Phần mềm của Bitcoin chẳng thể chạy toàn bộ khối dữ liệu giao dịch (tương ứng với thành quả các giao dịch trung bình là 10 phút) thông qua hàm băm cùng một lúc. Thay vì mỗi giao dịch được băm thì mỗi cặp 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 tất cả khối. (Nếu có số lượng mua bán là một vài lẻ thì một giao dịch được nhân đôi và hàm băm của nó được nối với chủ đạo nó).
Độ khó khăn của các thao tác trên Merkle tree
Merkle tree là gì? Chúng ta xem xét độ khó khăn của một vài thao tác căn bản đối với cấu trúc dữ liệu để thấy được lợi thế của Merkle tree về tốc độ:
thao tác | Độ phức tạp tính toán |
---|---|
Không gian lưu trữ | O(n) |
Tìm kiếm | O(logn) |
Duyệt cây | O(n) |
Thêm nút | O(logn) |
Xóa nút | O(logn) |
Đồng bộ hóa | O(logn) |
Trong số đó, n là số nút của cây hay số lượng dữ liệu trong khối.
Một số áp dụng khác của Merkle tree
Trong thị trường tiền điện tử thì Bitcoin là blockchain trước tiên khai triển Merkle tree tuy nhiên có những blockchain khác sử dụng tuy nhiên ở phiên bản phức tạp hơn. Ethereum là một ví dụ, Ethereum sử dụng một phiên bản khó khăn hơn là Merkle Patricia Tree. Cấu trúc này có sự kết hợp của 3 cây Merkle riêng biệt dùng cho 3 đối tượng mục tiêu khác nhau trong các nền tảng Ethereum.
- stateRoot: biểu hiện cho tình trạng của khối, cập nhật theo thời gian thực.
- ReceiptsRoot: chứa các biên lai giao dịch trong khối
- Transaction Root: chưa toàn bộ các giao dịch.
Xem thêm Đầu tư tiền ảo có phải là phương án làm giàu tiềm năng?
Xác minh thanh toán dễ dàng (SPV)

Merkle tree là gì? Xác minh thanh toán giản đơn (SPV) là một phương thức xác minh nếu các giao dịch cụ thể được bao gồm trong một khối mà không download toàn bộ khối. Cây Merkle được sử dụng rộng rãi bởi các nút SPV.
Các nút SPV không có dữ liệu từ toàn bộ các giao dịch trong một khối. Họ chỉ tải xuống tiêu đề khối. Cây Merkle cho phép các nút SPV trên blockchain xác minh các giao dịch trong một khối mà không tải về toàn bộ các giao dịch trong một khối. Phương pháp này hiện đang được sử dụng bởi một vài áp dụng khách Bitcoin.
Qua bài viết trên đây Eth.vn đã cung cấp mọi thông tin về khái niệm Ethereum là gì? Giá trị của Ethereum là gì?. Hy vọng với những thông tin trên đây của bài viết sẽ hữu ích vơi mọi bạn đọc. Cảm ơn các bạn vì đã dành thời gian để xem qua bài viết này nhé!
Văn Tài – Tổng hợp
Tham khảo ( luatminhkhue.vn, donghohaitrieu.com, topi.vn, … )
Bình luận về chủ đề post