Giải thích về Tổn thất tạm thời (Impermanent Loss)
Nếu bạn đã từng tham gia với DeFi, bạn gần như chắc chắn đã nghe thấy thuật ngữ này. Impermanent Loss xảy ra khi giá token của bạn thay đổi so với khi bạn gửi chúng vào Pool. Thay đổi càng lớn thì tổn thất càng lớn.
Bài viết này mình sẽ tìm cách giải thích tổn thất tạm thời là gì và nó sẽ xuất hiện như thế nào.
Tổn thất tạm thời là gì?
Nói một cách đơn giản, tổn thất tạm thời là sự khác biệt giữa việc giữ token trong các AMM (như Uniswap, Balancer…) so với giữ chúng trong ví của bạn. Nó xảy ra khi giá của các mã thông báo bên trong AMM phân kỳ theo bất kỳ hướng nào ( tức là 2 token của bạn không tăng/giảm tỉ lệ thuận với nhau). Phân kỳ càng nhiều, tổn thất càng lớn.
Tại sao lại là “tạm thời”?
Bởi vì miễn là giá tương đối của các mã thông báo trong AMM trở lại trạng thái ban đầu khi bạn tham gia cung cấp thanh khoản cho AMM, khoản lỗ sẽ biến mất và bạn có lãi từ phí giao dịch.
Tuy nhiên, trường hợp này hiếm khi xảy ra. Trên thực tế tổn thất tạm thời trường trở thành tổn thất vĩnh viễn, và đó là 1 yếu tố mà bạn cần tính toán trước khi quyết định trở thành nhà cung cấp thanh khoản.
Nhà cung cấp thanh khoản, họ là ai?
Giao dịch trên các AMM ví dụ như Uniswap thường tạo ra sự trượt giá, giao dịch càng lớn so với tổng thanh khoản thì trượt giá càng lớn.
Sự trượt giá được mô tả là sự khác biệt giữa giá mà bạn hy vọng nhận được với mức giá mà bạn thực sử phải trả khi thực hiện giao dịch.
Vì vậy, để Uniswap hoạt động tốt hơn – cho phép thực hiện các giao dịch lớn thì nó cần có lượng thanh khoản lớn. Vậy ai là người cung cấp tính thanh khoản này và tại sao họ nên gửi các token ERC-20 và ETH vào Bể thanh khoản của Uniswap.
Để gia tăng quy mô của các Bể thanh khoản, Uniswap cho phép bất kỳ ai có khả năng cung cấp giá trị ngang nhau của ETH và token ERC-20 tham gia vào bể thanh khoản. Đổi lại, họ được cung cấp các token thanh khoản từ hợp đồng trao đổi, có thể được sử dụng để rút cổ phần thanh khoản của họ bất kỳ lúc nào. Bất cứ khi nào một ai đó thực hiện giao dịch trên Uniswap, họ phải trả một khoản phí 0,3% bằng chính token mà họ giao dịch, phí này sẽ được thêm thẳng vào bể thanh khoản. Vì không có token thanh khoản mới nào được tạo ra nếu không ai thêm thanh khoản (add liquidity), nên giá trị của các token thanh khoản ( tương ứng với cổ phẩn trong bể thanh khoản) sẽ tăng dần khi càng có nhiều giao dịch diễn ra. Nhìn chung đây là 1 dạng đầu tư khá ngon lành nên nhiều nhà đầu tư đã nhanh chóng tham gia vào cuộc chơi khai thác thanh khoản này,
Nhưng sau một vài ngày, một số nhà cung cấp thanh khoản rút bớt số token ra và nhận thấy tài sản của họ có giá trị thấp hơn so với những gì họ đã đặt vào. Vậy chuyện gì đã xảy ra?
Tại sao tài sản của tôi có giá trị thấp hơn số tiền tôi đã bỏ vào?
Để hiểu tại sao giá trị cổ phần của nhà cung cấp thanh khoản có thể giảm xuống bất chấp họ có thêm thu nhập từ phí giao dịch, chúng ta cần xem xét kỹ hơn một chút về công thức được Uniswap sử dụng để điều chỉnh giao dịch. Công thức khá đơn giản, bạn có thể xem lại bài viết trước về cách hoạt động của Uniswap. Nếu bỏ qua phí giao dịch, thì công thức sẽ là:
số lượng ETH * số lượng token = hằng số
Điều này có thể hiểu là, số lượng token mà một người giao dịch nhận được khi họ thực hiện swap ETH lấy token được tính toán sao cho sau khi giao dịch hoàn tất, tích của 2 nhóm thanh khoản vẫn giữ nguyên như trước lúc xảy ra giao dịch. Như vậy, giả sử các giao dịch có giá trị nhỏ so với quy mô của bể thanh khoản:
giá ETH = số lượng token / số lượng ETH
Kết hợp 2 phương trình này, chúng ta tính được số lượng token ở bất kỳ mức giá nào
số lượng ETH = sqrt (hằng số / giá ETH )
số lượng token = sqrt ( hằng số * giá ETH )
*chú thích: sqrt là khai căn bậc 2
Bây giờ hãy xem sự tác động của giá ảnh hưởng thế nào đến tài sản của nhà cung cấp thanh khoản. Để đơn giản hóa mọi thứ, hãy tưởng tượng một nhà cung cấp thanh khoản sẽ cung cấp 1 ETH và 100 DAI cho Uniswap ở cặp giao dịch ETH/DAI, tương đương với 1% cổ phần của bể thanh khoản chứa 100 ETH và 10.000 DAI, tại điều kiện 1 ETH = 100 DAI. Giả sử sau 1 số giao dịch, giá đã thay dổi, 1 ETH hiện giờ có giá 120 DAI. Giá trị mới của cổ phần của nhà cung cấp thanh khoản sẽ như thế nào. Thay số vào công thức trên ta có:
số lượng ETH = sqrt ( 1.000.000 / 120 ) = 91.2871
số lượng DAI = sqrt ( 1.000.000 * 120 ) = 10954.4511
Vì nhà cung cấp thanh khoản ở treen có 1% cổ phẩn, tức là người đó có thể rút ra được 0,9129 ETH và 109,54 DAI từ bể thanh khoản. Vậy ở mức giá mới, giá trị tài sản người đó có là:
0.9129 * 120 + 109,54 = 219,09 DAI
Tuy nhiên để ý, bạn sẽ thấy nếu người trên không cung cấp thanh khoản cho bể thanh khoản này, mà chỉ đơn thuần giữ 1 ETH và 100 DAI thì người đó sẽ có 220 DAI, vậy tính ra đã mất 0,91 DAI vì tham gia cung cấp thanh khoản.
Thế nếu tham gia cung cấp thanh khoản mà bị lỗ thì ai tham gia? Thực ra không hẳn vậy, nếu giá của ETH quay trở lại giá trị như lúc nhà cung cấp thanh khoản tham gia bể thanh khoản thì khoản lỗ này sẽ biến mất. Khoản lỗ này chỉ xuất hiện khi nhà cung cấp thanh khoản rút cổ phần thanh khoản của họ tại thời diểm có sự chênh lệch về giá của tài sản so với thời điểm họ tham gia vào bể thanh khoản.
Công thức bổ sung để tính toán tổn thất dựa trêntỷ lệ giá giữa thời điểm cung cấp thanh khoản và hiện tại là:
tổn thất tạm thời = 2 * sqrt ( tỉ lệ giá chênh ) / ( 1 + tỉ lệ giá chênh ) - 1
Hoặc diễn giải ra thì như thế này:
Thay đổi giá 2 lần sẽ dẫn đến tổn thất 5,7% so với HOLD,
Thay đổi giá 3 lần sẽ dẫn đến tổn thất 13,4% so với HOLD,
Thay đổi giá 4 lần sẽ dẫn đến tổn thất 20% so với HOLD,
Thay đổi giá 5 lần sẽ dẫn đến tổn thất 25,5% so với HOLD.
Lưu ý tổn thất so với HOLD ở đây xảy ra theo mọi hướng ( dù giá ETH tăng hay giảm), tổn thất ở đây được hiểu là khi phần mất mát so với khi bạn HOLD. Khi giá ETH tăng, ,nhìn chung tài sản của bạn tăng khi quy đổi ra USD nhưng sẽ không bằng HOLD. Trong trường hợp giá ETH giảm, tài sản của bạn thậm chí còn giảm nhanh hơn so với HOLD.
Xem xét lợi nhuận trên thực tế
Khi xét tình huống trên thì mình đã bỏ qua phí giao dịch. Trong thực tế, lợi nhuận thu được từ việc đóng góp thanh khoản đến từ việc hưởng % phí giao dịch. Điều đó có nghĩa là, để biết liệu bạn có bị lỗ khi tham gia đóng góp thanh khoản, còn phải xem xétlượng thu nhập bạn đạt được từ phí giao dịch có bù đắp lại tổn thất do giá tài sản biến động hay không.
Thử tính toán với các số liệu cũ dựa trên cặp trao đổi ETH và DAI trên Uniswap.
Nhà cung cấp thanh khoản đầu tiên trên Uniswap với cặp ETH DAI là 0xf369af914dBed0aD7afdDdEbc631Ee0FDA1b4891 , cung cấp 30 ETH và 5900 DAI ( tại mức giá ETH = 196,67 DAI ) vào ngày ngày 2 tháng 11 năm 2018. Tài khoản này Cho đến nay đã không thêm hoặc rút bất kỳ thanh khoản nào kể từ giao dịch đầu tiên này và kể từ khối 7047556 vẫn giữ 5,6% tổng số mã thông báo thanh khoản trên hợp đồng trao đổi ETH <-> DAI.
Trên biểu đồ sau, chúng ta có vị trí ròng của tài khoản 0xf369af914dBed0aD7afdDdEbc631Ee0FDA1b4891 tại mọi điểm từ khối 6629139 cho đến khối 7047556. Sử dụng các công thức trên, chúng ta cũng có lỗ phân kỳ và phí tích lũy. Tất cả các số liệu đã được chuyển thành DAI để dễ so sánh.
Biểu đồ này cho thấy rằng trong hầu hết thời gian kể từ khi cung cấp thanh khoản, tài khoản này đã bị âm (đường màu vàng), so với việc chỉ nắm giữ các khoản tiền ban đầu. Các đường màu xanh lam biểu thị tổn thất tạm thời được tạo ra bởi biến động giá của ETH – đường màu xanh lá cây. Tuy nhiên, xuyên suốt đã có một khoản phí tích lũy ổn định (đường màu đỏ). Với giá ETH gần đây đang tiến gần hơn với giá mà tại đó thanh khoản được cung cấp, hầu hết các khoản lỗ đã biến mất.
Nếu giá ETH quay trở lại chính xác như ở khối 6629139, tài khoản này sẽ thu được phí tương đương 255,60 DAI, tương đương với lợi nhuận 2,2% trong 70 ngày hoặc tỷ lệ hàng năm khoảng 11,8 %. Con số này này áp dụng cho 2 tháng đầu tiên khi Uniswap được đưa vào hoạt động với khối lượng giao dịch khá thấp. Con số này đã tăng lên rất nhiều khi khối lượng giao dịch tại Uniswap tăng lên đang kể trong bối cảnh hiện nay.
Tóm tắt:
- Tổn thất tạm thời theo khía cạnh toán học xảy ra khi có sự chênh lệch giá tại thời điểm tham gia và rút khỏi bể thanh khoản. Còn nhìn theo khía cạnh kinh tế, đó là chi phí cơ hội khi nhà đầu tư cung cấp thanh khoản cho 1 tài sản tăng giá quá nhanh.
- Lợi nhuận chính của việc tham gia bể thanh khoản đến từ việc hưởng phí giao dịch.
- Khi tham gia cung cấp thanh khoản, ngoài lí do chính là bạn có lượng token đó để không, thì cần cân nhắc: token đó có độ biến động giá lớn so với ETH không? ( Nếu câu trả lời là có thì tốt nhất là nên HOLD), volume giao dịch tại Uniswap của token đó có lớn không? – hãy tự tính dựa trên số liệu cũ và các dự đoán (Nếu câu trả lời là không thì bạn nên HOLD).
Bây giờ bạn đã hiểu kha khá về Tổn thất tạm thời rồi, câu hỏi đặt ra là – liệu có phương pháp nào để giảm thiểu rủi ro của tổn thất tạm thời không?