Bài học 2

Cách hoạt động của ZK Coprocessors

Đi sâu hơn, mô-đun này phân tích kiến trúc của các coprocessor ZK, bao gồm các động cơ prover, zkVM và hợp đồng verifier. Nó cũng so sánh các công cụ phát triển chính như Circom, Noir, Risc Zero và SP1, sử dụng các ví dụ thực tế như Axiom và Bonsai để giải thích về việc tạo chứng và thực thi không cần tin cậy.

Kiến trúc cốt lõi: Động cơ chứng minh, hợp đồng xác minh, zkVM

Một bộ đồng xử lý ZK được xây dựng để giảm tải tính toán từ blockchain trong khi vẫn duy trì tính khả thi. Ở cốt lõi, kiến trúc bao gồm ba thành phần chính: động cơ lập chứng, hợp đồng xác minh và máy ảo (zkVM hoặc runtime mạch).

Bộ máy chứng minh chịu trách nhiệm thực hiện tính toán ngoài chuỗi và tạo ra một bằng chứng mật mã rằng tính toán đã được thực hiện đúng. Bộ máy này nhận dữ liệu đầu vào, chạy nó qua một logic hoặc chương trình đã định nghĩa, và xuất ra một bằng chứng không tri thức ngắn gọn. Bộ chứng thường là một quá trình nặng nề, yêu cầu các tài nguyên tính toán như CPU hoặc GPU, tùy thuộc vào loại hệ thống bằng chứng đang được sử dụng.

Hợp đồng xác minh được triển khai trên chuỗi và được thiết kế nhẹ nhàng. Mục đích duy nhất của nó là xác nhận tính chính xác của bằng chứng đã gửi. Nó giữ khóa xác minh, được suy diễn toán học từ cùng một logic được sử dụng bởi người chứng minh. Khi hợp đồng thông minh nhận được một bằng chứng, nó kiểm tra nó so với khóa và xác nhận xem kết quả có hợp lệ hay không. Quy trình này nhanh chóng và chi phí thấp so với việc thực hiện toàn bộ tính toán trên chuỗi.

zkVM hoặc mạch số học xác định logic của chương trình. Nó hoạt động như môi trường runtime cho người chứng minh. Trong một số hệ thống, đây là một mạch tùy chỉnh được viết bằng một ngôn ngữ chuyên biệt cấp thấp, trong khi những hệ thống khác sử dụng máy ảo đầy đủ có thể diễn giải mã trong các ngôn ngữ cấp cao hơn. Cùng nhau, những thành phần này cho phép thực thi không cần tin cậy ngoài chuỗi và xác minh ngắn gọn trên chuỗi.

Circom, Noir, Risc Zero, SP1: Ngôn ngữ và máy ảo

Nhiều công cụ và khung đã xuất hiện để hỗ trợ phát triển các đồng xử lý ZK. Circom là một trong những ngôn ngữ mạch sớm nhất và được sử dụng rộng rãi nhất. Nó cho phép các nhà phát triển định nghĩa các mạch số học bằng cách sử dụng cú pháp khai báo. Các mạch này sau đó được biên dịch thành các hệ thống chứng minh như Groth16 hoặc PLONK. Circom được biết đến với tính linh hoạt nhưng có đường cong học tập dốc và yêu cầu thiết kế mạch thủ công.

Noir là một ngôn ngữ gần đây được thiết kế để làm cho việc phát triển ZK trở nên dễ tiếp cận. Được phát triển bởi Aztec, Noir là một ngôn ngữ giống Rust, trừu tượng hóa nhiều phức tạp của hệ thống ràng buộc. Nó tự động biên dịch thành các mạch không kiến thức, giúp dễ dàng viết các chương trình riêng tư với cú pháp dễ đọc.

Ngoài ngôn ngữ, zkVMs đang thu hút sự chú ý nhờ khả năng chạy mã mục đích chung trong một môi trường thân thiện với ZK. Risc Zero cung cấp một trong những triển khai zkVM tiên tiến nhất. Nó mô phỏng tập lệnh RISC-V và cho phép các nhà phát triển chạy bất kỳ chương trình nào được viết bằng Rust hoặc C dưới dạng bằng chứng không kiến thức. SP1, được phát triển bởi Succinct, áp dụng cách tiếp cận tương tự nhưng nhắm đến tối ưu hóa hiệu suất và khả năng di động giữa các hệ thống bằng chứng.

Những môi trường này rất quan trọng vì chúng xác định mức độ biểu đạt, hiệu quả và khả năng kết hợp của các bộ đồng xử lý ZK. Trong khi các mạch cấp thấp vẫn hữu ích cho các ứng dụng cần hiệu suất cao, zkVM đang cho phép sự chấp nhận rộng rãi hơn từ các nhà phát triển và cải tiến nhanh hơn.

Ví dụ về quy trình: Cách Axiom hoặc Bonsai thực thi logic ZK

Để hiểu cách hoạt động của một bộ đồng xử lý ZK trong thực tế, hãy xem xét luồng thực thi của một hệ thống như Axiom hoặc Bonsai của Risc Zero.

Trong mô hình của Axiom, một nhà phát triển định nghĩa một truy vấn trên dữ liệu Ethereum lịch sử — ví dụ, kiểm tra xem một người dùng có giữ một số dư cụ thể tại một khối trong quá khứ hay không. Truy vấn này được gửi đến bộ đồng xử lý ngoài chuỗi của Axiom. Bộ đồng xử lý lấy dữ liệu trên chuỗi liên quan, xử lý truy vấn và thực hiện logic bằng cách sử dụng zkVM. Khi việc tính toán hoàn tất, bộ đồng xử lý tạo ra một bằng chứng không kiến thức xác nhận tính chính xác của kết quả. Bằng chứng này được gửi lên chuỗi đến một hợp đồng xác minh, hợp đồng này xác thực và cho phép một hợp đồng thông minh sử dụng kết quả với đầy đủ niềm tin.

Bonsai của Risc Zero theo một cấu trúc tương tự nhưng tổng quát hóa quy trình. Các nhà phát triển viết logic ứng dụng của họ bằng một ngôn ngữ cấp cao như Rust. Mã này được biên dịch thành một hình ảnh zkVM và thực thi ngoài chuỗi sử dụng cơ sở hạ tầng của Bonsai. Sau khi thực thi, một bằng chứng được tạo ra và có thể được đăng trở lại bất kỳ blockchain nào thông qua một bộ xác minh trên chuỗi.

Kiến trúc này cho phép các nhà phát triển xây dựng logic mạnh mẽ, giảm thiểu sự tin cậy mà không làm quá tải blockchain. Nó cũng cho phép các bằng chứng có thể tái sử dụng, có thể phối hợp để phục vụ nhiều hợp đồng hoặc ứng dụng.

Điều gì làm cho các chứng minh trở nên không tin cậy và có thể xác minh

Sức mạnh của một bộ đồng xử lý ZK nằm ở mô hình niềm tin mà nó cho phép. Không giống như các oracle tập trung hoặc nhà cung cấp tính toán ngoài chuỗi, các bộ đồng xử lý ZK không yêu cầu người dùng phải tin tưởng vào thực thể thực hiện tính toán. Thay vào đó, niềm tin được chuyển giao cho toán học.

Cốt lõi của niềm tin này đến từ cấu trúc của các bằng chứng không kiến thức. Các bằng chứng này được thiết kế sao cho bất kỳ phép tính không hợp lệ nào, ngay cả một bit không chính xác, cũng sẽ dẫn đến việc xác minh không thành công. Hợp đồng xác minh không thể bị lừa để chấp nhận một kết quả sai, giả sử các giả định mật mã vẫn đúng.

Hơn nữa, vì verifier chỉ cần các đầu vào công khai, chứng minh và khóa xác minh, nên không có sự phụ thuộc vào danh tính hoặc hành vi của prover. Bất kỳ bên thứ ba nào cũng có thể tạo ra chứng minh, và miễn là nó vượt qua xác minh, nó sẽ được chấp nhận. Điều này có nghĩa là các prover có thể được phi tập trung, không cần quyền truy cập và thậm chí được khuyến khích, đây là một tính năng được khám phá thêm trong các mạng chứng minh.

Bằng cách kết hợp các đảm bảo mật mã với tính cuối cùng của blockchain, các bộ đồng xử lý ZK cho phép một lớp thực thi không tin cậy mới mà không dựa vào các dịch vụ tập trung, uy tín hoặc sự đồng thuận multisig.

Vai trò trong DeFi, chuỗi chéo và hệ sinh thái L2

Các bộ đồng xử lý ZK đang tìm thấy sự thu hút thực sự ở những lĩnh vực mà việc tính toán cần được giảm thiểu sự tin cậy, tiết kiệm chi phí hoặc riêng tư. Trong DeFi, chúng có thể tính toán giá trung bình theo thời gian, tài sản nắm giữ theo thời gian, hoặc các mô hình rủi ro tùy chỉnh mà không cần lưu trữ tất cả dữ liệu trên chuỗi. Điều này cho phép các hợp đồng tài chính thông minh hơn mà không làm tăng chi phí gas hoặc làm phình to chuỗi khối.

Trong các ứng dụng cross-chain, các coprocessor ZK có thể hoạt động như các client nhẹ. Thay vì chạy các nút đầy đủ cho mỗi chuỗi, các ứng dụng có thể xác minh một chứng minh ngắn gọn về trạng thái của chuỗi khác. Điều này đơn giản hóa đáng kể các cầu nối và giao thức nhắn tin, cải thiện cả bảo mật và khả năng tương tác.

Các hệ sinh thái Layer 2 cũng đang áp dụng ZK coprocessors như một cách để tối ưu hóa logic rollup. Thay vì chạy mọi tương tác bên trong mạch rollup, các rollup có thể ủy quyền các nhiệm vụ cụ thể, như phát hiện gian lận, xác minh oracle, hoặc logic do người dùng định nghĩa, cho các ZK coprocessors bên ngoài. Điều này giảm chi phí chứng minh và làm cho các rollup trở nên mô-đun hơn.

Các đồng xử lý ZK do đó đang nổi lên như những thành phần hạ tầng thiết yếu. Chúng mở rộng những gì mà blockchain có thể làm mà không làm giảm sự phi tập trung hoặc hiệu suất. Khi các công cụ và môi trường thực thi trưởng thành, chúng có khả năng trở thành lựa chọn mặc định trong ngăn xếp phát triển cho bất kỳ ứng dụng phi tập trung tiên tiến nào.

Tuyên bố từ chối trách nhiệm
* Đầu tư tiền điện tử liên quan đến rủi ro đáng kể. Hãy tiến hành một cách thận trọng. Khóa học không nhằm mục đích tư vấn đầu tư.
* Khóa học được tạo bởi tác giả đã tham gia Gate Learn. Mọi ý kiến chia sẻ của tác giả không đại diện cho Gate Learn.