“การเรียนรู้ ZoKrates: ชุดเครื่องมือความเป็นส่วนตัวของ Ethereum” — ตอนที่ 1
ความเป็นส่วนตัวและความปลอดภัยได้กลายเป็นปัญหาสำคัญยิ่งในยุคปัจจุบัน คู่มือนี้จะเป็นชุดบทความ3 บทความเพื่อให้คุณคุ้นเคยกับการเรียนรู้และการใช้ชุดเครื่องมือZokrates

หมายเหตุ : เพื่อให้ได้ประโยชน์สูงสุดจากบทความนี้ อย่าลังเลที่จะเรียกดูเนื้อหาและข้ามส่วนนี้ไปหากคุณคุ้นเคยกับเนื้อหาดังกล่าวแล้ว
ส่วนที่ 1 ของซีรีส์ Mastering ZoKrates จะประกอบด้วย:
- บทนำสู่ซีรีส์
- ภาพรวมของ zkSNARK และความสำคัญในแอปพลิเคชันการรักษาความเป็นส่วนตัว
- รู้เบื้องต้นเกี่ยวกับ ZoKrates และแรงจูงใจ
- ความเป็นมาและภาพรวมทางเทคนิคของ ZoKrates
ยินดีต้อนรับทุกท่าน เข้าสู่ซีรี่ส์เชิงลึกของ Mastering ZoKrates เราจะย้ายจาก 0 เป็น 1 ดังนั้นไม่ว่าคุณจะเป็นผู้ที่ชื่นชอบบล็อคเชนหรือเพียงแค่แมวขี้สงสัย ฉันเข้าใจคุณแล้ว
- ความเป็นส่วนตัวคือสิ่งใหม่ของคนผิวดำ:ในโลกปัจจุบัน เรากำลังแบ่งปันข้อมูล หรืออาจกล่าวได้ว่าการแบ่งปันข้อมูลมากเกินไป การเรียกคืนความเป็นส่วนตัวเป็นปัญหาหลัก และด้วยความช่วยเหลือจาก zkSNARKs และ ZoKrates เราจะกู้คืนข้อมูลดังกล่าว
- การเพิ่มเลเยอร์ที่มองไม่เห็น: zkSNARKs และ ZoKrates จะช่วยรวมการมองไม่เห็นในธุรกรรมและการโต้ตอบของเรากับ Ethereum Blockchain
- ความโปร่งใสใน Ethereum เป็นตำนาน: Public Blockchain ดูเหมือนหนังสือเปิด แต่บางครั้งเราจำเป็นต้องบันทึกข้อมูลส่วนตัวบางอย่าง ดังนั้น ด้วยการใช้ zkSNARKs และ ZoKrates เราจะทำให้ Ethereum Blockchain ปลอดภัยและเป็นส่วนตัวมากขึ้นกว่าเดิม
หากคุณต้องการย้อนกลับไปดูภาพรวมของ ZKP โปรดดูที่นี่
การพิสูจน์ด้วยความรู้เป็นศูนย์ — วิธีการรักษาความเป็นส่วนตัวzkSNARKs ผลกระทบ: ยกระดับความเป็นส่วนตัวบน Ethereum:
zkSNARKs (Zero-Knowledge Succinct Non-Interactive Arguments of Knowledge)มอบวิธีการที่น่าประทับใจในการตรวจสอบความถูกต้องของการคำนวณโดยไม่ต้องดำเนินการหรือเปิดเผยรายละเอียด เพื่อให้มั่นใจว่าคุณจะไม่รู้ด้วยซ้ำว่าดำเนินการอะไร
นี้มีสามคุณสมบัติหลัก:
- Zero-Knowledge:ผู้พิสูจน์สามารถแสดงการครอบครองข้อมูลเฉพาะโดยไม่ต้องเปิดเผยข้อมูลเอง เพื่อรับประกันความเป็นส่วนตัว
- ความรวบรัด:ขนาดหลักฐานค่อนข้างเล็กและกระบวนการตรวจสอบมีประสิทธิภาพทำให้นำไปปฏิบัติได้จริง
- ไม่โต้ตอบ:พิสูจน์ยืนยันได้โดยไม่ต้องมี ปฏิสัมพันธ์ระหว่างผู้พิสูจน์และผู้ตรวจสอบปรับปรุงกระบวนการ

- การเข้ารหัสเป็นโจทย์พหุนาม : กระบวนการเข้ารหัสการคำนวณเป็นสมการพหุนามเพื่อการตรวจสอบ
- ความรวบรัดโดยการสุ่มตัวอย่าง:การเลือกส่วนเล็ก ๆ แบบสุ่มเพื่อตรวจสอบ เพื่อลดเวลาและความพยายามที่จำเป็นสำหรับการตรวจสอบ
- การเข้ารหัส/การเข้ารหัสแบบโฮโมมอร์ฟิก : จัดการเนื้อหา (ดำเนินการคำนวณ) โดยไม่เห็นข้อมูลจริง
- Zero Knowledge : แสดงให้เห็นถึงการครอบครองข้อมูลเฉพาะโดยไม่เปิดเผยข้อมูลนั้น
- การเข้ารหัสเป็นโจทย์พหุนาม: การทำสูตรอาหาร
2. ความรวบรัดโดยการสุ่มตัวอย่าง: การตรวจสอบงานศิลปะ
สมมติว่าคุณต้องการตรวจสอบว่างานศิลปะขนาดใหญ่เป็นของแท้โดยไม่ต้องตรวจสอบทั้งชิ้น ความรวบรัดที่ได้จากการสุ่มตัวอย่างก็เหมือนกับการเลือกส่วนเล็ก ๆ ของงานศิลปะแบบสุ่มเพื่อตรวจสอบ วิธีการนี้ช่วยลดเวลาและความพยายามในการตรวจสอบได้อย่างมาก ในขณะที่ยังคงรักษาความเชื่อมั่นในความถูกต้องของงานศิลปะ
3. การเข้ารหัส/การเข้ารหัสแบบโฮโมมอร์ฟิก: การล็อกหีบสมบัติ
การเข้ารหัส / การเข้ารหัสแบบโฮโมมอร์ฟิกนั้นเหมือนกับการล็อคสิ่งของมีค่าไว้ในหีบสมบัติ ผู้พิสูจน์สามารถจัดการเนื้อหา (ทำการคำนวณ) โดยไม่เคยเห็นรายการจริง เช่นเดียวกับที่พวกเขาสามารถคำนวณค่าที่เข้ารหัสโดยไม่ทราบจุดประเมินลับ
4. Zero Knowledge: เคล็ดลับของนักมายากล
แง่มุมที่ไม่มีความรู้ของ zkSNARK นั้นคล้ายกับกลอุบายของนักมายากล นักมายากลโน้มน้าวผู้ชมว่าพวกเขาได้แสดงสิ่งที่ดูเหมือนจะเป็นไปไม่ได้โดยไม่เปิดเผยว่าทำได้อย่างไร ใน zkSNARKs ผู้พิสูจน์จะสร้างความสับสนให้กับค่าที่เข้ารหัสในขณะที่ยังคงอนุญาตให้ผู้ตรวจสอบความถูกต้องตรวจสอบความถูกต้อง โดยรักษาความเป็นส่วนตัวของข้อมูลพื้นฐาน
Ref: การอ้างอิงคำ อธิบายข้างต้นนำมาจากบทความ นี้ หากคุณต้องการเจาะลึกทางเทคนิค มากขึ้น โปรดดูเอกสารที่เชื่อมโยง
ขอบคุณคริสค่ะ
รู้เบื้องต้นเกี่ยวกับ ZoKrates และแรงจูงใจ:
ZoKrates นำเสนอโซลูชันที่ครอบคลุมสำหรับการผสานรวม zkSNARK เข้ากับแอปพลิเคชันกระจายอำนาจบน Ethereum (DApps) ชุดเครื่องมือนี้ทำให้กระบวนการทั้งหมดง่ายขึ้นในการใช้การคำนวณที่ตรวจสอบได้ใน DApp ของคุณ ตั้งแต่การกำหนดโปรแกรมของคุณในภาษาระดับสูงที่เป็นมิตรกับผู้ใช้ ไปจนถึงการสร้างและตรวจสอบหลักฐานการคำนวณภายใน Solidity ZoKrates ช่วยคุณได้
ให้ฉันแบ่งย่อหน้าข้างต้นสำหรับคุณ:
- ZoKrates เป็นเครื่องมือที่มีประโยชน์ในการเพิ่มความเป็นส่วนตัวให้กับ Ethereum DApps
- ทำให้การใช้คุณสมบัติความเป็นส่วนตัวเป็นเรื่องง่ายสำหรับนักพัฒนา
- ด้วย ZoKrates คุณสามารถ
: เขียนโปรแกรมของคุณด้วยภาษาอย่างง่าย (DSL)
ข. สร้างหลักฐานความเป็นส่วนตัวพิเศษ
ค. ตรวจสอบหลักฐานความเป็นส่วนตัวบน Ethereum blockchain - ZoKrates ทำให้ DApp ของคุณเป็นส่วนตัวและปลอดภัย ยิ่งขึ้น
แต่ทำไมเราต้องการสิ่งนี้ แรงจูงใจเบื้องหลังสิ่งนี้:
- เครือข่ายของ Ethereum ทำการคำนวณบนโหนดทั้งหมด ทำให้มีค่าใช้จ่ายสูง ความซับซ้อนจำกัด และความเป็นส่วนตัวต่ำ
- zkSNARKs มอบโซลูชันที่คุ้มค่ากว่าสำหรับการตรวจสอบการประมวลผลบนเชนโดยไม่ต้องเปิดเผยข้อมูลที่ละเอียดอ่อน แต่อาจทำได้ยาก
- ZoKrates เป็นกล่องเครื่องมือที่ช่วยให้การใช้งาน zkSNARKs ง่ายขึ้นโดยอนุญาตให้นักพัฒนาสร้างโปรแกรมนอกเชนและรวมเข้ากับ Ethereum blockchain ซึ่งเป็นการขยายศักยภาพของ DApps ของพวกเขา
- ด้วย ZoKrates นักพัฒนาสามารถใช้ภาษาการเขียนโปรแกรมระดับสูงเพื่อระบุการคำนวณ สร้างหลักฐานการคำนวณ และตรวจสอบความถูกต้องภายในภาษา Solidity smart contract
- สิ่งนี้จะเพิ่มความเป็นส่วนตัวและประสิทธิภาพของ DApps ในขณะที่ลดค่าใช้จ่ายและข้อจำกัดที่เกี่ยวข้องกับการคำนวณแบบออนเชน
มาเจาะลึกเบื้องหลังหรือประวัติของ ZoKrates กัน:
- ZoKrates ถูกสร้างขึ้นในปี 2018เป็นชุดเครื่องมือโอเพ่นซอร์สสำหรับ zkSNARKs บน Ethereum
- ได้รับการพัฒนาโดยJacob EberhardtและAlex Gluchowskiซึ่งเป็นปริญญาเอกทั้งคู่ นักศึกษาที่ TU Darmstadt
- ZoKrates ได้รับการอัปเดตหลายครั้งตั้งแต่เปิดตัว โดยมีการเพิ่มคุณสมบัติใหม่และแก้ไขจุดบกพร่อง
- ทีมพัฒนายังคงรักษาและปรับปรุง ZoKrates อย่างต่อเนื่อง โดยเวอร์ชันล่าสุดที่เสถียรคือเวอร์ชัน 0.8.7 ณ เดือนพฤษภาคม 2023
- ZoKrates ได้รับความนิยมในชุมชนนักพัฒนา Ethereum เนื่องจากเป็นวิธีที่ง่ายและเป็นมิตรกับผู้ใช้ในการติดตั้ง zkSNARK
- การใช้ ZoKrates นำไปสู่การสร้างความเป็นส่วนตัว หลายอย่าง - รักษา DApps
- ZoKrates เป็นกล่องเครื่องมือการเขียนโปรแกรมสำหรับการสร้างการพิสูจน์ความรู้เป็นศูนย์ (ZKP) โดยใช้โปรแกรมภาษาเฉพาะโดเมนระดับสูง (DSL) ที่รวบรวมไว้ในวงจร
- ZoKrates DSL คล้ายกับการเขียนโปรแกรม C และประกอบด้วยตัวแปร ลูป และข้อความแสดงเงื่อนไข
- ZoKrates ใช้ libsnark ซึ่งเป็นไลบรารี C++ zkSNARKs สำหรับสร้างการพิสูจน์และคีย์การยืนยัน
- ZoKrates รองรับการเข้ารหัสเส้นโค้งวงรี เลขคณิตโมดูลาร์ ฟังก์ชันแฮชและการดำเนินการเข้ารหัสอื่น ๆ
- ZoKrates ใช้ ระบบพิสูจน์ Groth16เพื่อการสร้างและตรวจสอบ ZKP ที่รวดเร็วและมีประสิทธิภาพ
- ZoKrates สามารถรวมเข้ากับ Solidity เพื่อการรักษาความเป็นส่วนตัวในการพัฒนาสัญญาอัจฉริยะบน Ethereum blockchain
- ZoKrates ได้รับอนุญาตภายใต้ MIT และเป็นโครงการโอเพ่นซอร์สที่เปิดรับการสนับสนุนจากชุมชน
ดังนั้น ในส่วนนี้ เราได้เริ่มต้นการเดินทางกับZoKratesและzkSNARKs ในส่วนถัดไป เราจะเจาะลึกถึงคุณสมบัติและองค์ประกอบหลัก: คอมไพเลอร์ ไลบรารี และเครื่องมือ นอกจากนี้ เรียนรู้วิธีเขียนโค้ดและ AZ ของการปรับใช้

โปรดแจ้งให้เราทราบหากคุณมีข้อสงสัยใดๆ และจะยินดีเป็นอย่างยิ่งหากคุณสามารถแบ่งปันข้อมูลเพิ่มเติมกับฉันได้ มีความสุขเสมอที่จะเรียนรู้เพิ่มเติม ดังนั้นมาเชื่อมต่อและสำรวจด้วยกัน
Twitter , Lens , Farcaster — @pranshurastogi,
Linkedin , Github , Youtube