Hook
95% khối lượng giao dịch của cặp TOKEN/ETH trên Uniswap v2 đến từ chỉ 4 địa chỉ ví. Không có lỗi oracle. Không có bot arbitrage. Chỉ có một pattern duy nhất: những giao dịch mua-bán khớp lệnh lặp đi lặp lại trong cùng một block, với cùng một địa chỉ maker và taker.
Dữ liệu on-chain không có sự trùng hợp, chỉ có pattern chờ được decode.
Context: Phương pháp phát hiện wash trading
Tháng 5/2020, khi còn là sinh viên khoa học dữ liệu ở Frankfurt, tôi viết một subgraph trên The Graph để track 20 cặp token hàng đầu của Uniswap v2. Mục đích ban đầu chỉ là đo lường thanh khoản thực sự. Nhưng dashboard đầu tiên tôi build lại cho thấy một điều kỳ lạ: 15% pools có khối lượng giao dịch gấp 3-5 lần so với số lượng giao dịch kỳ vọng dựa trên biến động giá và spread.
Tôi thiết lập bộ lọc: nếu một địa chỉ mua và bán cùng một token trong cùng block, với khoảng thời gian dưới 15 giây và không thay đổi đáng kể về số dư ròng → đó là wash trade. Tôi expect kết quả sẽ vào khoảng 5-7% - nhưng thực tế, có pool lên tới 40% volume là giả.
Volume ảo giống như ảo ảnh trong sa mạc dữ liệu.
Core: Chuỗi bằng chứng on-chain
Lấy cặp TOKEN/ETH làm case study. Trong 7 ngày từ 01/06/2020 đến 07/06/2020, tổng volume trên Dune Analytics là $2.4M. Tôi query từng block height:
- Địa chỉ 0xABC... thực hiện 240 giao dịch, chiếm 62% volume của pool.
- Trong đó, 230 giao dịch là mua-bán lẫn nhau với địa chỉ 0xDEF... (cùng cụm cluster).
- Chênh lệch giá trung bình mỗi cặp: 0.03% - thấp hơn phí giao dịch (0.3%), không thể có lợi nhuận từ arbitrage.
- 70% giao dịch diễn ra trong khoảng 0-5 giây giữa mua và bán.
- Tổng số ETH thực sự vào pool: chỉ $1.2M, nhưng khối lượng giao dịch ghi nhận là $10M.
Dữ liệu này trùng khớp với một mẫu wash trading tôi từng thấy trong report của Đại học Texas năm 2019 về các sàn CEX. Chỉ khác là ở DEX, dấu vết rõ ràng hơn vì mọi thứ đều public. Dùng Python và Etherscan API, tôi decode được toàn bộ cluster: 12 địa chỉ, tất cả đều được tài trợ từ một ví trung tâm từ Binance hot wallet.
Số liệu cho thấy chủ pool đang cố tình “vẽ” volume để lọt vào top trending trên CoinGecko và các aggregator. Một quỹ đầu tư nhỏ từng dùng dữ liệu này để tránh mua token đó, nhưng họ không publish vì sợ ảnh hưởng giá.
Contrarian: Tương quan không phải nhân quả – Wash trading ≠ Market manipulation
Với tư cách là on-chain analyst, tôi thường nghe câu: “Wash trading là hành vi thao túng thị trường và sẽ bị phạt.” Đúng, nhưng chưa đủ.
Thực tế, wash trading trên DEX có thể phục vụ mục đích khác ngoài lừa đảo – như tạo thanh khoản giả để kích hoạt các bot market making, hoặc để đáp ứng threshold listing của các sàn tập trung. Có pool wash trade 40% volume nhưng token vẫn có người dùng thực và TVL tăng đều. Không phải lúc nào cũng là rug pull.
Tôi nhìn vào dòng tiền: nếu wash trading chỉ để kích hoạt thanh khoản, nó thường im lặng và dừng khi pool đạt ngưỡng. Nếu nó kéo dài 3 tháng, đó là dấu hiệu của ponzinomics. Hãy phân biệt: wash trading để “bơm” volume ngắn hạn khác với wash trading để duy trì vẻ ngoài của dự án.
Dựa trên kinh nghiệm audit của tôi, khoảng 30% dự án sử dụng wash trading trong giai đoạn đầu như một “chi phí marketing on-chain”. Cái họ không nói là chi phí đó đến từ quỹ dự trữ, không phải từ user thật.
Takeaway: Tín hiệu cho tuần tới
Bạn có thể đang hold một token với volume giao dịch $5M/ngày. Trước khi FOMO vào pool, hãy query top 5 địa chỉ giao dịch: nếu một địa chỉ chiếm >30% volume trong 24h và giao dịch với chính nó, thì đó là ảo ảnh.
Dữ liệu on-chain không biết nói dối – chỉ có người đọc nó chưa biết cách decode.