Nội dung bài viết
1. Tree Merkle là gì và chúng hoạt động như thế nào?
Cây nhị phân sử dụng thuật toán băm mật mã được gọi là Tree Merkle.
Tree Hash còn được gọi là Tree Merkle, có gắn nhãn các nút lá với hàm băm mật mã của khối dữ liệu. Ngoài ra, nó đã gắn nhãn các nút không phải là lá với hàm băm mật mã của các nhãn của các nút con của nó.
Mỗi nút tạo ra một thông báo đệ quy dựa vào tất cả các đặc điểm trong cây con của nó và một hoặc nhiều thuộc tính được thêm vào các lá. Trong cấu trúc Tree Merkle, các lá tính toán hàm băm thuộc tính của riêng chúng và “cha mẹ” tính toán các tiêu chí của các tiêu chí ghép nối từ trái sang phải của “con” họ.
Nhưng ai đã phát minh ra Merkle Trees? Ralph Merkle đã phát triển Tree Merkle vào năm 1988 để tạo ra chữ ký điện tử mạnh hơn. Merkle Tree xác minh hiệu quả tính đúng đắn và toàn vẹn của dữ liệu trong khi giảm yêu cầu bộ nhớ của xác minh. Ngoài ra, so với các cấu trúc dữ liệu khác, Tree Merkle chiếm ít không gian đĩa hơn, đây là một trong những lợi thế đáng kể của Tree Merkle.
Vậy, Ethereum có phải là Merkle Trees không? Chuỗi khối Ethereum sử dụng một Tree Merkle được gọi là bộ ba Merkle Patricia, cung cấp một cấu trúc dữ liệu có thể được sử dụng để lưu trữ tất cả các ràng buộc (khóa, giá trị) và được xác thực bằng mật mã.
Ngoài ra, tất cả Merkle cố gắng trong lớp thực thi Ethereum đều sử dụng Merkle Patricia Trie. Trie trạng thái cập nhật theo thời gian vì có một trie trạng thái toàn cầu. Tất cả dữ liệu hợp đồng được lưu trữ trong bộ ba lưu trữ. Mỗi khối đều có bộ ba giao dịch riêng lưu trữ các cặp (khóa, giá trị). Mỗi khối chứa một bộ ba Biên nhận riêng biệt mà không bao giờ được cập nhật.
2. Tree Verkle là gì và chúng hoạt động như thế nào?
Tương tự như Merkle Trees, Verkle Trees cho phép bạn tổ chức một lượng dữ liệu đáng kể và tạo ra một “nhân chứng” ngắn gọn về từng mục dữ liệu hoặc nhóm các phần liên quan có thể được xác nhận bởi người có quyền truy cập vào gốc của Tree.
Tuy nhiên, tính năng quan trọng nhất của Tree Verkle là hiệu quả về kích thước của chúng. Một Tree Verkle sẽ yêu cầu ít hơn 150 byte để tạo ra bằng chứng cho một Tree với một tỷ điểm dữ liệu, so với Tree Merkle nhị phân điển hình khoảng 1 kilobyte. Tree Verkle sử dụng một hệ thống chứng minh được gọi là cam kết đa thức, dựa trên các hàm đa thức để mô tả dữ liệu.
Nhưng ai đã phát minh ra Tree Verkle? Vào năm 2018, John Kuszmaul đã giới thiệu Tree Verkle, vẫn chưa được biết đến nhiều như nhiều cấu trúc mật mã mới quan trọng khác. Cấu trúc Tree Verkle giống với Tree Merkle Patricia hiện tại của Ethereum. Về bản chất, mỗi nút có một trong ba thuộc tính:
- Nó trống rỗng.
- Nó là một nút lá có khóa và giá trị.
- Nó là một nút trung gian với một số con xác định (“chiều rộng” của Tree).
Hàm băm các giá trị của nút con được sử dụng để tính giá trị của nút trung gian. Tuy nhiên, Tree Verkle có chiều rộng lớn hơn Tree Merkle Patricia, đây là một trong những lợi thế khác biệt của Tree Verkle và là điểm khác biệt đáng kể duy nhất giữa các thành phần cấu trúc của chúng. Hạn chế duy nhất là nếu chiều rộng tăng quá nhiều, các bằng chứng bắt đầu mất quá nhiều thời gian để sản xuất. Kết quả là, các bằng chứng ngày càng ngắn hơn khi chiều rộng tăng lên.
3. Tầm quan trọng của Merkle Trees và Verkle Trees trong blockchain là gì?
Merkle Trees được sử dụng trong Bitcoin (BTC) và các loại tiền điện tử khác để mã hóa dữ liệu blockchain một cách hiệu quả và an toàn hơn. Tree Verkle cho phép kích thước bằng chứng nhỏ hơn, đặc biệt quan trọng đối với các nâng cấp mở rộng sắp tới của Ethereum.
Nhưng, làm thế nào để bạn xác định một Tree Merkle? Các nút lá, các nút không phải lá và gốc Merkle là ba phần thiết yếu của Tree Merkle trong bối cảnh của các blockchains. Các băm giao dịch hoặc ID giao dịch (TXID) nằm trong các nút lá, có thể được xem trên trình khám phá khối. Sau đó, phía trên các nút lá, một lớp các nút không phải là lá được băm lại với nhau theo từng cặp. Các nút – không phải lá – giữ giá trị băm của hai nút lá mà chúng biểu diễn bên dưới chúng.
Cây thu hẹp dần khi nó tăng lên, một nửa số nút trên mỗi lớp được hình thành khi các mức nút – không phải lá – tiếp tục được băm cùng nhau theo từng cặp. Hai nút sẽ hiện diện trong lớp nút không phải lá cuối cùng, lớp này thiết lập gốc Merkle (được sử dụng để xác minh các nút lá) và là vị trí của phép băm cuối cùng trong Tree Merkle.
Gốc Merkle được lưu trữ trong phần dữ liệu của một khối có thể được so sánh với gốc Merkle được lưu trữ trong tiêu đề, cho phép người khai thác xác định bất kỳ thao tác nào một cách nhanh chóng. Một bằng chứng Merkle kết hợp giá trị đang được chứng minh và các giá trị băm cần thiết để khôi phục gốc Merkle. Ngoài ra, họ hỗ trợ Xác minh thanh toán đơn giản (SPV), có thể được sử dụng để xác thực giao dịch mà không cần tải xuống một khối hoặc chuỗi khối hoàn chỉnh. Điều này cho phép sử dụng ví tiền điện tử hoặc nút ứng dụng khách nhẹ để gửi và nhận các giao dịch.
Tree Verkle cho phép giảm đáng kể kích thước bằng chứng cho một lượng lớn dữ liệu so với Tree Merkel. Độ dài bằng chứng, thường là logarit ở kích thước trạng thái, ảnh hưởng đến giao tiếp mạng. Nhưng, bằng chứng Verkle là gì? Bằng chứng Verkle là bằng chứng về một lượng lớn dữ liệu được lưu trữ, có thể dễ dàng được xác minh bởi bất kỳ ai có gốc Tree.
Câu tục ngữ phải đưa ra một bằng chứng duy nhất chứng minh tất cả các liên kết cha-con giữa tất cả các cam kết dọc theo các đường dẫn từ mỗi nút lá đến gốc thay vì trình bày tất cả các “nút chị em” ở mọi cấp trong Tree Verkle. So với Tree Merkle lý tưởng, kích thước bằng chứng có thể được giảm theo hệ số sáu-tám và hệ số hơn 20–30 so với các Tree Patricia lục địa hiện tại của Ethereum.
4. Merkle Trees so với Verkle Trees
Có nhiều điểm khác biệt giữa cả hai loại Tree, đặc biệt là trong việc cung cấp bằng chứng Merkle và bằng chứng Verkle.
Toàn bộ tập hợp các nút chị em trong Tree Merkle, bao gồm cả các Tree Merkle Patricia, tạo thành bằng chứng về một giá trị. Việc chứng minh phải bao gồm tất cả các nút trong Tree với bất kỳ nút cha nào có điểm chung với nút mà bạn đang cố gắng chứng minh. Mặt khác, trong Tree Verkle, bạn chỉ cần cung cấp đường dẫn cộng thêm một chút nhỏ để làm bằng chứng — bạn thậm chí không cần thêm các nút chị em.
Ý tưởng chính của Verkle Trees là Merkle Trees có thể được tạo ra bằng cách thay thế các cam kết vectơ cho các hàm băm mật mã. Tree Verkle có cùng mục đích với Tree Merkle. Tuy nhiên, chúng có hiệu quả hơn đáng kể về kích thước tính bằng byte, đây là điểm khác biệt chính.
Do cấu trúc giống Tree của chúng, các bằng chứng Merkle dễ cập nhật một phần trong khi cam kết đa thức của Tree Verkle yêu cầu thay đổi hoàn toàn toàn bộ đường cong, điều này sẽ là một thách thức để tính toán các nhân chứng.
Mọi người trên toàn thế giới có thể gửi, nhận và xác minh các giao dịch bằng ví tiền điện tử có thể chạy hiệu quả và đơn giản trên máy tính cá nhân hoặc điện thoại thông minh, đó là trường hợp sử dụng Tree Merkle quan trọng, có thể do rễ Merkle hình thành từ Tree Merkle. Ngược lại, một trong những trường hợp sử dụng Tree Verkle quan trọng bao gồm việc thay thế một cam kết vectơ cho các hàm băm trong Tree Merkle, làm tăng hiệu quả của các yếu tố phân nhánh rộng hơn.
5. Tổng kết
Vậy là chúng ta đã cùng nhau tìm hiểu về Merkle Trees và Verkle Trees, cũng như những vai trò của nó với công nghệ của tiền điện tử. Mong rằng bài viết đã cung cấp cho bạn những thông tin thú vị và bổ ích liên quan đến chủ đề này.
Đừng quên đón đọc những bài viết trên blog của chúng tôi và để lại quan điểm của bạn dưới phần bình luận. Mọi thắc mắc vui lòng liên hệ đội ngũ Support của Fiahub 24/7.
Freelancer Marketing và Content Creator với gần 10 năm kinh nghiệm; trong đó có khoảng hơn 3 năm làm việc trong mảng Blockchain với vai trò Dịch Thuật và Copywriter.
Với kiến thức sâu rộng cùng khả năng diễn giải để những thuật ngữ công nghệ khó hiểu trở nên gần gũi hơn với người đọc. Lê Hoàng đảm nhiệm những bài viết trong chuyên mục "Từ Điển Crypto" và "Hướng Dẫn Người Mới" tại Fiahub Blog