Tiêu đề gốc: "ArkStream Capital: Một cột mốc quan trọng trong sự phát triển của công nghệ chứng minh không có kiến thức trong hơn 40 năm"
Tác giả gốc: Ren, ArkStream Capital
Bằng chứng không kiến thức (ZKP) được nhiều người coi là một trong những cải tiến công nghệ quan trọng nhất trong lĩnh vực blockchain kể từ công nghệ sổ cái phân tán Đây cũng là một lĩnh vực quan trọng để đầu tư vốn mạo hiểm. Bài viết này cung cấp một đánh giá có hệ thống về tài liệu lịch sử và nghiên cứu mới nhất về công nghệ chứng minh không có kiến thức trong bốn mươi năm qua.
Trước hết, các khái niệm cơ bản và bối cảnh lịch sử của bằng chứng không có kiến thức sẽ được giới thiệu. Sau đó, trọng tâm là phân tích công nghệ chứng minh không có kiến thức dựa trên mạch, bao gồm các phương pháp 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. Trong lĩnh vực môi trường điện toán, bài viết này giới thiệu ZKVM và ZKEVM, đồng thời thảo luận cách chúng có thể cải thiện khả năng xử lý giao dịch, bảo vệ quyền riêng tư và nâng cao hiệu quả 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 hóa zero-know Rollup (ZK Rollup) như một giải pháp mở rộng Lớp 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 lai và ZK EVM chuyên dụng.
Cuối cùng, bài viết này hướng tới các khái niệm mới nổi như ZKCoprocessor, ZKML, ZKThreads, ZK Sharding và ZK StateChannels, đồng thời thảo luận về vai trò của chúng trong khả năng mở rộng blockchain và khả năng tương tác. và tiềm năng bảo vệ quyền riêng tư.
Bằng cách phân tích các công nghệ mới nhất và xu hướng phát triển này, bài viết này cung cấp một góc nhìn toàn diện về sự hiểu biết và ứng dụng công nghệ chứng minh không có kiến thức, thể hiện vai trò của nó trong việc nâng cao hiệu quả của hệ thống blockchain và bảo mật, cung cấp tài liệu tham khảo quan trọng cho các quyết định đầu tư trong tương lai.
Ngày nay, Internet đang bước vào kỷ nguyên Web3 và các Ứng dụng blockchain (DApps ) đang phát triển nhanh chóng, với các ứng dụng mới xuất hiện gần như mỗi ngày. Trong những năm gần đây, nền tảng blockchain đã lưu trữ hoạt động của hàng triệu người dùng và xử lý hàng tỷ giao dịch mỗi ngày. Lượng dữ liệu lớn do các giao dịch này tạo ra thường bao gồm thông tin cá nhân nhạy cảm như danh tính người dùng, số tiền giao dịch, địa chỉ tài khoản và số dư tài khoản. Với tính mở và minh bạch của blockchain, những dữ liệu được lưu trữ này được mở cho tất cả mọi người, do đó đặt ra 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 giải quyết những thách thức này, bao gồm mã hóa đồng cấu, chữ ký vòng, tính toán an toàn của nhiều bên và bằng chứng không có kiến thức. Mã hóa đồng cấu cho phép các hoạt động được thực hiện mà không cần giải mã văn bản mã hóa, giúp bảo vệ an toàn cho số dư tài khoản và số tiền giao dịch, nhưng nó không thể bảo vệ an toàn cho địa chỉ tài khoản. Chữ ký vòng cung cấp một dạng chữ ký số đặc biệt có thể che giấu danh tính của người ký, từ đó bảo vệ tính bảo mật của địa chỉ tài khoản nhưng không thể bảo vệ số dư tài khoản và số tiền giao dịch. Tính toán an toàn của nhiều bên cho phép các nhiệm vụ tính toán được phân phối giữa nhiều người tham gia mà không có người tham gia nào biết dữ liệu của những người tham gia khác. Nó bảo vệ hiệu quả tính bảo mật của số dư tài khoản và số tiền giao dịch, nhưng nó cũng không thể bảo vệ tính bảo mật của địa chỉ tài khoản. Ngoài ra, không thể sử dụng mã hóa đồng cấu, chữ ký vòng và tính toán an toàn của nhiều bên để xác minh xem người chứng minh trong môi trường blockchain có đủ số lượng giao dịch mà không tiết lộ số tiền giao dịch, địa chỉ tài khoản và số dư tài khoản hay không (Sun và cộng sự, 2021) ).
Một giải pháp toàn diện hơn là bằng chứng không có kiến thức, một giao thức xác minh cho phép xác minh tính đúng đắn của một số mệnh đề nhất định mà không tiết lộ bất kỳ dữ liệu trung gian nào (Goldwasser, Micali & Rackoff, 1985) . Giao thức không yêu cầu các cơ sở khóa công khai phức tạp và việc triển khai lặp đi lặp lại của nó không mang lại cho người dùng độc hại cơ hội thu được thông tin hữu ích bổ sung (Goldreich, 2004). 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 hay không mà không tiết lộ bất kỳ dữ liệu giao dịch riêng tư nào. Quá trình xác minh bao gồm tạo bằng chứng chứa số tiền giao dịch mà người chứng minh yêu cầu, sau đó chuyển bằng chứng cho người xác minh thực hiện các phép tính được xác định trước trên bằng chứng và đưa ra kết quả tính toán cuối cùng để xác định xem có chấp nhận tuyên bố của người chứng minh hay không. . Nếu tuyên bố của người chứng minh được chấp nhận, điều đó có nghĩa là họ có đủ số tiền giao dịch. Quá trình xác minh ở trên có thể được ghi lại trên blockchain mà không có bất kỳ sự giả mạo nào (Feige, Fiat & Shamir, 1986).
Tính năng này của ZKP khiến nó đóng vai trò cốt lõi trong các giao dịch blockchain và ứng dụng tiền điện tử, đặc biệt là về mặt bảo vệ quyền riêng tư và mở rộng mạng, khiến nó không chỉ trở thành trọng tâm của nghiên cứu học thuật và được nhiều người coi là một trong những đổi mới công nghệ quan trọng nhất kể từ khi triển khai thành công công nghệ sổ cái phân tán - và đặc biệt là Bitcoin. Nó cũng là con đường quan trọng cho các ứng dụng trong ngành và đầu tư mạo hiểm (Konstantopoulos, 2022).
Kết quả là nhiều dự án mạng dựa trên ZKP lần lượt xuất hiện, chẳng hạn như ZkSync, StarkNet, Mina, Filecoin và Aleo, v.v. Với sự phát triển của các dự án này, những đổi mới về thuật toán về ZKP lần lượt xuất hiện và có thông tin cho rằng các thuật toán mới được phát hành hầu như hàng tuần (Lavery, 2024; AdaPulse, 2024). Ngoài ra, quá trình phát triển phần cứng liên quan đến công nghệ ZKP đang tiến triển nhanh chóng, bao gồm cả các chip được tối ưu hóa cho ZKP. Ví dụ, các dự án như Ingonyama, Irreducible và Cysic đã hoàn thành việc gây quỹ quy mô lớn. Những phát triển này không chỉ thể hiện sự tiến bộ nhanh chóng của công nghệ ZKP mà còn phản ánh sự chuyển đổi từ phần cứng đa năng sang phần cứng chuyên dụng như GPU, FPGA. và ASIC (Ingonyama, 2023 ; Burger, 2022).
Những phát triển này cho thấy công nghệ chứng minh không có kiến thức không chỉ là bước đột phá quan trọng trong lĩnh vực mật mã mà còn cho phép mở rộng phạm vi ứng dụng công nghệ blockchain - đặc biệt là trong việc cải thiện khả năng xử lý và bảo vệ quyền riêng tư là động lực chính (Zhou và cộng sự, 2022).
Do đó, chúng tôi quyết định sắp xếp một cách có hệ thống kiến thức liên quan về Bằng chứng không có kiến thức (ZKP) để hỗ trợ chúng tôi tốt hơn trong việc đưa ra các quyết định đầu tư trong tương lai. Để đạt được mục tiêu này, chúng tôi đã xem xét toàn diện các tài liệu học thuật cốt lõi liên quan đến ZKP (được sắp xếp theo mức độ liên quan và số lượng trích dẫn); đồng thời, chúng tôi cũng phân tích chi tiết thông tin và sách trắng của các dự án hàng đầu trong lĩnh vực này (được sắp xếp theo chúng). quy mô tài chính). Việc thu thập và phân tích dữ liệu toàn diện này cung cấp nền tảng vững chắc cho việc viết bài viết này.
Năm 1985, các học giả Goldwasser, Micali và Rackoff lần đầu tiên đề xuất bằng chứng không kiến thức (Zero-KnowledgeProof, ZKP) và bằng chứng kiến thức tương tác (InteractiveZero-Knowledge) trong bài báo "TheKnowledge Complexity of Interactive Proof- Hệ thống", IZK). Bài viết này là nền tảng của các bằng chứng không có kiến thức và xác định nhiều khái niệm ảnh hưởng đến nghiên cứu học thuật tiếp theo. Ví dụ, định nghĩa tri thức là “đầu ra của tính toán không khả thi”, tức là tri thức phải là đầu ra và là tính toán không khả thi, nghĩa là nó không thể là một hàm đơn giản mà phải là một hàm phức tạp. Tính toán không khả thi thường có thể được hiểu là một bài toán NP, tức là một bài toán mà lời giải của nó có thể được xác minh là đúng trong thời gian đa thức. Thời gian đa thức đề cập đến thực tế là thời gian chạy thuật toán có thể được biểu thị dưới dạng hàm đa thức có kích thước đầu vào. . Đây là tiêu chí quan trọng trong khoa học máy tính để đo lường tính hiệu quả và tính khả thi của các thuật toán. Do quá trình giải quyết bài toán NP phức tạp nên được coi là một phép tính không khả thi nhưng quá trình xác minh của nó lại tương đối đơn giản nên rất phù hợp cho việc xác minh bằng chứng không có kiến thức (Goldwasser, Micali & Rackoff, 1985).
Một ví dụ kinh điển của bài toán NP là bài toán người bán hàng du lịch, trong đó người ta muốn tìm con đường ngắn nhất đi qua danh sách các thành phố và quay lại điểm xuất phát . Mặc dù việc tìm đường đi ngắn nhất có thể khó khăn, nhưng việc xác minh xem đường đi này có phải là đường đi ngắn nhất hay không là tương đối dễ dàng. Bởi vì việc xác minh tổng khoảng cách của một đường dẫn cụ thể có thể được hoàn thành trong thời gian đa thức.
Goldwasser và cộng sự đã đưa ra khái niệm "độ phức tạp về kiến thức" trong bài báo của họ để định lượng lượng kiến thức bị rò rỉ cho người xác nhận. Họ cũng đề xuất Hệ thống chứng minh tương tác (IPS), trong đó người chứng minh (Prover) và người xác minh (Verifier) chứng minh tính xác thực của một tuyên bố nhất định thông qua nhiều vòng tương tác (Goldwasser, Micali & Rackoff, 1985).
Tóm lại, định nghĩa về bằng chứng không có kiến thức được tóm tắt bởi Goldwasser et al. là một bằng chứng tương tác đặc biệt mà người xác minh không có được trong quá trình xác minh. Bất kỳ thông tin bổ sung nào vượt quá giá trị chân lý của tuyên bố và ba đặc điểm cơ bản được đề xuất bao gồm:
1. Tính đầy đủ: việc một người chứng minh trung thực có thể thuyết phục một người xác minh trung thực nếu lập luận đó là đúng;
2. Độ tin cậy (đúng đắn): Nếu người chứng minh không biết nội dung của nhận định thì chỉ có thể đánh lừa người kiểm chứng với xác suất không đáng kể;
3. Không có kiến thức: Sau khi quá trình chứng minh hoàn tất, người xác minh chỉ thu được thông tin mà “người chứng minh có kiến thức này” và không thể lấy thêm bất kỳ nội dung nào (Goldwasser, Micali & Rackoff, 1985).
Để hiểu rõ hơn về bằng chứng không có kiến thức và nó Properties , sau đây là ví dụ về việc xác minh xem người chứng minh có sở hữu một số thông tin cá nhân hay không, thông tin này được chia thành ba giai đoạn: thiết lập, thử thách và phản hồi.
Bước 1: Thiết lập
Trong bước này, mục tiêu của người chứng minh là tạo ra bằng chứng chứng minh rằng anh ta biết một số bí mật nhất định mà không cần trực tiếp chỉ ra s. Giả sử một số bí mật;
Chọn hai số nguyên tố lớn p và q rồi tính tích của chúng . Hãy để các số nguyên tố và, được tính toán;
Đã tính toán, ở đây, v được gửi đến người xác minh như một phần của bằng chứng, nhưng nó không đủ cho người xác minh hoặc Bất kỳ người ngoài cuộc nào đều suy luận rằng s. ;
Chọn ngẫu nhiên một số nguyên r, tính toán và gửi cho người xác minh. Giá trị x này được sử dụng trong quá trình xác minh tiếp theo, nhưng một lần nữa không hiển thị s. Giả sử một số nguyên ngẫu nhiên và tính toán nó.
Bước 2: Thử thách
Người xác minh chọn ngẫu nhiên một bit a ( Có thể là 0 hoặc 1) và sau đó gửi đến người chứng minh. “Thử thách” này quyết định các bước tiếp theo mà người chứng minh cần thực hiện.
Bước 3: Phản hồi
Theo giá trị do người xác minh gửi, Người chứng minh trả lời:
Nếu, người chứng minh gửi (trong đó r là số anh ta đã chọn ngẫu nhiên trước đó).
Nếu, người chứng minh tính toán và gửi đi. Giả sử rằng trình xác minh gửi các bit ngẫu nhiên Theo giá trị của a, trình chứng minh tính toán;
Cuối cùng, trình xác minh xác minh xem có bằng g nhận được hay không. Nếu phương trình đúng, người xác minh sẽ chấp nhận bằng chứng. Khi , trình xác minh tính toán trình xác minh tính toán và bên phải sẽ xác minh ; khi , trình xác minh tính toán trình xác minh sẽ tính toán và bên phải sẽ xác minh.
Ở đây, chúng ta thấy rằng người xác minh đã tính toán rằng người chứng minh đã vượt qua quá trình xác minh thành công mà không tiết lộ số bí mật s của mình. Ở đây, vì a chỉ có thể nhận 0 hoặc 1 nên chỉ có hai khả năng và người chứng minh dựa vào may mắn trong xác suất vượt qua xác minh (khi a nhận 0). Nhưng người xác minh sau đó thách thức người chứng minh một lần nữa và người chứng minh liên tục thay đổi các số liên quan, gửi chúng cho người xác minh và luôn vượt qua quá trình xác minh thành công. Bằng cách này, người chứng minh dựa vào may mắn để vượt qua xác minh (vô số tiến đến 0) , Kết luận được chứng minh rằng người chứng minh có biết một số số bí mật s. Ví dụ này chứng minh tính đầy đủ, độ tin cậy và không có kiến thức của hệ thống chứng minh không có kiến thức (Fiat & Shamir, 1986).
Bằng chứng không kiến thức (ZKP) thường là một dạng giao thức tương tác và trực tuyến theo khái niệm truyền thống; ví dụ: giao thức Sigma thường yêu cầu ba đến năm vòng tương tác để hoàn thành quá trình tương tác; chứng nhận (Fiat & Shamir, 1986 ). Tuy nhiên, trong các tình huống như giao dịch tức thời hoặc bỏ phiếu, thường không có cơ hội cho nhiều vòng tương tác. Đặc biệt trong ứng dụng công nghệ blockchain, chức năng xác minh ngoại tuyến đặc biệt quan trọng (Sun và cộng sự, 2021).
Năm 1988, Blum, Feldman và Micali lần đầu tiên đề xuất Khái niệm bằng chứng không có kiến thức (NIZK) không tương tác chứng minh khả năng người chứng minh (Prover) và người xác minh (Verifier) vẫn có thể hoàn thành quy trình chứng nhận mà không cần nhiều vòng tương tác. Bước đột phá này khiến các giao dịch, biểu quyết và ứng dụng blockchain tức thời trở nên khả thi (Blum, Feldman & Micali, 1988).
Họ đề xuất rằng bằng chứng không có kiến thức không tương tác (NIZK) có thể được chia thành ba giai đoạn:
1. Cài đặt
2. Tính toán
3. Xác minh
Sử dụng các hàm tính toán trong cài đặt Giai đoạn này sẽ đảm bảo tính bảo mật. Các tham số được chuyển đổi thành kiến thức công cộng (có sẵn cho cả người chứng minh và người xác minh), thường được mã hóa trong một chuỗi tham chiếu chung (CRS). Đây là cách một bằng chứng được tính toán và xác minh bằng cách sử dụng các tham số và thuật toán chính xác.
Giai đoạn tính toán sử dụng các hàm tính toán, các phím đầu vào và chứng minh, đồng thời đưa ra các kết quả tính toán và chứng minh.
Trong giai đoạn xác minh, tính hợp lệ của chứng chỉ được xác minh bằng cách xác minh khóa.
Mô hình Chuỗi tham chiếu chung (CRS) mà họ đề xuất dựa trên việc tất cả những người tham gia chia sẻ một chuỗi để đạt được bằng chứng không có kiến thức không tương tác về các vấn đề NP. Hoạt động của mô hình này dựa trên việc tạo CRS đáng tin cậy và tất cả những người tham gia phải có quyền truy cập vào cùng một chuỗi. Các giải pháp được triển khai theo mô hình này chỉ có thể đảm bảo an ninh nếu CRS được tạo chính xác và bảo mật. Quá trình tạo CRS có thể phức tạp và tốn thời gian đối với nhiều người tham gia, do đó, mặc dù các kế hoạch như vậy thường dễ vận hành và có quy mô nhỏ nhưng việc thiết lập chúng có thể gặp nhiều thách thức (Blum, Feldman & Micali, 1988 ).
Sau đó, công nghệ NIZK đã có sự phát triển nhanh chóng và nhiều phương pháp khác nhau đã xuất hiện để biến các bằng chứng không có kiến thức tương tác thành các bằng chứng không tương tác. Những cách tiếp cận này khác nhau ở cách xây dựng hệ thống hoặc ở các giả định của mô hình mật mã cơ bản.
Biến đổi Fiat-Shamir, còn được gọi là Fiat-ShamirHeurisitc (heuristic), hoặc Mô hình Fiat-Shamir (mô hình); được đề xuất bởi Fiat và Shamir vào năm 1986, đây là một phương pháp có thể chuyển đổi các bằng chứng không có kiến thức tương tác thành không tương tác. Phương pháp này làm giảm số lượng tương tác bằng cách đưa ra hàm băm và dựa vào các giả định bảo mật để đảm bảo tính xác thực của bằng chứng cũng như độ khó giả mạo của nó. Phép biến đổi Fiat-Shamir sử dụng hàm băm mật mã công khai để thay thế một phần tính ngẫu nhiên và tính tương tác, đồng thời đầu ra của nó ở một mức độ nào đó có thể được coi là CRS. Mặc dù giao thức này được coi là an toàn trong mô hình oracle ngẫu nhiên, nhưng nó dựa trên giả định rằng đầu ra của hàm băm là ngẫu nhiên thống nhất và độc lập với các đầu vào khác nhau (Fiat & Shamir, 1986). Nghiên cứu của Canetti, Goldreich, & Halevi năm 2003 cho thấy mặc dù giả định này đúng trong các mô hình lý thuyết nhưng nó có thể gặp phải những thách thức trong ứng dụng thực tế và do đó có nguy cơ thất bại khi sử dụng (Canetti, Goldreich & Halevi, 2003). Micali sau đó đã cải tiến phương pháp này bằng cách nén nhiều vòng tương tác thành một vòng duy nhất, đơn giản hóa hơn nữa quá trình tương tác (Micali, 1994).
Nghiên cứu tiếp theo của Jens Groth đã thúc đẩy mạnh mẽ Ứng dụng số 0 -bằng chứng kiến thức về mật mã và công nghệ chuỗi khối. Năm 2005, ông, Ostrovsky và Sahai cùng nhau đề xuất hệ thống chứng minh không có kiến thức không tương tác hoàn hảo đầu tiên phù hợp với bất kỳ ngôn ngữ NP nào, có thể đảm bảo an ninh tổ hợp phổ quát (UC) ngay cả khi đối mặt với các đối thủ năng động/thích ứng. Ngoài ra, họ sử dụng giả định về độ phức tạp của lý thuyết số để thiết kế một hệ thống chứng minh không có kiến thức không tương tác ngắn gọn và hiệu quả, giúp giảm đáng kể kích thước của CRS và bằng chứng (Groth & Sahai, 2005).
Năm 2007, Groth, Cramer và Damgård bắt đầu thương mại hóa các công nghệ này thông qua các thử nghiệm, họ đã xác minh rằng các sơ đồ chữ ký và mã hóa khóa công khai của họ đều hiệu quả và an toàn. có những cải tiến đáng kể, mặc dù các sơ đồ này dựa trên giả định về các nhóm song tuyến tính (Groth & Sahai, 2007). Vào năm 2011, Groth đã khám phá thêm cách kết hợp mã hóa đồng cấu hoàn toàn với bằng chứng không có kiến thức không tương tác và đề xuất giải pháp giảm chi phí liên lạc để kích thước của NIZK phù hợp với kích thước nhân chứng của bằng chứng (Groth, 2011). Trong những năm tiếp theo, ông và các nhà nghiên cứu khác đã tiến hành nghiên cứu chuyên sâu về các kỹ thuật dựa trên ghép nối, cung cấp các bằng chứng không tương tác nhỏ gọn và hiệu quả cho các yêu cầu quy mô lớn, mặc dù các bằng chứng này vẫn không tách rời khỏi khuôn khổ nhóm song tuyến tính (Bayer & Groth, 2012; Groth, Kohlweiss & Pintore, 2016; Groth & Maller, 2012;
Bằng chứng không có kiến thức không tương tác dành cho người xác minh cụ thể trong các tình huống ứng dụng cụ thể Nó cho thấy giá trị thực tiễn độc đáo của nó. Ví dụ, Cramer và Shoup đã bảo vệ hiệu quả trước các cuộc tấn công bằng bản mã có chọn lọc vào năm 1998 và 2002 bằng cách sử dụng các sơ đồ mã hóa khóa công khai được phát triển bằng các phương pháp dựa trên các hàm băm phổ quát. Ngoài ra, trong mô hình đăng ký khóa, một phương pháp chứng minh không có kiến thức không tương tác mới đã được phát triển thành công, phù hợp để giải quyết tất cả các vấn đề thuộc loại NP. Điều quan trọng là người tham gia cần đăng ký khóa riêng của mình để xác minh tiếp theo (Cramer). & Shou, 1998, 2002).
Ngoài ra, Damgård, Fazio và Nicolosi đã đề xuất một phương pháp mới để cải thiện phép chuyển đổi Fiat-Shamir hiện có vào năm 2006, cho phép chuyển đổi phi tuyến tính mà không cần tương tác trực tiếp. bằng chứng không có kiến thức. Theo cách tiếp cận của họ, trước tiên người xác minh cần đăng ký khóa chung để chuẩn bị cho các hoạt động mã hóa tiếp theo. Người chứng minh sử dụng mã hóa đồng cấu phụ gia để vô tình thao tác trên dữ liệu, tạo ra một thông báo được mã hóa chứa câu trả lời như một phản hồi cho thử thách. Tính bảo mật của phương pháp này dựa trên "giả thuyết đòn bẩy phức tạp", tin rằng một số vấn đề tính toán được coi là khó giải quyết có thể được giải quyết bởi đối thủ có tài nguyên máy tính đặc biệt (Damgård, Fazio & Nicolosi, 2006).
Khái niệm "độ tin cậy có thể quy yếu" do Ventre và Visconti đề xuất năm 2009 là một giải pháp thay thế cho giả định này, đòi hỏi đối thủ không chỉ phải nhận thức được sự giả dối của nó, nhưng bạn cũng phải nhận thức được làm thế nào bạn đã thành công trong việc khai man nó. Yêu cầu này làm tăng đáng kể độ khó của việc lừa dối vì đối thủ phải hiểu rõ về phương pháp lừa dối của mình. Trong thực tế, kẻ thù sử dụng khái niệm này cần cung cấp bằng chứng cụ thể chứa thông tin văn bản mã hóa cho một người xác minh cụ thể. Bằng chứng này khó hoàn thành nếu không có khóa riêng của người xác minh, do đó vạch trần hành vi của kẻ thù thông qua việc phát hiện khi anh ta cố gắng giả mạo bằng chứng ( Ventre và Visconti, 2009).
Biến đổi Unruh là một giải pháp thay thế cho phép biến đổi Fiat-Shamir được đề xuất vào năm 2015. Các phương pháp Fiat-Shamir nhìn chung không an toàn khi đối mặt với điện toán lượng tử và có thể tạo ra các giải pháp không an toàn cho một số giao thức (Unruh, 2015). Ngược lại, các phép biến đổi Unruh trong Mô hình Oracle ngẫu nhiên (ROM) cung cấp bằng chứng không có kiến thức không tương tác (NIZK) có độ an toàn có thể chứng minh được cho bất kỳ giao thức tương tác nào chống lại các đối thủ lượng tử. Tương tự như phương pháp Fiat-Shamir, phép chuyển đổi Unruh không yêu cầu bước thiết lập bổ sung (Ambainis, Rosmanis & Unruh, 2014).
Ngoài ra, Kalai và cộng sự đã đề xuất một hệ thống lập luận cho các vấn đề ra quyết định tùy ý dựa trên công nghệ truy xuất thông tin cá nhân. Phương pháp này áp dụng mô hình hệ thống chứng minh tương tác đa người chứng minh (MIP) và chuyển đổi MIP thành một hệ thống lập luận thông qua phương pháp của Aiello et al. Việc xây dựng này hoạt động trong Mô hình Chuẩn và không yêu cầu phụ thuộc vào giả định tiên tri ngẫu nhiên. Phương pháp này được sử dụng trong một số lập luận không có kiến thức dựa trên "Bằng chứng cho Muggles" (Kalai, Raz & Rothblum, 2014).
Dựa trên những công nghệ này, bằng chứng không kiến thức không tương tác (NIZK) đã được sử dụng rộng rãi trong nhiều lĩnh vực khác nhau đòi hỏi bảo mật cao và bảo vệ quyền riêng tư, chẳng hạn như tài chính giao dịch, bỏ phiếu điện tử và công nghệ blockchain, v.v. Bằng cách giảm số lượng tương tác và tối ưu hóa quy trình xác minh và tạo bằng chứng, NIZK không chỉ cải thiện hiệu quả của hệ thống mà còn tăng cường khả năng bảo vệ quyền riêng tư và bảo mật. Trong tương lai, với sự phát triển và cải tiến hơn nữa của các công nghệ này, chúng ta có thể kỳ vọng rằng NIZK sẽ đóng vai trò quan trọng trong nhiều lĩnh vực hơn và cung cấp nền tảng kỹ thuật vững chắc để xử lý và truyền tải thông tin an toàn và hiệu quả hơn (Partala, Nguyen & Pirttikangas, 2020 ).
Trong lĩnh vực mật mã, đặc biệt là khi xử lý các tác vụ tính toán đòi hỏi mức độ song song cao và các loại tính toán cụ thể (chẳng hạn như các phép toán ma trận quy mô lớn), Turing truyền thống Model máy cho thấy những hạn chế nhất định về giới tính. Mô hình máy Turing yêu cầu cơ chế quản lý bộ nhớ phức tạp để mô phỏng một băng giấy dài vô tận và không phù hợp để thể hiện trực tiếp các hoạt động tính toán và đường ống song song. Ngược lại, các mô hình mạch, với ưu điểm về cấu trúc tính toán độc đáo, sẽ phù hợp hơn cho một số tác vụ xử lý mật mã nhất định (Chaidos, 2017). Bài viết này sẽ tìm hiểu chi tiết về Hệ thống Zero-KnowledgeProof Dựa trên Mô hình Mạch. Loại hệ thống này đặc biệt chú trọng đến việc sử dụng các mạch (thường là mạch số học hoặc mạch Boolean) để biểu diễn và xác minh quá trình tính toán.
Trong các mô hình tính toán dựa trên mạch, mạch được định nghĩa là một mô hình điện toán đặc biệt có chức năng chuyển đổi bất kỳ quy trình tính toán nào thành một loạt các cổng và kết nối thực hiện các phép toán logic hoặc số học cụ thể. Cụ thể, các mô hình mạch chủ yếu được chia thành hai loại:
Mạch số học: chủ yếu gồm 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 số học phù hợp để thực hiện các phép toán số phức tạp và được sử dụng rộng rãi trong các thuật toán mã hóa và phân tích số.
Mạch logic: Nó bao gồm các cổng logic cơ bản như cổng AND, cổng OR và cổng NOT và được sử dụng để xử lý các phép toán Boolean. Mạch logic phù hợp để thực hiện logic phán đoán và tính toán nhị phân đơn giản, đồng thời thường được sử dụng để triển khai các hệ thống điều khiển khác nhau và các tác vụ xử lý dữ liệu đơn giản (Chaidos, 2017).
Trong chứng minh không có kiến thức system Trong , quy trình thiết kế mạch bao gồm việc thể hiện bài toán cần chứng minh dưới dạng mạch. Quá trình này đòi hỏi rất nhiều "tư duy ngược" để thiết kế mạch zk: "Nếu một phép tính cho rằng đầu ra là thực thì đầu ra phải đáp ứng một số yêu cầu nhất định.
Biểu diễn bài toán: Đầu tiên, bài toán cần chứng minh, chẳng hạn như quá trình tính toán hàm băm mật mã, được chuyển thành dạng mạch. Điều này liên quan đến việc chia nhỏ các bước tính toán thành các đơn vị cơ bản trong mạch, chẳng hạn như cổng và dây dẫn.
Tối ưu hóa mạch: thông qua các phương tiện kỹ thuật như hợp nhất cổng và gấp liên tục, thiết kế mạch được tối ưu hóa để giảm số lượng cổng và các bước tính toán cần thiết, từ đó cải thiện hiệu suất vận hành hiệu suất của hệ thống và tốc độ phản hồi.
Chuyển đổi sang biểu diễn đa thức: Để thích ứng với công nghệ chứng minh không có kiến thức, mạch được tối ưu hóa tiếp tục được chuyển đổi thành dạng đa thức. Mỗi phần tử mạch và kết nối tương ứng với một ràng buộc đa thức cụ thể.
Tạo chuỗi tham chiếu công khai (CRS): Trong giai đoạn khởi tạo hệ thống, chuỗi tham chiếu công khai bao gồm khóa chứng nhận và khóa xác minh được tạo để sử dụng trong bằng chứng tiếp theo quá trình tạo và xác minh.
Tạo và xác minh bằng chứng: Người chứng minh thực hiện các phép tính trên mạch dựa trên đầu vào riêng và CRS của nó để tạo ra bằng chứng không có kiến thức. Người xác minh có thể xác minh tính chính xác của bằng chứng dựa trên mô tả mạch công khai và CRS mà không cần biết thông tin cá nhân của người chứng minh (Chaidos, 2017).
Thiết kế mạch chứng minh kiến thức bằng không bao gồm việc chuyển đổi một quy trình tính toán cụ thể thành biểu diễn mạch và đảm bảo tính chính xác của kết quả tính toán bằng cách xây dựng các ràng buộc đa thức đồng thời tránh tiết lộ bất kỳ thông tin bổ sung nào Thông tin cá nhân. Trong thiết kế mạch, nhiệm vụ chính là tối ưu hóa cấu trúc của mạch và tạo ra biểu diễn đa thức hiệu quả, nhằm nâng cao hiệu quả của việc tạo và xác minh bằng chứng. Thông qua việc thực hiện các bước này, công nghệ chứng minh không có kiến thức có thể xác minh tính chính xác của các phép tính mà không tiết lộ thêm thông tin, đảm bảo đáp ứng nhu cầu kép về bảo vệ quyền riêng tư và bảo mật dữ liệu (Chaidos, 2017).
Những nhược điểm bao gồm:
1. Độ phức tạp và quy mô của mạch: Các phép tính phức tạp đòi hỏi các mạch lớn, dẫn đến chi phí tính toán của việc tạo và xác minh bằng chứng tăng lên đáng kể. , đặc biệt là khi xử lý dữ liệu quy mô lớn;
2. Độ khó tối ưu hóa: Mặc dù các phương tiện kỹ thuật (như hợp nhất cổng, gấp liên tục, v.v.) có thể tối ưu hóa mạch, thiết kế và tối ưu hóa Các mạch hiệu quả vẫn đòi hỏi chuyên môn sâu;
3. Khả năng thích ứng với các nhiệm vụ tính toán cụ thể: Các nhiệm vụ tính toán khác nhau đòi hỏi các thiết kế mạch khác nhau, được thiết kế cho từng nhiệm vụ cụ thể. nhiệm vụ Các mạch hiệu quả có thể tốn thời gian và khó phát huy;
4. Khó khăn khi triển khai thuật toán mã hóa: Có thể thực hiện các thuật toán mã hóa phức tạp (chẳng hạn như hàm băm). hoặc mã hóa khóa công khai) Cần có số lượng lớn cổng logic, khiến việc thiết kế và triển khai mạch trở nên khó khăn;
5. lượng tài nguyên phần cứng có thể bị tiêu thụ điện năng. Các khía cạnh như nhiệt độ và không gian vật lý gặp phải tắc nghẽn khi triển khai phần cứng thực tế (Goldreich, 2004; Chaidos, 2017; Partala, Nguyen & Pirttikangas, 2020; Sun và cộng sự, 2021).
Giải pháp và hướng cải tiến:
1. Công nghệ nén mạch: qua nghiên cứu và ứng dụng Hiệu quả công nghệ nén mạch giúp giảm số lượng cổng logic và tài nguyên tính toán cần thiết;
2. Thiết kế mô-đun: Thiết kế mô-đun của mạch cải thiện tính phức tạp của thiết kế mạch. , giảm khối lượng công việc thiết kế lại mạch cho các nhiệm vụ khác nhau;
3. Tăng tốc phần cứng: sử dụng phần cứng chuyên dụng (như FPGA hoặc ASIC) để tăng tốc tính toán mạch nhằm cải thiện hiệu suất tổng thể của các bằng chứng không có kiến thức (Goldreich, 2004; Chaidos, 2017; Partala, Nguyen & Pirttikangas, 2020; Sun và cộng sự, 2021).
Bằng chứng không có kiến thức dựa trên mạch kém linh hoạt hơn và đòi hỏi phải 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 trình biên dịch ngôn ngữ cấp cao và mạch cấp thấp. các công cụ kết hợp để tạo mạch và thuật toán Thiết kế cũng như chuyển đổi các phép tính liên quan có thể được thực hiện bằng các công cụ xây dựng mạch thủ công hoặc trình biên dịch tự động. Chuyển đổi thủ công thường tạo ra các mạch tối ưu hơn, trong khi chuyển đổi tự động sẽ thuận tiện hơn cho nhà phát triển. Các ứng dụng quan trọng về hiệu suất thường yêu cầu các công cụ chuyển đổi thủ công (Chaidos, 2017; Partala, Nguyen & Pirttikangas, 2020; Sun et al., 2021).
Bài viết này sẽ thảo luận về những điều nổi tiếng nhất trong số đó. Nhìn chung, các mô hình này đều là các phần mở rộng hoặc biến thể của công nghệ zkSNARK, mỗi mô hình đều cố gắng cung cấp sự tối ưu hóa trong các yêu cầu ứng dụng cụ thể (chẳng hạn như kích thước bằng chứng, độ phức tạp tính toán, yêu cầu thiết lập, v.v.).
Mỗi giao thức đều có những ứng dụng, ưu điểm và hạn chế cụ thể, đặc biệt là về yêu cầu thiết lập, kích thước bằng chứng, tốc độ xác minh và chi phí tính toán. Chúng được sử dụng trong nhiều lĩnh vực khác nhau, từ quyền riêng tư về tiền điện tử và hệ thống bỏ phiếu an toàn cho đến máy tính nói chung được xác minh theo cách không cần kiến thức (Čapko, Vukmirović & Nedić, 2019).
1. Mô hình zkSNARK: 2011, bởi nhà mật mã học Bitansky et al. đề xuất rằng dưới dạng viết tắt của "Đối số kiến thức không tương tác Zero-KnowledgeSuccinct" (Zero-KnowledgeSuccinct Non-Interactive Argument of Knowledge), nó là một cơ chế chứng minh không có kiến thức được cải tiến có thể trích xuất các hàm băm chống va chạm nếu có. (ECRH), thì có thể triển khai SNARK cho các vấn đề NP và thể hiện khả năng ứng dụng của SNARK trong các tình huống khác nhau như ủy quyền tính toán, bằng chứng ngắn gọn về không có kiến thức không tương tác và tính toán ngắn gọn bảo mật của hai bên. Nghiên cứu này cũng chỉ ra rằng sự tồn tại của SNARK hàm ý sự cần thiết của ECRH, thiết lập mối liên hệ cơ bản giữa các nguyên thủy mật mã này (Bitansky và cộng sự, 2011).
Hệ thống zkSNARK bao gồm ba phần: cài đặt, người chứng minh và người xác minh. Quá trình thiết lập tạo Khóa chứng minh (PK) và Khóa xác minh (VK) bằng cách sử dụng các tham số bảo mật được xác định trước l và mạch số học F C. Tất cả đầu vào và đầu ra của mạch này là các phần tử trong miền F. PK được sử dụng để tạo bằng chứng có thể xác minh được, trong khi VK được sử dụng để xác minh bằng chứng được tạo ra. Dựa trên PK được tạo, người chứng minh tạo ra bằng chứng p bằng cách sử dụng đầu vào x ∈ Fn và nhân chứng W ∈ Fh, trong đó C(x, W) = 0 l. Ở đây, C(x, W) = 0 l có nghĩa là đầu ra của mạch C là 0 l, và x và W là các thông số đầu vào của mạch C. n, h và l tương ứng là kích thước của đầu ra x, W và C. Cuối cùng, người xác minh sử dụng VK, x và p để xác minh p và quyết định chấp nhận hoặc từ chối bằng chứng dựa trên kết quả xác minh (Bitansky et al., 2011).
Ngoài ra, zkSNARK còn có một số tính năng bổ sung. Đầu tiên, quá trình xác minh có thể được hoàn thành trong thời gian ngắn và kích thước của bằng chứng thường chỉ là vài byte. Thứ hai, không cần giao tiếp đồng bộ giữa người chứng minh và người xác minh và bất kỳ người xác minh nào cũng có thể xác minh bằng chứng ngoại tuyến. Cuối cùng, thuật toán chứng minh chỉ có thể được thực hiện trong thời gian đa thức. Kể từ đó, nhiều mô hình zkSNARK cải tiến khác nhau đã xuất hiện, tối ưu hóa hơn nữa hiệu suất và phạm vi ứng dụng của nó (Bitansky và cộng sự, 2011).
2. Mô hình của Ben-Sasson: Ben-Sasson và cộng sự đã đề xuất một mô hình mới để thực hiện chương trình kiến trúc RISC của von Neumann vào năm 2013 và 2014. Mô hình zkSNARK. Sau đó, dựa trên bộ tạo mạch vạn năng được đề xuất, Ben-Sasson et al. đã xây dựng một hệ thống và chứng minh ứng dụng của nó trong việc xác minh việc thực hiện chương trình. Hệ thống này bao gồm hai thành phần: một hệ thống chứng minh mật mã để xác minh tính thỏa mãn của các mạch số học và một bộ tạo mạch chuyển đổi việc thực hiện chương trình thành các mạch số học. Thiết kế này vượt trội hơn công việc trước đó cả về chức năng và hiệu quả, đặc biệt là tính tổng quát của bộ tạo mạch và sự phụ thuộc phụ thuộc vào kích thước mạch đầu ra. Các đánh giá thử nghiệm cho thấy hệ thống có thể xử lý các chương trình lên tới 10.000 lệnh và tạo ra các bằng chứng ngắn gọn ở mức độ bảo mật cao với thời gian xác minh chỉ 5 mili giây. Giá trị của nó nằm ở việc cung cấp các giải pháp zk-SNARK hiệu quả, linh hoạt và an toàn cho các ứng dụng thực tế như chuỗi khối và hợp đồng thông minh bảo vệ quyền riêng tư (Ben-Sasson và cộng sự, 2013, 2014).
3. Mô hình Pinocchio: Được đề xuất bởi Parno và cộng sự (2013), nó là một bộ tạo lập luận không có kiến thức hoàn chỉnh, không tương tác (Parno et al. , 2013). Nó bao gồm một trình biên dịch nâng cao cung cấp cho các nhà phát triển một cách dễ dàng để dịch các phép tính thành các mạch. Các trình biên dịch này chấp nhận mã được viết bằng ngôn ngữ cấp cao, vì vậy các thuật toán cũ và mới có thể dễ dàng chuyển đổi. Tuy nhiên, có thể có một số ràng buộc về cấu trúc mã để tạo ra các mạch có kích thước phù hợp.
Một tính năng khác của Pinocchio là sử dụng cấu trúc toán học được gọi là Chương trình số học bậc hai (QAP), có thể phân chia hiệu quả các nhiệm vụ tính toán thành nhiệm vụ Chuyển đổi sang nhiệm vụ xác minh. QAP có thể mã hóa các mạch số học tùy ý dưới dạng tập hợp các đa thức và chỉ yêu cầu độ phức tạp về không gian và thời gian tuyến tính để tạo ra các đa thức này. Kích thước của bằng chứng do Pinocchio tạo ra là 288 byte, không thay đổi theo độ phức tạp của tác vụ tính toán cũng như kích thước của đầu vào và đầu ra. Điều này làm giảm đáng kể chi phí truyền tải và lưu trữ dữ liệu. Thời gian xác minh của Pinocchio thường là 10 mili giây, giảm 5-7 bậc độ lớn so với công việc trước đó. Đối với một số ứng dụng, Pinocchio thậm chí có thể đạt được xác minh nhanh hơn so với thực thi gốc. Giảm chi phí chứng minh công nhân: Pinocchio cũng giảm chi phí tạo bằng chứng công nhân theo hệ số 19-60 so với công việc trước đó (Parno et al., 2013).
4. Mô hình Bulletproofs: Năm 2017, BenediktBünz và cộng sự (2018) đã thiết kế một mô hình ZKP không tương tác mới. Không cần thiết lập độ tin cậy và kích thước bằng chứng tăng theo logarit với kích thước giá trị nhân chứng. Chống đạn đặc biệt thích hợp để chứng minh khoảng thời gian trong các giao dịch bí mật và có thể chứng minh rằng một giá trị nằm trong một phạm vi nhất định bằng cách sử dụng số lượng phần tử nhóm và trường nhỏ nhất. Ngoài ra, Bulletproofs cũng hỗ trợ tổng hợp các bằng chứng theo khoảng thời gian, cho phép tạo ra một bằng chứng duy nhất thông qua giao thức tính toán ngắn gọn của nhiều bên, giúp giảm đáng kể thời gian liên lạc và xác minh. Chống đạn được thiết kế để có hiệu quả cao và thiết thực trong môi trường phân tán và không cần sự tin cậy như tiền điện tử. Chống đạn không hoàn toàn là một giao thức dựa trên mạch truyền thống, chúng kém ngắn gọn hơn SNARK và việc xác minh Chống đạn mất nhiều thời gian hơn so với xác minh bằng chứng SNARK. Nhưng nó hiệu quả hơn trong các tình huống không yêu cầu thiết lập đáng tin cậy.
5. Mô hình Ligero: Một mô hình lập luận không có kiến thức nhẹ được đề xuất bởi Ames et al. Độ phức tạp trong giao tiếp của Ligero tỷ lệ thuận với căn bậc hai của kích thước mạch xác minh. Ngoài ra, Ligero có thể dựa vào bất kỳ hàm băm chống va chạm nào. Ngoài ra, Ligero có thể là sơ đồ zkSNARK trong mô hình oracle ngẫu nhiên. Mô hình này không yêu cầu thiết lập đáng tin cậy hoặc mật mã khóa công khai. Ligero có thể được sử dụng trên các mạch xác minh rất lớn. Đồng thời, nó phù hợp cho các mạch vừa và lớn trong các ứng dụng.
Ishai và Paskin ( 2007 ) được đề xuất sử dụng mã hóa khóa công khai đồng cấu bổ sung để giảm độ phức tạp trong giao tiếp của PCP tuyến tính tương tác. Sau đó, Groth và cộng sự đã xuất bản nhiều nghiên cứu từ năm 2006 đến năm 2008 và đề xuất sơ đồ NIZK dựa trên bài toán logarit rời rạc và ghép nối song tuyến tính, đạt được độ đầy đủ hoàn hảo, độ chính xác tính toán và kiến thức bằng 0 hoàn hảo. Lược đồ này hình thành các phát biểu dưới dạng các vấn đề thỏa mãn ràng buộc đại số, sử dụng lược đồ cam kết mật mã như cam kết Pedersen để đạt được độ dài chứng minh tuyến tính và không tương tác mà không cần phương pháp phỏng đoán Fiat-Shamir. Mặc dù cần phải có CRS lớn và các giả định mật mã mạnh mẽ "kiến thức theo cấp số nhân", nhưng CRS đủ dài có thể đạt được độ dài bằng chứng không đổi. Việc xác minh và chứng minh rất tốn kém, vì vậy nên áp dụng mô hình bảo mật "khả năng trích xuất mô phỏng". Loại sơ đồ này dựa trên PCP tuyến tính và/hoặc bài toán logarit rời rạc, nhưng cả hai đều không kháng lượng tử (Groth, 2006, 2006, 2008; Groth & Sahai, 2007).
6. Mô hình Groth 16: Đây là một hệ thống chứng minh không có kiến thức không tương tác hiệu quả do Jens Groth đề xuất vào năm 2016. Giao thức này dựa trên Ghép nối đường cong Elliptic và Chương trình số học bậc hai (QAP) và nhằm mục đích cung cấp các bằng chứng không có kiến thức ngắn gọn, nhanh chóng và an toàn.
7. Mô hình Sonic: M. Maller và cộng sự (2019) đã đề xuất mô hình CRS có thể cập nhật dựa trên Groth bằng cách sử dụng sơ đồ cam kết đa thức, ghép nối và mạch số học. Cần có một thiết lập đáng tin cậy, có thể đạt được thông qua tính toán an toàn của nhiều bên. Khi CRS được tạo, các mạch có kích thước bất kỳ đều được hỗ trợ.
8. Mô hình PLONK: Một zk-SNARK tổng quát được đề xuất vào năm 2019, sử dụng đa thức hoán vị để đơn giản hóa việc biểu diễn mạch số học, giúp việc chứng minh trở nên đơn giản và hiệu quả hơn; có Tính linh hoạt và hỗ trợ thành phần chứng minh đệ quy (Gabizon, Williamson & Ciobotaru, 2019). Mô hình PLONK tuyên bố sẽ giảm độ dài bằng chứng của Sonic và cải thiện hiệu quả bằng chứng, nhưng nó vẫn chưa vượt qua được sự đánh giá ngang hàng.
9. Mô hình Marlin: Giao thức zk-SNARK cải tiến kết hợp hiệu quả của hệ thống chứng minh đại số với các thuộc tính cài đặt phổ biến và có thể cập nhật của Sonic và PLONK để mang lại những cải tiến về kích thước chứng minh và thời gian xác minh (Chiesa et al., 2019).
10. Mô hình SLONK: Một giao thức mới được Zac và Ariel giới thiệu trong tệp ethresear, một phần mở rộng của PLONK, được thiết kế để giải quyết các vấn đề về hiệu quả tính toán cụ thể và nâng cao chức năng của hệ thống PLONK ban đầu thường liên quan đến những thay đổi đối với các giả định hoặc cách triển khai mật mã cơ bản (Nghiên cứu Ethereum, 2019).
11. Mô hình SuperSonic: Một sơ đồ cam kết đa thức mới được áp dụng để biến Sonic thành một sơ đồ không có kiến thức mà không cần thiết lập đáng tin cậy. Không kháng lượng tử (Bünz, Fisch & Szepieniec, 2019).
"Chứng minh của người thường" (Chứng minh- for-Muggles) là một phương pháp chứng minh không có kiến thức mới được đề xuất bởi Goldwasser, Kalai và Rothblum vào năm 2008. Phương pháp này xây dựng các bằng chứng tương tác cho các chứng minh thời gian đa thức trong mô hình chứng minh tương tác ban đầu và có thể áp dụng cho nhiều vấn đề. Những bằng chứng này có thể được chuyển thành bằng chứng không có kiến thức không tương tác thông qua sự chuyển đổi của Kalai và cộng sự (Kalai, Raz & Rothblum, 2014).
12. Mô hình Hyrax: Dựa trên bằng chứng của những người bình thường, Wahby et al. Hyrax Chi phí cho người chứng minh và người xác minh là rất thấp. Trong trường hợp này, không có cài đặt đáng tin cậy nào trong đối số này. Nếu áp dụng cho các lô câu lệnh, thời gian xác minh có mối quan hệ tuyến tính với kích thước mạch số học không đổi. Thời gian chạy của bộ chuẩn tỷ lệ tuyến tính với kích thước của mạch số học và cũng không đổi. Không tương tác sử dụng phương pháp phỏng đoán Fiat-Shamir, dựa trên bài toán logarit rời rạc, không kháng lượng tử.
13. Mô hình Libra: Mô hình ZKP đầu tiên có thời gian chứng minh tuyến tính, kích thước chứng minh ngắn gọn và thời gian xác minh. Ở Libra, để giảm chi phí xác minh, cơ chế không có kiến thức được triển khai thông qua phương pháp che giấu các đa thức hơi ngẫu nhiên trong phản hồi của người chứng minh. Ngoài ra, Libra yêu cầu thiết lập đáng tin cậy một lần, việc này chỉ phụ thuộc vào kích thước đầu vào của mạch. Libra có hiệu suất tiệm cận tuyệt vời và hiệu quả chứng minh tuyệt vời. Hiệu suất của nó về kích thước bằng chứng và thời gian xác minh cũng rất hiệu quả (Xie et al., 2019).
Xét về độ phức tạp tính toán của thuật toán chuẩn, Libra vượt trội hơn mô hình của Ben-Sasson, Ligero, Hyrax và Aurora. Hơn nữa, độ phức tạp tính toán của thuật toán chuẩn của Libra không phụ thuộc vào loại mạch (Partala, Nguyen & Pirttikangas, 2020).
14. Mô hình Spartan: Một hệ thống chứng minh không có kiến thức do Srinath Setty (2019) đề xuất nhằm mục đích cung cấp bằng chứng hiệu quả mà không yêu cầu thiết lập đáng tin cậy bằng Fiat-; Chuyển đổi Shamir Thực hiện không tương tác. Nó được biết đến với thiết kế gọn nhẹ và khả năng xử lý các mạch lớn một cách hiệu quả.
Kilian (1992 ) đã xây dựng sơ đồ đối số không có kiến thức tương tác đầu tiên cho NP, hiện thực hóa giao tiếp đa logarit. Lược đồ này sử dụng các hàm băm chống va chạm, hệ thống bằng chứng tương tác (IP) và bằng chứng xác minh xác suất (PCP). Người chứng minh và người xác minh (dưới dạng thuật toán ngẫu nhiên) giao tiếp qua nhiều vòng, trong đó người xác minh kiểm tra kiến thức của người chứng minh về tuyên bố. Thông thường chỉ xem xét các lỗi một phía: người chứng minh luôn có thể bảo vệ một tuyên bố đúng, nhưng người xác minh có thể chấp nhận một tuyên bố sai với xác suất thấp. Năm 2000, Micali đã sử dụng phép biến đổi Fiat-Shamir để chuyển đổi sơ đồ thành sơ đồ không tương tác một tin nhắn. Các triển khai sau đây có thể được xem xét để áp dụng phương pháp này:
15 mô hình STARK: Năm 2018, công nghệ ZK-STARKs (Đối số kiến thức minh bạch có thể mở rộng) được phát triển bởi Ben -Được đề xuất bởi Sasson và cộng sự vào năm 2018, nhằm giải quyết vấn đề kém hiệu quả của zk-SNARK khi xử lý các bằng chứng phức tạp. Đồng thời, nó giải quyết vấn đề xác minh tính toàn vẹn tính toán trên dữ liệu riêng tư và có thể cung cấp bằng chứng minh bạch và bảo mật sau lượng tử mà không cần dựa vào bất kỳ bên đáng tin cậy nào.
Cùng năm đó, Ben-Sasson và những người khác thành lập StarkWare Industries và phát triển giải pháp khả năng mở rộng đầu tiên StarkEx dựa trên ZK-STARK. Theo tài liệu chính thức của Ethereum, nó có thể đạt được tính không tương tác trong mô hình oracle ngẫu nhiên thông qua mô hình Fiat-Shamir. Cấu trúc này có khả năng chống lượng tử, nhưng tính bảo mật của nó dựa trên các giả định mật mã không chuẩn về mã Reed-Solomon. ZK-STARK có các đặc điểm giống như ZK-SNARK, nhưng bao gồm các ưu điểm sau: a) Khả năng mở rộng: quá trình xác minh nhanh hơn. Tính minh bạch: Quá trình xác minh được công khai. Kích thước bằng chứng lớn hơn: yêu cầu phí giao dịch cao hơn (StarkWare Industries, 2018, 2018)
16. Mô hình Aurora: Được đề xuất bởi Ben-Sasson và cộng sự (2019), dựa trên Đối số không tương tác ngắn gọn (SNARG) của STARK. Không tương tác dựa trên cấu trúc Fiat-Shamir. Nó áp dụng cho sự thỏa mãn của các mạch số học. Kích thước đối số của Aurora chia tỷ lệ đa logarit với kích thước mạch. Ngoài ra, Aurora còn có một số tính năng hấp dẫn. Ở Aurora, có một khung cảnh trong suốt. Không có cuộc tấn công điện toán lượng tử hiệu quả nào có thể phá vỡ Aurora. Ngoài ra, mã hóa đối xứng nhanh được sử dụng làm hộp đen. Aurora tối ưu hóa kích thước bằng chứng. Ví dụ: nếu tham số bảo mật là 128 bit thì kích thước chứng thực của Aurora lên tới 250 kilobyte. Aurora và Ligero tối ưu hóa kích thước bằng chứng và chi phí tính toán, khiến chúng trở nên lý tưởng cho các bằng chứng không có kiến thức trên các thiết bị có nguồn lực hạn chế. Những tối ưu hóa này không chỉ cải thiện hiệu quả mà còn mở rộng phạm vi ứng dụng của công nghệ chứng minh không có kiến thức, cho phép áp dụng nó trong các tình huống thực tế hơn.
17. Mô hình Aurora ngắn gọn: Ben-Sasson và cộng sự (2019) đề xuất trong cùng một bài báo: một phần mở rộng của giao thức Aurora, cung cấp bằng chứng tối ưu hơn kích thước và quá trình xác minh. Nó duy trì các tính năng bảo mật và thiết lập minh bạch của Aurora đồng thời nâng cao hiệu quả.
18. Mô hình Fractal: Chiesa và cộng sự (2020) đã đề xuất SNARK tiền xử lý sử dụng kết hợp đệ quy để cải thiện hiệu quả và khả năng mở rộng. Nó khai thác kích thước bằng chứng logarit và thời gian xác minh và đặc biệt phù hợp với các phép tính phức tạp.
Đầu tiên Thế hệ (G 1) - Mỗi mạch yêu cầu thiết lập đáng tin cậy riêng biệt. zkSNARK, Pinocchio và Groth 16
Thế hệ thứ hai (G 2) - Ban đầu được đặt một lần cho tất cả các mạch. PlonK, Sonic, Marlin, slonk và Libra
Thế hệ thứ ba (G 3) - Hệ thống chứng minh không yêu cầu thiết lập đáng tin cậy. Chống đạn, STARK, Spartan, Fractal, Supersonic, Ligero, Aurora và SuccinctAurora (Čapko, Vukmirović & Nedić, 2019; Partala, Nguyen & Pirttikangas, 2020).
Năm 2019, Andreev và những người khác lần đầu tiên đề xuất khái niệm ZK-VM tại hội nghị "ZkVM: Hợp đồng Blockchain nhanh, riêng tư, linh hoạt" như một nền tảng không có kiến thức hệ thống chứng minh một cách thực hiện. Mục tiêu của ZK-VM là tạo ra các bằng chứng không có kiến thức bằng cách chạy các chương trình máy ảo để xác minh tính chính xác của việc thực thi chương trình mà không làm rò rỉ dữ liệu đầu vào.
VM, (VirtualMachine, máy ảo) là một hệ thống máy tính mô phỏng bằng phần mềm có khả năng thực thi các chương trình, tương tự như một máy tính vật lý. VM thường được sử dụng để tạo môi trường hệ điều hành độc lập, tiến hành thử nghiệm và phát triển phần mềm, v.v. Sự trừu tượng hóa VM hoặc VM có thể được hiểu là sự trừu tượng hóa CPU trong hầu hết các trường hợp. Nó đề cập đến việc trừu tượng hóa các hoạt động và kiến trúc phức tạp của bộ xử lý (CPU) của máy tính thành một tập hợp kiến trúc tập lệnh (ISA) đơn giản, có thể hoạt động được để Đơn giản hóa việc thiết kế và thực thi. của các chương trình máy tính. Theo cách trừu tượng này, các chương trình máy tính có thể chạy qua các máy ảo (VM) mô phỏng hành vi hoạt động của CPU thực (Henderson, 2007).
Bằng chứng không có kiến thức (ZKP) thường yêu cầu thực thi thông qua sự trừu tượng hóa CPU. Cài đặt là người kiểm chứng chạy một chương trình công khai trên đầu vào riêng tư và muốn chứng minh cho người xác minh rằng chương trình đã thực thi chính xác và tạo ra đầu ra được xác nhận mà không tiết lộ đầu vào được tính toán hoặc trạng thái trung gian. Tính trừu tượng hóa CPU rất hữu ích trong trường hợp này vì nó cho phép chương trình chạy trong môi trường ảo được kiểm soát trong khi tạo bằng chứng (Arun, Setty & Thaler, 2024).
Ví dụ: Người chứng minh muốn chứng minh rằng mình có mật khẩu băm mà không tiết lộ mật khẩu:
Mật khẩu→ Hàm băm→ Hàm băm giá trị
Riêng tư → Công khai
Nói chung, người chứng minh phải có khả năng chạy mã thực hiện thao tác băm và tạo mã cho phép bất kỳ "bằng chứng" nào mà con người xác minh tính đúng đắn của bằng chứng, nghĩa là người chứng minh thực sự sở hữu một hình ảnh hợp lệ trước đó về một giá trị băm nhất định.
Các hệ thống tạo ra bằng chứng trừu tượng về các máy ảo này thường được gọi là "zkVM". Cái tên này thực sự gây hiểu lầm vì ZKVM không nhất thiết cung cấp kiến thức bằng không. Nói tóm lại, ZKVM là một máy ảo tập trung vào các bằng chứng không có kiến thức. Nó mở rộng các chức năng của VM truyền thống, có thể hạ thấp ngưỡng phát triển của các mạch không có kiến thức và có thể tạo bằng chứng ngay lập tức cho bất kỳ ứng dụng hoặc tính toán nào (Zhang etal. ., 2023).
Theo mục tiêu thiết kế, nó chủ yếu được chia thành ba loại: p>
1. ZKVM chính thống
Các ZKVM này sử dụng kiến trúc tập lệnh tiêu chuẩn (ISA) hiện có và chuỗi công cụ biên dịch cho nhiều ứng dụng và môi trường phát triển.
· RISCZero (2021): Sử dụng tập lệnh RISC-V, với hệ sinh thái trình biên dịch phong phú (Bögli, 2024).
· PolygonMiden (2021): Dựa trên tiêu chuẩn ISA, cho phép phát triển dễ dàng và hiệu quả (Chawla, 2021).
· zkWASM (2022): zkWASM triển khai bằng chứng không có kiến thức về tập lệnh WebAssembly (WASM), một tập lệnh tiêu chuẩn được áp dụng rộng rãi (DelphinusLab, 2022 ).
2. ZKVM tương đương EVM
·Các ZKVM này được thiết kế đặc biệt để hoạt động với Ethernet It tương thích với Máy ảo Ethereum (EVM) và có thể chạy trực tiếp mã byte của Ethereum.
dự án zkEVM: Một số dự án đang nỗ lực đạt được khả năng tương thích ở cấp độ bytecode với EVM, chẳng hạn như zkSync (MatterLabs, 2020) và Polygon Hermez (Polygon Labs, 2021 ) .
3. ZKVM tối ưu hóa không có kiến thức (không thân thiện với kiến thức)
Những ZKVM này là được tối ưu hóa Hiệu quả và hiệu suất của bằng chứng không có kiến thức được thiết kế cho các tình huống ứng dụng cụ thể.
· Cairo-VM (2018): Đơn giản và tương thích với các bằng chứng SNARK, bộ hướng dẫn của nó được thiết kế đặc biệt thân thiện với số học, giúp dễ dàng thực hiện các thao tác cơ bản số học trong các mạch không có kiến thức Các phép toán, chẳng hạn như phép cộng, phép nhân, v.v. (StarkWare, 2018).
· Valida (2023): Được tối ưu hóa cho các ứng dụng cụ thể, chẳng hạn như bằng cách tối ưu hóa thuật toán để giảm tài nguyên tính toán và thời gian cần thiết để tạo bằng chứng nhẹ. Được thiết kế để hoạt động; trong nhiều môi trường phần cứng và phần mềm khác nhau (LitaFoundation, 2023).
· TinyRAM (2013): không dựa vào chuỗi công cụ tiêu chuẩn: do thiết kế đơn giản và tối ưu hóa nên nó thường không hỗ trợ chuỗi công cụ LLVM hoặc GCC và chỉ có thể được sử dụng Tùy chỉnh quy mô nhỏ các thành phần phần mềm (Ben-Sasson và cộng sự, 2013).
Sự đồng thuận hiện tại là các máy ảo đơn giản hơn có thể được chuyển đổi thành các mạch có ít cổng hơn trên mỗi bước. Điều này được thể hiện rõ nhất trong thiết kế của các máy ảo đặc biệt đơn giản và thân thiện với SNARK như TinyRAM và Cairo-VM. Tuy nhiên, điều này đòi hỏi thêm chi phí vì cần có nhiều lệnh nguyên thủy để triển khai các hoạt động nguyên thủy của CPU trong thế giới thực trên một máy ảo đơn giản (Arun, Setty & Thaler, 2024).
Từ góc độ lập trình, ZKP hệ thống nói chung có thể được chia thành hai phần: frontend và backend. Phần Frontend của hệ thống ZKP chủ yếu sử dụng các ngôn ngữ cấp thấp để thể hiện các ngôn ngữ cấp cao. Ví dụ: một bài toán tính toán tổng quát có thể được biểu diễn bằng các ngôn ngữ mạch cấp thấp hơn, chẳng hạn như tính toán xây dựng ràng buộc mạch R 1 CS, v.v. . (ví dụ: Circom sử dụng R 1 CS. Hãy mô tả mạch đầu cuối của nó). Phần phụ trợ của hệ thống ZKP là hệ thống chứng minh mật mã. Nó chủ yếu xây dựng các mạch được mô tả bằng các ngôn ngữ cấp thấp ở giao diện người dùng và chuyển đổi chúng thành các bằng chứng tạo ra và xác minh tính chính xác. Ví dụ: các giao thức hệ thống phụ trợ thường được sử dụng bao gồm Groth. 16 và Plonk (Arun, Setty & Thaler, 2024; Zhang và cộng sự, 2023).
Thông thường, mạch sẽ "thực hiện" từng bước của chương trình tính toán (với sự trợ giúp của "đầu vào gợi ý" không đáng tin cậy). Việc thực thi một bước trên CPU về mặt khái niệm bao gồm hai nhiệm vụ: (1) xác định lệnh cơ bản mà bước đó sẽ thực hiện và (2) thực hiện lệnh và cập nhật trạng thái CPU một cách thích hợp. Các giao diện người dùng hiện tại thực hiện các nhiệm vụ này thông qua các cổng hoặc ràng buộc được thiết kế cẩn thận. Việc này tốn thời gian và dễ xảy ra lỗi, đồng thời tạo ra các mạch lớn hơn nhiều so với mức cần thiết (Arun, Setty, & Thaler, 2024; Zhang và cộng sự, 2023).
Ưu điểm:
1. Sử dụng các ISA hiện có: Ví dụ: bộ hướng dẫn RISC-V và EVM có thể tận dụng cơ sở hạ tầng trình biên dịch và chuỗi công cụ hiện có mà không cần xây dựng cơ sở hạ tầng từ đầu. Các trình biên dịch hiện có có thể được gọi trực tiếp để chuyển đổi trình kiểm tra nhân chứng được viết bằng ngôn ngữ cấp cao thành mã lắp ráp cho ISA và hưởng lợi từ công việc kiểm tra trước đó hoặc công việc xác minh khác.
2. Một mạch đơn hỗ trợ nhiều chương trình: zkVM cho phép một mạch chạy tất cả các chương trình cho đến khi đạt đến giới hạn thời gian nhất định, trong khi các phương pháp khác có thể yêu cầu khởi động lại cho mỗi chương trình. chương trình. Chạy giao diện người dùng.
3. Mạch có cấu trúc lặp lại: Phần đầu ra của các mạch có cấu trúc lặp lại và phần sau của các mạch này có thể được xử lý nhanh hơn (Arun, Setty & Thaler, 2024; Zhang và cộng sự, 2023).
Nhược điểm:
1. Chi phí cao do tính linh hoạt: Để hỗ trợ tất cả các CPU có thể trình tự lệnh, các mạch zkVM cần phải trả giá cho tính tổng quát của chúng, dẫn đến tăng kích thước mạch và chi phí chứng minh.
2. Các hoạt động có chi phí cao: Việc thực hiện một số hoạt động quan trọng nhất định (chẳng hạn như các hoạt động mã hóa) trong zkVM là rất tốn kém. Ví dụ: quá trình xác minh chữ ký ECDSA mất 100 micro giây trên CPU thực và hàng triệu lệnh trên lệnh RISC-V. Do đó, dự án zkVM chứa các mạch và bảng tra cứu được tối ưu hóa bằng tay để tính toán các chức năng cụ thể.
3. Chi phí chứng nhận cao: Ngay cả đối với các ISA rất đơn giản, chi phí chứng minh của zkVM hiện tại vẫn cao. Ví dụ: trình chứng minh Cairo-VM cần gửi mật mã 51 phần tử miền ở mỗi bước, điều đó có nghĩa là việc thực thi một lệnh nguyên thủy có thể yêu cầu thực thi hàng triệu lệnh trên CPU thực, hạn chế khả năng ứng dụng của nó trong các ứng dụng phức tạp (Arun, Setty & Thaler , 2024 ; Zhang và cộng sự , 2023 ).
ZKEVM (Máy ảo Ethereum không kiến thức) và ZKVM (Máy ảo không kiến thức) đều là các máy ảo áp dụng công nghệ Bằng chứng không kiến thức (ZKP). Máy ảo Ethereum (EVM) là một phần của hệ thống chuỗi khối Ethereum và chịu trách nhiệm xử lý việc triển khai và thực hiện các hợp đồng thông minh. EVM có kiến trúc dựa trên ngăn xếp và là một công cụ điện toán cung cấp tính toán và lưu trữ cho một bộ hướng dẫn cụ thể (chẳng hạn như hoạt động ghi nhật ký, thực thi, truy cập bộ nhớ và lưu trữ, luồng điều khiển, ghi nhật ký, gọi, v.v.). Vai trò của EVM là cập nhật trạng thái của Ethereum sau khi áp dụng các hoạt động của hợp đồng thông minh. ZKEVM được thiết kế đặc biệt cho Ethereum và chủ yếu được sử dụng để xác minh tính chính xác của việc thực hiện hợp đồng thông minh đồng thời bảo vệ quyền riêng tư của giao dịch. ZKEVM chuyển đổi tập lệnh EVM thành hệ thống ZK để thực thi và mỗi lệnh cần cung cấp bằng chứng, bao gồm bằng chứng trạng thái và bằng chứng về tính chính xác khi thực thi (Čapko, Vukmirović & Nedić, 2019).
Các giải pháp phổ biến hiện tại của ZKEVM bao gồm STARKWARE, ZkSync, Polygen-Hermez, Scroll, v.v. Sau đây là phần giới thiệu về các dự án này (Čapko, Vukmirović & Nedić , 2019 ):
STARWARE: Được thành lập bởi Ben-Sasson và cộng sự (2018), chuyên sử dụng công nghệ chứng minh không có kiến thức STARK để cải thiện tính riêng tư và khả năng mở rộng của chuỗi khối
zkSync: Matter Labs được thành lập bởi AlexGluchowski (2020) và những người khác, đồng thời đề xuất giải pháp mở rộng Ethereum Lớp 2 dựa trên zk-rollups.
Polygon-Hermez: Hermez ban đầu là một dự án độc lập, được phát hành vào năm 2020. Sau khi được Polygon mua lại vào tháng 8 năm 2021, nó đã trở thành PolygonHermez, tập trung vào các giải pháp zk-rollups thông lượng cao.
Scroll: Được thành lập bởi Zhang và Peng (2021), đạt được thông lượng giao dịch cao hơn và phí Gas thấp hơn, do đó cải thiện hiệu suất tổng thể của Ethereum và trải nghiệm người dùng.
Nói chung có thể chia theo mức độ tương thích với EVM (Čapko, Vukmirović & Nedić, 2019):
1.Khả năng tương thích cấp độ chức năng hợp đồng thông minh tương thích EVM-EVM, chẳng hạn như STARKWARE, zkSync
2.Tương đương EVM, hướng dẫn EVM mức độ tương thích (tương đương với ), chẳng hạn như polygen-Hrmez, cuộn
Xem Hình 1 để biết giải pháp cải tiến hệ thống Ethereum dựa trên kiến thức bằng không

Hình 1 Giải pháp cải tiến hệ thống Ethereum dựa trên kiến thức bằng không
p>
Xử lý chương trình nút: nhật ký thực thi và xử lý xác minh chương trình nút, tiêu đề khối, giao dịch, mã byte hợp đồng , Bằng chứng của Merkel, v.v. và gửi những dữ liệu này đến zkEVM để xử lý.
Tạo bằng chứng ZK: zkEVM sử dụng các mạch để tạo bằng chứng ZK về kết quả thực thi (bằng chứng về trạng thái và tính chính xác của việc thực thi). Các chức năng mạch này chủ yếu được triển khai bằng cách sử dụng các bảng và các mạch đặc biệt. .
Bằng chứng tổng hợp: Sử dụng các mạch tổng hợp để tạo ra các bằng chứng nhỏ hơn từ các bằng chứng lớn, chẳng hạn như sử dụng bằng chứng đệ quy.
Gửi tới hợp đồng L1: Bằng chứng tổng hợp được gửi dưới dạng giao dịch đến hợp đồng L1 để thực hiện (Čapko, Vukmirović & Nedić, 2019).
Lấy dữ liệu: từ hệ thống chuỗi khối Ethereum Lấy dữ liệu, bao gồm các giao dịch, tiêu đề khối, hợp đồng, v.v.
Xử lý dữ liệu: xử lý và xác minh nhật ký thực thi, tiêu đề khối, giao dịch, mã byte hợp đồng, bằng chứng Merkel, v.v.
Tạo bằng chứng: Sử dụng các mạch để tạo bằng chứng ZK nhằm đảm bảo tính chính xác của việc cập nhật trạng thái và thực hiện từng lệnh.
Bằng chứng đệ quy: nén bằng chứng lớn được tạo thành bằng chứng tổng hợp nhỏ hơn.
Gửi bằng chứng: Gửi bằng chứng tổng hợp cho hợp đồng L1 để hoàn tất xác minh giao dịch (Čapko, Vukmirović & Nedić, 2019).
Nâng cao khả năng xử lý giao dịch: được thực hiện thông qua ZKEVM trên giao dịch L2 , giảm tải cho L1.
Bảo vệ quyền riêng tư: Bảo vệ quyền riêng tư của giao dịch trong khi xác minh việc thực hiện hợp đồng thông minh.
Xác minh hiệu quả: Sử dụng công nghệ chứng minh không có kiến thức để đạt được xác minh trạng thái hiệu quả và tính chính xác khi thực thi (Čapko, Vukmirović & Nedić, 2019).
Chuỗi khối Ethereum là một trong những hệ sinh thái chuỗi khối được áp dụng rộng rãi nhất hiện nay. Tuy nhiên, Ethereum phải đối mặt với các vấn đề nghiêm trọng về khả năng mở rộng khiến việc sử dụng trở nên tốn kém. Giải pháp mạng hai lớp không có kiến thức (ZK Rollup) dựa trên bằng chứng không có kiến thức (ZKP). Đây là giải pháp mạng hai lớp (Lớp 2) để mở rộng Ethereum. Nó khắc phục nhược điểm về thời gian xác nhận cuối cùng của giao dịch OptimisticRollups. quá dài (Ganguly, 2023).
ZK Rollup cho phép triển khai trong một giao dịch. Hợp đồng thông minh trên L1 chịu trách nhiệm xử lý và xác thực tất cả các giao dịch chuyển tiền, lý tưởng nhất là chỉ tạo ra một giao dịch. Điều này làm giảm việc sử dụng tài nguyên tính toán trên Ethereum bằng cách thực hiện các giao dịch ngoài chuỗi và đưa các giao dịch đã ký cuối cùng trở lại chuỗi. Bước này được gọi là ValidityProof. Trong một số trường hợp, việc xác minh có thể không được hoàn thành trong một bằng chứng duy nhất và các giao dịch bổ sung được yêu cầu xuất bản dữ liệu khi tổng hợp lên chuỗi chính Ethereum để đảm bảo tính khả dụng của dữ liệu (Ganguly, 2023).
Về mặt không gian, sử dụng ZK Rollup cải thiện hiệu quả vì không cần lưu trữ dữ liệu như các hợp đồng thông minh thông thường. Mỗi giao dịch chỉ cần bằng chứng xác minh, điều này càng khẳng định việc giảm thiểu dữ liệu, khiến chúng rẻ hơn và nhanh hơn (Ganguly, 2023).
Mặc dù ZK Rollups có chứa thuật ngữ "ZK" (không có kiến thức) trong tên nhưng chúng chủ yếu sử dụng tính đơn giản của các bằng chứng không có kiến thức để nâng cao hiệu quả của giao dịch blockchain nâng cao hiệu quả xử lý, thay vì tập trung chủ yếu vào bảo vệ quyền riêng tư (Ganguly, 2023).
ZK Rollup (tóm tắt không có kiến thức) như Ethereum Mặc dù giải pháp Lớp 2 có thể mở rộng có hiệu suất tuyệt vời trong việc cải thiện hiệu quả xử lý giao dịch, nhưng vấn đề chính của nó là chi phí tính toán rất cao. Tuy nhiên, thông qua một số giải pháp tối ưu hóa, hiệu suất và tính khả thi của ZK Rollup có thể được cải thiện đáng kể ((Čapko, Vukmirović & Nedić, 2019).
1. Tối ưu hóa mật mã thuật toán Việc tính toán
Tối ưu hóa quy trình tính toán của các thuật toán mã hóa có thể cải thiện hiệu quả của ZK Rollup và giảm thời gian tính toán cũng như mức tiêu thụ tài nguyên. Ví dụ: Plonky 2 được phát triển. bởi PolygonZero (trước đây là MIR). Được đề xuất, một giải pháp ZK Rollup phi tập trung, Plonky 2 là SNARK đệ quy nhanh hơn 100 lần so với các giải pháp thay thế tương thích với Ethereum khác, kết hợp các tính năng tốt nhất của STARK và SNARK:
Plonk và FRI: cung cấp bằng chứng nhanh chóng mà không cần thiết lập độ tin cậy
Hỗ trợ đệ quy: nâng cao hiệu quả thông qua bằng chứng đệ quy
p>
Chi phí xác minh thấp: Kết hợp FRI đệ quy 64-bit với Plonk để đạt được bằng chứng hiệu quả
2 . ZK Rollup để tăng cường quyền riêng tư trong giao dịch và giảm phí chuyển khoản (Giảm tới 86%)
3 Phát triển ZK EVM chuyên dụng
ZK EVM chuyên dụng được thiết kế để cải thiện thuật toán ZK Rollup và có thể tối ưu hóa quy trình chứng minh không có kiến thức. Sau đây là một số giải pháp cụ thể:
AppliedZKP: Một dự án nguồn mở được tài trợ bởi Ethereum Foundation nhằm triển khai ZK của opcode gốc Ethereum EVM, sử dụng thuật toán mã hóa halo 2, KZG và Barreto-Naehrig (BN-254 ) chẳng hạn như ghép nối đường cong elip.
zkSync: zkEVM do Matter Labs phát triển là một EVM tùy chỉnh biên dịch mã hợp đồng thành YUL (ngôn ngữ trung gian của trình biên dịch Solidity), sau đó biên dịch nó thành hỗ trợ mã byte tùy chỉnh, sử dụng ultraPlonk, phiên bản mở rộng của Plonk.
Polygon Hermez: Tùy chỉnh Rollup phi tập trung tương thích với EVM, biên dịch mã hợp đồng thành bộ hướng dẫn vi mô được hỗ trợ, sử dụng hệ thống chứng minh Plonk, KZG và Groth 16 .
Sin 7 Y zkEVM: Đã triển khai ZK cho các opcode gốc EVM và các opcode chuyên biệt được tối ưu hóa, sử dụng halo 2, KZG và RecursivePlonk.
Polygon Miden: Một máy ảo phổ quát không có kiến thức dựa trên STARK.
4. Tối ưu hóa phần cứng
Tối ưu hóa phần cứng có thể cải thiện đáng kể hiệu suất của ZK Rollup. Dưới đây là một số tùy chọn tối ưu hóa phần cứng:
DIZK (DistributedZero Knowledge): Tối ưu hóa bằng cách phân phối việc thực thi các bằng chứng zkSNARK trên một cụm máy tính. Kiến trúc phần cứng bao gồm hai hệ thống con, một hệ thống con dùng để tính toán đa thức (POLY) với các phép biến đổi lý thuyết số cỡ lớn (NTT) và hệ thống kia dùng để thực hiện phép nhân đa vô hướng (MSM) trên các đường cong elip (EC). PipeMSM là một thuật toán MSM được thiết kế theo đường ống để triển khai trên FPGA.
Thiết kế bộ tăng tốc phần cứng ZKP dựa trên FPGA: bao gồm nhiều đơn vị FFT (biến đổi Fourier nhanh) và phân rã các hoạt động FFT, nhiều đơn vị MAC (nhân và tích lũy mạch) ) và nhiều đơn vị ECP (Xử lý đường cong Elliptic) để giảm chi phí tính toán. Thiết kế zk-SNARK dựa trên FPGA giúp giảm thời gian chứng minh khoảng 10 lần.
Tăng tốc phần cứng của giao thức Bulletproof: triển khai thông qua khung hợp tác CPU-GPU và Bulletproofs song song trên GPU (Čapko, Vukmirović & Nedić, 2019).
Các giao thức chứng minh không có kiến thức (chẳng hạn như ZKSNARK và ZKSTARK) thường liên quan đến một số lượng lớn các phép toán phức tạp trong quá trình thực thi. thời gian cực ngắn và yêu cầu tài nguyên tính toán (chẳng hạn như CPU và GPU) đưa ra yêu cầu cực cao, dẫn đến độ phức tạp tính toán cao và thời gian tính toán dài. Ngoài ra, việc tạo và xác minh bằng chứng không có kiến thức đòi hỏi phải truy cập thường xuyên vào khối lượng dữ liệu lớn, đặt ra yêu cầu cao về băng thông bộ nhớ. Các hệ thống máy tính hiện đại có băng thông bộ nhớ hạn chế và không thể hỗ trợ hiệu quả các yêu cầu truy cập dữ liệu tần số cao như vậy, dẫn đến tắc nghẽn hiệu suất. Cuối cùng, tải tính toán cao dẫn đến mức tiêu thụ năng lượng cao, đặc biệt là trong các ứng dụng blockchain và phi tập trung, nơi cần phải thực hiện liên tục một lượng lớn phép tính bằng chứng. Do đó, mặc dù các giải pháp tối ưu hóa phần mềm có thể giảm bớt một phần những vấn đề này, nhưng rất khó để đạt được hiệu suất cao và mức tiêu thụ năng lượng thấp khi tăng tốc phần cứng do những hạn chế vật lý của phần cứng máy tính đa năng. Các giải pháp kết hợp có thể đạt được những cải tiến hiệu suất cao trong khi vẫn duy trì tính linh hoạt (Zhang và cộng sự, 2021).
ZK-ASIC (Mạch tích hợp dành riêng cho ứng dụng)
Nhiều dự án đã xuất hiện trong năm 2020, nó nhằm mục đích tăng tốc và tối ưu hóa quá trình tạo và xác minh bằng chứng không kiến thức (ZKP) thông qua phần cứng như GPU hoặc FPGA để nâng cao hiệu quả (Filecoin, 2024; Coda, 2024;Gpu Groove 16 Prover, 2024; Roy và cộng sự, 2019; Devlin, 2024; Javeed & Wang, 2017).
2021: Zhang và cộng sự đã đề xuất giải pháp tăng tốc bằng chứng không có kiến thức dựa trên kiến trúc quy trình, sử dụng thuật toán Pippenger để tối ưu hóa phép nhân đa vô hướng (MSM) , thông qua Biến đổi Fourier nhanh (FFT) "Tháo cuộn" làm giảm độ trễ truyền dữ liệu (Zhang và cộng sự, 2021).
ZKCoprocessor (bộ đồng xử lý)
Axiom (2022) đã đề xuất khái niệm ZKCoprocessor, tức là , bộ đồng xử lý ZK. Bộ đồng xử lý là một con chip riêng biệt giúp tăng cường CPU và cung cấp các hoạt động chuyên biệt như hoạt động dấu phẩy động, hoạt động mã hóa hoặc xử lý đồ họa. Mặc dù thuật ngữ này không còn được sử dụng phổ biến vì CPU đã trở nên mạnh mẽ hơn nhưng GPU vẫn có thể được coi là một loại bộ đồng xử lý cho CPU, đặc biệt là trong bối cảnh machine learning.
Thuật ngữ bộ đồng xử lý ZK mở rộng sự tương tự của chip bộ đồng xử lý vật lý với điện toán chuỗi khối, cho phép các nhà phát triển hợp đồng thông minh chứng minh tính toán ngoài chuỗi hiện có của dữ liệu trên chuỗi. Một trong những trở ngại lớn nhất mà các nhà phát triển hợp đồng thông minh phải đối mặt vẫn là chi phí tính toán trên chuỗi cao. Vì mọi hoạt động đều tính lượng gas nên chi phí cho logic ứng dụng phức tạp nhanh chóng trở nên không khả thi. Bộ đồng xử lý ZK giới thiệu một mẫu thiết kế mới cho các ứng dụng trên chuỗi, loại bỏ hạn chế về việc phải hoàn thành các phép tính trong máy ảo blockchain. Điều này cho phép các ứng dụng truy cập nhiều dữ liệu hơn và hoạt động ở quy mô lớn hơn trước (Axiom, 2022).
Khái niệm về ZKML
Học máy không có kiến thức (ZKML) là một lĩnh vực mới nổi áp dụng công nghệ bằng chứng không có kiến thức (ZKP) vào học máy. Ý tưởng cốt lõi của ZKML là cho phép xác minh kết quả tính toán học máy mà không tiết lộ dữ liệu hoặc chi tiết mô hình. Điều này không chỉ bảo vệ quyền riêng tư của dữ liệu mà còn đảm bảo độ tin cậy và tính chính xác của kết quả tính toán (Zhang và cộng sự, 2020).
Sự phát triển của ZKML
Năm 2020, Học giả Zhang và những người khác đã trình bày tại CCS 2020 Hội nghị Khái niệm ZKML lần đầu tiên được đề xuất một cách có hệ thống, cho thấy cách thực hiện bằng chứng không có kiến thức về dự đoán cây quyết định mà không làm rò rỉ dữ liệu hoặc chi tiết mô hình. Điều này đặt nền tảng lý thuyết cho ZKML.
Vào năm 2022, Wang và Hoang tiếp tục nghiên cứu và triển khai ZKML, đồng thời đề xuất một quy trình suy luận machine learning không có kiến thức hiệu quả, chỉ ra cách áp dụng nó vào thực tế cuộc sống. ZKML ở định dạng . Nghiên cứu cho thấy mặc dù công nghệ ZKP phức tạp nhưng thông qua tối ưu hóa hợp lý, nó có thể đạt được hiệu suất tính toán ở mức chấp nhận được trong khi vẫn đảm bảo quyền riêng tư của dữ liệu và tính chính xác của tính toán.
Khái niệm về ZKThreads
Vào năm 2021, StarkWare đã đề xuất khái niệm ZKThreads, nhằm mục đích kết hợp bằng chứng không kiến thức (ZKP) và công nghệ sharding để cung cấp khả năng mở rộng và tùy chỉnh cho các ứng dụng phi tập trung (DApps) mà không gây ra vấn đề phân mảnh. ZKThreads cải thiện tính bảo mật và khả năng kết hợp bằng cách đảm bảo thời gian thực ở mọi bước bằng cách quay trở lại trực tiếp ở lớp cơ sở.
ZKThreads đã được tối ưu hóa ở ba khía cạnh: cấu trúc chuỗi đơn, vấn đề thanh khoản tổng hợp và Proto-Danksharding.
Giải pháp chuỗi đơn: Trong kiến trúc chuỗi đơn truyền thống, tất cả giao dịch được xử lý trên một chuỗi, dẫn đến hệ thống quá tải và khả năng mở rộng kém. ZKThreads cải thiện đáng kể hiệu quả xử lý bằng cách phân phối dữ liệu và các tác vụ tính toán trên nhiều phân đoạn.
Giải pháp ZK-rollups: Mặc dù ZK-rollups đã cải thiện đáng kể tốc độ xử lý giao dịch và giảm chi phí nhưng chúng thường hoạt động độc lập, dẫn đến các vấn đề về phân mảnh thanh khoản và khả năng tương tác. ZKThreads cung cấp môi trường phát triển được tiêu chuẩn hóa, hỗ trợ khả năng tương tác giữa các phân đoạn khác nhau và giải quyết vấn đề phân mảnh thanh khoản.
Công nghệ Proto-Danksharding: Đây là một kế hoạch cải tiến nội bộ của Ethereum nhằm giảm chi phí giao dịch của zk-rollups bằng cách lưu trữ tạm thời các khối dữ liệu. ZKThreads cải thiện hơn nữa trên cơ sở này, giảm sự phụ thuộc vào việc lưu trữ dữ liệu tạm thời thông qua kiến trúc sharding hiệu quả hơn, cải thiện hiệu quả và tính bảo mật tổng thể của hệ thống (StarkWare, 2021).
Khái niệm ZK Sharding được đề xuất
Sau đó, vào năm 2022, NilFoundation đã đề xuất ZK Sharding Khái niệm này nhằm mục đích đạt được khả năng mở rộng của Ethereum và tốc độ giao dịch nhanh hơn bằng cách kết hợp các bằng chứng không có kiến thức (ZKP) và công nghệ sharding. Công nghệ này nhằm mục đích chia mạng Ethereum thành nhiều phần để xử lý các giao dịch theo cách rẻ hơn và hiệu quả hơn. Công nghệ này bao gồm zkSharding, sử dụng công nghệ không kiến thức để tạo ra bằng chứng đảm bảo các giao dịch trên các phân đoạn khác nhau là hợp lệ trước khi được gửi lên chuỗi chính. Phương pháp này không chỉ cải thiện tốc độ giao dịch mà còn giảm sự phân mảnh dữ liệu trên chuỗi và đảm bảo an ninh và thanh khoản kinh tế.
Kênh Nhà nước ZK
Vào năm 2021, khái niệm ZK StateChannels đã được Virtual Labs đề xuất, kết hợp bằng chứng không kiến thức (ZKP) và công nghệ kênh trạng thái, nhằm đạt được các giao dịch ngoài chuỗi hiệu quả thông qua các kênh trạng thái, đồng thời Tận dụng bằng chứng không có kiến thức để đảm bảo quyền riêng tư và bảo mật của giao dịch.
Giải pháp ban đầu được thay thế bằng Kênh trạng thái ZK
1.
Giải pháp ban đầu: Các kênh trạng thái truyền thống cho phép hai người dùng thực hiện giao dịch ngang hàng (P2P) trong hợp đồng thông minh bằng cách khóa tiền. Vì tiền bị khóa nên việc trao đổi chữ ký giữa người dùng có thể diễn ra trực tiếp mà không liên quan đến bất kỳ khoản phí gas và sự chậm trễ nào. Tuy nhiên, phương pháp này yêu cầu một địa chỉ được xác định trước và việc mở và đóng kênh yêu cầu các hoạt động trên chuỗi, điều này hạn chế tính linh hoạt của nó.
Giải pháp thay thế: ZK StateChannels cung cấp hỗ trợ cho số lượng người tham gia không giới hạn, cho phép vào và ra linh hoạt mà không cần địa chỉ người dùng được xác định trước. Ngoài ra, thông qua các bằng chứng không có kiến thức, ZK StateChannels cung cấp khả năng truy cập chuỗi chéo tức thì và bằng chứng tự xác minh, giải quyết các vấn đề về tính linh hoạt và khả năng mở rộng của các kênh trạng thái truyền thống.
2. Hỗ trợ đa chuỗi:
Giải pháp ban đầu: Các kênh trạng thái truyền thống thường chỉ hỗ trợ các giao dịch trên một chuỗi duy nhất và không thể thực hiện các hoạt động xuyên chuỗi, hạn chế phạm vi hoạt động của người dùng.
Giải pháp thay thế: ZK StateChannels sử dụng công nghệ chứng minh không có kiến thức để đạt được các giao dịch và luồng tài sản xuyên chuỗi ngay lập tức mà không cần cầu nối trung gian, cải thiện đáng kể sự tương tác đa chuỗi Khả năng hoạt động.
3. Các hạn chế về địa chỉ được xác định trước:
Giải pháp ban đầu: trong kênh trạng thái truyền thống, các địa chỉ số người tham gia giao dịch phải được xác định trước khi kênh được tạo và nếu người tham gia mới tham gia hoặc rời đi, kênh phải được đóng và mở lại, điều này làm tăng độ phức tạp và chi phí vận hành.
Giải pháp thay thế: ZK StateChannels cho phép tham gia và thoát linh hoạt. Những người tham gia mới có thể tham gia các kênh hiện có bất kỳ lúc nào mà không ảnh hưởng đến hoạt động của người dùng hiện tại, cải thiện đáng kể Cải thiện tính linh hoạt của hệ thống và người dùng. kinh nghiệm.
4.Giao thức tương tác Omnichain ZK
Vào năm 2022, Giao thức tương tác ZKOmnichain đã được Way Network đề xuất Nó nhằm mục đích đạt được khả năng tương tác dữ liệu và tài sản xuyên chuỗi dựa trên bằng chứng không có kiến thức. Giao thức thực hiện giao tiếp và truyền dữ liệu toàn chuỗi bằng cách sử dụng zkRelayer, ZK Verifier, IPFS, Người gửi và Người nhận.
Dự án Omnichain tập trung vào khả năng tương tác xuyên chuỗi và nhằm mục đích cung cấp một mạng lưới an toàn, có độ trễ thấp để kết nối các chuỗi khối khác nhau. Nó cho phép chuyển tài sản và dữ liệu liền mạch giữa các chuỗi khối bằng cách giới thiệu giao thức giao dịch chuỗi chéo được tiêu chuẩn hóa. Phương pháp này không chỉ cải thiện hiệu quả giao dịch mà còn đảm bảo tính bảo mật cho các hoạt động xuyên chuỗi.
Way Network có thể được coi là một triển khai cụ thể của khái niệm Omnichain, đặc biệt là trong việc sử dụng công nghệ chứng minh không có kiến thức để tăng cường quyền riêng tư và bảo mật. Kiến trúc kỹ thuật của Way Network cho phép nó đạt được khả năng tương tác liền mạch giữa các chuỗi trong khi vẫn duy trì tính phân quyền và hiệu quả.
Tóm lại, Omnichain cung cấp một khuôn khổ tổng thể cho khả năng tương tác giữa các chuỗi, trong khi Way Network cung cấp một khuôn khổ toàn diện hơn cho khuôn khổ này thông qua công nghệ mạnh mẽ chứng minh không có kiến thức. bảo vệ quyền riêng tư và bảo mật.
Bài viết này thảo luận về công nghệ zero-know proof (ZKP) và ứng dụng của nó trong khu vực. Một đánh giá tài liệu toàn diện được thực hiện về những phát triển và ứng dụng mới nhất trong lĩnh vực blockchain. Chúng tôi xem xét một cách có hệ thống các ZKP trong bối cảnh blockchain, khảo sát các sơ đồ tranh luận không có kiến thức hiện đại dành cho chuỗi khối và tính toán có thể kiểm chứng, đồng thời khám phá các ứng dụng của chúng trong các giao dịch ẩn danh và bí mật cũng như hợp đồng thông minh về quyền riêng tư. Bài viết này liệt kê những ưu điểm và nhược điểm của các giải pháp và phương pháp được bình duyệt mang tính học thuật này, cung cấp tài liệu tham khảo để đánh giá và so sánh thực tế các giải pháp này, đồng thời nêu bật các kỹ năng và kiến thức mà nhà phát triển cần có trong việc lựa chọn giải pháp thích hợp cho một trường hợp sử dụng cụ thể.
Ngoài ra, bài viết này cũng mong đợi hướng phát triển trong tương lai của bằng chứng không có kiến thức về khả năng tăng tốc phần cứng, khả năng mở rộng blockchain, khả năng tương tác và bảo vệ quyền riêng tư. Thông qua phân tích chi tiết về các công nghệ mới nhất và xu hướng phát triển này, bài viết này cung cấp cái nhìn toàn diện về sự hiểu biết và áp dụng công nghệ chứng minh không có kiến thức, chứng minh tiềm năng to lớn của nó trong việc cải thiện hiệu quả và bảo mật của hệ thống blockchain. Đồng thời, nghiên cứu này đặt nền tảng vững chắc cho các nghiên cứu tiếp theo về đầu tư dự án ZK.
· Ames, S., Hazay, C., Ishai, Y . và Venkitasubramaniam, M.(2017) 'Ligero', Kỷ yếu của Hội nghị ACM SIGSAC 2017 về An ninh Máy tính và Truyền thông, trang 2087-2104.DOI: https://doi.org/10.1145/3133956.3134104.
· AdaPulse (2024) 'Sự hội tụ của các bằng chứng không có kiến thức và hệ thống phi tập trung: Phần 1', AdaPulse. Có sẵn tại: https://adapulse.io/the-convergence-of- zero -know-proofs-and-decentralized-systems-part-1 (Truy cập: ngày 30 tháng 6 năm 2024).
· Ambainis, A., Rosmanis, A. và Unruh, D .(2014) 'Các cuộc tấn công lượng tử vào các hệ thống chứng minh cổ điển: Độ cứng của việc tua lại lượng tử', trong Kỷ yếu của Hội nghị chuyên đề thường niên lần thứ 55 của IEEE về nền tảng khoa học máy tính (FOCS 2014), trang 474-483.
· Andreev, O., et al.(2019) 'ZkVM: Hợp đồng Blockchain nhanh chóng, riêng tư, linh hoạt'. Có sẵn tại: https://cathieyun.github.io/trình bày/zkvm.html ( Truy cập: ngày 30 tháng 6 năm 2024).
· Arun, A., Setty, S. và Thaler, J. (2024) 'Jolt: SNARKs for Virtual Machines via Lookups' , trong Joye, M. và Leander, G. (eds) Những tiến bộ trong mật mã học – EUROCRYPT 2024, Bài giảng về Khoa học máy tính, tập 14656.Cham: Springer.Có tại: https://doi.org/10.1007/978- 3 -031-58751-1_1 (Truy cập: ngày 30 tháng 6 năm 2024).
· Axiom (2022) 'Bộ đồng xử lý ZK là gì?'.Có tại: https:// blog .axiom.xyz (Truy cập: ngày 30 tháng 6 năm 2024).
· Bögli, R. (2024) 'Đánh giá RISC Zero bằng ZKit: Bộ công cụ đo điểm chuẩn và kiểm tra mở rộng cho các khung ZKP '.Luận văn thạc sĩ, OST Ostschweizer Fachhochschule.
· Burger, E. (2022) 'Tốc độ phi tập trung: Những tiến bộ trong việc không có bằng chứng kiến thức', a16z.Có sẵn tại: https: / /a16z.com/decentralized-speed-advances-in-zero-know-proofs/ (Truy cập: ngày 30 tháng 6 năm 2024).
· Blum, M., Feldman, P và Micali, S.(1988) 'Kiến thức không tương tác và các ứng dụng của nó', Kỷ yếu của Hội nghị chuyên đề ACM thường niên lần thứ 20 về Lý thuyết máy tính (STOC '88), trang 103-112.DOI: https:// doi.org/10.1145/62212.62222.
· Bootle, J., Cerulli, A., Chaidos, P., Groth, J. và Petit, C. (2015 ) 'Các đối số không có kiến thức hiệu quả cho các mạch số học trong cài đặt nhật ký rời rạc', EUROCRYPT 2016: Những tiến bộ trong Mật mã học, Ghi chú Bài giảng về Khoa học Máy tính, tập 9666, trang 327-357.Có tại: https://link.springer. com/chapter/10.1007/978-3-662-49896-5_12 (Truy cập: ngày 30 tháng 6 năm 2024).
· Bayer, S. và Groth, J. (2012 ) 'Lập luận không có kiến thức hiệu quả về tính đúng đắn của việc xáo trộn', EUROCRYPT 2012: Những tiến bộ trong mật mã học, Ghi chú bài giảng về Khoa học máy tính, tập 7237, trang 263-280. Có sẵn tại: https://link.springer.com/ chương /10.1007/978-3-642-29011-4_16 (Truy cập: ngày 30 tháng 6 năm 2024).
· Bitansky, N., Canetti, R., Chiesa, A. và Tromer, E.(2011) 'Từ khả năng chống va chạm có thể trích xuất đến các lập luận ngắn gọn về kiến thức không tương tác và quay lại', Kho lưu trữ ePrint về mật mã. Có sẵn tại: https://eprint.iacr.org/2011/443.pdf ( Đã truy cập : Ngày 30 tháng 6 năm 2024).
· Bünz, B., Bootle, J., Boneh, D., Poelstra, A., Wuille, P. và Maxwell, G . (2018) 'Chống đạn: Bằng chứng ngắn cho các giao dịch bí mật và hơn thế nữa', Lưu trữ ePrint mật mã. Có sẵn tại: https://eprint.iacr.org/2017/1066.pdf (Truy cập: ngày 30 tháng 6 năm 2024).
· Bünz, B., Fisch, B. và Szepieniec, A. (2019) 'SNARK trong suốt từ Trình biên dịch DARK', Lưu trữ ePrint mật mã. Có sẵn tại: https://eprint.iacr . org/2019/1229 (Truy cập: ngày 28 tháng 6 năm 2024).
· Ben-Sasson, E., Chiesa, A., Genkin, D., Tromer, E. và Virza, M.(2013) 'SNARKs for C: Xác minh việc thực thi chương trình một cách ngắn gọn và không có kiến thức (phiên bản mở rộng)', Lưu trữ ePrint mật mã. Có sẵn tại: https://eprint.iacr.org/2013/507.pdf ( Đã truy cập : Ngày 30 tháng 6 năm 2024).
· Ben-Sasson, E., Chiesa, A., Garman, C., Green, M., Miers, I., Tromer , E. và Virza, M.(2014) 'Kiến thức không tương tác ngắn gọn cho kiến trúc Von Neumann', trong Kỷ yếu của Hội nghị chuyên đề bảo mật USENIX lần thứ 23, trang 781-796.
· Ben-Sasson, E., Chiesa, A., Garman, C., Green, M., Miers, I., Tromer, E. và Virza, M. (2014) 'Zerocash: Thanh toán ẩn danh phi tập trung từ Bitcoin ' , trong Kỷ yếu của Hội nghị chuyên đề IEEE 2014 về Bảo mật và Quyền riêng tư.
· Ben-Sasson, E., Bentov, I., Horesh, Y. và Riabzev, M. ( 2018) 'Tính toàn vẹn tính toán an toàn có thể mở rộng, minh bạch và sau lượng tử', Lưu trữ ePrint mật mã. Có sẵn tại: https://eprint.iacr.org/2018/046.pdf (Truy cập: ngày 30 tháng 6 năm 2024).
· Ben-Sasson, E., Chiesa, A., Riabzev, M., Spooner, N., Virza, M. và Ward, N. (2019) 'Aurora: Minh bạch ngắn gọn Các đối số cho R1CS', Lưu trữ ePrint mật mã. Có sẵn tại: https://eprint.iacr.org/2018/828.pdf (Truy cập: ngày 3 tháng 5 năm 2024).
· Chaidos, P.I.P.(2017) Các ứng dụng và giao thức không có kiến thức. Luận án Tiến sĩ Triết học. Đại học College London, Khoa học An ninh & Tội phạm.
· Chawla, V. (2021) ' Polygon Ra mắt Giải pháp ZK-Rollup Miden để mở rộng quy mô Ethereum', Tóm tắt về tiền điện tử. Có sẵn tại: https://cryptobriefing.com/polygon-unveils-miden (Truy cập: ngày 30 tháng 6 năm 2024).
· Chiesa, A., Hu, Y., Maller, M., Mishra, P., Vesely, P. và Ward, N. (2019) 'M: Tiền xử lý zkSNARK với SRS phổ biến và có thể cập nhật' [trực tuyến ] Có sẵn tại: https://eprint.iacr.org/2019/1047.pdf (Truy cập: ngày 30 tháng 6 năm 2024).
· Giao thức Coda (n.d.)'Gpu Groove16 Pror '.Có sẵn tại: https://github.com/CodaProtocol/gpu-groth16-prover-3x (Truy cập: ngày 30 tháng 6 năm 2024).
· Chiesa, A. , Ojha, D. và Spooner, N.(2020) 'FRACTAL: Bằng chứng đệ quy sau lượng tử và trong suốt từ Hình ba chiều' [trực tuyến] Có sẵn tại: https://eprint.iacr.org/2019/1076.pdf (Đã truy cập: Ngày 3 tháng 5 năm 2024).
· Čapko, D., Vukmirović, S. và Nedić, N. (2019) 'Trạng thái của nghệ thuật chứng minh không có kiến thức trong Blockchain ' , Khoa Khoa học Kỹ thuật, Đại học Novi Sad, Novi Sad, Serbia. Có tại: dcapko@uns.ac.rs, srdjanvu@uns.ac.rs, nemanja.nedic@uns.ac.rs (Truy cập: ngày 30 tháng 6 năm 2024 ).
· Cramer, R. và Shoup, V. (1998) 'Một sơ đồ mã hóa khóa công khai thực tế an toàn chống lại cuộc tấn công bản mã được chọn thích ứng', trong Advances in Cryptology – CRYPTO』98, tr.13-25.Springer.
· Cramer, R. và Shoup, V. (2002) 'Bằng chứng băm phổ quát và mô hình cho văn bản mã hóa được chọn thích ứng mã hóa khóa công khai an toàn', trong Những tiến bộ về mật mã học – EUROCRYPT 2002, trang 45-64.
· Canetti, R., Goldreich, O. và Halevi, S.(2003) 'Về phương pháp tiên tri ngẫu nhiên được áp dụng cho các lược đồ chữ ký có giới hạn độ dài' [trực tuyến] Cryptology ePrint Archive. Có sẵn tại: https://eprint.iacr.org/2003/150 (Truy cập: 28 tháng 6 .2024).
· Devlin, B.S. (n.d.) 'Người chứng minh Fpga nhắm mục tiêu vào đường cong bn128'. Có sẵn tại: https://github.com/bsdevlin/fpga_snark_prover ( Truy cập: ngày 30 tháng 6 năm 2024).
· Damgård, I., Fazio, N. và Nicolosi, A. (2006) 'Không có kiến thức không tương tác từ mã hóa đồng cấu ' , trong Hội nghị Lý thuyết về Mật mã học (TCC 2006), Ghi chú Bài giảng về Khoa học Máy tính, tập 3876, trang 41-59. Có tại: https://iacr.org/archive/tcc2006/38760041/38760041.pdf (Truy cập: Ngày 28 tháng 6 năm 2024).
· Nghiên cứu Ethereum (2019) 'SLONK—một SNARK phổ quát đơn giản' [trực tuyến] Có sẵn tại: https://ethresear.ch/ t. /slonk-a-simple-universal-snark/6420 (Truy cập: ngày 28 tháng 6 năm 2024).
· Dự án Filecoin (n.d.) 'bellperson: Tăng tốc song song Gpu cho zk - snark'.Có tại: https://github.com/filecoin-project/bellperson (Truy cập: ngày 30 tháng 6 năm 2024).
· Fiat, A. và Shamir, A .(1986) 'Cách chứng minh bản thân: Giải pháp thực tế cho các vấn đề nhận dạng và chữ ký', Những tiến bộ trong mật mã học—CRYPTO』 86, trang 186–194.DOI: https://doi.org/10.1007/3-540 - 47721-7_12.
· Feige, U., Fiat, A. và Shamir, A. (1986) 'Bằng chứng nhận dạng không có kiến thức', trong Kỷ yếu ngày 19 Hội nghị chuyên đề ACM hàng năm về Lý thuyết máy tính (STOC 1986), tr.210-217.DOI: 10.1145/12130.12146.
· Ganguly, P. (2023) Bằng chứng không có kiến thức Nguồn gốc và các trường hợp sử dụng đầu thế kỷ 21. Luận án Thạc sĩ Khoa học (Khoa học Máy tính), Đại học New York, Nhà xuất bản Luận văn UMI, ProQuest CSA, 789 E. Eisenhower Parkway, P.O. -134.
· Goldreich, O. (2004) 'Không có kiến thức hai mươi năm sau khi được phát minh', Hội thảo điện tử về độ phức tạp tính toán (ECCC), Báo cáo số 63 . Có sẵn tại:https://eccc.weizmann.ac.il/report/2004/063/ (Truy cập: ngày 30 tháng 6 năm 2024).
· Goldwasser, S., Micali , S. và Rackoff, C. (1985) 'Sự phức tạp về kiến thức của các hệ thống chứng minh tương tác', Kỷ yếu hội nghị chuyên đề ACM thường niên lần thứ 17 về Lý thuyết điện toán - STOC 85.DOI: https://doi.org/10.1145 /22145.22178 .
· Groth, J. và Sahai, A. (2005) 'Kiến thức không tương tác hoàn hảo cho NP' [trực tuyến] Có tại: https:// /eprint. .iacr.org/2005/290.pdf (Truy cập: ngày 27 tháng 6 năm 2024).
· Groth, J. (2006) 'Các bằng chứng NIZK mô phỏng âm thanh cho một ngôn ngữ thực tế và chữ ký nhóm kích thước không đổi', ASIACRYPT 2006: Những tiến bộ trong mật mã học, Ghi chú bài giảng về Khoa học máy tính, tập 4284, trang 444-459. Có sẵn tại: https://link.springer.com/chapter/10.1007/11935230_29 (Đã truy cập : 30 tháng 6 năm 2024).
· Groth, J., Ostrovsky, R. và Sahai, A. (2006) 'Hoàn toàn đồng thời không thể điều chỉnh được kiến thức không' , EUROCRYPT 2006: Những tiến bộ trong mật mã học, Ghi chú bài giảng về Khoa học máy tính, tập 4004, trang 214-235. Có sẵn tại: https://link.springer.com/chapter/10.1007/11761679_14 (Truy cập: ngày 30 tháng 6 năm 2024). blockquote>· Groth, J. và Sahai, A. (2007) 'Hệ thống chứng minh không tương tác hiệu quả cho các nhóm song tuyến tính', SIAM Journal on Computing, tập 41, số 5. pp.1193-1232.Có tại: https://epubs.siam.org/doi/10.1137/080725386 (Truy cập: ngày 30 tháng 6 năm 2024).· Groth , J .(2008) 'Các đối số không có kiến thức tuyến tính phụ cho đại số tuyến tính', CRYPTO 2008: Những tiến bộ trong mật mã học, Ghi chú bài giảng về khoa học máy tính, tập 5157, trang 192-206.Có sẵn tại: https://link .springer. .com/chapter/10.1007/978-3-540-85174-5_11 (Truy cập: ngày 30 tháng 6 năm 2024).· Groth, J. (2011) 'Giảm thiểu không- Bằng chứng không có kiến thức tương tác sử dụng mã hóa hoàn toàn đồng hình', Tạp chí Mật mã học, 24(4), trang 591-623.· Groth, J., Ostrovsky, R. và Sahai, A.(2012) 'Các kỹ thuật mới cho kiến thức không tương tác', Tạp chí của ACM, 59(3), trang 1-35. Có tại: https://dl.acm.org /doi /10.1145/2220357.2220361 (Truy cập: ngày 30 tháng 6 năm 2024).· Groth, J. (2016) 'Về quy mô của các đối số không tương tác dựa trên ghép nối' [trực tuyến. ] DOI: https://doi.org/10.1007/978-3-662-49896-5.·Groth, J., Kohlweiss, M. và Pintore, F.(2016) 'Các đối số và ứng dụng QA-NIZK âm thanh mô phỏng một lần để tạo ra chữ ký', ASIACRYPT 2016: Những tiến bộ trong Mật mã học, Ghi chú Bài giảng về Khoa học Máy tính, tập 10031, trang 102-132. Có sẵn tại: https ://link.springer.com/chapter/10.1007/978-3-662-53887-6_4 (Truy cập: ngày 30 tháng 6 năm 2024).· Groth, J . Maller, M. (2017) 'Chữ ký khó hiểu: Chữ ký kiến thức tối thiểu từ SNARK có thể trích xuất mô phỏng', CRYPTO 2017: Những tiến bộ trong mật mã học, Ghi chú bài giảng về Khoa học máy tính, tập 10402, trang 581-612. Có sẵn tại: https: //link.springer.com/chapter/10.1007/978-3-319-63715-0_20 (Truy cập: ngày 30 tháng 6 năm 2024).· Gabizon, A. , Williamson , Z.J. và Ciobotaru, O.(2019) 'PLONK: Hoán vị trên cơ sở Lagrange cho các đối số không tương tác đại kết của kiến thức', Lưu trữ ePrint mật mã. Có sẵn tại: https://eprint.iacr.org/2019/953 (Truy cập: 30 Tháng 6 năm 2024).· Goldwasser, S., Kalai, Y. và Rothblum, G. (2008) 'Tính toán ủy quyền: Bằng chứng tương tác cho Muggles' Có sẵn [trực tuyến] tại: https://www.microsoft.com/en-us/research/wp-content/uploads/2016/12/2008-DelegatingComputation.pdf (Truy cập: ngày 30 tháng 6 năm 2024).blockquote>· Henderson, F. (2007) 'Giới thiệu về máy ảo', Kỷ yếu của Hội nghị chuyên đề Linux. Có sẵn tại: https://www.kernel.org/doc/ols/2007/ols2007v1-pages -1 -10.pdf (Truy cập: ngày 30 tháng 6 năm 2024).· Ingonyama (2023) 'Đánh giá phần cứng: GPU, FPGA và Zero Knowledge Proofs', Ingonyama.Xuất bản vào: Tháng 5 Ngày 4 tháng 1 năm 2023. Có tại: https://www.ingonyama.com/blog/hardware-review-gpus-fpgas-and-zero-know-proofs (Truy cập: ngày 30 tháng 6 năm 2024).· Ishai, Y. và Paskin, A. (n.d.) 'Đánh giá các chương trình phân nhánh trên dữ liệu được mã hóa', Lý thuyết về mật mã, trang 575–594.DOI: https://doi.org/ 10.1007/ 978-3-540-70936-7_31.· Kalai, Y.T., Raz, R. và Rothblum, R.D. (2014) 'Cách ủy quyền tính toán: Sức mạnh của sự không -bằng chứng tín hiệu', Kỷ yếu của Hội nghị chuyên đề thường niên về lý thuyết máy tính của ACM, New York, NY, Hoa Kỳ, trang 485-494.· Javeed, K. và Wang , cta.2359.· Kilian, J. (1992) 'Lưu ý về các bằng chứng và lập luận không có kiến thức hiệu quả (tóm tắt mở rộng)', Kỷ yếu của ACM thường niên lần thứ 24 Hội nghị chuyên đề về Lý thuyết máy tính, trang 723-732.· Konstantopoulos, G. (2022) 'Tăng tốc phần cứng để không có bằng chứng kiến thức', Paradigm. Có sẵn tại: https: / /www.paradigm.xyz/2022/04/zk-hardware (Truy cập: ngày 30 tháng 6 năm 2024).· Lita Foundation (2023) 'Công bố Trình biên dịch Valida C của Lita & zkVM '.Có tại: https://www.lita.foundation (Truy cập: ngày 30 tháng 6 năm 2024).· Lavery, S. (2024) 'Compact and Secure Zero - Bằng chứng kiến thức về Mật mã kháng lượng tử từ Cải tiến mạng mô-đun', Lưu trữ ePrint mật mã. Có tại: https://eprint.iacr.org/2024/652 (Truy cập: ngày 30 tháng 6 năm 2024).· Maller, M., Bowe, S., Kohlweiss , M. và Meiklejohn, S.(2019) 'Sonic: SNARK không có kiến thức từ các chuỗi tham chiếu có cấu trúc phổ biến và có thể cập nhật có kích thước tuyến tính', Lưu trữ ePrint mật mã. Có sẵn tại: https://eprint.iacr.org/2019/099 (Truy cập: ngày 28 tháng 6 năm 2024).· Matter Labs (2020) 'Giới thiệu zkSync: Liên kết còn thiếu đối với việc áp dụng hàng loạt Ethereum',Blog của Matter Labs. Có sẵn tại: https://blog.matter-labs.io/introducing-zksync-the-missing-link-to-the-mass-adoption-of-ethereum (Truy cập: ngày 30 tháng 6 năm 2024).blockquote>· =nil; Foundation (2023) 'zkSharding for Ethereum'.Có sẵn tại: https://nil.foundation/zksharding (Truy cập: ngày 30 tháng 6 năm 2024).· Partala, J., Nguyen, T.H. và Pirttikangas, S.(2020) 'Không có kiến thức không tương tác về Blockchain: Một khảo sát', IEEE Access. Nhận ngày 27 tháng 11 năm 2020, chấp nhận ngày 13 tháng 12 năm 2020, được xuất bản Ngày 21 tháng 12 năm 2020, phiên bản hiện tại Ngày 31 tháng 12 năm 2020.DOI: 10.1109/ACCESS.2020.3046025.· Parno, B., Howell, J., Gentry, C. và Raykova, M.(2013) 'Pinocchio: Tính toán có thể kiểm chứng gần như thực tế', Bảo mật và quyền riêng tư – S&P 2013, trang 238-252.IEEE.· Phòng thí nghiệm đa giác (2021) ) 'Tìm hiểu sâu về Polygon Hermez: Mang lại khả năng mở rộng cho Ethereum bằng cách sử dụng zk-Technology'. Có tại: https://polygon.technology/blog/polygon-unveils-miden (Truy cập: ngày 30 tháng 6 năm 2024).· Công nghệ đa giác (2021) 'Polygon Miden: Zk-Rollup dựa trên STARK'.Diễn đàn cộng đồng Polygon. Có sẵn tại: https://forum.polygon.technology/t/polygon-miden- deep-dive-a-stark-based-zk-rollup/299 (Truy cập: ngày 30 tháng 6 năm 2024).· Roy, S.S., Turan, F., Jarvinen, K ., Vercauteren, F. và Verbauwhede, I.(2019) 'Kiến trúc song song hiệu suất cao dựa trên FPGA cho tính toán đồng cấu trên dữ liệu được mã hóa', Hội nghị chuyên đề quốc tế IEEE 2019 về Kiến trúc máy tính hiệu suất cao (HPCA), trang 387-398. DOI: 10.1109/HPCA.2019.00051.· RISC Zero (2021) 'Tổng quan về zkVM', Tài liệu dành cho nhà phát triển RISC Zero. Có sẵn tại: https://dev.risczero.com /api/zkvm (Truy cập: ngày 30 tháng 6 năm 2024).· Setty, S. (2019) 'Spartan: zkSNARK hiệu quả và đa năng mà không cần thiết lập đáng tin cậy', Cryptology ePrint Archive.Có sẵn tại: https://eprint.iacr.org/2019/550 (Truy cập: ngày 30 tháng 6 năm 2024).· Sun, X., Yu, F.R., Zhang, P., Sun, Z., Xie, W. và Peng, X.(2021) 'Khảo sát về Bằng chứng không có kiến thức trong Blockchain', Mạng IEEE, 35(4), trang 198-205.DOI: 10.1109/ACCESS.2020.3046025.· StarkWare Industries (2018) 'Tài liệu StarkEx'.Có sẵn tại: https://docs.starkware.co/starkex/index.html ( Truy cập: ngày 30 tháng 6 năm 2024).· StarkWare Industries (2018) 'Giới thiệu về chúng tôi'. Có sẵn tại: https://starkware.co (Truy cập: ngày 30 tháng 6 năm 2024).· StarkWare (2018) 'Ngôn ngữ lập trình Cairo'. Có sẵn tại: https://www.cairo-lang.org (Truy cập: ngày 30 tháng 6 năm 2024).· StarkWare (2021) 'ZKThreads: Khung bảo vệ ZK chuẩn cho dApps'. Có sẵn tại: https://starkware.co/zkthreads (Truy cập: ngày 30 tháng 6 năm 2024). blockquote>· Unruh, D. (2015) 'Bằng chứng không có kiến thức không tương tác trong mô hình tiên tri ngẫu nhiên lượng tử', trong Oswald, E. và Fischlin, M. (eds) Advances trong Mật mã học.Berlin, Đức: Springer, tr.755-784.· Ventre, C. và Visconti, I. (2009) 'Kết hợp kiến thức không có kiến thức với Khóa công khai', Ghi chú bài giảng về Khoa học máy tính, trang 287–304.DOI: https://doi.org/10.1007/978-3-642-02384-2_18.· Phòng thí nghiệm ảo (2021) 'Kênh trạng thái ZK so với Kênh trạng thái'.Có sẵn tại: https://docs.virtual.tech (Truy cập: ngày 30 tháng 6 năm 2024).· Way Network (2022) 'Giao thức tương tác ZK Omnichain'.Có tại: https://way.network (Truy cập: ngày 30 tháng 6 năm 2024).· Wang, H. và Hoang, T. (2022) 'ezDPS: Một quy trình suy luận máy học hiệu quả và không chứa kiến thức', arXiv.org.DOI: https://doi.org/10.48550/arXiv.2212.05428.· Wahby, R.S., Tzialla, I., shelat, a., Thaler, J. và Walfish, M. (2018) 'ZkSNARK hiệu quả gấp đôi mà không cần thiết lập đáng tin cậy', Cryptology ePrint Archive. Có tại: https://eprint.iacr.org/2017/1132.pdf (Truy cập: ngày 28 tháng 6 năm 2024).· Xie, T., Zhang, J. , Zhang, Y., Papamanthou, C. và Song, D.(2019) 'Libra: Bằng chứng không có kiến thức ngắn gọn với tính toán chứng minh tối ưu', Lưu trữ ePrint mật mã. Có sẵn tại: https://eprint.iacr.org/2019 /317 (Truy cập: ngày 28 tháng 6 năm 2024).· Chu, Y., Wei, Z., Ma, S. và Tang, H. (2022) 'Tổng quan về Bằng chứng không có kiến thức và các ứng dụng của nó trong Blockchain', trong Sun, Y., Cai, L., Wang, W., Song, X. và Lu, Z. (eds) Công nghệ và ứng dụng chuỗi khối.CBCC 2022.Truyền thông trong máy tính và Khoa học thông tin, tập 1736. Singapore: Springer. Có tại: https://doi.org/10.1007/978-981-19-8877-6_5 (Truy cập: ngày 30 tháng 6 năm 2024).· Zhang, B., Lu, G., Qiu, P., Gui, X. và Shi, Y.(2023) 'Nâng cao việc học liên kết thông qua tính toán có thể xác minh và mã hóa đồng cấu', Entropy, 25( 11), p.1550.Có tại: https://doi.org/10.3390/e25111550(Đã nhận bài gửi: ngày 11 tháng 9 năm 2023 / Sửa đổi: ngày 1 tháng 11 năm 2023 / Được chấp nhận: ngày 4 tháng 11 năm 2023 / Xuất bản: ngày 16 tháng 11 năm 2023). blockquote>· Zhang, Y., Wang, S., Zhang, X., Dong, J., Mao, X., Long, F., Wang, C., Chu, D., Gao, M. và Sun, G.(2021) 'PipeZK: Tăng tốc bằng chứng không có kiến thức bằng kiến trúc đường ống', IEEE Xplore.DOI: https://doi.org/10.1109/ISCA52012.2021.00040. blockquote>· Zhang, J., Fang, Z., Zhang, Y. và Song, D. (2020) 'Bằng chứng kiến thức bằng không cho dự đoán và độ chính xác của cây quyết định', Kỷ yếu của Hội nghị ACM SIGSAC 2020 về Bảo mật máy tính và truyền thông.DOI: https://doi.org/10.1145/3372297.3417278.
Liên kết gốc
Chào mừng bạn tham gia cộng đồng chính thức của BlockBeats:
Nhóm Telegram đăng ký: https://t.me/theblockbeats
Nhóm Telegram thảo luận: https://t.me/BlockBeats_App
Tài khoản Twitter chính thức: https://twitter.com/BlockBeatsAsia