Spinvolta

ความยุติธรรมทำงานอย่างไร

สุ่มก่อน ภาพเคลื่อนไหวทีหลัง ตรวจสอบได้เมื่อสำคัญ

1. ทุกผลมาจากตัวสร้างเลขสุ่มแบบเข้ารหัส

Spinvolta สุ่มผลด้วย crypto.getRandomValues() ตัวสร้างเลขสุ่มที่ปลอดภัยแบบเข้ารหัสซึ่งมีอยู่ในทุกเบราว์เซอร์และระบบปฏิบัติการสมัยใหม่ — แหล่งเดียวกับที่ใช้สร้างกุญแจเข้ารหัส เราไม่เคยใช้ Math.random() ตัดสินอะไรเลย (สิ่งที่เป็นแค่การตกแต่ง เช่น คอนเฟตตีปลิวไปทางไหน ใช้ได้)

2. ไม่มีความลำเอียงจากการหารเอาเศษ

เลขสุ่ม 32 บิตไม่สามารถแบ่งลงตัวเป็น 7 ตัวเลือกได้เสมอ: 4,294,967,296 หาร 7 ไม่ลงตัว วิธีง่ายๆ อย่าง number % 7 จึงทำให้บางตัวเลือกมีโอกาสมากกว่าเล็กน้อย Spinvolta ใช้การสุ่มแบบปฏิเสธ: ถ้าเลขตกในส่วนเศษที่ไม่ลงตัวที่ปลายช่วง จะทิ้งแล้วสุ่มใหม่ ทุกตัวเลือกจึงมีโอกาสเท่ากันพอดี ไม่ว่าจะมีกี่ตัวเลือก

3. น้ำหนักแม่นยำ

ในโหมดถ่วงน้ำหนัก น้ำหนักอย่าง 1, 2.5 หรือ 0.125 ถูกแปลงเป็นจำนวนเต็มบนสเกลเดียวกันแล้วบวกกันอย่างแม่นยำ การสุ่มแบบสม่ำเสมอครั้งเดียวบนผลรวมจะเลือกผู้ชนะ ตัวเลือกน้ำหนัก 2 จึงมีโอกาสเป็นสองเท่าของน้ำหนัก 1 พอดี — และขนาดช่องบนวงล้อก็แสดงโอกาสนั้น

4. หลายผู้ชนะโดยไม่ซ้ำ

โหมดหลายผู้ชนะ ทีม ลำดับสุ่ม การสับไพ่ และกิจกรรมแจกของ ใช้การสับแบบ Fisher–Yates ที่ไม่ลำเอียง (พร้อมการสุ่มแบบปฏิเสธเหมือนกัน) ทุกลำดับหรือกลุ่มผู้ชนะที่เป็นไปได้จึงมีโอกาสเท่ากัน

5. ผลก่อน ภาพเคลื่อนไหวทีหลัง

เมื่อคุณกดหมุน ผู้ชนะถูกกำหนดก่อนวงล้อขยับ จากนั้นตัวคำนวณจะหาการเคลื่อนไหว — การง้าง ความเร็ว จำนวนรอบ การโยกเบาๆ ตอนท้าย — ที่หยุดในช่องผู้ชนะพอดี ณ จุดสุ่มที่ห่างจากขอบ การปัดแรงขึ้น หมุนนานขึ้น หรือหยุดเอง เปลี่ยนแค่หน้าตาการหมุน การทดสอบอัตโนมัติของเราตรวจการหมุนแบบสุ่มนับพันครั้งเพื่อให้แน่ใจว่าภาพเคลื่อนไหวหยุดที่ผลที่สุ่มไว้ก่อนเสมอ และไม่ไหลไปช่องข้างๆ

6. การสุ่มที่พิสูจน์ได้สำหรับกิจกรรมแจกของและห้องสด

สำหรับกิจกรรมแจกของ (และการสุ่มใดที่ความน่าเชื่อถือสำคัญ) Spinvolta ทำมากขึ้นอีกขั้น คุณจึงไม่ต้องเชื่อเราหรือผู้จัด:

  1. ก่อนสุ่ม เบราว์เซอร์ของคุณล็อกรายชื่อและการตั้งค่า แล้วเผยแพร่ลายนิ้วมือ — แฮช SHA-256 ของรายชื่อ การตั้งค่า และค่าเมล็ดลับ เซิร์ฟเวอร์ของเราบันทึกเวลาที่ได้รับ
  2. ลายนิ้วมือระบุรอบในอนาคตของแหล่งสุ่ม drand League of Entropy — ค่าสาธารณะที่องค์กรอิสระทั่วโลกสร้างขึ้นทุก 3 วินาที ซึ่งไม่มีใครทำนายหรือเลือกได้
  3. เมื่อรอบนั้นเผยแพร่ ผู้ชนะจะถูกคำนวณจากลายนิ้วมือ ค่า drand และค่าเมล็ด
  4. หน้าหลักฐานแสดงทุกอย่าง ใครก็กดตรวจสอบเพื่อคำนวณใหม่ในเบราว์เซอร์ของตัวเองได้ รวมถึงตรวจลายเซ็นเข้ารหัสของ drand

ผู้จัดเลือกผู้ชนะไม่ได้เพราะค่า drand ยังไม่เกิดขึ้นตอนล็อกรายชื่อ เราก็ทำไม่ได้ เพราะเราไม่เห็นค่าเมล็ดก่อนลายนิ้วมือถูกล็อก และเราไม่ได้ควบคุม drand ถ้าติดต่อ drand ไม่ได้ การสุ่มจะเปลี่ยนเป็นแบบผูกมัดและเปิดเผยที่มีป้ายกำกับชัดเจน

7. ทดสอบทางสถิติ

ชุดทดสอบของเรารันการทดสอบไคสแควร์บนการสุ่มจำลองหลายแสนครั้งทุกครั้งที่มีการเปลี่ยนแปลง และกว่าหนึ่งล้านครั้งในชุดเต็ม: การเลือกแบบสม่ำเสมอ การเลือกแบบถ่วงน้ำหนัก การสับ และตำแหน่งในโหมดหลายผู้ชนะ คุณรันเวอร์ชันของตัวเองได้ที่หน้าทดสอบความยุติธรรม

สิ่งที่เราพิสูจน์ไม่ได้

ในการหมุนทั่วไป คุณเชื่อว่าโค้ดที่ทำงานในเบราว์เซอร์คือโค้ดที่เราอธิบาย โค้ดทำงานในเครื่องของคุณทั้งหมด และตรวจดูได้ด้วยเครื่องมือนักพัฒนาของเบราว์เซอร์ เมื่อเดิมพันสูงขึ้น — ของรางวัล การสุ่มต่อสาธารณะ — ให้ใช้การสุ่มที่พิสูจน์ได้ ซึ่งไม่ต้องเชื่อใจใครเลย

คำถามที่พบบ่อย

วงล้อโกงได้ไหม?

ไม่ได้ผ่านภาพเคลื่อนไหว: ผลถูกสุ่มอย่างยุติธรรมก่อน แล้วการเคลื่อนไหวถูกคำนวณให้แสดงผลนั้น วิธีเดียวที่จะเปลี่ยนโอกาสคือโหมดถ่วงน้ำหนัก ซึ่งแสดงป้าย “วงล้อถ่วงน้ำหนัก” และวาดขนาดช่องตามโอกาส

ทำไมชื่อเดิมออกสองครั้งติด?

เพราะการสุ่มจริงมีการออกติดกัน ถ้ามี 10 ตัวเลือก ตัวเลือกเดิมจะออกสองครั้งติดประมาณ 10% ของเวลา ใช้โหมดคัดออกถ้าต้องการให้แต่ละตัวเลือกออกครั้งเดียว

drand คืออะไร?

drand คือแหล่งสุ่มแบบกระจายที่ดำเนินการโดย League of Entropy กลุ่มมหาวิทยาลัย บริษัท และองค์กรอิสระ มันเผยแพร่ค่าสุ่มใหม่ที่ตรวจสอบได้ทุกไม่กี่วินาที