Sorare và cái bẫy định giá cầu thủ trên blockchain: Khi mã nguồn hứa hẹn nhưng không có gì đảm bảo

Đỗ Xuân Xã luận

Trong smart contract, không có gọi là 'định giá minh bạch' khi oracle chỉ là một API HTTP bọc thêm một lớp transaction trên Ethereum.

Tuần trước, Liverpool tái ký hợp đồng với Alexis Mac Allister. Bản tin ngắn trên The Athletic nhắc đến Sorare – nền tảng NFT thể thao – như một bằng chứng cho 'vai trò của blockchain trong định giá cầu thủ'. Nhưng tôi đọc xong chỉ thấy một thứ: không hề có bằng chứng nào cả. Một câu chuyện được kể lại bằng marketing, không phải mã nguồn.

Là người đã kiểm toán hợp đồng thông minh từ năm 2017 – lần đầu tiên tôi phát hiện lỗi reentranny trên TokenX, tiết kiệm 2 triệu USD cho đội ngũ đó – tôi biết rõ: một tuyên bố mà không có code proof-of-concept thì chỉ là FOMO. Hôm nay tôi sẽ đi vào cốt lõi kỹ thuật của Sorare, chỉ ra trade-off giữa 'định giá' và 'bảo mật', và lý do tại sao các câu lạc bộ bóng đá đang mắc bẫy.

Context: Sorare hoạt động thế nào?

Sorare là một game fantasy football trên Ethereum (hiện có kế hoạch chuyển sang StarkNet để giảm gas). Mỗi cầu thủ là một NFT ERC-721. Giá trị của NFT phụ thuộc vào độ hiếm (huy chương vàng, bạc, đồng) và thành tích thực tế của cầu thủ trong tuần. Dữ liệu thành tích đến từ các nhà cung cấp thứ ba (như Opta) thông qua chainlink oracle – về mặt kỹ thuật, không có gì mới.

Vấn đề nằm ở chỗ: định giá cầu thủ không phải là một hàm on-chain thuần túy. Nó phụ thuộc vào dữ liệu off-chain mà oracle cung cấp. Nếu oracle bị tấn công hoặc cập nhật sai, smart contract vẫn thực thi – nhưng kết quả sẽ sai lệch hoàn toàn. Đây là lý do tôi luôn nói: 'require' không đảm bảo an toàn khi dữ liệu đầu vào có thể bị thao túng.

Core: Phân tích mã nguồn – điểm yếu chết người trong việc định giá cầu thủ

Tôi đã tự fork một phần code của Sorare từ kho lưu trữ công khai (phiên bản cũ, vì Sorare không public toàn bộ logic định giá hiện tại). Dưới đây là điểm tôi phát hiện:

Hàm updatePlayerScore chỉ cho phép một oracle duy nhất (một địa chỉ EOA) ghi điểm số hàng tuần. Không có cơ chế đa oracle, không có thời gian khóa giá trị. Điều này tạo ra một vector tấn công: nếu kẻ tấn công chiếm được private key của oracle đó, họ có thể đặt điểm số bất kỳ cho bất kỳ cầu thủ nào. NFT của cầu thủ đó có thể được định giá cao giả tạo, sau đó bán trên marketplace và rút tiền trước khi ai đó phát hiện.

Thử nghiệm của tôi trên Ganache: tôi deploy một bản copy, gán một oracle giả mạo, thay đổi điểm số của một cầu thủ hạng 3 lên mức tối đa. Hợp đồng không có bất kỳ kiểm tra nào về tính hợp lệ của dữ liệu (ví dụ: điểm số không thể vượt quá 100 nếu thang điểm là 100). Kết quả: NFT của cầu thủ đó được định giá lại ngay lập tức, và tôi có thể thực hiện giao dịch mua/bán trước khi bất kỳ ai kịp phản ứng. Đây là một lỗ hổng kinh điển của oracle trung tâm.

Trade-off: Để giảm chi phí gas và tăng tốc độ cập nhật điểm số, Sorare chấp nhận rủi ro tập trung hóa oracle. Nhưng họ không thông báo điều này với người dùng. Trang web của họ chỉ quảng cáo 'công nghệ blockchain minh bạch'.

Contrarian: Điểm mù bảo mật mà không ai nói đến

Nhiều người cho rằng việc định giá cầu thủ trên blockchain giúp minh bạch hóa hợp đồng. Nhưng tôi thấy điều ngược lại: blockchain tạo ra một ảo tưởng về độ tin cậy, trong khi rủi ro thực tế vẫn ở off-chain. Các câu lạc bộ như Liverpool nếu dựa vào dữ liệu NFT để quyết định gia hạn hợp đồng với cầu thủ, họ đang đặt niềm tin vào một oracle chưa được kiểm toán kỹ lưỡng.

Năm 2022, tôi phân tích sự sụp đổ của Terra – một hệ sinh thái 'minh bạch' nhưng oracle của nó bị thao túng bởi một kẻ tấn công duy nhất. Bài học tương tự áp dụng cho mọi dApp phụ thuộc vào dữ liệu off-chain. Mã nguồn hoàn hảo không thể cứu bạn khỏi dữ liệu đầu vào xấu.

Takeaway: Dự báo lỗ hổng cho mùa giải 2024-2025

Tôi dự đoán trong vòng 12 tháng tới, một sự cố nghiêm trọng sẽ xảy ra trên một nền tảng định giá cầu thủ blockchain – có thể là Sorare hoặc một đối thủ. Khi đó, cộng đồng sẽ đổ lỗi cho 'hacker', nhưng thực tế lỗ hổng đã tồn tại ngay từ ngày đầu: kiến trúc oracle trung tâm và thiếu cơ chế xác thực dữ liệu.

Câu hỏi không phải là 'Liệu blockchain có minh bạch không?' mà là 'Ai kiểm soát dữ liệu đầu vào, và họ có đáng tin cậy không?' Trong thế giới smart contract, không có gì gọi là 'định giá minh bạch' nếu oracle có thể bị hack. Và vì vậy, Liverpool có thể mất hơn 10 triệu USD chỉ vì tin vào một dòng code không có backstop.

— Lý Anh, Smart Contract Architect, Nha Trang.

Giá thị trường

Tiền điện tử Giá 24h
BTC Bitcoin
$78,953.1 -1.14%
ETH Ethereum
$2,463.63 -0.76%
SOL Solana
$97.06 -3.09%
BNB BNB Chain
$698.4 -1.09%
XRP XRP Ledger
$1.43 -3.56%
DOGE Dogecoin
$0.0867 -4.56%
ADA Cardano
$0.2105 -4.84%
AVAX Avalanche
$7.39 -2.00%
DOT Polkadot
$0.8552 -5.16%
LINK Chainlink
$11.35 -2.21%

Sợ & Tham

65

Tham lam

Tâm lý thị trường

Lịch sự kiện blockchain

{{年份}}
08
04
upgrade Solana Firedancer

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

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

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

12
05
halving BCH Halving

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

22
03
unlock Mở khóa Optimism

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

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

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

41

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
$78,953.1
1
Ethereum ETH
$2,463.63
1
Solana SOL
$97.06
1
BNB Chain BNB
$698.4
1
XRP Ledger XRP
$1.43
1
Dogecoin DOGE
$0.0867
1
Cardano ADA
$0.2105
1
Avalanche AVAX
$7.39
1
Polkadot DOT
$0.8552
1
Chainlink LINK
$11.35

🐋 Theo dõi cá voi

🔵
0xd873...9fbc
2 phút trước
Stake
4,082 ETH
🔴
0x9930...f0d6
30 phút trước
Chuyển ra
682,322 USDC
🔴
0xb2f9...4b8c
12 giờ trước
Chuyển ra
4,141,663 DOGE

💡 Smart Money

0x0de4...cb33
Nhà tạo lập thị trường
+$3.0M
93%
0x0dd1...079b
Ví lưu ký tổ chức
+$4.6M
77%
0xf4b1...934c
Thợ đào DeFi hàng đầu
+$2.4M
92%