0xAlpha đã đóng góp cho nghiên cứu DODO : Chúng ta hãy phân tích sâu công nghệ zk-SNARK và khám phá các nguyên tắc cũng như ứng dụng của nó để bảo vệ quyền riêng tư trong crypto và chuỗi khối.
Tác giả: Đồng sáng lập 0xAlpha @DeriProtocol
Biên soạn bởi: DODO Research
Chào mừng bạn theo dõi trên Twitter: @0x_Alpha

0xAlpha đã đóng góp cho nghiên cứu DODO . Bài viết này sẽ giải mã một cách toán học công nghệ này, tiết lộ cách nó có thể chứng minh sự thật của kiến thức mà không tiết lộ bất kỳ thông tin nào. Hãy sẵn sàng, hãy cùng khám phá bí ẩn của zk-SNARK.
giới thiệu
zk-SNARK, "đối số kiến thức không tương tác không tương tác không có kiến thức", cho phép người xác minh xác nhận rằng người chứng minh sở hữu một số kiến thức nhất định, được gọi là nhân chứng , đáp ứng các mối quan hệ cụ thể mà không tiết lộ nhân chứng bất kỳ thông tin nào.
Việc tạo zk-SNARK cho một bài toán cụ thể bao gồm bốn giai đoạn sau:
- Chuyển đổi một bài toán (hoặc hàm) thành mạch cổng số học.
- Mạch này sau đó được dịch thành một công thức ma trận.
- Công thức ma trận này tiếp tục được chuyển đổi thành một đa thức có thể chia hết cho một đa thức tối thiểu cụ thể.
- Cuối cùng, khả năng chia hết này được thể hiện bằng các điểm đường cong elip của trường hữu hạn, nơi quá trình chứng minh được tiến hành.
Ba bước đầu tiên chỉ đơn thuần biến đổi cách trình bày của câu lệnh ban đầu. Bước cuối cùng sử dụng crypto đồng cấu để chiếu các câu lệnh của bước 3 vào một không gian crypto, cho phép người chứng minh xác minh các câu lệnh phản ánh trong đó. Vì phép chiếu này sử dụng crypto bất đối xứng nên việc quay ngược từ câu lệnh ở bước 3 về câu lệnh ban đầu là không khả thi, đảm bảo không có kiến thức.
Nền tảng toán học cần thiết để đọc bài viết này tương đương với đại số cấp một cho chuyên ngành STEM. Khái niệm duy nhất có thể gặp thách thức có thể là crypto đường cong elip. Đối với những người không quen với điều này, hãy coi nó như một hàm số mũ có cơ số đặc biệt, hãy nhớ rằng nghịch đảo của nó vẫn chưa được giải.

Trong bài viết này, chúng tôi sẽ tiếp tục sử dụng phương trình (1) làm cơ sở cho cuộc thảo luận của chúng tôi.
Bước 1: Mạch cổng số học
Phương trình (1) có thể được chia thành các phép toán số học cơ bản sau:

Điều này tương ứng với mạch cổng số học sau:

Chúng tôi cũng coi Phương trình (2) là một tập hợp gồm 4 "ràng buộc cấp một", mỗi ràng buộc mô tả mối quan hệ của một cổng số học trong mạch. Nói chung, một tập hợp n ràng buộc cấp độ đầu tiên có thể được tóm tắt dưới dạng chương trình số học bậc hai (QAP), chương trình này sẽ được giải thích tiếp theo.
Bước 2: Ma trận






Bước 3: Đa thức



Nếu rút từng hàng và quan sát nó riêng lẻ, không khó để thấy rằng bốn hàng này tương ứng với cùng một biểu thức được đánh giá tại bốn điểm. Do đó, phương trình ma trận trên tương đương với:

Một cách đơn giản nhưng không bí mật để chứng minh điều này là cung cấp vế trái của phương trình (4) và biểu diễn phân tích nhân tử. Tuy nhiên, mục đích chính của zk-SNARK là giữ bí mật (không tiết lộ bất kỳ kiến thức nào). Do đó, chúng tôi sẽ không chứng minh phương trình này một cách trực tiếp mà là một phiên bản crypto của nó trong không gian các điểm của đường cong elip.
Bước 4: Điểm đường cong Elliptic
Viết lại phương trình (4) dưới dạng:

Tiếp theo, chúng tôi sẽ giải thích các bước thực tế chi tiết hơn.
Mã crypto đường cong elip

Mặt khác, phép cộng hai điểm trên đường cong elip được xác định như sau:



Tuy nhiên, phương trình (5) mà Alice muốn chứng minh lại có dạng bậc hai nên không đủ tuyến tính. Để xử lý các số hạng bậc hai, chúng ta cần định nghĩa phép nhân trong không gian crypto. Đây được gọi là hàm ghép nối hoặc bản đồ song tuyến tính và sẽ được giải thích tiếp theo.
ánh xạ song tuyến

Đây là điều mà tất cả chúng ta đều quen thuộc - quy luật phân phối của các phép tính cộng và nhân.
Với ánh xạ song tuyến tính như vậy, chúng ta có thể ánh xạ cả hai vế của phương trình (5) vào không gian crypto.
chuỗi tham chiếu công khai

Toàn bộ quá trình này được gọi là "Khóa xác minh" hay viết tắt là VK. Ở đây chỉ có 7 điểm đường cong elip (ECP) cần được cung cấp cho người xác minh. Cần lưu ý rằng cho dù vấn đề có liên quan đến bao nhiêu đầu vào và ràng buộc cấp một, VK vẫn luôn bao gồm 7 ECP.
Ngoài ra, điều đáng nói là việc "cài đặt tin cậy" và quá trình tạo PK, VK chỉ cần thực hiện một lần cho một vấn đề cụ thể.
Bằng chứng và xác minh
Bây giờ sở hữu khóa chung (PK), Alice sẽ tính các điểm trên đường cong elip (ECP) sau:

9 điểm đường cong elip này là chìa khóa cho bằng chứng không tương tác ngắn gọn, không chứa kiến thức (zk-SNARK)!
Lưu ý rằng Alice thực sự vừa thực hiện một số thao tác kết hợp tuyến tính trên các điểm của đường cong elip trong khóa chung. Điều này đặc biệt quan trọng và sẽ được kiểm tra trong quá trình xác minh.
Bây giờ, Alice đã giao chứng chỉ zk-SNARK và cuối cùng chúng tôi bước vào quy trình xác minh, được chia thành ba bước.

người giới thiệu
- “Zk-SNARKs: Dưới mui xe” (Vitalik Buterin)
- “Đánh giá về bằng chứng không có kiến thức” (Thomas Chen, Abby Lu, Jern Kunpittaya và Alan Luo)
- “Tại sao và như thế nào zk-SNARK hoạt động: Giải thích dứt khoát” (Maksym Petkus)
- Trang web: Bằng chứng không có kiến thức
- Wikipedia: Đường cong elip
- Wikipedia: Trường hữu hạn
- Wikipedia: Mật mã dựa trên ghép nối
Tuyên bố miễn trừ trách nhiệm
Thông tin trong báo cáo nghiên cứu này được lấy đến từ các tài liệu được công bố công khai và quan điểm trong bài viết này chỉ nhằm mục đích nghiên cứu và không đại diện cho bất kỳ ý kiến đầu tư nào. Quan điểm, dự báo đưa ra trong báo cáo chỉ mang tính chất phân tích, nhận định tại thời điểm ban hành và không có giá trị vĩnh viễn.
Tuyên bố miễn trừ trách nhiệm: Là chuỗi khối, các bài viết được xuất bản trên trang này chỉ thể hiện quan điểm cá nhân của tác giả và khách và không liên quan gì đến quan điểm của Web3Caff. Nội dung của bài viết này chỉ nhằm mục đích chia sẻ thông tin và không cấu thành bất kỳ lời khuyên hay đề nghị đầu tư nào. Vui lòng tuân thủ luật pháp và quy định có liên quan của quốc gia hoặc khu vực nơi bạn sinh sống.


