
Rất cảm ơn 0xIchigo và Brian Wong vì đã xem xét các phiên bản trước đó của công việc này.
Giới thiệu
Phiên bản chính thức Agave v3.0 đánh dấu một mốc quan trọng khác cho Solana, giới thiệu loạt nâng cấp nhằm cải thiện hiệu suất mạng lưới, hoạt động của người xác thực và trải nghiệm cho nhà phát triển.
Những cập nhật nổi bật của Agave 3.0
Cải tổ bộ nhớ đệm: mang lại tốc độ xử lý giao dịch nhanh hơn 30–40%
Giới hạn tính toán cho tài khoản đơn: tăng giới hạn tài khoản đơn lên 40% tổng CUs của một khối
Cấu trúc TransactionView mới: cải thiện hiệu quả lập lịch
eXpress Data Path (XDP) cho Turbine: một điều kiện tiên quyết cho 100 triệu khối CU
Tăng Độ Sâu Lồng CPI: nâng giới hạn lồng CPI từ 4 lên 8
Giảm nhẹ các ràng buộc đầu vào: đơn giản hóa logic lập lịch và cần thiết cho thực thi bất đồng bộ
Thời gian khởi động nhanh hơn: các nút giờ đây quay trở lại trực tuyến nhanh hơn
Đặc tả Kích thước Dữ liệu Giao dịch Đã Tải: chuẩn hóa cách kích thước dữ liệu giao dịch đã tải được tính toán
Cải tiến RPC: cập nhật thời gian thực nhanh hơn, đáng tin cậy hơn cho dApps sử dụng PubSub WebSockets
Mỗi phần của bài viết này đều tự chứa, cho phép độc giả tập trung vào các chủ đề phù hợp nhất với họ. Dù bạn là một nhà điều hành xác thực, nhà phát triển hay thành viên cộng đồng tích cực, hướng dẫn này về Agave v3.0 cung cấp cho bạn những cập nhật và thông tin cần thiết để tận dụng tối đa các cải tiến mới nhất.
Xu Hướng Liên Quan đến Khách Hàng
Trước khi khám phá chi tiết về các tính năng mới của Agave v3.0, hãy cùng xem cách dữ liệu gần đây làm nổi bật tiến trình của mạng Solana và khách hàng Agave, cho thấy chu kỳ phát hành nhanh hơn, việc áp dụng khách hàng rộng rãi hơn và hiệu suất mạnh mẽ dưới áp lực.
Chu kỳ Phát Hành Agave
Anza đã tăng tốc độ phát hành của mình một cách đáng kể trong năm nay, giảm khoảng cách giữa các phiên bản Agave nhỏ xuống dưới ba tháng. Loạt Agave 2.2.* đã giữ vị trí phiên bản đa số trong chỉ 11 tuần, với Agave 2.3 theo dõi một thời gian tương tự.

Mạng Đa Khách Hàng
Việc áp dụng Firedancer trên mainnet đã tiến triển đáng kể trong những tháng gần đây. Hiện tại, 21.6% số cổ phần đang chạy khách hàng Jito-Frankendancer, con số này đã tăng trưởng chậm mà ổn định trong suốt năm (xem biểu đồ bên dưới). Việc áp dụng dự kiến sẽ duy trì quanh ngưỡng 20% cho đến khi khách hàng Firedancer hoàn chỉnh sẵn sàng triển khai trên mainnet.

Điều này đánh dấu một cột mốc quan trọng cho chiến lược đa khách hàng của Solana, một mục tiêu lâu dài nhằm cải thiện an toàn, tính sống động và khả năng phục hồi của mạng. Sự đa dạng khách hàng tăng cường cung cấp nhiều lựa chọn hơn cho các nhà điều hành xác thực, thúc đẩy sự cạnh tranh lành mạnh giữa các nhóm khách hàng và mang lại nhiều cái nhìn hơn vào các mã nguồn khách hàng. Điều này cũng giảm thiểu nguy cơ một lỗi nghiêm trọng duy nhất kích hoạt một sự cố toàn mạng.
Cũng đáng lưu ý rằng số cổ phần chạy khách hàng Agave thuần túy, có nghĩa là Agave không có các sửa đổi MEV của bên thứ ba như Jito, đã giảm từ khoảng 6% vào đầu năm xuống còn khoảng 2% hôm nay. Trong khi đó, việc áp dụng Paladin-Agave đã tăng lên trong vài tháng qua, hiện chiếm khoảng 6% tổng số cổ phần.
Kiểm Tra Tải Mạng
Vào ngày 10 tháng 10, thị trường tiền điện tử đã trải qua sự kiện thanh lý lớn nhất trong lịch sử của nó, kích hoạt sự biến động cực đoan trên tất cả các blockchain lớn. Mặc dù có sự gia tăng kỷ lục trong hoạt động mạng, mạng Solana và khách hàng xác thực Agave đã thể hiện sự kiên cường và ổn định đáng kể dưới áp lực.
Trong thời điểm cao điểm, Solana đã duy trì lưu lượng trong sáu lần so với mức bình thường với các nhà lãnh đạo tiếp nhận khoảng 100.000 gói giao dịch mỗi giây, trong khi sản xuất các khối đầy đủ tại giới hạn 60 triệu CU.
Ngay cả trong những điều kiện này, Solana đã thể hiện động lực phí ổn định nhất trong bất kỳ mạng lớn nào trong khi xử lý thông lượng cao hơn một bậc. TPS thực sự (giao dịch không bỏ phiếu) đã vượt quá 3.200 ở đỉnh hoạt động.
Trong khoảng thời gian cao điểm kéo dài khoảng hai giờ, phí giao dịch trung bình (P50) của Solana chỉ tăng lên $0.007, ít hơn một xu. Phí trung bình tạm thời đạt $0.10, và 1% giao dịch hàng đầu (P99) đạt đỉnh chỉ trên $1.00. Mô hình này chứng tỏ hiệu quả của các thị trường phí địa phương, đã hạn chế phí cao chỉ cho những giao dịch tương tác với các tài khoản nóng bị tranh chấp, trong khi người dùng bình thường thực hiện các giao dịch đơn giản (ví dụ: thanh toán stablecoin) không bị ảnh hưởng.

Để so sánh, mạng chính Ethereum và Arbitrum đã thấy phí trung bình tạm thời tăng lên trên 100 đô la cho mỗi giao dịch trong cùng thời gian. L2 Base do Coinbase điều hành cũng đã trải qua sự tăng giá phí với các phí trung bình đạt đỉnh trên 3 đô la. Những mạng này thiếu thị trường phí địa phương, áp dụng các điều chỉnh phí toàn cầu làm tăng đồng đều chi phí cho tất cả người dùng trong thời gian căng thẳng của mạng.

Sự Tăng Trưởng Trạng Thái
Solana gần đây đã vượt qua một cột mốc lớn trong sự tăng trưởng trạng thái chuỗi, vượt qua 1 tỷ tài khoản tổng cộng. Gần 67% các tài khoản này thuộc về Chương trình Token, trong đó 89.45% là tài khoản token liên quan và 10.55% là tài khoản phát hành token.

Sự mở rộng ổn định của trạng thái này có những tác động lâu dài đối với các khách hàng và nhà cung cấp hạ tầng Solana. Khi số lượng tài khoản tăng lên, nhu cầu về lưu trữ, kích thước ảnh chụp và lập chỉ mục tài khoản cũng tăng theo, tất cả đều có thể ảnh hưởng đến hiệu suất và yêu cầu phần cứng. Các giải pháp như ZK Compression cung cấp một con đường hứa hẹn lâu dài để giảm tình trạng phình to của trạng thái.
Cập Nhật Chu Kỳ Phát Hành Agave
Cải cách Bộ nhớ Cache
Agave 3.0 giảm đáng kể các hoạt động thời gian chạy dư thừa. Một cuộc cải cách hoàn toàn của bộ nhớ cache chương trình loại bỏ hàng trăm lần tìm kiếm tài khoản thừa thãi mỗi lô giao dịch, dẫn đến việc xử lý giao dịch nhanh hơn khoảng 30–40% trong các phép thử nội bộ.
Tăng Giới Hạn Tài Khoản lên 40% của Block CU
Như một phần của chu kỳ phát hành Agave 3.0, Solana sẽ kích hoạt SIMD-0306: Tăng Giới Hạn CU Tài Khoản. Điều này làm tăng giới hạn CU trên mỗi tài khoản từ một hằng số cố định tĩnh là 12M lên 40% giới hạn CU của khối. Hiện tại, mỗi tài khoản có thể tiêu tốn lên tới 12 triệu CUs mỗi khối. Như được thể hiện trong biểu đồ bên dưới từ Anza, các tài khoản bị tranh chấp nặng thường chạm đến giới hạn này.

Với sự thay đổi này, giới hạn trên mỗi tài khoản sẽ ban đầu tăng từ 12 triệu lên 24 triệu CU, và cuối cùng lên 40 triệu CU khi SIMD-0286 (100M CU blocks) được kích hoạt. Kết hợp với các bản cập nhật như việc giới thiệu chương trình P-token, nâng cấp này sẽ tăng đáng kể thông lượng cho các tài khoản nóng thường xuyên được truy cập trong mỗi khối.
Các ràng buộc khác sẽ không thay đổi, bao gồm:
Đơn vị Bỏ Phiếu Tối Đa: giới hạn tổng số CUs giao dịch bỏ phiếu trên mỗi khối, ở mức 36 triệu CUs
Delta Kích Thước Dữ Liệu Tài Khoản Tối Đa của Khối: giới hạn về tổng thay đổi dữ liệu tài khoản trên mỗi khối, ở mức 100 megabyte.
Trong khi việc tăng giới hạn CU trên mỗi tài khoản cải thiện thông lượng cho trạng thái nóng, nó cũng có thể làm tăng thời gian thực thi tuần tự xấu nhất, có khả năng kéo dài thời gian xác minh khối hoặc thời gian slot trong các tình huống tải cao.
Cuối cùng, đáng lưu ý là đề xuất gần đây SIMD-0370: Xóa giới hạn khối đơn vị tính toán, đề xuất loại bỏ hoàn toàn các giới hạn khối dựa trên CU, một hướng đi có khả năng sẽ được xem xét lại sau nâng cấp Alpenglow.
eXpress Data Path (XDP) cho Turbine
eXpress Data Path (XDP) là một công nghệ kernel Linux được thiết kế cho mạng hiệu suất cao. Nó cho phép các ứng dụng bỏ qua nhiều phần của con đường xử lý gói tiêu chuẩn của kernel, giảm cả bản sao dữ liệu trung gian và chuyển đổi ngữ cảnh giữa không gian người dùng và kernel. Bằng cách xử lý các gói trực tiếp với thẻ giao diện mạng (NIC) trong không gian người dùng, XDP cắt giảm đáng kể chi phí mỗi gói.
Hỗ trợ cho XDP trong Turbine lần đầu tiên được giới thiệu trong Agave v2.3.8 và sẽ được kích hoạt theo mặc định bắt đầu từ Agave 3.1. Turbine là nút thắt cổ chai chính trong khả năng mở rộng khi các giới hạn khối tăng lên 100M CUs. Các nhà lãnh đạo chuyển tiếp các shreds của họ đến 200 bạn bè, tạo ra tải mạng nặng. Các nhà xác thực lớn hơn với nhiều vị trí lãnh đạo có thể tiếp cận 150.000 gói ra ngoài mỗi giây trong điều kiện hiện tại. XDP trực tiếp giải quyết nút thắt này, khiến việc gửi gói nhanh hơn tới 100 lần, cho phép các nhà xác thực phát tán các khối lớn hơn một cách hiệu quả hơn.
Các độc giả quan tâm đến cái nhìn sâu hơn về việc triển khai XDP trong Agave có thể tham khảo hướng dẫn thiết lập xác thực và cuộc phỏng vấn trước đó của chúng tôi với kỹ sư Anza Alessandro Decina, người đã dẫn dắt việc tích hợp XDP vào khách hàng Agave.
Đặc tả Kích thước Dữ liệu Giao dịch Đã Tải
Như một phần của nỗ lực liên tục nhằm đơn giản hóa và chuẩn hóa mô hình thực thi của Solana, SIMD-0186: Đặc tả Kích thước Dữ liệu Giao dịch Đã Tải, dự kiến sẽ được kích hoạt trên mainnet trong chu kỳ phát hành Agave 3.0.
Điều này giới thiệu một phương pháp an toàn cho sự đồng thuận để tính toán tổng dữ liệu tài khoản được tải bởi mỗi giao dịch. Mục tiêu là đảm bảo rằng tất cả các khách hàng xác thực tính toán kích thước dữ liệu giao dịch giống nhau, loại bỏ những bất đồng tinh tế có thể gây ra sự khác biệt trong sự đồng thuận.
Hiện tại, logic xác định kích thước dữ liệu giao dịch của Solana quá phức tạp. Việc triển khai hiện có là đặc trưng trong cách nó xử lý các chương trình LoaderV3 và BPF Upgradeable Loader, cả hai đều thường xuyên đánh giá thấp kích thước thực tế của dữ liệu chương trình đã tải. Những sự khác biệt này đã khiến cho các nhóm khách hàng độc lập gặp khó khăn trong việc triển khai logic tương thích.
Dưới SIMD-0186, các quy tắc xác định kích thước giờ đây rõ ràng và dễ dàng để lý luận:
Mỗi tài khoản đã tải được tính chính xác một lần
Các chương trình sử dụng BPF Upgradeable Loader bao gồm dữ liệu chương trình liên quan của chúng
Kích thước của mỗi tài khoản đã tải được định nghĩa là chiều dài byte của dữ liệu của nó trước khi thực hiện giao dịch, với 64 byte bổ sung cho siêu dữ liệu
Bảng Tra Cứu Địa Chỉ (ALTs) thêm một flat 8.248 byte mỗi cái
Đặc tả này chuẩn hóa kích thước giao dịch trên tất cả các khách hàng và làm cho hành vi giao dịch trở nên dễ dự đoán hơn cho các nhà phát triển.
Giới hạn kích thước dữ liệu đã tải phục vụ một vai trò tương tự như giới hạn CU trên mỗi giao dịch, cung cấp kế toán tài nguyên có thể dự đoán cho các nút xác thực. Theo mặc định, mỗi giao dịch có thể tải lên tới 64MB dữ liệu tài khoản, tiêu tốn tám đơn vị tính toán (CUs) cho mỗi 32KB đã tải, tương đương với chi phí cơ bản là 16.000 CUs, ngay cả khi ít dữ liệu thực sự được tải. Các nhà phát triển có thể giảm giới hạn này thông qua lệnh setLoadedAccountsDataSizeLimit để giảm chi phí tính toán và cải thiện hiệu quả lập lịch.
Vì phương pháp xác định kích thước mới có thể sản xuất các giá trị khác nhau dựa trên cấu trúc giao dịch, các nhà phát triển có thể cần điều chỉnh giới hạn kích thước dữ liệu tài khoản đã tải được chỉ định trong các lệnh ngân sách tính toán của họ.
Cấu Trúc TransactionView Bộ Lập Lịch
Với Agave 3.0, bộ lập lịch giới thiệu một cấu trúc dữ liệu nhẹ mới gọi là TransactionView, được thiết kế để đơn giản hóa cách giao dịch được phân tích và xử lý. Khác với các loại giao dịch SDK cũ, yêu cầu giải mã và nhiều phân bổ bộ nhớ, TransactionView cung cấp một cái nhìn trực tiếp vào một giao dịch đã được tuần tự hóa. Nó phân tích và lưu trữ siêu dữ liệu về bố cục giao dịch mà không thực sự giải mã nó.
Thời gian khởi động nhanh hơn
Hiệu suất khởi động của khách hàng tiếp tục cải thiện với phiên bản Agave v3.0, đánh dấu một nâng cấp đáng chú ý về chất lượng cuộc sống cho các nhà xác thực và các nhà điều hành RPC. Dù khởi động lại sau khi gặp sự cố, nâng cấp hay bảo trì theo lịch trình, các nút giờ đây có thể quay trở lại trực tuyến nhanh chóng hơn nhiều.
Bắt đầu từ một kho lưu trữ ảnh chụp, thời gian khởi động đã được giảm xuống dưới ba phút rưỡi, ít hơn một nửa thời gian yêu cầu dưới Agave v2.2 (xem biểu đồ bên dưới). Sự cải thiện này đại diện cho một bước tiến quan trọng về hiệu suất, vì thời gian khởi động nhanh hơn trực tiếp nâng cao khả năng phục hồi của mạng và thời gian hoạt động của nhà xác thực bằng cách giảm thời gian cần thiết cho các nút quay lại đồng thuận.

Nhìn về phía trước, Agave v3.1 sẽ đơn giản hóa quy trình này hơn nữa bằng cách loại bỏ xác minh tài khoản nền, cho phép các nhà xác thực bắt đầu bỏ phiếu ngay lập tức sau khi phát lại bắt đầu.
Tăng Giới Hạn Lồng CPI
SIMD-0268: Tăng Giới Hạn Lồng CPI tăng chiều sâu tối đa của các cuộc gọi Gọi Chương Trình Chéo (CPI) từ 4 lên 8. Điều này hiệu quả gấp đôi số lần một chương trình Solana có thể gọi các chương trình khác trong một giao dịch duy nhất.
CPI là cơ chế mà một chương trình Solana gọi một chương trình khác. Đây là một tính năng cơ bản của thời gian chạy Solana cho phép các chương trình xây dựng trên logic của nhau.
Các giao thức chuỗi phức tạp như hoán đổi vĩnh viễn, ví thông minh và hệ thống ký quỹ chéo thường dựa vào nhiều lớp tương tác giữa các chương trình để quản lý vị trí, thanh lý và rủi ro. Giới hạn CPI 4 cấp trước đó đã hạn chế những thiết kế này, trong một số trường hợp buộc các nhà phát triển phải phân chia logic qua nhiều giao dịch.
Các ứng dụng hiện có sẽ tiếp tục hoạt động như trước đây (trừ khi chúng phụ thuộc vào giới hạn cũ trong logic của chúng để làm hỏng giao dịch). Tổng thể, thay đổi thường xuyên được yêu cầu này mở rộng không gian thiết kế cho các nhà phát triển và tăng cường khả năng kết hợp của Solana.
Giảm nhẹ các ràng buộc đầu vào
SIMD-0083: Giảm nhẹ các ràng buộc đầu vào, được thiết lập để kích hoạt trong Agave 3.0, xóa bỏ quy tắc rằng các giao dịch trong một đầu vào khối không được xung đột với nhau. Trước đây, bất kỳ đầu vào nào chứa các giao dịch xung đột (tức là, những giao dịch cả hai đều ghi vào cùng một tài khoản hoặc nơi một giao dịch đọc trong khi một giao dịch khác ghi) sẽ làm vô hiệu hóa toàn bộ khối.
Với bản cập nhật này, các xung đột như vậy giờ đây được phép. Khi chúng xảy ra, các giao dịch sẽ đơn giản được thực hiện tuần tự theo thứ tự xuất hiện. Thay đổi này đơn giản hóa các quy tắc đóng gói khối, cung cấp cho các nhà lãnh đạo sự linh hoạt lớn hơn trong việc sắp xếp giao dịch và xây dựng khối. Đây cũng là một thay đổi cần thiết cho Solana để thực hiện thực thi không đồng bộ.
Cải tiến RPC
Agave v3.0 giới thiệu các nâng cấp phản hồi cho máy chủ đăng ký, giờ đây ưu tiên các tin nhắn đến, chẳng hạn như yêu cầu đăng ký và PING, hơn là thông báo ra đi. Thay đổi này cung cấp các cập nhật thời gian thực nhanh hơn, đáng tin cậy hơn cho dApps sử dụng PubSub WebSockets.
Ngoài ra, các thuộc tính slot đã được thêm vào dữ liệu lỗi phần thưởng epoch, cải thiện khả năng gỡ lỗi và quan sát cho các nhà phát triển.
Những Thay Đổi Khác
Bắt đầu từ Agave v3.0.0, Anza đã ngừng phát hành các nhị phân agave-validator đã được xây dựng sẵn. Các nhà điều hành xác thực giờ đây phải biên dịch các nhị phân từ mã nguồn bằng cách làm theo các hướng dẫn xây dựng được cung cấp.
Với Agave v3.0, khoảng thời gian chụp ảnh mặc định đã được kéo dài lên mỗi 100.000 slot, từ 50.000 trong v2.3 và 25.000 trong v2.2. Tăng khoảng thời gian này cải thiện đáng kể hiệu suất đĩa, giảm các đợt tăng đột biến trong IOPS (các hoạt động đầu vào/đầu ra mỗi giây) trong quá trình tạo ảnh chụp.
Nhiều tham số và cờ CLI cũ đã bị loại bỏ (danh sách đầy đủ ở đây).
Hiện tại, một lệnh tiền tệ nâng cao trong một giao dịch có thể chỉ định bất kỳ tài khoản nào trong giao dịch như tài khoản để nâng cao. Sau khi kích hoạt cổng tính năng cho SIMD-0242: Chỉ Tài Khoản Nonce Tĩnh, điều này sẽ hạn chế lệnh tiền tệ nâng cao chỉ có thể nâng cao một tài khoản được bao gồm tĩnh.
Kết Luận
Agave v3.0 là một bản nâng cấp khách hàng đáng kể, giới thiệu xử lý giao dịch nhanh hơn, giới hạn tính toán cao hơn, cải thiện hiệu quả bộ lập lịch và một loạt các tối ưu hóa cho xác thực và RPC. Tổng thể, những cập nhật này củng cố hiệu suất mạng và trải nghiệm của nhà phát triển.
Dữ liệu gần đây càng củng cố thêm tiến triển này: tốc độ phát hành nhanh hơn, sự đa dạng của khách hàng ngày càng tăng và sự ổn định mạng tuyệt vời dưới áp lực cao đều làm nổi bật sự trưởng thành của Solana. Với Agave 3.0 giờ đây đang cung cấp năng lượng cho mạng, Solana tiếp tục chứng minh khả năng mở rộng của mình.