กำลังโหลด…
drand public beacon
ในแพ็คที่ใช้ระบบ Provably Fair ผลของแต่ละออเดอร์ถูกกำหนดด้วยค่าสาธารณะจาก drand รอบที่ยังไม่เกิดตอนคุณจ่ายเงิน ไม่มีใคร รวมถึงทีมงาน SlabHub ทำนายหรือแก้ผลได้ และคุณคำนวณซ้ำเพื่อตรวจผลของตัวเองได้
แพ็คที่ใช้ระบบนี้
Provably Fair เปิดใช้เป็นรายแพ็ค ไม่ได้ใช้กับทุกแพ็คบน SlabHub แพ็คที่ใช้ระบบนี้จะมีส่วน “ความโปร่งใส (Provably Fair)” ในหน้าแพ็ค ซึ่งแสดงลังที่กำลังขายและลิงก์ไปยังรหัสล็อกบน GitHub
หลักการ 3 ขั้น
ความยุติธรรมมาจากการ “สัญญาก่อน แล้วพิสูจน์ทีหลัง” - เราล็อกของทั้งหมดไว้ก่อนขาย แล้วเปิดให้ตรวจหลังจบ
ก่อนเปิดขาย เรารวมการ์ดทั้งลังเป็นรายการมีลำดับและล็อกเป็น “รหัสล็อก” (hash) แล้วประกาศรหัสล็อกบน GitHub เมื่อเปิดลัง - ยืนยันว่ามีอะไรบ้าง ห้ามเปลี่ยน
ตอนคุณซื้อ ระบบล็อกรอบ drand ในอนาคต พอ beacon นั้นออก (ทุก ~3 วินาที) มันคือค่าสาธารณะที่กำหนดว่าคุณได้ใบไหน ถ้าเป็นลังที่เลือกช่องเองได้ ช่องที่คุณกดก็เป็นอีกหนึ่งค่าในสูตร และคุณกดไปตอนที่ beacon ยังไม่เกิด
รายชื่อการ์ดในลังเห็นได้ตั้งแต่ต้น พอลังจบ (ขายหมดหรือปิดการขาย) เราเปิดเผย “ลำดับ commit” + กุญแจลับ (salt) และผลทุกใบ ใครก็ตรวจได้ว่า hash ตรงกับที่ประกาศไว้ตั้งแต่แรก
แนวคิด
การ์ดแต่ละใบเป็นการ์ดเกรด PSA/BGS/CGC ที่มีใบเดียวในโลก เราจึงขายเป็น “ลังปิดผนึก”: ชุดการ์ดจำนวนแน่นอนที่ถูกเปิดออกทีละใบจนหมด แต่ละใบตกเป็นของคนเดียว ไม่มีทางออกซ้ำ
เติมของ = เปิด “ลังใหม่” เสมอ เพราะลังที่ปิดผนึกไปแล้วแก้ไม่ได้ ของที่ยังไม่ถูกเปิดจะยกไปลังใหม่ให้เห็นชัดเจน
ตัวอย่างรหัสล็อกของลัง
d80fa5c11f23b8eed7c4bffa62eb0b4e37ba2fcdefba5d7d9e3e27d698a6bafdsalt คือกุญแจลับที่เก็บไว้จนจบลัง - แม้จะรู้ว่ามีการ์ดใบไหนบ้าง ก็เดา “ลำดับ commit” จาก hash ก่อนเปิดเผยไม่ได้
ก่อนและหลังเปิดแพ็ค
ทีละขั้น
ใช้ได้กับออเดอร์ของแพ็คที่ใช้ระบบ Provably Fair ขั้นที่ 1 ถึง 4 ทำได้ทันทีหลังได้ผล ส่วนขั้นที่ 5 ทำได้เมื่อลังจบ (ขายหมดหรือปิดการขาย) และเปิดผลครบแล้ว
เปิด ประวัติการซื้อ แล้วเข้ารายละเอียดออเดอร์ของแพ็คที่ใช้ Provably Fair
ในส่วน “ตรวจสอบความเป็นธรรม (Provably Fair)” กดลิงก์ไปที่ GitHub แล้วเทียบว่ารหัสล็อกตรงกับในใบเสร็จ และถูกประกาศไว้ก่อนเวลาที่คุณซื้อ
กดลิงก์รอบ drand ของการ์ดแต่ละใบ เพื่อดูค่า beacon จาก drand โดยตรงโดยไม่ผ่าน SlabHub แล้วเทียบกับค่าในใบเสร็จ
กดปุ่ม “ตรวจสอบ” ระบบจะพามาที่ช่องตรวจบนหน้านี้พร้อมกรอกเลขลังและลำดับให้ เบราว์เซอร์คำนวณ SHA-256(beacon + sessionId + selector) แล้วหารเอาเศษด้วยจำนวนการ์ดที่เหลือ ต้องได้ตำแหน่งเดียวกับที่ระบบบันทึกไว้
เมื่อลังจบ (ขายหมดหรือปิดการขาย) และเปิดผลครบ หน้ารายละเอียดออเดอร์จะตรวจให้อัตโนมัติว่าการ์ดที่ตำแหน่งนั้นในรายการที่เหลือคือใบที่คุณได้จริง ส่วนการเทียบรหัสล็อก ให้เปิด Gist เดิมเพื่อดูลำดับและกุญแจลับ แล้วคำนวณ SHA-256 ซ้ำเองให้ตรงกับรหัสที่ประกาศไว้
อยากเข้าใจหลักการแบบไม่มีสูตร อ่าน เปิดแพ็คออนไลน์ตรวจสอบได้จริงไหม
ตรวจสอบเอง
เปิด ประวัติการซื้อ → รายละเอียดออเดอร์ จะเห็นป้าย “ตรงกัน ✓” ที่เบราว์เซอร์ของคุณคำนวณซ้ำเอง พร้อมลิงก์ไป drand และ GitHub - ไม่ต้องเชื่อเราเลย
ลองคำนวณสด (ตัวอย่างจริง)
seq = ลำดับการเปิดในลัง (การ์ดใบที่เท่าไรของลังนั้น)
ลังที่ขายตามจำนวน: ค่าที่สามคือ seq เฉย ๆ
ลองเปลี่ยน seq หรือช่องดู - ผลเปลี่ยนแบบกำหนดตายตัวจากค่าสาธารณะเดียวกัน นี่คือสิ่งที่หน้า verify จริงทำให้อัตโนมัติ
ตรวจสอบด้วยตัวเอง
ปกติแค่กดปุ่ม “ตรวจสอบ” ในใบเสร็จก็พอ ระบบจะพามาที่นี่พร้อมคำตอบให้เลย หรือจะกรอกเลขลังกับลำดับ (หรือช่องที่คุณเลือก) เองก็ได้
ไม่รู้เลขลัง/ลำดับ? เปิด ประวัติการซื้อ แล้วกดปุ่ม “ตรวจสอบ” ในใบเสร็จ ระบบจะกรอกให้อัตโนมัติ
ลังที่ให้เลือกช่องเองจะแฮช seq|spot:N ส่วนลังที่ขายตามจำนวนแฮช seq เฉย ๆ - ดูค่า selector ในใบเสร็จได้ว่าอันไหน
ค่าเหล่านี้เปิดเผยใน GitHub Gist ของลังนั้นหลังลังจบ
สายเทคนิค
avail = [ committed items still un-drawn, in order ]
sel = seq # batch sold by quantity
| seq|spot:N # batch where you picked spot N
h = SHA256( beacon ‖ sessionId ‖ sel )
i = int(h, 16) mod len(avail)
item = avail[i] # then remove item from availคำสัญญา (commit) หนึ่งก้อนครอบของชุดหนึ่ง และการพิสูจน์ว่า “ไม่มีของแอบซ่อน” ต้องเปิดเผยทั้งชุดตอนจบ - “ตอนจบ” นั้นคือขอบเขตของลัง เมื่อของ unique ต้องเลือกไม่ซ้ำด้วย จึงต้องมี pool กลางที่ commit ล่วงหน้า = ต้องมีลัง เลี่ยงไม่ได้ถ้าอยากพิสูจน์ทั้ง “ของแท้กี่ใบ” และ “เปิดครั้งเดียว”
เครื่องมือที่ใช้
เครือข่ายค่าสาธารณะแบบกระจายศูนย์ ออก beacon ที่เซ็นด้วย BLS ทุก ~3 วิ ไม่มีใครคุมได้คนเดียว
drand.loveกดเปิด beacon ล่าสุดของ chain เราตรงจากแหล่ง - เปลี่ยนท้าย /latest เป็นเลข round ใดก็ดูย้อนได้
api.drand.sh/…/latestที่เก็บ “คำสัญญา” สาธารณะ - commit hash ประกาศก่อนขาย, ลำดับและผลเต็มเปิดเผยหลังจบ
gist.github.comพื้นฐานคริปโต: SHA-256 (แฮชทางเดียว) และ BLS threshold signatures (สิ่งที่ทำให้ beacon ของ drand ปลอมไม่ได้)
คำถามที่พบบ่อย
Provably Fair คือวิธีกำหนดผลที่ผู้ซื้อตรวจสอบย้อนหลังได้เอง บน SlabHub แพ็คที่ใช้ระบบนี้จะล็อกรายการการ์ดทั้งลังเป็นรหัสล็อก (hash) และประกาศรหัสล็อกบน GitHub เมื่อเปิดลัง แล้วใช้ค่า randomness สาธารณะจาก drand รอบที่ยังไม่เกิดตอนคุณจ่ายเงินมาคำนวณผล ใครก็คำนวณซ้ำได้ด้วยสูตรที่เปิดเผยไว้
ไม่ใช่ทุกแพ็ค Provably Fair เปิดใช้เป็นรายแพ็ค แพ็คที่ใช้ระบบนี้จะมีส่วน ความโปร่งใส (Provably Fair) ในหน้าแพ็ค และมีรายชื่ออยู่บนหน้านี้ ถ้าไม่แน่ใจ ให้ดูที่หน้าแพ็คก่อนซื้อ
ในแพ็คที่ใช้ระบบนี้ ผลของออเดอร์ขึ้นกับค่า drand ของรอบที่ล็อกไว้ตอนจ่ายเงิน ซึ่งเป็นรอบในอนาคตที่ยังไม่เกิด จึงไม่มีใครรู้ผลก่อนจ่าย รวมถึงทีมงาน ส่วนลำดับการ์ดถูกล็อกด้วยรหัสที่ประกาศบน GitHub เมื่อเปิดลัง ถ้ามีการเปลี่ยนลำดับทีหลัง รหัสที่คำนวณจากลำดับที่เปิดเผยตอนลังจบจะไม่ตรงกับที่ประกาศไว้ และคุณเทียบเวลาที่ประกาศกับเวลาที่คุณซื้อได้เอง
เพราะรหัสล็อกครอบการ์ดทั้งลัง ลำดับและกุญแจลับ (salt) จึงถูกเปิดเผยพร้อมกันเมื่อลังจบ (ขายหมดหรือปิดการขาย) และเปิดผลครบ ระหว่างนั้นคุณตรวจค่า drand และการคำนวณตำแหน่งได้ หลังลังจบจึงตรวจได้ครบถึงการ์ดที่ได้
ไม่ต้อง รายละเอียดออเดอร์แสดงป้ายผลตรวจที่เบราว์เซอร์ของคุณคำนวณซ้ำให้อัตโนมัติ และปุ่ม ตรวจสอบ จะพามาที่หน้านี้พร้อมกรอกเลขลังและลำดับให้ แล้วคำนวณซ้ำอีกครั้ง ถ้าอยากตรวจเองทุกขั้น ใช้ช่องคำนวณเองบนหน้านี้ ซึ่งคำนวณในเครื่องของคุณโดยไม่เรียก API หรือใช้เครื่องมือคำนวณ SHA-256 ทั่วไปกับค่าในใบเสร็จก็ได้
ไม่ Provably Fair พิสูจน์ว่าไม่มีใครรู้ผลก่อนจ่ายเงินและไม่มีใครแก้ผลหลังจากนั้น แต่ไม่ได้เปลี่ยนโอกาสของแต่ละระดับ ดูอัตราและรายการการ์ดที่ยังเหลือได้ในหน้าแพ็คก่อนซื้อ