Giới thiệu
Chào mọi người, dạo gần đây flashloan nôỉ lên như một từ khóa vô cùng hot với hàng loạt các vụ tấn công flashloan vào các dự án defi - decentralized finance - tài chính phi tập trung với ước tính thiệt hại lên tới hàng triệu đô la.
Trên thực tế flashloan là một công cụ tài chính rất mạnh và linh hoạt, người ta có thể sử dụng nó cho rât nhiều mục đích, cả tốt lẫn xấu.
Để tránh mọi người có ác cảm rằng cứ flashloan sẽ là xấu, trong bài này chúng ta sẽ đi tìm hiểu mặt tốt của nó - flashloan the good points.
Do mình không phải là một người trong ngành tài chính, các ví dụ trong bài có thể mô hình hoá chưa chuẩn so với thực tế ngân hàng, nên rất mong được các nhà chuyên môn góp ý nếu có sai sót.
Trước khi đi vào flashloan, ta sẽ cần biết/hiểu mô hình cho vay truyền thống diễn ra như thế nào, và nó được đưa lên blockchain thế nào:
Vay ngân hàng truyền thống
Anh A có một ngôi nhà và ta vay 5 tỉ để làm ăn.
- A ra ngân hàng vay, mang nhà ra thế chấp
- Ngân hàng sẽ thẩm định, ngôi nhà có giá trị 10 tỉ, ngân hàng có thể cho vay tối đa 70% giá trị nhà
- A vay được 5 tỉ
- Khi A trả hết nợ & lãi, A lấy lại nhà.
- Trong trường hợp A không còn khả năng trả nợ (do Covid, do chơi coin), hoặc giá trị của ngôi nhà xuống thấp, khoản vay của A có thể bị thanh lý, A mất nhà.
Ta không đề cập đến “tín chấp”, vì trên blockchain không ai “tín” ai cả, trustless.
Defi lending
Khi đưa lên blockchain, các mô hình cho vay này cũng hoạt động tương tự:
B có 100 ETH, tương đương giá trị hiện tại là 200,000 đi làm ăn. Khi này B có các lựa chọn:
- Bán 50 ETH để lấy 100,000$ làm ăn.
- B nhận thấy giá ETH còn tăng nhiều, nên không bán, mà thay vì thế, B mang 100 ETH vào AAVE để cầm cố, vay lấy 100,000 để lấy lại 100 ETH, giá 100ETH lúc này là 400,000 so với ban đầu (400 - 200 - 20). Quá lời. Nhưng đó là trong trường hợp ETH tăng, còn nếu ngược lại ETH giảm, giá trị giảm xuống dưới 150,000$, khoản vay của B có thể bị thanh lý, và B mất trắng.
Mô hình thứ hai chính là mô hình lending của blockchain, ở đây ETH chính là ngôi nhà, AAVE là ngân hàng.
Sự tiện lợi ở đây so với truyền thống đó chính là mọi thứ tự động, không thủ tục, không thẩm định, vay trả không kì hạn, lãi suất siêu hấp dẫn, đa dạng loại tài sản thế chấp và tài sản vay. Đó là lý do tại sao defi trở nên đột phá và có sự phát triển nhanh đến vậy.
Flashloan
Trong các mô hình vay bên trên, để vay được ta cần phải có tài sản thế chấp. Nếu không có tài sản thế chấp thì không được vay, hoàn toàn dễ hiểu.
Vậy có cách nào để người nghèo không có nhiều tài sản thế chấp có thể vay một khoản tiền lớn để sử dụng hay không ? Có, đấy chính là flashloan - vay nóng không thế chấp.
Flashloan cho phép ta thực hiện các điều sau đây “trong 1 giao dịch (transaction)”
- vay một số tiền lớn
- làm bất cứ điều gì với số tiền đó
- trả lại số tiền đã vay + lãi suất (0.3%)
Tại sao flashloan lại dám cho người dùng vay trước một số tiền lớn mà không sợ chạy làng?
Ta biết rằng, trong Ethereum thì transaction là atomic, là đơn vị thực thi nhỏ nhất, có nghĩa là trong 1 transaction, thì hoặc nó hoàn toàn thành công, hoặc hoàn toàn thất bại. Không bao giờ có trường hợp transaction chạy được một nửa logic rồi thì bị tắc lại.
Flashloan được thực hiện “trong 1 transaction”, do đó, nếu thành công, người dùng sẽ trả lại toàn bộ số tiền + lãi suất ở bước cuối, hoặc không thực hiện gì cả. Rõ ràng người dùng không thể chạy làng.
Đó chính là điểm đặc sắc của blockchain. Trong tài chính truyền thống, ai dám giao 1 triệu đô la cho một người không biết là ai?
Tuy nhiên có một điểm cần nhấn mạnh ở đây, đó là mọi thứ đều xảy ra “trong 1 transaction” (vay nóng). Chúng ta có thể thắc mắc rằng, chỉ 1 transaction thì làm được gì ? Nhưng thật ngạc nhiên, nó làm được rất rất nhiều thứ, trong đó những ứng dụng sau là được sử dụng nhiều nhất (the good points):
- Thanh lý hợp đồng vay mà không bị phạt (Self-Liquidation))
- Chuyển nợ từ nơi này sang nơi khác có lãi suất tốt hơn (Refinancing Crypto Loans)
- Chuyển đổi tài sản thế chấp (Swap Collateral)
- Kiếm tiền từ chênh lệch (Arbitrage between Decentralised Exchanges)
Flashloan the good points
Kiếm tiền từ chênh lệch (Arbitrage between Decentralised Exchanges)
Ta thấy cặp ETH/USDT trên Uniswap đang là 2000 USDT/ETH, trong khi trên SushiSwap đang là 2300 USDT/ETH. Ta có thế tiến hành kiếm tiền với flashloan như sau:
- vay flashloan 100k USDT
- mua 50ETH bên Uniswap
- mang qua SushiSwap bán lấy 115k USDT
- trả flashloan 100k + 0.3% phí
Kết quả: Lãi gần 15k USDT mà trong tay chỉ cần khoảng 300$ để trả phí flashloan + một ít transaction fee.
Trên thực tế thì hầu như ít có mức giá chênh lệch lớn như vậy giữa các nền tảng, và do cơ chế AMM càng mua nhiều giá càng tăng, nên ta chưa chắc đã mua được số lượng lớn với giá tốt ta đang nhìn thấy, và cuối cùng là có các hệ thống arbitrage bot chạy suốt ngày đêm rồi nên việc kiếm tiền từ flashloan arbitrage ko hề dễ như trên đâu mọi người ạ. Tất nhiên là cơ hội thì luôn tồn tại.
Thanh lý hợp đồng vay mà không bị phạt (Self-Liquidation))
Với anh A bên trên, khi làm ăn thua lỗ, ngân hàng siết nợ, lấy luôn căn nhà của anh A, nếu vẫn chưa đủ thì thành nợ xấu.
Với anh B bên trên, khi làm ăn thua lỗ, không còn đủ tiền để trả lại hệ thống, nếu để hệ thống lending siết nợ, sẽ có một khoản phạt cho anh B giá trị từ 3% cho tới 15% tài sản tuỳ nền tảng khác nhau. Các nền tảng cho vay làm điều này sẽ tránh nợ xấu, và đảm bảo không bao giờ lỗ. Vậy là ngon hơn ngân hàng rồi.
Ví dụ, nếu anh B không dùng flashloan:
- ETH giảm xuống, khoản thế chấp 100 ETH còn giá trị 150k$, không đủ trên 150% giá trị khoản vay, anh B bị thanh lý
- Nền tảng sẽ bán 100ETH lấy 150k$, tính toán lãi suất, giả sử 20k, tính thêm phí 10% khoản vay là 10k
- Kết quả: anh B còn 20k$
Flashloan có thể giúp anh B tránh bị phạt thanh lý như vậy.
Cụ thể:
- vay flashloan 120k
- trả nợ 120k gốc + lãi
- lấy lại 100 ETH
- bán 100 ETH đó trên DEX (giả sử Uniswap) lấy 150k
- trả flashloan 120k + 0.3% = 300$ phí
- Anh B còn ~29700$
Vậy là rõ ràng flashloan đã cứu cánh anh B khỏi một khoản thua trông thấy.
Chuyển nợ từ nơi này sang nơi khác có lãi suất tốt hơn (Refinancing Crypto Loans)
Với anh A, khi anh đang vay bên ngân hàng V với lãi suất rất cao, anh muốn chuyển sang vay ngân hàng M với lãi suất thấp hơn, điều anh cần làm là:
- trả nợ cho ngân hàng V, chịu phạt trả trước hạn
- lấy lại ngôi nhà
- mang sang ngân hàng M
- thế chấp ngôi nhà rồi vay tiếp với lãi suất thấp hơn
Với anh B, tương tự
- trả nợ cho nền tảng V, ở đây tiện lợi hơn là anh trả lúc nào cũng được không bị phạt trả trước hạn
- lấy lại 100 ETH
- mang sang nền tảng M thế chấp rồi vay tiếp
Trong cả 2 trường hợp trên đều có một điểm chung: đều phải có tiền trả nợ đã (100k gốc + lãi), rồi mang tài sản đi đâu thì mang.
Flashloan có thể giúp anh B chuyển nợ một cách đơn giản mà chẳng cần nhiều tiền.
Cụ thể
- vay flashloan 100k tiền trả nợ
- trả nợ nền tảng V (lãi suất 20%/năm)
- lấy lại ETH
- mang sang nền tảng M thế chấp rồi vay tiếp 100k với lãi suất 5%/năm
- trả nợ flashloan 100k + 0.3% phí
Kết quả: anh B chỉ tốn 0.3% flashloan fee (tức 300 đô) + tiền lãi + transaction fee để chuyển khoản nợ từ nền tảng V 20%/năm sang nền tảng M 5%/năm, quá hời.
Chuyển đổi tài sản thế chấp (Swap Collateral)
Nghe lời thầy phong thuỷ, anh A muốn thay thế chấp ngôi nhà bằng chiếc Maybach để lấy may, anh A cần ra ngân hàng làm thủ tục đổi tài sản thế chấp, chiếc Maybach cần được thẩm định lại, và nếu ngân hàng đồng ý thì có thể thay đổi hợp đồng, nhưng rõ ràng ta lại cần rất nhiều thủ tục mất thời gian. Hoặc anh A có thể trả nợ để lấy lại ngôi nhà rồi mang Maybach đi thế chấp sau. Nhưng lại quay lại vấn đề là anh A lại phải có tiền để trả nợ trước đã.
Nhận thấy ETH biến động giá quá lớn, anh B muốn đổi từ ETH sang DAI stable coin làm tài sản thế chấp cho an toàn:
- trả 120k (gốc + lãi)
- lấy lại 100ETH
- mang 100ETH swap qua DAI
- lấy DAI mang đi thế chấp & vay tiếp
Vấn đề cũng là anh B lấy đâu ra tiền mà trả nợ?
Flashloan có thể giúp anh:
- vay flashloan 120k
- trả gốc + lãi
- lấy lại 100ETH
- mang 100ETH swap qua DAI trên Uniswap
- lấy DAI mang đi thế chấp & vay tiếp 100k
- trả flashloan 120k
Kết quả: anh B chỉ tốn 0.3% flashloan fee + tiền lãi + transaction fee để chuyển đổi tài sản nợ từ ETH sang DAI.
Kết luận
Flashloan rất hay, nó giúp người nghèo cũng có thể chơi những cuộc chơi lớn. Với số tiền lớn, người ta có thể tạo ra rất nhiều kịch bản khác nhau, từ những kịch bản tốt như trên, cho tới những kịch bản xấu (price manipulation attack - flashloan attack).
Một vài nền tảng support Flashloan:
- Dydx: Solo Margin
- AAVE: Flashloan
- Uniswap: Flashswap
- Pancakeswap: Flashswap
Trong bài sau ta sẽ nói tới những kịch bản xấu - hay flashloan attack.