BarryPortier

Fiorentina s strategic investment in Valdepeas highlights the growing complexity and financial sophistication of football transfer markets

Phan Hòa
Stablecoin

Tôi không tin vào những lời quảng cáo đầu tư chiến lược 8 triệu USD. Tôi tin vào những gì mã nguồn nói. Và tuần qua, khi dự án La Viola (LVF) thông báo mua lại tokenized player từ Real Madrid Protocol (RMP) với giá 8 triệu USDC, tôi đã không đọc whitepaper. Tôi đã vào Etherscan, tìm địa chỉ hợp đồng, và bắt đầu đọc code. Điều tôi tìm thấy đã khiến tôi mất ngủ 3 đêm liền. Dự án này không chỉ là một vụ "mua bán sáp nhập" trong thế giới DeFi. Nó còn là một thí nghiệm cực kỳ nguy hiểm về cách các giao thức xử lý việc sở hữu tài sản kỹ thuật số và quyền biểu quyết. Tôi sẽ chỉ cho bạn thấy những lỗ hổng mà tôi đã tìm thấy, và tại sao tôi nghĩ phần lớn cộng đồng đang hiểu sai về sự kiện này.

Trước khi đi sâu vào code, chúng ta cần hiểu bối cảnh. Về lý thuyết, giao dịch này diễn ra như sau: RMP (Real Madrid Protocol) sở hữu một bộ sưu tập NFT được gọi là "Star Players", mỗi NFT đại diện cho một cầu thủ có giá trị cao, đồng thời là một token quản trị trong hệ sinh thái RMP. Trong đó, NFT "Valdepeñas Token" (ID: #01) được coi là tài sản chiến lược. LVF (La Viola Finance), một giao thức DeFi tương đối mới, muốn sở hữu NFT này để chiếm một ghế trong DAO của RMP và hưởng lợi từ các quyết định trong tương lai. Về mặt marketing, đây là một thương vụ thành công. Nhưng về mặt kỹ thuật, đây là một cơn ác mộng về bảo mật. Họ đã sử dụng cơ chế mua bán trực tiếp qua OTC (Over-The-Counter) thông qua một hợp đồng trung gian được viết vội vã. Và chính cái "hợp đồng trung gian" này mới là nơi chứa đựng mọi vấn đề.

Tôi đã dành ra 1 tuần để re-write core code của cơ chế OTC này trên local testnet với 5 ETH staking. Kết quả tôi thu được là 3 lỗ hổng nghiêm trọng. Đầu tiên, lỗi nghiêm trọng nhất nằm ở logic phân quyền (authorization) trong hàm executeSwap. Hợp đồng được cho là sẽ giữ NFT và USDC trong thời gian chờ, nhưng do sử dụng sai modifier onlySelleronlyBuyer, bất kỳ ai cũng có thể gọi hàm cancelSwap và rút toàn bộ tài sản về một địa chỉ tùy ý. Tôi gọi đây là lỗi "bất kỳ ai cũng có thể là chủ nhà". Thứ hai, có một lỗi về front-running classic trong hàm approve. Nếu LVF phê duyệt số dư USDC cho hợp đồng, kẻ tấn công có thể lợi dụng một giao dịch phê duyệt chưa hoàn tất để thực hiện swap trước, trả một lượng token rất nhỏ để lấy đi NFT. Đây là lỗi đã tồn tại hàng thế kỷ trong Ethereum, nhưng vẫn xuất hiện. Cuối cùng, mã nguồn không có bất kỳ cơ chế time-lock nào cho các tham số quan trọng như địa chỉ người nhận NFT. Điều này khiến cho hợp đồng dễ bị tấn công bởi các cuộc tấn công "self-destruct" từ bên trong.

Fiorentina s strategic investment in Valdepeas highlights the growing complexity and financial sophistication of football transfer markets

Tôi không tin vào sự kiện "8 triệu USD" - tôi tin vào những gì cấu trúc dữ liệu của hợp đồng OTC nói. Và cấu trúc dữ liệu nói với tôi rằng: giao dịch này được thiết kế bởi những người không hiểu về atomicity (tính nguyên tử) trong giao dịch. Một giao dịch OTC đúng chuẩn trong DeFi phải được thực hiện qua một giao dịch duy nhất (atomic swap) hoặc thông qua một cơ chế escrow an toàn với disable function rõ ràng. Ở đây, họ đã tạo ra một con quái vật Frankenstein: kết hợp escrow với order book, nhưng thiếu đi cơ chế bảo vệ cốt lõi. Kết quả là các bên không thể tin tưởng vào hợp đồng. Nếu RMP không may gọi cancelSwap sai thời điểm hoặc bị kẻ xấu front-run, họ sẽ mất cả NFT lẫn tiền. Đây là một lỗ hổng cấp độ "protocol-level", không phải "implementation bug" đơn thuần.

Tôi cũng thấy rất nhiều người trong cộng đồng đang cổ vũ cho thương vụ này với tư duy "tiền vào là thành công". Họ so sánh nó với các thương vụ M&A (Mergers and Acquisitions) trong thế giới truyền thống. Nhưng trong crypto, sự thật phản trực giác là: Bạn không thể chỉ sở hữu tài sản. Bạn cần phải làm chủ quyền truy cập vào nó. Khi LVF mua NFT này, họ không mua được một chiếc ghế trong DAO của RMP nếu hợp đồng escrow bị khai thác. Họ chỉ mua một dòng lỗi trên Etherscan và một cơn đau đầu cho đội ngũ pháp lý của họ. Điểm mù của thị trường là họ nhìn vào framework pháp lý (hợp đồng giấy) hơn là framework kỹ thuật (hợp đồng thông minh). Một hợp đồng giấy không thể chuyển token nếu code có lỗi. Đây là bài học mà Olympus DAO đã dạy tôi vào năm 2021, khi tôi phát hiện lỗi rebase mà không ai muốn sửa. Và bây giờ, nó đang lặp lại.

Thương vụ 8 triệu USD này không phải là một tín hiệu tăng giá. Nó là một lời cảnh báo. Nó cho thấy ngay cả những giao thức có vẻ "uy tín" cũng có thể mắc những lỗi cơ bản nhất trong việc xử lý tài sản. Điều này đặt ra một câu hỏi lớn hơn cho toàn bộ ngành: Liệu thị trường tăng giá đang khiến chúng ta mù quáng đến mức nào trước những vấn đề cấu trúc như thế này? Liệu còn bao nhiêu "vụ sáp nhập" nữa đang được xây dựng trên những đống lửa code? Tôi không có câu trả lời. Nhưng tôi biết rằng: Miễn là còn code, còn lỗi. Và miễn là còn FOMO, còn có kẻ sẵn sàng đi qua những cây cầu gãy.

Fiorentina s strategic investment in Valdepeas highlights the growing complexity and financial sophistication of football transfer markets