
Các nhà tạo lập thị trường tự động hoạt động như thế nào: định giá giao dịch hoán đổi với hàng tồn kho trên chuỗi
Các nhà tạo lập thị trường tự động (AMM) cho phép các nhà giao dịch hoán đổi token với một bể thanh khoản hợp đồng thông minh thay vì khớp lệnh trên sổ lệnh. Dự trữ của bể cơ học ngụ ý giá giao ngay, và giao dịch của bạn di chuyển những dự trữ đó dọc theo một đường cong làm xấu đi mức giá trung bình của bạn khi kích thước tăng lên.
Điểm chính
- Một nhà tạo lập thị trường tự động AMM báo giá một mức giá giao ngay từ tỷ lệ dự trữ của nó, vì vậy giá là hàng tồn kho chứ không phải là một “báo giá” từ sổ lệnh.
- Trong các bể sản phẩm không đổi, các giao dịch hoán đổi di chuyển bể dọc theo x*y=k, điều này đảm bảo tính thanh khoản nhưng làm cho giá thực hiện tồi tệ hơn giá giao ngay khi kích thước giao dịch tăng.
- Các nhà kinh doanh chênh lệch giá giữ cho giá AMM phù hợp với các thị trường bên ngoài, và việc cân bằng lại đó tạo ra thua lỗ tạm thời cho LP so với việc giữ.
- Thanh khoản tập trung cải thiện hiệu quả vốn bằng cách đặt thanh khoản trong một khoảng giá đã chọn, nhưng nó biến LP thành quản lý vị trí chủ động.
AMM là gì (và tại sao DEXs sử dụng nó thay vì một sổ lệnh)
“Các nhà tạo lập thị trường tự động hoạt động như thế nào” có thể được tóm gọn trong một ý tưởng thực tiễn: một hợp đồng thông minh giữ hai (hoặc nhiều) dự trữ token, và các nhà giao dịch hoán đổi với hàng tồn kho đó theo mức giá được ngụ ý bởi các dự trữ. Không cần phải tìm một đối tác trực tiếp. Bể là đối tác.
Thiết kế đó là một khối xây dựng cốt lõi của các sàn giao dịch phi tập trung vì các sổ lệnh trên chuỗi tốn kém và chậm so với các động cơ khớp tập trung. Việc sử dụng DeFi trong thế giới thực thường ưa chuộng các hệ thống có thể báo giá liên tục, làm sạch giao dịch một cách xác định và vẫn không cần sự cho phép.
Giải thích này là một phần của hướng dẫn rộng hơn về định nghĩa thực tiễn của tài chính phi tập trung, nơi AMM ngồi bên cạnh cho vay, stablecoins, và cầu nối như những nguyên tắc cốt lõi.
Mô hình tư duy chính là coi AMM như một động cơ rủi ro trực tiếp. Mỗi giao dịch hoán đổi là một sự thay đổi hàng tồn kho. “Giá” của bể không được khám phá bởi các giá thầu và yêu cầu. Nó được ngụ ý cơ học bởi những gì bể hiện đang nắm giữ, và các thị trường bên ngoài chỉ ảnh hưởng đến nó thông qua việc chênh lệch giá.
Cơ chế cốt lõi: bể thanh khoản, dự trữ và định giá dựa trên công thức
Một bể thanh khoản là một hợp đồng thông minh giữ dự trữ của token A và token B. Trong thiết kế phổ biến nhất, bể thực thi một quy tắc liên kết hai dự trữ.
Đối với các bể kiểu Uniswap v2, quy tắc đó là công thức sản phẩm không đổi: x*y=k, trong đó x và y là các dự trữ và k được dự định không giảm trong quá trình hoán đổi (bỏ qua cách mà phí làm thay đổi một chút con đường bạn giao dịch).Đây là nơi mà luận điểm “giá là hàng tồn kho” trở nên cụ thể. Trong một bể sản phẩm không đổi, giá giao ngay tức thời được ngụ ý bởi tỷ lệ dự trữ. Paradigm diễn đạt điều này trực tiếp là price_token_A = reserve_token_B / reserve_token_A. Speedrun Ethereum cũng định hình giá giao ngay là y/x tại điểm hiện tại trên đường cong. Vì vậy, nếu bể giữ 10 ETH và 20,000 USDC, giá giao ngay là 2,000 USDC cho mỗi ETH trước bất kỳ giao dịch nào.Một giao dịch hoán đổi cập nhật dự trữ và di chuyển bể dọc theo đường cong x*y=k. Các giao dịch lớn hơn đẩy bể xa hơn dọc theo đường cong đó, điều này tạo ra nhiều tác động giá hơn. Tác động giá đó không phải là một khoản phí do DEX tính. Nó là hệ quả cơ học của việc lấy hàng tồn kho ra khỏi một bể hữu hạn.
Công thức sản phẩm không đổi là gì
Công thức sản phẩm không đổi là quy tắc x*y=k được sử dụng bởi các nhà tạo lập thị trường sản phẩm không đổi (CPMMs). Ở đây, x là dự trữ của một token, y là dự trữ của token còn lại, và k là sản phẩm mà bể cố gắng giữ không giảm trong quá trình hoán đổi. Đây là bất biến AMM đơn giản nhất được sử dụng rộng rãi và là cơ sở để hiểu các bể kiểu Uniswap v2.
Trên thực tế, x*y=k tạo ra một đường cong nơi thanh khoản luôn có sẵn, nhưng giá biên trở nên tồi tệ hơn khi một bên của bể bị cạn kiệt. Khi dự trữ của token bạn muốn tiếp cận gần bằng không, giá ngụ ý tiếp cận vô cực, đó là lý do tại sao bể không thể bị “rút cạn” một cách sạch sẽ ở một mức giá cố định.
Ví dụ CPMM của MoonPay cho thấy cơ chế mà không cần tính toán. Một bể bắt đầu với 10 BTC và 250,000 USDT, vì vậy k=2,500,000. Nếu một nhà giao dịch thêm 50,000 USDT, dự trữ USDT của bể trở thành 300,000. Để giữ k không đổi, dự trữ BTC trở thành khoảng 8.33, có nghĩa là nhà giao dịch nhận được khoảng 1.67 BTC (10 - 8.33). “Vậy thì sao” là bể đã trả ít BTC hơn cho mỗi USDT so với tỷ lệ ban đầu vì giao dịch đã di chuyển bể dọc theo đường cong.
AMM thiết lập giá như thế nào
AMM thiết lập giá bằng cách báo giá từ các dự trữ, không phải bằng cách tổng hợp ý kiến từ các lệnh giới hạn. Đối với các bể sản phẩm không đổi, giá giao ngay là tỷ lệ dự trữ tại thời điểm đó. Câu tuyên bố của Paradigm price_token_A = reserve_token_B / reserve_token_A là cách dễ nhớ nhất.
Giá thứ hai quan trọng là giá thực hiện, đó là giá trung bình trên toàn bộ giao dịch hoán đổi. Speedrun Ethereum mô tả giá giao ngay như độ dốc tiếp tuyến (y/x) và giá thực hiện như đường secant giữa các điểm dự trữ bắt đầu và kết thúc. Các nhà giao dịch cảm nhận điều này như tác động giá, điều này tăng không tuyến tính với kích thước giao dịch so với độ sâu của bể.
Các thị trường bên ngoài vẫn quan trọng, nhưng gián tiếp. Nếu tỷ lệ dự trữ của bể ngụ ý một mức giá khác với các địa điểm tập trung hoặc các tuyến DEX khác, các nhà kinh doanh chênh lệch giá giao dịch với bể cho đến khi giá trên chuỗi được kéo trở lại gần với thị trường rộng hơn. Dòng chênh lệch giá đó là đối tác ẩn giữ cho giá AMM “trung thực.”
Cách một giao dịch hoán đổi được tính toán (với một ví dụ cụ thể)
Một giao dịch hoán đổi có các đầu vào và đầu ra đơn giản: bạn gửi amountIn của tokenIn đến bể, hợp đồng tính toán amountOut của tokenOut bằng cách sử dụng bất biến và quy tắc phí của bể, sau đó các dự trữ cập nhật đến số dư mới.
Speedrun Ethereum cung cấp công thức đầu ra điều chỉnh phí kiểu Uniswap được sử dụng trong nhiều CPMM: amountOut = (reserveOut
amountInWithFee) / (reserveIn + amountInWithFee), trong đó amountInWithFee = amountIn
0.997 cho một ví dụ phí 0.3%. Điểm thực tiễn là phí không chỉ thêm một khoản chi phí riêng biệt. Chúng thay đổi một chút đường cong mà bạn giao dịch bằng cách giảm đầu vào hiệu quả di chuyển các dự trữ.Ví dụ đã làm cho khoảng cách giữa giá giao ngay và giá thực hiện trở nên cụ thể. Với các dự trữ 10 ETH và 20,000 USDC, hoán đổi 1 ETH với phí 0.3% cho amountInWithFee = 0.997. Cắm vào công thức cho ra khoảng 1,814.6 USDC.
Giá ngụ ý bởi các dự trữ là 2,000 USDC cho mỗi ETH, nhưng giá thực hiện là khoảng 1,814.6 vì giao dịch đã đi dọc theo đường cong.Tại sao AMM cần nhà cung cấp thanh khoản
AMM cần nhà cung cấp thanh khoản vì hàng tồn kho của bể phải đến từ đâu đó. LP gửi token vào bể, và hợp đồng thông minh sử dụng những dự trữ đó để báo giá và thanh toán các giao dịch hoán đổi. Nếu không có vốn LP, AMM không thể cung cấp kích thước có ý nghĩa mà không có tác động giá cực lớn.
LP nhận được token LP đại diện cho phần của họ trong bể. Speedrun Ethereum mô tả toán học thanh khoản đầu tiên (token LP được đúc như sqrt(amount0 * amount1)) và lưu ý rằng các LP sau phải gửi vào tỷ lệ bể hiện tại để tránh làm biến dạng giá. Khi LP rút thanh khoản, họ đốt token LP và rút một phần tương ứng của cả hai dự trữ.
Điều quan trọng là LP không phải là những người cho vay thụ động. Họ đang bảo lãnh cho việc tái cân bằng của pool. Khi giá di chuyển bên ngoài, các nhà giao dịch chênh lệch sẽ giao dịch với pool để điều chỉnh lại nó, và sự pha trộn hàng tồn kho của pool sẽ thay đổi. Lợi nhuận của LP là một cuộc thi giữa thu nhập phí và chi phí để được tái cân bằng bởi arbitrage.
Các sự đánh đổi và rủi ro chính: trượt giá, tác động giá, tổn thất tạm thời và MEV
Đối với các nhà giao dịch, rủi ro chính là trượt giá, mà Speedrun Ethereum định nghĩa là sự khác biệt giữa giá dự kiến khi gửi giao dịch và giá thực hiện. Một phần trong đó là tác động giá của chính bạn từ việc di chuyển dự trữ. Một phần đến từ các giao dịch đang chờ khác được khai thác trước giao dịch của bạn, độ trễ mạng và các hành vi MEV như chạy trước và tấn công sandwich.
Giao diện DEX thường cho phép người dùng thiết lập mức độ chấp nhận trượt giá, và Speedrun Ethereum lưu ý rằng nếu việc thực hiện vượt quá ngưỡng đó, giao dịch có thể bị hoàn lại. Trong thực tế, mức độ chấp nhận trượt giá không chỉ là một "nút điều chỉnh độ biến động." Nó cũng là một biện pháp bảo vệ chống lại rủi ro sắp xếp giao dịch và MEV. Các mức độ chặt chẽ làm giảm khả năng có một giao dịch xấu, nhưng chúng tăng khả năng hoàn lại trong các khối di chuyển nhanh.
Đối với LP, rủi ro cốt lõi là tổn thất tạm thời, đó là sự kém hiệu suất so với việc chỉ giữ hai token khi giá tương đối của chúng phân kỳ. Speedrun Ethereum đưa ra công thức IL cho pool 50/50 và một ví dụ mà nếu ETH gấp đôi so với USDC, IL khoảng 5,7% so với việc giữ. Cơ chế quan trọng hơn nhãn.
Arbitrage là điều buộc pool phải bán người thắng và mua người thua khi giá bên ngoài di chuyển, và đó là lý do tại sao LP thường được mô tả là "ngắn biến động" trên giá tương đối.
Speedrun Ethereum cũng cảnh báo về việc sử dụng giá AMM như một oracle và gợi ý các tham chiếu TWAP hoặc kiểu Chainlink. Ý nghĩa thực tiễn là đơn giản: Giá AMM dễ dàng bị di chuyển với các giao dịch, vì vậy việc coi nó như một nguồn sự thật có thể biến một địa điểm hoán đổi thành một bề mặt tấn công.
Các AMM lớn nhất trong DeFi là gì
Các AMM lớn nhất trong DeFi thường là những địa điểm tập trung nhiều thanh khoản và luồng định tuyến nhất, vì độ sâu giảm tác động giá cho một kích thước giao dịch nhất định. Speedrun Ethereum nêu tên Uniswap, SushiSwap và Balancer là những ví dụ DEX dựa trên AMM cốt lõi.
MoonPay nổi bật Uniswap, Curve và Balancer là những DEX dựa trên AMM nổi bật. Nó cũng định hình Curve như một chuyên gia trong việc hoán đổi với trượt giá thấp cho stablecoin và Balancer như sử dụng các pool đa token. Điều quan trọng đối với người dùng là thiết kế AMM và độ sâu pool quan trọng như tên thương hiệu. Một pool sâu trên một địa điểm nhỏ hơn có thể vượt qua một pool nông trên một địa điểm nổi tiếng, vì giá thực hiện được xác định bởi dự trữ.
AMM cũng là một gia đình các thiết kế. Speedrun Ethereum so sánh sản phẩm không đổi (hoán đổi chung), tổng không đổi (x+y=k), trung bình không đổi (được sử dụng cho các pool đa tài sản), và các thiết kế hoán đổi ổn định lai nhắm vào trượt giá thấp cho các tài sản tương quan và quay trở lại hành vi CPMM khi các tài sản tách rời.
Thanh khoản tập trung là gì
Thanh khoản tập trung là ý tưởng kiểu Uniswap v3 rằng LP không cần phải cung cấp thanh khoản trên toàn bộ đường cong giá. Thay vào đó, họ phân bổ thanh khoản trong một khoảng giá đã chọn. Speedrun Ethereum mô tả điều này như là cải thiện hiệu quả vốn và tiềm năng phí vì nhiều thanh khoản được đặt ở nơi giao dịch thực sự xảy ra.
Sự đánh đổi là thanh khoản tập trung biến việc LP thành quản lý vị trí. Khi giá di chuyển ra ngoài khoảng đã chọn, vị trí trở nên một chiều, ngừng kiếm phí và thực sự ngồi như hàng tồn kho trong một tài sản duy nhất. Speedrun Ethereum lưu ý rằng điều này có thể làm tăng rủi ro tổn thất tạm thời so với thanh khoản toàn bộ kiểu v2.
Trong thực tế, thanh khoản tập trung thay đổi ý nghĩa của "trở thành một LP". Nó ít giống như gửi vào một pool thụ động và nhiều hơn như chọn nơi để trở thành nhà tạo lập thị trường. Việc chọn khoảng là một cược, và thu nhập phí phải bù đắp cho rủi ro bị đẩy ra khỏi khoảng.
AMM xử lý các giao dịch lớn như thế nào
AMM xử lý các giao dịch lớn bằng cách cho phép nhà giao dịch di chuyển xa hơn trên đường cong giá, đó chính là lý do tại sao các giao dịch lớn có giá thực hiện trung bình tồi tệ hơn. Speedrun Ethereum và Paradigm đều nhấn mạnh rằng các giao dịch lớn đẩy xa hơn trên x*y=k, làm tăng tác động giá. Pool vẫn sẽ báo giá, nhưng nó sẽ báo giá ngày càng tồi tệ hơn khi dự trữ bị cạn kiệt ở phía đầu ra.
Đây cũng là lý do tại sao "trượt giá" không chỉ là một điều kiện thị trường. Nó thường tự gây ra bởi việc giao dịch với kích thước có ý nghĩa so với độ sâu pool. MoonPay lưu ý rằng các giao dịch lớn so với kích thước pool có thể khiến giá thực hiện cuối cùng lệch khỏi giá thị trường tại thời điểm gửi, đó là định nghĩa thực tiễn về trượt giá mà các nhà giao dịch thực sự cảm nhận.
Các biến thể thiết kế AMM tồn tại chủ yếu để cải thiện hành vi giao dịch lớn cho các loại tài sản cụ thể. Speedrun Ethereum mô tả các thiết kế hoán đổi ổn định lai (như cách tiếp cận của Curve) nhắm đến trượt giá thấp cho các tài sản tương quan chặt chẽ, trong khi quay trở lại hành vi CPMM khi các tài sản tách rời. Câu cuối cùng đó là kiểm soát rủi ro chính. Pool cư xử "phẳng" gần như ngang giá, nhưng nó không thể hứa hẹn một mức giá cố định khi ngang giá bị phá vỡ.
Các biến thể thiết kế AMM và sự tiến hóa (khi toán học khác nhau được sử dụng)
"AMM" là một thuật ngữ bao trùm. Các pool sản phẩm không đổi chiếm ưu thế trong các hoán đổi đa mục đích, nhưng các bất biến khác tồn tại vì các thị trường khác nhau có các chế độ thất bại khác nhau. Speedrun Ethereum trình bày tổng không đổi (x+y=k) như một thiết kế có thể trông hấp dẫn cho các cặp ổn định, nhưng nó có một điểm yếu nghiêm trọng: nếu giá lệch khỏi 1:1, một bên có thể bị cạn kiệt.
MoonPay cũng mô tả tổng không đổi và lập luận rằng rủi ro trượt giá là thấp vì kích thước giao dịch không ảnh hưởng đến giá trao đổi của pool, trong khi vẫn cảnh báo về các mối quan tâm về thanh khoản cho các giao dịch lớn. Cả hai tuyên bố đều có thể đúng trong khung của chúng. Tổng không đổi có thể cảm thấy như trượt giá thấp gần mức neo, nhưng nó cũng có thể sụp đổ ra khỏi nó.
Các thiết kế trung bình không đổi hỗ trợ các pool đa tài sản và trọng số linh hoạt, đó là lý do tại sao các pool kiểu Balancer có thể hoạt động như các danh mục đầu tư trên chuỗi. Các thiết kế lai nhắm đến trường hợp sử dụng stablecoin bằng cách kết hợp các hành vi để giữ cho việc thực hiện chặt chẽ gần như ngang giá.
Trên tất cả các biến thể, cùng một dòng xuyên suốt vẫn giữ nguyên. Giá là hàng tồn kho, hoán đổi là sự chuyển dịch hàng tồn kho, và arbitrage là cơ chế thực thi kết nối giá pool trở lại với các thị trường bên ngoài. Đó là cầu nối thực tiễn trở lại với định nghĩa chính về DeFi, vì AMM không chỉ là "cống DEX." Chúng là một cách cụ thể để đóng gói thanh khoản, thực hiện và rủi ro vào một hợp đồng thông minh.
Nguồn
Speedrun Ethereum
Paradigm Research
Frequently Asked Questions
Sự khác biệt giữa giá giao ngay và giá thực hiện trong một AMM là gì?
Giá giao ngay là giá ngụ ý tức thời của pool từ tỷ lệ dự trữ của nó (thường được biểu thị dưới dạng y/x). Giá thực hiện là giá trung bình bạn nhận được trong toàn bộ giao dịch khi giao dịch của bạn di chuyển dự trữ dọc theo đường cong. Khoảng cách giữa chúng là tác động giá, và nó tăng lên khi kích thước giao dịch trở nên lớn so với thanh khoản của pool.
Tại sao xảy ra trượt giá trên các AMM kiểu Uniswap?
Trượt giá là sự khác biệt giữa giá dự kiến khi bạn gửi một giao dịch hoán đổi và giá bạn nhận được khi nó được thực hiện. Nó có thể đến từ tác động giá của chính bạn, các giao dịch khác được khai thác trước giao dịch của bạn, độ trễ mạng, và các hành vi MEV như chạy trước và tấn công sandwich. Nhiều DEX cho phép người dùng thiết lập mức độ chấp nhận trượt giá có thể hoàn lại giao dịch nếu việc thực hiện tệ hơn ngưỡng.
Điều gì gây ra tổn thất tạm thời cho các nhà cung cấp thanh khoản?
Tổn thất tạm thời là sự kém hiệu quả so với việc giữ các token khi giá tương đối của chúng phân kỳ. Khi giá bên ngoài di chuyển, các nhà giao dịch chênh lệch giá giao dịch chống lại pool để đưa giá ngụ ý của nó trở lại đúng hướng, điều này thay đổi sự pha trộn hàng tồn kho của pool. Việc cân bằng lại đó là nguồn gốc cấu trúc của tổn thất tạm thời, trong khi phí là yếu tố bù đắp chính.
Giá AMM có phải là giá oracle đáng tin cậy không?
Giá giao ngay của AMM không được thiết kế để trở thành oracle và có thể bị thao túng bởi các giao dịch. Speedrun Ethereum cảnh báo rõ ràng về việc sử dụng giá giao ngay như một oracle và chỉ ra các tham chiếu TWAP hoặc kiểu Chainlink thay thế. Đối với các nhà xây dựng, điều cần lưu ý thực tiễn là tách biệt việc thực hiện giao dịch hoán đổi khỏi các nguồn cấp giá.
Làm thế nào thanh khoản tập trung thay đổi rủi ro của LP?
Thanh khoản tập trung cho phép LP phân bổ thanh khoản trong các khoảng giá đã chọn, cải thiện hiệu quả vốn. Khi giá di chuyển ra ngoài khoảng, vị trí trở nên một chiều và ngừng kiếm phí. Điều đó biến LPing thành quản lý vị trí chủ động thay vì chỉ là một khoản tiền gửi đặt và quên.