Bảng thuật ngữ

Cây Merkle

Hard

Cây Merkle là một cấu trúc dữ liệu được sử dụng trong mật mã học và khoa học máy tính để xác minh tính toàn vẹn của dữ liệu được lưu trữ hoặc truyền đi.

Cây Merkle là gì?

Cây Merkle là một cấu trúc dữ liệu được sử dụng trong mật mã học và khoa học máy tính để xác minh tính toàn vẹn của dữ liệu được lưu trữ hoặc truyền đi. Nó là một cấu trúc dữ liệu dạng cây bao gồm một danh sách các mã băm, mỗi mã băm là mã băm của một khối dữ liệu. Cây Merkle được sử dụng để xác minh tính toàn vẹn của dữ liệu bằng cách so sánh các giá trị băm ở mỗi cấp độ trong cây. Ở trên cùng của cây là hàm băm gốc, là hàm băm của tất cả các khối dữ liệu cộng lại. Băm gốc này có thể được sử dụng để xác minh tính toàn vẹn của dữ liệu.

Cây Merkle là một cách hiệu quả để xác minh tính toàn vẹn của một lượng lớn dữ liệu, vì bất kỳ thay đổi nào cũng sẽ khiến giá trị băm thay đổi, giúp dễ dàng phát hiện mọi thay đổi.

Rễ Merkle là gì?

Rễ Merkle là hàm băm trên cùng trong cây Merkle. Nó là hàm băm của tất cả các khối dữ liệu được kết hợp và được sử dụng để xác minh tính toàn vẹn của dữ liệu. Nó được tạo ra bằng cách lấy giá trị băm của các khối dữ liệu riêng lẻ và kết hợp chúng lại với nhau. Điều này được thực hiện bằng cách sử dụng một hàm băm mật mã, lấy các giá trị băm của các khối dữ liệu, kết hợp chúng và tạo ra một hàm băm duy nhất, đó là rễ Merkle.

Các trường hợp sử dụng cây Merkle

Cây Merkle được sử dụng trong các blockchain để giúp đảm bảo tính toàn vẹn của dữ liệu và cung cấp một phương pháp an toàn để xác minh nội dung của một khối. Chúng được sử dụng để tạo dấu vân tay kỹ thuật số của tất cả dữ liệu trong một khối. Bằng cách tạo một hàm băm của mỗi giao dịch trong một khối và sau đó tạo một hàm băm của tất cả các hàm băm, một dấu vân tay kỹ thuật số duy nhất được tạo ra có thể được sử dụng để chứng minh tính hợp lệ của toàn bộ khối. Dấu vân tay kỹ thuật số này được gọi là rễ Merkle và nó được bao gồm trong mỗi tiêu đề khối. Nếu dữ liệu trong một khối bị sửa đổi, rễ Merkle cũng sẽ thay đổi và khối đó sẽ bị coi là không hợp lệ. Điều này giúp đảm bảo dữ liệu được lưu trữ trong blockchain được an toàn.
Cây Merkle cũng được sử dụng để xác thực các giao dịch trên mạng. Bằng cách so sánh rễ Merkle của một khối với rễ Merkle của khối trước đó, một node có thể xác minh rằng tất cả các giao dịch được lưu trữ trong khối là hợp lệ. Điều này giúp đảm bảo rằng không có giao dịch gian lận nào được đưa vào blockchain.

Cuối cùng, cây Merkle được sử dụng để giảm kích thước của blockchain bằng cách cho phép các node chỉ yêu cầu dữ liệu họ cần từ mạng. Mỗi node lưu trữ một bản sao của toàn bộ blockchain, nhưng bằng cách sử dụng rễ Merkle, một node chỉ có thể yêu cầu dữ liệu mà họ cần từ mạng. Điều này giúp giảm lượng dữ liệu cần được lưu trữ bởi mỗi node và tăng hiệu quả tổng thể của blockchain.