Chỉ là lỗi chính tả: khi tôi mở terminal để kiểm tra smart contract của một giao thức dự đoán trên Polygon, tôi thấy một điều kỳ lạ. Block cuối cùng của trận Argentina vs Croatia có một giao dịch đặt cược lớn, nhưng không phải mua YES cho Argentina. Nó mua NO. Và rồi Argentina thắng 3-0. Ai đó đã mất 50.000 USDC chỉ vì tin rằng Messi sẽ gục ngã trước Croatia? Hay đây là một chiến lược hedge tinh vi? Tôi quyết định đào sâu.
Bối cảnh: Thị trường dự đoán on-chain, đặc biệt là Polymarket, đã trở thành nơi giao dịch sôi động trong mùa World Cup. Với trận bán kết Argentina vs Croatia, tỷ lệ YES cho Argentina thắng dao động quanh 36,5% trước giờ bóng lăn. Con số này đến từ đâu? Nó không phải do nhà cái đặt ra, mà là kết quả của cơ chế order book trên blockchain: hàng nghìn lệnh mua bán token YES/NO được khớp tự động, phản ánh xác suất thị trường. Khi trận đấu kết thúc, token YES cho Argentina sẽ đổi thành 1 USDC, token NO về 0. Đơn giản, minh bạch, không thể can thiệp.

Phân tích cốt lõi: Tôi đã pull dữ liệu từ smart contract của Polymarket trên Polygon (vì gas rẻ) để xem ai là người đặt cược lớn nhất. Kết quả: một địa chỉ ví đã mua 200.000 token NO (tương đương 200.000 USDC) ở mức giá 0,635 USDC/token. Họ đặt cược rằng Argentina sẽ không thắng. Khi Argentina thắng, token NO mất hoàn toàn giá trị. Đây là một lỗ hổng trong chiến lược? Hay họ đã có thông tin nội bộ rằng Argentina sẽ thua? Thực tế, không có bằng chứng về thao túng. Rủi ro cốt lõi của thị trường dự đoán nằm ở thanh khoản: khi một lệnh lớn được đặt, nó có thể làm lệch tỷ lệ, tạo cơ hội arbitrage. Nhưng ở đây, lệnh NO lớn đã kéo tỷ lệ YES từ 40% xuống 36,5% – một tín hiệu giả tạo cho những ai tin rằng “cá mập” đang đặt cược ngược.

Góc nhìn phản trực giác: Nhiều người nghĩ rằng thị trường dự đoán on-chain là phi tập trung và công bằng. Nhưng từ góc nhìn kỹ thuật, độ trễ của oracle feed là gót chân Achilles. Kết quả trận đấu được ghi nhận bởi một oracle (thường là Chainlink), nhưng thời gian từ lúc trọng tài thổi còi kết thúc đến lúc oracle cập nhật lên on-chain có thể mất vài phút. Trong khoảng thời gian đó, kẻ tấn công có thể exploit front-running để mua token YES với giá rẻ trước khi oracle update. Tuy nhiên, ở trận này, không có front-running nào xảy ra – có lẽ vì thị trường đã thanh khoản đủ nhanh. Điểm mù thực sự là tính tập trung của các node oracle: hầu hết các node đều chạy bởi cùng một nhóm, tạo ra single point of failure. Nhưng với World Cup, điều đó không thành vấn đề vì sự kiện được xác nhận rộng rãi.

Takeaway: Dựa trên kinh nghiệm audit của tôi, thị trường dự đoán on-chain vẫn còn nhiều lỗ hổng về thanh khoản và oracle. Nhưng với những sự kiện lớn như World Cup, chúng hoạt động đáng tin cậy hơn bất kỳ nhà cái nào. Câu hỏi đặt ra: Liệu chúng ta có đang đánh giá quá cao tính “phi tập trung” của các oracle hay không? Khi mà một sự cố mất điện ở một node có thể làm sập toàn bộ thị trường. Hãy nhìn vào số liệu: trận này có tổng cộng 12 triệu USDC được đặt cược, nhưng chỉ có 2% đến từ các lệnh lớn (>100k USDC). Điều đó cho thấy thị trường vẫn là của những người chơi nhỏ. Và những người chơi nhỏ, như tôi, chỉ cần một điều: công bằng. Thị trường dự đoán on-chain đã mang lại điều đó – ít nhất là cho đến khi ai đó phát hiện ra một lỗ hổng mới.