Ngày 10 tháng 7 năm 2024, tài khoản chính thức của Solana đăng tải: 'Block Compute Unit limit on Solana mainnet has been raised to 100M.' Một dòng tweet ngắn, nhưng nó đã khuấy động cộng đồng. Nhiều người ngay lập tức tính toán: từ 60M lên 100M, tức là tăng 66% dung lượng. Một bước nhảy vọt? Có lẽ không. Nếu bạn từng audit code của các dự án DeFi trên Solana, bạn sẽ hiểu rằng con số 66% chỉ là giới hạn trên lý thuyết.
Context: Compute Unit (CU) trên Solana tương tự như Gas trên Ethereum, đo lường tài nguyên tính toán mà mỗi giao dịch tiêu thụ. Trước đây, giới hạn mỗi block là 60 triệu CU, được đặt ra dựa trên khả năng xử lý của các validator. Quyết định nâng lên 100 triệu CU được thực hiện thông qua đề xuất SIMD-0286, đã được thảo luận và bỏ phiếu bởi cộng đồng validator. Lý do chính: áp lực từ các giao dịch phức tạp – đặc biệt là MEV và các tương tác DeFi nhiều bước – đã khiến block thường xuyên đạt giới hạn, gây tắc nghẽn cục bộ.
Core: Từ góc nhìn kỹ thuật, đây là một nâng cấp tham số, không thay đổi cơ chế đồng thuận (PoH) hay giao thức truyền tin (Turbine). Nhưng điểm mấu chốt là: dung lượng block tăng lên không đồng nghĩa với throughput thực tế tăng 66%. Bởi vì các giao dịch có độ phức tạp khác nhau. Nếu phần lớn giao dịch là chuyển token đơn giản (200 CU), thì giới hạn mới không giúp ích nhiều – bạn chỉ cần một phần nhỏ của block. Ngược lại, nếu có nhiều giao dịch MEV phức tạp (50k CU mỗi giao dịch), thì 100M cho phép nhiều giao dịch hơn mỗi block. Tuy nhiên, chính những giao dịch MEV này lại là con dao hai lưỡi. Từ kinh nghiệm kiểm toán SushiSwap năm 2020, tôi từng phát hiện lỗ hổng trong hàm skim cho phép bot lợi dụng thực hiện giao dịch trước. Với Solana, việc tăng giới hạn tính toán có thể tạo ra các vector tấn công mới nếu các giao thức không điều chỉnh thuật toán chống MEV. Oracle lỗ? Tôi đã thấy trước. Các giao dịch sandwich và front-running có thể trở nên tinh vi hơn khi block có nhiều không gian hơn cho các bot.
Hãy nhìn vào dữ liệu: theo báo cáo, giới hạn mới đã được kích hoạt trên mainnet. Nhưng liệu TPS (giao dịch mỗi giây) có tăng tương ứng? Câu trả lời phụ thuộc vào cấu trúc giao dịch. Solana từng đạt đỉnh 2.000 TPS trong các đợt meme coin, nhưng với giới hạn CU mới, con số này có thể lên 3.000-4.000 nếu các giao dịch chủ yếu là chuyển token. Tuy nhiên, nếu các ứng dụng phức tạp như Jupiter hay Mango Markets tận dụng không gian để thực hiện các hoán đổi nhiều bước trong một giao dịch, TPS có thể không đổi nhưng giá trị mỗi giao dịch lại tăng. Đây là điều mà thị trường thường bỏ qua: hiệu suất tổng thể không chỉ là số giao dịch, mà là tổng khối lượng tính toán.
Contrarian: Góc nhìn phản trực giác ở đây là: nâng cấp này có thể gây hại nhiều hơn lợi nếu không đi kèm các biện pháp bảo vệ. Thứ nhất, nguy cơ tập trung hóa validator. Để xử lý block 100M CU, validator cần phần cứng mạnh hơn – RAM lớn hơn, CPU nhanh hơn. Điều này có thể loại bỏ các validator nhỏ, làm giảm tính phi tập trung. Đã có báo cáo về một số validator gặp khó khăn với block 80M CU trong giai đoạn thử nghiệm. Thứ hai, MEV có thể leo thang. Các bot sử dụng không gian mới để thực hiện các chiến lược phức tạp, gây hại cho người dùng thông thường. Trong khi cộng đồng hân hoan với con số 66%, họ quên rằng mỗi lần tăng giới hạn đều đi kèm với rủi ro. Tôi đã thấy trước điều này từ các bài audit trước đây. Ví dụ, trên Kyber Network năm 2017, tôi phát hiện lỗ hổng oracle có thể dẫn đến thao túng giá khi thanh khoản tăng đột biến. Solana cũng vậy: dung lượng lớn hơn đồng nghĩa với nhiều cơ hội hơn cho kẻ tấn công.
Takeaway: Vậy, điều gì sẽ xảy ra trong tương lai gần? Tôi cho rằng cần theo dõi ba chỉ số trong 3 tháng tới: (1) TPS thực tế trung bình trên mainnet, (2) tỷ lệ giao dịch có CU cao (>10k), và (3) số lượng validator giảm hoặc yêu cầu phần cứng tăng. Nếu TPS không tăng đáng kể hoặc MEV trở nên tràn lan, nâng cấp này chỉ là miếng vá tạm thời. Câu hỏi đặt ra: Liệu Solana có đang mở ra cánh cửa cho những cuộc tấn công MEV tinh vi hơn, hay đây là bước đệm cho một Solana thực sự có thể xử lý các ứng dụng phức tạp? Thời gian sẽ trả lời. Và như mọi khi, tôi đã thấy trước.