News

Backgammon trực tuyến có thể bị dàn xếp không?

Có thể. Một máy chủ đóng có thể chỉnh xúc xắc, và riêng kết quả không chứng minh được gì. Dàn xếp trông ra sao, và vì sao commit-reveal làm nó lộ ra.

fairnessprovably fairdice

Có thể. Xúc xắc trực tuyến được gieo trên một máy chủ bạn không nhìn thấy, và không có gì ngăn về mặt vật lý việc nhà điều hành đổi một con số trước khi nó đến bàn cờ của bạn. Riêng kết quả sẽ không bao giờ chứng minh được điều gì theo hướng nào cả, nên câu hỏi trung thực không phải là dàn xếp có khả thi hay không. Câu hỏi là một trò chơi có thể chứng minh rằng nó đã không xảy ra hay không.

Chúng tôi làm một trò backgammon, nên ở đây chúng tôi không trung lập. Chính vì thế chúng tôi muốn trả lời cho đến nơi, kể cả những phần khó chịu.

Vì sao ở trang nào xúc xắc cũng có vẻ bị chỉnh?

Vì độ dao động của backgammon tàn nhẫn còn trí nhớ con người thì thiên lệch. Hai con xúc xắc rơi theo ba mươi sáu cách; chuỗi liên tiếp không phải lỗi, nó là điều chắc chắn, và đêm nay ở đâu đó một máy chủ trung thực sẽ gieo bốn lần đúp liên tiếp trước một người đã đi từng quân đúng đắn. Bạn nhớ cú 5-5 đập trúng quân hở của mình. Bạn không nhớ cú gieo thần kỳ đã cứu bạn thứ Ba tuần trước. Thua thì đọng lại, thoát hiểm thì bay hơi, và sau ba ván tệ liên tiếp thì xúc xắc thành chuyện cá nhân. Trên bàn cờ thật, trong quán thật, nó cũng thành chuyện cá nhân. Cứ hỏi người đã bốn mươi năm đẩy quân gỗ.

Và đây là cái bẫy. Một ván bị dàn xếp cũng sẽ cho cảm giác y hệt. Chuỗi liên tiếp không chứng minh gì theo hướng nào, nên nếu bằng chứng của bạn là cảm giác về xúc xắc, bạn không phân biệt được máy chủ trung thực với máy chủ gian. Chúng tôi cũng không. Đó không phải lời bênh vực xúc xắc trực tuyến. Đó chính là vấn đề của nó.

Một trang có thể thật sự chỉnh xúc xắc không?

Về kỹ thuật thì có, và cũng chẳng khó. Máy chủ nhìn thấy toàn bộ bàn cờ trước khi gieo. Một nhà điều hành muốn gian lận có thể:

  • Nghiêng vài cú gieo trong mỗi trăm lần vào đúng những thời điểm quan trọng nhất: cú đập trúng, cú vào cầu thất bại, cú đúp lật ngược ván đã thua.
  • Giữ các trận sát nút một cách nhân tạo, để phiên chơi kéo dài hơn và thua trông như suýt thắng.
  • Lặng lẽ ưu ái phía mà nhà điều hành có lợi ích.
  • Làm đủ thưa để xúc xắc vẫn vượt qua mọi kiểm định thống kê mà một người chơi có thể thực hiện.

Chúng tôi không khẳng định một trang cụ thể nào làm vậy. Chúng tôi nói rằng kiến trúc cho phép điều đó. Một máy chủ đóng là một căn phòng khóa kín: nhà điều hành gieo riêng, báo lại một con số, và đề nghị bạn tin. Từ ngoài cửa nhìn vào, nhà điều hành trung thực và gian dối giống hệt nhau.

Chẳng phải RNG được chứng nhận đã chứng minh xúc xắc công bằng sao?

Hãy đọc xem chứng nhận đó thực sự bao phủ điều gì. Một phòng thí nghiệm kiểm tra bộ sinh số: một thuật toán trên bàn thử, tạo ra hàng triệu con số vượt qua các kiểm định thống kê. Điều đó chứng nhận linh kiện. Nó không nói gì về khâu giao hàng, tức là con số đến bàn cờ của bạn có đến từ bộ sinh đó, vào đúng lúc đó, không bị sửa dọc đường hay không. Một chiếc cân đã kiểm định trong kho không chứng minh ổ bánh của bạn được cân trên nó.

Chứng nhận cũng chỉ là một ảnh chụp tại một thời điểm. Máy chủ đang chạy được triển khai lại liên tục, và đường mã giữa bộ sinh và ván cờ của bạn vẫn tiếp tục thay đổi rất lâu sau khi phòng thí nghiệm đã về. Vậy nên RNG được chứng nhận trả lời một câu hỏi mà chẳng ai thật sự đặt ra. Câu hỏi quan trọng không phải là có xúc xắc tốt ở đâu đó trong tòa nhà hay không. Mà là ván của bạn có nhận được chúng không, ở từng cú gieo, tối nay.

Commit-reveal thật sự thay đổi điều gì?

Nó chuyển sự công bằng từ lời hứa thành bằng chứng. Trước khi ván bắt đầu, máy chủ rút một hạt giống bí mật và công bố dấu vân tay của nó, một mã băm SHA-256 gọi là cam kết. Mọi cú gieo trong ván sau đó đều được suy ra từ hạt giống ấy, mỗi cú gieo một phép tính HMAC-SHA256, theo thứ tự. Khi ván kết thúc, máy chủ công bố hạt giống.

Bây giờ ai cũng kiểm được hai điều. Băm hạt giống đã công bố: kết quả phải khớp với cam kết được công bố trước nước đi đầu tiên. Tính lại các cú gieo: chúng phải khớp với từng con số đã hiện trên bàn cờ. Nếu máy chủ đã đổi dù chỉ một con xúc xắc sau khi nhìn thấy thế cờ của bạn, phép toán sẽ không khớp. Dàn xếp thôi là mối ngờ không thể kiểm và trở thành lời nói dối có thể bắt quả tang.

Xúc xắc đã khóa trước ván đấu thì không thể phản ứng với ván đấu.

Đó là cốt lõi. Kiểu dàn xếp có ích là kiểu phản ứng: nhìn thấy quân hở rồi gieo ra con số đập trúng. Commit-reveal lấy đi đôi mắt của máy chủ, vì toàn bộ dãy số đã được cố định trước nước khai cuộc và mọi can thiệp sau cam kết đều phát hiện được bằng toán. Điều nó không làm là khiến xúc xắc tử tế hơn. Dãy số ấy trung thực, không phải nhân từ. Bạn vẫn sẽ ngồi ở cầu vào lúc tệ nhất, và giờ bạn có thể chứng minh rằng điều đó là công bằng.

Kiểm chứng một ván trong thực tế thế nào?

Đây là cách chúng tôi dựng nó trong Orion. Mọi ván chơi trên máy chủ của chúng tôi đều mang một cam kết được lập trước cú gieo đầu tiên, máy chủ xác thực từng nước đi ngay tại nguồn, và kiểm một ván đã kết thúc mất khoảng một phút:

Mở trang kiểm chứng. Vào orion.arthea.ai/verify bằng trình duyệt bất kỳ. Không phải cài gì, không phải tạo tài khoản.

Nhập mã ván đấu. Mọi ván trên máy chủ Orion đều có một mã. Dán nó vào.

Để trình duyệt tự tính. Trang sẽ tính lại cam kết và từng cú gieo bằng Web Crypto, ngay tại máy bạn, trong trình duyệt của bạn. Lời của chúng tôi không tham gia vào phép kiểm. Nếu chỉ một con số bị đổi, phép tính lại sẽ nói ra.

Trang kiểm chứng đã hoạt động hôm nay. Bản thân trò chơi đã hoàn tất, và cánh cửa tại orion.arthea.ai/go mang liên kết App Store và Google Play, luôn cho thấy thứ đang có ngay lúc này. Dù thế nào, câu trả lời trung thực vẫn giữ nguyên. Đúng, backgammon trực tuyến có thể bị dàn xếp. Cách chữa không phải một lời hứa đẹp hơn. Là những con xúc xắc trình ra phép tính của chúng.