นี่เป็นเพียงข้อผูกพันในการแฮชโดยคาสิโน และนี่ไม่ใช่ปัญหาภาพล่วงหน้า
ก่อนที่เกมทั้งหมดจะเริ่มขึ้น คาสิโนจะเลือก ก $เมล็ดพันธุ์$ และแฮชมัน $2M$ ครั้ง. อนุญาต $H^{s}(ม)$ แสดงถึงการแฮช $m$ $s$- เวลาในการเรียงซ้อน
$$H^{s}(m) = \underbrace{H(H(\ldots (H(m) ))}_{s-times}$$
เกมที่ 1 เริ่มต้นด้วย $H^{2000000}(เมล็ดพันธุ์)$
เมื่อเกมที่ 2 เริ่มขึ้น $H^{1999999}(เมล็ดพันธุ์)$ และพวกเขาพูดแบบนี้
- ดูสิเราไม่ได้ใช้เกมสุ่ม เรามีความมุ่งมั่น ตรวจสอบสิ่งนี้โดยแฮชเกมนี้และดูว่าผลลัพธ์คือแฮชของเกมก่อนหน้า
$$H^{2000000}(เมล็ดพันธุ์) = H(H^{1999999}(เมล็ดพันธุ์))$$ หรือทั่วไปสำหรับ $i$เกมที่ ( ละเว้น $2000000-i+1$ เพื่อความชัดเจน);
$$H^{i}(เมล็ด) = H(H^{i-1}(เมล็ด))$$
ดังนั้นพวกเขาอาจโน้มน้าวใจนักพนันบางคน แต่ไม่ใช่นักเข้ารหัสที่แท้จริง เนื่องจากการเลือกเมล็ดพันธุ์เริ่มต้นไม่ได้ขึ้นอยู่กับการสุ่มที่แท้จริงภายใต้ทนายความ
พวกเขาสามารถค้นหาเมล็ดที่สนับสนุนคาสิโนเสมอ แทนที่จะพึ่งพาการสุ่มแบบเดียวกันของแฮชการเข้ารหัส การสุ่มแบบเดียวกันนั้นบอกเราว่ามีแฮชเรียงซ้อน 2M ที่คาสิโนจะแพ้เสมอ พวกเขาจะกำจัดกรณีเหล่านั้น
ผู้ใช้ไม่สามารถค้นหาแฮชของเกมที่ไม่ได้เล่น เนื่องจาก SHA-256 มีค่าความต้านทานภาพล่วงหน้าประมาณ $2^{256}$. พวกเขาสามารถยืนยันได้ว่าความมุ่งมั่นนั้นดำเนินต่อไป
เหตุผลหลักที่คาสิโนใช้ข้อผูกมัดในการแฮชเหล่านี้คือเพื่อให้ผู้เล่นมั่นใจว่าเมื่อพวกเขาเล่น การกระทำของพวกเขาจะไม่ส่งผลกระทบต่อโอกาสในการชนะ โดยเฉพาะอย่างยิ่งการเปลี่ยนแปลงของเงินเดิมพัน
พวกเขารับประกันว่าเมื่อคุณเปิดเกม คุณจะได้รับลำดับตัวคูณ 2M และคอมพิวเตอร์ของคุณจะตรวจสอบหลังจากการหมุนแต่ละครั้งเพื่อให้แน่ใจว่ายังคงเป็นไปตามคำมั่นสัญญา
ด้วยวิธีนี้ หากหลังจากเดิมพัน 100 ครั้งที่ 5 ดอลลาร์ คุณตัดสินใจลดเงินเดิมพันลงเหลือ 25 เซนต์ และในการลองครั้งแรก คุณจะได้รับตัวคูณจำนวนมาก อย่างน้อยคุณก็รู้ว่าพวกเขาไม่ได้ตั้งใจ!