ในช่วงไม่กี่เดือนที่ผ่านมา เราได้รวบรวมข้อมูลเกี่ยวกับปัญหาหลักที่ users, developers, routers และทาง Connext ค้นคว้าหาวิธีแก้ปัญหาวันนี้
เรารู้สึกตื่นเต้นที่จะเปิดเผยแผนการของเราสำหรับการอัปเกรดเครือข่ายครั้งแรกของ Connext
การอัปเกรดซึ่งเราเรียกว่า Amarok นั้นเกี่ยวข้องกับการเปลี่ยนแปลงครั้งใหญ่ใน protocol หลักของเรา เพื่อปรับปรุงประสบการณ์การเป็นผู้ใช้เครือข่ายอย่างมาก
ทำไมต้อง “Amarok”? เราได้เลือกที่จะตั้งชื่อการอัพเกรดเครือข่ายของเราตามลำดับตัวอักษรตามสิ่งมีชีวิตในตำนาน Amarok เป็นหมาป่ายักษ์จากตำนานของชาวเอสกิโม 🐺
Motivation แรงจูงใจ
แรงผลักดันสำหรับการอัพเกรดนี้คือการแก้ปัญหาสำคัญต่อไปนี้ ซึ่งปัจจุบันมีอยู่สำหรับผู้ที่ใช้งาน และระบบประเภทต่างๆ ในเครือข่าย ที่จะเข้ามาช่วยพัฒนาให้ดีขึ้นจากปัญหาที่ทาง Connext เจอ ซึ่งเป็นการร่วมมือที่ดี
ปัญหาสำหรับผู้ใช้ปลายทาง (Problems for End Users)
- ต้นทุนก๊าซ Gas Costs: flow ปัจจุบันอาศัยกระบวนการเตรียม/ดำเนินการสองเฟสเพื่อทำธุรกรรมให้เสร็จสิ้นทั่วทั้งห่วงโซ่ ซึ่งไม่สามารถจัดชุดได้ง่าย
- การลงชื่อเพื่อขอรับเงิน Signing to Claim : การทำธุรกรรมให้เสร็จสมบูรณ์กำหนดให้ผู้ใช้ลงชื่อในข้อความเพื่อขอรับเงิน นี่คือสิ่งที่ช่วยให้ Connext ลดความน่าเชื่อถือลง แต่ก็เป็นเรื่องที่ต้องคิดให้รอบคอบเพราะต้องการให้ผู้ใช้ออนไลน์ต่อไปจนกว่าจะลงนาม (Sign)
- ความเสี่ยงในการล็อคกองทุน Fund Lockup Risk : ธุรกรรมของผู้ใช้มีความสัมพันธ์แบบ 1:1 กับเราเตอร์ หากเราเตอร์นั้นออฟไลน์หรือขาดการเชื่อมต่อกับ chain mid-flow เงินของผู้ใช้อาจติดอยู่จนกว่าธุรกรรมจะหมดอายุ (72 ชั่วโมง)
- ความเร็ว Speed: เนื่องจากผู้ใช้ถูกผูกไว้กับเราเตอร์ที่กำหนดสำหรับการทำธุรกรรม ความล่าช้าใด ๆ ที่ประสบการณ์เราเตอร์เฉพาะนั้นจะถูกส่งต่อไปยังผู้ใช้
- การกระจายตัวของสภาพคล่อง Liquidity Fragmentation : สภาพคล่องที่จัดหาโดยเราเตอร์นั้นขึ้นอยู่กับเส้นทาง หมายความว่ามีให้ระหว่างคู่ของ Chain ที่กำหนด เมื่อจำนวน Chain เพิ่มขึ้น ผู้ใช้จะทำธุรกรรมขนาดใหญ่ได้ยากขึ้น
ปัญหาสำหรับนักพัฒนา (Problems for Developers)
1.การพึ่งพาการประมูล Offchain (Offchain Auction Dependencies): การผสานรวมส่วนใหญ่ในพื้นที่นั้นเป็นสัญญาเท่านั้น แต่ปัจจุบัน Connext ต้องการเรียกใช้ sdk ฝั่งไคลเอ็นต์เพื่อค้นหาเราเตอร์สำหรับธุรกรรมที่กำหนด
2.การลงชื่อเพื่อรับสิทธิ์ (Signing to Claim): จำเป็นต้องอ้างสิทธิ์นักพัฒนาซอฟต์แวร์เพื่อติดตามธุรกรรมที่อยู่ระหว่างดำเนินการและแจ้งให้ผู้ใช้ลงชื่อเข้า (Sign)ใช้ในเวลาที่เหมาะสม สิ่งนี้จะเพิ่มค่าใช้จ่ายและความซับซ้อนอย่างมากเมื่อเทียบกับธุรกรรม on-chain แบบธรรมดา
3.ไม่มีการส่งข้อความทั่วไป (No Generalized Messaging): Connext รองรับการ calling contracts ข้ามเครือข่ายแล้ว แต่สามารถทำได้อย่างปลอดภัยในบางกรณีเท่านั้น ต้องการให้นักพัฒนาเรียนรู้เมื่อพวกเขาสามารถและไม่สามารถใช้คุณลักษณะนี้ได้เป็นอุปสรรค์ใหญ่
ปัญหาสำหรับเราเตอร์ (Problems for Routers)
- การปรับสมดุล Rebalancing: เราเตอร์ส่งเงินไปยังเชนปลายทางและรับเงินที่ต้นทาง ซึ่งหมายความว่าสภาพคล่องจะเคลื่อนไปมาระหว่างchains/rollups และอาจติดขัด ทำให้ประสิทธิภาพของเงินทุนลดลง
- ROI ไม่ชัดเจน Unclear ROI: ROI ของเราเตอร์นั้นยากต่อการติดตามอย่างแม่นยำ เนื่องจากโฟลว์สองเฟสหมายความว่าข้อมูลที่จำเป็นในการติดตามการส่งคืนนั้นกระจัดกระจายไปตามเครือข่ายต่างๆ
- ความเข้มงวด Strict Liveness: ดังที่กล่าวไว้ข้างต้น หากเราเตอร์ใช้งานไม่ได้ระหว่างการทำธุรกรรม เงินของผู้ใช้จะถูกล็อคได้นานถึง 72 ชั่วโมง ข้อกำหนดเข้มงวดนี้เพิ่มความยากในการเป็นเราเตอร์
- Gas Griefing: ผู้ใช้หรือเราเตอร์สามารถยกเลิกธุรกรรมร่วมกันได้ อย่างไรก็ตาม เมื่อเกิดเหตุการณ์นี้ขึ้น ไม่มีกลไกที่ชัดเจนในการชดใช้ค่า gas ล่วงหน้า
เดิมคุณคาดหวังที่จะแก้ปัญหาเหล่านี้อย่างไร ?
ความคิดก่อนหน้านี้ของเราเกี่ยวกับเรื่องนี้คือเราสามารถแก้ไขได้ด้วยการผสมผสานระหว่าง:
- สิ่งจูงใจ — ตัวอย่างเช่น การใช้การกำหนดราคา vAMM เพื่อสร้างแรงจูงใจในการปรับสมดุลและ slashing to enforce liveness.
- การรวมระบบ Wallet — โดยการย้ายรหัส Connext SDK ไปยังกระเป๋าเงิน เราสามารถแยกโฟลว์ “sign-to-claim”ออกจากผู้พัฒนาและผู้ใช้ได้
เรามุ่งเน้นที่การสร้างความมั่นใจว่าธุรกรรมได้รับการลดความน่าเชื่อถือให้น้อยที่สุดเท่าที่จะเป็นไปได้ และอุปสรรคข้างต้นเป็นการประนีประนอมที่เราทำเพื่อให้ได้รับความปลอดภัยนั้น , โชคดีที่ในช่วงสองสามเดือนที่ผ่านมา เราได้ค้นคว้าเกี่ยวกับสถาปัตยกรรมที่ดีกว่ามาก ซึ่งขจัดปัญหาข้างต้นโดยไม่ทำให้เกิดความเชื่อถือ
Welcome to Amarok
การทำงานร่วมกันแบบโมดูลาร์ (Modular Interoperability)
ความก้าวหน้าในความคิดของเรามาจากความร่วมมืออย่างใกล้ชิดกับ Nomad close partnership with Nomad , Nomad เป็นสะพานเชื่อมที่มองโลกในแง่ดีที่ช่วยให้เรามีการสื่อสารที่แสดงออกอย่างเต็มที่และไว้วางใจได้น้อยที่สุดในทุกเครือข่าย แต่มีการแลกเปลี่ยนเวลาแฝง 30 นาที
เราตระหนักว่า คล้ายกับบล็อกเชน ไม่มีสถาปัตยกรรมแบบ monolithic ที่มอบคุณสมบัติที่ต้องการทั้งหมดที่เราต้องการจากบริดจ์ แต่เราสามารถเข้าใกล้ผลลัพธ์ในอุดมคติได้โดยการปรับเปลี่ยนโปรโตคอลสแต็กให้เป็นโมดูล modularizing the protocol stack.
A New Flow
Flow ใหม่นี้ใช้ประโยชน์จาก Nomad อย่างมาก (เลเยอร์อื่น ๆ สำหรับการส่งข้อความจะพร้อมใช้งานในอนาคต) สำหรับรูปแบบการรักษาความปลอดภัย แทนที่จะต้องมีลายเซ็น (Sing) แนวทางนี้ช่วยให้เราเตอร์ทุกเครื่องรองรับเงินทุนและดำเนินการเรียกธุรกรรมของผู้ใช้ และอ้างสิทธิ์จากเงินทุนที่ดำเนินการผ่าน Nomad
เนื่องจากไม่ได้ระบุเราเตอร์ไว้ล่วงหน้าอย่างชัดเจน จึงมีความเสี่ยงที่เราเตอร์สามารถแข่งขันกันเองใน mem pool เพื่อทำธุรกรรมให้เสร็จสิ้น นี่เป็นผลลัพธ์ที่ไม่ดีนักเนื่องจากการสูญเสียการแข่งขันนี้ยังคงต้องเสียค่า gas สำหรับเราเตอร์ ในการแก้ไขปัญหานี้ เราขอแนะนำ Sequencer (แนวคิดคล้ายกับ a rollup sequencer) ที่รับผิดชอบในการรวบรวมการเสนอราคา bids (พยายามทำธุรกรรม) จากเราเตอร์และเผยแพร่ไปยัง chain in batches.
โปรดทราบว่าบทบาท Sequencerใน Connext ไม่ส่งผลต่อความปลอดภัยหลักของระบบหรือเงินทุนแต่อย่างใด เป็นเพียงกลไกที่ออกแบบมาเพื่อกระจายรายได้ค่าธรรมเนียม/งานระหว่างเราเตอร์อย่างเป็นธรรม , ซึ่งสามารถทำได้โดยไม่น่าเชื่อถือหากมี (a) ข้อมูลพร้อมใช้งานของราคาเสนอเราเตอร์ทั้งหมดสำหรับธุรกรรมของผู้ใช้ที่กำหนด และ (b) กระบวนการกำหนดสำหรับการเลือกการเสนอราคาที่ชนะ ขณะนี้เรากำลังค้นคว้าแนวทางในเรื่องนี้ ซึ่งรวมถึงอาจมีการโพสต์ข้อมูลของ Sequencer ไปยังการรวบรวมของตัวเอง หรือมีเราเตอร์และ Sequencer achieve Tendermint consensus.
เรียนรู้เพิ่มเติมเกี่ยวกับ flow ใหม่ใน our seminal Github discussions post!
การเปลี่ยนแปลงสำหรับผู้มีส่วนได้ส่วนเสีย (Changes for Stakeholders)
การอัพเกรด Amarok ช่วยให้ flow และชุดคุณลักษณะดีขึ้นมาก ซึ่งช่วยแก้ปัญหาของผู้มีส่วนได้ส่วนเสียที่เราได้วางไว้ก่อนหน้านี้:
- Fire-and-Forget Flow : แทนที่จะเป็นโฟลว์สองเฟสที่มีลายเซ็น ตอนนี้ธุรกรรมทั้งหมดจะเกิดขึ้นในธุรกรรมเดียวบนห่วงโซ่การส่ง ทำให้ทั้ง UX และ devX ง่ายขึ้น เราไม่ต้องการการยกเลิกอีกต่อไป ช่วยขจัดค่าใช้จ่ายด้านก๊าซสำหรับเราเตอร์
- 1-of-N-Routing : เราเตอร์ใดๆ ก็ตามสามารถทำธุรกรรมของผู้ใช้ให้เสร็จสมบูรณ์ได้ โดยขจัดความเป็นไปได้ที่เงินทุนของผู้ใช้จะถูกล็อค และลดข้อกำหนดด้านความคงอยู่ของเราเตอร์ลงอย่างมาก สิ่งนี้ยังช่วยขจัดความจำเป็นในการโค้ดการประมูล offchain สำหรับนักพัฒนาอีกด้วย
- Simpler Liquidity: เราเตอร์ได้รับสภาพคล่องใน chain ปลายทางของการทำธุรกรรม ตรงที่ที่พวกเขาให้ไว้ สภาพคล่องยังไม่ขึ้นอยู่กับเส้นทางอีกต่อไป สิ่งนี้ช่วยขจัดปัญหาการปรับสมดุลและการกระจายตัวของเงินทุน ปรับปรุงประสิทธิภาพเงินทุนและความพร้อมใช้งานอย่างมหาศาล
- Cheaper & Faster Transactions: โฟลว์ใหม่นี้ลดจำนวนการเรียก onchain จาก 4 →2 ทำให้การทำธุรกรรมไม่เพียงถูกกว่ามาก แต่ยังเร็วกว่าอีกด้วย
- Arbitrary Message Passing:บางทีการปรับปรุงที่น่าตื่นเต้นที่สุดจาก Amarok ก็คือความสามารถสำหรับนักพัฒนาในการสร้าง crosschain dapps ที่แสดงออกอย่างเต็มที่ สิ่งนี้จะปลดล็อกคุณสมบัติที่ทรงพลัง เช่น การพัฒนาแบบอะซิงโครนัสสไตล์ JS รวมถึงการรองรับการเรียกกลับใน Solidity 🤯เพิ่มเติมเกี่ยวกับเรื่องนี้เร็ว ๆ นี้!
What’s Next?
Timeline
ตอนนี้เรามีเครือข่ายทดสอบส่วนตัวที่ทำงานได้อย่างสมบูรณ์ซึ่งใช้งานการอัปเกรด Amarok เรากำลังทำงานร่วมกับสมาชิกชุมชนคนสำคัญ เราเตอร์ที่มีอยู่ และพันธมิตรนำร่องที่มีชื่อเสียงบางรายเพื่อพัฒนาและทดสอบเครือข่าย
ในอีกไม่กี่สัปดาห์ข้างหน้า เราวางแผนที่จะเผยแพร่:
- รายละเอียดของโฟลว์การรวม โหมดความล้มเหลว และสมมติฐานความน่าเชื่อถือของ Connext หลังจากการอัปเกรด
- testnet สาธารณะที่ทำงานได้อย่างสมบูรณ์ที่ทุกคนสามารถสร้างได้
- คำแนะนำเกี่ยวกับวิธีการเรียกใช้เราเตอร์และเข้าร่วมใน testnet
- Solidity tooling/libraries สำหรับ xchain callbacks
- พื้นที่เก็บข้อมูลตัวอย่าง crosschain dapps (xapps)
การตรวจสอบการอัปเกรดมีกำหนดในเดือนพฤษภาคม โดยมีเป้าหมายในการอัพเกรด mainnet แบบสดในเดือนมิถุนายน
Build with Connext
จนถึงตอนนี้ สิ่งที่เรามุ่งเน้นในฐานะทีมคือการกระจายอำนาจเครือข่ายของเราและทำให้กระบวนการใช้งานเราเตอร์เป็นไปโดยอัตโนมัติ ด้วยการอัปเกรด Amarok เราจะเปิดประตูให้ผู้สร้างสร้างโลกใหม่ของ xapps
คุณสามารถสร้างอะไรได้บ้าง? ต่อไปนี้คือกรณีการใช้งานช่วงแรกๆ ที่เราได้พูดคุยกับพันธมิตรนำร่องของเรา:
- เชื่อมต่อสภาพคล่อง DEX across chains tx ใน single seamless tx
- Crosschain vault zaps และการจัดการกลยุทธ์ vault
- การดำเนินการ protocol ที่สำคัญ เช่น การทำซ้ำ/syncing global constants (เช่น PCV) across chains
- นำ UniV3 TWAP มาสู่ทุกเชนโดยไม่ต้องแนะนำ oracles
- Chain-agnostic veToken governance.
- Metaverse-to-metaverse การทำงานร่วมกัน
มีไอเดียสำหรับ xapp เจ๋งๆ บ้างไหม? ติดต่อเราได้ที่ on discord or apply for our grants program!
About Connext
Connext เป็นเครือข่ายสำหรับการสื่อสารที่รวดเร็วและเชื่อถือได้ระหว่างchains and rollups.เป็นระบบการทำงานร่วมกันเพียงระบบเดียวในประเภทเดียวกันที่ทำสิ่งนี้ได้ในราคาถูกและรวดเร็วโดยไม่ต้องแนะนำสมมติฐานด้านความเชื่อถือใหม่ใดๆ Connext มุ่งเป้าไปที่นักพัฒนาที่ต้องการ build bridges และ natively cross-chain applications.จนถึงปัจจุบัน มีการทำธุรกรรมมากกว่า 1.3 พันล้านดอลลาร์ในเครือข่าย
Connext Discord : https://discord.gg/FdUZNbND