Uniswap V3 có những sự thay đổi đáng kể để cái thiện thành khoản, một trong số đó là cung cấp thanh khoản trên một đoạn giá nhất định ( thanh khoản tập trung).

Điều này có thật sự tốt? Dường như mọi người quên mất rủi ro mà LP phải nghĩ đến đầu tiên khi cung cấp thanh khoản đó là Impermanent Loss(IL). Liệu IL sẽ thay đổi như thế nào với cơ chế thanh khoản tập trung Uniswap V3. Bài viết này sẽ khá là nhức não 1 chút, nhưng là lời giải xác đáng cho vấn đề này.
Ok, bây giờ hãy khởi động một chút với
Công thức tính Impermanent Loss ở V2
Đọc bài viết này trước để hiểu Impermanent Loss là gì và điều gì tạo nên IL. Trước khi đến với cách tính IL ở Uniswap V3, chúng ta sẽ cùng đi tìm công thức tổng quát của IL V2 trước.
Về cơ bản, đây là công thức của IL với k là hệ số thay đổi giữa tỷ lệ giá của 2 tài xản X và Y:

Bạn hoàn toàn có thể tin công thức này là đúng, tuy nhiên có 1 câu quote kinh điển trong crypto là: “Don’t trust. Verify”. Và với đúng tinh thần của 1 crypto researcher chân chính thì chúng ta sẽ cùng tìm xem công thức này có chính xác không.
Chúng ta có x là số lượng tài sản X, y là số lượng tài sản Y, Px là giá tài sản X và Py là giá tài sản Y tại thời điểm add liquidity. Như vậy chúng ta có 2 phương trình cơ bản:

Từ (2), ta có thể rút ra một tham số P là Giá của tài sản X theo tài sản Y:

Kết hợp (1) và (3) ta sẽ có công thức tính 2 biến x và y theo 2 tham số L và P:

Vì IL là sự chênh lệch giữa tài sản khi add liquidity so với hold, nên hiển nhiên để tính IL chúng ta cần biết tài sản sẽ thay đổi trước và sau khi add liquidity như thế nào

Ta sẽ có công thức tính là:

Công thức tính V0 chỉ phụ thuộc vào L và P, vì vậy khi giá của X và Y thay đổi, sẽ khiến P. Chúng ta sẽ có P’ là giá của tài sản X theo tài sản Y sau khi thay đổi – kèm theo 1 hệ số k.

Do đó, công thức tính V1 tương đương sẽ là:

Và chúng ta cũng có công thức tính Vhold – là giá trị tài sản nếu chỉ hold sau khi giá thay đổi.

Vì IL là sự chênh lệch giữa giá trị của tài sản khi add liquidity so với chỉ hold, sau khi có phân kỳ về giá giữa 2 tài sản, nên chúng ta sẽ có công thức tính IL là:

Thử kiểm tra 1 chút, Giả sử giá ETH lúc đầu là 400 DAI, sau đó tăng lên 1600 DAI (tương đương k= 4) và 800 DAI (tương đương k=2) thì IL (1,5)= -0,0202 và IL(4)= -0,2

Bây giờ đến V3
Cải tiến ở V3 đó là cho phép chúng ta add liquidity ở 1 khoảng giá nhất định, thay vì dàn trải trên toàn bộ đường giá.
Điều này hơi trừu tượng 1 chút. Đây là đồ thị đường cong giữa giá tài sản X và tài sản Y ở trên Uniswap V2.

Như bạn có thể thấy, việc swap có thể đưa giá tài sản X so với Y đến bất cứ điểm nào, tiệm cận về 0 khi sử dụng công thức cũ. Để tạo ra 2 chặn Min Price và Max Price – tạo ra khu vực giới hạn thanh khoản, Uniswap đã đưa công thức cơ bản x * y = hằng số trở thành:

Trong đó Pa là Min Price và Pb là Max Price khi cài đặt cung cấp thanh khoản.

Nó sẽ đưa đồ thị trực quan của khu vực cung cấp thanh khoản từ đường màu Xanh trở thành đường màu Cam. Và như bạn thấy, bây giờ đồ thị đã bị giới hạn.

Bởi vì miễn giá vẫn giao động trong khoảng Pa đến Pb, thì các cơ chế của V3 vẫn giống như V2 nên ta có công thức:

Trong đó x và y là số lượng tài sản X và Y nằm trong khu vực giá [Pa,Pb]. Từ công thức trên kết hợp với công thức mới ở V3 ta tính ra công thức 2 biến số x và y:

Và để tính IL chúng ta vẫn phải tính V0, V1 và Vhold:

Cuối cùng công thức tính IL[Pa,Pb](k) vẫn là: (V1-Vhold)/Vhold

Phương trình này có thể rút gọn hơn nữa thành:

Trong đó IL(k) là tổn thất vô thường đối với kiểu add liquidity V2, Pa là Min Price và Pb là Max Price, P là giá của X theo Y tại thời điểm add liquidity, k là hệ số thay đổi của P và P’ , P’ là giá của X theo Y tại thời điểm remove liquidity.
Một số kiểm chứng trực quan nhanh, nếu chúng ta cho Pa tiến đên 0 và Pb tiến đến dương vô cực thì IL[Pa,Pb](k)=IL(k) , có vẻ đúng.
Bây giờ chúng ta sẽ lấy 1 ví dụ để thử tính toán, giả sử Giá ETH lúc bạn add liquidity cho cặp ETH-DAI là 2000, set Min Price là 1000 và Max Price là 3000 thì khi giá ETH tăng lên 4000, tổn thất vô thường sẽ là bao nhiêu? Điều cần lưu ý là, bởi vì thanh khoản của bạn sẽ được ngừng cung cấp khi giá ETH thoát khỏi khu vực 1000 – 3000 nên cho dù ETH tăng lên 4000, tài sản của bạn sẽ được dừng cung cấp thanh khoản ở mức 4000.
Vậy ta có: Pa=1000, Pb=3000, P=2000 và k=2 ta sẽ có IL[1000,3000](2)= -0,2598 tương đương âm 25,98%
Trong cùng giả định đó, nếu bạn cung cấp thanh khoản cho toàn bộ nhóm giống như V2, IL(2)= -0,057, tương đương âm 5,78%.
Vậy bạn có suy nghĩ gì?
V3 cung cấp cho chúng ta khả năng cung cấp thanh khoản tập trung nhưng đồng nghĩa với việc IL của bạn sẽ cao hơn rất nhiều so với cung cấp thanh khoản dàn trải như V2. Bù lại bạn được hưởng fee giao dịch nhiều hơn so với V2. Vì vậy, mình dự đoán cài đặt thanh khoản V3 chỉ work cho các cặp stablecoin.
V3 cũng tạo thêm một vấn đề mới cho các chương trình khái thác thanh khoản của các dự án khi sử dụng Uniswap V3 – đó là các dự án sẽ nên phân bổ phần thường khuyển khích như nào đối với từng đoạn thanh khoản.
Uniswap V3 thực sự là một cải tiến tốt, vì nó đem lại nhiều sự lựa chọn hơn cho Liquidity Provider, với thanh khoản tập trung – điều đó chắc chắn tốt cho người dùng là trader. Tuy nhiên, khi phân tích vào những số liệu cụ thể, chưa chắc nó đã là một cải tiến tốt cho thị trường nói chung khi rủi ro cho LP cao hơn so với Uniswap V2.
Bạn có suy nghĩ gì khác? Đừng ngại join Group thị trấn crypto để cùng nghiên cứu và thảo luận chuyên sâu hơn về DeFi nhé. Đừng quên chia sẻ bài viết nếu bạn thấy hay.
Một số bài viết hay khác:
Kiến thức cơ bản về Spot/ Margin/ Future/ Option khi trade Crypto