· four exchange APIs · rebuilt daily
รายงาน Proof of Reserves ของ Exchange อาศัยโครงสร้างข้อมูลแบบ Merkle tree โดย Exchange จะทำการแฮชยอดคงเหลือในบัญชีของผู้ใช้แต่ละรายเป็น Leaf nodes จากนั้น Leaf เหล่านี้จะถูกแฮชรวมกันเป็นคู่ๆ จนได้ Merkle root เพียงค่าเดียว
ผู้ให้บริการจะเผยแพร่ Merkle root พร้อมกับที่อยู่กระเป๋าเงินสาธารณะ คุณสามารถตรวจสอบยอดคงเหลือของคุณได้โดยการแฮช ID บัญชีและยอดคงเหลือของคุณพร้อมกับแฮชสาขาขั้นกลางจนถึง Root ซึ่งเป็นการยืนยันว่ายอดคงเหลือของคุณถูกรวมอยู่ในผลรวมสุดท้ายที่สร้างโดย Exchange สำหรับความสูงบล็อกที่แน่นอนนั้น
Merkle tree ที่ถูกต้องพิสูจน์ข้อเท็จจริงสองประการ ประการแรก พิสูจน์ว่า Exchange ได้สร้างโครงสร้างข้อมูลที่มียอดคงเหลือเฉพาะของคุณ ประการที่สอง พิสูจน์ว่า Exchange ถือ Private keys ที่สามารถลงนามข้อความจากกระเป๋าเงินสาธารณะที่มีสินทรัพย์จำนวนหนึ่งได้ แต่ไม่ได้ตรวจสอบว่าสินทรัพย์เหล่านั้นปลอดภาระผูกพันหรือไม่ หรือยืนยันว่า Exchange ได้ละเว้นยอดคงเหลือของผู้ใช้จากต้นไม้ก่อนที่จะสร้าง Root hash หรือไม่
Where this goes wrong
Exchange สามารถปลอมรายงาน Proof of Reserves ที่ผ่านเกณฑ์ได้โดยการสร้างบัญชีย่อยภายในที่มียอดคงเหลือติดลบจำนวนมาก หาก Merkle tree หักลบยอดคงเหลือติดลบที่ซ่อนอยู่ 5,000 BTC กับยอดฝากของผู้ใช้ 10,000 BTC ยอดหนี้สินที่เผยแพร่จะปรากฏเป็น 5,000 BTC ทำให้ผู้ให้บริการที่มีหลักประกันไม่เพียงพอ ดูเหมือนมีความสามารถในการชำระหนี้เต็มจำนวนในทางทฤษฎี
ความสามารถในการชำระหนี้ต้องการให้สินทรัพย์รวมเกินกว่าหนี้สินรวม ที่อยู่ On-chain ตรวจสอบเฉพาะด้านสินทรัพย์ของสมการเท่านั้น
งบดุลที่สมบูรณ์ต้องการการตรวจสอบหนี้สินสามประเภทที่แตกต่างกัน: ยอดฝาก Spot ของผู้ใช้, ภาระผูกพัน Margin ของ Perpetual futures, และวงเงินสินเชื่อของบริษัท การรับรองส่วนใหญ่ที่เผยแพร่ครอบคลุมเฉพาะยอดฝาก Spot เท่านั้น
พิจารณา Exchange ที่มียอดฝาก Spot ของผู้ใช้ 10,000 BTC นอกจากนี้ Exchange ยังมียอดเงินกู้ของบริษัท 2,000 BTC ที่ต้องชำระคืนให้กับสถาบันการเงิน และยอดขาดดุล Margin ที่ซ่อนอยู่ 1,000 BTC จากบัญชีที่ถูกชำระบัญชี หนี้สินรวมเท่ากับ 13,000 BTC
หาก Exchange ถือ 10,000 BTC ใน Cold wallet บน On-chain การรับรองมาตรฐานจะรายงานสินทรัพย์ 10,000 BTC เทียบกับหนี้สิน 10,000 BTC อัตราส่วนสินทรัพย์ต่อหนี้สินปรากฏเป็น 100% ในความเป็นจริง หนี้สินรวมคือ 13,000 BTC ซึ่งหมายความว่าผู้ให้บริการถือสินทรัพย์เพียง 76.9% ที่จำเป็นในการครอบคลุมภาระผูกพันทั้งหมด
Worth knowing
ลายเซ็น On-chain พิสูจน์เพียงการครอบครองคีย์ ณ บล็อก Snapshot เท่านั้น ไม่ได้ป้องกันผู้ให้บริการจากการใช้สินทรัพย์เดียวกันนั้นเป็นหลักประกันสำหรับสัญญา Rehypothecation นอกบัญชีสามนาทีหลังจาก Snapshot ปิด
การบันทึก Snapshot แบบคงที่รายไตรมาสส่งเสริมการบิดเบือนงบดุล เนื่องจากมีการรับรองที่ความสูงบล็อกที่ประกาศไว้ล่วงหน้า ผู้ให้บริการสามารถยืมเงินชั่วคราวเพื่อเพิ่มปริมาณสำรองที่รายงานได้
Exchange ที่มีเงินทุนไม่เพียงพอซึ่งถือ 8,000 BTC เทียบกับภาระผูกพันของผู้ใช้ 10,000 BTC จะประสบปัญหาขาดดุล 2,000 BTC เพื่อให้ผ่าน Snapshot ที่กำลังจะมาถึงที่ความสูงบล็อก 800,000 Exchange จะยืม 2,000 BTC จากวงเงินสินเชื่อ Over-the-counter (OTC) ที่เวลา 23:50 UTC
ผู้ให้กู้โอน 2,000 BTC ไปยังกระเป๋าเงินของ Exchange ที่เวลา 00:00 UTC Snapshot จะบันทึกปริมาณสำรองบน On-chain 10,000 BTC Exchange จะลงนามข้อความยืนยัน พิสูจน์การสำรอง 100% และคืน 2,000 BTC ให้กับผู้ให้กู้ที่เวลา 00:10 UTC ค่าธรรมเนียมการกู้ยืมสำหรับเงินทุน 20 นาทีเท่ากับเศษเสี้ยวของเปอร์เซ็นต์ ในขณะที่การรับรองที่เผยแพร่จะอ้างว่ามีการสำรองเต็มจำนวนเป็นเวลาเก้าสิบวันถัดไป
| รูปแบบการรับรอง | วิธีการตรวจสอบสินทรัพย์ | ขอบเขตหนี้สินที่ครอบคลุม | ความเสี่ยงจากการยืม Snapshot |
|---|---|---|---|
| Self-Reported Snapshot | รายการที่อยู่แบบไม่ลงนาม | ยอดฝาก Spot ของผู้ใช้เท่านั้น | สูง (การจับเวลาที่ไม่ได้รับการตรวจสอบ) |
| Merkle Tree + Signatures | การลงนามคีย์แบบ Cryptographic | ยอดฝาก Spot ของผู้ใช้เท่านั้น | สูง (การกู้ยืมเฉพาะบล็อก) |
| Third-Party Attestation | คีย์ที่ตรวจสอบโดยผู้ตรวจสอบ | บัญชี Spot และ Futures | ปานกลาง (การสุ่มตัวอย่างเป็นระยะ) |
| Continuous Zero-Knowledge | Zero-Knowledge proofs แบบเรียลไทม์ | สถานะบัญชีและ Margin ทั้งหมด | ต่ำ (การอัปเดตสถานะอัตโนมัติ) |
เมื่อเลือกที่จะถือตำแหน่ง Perpetual futures ให้ประเมินโครงสร้างทางเทคนิคของรายงานปริมาณสำรองของผู้ให้บริการ แทนที่จะเป็นข่าวประชาสัมพันธ์ทางการตลาด
มองหาเกณฑ์สี่ประการในการรับรอง:
What to do instead
ตรวจสอบแฮชส่วนบุคคลของคุณโดยตรงใน Merkle tree หลังจากการเผยแพร่ Snapshot ทุกครั้ง และปฏิเสธการรับรองที่ไม่ระบุอย่างชัดเจนว่ายอดคงเหลือติดลบของผู้ใช้ถูกยกเว้นจากการคำนวณหนี้สินรวม
พิสูจน์ว่า Exchange ครอบครอง Private keys สำหรับกระเป๋าเงิน On-chain ที่ระบุ ณ บล็อกที่กำหนด และยอดคงเหลือในบัญชีของคุณถูกรวมอยู่ใน Merkle tree root ที่เผยแพร่ ไม่ได้พิสูจน์ว่าสินทรัพย์เหล่านั้นปลอดจากการกู้นอกบัญชี หรือหนี้สินรวมได้รับการเปิดเผยอย่างถูกต้อง
Exchange สามารถยืมสินทรัพย์ก่อนบล็อก Snapshot เพื่อเพิ่มยอดคงเหลือในกระเป๋าเงินชั่วคราว หรือสร้างบัญชีย่อยภายในที่มียอดคงเหลือติดลบที่ซ่อนอยู่เพื่อลดหนี้สินที่รายงานอย่างประดิษฐ์
Proof of Reserves คือการบันทึก ณ จุดเวลาของความเป็นเจ้าของสินทรัพย์ On-chain เทียบกับยอดคงเหลือของผู้ใช้ที่รายงาน การตรวจสอบทางการเงินเต็มรูปแบบจะประเมินหนี้สินนอกงบดุล เงินกู้ของบริษัท ค่าใช้จ่ายในการดำเนินงาน และการควบคุมภายในในช่วงระยะเวลาบัญชีที่ขยายออกไป
ยอดคงเหลือ Perpetual futures ผันผวนอย่างต่อเนื่องตามกำไรที่ยังไม่รับรู้, ขาดทุนที่ยังไม่รับรู้, Leverage, และการชำระ Funding ของตำแหน่ง การตรวจสอบ Perps ต้องการการตรวจสอบข้อกำหนด Margin แบบไดนามิกสำหรับทุกตำแหน่งที่เปิดอยู่ แทนที่จะเป็นยอดฝากในกระเป๋าเงินแบบคงที่