
zkSync Boojum nâng cấp chi tiết: zkEVM an toàn và hiệu quả hơn
Tuyển chọn TechFlowTuyển chọn TechFlow

zkSync Boojum nâng cấp chi tiết: zkEVM an toàn và hiệu quả hơn
Chúng tôi tin rằng Boojum là giai đoạn tiếp theo an toàn hơn, mở rộng tốt hơn và hiệu quả hơn của zkEVM.
Viết bởi: zkSync
Biên dịch: TechFlow

TÓM TẮT
-
Nâng cấp: zkSync Era đang chuyển đổi sang hệ thống chứng minh mới Boojum mà không cần tạo lại từ đầu.
-
Hiệu suất: Boojum thể hiện hiệu năng chứng minh hàng đầu, bổ sung cho bộ sắp xếp (sorter) zkSync Era vốn đã xử lý được hơn 100 giao dịch mỗi giây (TPS).
-
Phi tập trung: Người tạo bằng chứng Boojum chỉ cần 16 GB RAM, mở đường cho việc phi tập trung hóa quy mô lớn trong tương lai.
Sứ mệnh của zkSync là thúc đẩy tự do cá nhân cho tất cả mọi người – bằng cách xây dựng một mạng blockchain đáng tin cậy, an toàn, không cần sự cho phép, chi phí hợp lý, dễ sử dụng, linh hoạt và có khả năng mở rộng vô hạn, nhằm phổ biến quyền sở hữu kỹ thuật số.
Để thực hiện sứ mệnh này, phiên bản Alpha của zkSync Era đã ra mắt công chúng hơn ba tháng trước và nhận được phản hồi rất tích cực. Các điểm nổi bật của mạng lưới:
-
Tổng giá trị bị khóa (TVL) đạt 577 triệu đô la Mỹ (nguồn: L2Beat);
-
23.750.000 giao dịch trong 30 ngày qua – nhiều nhất trong số các L2 (nguồn: L2Beat);
-
9.735 hợp đồng thông minh đã xác minh mã nguồn.
Tháng 3 năm 2023, zkSync Era dựa trên SNARK ra đời, tận dụng khung mạch đã được kiểm chứng thực tế, từng hỗ trợ zkSync Lite trên mainnet gần ba năm. Tuy nhiên, chúng tôi biết đây sẽ không phải là phiên bản cuối cùng của hệ thống chứng minh zkSync Era, vì vậy hệ thống đã được thiết kế để cho phép thay đổi sâu sắc mà không cần tạo lại. Điều này có nghĩa là chúng tôi có thể triển khai các nâng cấp mật mã lớn mà không làm ảnh hưởng đến nhà phát triển và người dùng.
Đằng sau hậu trường, chúng tôi đã làm việc lâu dài về việc nâng cấp mật mã. Hôm nay, chúng tôi vui mừng thông báo nâng cấp đầu tiên: zkSync Era đang chuyển sang một hệ thống chứng minh STARK mới có tên “Boojum”.
Làm quen với Boojum
Boojum là thư viện toán học và ràng buộc do chúng tôi phát triển bằng Rust, dùng để triển khai mạch ZK cho phiên bản nâng cấp của zkSync Era và ZK Stack.
Boojum là gì?
Các đặc tính của Boojum:
-
Số học PLONK: Trong bối cảnh giao thức kiến thức không tiết lộ (zero-knowledge), "số học hóa" là quá trình chuyển đổi tính toán tổng quát thành dạng toán học. Giống như hệ thống chứng minh hiện tại, hệ thống nâng cấp vẫn giữ cách số học hóa theo phong cách PLONK. Cách tiếp cận này giúp viết mạch ZK đơn giản hơn so với một số phương pháp thay thế, khiến hệ thống dễ phát triển, kiểm toán, bảo trì và nâng cấp hơn.
-
Sơ đồ cam kết mạnh mẽ: Cốt lõi của Boojum là sơ đồ cam kết FRI, một thành phần then chốt cho phép chúng ta cam kết đa thức giới hạn và sau đó hiệu quả chứng minh rằng giá trị "mở" (opening) được tuyên bố thực sự thuộc về một đa thức bậc thấp.
-
Hiệu quả hệ thống: Mặc dù việc tạo bằng chứng (witness generation) đôi khi bị bỏ qua khi nói về hiệu suất người tạo bằng chứng, nhưng ở phiên bản hiện tại, chúng tôi đã tối ưu đến mức thời gian tạo bằng chứng bằng GPU cao cấp ngang bằng với thời gian tạo chứng minh. Với Boojum, chúng tôi cung cấp khả năng song song hóa tự động (nếu đồ thị phụ thuộc cho phép) trong việc tạo bằng chứng, đồng thời giữ nguyên sự đơn giản khi định nghĩa hàm tạo bằng chứng.
-
Dễ mở rộng: Hệ thống ràng buộc cơ bản rất gọn nhẹ, nhưng cho phép người dùng thêm các loại cổng tùy chỉnh theo nhiều cách, ví dụ như thêm một vài đa thức chuyên biệt hoặc tái sử dụng các “cột chung” (generic columns). Sau khi người dùng định nghĩa cấu trúc hình học đơn giản cho mạch của mình, giao diện mở rộng cung cấp khả năng tự động tạo người tạo bằng chứng, người xác minh và người xác minh đệ quy. Điều này mang lại quá trình phát triển cực kỳ hiệu quả; nếu người dùng thay đổi cấu trúc mạch hoặc chọn loại cổng khác, họ chỉ cần gọi lại giao diện, hệ thống sẽ tự động sinh lại khóa và đảm bảo họ dùng đúng người tạo và người xác minh.
-
Một nền tảng duy nhất: Thông qua Boojum, tất cả những điều trên đều có thể thực hiện chỉ bằng các biểu thức Rust tiêu chuẩn và tận dụng khả năng biểu đạt của hệ thống kiểu dữ liệu Rust. Phần tính toán nặng của người tạo bằng chứng GPU được viết bằng CUDA C++, nhưng chúng tôi cung cấp các liên kết (bindings) Rust để tích hợp.
Mặc định, Boojum sử dụng trường số nguyên tố kích thước 2^64 - 2^32 + 1 (được gọi là “trường Goldilocks”), và cung cấp các nguyên thủy ràng buộc tương ứng, chẳng hạn như hàm băm Poseidon2, cũng như các nguyên thủy mật mã tiêu chuẩn hơn dựa trên bảng tra cứu như SHA256, Keccak256 và Blake2s.
Quan trọng là, ở bước cuối cùng, chúng tôi sẽ dùng SNARK dựa trên phép ghép cặp (pairing-based) không minh bạch để đóng gói bằng chứng STARK và xác minh SNARK này trên Ethereum. Bằng chứng này nhỏ hơn nhiều và chi phí xác minh thấp hơn; bước này giảm chi phí hệ thống chứng minh, từ đó hạ giá giao dịch.
Tại sao chọn Boojum?
Khi thiết kế Boojum, hai yếu tố then chốt quyết định lựa chọn: (1) hiệu suất chứng minh đẳng cấp thế giới, và (2) giảm yêu cầu phần cứng để phi tập trung hóa.
Hiệu suất đẳng cấp thế giới
Hệ thống dựa trên SNARK hiện tại, mặc dù hiệu quả ở thời điểm hiện tại, nhưng không thể mở rộng để xử lý khối lượng giao dịch lớn, gần thời gian thực trong ZK Stack. Mục tiêu tương lai của zkSync Era khi vận hành như một Hyperchain là hỗ trợ các hệ thống như vậy trong vài năm tới. Chúng tôi hình dung các hệ thống này có thể tạo và xác minh bằng chứng một cách rẻ và nhanh chóng, dẫn đến tính tất định nhanh và khả năng tương tác giữa các Hyperchain.
Hiệu suất hệ thống chứng minh ảnh hưởng trực tiếp đến phí người dùng phải trả cho mỗi giao dịch, và theo thời gian, chi phí này cần tiến dần về 0. Hệ thống chứng minh hiện tại đủ hiệu quả để xây dựng zkEVM và xử lý hàng triệu giao dịch trong vài tháng, nhưng với Boojum, chúng tôi có thể làm tốt hơn nữa!
Để đo thời gian tạo bằng chứng của mạng lưới (và các chỉ số hiệu suất khác), chúng tôi hợp tác với Celer – đội ngũ này có kinh nghiệm sâu rộng trong việc kiểm chuẩn và phân tích nhiều hệ thống chứng minh. Trong hình dưới đây, bạn có thể thấy Boojum vượt trội trong hầu hết các hệ thống được kiểm thử hiệu suất. Kết quả nói lên tất cả: triển khai của chúng tôi thể hiện hiệu suất chứng minh hàng đầu thế giới, theo hiểu biết của chúng tôi, đây là hệ thống chứng minh nhanh nhất hiện nay đang được sử dụng trong sản phẩm thực tế.
Để đảm bảo so sánh công bằng, Celer thực hiện kiểm chuẩn trên người tạo bằng chứng dùng CPU, nhưng hệ thống mainnet của chúng tôi dùng người tạo bằng chứng GPU, nhanh hơn nhiều.

Việc chuyển sang hệ thống chứng minh dựa trên STARK đại diện cho bước tiến đáng kể về hiệu suất, và sẽ góp phần đảm bảo độ trễ thấp trong việc đạt tính tất định và hỗ trợ mức độ hoạt động gia tăng trên zkSync Era và các hệ thống khác dựa trên ZK Stack.
Giảm yêu cầu phần cứng cho sự phi tập trung
Những kết quả hiệu suất này càng ấn tượng hơn khi xem xét rằng đây không phải là chỉ số duy nhất chúng tôi tối ưu – chúng tôi muốn nâng cao hiệu suất hệ thống đồng thời giảm yêu cầu phần cứng để vận hành nó.
Các hệ thống chứng minh phổ biến hiện nay, bao gồm cả hệ thống hiện tại của chúng tôi, đều có yêu cầu phần cứng cao. Hệ thống hiện tại chạy trên các GPU A100, mỗi chiếc có 80 GB RAM. Việc cần những máy móc đắt tiền và mạnh mẽ như vậy là rào cản lớn đối với mục tiêu của chúng tôi: tương lai về việc tạo bằng chứng phi tập trung do người dùng điều khiển. Để đạt được mục tiêu này, chỉ cần mở cửa cho mọi người tham gia là chưa đủ; người dùng cũng không nên cần một chiếc máy đắt tiền với hàng trăm GB RAM để tham gia.
Đây là một lĩnh vực khác mà chúng tôi đã đạt được tiến triển cực kỳ ấn tượng! Bộ tạo bằng chứng GPU dành cho Boojum của chúng tôi chỉ cần 16 GB RAM, ngưỡng thấp như vậy là bước đi quan trọng hướng tới tương lai mà chúng tôi hình dung. Bộ tạo bằng chứng dùng CPU cũng có thể chạy với RAM thấp tới 64 GB, và chúng tôi hy vọng sẽ giảm xuống còn 32 GB, đồng thời tận dụng tối đa các bộ xử lý đa nhân hiện đại.
Cuối cùng, bộ sắp xếp (sequencer) của zkSync Era dựa trên Rust hiện đã có thể xử lý hơn 100 giao dịch mỗi giây (TPS). Việc giới thiệu hệ thống chứng minh mới không chỉ cải thiện hiệu suất mà còn giảm yêu cầu phần cứng, trở thành bổ sung lý tưởng cho bộ sắp xếp. Những cải thiện hiệu suất từ Boojum có nghĩa là hệ thống có thể chứng minh giao dịch nhanh hơn, trong khi yêu cầu phần cứng thấp hơn giúp cải thiện khả năng truy cập mạng cho các máy rẻ hơn, từ đó tăng khả năng mở rộng ngang (horizontal scalability).
Hành trình đưa Boojum lên Mainnet
Đội ngũ đã dành hàng tháng trời phát triển nâng cấp này, và giờ đây chúng tôi rất vui mừng khi đã đến giai đoạn thử nghiệm hệ thống trên mainnet. Chúng tôi cũng muốn chia sẻ một vài câu chuyện đến thời điểm hiện tại.
Nâng cấp zkSync Era
Trước tiên, zkSync Era được thiết kế để cho phép nâng cấp từng thành phần theo thời gian, và hệ thống chứng minh cũng không ngoại lệ.
Tương tự như Ethereum, chúng tôi sử dụng cấu trúc dữ liệu cây Merkle để lưu trữ thông tin về trạng thái mạng. Vì chúng tôi đang chứng minh các khẳng định liên quan đến trạng thái hệ thống, nên thông tin này là bắt buộc đối với hệ thống chứng minh. Đối với cây Merkle này (và cách hệ thống chứng minh tương tác với nó), một quyết định thiết kế then chốt là sử dụng hàm băm phi đại số, cụ thể là Blake2s. Nếu chỉ tối ưu cho sự tiện lợi khi tạo bằng chứng, chúng tôi sẽ dùng hàm băm đại số (ví dụ như Poseidon2), nhưng lựa chọn này sẽ làm phụ thuộc trạng thái quan sát được vào các tham số của hệ thống chứng minh – ví dụ như lựa chọn trường số nguyên tố. Khi đó, mọi nâng cấp hệ thống chứng minh sẽ đòi hỏi phải tạo lại toàn bộ trạng thái.
Hành trình của Boojum: Từ thiết kế đến kiểm định
Khoảng một tháng trước, chúng tôi bắt đầu hình thành phiên bản end-to-end hoàn chỉnh cho việc triển khai hệ thống chứng minh mới. Xét đến độ phức tạp của thay đổi này và tầm quan trọng về tính đúng đắn của hệ thống, chúng tôi đã bắt đầu một loạt kiểm toán nội bộ và bên ngoài.
Lúc đó, mạch zkEVM và thư viện số học Boojum vẫn đang được phát triển tích cực, nhưng chúng tôi hợp tác với các đơn vị kiểm toán an ninh bên ngoài để tập trung vào việc nhận diện sớm các vấn đề tiềm tàng về tính vững chắc của mạch chính và các thành phần Boojum. Chúng tôi hợp tác chặt chẽ, cung cấp quyền truy cập đầy đủ mã nguồn và tài liệu; họ đã rà soát và kiểm thử mạch zkEVM và các công cụ Boojum bằng cả phương pháp tự động và thủ công.
Boojum: Từ kiểm định đến thử nghiệm
Điều này đưa chúng ta đến hôm nay, bước tiếp theo trong lộ trình triển khai từng phần: chế độ bóng (shadow mode) trên mainnet! Chúng tôi vui mừng thông báo rằng hiện tại chúng tôi đang chạy song song hệ thống chứng minh mới với hệ thống hiện tại, mặc dù Boojum hiện mới chỉ ở giai đoạn thử nghiệm. Chúng tôi đã bắt đầu tạo và xác minh các “bằng chứng bóng” cho các khối mainnet.
Các bằng chứng bóng này không bắt buộc đối với phiên bản mainnet của zkSync Era – điều này vẫn do hệ thống chứng minh hiện tại đảm nhiệm. Chúng tôi chỉ đang xác minh các bằng chứng bóng để kiểm thử và tối ưu hóa thêm hệ thống, nhưng sử dụng dữ liệu sản xuất thực tế từ hoạt động của người dùng zkSync Era.
Boojum: Từ thử nghiệm đến mainnet
Giống như mọi việc chúng tôi làm, an toàn luôn là ưu tiên hàng đầu. Chỉ khi nào chúng tôi hoàn toàn hài lòng với các bài kiểm thử trên hệ thống mới, chúng tôi mới cân nhắc chuyển đổi, và sẽ chia sẻ thêm chi tiết trong những tuần và tháng tới. Chúng tôi cũng dự định thực hiện thêm các cuộc kiểm toán và đánh giá an ninh để đưa nâng cấp thú vị này gần hơn đến triển khai toàn diện, đồng thời dần loại bỏ hệ thống chứng minh hiện tại.
Chúng tôi tin rằng Boojum là giai đoạn tiếp theo an toàn hơn, mở rộng tốt hơn và hiệu quả hơn cho zkEVM.
Chào mừng tham gia cộng đồng chính thức TechFlow
Nhóm Telegram:https://t.me/TechFlowDaily
Tài khoản Twitter chính thức:https://x.com/TechFlowPost
Tài khoản Twitter tiếng Anh:https://x.com/BlockFlow_News














