Provably Fair คืออะไร
Provably Fair แก้ปัญหาข้อเดียว คือทำยังไงให้คุณรู้ว่าเว็บไม่ได้เปลี่ยนผลหลังจากคุณกดเดิมพันไปแล้ว วิธีของมันคือให้เว็บผูกมัดตัวเองไว้ล่วงหน้า เว็บสร้างค่าสุ่มขึ้นมาชุดหนึ่งเรียกว่า server seed แล้วเผยแพร่แค่ลายนิ้วมือของมันคือค่าแฮช ก่อนที่คุณจะเล่น พอจบรอบเว็บถึงเปิดค่าจริง คุณเอาไปแฮชเทียบเองได้
ทำไมแฮชถึงทำให้โกงไม่ได้
ฟังก์ชันแฮชอย่าง SHA-256 มีคุณสมบัติว่าเปลี่ยนข้อมูลต้นทางไปแม้แต่ตัวอักษรเดียว ค่าแฮชจะเปลี่ยนไปทั้งชุดจนจำไม่ได้ และย้อนจากแฮชกลับไปหาต้นทางไม่ได้ในทางปฏิบัติ ฉะนั้นเมื่อเว็บประกาศแฮชไปแล้ว มันติดกับดักตัวเอง จะเปลี่ยน seed ทีหลังก็ไม่ได้เพราะแฮชจะไม่ตรง จะบอกว่าใช้ seed อื่นตั้งแต่แรกก็ไม่ได้เพราะประกาศไปแล้ว
- server seed ค่าสุ่มที่เว็บสร้าง เผยแพร่เป็นแฮชก่อนเล่น เปิดค่าจริงหลังเล่น
- client seed ค่าที่คุณกำหนดเองได้ ถ้าเปลี่ยนได้ควรเปลี่ยน เพราะแปลว่าเว็บทำนายผลล่วงหน้าไม่ได้ฝ่ายเดียว
- nonce ตัวนับรอบ เพิ่มทีละหนึ่งทุกครั้งที่เดิมพัน ทำให้ seed ชุดเดิมให้ผลต่างกันในแต่ละรอบ
ตรวจสอบเองยังไง
- ก่อนเล่น คัดลอกค่าแฮชของ server seed เก็บไว้ อย่าพึ่งความจำ
- ตั้ง client seed เป็นค่าของคุณเอง เช่น ข้อความสั้น ๆ ที่คุณคิดเอง
- เล่นไปตามปกติ จดเลข nonce ของรอบที่คุณอยากตรวจ
- หลังจบรอบหรือหลังเปลี่ยน seed เว็บจะเปิดค่า server seed จริง
- เอาค่าจริงไปคำนวณ SHA-256 ด้วยเครื่องมือตรวจสอบใด ๆ แล้วเทียบกับแฮชที่คุณเก็บไว้ในข้อหนึ่ง ถ้าตรงกันแปลว่าเว็บไม่ได้สลับ seed
เกี่ยวอะไรกับพวกโปรแกรมทำนายผล
เกี่ยวโดยตรง ถ้าเกมใช้กลไกนี้จริง โปรแกรมทำนายผลเป็นไปไม่ได้ในเชิงคณิตศาสตร์ เพราะผลขึ้นกับ server seed ที่ยังไม่เปิดเผย และย้อนจากแฮชกลับไปหาค่าจริงไม่ได้ โปรแกรมที่อ้างว่าทำนายได้จึงมีอยู่สองแบบเท่านั้น แบบที่แสดงตัวเลขมั่วให้ดูน่าเชื่อ กับแบบที่ขโมยข้อมูลคุณ