บทเรียนที่ 3

วิธีการผสานกันระหว่างกลไกพิสูจน์เงินสำรองกับเทคโนโลยี zk-SNARK อย่างไร

บทเรียนนี้อธิบายถึงเทคโนโลยี zk-SNARK คืออะไร และ Proof of Reserves ถูกปรับปรุงโดยใช้เทคโนโลยี zk-SNARK อย่างไร

พื้นหลัง

ศูนย์ศาสตร์พิสูจน์ (ZKP) เป็นเทคนิคทางรหัสวิทยาที่ถูกเสนอครั้งแรกโดย S. Goldwasser, S. Micali, และ C. Rackoff ในต้นปี 1980 ในเอกสารชื่อ ความซับซ้อนทางความรู้ของระบบพิสูจน์แบบโต้ตอบในเอกสาร ได้มีการสร้างแนวคิดเป็นรูปแบบทฤษฎีเพื่อแก้ปัญหาการยืนยันคำอธิบายทางคณิตศาสตร์โดยไม่เปิดเผยหลักฐาน แนวคิดนี้ได้ดึงดูดความสนใจอย่างกว้างขวางในวงการวิชาการเนื่องจากมันท้าทายขอบเขตของเทคนิคการเข้ารหัส传统 และ提供วิธีการใหม่สำหรับการประมวลข้อมูลที่เป็นข้อมูลที่เป็นไวทยอยอย่างไร้อนแรง

ตลอดเวลา ZKP ได้เจริญเปลี่ยนแปลงจากทฤษฎีนามสมมติที่น่าสนใจเป็นโปรโตคอลที่สามารถรวมเข้ากับแอพพลิเคชันต่าง ๆ ในปี 2010 Groth ได้เผยแพร่บทความเรื่องอาร์กเม็ดต่อสัมพันธ์ที่ไม่ต้องมีการจับคู่ที่เชื่อมโยงศูนย์สูญเสียที่กลายเป็นเหตุการณ์ทฤษฎีสำคัญสำหรับ zk-SNARK (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge), โซลูชั่นที่สำคัญใน ZKP ความคืบหน้าที่สำคัญที่สุดในการใช้ zero-knowledge proof คือ ระบบ zero-knowledge proof ที่ใช้โดย Z-cash ในปี 2015 ซึ่งให้ความคุ้มครองข้อมูลส่วนตัวสำหรับธุรกรรมและจำนวน ต่อมา zk-SNARK ร่วมกับสมาร์ทคอนแทรค ขยายการใช้งานไปสู่ขอบเขตแอปพลิเคชันที่หลากหลายมากยิ่งขึ้น

หลักการพื้นฐานของ zk-SNARK

ZKP แบบดั้งเดิมยึดถาวรตามหลักสามข้อ:

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

หลักการของ ZKP สามารถเข้าใจได้ผ่านตัวอย่างที่เรียบง่าย: หากฉันต้องการพิสูจน์ต่อ A ว่าฉันมีหมายเลขโทรศัพท์ของ B ฉันไม่จำเป็นต้องเปิดเผยหมายเลขโทรศัพท์ของ B โดยตรง แต่อย่างที่แทนฉันสามารถโทรโดยตรงหมายเลขโทรศัพท์ของ B และพิสูจน์ได้ว่าฉันมีหมายเลขโทรศัพท์ของ B หลังจากโทรผ่านไป กระบวนการนี้จะไม่ทำให้หมายเลขโทรศัพท์ของ B รั่วไหล
zk-SNARK ยิ่งเพิ่มคุณลักษณะเหล่านี้ด้วย

  • ความรู้เป็นศูนย์: ผู้ตรวจสอบไม่ได้รับข้อมูลที่เป็นประโยชน์ใด ๆ จากหลักฐาน
  • Succinct: ขนาดพิสูจน์เล็ก (โดยทั่วไปเพียงไม่กี่บายต์) และเวลาระบบการตรวจสอบสั้น (โดยทั่วไปเพียงไม่กี่มิลลิวินาที);
  • Non-interactive: โปรฟเวอร์เพียงต้องส่งพิสูจน์ให้เวอร์ไฟเออร์เพียงครั้งเดียวโดยไม่ต้องสื่อสารเพิ่มเติม
  • พารามิเตอร์ที่เชื่อถือได้: ทั้งโปรแวร์และผู้ตรวจสอบต้องใช้ Common Reference String (CRS) ที่สร้างโดยบุคคลที่สามที่เชื่อถือได้ ซึ่งอาจมีข้อมูลที่เป็นความลับที่หากทิ้งหรือถูกแก้ไขอาจเป็นอุปสรรคต่อความปลอดภัยของระบบ

ในบทความของ Groth เขาเสนอวิธีการพิสูจน์ความรู้เป็นศูนย์แบบไม่โต้ตอบตามการจับคู่เพื่อเปลี่ยนปัญหาการคํานวณเป็นโปรแกรมเลขคณิตกําลังสอง (QAP) วิธีนี้ใช้การเข้ารหัสเส้นโค้งวงรีและฟังก์ชันแฮชเพื่อสร้างการพิสูจน์ที่มีประสิทธิภาพ การออกแบบ zk-SNARK ที่ตามมามักจะเกี่ยวข้องกับสี่ขั้นตอน

  • การตั้งค่าระบบ: ดําเนินการโดยบุคคลที่สามที่เชื่อถือได้ มันเกี่ยวข้องกับการสร้าง CRS รวมถึงคีย์หลักฐาน (pk) และคีย์การตรวจสอบ (vk) กระบวนการนี้จะต้องดําเนินการเพียงครั้งเดียวและสามารถนํา CRS กลับมาใช้ใหม่ได้หลายครั้ง
  • การเข้ารหัสปัญหา: แปลงปัญหาที่มีการคำนวณ f (x) = y เป็นรูปแบบ QAP A (x) · B (x) = C (x) · Z (x) โดยที่ A (x), B (x), C (x) เป็นพหุวัสดุที่กำหนดโดยโครงสร้างวงจรของ f, Z (x) เป็นพหุวัสดุคงที่, x คือจุดที่ถูกเลือกแบบสุ่ม, และ y คือผลลัพธ์ของ f. กระบวนการนี้สามารถดำเนินได้โดย prover หรือ verifier, หรือโดยบุคคลที่สามล่วงหน้า.
  • การสร้างพิสูจน์: ทำโดยผู้พิสูจน์ มันเกี่ยวข้องกับการใช้ค่านำเข้า w ของ pk, x, และ f เพื่อสร้างพิสูจน์ \pi ที่พิสูจน์ว่าเขารู้ w ที่ทำให้ f (w) = y โดยไม่เปิดเผยค่าเฉพาะของ w กระบวนการนี้เกี่ยวข้องกับการคำนวณโพลินอมิแอล การดำเนินการโค้งวงและการดำเนินการฟังก์ชันแฮช โดยสุดท้ายสร้าง \pi ที่ประกอบด้วยจุดโค้งวงหลายจุดและค่าแฮช
  • การยืนยันการพิสูจน์: ทำโดยผู้พิสูจน์ มันเกี่ยวข้องกับการใช้ vk, x, y, และ \pi สำหรับการตรวจสอบ โดยการกำหนดว่าผู้พิสูจน์รู้ w ที่ทำให้ f (w) = y กระบวนการนี้ยังเกี่ยวข้องกับการคำนวณ多項式 การดำเนินการบนเส้น曲線เฉียง และการดำเนินการฟังก์ชันแฮช สุดท้ายได้ค่าบูลีนที่บ่งชี้ว่าพิสูจน์ถูกต้องหรือไม่

เพื่อแสดงให้เห็นด้วยตัวอย่างง่ายๆสมมติว่าคุณมีแผนที่สมบัติที่สามารถนําทางคุณไปยังตําแหน่งที่แน่นอนของสมบัติที่ถูกฝัง คุณต้องการพิสูจน์ให้ใครบางคนเห็นว่าคุณรู้ตําแหน่งของสมบัติ แต่คุณไม่ต้องการเปิดเผยเนื้อหาของแผนที่สมบัติหรือตําแหน่งที่แท้จริงของสมบัติ หากคุณใช้เทคโนโลยี zk-SNARK คุณต้องสร้างปริศนาที่ซับซ้อนของแผนที่สมบัติ คุณเลือกชิ้นส่วนเล็ก ๆ ของปริศนาที่สําคัญ (หลักฐาน) และแสดงให้คนอื่นเชื่อว่าคุณรู้ว่าปริศนาทั้งหมดเช่นตําแหน่งของสมบัติเข้ากันได้โดยไม่เปิดเผยปริศนาทั้งหมด อย่างไรก็ตามในการทําเช่นนี้คุณต้องได้รับเครื่องหมายพิเศษจากโรงพิมพ์ที่เชื่อถือได้ซึ่งใช้เพื่อพิสูจน์ความถูกต้องของชิ้นส่วนปริศนาของคุณ

การผสานกันระหว่างเงินสำรองของการแลกเปลี่ยนกับ zk-SNARK

การสนทนาก่อนหน้าได้กล่าวถึงว่า zk-SNARK ช่วยให้สามารถตั้งสตริงการอ้างอิงร่วม ซึ่งหมายความว่าสามารถตั้งข้อจำกัดได้บนวงจรการทำงาน โดยการสำรอง Gate.io เป็นตัวอย่าง ตั้งข้อจำกัดหลัก 5 ข้อในวงจร เช่นด้านล่าง:

① ก่อนที่จะใส่สินทรัพย์สุทธิของผู้ใช้เข้าสู่ต้นไม้เมอร์เคิล โหนดที่สอดคล้องกับรหัสผู้ใช้จะว่างเปล่า
② คำนวณสินทรัพย์/หนี้สินรวมของผู้ใช้โดยอิงจากรายการสินทรัพย์ของผู้ใช้และราคาของแต่ละสินทรัพย์ สินทรัพย์รวมต้องมากกว่าหนี้สินรวม
(3) เพิ่มสินทรัพย์/หนี้สินของผู้ใช้ลงในสินทรัพย์/หนี้สินของตลาดหลักทรัพย์
④ คำนวณ state hash ของผู้ใช้โดยใช้ ID ของผู้ใช้, สินทรัพย์/หนี้ทั้งหมด และรายการสินทรัพย์ แทรก state ของผู้ใช้เข้าไปในต้นไม้ Merkle เพื่อให้ได้ Merkle Root ใหม่
⑤ ค่าแฮชของโหนดรูทของต้นไม้ก่อนที่ผู้ใช้ก่อนหน้าสร้างการดำเนินการของผู้ใช้ต้องเท่ากับค่าแฮชหลังจากที่ผู้ใช้ภายหลังสร้างการดำเนินการของผู้ใช้
(การดำเนินการ ① สามารถหลีกเลี่ยงข้อมูลโหนดจากการเป็นเท็จ, การดำเนินการ ② สามารถหลีกเลี่ยงบัญชียอดเงินติดลบ, และ การดำเนินการ ⑤ สามารถให้ความมั่นใจว่าข้อมูลของผู้ใช้ไม่มีการเปลี่ยนแปลงก่อนหลังการดำเนินการ)
สิ่งนี้ทําให้มั่นใจได้ถึงการแก้ไขปัญหายอดคงเหลือติดลบ ข้อมูลการแลกเปลี่ยนจะต้องผ่านวงจรเพื่อทําการตรวจสอบข้อ จํากัด โดยอัตโนมัติและรับหมายเลขสินทรัพย์ อย่างไรก็ตามโซลูชันนี้ต้องการพลังการประมวลผลและเงื่อนไขฮาร์ดแวร์บางอย่าง ใช้เวลา 15 วันในการคํานวณหลักฐานทรัพย์สินของผู้ใช้ 10 ล้านคนบนเครื่อง 32-core ที่มี RAM 128GB การคํานวณหลักฐานการสํารองสามารถขนานกันได้ หากมี 10 เครื่องจะใช้เวลาเพียง 1.5 วันเท่านั้น

สรุป

โดยการตั้งค่าข้อจำกัดที่สอดคล้องกัน zk-SNARK สามารถหลีกเลี่ยงปัญหาค่าลบและปกป้องความเป็นส่วนตัวและความปลอดภัยของผู้ใช้ได้ดีขึ้น Gate.io’s Proof of Reserves ตอนนี้สามารถพิสูจน์อัตราส่วนสำรองสำหรับเหรียญ 100+ และผู้ใช้สามารถดูได้โดยการคลิกลิงก์ในบทเรียนถัดไป เราจะพาคุณไปทำการตรวจสอบความปลอดภัยของสินทรัพย์ของคุณภายใน 3 นาที

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

วิธีการผสานกันระหว่างกลไกพิสูจน์เงินสำรองกับเทคโนโลยี zk-SNARK อย่างไร

บทเรียนนี้อธิบายถึงเทคโนโลยี zk-SNARK คืออะไร และ Proof of Reserves ถูกปรับปรุงโดยใช้เทคโนโลยี zk-SNARK อย่างไร

พื้นหลัง

ศูนย์ศาสตร์พิสูจน์ (ZKP) เป็นเทคนิคทางรหัสวิทยาที่ถูกเสนอครั้งแรกโดย S. Goldwasser, S. Micali, และ C. Rackoff ในต้นปี 1980 ในเอกสารชื่อ ความซับซ้อนทางความรู้ของระบบพิสูจน์แบบโต้ตอบในเอกสาร ได้มีการสร้างแนวคิดเป็นรูปแบบทฤษฎีเพื่อแก้ปัญหาการยืนยันคำอธิบายทางคณิตศาสตร์โดยไม่เปิดเผยหลักฐาน แนวคิดนี้ได้ดึงดูดความสนใจอย่างกว้างขวางในวงการวิชาการเนื่องจากมันท้าทายขอบเขตของเทคนิคการเข้ารหัส传统 และ提供วิธีการใหม่สำหรับการประมวลข้อมูลที่เป็นข้อมูลที่เป็นไวทยอยอย่างไร้อนแรง

ตลอดเวลา ZKP ได้เจริญเปลี่ยนแปลงจากทฤษฎีนามสมมติที่น่าสนใจเป็นโปรโตคอลที่สามารถรวมเข้ากับแอพพลิเคชันต่าง ๆ ในปี 2010 Groth ได้เผยแพร่บทความเรื่องอาร์กเม็ดต่อสัมพันธ์ที่ไม่ต้องมีการจับคู่ที่เชื่อมโยงศูนย์สูญเสียที่กลายเป็นเหตุการณ์ทฤษฎีสำคัญสำหรับ zk-SNARK (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge), โซลูชั่นที่สำคัญใน ZKP ความคืบหน้าที่สำคัญที่สุดในการใช้ zero-knowledge proof คือ ระบบ zero-knowledge proof ที่ใช้โดย Z-cash ในปี 2015 ซึ่งให้ความคุ้มครองข้อมูลส่วนตัวสำหรับธุรกรรมและจำนวน ต่อมา zk-SNARK ร่วมกับสมาร์ทคอนแทรค ขยายการใช้งานไปสู่ขอบเขตแอปพลิเคชันที่หลากหลายมากยิ่งขึ้น

หลักการพื้นฐานของ zk-SNARK

ZKP แบบดั้งเดิมยึดถาวรตามหลักสามข้อ:

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

หลักการของ ZKP สามารถเข้าใจได้ผ่านตัวอย่างที่เรียบง่าย: หากฉันต้องการพิสูจน์ต่อ A ว่าฉันมีหมายเลขโทรศัพท์ของ B ฉันไม่จำเป็นต้องเปิดเผยหมายเลขโทรศัพท์ของ B โดยตรง แต่อย่างที่แทนฉันสามารถโทรโดยตรงหมายเลขโทรศัพท์ของ B และพิสูจน์ได้ว่าฉันมีหมายเลขโทรศัพท์ของ B หลังจากโทรผ่านไป กระบวนการนี้จะไม่ทำให้หมายเลขโทรศัพท์ของ B รั่วไหล
zk-SNARK ยิ่งเพิ่มคุณลักษณะเหล่านี้ด้วย

  • ความรู้เป็นศูนย์: ผู้ตรวจสอบไม่ได้รับข้อมูลที่เป็นประโยชน์ใด ๆ จากหลักฐาน
  • Succinct: ขนาดพิสูจน์เล็ก (โดยทั่วไปเพียงไม่กี่บายต์) และเวลาระบบการตรวจสอบสั้น (โดยทั่วไปเพียงไม่กี่มิลลิวินาที);
  • Non-interactive: โปรฟเวอร์เพียงต้องส่งพิสูจน์ให้เวอร์ไฟเออร์เพียงครั้งเดียวโดยไม่ต้องสื่อสารเพิ่มเติม
  • พารามิเตอร์ที่เชื่อถือได้: ทั้งโปรแวร์และผู้ตรวจสอบต้องใช้ Common Reference String (CRS) ที่สร้างโดยบุคคลที่สามที่เชื่อถือได้ ซึ่งอาจมีข้อมูลที่เป็นความลับที่หากทิ้งหรือถูกแก้ไขอาจเป็นอุปสรรคต่อความปลอดภัยของระบบ

ในบทความของ Groth เขาเสนอวิธีการพิสูจน์ความรู้เป็นศูนย์แบบไม่โต้ตอบตามการจับคู่เพื่อเปลี่ยนปัญหาการคํานวณเป็นโปรแกรมเลขคณิตกําลังสอง (QAP) วิธีนี้ใช้การเข้ารหัสเส้นโค้งวงรีและฟังก์ชันแฮชเพื่อสร้างการพิสูจน์ที่มีประสิทธิภาพ การออกแบบ zk-SNARK ที่ตามมามักจะเกี่ยวข้องกับสี่ขั้นตอน

  • การตั้งค่าระบบ: ดําเนินการโดยบุคคลที่สามที่เชื่อถือได้ มันเกี่ยวข้องกับการสร้าง CRS รวมถึงคีย์หลักฐาน (pk) และคีย์การตรวจสอบ (vk) กระบวนการนี้จะต้องดําเนินการเพียงครั้งเดียวและสามารถนํา CRS กลับมาใช้ใหม่ได้หลายครั้ง
  • การเข้ารหัสปัญหา: แปลงปัญหาที่มีการคำนวณ f (x) = y เป็นรูปแบบ QAP A (x) · B (x) = C (x) · Z (x) โดยที่ A (x), B (x), C (x) เป็นพหุวัสดุที่กำหนดโดยโครงสร้างวงจรของ f, Z (x) เป็นพหุวัสดุคงที่, x คือจุดที่ถูกเลือกแบบสุ่ม, และ y คือผลลัพธ์ของ f. กระบวนการนี้สามารถดำเนินได้โดย prover หรือ verifier, หรือโดยบุคคลที่สามล่วงหน้า.
  • การสร้างพิสูจน์: ทำโดยผู้พิสูจน์ มันเกี่ยวข้องกับการใช้ค่านำเข้า w ของ pk, x, และ f เพื่อสร้างพิสูจน์ \pi ที่พิสูจน์ว่าเขารู้ w ที่ทำให้ f (w) = y โดยไม่เปิดเผยค่าเฉพาะของ w กระบวนการนี้เกี่ยวข้องกับการคำนวณโพลินอมิแอล การดำเนินการโค้งวงและการดำเนินการฟังก์ชันแฮช โดยสุดท้ายสร้าง \pi ที่ประกอบด้วยจุดโค้งวงหลายจุดและค่าแฮช
  • การยืนยันการพิสูจน์: ทำโดยผู้พิสูจน์ มันเกี่ยวข้องกับการใช้ vk, x, y, และ \pi สำหรับการตรวจสอบ โดยการกำหนดว่าผู้พิสูจน์รู้ w ที่ทำให้ f (w) = y กระบวนการนี้ยังเกี่ยวข้องกับการคำนวณ多項式 การดำเนินการบนเส้น曲線เฉียง และการดำเนินการฟังก์ชันแฮช สุดท้ายได้ค่าบูลีนที่บ่งชี้ว่าพิสูจน์ถูกต้องหรือไม่

เพื่อแสดงให้เห็นด้วยตัวอย่างง่ายๆสมมติว่าคุณมีแผนที่สมบัติที่สามารถนําทางคุณไปยังตําแหน่งที่แน่นอนของสมบัติที่ถูกฝัง คุณต้องการพิสูจน์ให้ใครบางคนเห็นว่าคุณรู้ตําแหน่งของสมบัติ แต่คุณไม่ต้องการเปิดเผยเนื้อหาของแผนที่สมบัติหรือตําแหน่งที่แท้จริงของสมบัติ หากคุณใช้เทคโนโลยี zk-SNARK คุณต้องสร้างปริศนาที่ซับซ้อนของแผนที่สมบัติ คุณเลือกชิ้นส่วนเล็ก ๆ ของปริศนาที่สําคัญ (หลักฐาน) และแสดงให้คนอื่นเชื่อว่าคุณรู้ว่าปริศนาทั้งหมดเช่นตําแหน่งของสมบัติเข้ากันได้โดยไม่เปิดเผยปริศนาทั้งหมด อย่างไรก็ตามในการทําเช่นนี้คุณต้องได้รับเครื่องหมายพิเศษจากโรงพิมพ์ที่เชื่อถือได้ซึ่งใช้เพื่อพิสูจน์ความถูกต้องของชิ้นส่วนปริศนาของคุณ

การผสานกันระหว่างเงินสำรองของการแลกเปลี่ยนกับ zk-SNARK

การสนทนาก่อนหน้าได้กล่าวถึงว่า zk-SNARK ช่วยให้สามารถตั้งสตริงการอ้างอิงร่วม ซึ่งหมายความว่าสามารถตั้งข้อจำกัดได้บนวงจรการทำงาน โดยการสำรอง Gate.io เป็นตัวอย่าง ตั้งข้อจำกัดหลัก 5 ข้อในวงจร เช่นด้านล่าง:

① ก่อนที่จะใส่สินทรัพย์สุทธิของผู้ใช้เข้าสู่ต้นไม้เมอร์เคิล โหนดที่สอดคล้องกับรหัสผู้ใช้จะว่างเปล่า
② คำนวณสินทรัพย์/หนี้สินรวมของผู้ใช้โดยอิงจากรายการสินทรัพย์ของผู้ใช้และราคาของแต่ละสินทรัพย์ สินทรัพย์รวมต้องมากกว่าหนี้สินรวม
(3) เพิ่มสินทรัพย์/หนี้สินของผู้ใช้ลงในสินทรัพย์/หนี้สินของตลาดหลักทรัพย์
④ คำนวณ state hash ของผู้ใช้โดยใช้ ID ของผู้ใช้, สินทรัพย์/หนี้ทั้งหมด และรายการสินทรัพย์ แทรก state ของผู้ใช้เข้าไปในต้นไม้ Merkle เพื่อให้ได้ Merkle Root ใหม่
⑤ ค่าแฮชของโหนดรูทของต้นไม้ก่อนที่ผู้ใช้ก่อนหน้าสร้างการดำเนินการของผู้ใช้ต้องเท่ากับค่าแฮชหลังจากที่ผู้ใช้ภายหลังสร้างการดำเนินการของผู้ใช้
(การดำเนินการ ① สามารถหลีกเลี่ยงข้อมูลโหนดจากการเป็นเท็จ, การดำเนินการ ② สามารถหลีกเลี่ยงบัญชียอดเงินติดลบ, และ การดำเนินการ ⑤ สามารถให้ความมั่นใจว่าข้อมูลของผู้ใช้ไม่มีการเปลี่ยนแปลงก่อนหลังการดำเนินการ)
สิ่งนี้ทําให้มั่นใจได้ถึงการแก้ไขปัญหายอดคงเหลือติดลบ ข้อมูลการแลกเปลี่ยนจะต้องผ่านวงจรเพื่อทําการตรวจสอบข้อ จํากัด โดยอัตโนมัติและรับหมายเลขสินทรัพย์ อย่างไรก็ตามโซลูชันนี้ต้องการพลังการประมวลผลและเงื่อนไขฮาร์ดแวร์บางอย่าง ใช้เวลา 15 วันในการคํานวณหลักฐานทรัพย์สินของผู้ใช้ 10 ล้านคนบนเครื่อง 32-core ที่มี RAM 128GB การคํานวณหลักฐานการสํารองสามารถขนานกันได้ หากมี 10 เครื่องจะใช้เวลาเพียง 1.5 วันเท่านั้น

สรุป

โดยการตั้งค่าข้อจำกัดที่สอดคล้องกัน zk-SNARK สามารถหลีกเลี่ยงปัญหาค่าลบและปกป้องความเป็นส่วนตัวและความปลอดภัยของผู้ใช้ได้ดีขึ้น Gate.io’s Proof of Reserves ตอนนี้สามารถพิสูจน์อัตราส่วนสำรองสำหรับเหรียญ 100+ และผู้ใช้สามารถดูได้โดยการคลิกลิงก์ในบทเรียนถัดไป เราจะพาคุณไปทำการตรวจสอบความปลอดภัยของสินทรัพย์ของคุณภายใน 3 นาที

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