Giải thích chi tiết về nâng cấp Boojum: tại sao zkSync Era lại chọn hệ thống chứng minh STARK

Tác giả: zkSync; bản dịch: Jinse Finance xiaozou

Điểm chính của bài viết này:

Nâng cấp: Kỷ nguyên zkSync đang chuyển đổi sang hệ thống bằng chứng Boojum mới mà không cần tái tạo.

**Hiệu suất: **Boojum đã chứng minh hiệu suất bằng chứng đẳng cấp thế giới, hỗ trợ hiệu suất của bộ sắp xếp Kỷ nguyên zkSync, vốn đã có thể xử lý hơn 100 TPS.

**Phân cấp: **Boojum prover (người chứng nhận) chỉ cần 16 GB RAM, hỗ trợ phân cấp quy mô lớn của prover trong tương lai.

**Sẵn sàng:**Chứng minh bóng tối (bằng chứng bóng tối) đã được khởi chạy trên mạng chính!

Như chúng tôi đã nêu rõ trong tuyên ngôn ZK Credo của mình, sứ mệnh của zkSync là nâng cao quyền 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 không cần tin cậy, an toàn, không cần cấp phép, giá cả phải chăng, dễ sử dụng, linh hoạt và có khả năng mở rộng vô hạn, giúp phổ biến quyền sở hữu kỹ thuật số .

Để theo đuổi sứ mệnh này, phiên bản Alpha của zkSync Era đã được ra mắt công chúng hơn ba tháng trước và đã nhận được phản hồi đáng kinh ngạc. Chúng tôi đã thấy rất nhiều hoạt động trên web trong thời gian này.

Điểm nổi bật của mạng:

· $577 triệu trong tổng giá trị khóa (nguồn: L2Beat).

23,75 triệu giao dịch được xử lý trong 30 ngày qua - nhiều nhất theo L2 (nguồn: L2Beat).

· 9735 hợp đồng thông minh được xác minh mã nguồn.

Vào tháng 3 năm 2023, chúng tôi đã ra mắt Kỷ nguyên zkSync, sử dụng hệ thống dựa trên SNARK để hỗ trợ zkEVM của chúng tôi, sử dụng khung mạch đã được chứng minh và đã hỗ trợ zkSync Lite trên mạng chính trong gần ba năm. Tuy nhiên, chúng tôi biết đây không phải là điểm kết thúc của hệ thống bằng chứng Kỷ nguyên zkSync, chúng tôi đã thiết kế hệ thống để cho phép thay đổi triệt để mà không cần thực hiện tái tạo. Điều này có nghĩa là chúng tôi có thể thực hiện các nâng cấp mã hóa quan trọng mà không làm gián đoạn các nhà phát triển và người dùng.

Chúng tôi đã làm việc từ lâu để nâng cấp mã hóa. Hôm nay, chúng tôi vui mừng thông báo về bản nâng cấp mã hóa đầu tiên của mình: zkSync Era đang chuyển đổi sang hệ thống bằng chứng dựa trên STARK** mới, được cho là dành cho "Boojum". **

1. Giới thiệu về Boojum

Boojum là tên của thư viện thuật toán và ràng buộc dựa trên Rust mà chúng tôi sử dụng để triển khai zkSync Era và phiên bản nâng cấp của mạch ZK của ZK Stack. Cái tên Boojum được lấy cảm hứng từ bài thơ The Hunting of The Snark của Lewis Carroll, và Boojum đại diện cho loại Snark đáng sợ nhất.

**(1) Boojum là gì? **

Thiết kế của Boojum có một số tính năng hấp dẫn:

· Thuật toán loại PLONK**: **Đối với các giao thức không có kiến thức, thuật toán (số học) là quá trình chuyển đổi các phép tính tổng quát thành các dạng toán học. Đối với hệ thống bằng chứng hiện tại, hệ thống nâng cấp của chúng tôi tiếp tục sử dụng thuật toán loại PLONK. Sử dụng phương pháp này, các mạch ZK dễ viết hơn một số giải pháp thay thế khác và hệ thống dễ phát triển, kiểm tra, 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. Cam kết FRI là một thành phần quan trọng, cho phép chúng tôi đưa ra cam kết đối với một đa thức bị chặn, sau đó chứng minh một cách hiệu quả rằng (đa thức) mở được yêu cầu thực sự Thuộc về đa thức bậc thấp.

**Hiệu quả của phần "boring" của hệ thống: **Mặc dù việc tạo nhân chứng đôi khi bị bỏ qua khi mọi người nói về hiệu suất của trình chứng minh, trong phiên bản hiện tại của hệ thống chứng minh, Trình chứng minh GPU đã được tối ưu hóa rất hiệu quả và thời gian tạo nhân chứng tương đương với thời gian tạo bằng chứng. Với Boojum, chúng tôi cung cấp tính năng tạo nhân chứng song song tự động (nếu biểu đồ phụ thuộc cho phép), trong khi vẫn giúp dễ dàng xác định các hàm tạo nhân chứng như |(a, b)| a + b.

· Dễ dàng mở rộng: Phần trừu tượng hóa hệ thống ràng buộc cơ bản rất nông, nhưng nó cho phép người dùng thêm các loại ràng buộc cổng tùy chỉnh của họ theo nhiều cách khác nhau, chẳng hạn như thêm một số đa thức chuyên biệt hoặc sử dụng lại các cột chung. Sau khi người dùng xác định hình học đơn giản cho mạch của họ, giao diện mở rộng cung cấp cho họ khả năng tự động tạo các trình xác minh, trình xác minh và trình xác minh đệ quy. Điều này sẽ cho phép quá trình phát triển rất hiệu quả; nếu người dùng thay đổi cấu trúc mạch và chọn sử dụng một loại cổng khác, họ có thể gọi lại giao diện và nó sẽ tạo lại các khóa và đảm bảo họ đang sử dụng đúng chương trình kiểm chứng và kiểm chứng .

· Single-stack: Với Boojum, tất cả những điều trên có thể được thể hiện bằng Rust tiêu chuẩn, thành ngữ và sử dụng tính biểu cảm của hệ thống loại của nó. Các phần nặng về tính toán của trình chuẩn GPU được viết bằng CUDA C++, nhưng chúng tôi cung cấp các ràng buộc Rust cho thành phần này.

Theo mặc định, Boojum hoạt động trên một trường số nguyên tố có kích thước 2^64 - 2^32 + 1 (được gọi là "trường Goldilocks", do Mike Hamburg đề xuất ban đầu, sử dụng các tham số cụ thể do Hamish Ivey-Law đề xuất) và cung cấp trường tương ứng ràng buộc các triển khai nguyên thủy của các nguyên hàm mật mã như hàm băm Poseidon2 và các triển khai của các nguyên hàm mật mã tiêu chuẩn hơn dựa trên các bảng tra cứu như SHA256, Keccak256 và Blake2s.

Điều quan trọng là, trong bước cuối cùng của quá trình triển khai, chúng tôi sẽ sử dụng SNARK dựa trên ghép nối không rõ ràng—về cơ bản là phiên bản nâng cấp nhẹ của hệ thống bằng chứng hiện tại—để bọc bằng chứng STARK và SNARK này sẽ khả dụng trên Ethereum. Những bằng chứng như vậy nhỏ hơn nhiều và rẻ hơn nhiều để xác minh; bước này làm giảm chi phí của hệ thống bằng chứng và do đó làm giảm chi phí của chính giao dịch.

Boojum đã được hưởng lợi từ sự đóng góp của nhiều người trong cộng đồng và chúng tôi rất biết ơn về nhiều ý tưởng mà chúng tôi nhận được. Chúng tôi lấy cảm hứng từ các tài liệu cơ bản của STARK, FRI và DEEP-FRI, sự tiến bộ của các hàm băm được đề xuất trong Poseidon và Poseidon2 cũng như sự phát triển của thuật toán PLONK do Gabizon, Williamson và Ciobotaru đề xuất. Ngoài ra, cách tiếp cận sáng tạo của dự án Plonky2 (Farmer, Lubarov, Borgeaud, v.v.) - bao gồm việc lựa chọn Poseidon MDS và sử dụng các hằng số tròn, và những hiểu biết mới về các thương số được lưu trong bộ nhớ cache và nghiên cứu tra cứu đa biến của Eagen, Fiore, Gabizon , và Haböck. Chính những đóng góp quý giá này đã cùng nhau định hình nên thiết kế của Boojum.

**2. Tại sao chọn Boojum? **

Khi thiết kế Boojum, quyết định của chúng tôi đã xem xét hai yếu tố chính: (1) hiệu suất bằng chứng đẳng cấp thế giới và (2) giảm yêu cầu phần cứng để phân cấp.

(1) Hiệu suất đẳng cấp thế giới

Hệ thống dựa trên SNARK hiện tại của chúng tôi, mặc dù hiện đang hoạt động hiệu quả, nhưng không thể mở rộng quy mô thành các giao dịch gần thời gian thực, khối lượng lớn mà ZK Stack có kế hoạch hỗ trợ trong vài năm tới. Chúng tôi hình dung một tương lai cho các hệ thống này, trong đó các bằng chứng có thể được tạo ra và xác minh với chi phí thấp và nhanh chóng, cho phép kết thúc nhanh chóng và khả năng tương tác giữa các siêu chuỗi.

Hiệu suất của hệ thống bằng chứng ảnh hưởng trực tiếp đến giá mà người dùng phải trả cho các giao dịch của họ và những chi phí này cần phải đạt đến mức 0 theo thời gian. Phiên bản hiện tại của hệ thống bằng chứng đủ mạnh để xây dựng zkEVM và xử lý hàng triệu giao dịch 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 (và các chỉ số quan trọng khác liên quan đến hiệu suất), chúng tôi đã hợp tác với Celer, một nhóm có nhiều kinh nghiệm trong việc đo điểm chuẩn và phân tích các hệ thống đa bằng chứng. Bạn có thể thấy từ biểu đồ bên dưới rằng Boojum vượt trội hơn đáng kể so với hầu hết các hệ thống. Các kết quả tự nói lên: **Việc triển khai của chúng tôi thể hiện hiệu suất bằng chứng đẳng cấp thế giới, theo hiểu biết của chúng tôi, hệ thống bằng chứng nhanh nhất đang được sử dụng. **

Để so sánh tương tự, Celer đã thực hiện các điểm chuẩn này dựa trên một chuẩn dựa trên CPU, nhưng hệ thống mạng chính của chúng tôi sử dụng một chuẩn dựa trên GPU nhanh hơn.

R30sS1Jn4hTAjEo4DBDqmCQrVTg1htiAeyqvkcx5.png

Việc chuyển sang hệ thống bằng chứng dựa trên STARK sẽ mang lại những cải tiến hiệu suất đáng kể và sẽ giúp đảm bảo kết quả cuối cùng có độ trễ thấp, đồng thời hỗ trợ hoạt động gia tăng trên Kỷ nguyên zkSync và các hệ thống dựa trên ZK Stack khác.

(2) Giảm yêu cầu phần cứng để phân quyền

Các kết quả hiệu suất này đặc biệt ấn tượng vì đây không phải là chỉ số duy nhất mà chúng tôi đang tối ưu hóa - chúng tôi muốn cải thiện hiệu suất hệ thống đồng thời giảm yêu cầu phần cứng để hệ thống chạy.

Các hệ thống chứng minh phổ biến ngày nay, bao gồm cả hệ thống chứng minh hiện tại của chúng tôi, rõ ràng là rất khắt khe về phần cứng. Hệ thống xác minh hiện tại của chúng tôi chạy trên một cụm GPU A100 với RAM 80 GB mỗi chiếc. Nhu cầu về những cỗ máy mạnh mẽ, đắt tiền này đặt ra một trở ngại đáng kể đối với mục tiêu của chúng tôi là tạo điều kiện cho một tương lai tạo ra 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, việc tạo ra bằng chứng không được phép là chưa đủ; người dùng cũng nên không cần các máy đắt tiền và hàng trăm gigabyte RAM.

Đây là một lĩnh vực khác mà chúng tôi đã đạt được tiến bộ lớn! Chứng minh GPU mà chúng tôi sử dụng trong Boojum chỉ yêu cầu RAM 16 GB, ngưỡng thấp như vậy là một bước quan trọng hướng tới tầm nhìn tương lai của chúng tôi. Cũng có thể xác thực dựa trên CPU với ít nhất 64 GB RAM (chúng tôi hy vọng nó có thể thấp nhất là 32 GB) và có thể tận dụng tối đa bộ xử lý đa lõi hiện đại. Sau khi chúng tôi đã chuyển hoàn toàn sang hệ thống bằng chứng mới, chúng tôi sẽ tiết lộ thêm thông tin về các kế hoạch phân cấp của nó.

Cuối cùng, trình sắp xếp chuỗi kỷ nguyên zkSync dựa trên Rust đã có khả năng xử lý hơn 100 giao dịch mỗi giây (TPS). Việc giới thiệu hệ thống bằng chứng mới không chỉ cải thiện hiệu suất mà còn giảm các yêu cầu về phần cứng, khiến nó trở thành công cụ tăng cường lý tưởng cho máy phân loại. Hiệu suất tăng lên của Boojum cũng có nghĩa là hệ thống có thể chứng minh các giao dịch nhanh hơn và việc giảm yêu cầu phần cứng giúp mạng truy cập vào các máy có chi phí thấp hơn, tăng khả năng mở rộng theo chiều ngang.

3**, Đường đến Mainnet của Boojum**

Nhóm đã làm việc với bản nâng cấp này trong nhiều tháng và chúng tôi rất vui mừng khi cuối cùng đưa hệ thống lên mạng chính. Chúng tôi cũng muốn chia sẻ một số câu chuyện cho đến nay.

(1) Nâng cấp Kỷ nguyên zkSync

Trước tiên, hãy mô tả ngắn gọn cách chúng tôi thực hiện nâng cấp như vậy. Đầu tiên, thiết kế của zkSync Era cho phép chúng tôi nâng cấp từng thành phần theo thời gian và hệ thống bằng chứng 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 của mạng. Thông tin này là cần thiết để chứng minh hệ thống bởi vì chúng tôi đang chứng minh một tuyên bố về trạng thái của hệ thống. Một quyết định thiết kế quan trọng của cây Merkle này (và cách hệ thống bằng chứng tương tác với nó) là việc sử dụng các hàm băm phi đại số, cụ thể là Blake2s. Nếu chúng tôi chỉ tối ưu hóa để dễ tạo bằng chứng, thì chúng tôi sẽ sử dụng hàm băm đại số (ví dụ: Poseidon2), nhưng lựa chọn này sẽ kết hợp trạng thái có thể quan sát được với các tham số hệ thống chứng minh - chẳng hạn như lựa chọn trường nguyên tố. Bất kỳ nâng cấp nào đối với hệ thống bằng chứng sẽ yêu cầu khôi phục hoàn toàn trạng thái, đây sẽ là một trải nghiệm cực kỳ khó khăn cho người dùng Kỷ nguyên zkSync. Tất cả những gì chúng tôi cần làm để nâng cấp hệ thống bằng chứng của mình là triển khai lại Blake2 trong mạch.

(2) Boojum: Từ thiết kế đến đánh giá

Khoảng một tháng trước, chúng tôi đã bắt đầu tập trung nỗ lực vào việc triển khai phiên bản hoàn chỉnh từ đầu đến cuối của hệ thống bằng chứng mới. Do sự phức tạp của bản cập nhật này và tầm quan trọng của tính chính xác của hệ thống, chúng tôi đã bắt đầu một loạt các cải tiến nội bộ và bên ngoài. kiểm toán .

Mạch zkEVM và thư viện thuật toán Boojum vẫn đang được phát triển tích cực vào thời điểm đó, nhưng chúng tôi đã làm việc với các kiểm toán viên bảo mật bên ngoài, những người tập trung vào việc xác định sớm các vấn đề tiềm ẩn liên quan đến độ tin cậy 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 cho họ quyền truy cập đầy đủ vào mã nguồn và tài liệu khi họ xem xét và thử nghiệm mạch zkEVM cũng như các công cụ liên quan đến Boojum (sử dụng cả phương pháp tự động và thủ công). Thông qua quan hệ đối tác này, chúng tôi đã có thể giải quyết nhiều vấn đề ban đầu.

(3) Boojum: Từ đánh giá đến thử nghiệm

Bây giờ, chúng tôi đã bước vào bước tiếp theo trong kế hoạch của mình: Mainnet Shadow Mode! Chúng tôi rất vui vì giờ đây có thể chạy hệ thống bằng chứng mới cùng với hệ thống bằng chứng hiện có, mặc dù Boojum mới chỉ ở giai đoạn thử nghiệm. Chúng tôi đã tạo và xác thực “bằng chứng bóng tối” của các khối mainnet.

Phiên bản mạng chính của Kỷ nguyên zkSync không yêu cầu bằng chứng bóng tối - nó sẽ tiếp tục được cung cấp bởi hệ thống bằng chứng hiện có. Chúng tôi chỉ xác thực các bằng chứng ẩn này để kiểm tra thêm và tối ưu hóa 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 Kỷ nguyên zkSync.

Chúng tôi cũng rất vui mừng được thực hiện thử nghiệm này một cách công khai, trong vài tuần tới, bạn sẽ thấy các liên kết đến một số thông tin về các bằng chứng ẩn này trong trình khám phá khối bên cạnh thông tin bằng chứng hiện có, chúng tôi đang cung cấp nguồn mở một công cụ CLI mà bất kỳ ai cũng có thể sử dụng để xác minh bằng chứng mới.

Chúng tôi hiện đang đặc biệt tập trung vào việc thử nghiệm hệ thống bằng chứng mới và chưa có kế hoạch xác minh bằng chứng ẩn trên Ethereum. Trong giai đoạn thử nghiệm, việc xác minh bằng chứng bóng tối sẽ được thực hiện ngoài chuỗi, chúng tôi tìm kiếm các trường hợp cạnh và lỗi, đồng thời tiếp tục xem xét thêm việc triển khai.

Hôm nay chúng tôi cũng đang mở mã nguồn cơ sở mã Boojum. Xin lưu ý: cơ sở mã vẫn đang trong quá trình hoàn thiện! Khi quá trình thử nghiệm diễn ra, bạn cũng có thể sẽ thấy nhiều chỉnh sửa, tối ưu hóa, sửa lỗi và cải tiến tài liệu. Chúng tôi cũng sẽ mở một số kho lưu trữ thú vị hơn trong những tuần tới, bao gồm các mạch được cập nhật và trình kiểm tra GPU.

(4) Boojum: Từ thử nghiệm đến di chuyển

An toàn là ưu tiên hàng đầu trong mọi việc chúng tôi làm. Chúng tôi sẽ chỉ xem xét việc di chuyển khi chúng tôi hoàn toàn hài lòng với quá trình thử nghiệm hệ thống mới và chúng tôi sẽ chia sẻ thêm thông tin chi tiết trong những tuần và tháng tới. Chúng tôi cũng có kế hoạch tiến hành thêm các cuộc kiểm toán và đánh giá bảo mật, đồng thời, bản nâng cấp thú vị này sắp được triển khai đầy đủ trong khi hệ thống chứng thực hiện tại không còn được dùng nữa.

Chúng tôi tin rằng Boojum, cùng với cam kết đổi mới và thiết kế ưu tiên người dùng, là bước tiếp theo hướng tới một zkEVM an toàn hơn, có thể mở rộng hơn và hiệu quả hơn.

Xem bản gốc
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
  • Phần thưởng
  • Bình luận
  • Chia sẻ
Bình luận
0/400
Không có bình luận
  • Ghim
Giao dịch tiền điện tử mọi lúc mọi nơi
qrCode
Quét để tải xuống ứng dụng Gate
Cộng đồng
Tiếng Việt
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)