Cách AMM định giá giao dịch: Giải thích công thức x*y=k

iconCoinrise
Chia sẻ
AI summary iconTóm tắt
Diễn biến giá ETH bị ảnh hưởng bởi cơ chế AMM, đặc biệt là công thức x*y=k được sử dụng trong các hồ thanh khoản. Khi một giao dịch được thực hiện, dự trữ của hồ sẽ thay đổi, gây ra trượt giá. Ví dụ: mua 1 ETH từ hồ 10 ETH / 20.000 USDC sẽ tốn 2.222,22 USDC. Các giao dịch lớn hơn làm tăng trượt giá, trong khi các hồ sâu hơn sẽ giảm nó. Các phiên bản Uniswap mới hơn sử dụng thanh khoản tập trung, thay đổi cách hoạt động của công thức này. Các stablecoin hưởng lợi từ đường cong giá phẳng hơn, như thấy trong thiết kế StableSwap của Curve. Người giao dịch cũng nên xem xét các altcoin cần theo dõi khi đánh giá xu hướng thị trường.

Một nhà tạo thị trường tự động không tiếp nhận các lệnh mua và bán từ người mua và người bán. Nó định giá giao dịch dựa trên một hồ chứa hai token bằng một công thức — phổ biến nhất là công thức sản phẩm hằng số, x*y=k, theo tài liệu của nhà phát triển Uniswap. Tỷ lệ dự trữ của hồ chứa xác định giá trước giao dịch, nhưng vì chính giao dịch làm thay đổi tỷ lệ đó, nên giá thực tế phải trả sẽ kém hơn so với giá được đưa ra ban đầu mỗi khi giao dịch không nhỏ so với quy mô hồ chứa.

Pool và công thức đang thực hiện gì

Một hồ thanh khoản là một hợp đồng thông minh giữ dự trữ của hai loại token — ví dụ: ETH và USDC — mà bất kỳ ai cũng có thể giao dịch trực tiếp, theo Uniswap Blog. Các nhà cung cấp thanh khoản nạp cả hai token với giá trị bằng nhau để khởi tạo hồ và thiết lập giá trị ban đầu của hằng số k, là tích của hai lượng dự trữ, theo Uniswap Blog. Từ điểm đó, mỗi lần hoán đổi đều phải giữ cho x nhân y bằng chính giá trị k đó. Tài liệu phát triển của Uniswap mô tả k là một bất biến phải giữ nguyên hoặc tăng lên sau mỗi giao dịch. Vì hai số dư dự trữ phải luôn nhân với nhau ra cùng một con số, nên việc rút một token ra khỏi hồ sẽ khiến token còn lại tăng lên để bù đắp, và sự thay đổi trong tỷ lệ này chính là yếu tố làm thay đổi giá.

Tính toán số học: mua 1 ETH từ cặp 10 ETH / 20.000 USDC

Blog của Uniswap đưa ra một ví dụ minh họa. Bắt đầu với một hồ chứa gồm 10 ETH và 20.000 USDC. Hằng số là 10 nhân 20.000, tức là 200.000. Tại điểm khởi đầu này, hồ chứa ngụ ý giá thị trường là 1 ETH tương đương 2.000 USDC.

Bây giờ, một nhà giao dịch mua 1 ETH. Dự trữ ETH trong pool giảm xuống còn 9. Để giữ hằng số ở mức 200.000, dự trữ USDC phải tăng lên 200.000 chia cho 9, tức là khoảng 22.222,22 USDC, theo tính toán của chính Uniswap Blog. Do đó, nhà giao dịch đã bỏ vào 22.222,22 trừ 20.000, hay 2.222,22 USDC, để nhận được 1 ETH. Giá hiệu quả mà họ trả cho ETH đã mua là 2.222,22 USDC — không phải mức 2.000 USDC mà pool đang niêm yết trước khi giao dịch.

Khoảng cách đó, 2.222,22 USDC so với báo giá ban đầu 2.000 USDC, được gọi là trượt giá. Đây không phải là phí và cũng không phải là sự cố kỹ thuật; đây là công thức đang hoạt động đúng chức năng của nó, điều chỉnh lại giá của pool khi nguồn dự trữ thay đổi. Blog của Uniswap ghi nhận rằng các giao dịch lớn hơn so với quy mô của pool sẽ gây ra trượt giá nhiều hơn, trong khi một pool có độ sâu lớn hơn sẽ hấp thụ cùng một giao dịch với mức biến động giá nhỏ hơn. Cùng một điểm này được nhấn mạnh trong tài liệu dành cho nhà phát triển của Uniswap, mô tả hiệu ứng này là tác động giá: các giao dịch lớn hơn so với độ sâu của pool sẽ làm thay đổi giá nhiều hơn, trong khi các giao dịch nhỏ hơn sẽ được thực hiện gần với giá thị trường hiện tại.

Blog của Uniswap cũng cung cấp một cách diễn giải đơn giản hơn dành cho người dùng cá nhân về cơ chế tương tự: một người dùng hoán đổi 100 USD giá trị USDC lấy ETH sẽ thấy tỷ giá được tính toán theo thời gian thực bởi công thức sản phẩm hằng số, và hợp đồng thông minh sẽ thu vào USDC và trả lại ETH trong một giao dịch duy nhất, đồng thời tái cân bằng hồ sơ trong quá trình thực hiện.

Nơi công thức đơn giản không còn áp dụng

Phép tính x*y=k ở trên mô tả một pool theo phong cách Uniswap v2, nơi thanh khoản được phân bố trên toàn bộ phạm vi giá có thể. Tài liệu phát triển của Uniswap cho biết rằng trong v3 và v4, công thức này chỉ áp dụng trong phạm vi giá do từng nhà cung cấp thanh khoản chọn — một thiết kế gọi là thanh khoản tập trung. Trong v3, vị thế của nhà cung cấp trong phạm vi đó được biểu diễn dưới dạng một token không thể hoán đổi ERC-721 thông qua một hợp đồng gọi là NonfungiblePositionManager; trong v4, các vị thế được theo dõi thông qua PositionManager sử dụng ERC-6909 để kế toán nội bộ, theo cùng tài liệu đó. Hệ quả thực tế là hai pool giao dịch cùng cặp tài sản, trên các phiên bản Uniswap khác nhau hoặc với các phạm vi thanh khoản khác nhau do các nhà cung cấp chọn, sẽ không di chuyển giá cùng một lượng cho một giao dịch giống nhau, dù cả hai đều được mô tả là chạy công thức sản phẩm hằng số.

Uniswap và Balancer đều thuộc một nhóm rộng hơn mà một bài báo năm 2020 của Guillermo Angeris và Tarun Chitra gọi là constant function market makers (CFMMs) — các nhà tạo thị trường tự động có quy tắc định giá là một hàm cố định của dự trữ hồ sơ, trong đó x*y=k là một ví dụ. Bài báo cùng chỉ ra rằng không phải mọi cặp tài sản nào cũng nên được định giá bằng đường cong cụ thể đó. Các stablecoin, vốn được neo vào khoảng $1 nhưng dao động trong một dải hẹp xung quanh mức này, được định giá hiệu quả hơn bằng một đường cong phẳng hơn gần mức neo, để phí giao dịch duy trì ở mức thấp khi cặp tài sản gần $1 và tăng lên khi nó lệch xa — một cách tiếp cận mà bài báo gán cho thiết kế StableSwap của Curve. Ý tưởng cơ bản giống với Uniswap — dự trữ và một bất biến xác định giá — nhưng hình dạng của đường cong, và do đó phép tính mà nhà giao dịch phải thực hiện, là khác nhau.

Thị trường này đã lớn đến mức nào

Bài báo của Angeris và Chitra, có ngày tháng tháng 3 năm 2020, đã đưa ra một số con số mô tả cảnh quan DeFi vào thời điểm đó. Bài báo nêu rằng các DEX lúc đó đang giữ khoảng 100 triệu USD tài sản kỹ thuật số bị khóa, với khối lượng giao dịch hàng ngày đôi khi vượt quá 10 triệu USD mỗi ngày. Một con số trong bài báo, được trích dẫn từ dữ liệu DeFi Pulse và có ngày 12 tháng 2 năm 2020, cho thấy các hợp đồng CFMM đang giữ 129,7 triệu USD, so với chỉ 0,721 triệu USD được giữ bởi các người tạo lệnh dựa trên LMSR như Augur và Gnosis. Bài báo cùng lúc ghi nhận rằng Uniswap được xây dựng với khoản tài trợ 100.000 USD từ Quỹ Ethereum, so với 24 triệu USD huy động được bởi 0x và 153 triệu USD huy động được bởi Bancor thông qua các đợt phát hành coin ban đầu, và nêu rõ rằng Uniswap đang giữ khoảng năm đến mười lần tổng thanh khoản của hai đối thủ cạnh tranh này tính đến thời điểm bài báo được viết. Những con số này mô tả một thị trường cách đây năm năm kể từ khi trang này được viết ra và chỉ hữu ích như một minh họa lịch sử về cách một AMM được thiết kế đơn giản đã vượt xa các giải pháp phức tạp hơn nhưng được tài trợ nặng nề hơn — chúng không nói gì về quy mô hiện tại của bất kỳ giao thức nào trong số này.

Điều mà trang này không nói với bạn

Trang này giải thích công thức sản phẩm hằng số được tài liệu hóa cho các pool kiểu Uniswap v2, sử dụng ví dụ số duy nhất có sẵn trong bằng chứng. Nó không đi sâu vào toán học về thanh khoản tập trung của Uniswap v3 hoặc v4, hay đường cong StableSwap được Curve sử dụng, vì không có nguồn nào được tham khảo ở đây cung cấp ví dụ có số thứ tự cho các trường hợp đó — chỉ có mô tả về cách chúng khác biệt.

Ví dụ 10 ETH / 20.000 USDC ở trên là không tính phí. Tài liệu phát triển của Uniswap cho biết phí hoán đổi được cấu hình theo từng pool và phiên bản giao thức, và có thể áp dụng phí giao thức khi được kích hoạt thông qua quản trị, nhưng không có nguồn nào được sử dụng ở đây nêu rõ tỷ lệ phí thực tế cho bất kỳ pool nào cụ thể, do đó mức giá thực hiện 2.222,22 USDC được tính ở trên sẽ cao hơn một chút trên một pool thực tế có tính phí.

Blog của Uniswap cảnh báo, mà không đưa ra con số cụ thể, rằng giá thực hiện cuối cùng của nhà giao dịch có thể thay đổi nhẹ so với báo giá ban đầu hiển thị trên màn hình, đặc biệt khi thanh khoản thấp hoặc hoạt động tăng đột biến. Không có nguồn nào được sử dụng ở đây giải thích cách các kỹ thuật như giao dịch sandwich tác động đến khoảng cách này trong giao dịch thực tế, ngoài lời cảnh báo chung đó.

Cuối cùng, các con số năm 2020 về tổng giá trị bị khóa và huy động vốn qua ICO là một bức ảnh chụp tại một thời điểm trong lịch sử thị trường, được xác định vào ngày 12 tháng 2 năm 2020 cho so sánh TVL và vào thời điểm xuất bản bài báo tháng 3 năm 2020 cho so sánh huy động vốn. Những con số này không nên được hiểu là các con số hiện tại cho Uniswap, 0x, Bancor hoặc thị trường DeFi rộng hơn.

Nguồn

Mỗi sự kiện trên đều được trích dẫn từ một trong những báo cáo này. Khi chúng khác nhau, bài viết đã nêu rõ.

Tuyên bố miễn trừ trách nhiệm: Thông tin trên trang này có thể được lấy từ bên thứ ba và không nhất thiết phản ánh quan điểm hoặc ý kiến của KuCoin. Nội dung này chỉ được cung cấp cho mục đích thông tin chung, không có bất kỳ đại diện hay bảo đảm nào dưới bất kỳ hình thức nào và cũng không được hiểu là lời khuyên tài chính hay đầu tư. KuCoin sẽ không chịu trách nhiệm về bất kỳ sai sót hoặc thiếu sót nào hoặc về bất kỳ kết quả nào phát sinh từ việc sử dụng thông tin này. Việc đầu tư vào tài sản kỹ thuật số có thể tiềm ẩn nhiều rủi ro. Vui lòng đánh giá cẩn thận rủi ro của sản phẩm và khả năng chấp nhận rủi ro của bạn dựa trên hoàn cảnh tài chính của chính bạn. Để biết thêm thông tin, vui lòng tham khảo Điều khoản sử dụng và Tiết lộ rủi ro của chúng tôi.