
- Kết quả không thể bị thay đổi sau khi đã có. Nhà vận hành khóa phần đóng góp của mình (một giá trị bí mật) trước khi chơi, bằng cách công bố một dấu vân tay mật mã của nó on-chain. Về sau, chương trình từ chối thanh toán trừ khi giá trị bí mật được công bố khớp chính xác với dấu vân tay đó.
- Bạn có thể tự kiểm tra mọi thứ. Tất cả dữ liệu đầu vào và công thức chính xác đều công khai. Sau bất kỳ ván hay lượt cược nào, bạn có thể tính lại kết quả từ dữ liệu on-chain và so sánh với số tiền game đã trả.
Công bằng có thể kiểm chứng được xây dựng từ đâu?
Một giá trị bí mật đã cam kết. Với những game mà kết quả phải được giữ kín trong lúc chơi (Crash, Mines), 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ó (bản cam kết) on-chain trước khi ván bắt đầu. Hash giống như một phong bì dán kín: nó không tiết lộ gì về giá trị bí mật, nhưng một khi đã công bố thì chỉ đúng giá trị bí mật đó mới khớp được. Khi giá trị bí mật được công bố ở cuối ván, chính chương trình sẽ băm nó và từ chối giao dịch nếu không khớp với bản cam kết. Entropy từ chuỗi Solana. Kết quả không bao giờ chỉ phụ thuộc vào giá trị bí mật. Nó còn trộn thêm một slot hash: hash của một slot Solana gần đây, được chương trình đọc từ sysvarSlotHashes của Solana vào một thời điểm xác định. Giá trị này do mạng Solana tạo ra, không phải do sòng bạc, và chưa hề tồn tại khi bản cam kết được tạo.
Một công thức công khai và tất định. Kết quả là một hàm toán học cố định của các đầu vào trên. Cùng một hàm chạy bên trong chương trình on-chain (backend không thể báo sai kết quả; chương trình tự tính), và nó được công bố trên các trang này để bạn tự chạy.
Một ván diễn ra từng bước thế nào?
Dice gói gọn luồng này vào một giao dịch duy nhất: game không có trạng thái ẩn nào cần bảo vệ, nên hoàn toàn không có giá trị bí mật của nhà vận hành. Kết quả tung được suy ra từ slot hash, tài khoản của bạn và bộ đếm lượt cược của bạn, rồi được thanh toán ngay trong chính chỉ lệnh tạo ra nó.Mỗi game cam kết điều gì, và khi nào
Điều này đảm bảo gì, và giả định gì
Ở đây sự trung thực quan trọng hơn marketing, nên hãy nói cho chính xác. Cơ chế này là commit-reveal với entropy công khai từ chuỗi, không phải VRF (hàm ngẫu nhiên có thể kiểm chứng). Dưới đây là ranh giới chính xác giữa những gì được mã thực thi và những gì dựa vào việc nhà vận hành hành xử đúng mực.Được chương trình on-chain thực thi
- Không thể đánh tráo kết quả sau khi cam kết. Chương trình băm giá trị bí mật được công bố và từ chối mọi lần thanh toán không khớp với bản cam kết đã công bố. Nhà vận hành không thể chọn một giá trị bí mật khác sau khi thấy ván đang diễn biến ra sao.
- Entropy không do nhà vận hành tạo ra. Slot hash đến từ mạng Solana. Nó chưa được biết khi bản cam kết được công bố, và sòng bạc không tạo ra nó.
- Kết quả được tính on-chain. Điểm nổ, kết quả tung Dice và bàn chơi Mines đều do chính chương trình tính (hoặc suy lại và kiểm tra). Backend không thể báo một kết quả mà công thức không tạo ra.
- Có thể kiểm toán công khai hoàn toàn. Mỗi ván và mỗi lượt cược đều phát ra các sự kiện on-chain chứa toàn bộ đầu vào suy dẫn và kết quả. Bất kỳ ai, không chỉ người chơi liên quan, đều có thể tính lại mọi kết quả trong lịch sử.
Được giả định: những lưu ý thẳng thắn
- Ảnh hưởng về thời điểm. Backend của nhà vận hành chọn khi nào gửi một số giao dịch, điều này cho nó một phần ảnh hưởng tới việc slot hash nào được ghi nhận. Trang riêng của từng game nêu rõ điều này có thể và không thể đạt được gì trong game đó.
- Có thể hủy, nhưng chỉ để hoàn tiền. Nhà vận hành có thể hủy một ván Crash hoặc một game Mines. Việc hủy luôn hoàn lại toàn bộ mọi khoản tiền cược (chương trình không có cách nào tịch thu thông qua việc hủy), và mọi lần hủy đều được ghi lại công khai, nên ai cũng có thể kiểm toán tần suất hủy. Hủy thường xuyên sẽ là dấu hiệu on-chain rõ ràng của một nhà vận hành có hành vi sai trái.
- Nhà vận hành biết bàn chơi Mines trong lúc chơi. Đây là điều mang tính cấu trúc: việc lật ô được phục vụ tức thì ngoài chuỗi (off-chain), và bên phục vụ phải biết bàn chơi. Bản cam kết đảm bảo bàn chơi đã được cố định trước lần chọn đầu tiên của bạn và không thể bị viết lại sau đó. Xem Tính công bằng của Mines để biết chính xác điều đó được thực thi thế nào.
Vì sao chấp nhận những đánh đổi này?
Vì đó là cái giá của trải nghiệm chơi tức thì và liền mạch, không phải đường tắt. Mỗi game nằm đúng vị trí cần thiết trên phổ đó:- Mines: để phục vụ một lần lật ô trong vài mili giây, về mặt cấu trúc cần một bên đã biết sẵn bàn chơi. Các phương án khác (một giao dịch on-chain cho mỗi lần nhấp, hoặc một lượt gọi oracle cho mỗi lần lật) sẽ biến mỗi ô thành một khoản phí và một lần chờ. Một nhà vận hành biết bàn chơi là điều không thể thiếu để Mines vừa tức thì vừa thanh toán on-chain; cơ chế cam kết tồn tại để giới hạn những gì hiểu biết đó có thể làm.
- Crash: một ván trực tiếp dùng chung cần có ai đó điều khiển nó cho tất cả người chơi cùng lúc. Đó là một lựa chọn thực dụng chứ không phải tất yếu về cấu trúc, và vì vậy chương trình có sẵn lộ trình chuyển sang tính ngẫu nhiên dựa trên oracle (VRF), một giai đoạn tương lai sẽ loại bỏ các lưu ý về thời điểm khi điều kiện kinh tế cho phép.
- Dice: đầu kia của phổ. Không có gì cần giấu trong lúc chơi, nên hoàn toàn không có giá trị bí mật của nhà vận hành. Ở đâu việc loại bỏ sự tin tưởng vào nhà vận hành không tốn gì, thiết kế sẽ loại bỏ nó.
Công bằng của kết quả và lưu ký tiềnPhần này nói về cách kết quả được tạo ra. Cách tiền nạp, số dư và lệnh rút được nắm giữ on-chain là một chủ đề riêng; xem Kiến trúc on-chain.
Tự xác minh
- Trong ứng dụng, mỗi ván Crash đã kết thúc đều hiển thị dữ liệu kiểm chứng (giá trị bí mật đã công bố, block hash và liên kết tới các giao dịch on-chain) trong chi tiết ván, kèm một công cụ kiểm chứng chỉ với một cú nhấp.
- Dice và Mines công bố mọi đầu vào suy dẫn trong sự kiện thanh toán của chính giao dịch cược.