BTC
ETH
HTX
SOL
BNB
ดูตลาด
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

Vitalik: เส้นทางสู่จุดจบในสล็อตเดียว

ECN以太坊中国
特邀专栏作者
บทความนี้มีประมาณ 7722 คำ การอ่านทั้งหมดใช้เวลาประมาณ 12 นาที
อะไรคือประเด็นสำคัญที่ต้องแก้ไขเพื่อให้ได้ผลสำเร็จของช่องเดียว
สรุปโดย AI
อะไรคือประเด็นสำคัญที่ต้องแก้ไขเพื่อให้ได้ผลสำเร็จของช่องเดียว

ชื่อเรื่องเดิม: "Paths toward single-slot finality》

ชื่อเรื่องเดิม: "

ผู้เขียนต้นฉบับ: Vitalik Buterin ผู้ก่อตั้ง Ethereum

การรวบรวมข้อความต้นฉบับ: Double Spending (@doublespending) อาสาสมัครชุมชน ECN

ขอขอบคุณเป็นพิเศษสำหรับ Justin Drake, Dankrad Feist, Alex Obadia, Hasu, Anders Elowsson และเพื่อนแฮ็กเอ็มดีนิรนามสำหรับการตรวจสอบและข้อเสนอแนะเกี่ยวกับบทความนี้ในเวอร์ชันต่างๆ

ปัจจุบัน บล็อก Ethereum ต้องการระหว่าง 64 ถึง 95 ช่อง (ประมาณ 15 นาที) เพื่อให้บรรลุขั้นสุดท้าย สิ่งนี้สมเหตุสมผลและเป็นการประนีประนอมกับการกระจายอำนาจ/เวลาสุดท้าย/เส้นโค้งค่าใช้จ่าย: 15 นาทีนั้นไม่นานเกินไป และเทียบได้กับเวลายืนยันของการแลกเปลี่ยนที่มีอยู่ ทำให้ผู้ใช้สามารถแม้ว่าจะมีผู้ตรวจสอบความถูกต้องจำนวนมากเนื่องจากขนาดเงินฝากคือ 32 ETH (แทนที่จะเป็น 1,500 ETH ที่จำเป็นในการจำนำในช่วงแรก)อย่างไรก็ตาม ยังมีเหตุผลที่ดีในการลดเวลาสิ้นสุดเป็นสล็อต

. นี่คือการตรวจสอบสถานะการวิจัยเพื่อทบทวนแผนการทำงานเพื่อให้บรรลุเป้าหมายนี้

โหมดการทำงานปัจจุบันและพื้นฐานของ Ethereum stake

  • ฉันทามติ LMD GHOST + Casper FFG ของ Ethereum เป็นการประนีประนอมระหว่างสองอัลกอริธึมฉันทามติหลักที่ได้รับความนิยมในบล็อคเชนอัลกอริทึมฉันทามติแบบลูกโซ่:

  • แต่ละช่อง (ช่วงเวลาที่กำหนดไว้ล่วงหน้า เช่น 12 วินาทีใน Ethereum) จะสร้างข้อความ (บล็อก) อัลกอริธึมฉันทามติแบบอิงตามลูกโซ่เพิ่มจำนวนผู้เข้าร่วมให้สูงสุดและลดภาระลูกโซ่ แต่มักจะถูกแยกออกจากกันและไม่มีความคิดใด ๆ เกี่ยวกับการสิ้นสุดอัลกอริทึมฉันทามติ BFT (Byzantine Fault Tolerance) แบบดั้งเดิม:

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

อัลกอริทึมฉันทามติของ Ethereum แตกต่างจากระบบที่ใช้เชนล้วนๆ จะทำการลงคะแนนเสียงของพยานหลายพันคนบนเชนเฮดพร้อมกันในแต่ละสล็อต ทุกๆ ยุค (32 ช่อง หรือ 6.4 นาที) ผู้ตรวจสอบความถูกต้องที่ใช้งานอยู่ทั้งหมดมีโอกาสที่จะเป็นพยาน (ยืนยัน) หนึ่งครั้ง สองยุคต่อมา โปรแกรมสุดท้ายของ Casper FFG ทำการปิดบล็อก และตั้งแต่นั้นมา การย้อนกลับบล็อกจะต้องใช้ตัวตรวจสอบความถูกต้องอย่างน้อยหนึ่งในสามเพื่อเผาเงินเดิมพันของพวกเขา: ค่าใช้จ่ายในการโจมตีจะสูงกว่า 4 ล้าน ETH สิ่งนี้แตกต่างจากระบบ BFT ดั้งเดิมอย่างแท้จริงซึ่งการสรุปผลสำเร็จหลังจากสล็อต

  • ดังนั้น สิ่งที่ Ethereum ประสบความสำเร็จในวันนี้คือ:เวลาสรุปปานกลาง

  • — ใช้เวลานานกว่าเมื่อเทียบกับการสรุปผล BFT แบบดั้งเดิมในช่องเดียว แต่ไม่ใช่สัปดาห์หรือเดือนโหลดโซ่ปานกลาง

  • - ข้อความนับพันต่อช่อง แต่น้อยกว่าแสนข้อความเมื่อใช้ BFT แบบดั้งเดิมจำนวนโหนดปานกลาง

——การเป็นผู้ตรวจสอบต้องมีคำมั่นสัญญา 32 ETH: เมื่อเทียบกับอัลกอริทึมฉันทามติแบบลูกโซ่ เกณฑ์จะสูงกว่า ในอัลกอริทึมฉันทามติแบบลูกโซ่ แม้แต่โทเค็นจำนวนเล็กน้อยก็สามารถมีส่วนร่วมในฉันทามติได้ จำนวนมาก โทเค็นต่ำกว่าเกณฑ์มาก

การสนับสนุนของ Ethereum สำหรับ chainloads ที่มีความแข็งแรงสูงขึ้นนั้นเปิดใช้งานโดยการเพิ่มประสิทธิภาพในการรวมลายเซ็น BLS เนื่องจากการเพิ่มประสิทธิภาพเหล่านี้ เชนโหลดที่มีความเข้มสูง (ในแง่ของข้อความต่อวินาที) จึงสามารถแปลเป็นเชนโหลดที่ต้องการเพียงข้อมูลปานกลางและโอเวอร์เฮดของ CPU

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

การรวมกันของอัลกอริทึมฉันทามติแบบลูกโซ่และอัลกอริธึมฉันทามติ BFT แบบดั้งเดิม ควบคู่ไปกับการปรับปรุงประสิทธิภาพอย่างแท้จริงที่ได้รับจาก BLS ก่อให้เกิดอัลกอริทึมฉันทามติในปัจจุบันของ Ethereum

แล้วทำไมต้องเปลี่ยน?

ในช่วงหลายปีนับตั้งแต่โปรโตคอลฉันทามติของ Ethereum ดั้งเดิมได้รับการพัฒนาโดยใช้เหตุผลข้างต้น เรามีข่าวดีและข่าวร้ายที่สำคัญ

ข่าวร้าย: กลไกฉันทามติแบบผสมมีปัญหาที่หลีกเลี่ยงไม่ได้มากมาย

กลไกฉันทามติแบบผสมรวมกฎการเลือกส้อมและเครื่องมือขั้นสุดท้าย กลไกแรกใช้เพื่อเลื่อนช่องฉันทามติทีละช่อง และส่วนหลังใช้เพื่อจบบล็อกในภายหลัง ปัญหาที่ใหญ่ที่สุดของกลไกฉันทามติแบบผสมผสานคือ:

  • ประสบการณ์ผู้ใช้: ผู้ใช้ส่วนใหญ่ไม่ต้องการรอ 15 นาทีเพื่อให้การทำธุรกรรมเสร็จสิ้น ปัจจุบัน การแลกเปลี่ยนโดยทั่วไปถือว่าการฝากเงิน "สรุปผล" หลังจากการยืนยัน 12 ถึง 20 ครั้ง (ประมาณ 3 ถึง 5 นาที) แม้ว่าการยืนยัน 12 ถึง 20 PoW จะรับประกันความปลอดภัยที่อ่อนแอ (ไม่เหมือนกับของจริงเมื่อเทียบกับการสรุปผล PoS)

  • การปรับโครงสร้าง MEV: กลไกฉันทามติแบบไฮบริดยังคงรักษาข้อเท็จจริงที่ว่าการปรับโครงสร้างองค์กรในระยะสั้นนั้นเป็นไปได้ ดังนั้นจึงเป็นการเปิดประตูให้ผู้ตรวจสอบที่เป็นอันตรายซึ่งมีส่วนใกล้เคียงหรือส่วนใหญ่สมรู้ร่วมคิดในการจัดระเบียบบล็อกเชนใหม่เพื่อดึงค่า MEV บทความนี้พัฒนาอาร์กิวเมนต์นี้ในรายละเอียดเพิ่มเติม

  • ข้อบกพร่องในการโต้ตอบ: "อินเทอร์เฟซ" ระหว่างการสรุป Casper FFG และตัวเลือก LMD GHOST fork นั้นทำให้เกิดความซับซ้อนอย่างมาก ซึ่งนำไปสู่การโจมตีจำนวนมากที่ต้องใช้แพตช์ที่ค่อนข้างซับซ้อนในการแก้ไข และมีการค้นพบจุดอ่อนเพิ่มเติมเป็นระยะๆ

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

ข่าวดี: ชุดเครื่องมือตรวจสอบขนาดใหญ่มากเป็นไปได้มากกว่าที่คุณคิดเนื่องจากการรวม BLS

ประสิทธิภาพเฉพาะที่ BLS ทำได้นั้นดีขึ้นอย่างก้าวกระโดดในช่วงสามปีที่ผ่านมา ในขณะที่เราได้เรียนรู้เพิ่มเติมเกี่ยวกับวิธีประมวลผลและรวมข้อความและข้อมูลจำนวนมากอย่างมีประสิทธิภาพ

  • การใช้ BLS เพื่อสนับสนุนตัวตรวจสอบความถูกต้องจำนวนมากต้องเผชิญกับปัญหาคอขวดที่สำคัญสองประการ:

  • การตรวจสอบขั้นสุดท้าย: การตรวจสอบลายเซ็นจากตัวตรวจสอบ N ตัวต้องใช้ ECADD มากถึง N/2 เพื่อคำนวณคีย์สาธารณะของกลุ่มและ N บิต (N/8 ไบต์) ของบิตฟิลด์เพื่อจัดเก็บผู้เข้าร่วม ในทางปฏิบัติ ตัวเลขเหล่านี้จำเป็นต้องเพิ่มขึ้นมากถึง 16 เท่า เนื่องจากต้องใช้ตัวรวบรวมที่ซ้ำซ้อนสำหรับการผสานรวมการดู

การรวม: การรวมลายเซ็นที่ส่งโดยผู้ตรวจสอบ N แต่ละคนให้เป็นลายเซ็นรวม การดำเนินการนี้ต้องการแบนด์วิดท์รวมอย่างน้อย 96*N ไบต์ในการประมวลผล และต้องการอย่างน้อย N ECADDs ที่ด้านบนสุดของกลุ่ม G2 (มากกว่า 4 เท่าที่ต้องใช้การคำนวณมาก) แต่จะกระจายข้ามเครือข่ายย่อยได้ง่ายกว่า

ในความเป็นจริงการตรวจสอบความถูกต้องขั้นสุดท้ายนั้นดีมาก ECADD เดียวสามารถทำได้ในเวลาประมาณ 500 นาโนวินาที (ns) ดังนั้น 1 ล้าน ECADD จะใช้เวลาประมาณ 500 มิลลิวินาที (ms) ขนาดของฟิลด์ตัวตรวจสอบความถูกต้อง 1 ล้านมีขนาดเพียง 128 กิโลไบต์

ความซ้ำซ้อนของการดูผสานอาจต้องการการตรวจสอบลายเซ็นส่วนบุคคลสูงสุด 16 รายการต่อสล็อต ซึ่งจะเพิ่มข้อกำหนดในการจัดเก็บข้อมูลเป็น 2 MB ที่ยังสามารถจัดการได้ (โดยประมาณเท่ากับขนาดของข้อมูล Blob สูงสุดต่อบล็อกใน EIP-4844 และ ขีดจำกัดสูงสุดของขนาดข้อมูลการโทรต่อบล็อกในปัจจุบัน) ในขณะที่ค่าใช้จ่ายในการดำเนินการ ECADD กรณีที่แย่ที่สุดจะเพิ่มขึ้นประมาณ 8 เท่า (เนื่องจากเคล็ดลับการคำนวณล่วงหน้าอันชาญฉลาด จึงไม่จำเป็นต้องเพิ่มขึ้น 16 เท่า)

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

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

ข้อเท็จจริงทั้งสองนี้รวมกันหมายความว่าการแลกเปลี่ยนไม่ได้เอนเอียงไปที่การประนีประนอมระหว่าง PoS แบบลูกโซ่และแบบ BFT อีกต่อไป แต่เป็นโซลูชันที่ใกล้เคียงกับเส้นทาง BFT แบบดั้งเดิมเต็มรูปแบบมากกว่า โดยเป็นต่อบล็อก

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

  • มีคำถามสำคัญสามข้อ:พัฒนาอัลกอริทึมที่เป็นเอกฉันท์: เราไม่ค่อยยอมรับ Tendermint หรืออัลกอริทึม BFT อื่นๆ ที่มีอยู่ เนื่องจากเราให้ความสำคัญกับสิ่งนี้มาก แม้ว่าในในกรณีของ Validator แบบออฟไลน์ บล็อกเชนยังคงสามารถคงอยู่ได้ (BFT ดั้งเดิมไม่ได้จัดเตรียมไว้ให้) เราจำเป็นต้องเพิ่มกฎการเลือกทางแยก การรั่วไหลของการไม่ใช้งาน และกลไกการกู้คืนเพื่อเปิดใช้งานความมีชีวิตชีวานี้ ตามหลักการแล้ว เราควรมีความปลอดภัยสูงสุด: เมื่อเครือข่ายถูกซิงโครไนซ์ อัตราการยอมรับข้อผิดพลาดจะเท่ากับ。

  • ; เมื่อเครือข่ายไม่ซิงโครไนซ์ อัตราการยอมรับข้อผิดพลาดคือกำหนดกลยุทธ์การรวมที่เหมาะสมที่สุด ให้ได้มากที่สุดเราต้องการรวมจาก

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

กำหนดแบบจำลองทางเศรษฐกิจของตัวตรวจสอบความถูกต้อง แม้จะมีการปรับปรุงในสองขั้นตอนของการรวมและการตรวจสอบขั้นสุดท้าย แต่ในที่สุดช่องเดียวที่สรุป Ethereum อาจสามารถรองรับขีดจำกัดบนทางทฤษฎีของจำนวนตัวตรวจสอบความถูกต้องที่น้อยกว่า Ethereum ปัจจุบัน หากจำนวนนี้ลงเอยด้วยจำนวนที่น้อยกว่าจำนวนผู้ตรวจสอบความถูกต้องที่เข้าร่วม เราจะจำกัดการมีส่วนร่วมได้อย่างไร และเราเสียสละอะไรบ้าง

อัลกอริทึมฉันทามติที่แน่นอนจะมีลักษณะอย่างไร

เราต้องการอัลกอริทึมที่เป็นเอกฉันท์ซึ่งเป็นไปตามกระบวนทัศน์ "finalization chain + optimistic chain" ของ Casper FFG + LMD GHOST ภายใต้สภาวะที่รุนแรง chain ในแง่ดีสามารถย้อนกลับได้สิ่งนี้ต้องการการผสมผสานระหว่างกฎการเลือกทางแยกและเครื่องมือขั้นสุดท้ายที่คล้ายคลึงกันกับความเห็นพ้องที่มีอยู่ โดยมีข้อแตกต่างที่สำคัญประการหนึ่ง: ในปัจจุบัน เรามักจะเรียกใช้กฎการเลือกทางแยกและเครื่องมือขั้นสุดท้ายพร้อมกัน แต่ในช่องเดียว ในโลกของขั้นสุดท้าย เราอาจเรียกใช้ กฎการเลือกส้อม หรือเครื่องมือขั้นสุดท้าย: ถ้าน้อยกว่า

ของผู้ตรวจสอบความถูกต้องออนไลน์และทำงานอย่างตรงไปตรงมา ให้รันอันแรก มิฉะนั้นให้รันอันหลัง

ข้อเสนอเฉพาะสำหรับอัลกอริทึมนี้ยังอยู่ระหว่างดำเนินการ ยังไม่มีการเผยแพร่ผลลัพธ์หรือเอกสารที่เป็นทางการ

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

ผู้ตรวจสอบ ประการแรก ผู้ตรวจสอบความถูกต้องในแต่ละคณะกรรมการเผยแพร่ลายเซ็นของพวกเขาในเครือข่ายย่อย p2p ที่อุทิศให้กับคณะกรรมการนั้น มีผู้รวบรวมที่กำหนด 16 คนในแต่ละคณะกรรมการ และผู้รวบรวมแต่ละคนจะรวมลายเซ็นทั้งหมดที่เห็นเป็นลายเซ็นรวม (ฟิลด์ 96 ไบต์ + 256 บิต) ผู้รวบรวมที่กำหนดจะเผยแพร่ลายเซ็นรวมของตนไปยังซับเน็ตหลัก

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

  • (หรืออะไรก็ตามที่เรามี) ตัวตรวจสอบความถูกต้อง สิ่งนี้ต้องการหนึ่งในสองการแลกเปลี่ยน:

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

กลุ่มและสุดท้ายคือชุดตัวตรวจสอบความถูกต้องทั้งหมด

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

การวิจัยเชิงวิเคราะห์เกี่ยวกับกลยุทธ์ทั้งสองนี้กำลังดำเนินอยู่

อะไรคือปัญหาของโมเดลเศรษฐกิจของ Validator?ปัจจุบัน Ethereum มีประมาณตัวตรวจสอบที่ใช้งานอยู่ (445,064 ในขณะที่เขียนเพื่อความแม่นยำ) แต่ละตัวมีการเดิมพัน 32 ETH เมื่อถึงเวลาสิ้นสุดช่องเดียว จำนวนผู้ตรวจสอบความถูกต้องอาจเพิ่มขึ้นเป็น

หรือสูงกว่านั้น

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

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

ข่าวดี: ประโยชน์จากการสนับสนุนการรวมยอดคงเหลือของเครื่องมือตรวจสอบความถูกต้องที่เกิดขึ้นเอง

เนื่องจากการสิ้นสุดของช่องเดียวจะลบแนวคิดของคณะกรรมการ (และแม้แต่การหักเงินแบบ Danksharding ก็ไม่ได้ใช้คณะกรรมการที่มีขนาดคงที่) เราจึงไม่ต้องการตัวตรวจสอบยอดคงเหลือที่มีประสิทธิภาพที่ 32 ETH อีกต่อไป เมื่อพิจารณาความเสถียรของเครือข่าย p2p เรายังต้องการขีดจำกัดบนที่สูงขึ้น (เช่น 2048 ETH) แต่ถึงอย่างนั้นก็หมายความว่าช่องตรวจสอบความถูกต้องจำนวนมากที่มิฉะนั้นจะเป็นของผู้ใช้ที่มีฐานะดีจะถูกรวมเข้ากับช่องตรวจสอบความถูกต้องจำนวนน้อย .

เราสามารถใช้กฎของ Zipf เพื่อประเมินผลตอบแทนของการผสานรวม Validator Slot กับผู้ใช้ที่ร่ำรวย: จำนวนผู้เดิมพันที่มียอดคงเหลือที่กำหนดจะแปรผกผันกับยอดคงเหลือ (ดังนั้นจำนวนผู้เดิมพันที่มียอดคงเหลือ 100-2,000 ETH จะเท่ากับจำนวน ของผู้เดิมพันที่มียอดคงเหลือ 1,000-2,000 ETH 10 เท่าของจำนวนผู้เข้าร่วม)

เมื่อใช้ข้อมูลย้อนหลังจาก beacon chain กฎของ Zipf ดูเหมือนจะเหมาะสมกับการกระจายอย่างถูกต้อง:สมมติว่าเป็นไปตามกฎของ ZipfนักเดิมพันจะมีประมาณETH แล้วต้องวันนี้ช่องตรวจสอบความถูกต้อง กำกรอกสูตรนี้ด้วย 33.5 ล้าน ETH เราสามารถรับจำนำได้ทั้งหมด 65,536 ราย และ Ethereum ในปัจจุบันจำเป็นต้องใช้

ช่องตรวจสอบความถูกต้อง ดังนั้น การถอดขีดยอดคงเหลือที่มีประสิทธิภาพออกทั้งหมดจะลดจำนวนสล็อตตัวตรวจสอบความถูกต้องที่ต้องประมวลผลเหลือ 65536 ในขณะที่การรักษาขีดสูงสุดไว้ที่ 2048 ETH (เพิ่มขึ้นจาก 32 ETH ปัจจุบัน) จะเพิ่มตัวตรวจสอบความถูกต้องเพิ่มเติมประมาณ 1,000 ถึง 2,000 ตัวเท่านั้น เพียง ~2x ของประสิทธิภาพโดยรวมหรือ ~2x ของโหลดเพื่อให้สามารถจัดการ single slot Finality ในกรณีปัจจุบันได้!

ข้อดีนี้ยังยุติธรรมกว่าสำหรับนักเดิมพันรายย่อยที่สามารถเดิมพันยอดคงเหลือทั้งหมดแทนที่จะเป็นบางส่วน (เช่น คนที่เป็นเจ้าของ 48 ETH สามารถเดิมพันได้เพียง 2/3 ของ ETH เท่านั้น) รางวัลการเดิมพันจะถูกเดิมพันใหม่โดยอัตโนมัติ ทำให้แม้แต่ผู้ตรวจสอบความถูกต้องขนาดเล็กก็ได้รับประโยชน์จากการทบต้น ในความเป็นจริง อาจเป็นความคิดที่ดีที่จะเพิ่มขีดจำกัดการเดิมพันเป็น 2048 ETH ด้วยเหตุผลนี้!

อย่างไรก็ตาม เรายังจำเป็นต้องจัดการกับข้อยกเว้น: (i) การกระจายตัวตรวจสอบความถูกต้องไม่เป็นไปตามกฎหมายของ Zipf อีกต่อไป หรือ (ii) ตัวตรวจสอบความถูกต้องที่มั่งคั่งไม่ต้องการรวมยอดคงเหลือ หรือ (iii) เดิมพันมากกว่า 33 ล้าน ETH

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

แนวคิดที่ 1: คณะกรรมการระดับสูง

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

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

ในกลยุทธ์นี้ "ใครอยู่และใครจะไป" คือ: ทุกคนจะอยู่เป็นส่วนหนึ่งของเวลาและออกจากอีกส่วนหนึ่งของเวลา

ซุปเปอร์กรรมการต้องใหญ่แค่ไหน?

คำถามนี้สรุปเป็นคำถามที่ง่ายกว่า: การโจมตี Ethereum 51% มีค่าใช้จ่ายเท่าใด ตามหลักการแล้ว จำนวน ETH ที่ถูกเฉือนเนื่องจากการโจมตีและบทลงโทษสำหรับการก่อวินาศกรรมจะต้องมากกว่าที่ได้รับจริงจากการโจมตี ค่าใช้จ่ายในการโจมตีควรสูงพอที่จะยับยั้งหรือทำให้ผู้โจมตีที่ทรงพลังมีแรงจูงใจภายนอกที่แข็งแกร่งในการทำลายเครือข่าย

  • การตอบคำถามว่าจำเป็นต้องใช้ ETH เท่าใดเพื่อให้บรรลุเป้าหมายนี้ต้องอาศัยสัญชาตญาณอย่างหลีกเลี่ยงไม่ได้ ต่อไปนี้เป็นคำถามที่เราสามารถถามได้:

  • สมมติว่า Ethereum ถูกโจมตี 51% ชุมชนจะใช้เวลาสองสามวันในการประสานงานการกำกับดูแลแบบออฟไลน์เพื่อกู้คืน และ X% ของ ETH จะถูกเผา X จำเป็นต้องมีขนาดใหญ่เท่าใดจึงจะได้รับประโยชน์สุทธิจากระบบนิเวศ Ethereum?

  • สมมติว่าการแลกเปลี่ยนขนาดใหญ่ถูกแฮ็กทำให้สูญเสีย ETH นับล้าน ผู้โจมตีจะฝากเงินที่ได้รับและเข้าใช้มากกว่า 51% ของผู้ตรวจสอบความถูกต้อง ผู้โจมตีสามารถทำการโจมตี 51% บนเครือข่ายได้กี่ครั้งก่อนที่เงินที่ถูกขโมยจะถูกทำลายอย่างสมบูรณ์?

  • การประมาณการจาก Justin Drake แนะนำว่าต้นทุนปัจจุบันของการโจมตีค่ายวางไข่บน Bitcoin (นั่นคือ 51% ของการโจมตีที่ดำเนินต่อไปจนกว่าชุมชนจะเปลี่ยนอัลกอริทึม PoW) อยู่ที่ประมาณ 10 พันล้านเหรียญหรือ 1% ของมูลค่าตลาดของ Bitcoin ค่าใช้จ่ายในการโจมตี 51% บน Ethereum ควรเป็นกี่ครั้ง?

คำอธิบายภาพ

การลงคะแนนภายในโดยนักวิจัย Ethereum

หากเรามุ่งเน้นเฉพาะการโจมตี 51% ที่ไม่อาศัยเวลาแฝงของเครือข่าย ค่าใช้จ่ายในการโจมตี 1 ล้าน ETH หมายถึงคณะกรรมการระดับใหญ่ที่มีขนาด 2 ล้าน ETH (ผู้ตรวจสอบความถูกต้องประมาณ 65,536 คน) หากเราพิจารณาการโจมตี 34% ที่เกี่ยวข้องกับการผสมผสานที่ซับซ้อนระหว่างตัวตรวจสอบความถูกต้องที่เป็นอันตรายและการจัดการเครือข่าย ระดับของ ETH คือ 3 ล้าน ETH (ประมาณ 97,152 ตัวตรวจสอบความถูกต้อง)

ต้นทุนความซับซ้อน

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

  • เราต้องการรหัสข้อกำหนดหลายร้อยบรรทัดเพื่อเลือกคณะกรรมการระดับสูงและหมุนเวียนพวกเขา

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

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

แนวคิดที่ 2: กำหนดขีดจำกัดบนของขนาดชุดตัวตรวจสอบ

  • เราสามารถลองใช้โครงร่างการกำหนดสูงสุดหนึ่ง (หรือทั้งสอง) สองประเภท:

  • กำหนดขีดจำกัดบนของจำนวน ETH ที่ให้คำมั่นไว้ทั้งหมด

กำหนดขีดจำกัดสูงสุดของจำนวนผู้ตรวจสอบทั้งหมด

แผนการกำหนดแต่ละรายการสามารถนำไปใช้กับทางเลือกของกลไกตามคำสั่ง (กองหรือคิว) หรือกลไกที่ควบคุมโดยแบบจำลองทางเศรษฐศาสตร์

  • กลไกตามลำดับมีปัญหามากมาย เพื่อทำความเข้าใจว่าทำไม ให้พิจารณากลยุทธ์ตามคำสั่งสองประเภท:

  • Keep Oldest Validator (OVS): หากชุดของ Validator เต็ม จะไม่มีใครเข้าร่วมได้อีก

Keep Newest Validator (NVS): หากชุดของ Validator เต็มแล้ว Validator ที่เก่าที่สุดจะถูกเตะออก

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

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

เปลี่ยนเป็นสิ่งที่ต้องการ:ในเป็นรางวัลสำหรับผู้ตรวจสอบที่ประพฤติดี (ผู้ตรวจสอบที่มีผลงานน้อยจะได้รับรางวัลที่ค่อนข้างต่ำ) และ

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

ETH (ประมาณ 33.5 ล้าน ETH) มีแนวโน้มที่จะมีค่าเป็นลบ ดังนั้นไม่ว่ารางวัลภายนอกจะสูงเพียงใด ขนาดของชุดเครื่องมือตรวจสอบความถูกต้องจะต้องไม่เกินขีดจำกัดบนนี้

ข้อดีของแนวทางนี้คือหลีกเลี่ยงการออกแบบคิวไดนามิกโดยสิ้นเชิง: มันจะไปถึงจุดสมดุลไม่ว่าจุดสมดุลจะอยู่ที่ใด ขนาดชุดของเครื่องมือตรวจสอบความถูกต้องจะถึงจุดสมดุลในที่สุด (ภายใต้เงื่อนไขปัจจุบัน ผู้ตรวจสอบความถูกต้องไม่ต้องการมีส่วนร่วมอีกต่อไป) .

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

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

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

, พวกเราสามารถทำได้:

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

ลดลง) เราสามารถบรรเทาสิ่งนี้ได้โดยการเพิ่มค่าธรรมเนียมต่อช่องตรวจสอบความถูกต้องจนถึงจุดที่การโจมตีดังกล่าวไม่คุ้มค่าภายใต้การแจกจ่าย Zipf อย่างไรก็ตาม ช่องโหว่ที่อาจเกิดขึ้นยังคงอยู่หากไม่ปฏิบัติตามการกระจาย Zipf อีกต่อไป

  • ปัญหาที่สำคัญของข้อเสนอเหล่านี้คือการเปลี่ยนแปลงการรับประกันความปลอดภัยที่มีอยู่ โดยเฉพาะ:

  • คณะกรรมการระดับสูงลดค่าใช้จ่ายของห่วงโซ่การโจมตีจาก 1/3 ของจำนวนเงินเดิมพันทั้งหมดเป็นประมาณ 1 ถึง 2 ล้าน ETH

  • กำหนดจำนวนเงินจำนำทั้งหมดหรือขีดจำกัดบนของจำนวนผู้ตรวจสอบทั้งหมดผ่านแบบจำลองเศรษฐกิจเพื่อออกแบบและเปลี่ยนแปลงสูตรการออก ETH ลดรายได้ของผู้จำนำ และเพิ่มการโจมตีที่เป็นอันตราย

การพิจารณาอย่างรอบคอบยังคงมีความจำเป็นเพื่อพิจารณาว่าการแลกเปลี่ยนใดที่ชุมชนยอมรับได้มากที่สุด

สรุป

สรุป

  • มีคำถามหลักสามข้อในการวิจัยที่นี่:

  • พัฒนาอัลกอริทึมฉันทามติเฉพาะและรวมอัลกอริทึมฉันทามติ BFT กับกฎการเลือกทางแยกในขอบเขตที่จำกัด

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

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

ลิงค์ต้นฉบับ

ลิงค์ต้นฉบับ

ETH
Vitalik
ยินดีต้อนรับเข้าร่วมชุมชนทางการของ Odaily
กลุ่มสมาชิก:
https://t.me/Odaily_News
กลุ่มสนทนา:
https://t.me/Odaily_GoldenApe
บัญชีทางการ:
https://twitter.com/OdailyChina
สารบัญบทความ
คลังบทความของผู้เขียน
ECN以太坊中国
ดาวน์โหลดแอพ Odaily พลาเน็ตเดลี่
ให้คนบางกลุ่มเข้าใจ Web3.0 ก่อน
IOS
Android