TWAMM: แนวคิดใหม่ในการจัดการคำสั่งซื้อจำนวนมากอย่างมีประสิทธิภาพบน Uniswap
ภาพรวม
นักแปล Odaily |

ภาพรวม
บทความนี้แนะนำผู้ทำการตลาดอัตโนมัติ (AMM) ประเภทใหม่ที่สามารถช่วยผู้ค้าบน Ethereum ดำเนินการคำสั่งซื้อจำนวนมากได้อย่างมีประสิทธิภาพ
เราเรียกมันว่า Time Weighted Average Market Maker เรียกโดยย่อว่า TWAMM (อ่านว่า ที-แวม)
การแนะนำ
การแนะนำ
สมมติว่า Alice ต้องการซื้อ ETH on-chain มูลค่า 100 ล้านดอลลาร์ การดำเนินการตามคำสั่งขนาดนี้ใน AMM ที่มีอยู่เช่น Uniswap อาจมีราคาแพงมาก ทั้งนี้เพื่อป้องกันไม่ให้ Alice รู้ว่ามีอะไรอยู่ในนั้นที่พวกเขาไม่รู้ ดังนั้น ต้องคิดค่าธรรมเนียมสูงสำหรับอลิซ
ตอนนี้ ทางเลือกที่ดีที่สุดของอลิซคือการแบ่งคำสั่งซื้อของเธอออกเป็นหลายส่วนด้วยตนเองและดำเนินการภายในไม่กี่ชั่วโมง เพื่อให้ตลาดมีเวลาที่จะตระหนักว่าเธอไม่มีข้อมูลภายในและให้ราคาที่ดีกว่า
หากเธอส่งคำสั่งซื้อย่อยขนาดใหญ่หลายรายการ คำสั่งซื้อแต่ละรายการยังคงมีผลกระทบอย่างมากต่อราคาและมีความเสี่ยงที่จะถูกโจมตีโดยผู้ค้าฝ่ายตรงข้าม ในทางกลับกัน หากเธอส่งคำสั่งซื้อย่อยจำนวนมาก เธอจะต้องรับภาระงานทั้งหมดและความเสี่ยงของการทำธุรกรรมที่ดำเนินอยู่ และจะจ่ายค่าใช้จ่ายสูงให้กับคนงานเหมืองในรูปของค่าธรรมเนียมการทำธุรกรรม
ชื่อเรื่องรอง
แนวคิดพื้นฐานสองประการที่เกี่ยวข้องกับ "การทำตลาด"
1. ผู้ดูแลสภาพคล่อง
พิจารณาว่าตลาดนี้มีสินทรัพย์ทางการเงินสองอย่าง เช่น USDC และ ETH ผู้ดูแลสภาพคล่องเป็นผู้มีส่วนร่วมในตลาดนี้ และเขาหวังที่จะซื้อขายสินทรัพย์ใดๆ กับสินทรัพย์อื่นได้ตลอดเวลา
หากคุณมี 100 ล้าน USDC และต้องการใช้มันเพื่อซื้อ ETH คุณอาจไม่สามารถหาบุคคลอื่นที่ต้องการทำธุรกรรมตรงข้ามในเวลาเดียวกันได้ แต่คุณจะเข้าสู่ตลาดที่ประกอบด้วยผู้ดูแลสภาพคล่องหนึ่งรายขึ้นไปและทำการค้ากับพวกเขาแทน
2. การเลือกที่ไม่พึงประสงค์
ผู้สร้างตลาดที่ทำกำไรได้จากสเปรดนั้นเป็นค่าธรรมเนียมที่พวกเขาเรียกเก็บจากการซื้อขายแต่ละครั้ง พวกเขาสูญเสียเงินเมื่อราคาสวนทางกับพวกเขา—เมื่อพวกเขาซื้อสินทรัพย์และราคาลดลง หรือขายสินทรัพย์และราคาสูงขึ้น
น่าเสียดายสำหรับผู้ดูแลสภาพคล่อง ราคามักจะเคลื่อนไหวในทิศทางตรงกันข้ามกับการดำเนินงานของพวกเขา ซึ่งเป็นปรากฏการณ์ที่เรียกว่าการเลือกตรงกันข้าม สิ่งนี้เกิดขึ้นเนื่องจากผู้ค้าที่ได้รับแจ้งเกี่ยวกับการเคลื่อนไหวของราคาในอนาคตมีแนวโน้มที่จะทำการซื้อขายจำนวนมากกับผู้ดูแลสภาพคล่อง
ชื่อเรื่องรอง
ผู้ดูแลสภาพคล่องอัตโนมัติ
ข้อความ
1. สูตรการซื้อขายคงที่
สูตรการซื้อขายคงที่เป็นกฎง่ายๆ ที่ช่วยให้ทุกคนสามารถสร้างตลาดใหม่และ AMM ใหม่สำหรับสินทรัพย์คู่ใหม่ได้ทันที
หากต้องการสร้างธุรกรรม AMM (CPAMM) ที่คงที่ใหม่ระหว่างสองสินทรัพย์ X และ Y ผู้ใช้ที่เรียกว่า Liquidity Provider (LP) จะสำรองเงินฝาก x และ y ของสินทรัพย์ทั้งสองนี้
อัตราส่วนของสินทรัพย์เหล่านี้ ณ เวลาใดเวลาหนึ่งแสดงถึงราคาทันทีบน AMM หรือราคาที่เรียกเก็บสำหรับคำสั่งซื้อขนาดเล็กมาก ตัวอย่างเช่น หาก CPAMM มีเงินสำรอง 2,000 USDC และ 1 ETH ราคาของ ETH ทันทีจะเท่ากับ 2,000 USDC
ข้อความ
2. ตัวอย่าง
ตัวอย่างเช่น CPAMM ของ ETH/USDC มีเงินสำรอง 2,000 USDC และ 1 ETH ดังนั้น x = 2,000, y = 1 ดังนั้น x * y = k = 2,000 ราคาทันทีของ AMM นี้คือ 2,000 / 1 = 2,000 USDC ต่อ ETH
หากเทรดเดอร์มาซื้อ ETH มูลค่า 2,000 USDC นั่นหมายความว่าพวกเขาฝากเงิน 2,000 USDC ใน X เพื่อสำรอง ดังนั้นเราจะได้ x = 2,000 + 2,000 = 4,000
จากนั้น เนื่องจาก k = 2000 เราจะต้องได้ y = x/k = 2000/4000 = 0.5 หลังการทำธุรกรรม เนื่องจากเดิมที y คือ 1 ดังนั้น 1 – 0.5 = 0.5 ETH จะต้องไหลไปยังเทรดเดอร์
เนื่องจากผู้ค้าซื้อ 0.5 ETH ด้วย 2,000 USDC ราคาเฉลี่ยที่พวกเขาจ่ายคือ 4,000 USDC ต่อ ETH ราคาที่สูงนี้เมื่อเทียบกับราคาที่เกิดขึ้นทันทีสะท้อนถึงขนาดคำสั่งซื้อที่ใหญ่ในสภาพคล่องของ AMM
3. ผลกระทบด้านราคาและการเลือกที่ไม่พึงประสงค์
ในกรณีข้างต้น เมื่อคำสั่งซื้อขนาดเล็กมีราคาเพียง 2,000 USDC ต่อ ETH ผู้ค้าต้องจ่ายค่าธรรมเนียม 4,000 USDC ต่อ ETH สำหรับคำสั่งซื้อขนาดใหญ่ ส่วนต่างของราคานี้เรียกว่าผลกระทบต่อราคาของคำสั่งซื้อขาย ยิ่งขนาดของคำสั่งซื้อเข้ามามากเท่าใด ผลกระทบต่อราคาก็จะยิ่งมากขึ้นเท่านั้น
ชื่อเรื่องรอง
ดำเนินการคำสั่งซื้อจำนวนมากใน AMM ปัจจุบัน
1. แยกคำสั่งซื้อด้วยตนเอง
ดังที่เราได้เห็น ต้นทุนการทำธุรกรรมในการดำเนินการคำสั่งซื้อขนาดใหญ่รายการเดียวบน AMM นั้นสูง บทความที่ยอดเยี่ยมนี้เจาะลึกปัญหาและแนะนำวิธีแก้ไขบางอย่าง
กล่าวโดยย่อ เทรดเดอร์ที่ต้องการดำเนินการคำสั่งจำนวนมากบน AMM ไม่ควรดำเนินการในการซื้อขายเดียว: จะดีกว่าหากแยกคำสั่งออกเป็นหลายส่วน ซึ่งอาจเกี่ยวข้องกับการส่งคำสั่งซื้อขายไปยัง AMM หลายรายการพร้อมกัน แต่ AMM เหล่านั้นก็มีสภาพคล่องที่จำกัด ณ เวลาใดเวลาหนึ่ง เมื่อเวลาผ่านไป ยิ่งคำสั่งซื้อมีขนาดใหญ่เท่าใด ก็ยิ่งสมเหตุสมผลที่จะแยกออก
ตัวอย่างเช่น สมมติว่านักลงทุนต้องการซื้อ $100 ล้านใน ETH บนเครือข่าย แต่เนื่องจากพวกเขาไม่มีข้อมูลระยะสั้นเกี่ยวกับราคาของ ETH คำสั่งของพวกเขาอาจใช้เวลาในการดำเนินการ ในกรณีนี้ พวกเขาอาจแบ่งคำสั่งซื้อขายออกเป็น 10 คำสั่งซื้อขายละ 10 ล้านดอลลาร์ และดำเนินการทุกชั่วโมง ซึ่งจะช่วยลดผลกระทบด้านราคาของคำสั่งซื้อแต่ละรายการ
2. การแลกเปลี่ยนสำหรับขนาดการสั่งซื้อย่อย
เห็นได้ชัดว่า หากคำสั่งซื้อที่มีขนาดใหญ่มากถูกแบ่งออกเป็นส่วนๆ คำสั่งซื้อย่อยแต่ละรายการจะยังคงมีขนาดใหญ่และมีผลกระทบต่อราคาที่สอดคล้องกัน ในขณะนี้ การแยกคำสั่งซื้อขายออกเป็นรายการเล็กๆ จะมีประโยชน์ แต่สิ่งนี้จะนำมาซึ่งปัญหาใหม่สองปัญหาในเวลาเดียวกัน
ปัญหาแรกคือความซับซ้อนในการปฏิบัติงาน ซึ่งหมายถึงความเสี่ยงและปริมาณงานที่เพิ่มขึ้น นักเทรดอาจแบ่งการเทรดเป็นจำนวนเงินที่ไม่ถูกต้องหรือเลือกทิศทางที่ไม่ถูกต้อง ในทางกลับกัน คอมพิวเตอร์ของเขาอาจพังเพื่อป้องกันไม่ให้คำสั่งบางคำสั่งถูกดำเนินการ และแม้ว่าทุกอย่างจะดำเนินไปได้ด้วยดี กระบวนการต้องใช้เวลาและความพยายาม ซึ่งอาจส่งผลต่อความพยายามของผู้คนในสิ่งที่มีค่ามากกว่า
ชื่อเรื่องรอง
เปรียบเทียบกับการเงินแบบดั้งเดิม
ในด้านการเงินแบบดั้งเดิม หากนักลงทุนหรือสถาบันต้องการซื้อหุ้น Apple มูลค่า 100 ล้านดอลลาร์ พวกเขาจะไม่ส่งคำสั่งซื้อขายในตลาดมูลค่า 100 ล้านดอลลาร์ไปยังตลาดหลักทรัพย์โดยตรง พวกเขายังไม่ส่งคำสั่งซื้อ 10 รายการที่มีมูลค่า 10 ล้านเหรียญ การแยกคำสั่งซื้อขายออกเป็นคำสั่งซื้อย่อยที่เล็กกว่านี้มากนั้นไม่สามารถทำได้สำหรับคนส่วนใหญ่ที่ไม่มีพนักงานซื้อขายและโครงสร้างพื้นฐานโดยเฉพาะ
แต่มีแนวโน้มที่จะส่งคำสั่งซื้อจำนวนมากไปยังโบรกเกอร์ ซึ่งจะทำการซื้อขายด้วยอัลกอริทึมสำหรับพวกเขาโดยมีค่าธรรมเนียม โบรกเกอร์จะดำเนินการซื้อขายตามระยะเวลาที่กำหนด กล่าวคือ แปดชั่วโมง โดยราคาจะอ้างอิงกับมาตรฐานที่แน่นอน โบรกเกอร์มีทีมงานที่ทุ่มเทเพื่อดำเนินการซื้อขายอย่างปลอดภัยและประหยัด
1. คำสั่ง TWAP
บางทีการซื้อขายแบบอัลกอริธึมประเภทพื้นฐานที่สุดคือราคาถัวเฉลี่ยถ่วงน้ำหนักตามเวลาหรือคำสั่ง TWAP (ออกเสียงว่า "tee-whap") ตามชื่อที่บอกเป็นนัย หากคำสั่ง TWAP มูลค่า 100 ล้านดอลลาร์ในหุ้น Apple ได้รับการดำเนินการภายในแปดชั่วโมง คำสั่งนั้นจะถูกซื้อขายในราคาที่ใกล้เคียงกับราคาถัวเฉลี่ยตามเวลาของหุ้น Apple ภายในช่วงเวลานั้น
ตัวอย่างเช่น หากหุ้นของ Apple ซื้อขายที่ $100 เป็นเวลาสี่ชั่วโมง และ $120 สำหรับสี่ชั่วโมงที่เหลือในช่วงเวลานั้น ราคาเฉลี่ยถ่วงน้ำหนักตามเวลาจะเป็น ($100 * 4 + $120 * 4)/8 = $110 โบรกเกอร์จะดำเนินการ TWAP คำสั่งที่ใกล้เคียงกับราคานั้น
แม้ว่ารายละเอียดของวิธีการทำงานจะแตกต่างกันไป โบรกเกอร์มักจะดำเนินการซื้อขายนี้โดยแบ่งออกเป็นส่วนย่อยๆ และส่งไปยังตลาดตลอดทั้งวัน การซื้อหุ้น Apple มูลค่า 100 ล้านดอลลาร์ใน 8 ชั่วโมงนั้นเทียบเท่ากับการซื้อหุ้น Apple ประมาณ 350 ดอลลาร์ทุกๆ 100 มิลลิวินาที ซึ่งเป็นสิ่งที่เราทุกคนควรคาดหวังให้นายหน้าทำ
ชื่อเรื่องรอง
ผู้ดูแลสภาพคล่องถัวเฉลี่ยถ่วงน้ำหนักตามเวลา
Time Weighted Average Market Makers (TWAMM) ให้เทียบเท่ากับคำสั่งซื้อ TWAP บนเครือข่าย ด้วยอัลกอริธึมลอจิกเฉพาะของตัวเองสำหรับการแยกคำสั่งและการเชื่อมต่อโดยตรงกับการแลกเปลี่ยนแบบฝัง TWAMM ดำเนินธุรกรรมอย่างราบรื่นด้วยค่าธรรมเนียมก๊าซที่ต่ำกว่า ในเวลาเดียวกัน อนุญาโตตุลาการจะปรับราคาของ TWAMM การแลกเปลี่ยนแบบฝังตัวให้สอดคล้องกับราคาตลาด เพื่อให้การดำเนินการเป็นไปตามราคาถัวเฉลี่ยตามเวลาของสินทรัพย์
1 ภาพรวม
TWAMM แต่ละรายการอำนวยความสะดวกในการทำธุรกรรมระหว่างคู่สินทรัพย์เฉพาะ เช่น ETH และ USDC
TWAMM ประกอบด้วย AMM แบบฝังซึ่งเป็นผู้ดูแลตลาดผลิตภัณฑ์คงที่มาตรฐานสำหรับสินทรัพย์ทั้งสอง ทุกคนสามารถใช้ AMM แบบฝังนี้เพื่อทำธุรกรรมได้ตลอดเวลาราวกับว่าเป็น AMM ทั่วไป
ผู้ค้าสามารถส่งคำสั่งยืนไปยัง TWAMM ซึ่งเป็นคำสั่งขายสินทรัพย์ในจำนวนคงที่สำหรับจำนวนบล็อกที่แน่นอน ตัวอย่างเช่น คำสั่งขาย 100 ETH ใน 2,000 บล็อกถัดไป
TWAMM แบ่งคำสั่งย่อยเหล่านี้เป็นคำสั่งย่อยเสมือนจำนวนไม่สิ้นสุดซึ่งจะมีการซื้อขายกับ AMM ในตัวในอัตราที่สม่ำเสมอเมื่อเวลาผ่านไป โปรดทราบว่าการประมวลผลธุรกรรมการสั่งซื้อย่อยเสมือนเหล่านี้ทีละรายการจะมีค่าใช้จ่ายเป็นจำนวนไม่จำกัด แต่คณิตศาสตร์แบบปลายปิดช่วยให้เราสามารถคำนวณผลกระทบสะสมได้เมื่อจำเป็นเท่านั้น
เมื่อเวลาผ่านไป การดำเนินการตามคำสั่งยืนจะผลักราคาของ AMM ที่ฝังไว้ออกจากราคาของตลาดอื่น เมื่อสิ่งนี้เกิดขึ้น อนุญาโตตุลาการจะซื้อขายกับราคา AMM ที่ฝังไว้ ทำให้สอดคล้องกัน เพื่อให้มั่นใจว่าการดำเนินการคำสั่งระยะยาวเป็นไปอย่างดี
หากการขายระยะยาวทำให้ ETH บน AMM แบบฝังมีราคาถูกกว่าการแลกเปลี่ยนแบบรวมศูนย์ที่เฉพาะเจาะจง อนุญาโตตุลาการจะซื้อ ETH จาก AMM แบบฝังและขายในการแลกเปลี่ยนแบบรวมศูนย์เพื่อทำกำไรเมื่อราคาฟื้นตัว
2. อัปเดต Ethereum
2.1 บล็อก
Ethereum แบ่งกลุ่มธุรกรรมออกเป็นก้อนตามลำดับ หรือที่เรียกว่าบล็อก ซึ่งเกิดขึ้นทุกๆ 13 วินาทีโดยประมาณ ในบทความนี้ เราจะกำหนดหมายเลขแต่ละบล็อก: บล็อก 1 ตามด้วยบล็อก 2 จากนั้นบล็อก 3 ไปเรื่อยๆ
2.2 คนงานเหมือง
กลุ่มนักขุดที่กระจายอำนาจแข่งขันกันเพื่อประมวลผลแต่ละบล็อก และใครก็ตามที่มีการเชื่อมต่ออินเทอร์เน็ตก็สามารถเป็นนักขุดได้ ซึ่งหมายความว่าการรันโปรแกรมเช่น AMM บน Ethereum นั้นไม่มีความลับ: ทุกคนต้องคำนวณให้แน่ชัดว่าจะผลิตอะไรจากอินพุต
2.3 ค่าน้ำมัน
พลังการประมวลผลเป็นทรัพยากรที่หายากบน Ethereum ดังนั้นผู้ใช้ต้องจ่ายคนงานเหมืองในรูปของค่าธรรมเนียมน้ำมัน ยิ่งมีการคำนวณที่เกี่ยวข้องกับธุรกรรมมากเท่าใดก็ยิ่งใช้ก๊าซมากเท่านั้น และค่าธรรมเนียมก๊าซนี้ชำระโดยบุคคลที่ส่งธุรกรรมทั้งหมด
3. แนวคิดการออกแบบธุรกรรมขั้นพื้นฐาน
3.1 คำสั่งยืน
Alice ต้องการซื้อ ETH มูลค่า 100 ล้าน USDC ภายใน 8 ชั่วโมงข้างหน้า หรือประมาณ 2,000 บล็อก เธอเข้าสู่คำสั่งถาวรใน TWAMM เพื่อซื้อ 2,000 บล็อก ETH มูลค่า 100 ล้าน USDC ซึ่งเท่ากับ 50,000 USDC ต่อบล็อก
ดังที่กล่าวไว้ข้างต้น เราไม่ทราบล่วงหน้าว่านักขุดรายใดจะประมวลผลธุรกรรมในอนาคตบน TWAMM นอกจากนี้ยังหมายความว่าทุกคนจะต้องเห็นคำสั่งของอลิซ ซึ่งนำไปสู่ปัญหาการรั่วไหลของข้อมูลที่เราจะกล่าวถึงด้านล่าง
3.2 กลุ่มคำสั่ง
สมมติว่า Bob ต้องการขาย 500 ETH ที่ราคา USDC ในอีก 5,000 บล็อก ซึ่งเทียบเท่ากับการขาย 0.1 ETH ต่อบล็อก
และชาร์ลีต้องการขาย 100 ETH ที่ราคา USDC ในอีก 2,000 บล็อก นั่นคือขาย 0.05 ETH ต่อบล็อก
ทันทีที่คำสั่งของ Charlie หมดอายุภายใน 2,000 บล็อก คำสั่งของ Bob และ Charlie จะรวมกันเป็นกลุ่ม
กลุ่มการขาย ETH นี้จะขาย ETH ที่ 0.15 ETH ต่อบล็อกสำหรับ 2,000 บล็อกถัดไป Bob จะได้รับ 66% ของ USDC ที่ได้รับจากกลุ่มการขุด (0.1/0.15 ≈ 66%) Charlie จะได้รับ 33% ของ USDC ที่ได้รับจากกลุ่มการขุด (0.05/0.15 ≈ 33%)
3.3 คำสั่งเสมือนจริง
สำหรับ 2,000 บล็อกถัดไป TWAMM จะต้องซื้อ ETH มูลค่า 50,000 USDC ในนามของ Alice และขาย 0.15 ETH ใน USDC ในนามของกลุ่มการขาย ETH
เราสามารถจินตนาการได้ว่า TWAMM แบ่งคำสั่งย่อยทั้งสองนี้เป็นคำสั่งย่อยจำนวนหลายล้านล้านของคำสั่งย่อยขนาดเล็ก ซึ่งเราเรียกว่าคำสั่งเสมือน
จากนั้น TWAMM จะผลัดกันดำเนินการคำสั่งเสมือนเหล่านี้กับ AMM ที่ฝังตัว: คำสั่งเสมือนของ Alice ลำดับแรก จากนั้นคำสั่งหนึ่งจากกลุ่มการขาย ETH จากนั้นคำสั่งอื่นของ Alice และอื่น ๆ
3.4 การเก็งกำไร
เนื่องจากอลิซซื้อ ETH มากกว่ากลุ่ม ETH ที่ขาย ราคาของ ETH บน AMM ที่ฝังไว้จะเพิ่มขึ้นทุกบล็อก
เมื่อราคานี้สูงพอเมื่อเทียบกับราคา ETH ที่อื่น อนุญาโตตุลาการจะซื้อ ETH ที่ถูกกว่าในการแลกเปลี่ยนอื่น ๆ และขายบน AMM ที่ฝังไว้ ทำให้ราคาของพวกเขาสอดคล้องกับค่าเฉลี่ยของตลาดและรับประกันว่าจะดำเนินการตามคำสั่งของ Alice ได้ดีขึ้น '
3.5 การหมดอายุของคำสั่งซื้อ
หลังจากบล็อก 2,000 คำสั่งของอลิซจะถูกดำเนินการอย่างสมบูรณ์ เช่นเดียวกับคำสั่งของชาร์ลี คำสั่งขาย ETH ของ Bob ยังคงใช้ได้สำหรับ 3,000 บล็อกถัดไป ในระหว่างนั้น TWAMM จะดำเนินการต่อไปในอัตรา 0.1 ETH ต่อบล็อก
นอกเหนือจากกิจกรรมภายนอกอื่นๆ เมื่อเวลาผ่านไป สิ่งนี้จะบังคับให้ราคาของ ETH บน AMM ที่ฝังตัวนั้นต่ำลง และยังช่วยให้อนุญาโตตุลาการสามารถกู้คืนได้เมื่อพวกเขาออกจากราคา
3.6 เศรษฐกิจโทเค็น
เนื่องจากทั้ง Alice, Bob และ Charlie ไม่กระตือรือร้นที่จะดำเนินการตามคำสั่งของตน ผู้เข้าร่วมตลาดรายอื่นสามารถสรุปได้ว่าคำสั่งของพวกเขาเป็นตัวแทนของการเลือกที่ตรงกันข้ามน้อยกว่าที่จะเป็นกรณีอื่น และสามารถให้การดำเนินการที่มีผลกระทบด้านราคาต่ำได้
ข้อความ
4. คำสั่งเสมือนที่น้อยมาก
เราได้กล่าวไว้ข้างต้นว่า TWAMM แบ่งคำสั่งซื้อระยะยาวออกเป็นคำสั่งซื้อย่อยขนาดเล็กมาก สิ่งนี้ทำได้ด้วยเหตุผลสองประการ: ความคล่องแคล่วและประสิทธิภาพ
4.1 ความคล่องแคล่ว
เป้าหมายหลักของ TWAMM คือการดำเนินการคำสั่งระยะยาวอย่างราบรื่นเมื่อเวลาผ่านไป เพื่อให้สามารถดำเนินการได้ในราคาที่ใกล้เคียงกับราคาถัวเฉลี่ยถ่วงน้ำหนักตามเวลาจริง
ขณะที่เราลดขนาดของการซื้อขายเสมือน การเคลื่อนไหวของราคาใน AMM ก็ราบรื่นขึ้น
ในกรณีที่รุนแรง การเคลื่อนไหวของราคาจะราบรื่นมากเมื่อดำเนินการซื้อขายเสมือนจริง เนื่องจากมีการซื้อขายจำนวนน้อยไม่จำกัด

4.2 ประสิทธิภาพ
ดำเนินการ
ดำเนินการ
1. ขี้เกียจประเมิน
TWAMM ถือว่าคำสั่งย่อยเสมือนเกิดขึ้นในช่องว่างระหว่างบล็อก ซึ่งเป็นสิ่งสำคัญสำหรับการหลบเลี่ยงการโจมตีแบบแซนด์วิช
เพื่อให้บรรลุเป้าหมายนี้ในลักษณะที่ประหยัดน้ำมัน TWAMM ใช้การประเมินแบบขี้เกียจ โดยคำนวณผลกระทบของธุรกรรมเสมือนเฉพาะเมื่อจำเป็นต้องกำหนดผลลัพธ์ของการโต้ตอบ
ทุกครั้งที่ผู้ใช้โต้ตอบกับ TWAMM (เช่น โดยทำการซื้อขายโดยใช้ AMM แบบฝังหรือเพิ่มคำสั่งยืนใหม่) TWAMM จะคำนวณผลกระทบย้อนหลังของการซื้อขายเสมือนทั้งหมดที่เกิดขึ้นตั้งแต่การโต้ตอบครั้งล่าสุด
เนื่องจากธุรกรรมเสมือนเหล่านี้โต้ตอบกับ AMM ที่ฝังตัวของ TWAMM เท่านั้น พฤติกรรมของ TWAMM จึงถูกกำหนดโดยสมบูรณ์ระหว่างการโต้ตอบภายนอก แม้ว่า TWAMM จะย้าย 1 ล้านบล็อกระหว่างการโต้ตอบจากภายนอก แต่ครั้งต่อไปที่มีคนโต้ตอบกับมัน ก็จะยังสามารถคำนวณผลลัพธ์ของธุรกรรมเสมือนที่แทรกแซงทั้งหมดได้อย่างแม่นยำ
สำหรับฟรอนต์เอนด์ที่เสียบเข้ากับ TWAMM ธุรกรรมเสมือนที่ยังไม่ได้แสดงบนเครือข่ายสามารถดำเนินการได้โดยติดตามหมายเลขบล็อกปัจจุบันและทำการคำนวณ TWAMM เอง
2. การเพิ่มประสิทธิภาพก๊าซ
2.1 คำสั่งรวม
ดังตัวอย่างที่แสดงให้เห็น เมื่อเรามีคำสั่งยืนหลายคำสั่งในทิศทางการค้าเดียวกัน (เช่น ขาย ETH สำหรับ USDC) เราจะรวมพวกมันเข้าด้วยกันแล้วแยกพวกมันออกเป็นคำสั่งเสมือนจริง จากนั้น TWAMM สามารถใช้อัลกอริทึมเพื่อติดตามยอดคงเหลือ ซึ่งเป็นเวอร์ชันเดียวกับอัลกอริทึมที่ติดตามสิ่งจูงใจโทเค็น LP มูลค่าหลายพันล้านดอลลาร์ในโปรโตคอลเช่น Compound และ Uniswap
ในทางเทคนิคแล้ว TWAMM แต่ละรายการจะมีกลุ่มคำสั่งระยะยาวสองกลุ่มเสมอ หนึ่งกลุ่มสำหรับแต่ละสินทรัพย์ ตัวอย่างเช่น กลุ่มคำสั่งสำหรับการขาย USDC และกลุ่มคำสั่งสำหรับการขาย ETH เป็นมูลค่าการกล่าวขวัญว่า ณ เวลาใดก็ตาม กลุ่มคำสั่งซื้อหนึ่งหรือทั้งสองอาจว่างเปล่า
2.2 การหมดอายุของคำสั่งซื้อระยะยาว
ความยุ่งยากเกิดขึ้นเมื่อใช้การรวมคำสั่งซื้อกับการประเมินแบบขี้เกียจ
ลองนึกภาพว่า Bob วางคำสั่งขาย 100 ETH ในอีก 100 บล็อกถัดไป และ Charlie ยังวางคำสั่งขาย 200 ETH ในอีก 200 บล็อกถัดไป ทั้งสองคำสั่งขายในราคา 1 ETH ต่อบล็อก
สมมติว่าไม่มีใครโต้ตอบกับ TWAMM ในอีก 150 บล็อกถัดไป ซึ่งเป็นจุดที่มีการโต้ตอบภายนอกใหม่เกิดขึ้น ใน 100 บล็อกแรกหลังจากที่ Bob และ Charlie ส่งคำสั่งของพวกเขา คำสั่งของพวกเขาจะถูกรวมเข้าเป็นคำสั่งทั่วไปที่ขาย 2 ETH ต่อบล็อก อย่างไรก็ตาม ในอีก 50 บล็อกถัดไป คำสั่งของ Charlie จะเป็นอิสระและขายเพียง 1 ETH ต่อบล็อกเท่านั้น
ซึ่งหมายความว่าเราต้องทำการคำนวณธุรกรรมสองรายการแยกกันเพื่อค้นหาว่าเกิดอะไรขึ้น:
* คำนวณผลลัพธ์ของ 100 บล็อกแรกต่อครั้ง
* คำนวณผลลัพธ์ของ 50 บล็อกล่าสุดในแต่ละครั้ง
ในกรณีที่เลวร้ายที่สุด หากทุกๆ บล็อกในช่วง 150 บล็อกที่ผ่านมามีวันหมดอายุของคำสั่งซื้อขาย หมายความว่า TWAMM จะต้องดำเนินการหนึ่งรายการต่อหนึ่งบล็อก ซึ่งจะทำลายประสิทธิภาพแก๊ส
วิธีแก้ไขที่ง่ายที่สุดสำหรับปัญหานี้คือการจำกัดจำนวนบล็อกที่มีสิทธิ์หมดอายุของคำสั่งซื้อขาย ตัวอย่างเช่น TWAMM สามารถระบุได้ว่าคำสั่งซื้อจะหมดอายุทุกๆ 250 บล็อกเท่านั้น หรือทุกๆ ชั่วโมงโดยประมาณ
2.3 การยกเลิกคำสั่งซื้อระยะยาว
ผู้ใช้สามารถยกเลิกคำสั่งยืนเมื่อใดก็ได้ ในทางปฏิบัติ สิ่งนี้จะช่วยให้ผู้ใช้สามารถเลือกเวลายกเลิกสำหรับคำสั่งซื้อของตนเองได้จนกว่าการบล็อกจะทำรายการคำสั่งซื้อให้เสร็จสมบูรณ์ ในกรณีนี้ ภาระการใช้ก๊าซในระบบจะไม่เพิ่มขึ้น เนื่องจากการยกเลิกทั้งหมดเป็นการตัดสินใจของผู้ใช้เอง ดังนั้นจึงต้องการให้ผู้ใช้จ่ายค่าก๊าซเอง
3. คณิตศาสตร์การค้าเสมือนจริง
3.1 คำจำกัดความ
สมมติว่ามีการสร้างบล็อก t ตั้งแต่ครั้งล่าสุดที่ TWAMM ทำธุรกรรมเสมือนใดๆ
เพื่อความง่าย ให้ถือว่าคำสั่งระยะยาวไม่หมดอายุ ดังนั้นกลุ่มที่ขาย X ขาย x_{rate} ต่อบล็อกสำหรับช่วงเวลาทั้งหมด และกลุ่มที่ขาย Y ขาย y_{rate} ต่อบล็อกสำหรับช่วงเวลาทั้งหมด
จากนั้นยอดรวมของ X ที่ขายในช่วงเวลานี้คือ tx_{rate} = x_{in} และยอดรวมของ Y ที่ขายในช่วงเวลานี้คือ ty_{rate}=y_{in}
ให้เราแสดงการสำรอง AMM ที่ฝังไว้ที่จุดเริ่มต้นของช่วงเวลาเป็น x_{ammStart} และ y_{ammStart} ตามลำดับ
3.2 สูตร
หลังจากประมวลผลธุรกรรมเสมือนทั้งหมดแล้ว AMM ที่ฝังไว้จะได้รับสินทรัพย์สำรอง X เป็น

ใน

จากสูตรผลิตภัณฑ์คงที่เรารู้

กลุ่มที่ขาย X ได้รับ Y ทั้งหมดที่ไม่ปรากฏใน AMM ที่ฝังตัว — กล่าวอีกนัยหนึ่ง

ชื่อเรื่องรอง

เวกเตอร์การโจมตีที่มีศักยภาพ
1. การโจมตีด้วยแซนวิช
1.1 คำอธิบาย
ในการโจมตีแบบแซนวิช Atticus ผู้โจมตีเห็นว่านักเทรด Trey กำลังจะซื้อขายบน AMM Atticus ได้ประโยชน์จากการส่งคำสั่งสองคำสั่ง ประกบคำสั่งของ Trey
ลองนึกภาพว่า Trey ส่งคำสั่งซื้อไปยัง AMM เพื่อซื้อ ETH ด้วย USDC และ Atticus ค้นพบคำสั่งซื้อในเวลานี้ ดังนั้น Atticus จึงวางคำสั่งซื้อก่อน Trey และซื้อ ETH บน AMM ทำให้ราคาสูงขึ้น Atticus กำลังสูญเสียเงินจากคำสั่งซื้อนี้ เนื่องจากเขากำลังชำระเงินให้กับ AMM และมีผลกระทบต่อราคา
เมื่อคำสั่งของ Trey ถูกดำเนินการ เขาต้องซื้อ ETH ในราคาที่สูงกว่าเนื่องจาก Atticus ดันราคาให้สูงขึ้น และในเวลานี้ ราคาคำสั่งจริงของ Trey ก็ถูกผลักขึ้นไปอีก
ตอนนี้ Atticus กำลังขาย ETH ของเขาคืนให้กับ AMM เนื่องจาก Trey ได้ผลักดันราคาของ AMM ตั้งแต่ที่ Trey ซื้อมา เขาจึงขายในราคาที่สูงกว่าที่เขาซื้อมา ดังนั้นเขาจึงสามารถทำกำไรได้
อย่างไรก็ตาม การโจมตีนี้สมเหตุสมผลสำหรับ Atticus หาก Atticus สามารถรับประกันได้ว่า Trey จะขาย ETH ของเขาคืนให้กับ AMM ทันทีหลังจากการซื้อ การโจมตีประเภทนี้เกิดขึ้นได้จริงหาก Atticus เป็นนักขุด ทำข้อตกลงกับนักขุด หรือใช้บริการเช่น Flashbots ภายในบล็อกที่กำหนด
1.2 คำสั่งแซนวิชและคำสั่งเสมือน
เมื่อมองแวบแรก คำสั่งซื้อเสมือนจริงดูเหมือนจะเสี่ยงต่อการโจมตีแบบแซนด์วิชเป็นพิเศษ เพราะทุกคนรู้ว่ากำลังจะมา
อย่างไรก็ตาม เนื่องจากมีการดำเนินการระหว่างบล็อกจำนวนหนึ่ง คำสั่งจึงถูกรักษาไว้ ผู้โจมตีคำสั่งจำลองที่ต้องการ "ตัด" TWAMM จะต้องแลกเปลี่ยนกับ AMM ที่ฝังไว้ที่ส่วนท้ายของบล็อก ซึ่งจะทำให้คำสั่งจำลองถูกดำเนินการในราคาที่ไม่ดีระหว่างบล็อก จากนั้นจึงเริ่มที่การซื้อขายบล็อกถัดไป ไปในทิศทางอื่น
ปัจจุบัน ไม่มีทางที่ผู้โจมตีจะรับประกันได้ว่าพวกเขาจะทำธุรกรรมเมื่อสิ้นสุดบล็อกที่กำหนดเท่านั้น เนื่องจากการโจมตีสามารถทำได้บนสมมติฐานว่าพวกเขาต้องทำธุรกรรมที่จุดเริ่มต้นของบล็อกถัดไปเท่านั้น ปัญหาอาจรุนแรงขึ้นเมื่อหลายบล็อกของค่าสูงสุดที่แยกได้ (MEV) กลายเป็นเรื่องปกติมากขึ้น และทำให้ผู้ค้าสามารถประกบระหว่างหลายบล็อกได้
2 การเปิดเผยข้อมูล
การแลกเปลี่ยนที่ใหญ่ที่สุดที่นักเทรดระยะยาวอาจพบใน TWAMM คือพวกเขาเผชิญกับความเสี่ยงของการรั่วไหลของข้อมูลเมื่อวางคำสั่ง "เปิดเผยต่อสาธารณะ" ซึ่งเป็นเรื่องยากที่จะหลีกเลี่ยงเนื่องจากธรรมชาติของ Ethereum
หากผู้ค้าวางคำสั่งยืนในขนาดใหญ่พอ ผู้ค้ารายอื่นอาจต้องการนำหน้าเขา/เธอและซื้อสินทรัพย์ใน AMM ที่ฝังตัวของ TWAMM และที่อื่น ๆ เพื่อขายคืนให้กับการแลกเปลี่ยนในภายหลังตามคำสั่งยืน Zhebin ดันราคาขึ้น .
เนื่องจากผู้ใช้สามารถยกเลิกคำสั่งซื้อขายได้ตลอดเวลา เราคาดว่าผู้ค้าที่ก้าวร้าวมากเกินไปซึ่งมีคำสั่งซื้อจำนวนมากจะถูกเอาเปรียบจากผู้ค้ารายอื่น ดังนั้นเราจำเป็นต้องควบคุมผลกระทบโดยรวมของการรั่วไหลของข้อมูล
2.1 ตัวอย่าง
ลองจินตนาการว่านักต้มตุ๋น Sally สังเกตเห็นโอกาสที่ล้ำหน้าใน TWAMM ณ จุดนี้ เธอสามารถซื้อ ETH มูลค่า 1 ล้านดอลลาร์จากผู้รวบรวมสภาพคล่อง ซึ่งส่งผลให้ราคาของตลาดทั้งหมดสูงขึ้น จากนั้นเธอสามารถวางคำสั่งซื้อขนาดใหญ่ในระยะยาวบน TWAMM เพื่อซื้อ $100,000 ใน ETH ทุกบล็อกใน 24 ชั่วโมงถัดไป
ชื่อเรื่องรอง
การใช้การอ้างอิง Python
ที่นี่ที่นี่ตรวจสอบการใช้งานการอ้างอิง Python ของ TWAMM
บน GitHubJupyter Notebook แสดงให้เห็นถึงพฤติกรรมของ TWAMM ซึ่งมีคำสั่งระงับที่ถูกยกเลิกหลายรายการและพฤติกรรมการดำเนินการของอนุญาโตตุลาการ
สรุปแล้ว
สรุปแล้ว
เราได้ร่างกรอบการออกแบบสำหรับ TWAMM แล้ว แต่งานของเราเพิ่งเริ่มต้นเท่านั้น
หากคุณสนใจที่จะแก้ไขปัญหานี้หรือปัญหาที่คล้ายกัน คุณสามารถติดต่อ Uniswap Labs ทางอีเมลหรือ DM ทาง Twitter

