Cây Merkle là một phương pháp cấu trúc dữ liệu cho phép xác minh độ chính xác của một lượng lớn thông tin cực kỳ nhanh chóng và hiệu quả. Mỗi cây Merkle tạo ra một chuỗi dữ liệu duy nhất, được gọi là gốc Merkle. Với gốc Merkle, cộng với một số dữ liệu khác, bất kỳ máy tính nào cũng có thể xác thực tất cả các mục khác trong cây Merkle một cách hiệu quả. Trong công nghệ blockchain, những mục này là số nhận dạng giao dịch.
Nếu bạn tham gia vào thế giới blockchain, bạn có thể đã từng gặp cụm từ “merkle tree” trước đây. Mặc dù cây Merkle không phải là một khái niệm được hiểu rộng rãi nhưng chúng cũng không quá phức tạp. Bài đăng này sẽ giải thích về cây Merkle bằng tiếng Anh đơn giản và giúp bạn hiểu cách chúng tạo ra công nghệ blockchain.
Câu chuyện về Merkle Trees bắt đầu từ năm 1979 với một chàng trai tên Ralph Merkle. Khi còn học cao học tại Đại học Stanford, Merkle đã viết một bài báo học thuật có tên “Chữ ký số được chứng nhận”. Trong bài luận này, Merkle đã mô tả một phương pháp tạo chữ ký số và thiết lập một phương pháp mới, cực kỳ hiệu quả để tạo bằng chứng mật mã. Nói cách khác, ông đã thiết kế một quy trình xác minh dữ liệu cho phép máy tính thực hiện công việc của mình nhanh hơn rất nhiều so với trước đây.
Merkle gọi ý tưởng của mình là “Chữ ký cây” hay “Xác thực cây”. Ngày nay, ý tưởng này được biết đến nhiều hơn với cái tên Merkle Tree, được đặt theo tên của nhà phát minh.
Không quá lời khi nói rằng Merkle Trees đã cách mạng hóa thế giới mật mã và nói rộng hơn là cách thức hoạt động của các giao thức máy tính được mã hóa. Trên thực tế, Cây Merkle được nhắc đến nhiều lần trong bài tiểu luận giới thiệu Bitcoin với thế giới năm 2008 của Satoshi Nakamoto . Chúng được sử dụng rộng rãi trong giao thức Bitcoin.
Vậy chính xác thì Merkle Tree là gì? Hãy cùng tìm hiểu.
Đầu tiên, điều quan trọng là phải hiểu khái niệm về hàm băm mật mã. Nói một cách đơn giản, hàm băm là các hàm toán học không thể đảo ngược, lấy đầu vào có độ dài bất kỳ— từ một ký tự đến văn bản của toàn bộ bộ bách khoa toàn thư— và tạo ra đầu ra ngẫu nhiên có độ dài cố định. Vì đầu ra xuất hiện ngẫu nhiên và có độ dài cố định nên kẻ tấn công không có manh mối nào về đầu vào nào đã tạo ra đầu ra cụ thể. Hàm băm cũng có tính xác định nên cùng một đầu vào sẽ luôn tạo ra cùng một đầu ra. Cuối cùng, các hàm băm là không thể đảo ngược, do đó hoàn toàn không có cách nào để xác định đầu vào chỉ dựa trên kiến thức về đầu ra.
Tất cả các thuộc tính này cho phép hàm băm tạo ra dấu vân tay điện tử của một đầu vào cụ thể. Bằng cách sử dụng các hàm băm, mạng blockchain tạo ra hàm băm mật mã—dấu vân tay điện tử—của mỗi giao dịch. Băm mật mã của một giao dịch được gọi đơn giản là ID giao dịch. Đối với hầu hết mọi giao thức blockchain, mỗi ID giao dịch là một chuỗi dữ liệu chữ và số 64 ký tự (256-bit).
Khi bạn cho rằng các chuỗi khối thường được tạo thành từ hàng trăm nghìn khối, với mỗi khối chứa tới vài nghìn giao dịch, bạn có thể tưởng tượng việc xác minh các giao dịch có thể trở nên khó khăn về mặt tính toán nhanh đến mức nào. Vì vậy, cách tối ưu là sử dụng ít dữ liệu nhất có thể khi xử lý và xác minh giao dịch. Điều này giảm thiểu thời gian xử lý của CPU đồng thời đảm bảo mức độ bảo mật cao nhất.
Chà, đó chính xác là những gì Merkle Trees làm. Nói một cách đơn giản, Merkle Tree lấy một số lượng lớn ID giao dịch, cấu trúc chúng theo một cách cụ thể và sử dụng các hàm băm mật mã để lấy ra một chuỗi chữ và số 64 ký tự duy nhất hoạt động như một dấu vân tay điện tử cho toàn bộ nội dung dữ liệu. .
Chuỗi dữ liệu này, được gọi là Merkle Root, cực kỳ quan trọng vì nó cho phép bất kỳ máy tính nào nhanh chóng xác minh rằng một giao dịch cụ thể diễn ra trên một khối cụ thể một cách hiệu quả nhất có thể.
Chuỗi 256 bit duy nhất mà Cây Merkle tạo ra được gọi là Merkle Root. Mỗi khối trong blockchain có chính xác một khối. Và, như chúng tôi vừa đề cập, Merkle Root là một phần dữ liệu quan trọng vì nó cho phép máy tính xác minh thông tin với tốc độ và hiệu quả đáng kinh ngạc.
Hãy lặn sâu hơn một chút. Merkle Root được sản xuất như thế nào? Bước đầu tiên là sắp xếp tất cả dữ liệu đầu vào, trong trường hợp này là ID giao dịch. Merkle Trees, theo thiết kế, luôn nhóm tất cả đầu vào thành từng cặp. Nếu có số lượng đầu vào lẻ, đầu vào cuối cùng sẽ được sao chép và sau đó ghép nối với chính nó. Điều này đúng với tất cả các ID giao dịch được ghi trên một khối của blockchain.
Ví dụ: giả sử rằng một khối chứa tổng cộng 512 giao dịch. Cây Merkle sẽ bắt đầu bằng cách nhóm 512 ID giao dịch đó thành 256 cặp. Sau đó, 256 cặp ID giao dịch đó sẽ trải qua một quy trình toán học— hàm băm hoặc thuật toán băm, như đôi khi nó được gọi— và chúng ta sẽ có 256 hàm băm mật mã mới, 64 ký tự.
Quá trình chính xác tương tự xảy ra một lần nữa. 256 giá trị băm mới đó sẽ được ghép nối và biến thành 128 giá trị băm. Quá trình này được lặp lại, mỗi lần cắt số lượng băm xuống một nửa cho đến khi chỉ còn lại một hàm băm duy nhất. Hàm băm duy nhất đó là Merkle Root của chúng tôi.
Để làm rõ khái niệm này, chúng ta hãy xem một ví dụ rất đơn giản về Cây Merkle. Hãy tưởng tượng rằng có 8 giao dịch được thực hiện trên một khối cụ thể. Trên thực tế, ID giao dịch dài 64 ký tự, nhưng để đơn giản, hãy giả sử chúng chỉ dài 8 ký tự. Để làm cho mọi việc trở nên dễ dàng hơn nữa, chúng ta hãy chỉ sử dụng các con số (và bỏ qua các chữ cái hoàn toàn).
Vì vậy, trong ví dụ này, tám ID giao dịch của chúng tôi sẽ là:
Bây giờ, hãy giả sử rằng phương pháp băm các ID giao dịch cùng nhau là lấy các chữ số thứ nhất, thứ ba, thứ năm và thứ bảy từ mỗi ID trong số hai ID được kết hợp, sau đó chỉ cần đẩy các số đó lại với nhau để tạo thành mã 8 chữ số mới.
Tất nhiên, trên thực tế, toán học đằng sau thuật toán băm phức tạp hơn thế nhiều. Nhưng đối với sự trình diễn đơn giản này, hệ cơ bản này sẽ đủ.
Cây Merkle của chúng ta sẽ trông như thế này:
Lưu ý rằng số lượng mã được giảm đi một nửa ở mỗi bước trong Cây Merkle. Chúng tôi bắt đầu với 8 ID giao dịch và chỉ sau 3 bước, kết thúc bằng một mã duy nhất—Merkle Root. Trong ví dụ này, Merkle Root của chúng tôi là mã ở hộp dưới cùng: 12345678.
Lợi ích chính của Merkle Trees là chúng cho phép xác minh dữ liệu cực kỳ nhanh chóng. Nếu chúng tôi muốn xác thực một ID giao dịch, chúng tôi sẽ không cần kiểm tra kỹ từng giao dịch trên khối. Thay vào đó, chúng tôi chỉ cần xác minh “nhánh” cụ thể đó của Cây Merkle.
Giả sử chúng ta muốn xác thực ID giao dịch trong ví dụ hiện tại. Bob nói rằng anh ấy đã trả cho Alice một số tiền Bitcoin nhất định và cho chúng tôi biết rằng ID giao dịch là 88888888. Anh ấy cũng gửi cho chúng tôi 3 giá trị băm: 77777777, 55556666 và 11223344. Đó là tất cả thông tin cần được gửi hoặc nhận để xác minh khoản thanh toán của Bob cho Alice.
Ba hàm băm này, cùng với ID giao dịch được đề cập và Merkle Root của khối cụ thể này, là dữ liệu duy nhất cần thiết để xác minh khoản thanh toán của Bob cho Alice. Đây là ít dữ liệu hơn nhiều so với những gì cần thiết để xác minh toàn bộ Cây Merkle. Do đó, quá trình xác minh nhanh hơn và hiệu quả hơn nhiều đối với mọi người.
Đây là cách nó hoạt động. Chúng tôi đã có Merkle Root của khối nên Bob không cần gửi cho chúng tôi số đó. Anh ấy gửi cho chúng tôi ID giao dịch của anh ấy và 3 mã băm bổ sung mà chúng tôi đã liệt kê ở trên. Anh ta cũng gửi một ít thông tin về thứ tự và vị trí sử dụng hàm băm. Bây giờ, tất cả những gì chúng ta phải làm là chạy thuật toán băm trên tập dữ liệu mà Bob cung cấp.
Chúng tôi bắt đầu bằng cách băm mã đầu tiên 77777777 với ID giao dịch 88888888, mang lại cho chúng tôi kết quả 77778888. Bob đã không gửi cho chúng tôi mã này nhưng anh ấy không cần phải làm vậy vì chúng tôi đang sử dụng thuật toán băm giống như anh ấy. Vì vậy, chúng tôi nhận được kết quả chính xác như nhau.
Sau đó, chúng tôi lấy mã thứ hai mà Bob đã gửi cho chúng tôi, 55556666 và băm nó bằng mã mới 77778888 mà chúng tôi vừa lấy được. Tất nhiên, điều này tạo ra số 55667788.
Cuối cùng, chúng tôi băm mã thứ ba mà Bob đưa cho chúng tôi, 11223344, cùng với mã mới khác mà chúng tôi nhận được, 55667788, và chúng tôi thu được Merkle Root chính xác: 12345678.
Lưu ý rằng chúng ta chỉ cần 3 mã từ Bob và chỉ phải chạy thuật toán băm ba lần để thấy giao dịch của Bob hợp lệ. Điều đó có nghĩa là máy tính của chúng tôi đã thực hiện chưa đến một nửa công việc cần thiết để xác minh toàn bộ Cây Merkle. Sơ đồ Merkle Tree ban đầu có 15 số và thuật toán băm cần được chạy 7 lần. Nhưng hơn một nửa cây đó không cần thiết để xác minh giao dịch của Bob!
Quy trình này đủ để xác minh rằng trên thực tế, Bob đã trả cho Alice số tiền Bitcoin nhất định đó vì chúng tôi đã rút ra các số mà khi được băm cùng với các mã khác mà Bob đã gửi cho chúng tôi, đã tạo ra cùng một Merkle Root mà chúng tôi đã biết là đúng cho khối đặc biệt này.
Bob không thể giả mạo một giao dịch vì điều đó sẽ yêu cầu tìm ID giao dịch giả và một bộ mã giả bổ sung mà khi đưa vào chức năng băm sẽ tạo ra Merkle Root thực sự. Khả năng xảy ra điều này rất nhỏ về mặt thiên văn nên chúng ta có thể tự tin nói rằng điều đó là không thể.
Trong ví dụ đơn giản này, khả năng tiết kiệm năng lượng tính toán có vẻ không đáng kể. Tuy nhiên, khi bạn xem xét rằng các khối trong blockchain có thể chứa hàng nghìn giao dịch, thật dễ dàng để thấy Merkle Trees tăng hiệu quả đáng kể như thế nào.
Nói tóm lại, đó là lợi ích chính của Cây Merkle. Nó cho phép máy tính xác minh thông tin cực kỳ hiệu quả và sử dụng ít dữ liệu hơn nhiều so với những gì cần thiết nếu không có Merkle Tree.
Cây Merkle cũng là khái niệm nền tảng trong giải pháp của Komodo Platform cho vấn đề về khả năng mở rộng blockchain. Giải pháp mở rộng quy mô của Komodo cho phép khả năng tương tác blockchain hoàn chỉnh và sẽ cho phép Komodo xử lý các giao dịch nhanh hơn bất kỳ dịch vụ xử lý thanh toán nào khác trên hành tinh. Hiện tại, công nghệ mở rộng quy mô mới của Komodo đang xử lý hơn 20.000 giao dịch mỗi giây trong môi trường thử nghiệm.
Cây Merkle là một phương pháp cấu trúc dữ liệu cho phép xác minh độ chính xác của một lượng lớn thông tin cực kỳ nhanh chóng và hiệu quả. Mỗi cây Merkle tạo ra một chuỗi dữ liệu duy nhất, được gọi là gốc Merkle. Với gốc Merkle, cộng với một số dữ liệu khác, bất kỳ máy tính nào cũng có thể xác thực tất cả các mục khác trong cây Merkle một cách hiệu quả. Trong công nghệ blockchain, những mục này là số nhận dạng giao dịch.
Nếu bạn tham gia vào thế giới blockchain, bạn có thể đã từng gặp cụm từ “merkle tree” trước đây. Mặc dù cây Merkle không phải là một khái niệm được hiểu rộng rãi nhưng chúng cũng không quá phức tạp. Bài đăng này sẽ giải thích về cây Merkle bằng tiếng Anh đơn giản và giúp bạn hiểu cách chúng tạo ra công nghệ blockchain.
Câu chuyện về Merkle Trees bắt đầu từ năm 1979 với một chàng trai tên Ralph Merkle. Khi còn học cao học tại Đại học Stanford, Merkle đã viết một bài báo học thuật có tên “Chữ ký số được chứng nhận”. Trong bài luận này, Merkle đã mô tả một phương pháp tạo chữ ký số và thiết lập một phương pháp mới, cực kỳ hiệu quả để tạo bằng chứng mật mã. Nói cách khác, ông đã thiết kế một quy trình xác minh dữ liệu cho phép máy tính thực hiện công việc của mình nhanh hơn rất nhiều so với trước đây.
Merkle gọi ý tưởng của mình là “Chữ ký cây” hay “Xác thực cây”. Ngày nay, ý tưởng này được biết đến nhiều hơn với cái tên Merkle Tree, được đặt theo tên của nhà phát minh.
Không quá lời khi nói rằng Merkle Trees đã cách mạng hóa thế giới mật mã và nói rộng hơn là cách thức hoạt động của các giao thức máy tính được mã hóa. Trên thực tế, Cây Merkle được nhắc đến nhiều lần trong bài tiểu luận giới thiệu Bitcoin với thế giới năm 2008 của Satoshi Nakamoto . Chúng được sử dụng rộng rãi trong giao thức Bitcoin.
Vậy chính xác thì Merkle Tree là gì? Hãy cùng tìm hiểu.
Đầu tiên, điều quan trọng là phải hiểu khái niệm về hàm băm mật mã. Nói một cách đơn giản, hàm băm là các hàm toán học không thể đảo ngược, lấy đầu vào có độ dài bất kỳ— từ một ký tự đến văn bản của toàn bộ bộ bách khoa toàn thư— và tạo ra đầu ra ngẫu nhiên có độ dài cố định. Vì đầu ra xuất hiện ngẫu nhiên và có độ dài cố định nên kẻ tấn công không có manh mối nào về đầu vào nào đã tạo ra đầu ra cụ thể. Hàm băm cũng có tính xác định nên cùng một đầu vào sẽ luôn tạo ra cùng một đầu ra. Cuối cùng, các hàm băm là không thể đảo ngược, do đó hoàn toàn không có cách nào để xác định đầu vào chỉ dựa trên kiến thức về đầu ra.
Tất cả các thuộc tính này cho phép hàm băm tạo ra dấu vân tay điện tử của một đầu vào cụ thể. Bằng cách sử dụng các hàm băm, mạng blockchain tạo ra hàm băm mật mã—dấu vân tay điện tử—của mỗi giao dịch. Băm mật mã của một giao dịch được gọi đơn giản là ID giao dịch. Đối với hầu hết mọi giao thức blockchain, mỗi ID giao dịch là một chuỗi dữ liệu chữ và số 64 ký tự (256-bit).
Khi bạn cho rằng các chuỗi khối thường được tạo thành từ hàng trăm nghìn khối, với mỗi khối chứa tới vài nghìn giao dịch, bạn có thể tưởng tượng việc xác minh các giao dịch có thể trở nên khó khăn về mặt tính toán nhanh đến mức nào. Vì vậy, cách tối ưu là sử dụng ít dữ liệu nhất có thể khi xử lý và xác minh giao dịch. Điều này giảm thiểu thời gian xử lý của CPU đồng thời đảm bảo mức độ bảo mật cao nhất.
Chà, đó chính xác là những gì Merkle Trees làm. Nói một cách đơn giản, Merkle Tree lấy một số lượng lớn ID giao dịch, cấu trúc chúng theo một cách cụ thể và sử dụng các hàm băm mật mã để lấy ra một chuỗi chữ và số 64 ký tự duy nhất hoạt động như một dấu vân tay điện tử cho toàn bộ nội dung dữ liệu. .
Chuỗi dữ liệu này, được gọi là Merkle Root, cực kỳ quan trọng vì nó cho phép bất kỳ máy tính nào nhanh chóng xác minh rằng một giao dịch cụ thể diễn ra trên một khối cụ thể một cách hiệu quả nhất có thể.
Chuỗi 256 bit duy nhất mà Cây Merkle tạo ra được gọi là Merkle Root. Mỗi khối trong blockchain có chính xác một khối. Và, như chúng tôi vừa đề cập, Merkle Root là một phần dữ liệu quan trọng vì nó cho phép máy tính xác minh thông tin với tốc độ và hiệu quả đáng kinh ngạc.
Hãy lặn sâu hơn một chút. Merkle Root được sản xuất như thế nào? Bước đầu tiên là sắp xếp tất cả dữ liệu đầu vào, trong trường hợp này là ID giao dịch. Merkle Trees, theo thiết kế, luôn nhóm tất cả đầu vào thành từng cặp. Nếu có số lượng đầu vào lẻ, đầu vào cuối cùng sẽ được sao chép và sau đó ghép nối với chính nó. Điều này đúng với tất cả các ID giao dịch được ghi trên một khối của blockchain.
Ví dụ: giả sử rằng một khối chứa tổng cộng 512 giao dịch. Cây Merkle sẽ bắt đầu bằng cách nhóm 512 ID giao dịch đó thành 256 cặp. Sau đó, 256 cặp ID giao dịch đó sẽ trải qua một quy trình toán học— hàm băm hoặc thuật toán băm, như đôi khi nó được gọi— và chúng ta sẽ có 256 hàm băm mật mã mới, 64 ký tự.
Quá trình chính xác tương tự xảy ra một lần nữa. 256 giá trị băm mới đó sẽ được ghép nối và biến thành 128 giá trị băm. Quá trình này được lặp lại, mỗi lần cắt số lượng băm xuống một nửa cho đến khi chỉ còn lại một hàm băm duy nhất. Hàm băm duy nhất đó là Merkle Root của chúng tôi.
Để làm rõ khái niệm này, chúng ta hãy xem một ví dụ rất đơn giản về Cây Merkle. Hãy tưởng tượng rằng có 8 giao dịch được thực hiện trên một khối cụ thể. Trên thực tế, ID giao dịch dài 64 ký tự, nhưng để đơn giản, hãy giả sử chúng chỉ dài 8 ký tự. Để làm cho mọi việc trở nên dễ dàng hơn nữa, chúng ta hãy chỉ sử dụng các con số (và bỏ qua các chữ cái hoàn toàn).
Vì vậy, trong ví dụ này, tám ID giao dịch của chúng tôi sẽ là:
Bây giờ, hãy giả sử rằng phương pháp băm các ID giao dịch cùng nhau là lấy các chữ số thứ nhất, thứ ba, thứ năm và thứ bảy từ mỗi ID trong số hai ID được kết hợp, sau đó chỉ cần đẩy các số đó lại với nhau để tạo thành mã 8 chữ số mới.
Tất nhiên, trên thực tế, toán học đằng sau thuật toán băm phức tạp hơn thế nhiều. Nhưng đối với sự trình diễn đơn giản này, hệ cơ bản này sẽ đủ.
Cây Merkle của chúng ta sẽ trông như thế này:
Lưu ý rằng số lượng mã được giảm đi một nửa ở mỗi bước trong Cây Merkle. Chúng tôi bắt đầu với 8 ID giao dịch và chỉ sau 3 bước, kết thúc bằng một mã duy nhất—Merkle Root. Trong ví dụ này, Merkle Root của chúng tôi là mã ở hộp dưới cùng: 12345678.
Lợi ích chính của Merkle Trees là chúng cho phép xác minh dữ liệu cực kỳ nhanh chóng. Nếu chúng tôi muốn xác thực một ID giao dịch, chúng tôi sẽ không cần kiểm tra kỹ từng giao dịch trên khối. Thay vào đó, chúng tôi chỉ cần xác minh “nhánh” cụ thể đó của Cây Merkle.
Giả sử chúng ta muốn xác thực ID giao dịch trong ví dụ hiện tại. Bob nói rằng anh ấy đã trả cho Alice một số tiền Bitcoin nhất định và cho chúng tôi biết rằng ID giao dịch là 88888888. Anh ấy cũng gửi cho chúng tôi 3 giá trị băm: 77777777, 55556666 và 11223344. Đó là tất cả thông tin cần được gửi hoặc nhận để xác minh khoản thanh toán của Bob cho Alice.
Ba hàm băm này, cùng với ID giao dịch được đề cập và Merkle Root của khối cụ thể này, là dữ liệu duy nhất cần thiết để xác minh khoản thanh toán của Bob cho Alice. Đây là ít dữ liệu hơn nhiều so với những gì cần thiết để xác minh toàn bộ Cây Merkle. Do đó, quá trình xác minh nhanh hơn và hiệu quả hơn nhiều đối với mọi người.
Đây là cách nó hoạt động. Chúng tôi đã có Merkle Root của khối nên Bob không cần gửi cho chúng tôi số đó. Anh ấy gửi cho chúng tôi ID giao dịch của anh ấy và 3 mã băm bổ sung mà chúng tôi đã liệt kê ở trên. Anh ta cũng gửi một ít thông tin về thứ tự và vị trí sử dụng hàm băm. Bây giờ, tất cả những gì chúng ta phải làm là chạy thuật toán băm trên tập dữ liệu mà Bob cung cấp.
Chúng tôi bắt đầu bằng cách băm mã đầu tiên 77777777 với ID giao dịch 88888888, mang lại cho chúng tôi kết quả 77778888. Bob đã không gửi cho chúng tôi mã này nhưng anh ấy không cần phải làm vậy vì chúng tôi đang sử dụng thuật toán băm giống như anh ấy. Vì vậy, chúng tôi nhận được kết quả chính xác như nhau.
Sau đó, chúng tôi lấy mã thứ hai mà Bob đã gửi cho chúng tôi, 55556666 và băm nó bằng mã mới 77778888 mà chúng tôi vừa lấy được. Tất nhiên, điều này tạo ra số 55667788.
Cuối cùng, chúng tôi băm mã thứ ba mà Bob đưa cho chúng tôi, 11223344, cùng với mã mới khác mà chúng tôi nhận được, 55667788, và chúng tôi thu được Merkle Root chính xác: 12345678.
Lưu ý rằng chúng ta chỉ cần 3 mã từ Bob và chỉ phải chạy thuật toán băm ba lần để thấy giao dịch của Bob hợp lệ. Điều đó có nghĩa là máy tính của chúng tôi đã thực hiện chưa đến một nửa công việc cần thiết để xác minh toàn bộ Cây Merkle. Sơ đồ Merkle Tree ban đầu có 15 số và thuật toán băm cần được chạy 7 lần. Nhưng hơn một nửa cây đó không cần thiết để xác minh giao dịch của Bob!
Quy trình này đủ để xác minh rằng trên thực tế, Bob đã trả cho Alice số tiền Bitcoin nhất định đó vì chúng tôi đã rút ra các số mà khi được băm cùng với các mã khác mà Bob đã gửi cho chúng tôi, đã tạo ra cùng một Merkle Root mà chúng tôi đã biết là đúng cho khối đặc biệt này.
Bob không thể giả mạo một giao dịch vì điều đó sẽ yêu cầu tìm ID giao dịch giả và một bộ mã giả bổ sung mà khi đưa vào chức năng băm sẽ tạo ra Merkle Root thực sự. Khả năng xảy ra điều này rất nhỏ về mặt thiên văn nên chúng ta có thể tự tin nói rằng điều đó là không thể.
Trong ví dụ đơn giản này, khả năng tiết kiệm năng lượng tính toán có vẻ không đáng kể. Tuy nhiên, khi bạn xem xét rằng các khối trong blockchain có thể chứa hàng nghìn giao dịch, thật dễ dàng để thấy Merkle Trees tăng hiệu quả đáng kể như thế nào.
Nói tóm lại, đó là lợi ích chính của Cây Merkle. Nó cho phép máy tính xác minh thông tin cực kỳ hiệu quả và sử dụng ít dữ liệu hơn nhiều so với những gì cần thiết nếu không có Merkle Tree.
Cây Merkle cũng là khái niệm nền tảng trong giải pháp của Komodo Platform cho vấn đề về khả năng mở rộng blockchain. Giải pháp mở rộng quy mô của Komodo cho phép khả năng tương tác blockchain hoàn chỉnh và sẽ cho phép Komodo xử lý các giao dịch nhanh hơn bất kỳ dịch vụ xử lý thanh toán nào khác trên hành tinh. Hiện tại, công nghệ mở rộng quy mô mới của Komodo đang xử lý hơn 20.000 giao dịch mỗi giây trong môi trường thử nghiệm.