Skip to main content

Tổng quan về sidechain Midgard

Ngày 6 tháng 04 năm 2025

Midgard là một optimistic rollup được thiết kế cho Cardano. Mục tiêu của nó là tăng thông lượng giao dịch của Cardano và giảm thời gian xác nhận và phí giao dịch, đồng thời bảo toàn tính phi tập trung và bảo mật của Cardano. Midgard đạt được điều này bằng cách chuyển giao việc thực hiện giao dịch sang Lớp 2 (Layer 2), trong khi dựa vào mạng Cardano (Layer 1) để có dữ liệu khả dụng (tương lai), giải quyết gian lận và thanh toán hoàn tất.

Giới thiệu

Người dùng tương tác với Midgard bằng cách gửi token (dưới dạng Cardano UTxO) thông qua các giao dịch Cardano vào hợp đồng thông minh. Sau khi gửi token, người dùng có thể phát hành các giao dịch Midgard, được xử lý off-chain bởi các nhà điều hành. Các giao dịch Layer 2 này nhanh hơn và rẻ hơn các giao dịch Layer 1 vì chúng tránh được việc tính toán tốn kém on-chain.

Các nhà điều hành Midgard cung cấp xác nhận trước gần như ngay lập tức để chỉ ra việc chấp nhận các giao dịch vào một khối sắp tới. Tuy nhiên, việc thanh toán hoàn tất của khối—và tất cả các giao dịch trong khối—phụ thuộc vào việc không có gian lận và hoàn thành giai đoạn thử thách trên Cardano.

Xác nhận trước là lời hứa lạc quan rằng giao dịch hoàn thành sẽ được giải quyết nếu mọi việc diễn ra tốt đẹp.

Người dùng Midgard sẽ nhận được xác nhận thanh toán hoàn tất muộn hơn nhiều sau khi nhận được xác nhận trước từ Midgard.

Midgard có thể thông báo cho người dùng rằng khối chứa giao dịch của họ đã được thêm vào trạng thái xác nhận của Midgard.

Ngoài ra, người dùng có thể nhận được xác nhận rằng sau khi khối Midgard được hợp nhất vào trạng thái đã xác nhận, đủ các khối Cardano tiếp theo đã được tạo ra để khiến việc tổ chức lại (reorg) trở nên không thể xảy ra (có thể mất 2 phút sau khi Ouroboros Peras được triển khai). danh sách chờ trạng thái được duy trì thông qua các khối Cardano. Tùy thuộc vào độ dài của giai đoạn thử thách, sau khi các khối Midgard được hợp nhất vào trạng thái đã xác nhận, việc tổ chức lại Blockchain với các khối này là không thể xảy ra.

Thông tin cụ thể cung cấp cho người dùng phụ thuộc vào giao diện người dùng (UX).

Người tham gia mạng lưới

Midgard là một giao thức không cần phải được cho phép giới thiệu môi trường thực thi, quy tắc, mô hình dữ liệu dựa trên UTxO và cấu trúc khuyến khích của riêng nó. Nó bao gồm hai bên tham gia chính:

  • Người vận hành: Các thực thể chịu trách nhiệm tạo và xuất bản các khối, duy trì bộ UTxO cục bộ và thực hiện các giao dịch của người dùng.
  • Người theo dõi: Người xác thực độc lập theo dõi các khối đã công bố, xác minh tính chính xác của chúng và gửi bằng chứng gian lận cho Layer 1 nếu phát hiện vi phạm quy tắc.

Người vận hành chỉ gửi tiêu đề khối đến danh sách chờ trạng thái được duy trì bởi mạng Cardano. Dữ liệu khối đầy đủ được lưu trữ riêng trong lớp khả dụng dữ liệu. Người theo dõi giám sát danh sách chờ trạng thái để truy xuất tiêu đề khối, vì mỗi tiêu đề mới biểu thị trạng thái chuyển tiếp mong muốn tiếp theo.

Để xác thực giao dịch, người theo dõi phải tải xuống toàn bộ khối từ lớp dữ liệu khả dụng. Sau đó, họ xác minh rằng tiêu đề khối từ danh sách chờ trạng thái khớp với tiêu đề khối từ lớp dữ liệu khả dụng. Nếu tiêu đề khớp, quá trình xác thực có thể tiếp tục. Nếu không thể truy xuất một khối, điều đó cấu thành hành vi vi phạm các quy tắc của Midgard.

Các khối được tạo tuần tự bởi các nhà điều hành theo thứ tự cố định. Khi một khối được công bố, tất cả người theo dõi có thể bắt đầu xác thực ngay lập tức. Xác thực nhanh là rất quan trọng để giảm thiểu rủi ro khôi phục đáng kể.

Trong hình, bạn có thể thấy rằng Người vận hành 1 đã công bố tiêu đề khối của Khối 1 vào danh sách chờ trạng thái và lưu trữ khối tương ứng trong lớp DA (và lưu trữ). Người giám sát 3 đã truy xuất Khối 4 và gửi bằng chứng gian lận.

Không có tất cả các mũi tên trong hình để đơn giản. Tất cả những người theo dõi khác đều làm cùng một công việc cho tất cả các khối trong giai đoạn thử thách. Các khối được tạo ra theo trình tự.

Ngoài các nhà điều hành và người theo dõi, mạng Cardano là một bên tham gia quan trọng kiểm soát tất cả các quy trình của Midgard. Midgard không thể thiếu sự bảo mật và neo Phi tập trung do Cardano cung cấp. Tương tác giữa các mạng được thực hiện thông qua các hợp đồng thông minh Layer 1 (tập lệnh).

Chuyển đổi trạng thái

Midgard duy trì blockchain riêng của mình, trong đó mỗi khối biểu diễn trạng thái chuyển đổi từ một bộ UTxO sang một bộ khác. Các khối được tạo ra độc quyền bởi các nhà điều hành.

Mỗi khối Midgard chứa:

  • Một tiêu đề và băm tiêu đề
  • Một nội dung (body) bao gồm:
    • UTxO thiết lập snapshot
    • Danh sách tiền gửi
    • Danh sách rút tiền
    • Danh sách các giao dịch Midgard

Khối biểu thị sự chuyển đổi từ trạng thái này sang trạng thái khác, với mỗi trạng thái được biểu diễn bằng một tập hợp UTxO. Để chuyển sang trạng thái mới, các sự kiện trong khối phải được xử lý.

Các sự kiện cần xử lý bao gồm rút tiền, giao dịch Midgard và gửi tiền. Các sự kiện này được xử lý theo thứ tự cụ thể:

  1. Rút tiền
  2. Giao dịch Midgard
  3. Tiền gửi

Trình tự xử lý sự kiện này đảm bảo tính nhất quán và ngăn chặn các cuộc tấn công front-running hoặc sắp xếp lại. Sau khi tất cả các sự kiện đã được xử lý, tập UTxO được cập nhật để phản ánh các thay đổi. Tập UTxO trước đó đóng vai trò là đầu vào để xác thực các giao dịch trong khối. Sau khi xử lý các sự kiện, kết quả là một tập UTxO mới được cập nhật. Tập cập nhật này biểu thị trạng thái mới.

Khối mới chứa một tập hợp UTxO mới là kết quả của việc ứng dụng các sự kiện của khối vào tập hợp UTxO từ khối trước đó.

Người vận hành và Người lập lịch

Sự tham gia của nhà điều hành là mở và không cần xin phép. Bất kỳ ai cũng có thể đăng ký làm nhà điều hành bằng cách gửi giao dịch trên Cardano. Tất cả các nhà điều hành đã đăng ký đều được liệt kê trong danh bạ nhà điều hành, được duy trì on-chain. Để duy trì tính hoạt động và phi tập trung của mạng lưới, chỉ một tập hợp con các nhà điều hành này hoạt động tại một thời điểm nhất định.

Midgard Scheduler, được triển khai như một hợp đồng thông minh trên Cardano, xác định toán tử nào đang hoạt động trong mỗi cửa sổ thời gian, được gọi là một ca (slot). Các ca không chồng chéo và luân phiên theo thứ tự giảm dần của khóa trên toàn bộ toán tử đang hoạt động. Khi đạt đến cuối danh mục toán tử, trình lập lịch sẽ quay lại đầu. Nếu một toán tử mới đăng ký đủ điều kiện, trình lập lịch sẽ đưa họ vào vòng quay tiếp theo.

Tính khả dụng và lưu trữ dữ liệu

Tính toàn vẹn của Midgard phụ thuộc vào tính khả dụng của dữ liệu đáng tin cậy. Tất cả dữ liệu khối phải có thể truy cập công khai trong một khoảng thời gian thử thách được xác định. Người theo dõi thực hiện Lấy mẫu tính khả dụng của dữ liệu (DAS) để xác minh rằng dữ liệu khối có thể truy cập được từ lớp Tính khả dụng của dữ liệu (DA).

Trong khi mục tiêu dài hạn là sử dụng Input Blocks từ Ouroboros Leios (sẽ cung cấp các slot khối nhanh, ngắn hạn và thường xuyên), Midgard ban đầu sẽ sử dụng giải pháp DA dựa trên các ủy ban đa chữ ký—tương tự về khái niệm với Celestia—để lưu trữ các khối off-chain. Điều này đảm bảo tính khả dụng của dữ liệu ngay cả trước khi Leios được triển khai.

Mỗi toán tử hoạt động:

  • Nhận giao dịch Layer 2 trực tiếp từ người dùng thông qua API web.
  • Có quyền độc quyền sản xuất một khối trong ca làm việc được chỉ định (khung thời gian).
  • Phải bao gồm tất cả các giao dịch hợp lệ và dữ liệu sự kiện (gửi tiền/rút tiền) vào một khối.

Việc xuất bản một khối bao gồm:

  1. Cam kết tiêu đề khối vào danh sách chờ trạng thái của Midgard trên Cardano.
  2. Lưu trữ tạm thời toàn bộ dữ liệu khối trong lớp DA.
  3. Lưu trữ các khối vĩnh viễn trên các node lưu trữ Midgard.

Thông lượng cao và tính tự chủ của người vận hành

Các nhà điều hành Midgard tự chủ trong sản xuất khối. Không có cơ chế đồng thuận toàn cầu giữa các nhà điều hành; mỗi nhà điều hành sản xuất khối độc lập trong ca làm việc được giao của họ. Xung đột được tránh do trình lập lịch xác định và tính độc quyền của quyền sản xuất khối cho mỗi ca làm việc.

Vì việc thực hiện Midgard diễn ra off-chain, mạng có thể mở rộng theo chiều ngang. Các nhà điều hành có thể tăng tài nguyên tính toán mà không cần chi phí điều phối, và Layer 1 chỉ tham gia vào việc xác minh gian lận khi có tranh chấp phát sinh. Quá trình này hiệu quả và được mong đợi, và gian lận hiếm khi xảy ra. Kiến trúc này cho phép thông lượng cao hơn đáng kể so với Cardano Layer 1.

Khối Midgard có thể được tạo ra với tốc độ nhanh hơn nhiều so với việc đúc khối Cardano. Mặc dù Midgard dựa vào môi trường thực thi của Cardano và bị ràng buộc với tần suất đúc khối Cardano, nhưng việc sản xuất khối của riêng nó không bị hạn chế.

Các khối Cardano được đúc trung bình mỗi 20 giây. Trong khung thời gian này, Midgard có thể tạo ra một số khối, sau đó được xử lý chung trong khối Cardano được đúc tiếp theo.

Thời gian thử thách và bằng chứng gian lận

Tất cả các khối Midgard đã xuất bản đều được thêm vào danh sách chờ trạng thái trên Cardano. danh sách chờ trạng thái được duy trì để lưu trữ các tiêu đề khối Midgard theo trình tự. danh sách chờ này dùng để theo dõi trạng thái đã xác nhận, phân biệt giữa các khối không thay đổi và các khối vẫn đang chờ xác nhận.

Sau khi các khối được thêm vào danh sách chờ, chúng phải duy trì trong một khoảng thời gian được chỉ định trước khi được hợp nhất vào trạng thái đã xác nhận của Midgard. Khung thời gian cố định này được gọi là giai đoạn thử thách (hoặc giai đoạn trưởng thành), một tính năng phổ biến của các optimistic rollup.

Trong thời gian thử thách này, bất kỳ người theo dõi nào (có thể là bất kỳ ai) đều có thể kiểm tra nội dung của tiêu đề khối bằng cách truy xuất dữ liệu tương ứng từ lớp dữ liệu khả dụng. Người theo dõi đánh giá xem khối có hợp lệ không.

Nếu khối được coi là hợp lệ, không cần thực hiện thêm hành động nào nữa. Tuy nhiên, nếu phát hiện vi phạm các quy tắc, bất kỳ ai cũng có thể gửi chống gian lận. Chống gian lận xác định các vi phạm cụ thể đối với các quy tắc của giao thức, chẳng hạn như các nỗ lực chi tiêu gấp đôi. Chống gian lận phải được xác minh trên Layer 1 bằng các tập lệnh của Midgard. Nếu chống gian lận được xác nhận là hợp lệ, khối sẽ được tuyên bố là không hợp lệ và sẽ không được đưa vào trạng thái đã xác nhận.

Việc xóa một khối gian lận có thể dẫn đến sự khôi phục lớn hơn.

Trong thời gian thử thách, những điều sau đây sẽ xảy ra:

  • Người theo dõi kiểm tra các khối theo quy tắc của Midgard.
  • Nếu khối hợp lệ thì sẽ không có gì xảy ra.
  • Nếu phát hiện vi phạm quy tắc (ví dụ: chi tiêu gấp đôi), chứng từ chống gian lận sẽ được gửi qua giao dịch Layer 1.

Bằng chứng gian lận chỉ rõ quy tắc bị vi phạm và chỉ ra trạng thái chuyển đổi không hợp lệ. Chúng được xác minh một cách xác định bởi hợp đồng thông minh Cardano. Nếu phát hiện và xác nhận gian lận, khối và tất cả các khối tiếp theo trong danh sách chờ trạng thái sẽ bị loại bỏ vì chúng phụ thuộc vào trạng thái không hợp lệ.

Cơ chế khôi phục này đảm bảo tính chính xác nhưng nhấn mạnh tầm quan trọng của việc giảm thiểu thời gian thử thách. Mặc dù các bản Optimistic Rollups như Midgard thường mặc định là thời gian thử thách dài hơn (ví dụ: vài giờ hoặc vài ngày) để đảm bảo tính liên tục và khả năng chống kiểm duyệt, các phiên bản trong tương lai có thể giảm thời gian này xuống còn vài phút khi cơ sở hạ tầng và Phi tập trung được cải thiện.

Xác nhận trạng thái và cơ chế đồng thuận Midgard

Trạng thái đã xác nhận của Midgard được duy trì trên Cardano và được cập nhật khi có một khối:

  • Hoàn thành thời gian thử thách mà không có gian lận.
  • Hoặc được xác thực rõ ràng thông qua bằng chứng tuân thủ.

Hợp đồng Cardano thực hiện các chuyển đổi này một cách tự động. Điều này làm cho cơ chế đồng thuận của Midgard trở nên minh bạch và không cần tin cậy, vì nó được điều khiển bởi hợp đồng thông minh và mô hình bảo mật của Cardano.

Midgard dựa vào tính phi tập trung của Cardano để đảm bảo rằng bằng chứng gian lận không thể bị kiểm duyệt. Mặc dù về mặt lý thuyết, có thể xảy ra sự thông đồng giữa các nhà điều hành độc hại và các SPOs Cardano (SPO), nhưng sự hiện diện của ít nhất một SPO trung thực đảm bảo rằng bất kỳ bằng chứng gian lận hợp lệ nào cũng có thể được đưa vào chuỗi và được thực hiện.

Danh sách chờ thanh toán: Gửi tiền và rút tiền

Midgard cũng duy trì một danh sách chờ thanh toán. Các khối Midgard đã được hợp nhất vào trạng thái đã xác nhận và chứa các khoản rút tiền và tiền gửi được đưa vào danh sách chờ thanh toán.

Các khối được xác nhận đã vượt qua giai đoạn thử thách, do đó chúng được coi là hợp lệ. Không cần phải xác thực lại chúng trong danh sách chờ thanh toán. Việc gửi và rút tiền được xử lý bằng hợp đồng thông minh Layer 1 xác định.

Sau khi xử lý xong lệnh rút tiền và gửi tiền, nhà điều hành Midgard hiện tại lạc quan đánh dấu chúng là đã giải quyết. Sau khi thời gian chờ đợi kết thúc, nhà điều hành xóa các khối khỏi danh sách chờ thanh toán. Khi làm như vậy, phí rút tiền và gửi tiền sẽ được yêu cầu.

Các sự kiện này được chuẩn bị trong quá trình thực hiện khối nhưng chỉ được hoàn tất và giải quyết sau khi thời gian chờ của khối đã trôi qua. Việc gửi tiền được thực hiện như sau:

  1. Người dùng bắt đầu gửi tiền bằng cách gửi token đến hợp đồng gửi tiền Midgard được chỉ định trên Cardano Layer 1. Layer 1 UTxO bị khóa bởi hợp đồng thông minh Gửi tiền.
  2. Giao dịch Layer 1 này phát ra sự kiện gửi tiền. Sự kiện này sau đó được đưa vào khối Midgard (off-chain).
  3. Trong quá trình thực hiện khối Midgard, một Layer 2 UTxO mới được tạo trong bộ UTxO của Midgard. UTxO này phản ánh giá trị và loại tài sản được gửi. Layer 2 UTxO vẫn chưa thể được chi tiêu.
  4. Khối chứa tiền gửi sẽ đi vào danh sách chờ của trạng thái và phải vượt qua giai đoạn thử thách.
  5. Chỉ sau khi giai đoạn thử thách kết thúc, khoản tiền gửi mới được hoàn tất. Sự kiện tiền gửi đã xác nhận được đưa vào danh sách chờ thanh toán. Hợp đồng thông minh Layer 1 xác minh rằng sự kiện tiền gửi đến từ một khối Midgard đã xác nhận. Chỉ sau đó, Layer 2 UTxO tương ứng mới được phát hành chính thức để sử dụng trong Midgard. Layer 1 UTxO ban đầu vẫn bị khóa và không thể chi tiêu ở nơi khác.

Tiền gửi được mô tả trong hai hình sau. Hình đầu tiên hiển thị giao dịch Layer 1 từ người gửi tiền cho đến giai đoạn khối Midgard mới có yêu cầu gửi tiền được đưa vào danh sách chờ trạng thái.

Hình thứ hai cho thấy tình huống mà một khối đã vượt qua giai đoạn thử thách và đã được hợp nhất vào trạng thái đã xác nhận. Khối đã được đưa vào danh sách chờ thanh toán để hợp đồng thông minh Layer 1 có thể hoàn tất khoản tiền gửi. Hợp đồng sẽ giải phóng Layer 2 UTxO. Người gửi có thể gửi một giao dịch Midgard mới và chi tiêu Layer 2 UTxO.

Việc rút tiền được thực hiện tương tự:

  1. Người dùng khởi tạo yêu cầu rút tiền, yêu cầu này sẽ được bao gồm trong khối Midgard.
  2. Trong quá trình thực thi khối, UTxO Layer 2 được chỉ định sẽ được sử dụng (tức là bị xóa khỏi bộ UTxO của Midgard).
  3. Khối này sẽ đi vào danh sách chờ trạng thái và một lần nữa phải vượt qua giai đoạn thử thách.
  4. Sau khi khối được xác nhận, lệnh rút tiền sẽ được chuyển vào danh sách chờ thanh toán. Cardano UTxO được tạo trên Layer 1 tại địa chỉ của người dùng.

Ưu điểm của mô hình UTxO

Midgard kế thừa mô hình UTxO của Cardano, mang lại những lợi ích rõ rệt so với mô hình tổng hợp theo phong cách Ethereum:

  • Xác thực giao dịch có thể song song hóa và xác định.
  • Không cần máy giải trình tự tập trung.
  • Bằng chứng gian lận đơn giản hơn do địa điểm giao dịch.

Người vận hành không cần phải phối hợp toàn cầu và người theo dõi có thể xác minh gian lận mà không cần phát lại trạng thái tổng thể. Điều này làm giảm độ phức tạp của thiết kế rollup và cho phép tách biệt rõ ràng giữa Layer 1 ​​và Layer 2.

Midgard so với Ethereum Rollups: Bảng so sánh

Lời kết

Midgard cung cấp Lớp 2 dạng mô-đun, an toàn và có thể mở rộng cho Cardano. Bằng cách kết hợp hiệu quả thực thi off-chain với khả năng thực thi on-chain mạnh mẽ của Cardano, Midgard đảm bảo thông lượng cao, phí thấp và bảo mật mà không ảnh hưởng đến tính phi tập trung. Việc sử dụng mô hình UTxO, bằng chứng gian lận xác định và hỗ trợ token gốc định vị nó như một giải pháp gốc Cardano để mở rộng quy mô Blockchain.

Nguồn bài viết tại đây

Chia sẻ bài viết này trên Twitter | Facebook | Telegram


Picture

Đọc thêm các bài viết liên quan tại thẻ Tags bên dưới