Quay lại bài viết
Giao thức

21 UTXO cho vạn người chơi: leaderboard sharding on-chain trên Cardano Hydra

Vì sao bảng xếp hạng cho hàng vạn người chơi không thể nằm gọn trên một UTXO duy nhất, và cách sharding trạng thái qua các Hydra Head giải bài toán tranh chấp và thông lượng.

2025-09-0218 phút đọc#cardano#hydra#layer-2#eutxo#scaling

Trên mô hình eUTXO, một trạng thái dùng chung là một UTXO - và mỗi UTXO chỉ cho phép một giao dịch tiêu tại một thời điểm. Đặt cả một bảng xếp hạng lên một UTXO nghĩa là mọi lượt cập nhật đều tranh chấp cùng một đầu ra: thông lượng giảm còn một giao dịch mỗi block.

Vì sao một UTXO là không đủ

Xét một bảng xếp hạng nằm trên một đầu ra duy nhất:

-- Trạng thái sống trên đúng một UTXO → tuần tự hoá toàn cục
data Leaderboard = Leaderboard
  { entries :: [(PlayerId, Score)]
  }

Mỗi lần một người chơi ghi điểm, giao dịch phải tiêu UTXO hiện tại và tạo UTXO mới. Hai người chơi trong cùng một block sẽ xung đột: chỉ một giao dịch thành công, phần còn lại phải thử lại.

Sharding trạng thái

Ý tưởng: chia không gian người chơi thành N phân mảnh, mỗi phân mảnh là một UTXO độc lập, để các cập nhật ở phân mảnh khác nhau không còn tranh chấp.

Thiết kếUTXO tranh chấpThông lượng
Một đầu ra1Thấp
Sharding 21 phân mảnh21 song songCao hơn ~21×

Vai trò của Hydra

Hydra Head đưa giao dịch xuống off-chain nhưng vẫn giữ nguyên ngữ nghĩa eUTXO, cho phép cập nhật với độ trễ thấp rồi kết toán về Layer 1. Kết hợp sharding bên trong Head, ta có cả độ trễ thấp lẫn thông lượng cao.