มีการระเบิดของ rollups บน Ethereum แบบคัมบรียัน ณ เวลาที่เขียน มี L2 & L3 ที่ใช้งานอยู่ 91 และ L2Beat รายงานว่ามี 82 รายการที่จะมาถึงในอนาคต ผลจากนี้ก็มีจำนวนมากของการแบ่งแยกเมื่อถึงความสะดวกสบายของการเข้าถึงสินทรัพย์ ประสบการณ์ของผู้ใช้ และเครื่องมือพัฒนา โซลูชันปัจจุบันสำหรับความสามารถในการทำงานร่วมกันยังมีอีกมากมายที่ยังไม่ได้รับความพอใจ เนื่องจากพวกเขาขึ้นอยู่กับการผสมผสานของสะพานบุคคลที่สาม ทรัพย์สินที่ถูกห่อหุ้มด้านนอก และโครงสร้างที่ตั้งเจ้าความตั้งใจ แต่ละอย่างนำมาด้วยชุดของปัญหาของตนเอง
ในบทควิดนี้ เราสำรวจภูมิทัศน์การทำงานร่วมกันไร้ความน่าเชื่อถือโดยการกำหนดค่าและอภิปรายห้าระดับของโซลูชันการทำงานร่วมกันระหว่างระบบนี้แยกจากกัน
เราเริ่มต้นด้วยกรณีที่เป็นค่าเริ่มต้นของการถอนแบบไม่มีความน่าเชื่อถือจาก rollup ต้นทางไปยัง L1 และการสะพานเข้าไปยัง rollup เป้าหมายด้วยตนเอง และเราจะสิ้นสุดด้วยโครงสร้างสมมติสำหรับความสามารถในการทำงานร่วมกันข้าม rollup ภายในธุรกรรมเดียว เราจะสำรวจว่าการทำงานร่วมกันในระดับแต่ละระดับจะส่งผลต่อประสบการณ์ของผู้ใช้ ประสบการณ์ของนักพัฒนา ศักยภาพทางด้านการทำกำไรจากค่าธรรมเนียมที่เกี่ยวข้องและ rollup โดยตนเอง (โดยเฉพาะเกี่ยวข้องกับการเปลี่ยนแปลงโครงสร้างพื้นฐาน)
เราจะใช้เฉพาะขอบเขตของ Ethereum และ L2s สำหรับบทความนี้และเน้นไปที่ความสามารถในการทำงานร่วมกันโดยไม่มีความน่าเชื่อถือเท่านั้น ในกรณีนี้ "ความสามารถในการทำงานร่วมกันโดยไม่มีความน่าเชื่อถือ" หมายถึงช่องทางในโปรโตคอลที่ไม่ต้องการบุคคลที่สามเพื่อให้บริการโอนย้ายนอกจากโครงสร้างพื้นฐานที่ rollups ส่วนใหญ่ต้องการอยู่แล้ว
โดยพื้นฐานแล้ว การทำงานร่วมกันไร้ความน่าเชื่อถือต้องการทรัพยากรที่ใช้ร่วมกันซึ่งโปรโตคอลสองตัวที่ต้องการทำงานร่วมกันจะต้องมีการเข้าถึง ในกรณีของ Ethereum L1, สมาร์ทคอนแทรคทั้งหมดจะอยู่ในสภาพแวดล้อมเดียวกัน แบ่งปันสถานะทั้งหมดของ Ethereum ดังนั้นพวกเขาจะมีระดับการทำงานร่วมกันที่สูงที่สุดเสมอ อย่างไรก็ตาม, L2s จะแบ่งปันเลเยอร์การตกลงผ่านสัญญาสะพานแยกต่างหาก ดังนั้นความสามารถในการทำงานร่วมกันจะถูกจำกัดมากขึ้น
ส่วนประกอบพื้นฐานที่สำคัญที่สามารถทำให้เราก้าวขึ้นบนบันไดความน่าเชื่อถือและการทำงานร่วมกันได้ คือ ตัวเรียงลำดับที่ใช้ร่วมกัน ผู้สร้างสุดยอด และ การตกลงที่ใช้ร่วมกัน การรับรองและฟังก์ชันใหม่ที่เปิดขึ้นโดยชั้นที่ใช้ร่วมกันเหล่านี้เกี่ยวข้องกัน แต่สิ่งที่สำคัญคือมีลักษณะที่แตกต่างกัน
เพื่อเริ่มต้น เราจะกำหนดระดับ 6 ระดับของการทำงานร่วมกันโดยไม่มีความน่าเชื่อถือที่ถูกกล่าวถึงในบทนำ:
เพื่อเข้าใจระดับแต่ละระดับได้อย่างลึกซึ้งมากขึ้น เราจะไปพร้อมกับกรณีการใช้งานหลักต่อไปนี้เพื่อสื่อความสำคัญของแต่ละระดับและผลกระทบต่อผู้ใช้ นักพัฒนา การสร้างรวมและผู้ค้นหา MEV
คำถามต่อไปนี้จะได้รับการตอบด้วยเช่นกันเพื่อเข้าใจผลกระทบต่อผู้ถือหุ้นสำคัญในระบบ rollup ใด ๆ มากยิ่งขึ้น
ภาพรวมของการเปลี่ยนแปลงที่ผู้มีส่วนสำคัญเกี่ยวข้อง
N/A
ตามที่กำหนดไว้ นี้หมายถึงโหมดเริ่มต้นปัจจุบันของความไม่น่าเชื่อถือที่สามารถทำงานร่วมกัน โรลอัพทุกตัวถูกกำหนดในลักษณะดังกล่าวเพราะพวกเขาถูกสร้างบน L1 เป็นชั้นที่ใช้ในการตกลงและสามารถเข้าถึง L1 เพียงอย่างเดียวผ่านทางสัญญาสะพานที่พวกเขาเผยแพร่การอัปเดตสถานะเป็นระยะเพื่อรักษาความปลอดภัยของเครือข่าย
วิธีที่ถูกต้องและเป็นทางการเพียงวิธีเดียวที่จะดำเนินการกิจกรรมการถอดทุนระหว่าง rollup ได้อย่างไรก็ตามคือ การถอดทุนสินทรัพย์จาก rollup แหล่งที่มีความเป็นทางการและฝากเงินด้วยตนเองไปยัง rollup เป้าหมายเมื่อมีพร้อมบน L1
สำหรับ optimistic rollups, เวลาเลี่ยงความล่าช้านี้คือ 7 วัน โดยคำนึงถึงหน้าต่างพิสูจน์ข้อผิดพลาด ใน ZK rollup, เวลาเลี่ยงความล่าช้าไม่แน่นอนมาก แต่อาจจะอยู่ที่ไหนก็ได้ตั้งแต่ 15 นาที ถึง 1 วันเต็ม เช่นเดียวกับ ZkSync
นอกจากนี้ การสลับอะตอมแบบ peer-to-peer โดยใช้สมาร์ทคอนแทร็กส์เป็นไปได้ แต่นี่เป็นกรณีการใช้งานขนาดเล็กและไม่สามารถขยายได้อย่างมีประสิทธิภาพ
มีความสำคัญที่จะทราบว่ามีโซลูชันจากฝ่ายที่สามที่มีอยู่ในปัจจุบัน:
ตัวอย่างตัวอย่างทั้งสองของเราต้องการโซลูชันของบุคคลที่สามเพื่ออํานวยความสะดวก
ส่งถึงตัวเอง:
คำสั่งจำกัด Cross-Rollup
เนื่องจากนี่คือกรณีที่ตั้งไว้เป็นค่าเริ่มต้น ไม่จำเป็นต้องพูดถึงการเปลี่ยนแปลงที่เกิดขึ้นกับ UX, DevEx, MEV, และ rollups
Shared Sequencer *
การรวมอะตอมรับประกันว่าการรวมกลุ่ม cross-rollup จะรวมอยู่ในบล็อกถัดไปเท่านั้น
นี่ต้องการซีเควนเซอร์ที่ใช้ร่วมกัน แต่ทฤษฎีอาจบอกได้ว่าสามารถทำได้โดยไม่ต้องมีซีเควนเซอร์ใด ๆ ถ้าซีเควนเซอร์บน rollup สองตัวที่กำหนดไว้ไม่ได้ทำการส่งข้อมูลที่สูงสุด (สามารถส่งข้อมูลสองรายการไปยัง rollup แต่ละตัวได้โดยตรง) นี่คือเหตุผลที่เราเพิ่มเครื่องหมายดอกจันในโครงสร้างพื้นฐานที่ต้องการ
อย่างไรก็ตาม เราไม่สมมติว่าซีเควนเซอร์ที่ใช้ร่วมกันกำลังเรียกใช้โหนดเต็มของแต่ละ rollups ที่เชื่อมต่อและจึงไม่สามารถรับประกันการดำเนินการสำเร็จสำหรับกลุ่มของธุรกรรม ซีเควนเซอร์ที่ใช้ร่วมกันในกรณีนี้สามารถรับประกันได้เพียงแต่ว่าธุรกรรมถูกสร้างขึ้นอย่างถูกต้องและว่าจะถูกรวมอยู่ในบล็อกถัดไป แต่ไม่จำเป็นว่าจะดำเนินการสำเร็จ
เนื่องจากไม่มีการรับประกันการดําเนินการจึงเป็นไปไม่ได้ที่จะใช้ประโยชน์จากการรวมอะตอมในทางที่มีความหมายโดยไม่ทําให้เกิดความเสี่ยงของการทําธุรกรรมอย่างใดอย่างหนึ่ง ด้วยเหตุนี้ เราจึงอยู่ในกรณีเดียวกับการทํางานร่วมกันของ L1 Async
พิจารณาเริ่มต้นการแลกเปลี่ยน cross-rollup อย่างง่ายกับการรับรองการรวมอะตอมเท่านั้น:
เราอาจมีการรับประกันการรวมอะตอมในที่นั้น โดยที่ทั้งสองธุรกรรมจะถูกนำเข้าจริง ๆ ในบล็อกถัดไปสำหรับแต่ละ rollup แต่หากธุรกรรมแรกย้อนกลับและที่สองไม่ย้อนกลับผู้ใช้จะได้รับเงินไม่ถูกต้องบนเครือข่ายปลายทางโดยไม่ต้องล็อกหรือเผาไหม้บนเครือข่ายต้นทางและเราจะพบปัญหาการใช้จ่ายครั้งที่สอง
โดยไม่คำนึงถึงว่าเป็นโซลูชันการทำงานร่วมกันใด ๆ ไม่ว่าจะเป็นสะพาน Likidity, เฟรมเวิร์คต์จุ Intent, หรือการสวอพ xERC-20 ก็ยังอยู่ในตำแหน่งที่เสี่ยงต่อความเสี่ยงนี้และเป็นไปไม่ได้ที่จะลดความเสี่ยงได้ เนื่องจากความเสี่ยงนี้, โซลูชันปัจจุบันต้องการให้ธุรกรรมเริ่มต้นได้รับการดำเนินการอย่างประสบความสำเร็จและถูกนำเข้าไปในบล็อกบนเชนต้นทางก่อนที่จะใช้ relayers เพื่อส่งข้อความที่ถูกส่งไปและดำเนินการธุรกรรมครั้งที่สองบนเชนปลายทาง
ข้อสำคัญ: การรวมอะตอมไม่มีผลต่อศักยภาพในการทำงานร่วมกัน
Proof aggregation layer // สัญญาสะพานที่ใช้ร่วมกัน
นี่คือจุดที่สิ่งต่าง ๆ เริ่มน่าสนใจยิ่งขึ้น อันเป็นผลมาจากสัญญาสะพานที่ใช้ร่วมกันสภาพคล่องทั้งหมดที่ฝากไว้ในระบบนิเวศ rollup จาก L1 สามารถเคลื่อนย้ายได้อย่างอิสระระหว่างค่าสะสมที่เชื่อมต่อทั้งหมด จนถึงจุดนี้เราไม่สามารถทําการแลกเปลี่ยนระหว่างการยกเลิกโดยไม่ผ่านช่องทางบัญญัติการห่อสินทรัพย์ภายนอกหรือใช้โซลูชันของบุคคลที่สาม
ทำไมต้องสร้างสัญญาสะพานร่วมกัน? เพื่อเข้าใจว่าทำไมการมีสัญญาสะพานร่วมกันช่วยให้เราสามารถย้ายสินทรัพย์ได้โดยไม่ต้องเชื่อถือใคร ๆ กล่าวคือถ้าเป็นไปได้ที่มี Eth ใน Rollup A แล้วเผาไหม้ และเทียบทันทีที่ Rollup B โดยไม่ต้องมีสัญญาสะพานร่วมกันบน L1 จะเกิดอะไรขึ้น
เราเห็นว่าทุก rollup จะไม่ได้ตรงกับสัญญาสะพานของตนบน mainnet สัญญาสะพานของ rollup B ยังคงมี 50 Eth ดังนั้นผู้ใช้จึงไม่สามารถถอน 1 Eth ของตนไปยัง L1 ได้
เพื่อแก้ปัญหานี้ มีโปรโตคอลการห่อสินทรัพย์ภายนอกที่ถูกสร้างขึ้น ซึ่งออกใบเช็คเวอร์ชันที่ถูกห่อภายนอกของโทเคนข้าม rollups ซึ่งแทนตัวเวอร์ชันภายในในที่อื่นในเครือข่าย
ด้วยชั้นฐานการตั้งค่าร่วมกัน สถานการณ์ดูเหมือนต่างออกไป โดยเพราะว่าสมดุลของเงินทุนสำหรับแต่ละการเชื่อมต่อ rollup ถูกล็อกอยู่ในสัญญาสะพานเดียวกัน คนสามารถเคลื่อนย้ายไปมาได้อย่างอิสระระหว่าง rollups เนื่องจากจำนวนรวมของมูลค่าในสัญญาสะพานยังเดิมและสามารถถอนได้เสมอ
มีความจำเป็นที่จะต้องมีการอัปเดตที่ระดับสัญญา L1 เกี่ยวกับที่ไหนความเหลือเชื่อถือคือการอนุญาตให้ผู้ใช้ถอนเงินจากทุกที่ แต่เรื่องเล็กๆน้อยเนื่องจาก rollups ที่เชื่อมต่อทั้งหมดสามารถอ่าน/เขียนไปยังสัญญาที่ใช้ร่วมได้
ด้วยชั้นชำระเงินที่ใช้ร่วมกัน การไหลอาจดูเหมือนตามที่มีในกรณีการส่งไปยังตนเองที่ง่าย
ส่งให้ตัวเอง:
เราสามารถขยายกระแสนี้ไปยัง ERC-20 ใดก็ได้ที่มีสัญญาทั้งหมดบน rollups ทุกอันในระบบนิติบัญญัติที่ใช้ร่วมกัน
คนหนึ่งสามารถคิดเกี่ยวกับสัญญาสะพานที่ใช้ร่วมกันเป็นชั้นข้อมูลในโปรโตคอลระหว่าง rollups ทั้งหมดที่เชื่อมต่อกัน ดังนั้นทฤษฎีนี้สามารถขยายไปสู่มาตรฐานการส่งข้อความใดๆ ได้
นี้ทำให้เราใกล้ชิดกับการสร้างสิ่งที่สามารถใช้ร่วมกันได้มากขึ้น แต่เนื่องจากขั้นตอนที่จำเป็นในการรวบรวมพิสูจน์และส่งข้อความไปต่อเมื่อสถานะเปลี่ยนแปลงถูกสะท้อนบน L1 มีความล่าช้า (แม้จะต่ำกว่ากรณี L1 async) อย่างไรก็ตาม กิจกรรม cross-rollup ที่ซับซ้อนเช่นการใช้ DEX บน rollup B ที่เริ่มต้นด้วยสินทรัพย์บน rollup A สำหรับ cross-rollup ลิมิตออร์ยังคงเป็นกระบวนการที่ล่าช้าสำหรับผู้ใช้ เนื่องจากพวกเขายังต้องส่งไปยังตัวเองและสลับสินทรัพย์ด้วยตนเองบน rollup ปลายทาง ในกรณีนี้ไม่สามารถสร้างจับใจ cross-rollup bundles
ประโยชน์สำคัญอีกประการหนึ่งของการตกลงร่วมกันคือมีความน้อยลงสำหรับผู้ให้ความสามารถในการจัดการหรือแก้ปัญหาที่กำลังเติมคำสั่งในสภาพแวดล้อมหลายรูปแบบ เนื่องจากสามารถเห็นถึงความสามารถในทุกๆ rollup ที่เชื่อมต่ออยู่ในสัญญาสะพานเดียวกัน พวกเขาจึงไม่ต้องรอให้หน้าต่างการถอนเต็มรูปแบบเพื่อจัดการความสามารถข้าม rollup ของพวกเขา
ข้อสำคัญ: การตกลงร่วมกันช่วยให้สามารถโอนสินทรัพย์ที่ไม่ได้ถูกห่วงอย่างนอกจากนี้ยังสามารถสื่อสารอย่างอิสระใน rollups ทุกตัวที่ใช้สัญญาสะพานและชั้นการรวมพิสูจน์ร่วมกันอย่างไร้ข้อจำกัด แต่ยังคงมีความล่าช้าที่ไม่สำคัญ (ถึงแม้จะสั้นกว่า L1 Async) และไม่สามารถสร้างชุดข้อมูลเชิงนิรภัยที่เกิดจากการตัดข้าม rollup
ตัวแปรที่ใช้ร่วมกัน // ผู้สร้างที่ยิ่งใหญ่
การดำเนินการแบบอะตอมิกช่วยให้เราสามารถรับประกันการดำเนินการสำเร็จของ cross-rollup bundles ได้ แต่เมื่อเราเห็น จำนวนของกรณีการใช้ cross-rollup bundles ที่ไม่มีธุรกรรมที่ขึ้นอยู่กับกันน้อยกว่าที่คนสามารถคาดการณ์ได้ในตอนแรก
หากธุรกรรมเดียวในชุดของธุรกรรมที่ขึ้นอยู่กับกันย้อนกลับ แล้วธุรกรรมอื่น ๆ ทั้งหมดก็กลายเป็นโมฆะและต้องย้อนกลับเช่นเดียวกับการเผาไหม้และการเหรียญที่เกิดขึ้นใน rollups การเหรียญที่เกิดขึ้นใน rollup ปลายทางขึ้นอยู่กับการเผาไหม้หรือการล็อคไว้ใน rollup ต้นทางดังนั้นเราจะกล่าวว่าชุดของการเผาไหม้และธุรกรรมการเหรียญเป็นชุดของธุรกรรมที่ขึ้นอยู่กัน
การสร้างกลุ่มนี้เป็นสิ่งที่เป็นไปไม่ได้โดยไม่มีฝ่ายกลางเช่น ผู้สร้างสุดยอดที่สามารถสร้างธุรกรรมปลายทาง
พิจารณาสิ่งที่จำเป็นต้องเป็นจริงสำหรับการสร้าง cross-rollup swap bundles โดยไม่มีคู่ค้าอื่นที่เกินผู้ใช้ ต้องมีการสร้าง bundle เพื่อล็อค/เผาสินทรัพย์บน source rollup และ mint สินทรัพย์บน destination rollup แต่เราพบปัญหา:
เราเห็นว่าแม้ว่าเราสามารถรับประกันการดำเนินการของ cross-rollup bundles ได้ แต่เราพบความยากลำบากในวิธีที่จะสร้างมันในที่แรกเพื่อโอนสินทรัพย์มูลค่า
อย่างไรก็ตาม ยังมีกรณีการใช้งานไม่กี่กรณีสำหรับการดำเนินการอะตอมิกโดยไม่ต้องขึ้นอยู่กับชุด cross-rollup bundles หนึ่งในนั้นคือ cross-rollup arbitrage:
Cross-Rollup DEX Arbitrage with Atomic Execution
เนื่องจากไม่มีความขึ้นอยู่กับกันอย่างเข้มงวดระหว่างธุรกรรมเหล่านี้ ใครก็สามารถสร้างจับคู่อะตอมนี้และส่งมันไปยังตัวจัดลำดับที่ร่วมกันซึ่งจะรับประกันการดำเนินการอะตอม
อย่างไรก็ตาม เพื่อให้มั่นใจได้ในการดำเนินการแบบอะตอมในที่แรก rollups ต้องเลือกเข้าร่วม sequencer และ superbuilder ที่ใช้รัน full nodes ของ rollups ที่เชื่อมต่อทั้งหมด ดังนั้น การเปลี่ยนจากการดำเนินการแบบอะตอมเป็นการรวมบล็อกเลเวล ไม่ใช่เรื่องยากและทุกโซลูชันการเรียงลำดับที่ใช้ร่วมกันจะทำเช่นนี้ การเปลี่ยนแปลงเดียวที่จำเป็นคือ block builder หรือบุคคลที่สามต้องสามารถสร้างธุรกรรมในนามของผู้ใช้เพื่อสร้าง cross-rollup bundles ที่ขึ้นอยู่กับกัน
ไม่น่าจะมีโครงสร้างที่สามารถทำการดำเนินการแบบอะตอมได้เท่านั้นโดยไม่ต้องไปขั้นตอนต่อไปเพื่อมีความสามารถในการประสิทธิภาพ การกระโดดไปสู่ความสามารถในการทำงานร่วมกันระดับบล็อกเต็มไปโดยส่วนสูงกว่าความยากลำบากในการทำให้มันเกิดขึ้นจากการมีโครงสร้างที่สามารถดำเนินการแบบอะตอมอยู่แล้ว
ข้อสำคัญ: ในขณะที่ cross-rollup bundles มั่นใจว่าจะทำงานอะตอมิก แต่ไม่ชัดเจนว่า bundles เหล่านี้จะถูกสร้างอย่างไรหากไม่มี superbuilder ที่สร้างส่วนของ bundles ดังนั้นไม่น่าจะมีผลต่อความสามารถในการทำงานร่วมกัน ตัวสร้างที่มี sequencers/superbuilders ร่วมกันควรสร้างแทนสำหรับความสามารถในการรวมบล็อก
ชุดเรียงข้อมูลที่ใช้ร่วมกัน // ผู้สร้างเยี่ยม // ชั้นการรวบรวมพิสูจน์// สัญญาสะพานที่แชร์
(* = optional)
ในหลายส่วนของข้อความเกี่ยวกับ sequencers ที่แบ่งปันและชั้นการตกลงที่แบ่งปัน คำที่ใช้บ่อยเพื่ออธิบายระดับของความสามารถในการทำงานร่วมกันนี้คือ "ความสามารถในการสร้างเพลงในเวลาเดียวกัน"
เราได้ปรับเปลี่ยนคำนี้เล็กน้อยเพื่อให้มีคำอธิบายมากขึ้น การอัปเดตคำศัพท์เป็น Block-Level Composability แม้ว่าจะเกี่ยวข้องกับความสามารถในการสร้างระหว่าง rollups สองตัวในหมู่ธุรกรรม cross-rollup ที่จะถูกรวมและดำเนินการเรียบร้อยในบล็อกถัดไป การสามารถในการสร้างระหว่างบทบาทอาจเข้าสับสนกับการสามารถในการสร้างระหว่างระดับการทำธุรกรรม ซึ่งเราจะสำรวจในส่วนถัดไป สำคัญอยู่ที่นี่ นี่ก็ต้องการฝ่ายกลาง (โครงสร้างการเรียงลำดับที่ใช้ร่วมกัน) ซึ่งสามารถเป็นผู้นำและผู้สร้างของหมู่ธุรกรรมที่ขึ้นอยู่กับกัน
ในระดับนี้เราเริ่มเห็นความสามารถในการรวมกันจริงระหว่าง rollups ที่เกินการส่งไปยังตนเองเพื่อเข้าร่วมใน dapp บน rollup อื่น
ด้วยการเพิ่มตัวจัดลำดับที่ใช้ร่วมกันที่สามารถสร้างธุรกรรม เราตอนนี้สามารถทำการรวบรวม cross-rollup bundles ซึ่งนักพัฒนาสามารถใช้ประโยชน์ได้โดยโปรแกรม
มีกรณีที่สำคัญสองกรณีที่ต้องพิจารณา
ในทั้งสองกรณี เราสามารถสร้าง cross-rollup bundles สำหรับกิจกรรมที่ซับซ้อนมากขึ้น แต่ในกรณีที่สองกับการชำระเงินร่วมกัน เราสามารถใช้สินทรัพย์เชื้อเพลิง ซึ่งอาจมีผลกระทบที่ดีกว่าต่อกิจกรรม cross-rollup DEX เช่น
ด้วยความสามารถในการประกอบบล็อก เรามีทั้งประโยชน์จากการดำเนินการแบบอะตอมพร้อมกับความสามารถเพิ่มเติมในการสร้างจับคู่ธุรกรรมที่ขึ้นอยู่กับกัน มาดูตัวอย่างที่ชัดเจนของเราสองกรณี
การโอนเหรียญเดียวกันผ่าน xERC-20 (ไม่มีการตกลงร่วม)
ด้วยชั้นซ่อมสมการที่ใช้ร่วมกัน กระบวนการก็ง่ายขึ้นไปอีกเพราะไม่จำเป็นต้องใช้ xERC-20 ในการสลับก่อน
ตอนนี้เรามาสำรวจข้อจำกัดคำสั่งซื้อระหว่างรอลลัพเพื่อซื้อ ERC-20 ในรอลลัพ B ด้วย ERC-20 เริ่มต้น (ต่างกัน) จากรอลลัพ A และมี ERC-20 ที่ผลิตเป็นผลลัพธ์ส่งกลับไปที่รอลลัพ A ในกรณีนี้เราไม่สมมติว่าเรามีชั้นการตัดสินร่วม แม้ว่าการไหลที่คล้ายกันจะมีอยู่ในกรณีที่มีเพียงหนึ่งความแตกต่างเป็นการไม่ต้องห่อ assets ของภายนอกเพิ่มเติม
นี่คือธุรกรรมที่ต้องการในกรณีนี้:
นี่คือการไหลที่เป็นไปได้สำหรับวิธีการทำงานนี้:
Cross-Rollup Limit Order in Block-Level Composable Environment
Flow:
เนื่องจากซุปเปอร์บิลเดอร์สร้างบล็อกและเรียงลำดับธุรกรรมได้ จึงสามารถจำลองธุรกรรมแต่ละรายการและข้ามชุดได้หากพบว่ามีธุรกรรมใดที่จะย้อนกลับ ตัวอย่างเช่น หากพบว่าผู้ใช้จะไม่ได้รับการบริการที่สมบูรณ์บนออร์เดอร์ของพวกเขา ชุดจะถูกข้ามก่อนที่บล็อกจะถูกดำเนินการ
ในกรณีนี้ของโครงสร้างพื้นฐานการจัดลําดับที่ใช้ร่วมกันโดยไม่มีชั้นการชําระบัญชีที่ใช้ร่วมกันจะต้องใช้ Eth และ xERC-20 เวอร์ชันที่ห่อหุ้มภายนอกซึ่งอาจส่งผลให้สภาวะตลาดแย่ลงใน DEX เนื่องจากกลุ่มสภาพคล่องที่บางลงสําหรับสินทรัพย์ที่ห่อหุ้ม ในกรณีนี้ผู้ใช้อาจต้องใช้ขีด จํากัด ที่นุ่มนวลกว่าด้วยการลื่นไถลที่ยอมรับได้มากขึ้นและอาจได้รับราคาที่ต่ํากว่าปกติ ข้อยกเว้นประการหนึ่งคือหาก USDC มีส่วนเกี่ยวข้อง เป็นไปได้ว่าซีเควนเซอร์ที่ใช้ร่วมกันโดยไม่มีข้อตกลงร่วมกันสามารถทํางานร่วมกับ Circle เพื่อรับสิทธิ์แต่เพียงผู้เดียวในสัญญา USDC ข้าม rollups เพื่ออํานวยความสะดวกในการถ่ายโอน USDC ดั้งเดิมและการแลกเปลี่ยน cross-rollup
ด้วยชั้นการตัดสินส่วนที่ใช้ร่วมกัน การห่อหุ้มภายนอกนี้ไม่จำเป็น และยังคงให้ราคาที่ดีกว่าเนื่องจากมีบ่อยู่ลิกวิดิตี้ลึกซึ้งสำหรับการแลกเปลี่ยนสินทรัพย์เชื้อเพลิง แต่กระแสก็ยังคงเหมือนเดิม
Rollups จะต้องมีความสำคัญที่จะเชื่อถืออย่างเต็มที่ในตัวสร้างลำดับร่วม/ซุปเปอร์บิลเดอร์ที่สร้างมุมบูเดิลร่วมแบบถาวร นี่เป็นเนื้อหาหลักที่มาจากความจริงที่มุมบูเดิลร่วมนี้มีการทำธุรกรรมที่เกี่ยวข้องที่มุมบูเดิลแต่ละตัวไม่สามารถทำการตรวจสอบได้จนกว่าบล็อกจะถูกเพิ่มไปยังโซนของแต่ละมุมบูเดิลและรวมเข้ากับชั้นการตัดสินใจบน L1 ตัวอย่างคือการเผาและเทียบเงิน Eth จากแหล่งที่มาไปยังปลายทาง สิ่งสำคัญคือ Eth จะถูกเผาจริงๆ บนโซนต้นทางก่อนที่จะถูกทำเหรียญบนโซนปลายทาง มิฉะนั้นการใช้เงินครั้งซ้ำสามารถที่จะเกิดขึ้น
อย่างไรก็ตาม ในการดำเนินการชุดเต็มนี้ในบล็อกหนึ่ง ทุกธุรกรรมจำเป็นต้องมีในบล็อกนั้น ๆ แม้ว่าธุรกรรมจะแทนสถานะที่ไม่ถูกต้องก่อนบล็อกเอง (เช่น มี Eth บนเชนปลายทางสำหรับสว็อป หากผู้ใช้ไม่มีก่อนบล็อก) ดังนั้น เราต้องเชื่อใจในตัวจัดลำดับว่าจริง ๆ ได้รวมลำดับที่ถูกต้องลงในชุด cross-rollup บางคนสามารถส่งพิสูจน์หลังจากเรื่องเพื่อพิสูจน์ความถูกต้องของแต่ละธุรกรรม
นี่เป็นสิ่งที่สำคัญน้อยลงเมื่อใช้สินทรัพย์ที่ถูกห่อไว้ อย่างไรก็ตาม เนื่องจากมันไม่มีผลต่อความเหนือของ Likelihood ภายในที่เก็บอยู่ใน L1 แต่กลไกการล้มเหลวต้องยังคงมีอยู่เพื่อต้านทานความเสี่ยงจาก sequencer ที่ไม่เชื่อถือหรือข้อบกพร่องในรหัสที่ทำให้รายการกับการดำเนินการที่เกี่ยวข้องถูกย้อนกลับ
การเปลี่ยนแปลงระดับ VM // การตกลงร่วมกัน // Superbuilders
ความสามารถในการเขียนระดับธุรกรรมหมายถึงฟังก์ชันการทํางานในระดับเดียวกับที่สัญญาอัจฉริยะในส่วนแบ่งห่วงโซ่ EVM หนึ่งรายการ ในกรณีนี้ธุรกรรมเดียวสามารถอัปเดตสถานะในการยกเลิกหลายรายการพร้อมกันและตรวจสอบให้แน่ใจว่าการเปลี่ยนแปลงสถานะใด ๆ ก่อนการโทรใด ๆ สามารถเปลี่ยนกลับได้หากการโทรไม่กลับมาสําเร็จ ผลที่ได้คือการรวมกลุ่มอะตอมของธุรกรรมในสภาพแวดล้อมที่ประกอบได้ระดับบล็อกสามารถทําได้ภายในการรวมข้ามเดียวและธุรกรรมข้าม VM สิ่งนี้ต้องการการเปลี่ยนแปลงระดับ VM สําหรับการยกเลิกที่เชื่อมต่อทั้งหมดนอกเหนือจากเลเยอร์การตั้งถิ่นฐานที่ใช้ร่วมกันและตัวสร้างเสริม
เราอธิบายกลไกที่เป็นไปได้ที่นี่ในระดับสูง (การก่อสร้างนี้เกิดจากทีมเอสเปรสโซตามความรู้ของเรา) ขั้นแรกผู้ใช้ส่งธุรกรรม cross-rollup ไปยัง rollups ทั้งหมดที่มีสถานะเปลี่ยนแปลงโดยธุรกรรมหรือ superbuilder ที่สามารถสร้างบล็อกในการรวบรวมที่เกี่ยวข้องทั้งหมด ซูเปอร์บิลเดอร์จําลองธุรกรรมและรายการฟอร์มของคู่อินพุต - เอาต์พุตหนึ่งรายการสําหรับการยกเลิกที่เกี่ยวข้องแต่ละครั้งซึ่งระบุข้อความ cross-rollup ที่จําเป็นและคาดว่าจะเกิดขึ้นภายในธุรกรรม (โปรดทราบว่า superbuilder สามารถทําได้ก็ต่อเมื่อมีสิทธิ์จัดลําดับที่ปลอดภัยสําหรับการยกเลิกที่เกี่ยวข้องทั้งหมดเป็นระยะเวลาหนึ่ง) จากนั้น superbuilder จะส่งบล็อกจําลองไปยังผู้เสนอของแต่ละ rollup พร้อมกับรายการคู่อินพุต - เอาต์พุตที่คาดหวังสําหรับแต่ละธุรกรรม cross-rollup ในระหว่างการดําเนินการแต่ละ rollup ดําเนินการฟังก์ชันการเปลี่ยนสถานะของตัวเองตามปกติโดยสมมติว่าอินพุตจากรายการธุรกรรม cross-rollup ถูกต้อง ในระหว่างการชําระบัญชีรายการอินพุต - เอาต์พุตสามารถเปรียบเทียบข้ามและพิสูจน์แล้วว่าปลอดภัยในระหว่างขั้นตอนการรวมหลักฐานในเลเยอร์การตั้งถิ่นฐานที่ใช้ร่วมกัน โดยเฉพาะอย่างยิ่ง หากอินพุตที่คาดหวังสําหรับธุรกรรม cross-rollup ไม่ตรงกับสิ่งที่ rollup อื่นระบุเป็นเอาต์พุต กระบวนการชําระบัญชีจะปฏิเสธธุรกรรม cross-rollup ทั้งหมด
แม้ว่าจะมีฟังก์ชันใหม่ที่ถูกปลดล็อคอย่างจำกัดด้วยความสามารถในการรวมความสามารถระดับธุรกรรมที่เพิ่มขึ้นนอกเหนือจากการยืมแฟลช เพิ่มประสบการณ์สำหรับนักพัฒนาในการสร้างแอปพลิเคชันที่เชื่อมโยงกับภายในโฮลอัพอย่างมีข้อดีมาก ความสามารถในการสร้างแอปพลิเคชันที่มีปฏิสัมพันธ์กับเชื่อมโยงกับโฮลอัพทั้งหมดโดยไม่ต้องคิดเกี่ยวกับการรวมกลุ่มโฮลอัพจะทำให้ง่ายมากขึ้นที่จะนวัตกรรมในภูมิทัศน์แบบหลายโฮลอัพ นอกจากนี้ มีโอกาสที่จะมีการใช้งานใหม่และพฤติกรรมที่จะเกิดขึ้นเนื่องจากผลลัพธ์
มีคำถามดีๆ เกี่ยวกับความสามารถในการรวมกันในระดับธุรกรรม ตัวอย่างเช่น วิธีการให้นักพัฒนาสามารถเลือกเข้าร่วมหรือไม่เข้าร่วมการเรียก cross-rollup สำหรับความต้องการของสมาร์ทคอนแทร็คของพวกเขาต้องพิจารณาอย่างรอบคอบ การอนุญาตให้การรวมกันอย่างอิสระโดยไม่มีข้อจำกัดหมายความว่าเราถอยกลับไปสู่ rollup ที่เป็นระบบแบบมอนอลิทิก ทางเราคิดว่าคำตอบที่นี่คือให้นักพัฒนาระบุโดยชัดเจนที่ไหนที่การรวมกันระหว่าง cross-rollup เป็นสิ่งจำเป็นในสัญญาของพวกเขา เช่น ผ่าน Solidity modifier เป็นต้นcomposable
ซึ่งทำเครื่องหมายบางจุดเข้าของสัญญาเป็น cross rollup ที่เรียกได้
หลังจากที่เดินทางผ่านรายละเอียดทางเทคนิคของทุกระดับของความสามารถในการทำงานร่วมกันที่นี่ เราสามารถรวมสรุปได้:
ในขณะนี้มีโครงการมากมายที่เกิดขึ้นเพื่อสร้างระบบนิเอกที่สามารถทำงานร่วมกันได้แบบเดิม นี่คือภาพรวมระดับสูงของภูมิทัศน์:
แผนที่นิเวศ
ยังมีคำถามเปิดอยู่เกี่ยวกับรายละเอียดทางเทคนิคภายในกรอบที่กล่าวถึงในบทความนี้ ตัวอย่างเช่น การสร้างแบรนด์เดิลในระบบนอกเลเวลบล็อกสำหรับคำสั่งจำกัดรอบการสั่งซื้ออาจมีการออกแบบละเอียดเพิ่มเติมเพื่อจัดการกรณีการบรรทองและความทนทานของการสั่งซื้อในตลาด เราเสนอวิธีการแก้ไขอาจารย์ที่นี่เพื่อย้อนกลับคำสั่งจำกัดรอบการสั่งซื้อนอกเลเวลหากคำสั่งไม่ได้รับการทำเต็มที่ แต่พื้นที่การออกแบบเปิด
อย่างเพิ่มเติมควรพิจารณาเรื่องนี้ในมุมมองของความคิดที่เติบโตอย่างรวดเร็วในพื้นที่เกี่ยวกับ appchains Appchains คือ L2 แบบ long-tail ที่เป็นทั้งทั่วไปหรือมีการอนุญาต ด้วยจุดมุ่งหมายเพื่อแยกแยะโปรโตคอลที่เกี่ยวข้องใน L2 เดียวกัน มีความน่าจะเป็นว่าเมื่อเราไปถึงระดับของการสร้างสมรรถนะในระดับบล็อก เรายังจะเริ่มเห็นว่าสภาพแวดล้อมของ appchain ได้รับความสนใจอย่างมากเนื่องจากมีความสามารถในการสร้างสมรรถนะตามธรรมชาติระหว่างเครือข่ายที่เชื่อมต่อกันทั้งหมด
ในขณะนี้ยังเป็นเรื่องยากที่จะเริ่มต้น Likuiditi ไปยัง appchains เหล่านี้ แต่เมื่อโซ่ขนาดใหญ่มาเชื่อมต่อให้เป็นทางเข้าสู่สภาพแวดล้อมที่สามารถทำงานร่วมกัน มันเป็นไปได้ว่าเราจะเห็นระบบนิทรรศการบนพื้นฐานที่แชร์
คำถามที่สำคัญอีกอย่างคือว่าพื้นที่การออกแบบรอบ superbuilders จะเริ่มทำให้สงบลงอย่างไร การพัฒนาด้านนี้ยังคงเริ่มต้นอยู่ และยังไม่ชัดเจนว่าวิธีที่มีประสิทธิภาพและมีประสิทธิภาพที่สุดในการสร้างเครือข่ายของผู้สร้างที่ซับซ้อนที่สามารถสร้างกลุ่ม cross-rollup bundles ได้ในที่สุดกลุ่ม cross-rollup bundles เหล่านี้จะถูกรวมอย่างที่เหมาะที่สุดในบล็อก และผลกระทบต่อรายได้ rollup เป็นคำถามที่เปิดเผยด้วยกลยุทธ์ที่แตกต่างกันที่ถูกสำรวจโดยทีมหลายทีม
ในที่สุดอนาคตน่าจะเกี่ยวข้องกับการผสานระหว่างโซลูชันการสะพายในโปรโตคอลและนอกจากโปรโตคอลและพวกเขาจะทำงานร่วมกันเพื่อให้กระบวนการทำงานร่วมกันที่ดีกว่าสำหรับทุกคน เราเชื่อว่าการเคลื่อนไหวที่ถูกกำหนดไว้ในบทความนี้สามารถเป็นไกด์สำหรับนักพัฒนาและผู้สร้างทั้งหลายที่ให้ความสำคัญกับการทำให้กระบวนการทำงานร่วมกันข้ามโรลอัพเป็นไปอย่างราบรื่นมากขึ้นสำหรับผู้ใช้สุดท้าย
น่าจะมีโอกาสที่จะมีรูปแบบใหม่ๆ สำหรับการทำงานร่วมกันระหว่าง cross-rollup ที่ยังไม่เคยค้นพบมาก่อน หากคุณเป็นผู้สร้างที่ทำงานเกี่ยวกับวิธีการที่ขยายขอบเขตของหัวข้อที่นี่หรือไม่ได้ถูกกล่าวถึงข้างต้น โปรดreach out(dms are open). เทคโนโลยีสุดท้ายได้เจริญพัฒนามาพอสมควรเพียงพอที่จะกดดันให้มีความดันจริง ๆ ที่ต้องหาทางแก้ไขปัญหาเกี่ยวกับความเหดจึง/การแบ่งส่วนนิเทศ และเราตลอดเวลามองหาการเชื่อมต่อกับผู้ก่อตั้งที่กำลังรับความเสี่ยงในการสร้างสรรค์วิธีการแก้ปัญหา
บทความนี้เติบโตขึ้นมาจากการสนทนาโต๊ะกลมเกี่ยวกับความสามารถในการทำงานร่วมกันที่แสนทรงเชยที่จัดขึ้นโดย 1kx ที่ EthCC ขอขอบคุณพิเศษNoah Pravecek, Ellie Davidson, และ เทอร์รี่สำหรับการอ่านเวอร์ชันเริ่มต้นของบทความนี้และการให้ข้อเสนอแนะ รวมถึง Marti, mteam, และ บอ ดูสำหรับการสนทนาเพิ่มเติมเรื่อง
บทความนี้ถูกพิมพ์ใหม่จาก [ กระจก] Forward the Original Title‘ไร้ความน่าเชื่อถือการทำงานร่วมกันระหว่าง Rollups: ภูมิทัศน์ ก่อสร้าง และความท้าทาย’, All copyrights belong to the original author [Marshall Vyletel Jr.]. If there are objections to this reprint, please contact theเกต เรียนทีม และพวกเขาจะดำเนินการโดยเร็ว
คำปฏิเสธความรับผิด: มุมมองและความเห็นที่แสดงในบทความนี้เป็นเพียงของผู้เขียนเท่านั้น และไม่เป็นการให้คำแนะนำในการลงทุนใด ๆ
การแปลบทความเป็นภาษาอื่น ๆ ได้ถูกทำโดยทีม Gate Learn หากไม่ได้กล่าวถึง การคัดลอก การแจกจ่าย หรือการลอกเลียนบทความที่ถูกแปลนั้นถูกห้าม
Compartilhar
มีการระเบิดของ rollups บน Ethereum แบบคัมบรียัน ณ เวลาที่เขียน มี L2 & L3 ที่ใช้งานอยู่ 91 และ L2Beat รายงานว่ามี 82 รายการที่จะมาถึงในอนาคต ผลจากนี้ก็มีจำนวนมากของการแบ่งแยกเมื่อถึงความสะดวกสบายของการเข้าถึงสินทรัพย์ ประสบการณ์ของผู้ใช้ และเครื่องมือพัฒนา โซลูชันปัจจุบันสำหรับความสามารถในการทำงานร่วมกันยังมีอีกมากมายที่ยังไม่ได้รับความพอใจ เนื่องจากพวกเขาขึ้นอยู่กับการผสมผสานของสะพานบุคคลที่สาม ทรัพย์สินที่ถูกห่อหุ้มด้านนอก และโครงสร้างที่ตั้งเจ้าความตั้งใจ แต่ละอย่างนำมาด้วยชุดของปัญหาของตนเอง
ในบทควิดนี้ เราสำรวจภูมิทัศน์การทำงานร่วมกันไร้ความน่าเชื่อถือโดยการกำหนดค่าและอภิปรายห้าระดับของโซลูชันการทำงานร่วมกันระหว่างระบบนี้แยกจากกัน
เราเริ่มต้นด้วยกรณีที่เป็นค่าเริ่มต้นของการถอนแบบไม่มีความน่าเชื่อถือจาก rollup ต้นทางไปยัง L1 และการสะพานเข้าไปยัง rollup เป้าหมายด้วยตนเอง และเราจะสิ้นสุดด้วยโครงสร้างสมมติสำหรับความสามารถในการทำงานร่วมกันข้าม rollup ภายในธุรกรรมเดียว เราจะสำรวจว่าการทำงานร่วมกันในระดับแต่ละระดับจะส่งผลต่อประสบการณ์ของผู้ใช้ ประสบการณ์ของนักพัฒนา ศักยภาพทางด้านการทำกำไรจากค่าธรรมเนียมที่เกี่ยวข้องและ rollup โดยตนเอง (โดยเฉพาะเกี่ยวข้องกับการเปลี่ยนแปลงโครงสร้างพื้นฐาน)
เราจะใช้เฉพาะขอบเขตของ Ethereum และ L2s สำหรับบทความนี้และเน้นไปที่ความสามารถในการทำงานร่วมกันโดยไม่มีความน่าเชื่อถือเท่านั้น ในกรณีนี้ "ความสามารถในการทำงานร่วมกันโดยไม่มีความน่าเชื่อถือ" หมายถึงช่องทางในโปรโตคอลที่ไม่ต้องการบุคคลที่สามเพื่อให้บริการโอนย้ายนอกจากโครงสร้างพื้นฐานที่ rollups ส่วนใหญ่ต้องการอยู่แล้ว
โดยพื้นฐานแล้ว การทำงานร่วมกันไร้ความน่าเชื่อถือต้องการทรัพยากรที่ใช้ร่วมกันซึ่งโปรโตคอลสองตัวที่ต้องการทำงานร่วมกันจะต้องมีการเข้าถึง ในกรณีของ Ethereum L1, สมาร์ทคอนแทรคทั้งหมดจะอยู่ในสภาพแวดล้อมเดียวกัน แบ่งปันสถานะทั้งหมดของ Ethereum ดังนั้นพวกเขาจะมีระดับการทำงานร่วมกันที่สูงที่สุดเสมอ อย่างไรก็ตาม, L2s จะแบ่งปันเลเยอร์การตกลงผ่านสัญญาสะพานแยกต่างหาก ดังนั้นความสามารถในการทำงานร่วมกันจะถูกจำกัดมากขึ้น
ส่วนประกอบพื้นฐานที่สำคัญที่สามารถทำให้เราก้าวขึ้นบนบันไดความน่าเชื่อถือและการทำงานร่วมกันได้ คือ ตัวเรียงลำดับที่ใช้ร่วมกัน ผู้สร้างสุดยอด และ การตกลงที่ใช้ร่วมกัน การรับรองและฟังก์ชันใหม่ที่เปิดขึ้นโดยชั้นที่ใช้ร่วมกันเหล่านี้เกี่ยวข้องกัน แต่สิ่งที่สำคัญคือมีลักษณะที่แตกต่างกัน
เพื่อเริ่มต้น เราจะกำหนดระดับ 6 ระดับของการทำงานร่วมกันโดยไม่มีความน่าเชื่อถือที่ถูกกล่าวถึงในบทนำ:
เพื่อเข้าใจระดับแต่ละระดับได้อย่างลึกซึ้งมากขึ้น เราจะไปพร้อมกับกรณีการใช้งานหลักต่อไปนี้เพื่อสื่อความสำคัญของแต่ละระดับและผลกระทบต่อผู้ใช้ นักพัฒนา การสร้างรวมและผู้ค้นหา MEV
คำถามต่อไปนี้จะได้รับการตอบด้วยเช่นกันเพื่อเข้าใจผลกระทบต่อผู้ถือหุ้นสำคัญในระบบ rollup ใด ๆ มากยิ่งขึ้น
ภาพรวมของการเปลี่ยนแปลงที่ผู้มีส่วนสำคัญเกี่ยวข้อง
N/A
ตามที่กำหนดไว้ นี้หมายถึงโหมดเริ่มต้นปัจจุบันของความไม่น่าเชื่อถือที่สามารถทำงานร่วมกัน โรลอัพทุกตัวถูกกำหนดในลักษณะดังกล่าวเพราะพวกเขาถูกสร้างบน L1 เป็นชั้นที่ใช้ในการตกลงและสามารถเข้าถึง L1 เพียงอย่างเดียวผ่านทางสัญญาสะพานที่พวกเขาเผยแพร่การอัปเดตสถานะเป็นระยะเพื่อรักษาความปลอดภัยของเครือข่าย
วิธีที่ถูกต้องและเป็นทางการเพียงวิธีเดียวที่จะดำเนินการกิจกรรมการถอดทุนระหว่าง rollup ได้อย่างไรก็ตามคือ การถอดทุนสินทรัพย์จาก rollup แหล่งที่มีความเป็นทางการและฝากเงินด้วยตนเองไปยัง rollup เป้าหมายเมื่อมีพร้อมบน L1
สำหรับ optimistic rollups, เวลาเลี่ยงความล่าช้านี้คือ 7 วัน โดยคำนึงถึงหน้าต่างพิสูจน์ข้อผิดพลาด ใน ZK rollup, เวลาเลี่ยงความล่าช้าไม่แน่นอนมาก แต่อาจจะอยู่ที่ไหนก็ได้ตั้งแต่ 15 นาที ถึง 1 วันเต็ม เช่นเดียวกับ ZkSync
นอกจากนี้ การสลับอะตอมแบบ peer-to-peer โดยใช้สมาร์ทคอนแทร็กส์เป็นไปได้ แต่นี่เป็นกรณีการใช้งานขนาดเล็กและไม่สามารถขยายได้อย่างมีประสิทธิภาพ
มีความสำคัญที่จะทราบว่ามีโซลูชันจากฝ่ายที่สามที่มีอยู่ในปัจจุบัน:
ตัวอย่างตัวอย่างทั้งสองของเราต้องการโซลูชันของบุคคลที่สามเพื่ออํานวยความสะดวก
ส่งถึงตัวเอง:
คำสั่งจำกัด Cross-Rollup
เนื่องจากนี่คือกรณีที่ตั้งไว้เป็นค่าเริ่มต้น ไม่จำเป็นต้องพูดถึงการเปลี่ยนแปลงที่เกิดขึ้นกับ UX, DevEx, MEV, และ rollups
Shared Sequencer *
การรวมอะตอมรับประกันว่าการรวมกลุ่ม cross-rollup จะรวมอยู่ในบล็อกถัดไปเท่านั้น
นี่ต้องการซีเควนเซอร์ที่ใช้ร่วมกัน แต่ทฤษฎีอาจบอกได้ว่าสามารถทำได้โดยไม่ต้องมีซีเควนเซอร์ใด ๆ ถ้าซีเควนเซอร์บน rollup สองตัวที่กำหนดไว้ไม่ได้ทำการส่งข้อมูลที่สูงสุด (สามารถส่งข้อมูลสองรายการไปยัง rollup แต่ละตัวได้โดยตรง) นี่คือเหตุผลที่เราเพิ่มเครื่องหมายดอกจันในโครงสร้างพื้นฐานที่ต้องการ
อย่างไรก็ตาม เราไม่สมมติว่าซีเควนเซอร์ที่ใช้ร่วมกันกำลังเรียกใช้โหนดเต็มของแต่ละ rollups ที่เชื่อมต่อและจึงไม่สามารถรับประกันการดำเนินการสำเร็จสำหรับกลุ่มของธุรกรรม ซีเควนเซอร์ที่ใช้ร่วมกันในกรณีนี้สามารถรับประกันได้เพียงแต่ว่าธุรกรรมถูกสร้างขึ้นอย่างถูกต้องและว่าจะถูกรวมอยู่ในบล็อกถัดไป แต่ไม่จำเป็นว่าจะดำเนินการสำเร็จ
เนื่องจากไม่มีการรับประกันการดําเนินการจึงเป็นไปไม่ได้ที่จะใช้ประโยชน์จากการรวมอะตอมในทางที่มีความหมายโดยไม่ทําให้เกิดความเสี่ยงของการทําธุรกรรมอย่างใดอย่างหนึ่ง ด้วยเหตุนี้ เราจึงอยู่ในกรณีเดียวกับการทํางานร่วมกันของ L1 Async
พิจารณาเริ่มต้นการแลกเปลี่ยน cross-rollup อย่างง่ายกับการรับรองการรวมอะตอมเท่านั้น:
เราอาจมีการรับประกันการรวมอะตอมในที่นั้น โดยที่ทั้งสองธุรกรรมจะถูกนำเข้าจริง ๆ ในบล็อกถัดไปสำหรับแต่ละ rollup แต่หากธุรกรรมแรกย้อนกลับและที่สองไม่ย้อนกลับผู้ใช้จะได้รับเงินไม่ถูกต้องบนเครือข่ายปลายทางโดยไม่ต้องล็อกหรือเผาไหม้บนเครือข่ายต้นทางและเราจะพบปัญหาการใช้จ่ายครั้งที่สอง
โดยไม่คำนึงถึงว่าเป็นโซลูชันการทำงานร่วมกันใด ๆ ไม่ว่าจะเป็นสะพาน Likidity, เฟรมเวิร์คต์จุ Intent, หรือการสวอพ xERC-20 ก็ยังอยู่ในตำแหน่งที่เสี่ยงต่อความเสี่ยงนี้และเป็นไปไม่ได้ที่จะลดความเสี่ยงได้ เนื่องจากความเสี่ยงนี้, โซลูชันปัจจุบันต้องการให้ธุรกรรมเริ่มต้นได้รับการดำเนินการอย่างประสบความสำเร็จและถูกนำเข้าไปในบล็อกบนเชนต้นทางก่อนที่จะใช้ relayers เพื่อส่งข้อความที่ถูกส่งไปและดำเนินการธุรกรรมครั้งที่สองบนเชนปลายทาง
ข้อสำคัญ: การรวมอะตอมไม่มีผลต่อศักยภาพในการทำงานร่วมกัน
Proof aggregation layer // สัญญาสะพานที่ใช้ร่วมกัน
นี่คือจุดที่สิ่งต่าง ๆ เริ่มน่าสนใจยิ่งขึ้น อันเป็นผลมาจากสัญญาสะพานที่ใช้ร่วมกันสภาพคล่องทั้งหมดที่ฝากไว้ในระบบนิเวศ rollup จาก L1 สามารถเคลื่อนย้ายได้อย่างอิสระระหว่างค่าสะสมที่เชื่อมต่อทั้งหมด จนถึงจุดนี้เราไม่สามารถทําการแลกเปลี่ยนระหว่างการยกเลิกโดยไม่ผ่านช่องทางบัญญัติการห่อสินทรัพย์ภายนอกหรือใช้โซลูชันของบุคคลที่สาม
ทำไมต้องสร้างสัญญาสะพานร่วมกัน? เพื่อเข้าใจว่าทำไมการมีสัญญาสะพานร่วมกันช่วยให้เราสามารถย้ายสินทรัพย์ได้โดยไม่ต้องเชื่อถือใคร ๆ กล่าวคือถ้าเป็นไปได้ที่มี Eth ใน Rollup A แล้วเผาไหม้ และเทียบทันทีที่ Rollup B โดยไม่ต้องมีสัญญาสะพานร่วมกันบน L1 จะเกิดอะไรขึ้น
เราเห็นว่าทุก rollup จะไม่ได้ตรงกับสัญญาสะพานของตนบน mainnet สัญญาสะพานของ rollup B ยังคงมี 50 Eth ดังนั้นผู้ใช้จึงไม่สามารถถอน 1 Eth ของตนไปยัง L1 ได้
เพื่อแก้ปัญหานี้ มีโปรโตคอลการห่อสินทรัพย์ภายนอกที่ถูกสร้างขึ้น ซึ่งออกใบเช็คเวอร์ชันที่ถูกห่อภายนอกของโทเคนข้าม rollups ซึ่งแทนตัวเวอร์ชันภายในในที่อื่นในเครือข่าย
ด้วยชั้นฐานการตั้งค่าร่วมกัน สถานการณ์ดูเหมือนต่างออกไป โดยเพราะว่าสมดุลของเงินทุนสำหรับแต่ละการเชื่อมต่อ rollup ถูกล็อกอยู่ในสัญญาสะพานเดียวกัน คนสามารถเคลื่อนย้ายไปมาได้อย่างอิสระระหว่าง rollups เนื่องจากจำนวนรวมของมูลค่าในสัญญาสะพานยังเดิมและสามารถถอนได้เสมอ
มีความจำเป็นที่จะต้องมีการอัปเดตที่ระดับสัญญา L1 เกี่ยวกับที่ไหนความเหลือเชื่อถือคือการอนุญาตให้ผู้ใช้ถอนเงินจากทุกที่ แต่เรื่องเล็กๆน้อยเนื่องจาก rollups ที่เชื่อมต่อทั้งหมดสามารถอ่าน/เขียนไปยังสัญญาที่ใช้ร่วมได้
ด้วยชั้นชำระเงินที่ใช้ร่วมกัน การไหลอาจดูเหมือนตามที่มีในกรณีการส่งไปยังตนเองที่ง่าย
ส่งให้ตัวเอง:
เราสามารถขยายกระแสนี้ไปยัง ERC-20 ใดก็ได้ที่มีสัญญาทั้งหมดบน rollups ทุกอันในระบบนิติบัญญัติที่ใช้ร่วมกัน
คนหนึ่งสามารถคิดเกี่ยวกับสัญญาสะพานที่ใช้ร่วมกันเป็นชั้นข้อมูลในโปรโตคอลระหว่าง rollups ทั้งหมดที่เชื่อมต่อกัน ดังนั้นทฤษฎีนี้สามารถขยายไปสู่มาตรฐานการส่งข้อความใดๆ ได้
นี้ทำให้เราใกล้ชิดกับการสร้างสิ่งที่สามารถใช้ร่วมกันได้มากขึ้น แต่เนื่องจากขั้นตอนที่จำเป็นในการรวบรวมพิสูจน์และส่งข้อความไปต่อเมื่อสถานะเปลี่ยนแปลงถูกสะท้อนบน L1 มีความล่าช้า (แม้จะต่ำกว่ากรณี L1 async) อย่างไรก็ตาม กิจกรรม cross-rollup ที่ซับซ้อนเช่นการใช้ DEX บน rollup B ที่เริ่มต้นด้วยสินทรัพย์บน rollup A สำหรับ cross-rollup ลิมิตออร์ยังคงเป็นกระบวนการที่ล่าช้าสำหรับผู้ใช้ เนื่องจากพวกเขายังต้องส่งไปยังตัวเองและสลับสินทรัพย์ด้วยตนเองบน rollup ปลายทาง ในกรณีนี้ไม่สามารถสร้างจับใจ cross-rollup bundles
ประโยชน์สำคัญอีกประการหนึ่งของการตกลงร่วมกันคือมีความน้อยลงสำหรับผู้ให้ความสามารถในการจัดการหรือแก้ปัญหาที่กำลังเติมคำสั่งในสภาพแวดล้อมหลายรูปแบบ เนื่องจากสามารถเห็นถึงความสามารถในทุกๆ rollup ที่เชื่อมต่ออยู่ในสัญญาสะพานเดียวกัน พวกเขาจึงไม่ต้องรอให้หน้าต่างการถอนเต็มรูปแบบเพื่อจัดการความสามารถข้าม rollup ของพวกเขา
ข้อสำคัญ: การตกลงร่วมกันช่วยให้สามารถโอนสินทรัพย์ที่ไม่ได้ถูกห่วงอย่างนอกจากนี้ยังสามารถสื่อสารอย่างอิสระใน rollups ทุกตัวที่ใช้สัญญาสะพานและชั้นการรวมพิสูจน์ร่วมกันอย่างไร้ข้อจำกัด แต่ยังคงมีความล่าช้าที่ไม่สำคัญ (ถึงแม้จะสั้นกว่า L1 Async) และไม่สามารถสร้างชุดข้อมูลเชิงนิรภัยที่เกิดจากการตัดข้าม rollup
ตัวแปรที่ใช้ร่วมกัน // ผู้สร้างที่ยิ่งใหญ่
การดำเนินการแบบอะตอมิกช่วยให้เราสามารถรับประกันการดำเนินการสำเร็จของ cross-rollup bundles ได้ แต่เมื่อเราเห็น จำนวนของกรณีการใช้ cross-rollup bundles ที่ไม่มีธุรกรรมที่ขึ้นอยู่กับกันน้อยกว่าที่คนสามารถคาดการณ์ได้ในตอนแรก
หากธุรกรรมเดียวในชุดของธุรกรรมที่ขึ้นอยู่กับกันย้อนกลับ แล้วธุรกรรมอื่น ๆ ทั้งหมดก็กลายเป็นโมฆะและต้องย้อนกลับเช่นเดียวกับการเผาไหม้และการเหรียญที่เกิดขึ้นใน rollups การเหรียญที่เกิดขึ้นใน rollup ปลายทางขึ้นอยู่กับการเผาไหม้หรือการล็อคไว้ใน rollup ต้นทางดังนั้นเราจะกล่าวว่าชุดของการเผาไหม้และธุรกรรมการเหรียญเป็นชุดของธุรกรรมที่ขึ้นอยู่กัน
การสร้างกลุ่มนี้เป็นสิ่งที่เป็นไปไม่ได้โดยไม่มีฝ่ายกลางเช่น ผู้สร้างสุดยอดที่สามารถสร้างธุรกรรมปลายทาง
พิจารณาสิ่งที่จำเป็นต้องเป็นจริงสำหรับการสร้าง cross-rollup swap bundles โดยไม่มีคู่ค้าอื่นที่เกินผู้ใช้ ต้องมีการสร้าง bundle เพื่อล็อค/เผาสินทรัพย์บน source rollup และ mint สินทรัพย์บน destination rollup แต่เราพบปัญหา:
เราเห็นว่าแม้ว่าเราสามารถรับประกันการดำเนินการของ cross-rollup bundles ได้ แต่เราพบความยากลำบากในวิธีที่จะสร้างมันในที่แรกเพื่อโอนสินทรัพย์มูลค่า
อย่างไรก็ตาม ยังมีกรณีการใช้งานไม่กี่กรณีสำหรับการดำเนินการอะตอมิกโดยไม่ต้องขึ้นอยู่กับชุด cross-rollup bundles หนึ่งในนั้นคือ cross-rollup arbitrage:
Cross-Rollup DEX Arbitrage with Atomic Execution
เนื่องจากไม่มีความขึ้นอยู่กับกันอย่างเข้มงวดระหว่างธุรกรรมเหล่านี้ ใครก็สามารถสร้างจับคู่อะตอมนี้และส่งมันไปยังตัวจัดลำดับที่ร่วมกันซึ่งจะรับประกันการดำเนินการอะตอม
อย่างไรก็ตาม เพื่อให้มั่นใจได้ในการดำเนินการแบบอะตอมในที่แรก rollups ต้องเลือกเข้าร่วม sequencer และ superbuilder ที่ใช้รัน full nodes ของ rollups ที่เชื่อมต่อทั้งหมด ดังนั้น การเปลี่ยนจากการดำเนินการแบบอะตอมเป็นการรวมบล็อกเลเวล ไม่ใช่เรื่องยากและทุกโซลูชันการเรียงลำดับที่ใช้ร่วมกันจะทำเช่นนี้ การเปลี่ยนแปลงเดียวที่จำเป็นคือ block builder หรือบุคคลที่สามต้องสามารถสร้างธุรกรรมในนามของผู้ใช้เพื่อสร้าง cross-rollup bundles ที่ขึ้นอยู่กับกัน
ไม่น่าจะมีโครงสร้างที่สามารถทำการดำเนินการแบบอะตอมได้เท่านั้นโดยไม่ต้องไปขั้นตอนต่อไปเพื่อมีความสามารถในการประสิทธิภาพ การกระโดดไปสู่ความสามารถในการทำงานร่วมกันระดับบล็อกเต็มไปโดยส่วนสูงกว่าความยากลำบากในการทำให้มันเกิดขึ้นจากการมีโครงสร้างที่สามารถดำเนินการแบบอะตอมอยู่แล้ว
ข้อสำคัญ: ในขณะที่ cross-rollup bundles มั่นใจว่าจะทำงานอะตอมิก แต่ไม่ชัดเจนว่า bundles เหล่านี้จะถูกสร้างอย่างไรหากไม่มี superbuilder ที่สร้างส่วนของ bundles ดังนั้นไม่น่าจะมีผลต่อความสามารถในการทำงานร่วมกัน ตัวสร้างที่มี sequencers/superbuilders ร่วมกันควรสร้างแทนสำหรับความสามารถในการรวมบล็อก
ชุดเรียงข้อมูลที่ใช้ร่วมกัน // ผู้สร้างเยี่ยม // ชั้นการรวบรวมพิสูจน์// สัญญาสะพานที่แชร์
(* = optional)
ในหลายส่วนของข้อความเกี่ยวกับ sequencers ที่แบ่งปันและชั้นการตกลงที่แบ่งปัน คำที่ใช้บ่อยเพื่ออธิบายระดับของความสามารถในการทำงานร่วมกันนี้คือ "ความสามารถในการสร้างเพลงในเวลาเดียวกัน"
เราได้ปรับเปลี่ยนคำนี้เล็กน้อยเพื่อให้มีคำอธิบายมากขึ้น การอัปเดตคำศัพท์เป็น Block-Level Composability แม้ว่าจะเกี่ยวข้องกับความสามารถในการสร้างระหว่าง rollups สองตัวในหมู่ธุรกรรม cross-rollup ที่จะถูกรวมและดำเนินการเรียบร้อยในบล็อกถัดไป การสามารถในการสร้างระหว่างบทบาทอาจเข้าสับสนกับการสามารถในการสร้างระหว่างระดับการทำธุรกรรม ซึ่งเราจะสำรวจในส่วนถัดไป สำคัญอยู่ที่นี่ นี่ก็ต้องการฝ่ายกลาง (โครงสร้างการเรียงลำดับที่ใช้ร่วมกัน) ซึ่งสามารถเป็นผู้นำและผู้สร้างของหมู่ธุรกรรมที่ขึ้นอยู่กับกัน
ในระดับนี้เราเริ่มเห็นความสามารถในการรวมกันจริงระหว่าง rollups ที่เกินการส่งไปยังตนเองเพื่อเข้าร่วมใน dapp บน rollup อื่น
ด้วยการเพิ่มตัวจัดลำดับที่ใช้ร่วมกันที่สามารถสร้างธุรกรรม เราตอนนี้สามารถทำการรวบรวม cross-rollup bundles ซึ่งนักพัฒนาสามารถใช้ประโยชน์ได้โดยโปรแกรม
มีกรณีที่สำคัญสองกรณีที่ต้องพิจารณา
ในทั้งสองกรณี เราสามารถสร้าง cross-rollup bundles สำหรับกิจกรรมที่ซับซ้อนมากขึ้น แต่ในกรณีที่สองกับการชำระเงินร่วมกัน เราสามารถใช้สินทรัพย์เชื้อเพลิง ซึ่งอาจมีผลกระทบที่ดีกว่าต่อกิจกรรม cross-rollup DEX เช่น
ด้วยความสามารถในการประกอบบล็อก เรามีทั้งประโยชน์จากการดำเนินการแบบอะตอมพร้อมกับความสามารถเพิ่มเติมในการสร้างจับคู่ธุรกรรมที่ขึ้นอยู่กับกัน มาดูตัวอย่างที่ชัดเจนของเราสองกรณี
การโอนเหรียญเดียวกันผ่าน xERC-20 (ไม่มีการตกลงร่วม)
ด้วยชั้นซ่อมสมการที่ใช้ร่วมกัน กระบวนการก็ง่ายขึ้นไปอีกเพราะไม่จำเป็นต้องใช้ xERC-20 ในการสลับก่อน
ตอนนี้เรามาสำรวจข้อจำกัดคำสั่งซื้อระหว่างรอลลัพเพื่อซื้อ ERC-20 ในรอลลัพ B ด้วย ERC-20 เริ่มต้น (ต่างกัน) จากรอลลัพ A และมี ERC-20 ที่ผลิตเป็นผลลัพธ์ส่งกลับไปที่รอลลัพ A ในกรณีนี้เราไม่สมมติว่าเรามีชั้นการตัดสินร่วม แม้ว่าการไหลที่คล้ายกันจะมีอยู่ในกรณีที่มีเพียงหนึ่งความแตกต่างเป็นการไม่ต้องห่อ assets ของภายนอกเพิ่มเติม
นี่คือธุรกรรมที่ต้องการในกรณีนี้:
นี่คือการไหลที่เป็นไปได้สำหรับวิธีการทำงานนี้:
Cross-Rollup Limit Order in Block-Level Composable Environment
Flow:
เนื่องจากซุปเปอร์บิลเดอร์สร้างบล็อกและเรียงลำดับธุรกรรมได้ จึงสามารถจำลองธุรกรรมแต่ละรายการและข้ามชุดได้หากพบว่ามีธุรกรรมใดที่จะย้อนกลับ ตัวอย่างเช่น หากพบว่าผู้ใช้จะไม่ได้รับการบริการที่สมบูรณ์บนออร์เดอร์ของพวกเขา ชุดจะถูกข้ามก่อนที่บล็อกจะถูกดำเนินการ
ในกรณีนี้ของโครงสร้างพื้นฐานการจัดลําดับที่ใช้ร่วมกันโดยไม่มีชั้นการชําระบัญชีที่ใช้ร่วมกันจะต้องใช้ Eth และ xERC-20 เวอร์ชันที่ห่อหุ้มภายนอกซึ่งอาจส่งผลให้สภาวะตลาดแย่ลงใน DEX เนื่องจากกลุ่มสภาพคล่องที่บางลงสําหรับสินทรัพย์ที่ห่อหุ้ม ในกรณีนี้ผู้ใช้อาจต้องใช้ขีด จํากัด ที่นุ่มนวลกว่าด้วยการลื่นไถลที่ยอมรับได้มากขึ้นและอาจได้รับราคาที่ต่ํากว่าปกติ ข้อยกเว้นประการหนึ่งคือหาก USDC มีส่วนเกี่ยวข้อง เป็นไปได้ว่าซีเควนเซอร์ที่ใช้ร่วมกันโดยไม่มีข้อตกลงร่วมกันสามารถทํางานร่วมกับ Circle เพื่อรับสิทธิ์แต่เพียงผู้เดียวในสัญญา USDC ข้าม rollups เพื่ออํานวยความสะดวกในการถ่ายโอน USDC ดั้งเดิมและการแลกเปลี่ยน cross-rollup
ด้วยชั้นการตัดสินส่วนที่ใช้ร่วมกัน การห่อหุ้มภายนอกนี้ไม่จำเป็น และยังคงให้ราคาที่ดีกว่าเนื่องจากมีบ่อยู่ลิกวิดิตี้ลึกซึ้งสำหรับการแลกเปลี่ยนสินทรัพย์เชื้อเพลิง แต่กระแสก็ยังคงเหมือนเดิม
Rollups จะต้องมีความสำคัญที่จะเชื่อถืออย่างเต็มที่ในตัวสร้างลำดับร่วม/ซุปเปอร์บิลเดอร์ที่สร้างมุมบูเดิลร่วมแบบถาวร นี่เป็นเนื้อหาหลักที่มาจากความจริงที่มุมบูเดิลร่วมนี้มีการทำธุรกรรมที่เกี่ยวข้องที่มุมบูเดิลแต่ละตัวไม่สามารถทำการตรวจสอบได้จนกว่าบล็อกจะถูกเพิ่มไปยังโซนของแต่ละมุมบูเดิลและรวมเข้ากับชั้นการตัดสินใจบน L1 ตัวอย่างคือการเผาและเทียบเงิน Eth จากแหล่งที่มาไปยังปลายทาง สิ่งสำคัญคือ Eth จะถูกเผาจริงๆ บนโซนต้นทางก่อนที่จะถูกทำเหรียญบนโซนปลายทาง มิฉะนั้นการใช้เงินครั้งซ้ำสามารถที่จะเกิดขึ้น
อย่างไรก็ตาม ในการดำเนินการชุดเต็มนี้ในบล็อกหนึ่ง ทุกธุรกรรมจำเป็นต้องมีในบล็อกนั้น ๆ แม้ว่าธุรกรรมจะแทนสถานะที่ไม่ถูกต้องก่อนบล็อกเอง (เช่น มี Eth บนเชนปลายทางสำหรับสว็อป หากผู้ใช้ไม่มีก่อนบล็อก) ดังนั้น เราต้องเชื่อใจในตัวจัดลำดับว่าจริง ๆ ได้รวมลำดับที่ถูกต้องลงในชุด cross-rollup บางคนสามารถส่งพิสูจน์หลังจากเรื่องเพื่อพิสูจน์ความถูกต้องของแต่ละธุรกรรม
นี่เป็นสิ่งที่สำคัญน้อยลงเมื่อใช้สินทรัพย์ที่ถูกห่อไว้ อย่างไรก็ตาม เนื่องจากมันไม่มีผลต่อความเหนือของ Likelihood ภายในที่เก็บอยู่ใน L1 แต่กลไกการล้มเหลวต้องยังคงมีอยู่เพื่อต้านทานความเสี่ยงจาก sequencer ที่ไม่เชื่อถือหรือข้อบกพร่องในรหัสที่ทำให้รายการกับการดำเนินการที่เกี่ยวข้องถูกย้อนกลับ
การเปลี่ยนแปลงระดับ VM // การตกลงร่วมกัน // Superbuilders
ความสามารถในการเขียนระดับธุรกรรมหมายถึงฟังก์ชันการทํางานในระดับเดียวกับที่สัญญาอัจฉริยะในส่วนแบ่งห่วงโซ่ EVM หนึ่งรายการ ในกรณีนี้ธุรกรรมเดียวสามารถอัปเดตสถานะในการยกเลิกหลายรายการพร้อมกันและตรวจสอบให้แน่ใจว่าการเปลี่ยนแปลงสถานะใด ๆ ก่อนการโทรใด ๆ สามารถเปลี่ยนกลับได้หากการโทรไม่กลับมาสําเร็จ ผลที่ได้คือการรวมกลุ่มอะตอมของธุรกรรมในสภาพแวดล้อมที่ประกอบได้ระดับบล็อกสามารถทําได้ภายในการรวมข้ามเดียวและธุรกรรมข้าม VM สิ่งนี้ต้องการการเปลี่ยนแปลงระดับ VM สําหรับการยกเลิกที่เชื่อมต่อทั้งหมดนอกเหนือจากเลเยอร์การตั้งถิ่นฐานที่ใช้ร่วมกันและตัวสร้างเสริม
เราอธิบายกลไกที่เป็นไปได้ที่นี่ในระดับสูง (การก่อสร้างนี้เกิดจากทีมเอสเปรสโซตามความรู้ของเรา) ขั้นแรกผู้ใช้ส่งธุรกรรม cross-rollup ไปยัง rollups ทั้งหมดที่มีสถานะเปลี่ยนแปลงโดยธุรกรรมหรือ superbuilder ที่สามารถสร้างบล็อกในการรวบรวมที่เกี่ยวข้องทั้งหมด ซูเปอร์บิลเดอร์จําลองธุรกรรมและรายการฟอร์มของคู่อินพุต - เอาต์พุตหนึ่งรายการสําหรับการยกเลิกที่เกี่ยวข้องแต่ละครั้งซึ่งระบุข้อความ cross-rollup ที่จําเป็นและคาดว่าจะเกิดขึ้นภายในธุรกรรม (โปรดทราบว่า superbuilder สามารถทําได้ก็ต่อเมื่อมีสิทธิ์จัดลําดับที่ปลอดภัยสําหรับการยกเลิกที่เกี่ยวข้องทั้งหมดเป็นระยะเวลาหนึ่ง) จากนั้น superbuilder จะส่งบล็อกจําลองไปยังผู้เสนอของแต่ละ rollup พร้อมกับรายการคู่อินพุต - เอาต์พุตที่คาดหวังสําหรับแต่ละธุรกรรม cross-rollup ในระหว่างการดําเนินการแต่ละ rollup ดําเนินการฟังก์ชันการเปลี่ยนสถานะของตัวเองตามปกติโดยสมมติว่าอินพุตจากรายการธุรกรรม cross-rollup ถูกต้อง ในระหว่างการชําระบัญชีรายการอินพุต - เอาต์พุตสามารถเปรียบเทียบข้ามและพิสูจน์แล้วว่าปลอดภัยในระหว่างขั้นตอนการรวมหลักฐานในเลเยอร์การตั้งถิ่นฐานที่ใช้ร่วมกัน โดยเฉพาะอย่างยิ่ง หากอินพุตที่คาดหวังสําหรับธุรกรรม cross-rollup ไม่ตรงกับสิ่งที่ rollup อื่นระบุเป็นเอาต์พุต กระบวนการชําระบัญชีจะปฏิเสธธุรกรรม cross-rollup ทั้งหมด
แม้ว่าจะมีฟังก์ชันใหม่ที่ถูกปลดล็อคอย่างจำกัดด้วยความสามารถในการรวมความสามารถระดับธุรกรรมที่เพิ่มขึ้นนอกเหนือจากการยืมแฟลช เพิ่มประสบการณ์สำหรับนักพัฒนาในการสร้างแอปพลิเคชันที่เชื่อมโยงกับภายในโฮลอัพอย่างมีข้อดีมาก ความสามารถในการสร้างแอปพลิเคชันที่มีปฏิสัมพันธ์กับเชื่อมโยงกับโฮลอัพทั้งหมดโดยไม่ต้องคิดเกี่ยวกับการรวมกลุ่มโฮลอัพจะทำให้ง่ายมากขึ้นที่จะนวัตกรรมในภูมิทัศน์แบบหลายโฮลอัพ นอกจากนี้ มีโอกาสที่จะมีการใช้งานใหม่และพฤติกรรมที่จะเกิดขึ้นเนื่องจากผลลัพธ์
มีคำถามดีๆ เกี่ยวกับความสามารถในการรวมกันในระดับธุรกรรม ตัวอย่างเช่น วิธีการให้นักพัฒนาสามารถเลือกเข้าร่วมหรือไม่เข้าร่วมการเรียก cross-rollup สำหรับความต้องการของสมาร์ทคอนแทร็คของพวกเขาต้องพิจารณาอย่างรอบคอบ การอนุญาตให้การรวมกันอย่างอิสระโดยไม่มีข้อจำกัดหมายความว่าเราถอยกลับไปสู่ rollup ที่เป็นระบบแบบมอนอลิทิก ทางเราคิดว่าคำตอบที่นี่คือให้นักพัฒนาระบุโดยชัดเจนที่ไหนที่การรวมกันระหว่าง cross-rollup เป็นสิ่งจำเป็นในสัญญาของพวกเขา เช่น ผ่าน Solidity modifier เป็นต้นcomposable
ซึ่งทำเครื่องหมายบางจุดเข้าของสัญญาเป็น cross rollup ที่เรียกได้
หลังจากที่เดินทางผ่านรายละเอียดทางเทคนิคของทุกระดับของความสามารถในการทำงานร่วมกันที่นี่ เราสามารถรวมสรุปได้:
ในขณะนี้มีโครงการมากมายที่เกิดขึ้นเพื่อสร้างระบบนิเอกที่สามารถทำงานร่วมกันได้แบบเดิม นี่คือภาพรวมระดับสูงของภูมิทัศน์:
แผนที่นิเวศ
ยังมีคำถามเปิดอยู่เกี่ยวกับรายละเอียดทางเทคนิคภายในกรอบที่กล่าวถึงในบทความนี้ ตัวอย่างเช่น การสร้างแบรนด์เดิลในระบบนอกเลเวลบล็อกสำหรับคำสั่งจำกัดรอบการสั่งซื้ออาจมีการออกแบบละเอียดเพิ่มเติมเพื่อจัดการกรณีการบรรทองและความทนทานของการสั่งซื้อในตลาด เราเสนอวิธีการแก้ไขอาจารย์ที่นี่เพื่อย้อนกลับคำสั่งจำกัดรอบการสั่งซื้อนอกเลเวลหากคำสั่งไม่ได้รับการทำเต็มที่ แต่พื้นที่การออกแบบเปิด
อย่างเพิ่มเติมควรพิจารณาเรื่องนี้ในมุมมองของความคิดที่เติบโตอย่างรวดเร็วในพื้นที่เกี่ยวกับ appchains Appchains คือ L2 แบบ long-tail ที่เป็นทั้งทั่วไปหรือมีการอนุญาต ด้วยจุดมุ่งหมายเพื่อแยกแยะโปรโตคอลที่เกี่ยวข้องใน L2 เดียวกัน มีความน่าจะเป็นว่าเมื่อเราไปถึงระดับของการสร้างสมรรถนะในระดับบล็อก เรายังจะเริ่มเห็นว่าสภาพแวดล้อมของ appchain ได้รับความสนใจอย่างมากเนื่องจากมีความสามารถในการสร้างสมรรถนะตามธรรมชาติระหว่างเครือข่ายที่เชื่อมต่อกันทั้งหมด
ในขณะนี้ยังเป็นเรื่องยากที่จะเริ่มต้น Likuiditi ไปยัง appchains เหล่านี้ แต่เมื่อโซ่ขนาดใหญ่มาเชื่อมต่อให้เป็นทางเข้าสู่สภาพแวดล้อมที่สามารถทำงานร่วมกัน มันเป็นไปได้ว่าเราจะเห็นระบบนิทรรศการบนพื้นฐานที่แชร์
คำถามที่สำคัญอีกอย่างคือว่าพื้นที่การออกแบบรอบ superbuilders จะเริ่มทำให้สงบลงอย่างไร การพัฒนาด้านนี้ยังคงเริ่มต้นอยู่ และยังไม่ชัดเจนว่าวิธีที่มีประสิทธิภาพและมีประสิทธิภาพที่สุดในการสร้างเครือข่ายของผู้สร้างที่ซับซ้อนที่สามารถสร้างกลุ่ม cross-rollup bundles ได้ในที่สุดกลุ่ม cross-rollup bundles เหล่านี้จะถูกรวมอย่างที่เหมาะที่สุดในบล็อก และผลกระทบต่อรายได้ rollup เป็นคำถามที่เปิดเผยด้วยกลยุทธ์ที่แตกต่างกันที่ถูกสำรวจโดยทีมหลายทีม
ในที่สุดอนาคตน่าจะเกี่ยวข้องกับการผสานระหว่างโซลูชันการสะพายในโปรโตคอลและนอกจากโปรโตคอลและพวกเขาจะทำงานร่วมกันเพื่อให้กระบวนการทำงานร่วมกันที่ดีกว่าสำหรับทุกคน เราเชื่อว่าการเคลื่อนไหวที่ถูกกำหนดไว้ในบทความนี้สามารถเป็นไกด์สำหรับนักพัฒนาและผู้สร้างทั้งหลายที่ให้ความสำคัญกับการทำให้กระบวนการทำงานร่วมกันข้ามโรลอัพเป็นไปอย่างราบรื่นมากขึ้นสำหรับผู้ใช้สุดท้าย
น่าจะมีโอกาสที่จะมีรูปแบบใหม่ๆ สำหรับการทำงานร่วมกันระหว่าง cross-rollup ที่ยังไม่เคยค้นพบมาก่อน หากคุณเป็นผู้สร้างที่ทำงานเกี่ยวกับวิธีการที่ขยายขอบเขตของหัวข้อที่นี่หรือไม่ได้ถูกกล่าวถึงข้างต้น โปรดreach out(dms are open). เทคโนโลยีสุดท้ายได้เจริญพัฒนามาพอสมควรเพียงพอที่จะกดดันให้มีความดันจริง ๆ ที่ต้องหาทางแก้ไขปัญหาเกี่ยวกับความเหดจึง/การแบ่งส่วนนิเทศ และเราตลอดเวลามองหาการเชื่อมต่อกับผู้ก่อตั้งที่กำลังรับความเสี่ยงในการสร้างสรรค์วิธีการแก้ปัญหา
บทความนี้เติบโตขึ้นมาจากการสนทนาโต๊ะกลมเกี่ยวกับความสามารถในการทำงานร่วมกันที่แสนทรงเชยที่จัดขึ้นโดย 1kx ที่ EthCC ขอขอบคุณพิเศษNoah Pravecek, Ellie Davidson, และ เทอร์รี่สำหรับการอ่านเวอร์ชันเริ่มต้นของบทความนี้และการให้ข้อเสนอแนะ รวมถึง Marti, mteam, และ บอ ดูสำหรับการสนทนาเพิ่มเติมเรื่อง
บทความนี้ถูกพิมพ์ใหม่จาก [ กระจก] Forward the Original Title‘ไร้ความน่าเชื่อถือการทำงานร่วมกันระหว่าง Rollups: ภูมิทัศน์ ก่อสร้าง และความท้าทาย’, All copyrights belong to the original author [Marshall Vyletel Jr.]. If there are objections to this reprint, please contact theเกต เรียนทีม และพวกเขาจะดำเนินการโดยเร็ว
คำปฏิเสธความรับผิด: มุมมองและความเห็นที่แสดงในบทความนี้เป็นเพียงของผู้เขียนเท่านั้น และไม่เป็นการให้คำแนะนำในการลงทุนใด ๆ
การแปลบทความเป็นภาษาอื่น ๆ ได้ถูกทำโดยทีม Gate Learn หากไม่ได้กล่าวถึง การคัดลอก การแจกจ่าย หรือการลอกเลียนบทความที่ถูกแปลนั้นถูกห้าม