Câu trả lời không phải là "hãy tin chúng tôi". Sòng bị buộc phải chốt kết quả trước khi bạn đặt cược, theo cách mà sau đó không thể chối.
Trước ván đầu tiên, sòng chọn một chuỗi bí mật gọi là server seed, rồi công bố SHA-256 của nó. Bạn thấy cái hash, không thấy seed.
hash = sha256(server seed)SHA-256 là hàm một chiều: từ hash không lần ngược ra seed, nhưng ai cũng kiểm tra được một seed có khớp hash hay không. Sòng đã bị khoá vào một lựa chọn.
Kết quả không chỉ tính từ seed của sòng. Nó trộn thêm client seed — chuỗi của bạn, đổi lúc nào cũng được — và một nonce tăng dần mỗi ván.
HMAC_SHA256(server seed, client seed : nonce : i)Vì sòng không biết trước bạn sẽ đặt client seed nào, nó không thể chọn một server seed "có lợi" cho riêng mình.
Bấm Đổi seed ở bất kỳ bàn nào. Seed cũ được công khai ngay lúc đó. Việc còn lại là hai phép tính ai cũng làm được:
a. sha256(seed vừa lộ) có bằng hash đã thấy lúc chơi không?
b. Chạy lại HMAC với nonce của một ván cũ — có ra đúng kết quả đó không?
Mỗi bàn có sẵn ô Phát lại một ván làm đúng hai việc này.
Từ cùng một dòng byte, mỗi trò lấy theo một cách đã ghi rõ.
| Bàn | Cách rút |
|---|---|
| Roulette | một lần int(37) chọn ô |
| Tài Xỉu | ba lần int(6), đúng thứ tự ba viên |
| Lucky Wheel | một lần int(số ô) lấy chỉ số trên vòng đã công bố |
| Blackjack · Xì dách · Baccarat | lá thứ k tốn đúng một int(số lá còn lại) |
Không có máy chủ nào ở đây. Nghĩa là server seed được sinh ra ngay trong máy bạn. Cam kết vẫn thật — kết quả vẫn bị khoá trước khi bạn đặt cược, và bạn vẫn phát lại được — nhưng nó chứng minh ít hơn so với khi seed nằm ở phía sòng.
Cùng bộ engine này chạy được ở chế độ có máy chủ, và khi đó seed nằm ở server, ngoài tầm với của người chơi — đó mới là mô hình đầy đủ. Nói ra ở đây vì một trang về "làm sao biết không gian lận" mà giấu chuyện này thì thành ra tự mâu thuẫn.
Nó chỉ chứng minh kết quả không bị sửa. Nó không làm house edge biến mất. Một bàn kiểm chứng được vẫn có thể lấy của bạn 16% mỗi ván — nếu bạn chọn cửa đó.
Hai câu hỏi khác nhau, và câu thứ hai ở đây.