Skip to main content
Hệ số nhân của một ván Crash được quyết định trước khi đóng cược và không thể thay đổi sau đó. Backend công bố hash SHA-256 của một giá trị bí mật ngẫu nhiên on-chain trước khi mở cược, chương trình trộn thêm một slot hash của Solana khi ván bắt đầu, và giá trị bí mật được công bố lúc thanh toán để bất kỳ ai cũng có thể tính lại điểm nổ và kiểm tra. Trang này trình bày cơ chế chính xác đằng sau mỗi ván Crash: những gì được cam kết, khi nào kết quả được cố định, công thức chính xác, và giới hạn thẳng thắn của cơ chế. Nếu chưa đọc, hãy đọc Tổng quan công bằng có thể kiểm chứng trước; trang đó giải thích commit-reveal bằng ngôn ngữ dễ hiểu.

Điều gì diễn ra on-chain trong một ván Crash?

Mỗi ván Crash được tạo thành từ ba giao dịch on-chain, theo thứ tự sau:
  1. Cam kết: trước khi mở cược, backend tạo ngẫu nhiên một giá trị bí mật 32 byte và công bố hash SHA-256 của nó on-chain (chỉ lệnh start_new_round). Đây là bản cam kết: kể từ lúc này, chỉ đúng giá trị bí mật đó mới có thể thanh toán ván. Bản cam kết được công khai trong sự kiện CrashRoundPrepared của giao dịch.
  2. Đặt cược: người chơi đặt cược. Giá trị bí mật vẫn được giữ kín; bản cam kết đảm bảo nó không thể bị đánh tráo.
  3. Bắt đầu ván / ghi nhận entropy: khi ván bắt đầu (chỉ lệnh start_game), chương trình đọc slot hash gần nhất từ sysvar SlotHashes của Solana và lưu vào ván. Ứng dụng gọi giá trị này là block hash của ván. Lúc này điểm nổ đã được xác định hoàn toàn (nó là một hàm thuần của slot hash đã lưu và giá trị bí mật đã cam kết), nhưng ai không biết giá trị bí mật thì chưa thể tính ra. Giá trị này được công khai trong sự kiện CrashGameStarted.
  4. Ván diễn ra: hệ số nhân tăng dần và người chơi chốt lời.
  5. Tiết lộ: backend gửi giá trị bí mật (chỉ lệnh crash). Chương trình xác minh on-chain rằng sha256(secret) bằng bản cam kết (không khớp thì giao dịch thất bại), sau đó tự tính điểm nổ và hoàn tất ván. Sự kiện CrashRoundFinalized công bố giá trị bí mật, slot hash và điểm nổ cuối cùng.

Công thức chính xác của điểm nổ là gì?

Điểm nổ được suy ra chính xác như sau (đây là phép tính mà chương trình on-chain thực hiện: toán số nguyên, không có bất ngờ do làm tròn):
Những chi tiết quan trọng khi bạn tính lại:
  • Thứ tự nối là blockhash trước, rồi đến secret.
  • X được đọc theo big-endian từ 4 byte đầu của đầu ra SHA-256.
  • Các phép chia đều là phép chia lấy phần nguyên (floor).
  • Ngưỡng dưới max(10000, …) nghĩa là hệ số nhân không bao giờ thấp hơn 1.00x, và giới hạn trên của X ngăn mẫu số nhỏ tới mức phi lý.

Ví dụ tính toán

Với X = 0xABCD1234 (2,882,343,476) và lợi thế hiện tại 1.5% (edge_bps = 150):

Phân phối trông như thế nào

Công thức ánh xạ một X phân phối đều thành đường cong crash kinh điển. Xác suất một ván đạt ít nhất hệ số nhân m xấp xỉ:
Với lợi thế hiện tại 1.5%: khoảng 49.25% số ván đạt 2.00x, khoảng 9.85% đạt 10x, và khoảng 1.5% số ván nổ ngay lập tức ở 1.00x (đó chính là nơi lợi thế nhà cái nằm). Lợi thế áp dụng cho mỗi ván là giá trị được cấu hình on-chain tại thời điểm tiết lộ; giá trị hiện tại được liệt kê trong Phí và giới hạn.

Điều gì được đảm bảo, điều gì không

Được chương trình thực thi:
  • Sau khi bản cam kết đã lên chuỗi, nhà vận hành không thể thay đổi giá trị bí mật của ván: giao dịch tiết lộ sẽ thất bại với bất kỳ giá trị bí mật nào có hash không khớp.
  • Một khi ván đã bắt đầu (slot hash đã được lưu), điểm nổ đã được cố định. Chốt lời sớm, muộn hay với số lượng lớn đều không thay đổi gì: kết quả đã được xác định trước khi hệ số nhân bắt đầu tăng.
  • Điểm nổ do chương trình tính, không phải do backend báo cáo. Một giá trị sai không thể được ghi lên chuỗi.
  • Mọi thứ cần để xác minh (bản cam kết, slot hash, giá trị bí mật, điểm nổ cuối cùng) đều được công bố vĩnh viễn trong các sự kiện on-chain.
Những lưu ý thẳng thắn (đây là commit-reveal, không phải VRF):
  • Thời điểm bắt đầu. Nhà vận hành biết giá trị bí mật trước khi ván bắt đầu, và backend của họ quyết định khi nào gửi giao dịch bắt đầu ván. Vì các slot hash gần đây là công khai, về nguyên tắc họ có thể tính trước hệ số nhân tiềm năng cho các slot ứng viên và canh thời điểm bắt đầu để tác động tới slot hash nào được ghi nhận. Cơ chế không ngăn được điều này; nó khiến điều này có thể quan sát được: thời điểm bắt đầu ván là công khai, và mọi sai lệch có hệ thống sẽ lộ ra trong thống kê các điểm nổ đã công bố, mà ai cũng có thể tính lại hàng loạt.
  • Hủy ván. Sau khi ván bắt đầu, nhà vận hành biết kết quả trước người chơi, và họ có thể hủy một ván bất lợi thay vì tiết lộ. Có hai giới hạn cứng: việc hủy hoàn lại toàn bộ mọi khoản tiền cược (chương trình không có đường tịch thu nào), và mọi lần hủy đều phát ra một sự kiện công khai; tần suất hủy là dấu hiệu nhận biết on-chain. Việc hủy tồn tại như một đường khôi phục khi mất giá trị bí mật (ví dụ backend gặp sự cố giữa lúc cam kết và lúc tiết lộ) và dự kiến gần như không bao giờ được dùng.

Làm thế nào để xác minh một ván Crash?

Chi tiết của mỗi ván đã kết thúc trong ứng dụng hiển thị giá trị bí mật đã công bố và block hash, kèm liên kết tới cả ba giao dịch cùng một công cụ kiểm chứng tính lại hệ số nhân cho bạn. Để xem hướng dẫn đầy đủ từng bước, bao gồm một đoạn script nhỏ để tự tính lại điểm nổ, xem Xác minh một ván. Về cách chơi game (chốt lời, thời gian đặt cược, giới hạn), xem Hướng dẫn game Crash.