Dấu chân on-chain không biết nói dối.
Tuần trước, tôi vô tình mở Dune Analytics để kiểm tra một pool Uniswap V3 ARB/USDC mà một người bạn trong group DeFi than phiền: “Sao TVL tăng vọt mà thanh khoản thực tế lại mỏng thế?”. Tôi không tin vào cảm giác. Tôi tin vào hash giao dịch, block number, và dấu vết của từng địa chỉ.
Trong 7 ngày qua, pool này tăng TVL từ 2.1 triệu USD lên 5.8 triệu USD — một con số hấp dẫn. Nhưng khi tôi thử swap 50,000 USDC, slippage vượt quá 3%. Không hợp lý. Một pool với 5.8 triệu USD thanh khoản, nếu được phân bổ đúng, sẽ xử lý swap 50k với slippage dưới 0.5%.
Tôi mở Etherscan, dán địa chỉ pool. 3 block mới nhất: block 19,542,100; 19,542,103; 19,542,107. Mỗi block đều có hai giao dịch swap giống hệt nhau: một mua ARB, một bán ARB, cùng một lượng — 10 ETH mỗi chiều. Người thực hiện? Một địa chỉ mới tạo, không có lịch sử, không tương tác với bất kỳ giao thức nào khác.
Tôi mỉm cười. Khi bot chạy, thanh khoản ảo lộ nguyên hình.
Context: Thanh khoản ảo — câu chuyện cũ, thủ thuật mới
Thanh khoản ảo không phải chuyện mới. Năm 2020, tôi từng xây bot yield farming để kiểm tra TVL của Uniswap v2 và SushiSwap. Khi thấy pool YFI/ETH tăng TVL 500% trong 48 giờ, tôi phát hiện 3 địa chỉ liên tục swap lẫn nhau — wash trading. Tôi viết query Dune chứng minh hành vi đó, gửi cho đội Uniswap, nhận lời cảm ơn nhưng không được công nhận rộng rãi vì là sinh viên nữ.
Bây giờ, thủ thuật tinh vi hơn. Uniswap V3 cho phép tập trung thanh khoản trong một khoảng giá hẹp. Bot có thể tạo giao dịch mua bán khớp lệnh trong cùng một block, khiến pool ghi nhận khối lượng giao dịch lớn, đẩy phí thu được lên cao, từ đó kéo TVL từ các nhà cung cấp thanh khoản thật vào. Khi LP thật vào, bot rút ra. Đây là chiến trường của tôi.
Core: Chuỗi bằng chứng on-chain
Tôi kéo dữ liệu từ block 19,542,000 đến 19,550,000 — tương đương 1 ngày. 864 blocks.
Bước 1: Phát hiện wash trading Tôi lọc tất cả các swap có sender là cùng một địa chỉ hoặc cùng một mạng lưới địa chỉ (cluster). Kết quả: 312 giao dịch swap đến từ 6 địa chỉ. Cả 6 đều được tạo trong 3 ngày trước, không có lịch sử giao dịch nào khác. Chúng giao dịch với nhau: A swap 10 ETH -> ARB; B swap 10 ETH -> USDC; C swap 10 ETH -> ARB... Một vòng tròn khép kín. Khối lượng giao dịch giả mạo: 6,240 ETH (khoảng 18.7 triệu USD).
Bước 2: Theo dõi dòng tiền Tôi trace ngược lại nguồn tiền của 6 địa chỉ này. Một địa chỉ mẹ — 0x9F4e... — đã gửi 200 ETH cho mỗi địa chỉ con 3 ngày trước. Địa chỉ mẹ này nhận tiền từ sàn Binance 10 ngày trước, với 3 lần rút: 500 ETH, 500 ETH, 200 ETH. Không có lịch sử tương tác DeFi nào khác. Đây là dấu hiệu cổ điển của bot farm — tài trợ từ CEX, dùng để thao túng một pool.
Bước 3: Đo lường thanh khoản thực Tôi tính “thanh khoản thực” bằng cách mô phỏng swap 10,000 USDC qua nhiều block. Giá trượt trung bình: 1.2% — gấp 4 lần mức đáng lẽ có với TVL 5.8 triệu USD. Lý do: thanh khoản tập trung trong một dải giá rất hẹp (từ 1.02 đến 1.04) và phần lớn do bot cung cấp tạm thời. Khi bot không chạy, dải giá đó trống rỗng, LP thật chỉ nằm rải rác với mật độ thấp.
Bước 4: Phát hiện “TVL ảo” Tôi dùng npm Dune Analytics để query số dư pool theo từng tick. Kết quả: 62% thanh khoản tập trung ở tick -2 đến +2 xung quanh giá spot. 6 địa chỉ bot chiếm 58% tổng thanh khoản ở dải này. Khi bot ngừng hoạt động (kiểm tra lúc 3h sáng UTC), thanh khoản dải đó giảm 89%, TVL pool rơi từ 5.8M xuống 1.2M. Đó là sự thật.
Contrarian: TVL không phải lúc nào cũng là tín hiệu tốt
Nhiều người nghĩ TVL tăng là dấu hiệu dự án khỏe. Sai. Trong trường hợp này, TVL tăng chính xác là tín hiệu nguy hiểm. Tương quan không phải nhân quả. TVL tăng do bot thổi phồng để thu hút LP thật vào làm thanh khoản “chống đỡ”, rồi bot rút ra — LP thật mắc kẹt với thanh khoản mỏng, dễ bị impermanent loss khủng khiếp.
Còn một góc tối nữa: đội dự án có thể đứng sau bot này để làm đẹp số liệu farm điểm airdrop? Không loại trừ. Nếu ARB chưa có airdrop, việc thổi phồng khối lượng và TVL có thể là chiến thuật để tăng cơ hội nhận token. Tuy nhiên, tôi không có bằng chứng trực tiếp — chỉ là phỏng đoán từ mô hình hành vi.
Takeaway: Tín hiệu tuần tới
Pool ARB/USDC này sẽ tiếp tục bị bot khai thác cho đến khi LP thật nhận ra và rút tiền. Nếu bạn đang cung cấp thanh khoản ở pool này, hãy kiểm tra dải giá của bạn. Nếu nó nằm trong khoảng 1.02–1.04, khả năng cao bạn đang bị bot “dắt mũi”. Dấu chân on-chain không biết nói dối — nhưng chỉ khi bạn chịu nhìn vào nó.
Câu hỏi dành cho bạn: Lần cuối bạn kiểm tra tỷ lệ thanh khoản do top 10 ví nắm giữ trong pool bạn đầu tư là khi nào?