Zero-Knowledge Proof หรือ ZK Proof เป็นเทคนิคทางคณิตศาสตร์ที่ยอมให้ผู้เสนอพิสูจน์ว่าพวกเขารู้ข้อมูลลับใดลับหนึ่ง โดยไม่เปิดเผยข้อมูลนั้นเลย เทคโนโลยีนี้เป็นหนึ่งในการพัฒนาวิจัยที่สำคัญที่สุดในบ่อเกิด Blockchain โดยเฉพาะอย่างยิ่งสำหรับการสร้างความเป็นส่วนตัวและการยืดขยายของระบบ ในบทความนี้ เราจะสำรวจวิธีการทำงาน ประเภท และการใช้งานจริงของ ZK Proofs รวมถึง zk-SNARKs และ zk-STARKs ซึ่งเป็นรูปแบบทั่วไปที่สุด
- Zero-Knowledge Proof คืออะไร?
- หลักการทำงานของ Zero-Knowledge Proof
- zk-SNARK คืออะไร?
- zk-STARK คืออะไร?
- การนำ ZK Proof ไปใช้เพื่อความเป็นส่วนตัว
- การนำ ZK Proof ไปใช้เพื่อการยืดขยาย (Scaling)
- ZK Proof ในโลกจริง - โครงการและการใช้งาน
- ข้อดีของ Zero-Knowledge Proof
- ความท้าทายและข้อจำกัดของ ZK Proof
- อนาคตของ Zero-Knowledge Proof
- คำถามที่พบบ่อย
Zero-Knowledge Proof คืออะไร?
Zero-Knowledge Proof (ZK Proof) เป็นแนวคิดทางคณิตศาสตร์ที่ได้รับการพิสูจน์ครั้งแรกในปี 1985 โดยนักวิจัยชื่อ Goldwasser, Micali และ Rackoff บทพิสูจน์นี้อนุญาตให้ผู้พูด (Prover) แสดงให้ผู้ฟัง (Verifier) เห็นว่าเขารู้ข้อมูลลับบางอย่าง โดยไม่เปิดเผยข้อมูลนั้นอย่างแน่นอน นี่เป็นการแสดงความรู้ที่บริสุทธิ์โดยไม่ต้องถ่ายโอนข้อมูลใด ๆ ที่เกี่ยวข้องกับความลับนั้น เช่น คุณสามารถพิสูจน์ว่าคุณรู้รหัสผ่านของบัญชีโดยไม่เปิดเผยรหัสผ่านจริง
แนวคิดหลักคือการใช้คณิตศาสตร์ที่ซับซ้อนเพื่อสร้างความท้าทายที่ผู้พูดสามารถตอบได้ก็ต่อเมื่อเขารู้ความลับจริงๆ แต่ผู้ฟังไม่สามารถรู้ความลับได้จากการสังเกตการแก้ปัญหา อีกวิธีหนึ่งคือการจินตนาการว่าคุณต้องการพิสูจน์ว่าคุณมีหนังสือเดินทางถูกต้อง คุณสามารถแสดงเฉพาะส่วนที่เกี่ยวข้อง เช่นวันเกิดและหมายเลขพาสปอร์ต โดยไม่เปิดเผยชื่อจริง ที่อยู่ หรือรูปถ่าย
หลักการทำงานของ Zero-Knowledge Proof
ZK Proof ทำงานบนหลักการของการท้าทายและการตอบสนอง (Challenge-Response) รวมกับทฤษฎีความน่าจะเป็น ในระบบทั่วไป ผู้พูดและผู้ฟังทำการโต้ตอบหลายครั้ง ในแต่ละรอบ ผู้ฟังจะยื่นประเด็นที่ไม่คาดคิด (Challenge) ที่เฉพาะเจาะจง และผู้พูดต้องตอบคำถามนั้น (Response) ที่แสดงว่าพวกเขารู้ความลับจริง ๆ
การท้าทายเหล่านี้ได้รับการออกแบบเพื่อให้แม้ว่า Prover จะไม่รู้ความลับ เขาก็สามารถเดาคำตอบที่ถูกต้องได้โดยเสี่ยง อย่างไรก็ตาม ความน่าจะเป็นของการเดาถูกหากพวกเขาไม่รู้ลับ - หลังจากความท้าทายหลายครั้ง - จะลดลงอย่างมีนัยสำคัญ แนวคิดนี้เรียกว่า "Soundness" ซึ่งหมายความว่า Prover ที่ไม่สามารถพิสูจน์ข้อความจริงได้ มีความน่าจะเป็นต่ำมากที่จะผ่านการตรวจสอบ
สำคัญเท่าเทียม คือหลักการของ "Zero-Knowledge" ซึ่งหมายความว่าการโต้ตอบนี้ไม่เปิดเผยข้อมูลใด ๆ เกี่ยวกับความลับนอกเหนือจากว่า Prover รู้สิ่งนั้น คณิตศาสตร์ได้รับการออกแบบให้ผู้ฟังไม่สามารถใช้ข้อมูลจากการท้าทายและคำตอบเพื่อเรียนรู้เกี่ยวกับความลับได้
zk-SNARK คืออะไร?
zk-SNARK ย่อมาจาก "Zero-Knowledge Succinct Non-Interactive Argument of Knowledge" ซึ่งเป็นรูปแบบหนึ่งของ Zero-Knowledge Proof ที่มีลักษณะเด่นสำคัญหลายประการ คำว่า "Succinct" หมายความว่าพิสูจน์นั้นมีขนาดเล็กและตรวจสอบได้อย่างรวดเร็ว "Non-Interactive" หมายความว่า Prover และ Verifier ไม่จำเป็นต้องมีการโต้ตอบหลายครั้ง - Prover สามารถสร้างพิสูจน์ครั้งเดียวที่ Verifier สามารถตรวจสอบได้
zk-SNARK มักต้องการ "Trusted Setup" ซึ่งเป็นขั้นตอนหนึ่งครั้งในการสร้างพารามิเตอร์ที่ใช้ในการสร้างและตรวจสอบพิสูจน์ ถ้าหากใครบางคนสามารถรับได้ "Toxic Waste" (ข้อมูลลับที่ใช้ในการตั้งค่า) พวกเขาอาจสามารถสร้างพิสูจน์ที่เป็นเท็จได้ เพราะฉะนั้นขั้นตอนการตั้งค่านี้จึงต้องดำเนินการอย่างระมัดระวังและด้วยความเป็นส่วนตัว
แม้จะมีข้อจำกัดนี้ zk-SNARK ก็ยังคงเป็นที่นิยมในแอปพลิเคชันบ่อเกิดเนื่องจากประสิทธิภาพและขนาดพิสูจน์ที่เล็ก Zcash ซึ่งเป็นสกุลเงิน Cryptocurrency ที่เน้นความเป็นส่วนตัว ใช้ zk-SNARK เพื่อซ่อนทั้งผู้ส่งและผู้รับในการทำธุรกรรม
zk-STARK คืออะไร?
zk-STARK ย่อมาจาก "Zero-Knowledge Scalable Transparent Argument of Knowledge" ซึ่งเป็นรูปแบบหลังมากขึ้นของ Zero-Knowledge Proof ที่พัฒนาโดยนักวิจัยจากบริษัท StarkWare คำว่า "Scalable" หมายความว่าขนาดของพิสูจน์และเวลาการตรวจสอบเพิ่มขึ้นแบบลอการิทึมในความซับซ้อนของการคำนวณที่กำลังทำการพิสูจน์ "Transparent" หมายความว่า zk-STARK ไม่ต้องการการตั้งค่าที่เชื่อถือได้ - พวกมันใช้เพียงฟังก์ชันแฮชเท่านั้น
ข้อดีที่สำคัญของ zk-STARK เหนือ zk-SNARK คือความปลอดภัยต่อการเข้ารหัสควอนตัม zk-SNARK อาศัยฟังก์ชันทางคณิตศาสตร์บางอย่างที่คิดว่าจะยากสำหรับคอมพิวเตอร์ปกติ แต่คิดว่าจะง่ายสำหรับคอมพิวเตอร์ควอนตัม zk-STARK ในทางกลับกัน ใช้เพียงแฮช ซึ่งคิดว่าจะปลอดภัยแม้ต่อการโจมตีควอนตัมก็ตาม
อย่างไรก็ตาม zk-STARK มีขนาดพิสูจน์ที่ใหญ่กว่า zk-SNARK แม้ว่าพวกมันจะยังคงมีขนาดเล็กเมื่อเทียบกับการพิสูจน์ที่ไม่ได้บีบอัด โครงการเช่น StarkNet และ StarkEx ใช้ zk-STARK เพื่อปรับขนาด Ethereum
การนำ ZK Proof ไปใช้เพื่อความเป็นส่วนตัว
ความเป็นส่วนตัวคือหนึ่งในการใช้งานพื้นฐานที่สุดของ Zero-Knowledge Proof ในบ่อเกิด ในระบบสกุลเงินดิจิทัลทั่วไป เช่น Bitcoin ธุรกรรมทั้งหมดเป็นสาธารณะและสามารถติดตามย้อนกลับไปยังบัญชีได้ ซึ่งไม่มีความเป็นส่วนตัว ZK Proof ช่วยแก้ปัญหานี้ได้
Zcash เป็นสกุลเงิน Cryptocurrency ที่มีชื่อเสียงซึ่งใช้ zk-SNARK ในการจัดการ "Shielded Transactions" เมื่อผู้ใช้ทำการทำธุรกรรม Shielded เพวกเขาสามารถพิสูจน์ว่าพวกเขามีเหรียญที่เพียงพอและว่ากุญแจส่วนตัวของพวกเขาถูกต้อง ไม่ต้องเปิดเผยข้อมูลส่วนบุคคลใด ๆ เลย บล็อกเชนของพวกเขาบันทึกธุรกรรมหลายพันบาท แต่เวลาใดที่ธุรกรรมบางอย่างใช้การป้องกัน ลำดับ ผู้ส่ง ผู้รับ และจำนวนเงินจะซ่อนอยู่
Monero เป็นสกุลเงิน Cryptocurrency อีกอันหนึ่งที่เน้นความเป็นส่วนตัว แม้ว่าวิธีการของมันต่างจาก Zcash (ใช้ Ring Signatures และ Stealth Addresses) มันก็ยังคงบ้านเรือนการใช้เครื่องมือเข้ารหัส เช่น Pedersen Commitments เพื่อซ่อนจำนวนเงินภายใน ZK Proof ช่วยให้สามารถสร้างระบบสกุลเงินที่ยังคงการตรวจสอบได้โดยโหนดแต่ยังคงซ่อนรายละเอียดธุรกรรมจากผู้สังเกตการณ์โปรแกรมภายนอก
การนำ ZK Proof ไปใช้เพื่อการยืดขยาย (Scaling)
การยืดขยายเป็นความท้าทายหลักสำหรับบล็อกเชนเช่น Ethereum ธุรกรรมต้องได้รับการตรวจสอบและสกัดกั้นโดยทุกโหนดในเครือข่าย ซึ่งจำกัดจำนวนธุรกรรมที่สามารถประมวลผลได้ต่อวินาที ZK Proof นำเสนอวิธีแก้ปัญหา
แนวคิดของการหักอัตรา ZK (ZK Rollups) คือการรวบรวมธุรกรรมจำนวนมากออกจากบล็อกเชนหลัก ประมวลผลเอง และจากนั้นสร้าง ZK Proof ที่แสดงว่าธุรกรรมทั้งหมดเป็นไปตามกฎของระบบ พิสูจน์นี้จะลงส่วนหลัก แต่คำกล่าวของธุรกรรมหลายพันรายการสามารถรับการสังเกตการณ์เป็นพิสูจน์เดียว
สิ่งนี้ลดการคำนวณที่โหนดหลักต้องทำ ทำให้สามารถประมวลผลธุรกรรมมากขึ้นได้ StarkNet และ zkSync เป็นตัวอย่างของการหักอัตรา ZK ที่พยายามปรับขนาด Ethereum StarkNet ใช้ zk-STARK ในขณะที่ zkSync สนับสนุนทั้ง zk-SNARK และ zk-STARK ขึ้นอยู่กับวูปสำเร็จรูป
ข้อดีของ ZK Rollups คือ ทั้งความปลอดภัยของมูลเชื่อของพวกเขายังคงติดอยู่กับบล็อกเชนที่สถาปัตยกรรมชื่อเสียง อย่างไรก็ตาม แนวคิดก็มีข้อเสีย รวมถึงความซับซ้อนทางเทคนิคที่เพิ่มขึ้นและผู้ใช้ที่ปลายสุดต้องถือการแยกจากเมน-เชน ความล่าช้า
ZK Proof ในโลกจริง - โครงการและการใช้งาน
| โครงการ | ประเภท ZK Proof | การใช้งาน | ขั้นตอน |
|---|---|---|---|
| Zcash | zk-SNARK | ความเป็นส่วนตัวของธุรกรรม | บ่อนเพิ่งแล้ว (2016-ปัจจุบัน) |
| StarkNet | zk-STARK | Layer 2 Scaling สำหรับ Ethereum | Testnet/Mainnet Alpha (2021-ปัจจุบัน) |
| zkSync | zk-SNARK/STARK | Layer 2 Scaling สำหรับ Ethereum | Mainnet (2020-ปัจจุบัน) |
| Polygon Hermez | zk-SNARK | Layer 2 Scaling สำหรับ Polygon | Mainnet (2021-ปัจจุบัน) |
Zcash เป็นหนึ่งในโครงการก่อแนวในการใช้ zk-SNARK ในสกุลเงิน Cryptocurrency ที่ประกาศตัวตนในปี 2016 มันให้ผู้ใช้เลือกความเป็นส่วนตัวโดยใช้ที่อยู่ "Shielded" ที่ซ่อนรายละเอียดธุรกรรม ตั้งแต่นั้นมา รูปแบบของเทคนิคนี้ได้รับการนำไปใช้ในระบบบล็อกเชนอื่น ๆ มากมาย
ในแง่ของการยืดขยาย StarkNet และ zkSync ได้ดึงดูดความสนใจมาก ทั้งแพลตฟอร์มเหล่านี้ใช้ ZK Rollups เพื่อประมวลผลธุรกรรม Ethereum หลายพันรายการต่อวินาที ในขณะที่ Ethereum mainnet ประมวลผลได้เพียงหลายสิบรายการต่อวินาที บริษัท StarkWare ได้มุ่งความพยายามไปยัง StarkEx ซึ่งเป็นระบบเสมือนที่สำหรับแพลตฟอร์มการซื้อขาย Crypto ที่มีสัญญาอนาคตและสินค้าอุตสาหกรรมรัฐ
นอกจากนี้ยังมีการศึกษาวิจัยจำนวนมากเกี่ยวกับการใช้ ZK Proof ในการตรวจสอบเหล่าอื่น ๆ เช่นยาและสถาปัตยกรรม ความล่าเชื่อและการเลือกตั้งสาธารณะ ศักยภาพของการประยุกต์นอกบ่อเกิดนั้นมหาศาล
ข้อดีของ Zero-Knowledge Proof
ZK Proof มีข้อดีที่สำคัญหลายประการ ประการแรก ความเป็นส่วนตัว: ผู้ใช้สามารถพิสูจน์ความเป็นจริงของคำสั่งโดยไม่เปิดเผยข้อมูลส่วนบุคคลที่ไม่จำเป็น บางครั้งนี้มีคุณค่ามหาศาลในแอปพลิเคชันเช่นการธนาคารและการจัดการสุขภาพอนามัย
ข้อดีที่สองคือการยืดขยาย ด้วยการประมวลผลธุรกรรมจำนวนมาก "นอกการทำ" และจากนั้นการตัดสินใจเพียงพิสูจน์เดียวให้กับบล็อกเชน ระบบสามารถความเร็วมากพึ่งอย่างท้องนอนลงยังบ้าน ZK Rollups ได้แสดงให้เห็นว่าเป็นไปได้ที่จะประมวลผลธุรกรรมสิบกว่าครั้ง มากกว่าบล็อกเชนดั้งเดิม
ข้อดีที่สามคือ ความปลอดภัย ระบบที่พัฒนาขึ้นด้วย ZK Proof นั้นได้รับความปลอดภัยจากคณิตศาสตร์และเข้ารหัส ไม่ได้อาศัยความเชื่อหรือบุคคลหลักกลาง ถ้าหาก Prover จะหลอก Verifier ได้ คณิตศาสตร์จึงต้องพัฒนาอย่างใหม่ ซึ่งเป็นไปไม่ได้ในทางปฏิบัติ
ข้อดีที่สี่คือความเข้ากันได้ ZK Proof สามารถสร้างขึ้นด้านบนของระบบบล็อกเชนที่มีอยู่เพื่อ "อัพเกรด" ของ พวกมัน Ethereum ตัวอย่างเช่น ได้รับความอนุคุณจาก zkSync และ StarkNet ซึ่งจะให้การยืดขยายด้านบน
ความท้าทายและข้อจำกัดของ ZK Proof
แม้จะมีข้อดีมากมาย ZK Proof ก็มีข้อจำกัด ประการแรก ความท้าทายด้านเทคนิค การสร้าง ZK Proof นั้นตัวใจได้ รหัสที่ถูกใช้นั้นอาจมีข้อบกพร่อง ข้อบกพร่องเพียงเล็กน้อยในการออกแบบคณิตศาสตร์สามารถได้ระบบที่ปลอดภัยน้อยลง ปัญหานี้ได้ถูกมองเห็นในการทำให้ใหม่หลาย
ประการที่สอง zk-SNARK ต้องการการตั้งค่าที่เชื่อถือได้ "Trusted Setup" นี้เป็นจุดอ่อนศักยภาพ ถ้าหากบุคคลที่มีการเข้าถึงพารามิเตอร์นั้นบุคคลหนึ่ง จะสามารถสร้างพิสูจน์ที่เป็นเท็จ ในขณะที่สามารถปลดข้อจำกัดนี้ได้ (เช่นหากใครบางคนดำเนินการผ่านพระการชำระด้วยมัลติพาร์ตี้) มันทำให้ระบบแพร่หลายมากขึ้น และต้องการ "Ceremony" เพิ่มเติมการเสียสละพารามิเตอร์ด้วยสาย
ประการที่สามคือ ขนาด พิสูจน์ของ zk-STARK นั้นใหญ่กว่า zk-SNARK มาก ความหลากหลายมากขึ้นนี้สามารถทำให้ข้อมูลอัพโหลดให้บ่อเกิดมีความเสี่ยง ถ้า ZK Rollups ใช้พิสูจน์ขนาดใหญ่ ค่าของพวกเขาอาจสูงขึ้น เนื่องจากขนาดลง
ประการที่สี่คือ ความสำคัญ ZK Proof ยังคงเป็นเทคนิคที่ยังต้องศึกษาวิจัย บ้านเรือนการใช้กรณีจำนวนมาก ที่มีข้อเสีย ไม่พบจนกว่ากลุ่มผู้เชี่ยวชาญได้บันทึกอย่างถาวร
อนาคตของ Zero-Knowledge Proof
อนาคตของ ZK Proof นั้นสดใส นักวิจัยกำลังหากำลังสำรวจวิธีการออกแบบใหม่ที่ใหญ่ของข้อจำกัด เช่น `Lookup Arguments` ซึ่งสามารถสร้างได้ ZK Proof ที่ทรงพลังมากขึ้นด้วยทั่วไปทั่วฐาน
นอกจากนี้ การวิจัยในกรอบ recursive ZK Proof อย่างไรก็ตาม Prover สามารถสร้างพิสูจน์ว่าพระคำอธิบายนั้นถูกต้อง นี้จะอนุญาตให้ ZK Rollups เพิ่มเติมเพื่อยืดขยายต่อไปอีก นอกจากนี้ยังอยู่ในระบบการสืบค้นรายได้ของการบิณฑ์สูง
การนำไปใช้นอกบ่อเกิด ก็มีศักยภาพขยายใหญ่มากยังไง ZK Proof อาจจะช่วยให้การพิสูจน์ถึงการศึกษากว่าของอำนาจของว่างตั้งระบบไม่ต้องเปิดเผยข้อมูลส่วนบุคคลสำหรับการข้อมูลของสัตเสบีให้หมดไป ก็สามารถปรับปรุงหมวดหมู่ต่างๆจากการเมืองเพื่อการค้นบันการความปลอดภัยสำหรับ ใช่ เทคโนโลยีนี้มีศักยภาพต่อระบบมาขึ้นครั้งใหญ่เพิ่มเติม
คำถามที่พบบ่อย
ติดตามข่าว Crypto ล่าสุด
รับบทวิเคราะห์และข่าวสาร Bitcoin, Altcoins ทุกวันจาก 678.in.th
ดูบทความทั้งหมดสรุป
Zero-Knowledge Proof เป็นเทคนิคทางคณิตศาสตร์ที่อันตรายสำหรับระบบบ่อเกิดในอนาคต โดยให้ความสามารถในการพิสูจน์ความเป็นจริงของคำสั่งโดยไม่เปิดเผยข้อมูลส่วนบุคคล ไม่ว่าจะผ่านความเป็นส่วนตัว (Zcash), การยืดขยาย (StarkNet, zkSync) หรือการใช้งานอื่น ๆ ZK Proof เปิดโลกใหม่สำหรับสิ่งที่ขึ้นอยู่กับความเป็นส่วนตัวและการปลอดภัย ในขณะที่เทคนิคนี้ยังคงมีความท้าทาย เช่นความซับซ้อนทางเทคนิค ความต้องการการตั้งค่าที่เชื่อถือได้ และขนาดพิสูจน์ แต่การศึกษาวิจัยและการพัฒนาอย่างต่อเนื่องได้ช่วยแก้ปัญหาเหล่านี้ ด้วยการพัฒนา Recursive Proofs, Lookup Arguments และการปรับปรุง Proof Systems ที่ใหม่ ซอฟต์แวร์จะยิ่งใหญ่ขึ้นเรื่อย ๆ ขณะที่คุณเรียนรู้เพิ่มเติมเกี่ยวกับ Zero-Knowledge Proof จำไว้ว่าเทคนิคนี้ไม่เพียงแต่เป็นเรื่องของการเข้ารหัส แต่เรื่องของการสร้างระบบที่สามารถเชื่อถือได้โดยไม่ต้องเชื่อใจใครบางคน
บทความนี้มีวัตถุประสงค์เพื่อการศึกษาเท่านั้น ไม่ถือเป็นคำแนะนำทางการเงิน