-Cây Merkle được đặt theo tên của nhà khoa học máy tính đã đề xuất chúng.
-Chúng là một dạng cấu trúc dữ liệu được sử dụng trong khoa học máy tính và blockchain.
-Merkle tree hoặc hash tree để xác minh các giao dịch trên blockchain một cách hiệu quả và an toàn.
-Để xác nhận sự hiện diện của một giao dịch trên blockchain, người ta chỉ cần truy vấn nó và cây Merkle sẽ đẩy nhanh quá trình xác minh.
Từ Merkle Tree được đặt theo tên của một nhà khoa học máy tính cùng tên. Ralph Merkle, người cũng đã phát triển phép băm mật mã, đã đề xuất ý tưởng về cây Merkle vào năm 1987. Ông đã viết một bài báo có tiêu đề “Chữ ký kỹ thuật số dựa trên chức năng mã hóa thông thường”.
Nói chung về ứng dụng khoa học máy tính, A Merkle tree chỉ đơn giản là một kiểu cấu trúc dữ liệu. Nó đã được chấp nhận trong thế giới tiền điện tử như một cách mã hóa dữ liệu blockchain một cách hiệu quả và an toàn. Cây Merkle cũng có thể được gọi là cây băm vì chúng là cấu trúc dữ liệu dựa trên băm được sử dụng trong khoa học máy tính và mật mã.
Cây Merkle, như được minh họa ở trên, có cấu trúc của một cái cây. Nó có một gốc và các nhánh, mỗi nhánh đều có chức năng của nó. Không giống như cây thật, rễ của cây Merkle ở trên cùng chứ không phải ở dưới cùng. Vì vậy, phần băm ở trên cùng của cây này là gốc, tiếp theo là cành và lá ở dưới cùng.
trong Bitcoin, gốc là một phần của tiêu đề khối, đảm bảo các giao dịch hiện diện. Các nhánh là các nút chứa các giá trị của các nút bên dưới chúng, đóng vai trò là “nút cha” của chúng. Thông thường, trong cây Merkle, các nút này không bao giờ chứa nhiều hơn hai nút bên dưới chúng, đó là lý do tại sao chúng được gọi là cây băm nhị phân.
Tuy nhiên, một cây băm có thể có nhiều hơn hai nút.
Cuối cùng, các lá, như đã đề cập trước đó, là các nút ở dưới cùng không có thêm bất kỳ nút nào hoạt động bên dưới chúng. Mỗi nút trong sự sắp xếp của cây Merkle là một phần biểu diễn dữ liệu băm bên dưới chúng. Mặt khác, các lá đại diện cho các hàm băm của các giao dịch đơn lẻ.
Blockchain Bitcoin có lẽ là trường hợp sử dụng nổi bật của cây Merkle, và đây là cách nó hoạt động. Thông thường, cây Merkle được sử dụng để xác minh dữ liệu nhanh hơn và hiệu quả hơn.
Bất cứ khi nào cần xác minh tính đúng đắn của tập dữ liệu từ tập giao dịch chính, Merkle tree đảm bảo rằng không cần lấy toàn bộ tệp thông tin.
Về cơ bản, cây Merkle được tạo bằng cách chạy các giao dịch thông qua hàm băm tại một thời điểm, sau đó nối và băm từng cây mới với hàm trước đó. Quá trình tiếp tục cho đến khi toàn bộ khối đã được băm lại với nhau thành một hàm băm. Merkle Trees tóm tắt tất cả các giao dịch trong một khối và tạo ra một dấu vân tay ảo của toàn bộ tập hợp. Điều này cho phép người dùng xác minh sự hiện diện của một giao dịch cụ thể trong một khối mà không cần tải xuống tất cả các thông tin không cần thiết khác trong đó.
Để giải thích thêm, nếu bạn muốn xác nhận rằng một giao dịch cụ thể, chẳng hạn như một trong các lá, được bao gồm trong khối phía trên nó, bạn có thể chỉ cần hỏi mạng về nút cụ thể. Nó sẽ cung cấp cho bạn câu trả lời bằng cách sử dụng ba hàm băm, cho phép bạn xác minh sự hiện diện của nút cụ thể của bạn.
Merkle tree là một công cụ vô giá để xác minh dữ liệu trong blockchain và khoa học máy tính nói chung vì những lý do sau:
Tốc độ, vận tốc
Hãy tưởng tượng bạn cần xác minh sự hiện diện của dữ liệu cụ thể trên một blockchain. Nếu không có cây Merkle, bạn sẽ phải tải xuống toàn bộ blockchain và sàng lọc nó. Rõ ràng, điều đó sẽ mất nhiều thời gian hơn mức cần thiết vì lượng dữ liệu trên các blockchain thường rất lớn, lên đến hàng trăm gigabyte. Ví dụ, Bitcoin có tới 389 gigabyte dữ liệu tính đến tháng 4 năm nay, theo một báo cáo của Statista. Tuy nhiên, với Merkle tree, bạn có thể dễ dàng theo dõi truy vấn giao dịch cụ thể của mình và nhận câu trả lời trong một khung thời gian nhỏ hơn.
Hiệu quả
Trích dẫn lại Kịch bản ở trên, rõ ràng đây là một hoạt động cồng kềnh và không cần thiết khi cố gắng thực hiện tất cả các giao dịch chỉ để xác minh một giao dịch duy nhất. Merkle tree thu hẹp đáng kể lượng dữ liệu cần thiết để xác minh các giao dịch. Chỉ với bốn giá trị được băm; người ta có thể dễ dàng xác định những gì người ta cần biết về các giao dịch cụ thể.
Lòng tin
Cuối cùng, việc xác minh tính toàn vẹn của một giao dịch cụ thể dễ dàng hơn đáng kể với cây băm. Nếu bạn cần xác nhận các giá trị từ các nguồn mà bạn không tin tưởng, chỉ cần tạo lại phần có liên quan đến bạn và so sánh với phần băm gốc từ một nguồn đáng tin cậy. Điều này là vô giá trong việc tăng tốc quá trình xác nhận.
Giá trị băm của tài sản tài khoản của mỗi người dùng có thể được lưu trữ trong nút lá của cây Merkel dưới dạng cây Merkel. Mọi người đều có thể kiểm tra tổng số tài sản của người dùng được lưu trữ trong nút lá cây Merkel thông qua một tổ chức bên thứ ba có đủ điều kiện kiểm toán để xác minh xem tiền của họ có được bao gồm trong cây tài sản Merkel hay không.
Đầu tiên, xuất UID được mã hóa và số dư người dùng tương ứng từ cơ sở dữ liệu Gate.io. Mỗi cặp UID được mã hóa và số dư người dùng sẽ được băm riêng biệt, sau đó được kết hợp để tạo thành các khối dữ liệu cơ bản. Đối với mỗi khối dữ liệu, cùng một hàm băm được sử dụng để tạo nút lá của cây Merkel. Dữ liệu mã hóa thu được sau đó sẽ được băm với nhau theo từng cặp để tạo ra nút cha của nút lá. Quá trình này tiếp tục cho đến khi thu được một dữ liệu băm, cụ thể là gốc Merkel. Sau khi cây Merkel được xây dựng thành công, nút lá sẽ được xuất dưới dạng tệp văn bản và sau đó được kiểm toán viên phát hành cùng với hàm băm gốc Merkel.
Khi tổng tài sản của nền tảng được kiểm toán dưới dạng cây Merkel lớn hơn hoặc bằng 100%, điều đó chứng tỏ rằng nền tảng đã giữ nguyên số tiền của người dùng, có nghĩa là nền tảng cung cấp 100% tài sản tương ứng dưới dạng lợi nhuận. . Bạn có thể xem thêm thông tin về Bằng chứng ký quỹ 100% của Gate.io thông qua trang chi tiết ký quỹ 100% của Gate.io hoặc trang web chính thức của kiểm toán bên thứ ba Armanino.
Việc phát minh ra cây Merkle và việc sử dụng nó trong công nghệ blockchain sau đó là một tài sản vô giá đối với thế giới công nghệ. Với nó, giờ đây mọi người có thể tiến hành xác minh các giao dịch trên blockchain một cách dễ dàng và hiệu quả mà không cần thêm dung lượng để tải xuống toàn bộ blockchain. Merkle tree cũng tiết kiệm thời gian của người xác nhận đồng thời giúp bảo mật công nghệ blockchain dễ dàng hơn.
Tác giả: M. Olatunji, Nhà nghiên cứu trực thuộc Gate.io