คำเตือนความเสี่ยง: ระวังความเสี่ยงจากการระดมทุนที่ผิดกฎหมายในนาม 'สกุลเงินเสมือน' 'บล็อกเชน' — จากห้าหน่วยงานรวมถึงคณะกรรมการกำกับดูแลการธนาคารและการประกันภัย
ข่าวสาร
ค้นพบ
ค้นหา
เข้าสู่ระบบ
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt
BTC
ETH
HTX
SOL
BNB
ดูตลาด
การตีความเชิงลึกของ HashKey Capital เกี่ยวกับ ZK (1): หลักการทางประวัติศาสตร์และอุตสาหกรรม
HashKey Hub
特邀专栏作者
2022-08-10 10:44
บทความนี้มีประมาณ 5198 คำ การอ่านทั้งหมดใช้เวลาประมาณ 8 นาที
จัดเรียงการเปลี่ยนแปลงบางอย่างในทฤษฎี ZKP และระดับแอปพลิเคชันตั้งแต่เริ่มต้น

ที่มา: HashKey Capital

ชื่อระดับแรก

1. ประวัติของการพิสูจน์ความรู้เป็นศูนย์

ระบบพิสูจน์ความรู้เป็นศูนย์ที่ทันสมัยมีต้นกำเนิดมาจากเอกสารที่ตีพิมพ์ร่วมกันโดย Goldwasser, Micali และ Rackoff: The Knowledge Complexity of Interactive Proof Systems (GMR85) ซึ่งเสนอในปี 1985 และเผยแพร่ในปี 1989 เอกสารนี้ส่วนใหญ่อธิบายถึงจำนวนความรู้ที่ต้องแลกเปลี่ยนหลังจากการโต้ตอบรอบ K ในระบบโต้ตอบเพื่อพิสูจน์ว่าข้อความนั้นถูกต้อง หากความรู้ที่แลกเปลี่ยนเป็นศูนย์ได้ จะเรียกว่าการพิสูจน์ความรู้เป็นศูนย์ สันนิษฐานว่าผู้พิสูจน์ (prover) มีทรัพยากรไม่จำกัด ในขณะที่ผู้ตรวจสอบ (verifer) มีทรัพยากรจำกัดเท่านั้น ปัญหาของระบบโต้ตอบคือ การพิสูจน์ไม่สามารถพิสูจน์ได้ทางคณิตศาสตร์ทั้งหมด แต่ถูกต้องตามความน่าจะเป็น แม้ว่าความน่าจะเป็นจะน้อย (1/2^n)

ดังนั้น ระบบอินเทอร์แอกทีฟจึงไม่สมบูรณ์แบบแต่จะสมบูรณ์โดยประมาณเท่านั้น ระบบ non-interactive system (NP) ที่เกิดบนพื้นฐานนี้เสร็จสมบูรณ์แล้วและกลายเป็นตัวเลือกที่สมบูรณ์แบบสำหรับระบบพิสูจน์ความรู้ที่ไม่มีศูนย์

ระบบพิสูจน์ความรู้เป็นศูนย์ในช่วงปีแรก ๆ ยังขาดประสิทธิภาพและการใช้งาน ดังนั้น มันจึงยังคงอยู่ในระดับทฤษฎีเสมอมา มันยังไม่เริ่มเฟื่องฟูจนกระทั่งช่วง 10 ปีที่ผ่านมา ด้วยวิทยาการเข้ารหัสลับที่มีความโดดเด่นในการเข้ารหัสลับ การพิสูจน์ความรู้ที่ไม่มีความรู้เป็นศูนย์ มาเป็นแนวหน้าและกลายเป็นทิศทางที่สำคัญมาก โดยเฉพาะอย่างยิ่ง การพัฒนาโพรโทคอลการพิสูจน์ความรู้ที่ไม่มีความรู้เพื่อจุดประสงค์ทั่วไป ไม่โต้ตอบ และจำกัดขนาดการพิสูจน์ เป็นหนึ่งในทิศทางที่สำคัญที่สุดของการสำรวจ

โดยพื้นฐานแล้ว การพิสูจน์ที่ไม่มีความรู้เป็นศูนย์คือการแลกเปลี่ยนระหว่างความเร็วของการพิสูจน์ ความเร็วในการตรวจสอบ และขนาดของปริมาณการพิสูจน์ โปรโตคอลในอุดมคติคือการพิสูจน์ที่รวดเร็ว การตรวจสอบที่รวดเร็ว และปริมาณการพิสูจน์ที่น้อย

ความก้าวหน้าที่สำคัญที่สุดในการพิสูจน์ว่าไม่มีความรู้เป็นศูนย์คือบทความ Short Pairing-based Non-interactive Zero-Knowledge Arguments ประจำปี 2010 ของ Groth ซึ่งเป็นผู้บุกเบิกทางทฤษฎีของกลุ่ม zk-SNARK ที่สำคัญที่สุดใน ZKP

ความก้าวหน้าที่สำคัญที่สุดในการประยุกต์ใช้การพิสูจน์ความรู้เป็นศูนย์คือระบบพิสูจน์ความรู้เป็นศูนย์ซึ่งใช้โดย Z-cash ในปี 2558 ซึ่งตระหนักถึงการปกป้องการทำธุรกรรมและความเป็นส่วนตัวของจำนวนเงิน ต่อมา ได้พัฒนาเป็นการผสมผสานระหว่าง zk-SNARK และสมาร์ท สัญญา และ zk-SNARK เข้าสู่สถานการณ์การใช้งานที่กว้างขึ้น

ผลสัมฤทธิ์ทางการเรียนที่สำคัญบางประการในช่วงเวลานี้ ได้แก่ :

Pinocchio (PGHR13) ในปี 2013: Pinocchio: Nearly Practical Verifiable Computation ซึ่งบีบอัดเวลาการพิสูจน์และการตรวจสอบให้อยู่ในขอบเขตที่เกี่ยวข้อง และเป็นโปรโตคอลพื้นฐานที่ Zcash ใช้

Groth16: เกี่ยวกับขนาดของอาร์กิวเมนต์ที่ไม่มีการโต้ตอบตามการจับคู่ในปี 2559 ซึ่งช่วยลดขนาดของการพิสูจน์และปรับปรุงประสิทธิภาพการตรวจสอบ ปัจจุบันเป็นอัลกอริทึมพื้นฐาน ZK ที่ใช้กันอย่างแพร่หลายที่สุด

Bulletproofs (BBBPWM17) Bulletproofs: Short Proofs for Confidential Transactions and More ในปี 2560 ได้เสนออัลกอริทึม Bulletproof ซึ่งเป็นการพิสูจน์ความรู้แบบ Zero-Knowledge ที่สั้นมากซึ่งไม่ต้องการการตั้งค่าที่เชื่อถือได้ และจะนำไปใช้กับ Monero หลังจาก 6 เดือน ซึ่งก็คือ การเชื่อมโยงทฤษฎีสู่การประยุกต์ใช้อย่างรวดเร็วมาก

ในปี 2018 zk-STARKs (BBHR18) Scalable, Transparent, and post-quantum Secure Computational Integrity ได้เสนอโปรโตคอลอัลกอริทึม ZK-STARK ที่ไม่ต้องการการตั้งค่าที่เชื่อถือได้ นี่เป็นอีกหนึ่งแนวทางที่สะดุดตาสำหรับการพัฒนา ZK จากสิ่งนี้ StarkWare กำเนิดโครงการ ZK ที่สำคัญที่สุด

ชื่อระดับแรก

2. บทนำสั้น ๆ เกี่ยวกับการประยุกต์ใช้การพิสูจน์ความรู้เป็นศูนย์

แอปพลิเคชั่นการพิสูจน์ความรู้เป็นศูนย์ที่ใช้กันอย่างแพร่หลายมากที่สุดสองรายการคือการปกป้องความเป็นส่วนตัวและการขยายขีดความสามารถ ในช่วงแรก ๆ ด้วยการเปิดตัวการทำธุรกรรมส่วนตัวและโครงการที่มีชื่อเสียงหลายโครงการ เช่น Zcash และ Monero การทำธุรกรรมส่วนตัวครั้งหนึ่งได้กลายเป็นหมวดหมู่ที่สำคัญมาก อย่างไรก็ตาม เนื่องจากความจำเป็นในการทำธุรกรรมส่วนตัวไม่โดดเด่นอย่างที่อุตสาหกรรมคาดหวังไว้ ประเภทของโครงการตัวแทนเริ่มช้าลง ค่อยๆ เข้าสู่ค่ายของชั้นสองและสาม (ไม่ออกจากเวทีประวัติศาสตร์) ในระดับแอปพลิเคชันความจำเป็นในการขยายความจุได้เพิ่มขึ้นถึงขีด จำกัด เนื่องจาก Ethereum 2.0 (ซึ่งถูกเปลี่ยนชื่อเป็นชั้นฉันทามติ) เปลี่ยนเป็นเส้นทางที่เน้นการควบรวมศูนย์ในปี 2020 ซีรีส์ ZK ได้กลับมาสู่ความสนใจของอุตสาหกรรมอย่างเป็นทางการอีกครั้งและ ได้กลายเป็นจุดสนใจ

ธุรกรรมส่วนตัว: มีหลายโครงการที่ใช้ธุรกรรมส่วนตัว รวมถึง Zcash ที่ใช้ SNARK, Tornado, Monero ที่ใช้กระสุน และ Dash พูดตามตรง Dash ไม่ได้ใช้ ZKP แต่เป็นระบบผสมสกุลเงินที่เรียบง่ายและหยาบ ซึ่งสามารถซ่อนได้เฉพาะที่อยู่แต่ไม่สามารถซ่อนจำนวนเงินได้ ซึ่งจะถูกข้ามไปที่นี่

คำอธิบายภาพ

Source: Demystifying the Role of zk-SNARKs in Zcash

  • ในขั้นตอนการตั้งค่าระบบ จะมีการสร้างรหัสพิสูจน์ (พหุนามพิสูจน์การเข้ารหัส) และรหัสการตรวจสอบด้วยความช่วยเหลือของฟังก์ชัน KeyGen

  • วิธีการเข้ารหัส ECIES (Elliptic Curve Integrated Encryption Scheme) ในขั้นตอน CPA ใช้เพื่อสร้างคีย์สาธารณะและคีย์ส่วนตัว

  • ในช่วง MintingCoins จำนวนเหรียญใหม่ที่สร้างขึ้น ความมุ่งมั่นของที่อยู่สาธารณะและเหรียญ

  • ในขั้นตอนการเท จะมีการสร้างหลักฐาน zk-SNARK และหลักฐานจะถูกเพิ่มลงในสมุดธุรกรรมการส่ง

  • ในขั้นตอนการยืนยัน ผู้ตรวจสอบจะตรวจสอบว่าปริมาณธุรกรรมของ Mint และ Pour ถูกต้องหรือไม่

  • ในขั้นตอนการรับผู้รับจะได้รับเหรียญ หากคุณต้องการใช้เหรียญที่ได้รับ ให้เรียกการเทอีกครั้งเพื่อยืนยัน zk-SNARK ทำซ้ำขั้นตอนที่ 4-6 ด้านบนเพื่อทำธุรกรรมให้เสร็จสมบูรณ์

Zcash ยังคงมีข้อจำกัดในการใช้ความรู้เป็นศูนย์ กล่าวคือ เป็นข้อมูลที่ใช้ UTXO ดังนั้นข้อมูลธุรกรรมบางอย่างจึงได้รับการป้องกันเท่านั้น ไม่ได้ปกปิดอย่างแท้จริง ปรับขนาดได้ยาก (รวมกับแอปพลิเคชันอื่นๆ) เนื่องจากเครือข่ายแยกต่างหากตามการออกแบบของ Bitcoin อัตราการใช้การป้องกัน (นั่นคือธุรกรรมส่วนตัว) น้อยกว่า 10% ซึ่งบ่งชี้ว่าธุรกรรมส่วนตัวยังไม่ขยายสำเร็จ (จาก 2202)

พูลผสมขนาดใหญ่เดี่ยวที่ใช้โดย Tornado นั้นกว้างกว่าและอิงตามเครือข่ายที่ "พิสูจน์แล้ว" เช่น Ethereum Torndao เป็นหลักในการผสมสกุลเงินโดยใช้ zk-SNARK และการตั้งค่าที่เชื่อถือได้นั้นอ้างอิงจากกระดาษ Groth 16 คุณสมบัติที่ Tornado Cash สามารถให้ได้ ได้แก่:

  • สามารถถอนได้เฉพาะเหรียญที่ฝากเท่านั้น

  • ไม่สามารถถอนเหรียญได้สองครั้ง

  • กระบวนการรับรองจะผูกพันกับการแจ้งเตือนการลบล้าง (Nullifier) ​​ของสกุลเงิน และแฮชที่มีใบรับรองเดียวกันแต่ Nullifiers ต่างกันจะไม่อนุญาตให้ถอน

  • ความปลอดภัยมีการรักษาความปลอดภัย 126 บิตและจะไม่ลดลงเนื่องจากองค์ประกอบ

Vitalik กล่าวว่าเมื่อเทียบกับการขยายความจุแล้วความเป็นส่วนตัวนั้นค่อนข้างง่ายที่จะบรรลุได้หากสามารถสร้างโปรโตคอลการขยายบางอย่างได้โดยทั่วไปแล้วความเป็นส่วนตัวจะไม่เป็นปัญหา

การขยายตัวของ ZK สามารถทำได้บนเครือข่ายชั้นที่ 1 เช่น Mina หรือสามารถทำได้บนเครือข่ายชั้นที่ 2 นั่นคือ zk-roll up แนวคิดของ ZK roll up เริ่มแรกอาจมาจาก โพสต์ของ Vitalik ในปี 2018 On-chain scaling เป็น ~500 tx/sec ผ่านการตรวจสอบ Mass tx

คำอธิบายภาพ

Source: Polygon

ข้อดีและข้อเสียของการยกเลิก ZK:

ข้อดี: ต้นทุนต่ำ ซึ่งแตกต่างจาก OP ที่จะถูกโจมตีโดยเศรษฐกิจ ไม่จำเป็นต้องชะลอการทำธุรกรรม สามารถปกป้องความเป็นส่วนตัว และบรรลุผลสำเร็จได้อย่างรวดเร็ว

คำอธิบายภาพ

ที่มา: การวิจัย Ethereum

คำอธิบายภาพ

Source: Starkware

โครงการ ZKrollup ที่มีการแข่งขันสูงที่สุดในปัจจุบัน ได้แก่: StarkNet ของ Starkware, zkSync ของ Matterlabs และ Aztec connect ของ Aztec, Hermez และ Miden ของ Polygon, Loopring, Scroll เป็นต้น

เส้นทางทางเทคนิคโดยทั่วไปอยู่ที่การเลือก SNARK (และเวอร์ชันปรับปรุง) และ STARK รวมถึงการสนับสนุน EVM (รวมถึงความเข้ากันได้หรือเทียบเท่า)

  • Aztec ได้พัฒนาโปรโตคอล SNARK ทั่วไป - โปรโตคอล Plonk Aztec3 ที่ใช้งานอยู่อาจรองรับ EVM แต่ความเป็นส่วนตัวมาก่อนความเข้ากันได้ของ EVM

  • Starnet ใช้ zk-STARK ซึ่งเป็น zkp ที่ไม่ต้องการการตั้งค่าที่เชื่อถือได้ แต่ปัจจุบันไม่รองรับ EVM และมีคอมไพเลอร์และภาษาการพัฒนาของตัวเอง

  • zkSync ยังใช้ plonk และรองรับ EVM zkSync 2.0 รองรับ EVM และมี zkEVM เป็นของตัวเอง

  • Scroll ซึ่งเป็นการรวม ZK ที่เข้ากันได้กับ EVM ทีมงานยังเป็นผู้สนับสนุนที่สำคัญในโครงการ zkEVM ของมูลนิธิ Ethereum

หารือเกี่ยวกับปัญหาความเข้ากันได้ของ EVM โดยย่อ:

ชื่อระดับแรก

3. หลักการพื้นฐานของการใช้งาน ZK SNARK

Goldwasser, Micali และ Rackoff เสนอว่าการพิสูจน์ความรู้เป็นศูนย์มีคุณสมบัติสามประการ:

  • ความสมบูรณ์: ทุกคำแถลงที่มีพยานที่สมเหตุสมผลสามารถตรวจสอบได้โดยผู้ตรวจสอบ

  • ความสมบูรณ์: ทุกคำกล่าวที่มีแต่พยานที่ไม่สมเหตุสมผลไม่ควรถูกตรวจสอบโดยผู้ตรวจสอบ

  • ไม่มีความรู้: กระบวนการตรวจสอบไม่มีความรู้

ดังนั้นเพื่อให้เข้าใจ ZKP เราจะเริ่มต้นด้วย zk-SNARK เนื่องจากแอปพลิเคชันบล็อกเชนในปัจจุบันจำนวนมากเริ่มต้นด้วย SNARK ก่อนอื่น เรามาดู zk-SNARK กันก่อน

zk-SNARK หมายถึง: zero-knowledge proof (zh-SNARK) คือ zero-knowledge Succint Non-interactive ARguments of Knowledge

ความรู้เป็นศูนย์: กระบวนการพิสูจน์เป็นศูนย์ความรู้และจะไม่เปิดเผยข้อมูลที่ซ้ำซ้อน

รวบรัด: ขนาดการตรวจสอบขนาดเล็ก

ไม่โต้ตอบ: กระบวนการไม่โต้ตอบ

อาร์กิวเมนต์: การคำนวณมีความน่าเชื่อถือ กล่าวคือ ผู้รับรองที่มีอำนาจในการคำนวณจำกัดไม่สามารถปลอมแปลงการพิสูจน์ได้ และผู้รับรองที่มีกำลังในการคำนวณไม่จำกัดสามารถปลอมแปลงการพิสูจน์ได้

ความรู้: ผู้พิสูจน์ไม่สามารถสร้างพารามิเตอร์และการพิสูจน์โดยไม่ทราบข้อมูลที่ถูกต้อง

สำหรับผู้พิสูจน์ เป็นไปไม่ได้ที่จะสร้างชุดของพารามิเตอร์และการพิสูจน์โดยไม่ทราบหลักฐาน (พยาน เช่น การป้อนข้อมูลของฟังก์ชันแฮชหรือเส้นทางเพื่อกำหนดโหนด Merkle-tree) "

คำอธิบายภาพ

Source: https://learnblockchain.cn/article/3220

ขั้นตอนคือ:

1. แปลงปัญหาเป็นวงจร

2. แผ่วงจรเป็นรูป R1CS

3. แปลงรูปแบบ R1CS เป็น QAP (Quadratic Arithmetic Programs)

4. สร้างการตั้งค่าที่เชื่อถือได้ สร้างพารามิเตอร์แบบสุ่ม รวมถึง PK (คีย์พิสูจน์) VK (คีย์การตรวจสอบ)

5. การสร้างหลักฐานและการตรวจสอบ zk-SNARK

ในบทความหน้า เราจะเริ่มศึกษาหลักการและการประยุกต์ใช้ zk-SNARK ใช้หลายๆ กรณีเพื่อดูพัฒนาการของ ZK-SNARK และสำรวจความสัมพันธ์กับ zk-STARK

Reference:

https://ethresear.ch/t/on-chain-scaling-to-potentially-500-tx-sec-through-mass-tx-validation/3477

https://blog.polygon.technology/zkverse-why-zero-knowledge-rollups-need-a-new-consensus-mechanism/

https://blog.decentriq.com/zk-snarks-primer-part-one/

https://vitalik.ca/general/2021/01/26/snarks.html

https://z.cash/technology/zksnarks/

Hashkey Capital
ยินดีต้อนรับเข้าร่วมชุมชนทางการของ Odaily
กลุ่มสมาชิก
https://t.me/Odaily_News
กลุ่มสนทนา
https://t.me/Odaily_CryptoPunk
บัญชีทางการ
https://twitter.com/OdailyChina
กลุ่มสนทนา
https://t.me/Odaily_CryptoPunk
สรุปโดย AI
กลับไปด้านบน
จัดเรียงการเปลี่ยนแปลงบางอย่างในทฤษฎี ZKP และระดับแอปพลิเคชันตั้งแต่เริ่มต้น
ดาวน์โหลดแอพ Odaily พลาเน็ตเดลี่
ให้คนบางกลุ่มเข้าใจ Web3.0 ก่อน
IOS
Android