ข้ามไปยังเนื้อหา

ช่องทางหนีฉุกเฉินของ Rollup

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

อัปเดต

เพื่อการศึกษาเท่านั้น ไม่ใช่คำแนะนำทางการเงินหรือความปลอดภัย กลไกถอน ระยะเวลา ค่าธรรมเนียม สิทธิ์ของสัญญา และสมมติฐานด้านความพร้อมของข้อมูลแตกต่างกันในแต่ละ L2 และอาจเปลี่ยนหลังการอัปเกรด

คำตอบโดยตรง

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

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

วิธีทำงาน

  • ระบุกลไกพื้นฐาน การบังคับรวมธุรกรรม การถอนแบบบังคับ และโหมดหลบหนีแก้ปัญหาต่างกัน การบังคับรวมธุรกรรมข้าม sequencer ที่เซ็นเซอร์หรือหยุดทำงาน คำขอถอนแบบบังคับกำหนดให้โปรโตคอลหรือผู้ดำเนินการประมวลผลการถอนหรือพิสูจน์ว่าคำขอไม่ถูกต้อง โหมดหลบหนีมักเป็นทางเลือกสุดท้าย โดยหยุดการอัปเดตปกติและถอนด้วยหลักฐานสถานะ
  • เข้าสู่ระบบผ่าน L1 ผู้ใช้ส่งธุรกรรมไปยัง inbox, portal หรือสัญญาชำระบัญชีบน L1 ที่ระบุในเอกสาร ใน OP Stack ธุรกรรมฝากบน L1 จะถูกแปลงเป็นบล็อก L2 ภายใน sequencing window ส่วน Arbitrum Nitro ให้ข้อความเข้า Delayed Inbox และบังคับเข้าสู่ inbox หลักหลังพ้นเวลาที่ตั้งไว้ได้หาก sequencer ยังไม่รวมข้อความ
  • รอการประมวลผลของโปรโตคอล การยืนยันบน L1 เป็นเพียงจุดตรวจแรก คำขออาจต้องเข้าสู่เชน L2 มาตรฐาน ประมวลผลสำเร็จ ปรากฏในสถานะที่พิสูจน์หรือยืนยันแล้ว ผ่านช่วงคัดค้านหรือผ่อนผัน และยืนยันขั้นสุดท้ายบน L1 ธุรกรรมที่บังคับก็ยัง revert ได้จาก nonce ผิด Gas ไม่พอ calldata ผิด ข้อจำกัดโทเคน หรือสถานะ L2 เปลี่ยน
  • ปฏิบัติตามเงื่อนไขการถอน StarkEx Spot แสดงขั้นตอนถอนแบบบังคับและหลบหนีจริง ผู้ใช้ส่ง fullWithdrawalRequest แอปพลิเคชันต้องดำเนินการหรือพิสูจน์ว่าคำขอไม่ถูกต้อง หากยังค้างหลัง FREEZE_GRACE_PERIOD ก็ขอแช่แข็งได้ จากนั้นต้องมี Merkle path เทียบกับ vault root ที่แช่แข็ง ตรวจสอบหลักฐาน เรียก escape และเรียก withdraw บนเชนตามปกติ
  • ตรวจสอบความพร้อมของข้อมูล state root คือข้อผูกมัด ไม่ใช่ยอดคงเหลือหรือ Merkle path ที่อยู่ข้างใต้ หากข้อมูลสำหรับสร้างสถานะใหม่เผยแพร่บน L1 บุคคลอิสระก็อาจสร้างหลักฐานถอนออกได้ ใน Validium หรือแบบที่เก็บข้อมูล off-chain ผู้ใช้อาจต้องพึ่งคณะกรรมการหรือผู้ดำเนินการเผยแพร่ข้อมูล ความถูกต้องของหลักฐานกับความพร้อมของข้อมูลเป็นการรับประกันคนละเรื่อง
  • ตรวจสอบอำนาจและเครื่องมือ ตรวจสิทธิ์หยุด แช่แข็ง อัปเกรด และกำกับดูแล ที่อยู่สัญญากับ proxy implementation ที่ถูกต้อง สินทรัพย์ที่รองรับ กุญแจที่ต้องใช้ Gas บน L1 และ L2 ซอฟต์แวร์สร้างหลักฐาน และอินเทอร์เฟซอิสระ กลไกที่ถูกต้องในทางทฤษฎีอาจใช้จริงไม่ได้หากขาดข้อมูล เครื่องมือ หรือเงินบน L1

ตัวอย่าง

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

ระบบแบบ StarkEx มีลำดับต่างออกไป: ส่งคำขอบังคับตามเอกสาร รอช่วงผ่อนผันที่ตั้งไว้ ตรวจว่าคำขอได้รับการดำเนินการหรือพิสูจน์ว่าไม่ถูกต้อง และใช้การแช่แข็งกับการหลบหนีเมื่อครบเงื่อนไขสัญญาเท่านั้น vault ID กุญแจ และ Merkle path ต้องตรงกับสถานะแช่แข็ง การนำวิธีของ Arbitrum หรือ OP Stack มาใช้ตรง ๆ จึงผิด แม้ทั้งหมดอาจถูกเรียกว่า “การถอนแบบบังคับ”

ก่อนพึ่งเส้นทางใด ควรทดลองด้วยเงินจำนวนน้อยขณะระบบปกติ บันทึกที่อยู่สัญญา function signature เหตุการณ์ที่คาดไว้ ตัวจับเวลา และ transaction hash ตรวจสถานะด้วย RPC หรือ block explorer ที่เชื่อถือได้อีกแห่ง ห้ามใส่ seed phrase หรือ private key ในเว็บไซต์ “ถอนฉุกเฉิน” และห้ามส่งค่าธรรมเนียม “ปลดล็อก” เพิ่มให้บัญชีซัพพอร์ตหรือข้อความส่วนตัว

ความเสี่ยง

  • โปรโตคอลมีการบังคับรวมธุรกรรม แต่ไม่มีฟังก์ชันถอนแบบบังคับโดยตรง
  • คำขอ L1 ยืนยันแล้ว แต่คำสั่ง L2 revert หรือยังไม่ประมวลผล
  • ช่วงคัดค้าน พิสูจน์ ผ่อนผัน หรือยืนยันขั้นสุดท้ายทำให้เข้าถึงเงินช้า
  • ข้อมูลสถานะหรือ Merkle path ไม่มี โดยเฉพาะระบบข้อมูล off-chain
  • ใช้เชน สัญญา proxy implementation ฟังก์ชัน หรือ vault ID ผิด
  • สัญญาถอนถูกหยุด อัปเกรด แช่แข็งผิด หรือได้รับผลจากบั๊ก
  • ฝ่ายกำกับดูแล สภาความปลอดภัย หรือผู้มีสิทธิ์พิเศษเปลี่ยนเส้นทางได้
  • สินทรัพย์ไม่รองรับ ไม่เป็นมาตรฐาน ขาดสภาพคล่อง หรือมีกฎมาร์จิน
  • Gas บน L1 พุ่งหรือขาดเหรียญ native ทำให้ส่งหรือยืนยันไม่ได้
  • อินเทอร์เฟซ RPC indexer หรือเครื่องมือพิสูจน์ใช้ไม่ได้เมื่อจำเป็น
  • อินเทอร์เฟซ โฆษณา หรือซัพพอร์ตปลอมขโมยข้อมูลหรือเงิน
  • มูลค่าตลาดอาจลดระหว่างรอ ความสามารถในการถอนไม่ได้ป้องกันราคา

ความเข้าใจผิดที่พบบ่อย

  • Rollup ทุกระบบมีช่องทางหนีฉุกเฉินแบบเดียวกัน ชื่อ กลไก และการรับประกันเฉพาะแต่ละโปรโตคอล ต้องอ่านเอกสารและสัญญาของรุ่นที่ใช้งาน
  • การบังคับรวมธุรกรรมคืนเงินสู่ L1 ทันที โดยทั่วไปเพียงรับประกันการเข้าถึงลำดับหรือการประมวลผล ส่วนการถอนผ่านบริดจ์มีวงจรของตัวเอง
  • transaction hash บน L1 พิสูจน์ว่าถอนสำเร็จ มันพิสูจน์เพียงการรวมบน L1 ต้องตรวจการประมวลผล L2 และการยืนยัน L1 แยกกัน
  • validity proof รับประกันว่าข้อมูลถอนพร้อมใช้ ความถูกต้องของหลักฐานกับความพร้อมของข้อมูลแยกจากกัน และข้อมูล off-chain เพิ่มการพึ่งพา
  • เส้นทางฉุกเฉินไม่ต้องอาศัยความไว้วางใจเพราะมีฟังก์ชัน การใช้งานยังขึ้นกับสิทธิ์ การตั้งค่า ข้อมูล ซอฟต์แวร์ Gas และกุญแจ
  • ช่องทางหนีฉุกเฉินกำจัดความเสี่ยงทางการเงิน มันแก้ปัญหาความต่อเนื่องหรือการเซ็นเซอร์ ไม่ใช่ราคา สภาพคล่อง สัญญา หรือกุญแจรั่ว

หัวข้อที่เกี่ยวข้อง

แหล่งข้อมูล

การนำทาง

ค้นหาในวิกิ...