Flash Loan là gì? Cách tránh khỏi Flash Loan Attack
Các khoản cho vay chớp nhoáng – Flash Loan gần đây đã trở nên nổi bật và được quan tâm do ngày càng có nhiều trường hợp trộm cắp tiền từ các giao thức DeFi… Vậy cụ thể thì Flash Loan là gì? Vấn đề nào có thể gây nên tình trạng Flash Loan? Và đâu là cách để nhà đầu tư có thể tránh được những rủi ro khi gặp tình trạng này? Hãy cùng chúng tôi tìm hiểu nội dung bên dưới đây.
Những thông tin cần biết về Flash Loan
Khái niệm của Flash Loans là gì?
Khái niệm về các khoản vay nhanh – flash loan lần đầu tiên được giới thiệu vào năm 2018 bởi Max Wolff, người tạo ra Marble Protocol.
Các flash loan thường được sử dụng trên Ethereum và ERC20, được vay trong khoảng thời gian nhất định cần thiết để có thể hoàn thành một khối giao dịch trên blockchain. Miễn là khoản vay được hoàn trả trước khi bắt đầu khối giao dịch tiếp theo, người vay sẽ không phải chịu bất kỳ chi phí lãi suất nào. Trong trường hợp những người cho vay truyền thống phải đối mặt với hai loại rủi ro: rủi ro vỡ nợ và rủi ro thanh khoản, các khoản vay nhanh giải quyết được cả hai vấn đề này. Về cơ bản, các khoản vay Lightning hoạt động như thế này:
Khái niệm của Flash Loan
Chúng tôi sẽ cho bạn vay số tiền mong muốn trong một lần giao dịch. Nhưng khi kết thúc giao dịch này, ít nhất bạn phải trả lại cho chúng tôi số tiền tôi đã cho bạn vay, nếu bạn không trả, tôi sẽ tự động khôi phục giao dịch của bạn. Nói cách khác, giao dịch chưa bắt đầu.
Nó chỉ tồn tại trên blockchain. Các flash loan không thể được phát hành trên BitMex. Hợp đồng thông minh có thể xử lý bất kỳ giao dịch nào, vì vậy mọi thứ xảy 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” cho các giao dịch đang diễn ra. Những người cho vay theo hướng truyền thống được bồi thường cho hai điều: rủi ro mà họ chấp nhận (rủi ro vỡ nợ và kém thanh khoản) và chi phí cơ hội của vốn họ cho vay. Cho vay chớp nhoáng thì khác.
Cơ cấu hoạt động của dự án Flash Loan
Các khoản flash loan thực sự không có rủi ro hoặc chi phí cơ hội! Điều này là do người đi vay đang ở trong “thời gian đóng băng” trong suốt thời gian cho vay nhanh để vốn trong hệ thống không bị nguy hiểm hoặc bị cản trở và do đó không thể kiếm lãi ở nơi khác (tức là không có chi phí cơ hội). Nói cách khác, không tốn kém gì để trở thành một flash render. Số dư khoản vay nhanh của bạn là bao nhiêu?
Các khoản vay flash loan về cơ bản là miễn phí. Thay vào đó, một khoản phí đủ nhỏ để bù đắp chi phí sẽ yêu cầu thêm ba dòng mã để nơi nghỉ cung cấp nhanh chóng. Các khoản vay nhanh không thể tích lũy lãi suất theo cách truyền thống vì thời hạn của khoản vay bằng 0 (APR tùy ý * 0 = 0). Và tất nhiên, nếu tổ chức cung cấp khoản vay nhanh tính lãi suất cao hơn, nó sẽ ngay lập tức tính lãi suất thấp hơn từ các nhóm cho vay nhanh khác. Một số dự án hiện sử dụng các khoản vay nhanh miễn phí như dYdX và AAVE, tính phí 0,09% số tiền gốc của khoản vay nhanh.
Mục đích sử dụng của Flash Loans là gì?
Các khoản vay nhanh ban đầu được biết đến chủ yếu để giao dịch chênh lệch giá. Marble, tác giả của Định nghĩa cho vay nhanh, cho biết:
Các khoản vay nhanh 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 một DEX, bán mã thông báo trên một DEX khác với giá cao hơn, hoàn trả các khoản vay ngân hàng của họ và thực hiện một giao dịch duy nhất bằng khoản vay nhanh. Bạn có thể kiếm lợi nhuận chênh lệch giá trên các giao dịch của mình . Trên thực tế, hầu hết các khoản vay đều được sử dụng cho mục đích này.
Flash Loan dùng để làm gì
Nhưng khối lượng rất nhỏ. AAVE đã nhận được hơn $ 10.000 cho vay kể từ khi thành lập. Đây là mức thấp so với thị trường chênh lệch giá và thanh lý DeFi.
Ngoài ra, bởi vì hầu hết các giao dịch chênh lệch giá đều được thực hiện nhanh chóng bởi 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. Họ tham gia vào các cuộc đấu giá trực tuyến của loại khí được ưa thích và sử dụng mã thông báo bằng khí để có thể nhanh chóng tối ưu hóa phí giao dịch. Đó là một thị trường rất cạnh tranh. Những người này hoàn toàn có thể yên tâm khi giữ một số mã thông báo trên bảng cân đối của họ để tối ưu hóa lợi nhuận của họ.
Mặt khác, vay từ AAVE sẽ tốn khoảng 80.000 gas và cần 0,09% vốn. Trên thực tế, với hầu hết các nhà giao dịch chênh lệch giá AAVE, người đi vay cuối cùng phải tiến hành trả nhiều khoản phí cho nhóm cho vay hơn số tiền họ kiếm được. Về lâu dài, các nhà kinh doanh sẽ có được một chênh lệch giá không có khả năng sử dụng các khoản vay nhanh, ngoại trừ những trường hợp đặc biệt. Nhưng các khoản vay nhanh có các trường hợp sử dụng khác, hấp dẫn hơn trong DeFi. Một ví dụ là tái cấp vốn cho vay.
Làm thế nào để có thể sử dụng Flash Loan
Ví dụ: Bạn khóa Maker Vault (CDP) chứa $ 100 ETH và mượn 40 DAI từ nó. Vì vậy, bạn có một vị thế ròng là $ 60 trừ đi khoản nợ của bạn. Bây giờ chúng tôi muốn tái cấp vốn để có lãi suất tốt hơn.
Đầu tư trả trước thường được yêu cầu, vì vậy việc thêm CDP có thể sẽ yêu cầu mua lại bên ngoài là 40 DAI trên sàn giao dịch này. Thay vào đó, hãy vay nhanh 40 DAI, đóng CDP 100 đô la, gửi 60 đô la ETH đã mở khóa vào Hợp chất, chuyển đổi 40 đô la ETH khác thành DAI thông qua Uniswap và sử dụng nó để bạn có thể thanh toán khoản vay nhanh.
Các cuộc tấn công Flash Loans có ý nghĩa lớn đối với bảo mật
Sự cố đầu tiên là vụ hack bZx, có khả năng là ngọn lửa gây ra các cuộc tấn công tiếp theo. Các khoản flash loan đặc biệt hấp dẫn đối với những kẻ tấn công vì hai lý do chính. Nhiều cuộc tấn công đòi hỏi nhiều khoản đầu tư trả trước (chẳng hạn như các cuộc tấn công thao túng oracle).
Bảo mật thông tin của Flash Loan có hiệu quả không?
Các khoản flash loan sẽ đồng thời làm giảm khả năng tiếp xúc của bạn với những kẻ tấn công. Nếu bạn biết cách vận hành một nhà tiên tri với 10 triệu đô la Ether, bạn có thể không muốn mạo hiểm số vốn của mình ngay cả khi bạn sở hữu nhiều Ether đó. ETH của tôi sẽ bị ảnh hưởng và các sàn giao dịch có thể từ chối tiền gửi của tôi, khiến tiền của tôi khó chảy. Đây là một dạng rủi ro đáng kể! Nhưng ai quan tâm nếu bạn có thể nhận được khoản vay 10 triệu đô la ngay lập tức? Nhóm thế chấp của dYdX không có khả năng bị ảnh hưởng bất lợi.
Bạn có thể không thích thực tế là danh sách đen trao đổi là một phần của mô hình bảo mật blockchain ngày nay. Nhưng với những tính toán đằng sau những cuộc tấn công này, thực tế là rất quan trọng. Trong báo cáo chính thức về Bitcoin của mình, Satoshi giải thích 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ọ.”
Các cuộc tấn công của Flash Loan
Các khoản flash loan loại bỏ nhu cầu của những kẻ tấn công phải chi một số tiền lớn vào các trò chơi. Các khoản vay nhanh thay đổi đáng kể rủi ro của kẻ tấn công. Và hãy nhớ, các khoản vay nhanh có thể chồng chất! Theo giới hạn gas, tất cả số tiền vay nhanh có thể được gộp vào một giao dịch (lên đến 50 triệu đô la), giảm tất cả vốn thành một hợp đồng giòn. Một bộ nhớ khổng lồ trị giá 50 triệu đô la mà bất kỳ ai cũng có thể tham gia ngay bây giờ, miễn là họ có tiền.
Tất nhiên, bạn cũng sẽ không thể tấn công một giao thức chỉ vì bạn có nhiều tiền. Nếu DeFi an toàn như những gì nó tuyên bố thì điều đó không quan trọng. Giao thức nào không an toàn với whale?
Tuy nhiên, chúng tôi nhận thấy rằng chính Ethereum đã phải đối mặt với 51% các cuộc tấn công, dưới 200.000 đô la mỗi giờ. Nếu mô hình bảo mật độc đáo của Ethereum vốn dĩ được xây dựng dựa trên các hạn chế về vốn nhất định, thì tại sao lại có thể nhanh chóng cho rằng một ứng dụng DeFi có thể bị tấn công với giá chỉ 10 triệu đô la?
Làm sao để giảm thiểu những rủi ro do các cuộc tấn công Flash Loans?
Giả sử chúng tôi là một giao thức DeFi và tôi muốn tránh các cuộc tấn công cho vay nhanh. Câu hỏi đầu tiên là, tôi có thể xem liệu người dùng mà tôi đang tương tác có đang sử dụng khoản vay nhanh hay không? Câu trả lời ngắn gọn là không!
Những rủi ro có thể xảy ra khi có Flash Loan
EVM không cho phép anh chị em đọc bộ nhớ từ các hợp đồng khác. Vì vậy, nếu bạn muốn biết điều gì đang xảy ra trong một hợp đồng khác, hợp đồng này sẽ cho bạn biết.
Do đó, nếu bạn muốn biết Lightning Credits đã được sử dụng hay chưa, bạn nên liên hệ trực tiếp với người ký hợp đồng. Nhiều giao thức cho vay ngày nay không đáp ứng các yêu cầu như vậy (và không có cách nào để buộc Express Render làm như vậy).
Làm thế nào để giảm thiểu rủi ro với Flash Loan
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ễ dàng không liên quan do mối liên hệ giữa các hợp đồng ủy quyền và các nhóm cho vay nhanh. Nhìn chung, rất khó để nói liệu người gửi tiền có chấp nhận các khoản vay chớp nhoáng hay không.
Nếu ai đó gõ cửa nhà bạn và đứng trước mặt bạn với một chiếc vali đầy 10 triệu đô la, bạn không biết đó có phải là tiền của họ hay không. bên phải?
Làm thế nào được bảo vệ khỏi các cuộc tấn công Flash Loan Attack?
Từ góc nhìn của hacker, cuộc tấn công này giống như một cơ hội vàng để ngay lập tức vay hàng trăm nghìn đô la ETH từ những người không một xu dính túi. Sau đó, định tuyến nó thông qua một giao thức chuỗi dễ bị tấn công để rút hàng trăm đô la ra khỏi túi của bạn và trả hết khoản vay của bạn. Tất cả điều này xảy ra trong chớp mắt trong một giao dịch Ethereum. Chúng tôi không biết những kẻ tấn công này là ai hoặc họ đến từ đâu. Tất cả đều ra đi không gì khác ngoài số tiền trị giá hàng trăm nghìn USD, không để lại dấu vết giấy tờ tùy thân.
Cách bảo vệ cuộc tấn công với Flash Loan
Ngừng cung cấp dịch vụ Flash Loans
Nói một cách chính xác, cố gắng ngăn những người cho vay cung cấp các khoản vay nhanh cũng giống như cố gắng để có thể bằng mọi cách để ngăn chặn ô nhiễm tiếng ồn.
Việc cung cấp tín dụng nhanh tùy thuộc vào lợi ích của cá nhân của từng giao thức và có những lý do chính đáng tại sao người dùng muốn tính năng này. Đây là cách để loại bỏ nó một cách an toàn.
Người dùng có thể ép buộc các giao dịch quan trọng kéo dài hai khối
Khoản vay nhanh cho phép bạn vay tiền trong một lần giao dịch. Khi yêu cầu một giao dịch sử dụng nhiều vốn kéo dài hai khối, người dùng phải vay ít nhất hai khối để ngăn chặn các cuộc tấn công cho vay nhanh.
(Lưu ý: Để điều này hoạt động, người dùng phải khóa giá trị giữa hai khối để ngăn việc trả nợ). Rõ ràng, điều này dẫn đến sự đánh đổi UX. Điều này có nghĩa là các giao dịch không đồng bộ. Nó cũng vô cùng hấp dẫn cho người dùng và trông khá an toàn. Nhiều nhà phát triển cũng đã rất bối rối và phàn nàn về các hoạt động hợp đồng thông minh không đồng bộ, chẳng hạn như giao tiếp lớp 2 và các tương tác với cross-sharding trong Ethereum 2.0.
Ép buộc các giao dịch quan trọng
Trớ trêu thay, async thực sự bảo vệ các hệ thống này khỏi các cuộc tấn công cho vay nhanh, vì bạn không thể duyệt qua các phân đoạn hoặc lớp 2 trong một giao dịch nhỏ. Điều này có nghĩa là không có các cuộc tấn công cho vay nhanh chống lại các phân đoạn ETH 2.0 hoặc các DEX lớp 2.
Yêu cầu chi tiết những bằng chứng trực tuyến về số dư trước đó của người dùng
Các cuộc tấn công cho vay nhanh có thể bị ngăn chặn nếu có cách xác định số dư ròng của người dùng. Số dư của H trước khi đi vay. Trước khi người dùng có thể tương tác với nhật ký của nền tảng, nền tảng cũng sẽ đưa ra những yêu cầu bằng chứng Merkle rằng có đủ tiền ở cuối khối trước đó để tính cho số vốn hiện đang được sử dụng.
Nền tảng phải theo dõi điều này cho từng người dùng trong mỗi khối. Giải pháp này có một số vô cùng phức tạp. Việc xác thực các bằng chứng trên chuỗi này là rất tốn kém trên chuỗi và không người dùng có thiện chí nào muốn tạo chúng và thanh toán tất cả các hóa đơn gas., Trước đây bạn có thể đã thay đổi một khoản số dư trong cùng một khối. Vì vậy, mặc dù nó có một số giá trị về mặt lý thuyết, nhưng nó không phải là một giải pháp thực tế.
Yêu cầu bằng chứng trực tuyến về số dư
Mặc dù không có giải pháp duy nhất nào có thể tìm mọi cách ngăn chặn hoàn toàn các cuộc tấn công cho vay nhanh, nhưng hai ứng dụng cụ thể có thể giảm thiểu các cuộc tấn công này là phép định giá dựa trên thị trường và mã thông báo quản trị. Đối với các công cụ định giá dựa trên thị trường như Uniswap và OasisDEX, các cuộc tấn công cho vay nhanh khiến không thể sử dụng các mức giá trung bình hiện tại như oracles.
Kế hoạch của những kẻ tấn công là tạo ra một vụ tai nạn chớp nhoáng có thể di chuyển giá thị trường trung bình và phá hủy lời tiên tri về giá trong một giao dịch duy nhất. Giải pháp tốt nhất ở đây là sử dụng theo 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 đồng thời cung cấp được những giải pháp này. Ngoài ra còn có Polaris, một cách tiếp cận để có thể tổng quát cung cấp đường trung bình động cho các giao thức DeFi, nhưng Polaris đã ngừng hoạt động trong nhiều năm.
Kế hoạch của những kẻ tấn công
Quản trị trên chuỗi thường được xác định bằng cách bỏ phiếu theo tỷ trọng tiền xu giữa những người nắm giữ mã thông báo quản trị. Tuy nhiên, nếu các mã thông báo quản trị này nằm trong các khoản vay nhanh, những kẻ tấn công có thể lấy được một lượng lớn tiền và dựa vào kết quả mong muốn.
Tất nhiên, hầu hết các phương thức giao thức quản trị đều yêu cầu khóa mã thông báo trong quá trình bỏ phiếu để giúp ngăn chặn các cuộc tấn công cho vay nhanh. Tuy nhiên, một số hình thức bỏ phiếu không yêu cầu điều này. Thỏa thuận vận hành hoặc biểu quyết CO2 của nhà sản xuất. Trong các cuộc tấn công cho vay nhanh ngày nay, các hình thức bỏ phiếu này nên được coi là hoàn toàn bị phá vỡ.
Những cách tấn công của Flash Loan
Về mặt logic nhất, mã thông báo quản trị hoàn toàn không cho vay, nhưng điều đó phụ thuộc vào thị trường. Do đó, tất cả các hành động quản trị đều yêu cầu một khóa để ngăn chặn các cuộc tấn công tín dụng chớp nhoáng. Mã thông báo COMP mới của Compound tiến thêm một bước nữa bằng cách tính thời gian cho tất cả các phiếu bầu của giao thức và phá hoại ngay cả cuộc tấn công thông tin không thường xuyên vào mã thông báo quản trị.
Nhìn chung, tất cả các mã thông báo quản trị đều yêu cầu thời gian. Timelocks thực hiện tất cả các quyết định hành chính phải đợi một khoảng thời gian nhất định (2 ngày đối với timelocks ghép) trước khi chúng có hiệu lực. Điều này cho phép hệ thống phục hồi sau các cuộc tấn công bất ngờ của quản trị viên.
Ý nghĩa trong dài hạn khi xuất hiện Flash Loan
Tôi nghĩ cuộc tấn công bZx đã thay đổi mọi thứ. Đây cũng không phải là một cuộc tấn công cho vay chớp nhoáng cuối cùng. Cuộc tấn công bZx thứ hai là bản sao của cuộc tấn công đầu tiên và chúng tôi nghi ngờ rằng chúng ta sẽ thấy một chuỗi các cuộc tấn công trong những tháng tới.
Ý nghĩa trong dài hạn khi xuất hiện flash loan
Và điều đó cũng hoàn toàn xảy ra, với một loạt 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 đã xảy ra. (7 triệu đô la Mỹ).
Trên đây là những thông tin cần thiết về flash loan, chúng tôi mong rằng những chia sẻ trên sẽ có ích cho các bạn. Chúc các bạn có được giải pháp tránh né rủi ro của những tình huống này xảy ra.
Nhận xét
Đăng nhận xét