Công nghệ zk-SNARK trong lĩnh vực Blockchain: Tổng quan tài liệu toàn diện
Tóm tắt
zk-SNARK ( ZKP ) công nghệ như một đổi mới quan trọng trong lĩnh vực Blockchain, đóng vai trò then chốt trong việc nâng cao bảo vệ quyền riêng tư và khả năng mở rộng. Bài viết này cung cấp một cái nhìn tổng quan hệ thống về lịch sử nghiên cứu và những tiến bộ mới nhất của ZKP trong gần bốn mươi năm qua.
Trước tiên, bài viết giới thiệu khái niệm cơ bản và bối cảnh lịch sử của ZKP, tập trung phân tích công nghệ ZKP dựa trên mạch, bao gồm thiết kế và ứng dụng của các mô hình như zkSNARK, Pinocchio, Bulletproofs. Về môi trường tính toán, bài viết thảo luận về cách ZKVM và ZKEVM nâng cao khả năng xử lý giao dịch và hiệu suất xác minh. Bài viết cũng giới thiệu cơ chế hoạt động và phương pháp tối ưu của ZK Rollup như một giải pháp mở rộng Layer 2, cũng như những tiến bộ mới nhất về tăng tốc phần cứng, giải pháp hỗn hợp và ZK EVM chuyên dụng.
Cuối cùng, đã nhìn nhận các khái niệm mới nổi như ZKCoprocessor, ZKML, ZKThreads, ZK Sharding và ZK StateChannels, thảo luận về tiềm năng của chúng trong khả năng mở rộng, tính tương tác và bảo mật trên Blockchain.
Bằng cách phân tích các công nghệ và xu hướng phát triển này, bài viết cung cấp một cái nhìn toàn diện để hiểu và áp dụng công nghệ ZKP, cho thấy tiềm năng to lớn của nó trong việc nâng cao hiệu suất và độ an toàn của hệ thống Blockchain, cung cấp tham khảo quan trọng cho các quyết định đầu tư trong tương lai.
Mục lục
Lời giới thiệu
Một, kiến thức cơ bản về zk-SNARK
Tóm tắt
Ví dụ về zk-SNARK
Hai, zk-SNARK không tương tác
Bối cảnh
Sự đề xuất của NIZK
Biến đổi Fiat-Shamir
Jens Groth và nghiên cứu của ông
Nghiên cứu khác
Ba, chứng minh không biết dựa trên mạch điện
Bối cảnh
Khái niệm và đặc điểm cơ bản của mô hình mạch
Thiết kế và ứng dụng mạch trong zk-SNARK
Các khiếm khuyết và thách thức tiềm ẩn
Bốn, mô hình zk-SNARK
Bối cảnh
Mô hình thuật toán phổ biến
Giải pháp dựa trên PCP tuyến tính và bài toán logarit rời rạc
Giải pháp dựa trên chứng minh của người bình thường
Chứng minh có thể kiểm tra dựa trên xác suất ( PCP ) zk-SNARK
Phân loại giai đoạn thiết lập của việc xây dựng chứng minh tổng quát CPC( )
Năm, Tổng quan và Phát triển của Máy Ảo Không Kiến Thức
Bối cảnh
Phân loại ZKVM hiện có
Mô hình phía trước và phía sau
Ưu và nhược điểm của ZKVM
Sáu, Tổng quan và phát triển của máy ảo Ethereum zk-SNARK.
Bối cảnh
Nguyên tắc hoạt động của ZKEVM
Quy trình thực hiện ZKEVM
Đặc điểm của ZKEVM
Bảy, Tổng quan và phát triển về giải pháp mạng hai lớp zk-SNARK
Bối cảnh
Cơ chế hoạt động của ZK Rollup
Nhược điểm và tối ưu hóa của ZK Rollup
Tám, hướng phát triển tương lai của zk-SNARK.
Tăng tốc sự phát triển của môi trường tính toán
Sự ra đời và phát triển của ZKML
Phát triển công nghệ mở rộng ZKP
Sự phát triển của tính tương tác ZKP
Chín, Kết luận
Tài liệu tham khảo
Lời mở đầu
Với sự ra đời của thời đại Web3, các ứng dụng blockchain (DApps) phát triển nhanh chóng, hàng ngày có rất nhiều ứng dụng mới xuất hiện. Trong những năm gần đây, các nền tảng blockchain hàng ngày tiếp nhận hàng triệu hoạt động của người dùng, xử lý hàng tỷ giao dịch. Khối lượng dữ liệu khổng lồ được tạo ra từ những giao dịch này thường chứa thông tin cá nhân nhạy cảm, chẳng hạn như danh tính người dùng, số tiền giao dịch, địa chỉ tài khoản và số dư, v.v. Do tính mở và minh bạch của blockchain, những dữ liệu được lưu trữ này đều có thể nhìn thấy đối với tất cả mọi người, do đó đã phát sinh nhiều vấn đề về bảo mật và quyền riêng tư.
Hiện tại có một số công nghệ mã hóa có thể ứng phó với những thách thức này, bao gồm mã hóa đồng tính, chữ ký vòng, tính toán đa bên an toàn và zk-SNARK. Trong số đó, zk-SNARK là một giải pháp toàn diện hơn, cho phép xác minh tính đúng đắn của một số tuyên bố mà không tiết lộ bất kỳ dữ liệu trung gian nào. Thông qua ZKP, người xác minh có thể xác minh xem người chứng minh có đủ số tiền giao dịch mà không tiết lộ bất kỳ dữ liệu giao dịch riêng tư nào.
Tính năng ZKP này khiến nó đảm nhận vai trò cốt lõi trong giao dịch Blockchain và ứng dụng tiền điện tử, đặc biệt trong việc bảo vệ quyền riêng tư và mở rộng mạng, khiến nó không chỉ trở thành tâm điểm nghiên cứu học thuật mà còn là lĩnh vực ứng dụng ngành và đầu tư mạo hiểm. Với sự xuất hiện của các dự án mạng dựa trên ZKP như ZkSync, StarkNet, Mina, sự đổi mới thuật toán liên quan đến ZKP đang nở rộ. Hơn nữa, việc phát triển phần cứng liên quan đến ZKP cũng đang tiến triển nhanh chóng, bao gồm các chip được tối ưu hóa đặc biệt cho ZKP.
Những tiến bộ này cho thấy, công nghệ chứng minh không có kiến thức (zk-SNARK) không chỉ là một bước đột phá quan trọng trong lĩnh vực mật mã, mà còn là động lực chính để hiện thực hóa các ứng dụng công nghệ Blockchain rộng rãi hơn. Do đó, bài viết này nhằm mục đích hệ thống hóa các kiến thức liên quan đến ZKP, nhằm hỗ trợ cho các quyết định đầu tư trong tương lai. Chúng tôi đã tổng hợp và xem xét các tài liệu nghiên cứu học thuật cốt lõi và thông tin về các dự án hàng đầu liên quan đến ZKP, cung cấp một nền tảng vững chắc cho việc viết bài này.
Một, kiến thức cơ bản về zk-SNARK
1. Tổng quan
Năm 1985, Goldwasser, Micali và Rackoff lần đầu tiên đề xuất khái niệm chứng minh không kiến thức (ZKP) và chứng minh kiến thức tương tác (IZK). Họ định nghĩa "kiến thức" là "đầu ra không thể tính toán được", tức là kiến thức phải là đầu ra của một hàm phức tạp, thường có thể hiểu là vấn đề NP. Hệ thống ZKP có ba đặc tính cơ bản:
Tính đầy đủ: Nếu lập luận là đúng, người chứng minh trung thực có thể thuyết phục người xác minh trung thực về thực tế này.
Độ tin cậy: Nếu người chứng minh không biết nội dung tuyên bố, anh ta chỉ có thể lừa dối người xác minh với xác suất rất nhỏ.
Tính không biết: Sau khi quá trình chứng minh hoàn tất, người xác minh chỉ nhận được thông tin "người chứng minh sở hữu kiến thức này", mà không thể nhận được bất kỳ nội dung bổ sung nào.
2. zk-SNARK ví dụ
Để hiểu rõ hơn về ZKP và các thuộc tính của nó, dưới đây là một ví dụ về việc xác minh người chứng minh có sở hữu một số thông tin bí mật hay không, được chia thành ba giai đoạn: thiết lập, thách thức và phản hồi:
Bước đầu tiên: Cài đặt
Người chứng minh chọn hai số nguyên tố lớn p và q, tính n=p*q. Chọn số nguyên ngẫu nhiên r, tính x=r^2 mod n, và gửi cho người xác minh.
Bước hai: Thách thức
Người xác thực ngẫu nhiên chọn một vị trí a(0 hoặc 1), gửi cho người chứng minh.
Bước ba: Phản hồi
Dựa trên giá trị của a, người chứng minh tính toán và gửi phản hồi:
Nếu a=0, gửi r
Nếu a=1, tính toán và gửi y=r*s mod n
Các xác thực viên thực hiện việc xác minh dựa trên phản hồi nhận được. Quá trình này có thể được lặp lại nhiều lần để giảm xác suất mà người chứng minh vượt qua xác minh thông qua việc đoán.
Hai, chứng minh không tương tác zk-SNARK
1. Bối cảnh
ZKP truyền thống thường cần nhiều vòng tương tác để hoàn thành xác thực. Tuy nhiên, trong một số tình huống, như giao dịch ngay lập tức hoặc bỏ phiếu, thường không thể thực hiện nhiều vòng tương tác, đặc biệt trong các ứng dụng Blockchain, chức năng xác thực ngoại tuyến trở nên đặc biệt quan trọng.
2. Sự xuất hiện của NIZK
Năm 1988, Blum, Feldman và Micali lần đầu tiên đề xuất khái niệm chứng minh không tương tác không biết (NIZK)(, chứng minh rằng trong trường hợp không cần nhiều vòng tương tác, người chứng minh và người xác thực vẫn có thể hoàn thành quá trình xác thực. NIZK có thể được chia thành ba giai đoạn: thiết lập, tính toán và xác thực.
)# 3. Biến đổi Fiat-Shamir
Biến đổi Fiat-Shamir là một phương pháp để chuyển đổi ZKP tương tác thành phi tương tác. Phương pháp này giảm số lần tương tác bằng cách giới thiệu hàm băm và dựa vào giả thuyết an toàn để đảm bảo tính xác thực của chứng minh và đặc tính khó giả mạo của nó.
4. Jens Groth và nghiên cứu của ông
Nghiên cứu của Jens Groth đã thúc đẩy lớn việc ứng dụng ZKP trong mật mã và công nghệ Blockchain. Ông đã đề xuất hệ thống NIZK hoàn hảo đầu tiên áp dụng cho bất kỳ ngôn ngữ NP nào và thiết kế hệ thống NIZK đơn giản và hiệu quả, giảm đáng kể kích thước CRS và chứng minh.
5. Nghiên cứu khác
Các nghiên cứu khác bao gồm phương án mã hóa khóa công khai được phát triển bởi Cramer và Shoup sử dụng hàm băm tổng quát, phương pháp cải tiến biến đổi Fiat-Shamir do Damgård và các cộng sự đề xuất, cũng như khái niệm "độ tin cậy có thể quy trách nhiệm yếu" do Ventre và Visconti đưa ra.
Ba, Chứng minh không có kiến thức dựa trên mạch
1. Bối cảnh
Trong việc xử lý các tác vụ tính toán yêu cầu khả năng song song cao và loại tính toán cụ thể, mô hình máy Turing truyền thống thể hiện một số hạn chế nhất định. Ngược lại, mô hình mạch với những lợi thế cấu trúc tính toán độc đáo của nó, phù hợp hơn cho một số tác vụ xử lý mật mã cụ thể.
2. Khái niệm và đặc điểm cơ bản của mô hình mạch điện
Mô hình mạch điện chủ yếu được chia thành hai loại lớn:
Mạch số học: Chủ yếu được tạo thành từ các cổng cộng và nhân, dùng để xử lý các phần tử trên trường hữu hạn.
Mạch logic: được cấu thành từ các cổng logic cơ bản như cổng AND, cổng OR, cổng NOT, dùng để xử lý phép toán Boolean.
3. Thiết kế mạch và ứng dụng trong zk-SNARK
Trong hệ thống ZKP, quá trình thiết kế mạch liên quan đến việc biểu diễn vấn đề cần chứng minh dưới dạng mạch và đảm bảo độ chính xác của kết quả tính toán thông qua các ràng buộc đa thức. Quá trình này bao gồm biểu diễn vấn đề, tối ưu hóa mạch, chuyển đổi thành biểu diễn đa thức, tạo chuỗi tham chiếu công cộng ###CRS( và tạo ra cùng với xác minh chứng.
)# 4. Các khuyết điểm và thách thức tiềm tàng
Các thách thức chính mà ZKP dựa trên mạch phải đối mặt bao gồm độ phức tạp và quy mô của mạch, độ khó trong tối ưu hóa, khả năng thích ứng với các nhiệm vụ tính toán cụ thể, độ khó trong việc thực hiện thuật toán mã hóa và tiêu tốn tài nguyên. Các giải pháp bao gồm công nghệ nén mạch, thiết kế mô-đun và tăng tốc phần cứng.
Bốn, mô hình zk-SNARK
1. Bối cảnh
Tính khả dụng của ZKP dựa trên mạch điện khá kém, cần phát triển mô hình và thuật toán mới cho các vấn đề cụ thể. Hiện có nhiều trình biên dịch ngôn ngữ cấp cao và công cụ tổ hợp mạch điện cấp thấp được sử dụng để tạo và thiết kế thuật toán.
2. Mô hình thuật toán phổ biến
Các mô hình ZKP chính bao gồm:
mô hình zk-SNARK
Mô hình của Ben-Sasson
Mô hình Pinocchio
Mô hình Bulletproofs
Mô hình Ligero
3. Giải pháp dựa trên PCP tuyến tính và vấn đề logarit rời rạc
Các giải pháp loại này bao gồm:
Mô hình Groth16
Mô hình Sonic
Mô hình PLONK
Mô hình Marlin
Mô hình SLONK
Mô hình SuperSonic
4. Giải pháp dựa trên chứng minh của người bình thường
Mô hình Hyrax
Mô hình Libra
Mô hình Spartan
5. Chứng minh có thể kiểm tra dựa trên xác suất ### PCP ( zk-SNARK
Mô hình STARK
Mô hình Aurora
Mô hình Aurora ngắn gọn
Mô hình Fractal
)# 6. Phân loại giai đoạn thiết lập của việc xây dựng chứng minh tổng quát CPC###
Thế hệ đầu tiên ( G1): Mỗi mạch cần có cấu hình tin cậy riêng.
Thế hệ thứ hai (G2): Thiết lập một lần cho tất cả các mạch.
Thế hệ thứ ba (G3): Hệ thống chứng minh không cần thiết lập tin cậy.
( Năm, Tổng quan và phát triển của máy ảo zk-SNARK
)# 1. Bối cảnh
ZKVM là một máy ảo tập trung vào ZKP, mở rộng chức năng của VM truyền thống, có thể giảm độ khó phát triển mạch ZKP một cách tổng quát, có khả năng ngay lập tức tạo chứng nhận cho bất kỳ ứng dụng hoặc tính toán nào.
2. Phân loại ZKVM hiện có
Chủ yếu được chia thành ba loại:
Loại ZKVM chính: như RISCZero, PolygonMiden, zkWASM, v.v.
ZKVM tương đương EVM: như dự án zkEVM.
Tối ưu hóa ZKVM bằng chứng không kiến thức: như Cairo-VM, Valida, TinyRAM, v.v.
3. Mô hình phía trước và phía sau
Hệ thống ZKP thường được chia thành hai phần: front-end và back-end. Front-end chủ yếu sử dụng ngôn ngữ cấp thấp để biểu diễn ngôn ngữ cấp cao, trong khi back-end là hệ thống chứng minh mật mã, chuyển đổi các mạch được mô tả bằng ngôn ngữ cấp thấp được xây dựng bởi front-end thành việc tạo ra chứng minh và xác minh tính chính xác.
4. Ưu và nhược điểm của mô hình ZKVM
Ưu điểm bao gồm việc sử dụng ISA hiện có, một mạch hỗ trợ nhiều chương trình, mạch có cấu trúc lặp lại, v.v. Nhược điểm bao gồm chi phí do tính phổ quát, hoạt động chi phí cao, chi phí chứng minh cao, v.v.
Sáu, Tổng quan và phát triển của zk-SNARK Ethereum Virtual Machine
1. Bối cảnh
ZKEVM được thiết kế đặc biệt cho Ethereum, chủ yếu được sử dụng để xác minh tính chính xác của việc thực thi hợp đồng thông minh, đồng thời bảo vệ quyền riêng tư giao dịch. Các giải pháp ZKEVM phổ biến bao gồm STARKWARE, ZkSync, Polygen-Hermez, Scroll, v.v.
2. Cách hoạt động của ZKEVM
Quy trình làm việc của ZKEVM bao gồm các bước xử lý chương trình nút, tạo chứng minh ZK, tổng hợp chứng minh, gửi đến hợp đồng L1.
3. Quy trình thực hiện ZKEVM
Quy trình thực hiện bao gồm các bước lấy dữ liệu, xử lý dữ liệu, tạo chứng minh, chứng minh đệ quy và nộp chứng minh.
4. Đặc điểm của ZKEVM
Các đặc điểm chính của ZKEVM bao gồm nâng cao khả năng xử lý giao dịch, bảo vệ quyền riêng tư, xác thực hiệu quả, v.v.
Bảy, Tổng quan và phát triển giải pháp mạng hai lớp zk-SNARK
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.
12 thích
Phần thưởng
12
6
Chia sẻ
Bình luận
0/400
BearMarketSage
· 07-12 08:12
Có snark thì là mạnh nhất.
Xem bản gốcTrả lời0
RektRecorder
· 07-12 08:12
zkvm khởi động lại, bạn có đánh giá tốt không?
Xem bản gốcTrả lời0
GasFeeCry
· 07-12 08:09
zksnark YYDS gặp bài báo quý
Xem bản gốcTrả lời0
UnluckyValidator
· 07-12 08:03
Chỉ nhìn vào đầu đã thấy lớn... Những người đã làm nút xác minh đều hiểu.
Triển khai và phát triển toàn diện công nghệ zk-SNARK trong lĩnh vực Blockchain
Công nghệ zk-SNARK trong lĩnh vực Blockchain: Tổng quan tài liệu toàn diện
Tóm tắt
zk-SNARK ( ZKP ) công nghệ như một đổi mới quan trọng trong lĩnh vực Blockchain, đóng vai trò then chốt trong việc nâng cao bảo vệ quyền riêng tư và khả năng mở rộng. Bài viết này cung cấp một cái nhìn tổng quan hệ thống về lịch sử nghiên cứu và những tiến bộ mới nhất của ZKP trong gần bốn mươi năm qua.
Trước tiên, bài viết giới thiệu khái niệm cơ bản và bối cảnh lịch sử của ZKP, tập trung phân tích công nghệ ZKP dựa trên mạch, bao gồm thiết kế và ứng dụng của các mô hình như zkSNARK, Pinocchio, Bulletproofs. Về môi trường tính toán, bài viết thảo luận về cách ZKVM và ZKEVM nâng cao khả năng xử lý giao dịch và hiệu suất xác minh. Bài viết cũng giới thiệu cơ chế hoạt động và phương pháp tối ưu của ZK Rollup như một giải pháp mở rộng Layer 2, cũng như những tiến bộ mới nhất về tăng tốc phần cứng, giải pháp hỗn hợp và ZK EVM chuyên dụng.
Cuối cùng, đã nhìn nhận các khái niệm mới nổi như ZKCoprocessor, ZKML, ZKThreads, ZK Sharding và ZK StateChannels, thảo luận về tiềm năng của chúng trong khả năng mở rộng, tính tương tác và bảo mật trên Blockchain.
Bằng cách phân tích các công nghệ và xu hướng phát triển này, bài viết cung cấp một cái nhìn toàn diện để hiểu và áp dụng công nghệ ZKP, cho thấy tiềm năng to lớn của nó trong việc nâng cao hiệu suất và độ an toàn của hệ thống Blockchain, cung cấp tham khảo quan trọng cho các quyết định đầu tư trong tương lai.
Mục lục
Lời giới thiệu
Một, kiến thức cơ bản về zk-SNARK
Hai, zk-SNARK không tương tác
Ba, chứng minh không biết dựa trên mạch điện
Bốn, mô hình zk-SNARK
Năm, Tổng quan và Phát triển của Máy Ảo Không Kiến Thức
Sáu, Tổng quan và phát triển của máy ảo Ethereum zk-SNARK.
Bảy, Tổng quan và phát triển về giải pháp mạng hai lớp zk-SNARK
Tám, hướng phát triển tương lai của zk-SNARK.
Chín, Kết luận
Tài liệu tham khảo
Lời mở đầu
Với sự ra đời của thời đại Web3, các ứng dụng blockchain (DApps) phát triển nhanh chóng, hàng ngày có rất nhiều ứng dụng mới xuất hiện. Trong những năm gần đây, các nền tảng blockchain hàng ngày tiếp nhận hàng triệu hoạt động của người dùng, xử lý hàng tỷ giao dịch. Khối lượng dữ liệu khổng lồ được tạo ra từ những giao dịch này thường chứa thông tin cá nhân nhạy cảm, chẳng hạn như danh tính người dùng, số tiền giao dịch, địa chỉ tài khoản và số dư, v.v. Do tính mở và minh bạch của blockchain, những dữ liệu được lưu trữ này đều có thể nhìn thấy đối với tất cả mọi người, do đó đã phát sinh nhiều vấn đề về bảo mật và quyền riêng tư.
Hiện tại có một số công nghệ mã hóa có thể ứng phó với những thách thức này, bao gồm mã hóa đồng tính, chữ ký vòng, tính toán đa bên an toàn và zk-SNARK. Trong số đó, zk-SNARK là một giải pháp toàn diện hơn, cho phép xác minh tính đúng đắn của một số tuyên bố mà không tiết lộ bất kỳ dữ liệu trung gian nào. Thông qua ZKP, người xác minh có thể xác minh xem người chứng minh có đủ số tiền giao dịch mà không tiết lộ bất kỳ dữ liệu giao dịch riêng tư nào.
Tính năng ZKP này khiến nó đảm nhận vai trò cốt lõi trong giao dịch Blockchain và ứng dụng tiền điện tử, đặc biệt trong việc bảo vệ quyền riêng tư và mở rộng mạng, khiến nó không chỉ trở thành tâm điểm nghiên cứu học thuật mà còn là lĩnh vực ứng dụng ngành và đầu tư mạo hiểm. Với sự xuất hiện của các dự án mạng dựa trên ZKP như ZkSync, StarkNet, Mina, sự đổi mới thuật toán liên quan đến ZKP đang nở rộ. Hơn nữa, việc phát triển phần cứng liên quan đến ZKP cũng đang tiến triển nhanh chóng, bao gồm các chip được tối ưu hóa đặc biệt cho ZKP.
Những tiến bộ này cho thấy, công nghệ chứng minh không có kiến thức (zk-SNARK) không chỉ là một bước đột phá quan trọng trong lĩnh vực mật mã, mà còn là động lực chính để hiện thực hóa các ứng dụng công nghệ Blockchain rộng rãi hơn. Do đó, bài viết này nhằm mục đích hệ thống hóa các kiến thức liên quan đến ZKP, nhằm hỗ trợ cho các quyết định đầu tư trong tương lai. Chúng tôi đã tổng hợp và xem xét các tài liệu nghiên cứu học thuật cốt lõi và thông tin về các dự án hàng đầu liên quan đến ZKP, cung cấp một nền tảng vững chắc cho việc viết bài này.
Một, kiến thức cơ bản về zk-SNARK
1. Tổng quan
Năm 1985, Goldwasser, Micali và Rackoff lần đầu tiên đề xuất khái niệm chứng minh không kiến thức (ZKP) và chứng minh kiến thức tương tác (IZK). Họ định nghĩa "kiến thức" là "đầu ra không thể tính toán được", tức là kiến thức phải là đầu ra của một hàm phức tạp, thường có thể hiểu là vấn đề NP. Hệ thống ZKP có ba đặc tính cơ bản:
Tính đầy đủ: Nếu lập luận là đúng, người chứng minh trung thực có thể thuyết phục người xác minh trung thực về thực tế này.
Độ tin cậy: Nếu người chứng minh không biết nội dung tuyên bố, anh ta chỉ có thể lừa dối người xác minh với xác suất rất nhỏ.
Tính không biết: Sau khi quá trình chứng minh hoàn tất, người xác minh chỉ nhận được thông tin "người chứng minh sở hữu kiến thức này", mà không thể nhận được bất kỳ nội dung bổ sung nào.
2. zk-SNARK ví dụ
Để hiểu rõ hơn về ZKP và các thuộc tính của nó, dưới đây là một ví dụ về việc xác minh người chứng minh có sở hữu một số thông tin bí mật hay không, được chia thành ba giai đoạn: thiết lập, thách thức và phản hồi:
Bước đầu tiên: Cài đặt Người chứng minh chọn hai số nguyên tố lớn p và q, tính n=p*q. Chọn số nguyên ngẫu nhiên r, tính x=r^2 mod n, và gửi cho người xác minh.
Bước hai: Thách thức Người xác thực ngẫu nhiên chọn một vị trí a(0 hoặc 1), gửi cho người chứng minh.
Bước ba: Phản hồi Dựa trên giá trị của a, người chứng minh tính toán và gửi phản hồi: Nếu a=0, gửi r Nếu a=1, tính toán và gửi y=r*s mod n
Các xác thực viên thực hiện việc xác minh dựa trên phản hồi nhận được. Quá trình này có thể được lặp lại nhiều lần để giảm xác suất mà người chứng minh vượt qua xác minh thông qua việc đoán.
Hai, chứng minh không tương tác zk-SNARK
1. Bối cảnh
ZKP truyền thống thường cần nhiều vòng tương tác để hoàn thành xác thực. Tuy nhiên, trong một số tình huống, như giao dịch ngay lập tức hoặc bỏ phiếu, thường không thể thực hiện nhiều vòng tương tác, đặc biệt trong các ứng dụng Blockchain, chức năng xác thực ngoại tuyến trở nên đặc biệt quan trọng.
2. Sự xuất hiện của NIZK
Năm 1988, Blum, Feldman và Micali lần đầu tiên đề xuất khái niệm chứng minh không tương tác không biết (NIZK)(, chứng minh rằng trong trường hợp không cần nhiều vòng tương tác, người chứng minh và người xác thực vẫn có thể hoàn thành quá trình xác thực. NIZK có thể được chia thành ba giai đoạn: thiết lập, tính toán và xác thực.
)# 3. Biến đổi Fiat-Shamir
Biến đổi Fiat-Shamir là một phương pháp để chuyển đổi ZKP tương tác thành phi tương tác. Phương pháp này giảm số lần tương tác bằng cách giới thiệu hàm băm và dựa vào giả thuyết an toàn để đảm bảo tính xác thực của chứng minh và đặc tính khó giả mạo của nó.
4. Jens Groth và nghiên cứu của ông
Nghiên cứu của Jens Groth đã thúc đẩy lớn việc ứng dụng ZKP trong mật mã và công nghệ Blockchain. Ông đã đề xuất hệ thống NIZK hoàn hảo đầu tiên áp dụng cho bất kỳ ngôn ngữ NP nào và thiết kế hệ thống NIZK đơn giản và hiệu quả, giảm đáng kể kích thước CRS và chứng minh.
5. Nghiên cứu khác
Các nghiên cứu khác bao gồm phương án mã hóa khóa công khai được phát triển bởi Cramer và Shoup sử dụng hàm băm tổng quát, phương pháp cải tiến biến đổi Fiat-Shamir do Damgård và các cộng sự đề xuất, cũng như khái niệm "độ tin cậy có thể quy trách nhiệm yếu" do Ventre và Visconti đưa ra.
Ba, Chứng minh không có kiến thức dựa trên mạch
1. Bối cảnh
Trong việc xử lý các tác vụ tính toán yêu cầu khả năng song song cao và loại tính toán cụ thể, mô hình máy Turing truyền thống thể hiện một số hạn chế nhất định. Ngược lại, mô hình mạch với những lợi thế cấu trúc tính toán độc đáo của nó, phù hợp hơn cho một số tác vụ xử lý mật mã cụ thể.
2. Khái niệm và đặc điểm cơ bản của mô hình mạch điện
Mô hình mạch điện chủ yếu được chia thành hai loại lớn:
3. Thiết kế mạch và ứng dụng trong zk-SNARK
Trong hệ thống ZKP, quá trình thiết kế mạch liên quan đến việc biểu diễn vấn đề cần chứng minh dưới dạng mạch và đảm bảo độ chính xác của kết quả tính toán thông qua các ràng buộc đa thức. Quá trình này bao gồm biểu diễn vấn đề, tối ưu hóa mạch, chuyển đổi thành biểu diễn đa thức, tạo chuỗi tham chiếu công cộng ###CRS( và tạo ra cùng với xác minh chứng.
)# 4. Các khuyết điểm và thách thức tiềm tàng
Các thách thức chính mà ZKP dựa trên mạch phải đối mặt bao gồm độ phức tạp và quy mô của mạch, độ khó trong tối ưu hóa, khả năng thích ứng với các nhiệm vụ tính toán cụ thể, độ khó trong việc thực hiện thuật toán mã hóa và tiêu tốn tài nguyên. Các giải pháp bao gồm công nghệ nén mạch, thiết kế mô-đun và tăng tốc phần cứng.
Bốn, mô hình zk-SNARK
1. Bối cảnh
Tính khả dụng của ZKP dựa trên mạch điện khá kém, cần phát triển mô hình và thuật toán mới cho các vấn đề cụ thể. Hiện có nhiều trình biên dịch ngôn ngữ cấp cao và công cụ tổ hợp mạch điện cấp thấp được sử dụng để tạo và thiết kế thuật toán.
2. Mô hình thuật toán phổ biến
Các mô hình ZKP chính bao gồm:
3. Giải pháp dựa trên PCP tuyến tính và vấn đề logarit rời rạc
Các giải pháp loại này bao gồm:
4. Giải pháp dựa trên chứng minh của người bình thường
5. Chứng minh có thể kiểm tra dựa trên xác suất ### PCP ( zk-SNARK
)# 6. Phân loại giai đoạn thiết lập của việc xây dựng chứng minh tổng quát CPC###
( Năm, Tổng quan và phát triển của máy ảo zk-SNARK
)# 1. Bối cảnh
ZKVM là một máy ảo tập trung vào ZKP, mở rộng chức năng của VM truyền thống, có thể giảm độ khó phát triển mạch ZKP một cách tổng quát, có khả năng ngay lập tức tạo chứng nhận cho bất kỳ ứng dụng hoặc tính toán nào.
2. Phân loại ZKVM hiện có
Chủ yếu được chia thành ba loại:
3. Mô hình phía trước và phía sau
Hệ thống ZKP thường được chia thành hai phần: front-end và back-end. Front-end chủ yếu sử dụng ngôn ngữ cấp thấp để biểu diễn ngôn ngữ cấp cao, trong khi back-end là hệ thống chứng minh mật mã, chuyển đổi các mạch được mô tả bằng ngôn ngữ cấp thấp được xây dựng bởi front-end thành việc tạo ra chứng minh và xác minh tính chính xác.
4. Ưu và nhược điểm của mô hình ZKVM
Ưu điểm bao gồm việc sử dụng ISA hiện có, một mạch hỗ trợ nhiều chương trình, mạch có cấu trúc lặp lại, v.v. Nhược điểm bao gồm chi phí do tính phổ quát, hoạt động chi phí cao, chi phí chứng minh cao, v.v.
Sáu, Tổng quan và phát triển của zk-SNARK Ethereum Virtual Machine
1. Bối cảnh
ZKEVM được thiết kế đặc biệt cho Ethereum, chủ yếu được sử dụng để xác minh tính chính xác của việc thực thi hợp đồng thông minh, đồng thời bảo vệ quyền riêng tư giao dịch. Các giải pháp ZKEVM phổ biến bao gồm STARKWARE, ZkSync, Polygen-Hermez, Scroll, v.v.
2. Cách hoạt động của ZKEVM
Quy trình làm việc của ZKEVM bao gồm các bước xử lý chương trình nút, tạo chứng minh ZK, tổng hợp chứng minh, gửi đến hợp đồng L1.
3. Quy trình thực hiện ZKEVM
Quy trình thực hiện bao gồm các bước lấy dữ liệu, xử lý dữ liệu, tạo chứng minh, chứng minh đệ quy và nộp chứng minh.
4. Đặc điểm của ZKEVM
Các đặc điểm chính của ZKEVM bao gồm nâng cao khả năng xử lý giao dịch, bảo vệ quyền riêng tư, xác thực hiệu quả, v.v.
Bảy, Tổng quan và phát triển giải pháp mạng hai lớp zk-SNARK
1. Bối cảnh
ZK Rollup là một loại khối