ระบบสุ่มที่ตรวจสอบได้
ทุกการเปิดแพ็คบน CardVault ใช้ระบบ commit–reveal ที่ทำให้คุณพิสูจน์ได้ด้วยตัวเองว่าผลการสุ่มถูกกำหนดไว้ล่วงหน้าและไม่ถูกแก้ไขหลังจากคุณกดเปิด
ระบบสร้าง server seed แล้วเผยแพร่ค่า hash ก่อน
ก่อนที่ใครจะเปิดแพ็ค ระบบสุ่ม server seed (256-bit) เก็บไว้ และเผยแพร่เฉพาะค่า SHA-256 ของมันบนหน้าตู้ — เท่ากับล็อกผลไว้ล่วงหน้าโดยที่ยังไม่มีใครรู้ค่าจริง
คุณกำหนด client seed ของคุณเอง
เบราว์เซอร์ของคุณสร้าง client seed ซึ่งเข้าไปเป็นส่วนหนึ่งของการคำนวณ ทำให้ระบบไม่สามารถเลือกผลลัพธ์ให้คุณได้ฝ่ายเดียว
ผลการสุ่มคำนวณจาก HMAC
roll = HMAC-SHA256(key = server seed, message = client seed : nonce) จากนั้นนำ 8 ตัวอักษรแรกมาแปลงเป็นตัวเลข 0–9999 เพื่อเทียบกับตารางอัตราการออก และใช้ชุดถัดไปเลือกการ์ดในระดับนั้น
เปิดเผย server seed หลังใช้งาน
เมื่อ seed ถูกใช้แล้ว ระบบจะเปิดเผยค่าจริงให้ตรวจสอบ — คุณนำมาคำนวณ hash เทียบกับที่ประกาศไว้ตอนแรก และคำนวณ roll ซ้ำได้ที่หน้านี้
ตรวจสอบผลย้อนหลัง
นำค่าจากหน้าประวัติการเปิดของคุณมากรอก เพื่อคำนวณผลซ้ำด้วยตัวเอง
สูตรที่ใช้
seedHash = SHA256(serverSeed) roll = HMAC_SHA256(serverSeed, clientSeed + ":" + nonce) rollBp = parseInt(roll[0..8], 16) % 10000 // 0–9999 rarity = ระดับแรกที่ผลรวมอัตราสะสม > rollBp cardIdx = parseInt(roll[8..16], 16) % (จำนวนการ์ดในระดับนั้น)