TL;DR
tiêu đề cấp đầu tiên
1. Chúng tôi đang nỗ lực để xây dựng ZKVM đầu tiên dựa trên PE-VM. Thông qua thiết kế thân thiện với ZK và cải tiến thuật toán ZK, nó có tốc độ thông lượng cao hơn, các đặc điểm kỹ thuật của nó như sau:
a.Chứng minh nhanh:
i. Thân thiện với ZK: có được quy mô mạch nhỏ hơn và đơn vị ràng buộc cơ bản được đơn giản hóa;
ii. Triển khai ZK nhanh hơn: các cải tiến được tối ưu hóa hơn nữa cho plonky 2;
b.Thực hiện nhanh chóng:
Áp dụng máy ảo thực thi song song (trong bối cảnh công nghệ chứng minh song song, thời gian tạo bằng chứng càng ngắn thì hiệu quả càng rõ ràng).
2. Những gì chúng tôi đã làm:
a.Tháng 7 năm 2022, sách trắng của OlaVM được phát hành;
c.Để thuật toán ZK có hiệu suất thực thi nhanh nhất hiện nay chúng tôi đã hoàn thành thiết kế mạch và nghiên cứu thuật toán của plonky 2, các bạn có thể mở link: https://github.com/Sin 7 Y/plonky 2/tree/ main/plonky 2/ thiết kế để tìm hiểu thêm về thiết kế của plonky 2, chúng tôi sẽ tối ưu hóa và cải thiện nó trong bước tiếp theo, hãy tiếp tục chú ý. . .
tiêu đề cấp đầu tiên
chúng ta đang làm gì

OlaVM là ZKVM lớp 2 đầu tiên giới thiệu các máy ảo thực thi song song, nó tích hợp các điểm kỹ thuật của hai sơ đồ để đạt được tốc độ thực thi nhanh hơn và tốc độ kiểm chứng nhanh hơn, nhằm đạt được thông lượng hệ thống cao hơn trong tương lai.
Trong hệ thống Ethereum hiện tại, có hai lý do chính khiến thông lượng chậm:
1. Quy trình đồng thuận: mỗi nút thực hiện giao dịch nhiều lần để xác minh tính hợp lệ của giao dịch;
2. Thực hiện giao dịch: Thực hiện giao dịch là một luồng.Để giải quyết điểm đầu tiên của vấn đề và cần được lập trình đồng thời, nhiều dự án đã tiến hành nghiên cứu về ZK(E)VM, tức là giao dịch được hoàn thành ngoài chuỗi và chỉ trạng thái được xác minh trên chuỗi (tất nhiên có các giải pháp mở rộng khác, sẽ không được thảo luận ở đây. Quá nhiều chi tiết), nhưng để thực sự cải thiện thông lượng hệ thống, bạn cầnTạo bằng chứng càng nhanh càng tốt
Mặc dù ở giai đoạn này, đối với ZK(E)VM, nút thắt cổ chai ảnh hưởng đến thông lượng của toàn hệ thống nằm ở việc tạo ra các bằng chứng; nhưng khi sử dụng chứng minh Song song để tăng tốc thông lượng của toàn hệ thống, thì các khối càng nhanh được tạo, các bằng chứng tương ứng được tạo Thời gian bắt đầu càng sớm (với sự phát triển của thuật toán ZK và cải tiến các phương pháp tăng tốc, thời gian tạo bằng chứng càng ngắn, hiệu quả cải thiện của mô-đun này càng rõ ràng).
Làm thế nào để đạt được thông lượng cao?
tiêu đề phụ
Tạo bằng chứng nhanh nhất có thể (ưu tiên cao nhất hiện tại)
Để đẩy nhanh việc tạo ra các bằng chứng, nó có thể được chia thành hai phần: kích thước mạch nhỏ nhất có thể và thực thi thuật toán nhanh nhất có thể; thực thi thuật toán nhanh nhất có thể được chia thành: cải thiện các tham số của chính thuật toán ( chẳng hạn như chọn một miền nhỏ) và các cải tiến trong môi trường thực thi bên ngoài (chẳng hạn như tăng tốc phần cứng).
1. Kích thước ràng buộc càng nhỏ càng tốt
a. Prophet
Có, mức tiêu thụ của việc tạo bằng chứng có liên quan chặt chẽ đến quy mô tổng thể của các ràng buộc n. Nếu quy mô tổng thể của các ràng buộc có thể giảm đi rất nhiều, thì thời gian tạo bằng chứng sẽ giảm đáng kể. Điều này yêu cầu rằng trong thiết kế của VM, bạn cần sử dụng càng nhiều thiết kế càng tốt để giảm kích thước ràng buộc tổng thể.
b. Zk-friendly
Tiên tri có nghĩa là "nhà tiên tri", đầu tiên là "dự đoán" và sau đó là "xác minh", mục đích chính của nó là: đối với một số phép tính phức tạp, chúng ta không cần sử dụng các lệnh VM để thực hiện các phép tính phức tạp này (có thể tốn nhiều lệnh, vì vậy để tăng quỹ đạo thực thi của VM và quy mô ràng buộc cuối cùng); thay vào đó, Tiên tri tích hợp được sử dụng để hoàn thành phép tính và kết quả được gửi tới VM, sau đó VM chỉ thực hiện kiểm tra tính hợp pháp của kết quả . Tiên tri là một số hàm tích hợp với các chức năng tính toán cụ thể, chẳng hạn như tính chia, tính căn bậc hai, tính căn bậc ba, v.v. Chúng tôi sẽ dần làm phong phú thư viện Tiên tri theo các tình huống thực tế, để đối với hầu hết các tình huống tính toán phức tạp, hạn chế tổng thể hiệu quả giảm là tối đa.
Khi phép tính phức tạp, Tiên tri có thể giúp giảm kích thước quỹ đạo do VM thực hiện; nhưng trước đó, chúng tôi muốn bản thân phép tính thân thiện với Zk hơn. Do đó, trong thiết kế, chúng tôi sẽ sử dụng một số thao tác thân thiện với Zk, chẳng hạn như thuật toán băm phổ biến, thuật toán xác minh chữ ký, v.v.; những tối ưu hóa này cũng thường tồn tại trong các giải pháp ZK(E)VM khác; nhưng điều quan trọng cuối cùng là, Khi bạn chọn phép tính phức thân thiện với Zk, làm cách nào để hạn chế phép tính phức này với các ràng buộc nhỏ hơn?
Ngoài việc thực thi logic tính toán, bản thân VM cũng có các hoạt động khác cần được chứng minh, chẳng hạn như hoạt động của RAM. VM dựa trên ngăn xếp cần thực hiện các thao tác POP và PUSH mỗi khi được truy cập, ở cấp độ xác minh, vẫn cần xác minh tính hợp lệ của thao tác này. Các thao tác này sẽ tạo thành một Bảng độc lập, sau đó sử dụng các ràng buộc để xác minh các thao tác này Hiệu quả của hoạt động ngăn xếp; trong khi máy ảo dựa trên thanh ghi thực hiện logic tương tự, dấu vết thực thi kết quả nhỏ hơn, do đó quy mô ràng buộc cũng nhỏ hơn.

Do hiệu suất tuyệt vời của Plonky 2, chúng tôi tạm thời sử dụng Plonky 2 làm phụ trợ ZK của OlaVM. Chúng tôi đã phân tích sâu về thiết kế Cổng, thiết kế Tiện ích và nguyên tắc giao thức của Plonky 2 và tìm ra một số hướng tối ưu hóa. Bạn có thể theo dõi Github Repo: Thiết kế Plonky 2 của chúng tôi để tìm hiểu thêm về nó.
tiêu đề phụ
Thực hiện giao dịch nhanh hơn (không phải nút thắt cổ chai ở giai đoạn này)

Khi việc tạo bằng chứng mất nhiều thời gian, chẳng hạn như vài giờ, sự cải thiện do thực thi song song mang lại là không rõ ràng; có hai kịch bản có thể cải thiện hiệu quả do sự song song này mang lại, một là số lượng khối tổng hợp trở nên lớn hơn để đạt được thay đổi về lượng Gây ra thay đổi về chất; mặt khác là thời gian chứng minh được rút ngắn rất nhiều. Tất nhiên, nếu hai hiệu ứng khuyến mãi được xếp chồng lên nhau, thì sẽ tốt hơn.
tiêu đề cấp đầu tiên
khả năng tương thích?
Tất nhiên, mục tiêu chính của OlaVM vẫn là xây dựng một ZKVM thông lượng cao. Khi bước đầu tiên của chúng tôi được thực hiện tốt, chúng tôi sẽ xem xét việc đạt được khả năng tương thích, đặc biệt là khả năng tương thích Ethereum, cũng sẽ nằm trong lộ trình của chúng tôi.
All Together
Tích hợp tất cả các phân hệ trên, sơ đồ luồng dữ liệu của toàn hệ thống được thể hiện sơ bộ như hình bên dưới:

Coming Soon
tiêu đề cấp đầu tiên
1. Đầu tháng 12/2022:
a.Hoàn thành thiết kế OlaVM DSL;
b. Hoàn thành thiết kế và phát triển hợp đồng biên dịch sẵn OlaVM;
đề cập đến
đề cập đến
1.OlaVM:https://olavm.org/whitepaper/OlaVM-07-25.pdf
2.Plonkish:https://zcash.github.io/halo 2/concepts/arithmetization.html
3.Cairo VM:https://starknet.io/docs/how_cairo_works/cairo_intro.html#field-elements
4.Plonky 2:https://github.com/Sin 7 Y/plonky 2/blob/main/field/src/goldilocks_field.rs
5.Ingonyama:https://github.com/ingonyama-zk/cloud-ZK
6.Semisand:https://semisand.com/
7.Plonky 2 designs:https://github.com/Sin 7 Y/plonky 2/tree/main/plonky 2/designs
về chúng tôi
về chúng tôi
Sin7y được thành lập vào năm 2021 và bao gồm các nhà phát triển chuỗi khối hàng đầu. Chúng tôi vừa là vườn ươm dự án vừa là nhóm nghiên cứu công nghệ chuỗi khối, khám phá các công nghệ tiên tiến và quan trọng nhất như EVM, Lớp 2, chuỗi chéo, điện toán bảo mật và các giải pháp thanh toán tự động.
GitHub | Twitter | Telegram | Medium| Mirror | HackMD | HackerNoon


