Leçon 3

Kiến trúc kỹ thuật của Monad

Mô-đun này cung cấp một phân tích kỹ thuật sâu về kiến trúc của Monad, bao gồm cách giao thức đạt được khả năng xử lý cao và độ trễ thấp. Các chủ đề bao gồm bộ máy thực thi song song, mô hình thực thi không đồng bộ, sự đồng thuận MonadBFT và lớp lưu trữ MonadDB tùy chỉnh, tất cả đều được thiết kế để hỗ trợ các ứng dụng phức tạp, có khả năng mở rộng trên chuỗi.

Thực hiện song song lạc quan

Một trong những đổi mới quan trọng nhất của blockchain Monad là mô hình thực thi song song lạc quan của nó. Cách tiếp cận này tái suy nghĩ cách giao dịch được xử lý ở cấp độ giao thức, giải quyết một hạn chế chính của các blockchain truyền thống: thực thi tuần tự. Trong các nền tảng như Ethereum, các giao dịch được thực thi một cách tuần tự, đảm bảo tính nhất quán của trạng thái nhưng hạn chế nghiêm trọng hiệu suất và tổng thể.

Máy ảo của Monad giới thiệu tính song song bằng cách giả định rằng hầu hết các giao dịch trong một khối là độc lập và không tương tác với các phần giống nhau của trạng thái blockchain. Dựa trên giả định này, các giao dịch được nhóm và lên lịch chạy song song trên nhiều luồng xử lý. Điều này tăng đáng kể năng suất thực thi, đặc biệt là dưới tải mạng cao, bằng cách tận dụng hiệu quả hơn các bộ xử lý đa lõi hiện đại hơn so với các mô hình tuần tự.

Tuy nhiên, sự đồng thời đưa ra nguy cơ xung đột dữ liệu tiềm ẩn, chẳng hạn như hai giao dịch cố gắng sửa đổi cùng một tài khoản hoặc hợp đồng. Monad giải quyết vấn đề này bằng cách tích hợp một hệ thống phát hiện và giải quyết xung đột. Sau khi các giao dịch được thực thi song song, hệ thống kiểm tra sự không nhất quán. Nếu phát hiện xung đột, chỉ có các giao dịch bị ảnh hưởng được thực thi lại hoặc được sắp xếp một cách an toàn. Điều này đảm bảo rằng blockchain duy trì tính chính xác và dự đoán được các bước chuyển trạng thái, trong khi vẫn hưởng lợi từ hiệu suất của xử lý đồng thời.

Mô hình này giống như kiểm soát cạnh tranh lạc quan trong các hệ thống cơ sở dữ liệu hiện đại, nơi mà hầu hết các hoạt động được cho là không xung đột và được xử lý đồng thời. Chỉ trong trường hợp biên hệ thống mới can thiệp. Kết quả là một lớp thực thi có thể mở rộng và thích ứng phù hợp cho các ứng dụng với lưu lượng giao dịch cao và khối lượng công việc đa dạng.

Việc thực hiện song song lạc quan đặc biệt có lợi cho các trường hợp sử dụng như DeFi, trò chơi và thị trường NFT—nơi nhiều người dùng tương tác đồng thời nhưng hiếm khi với cùng một dữ liệu. Monad có thể xử lý những hoạt động này song song, giảm tắc nghẽn và tăng cường khả năng phản hồi của các ứng dụng phi tập trung mà không cần sử dụng các lớp mở rộng ngoại chuỗi.

Một lợi ích chính khác là sự đơn giản của nhà phát triển. Môi trường tương thích với EVM của Monad cho phép hợp đồng thông minh được viết bằng Solidity thực thi một cách bình thường, mà không yêu cầu nhà phát triển phải quản lý song song thủ công. Giao thức xử lý logic thực thi ẩn sau cảnh, bảo tồn trải nghiệm của nhà phát triển trong khi cải thiện hiệu suất mạng.

Thực thi không đồng bộ

Bổ sung cho mô hình thực thi song song của mình, Monad thực hiện việc thực thi bất đồng bộ, một tính năng kiến trúc tách biệt việc thực thi giao dịch khỏi quá trình thống nhất. Trong các chuỗi khối truyền thống, sự thống nhất và thực thi được liên kết chặt chẽ - các máy chủ xác nhận phải chạy tất cả các giao dịch trước khi đồng ý và hoàn thiện một khối. Sự kết hợp này tạo ra độ trễ và giới hạn tốc độ sản xuất khối mới.

Monad phân cách các chức năng này bằng cách hoàn thiện thứ tự của các giao dịch trước tiên, thông qua sự đồng thuận, và sau đó thực thi chúng. Thiết kế này cho phép lớp đồng thuận hoạt động độc lập và liên tục, trong khi thực thi chạy song song ở nền. Nó tăng hiệu suất của bộ xác thực và giảm thời gian khối, vì các bộ xác thực không còn bị ràng buộc bởi thời gian để tính toán kết quả của mỗi giao dịch.

Hệ thống duy trì tính xác định và bảo mật bằng cách đảm bảo rằng tất cả các nút thực thi các giao dịch chính xác giống nhau, theo cùng một thứ tự đã thỏa thuận, ngay cả khi việc thực thi xảy ra vào các thời điểm khác nhau. Điều này đảm bảo tính nhất quán trên toàn mạng và ngăn ngừa sự phân kỳ trong trạng thái chuỗi khối.

Thực hiện bất đồng bộ cũng bổ sung cho sự song song lạc quan của Monad. Trong khi sự đồng thuận tiến triển và các khối mới được hoàn tất nhanh chóng, việc thực hiện diễn ra đồng thời trên nhiều luồng, chỉ giải quyết xung đột khi cần thiết. Sự kết hợp song song-bất đồng bộ này tối đa hóa sự song song và sử dụng tài nguyên hệ thống mà không làm mất tính đúng đắn.

Từ góc nhìn của người dùng và nhà phát triển, kiến trúc này mang lại việc bao gồm giao dịch nhanh hơn, ứng dụng phản hồi tốt hơn và tăng khả năng mở rộng. Các người xác minh cũng được hưởng lợi từ việc giảm thiểu các chướng ngại vật, dẫn đến một mạng lưới hiệu quả và phi tập trung hơn.

Cơ chế đồng thuận MonadBFT

Đồng thuận trong Monad được đạt được thông qua MonadBFT, một sự điều chỉnh tùy chỉnh của giao thức HotStuff Byzantine Fault Tolerant (BFT). Cơ chế đồng thuận này được tối ưu hóa cho cả hiệu suất và bảo mật, hỗ trợ cho mục tiêu của Monad về tính kết thúc thấp độ trễ và công suất cao, đồng thời vẫn giữ cho các nhà xác thực phi tập trung có thể truy cập được.

HotStuff ban đầu đã được phát triển để giảm số vòng tròn giao tiếp cần thiết để hoàn tất một khối. MonadBFT xây dựng trên cơ sở này bằng cách cho phép sự hoàn tất trong một khe, nơi mà các khối được hoàn tất trong một vòng tròn của sự đồng thuận mà không cần chờ đợi nhiều xác nhận. Điều này cung cấp sự hoàn tất giao dịch ngay lập tức, cải thiện tính dự đoán cho các ứng dụng và giảm nguy cơ tái cấu trúc chuỗi.

MonadBFT sử dụng mô hình dựa trên người lãnh đạo. Ở mỗi vòng, một người xác minh đề xuất một khối trong khi những người khác xác minh và bỏ phiếu cho nó. Nếu hai phần ba tổng số cổ phần xác minh xác nhận khối, nó được hoàn thiện. Quy trình tối ưu này giảm thiểu chi phí và tăng tốc sản xuất khối, đặc biệt là trong điều kiện vận hành bình thường.

Để đảm bảo tính sống còn, MonadBFT bao gồm chiến lược xoay lãnh đạo và thời gian chờ. Nếu một lãnh đạo không thể đề xuất một khối, người xác minh tiếp theo trong hàng ngũ sẽ tự động tiếp quản. Sự kiên cường này đảm bảo rằng chuỗi tiếp tục tiến triển ngay cả khi một số người xác minh không hoạt động hoặc không phản hồi.

Từ quan điểm bảo mật, MonadBFT tuân theo ngưỡng BFT điển hình, chịu đựng được tới một phần ba của các nhà xác minh hành động độc ác mà không ảnh hưởng đến an toàn. Khi một khối được hoàn tất, nó được bị kín mật bằng mật mã và không thể bị đảo ngược mà không có sự kết hợp của các nhà diễn viên không trung thực kiểm soát đa số quyền lực của nhà xác minh.

Giao thức được tích hợp chặt chẽ với mô hình thực thi bất đồng bộ của Monad. Khi các khối được hoàn thiện trước khi thực thi, hệ thống có thể tiếp tục tiến triển mà không bị trễ, trong khi lớp thực thi xử lý giao dịch độc lập. Kiến trúc này giảm công việc của bộ xác thực và cho phép hệ thống duy trì hiệu suất cao mà không phụ thuộc vào dịch vụ xếp hàng tập trung hoặc các bên trung gian đáng tin cậy.

MonadDB

Việc thực thi hiệu quả và đồng thuận dựa vào hệ thống quản lý trạng thái hiệu suất cao. Trong Monad, vai trò này được thực hiện bởi MonadDB, tầng lưu trữ trạng thái tùy chỉnh của blockchain. MonadDB chịu trách nhiệm lưu trữ tất cả dữ liệu trên chuỗi, bao gồm số dư tài khoản, lưu trữ hợp đồng và các biến trạng thái cố định khác. Nó được thiết kế để nhanh chóng, đồng thời và hoàn toàn tương thích với bộ máy thực thi song song của Monad.

MonadDB sử dụng cửa hàng khóa-giá trị có phiên bản, bền vững, cho phép nó duy trì nhiều bản chụp của trạng thái cùng một lúc. Điều này quan trọng để hỗ trợ thực hiện suy đoán, nơi mà nhiều giao dịch được xử lý song song và có thể bị quay lại hoặc điều chỉnh tùy thuộc vào xung đột. Bằng cách lưu trữ các phiên bản khác nhau của trạng thái, MonadDB cho phép bộ máy thực hiện cô lập và giải quyết xung đột dữ liệu một cách hiệu quả.

Tại lõi của nó, MonadDB sử dụng cấu trúc dữ liệu Merkle Patricia Trie - một cây bảo mật mật mã cho phép xác minh nhanh chóng trạng thái blockchain. Cấu trúc trie này đảm bảo rằng bất kỳ thay đổi nào trong trạng thái đều dẫn đến một hash gốc mới, có thể được xác minh bởi tất cả các nút. Nó hỗ trợ đồng bộ hóa không tin cậy, các client nhẹ và xác minh trạng thái dựa trên bằng chứng, những yếu tố cơ bản để thiết kế blockchain an toàn và có khả năng mở rộng.

Để xử lý lưu lượng giao dịch dự kiến, MonadDB được thiết kế để đọc và ghi thấp độ trễ. Nó tích hợp bộ nhớ cache, kiểm soát truy cập đồng thời an toàn, và lưu trữ đĩa tốc độ cao để đảm bảo việc truy xuất và sửa đổi nhanh chóng của các mục trạng thái. Những tối ưu này cho phép lớp thực thi hoạt động ở tốc độ xử lý cao mà không bị chậm lại do trễ truy cập dữ liệu.

Từ quan điểm của một nhà phát triển, MonadDB được trừu tượng hoàn toàn. Các nhà phát triển hợp đồng thông minh tương tác với blockchain thông qua cấu trúc Solidity quen thuộc, mà không cần quản lý cơ chế trạng thái cơ bản. MonadDB đảm bảo rằng trạng thái được cập nhật và lưu trữ một cách chính xác, ngay cả trong tình trạng tải cao hoặc trong quá trình thực thi hợp đồng phức tạp.

Clause de non-responsabilité
* Les investissements en cryptomonnaies comportent des risques importants. Veuillez faire preuve de prudence. Le cours n'est pas destiné à fournir des conseils en investissement.
* Ce cours a été créé par l'auteur qui a rejoint Gate Learn. Toute opinion partagée par l'auteur ne représente pas Gate Learn.
Catalogue
Leçon 3

Kiến trúc kỹ thuật của Monad

Mô-đun này cung cấp một phân tích kỹ thuật sâu về kiến trúc của Monad, bao gồm cách giao thức đạt được khả năng xử lý cao và độ trễ thấp. Các chủ đề bao gồm bộ máy thực thi song song, mô hình thực thi không đồng bộ, sự đồng thuận MonadBFT và lớp lưu trữ MonadDB tùy chỉnh, tất cả đều được thiết kế để hỗ trợ các ứng dụng phức tạp, có khả năng mở rộng trên chuỗi.

Thực hiện song song lạc quan

Một trong những đổi mới quan trọng nhất của blockchain Monad là mô hình thực thi song song lạc quan của nó. Cách tiếp cận này tái suy nghĩ cách giao dịch được xử lý ở cấp độ giao thức, giải quyết một hạn chế chính của các blockchain truyền thống: thực thi tuần tự. Trong các nền tảng như Ethereum, các giao dịch được thực thi một cách tuần tự, đảm bảo tính nhất quán của trạng thái nhưng hạn chế nghiêm trọng hiệu suất và tổng thể.

Máy ảo của Monad giới thiệu tính song song bằng cách giả định rằng hầu hết các giao dịch trong một khối là độc lập và không tương tác với các phần giống nhau của trạng thái blockchain. Dựa trên giả định này, các giao dịch được nhóm và lên lịch chạy song song trên nhiều luồng xử lý. Điều này tăng đáng kể năng suất thực thi, đặc biệt là dưới tải mạng cao, bằng cách tận dụng hiệu quả hơn các bộ xử lý đa lõi hiện đại hơn so với các mô hình tuần tự.

Tuy nhiên, sự đồng thời đưa ra nguy cơ xung đột dữ liệu tiềm ẩn, chẳng hạn như hai giao dịch cố gắng sửa đổi cùng một tài khoản hoặc hợp đồng. Monad giải quyết vấn đề này bằng cách tích hợp một hệ thống phát hiện và giải quyết xung đột. Sau khi các giao dịch được thực thi song song, hệ thống kiểm tra sự không nhất quán. Nếu phát hiện xung đột, chỉ có các giao dịch bị ảnh hưởng được thực thi lại hoặc được sắp xếp một cách an toàn. Điều này đảm bảo rằng blockchain duy trì tính chính xác và dự đoán được các bước chuyển trạng thái, trong khi vẫn hưởng lợi từ hiệu suất của xử lý đồng thời.

Mô hình này giống như kiểm soát cạnh tranh lạc quan trong các hệ thống cơ sở dữ liệu hiện đại, nơi mà hầu hết các hoạt động được cho là không xung đột và được xử lý đồng thời. Chỉ trong trường hợp biên hệ thống mới can thiệp. Kết quả là một lớp thực thi có thể mở rộng và thích ứng phù hợp cho các ứng dụng với lưu lượng giao dịch cao và khối lượng công việc đa dạng.

Việc thực hiện song song lạc quan đặc biệt có lợi cho các trường hợp sử dụng như DeFi, trò chơi và thị trường NFT—nơi nhiều người dùng tương tác đồng thời nhưng hiếm khi với cùng một dữ liệu. Monad có thể xử lý những hoạt động này song song, giảm tắc nghẽn và tăng cường khả năng phản hồi của các ứng dụng phi tập trung mà không cần sử dụng các lớp mở rộng ngoại chuỗi.

Một lợi ích chính khác là sự đơn giản của nhà phát triển. Môi trường tương thích với EVM của Monad cho phép hợp đồng thông minh được viết bằng Solidity thực thi một cách bình thường, mà không yêu cầu nhà phát triển phải quản lý song song thủ công. Giao thức xử lý logic thực thi ẩn sau cảnh, bảo tồn trải nghiệm của nhà phát triển trong khi cải thiện hiệu suất mạng.

Thực thi không đồng bộ

Bổ sung cho mô hình thực thi song song của mình, Monad thực hiện việc thực thi bất đồng bộ, một tính năng kiến trúc tách biệt việc thực thi giao dịch khỏi quá trình thống nhất. Trong các chuỗi khối truyền thống, sự thống nhất và thực thi được liên kết chặt chẽ - các máy chủ xác nhận phải chạy tất cả các giao dịch trước khi đồng ý và hoàn thiện một khối. Sự kết hợp này tạo ra độ trễ và giới hạn tốc độ sản xuất khối mới.

Monad phân cách các chức năng này bằng cách hoàn thiện thứ tự của các giao dịch trước tiên, thông qua sự đồng thuận, và sau đó thực thi chúng. Thiết kế này cho phép lớp đồng thuận hoạt động độc lập và liên tục, trong khi thực thi chạy song song ở nền. Nó tăng hiệu suất của bộ xác thực và giảm thời gian khối, vì các bộ xác thực không còn bị ràng buộc bởi thời gian để tính toán kết quả của mỗi giao dịch.

Hệ thống duy trì tính xác định và bảo mật bằng cách đảm bảo rằng tất cả các nút thực thi các giao dịch chính xác giống nhau, theo cùng một thứ tự đã thỏa thuận, ngay cả khi việc thực thi xảy ra vào các thời điểm khác nhau. Điều này đảm bảo tính nhất quán trên toàn mạng và ngăn ngừa sự phân kỳ trong trạng thái chuỗi khối.

Thực hiện bất đồng bộ cũng bổ sung cho sự song song lạc quan của Monad. Trong khi sự đồng thuận tiến triển và các khối mới được hoàn tất nhanh chóng, việc thực hiện diễn ra đồng thời trên nhiều luồng, chỉ giải quyết xung đột khi cần thiết. Sự kết hợp song song-bất đồng bộ này tối đa hóa sự song song và sử dụng tài nguyên hệ thống mà không làm mất tính đúng đắn.

Từ góc nhìn của người dùng và nhà phát triển, kiến trúc này mang lại việc bao gồm giao dịch nhanh hơn, ứng dụng phản hồi tốt hơn và tăng khả năng mở rộng. Các người xác minh cũng được hưởng lợi từ việc giảm thiểu các chướng ngại vật, dẫn đến một mạng lưới hiệu quả và phi tập trung hơn.

Cơ chế đồng thuận MonadBFT

Đồng thuận trong Monad được đạt được thông qua MonadBFT, một sự điều chỉnh tùy chỉnh của giao thức HotStuff Byzantine Fault Tolerant (BFT). Cơ chế đồng thuận này được tối ưu hóa cho cả hiệu suất và bảo mật, hỗ trợ cho mục tiêu của Monad về tính kết thúc thấp độ trễ và công suất cao, đồng thời vẫn giữ cho các nhà xác thực phi tập trung có thể truy cập được.

HotStuff ban đầu đã được phát triển để giảm số vòng tròn giao tiếp cần thiết để hoàn tất một khối. MonadBFT xây dựng trên cơ sở này bằng cách cho phép sự hoàn tất trong một khe, nơi mà các khối được hoàn tất trong một vòng tròn của sự đồng thuận mà không cần chờ đợi nhiều xác nhận. Điều này cung cấp sự hoàn tất giao dịch ngay lập tức, cải thiện tính dự đoán cho các ứng dụng và giảm nguy cơ tái cấu trúc chuỗi.

MonadBFT sử dụng mô hình dựa trên người lãnh đạo. Ở mỗi vòng, một người xác minh đề xuất một khối trong khi những người khác xác minh và bỏ phiếu cho nó. Nếu hai phần ba tổng số cổ phần xác minh xác nhận khối, nó được hoàn thiện. Quy trình tối ưu này giảm thiểu chi phí và tăng tốc sản xuất khối, đặc biệt là trong điều kiện vận hành bình thường.

Để đảm bảo tính sống còn, MonadBFT bao gồm chiến lược xoay lãnh đạo và thời gian chờ. Nếu một lãnh đạo không thể đề xuất một khối, người xác minh tiếp theo trong hàng ngũ sẽ tự động tiếp quản. Sự kiên cường này đảm bảo rằng chuỗi tiếp tục tiến triển ngay cả khi một số người xác minh không hoạt động hoặc không phản hồi.

Từ quan điểm bảo mật, MonadBFT tuân theo ngưỡng BFT điển hình, chịu đựng được tới một phần ba của các nhà xác minh hành động độc ác mà không ảnh hưởng đến an toàn. Khi một khối được hoàn tất, nó được bị kín mật bằng mật mã và không thể bị đảo ngược mà không có sự kết hợp của các nhà diễn viên không trung thực kiểm soát đa số quyền lực của nhà xác minh.

Giao thức được tích hợp chặt chẽ với mô hình thực thi bất đồng bộ của Monad. Khi các khối được hoàn thiện trước khi thực thi, hệ thống có thể tiếp tục tiến triển mà không bị trễ, trong khi lớp thực thi xử lý giao dịch độc lập. Kiến trúc này giảm công việc của bộ xác thực và cho phép hệ thống duy trì hiệu suất cao mà không phụ thuộc vào dịch vụ xếp hàng tập trung hoặc các bên trung gian đáng tin cậy.

MonadDB

Việc thực thi hiệu quả và đồng thuận dựa vào hệ thống quản lý trạng thái hiệu suất cao. Trong Monad, vai trò này được thực hiện bởi MonadDB, tầng lưu trữ trạng thái tùy chỉnh của blockchain. MonadDB chịu trách nhiệm lưu trữ tất cả dữ liệu trên chuỗi, bao gồm số dư tài khoản, lưu trữ hợp đồng và các biến trạng thái cố định khác. Nó được thiết kế để nhanh chóng, đồng thời và hoàn toàn tương thích với bộ máy thực thi song song của Monad.

MonadDB sử dụng cửa hàng khóa-giá trị có phiên bản, bền vững, cho phép nó duy trì nhiều bản chụp của trạng thái cùng một lúc. Điều này quan trọng để hỗ trợ thực hiện suy đoán, nơi mà nhiều giao dịch được xử lý song song và có thể bị quay lại hoặc điều chỉnh tùy thuộc vào xung đột. Bằng cách lưu trữ các phiên bản khác nhau của trạng thái, MonadDB cho phép bộ máy thực hiện cô lập và giải quyết xung đột dữ liệu một cách hiệu quả.

Tại lõi của nó, MonadDB sử dụng cấu trúc dữ liệu Merkle Patricia Trie - một cây bảo mật mật mã cho phép xác minh nhanh chóng trạng thái blockchain. Cấu trúc trie này đảm bảo rằng bất kỳ thay đổi nào trong trạng thái đều dẫn đến một hash gốc mới, có thể được xác minh bởi tất cả các nút. Nó hỗ trợ đồng bộ hóa không tin cậy, các client nhẹ và xác minh trạng thái dựa trên bằng chứng, những yếu tố cơ bản để thiết kế blockchain an toàn và có khả năng mở rộng.

Để xử lý lưu lượng giao dịch dự kiến, MonadDB được thiết kế để đọc và ghi thấp độ trễ. Nó tích hợp bộ nhớ cache, kiểm soát truy cập đồng thời an toàn, và lưu trữ đĩa tốc độ cao để đảm bảo việc truy xuất và sửa đổi nhanh chóng của các mục trạng thái. Những tối ưu này cho phép lớp thực thi hoạt động ở tốc độ xử lý cao mà không bị chậm lại do trễ truy cập dữ liệu.

Từ quan điểm của một nhà phát triển, MonadDB được trừu tượng hoàn toàn. Các nhà phát triển hợp đồng thông minh tương tác với blockchain thông qua cấu trúc Solidity quen thuộc, mà không cần quản lý cơ chế trạng thái cơ bản. MonadDB đảm bảo rằng trạng thái được cập nhật và lưu trữ một cách chính xác, ngay cả trong tình trạng tải cao hoặc trong quá trình thực thi hợp đồng phức tạp.

Clause de non-responsabilité
* Les investissements en cryptomonnaies comportent des risques importants. Veuillez faire preuve de prudence. Le cours n'est pas destiné à fournir des conseils en investissement.
* Ce cours a été créé par l'auteur qui a rejoint Gate Learn. Toute opinion partagée par l'auteur ne représente pas Gate Learn.