Merkle Tree Là Gì Và Vai Trò Của Merkle Tree Trong Blockchain

191
SHARES
1.5k
VIEWS

Merkle tree là công nghệ quan trọng trong việc xác minh nhanh chóng, an toàn các giao dịch trong các block trên các hệ thống blockchain. Trong bài viết này, cùng Blog Tiền Số tìm hiểu công nghệ Merkle Tree là gì và tầm quan trọng của công nghệ Merkle Tree trong Blockchain.

Merkle Tree Là Gì?

Merkle Tree được sử dụng trong các ứng dụng khoa học máy tính làm cấu trúc dữ liệu để xác minh và đồng bộ hóa dữ liệu. Merkle Tree cũng được sử dụng để mã hóa dữ liệu blockchain một cách an toàn và hiệu quả hơn trong Bitcoin và các loại tiền điện tử khác .

Với tiền điện tử, cơ sở dữ liệu Merkle Tree được sử dụng để phân chia dữ liệu của khối một cách an toàn và đảm bảo rằng dữ liệu đó không bị mất, hư hỏng hoặc bị thay đổi. Phương pháp quản lý dữ liệu này giúp xác thực các giao dịch cụ thể mà không cần tải xuống toàn bộ chuỗi khối có kích thước terabyte. Đây là một phương pháp mã hóa, an toàn và đáng tin cậy để chạy blockchain.

Ralph Merkle, một nhà khoa học máy tính nổi tiếng với công trình nghiên cứu về mật mã khóa công khai , đã đề xuất cây Merkle trong bài báo năm 1987 “Chữ ký số dựa trên chức năng mã hóa thông thường”. Băm mật mã cũng được phát minh bởi Merkle.

Merkle Root Là Gì?

Merkle Root là một phương pháp toán học đơn giản để xác nhận các sự kiện trên Merkle Tree. Chúng được sử dụng trong tiền điện tử để đảm bảo rằng các khối dữ liệu được gửi qua mạng ngang hàng là nguyên vẹn, không bị hư hại và không bị thay đổi. Chúng đóng một vai trò rất quan trọng trong việc tính toán cần thiết để duy trì hoạt động của các loại tiền điện tử như bitcoin và ether.

Hàm Băm Mật Mã

Hàm băm ánh xạ bất kỳ loại dữ liệu tùy ý có độ dài bất kỳ tới đầu ra có kích thước cố định. Nó thường được sử dụng trong mật mã vì nó là một hàm mật mã. Chúng hiệu quả và nổi tiếng vì một đặc tính: chúng không thể thay đổi được. Đó là chức năng một chiều chỉ hoạt động theo một hướng.

Một số họ Hash có sẵn là Message Direct (MD), Secure Hash Function (SHF) và RIPE Message Direct (RIPEMD). Bây giờ, hãy lấy một ví dụ, nếu bạn sử dụng thuật toán băm SHA256 và chuyển 101Blockchains làm đầu vào, bạn sẽ nhận được kết quả đầu ra sau

fbffd63a60374a31aa9811cbc80b577e23925a5874e86a17f712bab874f33ac9

Tóm lại, đây là các thuộc tính chính sau của hàm băm:

  • Deterministic
  • Pre-Image Resistant
  • Computationally Efficient
  • Cannot be Reversed Engineered
  • Collision Resistant

Hoạt Động Của Merkle Tree

Merkle Tree tính tổng tất cả các giao dịch trong một khối và tạo dấu vân tay kỹ thuật số của toàn bộ tập hợp hoạt động, cho phép người dùng xác minh xem nó có bao gồm giao dịch trong khối hay không.

  • Cây Merkle được tạo bằng cách băm các cặp nút liên tục cho đến khi chỉ còn lại một hàm băm; hàm băm này được gọi là Merkle Root hoặc Root Hash.
  • Chúng được xây dựng từ dưới lên, sử dụng ID giao dịch, là giá trị băm của các giao dịch riêng lẻ.
  • Mỗi nút không phải là lá là hàm băm của hàm băm trước đó và mỗi nút lá là hàm băm của dữ liệu giao dịch.

Bây giờ, hãy xem một ví dụ nhỏ về Merkle Tree trong Blockchain để giúp bạn hiểu khái niệm này. Hãy xem xét tình huống sau: A, B, C và D là bốn giao dịch, tất cả đều được thực hiện trên cùng một khối. Mỗi giao dịch sau đó sẽ được băm, để lại cho bạn:

  • Hash A
  • Hash B
  • Hash C
  • Hash D

Các giá trị băm được ghép nối với nhau, dẫn đến:

  • Hash AB

  • Hash CD

Và do đó, Merkle Root của bạn được hình thành bằng cách kết hợp hai hàm băm này: Hash ABCD.

Trên thực tế, Merkle Tree phức tạp hơn nhiều (đặc biệt khi mỗi ID giao dịch dài 64 ký tự). Tuy nhiên, ví dụ này giúp bạn có cái nhìn tổng quan về cách các thuật toán hoạt động và lý do tại sao chúng lại hiệu quả đến vậy.

Lợi Ích Của Merkle Tree Trong Blockchain

Merkle Tree mang lại bốn lợi ích đáng kể –

  • Xác thực tính toàn vẹn của dữ liệu: Nó có thể được sử dụng để xác thực tính toàn vẹn của dữ liệu một cách hiệu quả.
  • Chiếm ít dung lượng đĩa: So với các cấu trúc dữ liệu khác, cây Merkle chiếm rất ít dung lượng đĩa.
  • Thông tin nhỏ trên các mạng: Cây Merkle có thể được chia thành các phần dữ liệu nhỏ để xác minh.
  • Xác minh hiệu quả: Định dạng dữ liệu hiệu quả và việc xác minh tính toàn vẹn của dữ liệu chỉ mất vài phút.

Tại Sao Nó Cần Thiết Cho Blockchain?

Hãy nghĩ về một blockchain không có Merkle Tree để hiểu tầm quan trọng của chúng đối với công nghệ blockchain . Hãy sở hữu một trong những Bitcoin vì việc sử dụng Merkle Trees là điều cần thiết cho tiền điện tử và dễ nắm bắt hơn.

  • Nếu Bitcoin không bao gồm Cây Merkle thì mọi nút trên mạng sẽ phải giữ lại một bản sao hoàn chỉnh của mọi giao dịch Bitcoin từng được thực hiện. Người ta có thể tưởng tượng lượng thông tin đó sẽ lớn đến mức nào.
  • Bất kỳ yêu cầu xác thực nào trên Bitcoin sẽ yêu cầu một lượng dữ liệu khổng lồ được truyền qua mạng: do đó, bạn sẽ cần phải tự mình xác thực dữ liệu.
  • Để xác nhận rằng không có sửa đổi nào, máy tính được sử dụng để xác thực sẽ cần rất nhiều sức mạnh tính toán để so sánh các sổ cái.

Cây Merkle là một giải pháp cho vấn đề này. Họ băm các bản ghi trong kế toán, từ đó tách bằng chứng dữ liệu khỏi chính dữ liệu đó.

  • Chứng minh rằng việc cung cấp một lượng nhỏ thông tin trên mạng là tất cả những gì cần thiết để giao dịch có hiệu lực.
  • Hơn nữa, nó cho phép bạn chứng minh rằng cả hai biến thể sổ cái đều giống hệt nhau về sức mạnh máy tính danh nghĩa và băng thông mạng.

Ứng Dụng Của Merkle Tree Trong Blockchain

Cấu trúc Merkle Tree và Merkle Root đã được áp dụng rộng rãi trên nhiều nền tảng blockchain và tiền điện tử khác nhau.

Bitcoin

Bitcoin sử dụng cây Merkle theo nhiều cách, điều này làm cho những cây này trở thành một phần không thể thiếu trong toàn bộ nền tảng Bitcoin. Trên thực tế, những cây này hiện diện trong mọi tiêu đề khối Bitcoin. Hàm băm cho mọi giao dịch có sẵn trong khối được đặt trong tiêu đề. Khi nói đến Bitcoin, gốc Merkle rất quan trọng cho việc khai thác cũng như xác minh.

Miner

Các khối bitcoin bao gồm các tiêu đề chứa siêu dữ liệu cũng như danh sách giao dịch mở rộng. Danh sách này thường lớn hơn tiêu đề của khối. Công cụ khai thác băm dữ liệu để tạo đầu ra tuân thủ các điều kiện cụ thể, điều này cần thiết khi xác thực một khối. Những người khai thác có thể thực hiện hàng nghìn tỷ lần thử riêng biệt trước khi họ tìm thấy một khối hợp lệ. Mọi nỗ lực đều yêu cầu thay đổi một số trong tiêu đề của khối. Mặc dù hàng nghìn giao dịch riêng biệt có thể tồn tại trong một khối nhưng mỗi giao dịch đều phải được băm.

Merkle Root cho phép các thợ mỏ thực hiện quá trình này hiệu quả hơn nhiều. Khi quá trình khai thác bắt đầu, tất cả những gì cần thiết là các giao dịch được thực hiện thành Merkle Tree, sau đó hàm băm gốc có thể được đặt trong tiêu đề khối. Tại thời điểm này, người khai thác chỉ được yêu cầu băm tiêu đề của khối chứ không phải toàn bộ khối.

Xác Minh

Một khía cạnh khác của Merkle root được sử dụng với Bitcoin liên quan đến đòn bẩy, tập trung vào các khách hàng nhỏ. Khi một nút đang được vận hành trên một thiết bị tương đối yếu có tài nguyên hạn chế, người dùng sẽ không thể tải xuống và băm mọi giao dịch trong một khối. Thay vào đó, có thể yêu cầu bằng chứng Merkle để xác nhận rằng có một giao dịch trong một khối. Bằng cách giảm số lượng băm cần thực hiện trong quá trình xác minh, quá trình xác minh có thể diễn ra mà không cần sử dụng nhiều tài nguyên máy tính.

Ethereum

Ethereum dựa trên phiên bản sửa đổi một chút của cây Merkle, đó là lý do tại sao nó được gọi là cây Merkle Patricia . Mỗi khối trong chuỗi khối Ethereum bao gồm ba cây Merkle, trái ngược với một cây nhị phân – đó là những gì xảy ra trong các khối Bitcoin. Mỗi rễ trong ba rễ đều có mục đích riêng của nó.

Gốc ban đầu được coi là gốc của mọi giao dịch. Đối với gốc thứ hai, nó hiển thị trạng thái của giao dịch. Gốc cuối cùng là việc nhận giao dịch. Người dùng có thể xem gốc Merkle để xác định xem có tìm thấy giao dịch trên một khối cụ thể hay không, cũng như xác định số dư tài khoản của họ là bao nhiêu.

Hyperledger Fabric

Hyperledger Fabric, nền tảng blockchain này sử dụng cây Merkle để tính toán dữ liệu khối dưới dạng hàm băm. Giá trị băm xác định chiều rộng của cây Merkle. Cây Merkle trên nền tảng Hyperledger Fabric hoạt động giống như cây Merkle trên nền tảng Bitcoin.

Tóm Lại

Merkle Tree đã được chứng minh là rất hữu ích cho các nền tảng tiền điện tử muốn đảm bảo quá trình xác minh giao dịch của họ dễ dàng và hiệu quả nhất có thể. Nếu không có cấu trúc này, việc xác minh sẽ là một quá trình tốn thời gian vì dữ liệu sẽ cần được chuyển trên toàn bộ mạng để xác minh. Các nền tảng sử dụng cây Merkle được hưởng lợi từ yêu cầu về băng thông và năng lượng tính toán ít hơn.

Bài Viết Liên Quan