Tuần trước, tôi fork repo của một giao thức oracle và phát hiện điều gì đó kỳ lạ: một dự án đang claim ‘giải pháp phi tập trung cho dữ liệu địa chính trị’ – nhưng code lại hardcode endpoint của một hãng tin duy nhất. Điều đó khiến tôi nhớ đến câu chuyện về Iran và cái radar 72.5% trên Polymarket. Một con số được dán nhãn ‘dự báo thị trường’, nhưng nếu bạn nhìn vào merkle tree của oracle, bạn sẽ thấy nó không khác gì một chiếc vali hai lớp đáy.
Hãy bắt đầu với bối cảnh. Đầu tháng 7/2024, một bài báo của Crypto Briefing đưa tin về xác suất 72.5% Iran sẽ tấn công radar của Kuwait, được tổng hợp từ một thị trường dự đoán trên Polymarket. Nghe có vẻ thú vị, đúng không? Dữ liệu on-chain minh bạch, real-time, có thể giao dịch. Nhưng tôi đã ngồi xuống, trace execution path của hợp đồng giải quyết (resolution contract) của thị trường đó, và phát hiện ra những giả định tin cậy vô cùng mong manh.
Báo cáo audit tiết lộ điều thú vị: hầu hết các oracle cho thị trường dự đoán kiểu “sự kiện địa chính trị” đều dựa vào một bộ trọng tài trung tâm (centralized arbiter) – thường là một nhóm người dùng token của UMA hoặc một DAO nhỏ. Nếu bạn đọc kỹ whitepaper của Polymarket, họ có cơ chế “optimistic oracle” cho phép thách thức kết quả, nhưng quy trình này mất từ 2-7 ngày. Với tin tức chiến sự, 7 ngày là một thế kỷ. Đó là lý do vì sao 72.5% thực chất là 72.5% niềm tin vào tốc độ và tính toàn vẹn của oracle, chứ không phải xác suất thực tế của sự kiện.
Đây là những gì code thực sự nói: tôi đã đào sâu vào một thị trường tương tự trên Azuro (một giao thức dự đoán khác) và thấy rằng hợp đồng giải quyết tham chiếu đến một URL cụ thể từ Reuters. Nếu URL đó bị hack, hoặc nếu có một kịch bản “tấn công Sybil” vào bộ trọng tài của UMA, kết quả có thể bị uốn cong hoàn toàn. Trong 10 năm audit của tôi, tôi chưa từng thấy ai kiểm tra kỹ thuật khả năng chống tấn công này. Họ chỉ nhìn vào TVL và thanh khoản.
Điều trớ trêu là chính bản chất của dự đoán địa chính trị lại tạo ra incentive mạnh mẽ cho việc thao túng. Nếu một quốc gia có thể chi 1 triệu USD để đẩy YES lên 90%, họ vừa tạo ra một công cụ tuyên truyền: “nhìn đi, thị trường tin rằng chúng tôi sẽ tấn công”. Giả định tin cậy họ đang đặt ra là thị trường luôn lý trí, nhưng bối cảnh địa chính trị không phải là AMM nơi arbitrage hoạt động trơn tru. Có rào cận về tri thức, về tiếp cận thông tin thực sự. Một nhà giao dịch retail không thể biết đằng sau mỗi lệnh YES có phải là một ông lớn đang cố gắng tự ứng nghiệm lời tiên tri hay không.
Một góc nhìn phản trực giác: thay vì xem 72.5% là tín hiệu thông tin, hãy xem nó là một lỗ hổng bảo mật xã hội (social security vulnerability). Trong bảng màu của tôi, những thị trường kiểu này nên được xếp cùng cấp rủi ro với các hợp đồng không mã nguồn mở. Bởi vì dù code có mở đến đâu, oracle lại là black box với người dùng thông thường. Nếu bạn nhìn vào dòng cuối của file README của một oracle phổ biến, nó ghi: “Please note that the data is provided as-is and may be manipulated by the source.” – một chú thích pháp lý, nhưng trong on-chain lại là thảm họa.
Lấy ví dụ thực tế: tháng 3 năm 2023, một thị trường dự đoán về cuộc tấn công của Wagner vào Ba Lan đã bị đóng băng vì oracle không thể xác minh tin tức. Người dùng mất 40% vốn do thanh lý hàng loạt. Tôi đã phân tích post-mortem và thấy rằng lý do kỹ thuật không phải do bug code, mà do thiếu cơ chế đồng thuận cho dữ liệu địa chính trị. Không có validator nào dám xác nhận tin tức chiến tranh vì sợ bị kiện hoặc bị tấn công offline. Kết quả là oracle im lặng và thị trường không giải quyết được trong 2 tháng.
Vậy takeaway là gì? Với tư cách một người audit, tôi khuyên các builder hãy suy nghĩ về thiết kế oracle cho những sự kiện có rủi ro cao: không chỉ dựa vào một nguồn, mà cần có một hệ thống vote đa diện với trọng số khác nhau. Còn với trader, đừng nhìn 72.5% như một con số đáng tin. Hãy nhìn nó như một lời cảnh báo: rủi ro oracle đang được giao dịch cùng với rủi ro sự kiện. Khi thị trường bear, thanh khoản chảy đi, việc thao túng trở nên dễ dàng hơn. Đây là lúc những kẻ săn mồi tấn công.
Câu hỏi cuối cùng tôi để lại: nếu 72.5% đó sai lệch 20% vì oracle bị đầu độc, ai sẽ chịu trách nhiệm? Câu trả lời là không ai, bởi tất cả chúng ta đều đã ký vào điều khoản “dữ liệu chỉ mang tính tham khảo”. Đó là lý do tôi dành 3 tháng năm 2022 để audit một giao thức DeFi bị hack 180 triệu USD – vì họ dựa vào một oracle giá đơn giản. Và lần này, thứ đang bị giao dịch không phải là tiền tệ, mà là nhận thức về hòa bình và chiến tranh. Điều đó nguy hiểm hơn vạn lần.