Mấy ngày gần đây, các cuộc thảo luận xung quanh con số 10W TPS (100 nghìn TPS) của Solana lại nổi lên. Lý do là vì @cavemanloverboy thực sự đã đạt được hơn 100 nghìn TPS trên mainnet Solana, nhưng đa số mọi người không thực sự hiểu ý nghĩa đằng sau dữ liệu này:
-
Trước tiên, về bản chất, thử nghiệm này của cavey là một bài test giới hạn trong "điều kiện lý tưởng". Điều này có nghĩa đây không phải là hiệu năng thông thường của mainnet Solana, có thể có chút khác biệt so với dữ liệu trong phòng thí nghiệm trên môi trường testnet, nhưng nhìn chung là tương tự.
Bởi vì anh ấy đã sử dụng chương trình kiểm tra "noop" (no operation - không thao tác). Đúng như tên gọi, nó chỉ thực hiện xác minh chữ ký cơ bản nhất rồi ngay lập tức trả về thành công—không thực thi bất kỳ tính toán nào, không thay đổi trạng thái tài khoản nào, không gọi các chương trình khác. Hơn nữa, mỗi giao dịch chỉ có 200 byte, thấp hơn nhiều so với giao dịch bình thường là 1kb+.
Điều này có nghĩa là bài test 10W TPS này được tính toán trong một môi trường giao dịch không bình thường. Nó kiểm tra thông lượng tối đa (limit throughput) của lớp mạng và lớp đồng thuận của Solana, chứ không phải khả năng xử lý thực tế ở lớp ứng dụng.
-
Một yếu tố then chốt khác cho thành công của thí nghiệm này là máy khách trình xác thực Frankendancer. Hiểu đơn giản, Frankendancer là một "phiên bản thử nghiệm lai" của trình xác thực Firedancer đang được Jump Crypto phát triển—nó ghép các thành phần hiệu năng cao đã hoàn thành của Firedancer vào trình xác thực Solana hiện có.
Về cơ bản, nó tái cấu trúc hệ thống nút của Solana bằng cách sử dụng ngăn xếp công nghệ giao dịch tần suất cao (HFT) của Phố Wall, đạt được cải thiện hiệu suất thông qua các tối ưu hóa cấp thấp như quản lý bộ nhớ tinh vi và lập lịch luồng tùy chỉnh. Chỉ bằng việc thay thế một số thành phần đã có thể đạt được mức tăng hiệu suất gấp 3-5 lần.
-
Thử nghiệm này cho thấy, trong điều kiện cực kỳ lý tưởng, Solana có thể đạt TPS 100k+. Vậy tại sao hàng ngày nó chỉ đạt 3000-4000 TPS? Tóm lại, có ba lý do chính:
-
Cơ chế đồng thuận Proof of History (PoH) của Solana yêu cầu các Validator phải liên tục bỏ phiếu để duy trì nó. Chỉ riêng các giao dịch bỏ phiếu này đã chiếm hơn 70% không gian khối, làm thu hẹp đường truyền hiệu năng còn lại cho các giao dịch thông thường.
-
Các hoạt động trong hệ sinh thái Solana thường xuyên tồn tại hành vi tranh chấp trạng thái (state contention) lớn. Ví dụ: khi đúc NFT mới hoặc phát hành MEME mới, có thể có hàng nghìn giao dịch tranh quyền ghi vào cùng một tài khoản, dẫn đến tỷ lệ giao dịch thất bại khá cao.
-
Các bot arbitrage trong hệ sinh thái Solana, nhằm tranh giành lợi ích MEV (Giá trị có thể trích xuất tối đa), có thể gửi một lượng lớn giao dịch không hợp lệ, gây lãng phí tài nguyên.
-
Tuy nhiên, việc triển khai toàn diện sắp tới của Firedancer và bản nâng cấp đồng thuận Alpenglow sẽ giải quyết có hệ thống những vấn đề này.
Một điểm then chốt của bản nâng cấp đồng thuận Alpenglow là chuyển các giao dịch bỏ phiếu ra off-chain, điều này tương đương với việc giải phóng ~70% không gian cho các giao dịch thông thường, đồng thời có thể giảm thời gian xác nhận xuống 150 mili giây. Điều này sẽ mang lại trải nghiệm trên các DEX của Solana gần như tương đương với CEX. Ngoài ra, việc kích hoạt thị trường phí cục bộ (local fee markets) cũng có thể ngăn chặn tình trạng một chương trình đơn lẻ trở nên quá hot (FOMO) gây tắc nghẽn toàn mạng.
Lợi ích của Firedancer, ngoài việc tối ưu hóa và nâng cao hiệu suất, then chốt là đạt được sự đa dạng về máy khách (client diversity). Nó cho phép Solana có nhiều máy khách (giống như Ethereum có Geth, Nethermind...), trực tiếp nâng cao tính phi tập trung và khả năng chống chịu lỗi của một nút đơn lẻ.
Trên đây là toàn bộ.
Vì vậy, những người am hiểu trong cuộc xem cuộc thảo luận về 100K TPS của Solana thực chất là thể hiện sự tin tưởng vào các bản nâng cấp máy khách và giao thức đồng thuận trong tương lai của Solana. Còn những người không hiểu thì cố gắng dựa vào cuộc chạy đua vũ trang TPS để tạo sự chú ý cho Solana (mặc dù việc so kè TPS đã lỗi thời). Nhưng nếu hiểu được ý nghĩa đằng sau thí nghiệm thì sẽ khá có nhiều insight. Chỉ chia sẻ chút kiến thức phổ thông với mọi người.