Hook
Ngày 15 tháng 6 năm 2025, lúc 14:23 GMT+7, một dòng code trong contract của VNDC+ được kích hoạt. Không có báo động. Không có kiểm toán viên nào ở đó. 47 phút sau, peg của stablecoin VNDC+ mất neo khỏi VND lần thứ ba trong vòng 72 giờ. Lần này, nó không quay lại.
Tôi không có quả cầu pha lê. Tôi chỉ đọc contract.
Context
VNDC+ là một stablecoin thuật toán được xây dựng trên Binance Smart Chain, tuyên bố duy trì peg 1:1 với đồng Việt Nam thông qua cơ chế mint/burn kết hợp với pool thanh khoản trên PancakeSwap. Ra mắt vào tháng 3 năm 2024, dự án nhanh chóng thu hút hơn 50.000 người dùng Việt Nam, với tổng giá trị khóa (TVL) đạt đỉnh 120 triệu USD vào tháng 2 năm 2025.
Đội ngũ phát triển công khai danh tính: ba thành viên người Việt từng làm việc tại các công ty fintech nội địa. Họ có hồ sơ LinkedIn sạch sẽ, không có tiền án về rug pull. Trang web dự án có white paper dài 30 trang, mô tả chi tiết cơ chế “neo linh hoạt” dựa trên thanh khoản động.
Nhưng white paper không phải contract.
Tôi bắt đầu theo dõi VNDC+ từ tháng 1 năm 2025, khi TVL của nó vượt 80 triệu USD. Lúc đó, tôi đang làm tư vấn quản lý rủi ro cho một quỹ đầu tư Mumbai, chuyên đánh giá các dự án DeFi ở châu Á. Một đồng nghiệp người Việt giới thiệu VNDC+ như một “kỳ quan thuật toán” của cộng đồng crypto nội địa.
Tôi không tin vào kỳ quan. Tôi chỉ tin vào mã nguồn mở.
Core Insight: Tháo gỡ cấu trúc sụp đổ
Bằng chứng kỹ thuật số 1: Logic mint vô hạn
Tôi fork contract của VNDC+ từ BscScan. Bắt đầu từ dòng 127, tôi thấy điều khiến tôi phải tạm dừng ba lần.
function mint(uint256 amount) external {
require(amount > 0, "Amount must be positive");
uint256 fee = amount.mul(feeRate).div(10000);
uint256 netAmount = amount.sub(fee);
_mint(msg.sender, netAmount);
_mint(address(pool), fee);
}
Không có kiểm tra dự trữ. Không có oracle. Chỉ cần bất kỳ ai gọi hàm mint với một số lượng token, contract sẽ tạo ra token mới mà không cần bằng chứng về tài sản thế chấp. Fee được mint thêm và gửi vào pool thanh khoản, tạo ra áp lực lạm phát ngay lập tức.
Dòng 127 là vết nứt đầu tiên. Nó không phải là lỗi logic. Nó là lỗi thiết kế có chủ ý – một cửa hậu cho phép tạo token vô hạn, miễn là kẻ tấn công trả phí. Trong một stablecoin thuật toán, mint không kiểm soát đồng nghĩa với chết.
Bằng chứng kỹ thuật số 2: Pool thanh khoản một chiều
Tôi kiểm tra hàm swap trong contract pool. Phát hiện thứ hai:
- VNDC+ chỉ có thể đổi sang BNB, không phải VND thật.
- Pool sử dụng cơ chế AMM tiêu chuẩn, nhưng có một tham số ẩn:
kLastđược cập nhật thủ công bởi owner. - Owner có thể thay đổi tỷ lệ dự trữ bất kỳ lúc nào, mà không cần thông báo.
Hợp đồng pool cho phép owner rút thanh khoản mà không cần khóa thời gian. Đây là cấu trúc của một rug pull tiềm năng.
Bằng chứng kỹ thuật số 3: Oracle giả
White paper tuyên bố sử dụng Chainlink Oracle để lấy giá VND/USD. Tôi tìm kiếm địa chỉ oracle trong contract. Nó trỏ đến một contract không xác minh, không có trên Chainlink registry.

Tôi gọi hàm getPrice() từ contract oracle đó. Nó trả về một giá trị cố định: 23,500. Không thay đổi theo thời gian thực.
Oracle là giả mạo. Họ không lấy dữ liệu từ thị trường thật. Giá được hardcode, cho phép team duy trì peg một cách nhân tạo trong điều kiện bình thường. Khi áp lực bán đủ lớn, peg sẽ vỡ ngay lập tức.
Contrarian Angle: Phần phe bò đúng
Tôi không ở đây để nói “tôi đã nói rồi”. Tôi ở đây để phơi bày cấu trúc.
Phe bò VNDC+ có lập luận không hề ngớ ngẩn:
- Đội ngũ có thật: Ba founder có thể truy vết, đã tham gia các sự kiện crypto offline tại Hà Nội và TP.HCM.
- White paper chi tiết: Họ mô tả cơ chế “mint động” với lý thuyết kinh tế học phức tạp.
- Cộng đồng mạnh: Hơn 30.000 người dùng đã tạo ví, giao dịch hàng ngày.
- Kiểm toán viên: Dự án công bố audit từ một công ty tên “BlockSafe Audit” – nhưng tên miền block-safe.io được đăng ký sau khi dự án ra mắt.
Điểm mù của phe bò: Họ tin vào danh tính thật và white paper, nhưng không đọc contract. Họ nhầm lẫn giữa minh bạch xã hội và minh bạch kỹ thuật. Một dự án có thể có đội ngũ thật, sự kiện thật, audit giả, và contract lỗi.
Takeaway: Bài học về trách nhiệm
Tôi viết bài này không phải để khoe mẽ. Tôi đã thấy vết nứt từ tháng 1 năm 2025, nhưng tôi không cảnh báo công khai. Lý do?
- VNDC+ không phải khách hàng của tôi. Tôi không có nghĩa vụ đạo đức.
- Tôi ghét sự chú ý. Mỗi lần tôi đăng phân tích, tôi nhận được hàng trăm tin nhắn: chửi rủa, đe dọa, cầu xin.
- Tôi tin rằng thị trường tự sửa sai. Nhưng thị trường chỉ sửa sai khi đủ người đọc contract.
Câu hỏi retorical dành cho bạn – người đang đọc bài này:

Bạn đã bao giờ đọc contract của stablecoin bạn đang nắm giữ chưa?
Nếu câu trả lời là “không”, thì bạn không phải là nhà đầu tư. Bạn là người tin vào câu chuyện. Và câu chuyện có thể kết thúc bất cứ lúc nào.
Phụ lục: Dữ liệu on-chain
Tôi đã trích xuất các giao dịch đáng ngờ từ ví của team VNDC+ trong 30 ngày trước sự kiện:
- Ví deployer: 0xVND...Team1 – Rút 4,200 BNB từ pool vào ngày 12 tháng 6.
- Ví treasury: 0xVND...Treasury – Chuyển 1.5 triệu VNDC+ sang sàn CEX khác không công bố.
- Ví founder “Nguyen Van A” – Gửi 500 BNB cho một địa chỉ chưa xác minh.
Tất cả đều có thể truy vết. Tôi không nói tên founder vì họ chưa bị kết tội. Nhưng dữ liệu là dữ liệu.
Kết luận kỹ thuật
VNDC+ sụp đổ vì ba lý do:
- Thiết kế mint không giới hạn – Dòng 127
- Pool thanh khoản kiểm soát tập trung – Owner có thể rút bất kỳ lúc nào
- Oracle giả mạo – Giá hardcode, không phản ánh thị trường thật
Ba yếu tố này không phải là ngẫu nhiên. Chúng được thiết kế để tạo ra một cấu trúc cho phép team rút tiền khi đủ lớn.
Tôi thấy vết nứt trước khi nó gãy. Lần này, tôi viết ra.
Prompt cho hình minh họa: Một đoạn mã Solidity với dòng 127 được đánh dấu đỏ, nền tối, phía dưới là đồ thị giá VNDC+ sụp đổ, phong cách cyberpunk tối giản.