Learn about monad

Monad ecosystem

Community News

Community culture

How to contribute

Artists and Gallery

Team members

Monacomics

Monad media kit

FAQs

Disclaimer

"No connect wallet on any site. We never provide any links that require connecting a wallet. If you see one, perhaps our site has been hacked."

    Contact Us

MonadBFT – Monad Technical Overview (🇻🇳)

1. Tổng quan về MonadBFT

Cơ chế đồng thuận MonadBFT là một phương pháp đảm bảo rằng các nút trong mạng blockchain có thể đạt được sự đồng thuận về trạng thái của mạng, ngay cả khi có một số nút có hành vi sai lệch hoặc độc hại (Byzantine Fault Tolerance – BFT). Để giải thích rõ hơn, hãy cùng đi qua các khái niệm cơ bản và cách hoạt động của MonadBFT.

Hệ thống BFT cần đảm bảo:

  • Tính nhất quán: Các nút trung thực đều thống nhất với nhau về một kết quả.
  • Tính an toàn: Nếu một khối được xác nhận, không nút nào có thể thay đổi quyết định này.
  • Tính sẵn sàng: Ngay cả khi có sự cố hoặc lỗi từ một số nút, hệ thống vẫn có thể tiếp tục hoạt động.
2. Cách hoạt động của MonadBFT

MonadBFT là một biến thể của các cơ chế đồng thuận BFT hiện đại, lấy cảm hứng từ các giải pháp BFT phổ biến như HotStuffPBFT. Nó hoạt động theo vòng lặp và có những điểm khác biệt đáng chú ý so với các cơ chế trước đó.

Cơ chế đồng thuận MonadBFT là một phương pháp đảm bảo rằng các nút trong mạng blockchain có thể đạt được sự đồng thuận về trạng thái của mạng, ngay cả khi có một số nút có hành vi sai lệch hoặc độc hại (Byzantine Fault Tolerance – BFT). Để giải thích rõ hơn, hãy cùng đi qua các khái niệm cơ bản và cách hoạt động của MonadBFT.

3. Cơ chế hoạt động theo vòng

MonadBFT hoạt động theo cơ chế lặp qua các vòng (rounds), và mỗi vòng có một người lãnh đạo (leader) được chọn ngẫu nhiên để đề xuất một block mới. Quy trình này diễn ra như sau:

  • Vòng K (Round K):
    • Ở mỗi vòng, một leader được chọn ngẫu nhiên từ các nút để đề xuất một block.
    • Các validators (người xác thực) sẽ nhận đề xuất này và tiến hành bỏ phiếu.
    • Nếu có trên 2/3 số validator đồng ý rằng đề xuất đúng, thì một Quorum Certificate (QC) sẽ được tạo ra. QC là bằng chứng rằng khối đã được trên 2/3 số nút xác thực.
    • Nếu không đủ số validator đồng ý hoặc có vấn đề với đề xuất, các validator sẽ kích hoạt một chứng nhận timeout gọi là Timed-out Certificate (TC), cho thấy vòng này đã thất bại.
  • Vòng K+1:
    • Người lãnh đạo mới sẽ tiếp tục vòng này và có thể nhận được QC hoặc TC từ vòng trước.
    • Nếu nhận được QC từ vòng K, người lãnh đạo sẽ dùng QC đó để tạo một đề xuất mới và tiếp tục quy trình.
  • Vòng K+2:
    • Khi nhận được QC từ vòng K+1, đề xuất từ vòng K sẽ được chính thức xác nhận, tức là block của vòng K sẽ được thêm vào chuỗi.

4. Quorum Certificate (QC) và Timed-out Certificate (TC)
  • QC (Quorum Certificate): Đây là một chứng nhận được tạo ra khi có hơn 2/3 số validator đồng ý với đề xuất block của leader. QC chứng minh rằng block đã được phê duyệt bởi đa số các nút trung thực.
  • TC (Timed-out Certificate): Nếu vòng lặp không đạt được sự đồng thuận do thời gian quá hạn hoặc sự cố khác, một TC sẽ được tạo ra để thông báo rằng vòng đó thất bại.
5. Chế độ hoạt động pipeline

MonadBFT sử dụng một cơ chế giống như pipeline, nghĩa là quá trình xác nhận block diễn ra theo cách liên tục, với mỗi vòng xử lý một phần của quy trình xác nhận. Điều này giúp tăng tốc độ và hiệu suất đồng thuận.

6. Sự khác biệt với các cơ chế BFT truyền thống

MonadBFT lấy cảm hứng từ giao thức HotStuff (một giao thức BFT hiện đại) nhưng có những cải tiến:

  • Giảm độ trễ: HotStuff có độ trễ ba giai đoạn, nhưng MonadBFT đã loại bỏ độ trễ này, giúp tăng tốc độ đồng thuận.
  • Chi phí liên lạc thấp trong điều kiện bình thường: Khi leader hoạt động tốt, chi phí truyền thông của MonadBFT chỉ ở mức tuyến tính (linear). Tuy nhiên, khi xảy ra sự thay đổi leader, chi phí này có thể tăng lên mức bậc hai (quadratic), đảm bảo rằng hệ thống vẫn có thể đồng thuận trong hai bước.
7. Chaining (Xâu chuỗi)

Trong MonadBFT, các block được xâu chuỗi lại với nhau, nghĩa là mỗi vòng không chỉ xử lý một block mà còn đảm bảo rằng block của vòng trước đã được xác nhận. Điều này giúp việc xác nhận block diễn ra một cách liên tục và mượt mà.

8. Ví dụ minh họa

Giả sử có 10 nút trong mạng blockchain MonadBFT, và một nút được chọn làm leader cho vòng K. Leader này sẽ đề xuất một block và gửi đến các validators:

  • Nếu 7/10 validators (hơn 2/3) đồng ý rằng block là đúng, một QC sẽ được tạo ra, và leader tiếp theo ở vòng K+1 sẽ tiếp tục quá trình.
  • Nếu không đủ số validator đồng ý hoặc có lỗi xảy ra, các validator sẽ tạo ra một TC, báo hiệu rằng vòng này không thành công và cần chuyển sang vòng tiếp theo.
9. Tóm lại
  • MonadBFT là một cơ chế đồng thuận tiên tiến dựa trên mô hình BFT, đảm bảo sự đồng thuận an toàn và nhanh chóng ngay cả khi có các nút bị lỗi hoặc có hành vi độc hại.
  • Nó sử dụng cơ chế pipeline để liên tục xử lý các block qua các vòng lặp, và cải thiện hiệu suất đồng thuận bằng cách giảm độ trễ và chi phí liên lạc trong trường hợp bình thường.

Với cơ chế đồng thuận hiệu quả của MonadBFT, nền tảng đã thiết lập được sự ổn định và tốc độ trong việc xác nhận giao dịch. Nhưng làm thế nào để Monad tối ưu hóa quy trình xử lý hàng loạt giao dịch cùng lúc? Đó chính là lúc Deferred Execution, với khả năng tách biệt đồng thuận và thực thi, phát huy vai trò đột phá của mình. Hãy cùng khám phá sâu hơn về cơ chế này trong phần tiếp theo <Deferred Execution – Monad Technical Overview>

Logo

Last post