BTC
ETH
HTX
SOL
BNB
Xem thị trường
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

Dễ hiểu trong 5 bước: Cách sử dụng kẽ hở DeFi để kiếm lợi nhuận 360.000 đô la Mỹ

CortexLabs
特邀专栏作者
2020-03-20 08:36
Bài viết này có khoảng 2742 từ, đọc toàn bộ bài viết mất khoảng 4 phút
Trong bài viết này, tôi sẽ hướng dẫn người đọc từng bước thực hiện thao tác "crack" và giải thích thêm về một số bước chính.
Tóm tắt AI
Mở rộng
Trong bài viết này, tôi sẽ hướng dẫn người đọc từng bước thực hiện thao tác "crack" và giải thích thêm về một số bước chính.

Mới đây, một "hacker" đã sử dụng Flash Loan với chi phí gần như bằng không. Xem Ghi chú 1 để biết chi tiết] Khoản vay được cung cấp đã kiếm được 360.000 đô la Mỹ trong một giao dịch (vẫn còn nhiều tranh cãi về việc liệu vụ việc này có thuộc loại "tấn công hack" hay không, bởi vì về mặt kỹ thuật, "Hacker" này không làm gì phạm pháp) . Xem xét số lượng sản phẩm DeFi liên quan đến sự cố "bẻ khóa" này, nếu bạn muốn tạo điều kiện dễ dàng cho những người chỉ mới hiểu sơ bộ về DeFi, bạn phải giải thích các chi tiết liên quan rõ ràng nhất có thể. Trong bài viết này, tôi sẽ hướng dẫn người đọc từng bước thực hiện thao tác "crack" và giải thích thêm về một số bước chính. Để các bạn có thể hiểu sâu hơn và hiểu rõ hơn về sự việc này diễn ra như thế nào, thay vì chỉ “biết sơ sơ”.

chữ

  • Bước 1: Cho vay FlashLoan: vay 10.000 WETH từ dydx.

chữ

  • chữ

  • Bước 3: Giao dịch đòn bẩy ký quỹ dZx: 1300 WETH được nạp vào hợp đồng dZx, đòn bẩy gấp 5 lần để bán. Hoạt động cụ thể có thể được hiểu đơn giản là mượn 5637,623762 WETH từ bZx và bán nó trong Uniswap thông qua KyberSwap, và bán nó sẽ trở thành 51,345576 WBTC.

Bước này thực chất là để vượt qua giá WETH/WBTC trong Uniswap.

Vào thời điểm đó, giá bình thường của WETH/WBTC là khoảng 0,025974 và bước bán này về cơ bản đã làm giảm giá WETH/WBTC trong Uniswap xuống còn 0,00910747. gần ba lần.

chữ

  • Bước 4: Giao dịch Uniswap: Sử dụng 112 BTC đã vay từ Compound ở Bước 2 để mua lại ETH trong Uniswap và mua lại tổng cộng 6871,4127388 ETH.

chữ

  • Bước 5: FlashLoan trả lại: Có 3200 WETH chưa được sử dụng trong 10000 WETH được FlashLoan cho vay, cộng với 6871 WETH được mua lại bằng 112 WBTC ở bước 4, tổng cộng là 10071,4127388 WETH. 10000 WETH để trả lại Khoản vay nhanh. Còn lại 71.4127388.

Tại thời điểm này, toàn bộ hoạt động đã kết thúc.

Miễn là các giao dịch này xảy ra trong một khối thời gian của Ethereum và được đóng gói và xác nhận bởi khối Ethereum tiếp theo, các giao dịch này sẽ được thực hiện theo thời điểm bắt đầu. Điểm mấu chốt: Vì các điều kiện của Khoản vay nhanh được đáp ứng và được trả lại trong một khối, nên các giao dịch của toàn bộ các bước có thể được thực hiện.

Vì vậy, hãy xem thu nhập của Joe:

Từ 5 bước này, có vẻ như Joe chỉ nhận được 71,4127388 WETH.

Nhưng đừng quên: Joe vẫn còn hai vị trí trong Compound và bZx.

Đầu tiên là cho vay thế chấp trong Compound. Thế chấp 5500 WETH và cho vay 112 WBTC.

Cái còn lại là giao dịch đòn bẩy ký quỹ bằng bZx, trong đó 1300 WETH được thế chấp và bán khống với đòn bẩy gấp 5 lần. Còn lại 51,345576 WBTC.

Bởi vì bZx sử dụng giá WETH/WBTC trong Uniswap làm nguồn cấp giá và giá WETH/WBTC trong Uniswap do Joe thao túng. Do đó, theo cách hiểu thông thường, vị trí của Joe trong bZx nên được thanh lý. Nhưng tình hình thực tế là chỉ có 51,345576 WBTC thu được trong hoạt động bước thứ ba còn lại ở vị trí này.

Joe rõ ràng không muốn bỏ qua vị trí này. Ngay cả khi 51,345576 WBTC còn lại bị khấu trừ. (Trên thực tế, bZx đã khấu trừ 51,345576 WBTC.)

Đối với các vị trí trong Hợp chất, Joe quan tâm hơn. Theo giá thông thường của ETH/BTC tại thời điểm này là khoảng 0,025974, Joe chỉ cần chi 4300 WETH từ thị trường để mua 112 WBTC. Sau đó trả lại cho Hợp chất và bạn có thể đổi 5500 WETH. Điều này có thể kiếm được khoảng 1200 WETH.

Do đó, lợi nhuận của Joe trong hoạt động này sẽ là:

1200+ 71.4127388 = 1271.4127388 WETH。

tiêu đề phụ

Vì vậy, vấn đề là gì?

Dựa trên các bước chi tiết ở trên, vấn đề nằm ở hợp đồng thông minh giao dịch sử dụng đòn bẩy ký quỹ của bZx.

Trước hết, bZx sử dụng giá WETH/WBTC trong Uniswap làm giá cấp dữ liệu. Và độ sâu trong Uniswap là không đủ.

Thứ hai, giao dịch đòn bẩy ký quỹ bằng bZx, bất kể mua hay bán, thị trường mua bán cũng là Uniswap. Nói cách khác, chính bZx sẽ có tác động đến giá của Uniswap.

tái bút:

tái bút:

Mục đích của bài viết này không phải là chỉ trích lỗ hổng của bất kỳ sản phẩm DeFi nào sau sự cố, hay chỉ trích hacker mà chúng tôi gọi là Joe.

Mục đích của bài viết này chỉ là để cho phép những người tham gia bình thường hơn trong lĩnh vực tiền điện tử hiểu thêm về logic của các sản phẩm DeFi và nó đơn giản và dễ hiểu nhất có thể.

Đồng thời, tôi cũng mong rằng mọi người có thể nhìn ra nguyên nhân gốc rễ của sự cố này là gì và các nhà phát triển cũng nên rút kinh nghiệm khi thiết kế các sản phẩm DeFi khác.

Thăng hoa hơn nữa, sự cố này đã thực sự làm dấy lên các cuộc thảo luận trong lĩnh vực DeFi về việc có nên thiết lập cái gọi là "quyền của quản trị viên" cho các sản phẩm DeFi hay không. Bài viết này đóng vai trò là phần giới thiệu và chúng tôi có thể tiếp tục chia sẻ loại nội dung này với cộng đồng Cortex Trung Quốc trong tương lai.

CortexLabs Lưu ý 1: Flash Loan, tên dịch theo nghĩa đen của Trung Quốc là Flash Loan. "Cho vay nhanh" là một phương thức bắt đầu nhiều giao dịch trên các nền tảng cho vay DeFi khác nhau trong một khối, tức là cho vay lại giữa các tài sản và khoản nợ khác nhau. "Khoản vay nhanh" cũng là một phương thức cho vay không yêu cầu tài sản thế chấp, với điều kiện là việc phát hành và hoàn trả khoản vay phải được hoàn thành trong cùng một khối Ethereum, theo tốc độ sản xuất khối hiện tại của Ethereum, mất khoảng 13 giây.

DeFi
Chào mừng tham gia cộng đồng chính thức của Odaily
Nhóm đăng ký
https://t.me/Odaily_News
Nhóm trò chuyện
https://t.me/Odaily_CryptoPunk
Tài khoản chính thức
https://twitter.com/OdailyChina
Nhóm trò chuyện
https://t.me/Odaily_CryptoPunk