Khi code chạy, tôi mới biết mình sai ở đâu: Vụ rug pull Squiggles và bài học thanh khoản giả

GameFi | Lê Tuệ |

Hook

0.8 ETH. Đó là số tiền tôi mất trong 3 phút. Bot floor sweep của tôi vừa mua 12 NFT từ bộ sưu tập Squiggles – một dự án 10k item với floor giá 0.05 ETH. Tôi tưởng mình đang arbitrage. Thực ra tôi đang hút thanh khoản giả. Khi code chạy, tôi mới biết mình sai ở đâu.

Context

Cuối 2021, thị trường NFT điên cuồng. Ai cũng muốn sweep floor – mua hết những NFT rẻ nhất trong một collection để đẩy giá lên. Tôi viết một script Python kết nối OpenSea API, tự động quét danh sách listing, mua bất kỳ token nào dưới 0.05 ETH. Logic đơn giản: nếu giá thấp hơn ngưỡng thì mua, không cần kiểm tra thêm. Tôi chạy bot 2 ngày, kiếm 1.5 ETH lợi nhuận từ 30 giao dịch. Mọi thứ có vẻ hoàn hảo. Cho đến khi tôi gặp Squiggles.

Khi code chạy, tôi mới biết mình sai ở đâu: Vụ rug pull Squiggles và bài học thanh khoản giả

Squiggles là một collection 10k item, mới lên sàn, floor giá 0.06 ETH. Bot tôi thấy một loạt NFT giảm xuống 0.04 ETH, 0.03 ETH, thậm chí 0.02 ETH. Tôi nghĩ đây là cơ hội. Script mua 12 cái trong 3 phút. Tổng cộng 0.8 ETH. 30 giây sau, floor giá Squiggles biến mất. Toàn bộ thanh khoản trên OpenSea sụp đổ. Tôi kiểm tra contract – team đã rút hết ETH từ contract, lock listing, và biến mất.

Core

NFT floor sweep script dạy tôi về thanh khoản giả. Khi tôi audit contract Squiggles sau vụ việc, tôi phát hiện ba dấu hiệu kỹ thuật quan trọng:

  1. Ownership chưa được chuyển giao: Contract vẫn nằm dưới quyền kiểm soát của deployer, không có renounceOwnership(). Một dấu hiệu cổ điển: team có thể thay đổi listing, rút tiền, hoặc hủy giao dịch bất kỳ lúc nào. Bot của tôi không kiểm tra điều này.
  1. Liquidity pool không tồn tại: NFT trên OpenSea chỉ có thanh khoản từ các listing tự do. Nhưng collection Squiggles không có bất kỳ pool thanh khoản nào trên LooksRare hay X2Y2. Điều đó có nghĩa là team tự tạo listing ảo với giá thấp để đánh lừa bot. Họ đặt 200 NFT giá 0.02 ETH, nhưng không có người bán thật. Khi bot mua, team nhận ETH và hủy listing còn lại.
  1. Hợp đồng vesting khả nghi: Tôi mở contract trên Etherscan, thấy một hàm emergencyWithdraw không được comment. Hàm đó cho phép deployer rút toàn bộ số dư ETH từ contract bất kỳ lúc nào. Một collection thật sự không cần hàm đó nếu không có kế hoạch rug.

Sau khi mất 0.8 ETH, tôi refactor script. Thêm ba bước kiểm tra trước mỗi giao dịch:

  • Kiểm tra owner của contract có phải là zero address không (đã renounce chưa?)
  • Kiểm tra số lượng listing thực tế trên ít nhất 2 sàn khác nhau (OpenSea + LooksRare) để phát hiện thanh khoản ảo.
  • Kiểm tra lịch sử giao dịch của deployer: nếu deployer vừa tạo contract vài giờ trước, chưa có bất kỳ giao dịch bán nào từ ví khác, đó là dấu hiệu rug.

Kết quả: Bot chạy ổn định 2 tháng sau đó, không mất thêm một giao dịch lừa đảo nào.

Contrarian

Nhiều người nghĩ rug pull chỉ xảy ra với các dự án DeFi thiếu audit. Thực tế, NFT rug pull dễ hơn nhiều vì thanh khoản trên thị trường secondary rất mỏng. Một bot sweep floor không kiểm tra ownership sẽ trở thành nạn nhân hoàn hảo. Tôi từng cho rằng chỉ cần đọc contract là đủ. Sai lầm: đọc contract không đồng nghĩa với hiểu cơ chế thanh khoản. Mỗi lần thua, tôi đều refactor code và tâm lý. Lần này, tôi học được rằng dữ liệu on-chain không bao giờ đủ nếu thiếu phân tích hành vi người dùng.

Khi code chạy, tôi mới biết mình sai ở đâu: Vụ rug pull Squiggles và bài học thanh khoản giả

Câu chuyện Squiggles không phải cá biệt. Theo dữ liệu từ RugDoc, 70% rug pull NFT trong 2021 sử dụng chiêu thức listing ảo kết hợp với listing giảm giá để dụ bot. Smart money không bao giờ sweep floor mà không kiểm tra volume thực tế. Họ nhìn vào số lượng giao dịch thật, không chỉ floor giá.

Khi code chạy, tôi mới biết mình sai ở đâu: Vụ rug pull Squiggles và bài học thanh khoản giả

Takeaway

Tôi vẫn sweep floor, nhưng không còn tin vào một con số nữa. Thanh khoản giả là thứ phá bot mạnh nhất. Câu hỏi đặt ra: khi bạn nhìn thấy một collection giảm giá mạnh, bạn có dám chắc đó là cơ hội hay cái bẫy? Hãy mở contract lên, kiểm tra ownership, và nhìn vào dòng lệnh thật – bot không biết sợ, nhưng bạn thì có thể.

Giá thị trường

BTC Bitcoin
$78,999.4 -2.14%
ETH Ethereum
$2,464.21 -1.75%
SOL Solana
$96.85 -4.63%
BNB BNB Chain
$699.9 -2.07%
XRP XRP Ledger
$1.44 -4.71%
DOGE Dogecoin
$0.0868 -6.01%
ADA Cardano
$0.2112 -6.18%
AVAX Avalanche
$7.4 -2.72%
DOT Polkadot
$0.8577 -5.79%
LINK Chainlink
$11.37 -3.44%

Sợ & Tham

65

Tham lam

Tâm lý thị trường

Lịch sự kiện blockchain

{{年份}}
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%

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

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

08
04
upgrade Solana Firedancer

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

15
04
halving Bitcoin Halving

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

18
03
unlock Mở khóa token Sui

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

28
03
unlock Mở khóa token Arbitrum

Giải phóng 92 triệu ARB

Chỉ số mùa altcoin

41

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
$78,999.4
1
Ethereum
ETH
$2,464.21
1
Solana
SOL
$96.85
1
BNB Chain
BNB
$699.9
1
XRP Ledger
XRP
$1.44
1
Dogecoin
DOGE
$0.0868
1
Cardano
ADA
$0.2112
1
Avalanche
AVAX
$7.4
1
Polkadot
DOT
$0.8577
1
Chainlink
LINK
$11.37

🐋 Theo dõi cá voi

🔵
0x4395...a577
5 phút trước
Stake
2,491,321 USDT
🔴
0x49d1...8526
3 giờ trước
Chuyển ra
4,971.95 BTC
🔵
0x8a84...9d9c
1 giờ trước
Stake
1,961,346 USDT

💡 Smart Money

0x3894...72db
Nhà đầu tư sớm
+$1.3M
85%
0xe99c...fd6f
Bot chênh lệch giá
-$2.3M
60%
0xb7c3...e879
Ví lưu ký tổ chức
+$3.9M
70%

🧮 Công cụ

Tất cả →