Hook
Một dự án Layer-2 vừa huy động 80 triệu USD với lời hứa về 'tốc độ giao dịch ngang ngửa centralized exchange' và 'bảo mật của Ethereum mainnet'. Whitepaper của họ dày đặc các thuật ngữ như 'zero-knowledge proof aggregation', 'validity proof', và 'trustless finality'. Họ gọi đây là 'kỷ nguyên mới của DeFi scalability'.
Tôi đã đọc whitepaper đó. Và tôi đã đọc mã nguồn của họ.
Cái gì càng dễ đọc, càng dễ lừa.
Context
Dự án này, tạm gọi là 'Zk-Harmony', sử dụng cơ chế zk-Rollup để tổng hợp hàng nghìn giao dịch off-chain và gửi một bằng chứng duy nhất lên Ethereum. Về mặt lý thuyết, điều này giải quyết bài toán 'blockchain trilemma' về mở rộng quy mô. Thị trường tăng hiện tại đang FOMO mạnh mẽ vào các giải pháp Layer-2, đặc biệt là những cái tên hứa hẹn 'zero-knowledge' với chi phí thấp hơn 100 lần so với L1.
Zk-Harmony được quảng bá như một 'cỗ máy hiệu quả': sequencer nhanh, prover mạnh mẽ, và một cơ chế 'cross-chain bridging' được cho là an toàn nhất. Cộng đồng đã gọi nó là 'Solana killer' và 'Ethereum's heir apparent'.
Nhưng, như tôi đã nói, sự hào nhoáng của thị trường tăng che giấu lỗi kỹ thuật. Và lỗi này nằm ở nơi mà ít người nhìn vào: cơ chế đồng thuận của sequencer và cấu trúc incentive cho prover.
Core
Sau 8 tuần đọc mã nguồn và kiểm tra cấu trúc token của Zk-Harmony, tôi phát hiện một lỗ hổng cơ bản trong cơ chế 'sequencer selection'.
Dự án tuyên bố sequencer là 'phi tập trung', nhưng thực tế, quyền chọn sequencer được kiểm soát bởi một contract duy nhất cho phép 'owner'—một địa chỉ ví multi-sig 2/3—có thể thay thế bất kỳ sequencer nào mà không cần biểu quyết. Cụ thể, trong file SequencerManager.sol, hàm replaceSequencer(address _old, address _new) chỉ có modifier onlyOwner. Không có bất kỳ cơ chế timelock, dispute period, hay veto từ cộng đồng.
Điều này có nghĩa là gì?
Nếu owner bị tấn công hoặc trở nên độc hại, họ có thể cài đặt một sequencer giả mạo. Sequencer giả mạo này có thể:
- Chọn lọc giao dịch: Chỉ chấp nhận giao dịch của mình, từ chối giao dịch của người dùng khác, tạo ra hiệu ứng 'front-running' có hệ thống.
- Gửi bằng chứng sai: Mặc dù zk-proof có xác thực, nhưng nếu sequencer gửi một proof cho một trạng thái không hợp lệ (state transition không đúng), và prover (người tạo proof) không kiểm tra kỹ lưỡng, thì hậu quả có thể là mất tiền vĩnh viễn.
Tôi đã kiểm tra thêm cơ chế incentive cho prover. Dự án hứa hẹn thưởng 0.1% phí giao dịch cho prover tạo ra bằng chứng hợp lệ. Nhưng, cơ chế thanh toán lại dựa trên một oracle off-chain do chính dự án vận hành. Nếu oracle này bị thao túng, prover có thể không được thanh toán, hoặc tệ hơn, bị trừng phạt vì tạo ra proof 'không đúng' theo định nghĩa của dự án.
Đây là một vòng luẩn quẩn: dự án tuyên bố 'không cần tin tưởng', nhưng thiết kế của họ lại yêu cầu người dùng tin tưởng tuyệt đối vào sequencer owner và oracle operator.
Dựa trên kinh nghiệm audit của tôi với hơn 20 dự án DeFi, tôi có thể khẳng định: đây không phải là một lỗi code, mà là một lỗi thiết kế có chủ đích. Nó cho phép nhóm phát triển duy trì quyền kiểm soát tối đa trong khi huy động vốn với câu chuyện 'phi tập trung'.
Càng dễ đọc, càng dễ lừa. Whitepaper của Zk-Harmony rất dễ đọc: nó giải thích zk-Rollup bằng những ví dụ đơn giản, tránh các chi tiết kỹ thuật phức tạp. Nhưng chính sự đơn giản đó đã che giấu sự tập trung quyền lực nguy hiểm.
Contrarian Angle
Tuy nhiên, tôi phải nói rằng, có một góc nhìn khác.
Trong bối cảnh thị trường tăng hiện tại, nơi mà các dự án Layer-2 khác như Arbitrum và Optimism cũng có những cơ chế 'guardian' hoặc 'admin key' tương tự, việc Zk-Harmony làm điều này không phải là bất thường. Thực tế, nó là một 'giải pháp thực dụng' cho phép dự án khởi động nhanh chóng và sửa lỗi kịp thời.
Một số nhà phát triển có thể lập luận rằng: 'Chúng tôi cần quyền kiểm soát này trong giai đoạn đầu để đảm bảo sự ổn định. Sau này, khi hệ thống đã trưởng thành, chúng tôi sẽ dần phi tập trung hóa.'
Đây là một lập luận có lý. Nhưng nó đi ngược lại với lời hứa 'trustless' và 'không cần permission' mà dự án đã đưa ra. Nó giống như việc một ngân hàng tuyên bố 'tiền của bạn an toàn', nhưng lại nắm giữ chìa khóa két sắt.
Takeaway
Zk-Harmony không phải là một scam. Nó là một sản phẩm có kỹ thuật tốt, nhưng với một thiết kế quản trị có chủ đích tập trung. Câu hỏi đặt ra là: liệu thị trường có sẵn sàng chấp nhận một 'Layer-2 phi tập trung' với một 'kẻ kiểm soát ẩn'?
Tôi đã thấy mã nguồn – và nó có mùi.
Và câu trả lời của tôi, với tư cách là một Cold Dissector, là: đừng để sự dễ đọc của whitepaper đánh lừa bạn. Hãy đọc mã nguồn. Và hãy tự hỏi: nếu dự án thực sự phi tập trung, tại sao họ lại cần một 'owner' có thể thay thế bất kỳ sequencer nào?
Cái gì càng dễ đọc, càng dễ lừa. Hãy nhớ điều đó, trước khi bạn deposit tiền vào bất kỳ dự án nào.