หมายเหตุ: เพื่อวัตถุประสงค์ในการทำให้โมเดล Rollup เข้าใจและวิเคราะห์ได้ง่ายขึ้น NashQ นักวิจัยของ Celestia ได้แบ่ง Rollup Sequencer ออกเป็นเอนทิตีเชิงตรรกะสองรายการ ได้แก่ Aggregator และ Header Producer ในเวลาเดียวกัน เขาได้แบ่งกระบวนการสั่งซื้อธุรกรรมออกเป็นสามขั้นตอนเชิงตรรกะ: การรวม การสั่งซื้อ และการดำเนินการ
ด้วยการคิดเชิงวิเคราะห์นี้ ตัวแปรหลัก 6 ประการของ Sovereign Rollup จึงชัดเจนและเข้าใจง่ายกว่า NashQ อภิปรายในรายละเอียดเกี่ยวกับการต่อต้านการเซ็นเซอร์และความมีชีวิตชีวาของ Rollup Variation ต่างๆ รวมถึงการกำหนดค่าขั้นต่ำของ Rollup Variant Node แต่ละโหนดในสถานะการลดความน่าเชื่อถือ (นั่นคือ เพื่อให้บรรลุสถานะ Trustless อย่างน้อยที่สุดประเภทของโหนดที่ผู้ใช้ Rollup ต้องการ วิ่ง).
แม้ว่าบทความนี้จะวิเคราะห์ Rollup จากมุมมองของ Celestia ซึ่งแตกต่างจากวิธีที่ชุมชน Ethereum วิเคราะห์โมเดล Rollup เมื่อพิจารณาถึงความเชื่อมโยงมากมายระหว่าง Ethereum Rollup และ Celestia Sovereign Rollup รวมถึงอิทธิพลที่เพิ่มขึ้นของอย่างหลัง บทความนี้ก็มีความสำคัญอย่างมากเช่นกัน น่าอ่านสำหรับผู้ที่ชื่นชอบ Ethereum
Rollups คือบล็อกเชนที่โพสต์ข้อมูลธุรกรรมไปยังบล็อกเชนอื่น และสืบทอดความเห็นพ้องต้องกันและความพร้อมใช้งานของข้อมูล
เหตุใดฉันจึงเปลี่ยน "บล็อก" เป็น "ข้อมูลธุรกรรม" ที่นี่ ฉันจะบอกความแตกต่างระหว่างบล็อกการสรุปและข้อมูลการสรุป และแสดงให้คุณเห็นว่าการสรุปขั้นต่ำต้องการเพียงข้อมูลการสรุปในตัวแปรแรกของเรา
Rollup Block คือโครงสร้างข้อมูลที่เป็นตัวแทนของ Blockchain ที่ระดับความสูงหนึ่ง ประกอบด้วยข้อมูลโรลอัพและส่วนหัวของโรลอัพ และข้อมูลค่าสะสมอาจเป็นชุดของธุรกรรมหรือสถานะความแตกต่างระหว่างชุดธุรกรรม
วิธีที่ง่ายที่สุดในการสร้าง Rollup เริ่มต้นด้วยการที่ผู้ใช้โพสต์ธุรกรรมไปยังบล็อกเชนอื่น เราจะเรียกบล็อกเชนนี้ว่าชั้นฉันทามติและความพร้อมใช้งานของข้อมูล แต่ฉันจะย่อให้เหลือ DA-Layer ในไดอะแกรมทั้งหมดต่อไปนี้ (หมายเหตุ: คล้ายกับ Layer1 ที่มักอ้างถึงในชุมชน Ethereum)
ในตัวแปรแรกของเรา ทุกโหนดสะสมจะต้องเล่นซ้ำธุรกรรมทั้งหมดบนบล็อคเชนเพื่อตรวจสอบสถานะใหม่ล่าสุด เราเพิ่งสร้าง Rollup ที่มองโลกในแง่ร้าย!
การยกเลิกในแง่ร้ายคือการยกเลิกที่รองรับเฉพาะโหนดเต็มรูปแบบที่เล่นซ้ำธุรกรรมทั้งหมดในการยกเลิกเพื่อตรวจสอบความถูกต้อง
แต่ในกรณีนี้ ใครคือผู้จัดลำดับในกรณีนี้? ไม่มีเอนทิตีใดที่ดำเนินธุรกรรมจริง ๆ นอกเหนือจากการสะสมโหนดแบบเต็มด้วยตนเอง โดยปกติแล้ว ซีเควนเซอร์จะรวมธุรกรรมและสร้างส่วนหัวของค่าสะสม แต่ในกรณีนี้จะไม่มีส่วนหัว!
เพื่ออำนวยความสะดวกในการอภิปราย เราแบ่งซีเควนเซอร์ออกเป็นสองเอนทิตีเชิงตรรกะ: ผู้รวบรวมและผู้สร้างส่วนหัวจะแยกความแตกต่าง เอนทิตีหนึ่งจะต้องรับรู้สถานะ (เช่น ต้องดำเนินการสถานะเพื่อคำนวณส่วนหัว) แต่ผู้รวบรวมไม่จำเป็นต้องเข้าใจสถานะเพื่อให้สามารถรวมเข้าด้วยกันได้
การจัดลำดับเป็นกระบวนการรวมและการผลิตส่วนหัว
การรวมเป็นกระบวนการของการรวมธุรกรรมเป็นชุดเดียว ชุดของธุรกรรมประกอบด้วยหนึ่งธุรกรรมขึ้นไป (หมายเหตุ: แบทช์เป็นส่วนหนึ่งของข้อมูลในบล็อก Rollup ยกเว้นส่วนหัว)
การผลิตส่วนหัวคือกระบวนการสร้างส่วนหัวของค่าสะสม
Rollup Header คือข้อมูลเมตาเกี่ยวกับบล็อก ซึ่งอย่างน้อยที่สุดจะรวมข้อผูกพันต่อธุรกรรมในบล็อกนั้น (หมายเหตุ: ความมุ่งมั่นในที่นี้หมายถึงความมุ่งมั่นต่อความถูกต้องของผลการประมวลผลธุรกรรม)
จากมุมมองข้างต้น เราจะเห็นว่าใครมีบทบาทในแต่ละองค์ประกอบของชุดรวมอัปเดต มาดูในส่วนของตัวรวบรวมกันก่อน การสรุปในแง่ร้ายที่กล่าวถึงก่อนหน้านี้ไม่มีกระบวนการผลิตส่วนหัว และผู้ใช้เผยแพร่ธุรกรรมโดยตรงไปยัง DA-Layer ซึ่งหมายความว่าเครือข่าย DA-Layer ทำหน้าที่เป็นผู้รวบรวมเป็นหลัก
Rollup ในแง่ร้ายเป็นอีกรูปแบบหนึ่งของ Rollup ที่มอบหมายขั้นตอนการรวมกลุ่มให้กับ DA-Layer มันไม่มีซีเควนเซอร์ บางครั้งการยกเลิกประเภทนี้เรียกว่า "การยกเลิกตาม"
Based Rollup มีความต้านทานการเซ็นเซอร์และความมีชีวิตชีวาเช่นเดียวกับ DA-Layer (กิจกรรมจะวัดความเร็วการตอบสนองของระบบต่อคำขอของผู้ใช้) หากผู้ใช้ Rollup ประเภทนี้ต้องการได้รับสถานะความน่าเชื่อถือขั้นต่ำ (ใกล้กับ Trustless มากที่สุด) พวกเขาจะต้องเรียกใช้ไลท์โหนด DA-Layer และโหนดเต็มของ Rollup เป็นอย่างน้อย
เรามาหารือเกี่ยวกับการรวมกลุ่มในแง่ร้ายโดยใช้เครื่องมือรวบรวมที่ใช้ร่วมกัน แนวคิดนี้เสนอโดย Evan Forbes ในโพสต์ในฟอรัมของเขาเกี่ยวกับการออกแบบซีเควนเซอร์ที่ใช้ร่วมกัน สมมติฐานหลักคือว่าตัวเรียงลำดับที่ใช้ร่วมกันเป็นวิธีเดียวที่เป็นทางการในการจัดลำดับธุรกรรมEvan อธิบายประโยชน์ของตัวเรียงลำดับที่ใช้ร่วมกันดังนี้:
“ในการปลดล็อค UX ที่เทียบเท่ากับ web2 ซีเควนเซอร์ที่ใช้ร่วมกัน […] สามารถให้ข้อผูกพันแบบนุ่มนวลที่รวดเร็ว (หมายเหตุ: ไม่ใช่การรับประกันที่เชื่อถือได้มากนัก) Soft Commitment เหล่านี้ให้คำมั่นสัญญาบางประการในการเรียงลำดับธุรกรรมขั้นสุดท้าย (นั่นคือสัญญาว่าลำดับธุรกรรมจะไม่เปลี่ยนแปลง) และสามารถใช้เพื่อสร้างเวอร์ชันที่อัปเดตก่อนกำหนดของสถานะ (แต่การสรุปยังไม่เสร็จสมบูรณ์ที่ เวลานี้).
ทันทีที่ Blockdata ได้รับการยืนยันว่าถูกโพสต์บน Baselayer (s/b หมายถึง DAlayer) สถานะก็ถือเป็นที่สิ้นสุด”
เนื่องจากเรายังคงเป็น Rollup ที่มองโลกในแง่ร้าย เราจึงมีเพียง Rollup Full Nodes และไม่มี Light Node แต่ละโหนดต้องทำธุรกรรมทั้งหมดเพื่อรับประกันความถูกต้อง ไม่มีไลท์โหนดในระบบนี้ ดังนั้นจึงไม่จำเป็นต้องมีส่วนหัวแบบสะสม หรือที่เรียกว่าผู้สร้างส่วนหัว (หมายเหตุ: โดยทั่วไปแล้ว light node ของ blockchain ไม่จำเป็นต้องซิงโครไนซ์บล็อกทั้งหมด แต่จะรับเฉพาะส่วนหัวของบล็อกเท่านั้น)
เนื่องจากไม่มีขั้นตอนการสร้าง Rollup Header ซีเควนเซอร์ที่ใช้ร่วมกันของ Rollup ที่กล่าวถึงข้างต้นจึงไม่จำเป็นต้องดำเนินการธุรกรรมสำหรับการอัพเดตสถานะ (ข้อกำหนดเบื้องต้นสำหรับการผลิต Header) แต่จะรวมเฉพาะกระบวนการรวบรวมข้อมูลธุรกรรมเท่านั้น ดังนั้นฉันจึงชอบที่จะเรียกมันว่าผู้รวบรวมที่ใช้ร่วมกัน
ในตัวแปรนี้ ผู้ใช้ Rollup ต้องดำเนินการอย่างน้อยต่อไปนี้ในสถานะลดความน่าเชื่อถือ:
โหนดแสง DA-Layer + โหนดแสงของเครือข่ายตัวรวบรวมที่ใช้ร่วมกัน + โหนดเต็มแบบ Rollup
ในเวลานี้ จำเป็นต้องตรวจสอบส่วนหัวของตัวรวบรวมที่เผยแพร่ (ไม่ได้อ้างอิงถึงส่วนหัวของ Rollup) ผ่านทางไลท์โหนดของเครือข่ายตัวรวบรวมที่ใช้ร่วมกัน ตามที่กล่าวไว้ข้างต้น ผู้รวบรวมที่ใช้ร่วมกันจะทำหน้าที่เรียงลำดับธุรกรรม ในส่วนหัวของตัวรวบรวมที่เผยแพร่ มีความมุ่งมั่นในการเข้ารหัสซึ่งสอดคล้องกับชุดที่เผยแพร่บน DA-Layer
ด้วยวิธีนี้ ผู้ดำเนินการของโหนด Rollup สามารถยืนยันได้ว่าแบทช์ที่ได้รับจาก DA-Layer นั้นถูกสร้างขึ้นโดยผู้รวบรวมที่ใช้ร่วมกัน ไม่ใช่โดยผู้อื่น
(เนื่องจากเนื้อหาด้านบนค่อนข้างคลุมเครือ สามารถอ่านแผนภาพได้อีกครั้ง)
การรวมเป็นกระบวนการที่ธุรกรรมได้รับการยอมรับในบล็อคเชน
การสั่งซื้อเป็นกระบวนการจัดเรียงธุรกรรมตามลำดับเฉพาะในบล็อกเชน
การดำเนินการคือกระบวนการที่ธุรกรรมในบล็อกเชนได้รับการประมวลผล และผลกระทบจะถูกนำไปใช้กับสถานะของบล็อกเชน
เนื่องจากผู้รวบรวมที่ใช้ร่วมกันควบคุมการรวมและการเรียงลำดับ เราจึงสืบทอดการต่อต้านการเซ็นเซอร์
หากเราถือว่า L_ss คือความมีชีวิตชีวาของผู้รวบรวมที่ใช้ร่วมกัน และ L_da คือความมีชีวิตชีวาของ DA-Layer ดังนั้นความมีชีวิตชีวาของโครงร่างนี้คือ L = L_da && L_ss กล่าวอีกนัยหนึ่ง หากระบบใดระบบหนึ่งมีความล้มเหลวในการใช้งาน ค่าสะสมก็มีความล้มเหลวในการใช้งานเช่นกัน
เพื่อความเรียบง่าย ฉันจะใช้ liveness เป็นบูลีน หากผู้รวบรวมที่ใช้ร่วมกันล้มเหลว เราจะดำเนินการยกเลิกต่อไปไม่ได้ หาก DA-Layer ล้มเหลว เราก็สามารถดำเนินการต่อด้วย Soft Commitment ของผู้รวบรวมที่ใช้ร่วมกันได้ ถึงกระนั้น เราก็คงต้องอาศัยฉันทามติและความพร้อมใช้งานของข้อมูลของผู้รวบรวมที่ใช้ร่วมกัน ซึ่งจะแย่กว่า DA-Layer ดั้งเดิม
มาสำรวจการต่อต้านการเซ็นเซอร์ของโซลูชัน Rollup ข้างต้นต่อไป:
ในรูปแบบนี้ DA-Layer ไม่สามารถเซ็นเซอร์ธุรกรรมเฉพาะได้ (หมายเหตุ: การตรวจสอบธุรกรรมมักจะปฏิเสธที่จะอนุญาตให้อัปโหลดธุรกรรมบางอย่างไปยังห่วงโซ่) สามารถตรวจสอบได้เฉพาะชุดการรวบรวมทั้งหมดที่ผู้รวบรวมที่ใช้ร่วมกันได้รวบรวมไว้แล้วเท่านั้น (ปฏิเสธแบทช์ที่จะรวมไว้ใน DA-Layer)
อย่างไรก็ตาม ตามขั้นตอนการทำงานของ Rollup เมื่อผู้รวบรวมการแบ่งปันส่งชุดธุรกรรมไปยัง DA-Layer ก็ถือว่าได้เสร็จสิ้นการจัดลำดับธุรกรรมแล้ว และลำดับระหว่างชุดงานที่แตกต่างกันก็ถูกกำหนดด้วย ดังนั้น การตรวจสอบธุรกรรมประเภทนี้โดย DA-Layer จึงไม่มีผลกระทบอื่นใดนอกจากการชะลอการสิ้นสุดบัญชีแยกประเภทของ Rollup
โดยสรุป ฉันเชื่อว่าจุดเน้นของการต่อต้านการเซ็นเซอร์คือเพื่อให้แน่ใจว่าไม่มีใครสามารถควบคุมหรือจัดการการไหลของข้อมูลภายในระบบได้ ในขณะที่ความมีชีวิตชีวาเกี่ยวข้องกับการรักษาฟังก์ชันการทำงานและความพร้อมใช้งานของระบบ แม้ว่าเครือข่ายจะขัดข้องก็ตาม และการกระทำของฝ่ายตรงข้าม แม้ว่าสิ่งนี้จะขัดแย้งกับคำจำกัดความทางวิชาการกระแสหลักในปัจจุบัน แต่ฉันก็ยังคงใช้คำจำกัดความของแนวคิดที่ฉันได้กล่าวไว้
แม้ว่าชุมชนจะได้รับประโยชน์จากเครื่องมือรวบรวมที่ใช้ร่วมกัน แต่เราต้องการหลีกเลี่ยงการพึ่งพาชุมชนดังกล่าวและต้องการใช้ทางเลือกสำรองไปยัง DA-Layer เราจะรวมการสั่งซื้อและอนุญาตให้ผู้ใช้ส่งธุรกรรมโดยตรงไปยัง DA-Layer มันรวมการรวมกลุ่มตามและแบ่งปัน
เราถือว่าการสั่งซื้อขั้นสุดท้ายจะถูกตีความว่าเป็นธุรกรรมทั้งหมดที่สั่งซื้อโดยผู้รวบรวมที่ใช้ร่วมกัน จากนั้นธุรกรรมที่อิงทั้งหมดหลังจากนั้นต่อบล็อก DA-Layer เราเรียกสิ่งนี้ว่ากฎการเลือกโรลอัพส้อม
การรวมเป็นกระบวนการสองขั้นตอนที่นี่ ขั้นแรก ผู้รวบรวมที่ใช้ร่วมกันจะเป็นผู้นำในการรวบรวมธุรกรรมบางอย่าง จากนั้น DA-Layer จะรวมเข้ากับแบทช์และธุรกรรมที่สั่งซื้อแล้วที่ผู้ใช้ส่งโดยตรง
การวิเคราะห์การต่อต้านการเซ็นเซอร์ในปัจจุบันมีความซับซ้อนมากขึ้น โหนดเครือข่าย DA-Layer อาจตรวจสอบแบทช์ที่ส่งโดยผู้รวบรวมที่ใช้ร่วมกันก่อนที่จะสร้างบล็อก DA-Layer ถัดไป หลังจากทราบข้อมูลธุรกรรมในชุดแล้ว โหนด DA-Layer จะสามารถแยกค่า MEV ได้ เริ่มต้นธุรกรรมที่ดำเนินการล่วงหน้าด้วยบัญชีของตนบนเครือข่าย Rollup และรวมไว้ในบล็อก DA-Layer ก่อนที่จะรวมชุดงานที่ส่งโดย Rollup ผู้รวบรวมที่ใช้ร่วมกัน
เห็นได้ชัดว่า ขั้นสุดท้ายของใบสั่งธุรกรรมที่รับประกันโดย Soft Commitment ของตัวแปร Rollup ประเภทที่สามนั้นเปราะบางกว่าประเภทที่สองของตัวแปร Rollup ที่กล่าวถึงข้างต้น ในกรณีนี้ ผู้รวบรวมที่ใช้ร่วมกันจะมอบค่า MEV ให้กับโหนด DA-Layer ฉันขอแนะนำให้ผู้อ่านดูการบรรยายเกี่ยวกับการเซ็นเซอร์ MEV ที่ทำกำไรได้
ในปัจจุบัน โซลูชันการออกแบบบางอย่างดูเหมือนจะลดความสามารถของโหนดเครือข่าย DA-Layer ในการดำเนินการธุรกรรม MEV ดังกล่าว เช่น ฟังก์ชัน "ช่วงกรอบเวลาการปรับโครงสร้างองค์กร" ซึ่งจะชะลอการทำธุรกรรมที่ผู้ใช้เครือข่าย Rollup ส่งโดยตรงไปยัง DA-Layer . Sovereign Labs ให้รายละเอียดสิ่งนี้ในข้อเสนอการออกแบบชื่อ Based Sequencing with Soft Confirmations โดยมีการเสนอแนวคิดของ "ตัวจัดลำดับที่ต้องการ"
เนื่องจาก MEV ขึ้นอยู่กับรูปแบบการรวบรวมที่คุณเลือกและกฎการเลือกส้อมของการรวบรวม บางส่วนจะไม่รั่วไหล และบางส่วนจะรั่วไหล MEV บางส่วนหรือทั้งหมดไปยัง DA-Layer แต่นั่นเป็นหัวข้อสำหรับวันอื่น
ในส่วนของความมีชีวิตชีวา การออกแบบโรลอัปนี้มีส่วนสำคัญมากกว่าการมีผู้รวบรวมที่แชร์ หากตัวรวบรวมที่ใช้ร่วมกันมีความล้มเหลวในการใช้งาน ผู้ใช้ยังคงสามารถส่งธุรกรรมไปยัง DA-Layer ได้
สุดท้ายนี้ เรามาพูดถึงการตั้งค่าที่ลดความน่าเชื่อถือให้น้อยที่สุด: ไลท์โหนด DA-Layer + ไลท์โหนดของผู้รวบรวมที่ใช้ร่วมกัน + โหนดเต็มแบบสะสม
ในเวลานี้ เรายังจำเป็นต้องตรวจสอบส่วนหัวของตัวรวบรวมที่ใช้ร่วมกันสำหรับโหนดเต็มแบบรวมของเรา เพื่อให้สามารถแยกแยะชุดธุรกรรมสำหรับกฎตัวเลือกส้อมได้
มาเริ่มทำอาหารไลท์โหนดโดยใช้ตัวแปรที่เรียกว่าการสรุปในแง่ดีตามพร้อมตัวสร้างส่วนหัวแบบรวมศูนย์ การออกแบบนี้ใช้ DA-Layer เพื่อรวมธุรกรรม แต่เราแนะนำตัวสร้างส่วนหัวแบบรวมศูนย์เพื่อเปิดใช้งานโหนดแสงแบบสะสม
โหนดแสง Rollup สามารถตรวจสอบความถูกต้องทางอ้อมของธุรกรรม Rollup ผ่านการพิสูจน์การฉ้อโกงรอบเดียว โหนดแสงจะมีทัศนคติในแง่ดีต่อตัวสร้าง Rollup Header และทำการยืนยันครั้งสุดท้ายหลังจากระยะเวลาป้องกันการฉ้อโกงสิ้นสุดลง ความเป็นไปได้อีกอย่างหนึ่งก็คือ ได้รับการพิสูจน์การฉ้อโกงจากโหนดเต็มรูปแบบโดยรู้ว่าตัวสร้างส่วนหัวส่งข้อมูลที่ไม่ถูกต้อง
ฉันจะไม่ลงรายละเอียดเกี่ยวกับวิธีการทำงานของการพิสูจน์การฉ้อโกงแบบรอบเดียว เนื่องจากการทำเช่นนี้จะทำลายขอบเขตของบทความนี้ ประโยชน์ที่นี่คือคุณสามารถลดระยะเวลาในการพิสูจน์การฉ้อโกงจาก 7 วันเหลือเพียงจำนวนหนึ่ง ซึ่งยังไม่ได้กำหนดแต่ขนาดจะเล็กลง Light Node สามารถรับหลักฐานการฉ้อโกงผ่านเลเยอร์ p2p ได้โดยไม่ต้องรอข้อพิพาท เนื่องจากทุกอย่างถูกบันทึกไว้ในการพิสูจน์เดียว
เราใช้ DA-Layer เป็นตัวรวบรวมที่สืบทอดการต่อต้านการเซ็นเซอร์ มันรวมและสั่งซื้อ ผู้ผลิตส่วนหัวแบบรวมศูนย์จะอ่านลำดับตามรูปแบบบัญญัติจาก DA-Layer และสามารถสร้างส่วนหัวที่ถูกต้องจากสิ่งนั้นได้ ผู้ผลิตส่วนหัวแบบรวมศูนย์จะโพสต์ส่วนหัวและระบุรากไปที่ DA-Layer สถานะรากเหล่านี้จำเป็นต่อการสร้างหลักฐานการฉ้อโกงต่อข้อผูกพันนี้ ผู้รวบรวมจะรวมและจัดลำดับ ในขณะที่ผู้ผลิตส่วนหัวจะดำเนินการ
สันนิษฐานว่า DA-Layer (ซึ่งทำหน้าที่เป็นผู้รวบรวมของ Rollup ในขณะนี้) มีการกระจายอำนาจอย่างเพียงพอและมีการต่อต้านการเซ็นเซอร์ที่ดี นอกจากนี้ ผู้ผลิตส่วนหัวไม่สามารถเปลี่ยนลำดับธุรกรรม Rollup ที่เผยแพร่โดยผู้รวบรวมได้ ตอนนี้ หากตัวสร้างส่วนหัวมีการกระจายอำนาจ ประโยชน์เพียงอย่างเดียวคือความมีชีวิตชีวาที่ดีขึ้น แต่คุณสมบัติอื่นๆ ของชุดรวมอัปเดตจะเหมือนกับชุดรวมชุดแรกแบบตัวแปรแรก
หากตัวสร้างส่วนหัวมีความล้มเหลวในการใช้งาน ค่าสะสมก็มีความล้มเหลวในการใช้งานเช่นกัน โหนดไฟจะไม่สามารถติดตามลูกโซ่ได้ ในขณะที่โหนดเต็มยังคงสามารถติดตามลูกโซ่ได้ถ้าต้องการ โดยจะถอยกลับไปไปสู่การสรุปในแง่ร้ายตามที่อธิบายไว้ในตัวแปร 1 เห็นได้ชัดว่าการกำหนดค่าขั้นต่ำสำหรับการลดความน่าเชื่อถือที่อธิบายไว้ในตัวแปร 4 คือ:
โหนดแสง DA-Layer + โหนดแสง Rollup
เราได้หารือเกี่ยวกับภาพรวมในแง่ร้าย (ภาพรวมตาม) และภาพรวมในแง่ดี ตอนนี้ถึงเวลาพิจารณา ZK-Rollup เมื่อเร็ว ๆ นี้ Toghrul ได้นำเสนอเกี่ยวกับการแยกตัวรวบรวม (Sequencer) และตัวสร้างส่วนหัว (Prover) (การแยก Sequencer-Prover ใน Zero-Knowledge Rollups) ในรูปแบบนี้ การเผยแพร่ธุรกรรมเป็นข้อมูล Rollup แทนที่จะเป็น State Diff จะจัดการได้ง่ายกว่า ดังนั้นฉันจะมุ่งเน้นไปที่แบบแรก Variant 5 เป็น zk-rollup ที่มีตลาดพิสูจน์แบบกระจายอำนาจ
ถึงตอนนี้ คุณควรจะคุ้นเคยกับการทำงานของการยกเลิกแบบพื้นฐานแล้ว ตัวแปร 5 มอบหมายบทบาทผู้รวบรวมให้กับโหนด DA-Layer ซึ่งทำหน้าที่รวมและจัดลำดับ ฉันจะอ้างอิงจากเอกสารของ Sovereign-Labs ซึ่งทำงานได้อย่างยอดเยี่ยมในการอธิบายวงจรชีวิตของการออกแบบ ฉันจะดัดแปลงเล็กน้อยเพื่อให้พอดีกับรุ่น 5
ผู้ใช้โพสต์หยดข้อมูลใหม่บนเชน L1 ทันทีที่ blob ได้รับการสรุปใน L1 จะเป็นที่สิ้นสุดตามตรรกะ ทันทีหลังจากที่บล็อก L1 ได้รับการสรุป โหนดทั้งหมดของ Rollup จะสแกนผ่านบล็อกนั้นและประมวลผล Blob ข้อมูลที่เกี่ยวข้องทั้งหมดตามลำดับที่ปรากฏ สร้างสถานะ Root ของ Rollup ใหม่ ณ จุดนี้ บล็อกจะถูกสรุปแบบอัตนัยจากมุมมองของโหนดทั้งหมด
ผู้ผลิตส่วนหัวของเราในการออกแบบนี้คือตลาดที่กระจายอำนาจ
โหนด Prover (โหนดเต็มรูปแบบที่ทำงานภายใน ZKVM) ดำเนินการกระบวนการเดียวกับโหนดเต็มรูปแบบ — การสแกนผ่านบล็อก DA และประมวลผลแบทช์ทั้งหมดตามลำดับ — สร้างการพิสูจน์และโพสต์บนลูกโซ่ (ต้องโพสต์หลักฐานบนห่วงโซ่หากการรวบรวมต้องการจูงใจผู้พิสูจน์ — ไม่เช่นนั้น เป็นไปไม่ได้ที่จะบอกได้ว่าผู้พิสูจน์คนใดเป็นคนแรกที่ประมวลผลชุดงานที่กำหนด) เมื่อการพิสูจน์สำหรับแบทช์ที่กำหนดถูกโพสต์บนลูกโซ่ แบทช์นั้นถือเป็นขั้นสุดท้ายสำหรับโหนดทั้งหมด รวมถึงโหนดแสงด้วย
(เนื่องจากมีหลายแนวคิดที่เกี่ยวข้อง คุณสามารถดูแผนผังอีกครั้งได้)
Variant 5 มีความต้านทานการเซ็นเซอร์เช่นเดียวกับ DA-Layer ตลาดตัวพิสูจน์แบบกระจายอำนาจไม่สามารถเซ็นเซอร์ธุรกรรมได้เนื่องจาก DA-Layer จะกำหนดลำดับตามรูปแบบบัญญัติ เรากระจายอำนาจผู้ผลิตส่วนหัวเพื่อความมีชีวิตชีวาที่ดีขึ้นและเพื่อสร้างตลาดสิ่งจูงใจ ความมีชีวิตชีวาที่นี่คือ L = L_da && L_pm (ตลาดสุภาษิต) หากแรงจูงใจของตลาดตัวพิสูจน์ไม่ตรงแนว หรือมีความล้มเหลวด้านความมีชีวิตชีวา light nodes จะไม่สามารถติดตามห่วงโซ่ได้ แต่การสะสมโหนดแบบเต็มยังคงสามารถติดตามห่วงโซ่ได้หากต้องการ โดยจะถอยกลับไปไปสู่การสะสมที่มองโลกในแง่ร้าย การตั้งค่าที่ลดความน่าเชื่อถือให้เหลือน้อยที่สุดอยู่ที่นี่ เช่นเดียวกับในกรณีที่ดีที่มีไลท์โหนด DA-Layer + โหนดแสงแบบม้วนอัพ
เรายังคงปล่อยให้โหนด DA-Layer ทำหน้าที่เป็นผู้รวบรวมสำหรับ Rollup และมอบหมายให้โหนดเหล่านั้นจัดการการรวมและการเรียงลำดับธุรกรรม
ดังที่คุณเห็นจากภาพด้านล่าง ทั้ง ZK Rollup และ Optimistic Rollup ใช้ชุดธุรกรรมที่สั่งเดียวกันบน DA-Layer เป็นแหล่งที่มาของ Rollup ledger นี่คือเหตุผลที่เราสามารถใช้ระบบพิสูจน์ได้สองระบบในเวลาเดียวกัน: ชุดธุรกรรมที่สั่งซื้อบน DA-Layer จะไม่ได้รับผลกระทบจากตัวระบบพิสูจน์เอง
เรามาพูดถึงจุดสิ้นสุดกันดีกว่า จากมุมมองของโหนดเต็มแบบโรลอัป การโรลอัปจะถือเป็นที่สิ้นสุดเมื่อ DA-Layer ถือเป็นที่สิ้นสุด เนื่องจากเพียงแค่ต้องดำเนินธุรกรรมสำหรับตัวแปรนี้ แต่เราให้ความสำคัญกับจุดสิ้นสุดของโหนดแสงมากกว่า สมมติว่าผู้สร้างส่วนหัวแบบรวมศูนย์วางเดิมพันบางส่วน ส่งสัญญาณไว้เหนือส่วนหัว และโพสต์รากสถานะที่คำนวณแล้วไปยัง DA-Layer
เช่นเดียวกับตัวแปร 4 ก่อนหน้านี้ light nodes จะเชื่อถือการดำเนินการในแง่ดี และรอหลักฐานการฉ้อโกงจากโหนดเต็มรูปแบบที่ซื่อสัตย์ ซึ่งแสดงให้เห็นว่าผู้สร้างส่วนหัวกระทำการฉ้อโกง หลังจากที่หน้าต่างหลักฐานการฉ้อโกงสิ้นสุดลง บล็อกการยกเลิกจะถือเป็นที่สิ้นสุดจากมุมมองของโหนดแสงค่าสะสม
ประเด็นสำคัญคือหากเราได้รับหลักฐาน ZK เราก็ไม่จำเป็นต้องรอให้กรอบเวลาป้องกันการฉ้อโกงสิ้นสุดลงอีกต่อไป นอกเหนือจากการพิสูจน์การฉ้อโกงแบบรอบเดียวแล้ว เรายังแทนที่การพิสูจน์การฉ้อโกงด้วยหลักฐาน ZK และยกเลิกส่วนหัวที่เป็นอันตรายใดๆ ที่สร้างขึ้นจากผู้สร้างส่วนหัวในแง่ดีได้!
เมื่อโหนดเบาได้รับใบรับรอง ZK ที่สอดคล้องกับชุดธุรกรรม Rollup บางชุด ชุดงานจะถูกสรุปผล
ตอนนี้เรามีความมุ่งมั่นแบบนุ่มนวลที่รวดเร็วและขั้นสุดท้ายที่รวดเร็ว
ตัวแปร 6 ยังคงสนุกกับการต้านทานการเซ็นเซอร์เช่นเดียวกับ DA-Layer เหมือนเดิม เพื่อความมีชีวิตชีวา เราจะมี L = L_da && (L_op || L_pm ) ซึ่งหมายความว่าเราได้เพิ่มการรับประกันความมีชีวิตชีวาของเรา หากผู้ผลิตส่วนหัวแบบรวมศูนย์หรือตลาดตัวพิสูจน์เกิดความล้มเหลวในชีวิต เราก็สามารถถอยกลับไปใช้แผนอื่นได้
การตั้งค่าที่ลดความน่าเชื่อถือให้เหลือน้อยที่สุดคือโหนดแสง DA-Layer + โหนดแสงแบบม้วนอัพ
สรุป:
เราแบ่งซีเควนเซอร์ออกเป็นสองเอนทิตีเชิงตรรกะ: ผู้รวบรวมและผู้สร้างส่วนหัว
เราแบ่งซีเควนเซอร์ออกเป็นสามกระบวนการเชิงตรรกะ: การรวม การจัดลำดับ และการดำเนินการ
การสรุปแบบมองโลกในแง่ร้ายและการสรุปแบบพื้นฐานเป็นสิ่งที่สำคัญ
คุณสามารถใช้เครื่องมือรวบรวมแบบ Plug-and-Play และผู้ผลิตส่วนหัวได้ ขึ้นอยู่กับความต้องการของคุณ
ชุดรวมอัปเดตแต่ละรายการในบทความนี้เป็นไปตามรูปแบบการออกแบบนี้:
ในที่สุดฉันก็มีความคิดบางอย่าง โปรดคิดเกี่ยวกับ:
หมายเหตุ: เพื่อวัตถุประสงค์ในการทำให้โมเดล Rollup เข้าใจและวิเคราะห์ได้ง่ายขึ้น NashQ นักวิจัยของ Celestia ได้แบ่ง Rollup Sequencer ออกเป็นเอนทิตีเชิงตรรกะสองรายการ ได้แก่ Aggregator และ Header Producer ในเวลาเดียวกัน เขาได้แบ่งกระบวนการสั่งซื้อธุรกรรมออกเป็นสามขั้นตอนเชิงตรรกะ: การรวม การสั่งซื้อ และการดำเนินการ
ด้วยการคิดเชิงวิเคราะห์นี้ ตัวแปรหลัก 6 ประการของ Sovereign Rollup จึงชัดเจนและเข้าใจง่ายกว่า NashQ อภิปรายในรายละเอียดเกี่ยวกับการต่อต้านการเซ็นเซอร์และความมีชีวิตชีวาของ Rollup Variation ต่างๆ รวมถึงการกำหนดค่าขั้นต่ำของ Rollup Variant Node แต่ละโหนดในสถานะการลดความน่าเชื่อถือ (นั่นคือ เพื่อให้บรรลุสถานะ Trustless อย่างน้อยที่สุดประเภทของโหนดที่ผู้ใช้ Rollup ต้องการ วิ่ง).
แม้ว่าบทความนี้จะวิเคราะห์ Rollup จากมุมมองของ Celestia ซึ่งแตกต่างจากวิธีที่ชุมชน Ethereum วิเคราะห์โมเดล Rollup เมื่อพิจารณาถึงความเชื่อมโยงมากมายระหว่าง Ethereum Rollup และ Celestia Sovereign Rollup รวมถึงอิทธิพลที่เพิ่มขึ้นของอย่างหลัง บทความนี้ก็มีความสำคัญอย่างมากเช่นกัน น่าอ่านสำหรับผู้ที่ชื่นชอบ Ethereum
Rollups คือบล็อกเชนที่โพสต์ข้อมูลธุรกรรมไปยังบล็อกเชนอื่น และสืบทอดความเห็นพ้องต้องกันและความพร้อมใช้งานของข้อมูล
เหตุใดฉันจึงเปลี่ยน "บล็อก" เป็น "ข้อมูลธุรกรรม" ที่นี่ ฉันจะบอกความแตกต่างระหว่างบล็อกการสรุปและข้อมูลการสรุป และแสดงให้คุณเห็นว่าการสรุปขั้นต่ำต้องการเพียงข้อมูลการสรุปในตัวแปรแรกของเรา
Rollup Block คือโครงสร้างข้อมูลที่เป็นตัวแทนของ Blockchain ที่ระดับความสูงหนึ่ง ประกอบด้วยข้อมูลโรลอัพและส่วนหัวของโรลอัพ และข้อมูลค่าสะสมอาจเป็นชุดของธุรกรรมหรือสถานะความแตกต่างระหว่างชุดธุรกรรม
วิธีที่ง่ายที่สุดในการสร้าง Rollup เริ่มต้นด้วยการที่ผู้ใช้โพสต์ธุรกรรมไปยังบล็อกเชนอื่น เราจะเรียกบล็อกเชนนี้ว่าชั้นฉันทามติและความพร้อมใช้งานของข้อมูล แต่ฉันจะย่อให้เหลือ DA-Layer ในไดอะแกรมทั้งหมดต่อไปนี้ (หมายเหตุ: คล้ายกับ Layer1 ที่มักอ้างถึงในชุมชน Ethereum)
ในตัวแปรแรกของเรา ทุกโหนดสะสมจะต้องเล่นซ้ำธุรกรรมทั้งหมดบนบล็อคเชนเพื่อตรวจสอบสถานะใหม่ล่าสุด เราเพิ่งสร้าง Rollup ที่มองโลกในแง่ร้าย!
การยกเลิกในแง่ร้ายคือการยกเลิกที่รองรับเฉพาะโหนดเต็มรูปแบบที่เล่นซ้ำธุรกรรมทั้งหมดในการยกเลิกเพื่อตรวจสอบความถูกต้อง
แต่ในกรณีนี้ ใครคือผู้จัดลำดับในกรณีนี้? ไม่มีเอนทิตีใดที่ดำเนินธุรกรรมจริง ๆ นอกเหนือจากการสะสมโหนดแบบเต็มด้วยตนเอง โดยปกติแล้ว ซีเควนเซอร์จะรวมธุรกรรมและสร้างส่วนหัวของค่าสะสม แต่ในกรณีนี้จะไม่มีส่วนหัว!
เพื่ออำนวยความสะดวกในการอภิปราย เราแบ่งซีเควนเซอร์ออกเป็นสองเอนทิตีเชิงตรรกะ: ผู้รวบรวมและผู้สร้างส่วนหัวจะแยกความแตกต่าง เอนทิตีหนึ่งจะต้องรับรู้สถานะ (เช่น ต้องดำเนินการสถานะเพื่อคำนวณส่วนหัว) แต่ผู้รวบรวมไม่จำเป็นต้องเข้าใจสถานะเพื่อให้สามารถรวมเข้าด้วยกันได้
การจัดลำดับเป็นกระบวนการรวมและการผลิตส่วนหัว
การรวมเป็นกระบวนการของการรวมธุรกรรมเป็นชุดเดียว ชุดของธุรกรรมประกอบด้วยหนึ่งธุรกรรมขึ้นไป (หมายเหตุ: แบทช์เป็นส่วนหนึ่งของข้อมูลในบล็อก Rollup ยกเว้นส่วนหัว)
การผลิตส่วนหัวคือกระบวนการสร้างส่วนหัวของค่าสะสม
Rollup Header คือข้อมูลเมตาเกี่ยวกับบล็อก ซึ่งอย่างน้อยที่สุดจะรวมข้อผูกพันต่อธุรกรรมในบล็อกนั้น (หมายเหตุ: ความมุ่งมั่นในที่นี้หมายถึงความมุ่งมั่นต่อความถูกต้องของผลการประมวลผลธุรกรรม)
จากมุมมองข้างต้น เราจะเห็นว่าใครมีบทบาทในแต่ละองค์ประกอบของชุดรวมอัปเดต มาดูในส่วนของตัวรวบรวมกันก่อน การสรุปในแง่ร้ายที่กล่าวถึงก่อนหน้านี้ไม่มีกระบวนการผลิตส่วนหัว และผู้ใช้เผยแพร่ธุรกรรมโดยตรงไปยัง DA-Layer ซึ่งหมายความว่าเครือข่าย DA-Layer ทำหน้าที่เป็นผู้รวบรวมเป็นหลัก
Rollup ในแง่ร้ายเป็นอีกรูปแบบหนึ่งของ Rollup ที่มอบหมายขั้นตอนการรวมกลุ่มให้กับ DA-Layer มันไม่มีซีเควนเซอร์ บางครั้งการยกเลิกประเภทนี้เรียกว่า "การยกเลิกตาม"
Based Rollup มีความต้านทานการเซ็นเซอร์และความมีชีวิตชีวาเช่นเดียวกับ DA-Layer (กิจกรรมจะวัดความเร็วการตอบสนองของระบบต่อคำขอของผู้ใช้) หากผู้ใช้ Rollup ประเภทนี้ต้องการได้รับสถานะความน่าเชื่อถือขั้นต่ำ (ใกล้กับ Trustless มากที่สุด) พวกเขาจะต้องเรียกใช้ไลท์โหนด DA-Layer และโหนดเต็มของ Rollup เป็นอย่างน้อย
เรามาหารือเกี่ยวกับการรวมกลุ่มในแง่ร้ายโดยใช้เครื่องมือรวบรวมที่ใช้ร่วมกัน แนวคิดนี้เสนอโดย Evan Forbes ในโพสต์ในฟอรัมของเขาเกี่ยวกับการออกแบบซีเควนเซอร์ที่ใช้ร่วมกัน สมมติฐานหลักคือว่าตัวเรียงลำดับที่ใช้ร่วมกันเป็นวิธีเดียวที่เป็นทางการในการจัดลำดับธุรกรรมEvan อธิบายประโยชน์ของตัวเรียงลำดับที่ใช้ร่วมกันดังนี้:
“ในการปลดล็อค UX ที่เทียบเท่ากับ web2 ซีเควนเซอร์ที่ใช้ร่วมกัน […] สามารถให้ข้อผูกพันแบบนุ่มนวลที่รวดเร็ว (หมายเหตุ: ไม่ใช่การรับประกันที่เชื่อถือได้มากนัก) Soft Commitment เหล่านี้ให้คำมั่นสัญญาบางประการในการเรียงลำดับธุรกรรมขั้นสุดท้าย (นั่นคือสัญญาว่าลำดับธุรกรรมจะไม่เปลี่ยนแปลง) และสามารถใช้เพื่อสร้างเวอร์ชันที่อัปเดตก่อนกำหนดของสถานะ (แต่การสรุปยังไม่เสร็จสมบูรณ์ที่ เวลานี้).
ทันทีที่ Blockdata ได้รับการยืนยันว่าถูกโพสต์บน Baselayer (s/b หมายถึง DAlayer) สถานะก็ถือเป็นที่สิ้นสุด”
เนื่องจากเรายังคงเป็น Rollup ที่มองโลกในแง่ร้าย เราจึงมีเพียง Rollup Full Nodes และไม่มี Light Node แต่ละโหนดต้องทำธุรกรรมทั้งหมดเพื่อรับประกันความถูกต้อง ไม่มีไลท์โหนดในระบบนี้ ดังนั้นจึงไม่จำเป็นต้องมีส่วนหัวแบบสะสม หรือที่เรียกว่าผู้สร้างส่วนหัว (หมายเหตุ: โดยทั่วไปแล้ว light node ของ blockchain ไม่จำเป็นต้องซิงโครไนซ์บล็อกทั้งหมด แต่จะรับเฉพาะส่วนหัวของบล็อกเท่านั้น)
เนื่องจากไม่มีขั้นตอนการสร้าง Rollup Header ซีเควนเซอร์ที่ใช้ร่วมกันของ Rollup ที่กล่าวถึงข้างต้นจึงไม่จำเป็นต้องดำเนินการธุรกรรมสำหรับการอัพเดตสถานะ (ข้อกำหนดเบื้องต้นสำหรับการผลิต Header) แต่จะรวมเฉพาะกระบวนการรวบรวมข้อมูลธุรกรรมเท่านั้น ดังนั้นฉันจึงชอบที่จะเรียกมันว่าผู้รวบรวมที่ใช้ร่วมกัน
ในตัวแปรนี้ ผู้ใช้ Rollup ต้องดำเนินการอย่างน้อยต่อไปนี้ในสถานะลดความน่าเชื่อถือ:
โหนดแสง DA-Layer + โหนดแสงของเครือข่ายตัวรวบรวมที่ใช้ร่วมกัน + โหนดเต็มแบบ Rollup
ในเวลานี้ จำเป็นต้องตรวจสอบส่วนหัวของตัวรวบรวมที่เผยแพร่ (ไม่ได้อ้างอิงถึงส่วนหัวของ Rollup) ผ่านทางไลท์โหนดของเครือข่ายตัวรวบรวมที่ใช้ร่วมกัน ตามที่กล่าวไว้ข้างต้น ผู้รวบรวมที่ใช้ร่วมกันจะทำหน้าที่เรียงลำดับธุรกรรม ในส่วนหัวของตัวรวบรวมที่เผยแพร่ มีความมุ่งมั่นในการเข้ารหัสซึ่งสอดคล้องกับชุดที่เผยแพร่บน DA-Layer
ด้วยวิธีนี้ ผู้ดำเนินการของโหนด Rollup สามารถยืนยันได้ว่าแบทช์ที่ได้รับจาก DA-Layer นั้นถูกสร้างขึ้นโดยผู้รวบรวมที่ใช้ร่วมกัน ไม่ใช่โดยผู้อื่น
(เนื่องจากเนื้อหาด้านบนค่อนข้างคลุมเครือ สามารถอ่านแผนภาพได้อีกครั้ง)
การรวมเป็นกระบวนการที่ธุรกรรมได้รับการยอมรับในบล็อคเชน
การสั่งซื้อเป็นกระบวนการจัดเรียงธุรกรรมตามลำดับเฉพาะในบล็อกเชน
การดำเนินการคือกระบวนการที่ธุรกรรมในบล็อกเชนได้รับการประมวลผล และผลกระทบจะถูกนำไปใช้กับสถานะของบล็อกเชน
เนื่องจากผู้รวบรวมที่ใช้ร่วมกันควบคุมการรวมและการเรียงลำดับ เราจึงสืบทอดการต่อต้านการเซ็นเซอร์
หากเราถือว่า L_ss คือความมีชีวิตชีวาของผู้รวบรวมที่ใช้ร่วมกัน และ L_da คือความมีชีวิตชีวาของ DA-Layer ดังนั้นความมีชีวิตชีวาของโครงร่างนี้คือ L = L_da && L_ss กล่าวอีกนัยหนึ่ง หากระบบใดระบบหนึ่งมีความล้มเหลวในการใช้งาน ค่าสะสมก็มีความล้มเหลวในการใช้งานเช่นกัน
เพื่อความเรียบง่าย ฉันจะใช้ liveness เป็นบูลีน หากผู้รวบรวมที่ใช้ร่วมกันล้มเหลว เราจะดำเนินการยกเลิกต่อไปไม่ได้ หาก DA-Layer ล้มเหลว เราก็สามารถดำเนินการต่อด้วย Soft Commitment ของผู้รวบรวมที่ใช้ร่วมกันได้ ถึงกระนั้น เราก็คงต้องอาศัยฉันทามติและความพร้อมใช้งานของข้อมูลของผู้รวบรวมที่ใช้ร่วมกัน ซึ่งจะแย่กว่า DA-Layer ดั้งเดิม
มาสำรวจการต่อต้านการเซ็นเซอร์ของโซลูชัน Rollup ข้างต้นต่อไป:
ในรูปแบบนี้ DA-Layer ไม่สามารถเซ็นเซอร์ธุรกรรมเฉพาะได้ (หมายเหตุ: การตรวจสอบธุรกรรมมักจะปฏิเสธที่จะอนุญาตให้อัปโหลดธุรกรรมบางอย่างไปยังห่วงโซ่) สามารถตรวจสอบได้เฉพาะชุดการรวบรวมทั้งหมดที่ผู้รวบรวมที่ใช้ร่วมกันได้รวบรวมไว้แล้วเท่านั้น (ปฏิเสธแบทช์ที่จะรวมไว้ใน DA-Layer)
อย่างไรก็ตาม ตามขั้นตอนการทำงานของ Rollup เมื่อผู้รวบรวมการแบ่งปันส่งชุดธุรกรรมไปยัง DA-Layer ก็ถือว่าได้เสร็จสิ้นการจัดลำดับธุรกรรมแล้ว และลำดับระหว่างชุดงานที่แตกต่างกันก็ถูกกำหนดด้วย ดังนั้น การตรวจสอบธุรกรรมประเภทนี้โดย DA-Layer จึงไม่มีผลกระทบอื่นใดนอกจากการชะลอการสิ้นสุดบัญชีแยกประเภทของ Rollup
โดยสรุป ฉันเชื่อว่าจุดเน้นของการต่อต้านการเซ็นเซอร์คือเพื่อให้แน่ใจว่าไม่มีใครสามารถควบคุมหรือจัดการการไหลของข้อมูลภายในระบบได้ ในขณะที่ความมีชีวิตชีวาเกี่ยวข้องกับการรักษาฟังก์ชันการทำงานและความพร้อมใช้งานของระบบ แม้ว่าเครือข่ายจะขัดข้องก็ตาม และการกระทำของฝ่ายตรงข้าม แม้ว่าสิ่งนี้จะขัดแย้งกับคำจำกัดความทางวิชาการกระแสหลักในปัจจุบัน แต่ฉันก็ยังคงใช้คำจำกัดความของแนวคิดที่ฉันได้กล่าวไว้
แม้ว่าชุมชนจะได้รับประโยชน์จากเครื่องมือรวบรวมที่ใช้ร่วมกัน แต่เราต้องการหลีกเลี่ยงการพึ่งพาชุมชนดังกล่าวและต้องการใช้ทางเลือกสำรองไปยัง DA-Layer เราจะรวมการสั่งซื้อและอนุญาตให้ผู้ใช้ส่งธุรกรรมโดยตรงไปยัง DA-Layer มันรวมการรวมกลุ่มตามและแบ่งปัน
เราถือว่าการสั่งซื้อขั้นสุดท้ายจะถูกตีความว่าเป็นธุรกรรมทั้งหมดที่สั่งซื้อโดยผู้รวบรวมที่ใช้ร่วมกัน จากนั้นธุรกรรมที่อิงทั้งหมดหลังจากนั้นต่อบล็อก DA-Layer เราเรียกสิ่งนี้ว่ากฎการเลือกโรลอัพส้อม
การรวมเป็นกระบวนการสองขั้นตอนที่นี่ ขั้นแรก ผู้รวบรวมที่ใช้ร่วมกันจะเป็นผู้นำในการรวบรวมธุรกรรมบางอย่าง จากนั้น DA-Layer จะรวมเข้ากับแบทช์และธุรกรรมที่สั่งซื้อแล้วที่ผู้ใช้ส่งโดยตรง
การวิเคราะห์การต่อต้านการเซ็นเซอร์ในปัจจุบันมีความซับซ้อนมากขึ้น โหนดเครือข่าย DA-Layer อาจตรวจสอบแบทช์ที่ส่งโดยผู้รวบรวมที่ใช้ร่วมกันก่อนที่จะสร้างบล็อก DA-Layer ถัดไป หลังจากทราบข้อมูลธุรกรรมในชุดแล้ว โหนด DA-Layer จะสามารถแยกค่า MEV ได้ เริ่มต้นธุรกรรมที่ดำเนินการล่วงหน้าด้วยบัญชีของตนบนเครือข่าย Rollup และรวมไว้ในบล็อก DA-Layer ก่อนที่จะรวมชุดงานที่ส่งโดย Rollup ผู้รวบรวมที่ใช้ร่วมกัน
เห็นได้ชัดว่า ขั้นสุดท้ายของใบสั่งธุรกรรมที่รับประกันโดย Soft Commitment ของตัวแปร Rollup ประเภทที่สามนั้นเปราะบางกว่าประเภทที่สองของตัวแปร Rollup ที่กล่าวถึงข้างต้น ในกรณีนี้ ผู้รวบรวมที่ใช้ร่วมกันจะมอบค่า MEV ให้กับโหนด DA-Layer ฉันขอแนะนำให้ผู้อ่านดูการบรรยายเกี่ยวกับการเซ็นเซอร์ MEV ที่ทำกำไรได้
ในปัจจุบัน โซลูชันการออกแบบบางอย่างดูเหมือนจะลดความสามารถของโหนดเครือข่าย DA-Layer ในการดำเนินการธุรกรรม MEV ดังกล่าว เช่น ฟังก์ชัน "ช่วงกรอบเวลาการปรับโครงสร้างองค์กร" ซึ่งจะชะลอการทำธุรกรรมที่ผู้ใช้เครือข่าย Rollup ส่งโดยตรงไปยัง DA-Layer . Sovereign Labs ให้รายละเอียดสิ่งนี้ในข้อเสนอการออกแบบชื่อ Based Sequencing with Soft Confirmations โดยมีการเสนอแนวคิดของ "ตัวจัดลำดับที่ต้องการ"
เนื่องจาก MEV ขึ้นอยู่กับรูปแบบการรวบรวมที่คุณเลือกและกฎการเลือกส้อมของการรวบรวม บางส่วนจะไม่รั่วไหล และบางส่วนจะรั่วไหล MEV บางส่วนหรือทั้งหมดไปยัง DA-Layer แต่นั่นเป็นหัวข้อสำหรับวันอื่น
ในส่วนของความมีชีวิตชีวา การออกแบบโรลอัปนี้มีส่วนสำคัญมากกว่าการมีผู้รวบรวมที่แชร์ หากตัวรวบรวมที่ใช้ร่วมกันมีความล้มเหลวในการใช้งาน ผู้ใช้ยังคงสามารถส่งธุรกรรมไปยัง DA-Layer ได้
สุดท้ายนี้ เรามาพูดถึงการตั้งค่าที่ลดความน่าเชื่อถือให้น้อยที่สุด: ไลท์โหนด DA-Layer + ไลท์โหนดของผู้รวบรวมที่ใช้ร่วมกัน + โหนดเต็มแบบสะสม
ในเวลานี้ เรายังจำเป็นต้องตรวจสอบส่วนหัวของตัวรวบรวมที่ใช้ร่วมกันสำหรับโหนดเต็มแบบรวมของเรา เพื่อให้สามารถแยกแยะชุดธุรกรรมสำหรับกฎตัวเลือกส้อมได้
มาเริ่มทำอาหารไลท์โหนดโดยใช้ตัวแปรที่เรียกว่าการสรุปในแง่ดีตามพร้อมตัวสร้างส่วนหัวแบบรวมศูนย์ การออกแบบนี้ใช้ DA-Layer เพื่อรวมธุรกรรม แต่เราแนะนำตัวสร้างส่วนหัวแบบรวมศูนย์เพื่อเปิดใช้งานโหนดแสงแบบสะสม
โหนดแสง Rollup สามารถตรวจสอบความถูกต้องทางอ้อมของธุรกรรม Rollup ผ่านการพิสูจน์การฉ้อโกงรอบเดียว โหนดแสงจะมีทัศนคติในแง่ดีต่อตัวสร้าง Rollup Header และทำการยืนยันครั้งสุดท้ายหลังจากระยะเวลาป้องกันการฉ้อโกงสิ้นสุดลง ความเป็นไปได้อีกอย่างหนึ่งก็คือ ได้รับการพิสูจน์การฉ้อโกงจากโหนดเต็มรูปแบบโดยรู้ว่าตัวสร้างส่วนหัวส่งข้อมูลที่ไม่ถูกต้อง
ฉันจะไม่ลงรายละเอียดเกี่ยวกับวิธีการทำงานของการพิสูจน์การฉ้อโกงแบบรอบเดียว เนื่องจากการทำเช่นนี้จะทำลายขอบเขตของบทความนี้ ประโยชน์ที่นี่คือคุณสามารถลดระยะเวลาในการพิสูจน์การฉ้อโกงจาก 7 วันเหลือเพียงจำนวนหนึ่ง ซึ่งยังไม่ได้กำหนดแต่ขนาดจะเล็กลง Light Node สามารถรับหลักฐานการฉ้อโกงผ่านเลเยอร์ p2p ได้โดยไม่ต้องรอข้อพิพาท เนื่องจากทุกอย่างถูกบันทึกไว้ในการพิสูจน์เดียว
เราใช้ DA-Layer เป็นตัวรวบรวมที่สืบทอดการต่อต้านการเซ็นเซอร์ มันรวมและสั่งซื้อ ผู้ผลิตส่วนหัวแบบรวมศูนย์จะอ่านลำดับตามรูปแบบบัญญัติจาก DA-Layer และสามารถสร้างส่วนหัวที่ถูกต้องจากสิ่งนั้นได้ ผู้ผลิตส่วนหัวแบบรวมศูนย์จะโพสต์ส่วนหัวและระบุรากไปที่ DA-Layer สถานะรากเหล่านี้จำเป็นต่อการสร้างหลักฐานการฉ้อโกงต่อข้อผูกพันนี้ ผู้รวบรวมจะรวมและจัดลำดับ ในขณะที่ผู้ผลิตส่วนหัวจะดำเนินการ
สันนิษฐานว่า DA-Layer (ซึ่งทำหน้าที่เป็นผู้รวบรวมของ Rollup ในขณะนี้) มีการกระจายอำนาจอย่างเพียงพอและมีการต่อต้านการเซ็นเซอร์ที่ดี นอกจากนี้ ผู้ผลิตส่วนหัวไม่สามารถเปลี่ยนลำดับธุรกรรม Rollup ที่เผยแพร่โดยผู้รวบรวมได้ ตอนนี้ หากตัวสร้างส่วนหัวมีการกระจายอำนาจ ประโยชน์เพียงอย่างเดียวคือความมีชีวิตชีวาที่ดีขึ้น แต่คุณสมบัติอื่นๆ ของชุดรวมอัปเดตจะเหมือนกับชุดรวมชุดแรกแบบตัวแปรแรก
หากตัวสร้างส่วนหัวมีความล้มเหลวในการใช้งาน ค่าสะสมก็มีความล้มเหลวในการใช้งานเช่นกัน โหนดไฟจะไม่สามารถติดตามลูกโซ่ได้ ในขณะที่โหนดเต็มยังคงสามารถติดตามลูกโซ่ได้ถ้าต้องการ โดยจะถอยกลับไปไปสู่การสรุปในแง่ร้ายตามที่อธิบายไว้ในตัวแปร 1 เห็นได้ชัดว่าการกำหนดค่าขั้นต่ำสำหรับการลดความน่าเชื่อถือที่อธิบายไว้ในตัวแปร 4 คือ:
โหนดแสง DA-Layer + โหนดแสง Rollup
เราได้หารือเกี่ยวกับภาพรวมในแง่ร้าย (ภาพรวมตาม) และภาพรวมในแง่ดี ตอนนี้ถึงเวลาพิจารณา ZK-Rollup เมื่อเร็ว ๆ นี้ Toghrul ได้นำเสนอเกี่ยวกับการแยกตัวรวบรวม (Sequencer) และตัวสร้างส่วนหัว (Prover) (การแยก Sequencer-Prover ใน Zero-Knowledge Rollups) ในรูปแบบนี้ การเผยแพร่ธุรกรรมเป็นข้อมูล Rollup แทนที่จะเป็น State Diff จะจัดการได้ง่ายกว่า ดังนั้นฉันจะมุ่งเน้นไปที่แบบแรก Variant 5 เป็น zk-rollup ที่มีตลาดพิสูจน์แบบกระจายอำนาจ
ถึงตอนนี้ คุณควรจะคุ้นเคยกับการทำงานของการยกเลิกแบบพื้นฐานแล้ว ตัวแปร 5 มอบหมายบทบาทผู้รวบรวมให้กับโหนด DA-Layer ซึ่งทำหน้าที่รวมและจัดลำดับ ฉันจะอ้างอิงจากเอกสารของ Sovereign-Labs ซึ่งทำงานได้อย่างยอดเยี่ยมในการอธิบายวงจรชีวิตของการออกแบบ ฉันจะดัดแปลงเล็กน้อยเพื่อให้พอดีกับรุ่น 5
ผู้ใช้โพสต์หยดข้อมูลใหม่บนเชน L1 ทันทีที่ blob ได้รับการสรุปใน L1 จะเป็นที่สิ้นสุดตามตรรกะ ทันทีหลังจากที่บล็อก L1 ได้รับการสรุป โหนดทั้งหมดของ Rollup จะสแกนผ่านบล็อกนั้นและประมวลผล Blob ข้อมูลที่เกี่ยวข้องทั้งหมดตามลำดับที่ปรากฏ สร้างสถานะ Root ของ Rollup ใหม่ ณ จุดนี้ บล็อกจะถูกสรุปแบบอัตนัยจากมุมมองของโหนดทั้งหมด
ผู้ผลิตส่วนหัวของเราในการออกแบบนี้คือตลาดที่กระจายอำนาจ
โหนด Prover (โหนดเต็มรูปแบบที่ทำงานภายใน ZKVM) ดำเนินการกระบวนการเดียวกับโหนดเต็มรูปแบบ — การสแกนผ่านบล็อก DA และประมวลผลแบทช์ทั้งหมดตามลำดับ — สร้างการพิสูจน์และโพสต์บนลูกโซ่ (ต้องโพสต์หลักฐานบนห่วงโซ่หากการรวบรวมต้องการจูงใจผู้พิสูจน์ — ไม่เช่นนั้น เป็นไปไม่ได้ที่จะบอกได้ว่าผู้พิสูจน์คนใดเป็นคนแรกที่ประมวลผลชุดงานที่กำหนด) เมื่อการพิสูจน์สำหรับแบทช์ที่กำหนดถูกโพสต์บนลูกโซ่ แบทช์นั้นถือเป็นขั้นสุดท้ายสำหรับโหนดทั้งหมด รวมถึงโหนดแสงด้วย
(เนื่องจากมีหลายแนวคิดที่เกี่ยวข้อง คุณสามารถดูแผนผังอีกครั้งได้)
Variant 5 มีความต้านทานการเซ็นเซอร์เช่นเดียวกับ DA-Layer ตลาดตัวพิสูจน์แบบกระจายอำนาจไม่สามารถเซ็นเซอร์ธุรกรรมได้เนื่องจาก DA-Layer จะกำหนดลำดับตามรูปแบบบัญญัติ เรากระจายอำนาจผู้ผลิตส่วนหัวเพื่อความมีชีวิตชีวาที่ดีขึ้นและเพื่อสร้างตลาดสิ่งจูงใจ ความมีชีวิตชีวาที่นี่คือ L = L_da && L_pm (ตลาดสุภาษิต) หากแรงจูงใจของตลาดตัวพิสูจน์ไม่ตรงแนว หรือมีความล้มเหลวด้านความมีชีวิตชีวา light nodes จะไม่สามารถติดตามห่วงโซ่ได้ แต่การสะสมโหนดแบบเต็มยังคงสามารถติดตามห่วงโซ่ได้หากต้องการ โดยจะถอยกลับไปไปสู่การสะสมที่มองโลกในแง่ร้าย การตั้งค่าที่ลดความน่าเชื่อถือให้เหลือน้อยที่สุดอยู่ที่นี่ เช่นเดียวกับในกรณีที่ดีที่มีไลท์โหนด DA-Layer + โหนดแสงแบบม้วนอัพ
เรายังคงปล่อยให้โหนด DA-Layer ทำหน้าที่เป็นผู้รวบรวมสำหรับ Rollup และมอบหมายให้โหนดเหล่านั้นจัดการการรวมและการเรียงลำดับธุรกรรม
ดังที่คุณเห็นจากภาพด้านล่าง ทั้ง ZK Rollup และ Optimistic Rollup ใช้ชุดธุรกรรมที่สั่งเดียวกันบน DA-Layer เป็นแหล่งที่มาของ Rollup ledger นี่คือเหตุผลที่เราสามารถใช้ระบบพิสูจน์ได้สองระบบในเวลาเดียวกัน: ชุดธุรกรรมที่สั่งซื้อบน DA-Layer จะไม่ได้รับผลกระทบจากตัวระบบพิสูจน์เอง
เรามาพูดถึงจุดสิ้นสุดกันดีกว่า จากมุมมองของโหนดเต็มแบบโรลอัป การโรลอัปจะถือเป็นที่สิ้นสุดเมื่อ DA-Layer ถือเป็นที่สิ้นสุด เนื่องจากเพียงแค่ต้องดำเนินธุรกรรมสำหรับตัวแปรนี้ แต่เราให้ความสำคัญกับจุดสิ้นสุดของโหนดแสงมากกว่า สมมติว่าผู้สร้างส่วนหัวแบบรวมศูนย์วางเดิมพันบางส่วน ส่งสัญญาณไว้เหนือส่วนหัว และโพสต์รากสถานะที่คำนวณแล้วไปยัง DA-Layer
เช่นเดียวกับตัวแปร 4 ก่อนหน้านี้ light nodes จะเชื่อถือการดำเนินการในแง่ดี และรอหลักฐานการฉ้อโกงจากโหนดเต็มรูปแบบที่ซื่อสัตย์ ซึ่งแสดงให้เห็นว่าผู้สร้างส่วนหัวกระทำการฉ้อโกง หลังจากที่หน้าต่างหลักฐานการฉ้อโกงสิ้นสุดลง บล็อกการยกเลิกจะถือเป็นที่สิ้นสุดจากมุมมองของโหนดแสงค่าสะสม
ประเด็นสำคัญคือหากเราได้รับหลักฐาน ZK เราก็ไม่จำเป็นต้องรอให้กรอบเวลาป้องกันการฉ้อโกงสิ้นสุดลงอีกต่อไป นอกเหนือจากการพิสูจน์การฉ้อโกงแบบรอบเดียวแล้ว เรายังแทนที่การพิสูจน์การฉ้อโกงด้วยหลักฐาน ZK และยกเลิกส่วนหัวที่เป็นอันตรายใดๆ ที่สร้างขึ้นจากผู้สร้างส่วนหัวในแง่ดีได้!
เมื่อโหนดเบาได้รับใบรับรอง ZK ที่สอดคล้องกับชุดธุรกรรม Rollup บางชุด ชุดงานจะถูกสรุปผล
ตอนนี้เรามีความมุ่งมั่นแบบนุ่มนวลที่รวดเร็วและขั้นสุดท้ายที่รวดเร็ว
ตัวแปร 6 ยังคงสนุกกับการต้านทานการเซ็นเซอร์เช่นเดียวกับ DA-Layer เหมือนเดิม เพื่อความมีชีวิตชีวา เราจะมี L = L_da && (L_op || L_pm ) ซึ่งหมายความว่าเราได้เพิ่มการรับประกันความมีชีวิตชีวาของเรา หากผู้ผลิตส่วนหัวแบบรวมศูนย์หรือตลาดตัวพิสูจน์เกิดความล้มเหลวในชีวิต เราก็สามารถถอยกลับไปใช้แผนอื่นได้
การตั้งค่าที่ลดความน่าเชื่อถือให้เหลือน้อยที่สุดคือโหนดแสง DA-Layer + โหนดแสงแบบม้วนอัพ
สรุป:
เราแบ่งซีเควนเซอร์ออกเป็นสองเอนทิตีเชิงตรรกะ: ผู้รวบรวมและผู้สร้างส่วนหัว
เราแบ่งซีเควนเซอร์ออกเป็นสามกระบวนการเชิงตรรกะ: การรวม การจัดลำดับ และการดำเนินการ
การสรุปแบบมองโลกในแง่ร้ายและการสรุปแบบพื้นฐานเป็นสิ่งที่สำคัญ
คุณสามารถใช้เครื่องมือรวบรวมแบบ Plug-and-Play และผู้ผลิตส่วนหัวได้ ขึ้นอยู่กับความต้องการของคุณ
ชุดรวมอัปเดตแต่ละรายการในบทความนี้เป็นไปตามรูปแบบการออกแบบนี้:
ในที่สุดฉันก็มีความคิดบางอย่าง โปรดคิดเกี่ยวกับ: