TWAMM: Ý tưởng mới để xử lý hiệu quả các đơn đặt hàng lớn trên Uniswap
Tổng quan
Người phiên dịch Odaily |

Tổng quan
Bài báo này giới thiệu một loại công cụ tạo thị trường tự động (AMM) mới có thể giúp các nhà giao dịch trên Ethereum thực hiện các lệnh lớn một cách hiệu quả.
Chúng tôi gọi nó là Nhà tạo lập thị trường bình quân gia quyền theo thời gian, viết tắt là TWAMM (phát âm là "tee-wham").
Giới thiệu
Giới thiệu
Giả sử Alice muốn mua ETH trực tuyến trị giá 100 triệu đô la, sẽ rất tốn kém để thực hiện một đơn đặt hàng có kích thước này trên một AMM hiện có như Uniswap, điều này nhằm ngăn Alice biết điều gì đó bên trong mà họ không biết, vì vậy nó phải tính cho Alice một khoản phí cao.
Giờ đây, lựa chọn tốt nhất của Alice là chia đơn đặt hàng của cô ấy thành nhiều phần theo cách thủ công và thực hiện chúng trong vòng vài giờ, giúp thị trường có thời gian nhận ra rằng cô ấy không có thông tin nội bộ và đưa ra mức giá tốt hơn cho cô ấy.
Nếu cô ấy gửi một số đơn đặt hàng phụ lớn, thì mỗi đơn đặt hàng vẫn có tác động đáng kể đến giá và dễ bị các nhà giao dịch đối nghịch tấn công. Mặt khác, nếu cô ấy gửi nhiều đơn đặt hàng phụ nhỏ, cô ấy sẽ phải đảm nhận tất cả công việc và rủi ro của giao dịch đang hoạt động, đồng thời sẽ trả cho người khai thác một khoản chi phí cao dưới dạng phí gas giao dịch.
tiêu đề phụ
Hai khái niệm cơ bản liên quan đến "tạo lập thị trường"
1. Nhà tạo lập thị trường
Hãy xem xét thị trường này có hai tài sản tài chính, chẳng hạn như USDC và ETH. Nhà tạo lập thị trường là người tham gia thị trường này và anh ta hy vọng có thể giao dịch bất kỳ tài sản nào với một tài sản khác vào bất kỳ lúc nào.
Nếu bạn có 100 triệu USDC và muốn sử dụng nó để mua ETH, bạn có thể không tìm được người khác muốn thực hiện giao dịch ngược lại cùng lúc. Thay vào đó, bạn có thể sẽ tham gia vào một thị trường bao gồm một hoặc nhiều nhà tạo lập thị trường và giao dịch với họ.
2. Lựa chọn bất lợi
Lợi nhuận mà các nhà tạo lập thị trường kiếm được từ chênh lệch thực tế là một khoản phí mà họ tính trên mỗi giao dịch. Họ mất tiền khi giá đi ngược lại với họ—khi họ mua một tài sản và giá giảm, hoặc bán một tài sản và giá tăng.
Thật không may cho các nhà tạo lập thị trường, giá có xu hướng di chuyển theo hướng ngược lại với hoạt động của họ, một hiện tượng được gọi là lựa chọn bất lợi. Điều này xảy ra bởi vì các nhà giao dịch được thông báo về biến động giá trong tương lai có nhiều khả năng thực hiện các giao dịch lớn với các nhà tạo lập thị trường.
tiêu đề phụ
Nhà tạo lập thị trường tự động
chữ
1. Công thức giao dịch không đổi
Công thức giao dịch không đổi là một quy tắc đơn giản cho phép bất kỳ ai cũng có thể tạo ngay một thị trường mới và một AMM mới cho một cặp tài sản mới.
Để tạo AMM giao dịch không đổi mới (CPAMM) giữa hai tài sản X và Y, người dùng được gọi là tiền gửi của Nhà cung cấp thanh khoản (LP) dự trữ x và y của hai tài sản này.
Tỷ lệ của các tài sản này tại bất kỳ thời điểm nhất định nào thể hiện giá tức thời trên AMM hoặc giá mà AMM tính cho một đơn đặt hàng rất nhỏ. Ví dụ: nếu CPAMM có 2.000 USDC và 1 ETH trong khoản dự trữ, thì giá ETH tức thời của nó sẽ là 2.000 USDC.
chữ
2. Ví dụ
Ví dụ: CPAMM của ETH/USDC có 2.000 USDC và 1 ETH trong dự trữ, vì vậy x = 2.000, y = 1, vì vậy x * y = k = 2.000. Giá tức thời của AMM này là 2.000/1 = 2.000 USDC mỗi ETH.
Nếu một nhà giao dịch mua ETH trị giá 2.000 USDC, điều đó có nghĩa là họ gửi 2.000 USDC vào X để dự trữ, vì vậy chúng ta sẽ có x = 2.000 + 2.000 = 4.000.
Sau đó, vì k = 2000, chúng ta phải nhận được y = x/k = 2000/4000 = 0,5 sau giao dịch. Vì y ban đầu là 1 nên 1 – 0,5 = 0,5 ETH phải được chuyển đến người giao dịch.
Vì các nhà giao dịch đã mua 0,5 ETH với 2000 USDC nên giá trung bình họ trả là 4.000 USDC cho mỗi ETH. Mức giá cao này so với giá tức thời phản ánh quy mô đơn đặt hàng lớn đối với tính thanh khoản của AMM.
3. Hiệu ứng giá và lựa chọn đối nghịch
Trong trường hợp trên, khi chi phí của một đơn đặt hàng nhỏ chỉ là 2.000 USDC mỗi ETH, nhà giao dịch phải trả một khoản phí 4.000 USDC mỗi ETH cho đơn đặt hàng lớn của mình. Sự khác biệt về giá này được gọi là tác động giá của đơn đặt hàng. Kích thước của đơn đặt hàng đến càng lớn thì tác động đến giá càng lớn.
tiêu đề phụ
Thực hiện các đơn đặt hàng lớn trên AMM hiện tại
1. Tách lệnh thủ công
Như chúng ta đã thấy, chi phí giao dịch khi thực hiện một đơn đặt hàng lớn trên AMM được đặt ở mức cao. Bài báo xuất sắc này đi sâu vào vấn đề và đề xuất một số giải pháp.
Nói tóm lại, các nhà giao dịch muốn thực hiện các lệnh lớn trên AMM không nên thực hiện chúng trong một giao dịch duy nhất: tốt hơn hết họ nên chia lệnh thành nhiều phần. Điều này có thể liên quan đến việc gửi đơn đặt hàng tới nhiều AMM cùng một lúc, nhưng những AMM đó cũng có tính thanh khoản hạn chế tại bất kỳ thời điểm nào. Theo thời gian, đơn hàng càng lớn thì việc chia nhỏ càng hợp lý.
Ví dụ: giả sử một nhà đầu tư muốn mua 100 triệu đô la ETH trên chuỗi, nhưng vì họ không có bất kỳ thông tin ngắn hạn nào về giá của ETH nên có thể mất một khoảng thời gian để thực hiện lệnh của họ. Trong trường hợp này, họ có thể chia đơn đặt hàng thành 10 đơn đặt hàng trị giá 10 triệu đô la mỗi đơn hàng và thực hiện chúng mỗi giờ, do đó làm giảm tác động giá của mỗi đơn hàng.
2. Đánh đổi quy mô đơn đặt hàng phụ
Rõ ràng, nếu một đơn đặt hàng rất lớn được chia thành nhiều phần, mỗi đơn đặt hàng phụ riêng lẻ sẽ vẫn lớn và có tác động giá tương ứng. Tại thời điểm này, việc chia đơn hàng thành các đơn hàng nhỏ hơn sẽ rất hữu ích, nhưng điều này sẽ đồng thời mang đến hai vấn đề mới.
Vấn đề đầu tiên là sự phức tạp trong hoạt động, có nghĩa là tăng rủi ro và khối lượng công việc. Một nhà giao dịch có thể chia nhỏ giao dịch của mình với số tiền sai hoặc chọn sai hướng. Mặt khác, máy tính của anh ta có thể bị sập để ngăn một số lệnh được thực hiện. Và ngay cả khi mọi thứ diễn ra tốt đẹp, thì quá trình này cũng cần có thời gian và công sức, điều này có thể ảnh hưởng đến nỗ lực của mọi người đối với những thứ có giá trị hơn.
tiêu đề phụ
Tương tự với tài chính truyền thống
Trong lĩnh vực tài chính truyền thống, nếu các nhà đầu tư hoặc tổ chức muốn mua 100 triệu USD cổ phiếu Apple, họ sẽ không trực tiếp gửi lệnh mua thị trường trị giá 100 triệu USD tới sàn giao dịch. Họ cũng không gửi 10 đơn đặt hàng trị giá 10 triệu USD. Việc chia một lệnh thành các lệnh phụ nhỏ hơn nhiều so với mức này là không thực tế đối với đại đa số những người không có cơ sở hạ tầng và nhân viên giao dịch chuyên dụng.
Thay vào đó, họ có khả năng gửi các đơn đặt hàng lớn cho một nhà môi giới, người sẽ thực hiện giao dịch thuật toán cho họ với một khoản phí. Nhà môi giới sẽ thực hiện giao dịch trong một khoảng thời gian xác định, chẳng hạn như tám giờ, với giá được tham chiếu theo một tiêu chuẩn nhất định. Nhà môi giới có một nhóm chuyên thực hiện các giao dịch như vậy một cách an toàn và tiết kiệm.
1. Lệnh TWAP
Có lẽ loại giao dịch thuật toán cơ bản nhất là giá trung bình theo trọng số thời gian hoặc lệnh TWAP (phát âm là "tee-whap"). Đúng như tên gọi của nó, nếu một lệnh TWAP trị giá 100 triệu USD đối với cổ phiếu Apple được thực hiện trong vòng tám giờ, thì cuối cùng lệnh này sẽ được giao dịch ở mức giá gần với giá trung bình theo thời gian của cổ phiếu Apple trong khoảng thời gian đó.
Ví dụ: nếu cổ phiếu Apple được giao dịch ở mức 100 đô la trong 4 giờ và 120 đô la trong 4 giờ còn lại trong khoảng thời gian đó, thì giá trung bình theo thời gian sẽ là (100 đô la * 4 + 120 đô la * 4)/8 = 110 đô la, nhà môi giới sẽ thực hiện TWAP lệnh gần với mức giá đó.
Mặc dù các chi tiết về cách thức hoạt động của giao dịch này khác nhau, nhưng các nhà môi giới rất có thể sẽ thực hiện giao dịch này bằng cách chia giao dịch thành nhiều phần nhỏ hơn và gửi chúng ra thị trường trong suốt cả ngày. Mua 100 triệu đô la cổ phiếu Apple trong 8 giờ tương đương với việc mua khoảng 350 đô la cổ phiếu Apple cứ sau 100 mili giây, điều mà tất cả chúng ta nên mong đợi một nhà môi giới thực hiện.
tiêu đề phụ
Nhà tạo lập thị trường bình quân gia quyền theo thời gian
Các nhà tạo lập thị trường bình quân gia quyền theo thời gian (TWAMM) cung cấp các đơn đặt hàng TWAP tương đương trên chuỗi. Với thuật toán logic độc đáo của riêng mình để tách đơn hàng và kết nối trực tiếp với các sàn giao dịch nhúng, TWAMM thực hiện các giao dịch trơn tru với phí gas thấp hơn. Đồng thời, các nhà kinh doanh chênh lệch giá sẽ điều chỉnh giá của sàn giao dịch nhúng TWAMM với giá thị trường, đảm bảo khớp lệnh quanh mức giá trung bình theo thời gian của tài sản.
1. Khái quát chung
Mỗi TWAMM tạo điều kiện thuận lợi cho các giao dịch giữa các cặp tài sản cụ thể, chẳng hạn như ETH và USDC.
TWAMM bao gồm một AMM nhúng, đây là công cụ tạo thị trường sản phẩm cố định tiêu chuẩn cho cả hai nội dung. Bất kỳ ai cũng có thể sử dụng AMM nhúng này để giao dịch bất cứ lúc nào như thể đó là một AMM thông thường.
Các nhà giao dịch có thể gửi các lệnh thường trực tới TWAMM, là các lệnh bán một lượng tài sản cố định cho một số khối cố định — ví dụ: lệnh bán 100 ETH trong 2.000 khối tiếp theo.
TWAMM phân tách các lệnh thường trực này thành vô số các lệnh phụ ảo nhỏ vô hạn sẽ được giao dịch với AMM được nhúng với tốc độ đồng đều theo thời gian. Xin lưu ý rằng việc xử lý riêng lẻ các giao dịch đặt hàng phụ ảo này sẽ tiêu tốn một lượng xăng vô hạn, nhưng toán học khép kín chỉ cho phép chúng tôi tính toán tác động tích lũy của chúng khi cần thiết.
Theo thời gian, việc thực hiện các lệnh thường trực sẽ đẩy giá của AMM nhúng ra khỏi giá của các thị trường khác. Khi điều này xảy ra, các nhà kinh doanh chênh lệch giá sẽ giao dịch với giá AMM được nhúng, giữ cho nó phù hợp, đảm bảo thực hiện tốt các lệnh dài hạn.
Nếu việc bán dài hạn làm cho ETH trên AMM được nhúng rẻ hơn so với một sàn giao dịch tập trung cụ thể, thì những người kinh doanh chênh lệch giá sẽ mua ETH từ AMM được nhúng và bán nó trên sàn giao dịch tập trung để kiếm lợi nhuận khi giá của nó phục hồi.
2. Cập nhật Ethereum
2.1 Khối
Ethereum gói các giao dịch thành các khối liên tiếp, còn được gọi là khối, xảy ra khoảng 13 giây một lần. Trong bài viết này, chúng tôi sẽ đánh số theo từng khối: khối 1 tiếp theo khối 2, rồi khối 3, v.v.
2.2 Thợ mỏ
Các nhóm công cụ khai thác phi tập trung cạnh tranh để xử lý từng khối và bất kỳ ai có kết nối internet đều có thể trở thành công cụ khai thác. Điều này có nghĩa là việc chạy một chương trình như AMM trên Ethereum không phải là bí mật: mọi người phải tính toán chính xác những gì sẽ được tạo ra với các đầu vào.
2.3 Phí gas
Sức mạnh tính toán là một nguồn tài nguyên khan hiếm trên Ethereum, vì vậy người dùng phải trả tiền cho những người khai thác dưới dạng phí gas. Càng nhiều tính toán liên quan đến một giao dịch nhất định, nó càng tiêu tốn nhiều gas. Và phí gas này được trả hoàn toàn bởi người gửi giao dịch.
3. Khái niệm thiết kế giao dịch cơ bản
3.1 Lệnh thường trực
Alice muốn mua ETH trị giá 100 triệu USDC trong vòng 8 giờ tới, tương đương khoảng 2.000 khối. Cô ấy nhập một lệnh thường trực trong TWAMM để mua 2.000 khối ETH trị giá 100 triệu USDC, tương đương 50.000 USDC mỗi khối.
Như đã đề cập ở trên, chúng tôi không biết trước thợ mỏ nào sẽ xử lý các giao dịch trong tương lai này trên TWAMM. Điều này cũng có nghĩa là đơn đặt hàng của Alice phải được hiển thị cho tất cả mọi người, dẫn đến vấn đề rò rỉ thông tin mà chúng ta sẽ thảo luận bên dưới.
3.2 Nhóm lệnh
Giả sử Bob muốn bán 500 ETH với giá USDC trong 5.000 khối tiếp theo, tương đương với việc bán 0,1 ETH mỗi khối.
Và Charlie muốn bán 100 ETH với giá USDC trong 2.000 khối tiếp theo, tức là bán 0,05 ETH mỗi khối.
Ngay sau khi đơn đặt hàng của Charlie hết hạn trong vòng 2.000 khối, các đơn đặt hàng của Bob và Charlie được kết hợp trong một nhóm.
Nhóm bán ETH này sẽ bán ETH với giá 0,15 ETH mỗi khối cho 2.000 khối tiếp theo. Bob sẽ có thể nhận được 66% số USDC kiếm được từ nhóm khai thác (0,1/0,15 ≈ 66%); Charlie sẽ nhận được 33% số USDC kiếm được từ nhóm khai thác (0,05/0,15 ≈ 33%).
3.3 Đơn hàng ảo
Đối với 2.000 khối tiếp theo, TWAMM phải mua ETH trị giá 50.000 USDC thay mặt Alice và bán 0,15 ETH bằng USDC thay mặt nhóm bán ETH.
Chúng ta có thể tưởng tượng rằng TWAMM chia hai đơn đặt hàng phụ này thành hàng nghìn tỷ đơn đặt hàng phụ của các đơn đặt hàng phụ nhỏ, mà chúng ta gọi là các đơn đặt hàng ảo (thực ra, nó chia chúng thành vô số đơn đặt hàng ảo vô hạn).
TWAMM sau đó lần lượt thực hiện các lệnh ảo này đối với AMM được nhúng của nó: đầu tiên là lệnh ảo của Alice, sau đó là lệnh từ nhóm bán hàng ETH, sau đó là lệnh khác của Alice, v.v.
3.4 Kinh doanh chênh lệch giá
Bởi vì Alice đã mua nhiều ETH hơn so với nhóm ETH đã bán, giá ETH trên AMM được nhúng sẽ tăng lên sau mỗi khối.
Khi mức giá này đủ cao so với giá ETH ở những nơi khác, các nhà kinh doanh chênh lệch giá sẽ mua ETH rẻ hơn trên các sàn giao dịch khác và bán nó trên AMM nhúng, đưa giá của chúng phù hợp với mức trung bình của thị trường và đảm bảo các lệnh Alice thực hiện tốt hơn. '
3.5 Hết hạn đặt hàng
Sau khối 2.000, lệnh của Alice sẽ được thực hiện đầy đủ, cũng như lệnh của Charlie. Lệnh bán ETH của Bob vẫn có hiệu lực trong 3.000 khối tiếp theo, trong thời gian đó TWAMM sẽ tiếp tục thực hiện với tốc độ 0,1 ETH mỗi khối.
Nếu không có bất kỳ hoạt động bên ngoài nào khác, theo thời gian, điều này sẽ buộc giá ETH trên AMM được nhúng thấp hơn và cũng sẽ cho phép các nhà kinh doanh chênh lệch giá phục hồi sau khi họ thoát khỏi giá.
3.6 Nền kinh tế mã thông báo
Bởi vì cả Alice, Bob và Charlie đều không háo hức thực hiện lệnh của họ, những người tham gia thị trường khác có thể suy luận rằng lệnh của họ đại diện cho lựa chọn bất lợi ít hơn so với trường hợp khác và có thể cung cấp cho họ khả năng thực hiện tác động đến giá thấp.
chữ
4. Đơn đặt hàng ảo vô hạn
Chúng tôi đã đề cập ở trên rằng TWAMM chia các đơn đặt hàng dài hạn thành các đơn đặt hàng phụ nhỏ vô hạn. Điều này được thực hiện vì hai lý do: trôi chảy và hiệu quả.
4.1 Lưu loát
Mục tiêu chính của TWAMM là thực hiện các lệnh dài hạn một cách suôn sẻ theo thời gian để chúng có thể được thực hiện ở mức giá gần với giá trung bình theo thời gian hiện hành.
Khi chúng tôi giảm kích thước của các giao dịch ảo, chuyển động giá trên AMM trở nên mượt mà hơn.
Trong những trường hợp cực đoan, chuyển động giá rất trơn tru khi thực hiện các giao dịch ảo do có vô số giao dịch nhỏ vô hạn.

4.2 Hiệu quả
thực hiện
thực hiện
1. Đánh giá lười biếng
TWAMM coi các đơn đặt hàng phụ ảo diễn ra trong không gian giữa các khối, điều này rất quan trọng để tránh các cuộc tấn công kiểu sandwich.
Để đạt được điều này theo cách tiết kiệm gas, TWAMM sử dụng phương pháp đánh giá chậm, chỉ tính toán tác động của một giao dịch ảo khi cần xác định kết quả của một tương tác.
Mỗi khi người dùng tương tác với TWAMM (ví dụ: bằng cách đặt giao dịch bằng cách sử dụng AMM được nhúng hoặc thêm một lệnh tạm thời mới), TWAMM sẽ tính toán tác động của tất cả các giao dịch ảo đã xảy ra kể từ lần tương tác cuối cùng.
Do các giao dịch ảo này chỉ tương tác với AMM được nhúng của TWAMM, nên hành vi của TWAMM hoàn toàn mang tính quyết định giữa các tương tác bên ngoài. Ngay cả khi TWAMM đã di chuyển 1 triệu khối giữa các tương tác bên ngoài, thì lần tiếp theo khi ai đó tương tác với nó, nó vẫn có thể tính toán chính xác kết quả của tất cả các giao dịch ảo can thiệp.
Đối với các giao diện người dùng cắm vào TWAMM, các giao dịch ảo chưa được thể hiện trên chuỗi có thể được xử lý bằng cách theo dõi số khối hiện tại và tự thực hiện các phép tính TWAMM.
2. Tối ưu hóa gas
2.1 Đơn đặt hàng tổng hợp
Như ví dụ cho thấy, khi chúng tôi có nhiều lệnh thường trực trong cùng một hướng giao dịch (tức là bán ETH lấy USDC), chúng tôi gộp chúng lại với nhau và sau đó chia chúng thành các lệnh ảo. TWAMM sau đó có thể sử dụng một thuật toán để theo dõi số dư, cùng một phiên bản của thuật toán theo dõi hàng tỷ đô la ưu đãi mã thông báo LP trong các giao thức như Compound và Uniswap.
Về mặt kỹ thuật, mỗi TWAMM luôn có hai nhóm đặt hàng dài hạn, một nhóm cho mỗi tài sản: ví dụ: nhóm đặt hàng để bán USDC và nhóm đặt hàng để bán ETH. Điều đáng nói là tại bất kỳ thời điểm nào, một hoặc cả hai nhóm lệnh này có thể trống.
2.2 Hết hạn đặt hàng dài hạn
Một sự phức tạp phát sinh khi sử dụng tổng hợp đơn đặt hàng với đánh giá lười biếng.
Hãy tưởng tượng rằng Bob đặt lệnh bán 100 ETH trong 100 khối tiếp theo và Charlie cũng đặt lệnh bán 200 ETH trong 200 khối tiếp theo, cả hai lệnh đều được bán với giá 1 ETH mỗi khối.
Giả sử không có ai tương tác với TWAMM trong 150 khối tiếp theo, tại thời điểm đó, một tương tác bên ngoài mới sẽ xảy ra. Trong 100 khối đầu tiên sau khi Bob và Charlie đặt hàng, các đơn đặt hàng của họ sẽ được gộp thành một đơn đặt hàng chung bán 2 ETH mỗi khối. Tuy nhiên, đối với 50 khối tiếp theo, đơn đặt hàng của Charlie trở nên độc lập và chỉ bán 1 ETH cho mỗi khối.
Điều này có nghĩa là chúng ta phải thực hiện hai phép tính giao dịch riêng biệt để tìm hiểu điều gì đã xảy ra:
* Tính toán kết quả của 100 khối đầu tiên tại một thời điểm;
* Tính toán kết quả của 50 khối cuối cùng tại một thời điểm.
Trong trường hợp xấu nhất, nếu mọi khối trong 150 khối trước đó hết hạn đặt hàng, điều đó có nghĩa là TWAMM sẽ phải xử lý một giao dịch trên mỗi khối, làm giảm hiệu quả sử dụng gas.
Giải pháp đơn giản nhất cho vấn đề này là giới hạn số khối đủ điều kiện để hết hạn đơn đặt hàng: ví dụ: TWAMM có thể chỉ định rằng các đơn đặt hàng chỉ hết hạn sau mỗi 250 khối hoặc khoảng mỗi giờ.
2.3 Hủy Đơn Đặt Hàng Dài Hạn
Người dùng có thể hủy đơn đặt hàng thường trực bất cứ lúc nào. Trên thực tế, điều này sẽ cho phép người dùng chọn thời gian hủy cho các đơn đặt hàng của riêng họ cho đến khi khối hoàn thành giao dịch đặt hàng. Trong trường hợp này, gánh nặng gas đối với hệ thống không tăng lên, vì tất cả các lần hủy là do người dùng tự quyết định và do đó yêu cầu họ phải tự trả tiền gas.
3. Toán thương mại ảo
3.1 Định nghĩa
Giả sử t khối đã được tạo kể từ lần cuối cùng TWAMM thực hiện bất kỳ giao dịch ảo nào.
Để đơn giản, giả sử không có đơn đặt hàng dài hạn nào hết hạn, do đó nhóm bán X bán x_{rate} mỗi khối trong toàn bộ khoảng thời gian và nhóm bán Y bán y_{rate} mỗi khối trong toàn bộ khoảng thời gian.
Sau đó, tổng số lượng X đã bán trong khoảng thời gian này là tx_{rate} = x_{in} và tổng số lượng Y đã bán trong khoảng thời gian này là ty_{rate}=y_{in}.
Hãy để chúng tôi biểu thị dự trữ AMM được nhúng vào đầu khoảng thời gian lần lượt là x_{ammStart} và y_{ammStart}.
3.2 Công thức
Sau khi xử lý tất cả các giao dịch ảo, AMM được nhúng sẽ nhận được tài sản dự trữ X dưới dạng

TRONG

Từ công thức tích hằng số, ta biết

Nhóm bán X nhận được tất cả Y không xuất hiện trong AMM được nhúng — nói cách khác,

tiêu đề phụ

vectơ tấn công tiềm năng
1. Tấn công bánh sandwich
1.1 Mô tả
Trong cuộc tấn công bánh sandwich, kẻ tấn công Atticus thấy rằng nhà giao dịch Trey sắp giao dịch trên AMM. Atticus kiếm được lợi nhuận bằng cách gửi hai đơn đặt hàng, song song với đơn đặt hàng của Trey.
Hãy tưởng tượng rằng Trey đã gửi một lệnh tới AMM để mua ETH bằng USDC và Atticus đã phát hiện ra lệnh này vào thời điểm này, vì vậy Atticus đã đặt lệnh trước Trey và mua ETH trên AMM, khiến giá tăng lên. Atticus đang mất tiền cho đơn đặt hàng này vì ông đang thanh toán AMM và có tác động đến giá.
Khi lệnh của Trey được thực hiện, anh ta phải mua ETH với giá cao hơn do bố Atticus đã đẩy giá lên, và lúc này giá lệnh thực tế của Trey còn bị đẩy lên cao hơn nữa.
Bây giờ, Atticus đang bán lại ETH của mình cho AMM. Vì Trey đã đẩy giá của AMM lên kể từ khi Trey mua nó, nên anh ấy thực sự đang bán với giá cao hơn so với giá mua, vì vậy anh ấy có thể kiếm được lợi nhuận.
Tuy nhiên, cuộc tấn công này chỉ có ý nghĩa đối với Atticus nếu Atticus có thể đảm bảo rằng Trey sẽ bán lại ETH của mình cho AMM ngay sau khi mua. Kiểu tấn công này thực sự có thể xảy ra nếu Atticus là người khai thác, thỏa thuận với người khai thác hoặc sử dụng dịch vụ như Flashbots trong một khối nhất định.
1.2 Thứ tự bánh sandwich và thứ tự ảo
Thoạt nhìn, các đơn đặt hàng ảo dường như đặc biệt dễ bị tấn công bởi bánh sandwich bởi vì mọi người đều biết rằng chúng sẽ đến.
Tuy nhiên, vì chúng được thực hiện giữa một số khối nhất định nên các lệnh được giữ nguyên. Kẻ tấn công đặt lệnh giả muốn "cắt" TWAMM sẽ phải giao dịch với AMM được nhúng ở cuối khối, điều này sẽ khiến lệnh giả được thực hiện ở mức giá thấp giữa các khối và sau đó bắt đầu ở giao dịch khối tiếp theo theo hướng khác.
Hiện tại, không có cách nào để kẻ tấn công đảm bảo rằng chúng sẽ chỉ giao dịch ở cuối một khối nhất định, vì cuộc tấn công chỉ có thể được thực hiện với điều kiện là chúng phải giao dịch ở đầu khối tiếp theo. Vấn đề có thể trở nên nghiêm trọng hơn khi nhiều khối có giá trị trích xuất tối đa (MEV) trở nên phổ biến hơn và cho phép các nhà giao dịch bị kẹp giữa nhiều khối.
2 Công bố thông tin
Sự đánh đổi lớn nhất mà các nhà giao dịch dài hạn có thể gặp phải trong TWAMM là họ phải đối mặt với nguy cơ rò rỉ thông tin khi đặt các lệnh "hiển thị công khai", điều này rất khó tránh do bản chất của Ethereum.
Nếu một nhà giao dịch đặt một lệnh thường trực có quy mô đủ lớn, các nhà giao dịch khác có thể muốn giao trước cho anh ta/cô ta và mua tài sản trong AMM nhúng TWAMM và ở nơi khác để sau đó bán lại cho sàn giao dịch khi một lệnh thường trực Zhebin đẩy giá lên .
Vì người dùng có thể hủy các lệnh thường trực của họ bất cứ lúc nào, chúng tôi cho rằng các nhà giao dịch quá hung hăng với các lệnh lớn sẽ bị các nhà giao dịch khác lợi dụng, do đó, chúng tôi cần kiểm soát tác động tổng thể của việc rò rỉ thông tin.
2.1 Ví dụ
Hãy tưởng tượng rằng kẻ lừa đảo Sally đã nhận thấy một cơ hội tích cực chạy trước trên TWAMM. Tại thời điểm này, cô ấy đã có thể mua 1 triệu đô la ETH từ công cụ tổng hợp thanh khoản, điều này đã đẩy giá của toàn bộ thị trường lên cao. Tuy nhiên, sau đó, cô ấy có thể đặt một đơn đặt hàng dài hạn lớn trên TWAMM để mua 100.000 đô la ETH mỗi khối trong 24 giờ tới.
tiêu đề phụ
Triển khai tham chiếu Python
đâyđâyKiểm tra triển khai tham chiếu Python của TWAMM.
trên GitHubJupyter Notebook Thể hiện hành vi của TWAMM, chứa nhiều lệnh thường trực bị hủy và hành vi hoạt động của các nhà kinh doanh chênh lệch giá.
Tóm lại là
Tóm lại là
Chúng tôi đã vạch ra khung thiết kế cho TWAMM, nhưng công việc của chúng tôi mới chỉ bắt đầu.
Nếu bạn quan tâm đến việc giải quyết vấn đề này hoặc các vấn đề tương tự, bạn có thể liên hệ với Uniswap Labs qua email hoặc DM trên Twitter.

