ArkStream Capital: Cột mốc phát triển công nghệ chứng minh kiến thức bằng không trong 40 năm

avatar
ArkStream
8tháng trước
Bài viết có khoảng 32035từ,đọc toàn bộ bài viết mất khoảng 41 phút
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.

Tác giả gốc: @renkingeth

Bản tóm tắt

Bằng chứng không kiến thức (ZKP) được coi là một trong những đổi mới 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 và cũng là lĩnh vực trọng tâm cho đầu tư 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.

Đầu tiên, 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 đượ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 khám phá tiềm năng của chúng về khả năng mở rộng chuỗi khối, khả năng tương tác và bảo vệ quyền riêng tư.

Bằng cách phân tích các công nghệ 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à tính bảo mật của hệ thống blockchain và 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.

Lời nói đầu

Ngày nay, khi Internet đang bước vào kỷ nguyên Web3, 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 hầu 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 lớn dữ liệu 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ố kỹ thuật 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 can thiệp 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).

Đặc điểm này của ZKP cho phép nó đóng vai trò trung tâm trong các giao dịch blockchain và ứng dụng tiền điện tử, đặc biệt là về bảo vệ quyền riêng tư và mở rộng mạng. Nó không chỉ trở thành trọng tâm của nghiên cứu học thuật mà còn được coi là tự phân phối. công nghệ sổ cái— — đặc biệt là Bitcoin — 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. 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).

Do đó, 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, việc phát triển phần cứng liên quan đến công nghệ ZKP cũng tiến triển nhanh chóng, bao gồm cả những con 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 chứng minh rằng công nghệ chứng minh không có kiến thức không chỉ là một bước đột phá quan trọng trong lĩnh vực mật mã mà còn là yếu tố hỗ trợ chính cho các ứng dụng công nghệ blockchain rộng hơn, đặ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ư (Zhou et al, 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ề Zero-Knowledge Proof (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 tiến hành 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 quy mô tài chính của họ). 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.

1. Kiến thức cơ bản về chứng minh không có kiến thức

1. Khái quát chung

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, IZK) trong bài báo Sự phức tạp kiến thức của các hệ thống chứng minh tương tác. 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”, nghĩa 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ó nghĩa là thời gian chạy thuật toán có thể được biểu thị bằng một 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 đó tìm ra con đường ngắn nhất đi qua một loạt thành phố và quay trở 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ự đã giới thiệu khái niệm độ phức tạp của kiến thức trong bài báo của họ để định lượng lượng kiến thức được người chứng minh tiết lộ cho người xác minh trong một hệ thống chứng minh tương tác. 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 Goldwasser et al. tóm tắt là một bằng chứng tương tác đặc biệt, trong đó người xác minh không thu được bất kỳ thông tin bổ sung nào ngoại trừ giá trị chân lý của tuyên bố trong quá trình xác minh và ba đặc điểm cơ bản được đề xuất bao gồm; :

  • Tính đầy đủ: Thực tế là người chứng minh trung thực có thể thuyết phục người xác minh trung thực nếu lập luận là đúng;

  • Độ tin cậy (đúng đắn): Nếu người chứng minh không biết nội dung của câu nói thì chỉ có thể đánh lừa người kiểm chứng với xác suất không đáng kể;

  • 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).

2. Ví dụ về bằng chứng không có kiến thức

Để hiểu rõ hơn về bằng chứng không có kiến thức và các thuộc tính của chúng, đây là ví dụ về 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

Ở bước này, mục tiêu của người chứng minh là tạo ra bằng chứng cho thấy anh ta biết một số số bí mật s mà không trực tiếp tiết lộ 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. Giả sử các số nguyên tố và , tính được;

Ở đây, máy tính 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 đủ để người xác minh hoặc bất kỳ người ngoài cuộc nào suy ra s. ;

Một số nguyên r được chọn ngẫu nhiên, tính toán và gửi đến 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

Trình xác minh chọn ngẫu nhiên một bit a (có thể là 0 hoặc 1) và gửi nó đến trình xác 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

Dựa trên giá trị của a do người xác minh phát ra, người chứng minh trả lời:

Nếu, người tục ngữ 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. Giả sử rằng trình xác minh gửi các bit ngẫu nhiên và dựa trên giá trị của a, trình xác minh sẽ tính toán;

Cuối cùng, trình xác minh xác minh xem nó có bằng nhau hay không dựa trên g nhận được. Nếu phương trình đúng, người xác minh sẽ chấp nhận bằng chứng. Khi , người xác minh tính toán người xác minh tính toán và bên phải xác minh; khi , người xác minh tính toán người xác minh tính toán và bên phải xác minh.

Ở đây, chúng ta thấy tính toán của người xác minh chỉ ra 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 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 để 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 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ả năng 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).

2. Bằng chứng không có kiến thức không tương tác

1. Bối cảnh

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 việ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 là trong các ứ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).

2. Đề xuất của NIZK

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 không tương tác (NIZK), chứng minh rằ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 kiểm tra. khả nă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

Giai đoạn thiết lập sử dụng các hàm tính toán để chuyển đổi các tham số bảo mật thành kiến thức công khai (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 tính toán và xác minh bằng chứng 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 nhập và kiểm chứng, đồng thời đưa ra 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 bằng chứng đượ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 triển khai bằng chứng không có kiến thức không tương tác về các vấn đề NP dựa trên tất cả những người tham gia chia sẻ một chuỗi. Hoạt động của mô hình này dựa trên thế hệ 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 để chuyển đổi 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.

3. Phép biến đổi Fiat-Shamir

Phép biến đổi Fiat-Shamir, còn được gọi là Fiat-ShamirHeurisitc (heuristic), hoặc Mô hình Fiat-Shamir (mô hình); do Fiat và Shamir đề xuất vào năm 1986, 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 các bằng chứng 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, và đầu ra của nó có thể được coi là CRS ở một mức độ nào đó. 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 và 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 và 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).

4. Jens Groth và nghiên cứu của ông

Nghiên cứu tiếp theo của Jens Groth đã thúc đẩy đáng kể việc áp dụng bằng chứng không có kiến thức trong 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 xác minh thử nghiệm, các sơ đồ chữ ký và mã hóa khóa công khai của họ đã cải thiện đáng kể hiệu quả và tính bảo mật, 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;

5. Nghiên cứu khác

Trong các tình huống ứng dụng cụ thể, bằng chứng không có kiến thức không tương tác của một trình xác minh cụ thể cho thấy giá trị thực tế duy nhất của nó. Ví dụ, Cramer và Shoup đã sử dụng sơ đồ mã hóa khóa công khai được phát triển dựa trên hàm băm phổ quát để chống lại 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 một cách hiệu quả. 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 biến đổi Fiat-Shamir hiện có vào năm 2006, cho phép chứng minh không có kiến thức không tương tác mà không cần tương tác trực tiếp. 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. Khi đưa ra một bằng chứng sai, đối phương không chỉ phải nhận thức được tính giả dối của nó mà còn phải hiểu mình đã khai man thành công như thế nào. . 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 chỉ định. 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).

Phép 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).

Hơn nữa, Kalai và cộng sự đã đề xuất một hệ thống trình diễ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 hệ thống lập luận thông qua phương pháp của Aiello et al. Cấu trúc 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 và bảo vệ quyền riêng tư cao, chẳng hạn như giao dịch tài chính, bỏ phiếu điện tử và công nghệ chuỗi khối. 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 ).

3. Bằng chứng không có kiến thức dựa trên mạch

1. Bối cảnh

Trong lĩnh vực mật mã, mô hình máy Turing truyền thống bộc lộ những hạn chế nhất định, đặc biệt 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). 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.

2. Khái niệm và đặc điểm cơ bản của mô hình mạch điện

Trong 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 tính toán đặc biệt 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).

3. Thiết kế và ứng dụng mạch trong bằng chứng không có kiến thức

Trong hệ thống chứng minh không có kiến thức, quy trình thiết kế mạch bao gồm việc biểu thị bài toán cần chứng minh dưới dạng mạch. Quá trình này yêu cầu thiết kế mạch zk đòi hỏi rất nhiều suy nghĩ ngược: Nếu một phép tính khẳng định rằng đầu ra là đúng. , thì đầu ra Một số yêu cầu nhất định phải được đáp ứng. Nếu các yêu cầu này khó lập mô hình chỉ bằng phép cộng hoặc phép nhân, chúng tôi yêu cầu người chứng minh thực hiện công việc bổ sung để chúng tôi có thể mô hình hóa các yêu cầu này dễ dàng hơn. Quá trình thiết kế thường tuân theo các bước sau ( Chaidos, 2017):

  • Biểu diễn vấn đề: Đầu tiên, chuyển đổi vấ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ã, 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 điện, 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ư ghép 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à bước tính toán cần thiết, từ đó nâng cao hiệu quả vận hành và tốc độ phản hồi của hệ thống.

  • 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 sau này trong quá trình xác minh và tạo chứng chỉ.

  • 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 không có kiến thức 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à xây dựng các ràng buộc đa thức để đảm bảo tính chính xác của kết quả tính toán đồng thời tránh tiết lộ bất kỳ thông tin cá nhân bổ sung nào. 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 làm rò rỉ thông tin bổ sung, đả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).

4. Những cạm bẫy và thách thức tiềm ẩn

Nhược điểm bao gồm:

  • Độ 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 đáng kể, đặc biệt là khi xử lý dữ liệu quy mô lớn;

  • Độ 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, nhưng việc thiết kế và tối ưu hóa mạch hiệu quả vẫn đòi hỏi chuyên môn sâu;

  • Khả năng thích ứng với các tác vụ tính toán cụ thể: Các tác vụ tính toán khác nhau đòi hỏi các thiết kế mạch khác nhau và việc thiết kế các mạch hiệu quả cho từng tác vụ cụ thể có thể tốn thời gian và khó khái quát hóa;

  • Khó khăn trong việc triển khai các thuật toán mã hóa: Việc triển khai các thuật toán mã hóa phức tạp (như hàm băm hoặc mã hóa khóa công khai) có thể yêu cầu 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;

  • Tiêu thụ tài nguyên: Các mạch quy mô lớn đòi hỏi một lượng lớn tài nguyên phần cứng và có thể gặp phải những tắc nghẽn trong quá trình triển khai phần cứng thực tế về mức tiêu thụ điện năng, nhiệt độ và không gian vật lý (Goldreich, 2004; Chaidos, 2017; Partala, Nguyen Pirttikangas, 2020; Sun và cộng sự, 2021 ).

Giải pháp và cải tiến:

  • Công nghệ nén mạch: giảm số lượng cổng logic và tài nguyên tính toán cần thiết bằng việc nghiên cứu và ứng dụng công nghệ nén mạch hiệu quả;

  • Thiết kế mô-đun: Thiết kế mô-đun của mạch cải thiện khả năng sử dụng lại và khả năng mở rộng của thiết kế mạch, đồng thời 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;

  • 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 và cải thiện hiệu suất tổng thể của 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 ).

4. Mô hình chứng minh không có kiến thức

1. Bối cảnh

Bằng chứng không có kiến thức dựa trên mạch có tính linh hoạt kém và yêu cầu 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 tại có nhiều trình biên dịch ngôn ngữ cấp cao và các công cụ kết hợp mạch cấp thấp để tạo và thiết kế các thuật toán chuyển đổi. các tính toán liên quan có thể được thực hiện thủ công bằng các công cụ xây dựng mạch 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ề một số nổi tiếng nhất trong số họ. Nhìn chung, các mô hình này 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ể (ví dụ: 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ư 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, Vkmirović Nedić, 2019).

2. Các mô hình thuật toán phổ biến

1. Mô hình zkSNARK: Vào năm 2011, nó được các nhà mật mã học Bitansky và những người khác đề xuất dưới dạng viết tắt của Đối số kiến thức không tương tác ngắn gọn không có kiến thức. Khi đó, hàm Resistance Hash (ECRH) có thể triển khai SNARK cho các vấn đề NP và thể hiện ứng dụng của SNARK trong ủ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à khả năng ứng dụng an toàn ngắn gọn của hai bên trong ngữ cảnh. 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: thiết lập, chứng minh và 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 tham 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 đã 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ô hình zkSNARK 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. 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), 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 và cộng sự, 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ể chuyển đổi các tác vụ tính toán thành các tác vụ xác minh một cách hiệu quả. 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úp giảm thời gian xác minh xuống 5-7 bậc 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í tạo bằng chứng cho công nhân: Pinocchio cũng giảm chi phí tạo bằng chứng cho công nhân từ 19-60 lần so với công việc trước đó (Parno et al., 2013).

4. Mô hình chống đạn: Năm 2017, Benedikt Bü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 cách 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 không ngắn gọn như 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ô hình đối số 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.

3. Giải bài toán dựa trên PCP tuyến tính và logarit rời rạc

Ishai và Paskin (2007) đã đề 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. Sơ đồ này hình thành phát biểu dưới dạng một vấn đề thỏa mãn ràng buộc đại số, sử dụng sơ đồ cam kết mật mã tương tự như các cam kết của 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 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 các bài toán PCP tuyến tính và/hoặc 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ột mô hình CRS có thể cập nhật dựa trên Groth, 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; nó linh hoạt và hỗ trợ các kết hợp 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ổ quát 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ài liệu 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 trong các giả định hoặc cách triển khai mã hóa 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 và không yêu cầu thiết lập đáng tin cậy. Không kháng lượng tử (Bünz, Fisch Szepieniec, 2019).

4. Giải pháp dựa trên lời chứng thực của người dân bình thường

Bằng chứng cho 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. Cách tiếp cận 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 và cộng sự (2018) lần đầu tiên thiết kế một sơ đồ lập luận không có kiến thức có chi phí thấp, giao tiếp thấp Hyrax, có chi phí rất thấp cho người chứng minh và người xác minh. 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à không đổi. Nó sử dụng phương pháp phỏng đoán Fiat-Shamir để đạt được tính không tương tác, dựa trên bài toán logarit rời rạc và không đạt được lực cản 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 bằng chứng 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 đa thức hơi ngẫu nhiên có thể che giấu 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 và cộng sự, 2019).

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 các bằng chứng hiệu quả mà không yêu cầu thiết lập đáng tin cậy, sử dụng các phép biến đổi Fiat-Shamir để đạt được tính 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ả.

5. Không có kiến thức dựa trên bằng chứng xác suất có thể kiểm chứng được (PCP)

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ơ đồ này thành một sơ đồ không tương tác một thông báo. Các triển khai sau đây có thể được xem xét để thực hiện phương pháp này:

15. Mô hình STARK: Năm 2018, công nghệ ZK-STARKs (Scalable Transparent ARgument of Knowledge) đã được Ben-Sasson và cộng sự đề xuất 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 phép chứng minh 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 bằng chứng của Aurora tối đa là 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 quy trình xác minh và kích thước bằng chứng được tối ưu hóa hơn. 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.

6. Phân loại dựa trên giai đoạn thiết lập CPC (Common Proof Construction)

  • Thế hệ 1 (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ệ 2 (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 thực 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).

5. Tổng quan và phát triển máy ảo không có kiến thức

1. Bối cảnh

Phần trước được giới thiệu nhiều hơn về sự phát triển của ZKP bằng chứng không có kiến thức trong mật mã. Tiếp theo, chúng tôi sẽ giới thiệu ngắn gọn về sự phát triển của nó trong lĩnh vực máy tính.

Vào 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 phương pháp triển khai hệ thống chứng minh không có kiến thức. 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á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 việc 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. Việc 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 → giá trị băm

riêng tư → công cộng

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 ra một bằng chứng cho phép bất kỳ ai xác minh rằng bằng chứng đó là chính xác, nghĩa là người chứng minh thực sự có hình ảnh hợp lệ trước đó của 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 nhầ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).

2. Phân loại ZKVM hiện có

Theo mục tiêu thiết kế, chúng chủ yếu được chia thành ba loại:

1. ZKVM chính thống

Các ZKVM này tận dụng các kiến trúc tập lệnh tiêu chuẩn (ISA) và chuỗi công cụ biên dịch hiện có, đồng thời phù hợp với 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 để 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 độ mã byte với EVM, chẳng hạn như zkSync (MatterLabs, 2020) và Polygon Hermez (Polygon Labs, 2021).

3. ZKVM tối ưu hóa kiến thức bằng không (thân thiện với kiến thức bằng không)

Các ZKVM này 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 và đượ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 phép tính số học cơ bản như cộng, nhân, v.v. trong các mạch không có kiến thức (StarkWare, 2018).

  • Valida (2023): Được tối ưu hóa cho các ứng dụng cụ thể, chẳng hạn như thông qua các thuật toán tối ưu hóa, tài nguyên máy tính và thời gian cần thiết để tạo bằng chứng được giảm bớt; thiết kế gọn nhẹ giúp nó phù hợp với 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 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 cho các thành phần phần mềm tùy chỉnh quy mô nhỏ (Ben-Sasson et al. , 2013).

Quan điểm chung 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 các 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).

3. Mô hình front-end và back-end

Từ góc độ lập trình, hệ thống ZKP nhìn 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 các đầu vào được đề xuất không đáng tin cậy). Về mặt khái niệm, việc thực thi một bước trên CPU bao gồm hai nhiệm vụ: (1) xác định các lệnh cơ bản mà bước đó sẽ thực hiện và (2) thực hiện các 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).

4. Ưu điểm và nhược điểm của mô hình ZKVM

lợi thế:

  • Tận dụng các ISA hiện có: Ví dụ: bộ hướng dẫn RISC-V và EVM, cơ sở hạ tầng trình biên dịch và chuỗi công cụ hiện có có thể được tận dụng mà không cần phải 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 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.

  • 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 chạy lại giao diện người dùng cho mỗi chương trình.

  • Mạch có cấu trúc lặp lại: Mặt trước tạo ra các mạch có cấu trúc lặp lại và mặt sau cho các mạch này có thể được xử lý nhanh hơn (Arun, Setty Thaler, 2024; Zhang và cộng sự, 2023).

sự thiếu sót:

  • Chi phí chung do tính linh hoạt: Để hỗ trợ tất cả các chuỗi lệnh CPU có thể có, mạch zkVM cần phải trả giá cho tính linh hoạt của nó, dẫn đến tăng kích thước mạch và chi phí chứng nhận.

  • Hoạt động chi phí cao: Một số hoạt động quan trọng nhất định, chẳng hạn như hoạt động mã hóa, rất tốn kém khi triển khai trong zkVM. 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ể.

  • Chi phí chứng minh 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 hàng triệu lệnh được thực thi 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 ).

6. Tổng quan và phát triển máy ảo Ethereum không kiến thức

1. Bối cảnh

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ệ Zero-Knowledge Proof (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 yêu cầu 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, Vkmirović 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 quyền riêng tư và khả năng mở rộng của blockchain

  • 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, 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), nó đạt được thông lượng giao dịch cao hơn và phí Gas thấp hơn, từ đó cải thiện hiệu suất tổng thể và trải nghiệm người dùng của Ethereum.

Nói chung, nó có thể được chia theo mức độ tương thích với EVM (Čapko, Vukmirović Nedić, 2019):

  • 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ư STARWARE, zkSync

  • Tương đương EVM, khả năng tương thích cấp độ lệnh EVM (tương đương), chẳng hạn như polygen-Hrmez, cuộn

Giải pháp cải thiện hệ thống Ethereum dựa trên kiến thức bằng không được thể hiện trong Hình 1

ArkStream Capital: Cột mốc phát triển công nghệ chứng minh kiến thức bằng không trong 40 năm

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

2. ZKEVM hoạt động như thế nào

  • Xử lý chương trình nút: Chương trình nút 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. 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 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à 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 đến hợp đồng L1 dưới dạng giao dịch để thực hiện (Čapko, Vkmirović Nedić, 2019).

3. Quy trình triển khai ZKEVM

  • Lấy dữ liệu: Lấy dữ liệu từ hệ thống chuỗi khối Ethereum, 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 Merkle, 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, Vkmirović Nedić, 2019).

4. Tính năng của ZKEVM

  • Cải thiện khả năng xử lý giao dịch: thực hiện giao dịch thông qua ZKEVM trên 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, Vkmirović Nedić, 2019).

7. Tổng quan và phát triển giải pháp mạng lớp 2 không kiến thức

1. Bối cảnh

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, khắc phục thiếu sót của xác nhận cuối cùng của giao dịch OptimisticRollups. thời gian quá dài (Ganguly, 2023).

2. Cơ chế hoạt động của ZK Rollup

ZK Rollup cho phép khả năng mở rộng 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 nâng cao 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 có 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ù tên ZK Rollup có chứa thuật ngữ ZK (không có kiến thức), nhưng chúng chủ yếu sử dụng tính đơn giản của bằng chứng không có kiến thức để cải thiện hiệu quả xử lý các giao dịch blockchain, thay vì tập trung chủ yếu vào bảo vệ quyền riêng tư (Ganguly, 2023).

3. Nhược điểm và cách tối ưu hóa ZKRollup

Là giải pháp Lớp 2 cho khả năng mở rộng Ethereum, ZK Rollup (tổng hợp không kiến thức) hoạt động tốt 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, với 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, Vkmirović Nedić, 2019).

1. Tối ưu hóa tính toán thuật toán mật mã

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 đề xuất bởi PolygonZero (trước đây là MIR) và là 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 lựa chọn 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 chứng minh đệ quy.

  • Chi phí xác minh thấp: Xác minh hiệu quả đạt được thông qua sự kết hợp giữa FRI đệ quy 64-bit và Plonk.

2. Kết hợp lạc quan và ZK Rollup

Ví dụ: PolygonNightfall là một bản tổng hợp kết hợp các tính năng của bản tổng hợp Optimistic và ZK, nhằm mục đích tăng cường quyền riêng tư trong giao dịch và giảm phí chuyển khoản (lên 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ố lựa chọn cụ thể:

  • Ứng dụngZKP: Một dự án nguồn mở được Ethereum Foundation tài trợ để triển khai ZK cho opcode gốc Ethereum EVM, sử dụng các thuật toán mã hóa như cặp đường cong elip halo 2, KZG và Barreto-Naehrig (BN-254).

  • 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 mã byte tùy chỉnh được hỗ trợ, sử dụng ultraPlonk, một 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 một bộ vi lệnh được hỗ trợ và sử dụng các hệ thống chứng minh Plonk, KZG và Groth 16.

  • Sin 7 Y zkEVM: Triển khai ZK của các mã opcode gốc EVM và tối ưu hóa các mã opcode chuyên dụng, sử dụng halo 2, KZG và RecursivePlonk.

  • Polygon Miden: Một máy ảo không có kiến thức chung 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. Sau đây là một số giải pháp tối ưu hóa phần cứng:

  • DIZK (DistributedZero Knowledge): Được 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 (Mạch nhân và tích lũy) 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 các giao thức Chống đạn: Triển khai thông qua khung cộng tác CPU-GPU và Chống đạn song song trên GPU (Čapko, Vukmirović Nedić, 2019).

8. Hướng phát triển tương lai của bằng chứng không có kiến thức

1. Đẩy mạnh phát triển môi trường điện toán

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. Các phép toán này cần được hoàn thành trong thời gian cực ngắn, đặt ra yêu cầu cực kỳ cao đối với tài nguyên máy tính (chẳng hạn như CPU và. GPU), 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)

Trong năm 2020, nhiều dự án đã xuất hiện nhằm 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;

2021: Zhang và cộng sự đã đề xuất giải pháp tăng tốc chứng minh kiến thức bằng 0 dựa trên kiến trúc đường ống, sử dụng thuật toán Pippenger để tối ưu hóa phép nhân đa vô hướng (MSM) và giảm độ trễ truyền dữ liệu bằng cách tháo gỡ biến đổi Fourier nhanh (FFT) ( Zhang và cộng sự, 2021).

Bộ đồng xử lý ZK (bộ đồng xử lý)

Axiom (2022) đã đề xuất khái niệm về Bộ đồng xử lý ZK, 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à bộ đồng xử lý của CPU, đặc biệt là trong bối cảnh học máy.

Thuật ngữ bộ đồng xử lý ZK mở rộng sự tương tự của chip đồ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 của dữ liệu trên chuỗi hiện có một cách không trạng thá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 đến 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).

2. Đề xuất và phát triển ZKML

Khái niệm về ZKML

Học máy không kiến thức (ZKML) là một lĩnh vực mới nổi áp dụng công nghệ chứng minh 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).

Phát triển ZKML

Vào năm 2020, Học giả Zhang và những người khác lần đầu tiên đề xuất một cách có hệ thống khái niệm ZKML tại hội nghị CCS 2020, trình bà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 đã nghiên cứu và triển khai ZKML sâu hơn, đồng thời đề xuất một quy trình suy luận máy học không kiến thức hiệu quả, chỉ ra cách triển khai ZKML trong các ứng dụng trong thế giới thực. 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.

3. Những phát triển liên quan đến công nghệ mở rộng ZKP

Khái niệm ZKThreads đã được đề xuất

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, các 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ả cá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 sự phân mảnh thanh khoản và các vấ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 và 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 khái niệm ZK Sharding, nhằm đạ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 bằng chứng không 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 nhằm đảm bảo rằng 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ế.

4. Phát triển khả năng tương tác ZKP

Kênh trạng thái 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 sử dụng bằng chứng không có kiến thức để đảm bảo quyền riêng tư và sự an toàn của các giao dịch.

Giải pháp ban đầu được thay thế bằng Kênh trạng thái ZK

1. Các kênh trạng thái truyền thống (StateChannels):

  • 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 động 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ợ nhiều 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 kiến thức bằng không để đạt được các giao dịch chuỗi chéo và luồng tài sản ngay lập tức mà không cần cầu nối trung gian, cải thiện đáng kể khả năng tương tác đa chuỗi.

3. Hạn chế về địa chỉ được xác định trước:

  • Giải pháp ban đầu: Trong các kênh trạng thái truyền thống, địa chỉ của những người tham gia giao dịch phải được xác định trước khi kênh được tạo. 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.

  • 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ể tính linh hoạt và trải nghiệm người dùng của hệ thống.

4.Giao thức tương tác Omnichain của ZK

Vào năm 2022, Giao thức tương tác ZKOmnichain đã được Way Network đề xuất để đạt được khả năng tương tác dữ liệu và tài sản chuỗi chéo 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 để nâng cao 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 cấp 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 khuôn khổ này với khả năng bảo vệ và bảo mật quyền riêng tư mạnh mẽ hơn thông qua công nghệ chứng minh không có kiến thức.

9. Kết luận

Bài viết này cung cấp đánh giá tài liệu toàn diện về công nghệ Zero-Knowledge Proof (ZKP) cũng như những phát triển và ứng dụng mới nhất của nó 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 phù hợp với blockchain 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.

Bài viết gốc, tác giả:ArkStream。Tuyển dụng: Nhân viên kinh doanh phần mềm theo dự án report@odaily.email;Vi phạm quy định của pháp luật.

Odaily nhắc nhở, mời đông đảo độc giả xây dựng quan niệm đúng đắn về tiền tệ và khái niệm đầu tư, nhìn nhận hợp lý về blockchain, nâng cao nhận thức về rủi ro; Đối với manh mối phạm tội phát hiện, có thể tích cực tố cáo phản ánh với cơ quan hữu quan.

Đọc nhiều nhất
Lựa chọn của người biên tập