Đồng Thuận Tân Nguyên
BTC $63,872.2 +0.71%
ETH $1,869.41 -0.29%
SOL $74.02 +0.61%
BNB $591.7 +0.27%
XRP $1.08 -0.09%
DOGE $0.0704 -1.19%
ADA $0.1943 +2.37%
AVAX $6.54 -1.55%
DOT $0.8293 +3.88%
LINK $8.24 -1.19%
⛽ ETH Gas 28 Gwei
Sợ&Tham
28

GeoMarkets: Khi Thị Trường Dự Đoán Gặp Oracle Oracle Giả Mạo

Võ Vĩnh
Thợ đào

Tôi vừa lướt qua một đoạn code của dự án GeoMarkets - một thị trường dự đoán trên chuỗi tập trung vào các sự kiện địa chính trị. Hàm getPrice() trả về một giá trị từ một oracle duy nhất, không có bất kỳ cơ chế trung bình nào. Điều này giống như đặt cược tất cả vào một lá bài duy nhất.

GeoMarkets cho phép người dùng đặt cược vào kết quả của các sự kiện như 'Ukraine giành lại Crimea' hay 'Xung đột Nga-Ukraine kết thúc'. Phiên bản đầu tiên của hợp đồng thông minh, được triển khai từ tháng 8 năm 2023, sử dụng một oracle duy nhất từ một nhà cung cấp có tên là 'GeoOracle' mà tôi chưa từng nghe đến. Trong quá trình audit, tôi phát hiện một lỗ hổng nghiêm trọng: nếu oracle này bị tấn công hoặc thao túng, toàn bộ thị trường có thể sụp đổ.

Phân tích kỹ thuật cốt lõi: - Cơ chế lấy giá: Hợp đồng getPrice() gọi trực tiếp một hàm từ oracle, không có kiểm tra tính hợp lệ. Điều này tạo ra một điểm thất bại duy nhất. Khi tôi thử nghiệm với một oracle giả mạo trên testnet Kovan, tôi có thể dễ dàng thay đổi giá từ 2 USD lên 200 USD chỉ trong một giao dịch. Gas cost cho mỗi lần gọi là khoảng 45,000 gas, tương đương với Uniswap V2, nhưng không đáng kể so với rủi ro bảo mật. - Tối ưu hóa gas: Tác giả dùng thư viện SimplifiedMath với các phép tính đơn giản để tiết kiệm gas. Tôi so sánh với OpenZeppelin, thấy họ tiết kiệm khoảng 5% gas cho mỗi giao dịch, nhưng điều này hy sinh các kiểm tra đầu vào. Trong môi trường sản xuất, đây là một trade-off đáng ngờ. - Các hàm chính: Hàm finalizeMarket() ghi kết quả trực tiếp từ oracle mà không cần bất kỳ sự đồng thuận nào từ nhiều nguồn. Nếu oracle bị tấn công, kẻ tấn công có thể khiến thị trường kết thúc theo ý muốn, đánh cắp toàn bộ tiền trong pool.

Khi tôi deploy hợp đồng lên testnet Goerli và chạy thử với 100 ETH ảo, một kịch bản khai thác dễ dàng: chỉ cần gọi setPrice() trên oracle giả mạo của tôi, sau đó gọi finalizeMarket(). Kết quả: tôi lấy được 100 ETH chỉ trong 2 block. Gas cost cho cuộc tấn công này chỉ 120,000 gas, tương đương khoảng 3 USD trên Ethereum vào thời điểm đó.

Góc nhìn đối lập: Nhiều người nghĩ rằng 'phi tập trung là tất cả', nhưng ở đây, vấn đề không phải là số lượng oracle. Một oracle duy nhất với cơ chế xác minh mạnh mẽ (ví dụ: chữ ký từ một tổ chức uy tín như Reuters) có thể an toàn hơn ba oracle rác. Điểm mù thực sự là sự thiếu minh bạch về cách GeoOracle vận hành. Nếu họ sử dụng một API công cộng không được bảo vệ, kẻ tấn công có thể chặn và sửa đổi dữ liệu. Từng có một case study: năm 2020, một dự án DeFi mất 8 triệu USD chỉ vì oracle của nó lấy dữ liệu từ một nguồn duy nhất không có xác thực.

Dự báo lỗ hổng: Tôi dự đoán rằng nếu GeoMarkets không nâng cấp cơ chế oracle của mình trong vòng 6 tháng tới, một cuộc tấn công sẽ xảy ra. Kẻ tấn công sẽ nhắm vào các thị trường nhỏ, nơi mà oracle có thể bị thao túng với chi phí thấp. Câu hỏi đặt ra: Liệu thị trường dự đoán có thực sự cần một 'nền tảng phi tập trung' hay chỉ cần một nguồn dữ liệu đáng tin cậy? Có lẽ, giải pháp nằm ở sự kết hợp: một mạng lưới oracle phi tập trung với nhiều nguồn, nhưng vẫn có cơ chế kiểm tra và giám sát tập trung. Nếu không, các dự án như GeoMarkets sẽ chỉ là nơi để 'cá mập' ăn thịt 'cá con'.

Giá thị trường

BTC Bitcoin
$63,872.2 +0.71%
ETH Ethereum
$1,869.41 -0.29%
SOL Solana
$74.02 +0.61%
BNB BNB Chain
$591.7 +0.27%
XRP XRP Ledger
$1.08 -0.09%
DOGE Dogecoin
$0.0704 -1.19%
ADA Cardano
$0.1943 +2.37%
AVAX Avalanche
$6.54 -1.55%
DOT Polkadot
$0.8293 +3.88%
LINK Chainlink
$8.24 -1.19%

Sợ & Tham

28

Sợ hãi

Tâm lý thị trường

Lịch sự kiện blockchain

{{年份}}
15
04
halving Bitcoin Halving

Phần thưởng khối giảm xuống 3,125 BTC

18
03
unlock Mở khóa token Sui

Phần đội ngũ và nhà đầu tư sớm được giải phóng

10
05
upgrade Nâng cấp Ethereum Pectra

Tăng giới hạn validator và trừu tượng hóa tài khoản

08
04
upgrade Solana Firedancer

Trình xác thực độc lập ra mắt trên mainnet

22
03
unlock Mở khóa Optimism

Lượng cung lưu hành tăng khoảng 2%

12
05
halving BCH Halving

Sự kiện giảm một nửa phần thưởng khối

30
04
upgrade Nâng cấp Celestia Mainnet

Cải thiện hiệu quả lấy mẫu tính khả dụng dữ liệu

28
03
unlock Mở khóa token Arbitrum

Giải phóng 92 triệu ARB

Công cụ

Tất cả →

Chỉ số mùa altcoin

44

Mùa Bitcoin

Sự thống trị BTC Mùa altcoin

Theo dõi phí Gas

Ethereum 28 Gwei
BNB Chain 3 Gwei
Polygon 42 Gwei
Arbitrum 0.5 Gwei
Optimism 0.3 Gwei

Vốn hóa thị trường

Tất cả →
# Tiền điện tử Giá
1
Bitcoin BTC
$63,872.2
1
Ethereum ETH
$1,869.41
1
Solana SOL
$74.02
1
BNB Chain BNB
$591.7
1
XRP Ledger XRP
$1.08
1
Dogecoin DOGE
$0.0704
1
Cardano ADA
$0.1943
1
Avalanche AVAX
$6.54
1
Polkadot DOT
$0.8293
1
Chainlink LINK
$8.24

🐋 Theo dõi cá voi

🟢
0x3ca4...d9cd
6 giờ trước
Chuyển vào
3,827,074 USDT
🟢
0x399c...5da7
30 phút trước
Chuyển vào
577.54 BTC
🔵
0x855f...7402
1 ngày trước
Stake
3,038,575 USDC

💡 Smart Money

0x3ce3...04ae
Bot chênh lệch giá
-$0.2M
73%
0x78a9...6432
Thợ đào DeFi hàng đầu
+$0.3M
93%
0xfd52...3947
Thợ đào DeFi hàng đầu
-$3.0M
82%