ZKBase là ZK-Rollup hiệu suất cao dựa trên ZK Stack và bộ chứng minh đa gpu. Giải pháp này nâng cao khả năng xử lý giao dịch và cung cấp trải nghiệm mạng hiệu quả về mặt chi phí. Ưu điểm chính của nó nằm ở việc áp dụng công nghệ bằng chứng không kiến thức (ZKP), cho phép các giao dịch ngoài chuỗi được xác minh và xác nhận nhanh chóng trong khi vẫn duy trì quyền riêng tư của giao dịch và tính toàn vẹn dữ liệu. Vì tất cả các bằng chứng hợp lệ đều được xác minh trên Ethereum nên người dùng có thể được hưởng các đảm bảo bảo mật tương tự như trong L1. ZKBase hoạt động tương tự như Ethereum nhưng với thông lượng cao hơn và phí thấp hơn. Hợp đồng thông minh được viết bằng Solidity/Vyper và có thể được gọi bằng cách sử dụng cùng các máy khách như các chuỗi tương thích EVM khác. Bài viết này sẽ giới thiệu kỹ thuật cốt lõi và triển khai kỹ thuật của ZKBase.
Tree và TreeBackup : Các thành phần này sử dụng RocksDB để duy trì các bản sao cục bộ của cây lưu trữ L2. Cơ sở dữ liệu luôn được đồng bộ hóa với hàm băm gốc trạng thái mới nhất, liên tục phản ánh trạng thái hệ thống hiện tại.
StateKeeper/VM : Thực hiện các giao dịch và lưu trữ an toàn các khối kèm theo trong cơ sở dữ liệu RocksDB cục bộ, đảm bảo tính toàn vẹn dữ liệu và cập nhật trạng thái liên tục.
Hợp đồng thông minh : Được triển khai trên mạng chính Ethereum, các hợp đồng thông minh này xác minh bằng chứng không có kiến thức (ZKP) được gửi từ ngoài chuỗi. Sau khi xác minh thành công, các hợp đồng này sẽ cập nhật trạng thái tài khoản trên mạng Ethereum.
GPU Prover : Công nghệ ZK-Rollup đảm bảo xác minh giao dịch an toàn và hiệu quả thông qua bằng chứng không có kiến thức. Khi một loạt giao dịch xảy ra ngoài mạng chính Ethereum, hệ thống tổng hợp ZK sẽ nén nhiều giao dịch thành một "bằng chứng hợp lệ" duy nhất do Prover tính toán, chứng minh tính chính xác của lô. Bằng chứng này sau đó được gửi tới mạng Ethereum, cho phép xác nhận nhanh chóng và an toàn về một khối lượng lớn giao dịch diễn ra ngoài chuỗi.
Cầu nối : ZKBase cung cấp cơ chế cầu nối để chuyển tài sản một cách an toàn giữa ZKBase và mạng chính Ethereum, đảm bảo khả năng tương tác và tính thanh khoản tài sản giữa hai nền tảng
Người dùng có thể bắt đầu các yêu cầu L2 thông qua giao diện lập trình ứng dụng (API) hoặc thông qua các hợp đồng được triển khai trên L1. Sau khi được gửi, các yêu cầu này sẽ vào mempool và chờ thực thi. Đáng chú ý, các giao dịch có nguồn gốc từ L1 (chẳng hạn như tiền gửi) được lưu trữ trong hàng đợi ưu tiên L1 chuyên dụng để đảm bảo chúng được xử lý kịp thời.
Cấu trúc lưu trữ mempool là một btreeset (một tập hợp được thực hiện bởi btree). Cấu trúc chỉ mục như sau:
Ở đây, charge_data không tham gia vào việc tính điểm thực tế nhưng giúp lọc ra các giao dịch không đáp ứng yêu cầu về phí. Điểm số được sắp xếp theo dấu thời gian và nếu dấu thời gian giống hệt nhau thì theo địa chỉ.
Các giao dịch trong mempool được quản lý bởi thành phần tìm nạp mempool trong State Keeper. Ngoại trừ các giao dịch đã hết hạn, các giao dịch tiêu chuẩn được tìm nạp từ mempool theo thứ tự được xác định bởi quá trình truyền tải btree và được ghi vào cơ sở dữ liệu. Sau đó, chúng được State Keeper/VM xử lý, thực thi và sử dụng để cập nhật cây trạng thái.
Sơ đồ bố trí khối cho thấy việc tổ chức các giao dịch trong một khối và sắp xếp các khối L2 trong một lô L1.
Để bắt đầu mỗi lô L1, người vận hành cần nhập các chi tiết chính: dấu thời gian của lô, vị trí của nó trong chuỗi và giá trị băm của lô trước đó.
Hàm băm gốc cây Merkle đóng vai trò là hàm băm gốc nền tảng trong quy trình này để đảm bảo tính hợp lệ của lô và tính xác thực của các giao dịch. Đồng thời, Người giữ trạng thái có quyền quyết định thời điểm hoàn thiện một khối L2 hoặc lô L1 cụ thể, từ đó xác định trạng thái của nó. Quyết định này được điều chỉnh bởi một tập hợp các tiêu chí được xác định trước được quản lý bởi mô-đun Conditional_sealer. Các tiêu chí này bao gồm các tham số như số lượng giao dịch, giới hạn kích thước và ngưỡng sử dụng gas. Sau khi xử lý giao dịch, State Keeper sẽ kiểm tra xem điều kiện niêm phong nào được đáp ứng.
conditional_sealer duy trì sổ đăng ký SealCriteria bao gồm:
Giới hạn số lượng giao dịch,
Giới hạn khí L2,
Giới hạn trên về lượng dữ liệu được công bố, cùng với các quy định khác.
Có bốn kịch bản quyết định: NoSeal, includeAndSeal, ExcludeAndSeal và Unexecutable. Trong hai trường hợp đầu tiên, quy trình này giống nhau, trạng thái sau thực thi được cập nhật trong State Keeper. ExcludeAndSeal xử lý các giao dịch vượt quá giới hạn lô được xác định trước bằng cách khôi phục quá trình thực hiện giao dịch và đặt nó trở lại hàng đợi để đưa vào khối L2 tiếp theo. Nếu xảy ra tình huống Không thể thực hiện được, giao dịch không thể được thực hiện và sẽ bị từ chối.
Vào cuối mỗi đợt, bộ nạp khởi động tạo khối L2 giữ chỗ để hoàn thành các giao dịch và chuẩn bị cho chu kỳ tiếp theo. Mặc dù hầu như trống, khối này rất quan trọng đối với các hoạt động nội bộ và bao gồm nhật ký sự kiện Chuyển để ghi lại các chuyển động phí giữa bộ nạp khởi động và nhà điều hành. Để đảm bảo độ chính xác về thời gian, dấu thời gian của lô và khối con cuối cùng được kiểm tra chéo với khung thời gian L1 dự kiến nhằm nâng cao khả năng phục hồi của hệ thống trước các vấn đề liên quan đến thời gian.
Sau khi một lô được hoàn thành, người chứng minh sẽ tạo bằng chứng mật mã để xác minh việc thực thi khối. Trong ZKBase, trách nhiệm của người chứng minh là chứng minh khả năng thực thi chính xác của Máy ảo ZKBase Ethereum (EVM). Bằng chứng này sau đó được xác minh bằng hợp đồng thông minh trên mạng Ethereum. Sau khi bằng chứng được tạo, người chứng minh sẽ đóng gói nó vào giao dịch L1 và gửi nó đến ETH_Sender. ETH_Sender chuyển tiếp giao dịch tới hợp đồng ZKBase được triển khai trên mạng chính Ethereum để xử lý thêm.
Mạng chính Ethereum xác minh tính chính xác của bằng chứng và sau khi xác minh thành công sẽ cập nhật trạng thái tương ứng.
Trong suốt quá trình, EthWatcher liên tục giám sát các sự kiện L1 cụ thể, chẳng hạn như tiền gửi và nâng cấp hệ thống, để đảm bảo đồng bộ hóa với mạng chính Ethereum.
Kiến trúc tận dụng Cơ sở dữ liệu Postgres để chia sẻ dữ liệu, cho phép tính toán song song trên nhiều Nhà cung cấp GPU nhằm nâng cao hiệu quả tạo bằng chứng. Các thành phần chính bao gồm:
Nhà điều hành : Máy chủ cung cấp dịch vụ Lớp 2.
Cổng Prover : Một mô-đun giao tiếp kết nối người vận hành với hệ thống con kiểm chứng.
Trình tạo nhân chứng : Tạo các nhiệm vụ tính toán bằng chứng và lưu trữ các tạo phẩm trung gian.
Trình tạo vectơ : Tổng hợp tất cả các tác vụ tính toán thành định dạng vectơ phù hợp cho tính toán GPU và gửi chúng đến người chuẩn bị.
Prover: Thực hiện tính toán thực tế và xác minh bằng chứng.
Compressor: Nén bằng chứng cuối cùng thành dạng SNARK.
Tạo lô : Người vận hành thu thập các giao dịch và tạo một lô mới.
Tiếp nhận hàng loạt : Cổng Prover truy xuất lô mới từ Người vận hành và bắt đầu chuẩn bị tạo bằng chứng không có kiến thức.
Chèn cơ sở dữ liệu : Cổng Prover chèn thông tin lô vào cơ sở dữ liệu Postgres. Quá trình xử lý dữ liệu tiếp theo sẽ tương tác trực tiếp với cơ sở dữ liệu, lấy dữ liệu từ các bảng đầu vào tương ứng và đặt dữ liệu đã xử lý vào các bảng đầu ra có liên quan.
Tạo nhân chứng : Giai đoạn ban đầu này xảy ra khi người dùng bắt đầu giao dịch, tạo ra nhân chứng. Nhân chứng chứng minh tính hợp lệ của giao dịch dựa trên các quy tắc đồng thuận của mạng mà không tiết lộ bất kỳ chi tiết giao dịch nào. Nhân chứng giao dịch mới được thu thập và xử lý theo đợt. Mỗi lô trải qua các quá trình sau:
Mạch cơ bảnWitnessGenerator
LeafAggregationWitnessGenerator
Tập hợp nút
Người lập kế hoạch
Tạo vectơ : Trình tạo vectơ hợp nhất các mạch để tạo ra vectơ chứng kiến, tối ưu hóa việc sử dụng sức mạnh tính toán của GPU.
Tính toán bằng chứng : Nhà chứng minh sử dụng GPU để tính toán các bằng chứng không có kiến thức, xác minh tính chính xác của các tính toán bằng chứng.
Nén : Mô-đun Compressor nén bằng chứng để giảm kích thước dữ liệu, chuyển nó thành dạng SNARK.
ZKBase, được xây dựng trên ZK Stack và Multi-GPU Prover, đạt được khả năng mở rộng Lớp 2 hiệu suất cao. Tuy nhiên, giải pháp mở rộng quy mô Ethereum ZK-Rollup vẫn phải đối mặt với nhiều thách thức kỹ thuật. Trong tương lai, ZKBase sẽ tiếp tục nghiên cứu và khám phá việc triển khai trình tự phi tập trung và mạng năng lượng tính toán ZK phi tập trung.