คำเตือนความเสี่ยง: ระวังความเสี่ยงจากการระดมทุนที่ผิดกฎหมายในนาม 'สกุลเงินเสมือน' 'บล็อกเชน' — จากห้าหน่วยงานรวมถึงคณะกรรมการกำกับดูแลการธนาคารและการประกันภัย
ข่าวสาร
ค้นพบ
ค้นหา
เข้าสู่ระบบ
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt
BTC
ETH
HTX
SOL
BNB
ดูตลาด
Vitalik: วิธีการใช้ DEX แบบโรลอัปข้าม
ECN以太坊中国
特邀专栏作者
2021-03-10 13:44
บทความนี้มีประมาณ 2342 คำ การอ่านทั้งหมดใช้เวลาประมาณ 4 นาที
วิธีดำเนินการข้ามรายการเมื่อเฉพาะที่อยู่เป้าหมายรองรับสัญญาอัจฉริยะอย่างสมบูรณ์

ผู้แต่ง | Vitalik Buterin

ผู้แต่ง | Vitalik Buterin

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

ข้อเสนอ

ข้อเสนอ

สมมติว่าเรามีตัวกลางการแลกเปลี่ยน Ivan (มีตัวกลางมากมายให้เลือกใช้งาน) Ivan เป็นเจ้าของ (บัญชีที่ควบคุมโดยเขาอย่างเต็มที่) IVAN_A ใน Rollup A ในเวลาเดียวกัน Ivan ยังฝากเงินบางส่วนไว้ในสัญญาอัจฉริยะ IVAN_B ของ Rollup B

สัญญาอัจฉริยะ IVAN_B มีกฎดังต่อไปนี้:

➤ หากผู้ใช้รายใดส่งธุรกรรม (ส่งมูลค่าธุรกรรมโทเค็น TRADE_VALUE ไปยังบัญชี IVAN_A) (ที่อยู่ปลายทาง B DESTINATION จะแนบเป็นหมายเหตุในธุรกรรมด้วย) หลังจากความล่าช้าในการชำระคืนขั้นต่ำที่บล็อก MIN_REDEMPTION_DELAY ผู้ใช้ A สามารถทำธุรกรรมได้ จะถูกส่งคืนไปยังบัญชี IVAN_B (รวมถึงหลักฐานการโอนก่อนหน้า) จากนั้นการทำธุรกรรมจะถูกเข้าคิวเพื่อถอนไปยังที่อยู่ DESTINATION

➤ หลังจากรอการหน่วงเวลาหนึ่ง (เช่น หนึ่งวัน) การถอนเงินจะได้รับการประมวลผลตามลำดับแบบชุดและดัชนี ซึ่งการโอนย้ายถูกรวมเป็นชุด A

➤ เมื่อ Ivan พบว่าบัญชีของเขา IVAN_A ได้รับเงิน เขาสามารถส่งโทเค็น TRADE_VALUE * (ค่าธรรมเนียม 1) ไปยัง DESTINATION เป็นการส่วนตัว เขาสามารถทำได้โดยการส่งธุรกรรมโดยใช้เมธอด IVAN_B ซึ่งเก็บบันทึกและป้องกันไม่ให้ส่วนส่งอัตโนมัติในสัญญาเรียกธุรกรรม

พฤติกรรมที่คาดหวังนั้นง่าย:

➤ Alice ส่งธุรกรรมไปยังบัญชี IVAN_A (มี N โทเค็นและหมายเหตุ ALICE_B)

➤ Ivan ส่ง TRADE_VALUE * (1 - ค่าธรรมเนียม) โทเค็นไปยัง ALICE_B ผ่าน IVAN_B

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

ชื่อระดับแรก

ทุนค่าใช้จ่าย

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

➤ เราตั้งค่าขีดจำกัดการเทรดเป็น TRADE_LIMIT (ดังนั้นเมื่อการเทรดที่ส่งไปยัง IVAN_A เกินค่าขีดจำกัด > TRADE_LIMIT การแลกเปลี่ยนนั้นไม่ถูกต้อง)

➤ แต่ละชุดการยกเลิกสามารถมีธุรกรรมได้สูงสุด TXS_PER_BATCH

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

ขนาดธุรกรรมสูงสุดในแต่ละชุดคือ TRADE_LIMIT * TXS_PER_BATCH ดังนั้นต้องมี ETH มากเป็นอย่างน้อยในสัญญา IVAN_B รวมทั้งต้องมีเงินเพิ่มเติมเพื่อรวมธุรกรรมสำหรับการประมวลผล ตัวอย่างเช่น สมมติว่าขีดจำกัดของธุรกรรมคือ 0.1 ETH TRADE_LIMIT = 0.1 ETH (สามารถกำหนดขีดจำกัดของธุรกรรมให้ต่ำกว่านี้ได้ เนื่องจากธุรกรรมขนาดใหญ่สามารถแบ่งออกเป็นธุรกรรมขนาดเล็กหลายรายการ) และแต่ละชุดสามารถประมวลผลธุรกรรมได้ 1,000 รายการ TXS_PER_BATCH = 1,000 จากนั้น สัญญา IVAN_B จะต้องถือ 100 ETH

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

ชื่อระดับแรก

ข้อสังเกต

การออกแบบข้างต้นตั้งอยู่บนสมมติฐาน: ธุรกรรมใน Rollup A มีช่องแสดงความคิดเห็น ซึ่ง Alice สามารถระบุ ALICE_B เป็นที่อยู่ปลายทางสำหรับเธอในการรับโทเค็น หากการยกเลิกไม่มีคุณสมบัตินี้ เราสามารถใช้วิธีแก้ไขต่อไปนี้ Alice สามารถลงทะเบียนบัญชี ALICE_B ในสัญญาที่ลงทะเบียนตามลำดับในการยกเลิก B และรับ ID ที่กำหนดตามลำดับ (ดังนั้น ID ของ Alice จะเท่ากับจำนวนผู้ใช้ที่ลงทะเบียนก่อนเธอ)

ชื่อระดับแรก

ธุรกรรมจากค่าสะสม B เป็นค่าสะสม A

หาก Alice โอนโทเค็นจาก Rollup B ไปยัง Rollup A เธอสามารถใช้กลไกเดียวกันได้ แต่มีบทบาทที่ตรงกันข้าม:

➤ อลิซส่งโทเค็นไปที่ IVAN_B

➤ หลังจากล่าช้า เธอจะได้รับสิทธิ์ในการรับโทเค็นคืน

งานแปลของ ECN มีเป้าหมายเพื่อส่งมอบข้อมูลและทรัพยากรการเรียนรู้คุณภาพสูงสำหรับชุมชน Ethereum ของจีน ลิขสิทธิ์ของบทความเป็นของผู้เขียนต้นฉบับและต้องระบุแหล่งที่มาของข้อความต้นฉบับและเว็บไซต์ ETH ภาษาจีนเมื่อพิมพ์ซ้ำ สำหรับการพิมพ์ซ้ำในระยะยาว โปรดติดต่อ eth@ecn.co เพื่อขออนุญาต

คลิก "อ่านข้อความต้นฉบับ" เพื่อรับลิงก์ภายในของบทความ!

ลิงค์ต้นฉบับ:https://ethresear.ch/

งานแปลของ ECN มีเป้าหมายเพื่อส่งมอบข้อมูลและทรัพยากรการเรียนรู้คุณภาพสูงสำหรับชุมชน Ethereum ของจีน ลิขสิทธิ์ของบทความเป็นของผู้เขียนต้นฉบับและต้องระบุแหล่งที่มาของข้อความต้นฉบับและเว็บไซต์ ETH ภาษาจีนเมื่อพิมพ์ซ้ำ สำหรับการพิมพ์ซ้ำในระยะยาว โปรดติดต่อ eth@ecn.co เพื่อขออนุญาต

DEX
ETH
Vitalik
ยินดีต้อนรับเข้าร่วมชุมชนทางการของ Odaily
กลุ่มสมาชิก
https://t.me/Odaily_News
กลุ่มสนทนา
https://t.me/Odaily_CryptoPunk
บัญชีทางการ
https://twitter.com/OdailyChina
กลุ่มสนทนา
https://t.me/Odaily_CryptoPunk
สรุปโดย AI
กลับไปด้านบน
วิธีดำเนินการข้ามรายการเมื่อเฉพาะที่อยู่เป้าหมายรองรับสัญญาอัจฉริยะอย่างสมบูรณ์
ดาวน์โหลดแอพ Odaily พลาเน็ตเดลี่
ให้คนบางกลุ่มเข้าใจ Web3.0 ก่อน
IOS
Android