a16z: อภิปรายในรายละเอียดเกี่ยวกับความเป็นไปได้ของพิธีการตั้งที่เชื่อถือได้บนห่วงโซ่การก
การรวบรวมต้นฉบับ: Amber, Foresight News
การรวบรวมต้นฉบับ: Amber, Foresight News
แม้ว่า Trusted Setup Ceremony จะท้าทายชุมชน crypto อยู่เสมอ แต่ก็เป็นส่วนที่สร้างความตื่นเต้นให้กับชุมชน crypto มากที่สุด เป้าหมายของพิธีนี้คือการสร้างคีย์เข้ารหัสที่เชื่อถือได้ ซึ่งสามารถใช้เพื่อรักษาความปลอดภัยกระเป๋าเงินเข้ารหัส โปรโตคอลบล็อกเชน หรือระบบพิสูจน์ความรู้ที่ไม่มีความรู้ ขั้นตอนเหล่านี้เป็นรากฐานของความไว้วางใจในการรักษาความปลอดภัยของโครงการ ดังนั้นจึงเป็นเรื่องสำคัญที่จะต้องแน่ใจว่ามีการดำเนินงานที่ไร้ที่ติและดำเนินพิธีการตั้งค่าที่เชื่อถือได้
ในปัจจุบัน มีรูปแบบพิธีการที่น่าเชื่อถือสำหรับโครงการบล็อกเชนหลายรูปแบบ รวมถึงแต่ไม่จำกัดเพียงคบเพลิง ฝุ่นกัมมันตภาพรังสี และเครื่องบิน เป็นต้น และรูปแบบเหล่านี้มีสิ่งหนึ่งที่เหมือนกัน นั่นคือ ทั้งหมดต้องอาศัยการประสานงานจากส่วนกลาง อุปกรณ์. บทความนี้จะแสดงวิธีกระจายอำนาจกระบวนการโดยแทนที่ผู้ประสานงานส่วนกลางด้วยสัญญาอัจฉริยะ ในขณะเดียวกันเราจะเปิดซอร์สไลบรารีที่อนุญาตให้ทุกคนทำงานบน Ethereum KZG) หรือพิธีกรรม "powers-of-tau"
วิธีการกระจายอำนาจของเรามีข้อจำกัด แต่ก็ยังมีประโยชน์ เนื่องจากข้อจำกัดของข้อมูลบนเครือข่ายในปัจจุบัน ขนาดของพารามิเตอร์ที่เข้ารหัสจะต้องไม่เกิน 64 KB แต่ไม่มีการจำกัดจำนวนผู้เข้าร่วม และทุกคนสามารถมีส่วนร่วมได้ตลอดเวลา การประยุกต์ใช้พารามิเตอร์สั้นๆ เหล่านี้รวมถึง SNARK ที่ไม่มีความรู้ขนาดเล็ก การสุ่มตัวอย่างความพร้อมใช้งานของข้อมูล และต้นไม้ Verkle และอื่น ๆ
ประวัติและกลไกของพิธีกรรมการตั้งค่าที่น่าเชื่อถือ
ในพิธีการตั้งค่าที่เชื่อถือได้ กลุ่มผู้เข้าร่วมจะทำงานร่วมกันเพื่อสร้างชุดของพารามิเตอร์การเข้ารหัส แต่ละฝ่ายใช้ข้อมูลที่เข้ารหัสที่สร้างขึ้นในเครื่องเพื่อสร้างข้อมูลที่ช่วยสร้างพารามิเตอร์เหล่านี้ การตั้งค่าที่เหมาะสมสามารถรับประกันได้ว่าข้อมูลที่เข้ารหัสจะไม่รั่วไหล ข้อมูลที่เข้ารหัสสามารถใช้ได้ตามข้อตกลงเท่านั้น และข้อมูลเข้ารหัสเหล่านี้จะถูกทำลายอย่างสมบูรณ์เมื่อสิ้นสุดพิธี ตราบเท่าที่อย่างน้อยหนึ่งฝ่ายในพิธีซื่อสัตย์และทำลายข้อความที่เข้ารหัส (หลังพิธี) กระบวนการทั้งหมดจะถือว่าปลอดภัย (แน่นอนว่าหลักฐานคือรหัสไม่มีข้อผิดพลาด)
พิธีการที่โดดเด่นที่สุดบางส่วนเปิดตัวโดย Zcash โครงการบล็อกเชนที่เน้นความเป็นส่วนตัว ผู้เข้าร่วมในพิธีเหล่านี้สร้างพารามิเตอร์สาธารณะที่ออกแบบมาเพื่อให้ผู้ใช้ Zcash สามารถสร้างและตรวจสอบธุรกรรมส่วนตัวที่เข้ารหัสได้ ผู้เข้าร่วมหกคนเป็นเจ้าภาพพิธี Zcash Sprout ครั้งแรกในปี 2559 อีกสองปีต่อมา Ariel Gabizon นักวิจัยด้านการเข้ารหัสซึ่งปัจจุบันเป็นหัวหน้านักวิทยาศาสตร์ของ Aztec ได้ค้นพบข้อผิดพลาดร้ายแรงในการออกแบบพิธีกรรม ซึ่งสืบทอดมาจากงานวิจัยพื้นฐาน ช่องโหว่นี้อาจทำให้ผู้โจมตีสามารถสร้างเหรียญ Zcash ได้ไม่จำกัดโดยไม่ถูกตรวจพบ ทีมงาน Zcash เก็บข้อผิดพลาดไว้เป็นความลับเป็นเวลาเจ็ดเดือนจนกระทั่งการอัปเกรดระบบ Sapling ซึ่งมีผู้เข้าร่วมในพิธี 90 คนแก้ไขปัญหาได้ แม้ว่าการโจมตีตามการละเมิดความปลอดภัยจะไม่ส่งผลกระทบต่อความเป็นส่วนตัวของการทำธุรกรรมของผู้ใช้ แต่โอกาสในการปลอมแปลงที่ไม่สิ้นสุดจะบ่อนทำลายหลักฐานการรักษาความปลอดภัยของ Zcash (ตามทฤษฎีแล้ว เป็นไปไม่ได้ที่จะรู้ว่ามีการโจมตีเกิดขึ้นหรือไม่)
อีกตัวอย่างที่โดดเด่นของการตั้งค่าที่เชื่อถือได้คือพิธี "tau-power-of-tau" แบบถาวรซึ่งออกแบบมาสำหรับ Semaphore เป็นหลัก ซึ่งเป็นเทคโนโลยีการรักษาความเป็นส่วนตัวที่ใช้สำหรับการส่งสัญญาณแบบไม่ระบุตัวตนบน Ethereum การตั้งค่านี้ใช้เส้นโค้งวงรี BN254 และมีผู้เข้าร่วม 71 คน โครงการที่โดดเด่นอื่น ๆ ในภายหลังใช้การตั้งค่านี้เพื่อดำเนินพิธีการของตนเองซึ่งรวมถึง Tornado.Cash, เครือข่าย Hermez และ Loopring Aztec จัดพิธีที่คล้ายกันบนเส้นโค้งวงรี BLS12_381 โดยมีผู้เข้าร่วม 176 คนสำหรับ zkSync ซึ่งเป็นโซลูชันการปรับขนาด Ethereum "ชั้นสอง" ที่ใช้การสั่งสมความรู้เป็นศูนย์ Filecoin ซึ่งเป็นโปรโตคอลการจัดเก็บข้อมูลแบบกระจายศูนย์ ได้แยกที่เก็บดั้งเดิมในพิธีโดยมีผู้เข้าร่วม 19 และ 33 คนในระยะที่ 1 และ 2 ตามลำดับ Celo ซึ่งเป็น blockchain เลเยอร์ 1 ยังเป็นเจ้าภาพในพิธีสำหรับลูกค้าที่มีน้ำหนักเบาของพวกเขา Plumo
พิธีถาวรไม่จำกัดจำนวนผู้เข้าร่วม กล่าวอีกนัยหนึ่งคือ ทุกคนสามารถเข้าร่วมกับระดับความปลอดภัยใดก็ได้ แทนที่จะไว้วางใจให้ผู้อื่นดำเนินพิธีการตั้งค่าที่เชื่อถือได้ นักแสดงที่เชื่อถือได้รับประกันความปลอดภัยของพารามิเตอร์ผลลัพธ์ทั้งหมด สายโซ่นั้นแข็งแกร่งพอ ๆ กับลิงค์ที่แข็งแกร่งที่สุด ตามชื่อที่แนะนำ พิธีกรรมถาวรสามารถทำได้ตลอดไป เช่นเดียวกับหลักฐานของพิธีกรรมพลังเอกภาพดั้งเดิม ดังที่กล่าวไว้ว่า โครงการต่างๆ มักจะตัดสินใจเลือกเวลาเริ่มต้นและเวลาสิ้นสุดสำหรับพิธีที่เฉพาะเจาะจง เพื่อให้พวกเขาสามารถฝังพารามิเตอร์ที่สร้างขึ้นลงในโปรโตคอลโดยไม่ต้องกังวลเกี่ยวกับการอัปเดตอย่างต่อเนื่อง
Ethereum วางแผนที่จะจัดพิธีตั้งค่าที่เชื่อถือได้ขนาดเล็กลงสำหรับการอัปเกรด ProtoDankSharding และ DankSharding ที่กำลังจะมาถึง การอัปเกรดทั้งสองนี้จะเพิ่มจำนวนข้อมูลที่เครือข่าย Ethereum ให้บริการแก่ลูกค้าเพื่อการจัดเก็บ ข้อมูลนี้ใช้ได้สำหรับ 30 ถึง 60 วันที่แนะนำ พิธีนี้อยู่ในระหว่างการพัฒนาอย่างแข็งขันและมีกำหนดจัดขึ้นประมาณหกสัปดาห์ในต้นปีหน้า (ดูรายละเอียดเพิ่มเติมสำหรับพิธี kzg-ceremony) และกำลังสร้างเป็นพิธีการติดตั้ง blockchain ที่เชื่อถือได้ที่ใหญ่ที่สุดจนถึงปัจจุบัน
ความหวาดระแวงเป็น "คุณธรรม" โดยเฉพาะอย่างยิ่งเมื่อพูดถึงพิธีกรรมการตั้งค่าที่น่าเชื่อถือ หากฮาร์ดแวร์หรือซอฟต์แวร์ของเครื่องถูกบุกรุก ความปลอดภัยของข้อมูลลับที่สร้างขึ้นอาจถูกบุกรุกได้ การโจมตีช่องทางส่อเสียดที่เปิดเผยความลับก็ยากที่จะแยกแยะออกเช่นกัน ตัวอย่างเช่น โทรศัพท์มือถือสามารถตรวจสอบการทำงานของคอมพิวเตอร์โดยบันทึกคลื่นเสียงของการสั่นของ CPU ในทางปฏิบัติ เนื่องจากเป็นเรื่องยากมากที่จะกำจัดการโจมตีจากช่องทางด้านข้างที่เป็นไปได้ทั้งหมด รวมถึงการโจมตีที่ไม่ได้ถูกค้นพบหรือเปิดเผย จึงมีการเสนอให้ส่งเครื่องขึ้นสู่อวกาศเพื่อทำพิธีที่นั่น
ปัจจุบันสคริปต์สำหรับผู้เข้าร่วมพิธีกรรมที่เคร่งครัดมักจะปฏิบัติตาม ซื้อเครื่องใหม่ (ฮาร์ดแวร์ที่ไม่เสีย) การแยกความเสี่ยงโดยการถอดการ์ดเครือข่ายทั้งหมด (เพื่อป้องกันไม่ให้ความลับในเครื่องรั่วไหล) เรียกใช้เครื่องในสถานที่ห่างไกลที่ไม่เปิดเผยในกรงฟาราเดย์ (เพื่อป้องกันผู้แอบอ้าง) ตั้งค่าเอนโทรปีและข้อมูลสำเนาจำนวนมากสำหรับตัวสร้างข้อความที่เข้ารหัสแบบสุ่มหลอก เช่น อินพุตแบบสุ่มหรือเมล็ดของไฟล์วิดีโอ (เพื่อทำให้ข้อความที่เข้ารหัสยากต่อการถอดรหัส) ในที่สุด ข้อมูลที่เข้ารหัส - และร่องรอยใดๆ ของมัน - ถูกทำลายด้วยการเผาทุกอย่างให้เป็นเถ้าถ่าน
ประสานงานพิธีติดตั้งที่เชื่อถือได้
พิธีการตั้งค่าที่เชื่อถือได้ทั้งหมดต้องอาศัยผู้ประสานงานจากส่วนกลาง ผู้ประสานงานคือบุคคลหรือเซิร์ฟเวอร์ส่วนตัวหรือหน่วยงานอื่น ๆ ที่ได้รับความไว้วางใจให้ลงทะเบียนและสั่งซื้อผู้เข้าร่วม ทำหน้าที่เป็นผู้ถ่ายทอดโดยส่งต่อข้อมูลจากผู้เข้าร่วมก่อนหน้าไปยังคนถัดไป และเก็บบันทึกส่วนกลางของการสื่อสารทั้งหมดเพื่อวัตถุประสงค์ในการตรวจสอบ ผู้ประสานงานมักจะรับผิดชอบในการจัดเตรียมบันทึกให้กับสาธารณะอย่างถาวร แต่ต้องยอมรับว่าระบบรวมศูนย์ดังกล่าวมีแนวโน้มที่จะสูญเสียข้อมูลเนื่องจากการจัดการที่ไม่ดีหรือปัจจัยที่ไม่ใช่มนุษย์
แดกดันเมื่อการกระจายอำนาจเป็นหลักการสำคัญของ crypto ethos โครงการ crypto ต้องพึ่งพาพิธีกรรมการตั้งค่าที่เชื่อถือได้จากส่วนกลาง เราจึงตัดสินใจที่จะแสดงให้เห็นถึงความเป็นไปได้ในการจัดพิธีเล็กๆ การตั้งค่าเป็นแบบกระจายอำนาจโดยสมบูรณ์ ไม่มีการอนุญาต ป้องกันการเซ็นเซอร์ และปลอดภัย ตราบใดที่ผู้เข้าร่วมคนใดคนหนึ่งมีความซื่อสัตย์ ในราคาปัจจุบัน การเข้าร่วมพิธีมีค่าใช้จ่ายเพียง $7 ถึง $400 ขึ้นอยู่กับขนาดของพารามิเตอร์ผลลัพธ์ที่ต้องการ (ในกรณีนี้คือระหว่าง 8 ถึง 1,024 เทา)

ณ ตอนนี้ เราแนะนำไม่ให้ใช้รหัสเพื่อวัตถุประสงค์อื่นนอกเหนือจากวัตถุประสงค์ในการทดลอง หากใครพบปัญหาเกี่ยวกับโค้ดให้รายงานให้เราทราบ เรายินดีเป็นอย่างยิ่ง เราอยากรวบรวมคำติชมและบทวิจารณ์เกี่ยวกับแนวทางของเรา
เรียนรู้เกี่ยวกับพิธี KZG หรือ "พลังแห่งเอกภาพ"
มาสำรวจหนึ่งในการตั้งค่าที่เชื่อถือได้ซึ่งเป็นที่นิยมมากที่สุด ซึ่งเรียกว่า KZG หรือพิธีกรรม "พลังแห่งเอกภาพ" ขอบคุณ Vitalik Buterin ผู้ร่วมก่อตั้ง Ethereum ซึ่งบล็อกโพสต์เกี่ยวกับการตั้งค่าที่เชื่อถือได้ได้แจ้งความคิดของเราในส่วนนี้ การตั้งค่านี้สร้างการเข้ารหัสแบบ power-of-tau ซึ่งมีชื่อนี้เนื่องจาก "tau" เป็นตัวแปรที่ใช้แทนความลับที่ผู้เข้าร่วมสร้างขึ้น:

สำหรับบางแอปพลิเคชัน (เช่น Groth16 ซึ่งเป็นโครงร่างการพิสูจน์ zkSNARK ยอดนิยมที่คิดค้นโดย Jens Groth ในปี 2559) ระยะแรกของการตั้งค่าจะตามมาด้วยขั้นตอนที่สอง พิธีการคำนวณแบบหลายฝ่าย (MPC) เพื่อสร้างพารามิเตอร์สำหรับวงจร SNARK เฉพาะ . อย่างไรก็ตาม งานของเรามุ่งเน้นไปที่ขั้นตอนแรกเท่านั้น ขั้นตอนแรก - การสร้างพลังของ tau - สามารถใช้เป็นหน่วยการสร้างพื้นฐานสำหรับ SNARK ที่ใช้งานทั่วไป เช่น PLONK และ SONIC รวมถึงแอปพลิเคชันการเข้ารหัสอื่น ๆ เช่น ข้อตกลง KZG, ต้นไม้ Verkle และการสุ่มตัวอย่างความพร้อมใช้งานของข้อมูล (อพท.). โดยทั่วไป พารามิเตอร์ SNARK สำหรับวัตถุประสงค์ทั่วไปควรมีขนาดใหญ่มากเพื่อให้สามารถรองรับวงจรขนาดใหญ่และมีประโยชน์ วงจรที่มีเกตมากขึ้นโดยทั่วไปจะมีประโยชน์มากกว่าเพราะสามารถจับการคำนวณขนาดใหญ่ได้ จำนวนพลังของ tau นั้นสอดคล้องกับจำนวนเกตในวงจรอย่างคร่าว ๆ ดังนั้น ขนาดการตั้งค่าทั่วไปคือ |pp|= ~40 GB ซึ่งสามารถรองรับ ~2 วงจรของ 28 Gas การวางพารามิเตอร์ขนาดใหญ่เช่นนี้บนเครือข่ายนั้นไม่สามารถทำได้เนื่องจากข้อจำกัดในปัจจุบันของ Ethereum แต่พิธีการตั้งค่าที่เชื่อถือได้ที่มีขนาดเล็กกว่านั้นมีประโยชน์สำหรับวงจร SNARK ขนาดเล็ก ต้นไม้ Verkle หรือ DAS สามารถรันบนเครือข่ายได้
Ethereum Foundation วางแผนที่จะจัดพิธีเล็ก ๆ อีกหลายรายการสำหรับพลังแห่งเอกภาพ โดยมีขนาดตั้งแต่ 200 KB ถึง 1.5 MB แม้ว่าพิธีขนาดใหญ่อาจดูดีกว่า แต่เมื่อพิจารณาว่าพารามิเตอร์ที่ใหญ่ขึ้นสามารถสร้างวงจร SNARK ที่มีประโยชน์ได้มากกว่า แต่ในความเป็นจริง งานที่ใหญ่กว่าไม่ได้ดีกว่าเสมอไป แอปพลิเคชันบางอย่าง (เช่น DAS) ต้องการแอปพลิเคชันขนาดเล็กโดยเฉพาะ! [เหตุผลเป็นเรื่องทางเทคนิคมาก แต่ถ้าคุณสงสัย เป็นเพราะการตั้งค่ายกกำลัง n (ใน G)1) อนุญาตเฉพาะการผูกมัดของ KZG สำหรับพหุนามที่มีดีกรี ≤ n ซึ่งจำเป็นสำหรับการทำให้มั่นใจว่าพหุนามภายใต้การผูกมัดของ KZG สามารถเป็นได้ ดึงมาจากการสร้างใหม่ n ใด ๆ มีความสำคัญในการประเมินนี้ คุณสมบัตินี้รองรับการสุ่มตัวอย่างความพร้อมใช้งานของข้อมูล: ทุกครั้งที่ได้รับการประเมินแบบสุ่มของพหุนามสำเร็จ (สุ่มตัวอย่าง) จะรับประกันได้ว่าสามารถสร้างพหุนามขึ้นใหม่ด้วยความน่าจะเป็น t/n ได้อย่างสมบูรณ์ หากคุณต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ DAS โปรดดูโพสต์นี้โดย Buterin ในฟอรัมการวิจัย Ethereum
เราได้ออกแบบสัญญาอัจฉริยะที่สามารถปรับใช้บน Ethereum blockchain เพื่อดำเนินพิธีการตั้งค่าที่เชื่อถือได้ สัญญาจัดเก็บพารามิเตอร์สาธารณะทั้งหมดบนเครือข่ายและรวบรวมการมีส่วนร่วมผ่านการทำธุรกรรมจากผู้ใช้
ผู้เข้าร่วมใหม่อ่านพารามิเตอร์เหล่านี้ก่อน:

จากนั้นสุ่มตัวอย่างคีย์สุ่ม τ' และคำนวณพารามิเตอร์ที่อัปเดต:

และเผยแพร่ในห่วงโซ่และแนบหลักฐานสามสิ่ง:
ความรู้เกี่ยวกับลอการิทึมแบบไม่ต่อเนื่อง: ผู้เข้าร่วมทราบ τ' (ข้อพิสูจน์ว่าการมีส่วนร่วมล่าสุดในพิธีจัดตั้งที่น่าเชื่อถือนั้นสร้างขึ้นจากผลงานของผู้เข้าร่วมก่อนหน้านี้ทั้งหมด
pp มีรูปแบบที่ดี 1: องค์ประกอบเหล่านี้เข้ารหัสพลังส่วนเพิ่ม (แบบฟอร์มการบริจาคของผู้เข้าร่วมพิธีใหม่ที่ดี
การอัปเดตจะไม่ถูกลบ: τ' ≠ 0 (ป้องกันผู้โจมตีที่พยายามบุกรุกระบบโดยการลบผลงานที่ผ่านมาของผู้เข้าร่วมทั้งหมด
สัญญาอัจฉริยะจะตรวจสอบหลักฐาน และหากถูกต้อง ก็จะอัปเดตพารามิเตอร์สาธารณะที่เก็บไว้ คุณสามารถดูรายละเอียดเพิ่มเติมเกี่ยวกับคณิตศาสตร์และเหตุผลที่อยู่เบื้องหลังได้ในที่เก็บ
คำนวณต้นทุนก๊าซ
ความท้าทายหลักของการเรียกใช้การตั้งค่าบนเครือข่ายคือการทำให้พิธีการตั้งค่าที่เชื่อถือได้มีประสิทธิภาพมากที่สุดเท่าที่จะเป็นไปได้ ตามหลักการแล้ว ค่าธรรมเนียมในการส่งผลงานไม่ควรเกิน 50 ดอลลาร์สหรัฐฯ (โครงการขนาดใหญ่อาจสามารถอุดหนุนค่าน้ำมันสำหรับผู้ร่วมสมทบทุนได้ ซึ่งในกรณีที่ผู้เข้าร่วมหลายร้อยคนใช้จ่าย $100 ต่อคนจะจินตนาการได้ง่ายกว่า) ด้านล่าง เราได้ให้รายละเอียดเพิ่มเติมเกี่ยวกับส่วนที่แพงที่สุดของการตั้งค่า ต้นทุนก๊าซที่ลดลงจะลดต้นทุนการสนับสนุนและอนุญาตให้สร้างพารามิเตอร์ที่ยาวขึ้น (กำลังเอกภาพมากขึ้นและวงจร SNARK ที่ใหญ่ขึ้น)!
การตั้งค่าของเราทำงานบนเส้นโค้งวงรี BN254 (หรือที่เรียกว่า BN256, BN128 และ alt_bn128) ซึ่งรองรับสัญญาที่คอมไพล์ล่วงหน้าต่อไปนี้บน Ethereum:
ECADD อนุญาตให้เพิ่มจุดโค้งวงรีสองจุด เช่น การคำนวณ [α+β]1 จาก [α]1 และ [β]1: ค่าน้ำมัน 150
ECMULT อนุญาตให้คูณจุดเส้นโค้งวงรีด้วยสเกลาร์ เช่น คำนวณ [a*α]1 จาก a และ [α]1: ค่าน้ำมัน 6,000
ECPAIR อนุญาตให้ตรวจสอบผลคูณของเส้นโค้งวงรีคู่ เช่น การคำนวณ e([α1]1, [β1]2) * ... *e([α1]1, [β1]2) = 1 เทียบเท่ากับการตรวจสอบ α1* β1+ . .. + αk*βk= 0 : ค่าน้ำมัน 34,000 * k + 45,000
หาก Ethereum สามารถเปิดใช้งาน BLS12_381 (ตามที่เสนอใน EIP-2537) สัญญาการตั้งค่าของเราก็สามารถนำไปใช้กับเส้นโค้งอื่นๆ ได้อย่างง่ายดายเช่นกัน
ลองประมาณการอัพเดตการตั้งค่าเป็น

ค่าแก๊สเพื่อตรวจสอบหลักฐาน ตามที่กล่าวไว้ข้างต้น ผู้เข้าร่วมแต่ละคนอัปเดตการตั้งค่าและส่งหลักฐานที่มีสามองค์ประกอบ ส่วนประกอบ 1 และ 3 ของการพิสูจน์ - "ความรู้บันทึกแยก" และ "การอัปเดตไม่สามารถลบได้" - มีราคาถูกมากในการตรวจสอบ ความท้าทายคือการตรวจสอบว่าองค์ประกอบ 2 "ความสามารถในการขึ้นรูปที่ดีของ pp"1" เป็นแบบ on-chain ต้องใช้การคูณแบบหลายสเกลาร์ขนาดใหญ่ (MSM) และการจับคู่สองครั้ง:

โดยที่ ρ0,...,𝝆n-1 เป็นสเกลาร์สุ่มตัวอย่างหลอก ในแง่ของสัญญาอัจฉริยะที่รวบรวมไว้ล่วงหน้า เราต้องการ:

ค่าน้ำมันในการจัดเก็บข้อมูล ผู้เข้าร่วมแต่ละคนยังจัดเก็บการอัปเดตบนเครือข่ายเป็นข้อมูลการโทร (68 แก๊สต่อไบต์) คิดเป็น n * 64 * 68 แก๊ส (หมายเหตุหนึ่งสำหรับผู้ที่คุ้นเคยกับการเข้ารหัสแบบเส้นโค้งวงรี: จากการวัดของเราสำหรับ n = 256 การจัดเก็บจุดบีบอัดจะทำให้การคลายการบีบอัดมีอิทธิพลเหนือต้นทุนโดยรวม
ค่าก๊าซโดยประมาณมีดังนี้:

แน่นอน เรายังคงค้นหาวิธีแก้ปัญหาเพื่อลดต้นทุนก๊าซ
ห้องสมุดโอเพ่นซอร์ส: evm-powers-of-tau
เรามีโอเพ่นซอร์สพิธีกรรม power-of-tau ที่ใช้ EVM ที่ github.com/a16z/evm-powers-of-tau พิธีกรรมนั้นเรียบง่ายและโปร่งใสโดยใช้กลยุทธ์ของเรา:
ปรับใช้การจัดเก็บและสัญญาการตรวจสอบ (Contracts/KZG.sol)
ผู้เข้าร่วมอ่านพารามิเตอร์พิธีจากข้อมูลการโทรธุรกรรมก่อนหน้า
ผู้เข้าร่วมสร้างคีย์ในเครื่อง คำนวณพารามิเตอร์ที่อัปเดต
ผู้ร่วมให้ข้อมูลสร้างหลักฐาน: pi1, pi2
ผู้สนับสนุนส่งพารามิเตอร์ที่อัปเดตไปยังสัญญาอัจฉริยะที่ใช้งานบนบล็อกเชนสาธารณะผ่าน KZG.potUpdate()
สัญญาอัจฉริยะจะตรวจสอบความถูกต้องของการอัปเดต โดยเปลี่ยนกลับในกรณีที่คอมมิตผิดรูปแบบ
ผู้มีส่วนร่วมหลายคนสามารถดำเนินขั้นตอนที่ 2-5 ได้ ซึ่งแต่ละขั้นตอนจะเพิ่มความปลอดภัยให้กับพิธี
เมื่อใดก็ตามที่นักพัฒนามีความมั่นใจในปริมาณและคุณภาพของการส่ง พวกเขาสามารถค้นหาพารามิเตอร์ปัจจุบันใน blockchain และใช้ค่าเหล่านั้นเป็นคีย์เข้ารหัส
พื้นที่เก็บข้อมูลของเราใช้ arkworks-rs เพื่อคำนวณขั้นตอนที่ 2 และ 3 (การคำนวณสนิมสามารถพบได้ใน src/pot_update.rs) แต่ผู้ใช้อาจต้องการเขียนด้วยตนเอง โฟลว์แบบ end-to-end ทั้งหมดของการส่งการอัปเดตสามารถดูได้ในการทดสอบการรวมระบบที่ test/integration_test.rs
โปรดทราบว่าเราเลือกใช้ calldata เพื่อจัดเก็บพารามิเตอร์ power-of-tau ที่อัปเดตบนเครือข่าย เนื่องจากเป็นลำดับความสำคัญที่ถูกกว่าการจัดเก็บ ข้อความค้นหาที่ใช้ ethers-rs สำหรับข้อมูลนี้สามารถพบได้ใน src/query.rs
สุดท้าย สามารถดูการพิสูจน์และสมการโดยละเอียดได้ในรายงานทางเทคนิคที่ techreport/main.pdf
แผนการทำงานในอนาคต
ก่อนใช้พิธีการตั้งค่าที่เชื่อถือได้นี้ในสภาพแวดล้อมการใช้งานจริง เราขอแนะนำให้ทำการตรวจสอบการพิสูจน์ทางคณิตศาสตร์และตัวอย่างการใช้งานอย่างละเอียดก่อน
เมื่อดำเนินการแล้ว ต้นทุนการทำธุรกรรมของพิธีการอัปเดตจะเพิ่มขึ้นเป็นเส้นตรงตามขนาดที่ตั้งไว้ สำหรับแอปพลิเคชันส่วนใหญ่ (SNARK, DAS) เราต้องการตั้งค่า n >= 256 ซึ่งปัจจุบันมีค่าใช้จ่าย $73 ต่อการอัปเดต
เราอาจบรรลุการเติบโตของต้นทุนการตรวจสอบเชิงเส้นย่อยผ่านการพิสูจน์การคำนวณของ STARK ที่อัปเดตอย่างมีประสิทธิภาพและความมุ่งมั่นของเวกเตอร์ต่อค่าที่อัปเดต โครงสร้างนี้จะลบการพึ่งพาการรวบรวมล่วงหน้าของ Ethereum L1 BN254 ทำให้สามารถใช้เส้นโค้ง BLS12-381 ที่เป็นที่นิยมมากขึ้นได้
ลิงค์ต้นฉบับ


