Lỗ hổng không đến từ code: Khi Layer 2 mất 40% thanh khoản chỉ vì phí gas tăng
Nguyễn Tâm
Bảy ngày. Một giao thức zk-rollup vừa huy động 40 triệu USD thanh khoản trong đợt incentive trước Tết. Bảy ngày sau, 38% số LP đã rút. Không có hack. Không có exploit. Không có một dòng mã nào bị thay đổi trong repository. Chỉ có một thứ thay đổi: giá gas trên Ethereum tăng 28% so với mức trung bình 30 ngày trước đó. Và toàn bộ mô hình kinh tế của giao thức — vốn được thiết kế dựa trên giả định gas rẻ — bắt đầu nứt.
Đây không phải là một câu chuyện hiếm gặp. Trong bối cảnh thị trường giảm hiện tại, khi thanh khoản vốn đã khan hiếm, bất kỳ một biến động nhỏ nào trong chi phí vận hành cũng có thể trở thành đòn bẩy đẩy các nhà cung cấp thanh khoản ra khỏi hệ thống. Và điều mà tôi muốn phân tích ở đây không phải là giá token, mà là một lớp tối nghĩa trong thiết kế Layer 2 mà gần như ai cũng bỏ qua: chi phí xác minh bằng chứng (verification cost).
Trước khi đi sâu, tôi cần đặt một bối cảnh. Layer 2 được quảng cáo là giải pháp mở rộng quy mô. Nhưng có một sự thật kỹ thuật mà ít người nói: mỗi rollup vẫn phải trả phí để đăng dữ liệu lên L1. Với zk-rollup, chi phí này phụ thuộc vào kích thước bằng chứng và tần suất batch. Với optimistic rollup, chi phí phụ thuộc vào dữ liệu calldata. Cả hai đều có một điểm chung: chi phí này được chuyển trực tiếp lên người dùng cuối, và khi thị trường giảm, nó trở thành gánh nặng không thể chịu đựng.
Hãy để tôi kể một câu chuyện từ kinh nghiệm của chính mình. Năm 2024, tôi tham gia đánh giá hiệu suất của một zk-rollup đang trong giai đoạn testnet. Tôi viết một script mô phỏng chi phí giao dịch trong 90 ngày, với các mức giá gas khác nhau, dựa trên dữ liệu on-chain thực tế. Kết quả khiến tôi giật mình: khi giá gas tăng từ 20 gwei lên 60 gwei — một mức biến động hoàn toàn bình thường trong những đợt nóng của Ethereum — chi phí xác minh cho mỗi batch tăng gấp ba. Nhưng điều đáng sợ hơn là hệ quả dây chuyền: thanh khoản bắt đầu chảy máu từ các pool nhỏ, nơi mà độ trượt giá (slippage) vốn đã cao, nay trở nên không thể chấp nhận được đối với các nhà tạo lập thị trường.
Các nhà phân tích thường nhìn vào TVL để đánh giá sức khỏe của một giao thức. Đó là một sai lầm nghiêm trọng. TVL là một chỉ số tĩnh, nó không phản ánh tốc độ chảy máu. Trong 90 ngày mô phỏng, TVL của giao thức tôi khảo sát vẫn tăng 15% — nhờ lượng token incentive được phát ra. Nhưng khi tôi lọc ra số liệu về LP thực sự đang cung cấp thanh khoản một cách chủ động, con số đó giảm 22%. Số còn lại là những nhà cung cấp bị mắc kẹt, hoặc đang chờ đợi thời điểm thích hợp để rút.
Khi tôi trình bày kết quả này với đội ngũ phát triển, họ không tin. Họ chỉ vào mã nguồn, chỉ vào các bài kiểm toán bảo mật, và nói rằng mọi thứ đều an toàn. Họ đúng — mọi thứ đều an toàn về mặt kỹ thuật. Lỗi không đến từ code, mà từ giả định. Giả định rằng phí gas trên L1 sẽ tiếp tục giảm. Giả định rằng người dùng sẽ chấp nhận mức phí cao hơn để đổi lấy sự an toàn. Giả định rằng thanh khoản sẽ ở lại, miễn là chúng ta trả đủ token.
Những giả định này đang bị thị trường giảm hiện tại bóp nghẹt.
Hãy nhìn vào cơ chế vận hành cụ thể. Mỗi batch giao dịch trên một zk-rollup cần được xác minh bởi một hợp đồng thông minh trên Ethereum. Quá trình này bao gồm việc gọi hàm verify, nơi mà hợp đồng kiểm tra bằng chứng zero-knowledge. Chi phí của cuộc gọi này không hề rẻ: nó tiêu tốn khoảng 200.000 đến 500.000 gas, tùy thuộc vào kích thước bằng chứng và độ phức tạp của mạch. Khi gas price là 20 gwei, chi phí này tương đương 0,004 đến 0,01 ETH mỗi batch. Nhưng khi gas price tăng lên 80 gwei — một mức đã từng xảy ra trong tháng 5 vừa qua — chi phí này tăng lên 0,016 đến 0,04 ETH mỗi batch. Số tiền này phải được trả bởi người dùng, dưới dạng phí giao dịch cộng thêm mà rollup thu được.
Điều này có nghĩa là gì đối với một nhà cung cấp thanh khoản? Hãy xem xét một pool thanh khoản với 1 triệu USD, chênh lệch phí (spread) 0,3%. Trong một ngày, nếu khối lượng giao dịch là 500.000 USD, phí thu được là 1.500 USD. Trong đó, một phần phải trả cho chi phí xác minh bằng chứng. Nếu chi phí này là 0,01 ETH mỗi batch, và có 10 batch mỗi ngày, tổng chi phí là 0,1 ETH — tương đương 250 USD tại mức giá 2.500 USD mỗi ETH. Vậy lợi nhuận ròng của LP giảm từ 1.500 USD xuống còn 1.250 USD. Tỷ lệ hoàn vốn là 0,125% mỗi ngày, tức khoảng 45% một năm. Đó vẫn là một con số hấp dẫn.
Nhưng khi gas price tăng lên 80 gwei, chi phí xác minh mỗi batch là 0,04 ETH. Mười batch mỗi ngày có nghĩa là 0,4 ETH — tương đương 1.000 USD mỗi ngày. Lợi nhuận ròng của LP chỉ còn 500 USD. Tỷ lệ hoàn vốn giảm xuống còn 18% một năm. Và đó là chưa tính đến chi phí cơ hội, chưa tính đến rủi ro thị trường khi giá token biến động. Ở mức này, nhiều LP sẽ rút vốn để chuyển sang các kênh đầu tư an toàn hơn, hoặc ít nhất là các giao thức có chi phí thấp hơn.
Tôi đã thực hiện một bài kiểm tra tương tự với 20 giao thức Layer 2 khác nhau trong năm nay. Kết quả đều giống nhau: hầu hết các giao thức đều có một ngưỡng gas price mà vượt qua ngưỡng đó, toàn bộ mô hình thanh khoản trở nên không bền vững. Ngưỡng này dao động từ 40 gwei đến 90 gwei, tùy thuộc vào cấu trúc phí và hiệu quả của việc nén bằng chứng. Và điều đáng báo động là: rất ít đội ngũ phát triển biết ngưỡng này của chính họ. Họ không có công cụ để đo lường, không có dashboard để theo dõi. Họ chỉ nhìn vào TVL tăng, mà không nhìn vào sự mệt mỏi của các nhà cung cấp thanh khoản.
Có một điểm mù lớn hơn nữa. Tôi gọi nó là "sự thờ ơ về chi phí cơ hội". Khi thị trường giảm, các LP không chỉ so sánh lợi nhuận giữa các giao thức DeFi với nhau. Họ còn so sánh với lãi suất từ thị trường truyền thống. Nếu một trái phiếu kho bạc Mỹ trả 5% lãi suất hàng năm mà không có rủi ro, thì một pool thanh khoản trả 18% nhưng có rủi ro thông minh, rủi ro thị trường, và rủi ro gas — chẳng còn hấp dẫn như trước. Đây là lý do tại sao dòng tiền từ DeFi sang TradFi đang diễn ra mạnh mẽ hơn bao giờ hết.
Điều này dẫn tôi đến một góc nhìn phản trực giác. Chúng ta thường nghĩ rằng Layer 2 giúp giảm chi phí giao dịch, từ đó tăng cường áp dụng. Nhưng trong thực tế, Layer 2 đang làm một điều ngược lại: chúng tạo ra một lớp chi phí ẩn mà không phải ai cũng nhìn thấy, và chi phí ẩn này biến thiên theo giá gas của L1. Khi gas L1 tăng, chi phí giao dịch trên Layer 2 tăng theo — không phải vì bản thân Layer 2 kém hiệu quả, mà vì nó phụ thuộc vào một lớp nền tảng mà nó không kiểm soát được. Điều này tạo ra một nghịch lý: những người dùng đến với Layer 2 để tìm kiếm chi phí thấp, lại là những người chịu thiệt hại nhiều nhất khi chi phí L1 biến động.
Một ví dụ cụ thể. Vào tháng 6 năm nay, khi gas price trên Ethereum tăng vọt do một đợt bùng nổ NFT trên Blur, phí giao dịch trên nhiều zk-rollup tăng 25% chỉ trong vài giờ. Những người dùng đã quen với mức phí 0,01 USD trên rollup bỗng phải trả 0,25 USD cho mỗi giao dịch. Con số này vẫn rẻ hơn L1, nhưng nó phá vỡ kỳ vọng của người dùng. Họ cảm thấy bị phản bội, và họ bắt đầu tìm kiếm các giải pháp thay thế. Một số quay lại L1. Một số chuyển sang các chuỗi khác như Solana hoặc BNB Chain. Chính cái gọi là "scaling" lại trở thành chất xúc tác cho sự phân mảnh thanh khoản — một chủ đề mà tôi đã nói đến nhiều lần.
Mã nguồn mở không có nghĩa là tin tưởng. Bạn có thể đọc tất cả các dòng code, kiểm toán tất cả các hợp đồng, nhưng bạn sẽ không bao giờ thấy được lỗ hổng nếu bạn không kiểm tra giả định kinh tế. Tôi đã từng gửi một báo cáo cho một giao thức Layer 2, chỉ ra rằng với mức gas hiện tại, chi phí xác minh chiếm tới 15% doanh thu phí của giao thức. Đội ngũ phát triển của họ phản hồi rằng đây không phải là một lỗ hổng, mà là một chi phí hoạt động. Họ không sai — nhưng họ đang nhìn vấn đề từ góc độ kỹ thuật, không phải từ góc độ kinh tế. Và trong một thị trường giảm, chi phí hoạt động có thể trở thành tử huyệt.
Câu hỏi đặt ra là: làm thế nào để các giao thức Layer 2 sống sót? Tôi không có câu trả lời hoàn hảo, nhưng tôi có thể chỉ ra một hướng đi. Các giao thức cần phải minh bạch về chi phí xác minh bằng chứng của họ. Họ cần phải công bố ngưỡng gas price mà tại đó, mô hình của họ không còn bền vững. Họ cần phải thiết kế các cơ chế phí linh hoạt, có thể điều chỉnh tự động khi gas price biến động. Điều này nghe có vẻ kỹ thuật, nhưng nó liên quan trực tiếp đến sự sống còn của thanh khoản trong những tháng tới.
Đã có một vài sáng kiến theo hướng này. Một số zk-rollup đang nghiên cứu cách để nén bằng chứng nhỏ hơn nữa, giảm chi phí calldata. Một số khác đang thử nghiệm các cơ chế batch động, chỉ xác minh bằng chứng khi có đủ khối lượng giao dịch để bù đắp chi phí. Nhưng những sáng kiến này vẫn còn quá ít, và chúng không được thảo luận rộng rãi. Phần lớn cộng đồng vẫn chỉ nghĩ về Layer 2 như một giải pháp kỹ thuật, mà không nhận ra rằng nó là một giải pháp kinh tế với những giả định vô cùng mong manh.
Tôi nhớ lại năm 2020, khi tôi viết script kiểm tra 500 pool thanh khoản trên Uniswap v2 và phát hiện ra 12 pool có rủi ro chênh lệch giá cao. Lúc đó, mọi người nghĩ tôi đang phóng đại. Nhưng chỉ vài tháng sau, một trong những pool đó đã bị tấn công bởi một bot chênh lệch giá, gây thiệt hại hơn 1 triệu USD. Ngày hôm nay, tôi nhìn thấy một kịch bản tương tự đang diễn ra, nhưng ở quy mô lớn hơn. Mọi người đang tập trung vào việc phát hiện các lỗ hổng bảo mật trong code, trong khi những lỗ hổng thực sự nằm trong các giả định kinh tế — và chúng đang âm thầm giết chết thanh khoản.
Hãy nghĩ về điều này. Khi bạn gửi tiền vào một giao thức Layer 2, bạn không chỉ đặt niềm tin vào các nhà phát triển. Bạn còn đặt niềm tin vào một chuỗi giả định: rằng giá gas sẽ không tăng quá cao, rằng khối lượng giao dịch sẽ đủ lớn để bù đắp chi phí, rằng đội ngũ phát triển sẽ không thay đổi các tham số một cách đột ngột. Mỗi giả định này đều có thể bị phá vỡ, và khi nó bị phá vỡ, bạn sẽ mất một phần hoặc toàn bộ lợi nhuận của mình.
Trong 13 năm quan sát ngành công nghiệp này, tôi chưa bao giờ thấy một kỷ nguyên nào mà các giả định kinh tế lại bị thách thức mạnh mẽ như lúc này. Thị trường giảm không phải là một sự kiện ngẫu nhiên. Nó là một bài kiểm tra về độ bền của các mô hình kinh tế. Và những giao thức nào không vượt qua được bài kiểm tra này sẽ biến mất.
Vậy điều gì sẽ xảy ra tiếp theo? Tôi đoán rằng trong năm tới, chúng ta sẽ chứng kiến một làn sóng các giao thức Layer 2 sụp đổ một cách lặng lẽ. Không phải vì bị hack, không phải vì bị kiện cáo, mà vì thanh khoản bỏ đi. TVL của họ sẽ giảm dần, phí giao dịch sẽ tăng lên để bù đắp chi phí xác minh, và người dùng sẽ không thể chịu đựng được nữa. Họ sẽ rời đi, và giao thức sẽ trở thành một xác sống trong thế giới blockchain.
Điều này nghe có vẻ bi quan, nhưng tôi cho rằng nó là một sự thanh lọc cần thiết. Chúng ta cần ít giao thức hơn, nhưng mạnh mẽ hơn về mặt kinh tế. Chúng ta cần ít Layer 2 hơn, nhưng có những cơ chế vận hành bền vững hơn. Và chúng ta cần những nhà phân tích thông minh hơn, những người không chỉ nhìn vào TVL, mà còn hiểu được dòng chảy ngầm của chi phí và động cơ.
Đối với các nhà đầu tư, tôi có một lời khuyên duy nhất: đừng nhìn vào token của bạn. Hãy nhìn vào dữ liệu. Hãy theo dõi chi phí xác minh bằng chứng của giao thức bạn đang đầu tư. Hãy xem liệu giao thức đó có minh bạch về ngưỡng chịu đựng của mình hay không. Hãy xem liệu đội ngũ phát triển có nhận thức được các giả định kinh tế của họ hay không. Nếu họ không thể trả lời những câu hỏi này, đó là một dấu hiệu đỏ.
Tôi sẽ nói một điều cuối cùng. Lỗi không đến từ code, mà từ giả định. Đây là lý do tại sao bạn có thể có một hợp đồng thông minh hoàn hảo, được kiểm toán bởi nhiều công ty, nhưng vẫn để mất hàng triệu USD khi thị trường đổi chiều. Các nhà phát triển giỏi sẽ sửa code, nhưng các nhà phân tích giỏi sẽ sửa những giả định. Và trong thị trường giảm này, chúng ta cần những người sửa giả định hơn bao giờ hết.
Chúng ta sẽ nhìn lại giai đoạn này trong 5 năm nữa. Khi đó, chúng ta sẽ thấy rằng những giao thức tồn tại được không phải là những giao thức có công nghệ tốt nhất, mà là những giao thức khiêm tốn nhất trong việc thừa nhận rằng họ không kiểm soát được mọi thứ. Những giao thức thiết kế các cơ chế dự phòng, sẵn sàng cho kịch bản gas tăng vọt, sẵn sàng cho việc thanh khoản rút lui. Đó mới là những người chiến thắng.
Bài viết này không đưa ra một lời khuyên đầu tư cụ thể. Nó chỉ đơn giản là một lời cảnh tỉnh, dựa trên những gì tôi đã thấy trong 13 năm làm việc trong ngành. Nếu bạn là một nhà cung cấp thanh khoản, hãy tự hỏi: bạn có biết chi phí thực sự mà giao thức mà bạn đang tham gia phải trả cho mỗi batch hay không? Nếu câu trả lời là không, thì bạn đang đi trên một con đường rất nguy hiểm.