Do vì bạn không cung cấp bất kỳ danh sách hình ảnh nào, tôi không thể chèn hình ảnh vào nội dung chính. Dưới đây là nội dung chính gốc, không có bất kỳ sửa đổi nào:
Nghiên cứu phát triển và ứng dụng công nghệ bằng chứng không kiến thức trong lĩnh vực blockchain
Tóm tắt
Chứng minh không kiến thức ( ZKP ) được coi là một trong những đổi mới quan trọng nhất trong lĩnh vực blockchain, cũng là một điểm nóng của đầu tư mạo hiểm. Bài viết này cung cấp một cái nhìn tổng quát hệ thống về lịch sử gần bốn mươi năm và những tiến bộ mới nhất của ZKP.
Đầu tiên, giới thiệu khái niệm cơ bản và bối cảnh lịch sử của ZKP. Phân tích tập trung vào công nghệ ZKP dựa trên mạch, bao gồm thiết kế, ứng dụng và tối ưu hóa của các mô hình như zkSNARK, Ben-Sasson, Pinocchio, Bulletproofs và Ligero. Về mặt môi trường tính toán, giới thiệu ZKVM và ZKEVM, thảo luận về cách chúng nâng cao khả năng xử lý giao dịch, bảo vệ quyền riêng tư và cải thiện hiệu quả xác minh. Cũng giới thiệu cơ chế hoạt động và phương pháp tối ưu hóa của ZK Rollup như là giải pháp mở rộng Layer 2, cũng như những tiến bộ mới nhất trong 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, đã xem xét 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 blockchain, khả năng tương tác và bảo vệ quyền riêng tư.
Bằng cách phân tích các công nghệ và xu hướng 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 ZKP, cho thấy tiềm năng 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 nói đầu
Một, kiến thức cơ bản về chứng minh không kiến thức
Tóm tắt
Ví dụ về Chứng minh không kiến thức
Hai, Chứng minh không tương tác bằng kiến thức không
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 kiến thức 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 điện
Thiết kế và ứng dụng mạch trong bằng chứng không kiến thức
Những khiếm khuyết và thách thức tiềm tàng
Bốn, mô hình chứng minh không biết
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 logarithm 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 không có kiến thức có thể kiểm tra dựa trên xác suất
Phân loại giai đoạn thiết lập dựa trên CPC
V. Tổng quan và phát triển của máy ảo không biết
Bối cảnh
Phân loại ZKVM hiện có
Mô hình phía trước và phía sau
Ưu điểm và nhược điểm của mô hình ZKVM
Sáu, Tổng quan và phát triển của Máy ảo Ethereum không biết.
Bối cảnh
Nguyên lý hoạt động của ZKEVM
Quy trình thực hiện ZKEVM
Đặc điểm của ZKEVM
Bảy, Tóm tắt và phát triển giải pháp mạng lớp hai không kiến thức.
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
Hướng phát triển tương lai của bằng chứng không kiến thức
Thúc đẩy 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 liên quan đế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 nói đầu
Với sự xuất hiện của thời đại Web3, ứng dụng blockchain (DApps) đang phát triển nhanh chóng, xử lý hàng tỷ giao dịch mỗi ngày. Khối lượng dữ liệu lớn phát sinh từ những giao dịch này thường chứa thông tin cá nhân nhạy cảm. Do tính mở và minh bạch của blockchain, những dữ liệu này đều có sẵn cho mọi người, gây ra nhiều vấn đề về an ninh và quyền riêng tư.
Hiện tại có một số công nghệ mã hóa có thể đối phó với những thách thức này, bao gồm mã hóa đồng hình, chữ ký vòng, tính toán an toàn nhiều bên và chứng minh không kiến thức. Trong đó, chứng minh không kiến thức 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 đóng vai trò then chốt trong các 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 lưới, trở thành trọng tâm nghiên cứu học thuật và là lĩnh vực đầu tư mạo hiểm quan trọng. Với sự phát triển của các dự án như ZkSync, StarkNet, những đổi mới thuật toán liên quan đến ZKP liên tục xuất hiện, theo báo cáo, gần như mỗi tuần đều có thuật toán mới ra đời. 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 triển này cho thấy, ZKP không chỉ là một bước đột phá quan trọng trong lĩnh vực mật mã học, mà còn là động lực chính để thực hiện các ứng dụng công nghệ blockchain rộng rãi hơn. Do đó, chúng tôi quyết định hệ thống hóa các kiến thức liên quan đến ZKP để hỗ trợ tốt hơn cho các quyết định đầu tư trong tương lai. Bài viết này tổng hợp xem xét các tài liệu từ các bài báo học thuật cốt lõi liên quan đến ZKP và thông tin từ các dự án hàng đầu, cung cấp một nền tảng vững chắc cho việc viết.
I. Kiến thức cơ bản về chứng minh không biết
1. Tóm tắt
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", 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. Quá trình giải quyết vấn đề NP phức tạp, nhưng quá trình xác minh đơn giản, rất phù hợp để sử dụng cho xác minh ZKP.
Goldwasser và các cộng sự đã giới thiệu khái niệm "độ phức tạp của kiến thức" để định lượng lượng kiến thức mà người chứng minh tiết lộ cho người xác minh. Họ cũng đã đề xuất hệ thống chứng minh tương tác (IPS), trong đó người chứng minh và người xác minh tương tác qua nhiều vòng để chứng minh tính xác thực của một tuyên bố nào đó.
Ba đặc tính cơ bản của ZKP bao gồm:
Tính hoàn thiện: 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ề sự thật này.
Độ tin cậy: Nếu người chứng minh không biết nội dung tuyên bố, họ chỉ có thể lừa dối người xác minh với xác suất không đáng kể.
Tính không biết: Sau khi quá trình chứng minh hoàn thành, người xác minh chỉ nhận được thông tin "chứng minh viên có kiến thức này", mà không thể nhận được bất kỳ nội dung bổ sung nào.
2. Ví dụ về chứng minh không kiến thức
Dưới đây là một ví dụ về việc xác minh xem người chứng thực có sở hữu một số thông tin riêng 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
Chứng nhân tạo ra bằng chứng, chứng minh rằng anh ta biết số bí mật s, nhưng không hiển thị trực tiếp s.
Chọn hai số nguyên tố lớn p và q, tính N = pq.
Tính v=s^2 mod N, gửi v cho người xác thực.
Chọn ngẫu nhiên một số nguyên r, tính x=r^2 mod N và gửi cho người xác thực.
Bước hai: Thách thức
Người xác thực chọn ngẫu nhiê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 vào giá trị của a, người chứng minh sẽ phản hồi:
Nếu a=0, người chứng minh gửi y=r.
Nếu a=1, người chứng minh tính toán y=rs mod N và gửi đi.
Người xác thực xác minh y nhận được để xem y^2 mod N có bằng xa^v mod N hay không. Nếu phương trình đúng, người xác thực chấp nhận chứng minh này.
Ví dụ này chứng minh tính toàn vẹn, độ tin cậy và tính không biết của hệ thống ZKP.
Hai, Chứng minh không tương tác không kiến thức
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, chẳng hạn như giao dịch tức thì hoặc bỏ phiếu, thường không có cơ hội để 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 minh ngoại tuyến trở nên đặc biệt quan trọng.
2. Sự đề xuất 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 mà 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.
Giai đoạn thiết lập sử dụng hàm tính toán, chuyển đổi các tham số bảo mật thành kiến thức công khai, thường được mã hóa trong một chuỗi tham chiếu chung )CRS(. Giai đoạn tính toán áp dụng hàm tính toán, khóa đầu vào và khóa chứng minh, xuất ra kết quả tính toán và chứng minh. Trong giai đoạn xác minh, xác minh tính hợp lệ của chứng minh thông qua khóa xác minh.
) 3. Biến đổi Fiat-Shamir
Phép 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 thông qua việc giới thiệu hàm băm để giảm số lần tương tác, 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ó. Mặc dù giao thức này được coi là an toàn trong mô hình máy tiên tri ngẫu nhiên, nhưng trong ứng dụng thực tế có thể gặp phải những thách thức.
4. Jens Groth và nghiên cứu của ông
Nghiên cứu của Jens Groth đã thúc đẩy mạnh mẽ việc ứng dụng ZKP trong mật mã học 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, thiết kế một hệ thống NIZK đơn giản và hiệu quả, giảm đáng kể CRS và kích thước của chứng minh. Groth cũng đã khám phá cách kết hợp mã hóa đồng nhất với NIZK, đề xuất một giải pháp giảm chi phí truyền thông.
5. Nghiên cứu khác
Trong các tình huống ứng dụng cụ thể, NIZK của các xác thực viên cụ thể thể hiện giá trị thực tiễn độc đáo. Ví dụ, phương pháp mã hóa khóa công khai được phát triển bởi Cramer và Shoup đã chống lại hiệu quả các cuộc tấn công lựa chọn văn bản. Damgård và những người khác đã đề xuất một phương pháp cải tiến cho phép chuyển đổi Fiat-Shamir mới, cho phép thực hiện NIZK mà không cần tương tác trực tiếp. Khái niệm "độ tin cậy có thể quy trách nhiệm yếu" do Ventre và Visconti đề xuất đã làm tăng độ khó trong việc lừa đảo. Biến đổi Unruh là một giải pháp thay thế cho chuyển đổi Fiat-Shamir, cung cấp NIZK an toàn có thể chứng minh chống lại đối thủ lượng tử trong mô hình oracle ngẫu nhiên.
Ba, Chứng minh không biết dựa trên mạch điện
1. Bối cảnh
Trong lĩnh vực mật mã, đặc biệt là khi xử lý các tác vụ tính toán cần sự song song cao và các loại tác vụ tính toán cụ thể, mô hình máy Turing truyền thống thể hiện một số giới hạn nhất định. Ngược lại, mô hình mạch với lợi thế cấu trúc tính toán độc đáo của nó, phù hợp hơn với một số tác vụ xử lý mật mã cụ thể.
2. Khái niệm cơ bản và đặc điểm của mô hình mạch điện
Mô hình mạch điện chuyển đổi quá trình tính toán thành một loạt các cổng và dây nối, những cổng này thực hiện các phép toán logic hoặc số học cụ thể. 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ổng cộng và cổng nhân, được sử 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, được sử dụng để xử lý phép toán Boolean.
3. Thiết kế và ứng dụng mạch trong bằng chứng không kiến thức
Trong hệ thống ZKP, quá trình thiết kế mạch liên quan đến việc biểu đạt vấn đề cần chứng minh dưới dạng một mạch. Quá trình thiết kế thường tuân theo các bước sau:
Biểu diễn vấn đề: Chuyển đổi vấn đề cần chứng minh thành dạng mạch.
Tối ưu hóa mạch: Tối ưu hóa thiết kế mạch bằng các phương pháp kỹ thuật như hợp nhất cổng và gập hằng số.
Chuyển đổi thành biểu thức đa thức: Chuyển đổi mạch đã tối ưu hóa thành dạng đa thức.
Tạo chuỗi tham chiếu công cộng ###CRS(: Tạo CRS bao gồm khóa chứng minh và khóa xác minh.
Tạo chứng và xác minh: Người chứng tạo chứng dựa trên đầu vào riêng và CRS, người xác minh xác minh tính chính xác của chứng dựa trên mô tả mạch công khai và CRS.
) 4. Những thiếu sót và thách thức tiềm năng
Các thách thức mà ZKP dựa trên mạch điện phải đối mặt:
Độ phức tạp và quy mô của mạch: Các phép toán phức tạp yêu cầu mạch lớn, dẫn đến chi phí tính toán cho việc tạo ra và xác minh chứng minh tăng đáng kể.
Tối ưu hóa độ khó: Thiết kế và tối ưu hóa mạch điện hiệu quả cần kiến thức chuyên môn sâu.
Tính thích ứng của các nhiệm vụ tính toán cụ thể: Các nhiệm vụ tính toán khác nhau cần thiết kế mạch khác nhau, khó có thể áp dụng rộng rãi.
Độ khó thực hiện thuật toán mã hóa: Việc thực hiện các thuật toán mật mã phức tạp có thể cần nhiều cổng logic.
Tiêu thụ tài nguyên: Mạch quy mô lớn cần nhiều tài nguyên phần cứng, có thể gặp phải những hạn chế thực tế trong việc triển khai phần cứng.
Giải pháp và hướng cải tiến 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 Chứng minh Không biết
1. Bối cảnh
Tính linh hoạt của ZKP dựa trên mạch khá kém, cần phát triển các mô hình và thuật toán mới cho các vấn đề cụ thể. Hiện có nhiều công cụ biên dịch ngôn ngữ cao cấp và công cụ kết hợp mạch cấp thấp để thực hiện việc tạo ra mạch và thiết kế thuật toán, việc chuyển đổi các phép toán liên quan có thể được thực hiện thông qua các công cụ xây dựng mạch thủ công hoặc biên dịch tự động.
2. Mô hình thuật toán phổ biến
Mô hình zkSNARK: được đề xuất bởi Bitansky và các cộng sự, là viết tắt của "bằng chứng tri thức phi tương tác ngắn gọn không biết".
Mô hình Ben-Sasson: Một mô hình zkSNARK mới cho việc thực thi chương trình trên kiến trúc RISC của von Neumann.
Mô hình Pinocchio: một bộ tạo chứng minh không tương tác hoàn chỉnh, bao gồm trình biên dịch nâng cao.
Mô hình Bulletproofs: không cần thiết lập đáng tin cậy, và kích thước chứng minh tăng trưởng theo log theo kích thước giá trị chứng kiến.
Mô hình Ligero: một mô hình ZKP nhẹ, độ phức tạp giao tiếp tỷ lệ với căn bậc hai của kích thước mạch xác minh.
Trang này có thể chứa nội dung của bên thứ ba, được cung cấp chỉ nhằm mục đích thông tin (không phải là tuyên bố/bảo đảm) và không được coi là sự chứng thực cho quan điểm của Gate hoặc là lời khuyên về tài chính hoặc chuyên môn. Xem Tuyên bố từ chối trách nhiệm để biết chi tiết.
zk-SNARK: Sự phát triển và triển vọng ứng dụng của công nghệ đổi mới Blockchain
Do vì bạn không cung cấp bất kỳ danh sách hình ảnh nào, tôi không thể chèn hình ảnh vào nội dung chính. Dưới đây là nội dung chính gốc, không có bất kỳ sửa đổi nào:
Nghiên cứu phát triển và ứng dụng công nghệ bằng chứng không kiến thức trong lĩnh vực blockchain
Tóm tắt
Chứng minh không kiến thức ( ZKP ) được coi là một trong những đổi mới quan trọng nhất trong lĩnh vực blockchain, cũng là một điểm nóng của đầu tư mạo hiểm. Bài viết này cung cấp một cái nhìn tổng quát hệ thống về lịch sử gần bốn mươi năm và những tiến bộ mới nhất của ZKP.
Đầu tiên, giới thiệu khái niệm cơ bản và bối cảnh lịch sử của ZKP. Phân tích tập trung vào công nghệ ZKP dựa trên mạch, bao gồm thiết kế, ứng dụng và tối ưu hóa của các mô hình như zkSNARK, Ben-Sasson, Pinocchio, Bulletproofs và Ligero. Về mặt môi trường tính toán, giới thiệu ZKVM và ZKEVM, thảo luận về cách chúng nâng cao khả năng xử lý giao dịch, bảo vệ quyền riêng tư và cải thiện hiệu quả xác minh. Cũng giới thiệu cơ chế hoạt động và phương pháp tối ưu hóa của ZK Rollup như là giải pháp mở rộng Layer 2, cũng như những tiến bộ mới nhất trong 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, đã xem xét 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 blockchain, khả năng tương tác và bảo vệ quyền riêng tư.
Bằng cách phân tích các công nghệ và xu hướng 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 ZKP, cho thấy tiềm năng 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 nói đầu
Một, kiến thức cơ bản về chứng minh không kiến thức
Hai, Chứng minh không tương tác bằng kiến thức không
Ba, Chứng minh không kiến thức dựa trên mạch điện
Bốn, mô hình chứng minh không biết
V. Tổng quan và phát triển của máy ảo không biết
Sáu, Tổng quan và phát triển của Máy ảo Ethereum không biết.
Bảy, Tóm tắt và phát triển giải pháp mạng lớp hai không kiến thức.
Hướng phát triển tương lai của bằng chứng không kiến thức
Chín, Kết luận
Tài liệu tham khảo
Lời nói đầu
Với sự xuất hiện của thời đại Web3, ứng dụng blockchain (DApps) đang phát triển nhanh chóng, xử lý hàng tỷ giao dịch mỗi ngày. Khối lượng dữ liệu lớn phát sinh từ những giao dịch này thường chứa thông tin cá nhân nhạy cảm. Do tính mở và minh bạch của blockchain, những dữ liệu này đều có sẵn cho mọi người, gây ra nhiều vấn đề về an ninh và quyền riêng tư.
Hiện tại có một số công nghệ mã hóa có thể đối phó với những thách thức này, bao gồm mã hóa đồng hình, chữ ký vòng, tính toán an toàn nhiều bên và chứng minh không kiến thức. Trong đó, chứng minh không kiến thức 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 đóng vai trò then chốt trong các 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 lưới, trở thành trọng tâm nghiên cứu học thuật và là lĩnh vực đầu tư mạo hiểm quan trọng. Với sự phát triển của các dự án như ZkSync, StarkNet, những đổi mới thuật toán liên quan đến ZKP liên tục xuất hiện, theo báo cáo, gần như mỗi tuần đều có thuật toán mới ra đời. 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 triển này cho thấy, ZKP không chỉ là một bước đột phá quan trọng trong lĩnh vực mật mã học, mà còn là động lực chính để thực hiện các ứng dụng công nghệ blockchain rộng rãi hơn. Do đó, chúng tôi quyết định hệ thống hóa các kiến thức liên quan đến ZKP để hỗ trợ tốt hơn cho các quyết định đầu tư trong tương lai. Bài viết này tổng hợp xem xét các tài liệu từ các bài báo học thuật cốt lõi liên quan đến ZKP và thông tin từ các dự án hàng đầu, cung cấp một nền tảng vững chắc cho việc viết.
I. Kiến thức cơ bản về chứng minh không biết
1. Tóm tắt
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", 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. Quá trình giải quyết vấn đề NP phức tạp, nhưng quá trình xác minh đơn giản, rất phù hợp để sử dụng cho xác minh ZKP.
Goldwasser và các cộng sự đã giới thiệu khái niệm "độ phức tạp của kiến thức" để định lượng lượng kiến thức mà người chứng minh tiết lộ cho người xác minh. Họ cũng đã đề xuất hệ thống chứng minh tương tác (IPS), trong đó người chứng minh và người xác minh tương tác qua nhiều vòng để chứng minh tính xác thực của một tuyên bố nào đó.
Ba đặc tính cơ bản của ZKP bao gồm:
Tính hoàn thiện: 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ề sự thật này.
Độ tin cậy: Nếu người chứng minh không biết nội dung tuyên bố, họ chỉ có thể lừa dối người xác minh với xác suất không đáng kể.
Tính không biết: Sau khi quá trình chứng minh hoàn thành, người xác minh chỉ nhận được thông tin "chứng minh viên có kiến thức này", mà không thể nhận được bất kỳ nội dung bổ sung nào.
2. Ví dụ về chứng minh không kiến thức
Dưới đây là một ví dụ về việc xác minh xem người chứng thực có sở hữu một số thông tin riêng 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
Chứng nhân tạo ra bằng chứng, chứng minh rằng anh ta biết số bí mật s, nhưng không hiển thị trực tiếp s.
Chọn hai số nguyên tố lớn p và q, tính N = pq. Tính v=s^2 mod N, gửi v cho người xác thực. Chọn ngẫu nhiên một số nguyên r, tính x=r^2 mod N và gửi cho người xác thực.
Bước hai: Thách thức
Người xác thực chọn ngẫu nhiê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 vào giá trị của a, người chứng minh sẽ phản hồi:
Nếu a=0, người chứng minh gửi y=r. Nếu a=1, người chứng minh tính toán y=rs mod N và gửi đi.
Người xác thực xác minh y nhận được để xem y^2 mod N có bằng xa^v mod N hay không. Nếu phương trình đúng, người xác thực chấp nhận chứng minh này.
Ví dụ này chứng minh tính toàn vẹn, độ tin cậy và tính không biết của hệ thống ZKP.
Hai, Chứng minh không tương tác không kiến thức
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, chẳng hạn như giao dịch tức thì hoặc bỏ phiếu, thường không có cơ hội để 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 minh ngoại tuyến trở nên đặc biệt quan trọng.
2. Sự đề xuất 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 mà 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.
Giai đoạn thiết lập sử dụng hàm tính toán, chuyển đổi các tham số bảo mật thành kiến thức công khai, thường được mã hóa trong một chuỗi tham chiếu chung )CRS(. Giai đoạn tính toán áp dụng hàm tính toán, khóa đầu vào và khóa chứng minh, xuất ra kết quả tính toán và chứng minh. Trong giai đoạn xác minh, xác minh tính hợp lệ của chứng minh thông qua khóa xác minh.
) 3. Biến đổi Fiat-Shamir
Phép 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 thông qua việc giới thiệu hàm băm để giảm số lần tương tác, 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ó. Mặc dù giao thức này được coi là an toàn trong mô hình máy tiên tri ngẫu nhiên, nhưng trong ứng dụng thực tế có thể gặp phải những thách thức.
4. Jens Groth và nghiên cứu của ông
Nghiên cứu của Jens Groth đã thúc đẩy mạnh mẽ việc ứng dụng ZKP trong mật mã học 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, thiết kế một hệ thống NIZK đơn giản và hiệu quả, giảm đáng kể CRS và kích thước của chứng minh. Groth cũng đã khám phá cách kết hợp mã hóa đồng nhất với NIZK, đề xuất một giải pháp giảm chi phí truyền thông.
5. Nghiên cứu khác
Trong các tình huống ứng dụng cụ thể, NIZK của các xác thực viên cụ thể thể hiện giá trị thực tiễn độc đáo. Ví dụ, phương pháp mã hóa khóa công khai được phát triển bởi Cramer và Shoup đã chống lại hiệu quả các cuộc tấn công lựa chọn văn bản. Damgård và những người khác đã đề xuất một phương pháp cải tiến cho phép chuyển đổi Fiat-Shamir mới, cho phép thực hiện NIZK mà không cần tương tác trực tiếp. Khái niệm "độ tin cậy có thể quy trách nhiệm yếu" do Ventre và Visconti đề xuất đã làm tăng độ khó trong việc lừa đảo. Biến đổi Unruh là một giải pháp thay thế cho chuyển đổi Fiat-Shamir, cung cấp NIZK an toàn có thể chứng minh chống lại đối thủ lượng tử trong mô hình oracle ngẫu nhiên.
Ba, Chứng minh không biết dựa trên mạch điện
1. Bối cảnh
Trong lĩnh vực mật mã, đặc biệt là khi xử lý các tác vụ tính toán cần sự song song cao và các loại tác vụ tính toán cụ thể, mô hình máy Turing truyền thống thể hiện một số giới hạn nhất định. Ngược lại, mô hình mạch với lợi thế cấu trúc tính toán độc đáo của nó, phù hợp hơn với một số tác vụ xử lý mật mã cụ thể.
2. Khái niệm cơ bản và đặc điểm của mô hình mạch điện
Mô hình mạch điện chuyển đổi quá trình tính toán thành một loạt các cổng và dây nối, những cổng này thực hiện các phép toán logic hoặc số học cụ thể. Mô hình mạch điện chủ yếu được chia thành hai loại lớn:
3. Thiết kế và ứng dụng mạch trong bằng chứng không kiến thức
Trong hệ thống ZKP, quá trình thiết kế mạch liên quan đến việc biểu đạt vấn đề cần chứng minh dưới dạng một mạch. Quá trình thiết kế thường tuân theo các bước sau:
) 4. Những thiếu sót và thách thức tiềm năng
Các thách thức mà ZKP dựa trên mạch điện phải đối mặt:
Giải pháp và hướng cải tiến 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 Chứng minh Không biết
1. Bối cảnh
Tính linh hoạt của ZKP dựa trên mạch khá kém, cần phát triển các mô hình và thuật toán mới cho các vấn đề cụ thể. Hiện có nhiều công cụ biên dịch ngôn ngữ cao cấp và công cụ kết hợp mạch cấp thấp để thực hiện việc tạo ra mạch và thiết kế thuật toán, việc chuyển đổi các phép toán liên quan có thể được thực hiện thông qua các công cụ xây dựng mạch thủ công hoặc biên dịch tự động.
2. Mô hình thuật toán phổ biến
Mô hình zkSNARK: được đề xuất bởi Bitansky và các cộng sự, là viết tắt của "bằng chứng tri thức phi tương tác ngắn gọn không biết".
Mô hình Ben-Sasson: Một mô hình zkSNARK mới cho việc thực thi chương trình trên kiến trúc RISC của von Neumann.
Mô hình Pinocchio: một bộ tạo chứng minh không tương tác hoàn chỉnh, bao gồm trình biên dịch nâng cao.
Mô hình Bulletproofs: không cần thiết lập đáng tin cậy, và kích thước chứng minh tăng trưởng theo log theo kích thước giá trị chứng kiến.
Mô hình Ligero: một mô hình ZKP nhẹ, độ phức tạp giao tiếp tỷ lệ với căn bậc hai của kích thước mạch xác minh.