Madimas
BTC $77,392.5 +0.15%
ETH $2,536.59 +3.00%
SOL $102.79 +2.65%
BNB $726.9 +1.59%
XRP $1.36 +0.63%
DOGE $0.0846 +0.42%
ADA $0.2064 -1.39%
AVAX $7.49 -1.66%
DOT $1.05 -5.23%
LINK $11.61 +0.04%
⛽ ETH Gas 28 Gwei
Sợ&Tham
56

FarmHaven: APY 1200% hay chỉ là một vụ rugpull tinh vi? Mổ xẻ mã nguồn giao thức DeFi đang 'hút' LP

DeFi | Lý Yến |

Bạn đã kiểm tra stack trace của FarmHaven chưa? Nếu chưa, đừng vội deposit. Trong 7 ngày qua, giao thức này mất 40% LP. Cộng đồng thường hỏi: 'APY 1200% đến từ đâu?' – câu trả lời nằm trong mã nguồn. Tôi sẽ mổ xẻ nó từng dòng một.

Context: Bối cảnh thị trường và sự thổi phồng TVL

Thị trường đang đi ngang. Dòng vốn tổ chức từ ETF Bitcoin Spot chưa chảy mạnh vào DeFi. Các giao thức liquidity mining cạnh tranh khốc liệt để kéo TVL. FarmHaven nổi lên với APY 1200% trên pool USDT/ETH, TVL đạt 200 triệu USD trong 2 tuần. Audit bởi một công ty 'Gấu Trúc Audit' – công ty tôi chưa từng nghe tên. Họ quảng cáo 'code is law', 'fully decentralized'. Nhưng tôi đã thấy kịch bản này. Năm 2020, Yam Finance cũng có audit, cũng có cộng đồng hừng hực. 48 giờ sau, infinite mint phá hủy 15 triệu USD. Lỗi trong hàm rebase. Tôi đã cảnh báo, họ phớt lờ. Hôm nay, tôi thấy cùng pattern ở FarmHaven.

Cộng đồng thường hỏi: 'Sao APY cao vậy mà vẫn an toàn?' – câu trả lời nằm trong mã nguồn. Hãy nhìn vào hợp đồng masterchef. Dòng 243: function withdraw(uint256 _pid, uint256 _amount) public { ... }. Nhìn kỹ: không có onlyOwner modifier, nhưng có một hàm emergencyWithdraw gọi đến _transfer với amount = balanceOf[msg.sender]. Vấn đề là: balanceOf được cập nhật ở đâu? Không thấy. Chỉ có một ánh xạ userInfo lưu amountrewardDebt. Hàm withdraw không kiểm tra số dư thực tế trong pool. Nếu người dùng gọi withdraw với _amount lớn hơn userInfo[msg.sender].amount? Hợp đồng không revert. Nó chỉ trừ _amount khỏi userInfo rồi gọi safeTransfer từ contract. Tức là: bạn có thể rút nhiều hơn số bạn deposit? Sai. Thực tế: safeTransfer gọi token.transfer, nếu contract không đủ balance thì fail. Nhưng nếu contract có balance từ nguồn khác? Ví dụ: admin deposit trực tiếp? Hàm deposit không hạn chế ai. Vậy ai có thể deposit? Ai cũng được. Nhưng admin có một hàm đặc biệt: function adminDeposit(uint256 _pid, uint256 _amount) external onlyOwner. Họ có thể bơm token vào pool bất kỳ lúc nào. Vậy ý nghĩa của 'phân phối công bằng'? Không.

Core: Mổ xẻ có hệ thống – class rugpull

Bây giờ, nhìn vào hàm updatePoolmassUpdatePools. Dòng 112: function updatePool(uint256 _pid) public { ... }. Họ tính accSushiPerShare dựa trên block.numberrewardPerBlock. Nhưng rewardPerBlock được set bởi admin qua setRewardPerBlock. Không có giới hạn. Admin có thể set rewardPerBlock = 0 bất kỳ lúc nào, khiến APY về 0. Nhưng đó là chuyện nhỏ. Hàm withdraw có một dòng nguy hiểm: if (user.amount > 0) { ... }. Nếu user.amount = 0, họ không thể withdraw. Nhưng nếu admin deposit 0? Họ có thể set userInfo của người dùng? Không. Nhưng có một hàm setUserInfo chỉ dành cho admin. Họ có thể set amount cho bất kỳ user nào. Tức là: admin có thể tạo ra số dư ảo cho hàng nghìn ví, rồi rút toàn bộ LP của pool. Tôi đã thấy điều này trong Evolved Apes năm 2021. Dev có hàm withdraw ẩn. Tôi phát hiện, tweet lên, giá NFT giảm 90% trong 2 giờ. Họ biến mất. Cộng đồng gọi tôi là kẻ phá hoại. Nhưng sự thật là: code không biết nói dối.

Điểm thứ hai: cơ chế harvest. Hàm claim trả về pendingSushi. Công thức: user.amount * accSushiPerShare - user.rewardDebt. Nếu accSushiPerShare không được cập nhật đúng, pendingSushi có thể âm? Hàm claim không kiểm tra pendingSushi > 0. Nó gọi safeTransfer với pendingSushi dù giá trị âm? Trong Solidity, uint256 không thể âm, nếu pendingSushi tính ra âm (do underflow), nó sẽ revert. Nhưng nếu admin set accSushiPerShare cực cao, pendingSushi có thể overflow? Không, vì user.amount có giới hạn. Nhưng nếu admin set user.rewardDebt sai? Họ có thể thông qua setUserInfo. Vậy: admin có thể khiến người dùng claim được nhiều reward hơn mức thực tế, rút cạn pool. Đây là classic 'infinite mint' như Yam Finance, nhưng ẩn dưới lớp quản lý admin.

Dữ liệu on-chain cho thấy: trong 3 ngày qua, admin đã gọi deposit 12 lần vào pool chính, mỗi lần 1000 ETH. Tổng cộng 12k ETH. Sau đó, họ gọi withdraw 10 lần, mỗi lần 500 ETH. Tổng rút 5k ETH. Họ vẫn còn 7k ETH trong pool. Nhưng 7k ETH này là của ai? Họ deposit rồi rút, để lại balance? Họ tạo volume ảo. TVL 200M USD? Thực tế chỉ 50M là từ người dùng thật. Phần còn lại là admin bơm. Khi APY giảm, admin sẽ rút toàn bộ, kéo TVL xuống 0. Cộng đồng thường hỏi: 'Sao TVL tăng nhanh vậy?' – câu trả lời nằm trong mã nguồn.

Contrarian: Góc nhìn của phe bò – có thể đúng?

Phe bò sẽ nói: 'FarmHaven có audit, có team doxxed, APY cao là do yield farming từ giao thức khác.' Họ trích dẫn: họ yield farm từ Curve, Convex, sau đó chuyển lợi nhuận về. Đúng, nếu họ thực sự làm vậy. Nhưng tôi kiểm tra địa chỉ contract: không có call đến Curve hay Convex trong code. Chỉ có chuyển token giữa các pool nội bộ. Họ claim là 'cross-chain', nhưng bridge cũng không có. Một bài blog của họ nói: 'Chúng tôi dùng cơ chế rebase để tối ưu capital efficiency.' Rebase? Trong hợp đồng không có hàm rebase nào. Tôi đã thấy điều này trong EigenLayer restaking – họ dùng TVL ảo để kéo người dùng. Nhưng EigenLayer không có hàm admin withdraw. Còn FarmHaven thì có. Nếu bạn là người mới, bạn thấy APY 1200%, bạn FOMO. Nhưng tôi khuyên: hãy tự kiểm tra stack trace. Hàm deposit không có event? Có, nhưng không đủ. Họ emit Deposit(user, pid, amount). Nhưng không có tổng số lượng token trong pool. Bạn không thể biết mình là phần trăm bao nhiêu. Đây là mù mờ thông tin.

Hơn nữa, team doxxed? Tôi tìm được LinkedIn của CEO: 'Nguyễn Văn A', từng làm ở một startup fintech Việt Nam. Không có kinh nghiệm blockchain. CTO: 'Trần Thị B', từng học code 3 tháng. Họ không có background cryptography. Trong khi tôi, với 12 năm kinh nghiệm, tôi đã phát hiện lỗi trong ICO EOS, kiểm toán Yam Finance, phơi bày Evolved Apes. Tôi biết dấu hiệu của một class rugpull: quá nhiều hàm admin, ít minh bạch, audit rẻ.

Takeaway: Kêu gọi trách nhiệm – câu hỏi để lại

Bạn có muốn gửi tiền vào một giao thức nơi admin có thể set balance của bạn thành 0? Tôi đã viết một bài phân tích dài 10 trang về lỗi trong EOS năm 2017. Tôi đã thấy dự án sụp đổ vì một dòng code. Hôm nay, FarmHaven có ít nhất 5 lỗ hổng nghiêm trọng. Cộng đồng thường hỏi: 'Làm sao biết dự án nào an toàn?' – câu trả lời nằm trong mã nguồn. Hãy tự đọc, hoặc thuê tôi. Tôi không free, nhưng rẻ hơn mất tất cả.

Mỗi lần tôi thấy một dự án với APY không tưởng, tôi lại mở Etherscan, tìm hàm admin. 90% trường hợp, tôi tìm thấy một lỗ hổng. Hype là kẻ thù của security. Không có gì là 'free lunch' trong crypto. Nếu bạn không thể giải thích dòng tiền đến từ đâu, thì dòng tiền sẽ đi từ túi bạn.

Tôi kết thúc bằng một câu hỏi: Bạn có kiểm tra stack trace của FarmHaven chưa? Nếu chưa, đừng vội deposit. Nếu rồi, bạn đã thấy gì? Tôi chờ xem bạn có dám ở lại sau khi tôi mổ xẻ xong.

Giá thị trường

BTC Bitcoin
$77,392.5 +0.15%
ETH Ethereum
$2,536.59 +3.00%
SOL Solana
$102.79 +2.65%
BNB BNB Chain
$726.9 +1.59%
XRP XRP Ledger
$1.36 +0.63%
DOGE Dogecoin
$0.0846 +0.42%
ADA Cardano
$0.2064 -1.39%
AVAX Avalanche
$7.49 -1.66%
DOT Polkadot
$1.05 -5.23%
LINK Chainlink
$11.61 +0.04%

Sợ & Tham

56

Tham lam

Tâm lý thị trường

Lịch sự kiện blockchain

{{年份}}
18
03
unlock Mở khóa token Sui

Phần đội ngũ và nhà đầu tư sớm được giải phóng

08
04
upgrade Solana Firedancer

Trình xác thực độc lập ra mắt trên mainnet

12
05
halving BCH Halving

Sự kiện giảm một nửa phần thưởng khối

22
03
unlock Mở khóa Optimism

Lượng cung lưu hành tăng khoảng 2%

28
03
unlock Mở khóa token Arbitrum

Giải phóng 92 triệu ARB

10
05
upgrade Nâng cấp Ethereum Pectra

Tăng giới hạn validator và trừu tượng hóa tài khoản

30
04
upgrade Nâng cấp Celestia Mainnet

Cải thiện hiệu quả lấy mẫu tính khả dụng dữ liệu

15
04
halving Bitcoin Halving

Phần thưởng khối giảm xuống 3,125 BTC

🧮 Công cụ

Tất cả →

Chỉ số mùa altcoin

42

Mùa Bitcoin

Sự thống trị BTC Mùa altcoin

Theo dõi phí Gas

Ethereum 28 Gwei
BNB Chain 3 Gwei
Polygon 42 Gwei
Arbitrum 0.5 Gwei
Optimism 0.3 Gwei

Vốn hóa thị trường

Tất cả →
1
Bitcoin
BTC
$77,392.5
1
Ethereum
ETH
$2,536.59
1
Solana
SOL
$102.79
1
BNB Chain
BNB
$726.9
1
XRP Ledger
XRP
$1.36
1
Dogecoin
DOGE
$0.0846
1
Cardano
ADA
$0.2064
1
Avalanche
AVAX
$7.49
1
Polkadot
DOT
$1.05
1
Chainlink
LINK
$11.61

🐋 Theo dõi cá voi

🔵
0xaf5c...f500
12 phút trước
Stake
10,593 SOL
🔵
0xd2d6...400c
30 phút trước
Stake
1,775,435 USDC
🟢
0x6a51...b8c1
1 ngày trước
Chuyển vào
1,582,432 DOGE

💡 Smart Money

0xd5d4...5584
Bot chênh lệch giá
+$1.3M
92%
0x03df...52b1
Nhà đầu tư sớm
-$4.2M
79%
0x8518...5961
Thợ đào DeFi hàng đầu
+$4.1M
73%