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

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

Foresight News
特邀专栏作者
2023-05-09 13:00
บทความนี้มีประมาณ 5170 คำ การอ่านทั้งหมดใช้เวลาประมาณ 8 นาที
Sequencer เป็นอัจฉริยะของช่างทำนาฬิกา ตั้งค่าประวัติของ Rollup และเฝ้าดูการติ๊กต่อกไปยังสถานะที่ก
สรุปโดย AI
ขยาย
Sequencer เป็นอัจฉริยะของช่างทำนาฬิกา ตั้งค่าประวัติของ Rollup และเฝ้าดูการติ๊กต่อกไปยังสถานะที่ก

การรวบรวมต้นฉบับ: 0x11, Foresight News

การรวบรวมต้นฉบับ: 0x11, Foresight News

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

ตัวเรียงลำดับคืออะไร?

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

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

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

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

ความแตกต่างระหว่างการเรียงลำดับและการดำเนินการคืออะไร?

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

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

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

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

ทำไมต้องแยกการสั่งซื้อและข้อเสนอ?

นี่เป็นปัญหาที่ซับซ้อน โดยพื้นฐานแล้วพวกเขาแยกจากกันเพราะพวกเขาแยกตัวออกจากกัน นี่อาจฟังดูเป็นคำซ้ำซาก แต่ดูเหมือนว่าทุกคนจะใช้เวลานานกว่าจะเข้าใจ เรามองย้อนกลับไปและเห็นว่าประวัติของแนวคิดของ Rollup ได้คดเคี้ยวในช่วงหลายปีที่ผ่านมาในช่อง Plasma และ State ในช่วงแรก ๆ ของ Proto-Rollup ที่ใช้ Bitcoin นั้นไม่มีผู้สั่งซื้อและผู้ใช้เพียงแค่โพสต์ธุรกรรมของตนไปยังห่วงโซ่หลัก หลังจากนั้นการออกแบบนี้ก็หายไปหลายปีในที่สุดเพราะBarryงานปรากฏขึ้นอีกครั้ง ระหว่าง Barry และ Celestia งานวิจัยของ Rollup มุ่งเน้นไปที่ปฏิสัมพันธ์ของสะพาน Rollup กับโซ่หลัก ก่อน Sovereign Rollup ไม่มีใครรู้ด้วยซ้ำว่าเรากำลังสร้าง Mastercoin ที่ดีกว่า

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

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

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

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

สถานะของผู้สั่งซื้อ ผู้เสนอ และผู้ตรวจสอบความถูกต้อง

Arbitrum และ Optimism เป็นแผน ORU ทั่วไปสองแบบ ฉันต้องการแนะนำบทบาทหลักโดยสังเขป ไม่มีโค้ดใดเกี่ยวข้อง มีเพียงข้อมูลจำเพาะและเอกสารประกอบเท่านั้น การอภิปรายเกี่ยวกับการมองโลกในแง่ดีจะถูกจำกัดไว้เฉพาะการออกแบบ Bedrock (ยังไม่ได้ใช้งาน)

Arbitrum

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

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

เนื่องจากซีเควนเซอร์ตั้งค่าลำดับของธุรกรรม จึงมีสิทธิในการเขียนลำดับความสำคัญ ตัวเรียงลำดับสามารถควบคุมสิ่งที่เรียงลำดับ และลำดับของธุรกรรมในประวัติค่าสะสม แน่นอนผู้ใช้สามารถใช้delayed inboxการรวมธุรกรรมที่จำเป็น ผู้ค้นหาใช้ความพยายามอย่างเต็มที่เพื่อลดเวลาแฝงของฟีดธุรกรรม WebSocket ของพวกเขา ดังนั้นพวกเขาจึงน่าจะสร้างตลาด MEV ที่มีประสิทธิภาพเพื่อจัดเรียงธุรกรรมอนุญาโตตุลาการ

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

ความยุติธรรมก็เหมือนซีเควนเซอร์ ตาบอด ต้องถือดาบ

Optimism

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

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

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

การมองโลกในแง่ดีมี 1ผู้ยื่นข้อเสนอที่ได้รับใบอนุญาตสรุป

สรุป

ตัวเรียงลำดับที่ใช้ร่วมกัน

ตัวเรียงลำดับที่ใช้ร่วมกัน

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

Rollups ที่แตกต่างกันหมายถึงอะไร

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

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

แยก ตรวจสอบ และกรอง

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

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

ตัวเรียงลำดับที่ใช้ร่วมกัน

ตัวเรียงลำดับที่ใช้ร่วมกัน

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

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

การรวมปรมาณู (ไม่ใช่การดำเนินการปรมาณู)

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

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

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

การดำเนินการตามอะตอมขององค์ประกอบการยกเลิก

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

แน่นอนว่าระบบนี้เชื่อถือได้ คุณต้องเชื่อใจคนคัดแยกว่าจะไม่โกหก ตอนนี้คุณอาจกำลังคิดว่า "เราจะเปลี่ยนระบบนี้ให้เป็นระบบที่ไม่ไว้วางใจได้โดยจำกัดพฤติกรรมของซีเควนเซอร์ได้หรือไม่" ฉันดีใจ/เศร้า/สับสนที่จะตอบว่า "ใช่ แต่" ใช่ แต่วิธีที่เราทำคือการรวม STF ของแต่ละค่าสะสมเพื่อสร้าง STF เดียวที่ดำเนินการธุรกรรมค่าสะสมที่รวมกันทั้งหมด นั่นคือเราต้องทำให้เครื่องเสมือนทั้งหมดเป็นอะตอมระหว่าง Rollups ทั้งหมด นี่เทียบเท่ากับการทำให้พวกเขาเป็นค่าสะสมเดียวกัน ใช่ เราสามารถประสบความสำเร็จในการดำเนินการปรมาณูที่ไม่น่าเชื่อถือได้โดยการรวมหลายค่าสะสมเป็นหนึ่งเดียว นี่อาจเป็นความคิดที่ดี1 แต่ฉันสงสัยในความเป็นไปได้

การดำเนินการปรมาณูของความสัมพันธ์ที่อาจเกิดขึ้น

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

สรุปแล้ว

สรุปแล้ว

Sequencer เป็นอัจฉริยะของช่างทำนาฬิกา ตั้งค่าประวัติ Rollup และดูการติ๊กต่อกไปยังสถานะที่กำหนดไว้ ไม่มีความแตกต่างระหว่าง Optimism และ Arbitrum มากนัก แต่มีความแตกต่างด้านความปลอดภัยระหว่างทั้งสอง ไม่มีใครรู้ว่าตัวเรียงลำดับทำอะไร ตัวเรียงลำดับที่ใช้ร่วมกันสามารถทำการรวมอะตอมได้ แต่ไม่สามารถดำเนินการแบบอะตอมมิกได้ และไม่สามารถรวมอะตอมมิกเข้าไว้ในการดำเนินการแบบอะตอมมิกได้โดยไม่มีองค์ประกอบค่าสะสมหรือกลไกการดำเนินการอื่นๆ การอวดอ้างทั้งหมดเกี่ยวกับการแบ่งปันซีเควนเซอร์เพื่อการทำงานร่วมกันอย่างราบรื่นนั้นเป็นวิทยาศาสตร์ขยะ

Optimism
Arbitrum
MEV
ยินดีต้อนรับเข้าร่วมชุมชนทางการของ Odaily
กลุ่มสมาชิก
https://t.me/Odaily_News
กลุ่มสนทนา
https://t.me/Odaily_CryptoPunk
บัญชีทางการ
https://twitter.com/OdailyChina
กลุ่มสนทนา
https://t.me/Odaily_CryptoPunk
ค้นหา
สารบัญบทความ
ดาวน์โหลดแอพ Odaily พลาเน็ตเดลี่
ให้คนบางกลุ่มเข้าใจ Web3.0 ก่อน
IOS
Android