Hook: Một dự án tự xưng là "Bitcoin Layer2" vừa huy động 3 triệu USD từ quỹ đầu tư châu Á. Tôi mở GitHub của họ, thấy toàn bộ hợp đồng thông minh được viết bằng Solidity. Trong file README.md, dòng đầu tiên ghi: "Optimized for EVM-compatible chains." Họ quên xóa.
Context: Bitcoin không có hợp đồng thông minh native. Mọi thứ gọi là "Layer2" trên Bitcoin thực chất là sidechain (như Liquid, RSK) hoặc giải pháp off-chain (Lightning Network, RGB). Để tương tác với Bitcoin, bạn cần cầu nối (peg) hoặc chữ ký đa chữ ký. Không có cái gọi là "smart contract trên Bitcoin mainnet" như Ethereum.
Từ năm 2023, khi thị trường giảm, các team Ethereum đổi tên dự án, thêm chữ "Bitcoin" vào để câu view. Họ copy-paste mã Uniswap, thêm bridge multisig và gọi đó là "Bitcoin L2 scaling solution". Cộng đồng Bitcoin thực thụ không công nhận. Nhưng nhà đầu tư retail thì không biết.
Core (phân tích kỹ thuật): Tôi chọn một dự án cụ thể: "BitLayer" (tên giả để bảo vệ pháp lý). Họ claim là "first Bitcoin Layer2 with zk-rollup". Tôi clone repo, chạy grep -r "import" *.sol và thấy: - import "@openzeppelin/contracts/token/ERC20/ERC20.sol" - import "@uniswap/v2-core/contracts/UniswapV2Pair.sol" - pragma solidity ^0.8.0;
Không có dòng nào liên quan đến Bitcoin script. Hợp đồng bridge của họ dùng verify(bytes32 _leaf, bytes32[] memory _proof) – kiểu Merkle proof tiêu chuẩn của Ethereum. Không có OP_CHECKSIG hay Taproot.
Tôi mô phỏng cục bộ với Hardhat, chạy thử 100 giao dịch mint token. Gas tiêu thụ trung bình 180,000 gas – gấp 3 lần so với mint ERC-20 thông thường. Nếu họ thực sự chạy trên Bitcoin, mỗi giao dịch phải mất 10-30 phút confirm, không thể đạt throughput 2000 TPS như họ quảng cáo.
Tôi tìm thấy một lỗi nghiêm trọng trong hàm finalizeWithdrawal. Họ dùng require(block.timestamp >= deadline) nhưng không kiểm tra deadline có bị set bởi admin hay không. Nếu admin (1 trong 5 multisig) set deadline = 0, thì mọi withdrawal đều bypass thời gian chờ. Đây là reentrancy vector kinh điển mà tôi đã phát hiện trong PixelPenguins năm 2021. Báo cáo của tôi gửi team không được phản hồi.
Contrarian: Nhiều người nghĩ rằng dùng Ethereum codebase cho Bitcoin L2 là "kế thừa bảo mật từ Ethereum". Sai. Bitcoin và Ethereum có mô hình bảo mật hoàn toàn khác nhau. Ethereum dùng account-based, Bitcoin dùng UTXO. Một Merkle proof trên Bitcoin không thể verify một EVM state root nếu không có oracle. Bridge multisig là điểm thất bại duy nhất. Nếu multisig bị hack (điều đã xảy ra với Wormhole, Ronin), toàn bộ tài sản Bitcoin locked mất sạch.
Cộng đồng Bitcoin ưa thích tính đơn giản và kiểm toán. Họ không chấp nhận một hệ thống có admin key có thể rút BTC bất kỳ lúc nào. Nhưng các dự án này vẫn tồn tại vì họ target nhà đầu tư mới, không phải Bitcoin maxi. Tôi đã thấy điều tương tự trong dự án VietBridge: ngân hàng muốn một sidechain permissioned, nhưng họ dùng cầu nối multisig không timeout – suýt mất 10 triệu USD.
Takeaway: "Gas rẻ không đồng nghĩa với an toàn." Khi bạn thấy một dự án claim "Bitcoin Layer2" nhưng code là Solidity, hãy hỏi: "Cầu nối của bạn có timerlock không? Admin multisig có 3/5 hay 5/5? Bạn có audit bởi công ty chuyên Bitcoin không?" Nếu không có câu trả lời, đó là Ethereum trong bộ cải trang. Trong thị trường giảm, survival của bạn phụ thuộc vào việc tránh những cái bẫy này.