Cách đây vài tuần, một dự án zkEVM hàng đầu đã bị phát hiện lỗ hổng nghiêm trọng trong 'máy ảo' của họ. Lỗi nằm ở zk-circuit, cho phép tạo ra bằng chứng (proof) sai trước khi mint token. Một hacker có thể drain hết TVL của bridge mà không ai phát hiện ra. Nhưng điều tôi muốn nói hôm nay không phải là vulnerability đó. Mà là thứ nó phơi bày: sự ưu tiên sai lầm của toàn bộ hệ sinh thái.
Khi chúng ta nói về Layer 2, tất cả đều tập trung vào TPS, chi phí gas rẻ, và câu chuyện 'mở rộng quy mô Ethereum'. OP Stack vs ZK Stack. Arbitrum vs zkSync. Dự án nào sẽ thu hút được nhiều dự án game và SocialFi hơn? Đây là câu chuyện của các VC và KOL. Họ muốn bạn tin rằng tương lai của DeFi phụ thuộc vào tốc độ của sequencer. Tôi không đồng ý. Từ 2022, khi tôi dành 6 tháng nghiên cứu Celestia, tôi đã hiểu rằng cuộc chiến thực sự không nằm ở 'khả năng mở rộng', mà nằm ở tính toàn vẹn của dữ liệu và khả năng xác minh.
Hãy nhìn vào sự thật. Trong quá khứ audit của tôi, đã từng gặp những lỗi tương tự ở các dự án khác. Không phải lỗi ở consensus hay sequencer. Mà là ở lớp trừu tượng cao nhất: zk-circuits. Đây là nơi các nhà phát triển dễ mắc sai lầm nhất vì nó đòi hỏi kiến thức chuyên sâu về toán học số học. Một lỗi ở zk-circuit có nghĩa là bạn đã xây dựng một tòa nhà chọc trời trên nền móng bị nứt. Lớp proof của mọi L2 là điểm mù kỹ thuật thực sự, không phải hiệu suất của sequencer.
Hãy phân tích kỹ hơn về lỗ hổng cụ thể này. Tôi gọi nó là 'Sahara Attack', theo tên một dự án giả định. Điểm yếu nằm ở 'Plonk' hoặc một hệ thống chứng minh tương tự. Cụ thể, có một bước trong quá trình 'scalar multiplication' bị bỏ quên. Kẻ tấn công có thể chọn các giá trị điểm (point) đầu vào sao cho phương trình đa thức (polynomial) vẫn thỏa mãn, trong khi kết quả khác hoàn toàn. Điều này giống như có thể ký một giao dịch chuyển 10 ETH thành 1000 ETH, nhưng chữ ký vẫn hợp lệ. ZKP không bị hack, mà bị 'lừa'.
Trong thử nghiệm của tôi với EigenLayer và các restaking protocol, tôi nhận ra một điều phản trực giác: càng nhiều lớp trừu tượng, càng khó phát hiện lỗ hổng. EigenLayer hứa hẹn 'bảo mật chia sẻ', nhưng tập trung vào tính thanh khoản. Còn ai đó đã kiểm tra tính đúng đắn của logic 'slash' trước khi nó được viết mã? Câu trả lời là: rất ít. Vấn đề không phải là 'phân mảnh thanh khoản' như các VC vẫn than vãn. Vấn đề là phân mảnh của sự tin tưởng kỹ thuật.
Có một góc nhìn bị bỏ quên mà tôi gọi là 'trật tự ưu tiên sai'. Các dự án Layer 2 như Base hay zkSync đều tương thích với EVM. Điều đó có nghĩa là họ kế thừa không chỉ tính năng mà còn cả 'hành vi người dùng' từ Ethereum. Nhưng cũng đồng nghĩa với việc họ kế thừa cả sự phức tạp. Một lỗi trong 'bytecode' được biên dịch từ Solidity có thể không gây hại trên Mainnet, nhưng lại gây hại chết người trên zkEVM vì trình biên dịch (compiler) xử lý khác nhau. Đây là điểm mù: mọi người nghĩ 'EVM-compatible' là an toàn, nhưng thực tế nó là một vector tấn công mới.
Tại sao tôi lại nói về điều này? Bởi vì thị trường tăng giá hiện tại đang ngăn cản chúng ta nhìn thấy sự thật. Khi token của một dự án tăng 5x sau TGE, ai còn quan tâm đến zk-circuit có an toàn không? Nhưng trong bear market, chính những lỗ hổng này sẽ giết chết dự án. Nhìn lại từ 2020 đến nay, tôi đã chứng kiến không ít dự án 'zero knowledge' sụp đổ vì lạm dụng lí thuyết nhưng không hiện thực hóa được code. Hãy mint, đừng xin phép – nhưng khi mint, hãy kiểm tra cái code.
Vậy giải pháp là gì? Tôi tin rằng cần một cuộc đại tu về mặt 'kiểm định'. Các dự án không chỉ nên được audit code, mà cần được audit mô hình toán học của zk-circuits bởi các chuyên gia thực thụ về 'number theory'. Các công cụ như 'formal verification' cho Solidity là bước đầu. Nhưng chúng ta cần nó cho cả zk-circuit của một dự án. Nếu không có formal verification cho zk-circuit, L2 chỉ là một cái tủ kính đẹp mã.
Một giả thuyết khác tôi đang theo dõi: sự trở lại của 'modular blockchain' với trọng tâm là 'security as a service'. Thay vì mỗi L2 tự xây zk-circuits, tại sao không dùng một chuẩn chung, được kiểm định bởi hàng trăm nhà nghiên cứu? Celestia và EigenLayer là những viên gạch, nhưng chưa ai xây được ngôi nhà hoàn chỉnh. Tôi dự đoán rằng trong 2-3 năm tới, các L2 sẽ không còn 'tự hào' về zk-proof nội bộ nữa. Thay vào đó, họ sẽ outsource security cho một lớp chuyên biệt. Sự thay đổi này sẽ đến từ sự thất bại của một dự án lớn nào đó, giống như cách Luna sập đã thay đổi DeFi vĩnh viễn.
Vậy, bài học lớn nhất là gì? Đừng bị đánh lừa bởi câu chuyện 'mở rộng'. Khi một dự án khoe TPS 1 triệu, hãy hỏi: 'Làm sao tôi biết proof của bạn là đúng?' Khi họ nói về 'decentralized sequencer', hãy hỏi: 'Ai sẽ audit circuit của bạn?'. Những câu hỏi này là chìa khóa cho sự bền vững của crypto. Hãy mint, đừng xin phép. Nhưng hãy mint có trách nhiệm. NFT – không chỉ art, mà là identity số. Và identity số chỉ an toàn khi lớp proof của nó an toàn.