Đêm qua (2024.2.23) uni đã thu hút thị trường ngay lập tức và giá đã tăng từ 7 lên 7 đô la Mỹ ngay lập tức. 11USD.
Thỏa thuận cho vay gộp cho phép người dùng thế chấp các loại tiền tệ khác (chẳng hạn như usdc) để vay uni. Trong một khoảng thời gian ngắn sau đợt rút tiền tức thì uni này, com pound đã không được cập nhật kịp thời< Giá của span lang="en-US">uni dẫn đến thỏa thuận rằng tài sản thế chấp có giá trị uni thấp có thể được sử dụng để vay uni.
Điều này được phát hiện bởi một số rất ít người, những người đã vay một số lượng lớn đại học để chống lại usdc rồi bán nó Thả uni và biến nó thành usdc, rồi bạn sẽ thấy số usdc nó thu được thực chất nhiều hơn số usdc nó thế chấphợp chất Số lượng.
Hãy để tôi phân tích kỹ cuộc tấn công vào thỏa thuận cho vay này. Nguồn dữ liệu là https://bad-debt.riskdao.org/.
Bốn địa chỉ sau có lợi cho các cuộc tấn công
0x6980a47bee930a4584b09ee79ebe46484fbdbdd0
0x5968ada261a84e19a6c85830e655647752585ed4
0x49bc3cec1fb7978746f742a4e485d0d601831cea
0x2f99fb 66 ea797e7fa2d07262402ab38bd5e53b12 p>
Bây giờ hãy kiểm tra số dư của bốn địa chỉ này trên debank, bạn sẽ thấy rằnghợp chấtTrong thỏa thuận này, 4 địa chỉ này có một khoản nợ nhưng tài sản đảm bảo gần như bằng 0, cụ thể như sau:
Ảnh chụp màn hình này hiển thị rằng địa chỉ 0x2f99fb66ea797e7fa2d07262402ab38bd5e53b12 đã thế chấp 1.1503Dai và 0,051715usdc dưới dạng gộp, nhưng lại vay 28702.7973uni.
Tài sản đảm bảo gần như0< span lang="zh-CN">, nhưng giá trị của khoản vayuni cao tới 330.000 U. Trong trường hợp này, địa chỉ này chắc chắn sẽ không trả được nợ uni.
Ba địa chỉ còn lại đều giống nhau, sử dụng tài sản thế chấp gần như bằng 0 và vay hàng trăm nghìn đồng uni.
Bốn địa chỉ này đã vay tổng cộng 55.565.9001uni. Hiện được tính là 12U, tổng giá trị là 55565,9*12=666790,8 usdt và lỗ 660.000 U .
Tại sao bạn có thể sử dụng gần như 0< /span>Tài sản thế chấp nhưng bạn có thể vay và bán hàng trăm nghìn đồng uni không?
Toàn bộ logic tấn công như sau:
1.Giả sử đó làT0Tại thời điểm hiện tại, giá của uni trên thị trường là7U/uni,hợp chấtNguồn cấp dữ liệu giá cho uni là bình thường và7U/uni
2.Sau đó tạiT1điểm thời gian,uniGiá trên thị trường đột ngột tăng vọt, lập tức đạt 11U/uni11U/ uni< span lang="zh-CN">. Nhưnghợp chấtripairuniCó lỗi trong nguồn cấp dữ liệu giá và nó vẫn ở mức 7U/uni >.
3.Rồi có người phát hiện ra了hợp chấtCóuniNguồn cấp giá sai và tôi ngay lập tức cam kết 20Mười nghìn span>usdcđăng nhậphợp chất< /span>Được dùng làm tài sản thế chấp và vay uniđồng xu, theo đến com< /span>giá thức ăn của bảng Anh ( 7u/uni< /span> và cho vay 85% tỷ giá), Bạn có thể vay 20*0,85=170.000 U của uni, 170000/7=24285.7143 uni, tức là bạn có thể vay 24.000 uni.
4.Sau đó hãy thay đổi điều này 2,4Mười nghìnuni< span lang="en-US">Bán nó trên thị trường (chẳng hạn nhưuniswap v3) và đổi nó lấy usdc, vì giá trên thị trường là 11U/uni nên nó có thể được bán với giá 2,4*11=26,4 wUsdc, cao hơn 64.000 Usdc so với tài sản thế chấp. Đây là lợi nhuận.
Giao dịch sau https://etherscan.io/tx/0xaee0f8d1235584a3212f233b655f87b89f22f1d4890782447c4ef742b37af58d có thể thấy rất rõ logic trên
< p style= "text-align:center">
Nó đã được thế chấp mà tôi đã nhận được 193020 usdc, cho vay 19748 uni, bán uni lấy ETH rồi ETH lấy usdc, và cuối cùng nhận được 195461 usdc, nhiều hơn 195461-193020=2441 usdc so với tài sản thế chấp.
5.v.v.< span lang="en-US">hợp chấtThay đổi kết quả đúnguniSau khi đưa giá tiền tệ vào thỏa thuận, những khoản nợ này chắc chắn sẽ được thanh lý, việc thanh lý sẽ không trong sạch. Ngay cả khi người thanh lý lấy hết tài sản thế chấp thì một lượng lớn nợ uni vẫn sẽ được thanh lý bên trái. Đây là nợ xấu.
hợp chấtTại sao nó xuất hiện uniNguồn cấp giá sai?
Hiện tạihợp chấtMột cuộc bỏ phiếu để sửa lỗilỗi này đã được bắt đầu.
Bởi vìhợp chấtCài đặt giá của uniđồng xu áp dụng Bảo hiểm kép, một người sử dụng chainlinkoracle Đưa giá và cũng sử dụng Uniswap TWAP (giá trung bình theo thời gian). Nhưng tôi đã không kiểm tra sự lựa chọn cụ thể giữa hai nguồn cấp dữ liệu giá. Nhưng đánh giá từ kết quả hiện tại, cả hai đều phải ở mức bình thường cùng một lúc để lãi suất kép có thể hỗ trợ giá bình thường.
Khi giá uni đột ngột tăng vọt, nguồn cấp giá của chainlink vẫn bình thường, nhưng có vấn đề với giá của UniswapTWAP. Giao thức của Hợp chất đã mang lại cho Got giá sai.