บทความนี้กล่าวถึงแนวคิดเกี่ยวกับวิวัฒนาการและเหตุผลในการออกแบบของโซลูชันการขยายค่าสะสม

ผู้เขียนต้นฉบับ: ORFEO

ที่มา: SeeDAO

โครงการ L2 ได้รับความสนใจอีกครั้ง

ในฐานะตัวแทนของเส้นทางการขยาย Rollup ใน L2 หลังจาก Arbitrum ออกอากาศ ยุค zkSync จะเปิดตัว เบื้องหลังการออกแบบและแผนงานใหม่ที่ไม่รู้จบ อะไรคือแนวทางหลักของ Rollup และแนวคิดเชิงวิวัฒนาการคืออะไร มาดูกันเลย

ประเด็นหลักของบทความนี้:

  • แนวคิดการขยายตัวของ L1 ที่เขียนขึ้นสำหรับชั้นประถมศึกษาปีที่ 3
  • ออกแบบโซลูชัน Rollup ตั้งแต่เริ่มต้น
  • วิธีใช้การพิสูจน์ความรู้เป็นศูนย์เพื่อทำให้ Rollup พัฒนาขึ้นอีกครั้ง

เริ่มต้นด้วยการเปรียบเทียบ

สำหรับ Bitcoin และ Ethereum ตั้งแต่เกิด มีข้อวิจารณ์ที่ใหญ่ที่สุดสองข้อจากผู้ใช้ทั่วไป:

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

การวิพากษ์วิจารณ์ทั้งสองนี้เกิดจากสองปัจจัยในการออกแบบบล็อกเชน:

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

หากบล็อกเชนสามารถเป็นเหมือนถนนรถแล่นได้จริงๆ วิธีแก้ปัญหาพื้นฐานก็คือการขยายถนนให้กว้างขึ้น และในขณะเดียวกันก็ร่วมมือกับราคาเพื่อชี้นำเวลาออกไปข้างนอก และอย่าออกไปถ้าคุณไม่ได้อยู่ใน รีบ.

อย่างไรก็ตาม แม้ว่าการขยายเลนและเพิ่มความจุของบล็อกจะเป็นวิธีการแก้ปัญหาการจราจรที่มีประสิทธิภาพ แต่ก็เป็นทางเลือกสุดท้ายในการออกแบบบล็อกเชน เนื่องจากขนาดบล็อกที่ใหญ่ขึ้น ข้อกำหนดด้านฮาร์ดแวร์สำหรับนักขุดก็จะยิ่งสูงขึ้น และนักขุดที่สามารถตอบสนองความต้องการก็จะยิ่งน้อยลง ตามแนวคิดนี้ หากคุณต้องการประมวลผลธุรกรรมหลายพันรายการต่อวินาทีเหมือน Visa คุณจะจบลงด้วยการสร้างอีก Visa แบบรวมศูนย์นั้นสวนทางกับจุดประสงค์หลักของความไม่ไว้วางใจของบล็อกเชน

มีวิธีอื่นอีกไหม? ได้ นอกจากคำแนะนำด้านเวลาแล้ว เรายังสามารถเพิ่มประสิทธิภาพพื้นที่ ซึ่งรวมถึงแต่ไม่จำกัดเพียง:

  • เปิดเลนต่างๆ เลนหนึ่งสำหรับรถบรรทุกขนาดใหญ่ เลนหนึ่งสำหรับรถยนต์ และอีกเลนสำหรับรถโดยสาร โดยไม่รบกวนซึ่งกันและกัน — จากแนวคิดนี้ เราสามารถใช้เมนเชน ไซด์เชน หรือพลาสมาได้ด้วยจุดแข็งของตัวเอง
  • ปรับการออกแบบเส้นทางให้เหมาะสม, เบี่ยงการจราจรให้เหมาะสม, ไม่ต้องเข้าไปในเมืองเพื่อทำอะไร, คุณต้องใช้ถนนสายหลักนี้, คุณต้องผ่านด่านที่นี่ —— จากแนวคิดนี้, เราสามารถแยกชิ้นส่วนได้.
  • ทำไมคุณต้องออกไป? ไม่สายเกินไปที่จะมีการประชุมทางไกลและบรรลุข้อตกลง และไม่สายเกินไปที่จะลงนามในข้อตกลงแบบออฟไลน์ ——จากแนวคิดนี้ เราสามารถมีช่องทางของรัฐ (State Channel)
  • คุณไม่จำเป็นต้องขับรถเองเมื่อออกไปข้างนอก คุณยังสามารถใช้บริการร่วมกันหรือใช้บริการขนส่งสาธารณะ —— จากแนวคิดนี้ เรามีตัวเอกของบทความนี้คือ Rollup

ในฐานะที่เป็นรถบัสบนบล็อกเชน กุญแจสำคัญในการ Rollup คือการประหยัดพื้นที่และน้ำมัน (Gas ปุนตั้งใจ):

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

ด้วยวิธีนี้ Rollup จะแก้ไขช่อง "ช้า" และ "แพง" สองช่อง

กลับไปที่ blockchain และดูแผนการเฉพาะของ Rollup

ออกแบบ Rollup ตั้งแต่เริ่มต้น

แทนที่จะดูคำตอบมาตรฐาน (ไม่ต้องพูดถึงว่าไม่มี) จะดีกว่าหากใจจดใจจ่อและจินตนาการว่าคุณจะทำอะไรเมื่อได้รับมอบหมายให้ออกแบบ Rollup สำหรับ Ethereum

เราอาจเริ่มจากสองมุมมองของการลดต้นทุนการประมวลผล (ประหยัดน้ำมัน) และลดค่าใช้จ่ายในการจัดเก็บ (ประหยัดพื้นที่) และก่อนอื่นเสนอโซลูชันที่รุนแรงกว่าที่เรียกว่า Rollup 1.0;

ค่าสะสม 1.0;

Rollup 1.0 ประกอบด้วย 3 ประเด็นหลัก:

  • มีผู้ให้บริการ (Operator) ที่รวบรวมธุรกรรม "คาร์พูล" ของทุกคน (Transaction) และ "ส่งคำสั่ง" เมื่อคาร์พูลเต็มหรือไม่แล้วแต่เวลาที่ตกลงกัน โดยคำนึงถึง ราคา และ ความตรงต่อเวลา
  • การคำนวณทั้งหมดที่เกี่ยวข้องกับธุรกรรมที่ส่งโดยทุกคนจะดำเนินการแบบออฟไลน์โดยผู้ให้บริการรายนี้ เนื่องจากการคำนวณแบบออฟไลน์นั้นเร็วกว่าแบบออนเชน และการคำนวณมักจะเป็นค่าใช้จ่ายจำนวนมากของออนเชน ซึ่งสามารถประหยัดได้มาก เงิน;
  • หลังจากการคำนวณ ให้รับสถานะที่อัปเดต (เช่น ยอดคงเหลือล่าสุดในบัญชีของคุณ) และจัดเก็บไว้ในเครือข่าย เพื่อให้ต้นทุนการจัดเก็บลดลงมาก

พูดง่ายๆ ก็คือการรวบรวมคำขอธุรกรรมของทุกคนอย่างสม่ำเสมอและเชิงปริมาณ และหลังจากการคำนวณแบบออฟไลน์แล้ว เฉพาะผลการคำนวณเท่านั้นที่ได้รับการยืนยันในห่วงโซ่

โซลูชันนี้แก้ปัญหาจุดบกพร่องหลักสองจุดของ "ช้า" และ "แพง" ได้อย่างสมบูรณ์แบบ แต่ดูเหมือนว่าจะสร้างปัญหาใหม่:

  • สิ่งจูงใจ: ใครจะให้บริการ "carpooling" และอะไรคือผลประโยชน์
  • ปัญหาการตรวจสอบ (การเซ็นเซอร์): ผู้ให้บริการจงใจไม่ดำเนินการตามคำสั่งของฉัน (หรือวางสายหรือหยุดทำงาน) ฉันควรทำอย่างไร;
  • ปัญหาการฉ้อโกง (Fraud): จะทำอย่างไรหากผู้ให้บริการโกงและยุ่งเกี่ยวกับผลการคำนวณจนทำให้ต้องโอนเงินให้คนอื่นและเงินถูกยักยอกไป

สำหรับปัญหาใหม่ทั้งสามนี้ เราสามารถทำซ้ำเวอร์ชันของแผนได้

ค่าสะสม 2.0;

ปัญหาแรงจูงใจจะแก้ไขได้ดีที่สุด และปัญหาที่สามารถแก้ไขได้ด้วยเงินไม่ใช่ปัญหา ผู้ให้บริการสามารถแชร์ค่า "คาร์พูล" เท่าๆ กัน และคิดค่า "ทิป" เพิ่มอีกเล็กน้อย ถึงกระนั้น ก็ยังถือว่าได้ประโยชน์ทั้งสองฝ่ายกับคน "คาร์พูล"

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

การฉ้อโกงเป็นเรื่องยากขึ้นเล็กน้อย สามารถแบ่งออกเป็นสองคำถาม ข้อแรกคือวิธีระบุการฉ้อโกง และอีกข้อคือวิธีป้องกัน

ก่อนอื่น เพื่อระบุการฉ้อฉล เราจำเป็นต้องทราบข้อมูลการทำธุรกรรม (Transaction) ของทุกคน สถานะก่อนการทำธุรกรรม (State) เพื่อที่จะคำนวณสถานะใหม่ (State') หลังการทำธุรกรรม และเปรียบเทียบกับสถานะใหม่ เก็บไว้ในห่วงโซ่ของผู้ให้บริการ ถ้าเหมือนกัน แสดงว่าผู้ให้บริการมีความซื่อสัตย์ มิฉะนั้น แสดงว่าเขาโกหก อย่างไรก็ตาม เราไม่ทราบข้อมูลธุรกรรมเนื่องจากไม่ได้อยู่บนเครือข่าย เป็นผลให้เราได้แต่สงสัยและไม่สามารถตัดสินได้ว่าผู้ให้บริการมีความซื่อสัตย์หรือไม่

ดังนั้นวิธีป้องกันการทุจริตที่ดีที่สุดคือทำให้ไม่เกิดการทุจริตขึ้นได้ค่อนข้างยากเว้นแต่จะมีการตรวจสอบการคำนวณของผู้ให้บริการทุกครั้งในห่วงโซ่แต่วิธีนี้จะไม่ได้เปรียบ" คาร์พูล". เราจึงทำได้เพียงถอยหลังและทำให้ต้นทุนการฉ้อโกงสูงมากเพื่อให้ผู้ให้บริการมีสกินในเกมเช่นการจ่ายเงินมัดจำ (Stake) ซึ่งจะถูกยึดหากพบการฉ้อโกง (วิธีนี้เรียกว่าฉันทามติทางสังคม ซึ่งเป็นของการรักษาความปลอดภัยตามเกม และมีการกล่าวถึงใน "รายสัปดาห์ #3;" ด้วย)

ค่าสะสม 3.0;

Rollup 2.0 นั้นไม่เลว แต่ปัญหาในการระบุการฉ้อโกงไม่ได้รับการแก้ไข

ตามอนุมานก่อนหน้านี้ ในการระบุการฉ้อฉล เราต้องทราบข้อมูลธุรกรรม ดังนั้นข้อมูลส่วนนี้จึงต้องอยู่ในสายโซ่เดียวกันกับข้อมูลสถานะ

ใครจะหาว่าพวกเขาฉ้อฉล? "นักล่าเงินรางวัล" (Validator) มืออาชีพเท่านั้นที่จะสามารถเป็น "นักล่าเงินรางวัล" มืออาชีพได้ หาก "นักล่าเงินรางวัล" แจ้งการฉ้อโกงภายใน 7 วันหลังจากผู้ให้บริการ "ส่งคำสั่ง" และตรวจสอบพบว่าเป็นความจริง ธุรกรรมนั้นจะถูกยกเลิกและผู้ให้บริการจะถูกลงโทษ แน่นอน ในทำนองเดียวกัน "นักล่าเงินรางวัล" ก็ต้องการสิ่งจูงใจเช่นกัน ตัวอย่างเช่น หลังจากพบการฉ้อฉลจะมีการมอบเงินมัดจำส่วนหนึ่งของผู้ให้บริการให้กับ "นักล่าเงินรางวัล" (เพียงบางส่วนเพื่อหลีกเลี่ยงการสมรู้ร่วมคิดระหว่าง ผู้ให้บริการและนักล่าเงินรางวัล)

ค่าสะสม 4.0;

ในขั้นตอน Rollup 3.0 โซลูชันทั้งหมดสามารถทำงานได้อย่างราบรื่น แต่มีค่าใช้จ่ายใหม่เข้ามา ค่าใช้จ่ายรวมถึง:

  • ค่าธรรมเนียมสำหรับผู้ให้บริการ (รวมค่าใช้จ่ายและ "ทิป")
  • ค่าใช้จ่ายในการจัดเก็บบนเครือข่ายของธุรกรรมและข้อมูลสถานะ
  • เมื่อ "นักล่าค่าหัว" เชื่อว่าผู้ให้บริการฉ้อฉล ค่าใช้จ่ายในการคำนวณเพื่อยืนยันว่าสิ่งที่เขาพูดนั้นเป็นความจริงในห่วงโซ่

มาดูกันว่าต้นทุนใดที่สามารถเพิ่มประสิทธิภาพได้

ข้อมูลการทำธุรกรรม

ด้วยวิธีเฉพาะเจาะจง ธุรกรรมหลายรายการจะถูกรวมเข้าด้วยกัน และพื้นที่ที่ใช้อาจน้อยกว่าผลรวมของพื้นที่ที่แต่ละธุรกรรมครอบครอง

ยกตัวอย่างธุรกรรมการโอน ETH ที่ง่ายที่สุด เราแยกองค์ประกอบเนื้อหาของแต่ละธุรกรรม และเราจะเห็นว่าพื้นที่ลายเซ็นคิดเป็นสัดส่วนที่มากที่สุด เราสามารถรวมลายเซ็นของธุรกรรมทั้งหมดเป็นหนึ่งเดียว (Key Aggregation) ซึ่งช่วยประหยัดพื้นที่จัดเก็บจำนวนมาก (คล้ายกับ Schnorr ใน Bitcoin) นอกจากนี้ เรายังสามารถเพิ่มประสิทธิภาพส่วนอื่นๆ เช่น กำจัด Nonce และเลือก "อ้วนและผอม" ให้ได้มากที่สุดเมื่อ "ใช้รถร่วมกัน" และ "คนที่ใช้รถร่วมกัน" ที่เหมาะสมที่สุดเพื่อเพิ่มการใช้ "รถ" " ช่องว่าง.

บทความนี้จะสำรวจแนวคิดวิวัฒนาการและเหตุผลในการออกแบบโซลูชันการขยายชุดรวมอัปเดต

แหล่งที่มา:

เพียงสามหรือสองครั้ง ขนาดของธุรกรรมการโอน ETH แต่ละรายการลดลงจาก 112 ไบต์เป็น 12 ไบต์ ซึ่งใกล้เคียงกับหนึ่งในสิบของธุรกรรมก่อนหน้านี้ แน่นอนว่ายังมีวิธีอื่นในการบีบอัดข้อมูลธุรกรรมเพิ่มเติม

ในการดำเนินการจริง เราสามารถแทรกวิธีการดังกล่าวในสัญญาที่ปรับใช้บนห่วงโซ่:

ฟังก์ชัน storeTxData (ข้อมูลการโทรแบบไบต์) ภายนอก {;// ไม่ต้องทำอะไร}

จากนั้นทุกครั้งที่ "carpooling" สำเร็จ ข้อมูลธุรกรรมที่ผสานและบีบอัดจะถูกส่งผ่านไปยังวิธีนี้เป็น calldata ไม่จำเป็นต้องจัดเก็บ Calldata อย่างถาวร และหลังจากช่วงท้าทายการเผยแพร่ฉันทามติทางสังคม (ช่วงท้าทาย) จะถูกตัดออกหรือไม่ก็ตาม (พรุน) ราคานั้นต่ำมากและจะถูกกว่าด้วยการใช้งาน EIP เช่น Danksharding และ Data Blob รูปแบบของการใช้ L1 กับการกระจายการจัดเก็บข้อมูล (Data Availability) จะเป็นทางการมากขึ้นด้วย

ข้อมูลสถานะ

เมื่ออัปโหลดข้อมูลธุรกรรมไปยังเชนแล้ว ทุกคนสามารถคำนวณสถานะที่อัปเดตผ่านข้อมูลธุรกรรมได้ และข้อมูลสถานะไม่จำเป็น เราสามารถเก็บ Merkel Root ของข้อมูลสถานะได้เท่านั้น ซึ่งใช้เพื่ออนุญาตให้ผู้ใช้ทั่วไป ("carpoolers") สามารถสมัครขอถอนโดยตรงไปยัง L1 เมื่อผู้ให้บริการไม่ให้ความร่วมมือ และอาศัย Merkel Proof เพื่อพิสูจน์ว่าพวกเขามีเงิน ในบัญชีของพวกเขา

ค่าใช้จ่ายในการอนุญาโตตุลาการฉ้อโกง

เมื่อ "นักล่าเงินรางวัล" รายงานการฉ้อฉลไปยังผู้ให้บริการ ระบบจะทำการคำนวณสัญญาออนไลน์ (เล่นซ้ำ) เพียงครั้งเดียวและเปรียบเทียบผลลัพธ์ของสถานะ ซึ่งเป็นไปได้ในทางทฤษฎี อย่างไรก็ตาม ต้นทุนในการทำเช่นนั้นไม่ต่ำ (แม้ว่าจะดีอยู่แล้ว) และประการที่สองคือผลรวมของ Gas ของการทำธุรกรรมที่รวมอยู่ใน "รายการ carpooling" Rollup อาจเกินขีดจำกัด Gas ของ Ethereum ทำให้เป็นไปไม่ได้ เพื่อตรวจสอบ

ดังนั้น อนุญาโตตุลาการจำเป็นต้องลดภาระ และวิธีการลดภาระก็คือการทำให้การดำเนินการคำนวณที่ไม่จำเป็นออกจากห่วงโซ่โดยธรรมชาติ หนึ่งในวิธีแก้ปัญหานี้เรียกว่า Interactive Proving กระบวนการทั่วไปมีดังนี้:

  • "นักล่าค่าหัว" จ่ายเงินมัดจำ จากนั้นจึงรายงาน และแบ่งกระบวนการคำนวณทั้งหมดออกเป็น n ส่วนตามลำดับ โดยชี้ให้เห็นว่าผู้ให้บริการมีการฉ้อโกงในส่วน k (1;≤k≤n)
  • ผู้ให้บริการเจาะลึกและแยกส่วน k ออกเป็นส่วน k และชี้ว่าส่วนใดของ "นักล่าเงินรางวัล" ไม่ถูกต้อง
  • ไปๆ มาๆ ถึงรู้ว่าการคำนวณไม่สามารถเจาะลึกหรือแยกส่วนได้อีกต่อไป เช่น เมื่อ "นักล่าเงินรางวัล" คิด 1+;1;=;2; ผู้ให้บริการคิด 1+;1;= ;3;;
  • ในขณะนี้ สัญญาบนเครือข่ายเข้าแทรกแซง คำนวณ 1+;1; และรับ 2; จึงตัดสินว่าผู้ให้บริการฉ้อฉล ยึดเงินฝาก และให้รางวัลส่วนหนึ่งแก่ "นักล่าเงินรางวัล"

(ในระหว่างกระบวนการทั้งหมด หากฝ่ายใดฝ่ายหนึ่งไม่ตอบกลับภายในเวลาที่กำหนด ฝ่ายนั้นจะล้มเหลว)

ด้วยวิธีนี้ ค่าใช้จ่ายในการอนุญาโตตุลาการในห่วงโซ่ทั้งหมดจึงต่ำมาก

ต้องบอกว่า เราได้สร้างโซลูชัน Rollup อย่างสมบูรณ์แล้ว เนื่องจากแผนการนี้ถือว่าผู้ให้บริการมีความซื่อสัตย์โดยปริยาย เว้นแต่จะมีรายงาน "นักล่าเงินรางวัล" ฝ่ายนี้จึงเรียกว่าการรวมพลของผู้มองโลกในแง่ดี ซึ่งเรียกว่า การรวมพลในแง่ดี

Rollup 4.0 ของเราคือทางออกที่ดีที่สุดหรือไม่?

วิวัฒนาการใหม่ของโรลอัพ

หลังจากทำซ้ำหลายครั้ง Rollup 4.0 ยังมีข้อบกพร่องบางประการ:

  • "นักล่าเงินรางวัล" ต้องค้นพบการฉ้อโกง แต่ถ้าไม่มีการฉ้อโกงเป็นเวลานาน "นักล่าเงินรางวัล" อาจเลิกกิจการเพราะไม่ทำกำไร ดังนั้นจะมีช่องว่าง (แม้ว่าจะไม่น่าเป็นไปได้ก็ตาม เนื่องจาก ผู้มีส่วนได้ส่วนเสียในห่วงโซ่การควบรวมกิจการ เช่น ผู้ขายแอปพลิเคชันมักจะทำตัวเป็น "นักล่าเงินรางวัล");
  • เพื่อให้แน่ใจว่าไม่มีการฉ้อโกง ตามฉันทามติทางสังคม คุณต้องรอเป็นเวลาหลายวัน ซึ่งจะส่งผลต่อการดำเนินการ เช่น การถอนเงิน
  • มีข้อมูลจำนวนมากในห่วงโซ่และค่าใช้จ่ายยังคงมีอยู่
  • ขณะนี้อาศัยการขยายเลเยอร์ของ Rollup ปริมาณงานอาจเพิ่มขึ้น 10 เท่า เป็นไปได้ไหมที่จะสูงกว่านี้

มีวิธีแก้ปัญหาที่สามารถทำให้การฉ้อฉลเป็นไปไม่ได้เลย ทำให้ขั้นสุดท้าย (Finality) เร็วขึ้น ทำให้จำเป็นต้องอัปโหลดข้อมูลไปยังเชนน้อยลง และทำให้การขยายตัวมีลำดับความสำคัญมากขึ้นหรือไม่ คุณไม่ต้องการมากเกินไป แต่มีวิธีแก้ปัญหาประเภทหนึ่งที่สามารถตอบสนองจินตนาการเกือบทั้งหมดได้ — Zero Knowledge Rollup (เรียกสั้นๆ ว่า ZK-Rollup)

ZK-Rollup เป็นแนวคิดการยกเลิกโดยใช้ Zero-knowledge Proof (ZKP) สิ่งที่เรียกว่า ZKP หมายถึงเทคโนโลยีที่โน้มน้าวอีกฝ่ายว่าคุณทราบข้อมูลนี้โดยไม่เปิดเผยข้อมูลที่ละเอียดอ่อนใดๆ เพื่ออธิบาย ZKP มีสองตัวอย่างที่ฉันชอบ:

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

  • การเปรียบเทียบอื่นเป็นเรื่องธรรมดามากขึ้น สมมติว่ามีปริศนาซูโดกุ ฉันรู้คำตอบ แต่คุณไม่รู้ แต่คุณไม่เชื่อว่าฉันรู้ ฉันต้องการพิสูจน์ให้คุณเห็นว่าฉันรู้ แต่ฉันไม่ต้องการให้คุณรู้คำตอบ จะทำอย่างไร? ฉันสามารถวางซูโดกุบนโต๊ะด้วยการ์ด แล้วใส่ตัวเลขที่เปิดไว้ด้านบนและตัวเลขที่ต้องกรอกลงไป และให้คุณเลือกตรวจคำตอบของฉันตามแถวหรือคอลัมน์ ถ้าเรียงตามแถว ผมจะจัดกลุ่มตัวเลขในแต่ละแถวเข้าด้วยกัน แบ่งมันออก แล้วดูว่าแต่ละแถวคือ 1 ถึง 9; ไม่เป็นไรที่จะทำซ้ำหลาย ๆ ครั้ง ดังนั้นคุณจึงเชื่อได้ว่าฉันรู้คำตอบจริง ๆ และมีความเป็นไปได้สูง นี่เป็นหนึ่งในวิธีการพิสูจน์แบบโต้ตอบของ ZKP (เนื่องจากเป็นการยากที่จะบรรลุการโต้ตอบแบบเรียลไทม์บนเครือข่ายบล็อกเชน โดยทั่วไปจะใช้การพิสูจน์แบบไม่โต้ตอบ และความท้าทายแบบสุ่มจะถูกสร้างขึ้นโดยฟังก์ชันแฮช)

ในแง่ที่เข้มงวดน้อยกว่าแนวคิดหลักของ ZKP คือผู้พิสูจน์ (Prover) ก่อนซ่อนความรู้ลับ "กระทำ" (กระทำ) จากนั้นผู้ตรวจสอบ (Verifier) เริ่มการท้าทายแบบสุ่ม (Challenge) เท่านั้น หากเขาสามารถผ่านความท้าทายได้สำเร็จ ก็มีความเป็นไปได้สูงที่เขามีความรู้ความลับที่สอดคล้องกัน

ZKP ต้องเป็นไปตามข้อกำหนด 3 ประการ:

  • หากผู้พิสูจน์โกหก มีความเป็นไปได้สูงที่จะล้มเหลวในการท้าทาย (ความมั่นคง);
  • หากผู้พิสูจน์มีความรู้จะสามารถผ่านความท้าทาย (Completeness) ได้
  • ในระหว่างการโต้ตอบระหว่างทั้งสองฝ่าย ผู้พิสูจน์จะไม่เปิดเผยข้อมูลที่เป็นประโยชน์ใด ๆ (ไม่มีความรู้)

เพื่อให้เป็นไปตามข้อกำหนดทั้งสามนี้ ZKP จึงใช้ปัญหา NP ที่หลากหลาย รวมถึงการแยกส่วนจำนวนเฉพาะที่ง่ายที่สุด และลอการิทึมแบบไม่ต่อเนื่อง (เช่น Schnorr is) เป็นต้น

ZKP ไม่ใช่เทคโนโลยีที่เกิดมาเพื่อ blockchain แต่สามารถใช้สำหรับการขยาย L2 ได้ เนื่องจาก ZKP ที่ดีมีลักษณะที่เป็นประโยชน์ดังต่อไปนี้:

  • ผู้พิสูจน์ (ผู้ให้บริการ) สามารถพิสูจน์ได้อย่างรวดเร็วเพื่อให้แน่ใจว่าประสิทธิภาพการคำนวณภายใต้ห่วงโซ่นั้นสูงมากและจะไม่กลายเป็นคอขวด
  • ขนาดของการพิสูจน์มีขนาดเล็กหรืออย่างน้อยก็เป็นสัดส่วนกับจำนวนการคำนวณที่จะพิสูจน์ และผลกระทบของจำนวนข้อมูลจะน้อยที่สุดเท่าที่จะเป็นไปได้ เพื่อให้ต้นทุนการจัดเก็บในห่วงโซ่ต่ำ
  • ผู้ตรวจสอบ (สัญญา L1) สามารถตรวจสอบได้อย่างรวดเร็วว่าการพิสูจน์นั้นถูกต้องหรือไม่ ดังนั้นต้นทุนการคำนวณในห่วงโซ่จึงต่ำ

การใช้คุณสมบัติเหล่านี้ โซลูชันการยกเลิกของเราสามารถ:

  • ไม่จำเป็นต้องมี "นักล่าเงินรางวัล" สัญญา L1 สามารถตรวจจับการฉ้อโกงได้ทันที
  • ตราบใดที่การยืนยัน ZKP ถูกต้อง การถอนสามารถทำได้ทันที และระยะเวลาสิ้นสุดจะสั้นลงจากวันเหลือเป็นนาที
  • ห่วงโซ่ต้องการเฉพาะความแตกต่างระหว่างสถานะ พื้นที่มีขนาดเล็กมาก และต้นทุนการจัดเก็บต่ำมาก (โบนัสเพิ่มเติม — ความเป็นส่วนตัวยังได้รับการปรับปรุง)
  • ผ่านการเพิ่มประสิทธิภาพซอฟต์แวร์และฮาร์ดแวร์ที่กำหนดเองของกระบวนการพิสูจน์และยืนยัน ความสามารถในการขยายสามารถเพิ่มขึ้นได้อีกลำดับความสำคัญ

แน่นอน กลไกการรักษาความปลอดภัยใด ๆ จะต้องมีข้อกำหนดเบื้องต้นที่เป็นไปได้ และ ZKP ไม่ใช่ยาครอบจักรวาลสำหรับบล็อกเชน ปัจจุบัน ZKP ยังมีข้อจำกัดหลายอย่างที่ต้องแก้ไขไปทีละขั้น เช่น

  • ยกตัวอย่าง zk-SNARK ที่ใช้บ่อยที่สุดใน blockchain หลายแผนจำเป็นต้องแนะนำบุคคลหรือบริษัทที่มีชื่อเสียงมากที่สุดเท่าที่จะเป็นไปได้ในตอนเริ่มต้น และทำ Trusted Setup เพื่อสร้างหมายเลขสุ่มที่แท้จริงและรับประกันกระบวนการสร้างคือ ตรวจสอบได้แต่ไม่เปิดเผยต่อสาธารณะอย่างสมบูรณ์ (เช่นในพิธี Power of Tau ตราบใดที่ฝ่ายใดฝ่ายหนึ่งเชื่อถือได้ แต่ก็ยังถือว่าเป็นข้อบกพร่อง) แน่นอนว่า โครงร่าง zk-SNARK ใหม่และ zk-STARK ที่ปรับปรุงในภายหลังสามารถแก้ปัญหานี้ได้ แต่บางครั้งก็มีปัญหาใหม่เข้ามา
  • หลายปัญหายากที่จะสรุปว่าเป็นปัญหา ZKP ซึ่งนำไปสู่ความจริงที่ว่าความสามารถในการตั้งโปรแกรมไม่ได้รับการแก้ไขที่ดีมาเป็นเวลานาน เป็นการยากที่จะตระหนักถึง ZKP ที่เข้ากันได้กับ EVM บน Ethereum อย่างสมบูรณ์หรือแม้ว่าจะสามารถเป็นได้ สำเร็จ แต่ด้านอื่นๆ (เช่น ประสิทธิภาพการตรวจสอบ) จะได้รับผลกระทบ

บทความนี้จะสำรวจแนวคิดวิวัฒนาการและเหตุผลในการออกแบบโซลูชันการขยายชุดรวมอัปเดต

แหล่งที่มา:

ด้วยเหตุนี้ใน ZK-Rollup ซึ่งเป็นฟิลด์ส่วนขยายที่มุ่งสู่อนาคต ทุกความคืบหน้าจึงน่ายกย่องและน่ายินดี

บทความนี้จะสำรวจแนวคิดวิวัฒนาการและเหตุผลในการออกแบบโซลูชันการขยายชุดรวมอัปเดต

แหล่งที่มา:

##เขียนต่อท้าย

เท่าที่เกี่ยวข้องกับอนาคตของการขยายกำลังการผลิต ผู้เขียนเชื่อว่าเมื่อเปรียบเทียบกับการขยายกำลังการผลิตดั้งเดิมของ L1 แล้ว การออกแบบเป็นชั้นรวมถึง Rollup เป็นแนวคิดที่น่าเชื่อถือมากกว่า การทำให้เป็นโมดูลแต่ละเลเยอร์จะแก้ปัญหาความกังวลของแต่ละเลเยอร์ซึ่งมีความเสี่ยงน้อยกว่าการซ้อนทับอย่างต่อเนื่องบน L1 ที่ "เสาหิน" อยู่แล้ว ยิ่งกว่านั้น การกระจายอำนาจของ L1 พื้นฐานเนื่องจากการขยายกำลังการผลิตนั้นไม่น่าเป็นไปได้ในทางทฤษฎีที่ชั้นบนจะค้นพบและทำให้ มันขึ้น ยิ่งไปกว่านั้น แนวคิดการออกแบบแบบเลเยอร์นี้ดูเหมือนจะประสบความสำเร็จในการใช้งานในด้านอื่นๆ นอกเหนือจากบล็อกเชน มุมมองไม่จำเป็นต้องถูกต้อง แต่นี่คือความรู้ความเข้าใจในปัจจุบันของผู้เขียน

บทความนี้พยายามที่จะแยกแยะเหตุผลในการคิดและการออกแบบของโซลูชันการขยายค่าสะสมในโทนเสียงที่ไม่เชื่อเรื่องพระเจ้าในโครงการ เนื่องจากระดับที่จำกัด บางสถานที่ยังดูทื่อๆ อยู่ ซึ่งนอกจากจะอธิบายไม่เข้าที่แล้ว ยังทำให้เข้าใจยากขึ้นด้วย เนื่องจากช่องแนวตั้งที่เปลี่ยนไปทุกวันที่ผ่านไป ผู้เขียนอาจไม่รู้ตัว และคำนึงถึงการพัฒนาใหม่ ๆ มากมายในเวลา ยินดีต้อนรับเพื่อนอย่างจริงใจเพื่อแก้ไขและสื่อสาร

ดูต้นฉบับ
เนื้อหานี้มีสำหรับการอ้างอิงเท่านั้น ไม่ใช่การชักชวนหรือข้อเสนอ ไม่มีคำแนะนำด้านการลงทุน ภาษี หรือกฎหมาย ดูข้อจำกัดความรับผิดชอบสำหรับการเปิดเผยความเสี่ยงเพิ่มเติม
  • รางวัล
  • แสดงความคิดเห็น
  • แชร์
แสดงความคิดเห็น
0/400
ไม่มีความคิดเห็น
  • ปักหมุด