Flash Loan

Flash Loan là gì? Ý nghĩa của các cuộc tấn công Flash Loan

Flash loan là một trong những hình thức cho vay được nhiều nhà đầu tư quan tâm vì đơn giản và do các cuộc tấn công trên giao thức DeFi. Tuy nhiên, có ít người nhận thấy được rủi ro của hình thức vay chớp nhoáng này. Do đó bài viết hôm nay của sàn Exness sẽ tổng hợp các thông tin cơ bản về flash loan, cũng như các cuộc tấn công flash loan và giải pháp hạn chế bị tấn công. 

Các thông tin hữu ích về flash loan mà bạn cần biết
Các thông tin hữu ích về flash loan mà bạn cần biết

Flash Loan là gì?

Tổng quan

Flash Loan được định nghĩa đơn giản là những khoản vay nhanh. Thuật ngữ này được Max Wolff (nhà sáng lập Marble Protocol) giới thiệu lần đầu tiên trước công chúng vào năm 2018. Bạn sẽ thường bắt gặp các flash loan trên Ethereum và ERC20 trong một khoảng thời gian nhất định để giúp hoàn tất một khối giao dịch trên blockchain. Theo đó, người vay sẽ không phải thanh toán bất kỳ chi phí về lãi suất nào nếu khoản vay được hoàn trả trước khi tiến hành khối giao dịch mới. Trước đây, những người cho vay truyền thống phải đối mặt với hai rủi ro khi cho vay: vỡ nợ và rủi ro thanh khoản, trong khi các khoản vay Flash Loan giải quyết được cả hai bài toán này. 

Flash loan là khoản vay không cần tài sản thế chấp
Flash loan là khoản vay không cần tài sản thế chấp

Hiểu đơn giản, các khoản vay nhanh sẽ hoạt động như sau: Bạn sẽ được cho vay một số tiền theo yêu cầu trong một giao dịch duy nhất. Sau khi giao dịch đó hoàn tất, ít nhất bạn phải hoàn trả cho chúng tôi số tiền mà bạn đã vay. Nếu bạn không trả, giao dịch của bạn sẽ bị chúng tôi khôi phục như ban đầu. Nói cách khác, có thể xem như mọi chuyện chưa hề bắt đầu. Ngoài ra, các flash loan không được sử dụng trên BitMex. Do hợp đồng thông minh có khả năng xử lý từng giao dịch khác nhau, nên mọi việc diễn ra trong giao dịch đều được thực hiện tuần tự. Có thể xem đây là “thời gian đóng băng” của các giao dịch của các nhà đầu tư khi giao dịch đang diễn ra. 

Thuật ngữ flash loan chỉ tồn tại trên nền tảng Blockchain
Thuật ngữ flash loan chỉ tồn tại trên nền tảng Blockchain

Flash loan và cho vay truyền thống

Trong khi những người cho vay truyền thống được bồi thường cho rủi ro mà họ chấp nhận (bao gồm việc vỡ nợ, rủi ro kém thanh khoản) và chi phí cơ hội của số vốn cho vay, còn cho vay chớp nhoáng thì không như thế. 

Trên thực tế, những khoản flash loan mà bạn gặp thực sự không có rủi ro hoặc chi phí cơ hội! Lý do là vì những người đi vay theo hình thức này đang ở trạng thái “đóng băng” trong suốt thời gian cho vay nhanh. Việc này giúp đảm bảo số vốn trong hệ thống không gặp phải rủi ro hoặc bị cản trở, thế nên bạn không thể dùng số vốn này kiếm lãi ở nơi khác nên không có chi phí cơ hội. Cũng có thể hiểu rằng, bạn không tốn bất kỳ chi phí nào để trở thành một flash render cả. Nói như vậy, số dư khoản vay nhanh của bạn sẽ là bao nhiêu?

Về cơ bản, các khoản vay flash loan đều không mất phí. Có thể hiểu rằng, một khoản phí đủ nhỏ để khấu hao chi phí, bao gồm thêm 3 dòng code để tài sản được cho vay nhanh. Các khoản vay nhanh không được tính lãi theo hướng truyền thống, vì hiệu lực của các khoản vay này bằng 0 (APR bất kỳ * 0 = 0). Dĩ nhiên, một tổ chức cung cấp flash loan với mức lãi suất cao thì sẽ bị tính lãi suất thấp hơn bởi những nhóm cho vay nhanh khác ngay lập tức. Một số dự án đang áp dụng khoản vay nhanh với mức phí là 0 như dYdX, hay AAVE tính phí bằng 0,09% so với số tiền gốc đối với khoản vay nhanh.

Flash loan được dùng cho mục đích gì?

Tiến hành những giao dịch chênh lệch giá

Ban đầu, các khoản vay nhanh chỉ được sử dụng để tiến hành các giao dịch chênh lệch giá trên thị trường. Khi đó, tác giả tạo nguồn định nghĩa khoản vay nhanh – Marble đã nói rằng: 

“Các khoản vay chớp nhoáng cho phép các nhà giao dịch vay tiền từ Ngân hàng Marble, mua mã thông báo trên DEX này rồi bán mã thông báo trên một DEX khác với giá cao hơn, trả nợ các khoản vay ngân hàng và bỏ túi lợi nhuận chênh lệch giá chỉ trong một giao dịch.”

Về cơ bản, hầu hết các khoản vay nhanh trên thị trường hiện nay đều được sử dụng cho mục đích này, nhưng với một khối lượng rất nhỏ. AAVE đã nhận được hơn 10.000 đô la đến từ việc cho vay theo hình thức này kể từ khi ra đời. Số tiền này chỉ là một khoản nhỏ so với thị trường chênh lệch giá và thanh lý trên DeFi. 

Các khoản vay chớp nhoáng chủ yếu phục vụ cho giao dịch chênh lệch giá
Các khoản vay chớp nhoáng chủ yếu phục vụ cho giao dịch chênh lệch giá

Mặt khác, hầu hết những giao dịch chênh lệch giá đều do các nhà môi giới chênh lệch giá cạnh tranh chạy theo các chương trình phức tạp nhanh chóng thực hiện. Theo đó, họ sẽ tham gia vào các cuộc đấu giá trực tuyến của loại khí được ưa tiên và sử dụng mã thông báo bằng khí để có thể giảm thiểu tối đa mức phí giao dịch. Nhìn chung, đây là một thị trường rất cạnh tranh. Có thể nói rằng, những người này hoàn toàn yên tâm khi giữ một số token trên bảng cân đối của mình để tối ưu hóa hiệu quả giao dịch và thu về lợi nhuận.

Tái cấp vốn cho vay

Bên cạnh đó, vay từ AAVE sẽ mất khoảng 80.000 gas và tính phí 0,09% số vốn. Trên thực tế, phần đông các nhà đầu tư sử dụng chênh lệch giá AAVE, thì người đi vay cuối cùng sẽ là đối tượng chi trả nhiều khoản phí cho bên cho vay hơn so với số tiền họ kiếm được. Thế nhưng trong tương lai, các nhà đầu tư sử dụng chênh lệch giá sẽ không thể áp dụng các khoản vay nhanh được, trừ những trường hợp đặc biệt. Nhưng bạn có thể sử dụng các khoản vay nhanh ở một số trường hợp khác, hấp dẫn hơn trong DeFi. Chẳng hạn như tái cấp vốn cho vay. 

Cụ thể: Các nhà giao dịch tiến hành khóa Maker Vault (CDP) chứa 100 đô la ETH và vay mượn 40 DAI từ nó. Vì vậy, bạn đang nắm trong tay một vị thế ròng tương đương 60 đô la trừ đi khoản nợ đã vay. Lúc này, bạn cần tái cấp vốn để tạo ra một mức lãi suất hấp dẫn hơn. 

Thông thường, các bạn sẽ phải đầu tư trả trước với một số vốn nhất định. Thế nên việc thêm CDP vừa rồi sẽ buộc các nhà đầu tư mua lại 40 DAI ở bên ngoài và trên sàn giao dịch này. Trong khi đó, giải pháp thay thế lý tưởng hơn là vay nhanh 40 DAI, đóng CDP với 100 USD, gửi 60 USD ETH đã mở khóa vào Hợp chất, cuối cùng là chuyển đổi 40 USD ETH khác thành DAI thông qua Uniswap và nhanh chóng dùng số tiền đó để thanh toán các khoản vay nhanh vừa rồi.

Ý nghĩa của các cuộc tấn công flash loan đối với tính bảo mật

Cho vay chớp nhoáng đã trở thành tâm điểm sau hàng loạt cuộc tấn công
Cho vay chớp nhoáng đã trở thành tâm điểm sau hàng loạt cuộc tấn công

Cuộc tấn công flash loan đầu tiên

Sự cố đầu tiên góp phần châm ngòi cho hàng loạt những cuộc tấn công flash loan có lẽ bắt nguồn từ vụ hack bZx. Trong đó, có 2 lý do quan trọng khiến flash loan trở nên hấp dẫn hơn bao giờ hết đối với những kẻ tấn công. Khá nhiều các cuộc tấn công đòi hỏi nhiều khoản đầu tư trả trước (ví dụ như các cuộc tấn công thao túng oracle). 

Sự kiện tấn công bZx đã khơi mào cho hàng loạt những vụ tấn công khác
Sự kiện tấn công bZx đã khơi mào cho hàng loạt những vụ tấn công khác

Mặt khác, các khoản khoản vay nhanh sẽ giảm thiểu tối đa rủi ro bị bại lộ của những kẻ tấn công. Có thể hiểu, nếu bạn nắm rõ cách vận hành oracle chỉ với 10 triệu đô la Ether, thì xác suất rất cao là bạn không muốn mạo hiểm số vốn đó, dù cho bạn sở hữu ngần ấy Ether. ETH chắc hẳn sẽ bị ảnh hưởng và các sàn giao dịch có thể từ chối tiền gửi của bạn. Điều này khiến tiền của bạn khó có thể lưu thông hơn. Khá rủi ro với trường hợp này! Thế nhưng khi bạn có được một khoản vay 10 triệu đô la ngay lập tức thì sao? Chẳng ai quan tâm cả! Nó hoàn toàn khác với các nhóm thế chấp của dYdX và không bị ảnh hưởng tiêu cực. 

Flash loan attacks lợi dụng lỗ hổng trong giao thức để trục lợi
Flash loan attacks lợi dụng lỗ hổng trong giao thức để trục lợi

Mô hình bảo mật của flash loan

Tuyên bố của Satoshi

Có thể bạn sẽ không thích việc danh sách đen là một phần tất yếu của mô hình bảo mật blockchain ngày nay. Nhưng với những dự tính đằng sau những cuộc tấn công vừa rồi, thì những việc làm này giữ vai trò vô cùng quan trọng mặc dù vẫn còn nhược điểm là bí bách và tập trung. Trong một báo cáo chính thức về Bitcoin, Satoshi đã tuyên bố rằng Bitcoin an toàn trước các cuộc tấn công vì: 

“[Những kẻ tấn công] nên quyết định rằng việc […] chơi đúng luật sẽ có lợi hơn là phá hủy hệ thống và giá trị tài sản của chính họ.” 

Flash loan luôn mang những rủi ro tiềm ẩn là các cuộc tấn công bất ngờ
Flash loan luôn mang những rủi ro tiềm ẩn là các cuộc tấn công bất ngờ

Thực tế mô hình bảo mật

Trên thực tế, các khoản vay nhanh đã thay đổi đáng kể rủi ro của những kẻ tấn công khi họ không cần phải chi một số tiền lớn vào các trò chơi nữa. Bạn cũng cần nhớ rằng, các khoản vay nhanh có thể chồng chất theo thời gian. Theo giới hạn gas, tất cả số tiền mượn theo hình thức vay nhanh có thể được tổng hợp vào trong một giao dịch (lên đến 50 triệu đô la), sau đó mang tất cả số vốn đó xuống một hợp đồng dễ bị tấn công. Đó chính là một bộ nhớ khổng lồ có giá trị lên đến 50 triệu USD mà bất kỳ ai có tiền đều có thể tham gia ngay khi họ muốn.

Mô hình bảo mật vẫn còn đang được hoàn thiện để đảm bảo an toàn
Mô hình bảo mật vẫn còn đang được hoàn thiện để đảm bảo an toàn

Tất nhiên, bạn cũng không thể tấn công một giao thức chỉ vì sở hữu quá nhiều tiền. Nếu DeFi an toàn như những gì được tuyên bố thì chẳng có vấn đề gì cả. Loại giao thức nào không an toàn với whale? Không ngoại trừ sơ suất xảy ra. Tuy nhiên, bản thân Ethereum đã bị tấn công với giá trị dưới 200.000 đô la mỗi giờ, cùng tỷ lệ là 51%. Nếu mô hình bảo mật của Ethereum được xây dựng xung quanh các hạn chế về vốn, thì vì sao lại có tin đồn rằng ứng dụng DeFi có thể bị tấn công chỉ với 10 triệu đô la?

Làm sao để hạn chế các cuộc tấn công flash loan?

Giả sử chúng tôi là một giao thức DeFi và chúng tôi đang cố gắng tránh khỏi những cuộc tấn công đến từ hình thức cho vay nhanh. Câu hỏi đặt ra trước tiên là chúng tôi có thể biết được người đang tương tác với mình có sử dụng một khoản vay nhanh không? Câu trả lời đơn giản là không! 

EVM không cho phép bất kỳ người dùng nào có thể đọc bộ nhớ từ các hợp đồng khác. Vì vậy, bạn chỉ có thể tìm kiếm những thông tin cần thiết trên chính hợp đồng đó mà thôi. Nghĩa là bạn chỉ có thể hỏi trực tiếp một hợp đồng về việc khoản vay nhanh có đang được sử dụng hay không, thông qua cách liên hệ trực tiếp với người ký hợp đồng. Hiện nay, nhiều giao thức cho vay không còn phản hồi các yêu cầu như thế nữa. Dĩ nhiên là không có cách nào để buộc Express Render phải thực thi những điều đó.

Rất khó để kiểm soát các cuộc tấn công flash loan bởi một số hạn chế nhất định
Rất khó để kiểm soát các cuộc tấn công flash loan bởi một số hạn chế nhất định

Ngoài ra, bất kỳ nỗ lực nào để kiểm tra một truy vấn như vậy có thể dễ bị định hướng sai lệch khi áp dụng hợp đồng ủy quyền, hoặc liên kết các nhóm cho vay nhanh khác trên thị trường. Nói chung, không thể đánh giá được liệu rằng người gửi tiền có đang sử dụng hình thức cho vay nhanh hay không. Cũng giống như việc có ai đó gõ cửa nhà bạn với một chiếc va li chứa 10 triệu đô vậy, làm sao bạn biết được đó là tiền của họ hay của ai?

Tránh các cuộc tấn công Flash Loan như thế nào?

Những kẻ tấn công xem flash loan attack như một cơ hội tuyệt vời để nhanh chóng vay hàng trăm nghìn đô la ETH từ những người không có gì trong tay. Sau đó, hacker sẽ định tuyến nó nhờ một giao thức chuỗi dễ bị tấn công để nhanh chóng lấy hết hàng trăm đô la ra khỏi túi của người dùng và trả hết khoản vay đó. Quá trình này diễn ra nhanh gọn trong một giao dịch Ethereum. Không ai biết được những kẻ tấn công đó là ai, đến từ quốc gia nào. Không có gì còn sót lại, tựa như số tiền trị giá hàng trăm nghìn USD bốc hơi vậy, không một chút dấu vết gì để xác minh danh tính.

Tin tặc đánh cắp một khoản tiền lớn chỉ trong chớp mắt mà không để lại gì
Tin tặc đánh cắp một khoản tiền lớn chỉ trong chớp mắt mà không để lại gì

Ngừng cung cấp dịch vụ Flash Loan

Khách quan mà nói, việc bạn nỗ lực yêu cầu những người cho vay ngừng cung cấp các khoản vay nhanh cũng tương tự như việc thế giới đang cố gắng ngăn chặn ô nhiễm tiếng ồn vậy. Mặt khác, dịch vụ cung cấp tín dụng nhanh còn dựa trên lợi ích cá nhân của các giao thức, với những lý do chính đáng để người dùng của họ yêu cầu được hỗ trợ muốn tính năng. Thế nên, chúng có thể bị loại bỏ một cách an toàn.

Khó có thể loại bỏ dịch vụ cho vay chớp nhoáng bởi nhu cầu của người dùng
Khó có thể loại bỏ dịch vụ cho vay chớp nhoáng bởi nhu cầu của người dùng

Những giao dịch quan trọng sẽ phải kéo dài hai khối

Các bạn đừng quên đặc điểm của khoản vay nhanh là chỉ có thể vay vốn trong khoảng thời gian diễn ra một giao dịch duy nhất. Trong tình huống bạn cần thực hiện một giao dịch đòi hỏi nhiều vốn kéo dài hai khối, thì người dùng cần vay ít nhất hai khối để loại bỏ các cuộc tấn công flash loan không đáng có. Lưu ý: Người dùng phải khóa giá trị giữa hai khối để chặn việc hoàn trả các khoản nợ. Khi đó, quá trình giao dịch kéo dài 2 khối mới có thể diễn ra trơn tru. 

Để các giao dịch kéo dài hai khối thì cần phải khóa giá trị giữa chúng
Để các giao dịch kéo dài hai khối thì cần phải khóa giá trị giữa chúng

Có thể thấy, việc này dẫn đến tình huống đánh đổi UX. Tức là các giao dịch không còn đồng bộ nữa. Từ đó, nó sẽ trông thu hút và an toàn hơn với người dùng. Hệ quả là có nhiều nhà phát triển phàn nàn về việc hợp đồng thông minh không còn đồng bộ với nhau, cụ thể là giao tiếp lớp 2, hay cross-sharding trong Ethereum 2.0. Tuy nhiên, việc không đồng bộ này lại đang bảo vệ hệ thống flash loan khỏi các cuộc tấn công một cách hiệu quả. Đơn giản là vì bạn không thể vượt qua các phân đoạn hoặc lớp 2 trong một giao dịch nhỏ. Hiểu đơn giản là không có bất kỳ một cuộc tấn công flash loan nào xuất hiện trên phân đoạn ETH 2.0 hoặc các DEX lớp 2.

Yêu cầu những bằng chứng trực tuyến về số dư của người dùng

Bạn cũng có thể ngăn chặn các cuộc tấn công flash loan này nếu xác định được số dư ròng của người dùng. Cụ thể là số dư của họ đang có trước khi đi vay. Trước khi người dùng có thể tương tác với nền tảng thông qua một giao thức, nền tảng cũng sẽ yêu cầu người dùng cung cấp bằng chứng Merkle để chứng minh rằng bạn có đủ số dư ở cuối khối trước đó để tính vào số vốn hiện tại. Khi đó, hệ thống sẽ phải theo dõi điều này cho từng người dùng trong mỗi khối. 

Việc tìm cách xác định được số dư ròng của người dùng có nhiều hạn chế cần cân nhắc. Cụ thể, quá trình xác thực các bằng chứng trên chuỗi vô cùng đắt đỏ trên chuỗi và không ai sẵn sàng tạo ra chúng, cũng như có thiện chí thanh toán toàn bộ hóa đơn gas. Bên cạnh đó, bạn cũng có thể thay đổi số dư trước đó của mình trong cùng một khối với những lý do hoàn toàn hợp lý. Nhìn chung, giải pháp này mang lại một số giá trị về mặt lý thuyết nhưng trên thực tiễn thì chưa thực sự là phương án tối ưu. Tuy là không có giải pháp nào loại bỏ hoàn toàn các cuộc tấn công cho vay chớp nhoáng nhưng có 2 ứng dụng giúp hạn chế tình trạng này. Đó là phép định giá dựa trên thị trường và mã thông báo quản trị. 

Định giá dựa trên thị trường

Đối với giải pháp sử dụng công cụ định giá dựa trên thị trường như là Uniswap, hay OasisDEX, thì các cuộc tấn công cho vay chớp nhoáng đã khiến người dùng không thể sử dụng các mức giá trung bình hiện tại như oracle. Những kẻ tấn công đã lên kế hoạch tạo ra một vụ tai nạn trong tích tắc để nhanh chóng di chuyển giá thị trường trung bình trong một giao dịch duy nhất. Cuối cùng là để phá hủy oracle về giá.

Uniswap hỗ trợ người dùng định giá dựa trên thị trường vô cùng hiệu quả
Uniswap hỗ trợ người dùng định giá dựa trên thị trường vô cùng hiệu quả

Giải pháp hữu hiệu nhất lúc này là áp dụng phương pháp trung bình có trọng số của các khối X cuối cùng trong TWAP hoặc VWAP. Uniswap v2 cũng hỗ trợ người dùng thực hiện quá trình này. Ngoài ra còn có Polaris, ứng dụng này được xem như một phương thức tiếp cận hiệu quả để có được các đường trung bình cho giao thức DeFi. Đáng tiếc là Polaris đã tạm ngừng hoạt động trong nhiều năm.

Mã thông báo quản trị

Quản trị trên chuỗi thường được xác định thông qua việc bỏ phiếu có trọng số bằng tiền xu giữa những người sở hữu mã thông báo quản trị. Thế nhưng các mã thông báo quản trị có thể là đối tượng của những kẻ tấn công nếu chúng nằm trong các khoản vay nhanh. Dĩ nhiên là phần lớn các giao thức quản trị đều yêu cầu khóa mã thông báo trong suốt thời gian bỏ phiếu để có thể ngăn chặn các cuộc tấn công flash loan. Nhưng vẫn có một số trường hợp không áp dụng việc này. Trong đó có thể kể đến như thỏa thuận vận hành hoặc biểu quyết CO2 của nhà sản xuất. Các hình thức bỏ phiếu này nên được xem là hoàn toàn bị phá vỡ với các cuộc tấn công flash loan hiện tại.

Thực tế, các mã thông báo quản trị hoàn toàn không thể mang đi cho vay, nhưng sẽ bị tác động bởi thị trường. Do đó, các hành động quản trị nên có khóa để ngăn chặn các cuộc tấn công. Mã thông báo COMP mới của Compound đã phát triển chức năng tính thời gian cho tất cả các phiếu bầu của giao thức. Đồng thời, làm suy yếu ngay lập tức cả những cuộc tấn công không thường xuyên nhắm vào mã thông báo quản trị. Về cơ bản, toàn bộ những mã thông báo quản trị đều cần có thời gian. Timelock tiến hành những quyết định quản trị phải có một khoảng thời gian đợi nhất định (2 ngày đối với timelock ghép) trước khi có hiệu lực. Điều này tạo cơ hội để hệ thống phục hồi sau các cuộc tấn công bất ngờ và không thể lường trước được.

Ý nghĩa dài hạn của Flash Loan 

Cuộc tấn công bZx đã thực sự thay đổi mọi thứ. Chắc chắn bZx không là cuộc tấn công cho vay nhanh cuối cùng trên thị trường. Cuộc tấn công bZx tiếp theo sẽ được sao chép từ cuộc tấn công đầu tiên và có thể có một làn sóng tấn công nối tiếp nhau trong những tháng tới. Và điều đó cũng hoàn toàn xảy ra, cụ thể là một liên tiếp các cuộc tấn công cho vay nhanh như Harvest Finance (33,8 triệu đô la), Value DeFi (7 triệu đô la), Akro (2 triệu đô la), Cheese Bank (3,3 triệu đô la) và gần đây nhất là OUSD (7 triệu đô la Mỹ) đã nổ ra. 

Kẻ xấu lợi dụng chênh lệch giá để tấn công và kiếm lời riêng cho mình
Kẻ xấu lợi dụng chênh lệch giá để tấn công và kiếm lời riêng cho mình

Lời kết

Những cuộc tấn công flash loan đã để lại những nhắc nhở vô cùng hữu ích cho các nhà đầu tư. Đó như một hồi chuông với những nhà đầu tư còn quá chủ quan khi sử dụng hình thức vay mượn này. Tuy cho vay nhanh có những hạn chế về bảo mật nhưng không thể chối cãi sự hữu dụng và tiện lợi của nó. Vậy nên, các nhà đầu tư cần nhìn nhận và đánh giá thuật ngữ này một cách khách quan. Hy vọng những chia sẻ trong bài viết trên của Exness Hướng Dẫn sẽ giúp các bạn có được bức tranh toàn cảnh về khái niệm này, cũng như phương thức né tránh rủi ro có thể đến từ những cuộc tấn công khoản vay chớp nhoáng. Chúc các bạn thành công.

Xem thêm:

Lựa chọn DeFi coin tiềm năng dựa vào yếu tố như thế nào?

Bao thanh toán là gì? Quy trình bao thanh toán đầy đủ và chi tiết

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *