Giải thích chi tiết về Bằng chứng không có kiến thức (ZKP)

Trung cấp11/28/2023, 11:05:05 AM
Zero-Knowledge Proof (ZKP) là một phương pháp mã hóa cho phép một bên (được gọi là người chứng minh) chứng minh cho một bên khác (được gọi là người xác minh) rằng một tuyên bố là đúng mà không tiết lộ bất kỳ thông tin nào khác. Các giải pháp ZKP phổ biến bao gồm zk-SNARKS, zk-STARKS, PLONK và Bulletproofs. Bài viết này sẽ giới thiệu bốn loại giải pháp ZKP này và phân tích ưu điểm và nhược điểm của chúng.

Bối cảnh

Zero-Knowledge Proof (ZKP) là một công nghệ mật mã được giới thiệu lần đầu tiên trong bài báo có tựa đề “Sự phức tạp về kiến thức của các hệ thống chứng minh tương tác” vào đầu những năm 1980 của S.Goldwasser, S.Micali và C.Rackoff. Ban đầu được hình thành như một mô hình lý thuyết, nó nhằm mục đích giải quyết thách thức trong việc xác minh các phát biểu toán học mà không tiết lộ bất kỳ bằng chứng nào. Khái niệm này đã thu hút được sự chú ý rộng rãi trong giới học thuật vì đã thách thức ranh giới của các kỹ thuật mã hóa truyền thống và đưa ra một cách tiếp cận mới để xử lý thông tin nhạy cảm.

Theo thời gian, ZKP đã phát triển từ một khái niệm lý thuyết trừu tượng thành các giao thức cụ thể có thể được tích hợp vào nhiều ứng dụng khác nhau. Vào đầu thế kỷ 21, với sự phát triển bùng nổ của Internet và truyền thông kỹ thuật số, tiềm năng của ZKP bắt đầu được khám phá trong thế giới thực. Đặc biệt với sự phát triển của blockchain và tiền điện tử, ZKP đã chứng tỏ khả năng tăng cường quyền riêng tư và bảo mật trong khi vẫn duy trì hiệu quả của các giao dịch và xử lý dữ liệu.

Ngày nay, ZKP không chỉ là chủ đề nóng trong nghiên cứu mật mã mà còn được tích hợp vào nhiều nền tảng và ứng dụng blockchain. Chẳng hạn, ứng dụng zk-SNARKs trên Ethereum Layer2 cung cấp các giao dịch ẩn danh mà không tiết lộ chi tiết giao dịch. Quá trình chuyển đổi từ lý thuyết sang ứng dụng thực tế này không chỉ chứng minh giá trị thực tế của ZKP mà còn thúc đẩy việc khám phá các tương tác kỹ thuật số an toàn và hiệu quả hơn. Với những tiến bộ công nghệ không ngừng, ZKP đóng vai trò ngày càng quan trọng trong việc bảo vệ quyền riêng tư cá nhân, đảm bảo an ninh dữ liệu và thiết lập các hệ thống kỹ thuật số đáng tin cậy.

Định nghĩa và nguyên tắc của ZKP

Zero-Knowledge Proof (ZKP) là một phương pháp mã hóa cho phép một bên (người chứng minh) chứng minh tính đúng đắn của tuyên bố cho một bên khác (người xác minh) mà không tiết lộ bất kỳ thông tin bổ sung nào, tức là không tiết lộ bất kỳ kiến thức nào về tính chính xác của tuyên bố đó. tuyên bố phụ thuộc. Quá trình này không chỉ bảo vệ quyền riêng tư của người chứng minh mà còn đảm bảo rằng người xác minh không thể sao chép quy trình chứng minh hoặc sử dụng nó để thu thập bất kỳ thông tin bổ sung nào.

Sơ đồ khái niệm về Bằng chứng không có kiến thức (Nguồn: ChainLink)

Các nguyên tắc cốt lõi của Bằng chứng không có kiến thức (ZKP) có thể được xác định bởi ba thuộc tính sau:

  • Tính đầy đủ: Nếu một tuyên bố là đúng, một người chứng minh trung thực luôn có thể vượt qua bài kiểm tra của người xác minh.
  • Tính đúng đắn: Nếu một tuyên bố là sai, bất kỳ người chứng minh gian dối nào cũng sẽ chỉ có một cơ hội mong manh khiến người xác minh tin rằng tuyên bố đó là đúng.
  • Không có kiến thức: Nếu tuyên bố là đúng, người xác minh sẽ không biết thêm thông tin nào khác ngoài thực tế là tuyên bố đó đúng. Nói cách khác, quá trình xác minh không tiết lộ bất kỳ thông tin nào có thể được sử dụng để xây dựng bằng chứng.

Nguyên lý của ZKP thường được hiểu qua những ví dụ đơn giản: Nếu cần chứng minh với người A rằng tôi có số điện thoại của người B thì tôi không cần trực tiếp tiết lộ số của B cho A. Thay vào đó, tôi có thể chứng minh bằng cách gọi đến số của B. . Khi cuộc gọi được kết nối, điều đó chứng tỏ rằng tôi thực sự sở hữu số của B mà không tiết lộ bất kỳ thông tin nào về số đó.

Trong các ứng dụng thực tế, ZKP thường yêu cầu các cấu trúc toán học phức tạp như phương trình đa thức, đường cong elip hoặc các thách thức toán học khác. Tính bảo mật của các công trình này dựa trên độ khó tính toán của các vấn đề như phân tích nhân tử hoặc logarit rời rạc. Với sự tiến bộ của mật mã, nhiều triển khai ZKP khác nhau đã xuất hiện, chẳng hạn như zk-SNARK và zk-STARK, cung cấp khả năng bảo vệ quyền riêng tư hiệu quả trong các bối cảnh khác nhau, đặc biệt là trong lĩnh vực blockchain và tiền điện tử.

Hình thức cơ bản của bằng chứng không có kiến thức bao gồm ba yếu tố: nhân chứng, thách thức và phản hồi.

Nhân chứng: Trong bằng chứng không có kiến thức, người chứng minh muốn chứng minh kiến thức về một số thông tin ẩn giấu. Thông tin bí mật này đóng vai trò là “nhân chứng” cho bằng chứng. Người chứng minh, dựa trên kiến thức của họ về nhân chứng, đặt ra một bộ câu hỏi mà chỉ người có hiểu biết về thông tin mới có thể trả lời. Do đó, người chứng minh chọn ngẫu nhiên một câu hỏi để bắt đầu bằng chứng, tính toán câu trả lời rồi gửi cho người xác minh.

Thử thách: Người xác minh chọn ngẫu nhiên một câu hỏi khác từ bộ câu hỏi và yêu cầu người chứng minh trả lời câu hỏi đó.

Phản hồi: Người chứng minh nhận được câu hỏi, tính toán câu trả lời và gửi lại cho người xác minh. Phản hồi của người chứng minh cho phép người xác minh kiểm tra xem người chứng minh có thực sự có quyền tiếp cận nhân chứng hay không. Để đảm bảo rằng người chứng minh không vô tình đoán đúng một cách mù quáng, người xác minh sẽ chọn một câu hỏi khác để hỏi. Bằng cách lặp lại quá trình này nhiều lần, khả năng người chứng minh bịa đặt sự thật sẽ giảm đi đáng kể cho đến khi người xác minh hài lòng.

Trong ví dụ về cuộc gọi điện thoại nói trên, “Tôi” là nhân chứng không muốn tiết lộ thông tin, trong khi A là người xác minh và thách thức được đặt ra là “Chứng minh rằng 'Tôi' sở hữu số của B”. Quá trình phản hồi bao gồm việc “tôi” kết nối cuộc gọi đến số của B để chứng minh rằng tôi thực sự có số đó.

Tại sao cần có ZKP?

Như đã thảo luận trước đây, Bằng chứng không kiến thức (ZKP) vốn mang lại những lợi thế đáng kể trong lĩnh vực bảo vệ quyền riêng tư. Trong thời đại quá tải thông tin hiện nay, dữ liệu cá nhân thường được lưu trữ trên nền tảng của bên thứ ba, làm tăng nguy cơ vi phạm dữ liệu. Hơn nữa, do các rào cản kỹ thuật và sự chậm trễ trong các biện pháp trừng phạt pháp lý, việc bảo mật thông tin chủ yếu dựa vào các ràng buộc về đạo đức, khiến người dùng khó thực sự kiểm soát được thông tin riêng tư của mình. Sự ra đời của công nghệ ZKP cung cấp giải pháp vừa bảo vệ quyền riêng tư, vừa nâng cao hiệu quả xác minh và bảo mật.

So với các công nghệ mã hóa khác, ZKP có nhiều ưu điểm:

  • Bảo vệ quyền riêng tư: ZKP cho phép các cá nhân và tổ chức chứng minh tính trung thực của một số thông tin nhất định mà không tiết lộ nội dung thực tế của thông tin. Ví dụ: nó có thể được sử dụng để chứng minh rằng một người đáp ứng các yêu cầu về độ tuổi mà không tiết lộ tuổi hoặc ngày sinh thực tế.
  • Bảo mật nâng cao: Vì ZKP không yêu cầu tiết lộ thông tin nhạy cảm nên sẽ giảm nguy cơ rò rỉ dữ liệu. Ngay cả khi việc chặn xảy ra trong quá trình chứng minh, không có dữ liệu quan trọng nào được tiết lộ.
  • Giảm gian lận: Trong các giao dịch tài chính, ZKP có thể được sử dụng để xác minh tính hợp pháp của giao dịch mà không để lộ chi tiết cụ thể, do đó làm giảm cơ hội gian lận.
  • Hiệu quả: Một số loại ZKP, như zk-SNARK, được tạo và xác minh rất nhanh, điều này có lợi cho các hệ thống cần xử lý số lượng lớn giao dịch hoặc hoạt động xác minh.
  • Khả năng tương tác: ZKP cung cấp một khuôn khổ chung để xác minh giữa các hệ thống và miền khác nhau, cho phép thông tin được xác minh và chia sẻ một cách an toàn giữa các hệ thống khác nhau.
  • Khả năng mở rộng: Với sự phát triển của công nghệ điện toán, việc triển khai ZKP ngày càng trở nên hiệu quả và có thể mở rộng hơn, nghĩa là nó có thể được triển khai trong các hệ thống quy mô lớn hơn.
  • Tuân thủ: Trong môi trường pháp lý ngày nay yêu cầu bảo vệ quyền riêng tư của người tiêu dùng, ZKP có thể giúp các công ty xác minh và xử lý dữ liệu mà không vi phạm luật về quyền riêng tư.
  • Kiểm soát người dùng: ZKP tăng cường khả năng kiểm soát của người dùng đối với dữ liệu của họ vì họ có thể chọn lượng thông tin tiết lộ.
  • Phân cấp: Trong công nghệ chuỗi khối và phân tán, ZKP cung cấp một công cụ bảo mật mạnh mẽ để phân cấp, cho phép người dùng giao dịch và tương tác mà không phụ thuộc vào cơ quan trung ương.

Cho dù ở miền Web 2.0 truyền thống hay miền Web 3.0 mới nổi, triển vọng ứng dụng của ZKP đều rất rộng lớn.

Các loại Bằng chứng Không có Kiến thức (ZKP)

Có nhiều cách triển khai bằng chứng không có kiến thức, chẳng hạn như zk-SNARK, zk-STARK, PLONK và Bulletproofs. Mỗi loại đều có ưu điểm và nhược điểm về quy mô chứng minh, thời gian chứng minh và thời gian xác minh. Bài viết này tập trung giới thiệu bốn loại được sử dụng phổ biến nhất trong các tình huống ứng dụng.

zk-SNARK

zk-SNARK, viết tắt của “Lý lẽ kiến thức ngắn gọn, không tương tác về kiến thức bằng không”, là các công cụ mật mã được sử dụng để chứng minh rằng ai đó biết một phần thông tin mà không tiết lộ bất kỳ thông tin nào. Trong zk-SNARK, “không có kiến thức” có nghĩa là người chứng minh có thể chứng minh một tuyên bố là đúng mà không cần cung cấp bất kỳ thông tin nào ngoài tính chính xác của nó. “Tính ngắn gọn” đề cập đến quy mô nhỏ của bằng chứng và tốc độ của quá trình xác minh. “Không tương tác” có nghĩa là khi bằng chứng được tạo ra, bất kỳ ai cũng có thể xác minh nó mà không cần có sự tương tác thêm giữa người chứng minh và người xác minh. Các thành phần cốt lõi của zk-SNARK bao gồm:

  • Thiết lập đáng tin cậy: Trong quá trình khởi tạo hệ thống, cần tạo một cặp khóa công khai/riêng tư (tham số). Quá trình này phải được thực hiện bởi một bên đáng tin cậy vì tính bảo mật của hệ thống có thể bị xâm phạm nếu khóa riêng bị rò rỉ.
  • Tạo bằng chứng: Người chứng minh biết một thông tin bí mật nhưng không muốn tiết lộ nó cho người xác minh. Họ sử dụng thông tin bí mật này và các tham số công khai để xây dựng bằng chứng đủ cho thấy họ biết bí mật mà không tiết lộ bất kỳ chi tiết nào về nó.
  • Quy trình xác minh: Sau khi người xác minh nhận được bằng chứng, họ có thể sử dụng các tham số công khai để xác minh tính chính xác của nó. Nếu người chứng minh đã đưa ra bằng chứng chính xác thì quá trình xác minh sẽ đưa ra “có”, nếu không thì “không”.

zk-SNARK được sử dụng trong nhiều tình huống bảo vệ quyền riêng tư khác nhau, chẳng hạn như tiền điện tử với giao dịch ẩn danh, hệ thống bỏ phiếu an toàn, xác thực bảo vệ quyền riêng tư và chia sẻ dữ liệu cũng như công nghệ mở rộng chuỗi khối.

zk-STARK

zk-STARK, hay “Các đối số kiến thức minh bạch có thể mở rộng không có kiến thức”, cho phép một bên (người chứng minh) chứng minh cho người khác (người xác minh) rằng họ biết một số thông tin nhất định mà không tiết lộ chính thông tin đó. Không giống như zk-SNARK, zk-STARK không yêu cầu quy trình thiết lập đáng tin cậy. Điều này có nghĩa là họ không dựa vào tính bảo mật của một số thông tin cá nhân nhất định, một tính năng thường được coi là quan trọng đối với bảo mật, vì thiết lập đáng tin cậy có thể là lỗ hổng hệ thống.

zk-STARK hoạt động dựa trên các khái niệm từ một số lĩnh vực toán học, bao gồm hàm băm, tính toán đa thức và lý thuyết sửa lỗi. Họ sử dụng một cấu trúc được gọi là “đối số minh bạch có thể mở rộng không có kiến thức”, cho phép tạo bằng chứng mà không cần thiết lập đáng tin cậy. Các ứng dụng tiềm năng của zk-STARK tương tự như zk-SNARK, nhưng do khả năng mở rộng và tính minh bạch, chúng đặc biệt phù hợp với các ứng dụng quy mô lớn, bao gồm tiền điện tử bảo vệ quyền riêng tư, công nghệ có thể mở rộng chuỗi khối và xác minh an toàn trong điện toán đám mây .

PLONK

PLONK, không phải từ viết tắt, đề cập đến họ của những người tạo ra nó. Nó được thiết kế để cung cấp giải pháp ZKP phổ quát và hiệu quả, đặc biệt là trong các ứng dụng blockchain như hợp đồng thông minh và giao dịch được bảo vệ quyền riêng tư. Cốt lõi của PLONK là sử dụng kỹ thuật “ẩn đồng hình”, cho phép thực hiện các phép tính số học trên dữ liệu mà không làm lộ dữ liệu gốc. Nó sử dụng một thuật toán đặc biệt - sơ đồ cam kết đa thức - để tạo ra bằng chứng, cho phép người chứng minh chứng minh một cách hiệu quả rằng họ có kết quả tính toán chính xác cho một tập hợp dữ liệu.

Một tính năng chính của PLONK là tính phổ quát của nó. Khi các tham số được đặt cho một tác vụ tính toán cụ thể (thông qua thiết lập đáng tin cậy một lần), chúng có thể được sử dụng lại nhiều lần để tạo bằng chứng mới mà không cần thiết lập mới mỗi lần. Điều này làm cho PLONK đạt hiệu quả cao trong việc tạo và xác minh bằng chứng và thường được thiết kế để hỗ trợ các tác vụ tính toán khác nhau trong blockchain và các hệ thống phân tán khác.

chống đạn

Bulletproofs, một giải pháp ZKP mới được giới thiệu, không yêu cầu thiết lập đáng tin cậy và được thiết kế đặc biệt để xây dựng các bằng chứng phạm vi và một số loại bằng chứng số học nhất định. Được đề xuất bởi Benedikt Bunz, Jonathan Bootle, Dan Boneh và những người khác vào năm 2017, Bulletproofs hoạt động trên các cấu trúc toán học phức tạp như mã hóa đồng cấu và mật mã đường cong elip. Họ tận dụng một loạt các kỹ thuật toán học để cho phép người chứng minh tạo ra một bằng chứng phạm vi hiệu quả cho một số mà không tiết lộ giá trị chính xác của nó. Đặc biệt trong lĩnh vực tiền điện tử, điều này có thể được sử dụng để chứng minh rằng giá trị giao dịch nằm trong phạm vi pháp lý mà không làm lộ số tiền giao dịch thực tế.

Do tính năng kiểm soát phạm vi của chúng, Bulletproofs được sử dụng rộng rãi trong lĩnh vực tiền điện tử và blockchain, đặc biệt là trong các đồng tiền riêng tư như Monero, để ẩn số lượng giao dịch trong khi xác minh tính hợp pháp của giao dịch. Ngoài ra, chúng có thể được sử dụng trong các ứng dụng khác yêu cầu quyền riêng tư về số lượng.

Nghiên cứu điển hình

Chúng ta hãy hiểu rõ hơn về bốn công nghệ Zero-Knowledge Proof (ZKP) khác nhau này—zk-SNARK, zk-STARK, PLONK và Bulletproofs—thông qua sự tương tự như bản đồ kho báu.

Hãy tưởng tượng bạn có một bản đồ kho báu dẫn đến vị trí chính xác của kho báu bị chôn giấu. Bạn muốn chứng minh cho ai đó rằng bạn biết kho báu ở đâu mà không tiết lộ nội dung trên bản đồ hoặc vị trí thực tế của kho báu.

zk-SNARKs: Bạn tạo một trò chơi ghép hình phức tạp về bản đồ kho báu. Bạn chọn một mảnh nhỏ, quan trọng của câu đố này (bằng chứng) và đưa cho bên kia xem, đủ để thuyết phục họ rằng bạn biết cách lắp ráp câu đố hoàn chỉnh, tức là vị trí của kho báu mà không tiết lộ toàn bộ câu đố. Tuy nhiên, để làm được điều này, bạn cần có những điểm đánh dấu đặc biệt từ một nhà in đáng tin cậy để chứng minh rằng mảnh ghép của bạn là thật.

zk-STARKs: Bạn cho bên kia xem một phần của bản đồ kho báu, nói với họ rằng họ có thể sử dụng kính lúp đặc biệt (thuật toán xác minh) để kiểm tra ngẫu nhiên các chi tiết của bản đồ để xác minh rằng nó thực sự trỏ đến kho báu mà không cần phải biết vị trí chính xác của kho báu. Chiếc kính lúp này mạnh đến mức ngay cả những công nghệ trong tương lai (máy tính lượng tử) cũng không thể giải mã được bí mật về bản đồ kho báu của bạn.

PLONK: Lần này, bạn tạo ra một bộ câu đố, mỗi câu đố chỉ vị trí của kho báu. Bạn trình bày một phương pháp chung để xác minh lời giải cho những câu đố này (một thiết lập chung) cho bên kia, đủ để họ tin rằng bạn biết tất cả các câu trả lời mà không cần phải giải từng câu đố riêng lẻ.

Chống đạn: Bạn quyết định chứng minh rằng bạn biết phạm vi gần đúng của vị trí kho báu mà không tiết lộ vị trí chính xác của nó. Bạn cung cấp một loạt các giải pháp toán học để chứng minh phạm vi vị trí của kho báu. Phương pháp của bạn không yêu cầu bất kỳ điểm đánh dấu hoặc kỹ thuật in đặc biệt nào, nghĩa là không yêu cầu độ tin cậy ban đầu.

Trong sự tương tự này:

  • zk-SNARK yêu cầu sự tin cậy vào nguồn của mảnh ghép của bạn (một thiết lập đáng tin cậy) nhưng cung cấp bằng chứng rất nhỏ và xác minh nhanh chóng.
  • zk-STARK không cần sự tin cậy vào bất kỳ nguồn nào, điều này làm cho bằng chứng trở nên chắc chắn hơn và phù hợp với các mối đe dọa trong tương lai cũng như bảo mật lâu dài.
  • PLONK cung cấp phương pháp xác minh hiệu quả, thiết lập một lần, sử dụng nhiều lần, nghĩa là bạn cần nỗ lực một lần để chứng minh nhiều lần rằng bạn biết vị trí của kho báu.
  • Chống đạn cho phép bạn chứng minh thông tin về phạm vi vị trí của kho báu mà không cần bất kỳ yêu cầu tin cậy ban đầu nào, mặc dù hiệu quả của việc tạo và xác minh bằng chứng có thể không bằng hai bằng chứng trước đó.

Mỗi phương pháp đều có những ưu điểm trong ứng dụng thực tế và việc lựa chọn tùy thuộc vào tình huống ứng dụng cụ thể và nhu cầu bảo mật.

So sánh đơn giản các sơ đồ ZKP khác nhau

Trước khi so sánh, chúng ta cần hiểu rõ các tiêu chí đánh giá ZKP:

  • Kích thước bằng chứng: Lượng dữ liệu trong bằng chứng, ảnh hưởng đến chi phí lưu trữ và truyền tải
  • Thời gian xác minh: Thời gian cần thiết để xác minh bằng chứng
  • Thời gian chứng minh: Thời gian cần thiết để tạo ra bằng chứng
  • Mức sử dụng bộ nhớ: Dung lượng bộ nhớ cần thiết trong quá trình tạo và xác minh bằng chứng
  • Tính phổ quát: Liệu hệ thống chứng minh có thể áp dụng được cho các loại tính toán khác nhau hay không
  • Thiết lập đáng tin cậy: Liệu có cần giai đoạn thiết lập đáng tin cậy ban đầu hay không
  • Bảo mật hậu lượng tử: Liệu nó có chống lại các cuộc tấn công máy tính lượng tử trong tương lai hay không

Bây giờ, hãy so sánh zk-SNARK, zk-STARK, PLONK và Bulletproofs dựa trên các chỉ số này và thảo luận về ưu và nhược điểm của chúng.

zk-SNARK

Ưu điểm

  • Kích thước bằng chứng: Rất nhỏ, khiến chúng phù hợp với môi trường giới hạn băng thông
  • Thời gian xác minh: Xác minh nhanh, phù hợp với các tình huống cần phản hồi nhanh
  • Tính phổ quát: Áp dụng cho các tính toán phức tạp khác nhau

Nhược điểm

  • Bằng chứng về thời gian và mức sử dụng bộ nhớ: Việc tạo bằng chứng có thể tốn cả thời gian và bộ nhớ
  • Thiết lập đáng tin cậy: Yêu cầu giai đoạn thiết lập đáng tin cậy ban đầu; nếu bị xâm phạm, bảo mật của hệ thống sẽ gặp rủi ro
  • An ninh hậu lượng tử: Hầu hết các công trình không an toàn hậu lượng tử

zk-STARK

Ưu điểm

  • Không có thiết lập đáng tin cậy: Loại bỏ nhu cầu thiết lập đáng tin cậy, tăng cường bảo mật hệ thống
  • Bảo mật hậu lượng tử: Chống lại các cuộc tấn công từ máy tính lượng tử
  • Kích thước bằng chứng: Mặc dù lớn hơn zk-SNARK nhưng vẫn có thể quản lý được trong một số điều kiện nhất định

Nhược điểm

  • Kích thước bằng chứng: Lớn hơn zk-SNARK, có khả năng làm giảm hiệu quả lưu trữ và truyền tải
  • Thời gian chứng minh: Có thể chậm hơn zk-SNARK, đặc biệt là trong các phép tính phức tạp

PLONK

Ưu điểm

  • Tính phổ quát: Một bộ tham số áp dụng cho nhiều bằng chứng khác nhau, giảm bớt công việc dư thừa
  • Kích thước bằng chứng: Tương đối nhỏ, mặc dù lớn hơn zk-SNARK
  • Khả năng cập nhật: Dễ dàng cập nhật và bảo trì

Nhược điểm

  • Thiết lập đáng tin cậy: Mặc dù ít nghiêm ngặt hơn zk-SNARKs' nhưng vẫn cần phải thiết lập
  • An ninh hậu lượng tử: Tương tự, hầu hết các công trình đều không an toàn hậu lượng tử

chống đạn

Ưu điểm

  • Không cần thiết lập đáng tin cậy: Không cần thiết lập đáng tin cậy, giảm rủi ro bảo mật
  • Kích thước chứng minh: Kích thước chứng minh tăng chậm theo độ phức tạp của câu lệnh
  • Thời gian xác minh: Nhanh chóng để chứng minh phạm vi

Nhược điểm

  • Thời gian chứng minh: Việc tạo bằng chứng có thể mất nhiều thời gian hơn
  • Kích thước bằng chứng: Mặc dù nhỏ hơn nhưng vẫn lớn hơn zk-SNARK trong các bằng chứng lớn hơn
  • Bảo mật hậu lượng tử: Không được thiết kế đặc biệt cho môi trường hậu lượng tử

Các trường hợp ứng dụng của ZKP trong Web3

Trong Web3 có nhiều trường hợp ứng dụng ZKP và chúng tôi đã chọn ra hai trường hợp điển hình để nghiên cứu.

Mở rộng quy mô chuỗi khối - Ethereum Layer2

zk-Rollups là giải pháp Lớp 2 bao gồm hàng trăm hoặc hàng nghìn giao dịch ngoài chuỗi và tạo ra bằng chứng zk-SNARK. Bằng chứng này cùng với dữ liệu giao dịch được gửi tới chuỗi chính Ethereum. Nó cho phép xác thực các giao dịch mà không cần chuỗi chính xử lý từng giao dịch, do đó giảm phí và tăng thông lượng. zk-Sync Era và Starknet đã áp dụng công nghệ zk-rollup và Polygon gần đây đã giới thiệu Polygon zk-EVM sử dụng zk-rollup.

Trình diễn ứng dụng zk-SNARK ở Lớp 2 (Nguồn: Simon Brown)

Quyền riêng tư dữ liệu - Bằng chứng dự trữ Exchange

Bằng chứng dự trữ trao đổi đề cập đến việc xác minh số dư được nắm giữ bởi các sàn giao dịch tiền điện tử hoặc các tổ chức tài chính khác, đảm bảo rằng tài sản được ghi lại khớp với tài sản thực tế được nắm giữ. Ban đầu, các sàn giao dịch sử dụng cây Merkle và các công ty kiểm toán bên thứ ba để xác minh, nhưng quá trình này phụ thuộc vào bên thứ ba và có thể làm rò rỉ dữ liệu cá nhân của người dùng như số dư tài khoản. Các sàn giao dịch như Gate.io hiện đang sử dụng công nghệ zk-SNARK để chứng minh dự trữ, mã hóa dữ liệu người dùng và lấy số tài sản của người dùng thông qua các mạch zk-SNARK, từ đó đưa ra báo cáo chứng minh dự trữ hoàn chỉnh.

Phần kết luận

Các giải pháp đa dạng của công nghệ chứng minh không có kiến thức làm nổi bật tiềm năng mạnh mẽ của nó trong Web3. Từ bảo vệ quyền riêng tư dữ liệu đến mở rộng quy mô blockchain, ZKP rất quan trọng trong việc xây dựng cơ sở hạ tầng Web3 an toàn và hiệu quả. Mặc dù các phương pháp tiếp cận khác nhau đều có những ưu điểm và hạn chế nhưng chúng đều hướng tới một tương lai kỹ thuật số được bảo vệ quyền riêng tư và đáng tin cậy hơn. Khi công nghệ tiến bộ, những thách thức về tối ưu hóa hiệu suất và bảo mật với ZKP sẽ dần được khắc phục, cho thấy vai trò ngày càng quan trọng của nó trong thế giới kỹ thuật số.

Penulis: Wayne
Penerjemah: Piper
Pengulas: Piccolo、Edward、Elisa、Ashley He、Joyce
* Informasi ini tidak bermaksud untuk menjadi dan bukan merupakan nasihat keuangan atau rekomendasi lain apa pun yang ditawarkan atau didukung oleh Gate.io.
* Artikel ini tidak boleh di reproduksi, di kirim, atau disalin tanpa referensi Gate.io. Pelanggaran adalah pelanggaran Undang-Undang Hak Cipta dan dapat dikenakan tindakan hukum.

Giải thích chi tiết về Bằng chứng không có kiến thức (ZKP)

Trung cấp11/28/2023, 11:05:05 AM
Zero-Knowledge Proof (ZKP) là một phương pháp mã hóa cho phép một bên (được gọi là người chứng minh) chứng minh cho một bên khác (được gọi là người xác minh) rằng một tuyên bố là đúng mà không tiết lộ bất kỳ thông tin nào khác. Các giải pháp ZKP phổ biến bao gồm zk-SNARKS, zk-STARKS, PLONK và Bulletproofs. Bài viết này sẽ giới thiệu bốn loại giải pháp ZKP này và phân tích ưu điểm và nhược điểm của chúng.

Bối cảnh

Zero-Knowledge Proof (ZKP) là một công nghệ mật mã được giới thiệu lần đầu tiên trong bài báo có tựa đề “Sự phức tạp về kiến thức của các hệ thống chứng minh tương tác” vào đầu những năm 1980 của S.Goldwasser, S.Micali và C.Rackoff. Ban đầu được hình thành như một mô hình lý thuyết, nó nhằm mục đích giải quyết thách thức trong việc xác minh các phát biểu toán học mà không tiết lộ bất kỳ bằng chứng nào. Khái niệm này đã thu hút được sự chú ý rộng rãi trong giới học thuật vì đã thách thức ranh giới của các kỹ thuật mã hóa truyền thống và đưa ra một cách tiếp cận mới để xử lý thông tin nhạy cảm.

Theo thời gian, ZKP đã phát triển từ một khái niệm lý thuyết trừu tượng thành các giao thức cụ thể có thể được tích hợp vào nhiều ứng dụng khác nhau. Vào đầu thế kỷ 21, với sự phát triển bùng nổ của Internet và truyền thông kỹ thuật số, tiềm năng của ZKP bắt đầu được khám phá trong thế giới thực. Đặc biệt với sự phát triển của blockchain và tiền điện tử, ZKP đã chứng tỏ khả năng tăng cường quyền riêng tư và bảo mật trong khi vẫn duy trì hiệu quả của các giao dịch và xử lý dữ liệu.

Ngày nay, ZKP không chỉ là chủ đề nóng trong nghiên cứu mật mã mà còn được tích hợp vào nhiều nền tảng và ứng dụng blockchain. Chẳng hạn, ứng dụng zk-SNARKs trên Ethereum Layer2 cung cấp các giao dịch ẩn danh mà không tiết lộ chi tiết giao dịch. Quá trình chuyển đổi từ lý thuyết sang ứng dụng thực tế này không chỉ chứng minh giá trị thực tế của ZKP mà còn thúc đẩy việc khám phá các tương tác kỹ thuật số an toàn và hiệu quả hơn. Với những tiến bộ công nghệ không ngừng, ZKP đóng vai trò ngày càng quan trọng trong việc bảo vệ quyền riêng tư cá nhân, đảm bảo an ninh dữ liệu và thiết lập các hệ thống kỹ thuật số đáng tin cậy.

Định nghĩa và nguyên tắc của ZKP

Zero-Knowledge Proof (ZKP) là một phương pháp mã hóa cho phép một bên (người chứng minh) chứng minh tính đúng đắn của tuyên bố cho một bên khác (người xác minh) mà không tiết lộ bất kỳ thông tin bổ sung nào, tức là không tiết lộ bất kỳ kiến thức nào về tính chính xác của tuyên bố đó. tuyên bố phụ thuộc. Quá trình này không chỉ bảo vệ quyền riêng tư của người chứng minh mà còn đảm bảo rằng người xác minh không thể sao chép quy trình chứng minh hoặc sử dụng nó để thu thập bất kỳ thông tin bổ sung nào.

Sơ đồ khái niệm về Bằng chứng không có kiến thức (Nguồn: ChainLink)

Các nguyên tắc cốt lõi của Bằng chứng không có kiến thức (ZKP) có thể được xác định bởi ba thuộc tính sau:

  • Tính đầy đủ: Nếu một tuyên bố là đúng, một người chứng minh trung thực luôn có thể vượt qua bài kiểm tra của người xác minh.
  • Tính đúng đắn: Nếu một tuyên bố là sai, bất kỳ người chứng minh gian dối nào cũng sẽ chỉ có một cơ hội mong manh khiến người xác minh tin rằng tuyên bố đó là đúng.
  • Không có kiến thức: Nếu tuyên bố là đúng, người xác minh sẽ không biết thêm thông tin nào khác ngoài thực tế là tuyên bố đó đúng. Nói cách khác, quá trình xác minh không tiết lộ bất kỳ thông tin nào có thể được sử dụng để xây dựng bằng chứng.

Nguyên lý của ZKP thường được hiểu qua những ví dụ đơn giản: Nếu cần chứng minh với người A rằng tôi có số điện thoại của người B thì tôi không cần trực tiếp tiết lộ số của B cho A. Thay vào đó, tôi có thể chứng minh bằng cách gọi đến số của B. . Khi cuộc gọi được kết nối, điều đó chứng tỏ rằng tôi thực sự sở hữu số của B mà không tiết lộ bất kỳ thông tin nào về số đó.

Trong các ứng dụng thực tế, ZKP thường yêu cầu các cấu trúc toán học phức tạp như phương trình đa thức, đường cong elip hoặc các thách thức toán học khác. Tính bảo mật của các công trình này dựa trên độ khó tính toán của các vấn đề như phân tích nhân tử hoặc logarit rời rạc. Với sự tiến bộ của mật mã, nhiều triển khai ZKP khác nhau đã xuất hiện, chẳng hạn như zk-SNARK và zk-STARK, cung cấp khả năng bảo vệ quyền riêng tư hiệu quả trong các bối cảnh khác nhau, đặc biệt là trong lĩnh vực blockchain và tiền điện tử.

Hình thức cơ bản của bằng chứng không có kiến thức bao gồm ba yếu tố: nhân chứng, thách thức và phản hồi.

Nhân chứng: Trong bằng chứng không có kiến thức, người chứng minh muốn chứng minh kiến thức về một số thông tin ẩn giấu. Thông tin bí mật này đóng vai trò là “nhân chứng” cho bằng chứng. Người chứng minh, dựa trên kiến thức của họ về nhân chứng, đặt ra một bộ câu hỏi mà chỉ người có hiểu biết về thông tin mới có thể trả lời. Do đó, người chứng minh chọn ngẫu nhiên một câu hỏi để bắt đầu bằng chứng, tính toán câu trả lời rồi gửi cho người xác minh.

Thử thách: Người xác minh chọn ngẫu nhiên một câu hỏi khác từ bộ câu hỏi và yêu cầu người chứng minh trả lời câu hỏi đó.

Phản hồi: Người chứng minh nhận được câu hỏi, tính toán câu trả lời và gửi lại cho người xác minh. Phản hồi của người chứng minh cho phép người xác minh kiểm tra xem người chứng minh có thực sự có quyền tiếp cận nhân chứng hay không. Để đảm bảo rằng người chứng minh không vô tình đoán đúng một cách mù quáng, người xác minh sẽ chọn một câu hỏi khác để hỏi. Bằng cách lặp lại quá trình này nhiều lần, khả năng người chứng minh bịa đặt sự thật sẽ giảm đi đáng kể cho đến khi người xác minh hài lòng.

Trong ví dụ về cuộc gọi điện thoại nói trên, “Tôi” là nhân chứng không muốn tiết lộ thông tin, trong khi A là người xác minh và thách thức được đặt ra là “Chứng minh rằng 'Tôi' sở hữu số của B”. Quá trình phản hồi bao gồm việc “tôi” kết nối cuộc gọi đến số của B để chứng minh rằng tôi thực sự có số đó.

Tại sao cần có ZKP?

Như đã thảo luận trước đây, Bằng chứng không kiến thức (ZKP) vốn mang lại những lợi thế đáng kể trong lĩnh vực bảo vệ quyền riêng tư. Trong thời đại quá tải thông tin hiện nay, dữ liệu cá nhân thường được lưu trữ trên nền tảng của bên thứ ba, làm tăng nguy cơ vi phạm dữ liệu. Hơn nữa, do các rào cản kỹ thuật và sự chậm trễ trong các biện pháp trừng phạt pháp lý, việc bảo mật thông tin chủ yếu dựa vào các ràng buộc về đạo đức, khiến người dùng khó thực sự kiểm soát được thông tin riêng tư của mình. Sự ra đời của công nghệ ZKP cung cấp giải pháp vừa bảo vệ quyền riêng tư, vừa nâng cao hiệu quả xác minh và bảo mật.

So với các công nghệ mã hóa khác, ZKP có nhiều ưu điểm:

  • Bảo vệ quyền riêng tư: ZKP cho phép các cá nhân và tổ chức chứng minh tính trung thực của một số thông tin nhất định mà không tiết lộ nội dung thực tế của thông tin. Ví dụ: nó có thể được sử dụng để chứng minh rằng một người đáp ứng các yêu cầu về độ tuổi mà không tiết lộ tuổi hoặc ngày sinh thực tế.
  • Bảo mật nâng cao: Vì ZKP không yêu cầu tiết lộ thông tin nhạy cảm nên sẽ giảm nguy cơ rò rỉ dữ liệu. Ngay cả khi việc chặn xảy ra trong quá trình chứng minh, không có dữ liệu quan trọng nào được tiết lộ.
  • Giảm gian lận: Trong các giao dịch tài chính, ZKP có thể được sử dụng để xác minh tính hợp pháp của giao dịch mà không để lộ chi tiết cụ thể, do đó làm giảm cơ hội gian lận.
  • Hiệu quả: Một số loại ZKP, như zk-SNARK, được tạo và xác minh rất nhanh, điều này có lợi cho các hệ thống cần xử lý số lượng lớn giao dịch hoặc hoạt động xác minh.
  • Khả năng tương tác: ZKP cung cấp một khuôn khổ chung để xác minh giữa các hệ thống và miền khác nhau, cho phép thông tin được xác minh và chia sẻ một cách an toàn giữa các hệ thống khác nhau.
  • Khả năng mở rộng: Với sự phát triển của công nghệ điện toán, việc triển khai ZKP ngày càng trở nên hiệu quả và có thể mở rộng hơn, nghĩa là nó có thể được triển khai trong các hệ thống quy mô lớn hơn.
  • Tuân thủ: Trong môi trường pháp lý ngày nay yêu cầu bảo vệ quyền riêng tư của người tiêu dùng, ZKP có thể giúp các công ty xác minh và xử lý dữ liệu mà không vi phạm luật về quyền riêng tư.
  • Kiểm soát người dùng: ZKP tăng cường khả năng kiểm soát của người dùng đối với dữ liệu của họ vì họ có thể chọn lượng thông tin tiết lộ.
  • Phân cấp: Trong công nghệ chuỗi khối và phân tán, ZKP cung cấp một công cụ bảo mật mạnh mẽ để phân cấp, cho phép người dùng giao dịch và tương tác mà không phụ thuộc vào cơ quan trung ương.

Cho dù ở miền Web 2.0 truyền thống hay miền Web 3.0 mới nổi, triển vọng ứng dụng của ZKP đều rất rộng lớn.

Các loại Bằng chứng Không có Kiến thức (ZKP)

Có nhiều cách triển khai bằng chứng không có kiến thức, chẳng hạn như zk-SNARK, zk-STARK, PLONK và Bulletproofs. Mỗi loại đều có ưu điểm và nhược điểm về quy mô chứng minh, thời gian chứng minh và thời gian xác minh. Bài viết này tập trung giới thiệu bốn loại được sử dụng phổ biến nhất trong các tình huống ứng dụng.

zk-SNARK

zk-SNARK, viết tắt của “Lý lẽ kiến thức ngắn gọn, không tương tác về kiến thức bằng không”, là các công cụ mật mã được sử dụng để chứng minh rằng ai đó biết một phần thông tin mà không tiết lộ bất kỳ thông tin nào. Trong zk-SNARK, “không có kiến thức” có nghĩa là người chứng minh có thể chứng minh một tuyên bố là đúng mà không cần cung cấp bất kỳ thông tin nào ngoài tính chính xác của nó. “Tính ngắn gọn” đề cập đến quy mô nhỏ của bằng chứng và tốc độ của quá trình xác minh. “Không tương tác” có nghĩa là khi bằng chứng được tạo ra, bất kỳ ai cũng có thể xác minh nó mà không cần có sự tương tác thêm giữa người chứng minh và người xác minh. Các thành phần cốt lõi của zk-SNARK bao gồm:

  • Thiết lập đáng tin cậy: Trong quá trình khởi tạo hệ thống, cần tạo một cặp khóa công khai/riêng tư (tham số). Quá trình này phải được thực hiện bởi một bên đáng tin cậy vì tính bảo mật của hệ thống có thể bị xâm phạm nếu khóa riêng bị rò rỉ.
  • Tạo bằng chứng: Người chứng minh biết một thông tin bí mật nhưng không muốn tiết lộ nó cho người xác minh. Họ sử dụng thông tin bí mật này và các tham số công khai để xây dựng bằng chứng đủ cho thấy họ biết bí mật mà không tiết lộ bất kỳ chi tiết nào về nó.
  • Quy trình xác minh: Sau khi người xác minh nhận được bằng chứng, họ có thể sử dụng các tham số công khai để xác minh tính chính xác của nó. Nếu người chứng minh đã đưa ra bằng chứng chính xác thì quá trình xác minh sẽ đưa ra “có”, nếu không thì “không”.

zk-SNARK được sử dụng trong nhiều tình huống bảo vệ quyền riêng tư khác nhau, chẳng hạn như tiền điện tử với giao dịch ẩn danh, hệ thống bỏ phiếu an toàn, xác thực bảo vệ quyền riêng tư và chia sẻ dữ liệu cũng như công nghệ mở rộng chuỗi khối.

zk-STARK

zk-STARK, hay “Các đối số kiến thức minh bạch có thể mở rộng không có kiến thức”, cho phép một bên (người chứng minh) chứng minh cho người khác (người xác minh) rằng họ biết một số thông tin nhất định mà không tiết lộ chính thông tin đó. Không giống như zk-SNARK, zk-STARK không yêu cầu quy trình thiết lập đáng tin cậy. Điều này có nghĩa là họ không dựa vào tính bảo mật của một số thông tin cá nhân nhất định, một tính năng thường được coi là quan trọng đối với bảo mật, vì thiết lập đáng tin cậy có thể là lỗ hổng hệ thống.

zk-STARK hoạt động dựa trên các khái niệm từ một số lĩnh vực toán học, bao gồm hàm băm, tính toán đa thức và lý thuyết sửa lỗi. Họ sử dụng một cấu trúc được gọi là “đối số minh bạch có thể mở rộng không có kiến thức”, cho phép tạo bằng chứng mà không cần thiết lập đáng tin cậy. Các ứng dụng tiềm năng của zk-STARK tương tự như zk-SNARK, nhưng do khả năng mở rộng và tính minh bạch, chúng đặc biệt phù hợp với các ứng dụng quy mô lớn, bao gồm tiền điện tử bảo vệ quyền riêng tư, công nghệ có thể mở rộng chuỗi khối và xác minh an toàn trong điện toán đám mây .

PLONK

PLONK, không phải từ viết tắt, đề cập đến họ của những người tạo ra nó. Nó được thiết kế để cung cấp giải pháp ZKP phổ quát và hiệu quả, đặc biệt là trong các ứng dụng blockchain như hợp đồng thông minh và giao dịch được bảo vệ quyền riêng tư. Cốt lõi của PLONK là sử dụng kỹ thuật “ẩn đồng hình”, cho phép thực hiện các phép tính số học trên dữ liệu mà không làm lộ dữ liệu gốc. Nó sử dụng một thuật toán đặc biệt - sơ đồ cam kết đa thức - để tạo ra bằng chứng, cho phép người chứng minh chứng minh một cách hiệu quả rằng họ có kết quả tính toán chính xác cho một tập hợp dữ liệu.

Một tính năng chính của PLONK là tính phổ quát của nó. Khi các tham số được đặt cho một tác vụ tính toán cụ thể (thông qua thiết lập đáng tin cậy một lần), chúng có thể được sử dụng lại nhiều lần để tạo bằng chứng mới mà không cần thiết lập mới mỗi lần. Điều này làm cho PLONK đạt hiệu quả cao trong việc tạo và xác minh bằng chứng và thường được thiết kế để hỗ trợ các tác vụ tính toán khác nhau trong blockchain và các hệ thống phân tán khác.

chống đạn

Bulletproofs, một giải pháp ZKP mới được giới thiệu, không yêu cầu thiết lập đáng tin cậy và được thiết kế đặc biệt để xây dựng các bằng chứng phạm vi và một số loại bằng chứng số học nhất định. Được đề xuất bởi Benedikt Bunz, Jonathan Bootle, Dan Boneh và những người khác vào năm 2017, Bulletproofs hoạt động trên các cấu trúc toán học phức tạp như mã hóa đồng cấu và mật mã đường cong elip. Họ tận dụng một loạt các kỹ thuật toán học để cho phép người chứng minh tạo ra một bằng chứng phạm vi hiệu quả cho một số mà không tiết lộ giá trị chính xác của nó. Đặc biệt trong lĩnh vực tiền điện tử, điều này có thể được sử dụng để chứng minh rằng giá trị giao dịch nằm trong phạm vi pháp lý mà không làm lộ số tiền giao dịch thực tế.

Do tính năng kiểm soát phạm vi của chúng, Bulletproofs được sử dụng rộng rãi trong lĩnh vực tiền điện tử và blockchain, đặc biệt là trong các đồng tiền riêng tư như Monero, để ẩn số lượng giao dịch trong khi xác minh tính hợp pháp của giao dịch. Ngoài ra, chúng có thể được sử dụng trong các ứng dụng khác yêu cầu quyền riêng tư về số lượng.

Nghiên cứu điển hình

Chúng ta hãy hiểu rõ hơn về bốn công nghệ Zero-Knowledge Proof (ZKP) khác nhau này—zk-SNARK, zk-STARK, PLONK và Bulletproofs—thông qua sự tương tự như bản đồ kho báu.

Hãy tưởng tượng bạn có một bản đồ kho báu dẫn đến vị trí chính xác của kho báu bị chôn giấu. Bạn muốn chứng minh cho ai đó rằng bạn biết kho báu ở đâu mà không tiết lộ nội dung trên bản đồ hoặc vị trí thực tế của kho báu.

zk-SNARKs: Bạn tạo một trò chơi ghép hình phức tạp về bản đồ kho báu. Bạn chọn một mảnh nhỏ, quan trọng của câu đố này (bằng chứng) và đưa cho bên kia xem, đủ để thuyết phục họ rằng bạn biết cách lắp ráp câu đố hoàn chỉnh, tức là vị trí của kho báu mà không tiết lộ toàn bộ câu đố. Tuy nhiên, để làm được điều này, bạn cần có những điểm đánh dấu đặc biệt từ một nhà in đáng tin cậy để chứng minh rằng mảnh ghép của bạn là thật.

zk-STARKs: Bạn cho bên kia xem một phần của bản đồ kho báu, nói với họ rằng họ có thể sử dụng kính lúp đặc biệt (thuật toán xác minh) để kiểm tra ngẫu nhiên các chi tiết của bản đồ để xác minh rằng nó thực sự trỏ đến kho báu mà không cần phải biết vị trí chính xác của kho báu. Chiếc kính lúp này mạnh đến mức ngay cả những công nghệ trong tương lai (máy tính lượng tử) cũng không thể giải mã được bí mật về bản đồ kho báu của bạn.

PLONK: Lần này, bạn tạo ra một bộ câu đố, mỗi câu đố chỉ vị trí của kho báu. Bạn trình bày một phương pháp chung để xác minh lời giải cho những câu đố này (một thiết lập chung) cho bên kia, đủ để họ tin rằng bạn biết tất cả các câu trả lời mà không cần phải giải từng câu đố riêng lẻ.

Chống đạn: Bạn quyết định chứng minh rằng bạn biết phạm vi gần đúng của vị trí kho báu mà không tiết lộ vị trí chính xác của nó. Bạn cung cấp một loạt các giải pháp toán học để chứng minh phạm vi vị trí của kho báu. Phương pháp của bạn không yêu cầu bất kỳ điểm đánh dấu hoặc kỹ thuật in đặc biệt nào, nghĩa là không yêu cầu độ tin cậy ban đầu.

Trong sự tương tự này:

  • zk-SNARK yêu cầu sự tin cậy vào nguồn của mảnh ghép của bạn (một thiết lập đáng tin cậy) nhưng cung cấp bằng chứng rất nhỏ và xác minh nhanh chóng.
  • zk-STARK không cần sự tin cậy vào bất kỳ nguồn nào, điều này làm cho bằng chứng trở nên chắc chắn hơn và phù hợp với các mối đe dọa trong tương lai cũng như bảo mật lâu dài.
  • PLONK cung cấp phương pháp xác minh hiệu quả, thiết lập một lần, sử dụng nhiều lần, nghĩa là bạn cần nỗ lực một lần để chứng minh nhiều lần rằng bạn biết vị trí của kho báu.
  • Chống đạn cho phép bạn chứng minh thông tin về phạm vi vị trí của kho báu mà không cần bất kỳ yêu cầu tin cậy ban đầu nào, mặc dù hiệu quả của việc tạo và xác minh bằng chứng có thể không bằng hai bằng chứng trước đó.

Mỗi phương pháp đều có những ưu điểm trong ứng dụng thực tế và việc lựa chọn tùy thuộc vào tình huống ứng dụng cụ thể và nhu cầu bảo mật.

So sánh đơn giản các sơ đồ ZKP khác nhau

Trước khi so sánh, chúng ta cần hiểu rõ các tiêu chí đánh giá ZKP:

  • Kích thước bằng chứng: Lượng dữ liệu trong bằng chứng, ảnh hưởng đến chi phí lưu trữ và truyền tải
  • Thời gian xác minh: Thời gian cần thiết để xác minh bằng chứng
  • Thời gian chứng minh: Thời gian cần thiết để tạo ra bằng chứng
  • Mức sử dụng bộ nhớ: Dung lượng bộ nhớ cần thiết trong quá trình tạo và xác minh bằng chứng
  • Tính phổ quát: Liệu hệ thống chứng minh có thể áp dụng được cho các loại tính toán khác nhau hay không
  • Thiết lập đáng tin cậy: Liệu có cần giai đoạn thiết lập đáng tin cậy ban đầu hay không
  • Bảo mật hậu lượng tử: Liệu nó có chống lại các cuộc tấn công máy tính lượng tử trong tương lai hay không

Bây giờ, hãy so sánh zk-SNARK, zk-STARK, PLONK và Bulletproofs dựa trên các chỉ số này và thảo luận về ưu và nhược điểm của chúng.

zk-SNARK

Ưu điểm

  • Kích thước bằng chứng: Rất nhỏ, khiến chúng phù hợp với môi trường giới hạn băng thông
  • Thời gian xác minh: Xác minh nhanh, phù hợp với các tình huống cần phản hồi nhanh
  • Tính phổ quát: Áp dụng cho các tính toán phức tạp khác nhau

Nhược điểm

  • Bằng chứng về thời gian và mức sử dụng bộ nhớ: Việc tạo bằng chứng có thể tốn cả thời gian và bộ nhớ
  • Thiết lập đáng tin cậy: Yêu cầu giai đoạn thiết lập đáng tin cậy ban đầu; nếu bị xâm phạm, bảo mật của hệ thống sẽ gặp rủi ro
  • An ninh hậu lượng tử: Hầu hết các công trình không an toàn hậu lượng tử

zk-STARK

Ưu điểm

  • Không có thiết lập đáng tin cậy: Loại bỏ nhu cầu thiết lập đáng tin cậy, tăng cường bảo mật hệ thống
  • Bảo mật hậu lượng tử: Chống lại các cuộc tấn công từ máy tính lượng tử
  • Kích thước bằng chứng: Mặc dù lớn hơn zk-SNARK nhưng vẫn có thể quản lý được trong một số điều kiện nhất định

Nhược điểm

  • Kích thước bằng chứng: Lớn hơn zk-SNARK, có khả năng làm giảm hiệu quả lưu trữ và truyền tải
  • Thời gian chứng minh: Có thể chậm hơn zk-SNARK, đặc biệt là trong các phép tính phức tạp

PLONK

Ưu điểm

  • Tính phổ quát: Một bộ tham số áp dụng cho nhiều bằng chứng khác nhau, giảm bớt công việc dư thừa
  • Kích thước bằng chứng: Tương đối nhỏ, mặc dù lớn hơn zk-SNARK
  • Khả năng cập nhật: Dễ dàng cập nhật và bảo trì

Nhược điểm

  • Thiết lập đáng tin cậy: Mặc dù ít nghiêm ngặt hơn zk-SNARKs' nhưng vẫn cần phải thiết lập
  • An ninh hậu lượng tử: Tương tự, hầu hết các công trình đều không an toàn hậu lượng tử

chống đạn

Ưu điểm

  • Không cần thiết lập đáng tin cậy: Không cần thiết lập đáng tin cậy, giảm rủi ro bảo mật
  • Kích thước chứng minh: Kích thước chứng minh tăng chậm theo độ phức tạp của câu lệnh
  • Thời gian xác minh: Nhanh chóng để chứng minh phạm vi

Nhược điểm

  • Thời gian chứng minh: Việc tạo bằng chứng có thể mất nhiều thời gian hơn
  • Kích thước bằng chứng: Mặc dù nhỏ hơn nhưng vẫn lớn hơn zk-SNARK trong các bằng chứng lớn hơn
  • Bảo mật hậu lượng tử: Không được thiết kế đặc biệt cho môi trường hậu lượng tử

Các trường hợp ứng dụng của ZKP trong Web3

Trong Web3 có nhiều trường hợp ứng dụng ZKP và chúng tôi đã chọn ra hai trường hợp điển hình để nghiên cứu.

Mở rộng quy mô chuỗi khối - Ethereum Layer2

zk-Rollups là giải pháp Lớp 2 bao gồm hàng trăm hoặc hàng nghìn giao dịch ngoài chuỗi và tạo ra bằng chứng zk-SNARK. Bằng chứng này cùng với dữ liệu giao dịch được gửi tới chuỗi chính Ethereum. Nó cho phép xác thực các giao dịch mà không cần chuỗi chính xử lý từng giao dịch, do đó giảm phí và tăng thông lượng. zk-Sync Era và Starknet đã áp dụng công nghệ zk-rollup và Polygon gần đây đã giới thiệu Polygon zk-EVM sử dụng zk-rollup.

Trình diễn ứng dụng zk-SNARK ở Lớp 2 (Nguồn: Simon Brown)

Quyền riêng tư dữ liệu - Bằng chứng dự trữ Exchange

Bằng chứng dự trữ trao đổi đề cập đến việc xác minh số dư được nắm giữ bởi các sàn giao dịch tiền điện tử hoặc các tổ chức tài chính khác, đảm bảo rằng tài sản được ghi lại khớp với tài sản thực tế được nắm giữ. Ban đầu, các sàn giao dịch sử dụng cây Merkle và các công ty kiểm toán bên thứ ba để xác minh, nhưng quá trình này phụ thuộc vào bên thứ ba và có thể làm rò rỉ dữ liệu cá nhân của người dùng như số dư tài khoản. Các sàn giao dịch như Gate.io hiện đang sử dụng công nghệ zk-SNARK để chứng minh dự trữ, mã hóa dữ liệu người dùng và lấy số tài sản của người dùng thông qua các mạch zk-SNARK, từ đó đưa ra báo cáo chứng minh dự trữ hoàn chỉnh.

Phần kết luận

Các giải pháp đa dạng của công nghệ chứng minh không có kiến thức làm nổi bật tiềm năng mạnh mẽ của nó trong Web3. Từ bảo vệ quyền riêng tư dữ liệu đến mở rộng quy mô blockchain, ZKP rất quan trọng trong việc xây dựng cơ sở hạ tầng Web3 an toàn và hiệu quả. Mặc dù các phương pháp tiếp cận khác nhau đều có những ưu điểm và hạn chế nhưng chúng đều hướng tới một tương lai kỹ thuật số được bảo vệ quyền riêng tư và đáng tin cậy hơn. Khi công nghệ tiến bộ, những thách thức về tối ưu hóa hiệu suất và bảo mật với ZKP sẽ dần được khắc phục, cho thấy vai trò ngày càng quan trọng của nó trong thế giới kỹ thuật số.

Penulis: Wayne
Penerjemah: Piper
Pengulas: Piccolo、Edward、Elisa、Ashley He、Joyce
* Informasi ini tidak bermaksud untuk menjadi dan bukan merupakan nasihat keuangan atau rekomendasi lain apa pun yang ditawarkan atau didukung oleh Gate.io.
* Artikel ini tidak boleh di reproduksi, di kirim, atau disalin tanpa referensi Gate.io. Pelanggaran adalah pelanggaran Undang-Undang Hak Cipta dan dapat dikenakan tindakan hukum.
Mulai Sekarang
Daftar dan dapatkan Voucher
$100
!