Bài viết này sẽ giới thiệu một số triển khai AMM quan trọng trong hệ sinh thái Solana , hy vọng có thể giúp ích cho NHÀ CUNG CẤP THANH KHOẢN(Nhà cung cấp thanh khoản) về cách lựa chọn chiến lược đầu tư của riêng họ.
Tác giả: ZAN Team
Tên gốc: Web3 Newbie Sê-Ri: Solana Ecosystem AMM Research
Bìa: Solana
Trong tình hình hiện tại của ngành công nghiệp Web3, các sản phẩm liên quan đến DeFi chiếm thị phần tuyệt đối. Trong đó số đó, AMM (Automated Market Nhà tạo lập thị trường) là mắt xích quan trọng và là động lực thúc đẩy mạnh mẽ những thay đổi trong tài chính Web3.
Bài viết này sẽ giới thiệu một số triển khai AMM quan trọng trong hệ sinh thái Solana , hy vọng có thể giúp ích cho NHÀ CUNG CẤP THANH KHOẢN(Nhà cung cấp thanh khoản) về cách lựa chọn chiến lược đầu tư của riêng họ.
CPMM
CPMM (Constant Product Market Maker) là triển khai AMM cơ bản nhất và được triển khai trong nhiều sản phẩm. Ở đây chúng tôi sử dụng AMM dựa trên sản phẩm liên tục do Raydium đưa ra làm ví dụ.
Một sản phẩm hằng số là sản phẩm mà lượng cung ứng hai token trong nhóm có sản phẩm cố định: X * Y = k.
Đối với nhà cung cấp thanh khoản, khi bất kỳ ai thêm thanh khoản(thêm tài sản) vào nhóm, CPMM sẽ tự động tạo một tài khoản liên kết cho địa chỉ ví và phát hành NHÀ CUNG CẤP THANH KHOẢN Token (mỗi token có NHÀ CUNG CẤP THANH KHOẢN Token Mint riêng). NHÀ CUNG CẤP THANH KHOẢN Token này được sử dụng để chứng minh rằng địa chỉ ví nắm giữ thị phần của nhóm và Token tương ứng sẽ đốt khi nhà cung cấp thanh khoản rút tiền.
Chương trình trên Chuỗi của CPMM được phát triển bằng Anchor và mã chương trình có thể được tìm thấy Raydium Raydium . Chúng ta hãy xác nhận ngắn gọn cách nó đạt được tích không đổi.
Đầu tiên, khi người dùng sử dụng CPMM của Raydium để trao đổi token, các hướng dẫn liên quan đến swap sẽ được kích hoạt. Ví dụ (chỉ nhằm mục đích minh họa, bài viết này không chịu trách nhiệm về bất kỳ token nào): khi người dùng muốn sử dụng USDC để trao đổi TRUMP, họ có thể trao đổi thông qua nhóm TRUMP-USDC.
| ao | Tổng thống Trump | USDC |
| 7XzVsjqTebULfkUofTDH5gDdZDmxacPmPuTfHa1n9kuh | 6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN | EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v |
Ví dụ, hãy xem giao dịch này ( https://solscan.io/tx/59moeTFTThdU8ogWBG5R5fUqa4UcoGpnSUcxQAEDsA3N8PuKcaqb1tDLJgexj5CG4PgyW2PUWfRmB1hhwxHg511w) . Để đơn giản, hãy bỏ qua các lệnh khác trong giao dịch và chỉ xem phần Raydium . Tìm Raydium CPMM: swapBaseInput:

Trong Input Accounts, chúng ta có thể thấy rằng token đầu vào là USDC và token đầu ra là TRUMP. Trong AMM của hệ sinh thái Solana , NHÀ CUNG CẤP THANH KHOẢN Pair có thể được biểu diễn đơn giản bằng Token Account, mà không cần tạo chương trình hợp đồng mới và triển khai nó (chẳng hạn như hợp đồng nhà máy thường được sử dụng trong Ethereum). Khi một giao dịch xảy ra, nó tương tác trực tiếp với Chương trình CPMM của Raydium . Chương trình Solana sẽ sửa đổi trạng thái của Token Account tương ứng thông qua địa chỉ nhóm đến, địa chỉ token, v.v. để thực hiện các hoạt động swap .
Ví dụ, mã cho lệnh swapBaseInput ở trên có thể được tìm thấy Raydium( Raydium ) . Sau sê-ri các lần kiểm tra trước, số lượng cụ thể token mục tiêu có thể được trao đổi được xác định bởi
ConstantProductCurve.swap_base_input_without_fees 中进行了计算: pub fn swap_base_input_without_fees( source_amount: u128, swap_source_amount: u128, swap_destination_amount: u128, ) -> u128 { // (x + delta_x) * (y - delta_y) = x * y // delta_y = (delta_x * y) / (x + delta_x) let numerator = source_amount.checked_mul(swap_destination_amount).unwrap(); let denominator = swap_source_amount.checked_add(source_amount).unwrap(); let destinsation_amount_swapped = numerator.checked_div(denominator).unwrap(); destinsation_amount_swapped }Công thức trong đó là:
(x+Δx)(y−Δy)=x⋅yTức là sau khi tổng số TokenX và TokenY thay đổi, tích của chúng phải không đổi. Bên trái của công thức là tích sau khi thay đổi, bên phải là tích trước khi thay đổi.

Sau khi chuyển đổi toán học, công thức trên có thể được chuyển đổi thành công thức chuyển đổi của Δy (tức là số lượng token y mà chúng ta có thể trao đổi)

Tức là phần delta_y = (delta_x * y) / (x + delta_x) trong mã. Lưu ý rằng phép tính ở đây không bao gồm phí xử lý, đã được khấu trừ trong pre-logic của swap_base_input.
CLM
CLMM (Concentrated Liquidity Market Maker) cũng là AMM do Raydium ra mắt. Nó tương tự như Uniswap V3. Mỗi token cũng có nhiều mức phí và có thể tạo một nhóm tương ứng cho mỗi mức phí.
Vì việc triển khai CLMM tham khảo đến Uniswap V3, khi học về nó, nhiều khái niệm và phương pháp triển khai có thể tham khảo việc triển khai Uniswap . Nó cũng kế thừa các khái niệm Uniswap như tick, nhiều tầng phí, thanh khoản tập trung, v.v. Có thể tìm thêm nội dung trong khóa học phát triển DEX do ZAN khởi xướng: https://zan.top/web3/resources/courses/dapp-advanced/ Uniswap-Code-Analysis---How- Uniswap -works-20240511
Tuy nhiên, cần lưu ý rằng, tương tự như CPMM, do đặc điểm của Chuỗi Solana , Raydium CLMM không cần triển khai hợp đồng riêng cho từng nhóm, do đó không có khái niệm về hợp đồng nhà máy. Điều này khác với Uniswap.
CLMM cho phép nhà cung cấp thanh khoản chọn phạm vi giá khi bơm tiền và tiền sẽ chỉ được phân phối trong phạm vi đã chọn:

Đối với các nhóm thanh khoản tập trung, token tồn tại ở cả hai phía của giá hiện tại. Phạm vi giá được chọn trong hình trên bao gồm giá hiện tại, do đó, tiền sẽ được phân bổ cho hai token trong nhóm.
Chúng ta cũng có thể chỉ tiêm một loại token để cung cấp cái gọi là thanh khoản một chiều (như được hiển thị bên dưới). Điều này có phần giống với lệnh giới hạn trong mô hình tài chính truyền thống. Quỹ NHÀ CUNG CẤP THANH KHOẢN sẽ chỉ được sử dụng khi giá token đạt đến một phạm vi nhất định, nhưng mô hình này cũng có nhiều điểm rủi ro hơn cần xem xét.

Nói chung, đối với các nhóm có biến động giá nhỏ, NHÀ CUNG CẤP THANH KHOẢN có xu hướng chọn phạm vi nhỏ hơn; ngược lại, đối với các nhóm có biến động giá rất lớn, LP có xu hướng chọn phạm vi lớn hơn. Mục đích của việc này là cố gắng không để giá hiện tại lệch khỏi phạm vi giá bạn chọn, gây ra quá nhiều Tổn thất tạm thời.
Cần lưu ý rằng mặc dù thanh khoản tập trung có thể làm cho tỷ lệ sử dụng quỹ của NHÀ CUNG CẤP THANH KHOẢN cao hơn, nhưng nó cũng đặt ra yêu cầu cao hơn đối với nhận thức tài chính của NHÀ CUNG CẤP THANH KHOẢN . NHÀ CUNG CẤP THANH KHOẢN cần quản lý thanh khoản của chính mình một cách chủ động hơn. Nếu NHÀ CUNG CẤP THANH KHOẢN không phản ứng hiệu quả, những biến động thường xuyên trên Chuỗi sẽ dễ dàng khiến NHÀ CUNG CẤP THANH KHOẢN phải chịu Tổn thất tạm thời nghiêm trọng.
ĐỒNG HỒ ...
DLMM (Dynamic Liquidity Market Maker) là sản phẩm AMM do Meteora ra mắt. Đây cũng là một loại Uniswap V3. Nó rất giống với CLMM được đề cập ở trên. DLMM cũng cho phép NHÀ CUNG CẤP THANH KHOẢN tập trung tiền của họ trong một phạm vi nhất định gần với giá hiện tại. Tuy nhiên, DLMM có phần khác biệt về cách triển khai cụ thể và cung cấp một số tính năng đặc biệt.
DLMM cung cấp khái niệm Bin. Pool sẽ bắt đầu từ giá cơ sở và tồn tại như một Bin mỗi bước Bin nhỏ. Nếu giao dịch xảy ra trong cùng một Bin, nhà giao dịch sẽ được hưởng mức trượt giá bằng không. Điều này có thể làm tăng đáng kể khối lượng giao dịch và tỷ lệ thành công của giao dịch. Về lý thuyết, NHÀ CUNG CẤP THANH KHOẢN có thể kiếm được nhiều phí giao dịch hơn.

Tương tự như CLMM, token trong nhóm cũng được phân phối ở cả hai phía của giá hiện tại và một token chỉ cần cung cấp thanh khoản đơn phương. Tuy nhiên, theo khái niệm Bin, Bin hiện đang được kích hoạt (biểu thị giá trao đổi hiện tại) có hai token . Đó là:
- Bin hiện đang được kích hoạt: Có hai token trong đó . Việc hoán đổi token trong Bin hiện tại sẽ được thực hiện ở mức giá cố định với 0 trượt giá;
- Các thùng khác: Được phân bổ ở cả hai bên của thùng hiện đang được kích hoạt, mỗi bên chỉ có một token duy nhất.
Khi số lượng token trong Bin đang được kích hoạt thay đổi, nếu token giảm xuống 0, DLMM sẽ đặt Bin đang được kích hoạt thành Bin tiếp theo bên trái hoặc bên phải theo tình hình thực tế trong nhóm, do đó thúc đẩy thay đổi giá trong nhóm.
Khi NHÀ CUNG CẤP THANH KHOẢN cung cấp thanh khoản, DLMM cung cấp 3 chiến lược: Giao ngay, Đường cong và Giá mua bán

- Trong đó, Spot là phổ biến nhất và về cơ bản tất cả các nhóm thanh khoản đều phù hợp. Nó được coi là chiến lược thanh khoản đơn giản nhất.
- Curve phù hợp hơn với các nhóm có mức thay đổi giá rất nhỏ, chẳng hạn như các cặp stablecoin. Biến động giá trong các nhóm này rất nhỏ, như hình dạng của nó cho thấy, việc tập trung các quỹ NHÀ CUNG CẤP THANH KHOẢN trong phạm vi này có thể tối đa hóa phí giao dịch.
- Bid Ask phù hợp hơn với các nhóm có biến động giá rất lớn. Mọi người có xu hướng thực hiện nhiều giao dịch chênh lệch giá hơn trong các nhóm như vậy và giá có thể khó tập trung trong một phạm vi nhỏ. Chiến lược này thường yêu cầu nhà cung cấp thanh khoản phải thường xuyên điều chỉnh vị thế của mình để ngăn giá lệch khỏi phạm vi tài trợ mà họ đặt ra. Điều này thường không dễ dàng vì nó liên quan đến phán đoán thị trường.
Tóm tắt
Là một phần quan trọng của lĩnh vực tài chính Web3, AMM thúc đẩy sự phổ biến và phát triển của tài chính phi tập trung thông qua các cơ chế và cải tiến độc đáo của mình. Với sự tiến bộ liên tục của công nghệ và hoàn thiện của hệ sinh thái, AMM dự kiến sẽ đóng vai trò lớn hơn trong tương lai và thay đổi hơn nữa bối cảnh tài chính truyền thống.
Tuyên bố miễn trừ trách nhiệm: Là một nền tảng thông tin blockchain, các bài viết được đăng trên trang web này chỉ đại diện cho quan điểm cá nhân của tác giả và khách mời, và không liên quan gì đến vị trí của Web3Caff. Thông tin trong bài viết chỉ mang tham khảo và không cấu thành bất kỳ lời khuyên hoặc đề nghị đầu tư nào. Vui lòng tuân thủ luật pháp và quy định có liên quan của quốc gia hoặc khu vực của bạn.
Chào mừng bạn tham gia cộng đồng chính thức Web3Caff : Tài khoản X (Twitter) | Nghiên cứu Web3Caff Tài khoản X (Twitter) | Nhóm độc giả WeChat | Tài khoản công khai WeChat





