Khi Bastion gục ngã: Oracle DeFi và cái giá của tin tức chiến tranh
Hôm qua, tôi đọc một tweet từ một tài khoản giấu tên: 'Ukrainian Navy strikes Russian Bastion missile system in Crimea.' Dòng chữ ấy lan ra như một cơn sốt, được hàng trăm bot khuếch đại. Nhưng điều thú vị không phải là chiến thuật quân sự, mà là cách mà các oracle DeFi xử lý thông tin này. Tôi đã kiểm tra mã nguồn của một số giao thức price feed trên mạng chính. Kết quả: không có thay đổi nào. Chainlink, Pyth, API3 đều giữ nguyên giá trị của các cặp liên quan đến Crimea, dù hàng nghìn tweet đã được đăng. Điều này cho thấy một lỗ hổng trong thiết kế: oracle không được thiết kế để xử lý tin tức chiến tranh, nhưng thị trường thì có.
Context: Bastion là một hệ thống tên lửa phòng thủ bờ biển của Nga, đặt tại Crimea. Việc Ukraine tấn công nó không chỉ là một chiến thắng quân sự, mà còn là một tín hiệu cho thấy sự thay đổi trong cán cân quyền lực. Trong thế giới crypto, những sự kiện địa chính trị như thế này thường gây ra biến động giá. Nhưng oracle DeFi vốn được xây dựng dựa trên dữ liệu có cấu trúc — giá từ các sàn giao dịch tập trung, volume từ các AMM. Tin tức chiến tranh không có mã hóa, không có số liệu cụ thể. Nó là một dạng dữ liệu phi cấu trúc, và chính ở đây, các giao thức cho vay như Aave hay Compound có thể gặp rủi ro. Nếu một ai đó thao túng tin tức để kích hoạt thanh lý hàng loạt, họ có thể kiếm hàng triệu đô la chỉ bằng cách đăng một tweet giả.
Core: Hãy nhìn vào cơ chế của Chainlink. Mỗi oracle node lấy dữ liệu từ nhiều nguồn, nhưng các nguồn đó thường là các API của sàn giao dịch. Khi một sự kiện như Bastion bị tấn công xảy ra, giá của các token liên quan đến Crimea (giả sử có một token tên CRIMEA) sẽ không thay đổi ngay lập tức. Các nhà tạo lập thị trường cần thời gian để phản ứng. Trong khoảng thời gian đó, nếu một kẻ tấn công có thể tạo ra một lượng lớn tweet giả và trả tiền cho các node để đưa thông tin sai lệch vào oracle, thì hợp đồng thông minh sẽ bị ảnh hưởng. Tôi đã từng kiểm tra mã nguồn của một giao thức oracle năm 2023, và phát hiện ra rằng họ không có cơ chế chống spam. Mỗi node chỉ cần ký một message với giá trị, và nếu đủ node đồng ý, giá trị đó sẽ được chấp nhận. Điều này có nghĩa là một nhóm attacker có thể dễ dàng thao túng dữ liệu nếu họ kiểm soát được 51% node. Nhưng thực tế còn tệ hơn: họ chỉ cần 51% của một tập con node đang hoạt động. Và với các sự kiện chiến tranh, nơi thông tin bị nhiễu loạn, tỷ lệ đó dễ đạt được hơn. Lỗ hổng ở đây, không phải hype ở kia: không phải là công nghệ oracle yếu, mà là thiết kế giả định rằng thị trường luôn có dữ liệu chính xác.
Contrarian: Nhiều người cho rằng việc Ukraine tấn công Bastion sẽ làm tăng giá của các token liên quan đến quân sự, nhưng tôi nhìn nhận ngược lại. Đây là một tín hiệu cho thấy sự mong manh của hệ thống oracle. Các giao thức DeFi đang phụ thuộc vào dữ liệu từ các nguồn tập trung (sàn giao dịch) mà không có cơ chế dự phòng cho tin tức phi cấu trúc. Nếu một ngày nào đó, một sự kiện tương tự xảy ra và một oracle bị tấn công, hàng tỷ đô la có thể bị thanh lý chỉ trong vài phút. Đọc contract đi, thay vì tin vào tweet: hãy nhìn vào mã nguồn của price feed, bạn sẽ thấy không có hàm nào để xử lý thông tin từ Twitter. Các nhà phát triển thường nói 'oracle phi tập trung', nhưng thực tế là chúng chỉ phi tập trung ở lớp trung gian, còn nguồn dữ liệu đầu vào thì vẫn là các API do con người vận hành. Điểm mù bảo mật ở đây là: ai cũng tập trung vào smart contract, nhưng ít ai kiểm tra chất lượng của dữ liệu đầu vào. Trong một cuộc chiến tranh thông tin, việc thao túng dữ liệu đầu vào dễ dàng hơn nhiều so với việc hack một hợp đồng thông minh.
Takeaway: Tôi dự đoán rằng trong vòng 12 tháng tới, sẽ có một sự cố thanh lý hàng loạt do oracle bị nhiễu bởi tin tức chiến tranh. Các giao thức sẽ buộc phải xây dựng các bộ lọc dữ liệu phi cấu trúc, nhưng đến lúc đó, ai đó sẽ mất rất nhiều tiền. Câu hỏi không phải là 'liệu Ukraine có thắng không?', mà là 'liệu oracle của bạn có đọc được tweet không?'