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

วิธีดำเนินการโอนข้ามเชนอย่างปลอดภัย

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

อัปเดต

จัดทำขึ้นเพื่อการศึกษาเท่านั้น ไม่ใช่คำแนะนำการลงทุน การลงทุนอาจทำให้สูญเสียเงินลงทุนได้

คำตอบโดยตรง

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

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

รายการตรวจสอบการโอนข้ามเชน
0 / 5
0 ตรวจสอบรายการแล้ว; 5 รายการยังไม่ได้รับการแก้ไข

การเสร็จสิ้นการตรวจสอบนี้ไม่ได้พิสูจน์ว่าสินทรัพย์ ธุรกรรม หรือระบบมีความปลอดภัย

กลไกการทำงาน

  1. กำหนดการให้อำนาจและสถานะสุดท้ายที่ใช้งานได้ บันทึกสินทรัพย์ต้นทาง สินทรัพย์และโปรโตคอลปลายทางที่ต้องการ ผู้รับ จำนวน ขาดทุนสูงสุด เวลารอสูงสุด และเงื่อนไขว่าโทเค็นสุดท้ายต้องแลกคืน ซื้อขาย หรือใช้เป็นหลักประกันได้หรือไม่ อย่าเริ่มจากสัญลักษณ์ย่อเพียงอย่างเดียว
  2. ตรึงภาพรวมเส้นทาง ณ เวลาอ้างอิงจากแหล่งทางการที่เป็นอิสระต่อกัน ได้แก่ โปรโตคอลและรุ่น chainId หรือโดเมนต้นทางและปลายทาง เกตเวย์ เราเตอร์ ตัวส่งข้อความ พร็อกซี ผู้รับสิทธิ คู่โทเค็น รูปแบบผู้รับ จำนวนทศนิยม จำนวนหน่วยดิบ บล็อก และเวลา ตรวจสอบเชนและบัญชีที่กระเป๋าเงินใช้งานอีกครั้งหลังเกิดเหตุการณ์ chainChanged จากผู้ให้บริการ
  3. ทบทวนกฎด้านความไว้วางใจและการกู้คืนที่ใช้กับทิศทางนั้น บันทึกระดับความสิ้นสุดของต้นทาง ผู้ตรวจสอบหรือผู้รับรอง อำนาจผู้ดูแลและการอัปเกรด การหยุดระบบและเพดานอัตรา ผู้ดำเนินการปลายทาง ความเป็นเอกลักษณ์ของข้อความ ตลอดจนเส้นทางลองใหม่ เรียกรับ หมดเวลา และคืนเงิน เชื่อมโยงข้อมูลนี้กับสถาปัตยกรรมบริดจ์โดยไม่อนุมานความปลอดภัยจากชื่อ
  4. จัดทำราคาเสนอที่ส่งคำสั่งได้จริงและบัญชีเงินทุน แยกเงินต้นกับค่าธรรมเนียมโปรโตคอลหรือผู้ให้สภาพคล่องซึ่งคิดเป็นโทเค็น ออกจากค่าแก๊สสกุลเงินดั้งเดิมทั้งต้นทางและปลายทาง สลิปเพจ ผลกระทบต่อราคา และต้นทุนการรอ บันทึกเวลาออกและหมดอายุของราคาเสนอ ความจุ ผลรับขั้นต่ำ และเส้นตาย พร้อมตรวจว่าโทเค็นที่ได้รับใช้ในขั้นตอนถัดไปได้
  5. จำกัดสิทธิและทำรายการทดสอบภายใต้ขอบเขต ตรวจสอบผู้รับสิทธิ ERC-20 ที่แน่นอนกับ allowance ปัจจุบัน หรือขอบเขต permit หรือ operator เตรียมแก๊สไว้ทั้งสองเชน ตรวจสอบ value และ calldata แล้วทดสอบเส้นทางกับผู้รับรายเดิมโดยกำหนดเพดานขาดทุนเป็นจำนวนเงินแน่นอนล่วงหน้า ความสำเร็จของจำนวนเล็กน้อยไม่ได้พิสูจน์ความจุของเส้นทางขนาดใหญ่หรือความปลอดภัยในอนาคต
  6. ก่อนโอนเต็มจำนวน ให้เรียกข้อมูลเชน บัญชี สัญญา ยอดคงเหลือ nonce ราคาเสนอ allowance สถานะหยุดระบบ และเพดานต่าง ๆ ใหม่ ส่งการดำเนินการต้นทางครั้งเดียวและเก็บใบรับธุรกรรม รหัสข้อความหรือ nonce ข้อมูลอ้างอิง proof หรือการรับรอง และธุรกรรมปลายทาง ติดตามสถานะลงนาม ส่งแล้ว รวมในบล็อก สิ้นสุด พร้อม รีเลย์แล้ว ดำเนินการแล้ว รับทราบ ล้มเหลว หมดอายุ และคืนเงินได้ แยกจากกัน
  7. วินิจฉัยตามสถานะและกระทบยอดผลลัพธ์ ลองใหม่เฉพาะขั้นตอนปลายทางที่เอกสารระบุว่าทำซ้ำแล้วไม่เกิดผลซ้ำ หลังพิสูจน์ว่ามีการดำเนินการต้นทางและข้อความ ผู้รับยังไม่ได้รับยอด และข้อความยังไม่ถูกใช้ ห้ามทำ deposit หรือ burn ซ้ำโดยไม่ตรวจสอบ ยืนยันโทเค็นปลายทางที่แน่นอน ยอดและทางออกจริง ค่าธรรมเนียมทั้งหมด allowance ที่เหลือ และสิทธิเรียกร้องที่ค้างหรือคืนแล้ว จากนั้นเพิกถอนสิทธิส่วนเกินและจัดเก็บหลักฐาน

ตัวอย่างคำนวณ

  • ด่านตรวจหน่วยดิบให้ตรงกัน การโอน 2,500.000000 USDC จากโทเค็นที่ตรวจสอบแล้วและมี 6 decimals เข้ารหัสเป็น 2,500 * 10^6 = 2,500,000,000 raw units หากใช้ 18 decimals จะเข้ารหัสเป็น 2,500,000,000,000,000,000,000 ซึ่งมากกว่าจำนวนหน่วยดิบที่ตั้งใจ 10^12 เท่า ต้องตรวจที่อยู่โทเค็นต้นทาง ผู้รับสิทธิ โทเค็นปลายทาง และผู้รับก่อนลงนาม
  • บัญชีผลรับและผลทางเศรษฐกิจ เงินต้นคือ 12,000 units ค่าธรรมเนียมโปรโตคอล 18 units และค่าธรรมเนียมผู้ให้สภาพคล่อง 24 units ดังนั้นผลรับโทเค็นปลายทางคือ 12,000 - 18 - 24 = 11,958 units ค่าแก๊สต้นทาง 0.004 ETH และปลายทาง 0.0015 ETH ที่ราคา 2,500 USD/ETH คิดเป็น $10 และ $3.75 หากหนึ่งหน่วยมีค่า $1 ต้นทุนทางเศรษฐกิจรวมคือ $18 + $24 + $10 + $3.75 = $55.75 และมูลค่าทรัพย์สินสุทธิที่ได้รับคือ $11,944.25 ขณะที่ยอดโทเค็นยังเป็น 11,958 units
  • การแบ่งชุดตามลำดับเปลี่ยนเฉพาะวงเงินที่จำกัดไว้ การย้าย 12,000 units ครั้งเดียวทำให้ 12,000 units อยู่ในกระบวนการปัจจุบันและสมมติว่ามีค่าแก๊สคงที่ $9 การแบ่งเป็นสามชุดตามลำดับ ชุดละ 4,000-unit โดยกระทบยอดก่อนส่งชุดถัดไป จำกัดเงินต้นที่อยู่ระหว่างดำเนินการไว้ที่ 4,000 units แต่มีต้นทุน 3 * $9 = $27 หรือเพิ่มขึ้น $18 ส่วนสินทรัพย์ตัวแทนจากบริดจ์ที่รับแล้วก็ยังมีความเสี่ยงจนกว่าจะแลกคืนหรือขายออก
  • การลองทำขั้นตอนปลายทางใหม่ที่จำเพาะต่อผลิตภัณฑ์ ในตัวอย่าง CCTP ผู้ใช้เผา 2,500 USDC ด้วย nonce ของข้อความ 41 การรับรองเสร็จสมบูรณ์ แต่การสร้างโทเค็นที่ปลายทางครั้งแรกล้มเหลวหลังใช้ 0.0024 ETH ที่ราคา 2,500 USD/ETH มีต้นทุน $6 หลังยืนยันว่าผู้รับยังไม่ได้รับยอดและ nonce ยังไม่ถูกใช้ ผู้ใช้เติม 0.002 ETH และทำตามขั้นตอนลองสร้างโทเค็นใหม่ของ CCTP ที่มีเอกสารกำกับ ทำให้มีต้นทุนเพิ่ม $5 การสร้างโทเค็นหนึ่งครั้งจึงลงยอด 2,500 USDC และค่าแก๊สปลายทางรวมเป็น $11 ห้ามนำขอบเขตการลองซ้ำแบบไม่เกิดผลซ้ำนี้ไปเหมารวมกับบริดจ์อื่น

ความเสี่ยง

  • เลือกต้นทาง ปลายทาง chainId หรือโดเมนผิด
  • ใช้เส้นทาง deployment ของโปรโตคอล หรือรุ่นผิด
  • เข้าอินเทอร์เฟซ หน้าเอกสาร หรือบัญชีฝ่ายสนับสนุนปลอม
  • ให้สิทธิแก่เกตเวย์ เราเตอร์ ตัวส่งข้อความ พร็อกซี หรือผู้รับสิทธิปลอม
  • ยอมรับการจับคู่โทเค็นผิดหรือสินทรัพย์ตัวแทนที่ใช้สัญลักษณ์เดียวกัน
  • ส่งให้ผู้รับ รูปแบบที่อยู่ memo หรือบัญชีปลายทางผิด
  • อ่านจำนวนทศนิยมหรือหน่วยดิบผิด
  • ให้ approval, permit หรือสิทธิ operator มากเกินจำเป็น
  • ลงนาม calldata ที่เป็นอันตรายหรือส่ง native value โดยไม่ตั้งใจ
  • ใช้ราคาเสนอที่ล้าสมัย ไม่มีผลรับขั้นต่ำ หรือพ้นเส้นตาย
  • เกินความจุเส้นทาง เพดานอัตรา หรือสลิปเพจที่ยอมรับได้
  • มีค่าแก๊สบนเชนต้นทางไม่พอ
  • มีค่าแก๊สสำหรับเรียกรับ ลองใหม่ หรือคืนเงินที่ปลายทางไม่พอ
  • พึ่งพาความสิ้นสุดของต้นทางที่ไม่เพียงพอหรือบล็อกที่ถูกจัดระเบียบใหม่
  • รอ proof การรับรอง รีเลย์ หรือผู้ดำเนินการที่ล่าช้า
  • พบการย้อนกลับที่ปลายทาง หรือบัญชีหรือ hook ของโทเค็นที่ไม่รองรับ
  • ทำ deposit, burn หรือข้อความที่ถูกใช้แล้วซ้ำโดยไม่ตรวจสอบ
  • พลาดสถานะหยุดระบบ การอัปเกรด การเปลี่ยนผู้ดูแล หรือการคลาดเคลื่อนของการตั้งค่า
  • ได้รับโทเค็นที่ขาดสภาพคล่อง หลุดตรึง แลกคืนไม่ได้ หรือไม่รองรับ
  • จัดการความเป็นส่วนตัว ฝ่ายสนับสนุนปลอม ภาษี มาตรการคว่ำบาตร การรับฝาก หรือหลักฐานกู้คืนผิดพลาด

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

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

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

แหล่งข้อมูล

การนำทาง

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