Phân tích chi tiết Uniswap V3

Chỉ sau khi sử dụng Uniswap V3, mình mới nhận ra một số điểm mà LP cần lưu ý. Thực sự, bạn sẽ cần nhiều kiến thức hơn khi tham gia vào cuộc chơi cung cấp thanh khoản trên V3 so với V2 - vốn được ví là "cung cấp thanh khoản lười biếng". Bài viết này sẽ tập trung phân tích 2 cơ chế mới của Uniswap V3 và ảnh hưởng của nó đến quá trình cung cấp thanh khoản.

Uniswap V3 được coi là bước cải tiến lớn giúp Uniswap trở thành AMM vượt trội hơn hẳn so với các AMM thế hệ thứ 2.

Một số bài viết có sẵn đã cung cấp các thông tin cơ bản, vì thế mình sẽ không viết lại, mình khuyến khích bạn nên đọc để hiểu cơ bản về những thay đổi của Uniswap V3 :

Sau khi đọc qua 3 bài viết trên bạn sẽ nắm được cải tiến chính đột phá nhất là Thanh khoản tập trung. Giải thích dễ hiểu thì, thay vì trước kia bạn phải đem tài sản của mình cung cấp thanh khoản trên đoạn giá từ 0 đến vô cực, giờ đây bạn có thể chỉ cần cung cấp thanh khoản trong một đoạn giá nhất định tùy chọn. Nhìn chung, điều này có 1 số lợi ích sau:

  • Đối với User: Thanh khoản sẽ dồi dào hơn ở những đoạn giá Hội tụ, vì vậy ít trượt giá hơn. Đặc biệt là với những cặp stablecoin mà điểm hội tụ của chúng là quanh mức 1$.
  • Đối với Liquidity Provider (LP): Tập trung vốn vào một đoạn giá nhất định, nhìn chung thì vốn sẽ được sử dụng tốt hơn, chiếm nhiều “share” ở 1 đoạn giá hơn so với việc cung cấp thanh khoản dàn trải, từ đó mà kiếm được nhiều fee giao dịch tại đoạn giá đó.

Với sự cải tiến này thì người được hưởng lợi nhất chính là User – vì họ là người sử dụng sau cùng, và có quyền chủ động trong các quyết định của mình đối với sự di chuyển của thị trường. Còn với vài trò là người cung cấp thanh khoản, bạn sẽ cần nhiều thông tin hơn để biết rằng mình cần phải làm gì.


Điểm thay đổi quan trọng đầu tiên để có thể hiểu được toàn bộ cách hoạt động của Uniswap V3 đó là

Tick và Range

Tick được hiểu là bước giá nhỏ nhất cho một tài sản khi thực hiện các giao dịch. Đây là một khái niệm hoàn toàn mới ở Uniswap V3

Ví dụ cặp ETH/USDT trên Binance có bước giá nhỏ nhất là 0,01. Tức là bạn không thể mua/ bán với lệnh 2002,975 được mà chỉ có thể là 2002,97 – tối đa 2 chữ số thập phân sau dấu phẩy. Thì Tick chính là 0,01

Vì vậy, bây giờtừ 0 đến vô cực [ 0, ] sẽ được chia thành vô số các tick. Điểm đặc biệt của Uniswap V3 đó là 1 tick được xác định là số phần trăm (0,01%) thay vì một giá trị tuyệt đối. Vì vậy giá của 1 tài sản được thể hiện bằng công thức:

Trong đó, i là vị trí của tick. Nguồn: Uniswap V3 White Paper

Có thể bạn vẫn chưa hiểu gì, lần đầu mình cũng vậy. Nhưng để mình lấy 1 ví dụ.
So với các sàn giao dịch sử dụng order book như ví dụ trên, 1 tick là 0,01 vì vậy chúng ta sẽ có các bước giá cho ETH là 2000,00 ; 2000,01 ; 2000,02 ; 2000,03 và vân vân. Nhưng vì 1 tick trên Uniswap của ETH là 0,01% nên các bước giá đúng sẽ phải là 1994,243 ; 1994,443 ; 1994,642 ; 1994,841 …

Cứ 2 tick giá thì sẽ tạo ra 1 price range. Ví dụ 1994,2 là tick giá thấp ( il ) và 1994,4 là tick giá cao ( iu) , cặp tick này sẽ tạo ra 1 range là [ 1994,2 ; 1994,4 ].

Tuy nhiên, bạn sẽ không thể tìm thấy Price Range ( khoảng giá ) [ 1994,2 ; 1994,4 ] khi add liquidity cho cặp ETH/USDC trên Uniswap V3. Bởi vì để hạn chế việc có quá nhiều range không cần thiết, mỗi một cặp sẽ có một giá trị Tick Spacing riêng. Tick Spacing của cặp ETH/USDC là 60 vì vậy người dùng chỉ có thể tìm thấy các Tick với số thứ tự là bội số của 60.

Ví dụ mốc giá ETH/USDC 1994,2 là tick số 75984. Vì 1,000175984 = 1994.24, và tick liền kề khả dụng của nó trên V3 là tick số 75984 + 60 = 76044. ( 1,000176044 = 2006.24 ).

Vậy sau khi hiểu được cách tính các mốc giá, khoảng giá của Uniswap V3, bạn sẽ biết rằng giờ đây bạn không thể nào thêm thanh khoản cho phạm vi [ 2004 ; 2008] được, thay vào đó, bạn sẽ phải cung cấp thanh khoản cho hai range là [1994,2 ; 2006,2] và [2006,2 ; 2018,3].

Range Order

Do Uniswap V3 cho phép LP lựa chọn phạm vi giá mà họ mong muốn cung cấp thanh khoản, nên sẽ có 2 trường hợp xảy ra có thể xảy ra:

  1. Giá hiện tại thuộc phạm vi giá mục tiêu.
  2. Giá hiện tại nằm ngoài phạm vi giá mục tiêu.

Tùy thuộc vào trường hợp mà yêu cầu về tài sản cung cấp thanh khoản sẽ khác nhau.

Trường hợp 1: Giá hiện tại thuộc phạm vi giá mục tiêu. ( il =< ic < iu )

Trường hợp 1 này có thể chia ra làm 2 trường hợp nhỏ hơn.

Một là khi giá hiện tại nằm chính giữa phạm vi giá mục tiêu. Ví dụ khi bạn thêm thanh khoản lúc giá ETH là 2000 vào Range [1994,2 ; 2006,2]. Lúc này Giá ETH hiện tại nằm chính giữa Range.

Với trường hợp này, việc cung cấp thanh khoản giống như ở Uniswap V2, bạn cần bổ sung thêm cả ETH và USDC có giá trị tương đương nhau vào pool.

Trường hợp còn lại là giá vẫn nằm trong phạm vi giá mục tiêu, nhưng không nằm chính giữa.

Khi giá không nằm chính giữa phạm vi giá, sẽ có sự chênh lệch khi yêu cầu cung cấp thanh khoản. Cụ thể là giá hiện tại gần iu hơn, thì tài sản Y càng phải nhiều hơn tài sản X. Và ngược lại.

Ví dụ cho dễ hình dung. Đối với đoạn giá [1994,2 ; 2006,2] , nếu giá ETH/DAI lúc đó là 2005, thì lượng DAI sẽ cần nhiều hơn ETH.

Trường hợp 2 : Giá hiện tại không thuộc phạm vi giá mục tiêu ( ic > iu hoặc ic < il )

Ở trường hợp 2 này, bạn sẽ không cần phải bổ sung thanh khoản bằng cả 2 loại tài sản, mà chỉ cần bổ sung 1 loại tài sản tùy thuộc vào giá mục tiêu của bạn.

Nếu giá hiện tại ic thấp hơn giá mục tiêu il trong đoạn [ il ; iu ] thì bạn chỉ cần thêm tài sản Y.

Nếu giá hiện tại ic cao hơn giá mục tiêu iu trong đoạn [ il ; iu ] thì bạn chỉ cần thêm tài sản X.

Lại ví dụ tiếp cho dễ hiểu , nếu bạn muốn thêm thanh khoản đoạn [1994,2 ; 2006,2] mà giá ETH là 1800, thì bạn chỉ cần thêm ETH, còn nếu giá ETH là 2010 thì bạn chỉ cần thêm USDC.

Cũng xin lưu ý thêm 1 chút ý nghĩa của việc add single asset ở Uniswap V3 và các AMM thế hệ 2 bản chất khác nhau hoàn toàn.

Ở các AMM thế hệ 2, thì nó là việc bán 1 tài sản thành 2 tài sản có tỷ lệ 50 50 rồi add liquidity. Còn ở Uniswap V3, thì bản chất nó giống với việc bạn rải lệnh chờ bán hoặc chờ mua khi trade spot.

Đây là một hình ví dụ minh họa cho điều này:

Nếu như giá ETH vượt qua mức giới hạn trên của khoảng giá của bạn, kết quả là khi tháo LP bạn sẽ nhận lại 100% là USDC, khi lúc đầu cung cấp vào là 100% ETH.

Vậy là về cơ bản bạn đã nắm được 2 thay đổi quan trọng ảnh hưởng nhất đến Uniswap V3, việc bổ sung 2 cơ chế này đã tạo ra một số hệ quả như sau:

Tổn thất tạm thời lớn hơn

Tổn thất tạm thời ở Uniswap V3 đã trên thực tế lớn hơn nhiều lần so với Uniswap V2. Phạm vi thanh khoản càng hẹp thì IL sẽ càng cao. Điều này đã được chứng minh bằng toán học ở bài viết này.

Tài sản luôn có xu hướng thoát khỏi tỷ lệ ban đầu

Không giống như Uniswap V2, tỷ lệ tài sản khi cung cấp thanh khoản và khi remove luôn là 50/50. Ở Uniswap V3, tài sản của bạn luôn có xu hướng thoát khỏi tỷ lệ này nếu giá hoạt động trong phạm vi cung cấp thanh khoản của bạn.

Còn nếu giá không nằm trong phạm vi cung cấp thanh khoản của bạn? Lúc đó khu vực thanh khoản của bạn được gọi là Inactive Liquidity , vì không có ai giao dịch tại khu vực đó nên bạn cũng sẽ không được nhận Fee giao dịch.

Tốn nhiều chi phí GAS để thiết lập một phạm vi thanh khoản hiệu quả

Nếu ở trong Uniswap V2, bạn tốn 2 lần GAS để Approve token, 1 lần GAS để thực hiện Supply. Với Uniswap V3, bạn có thể tốn nhiều hơn 1 lần Supply. Lý do?

Chính vì Uniswap V3 cho phép lựa chọn các khu vực thanh khoản, nên người dùng sẽ có xu hướng chỉ cung cấp thanh khoản ở các mức giá mà tài sản có thể di chuyển đến trong tương lai gần. Nếu phạm quá cấp thanh khoản quá hẹp, thì khu vực đó rất dễ trở thành Inactive Liquidity khi giá vượt ra khỏi phạm ví đó. Ngược lại, nếu phạm vi quá rộng thì lại không tận dụng được vốn. Vì vậy, 1 chiến lược phổ biến là bổ sung thanh khoản nhiều tại Range mà giá hiện tại đang hoạt động, và giảm dần ở các Range lân cận.

Nếu một LP chỉ thực hiện 1 lần Supply, cung cấp thanh khoản cho các mức giá cover Tick Range có số thứ tự là 4 -5 -6 -7 -8 -9 chẳng hạn, thì phân bổ vốn cho các Range sẽ như thế này:

30

Nếu như Giá hiện tại đang dao động tại Range 7 thì cũng việc phân bổ như này cũng không thực sự tối ưu lắm.

Lý tưởng nhất, lượng vốn nên được phân bổ theo dạng này:

Tuy nhiên, để tạo được thanh khoản như này, bạn sẽ cần ít nhất là 4 lần Supply:

Và khi remove Liquidity số lần cũng tương tự. Chưa tính đến việc, mỗi lần Supply – cho dù là cùng phạm vi giá thì vẫn được tính là 2 position riêng biệt – bởi các LP-token nay đã được thay bằng dạng ERC-721 ( NFT). Chi phí GAS nhiều hơn khiến việc áp dung các chiến lược quen thuộc như Compound cũng trở nên không khả thi.

Điều này không hề dễ chịu chút nào với những nhà đầu tư nhỏ lẻ. Có một số cá nhân đã nhận định rằng Cung cấp thanh khoản ở V3 giờ chỉ dành cho Whale. Điều này gần như là chính xác tại thời điểm khi Unsiwap V3 mới ra mắt.

Vậy là cải tiến hay cải lùi?

Khi mới đọc sơ qua lần đầu về cải tiến của Uniswap V3 – mình cảm thấy khá hào hứng, điều này chắc là tâm lý chung của mọi người. Sau khi phân tích sâu hơn về cơ chế, mình bắt đầu thấy những bất cập do Uniswap V3 đem lại, phần lớn đến sự phức tạp của nó. Và trong một thời gian ngắn, mình đã cho rằng V3 không hấp dẫn.

Tuy nhiên cũng chỉ một thời gian sau, mình nhận ra rằng những “luật chơi” phức tạp này, là điều cần thiết để trò chơi cung cấp thanh khoản trở nên đa dạng chiến lược hơn, từ đó thu hút thêm những loại “người chơi” mới với khẩu vị rủi ro khác nhau. Ở bài viết tới, chúng ta sẽ cùng tìm hiểu về Các chiến lược tối ưu và quản trị rủi ro khi cung cấp thanh khoản ở Uniswap V3.

Nếu có bất kỳ nhận xét nào về bài viết, mình rất mong được trao đổi để bài viết trở nên hoàn thiện hơn. Bạn có thể liên hệ qua account telegram @Julian152 hoặc facebook cá nhân của mình.


Bạn thấy bài viết thú vị, đừng quên chia sẻ cho bạn bè. Nếu bạn muốn trở thành 1 cư dân của thị trấn, tham gia miễn phí tại đây

Lưu ý: Không phải tất cả các sàn giao dịch tiền điện tử đều cung cấp đầy đủ các quyền hạn cho bạn và không phải tất cả đều an toàn. Mình không xác nhận cho một sàn giao dịch cụ thể nào. Bạn cần phải tự nghiên cứu kỹ lưỡng trước khi gửi tiền hoặc tiền điện tử đến bất kỳ sàn giao dịch, trang web hoặc ứng dụng nào. 

Tuyên bố từ chối trách nhiệm:  Không có thông tin nào ở trên là lời khuyên đầu tư,mời gọi hay khuyến khích sử dụng các sàn giao dịch cụ thể hoặc thông tin thực tế theo bất kỳ cách nào và không nên được hiểu như vậy. Bạn đọc nên tự nghiên cứu. Nếu có bất kỳ lỗi nào xảy ra, mình sẽ cố gắng hỗ trợ trong mức cho phép. Mục đích của mình chỉ là cung cấp thông tin và truyền bá kiến ​​thức về chủ đề này

Default image
jūlian.eth
Articles: 24
https://www.pixelhere.com/et/event.php?advertiser=212168&cid=INSERT_CLICK_ID&id=645772&udid=UDID&variable=INSERT_USER_ID_OR_EMAIL_HERE&value=INSERT_PRICE_VALUE&tid=UNIQUE_TRANSACTION_ID

Physical Address

304 North Cardinal St.
Dorchester Center, MA 02124