Tổng quan toàn diện về công nghệ chứng minh không kiến thức trong 40 năm: Từ sự phát triển của ZKSNARK đến triển vọng tương lai của ZKEVM.

Tổng quan toàn diện về công nghệ zk-SNARK và triển vọng tương lai

Tóm tắt

zk-SNARK ( ZKP ) công nghệ đượ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, sau công nghệ sổ cái phân tán, và cũng là lĩnh vực được các nhà đầu tư mạo hiểm đặc biệt chú ý. Bài viết này tổng quan một cách hệ thống tài liệu lịch sử gần bốn mươi năm và nghiên cứu mới nhất về công nghệ zk-SNARK.

Đầu tiên, giới thiệu khái niệm cơ bản về zk-SNARK và bối cảnh lịch sử của nó. Sau đó, phân tích trọng tâm về công nghệ zk-SNARK dựa trên mạch, bao gồm thiết kế, ứng dụng và phương pháp 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 tính toán, bài viết giới thiệu ZKVM và ZKEVM, khám phá cách chúng nâng cao khả năng xử lý giao dịch, bảo vệ quyền riêng tư và cải thiện hiệu quả xác minh. 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 của zk-Rollup(ZK Rollup) như một giải pháp mở rộng Layer 2, cũng như những tiến bộ mới nhất trong tăng tốc phần cứng, giải pháp hỗn hợp và ZK EVM chuyên dụng.

Cuối cùng, bài viết đã nhìn về 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 trong khả năng mở rộng, khả năng tương tác và bảo vệ quyền riêng tư của blockchain.

Bằng cách phân tích những công nghệ và xu hướng phát triển mới nhất, bài viết này cung cấp một góc nhìn toàn diện để hiểu và áp dụng công nghệ zk-SNARK, cho thấy tiềm năng to lớn của nó trong việc nâng cao hiệu quả và độ an toàn của hệ thống blockchain, cung cấp tham khảo quan trọng cho các quyết định đầu tư trong tương lai.

Mục lục

Lời mở đầu

Một, kiến thức cơ bản về zk-SNARK 1.Tổng quan 2. zk-SNARK示例

Hai, zk-SNARK không tương tác

  1. Bối cảnh
  2. Sự ra đời của NIZK
  3. Chuyển đổi Fiat-Shamir
  4. Jens Groth và nghiên cứu của ông
  5. Nghiên cứu khác

Ba, chứng minh không có kiến thức dựa trên mạch

  1. Bối cảnh
  2. Khái niệm cơ bản và đặc điểm của mô hình mạch điện
  3. Thiết kế và ứng dụng mạch trong zk-SNARK
  4. Các khuyết điểm và thách thức tiềm ẩn

Bốn, mô hình zk-SNARK

  1. Bối cảnh 2.Mô hình thuật toán phổ biến
  2. Giải pháp dựa trên PCP tuyến tính và bài toán logarit rời rạc
  3. Giải pháp dựa trên chứng minh của người bình thường
  4. Chứng minh PCP( có thể kiểm tra dựa trên xác suất ) zk-SNARK
  5. Phân loại giai đoạn thiết lập chứng minh tổng quát CPC( dựa trên )

V. Tổng quan và phát triển của máy ảo zk-SNARK

  1. Bối cảnh
  2. Phân loại ZKVM hiện có
  3. Mô hình phía trước và phía sau
  4. Ưu điểm và nhược điểm của định dạng ZKVM

Sáu, Tổng quan và phát triển của máy ảo Ethereum không kiến thức

  1. Bối cảnh
  2. Nguyên lý hoạt động của ZKEVM
  3. Quy trình thực hiện ZKEVM
  4. Đặc điểm của ZKEVM

Bảy, Tổng quan và phát triển giải pháp mạng lớp hai zk-SNARK

  1. Bối cảnh
  2. Cơ chế hoạt động của ZK Rollup
  3. Nhược điểm và tối ưu hóa của ZK Rollup

Tám, phương hướng phát triển tương lai của zk-SNARK

  1. Thúc đẩy sự phát triển của môi trường tính toán
  2. Sự ra đời và phát triển của ZKML
  3. Phát triển công nghệ mở rộng ZKP
  4. Sự phát triển của tính tương tác ZKP

Chín, Kết luận

Tài liệu tham khảo

Lời giới thiệu

Internet đang bước vào kỷ nguyên Web3, các ứng dụng blockchain (DApps) phát triển nhanh chóng, mỗi ngày có nhiều ứng dụng mới xuất hiện. Trong những năm gần đây, các nền tảng blockchain mỗi ngày đều chịu trách nhiệm cho hàng triệu hoạt động của người dùng, xử lý hàng tỷ giao dịch. Khối lượng dữ liệu lớn phát sinh từ những giao dịch này 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. Do tính mở và minh bạch của blockchain, dữ liệu được lưu trữ này đều công khai cho mọi người, do đó đã dẫn đến nhiều vấn đề về an ninh và quyền riêng tư.

Hiện tại, có một số công nghệ mã hóa có thể đối phó với những thách thức này, bao gồm mã hóa đồng nhất, chữ ký vòng, tính toán đa bên an toàn và zk-SNARK. Mã hóa đồng nhất cho phép thực hiện các phép toán mà không cần giải mã văn bản mật, giúp bảo vệ an toàn số dư tài khoản và số tiền giao dịch, nhưng không thể bảo vệ an toàn địa chỉ tài khoản. Chữ ký vòng cung cấp một hình thức chữ ký số đặc biệt, có khả năng ẩn danh tính của người ký, từ đó bảo vệ an toàn địa chỉ tài khoản, nhưng lại không có khả năng bảo vệ số dư tài khoản và số tiền giao dịch. Tính toán đa bên an toàn cho phép phân bổ nhiệm vụ tính toán giữa nhiều người tham gia mà không cần bất kỳ người tham gia nào biết dữ liệu của những người khác, bảo vệ hiệu quả sự an toàn của số dư tài khoản và số tiền giao dịch, nhưng cũng không thể bảo vệ an toàn địa chỉ tài khoản. Ngoài ra, mã hóa đồng nhất, chữ ký vòng và tính toán đa bên an toàn không thể được sử dụng để xác minh trong môi trường blockchain xem người chứng minh có đủ số tiền giao dịch hay không mà không làm lộ số tiền giao dịch, địa chỉ tài khoản và số dư tài khoản.

zk-SNARK là một giải pháp toàn diện hơn, giao thức xác minh này cho phép xác minh tính đúng đắn của một số mệnh đề mà không tiết lộ bất kỳ dữ liệu trung gian nào. Giao thức này không cần cơ sở hạ tầng khóa công khai phức tạp, và việc thực hiện lặp lại cũng không cung cấp cho người dùng độc hại cơ hội để lấy thông tin hữu ích bổ sung. 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 cá nhân nào. Quá trình xác minh bao gồm việc tạo ra một chứng minh chứa số tiền giao dịch mà người chứng minh tuyên bố, sau đó truyền chứng minh đó cho người xác minh, người xác minh thực hiện các phép toán đã định nghĩa trước trên chứng minh, và đưa ra kết quả tính toán cuối cùng, từ đó đưa ra kết luận 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, không có bất kỳ sự giả mạo nào.

Tính năng ZKP này giúp nó đóng vai trò cốt lõi trong các giao dịch blockchain và ứng dụng tiền điện tử, đặc biệt trong việc bảo vệ quyền riêng tư và mở rộng mạng lưới, khiến nó không chỉ trở thành tâm điểm của nghiên cứu học thuật, mà còn được công nhận rộng rãi là một trong những đổi mới công nghệ quan trọng nhất kể từ khi công nghệ sổ cái phân tán – đặc biệt là Bitcoin – được triển khai thành công. Đồng thời, nó cũng là lĩnh vực trọng điểm của ứng dụng trong ngành và đầu tư mạo hiểm.

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. Khi những dự án này phát triển, các đổi mới về thuật toán liên quan đến ZKP liên tục xuất hiện, theo báo cáo gần như mỗi tuần đều có thuật toán mới ra đời. Ngoài ra, việc phát triển phần cứng liên quan đến công nghệ ZKP cũng đang tiến triển nhanh chóng, bao gồm các chip được tối ưu hóa đặc biệt cho ZKP. Ví dụ, các dự án như Ingonyama, Irreducible và Cysic đã hoàn thành việc huy động vốn quy mô lớn, những phát triển này không chỉ cho thấy 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 chung sang phần cứng chuyên dụng như GPU, FPGA và ASIC.

Những tiến triển này cho thấy, công nghệ zk-SNARK không chỉ là một bước đột phá quan trọng trong lĩnh vực mật mã học, mà còn là động lực chính để thực hiện các ứng dụng công nghệ blockchain rộng rãi hơn - đặc biệt là trong việc nâng cao bảo vệ quyền riêng tư và khả năng xử lý.

Do đó, chúng tôi quyết định hệ thống hóa các kiến thức liên quan đến zk-SNARK ( ZKP ) để hỗ trợ tốt hơn cho các quyết định đầu tư trong tương lai. Để thực hiện điều này, chúng tôi đã tổng hợp xem xét các tài liệu học thuật cốt lõi liên quan đến ZKP ( theo độ liên quan và số lượng trích dẫn ); đồng thời, chúng tôi cũng đã phân tích chi tiết các tài liệu và whitepaper của các dự án hàng đầu trong lĩnh vực này ( theo quy mô tài trợ ). Việc thu thập và phân tích tài 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 này.

Một, kiến thức cơ bản về zk-SNARK

1.Tổng quan

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 biết (零知识证明) trong bài báo "The Knowledge Complexity of Interactive Proof-Systems", trong đó họ đã giới thiệu khái niệm Zero-Knowledge Proof, ZKP và Interactive Zero-Knowledge, IZK. Bài báo này là nền tảng của bằng chứng không biết, định nghĩa nhiều khái niệm ảnh hưởng đến nghiên cứu học thuật sau này. Ví dụ, định nghĩa về kiến thức là "đầu ra của tính toán không khả thi (不可行计算)" có nghĩa là kiến thức phải là một đầu ra và là một tính toán không khả thi, điều này có nghĩa là nó không thể là một hàm đơn giản, mà cần phải là một hàm phức tạp. Tính toán không khả thi thường được hiểu là một bài toán NP, tức là vấn đề có thể xác minh tính đúng đắn của giải pháp trong thời gian đa thức, thời gian đa thức có nghĩa là thời gian chạy của thuật toán có thể được biểu diễn bằng một hàm đa thức của kích thước đầu vào. Đây là tiêu chí quan trọng trong khoa học máy tính để đánh giá hiệu quả và tính khả thi của thuật toán. Do quá trình giải quyết các bài toán NP rất phức tạp, chúng thường được coi là tính toán không khả thi; nhưng quá trình xác minh của chúng tương đối đơn giản, vì vậy rất phù hợp để sử dụng trong xác minh bằng chứng không biết.

Một ví dụ kinh điển về vấn đề NP là bài toán người du lịch, trong đó cần tìm đường đi ngắn nhất để thăm một loạt các thành phố và trở về điểm xuất phát. Mặc dù việc tìm đường ngắn nhất có thể rất khó khăn, nhưng việc xác minh một đường đi cụ thể có phải là đường ngắn nhất hay không thì 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 đi cụ thể có thể được hoàn thành trong thời gian đa thức.

Goldwasser và các cộng sự đã giới thiệu khái niệm "độ phức tạp tri thức" ( knowledge complexity ) trong bài báo của họ, nhằm định lượng lượng tri thức mà người chứng minh tiết lộ cho người xác minh trong 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 ( Interactive Proof Systems, IPS ), trong đó người chứng minh ( Prover ) và người xác minh ( Verifier ) tương tác nhiều vòng để chứng minh tính xác thực của một tuyên bố.

Tóm lại, định nghĩa về zk-SNARK mà Goldwasser và các cộng sự đã tổng kết là một loại chứng thực tương tác đặc biệt, trong đó người xác minh sẽ không nhận được bất kỳ thông tin bổ sung nào ngoại trừ giá trị đúng sai của câu lệnh trong quá trình xác minh; và đã đưa ra ba đặc điểm cơ bản bao gồm:

  1. Tính hoàn chỉnh ( completeness ): Nếu chứng minh là đúng, người chứng thực trung thực có thể thuyết phục người xác minh trung thực về thực tế này;

  2. Độ tin cậy ( soundness ): Nếu người chứng minh không biết nội dung tuyên bố, anh ta chỉ có thể lừa dối người xác minh với xác suất không đáng kể;

3.zk-SNARK(zero-knowledge): Trong quá trình chứng minh hoàn thành, người xác minh chỉ nhận được thông tin "người chứng minh có kiến thức này", mà không thể nhận được bất kỳ nội dung bổ sung nào.

(# 2.zk-SNARK ví dụ

Để hiểu rõ hơn về zk-SNARK và các thuộc tính của nó, dưới đây là một ví dụ về việc xác minh người chứng minh có sở hữu một số thông tin bí mật hay không, ví dụ này được chia thành ba giai đoạn: thiết lập, thách thức và phản hồi.

Bước đầu tiên: thiết lập )Setup(

Trong bước này, mục tiêu của người chứng minh là tạo ra một bằng chứng, chứng minh rằng họ biết một số bí mật s, nhưng không hiển thị trực tiếp s. Giả sử số bí mật s;

Chọn hai số nguyên tố lớn p và q, tính tích của chúng là n. Giả sử số nguyên tố p và q, tính n thu được;

Tính v=s^2 mod n, ở đây, v được gửi đến người xác thực như một phần của bằng chứng, nhưng nó không đủ để cho người xác thực hoặc bất kỳ người quan sát nào suy ra s.

Chọn ngẫu nhiên một số nguyên r, tính x=r^2 mod n và gửi cho người xác minh. Giá trị x này sẽ được sử dụng trong quá trình xác minh tiếp theo, nhưng cũng không tiết lộ s. Giả sử số nguyên ngẫu nhiên r, tính được x.

Bước hai: Thách thức )Challenge(

Người xác thực ngẫu nhiên chọn một vị trí a) có thể là 0 hoặc 1###, sau đó gửi cho người chứng minh. "Thách thức" 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 ba: phản hồi (Response)

Dựa vào giá trị a mà người xác thực đưa ra, người chứng minh sẽ phản hồi:

Nếu a=0, người chứng minh gửi g=r(, ở đây r là số ngẫu nhiên mà anh ta đã chọn trước đó ).

Nếu a=1, người chứng minh tính toán g=rs mod n và gửi đi. Giả sử người xác thực gửi bit ngẫu nhiên a, dựa vào giá trị của a, người chứng minh tính toán g;

Cuối cùng, người xác thực dựa vào g nhận được để xác thực xem g^2 mod n có bằng xa^v mod n hay không. Nếu phương trình đúng, người xác thực chấp nhận chứng minh này. Khi a=0, người xác thực tính g^2 mod n, bên phải xác thực xa^v mod n; khi a=1, người xác thực tính g^2 mod n, bên phải xác thực xa^v mod n.

Ở đây, chúng ta thấy rằng g^2 mod n=xa^v mod n do người xác minh tính toán cho thấy người chứng minh đã thành công trong quá trình xác minh mà không tiết lộ số bí mật của mình là s. Ở đây, vì a chỉ có thể nhận giá trị 0 hoặc 1, chỉ có hai khả năng, xác suất để người chứng minh thành công trong việc xác minh dựa vào may mắn là ( khi a nhận giá trị 0 là 1/2. Nhưng người xác minh sau đó lại thách thức người chứng minh n lần, người chứng minh liên tục thay đổi các số liên quan và gửi cho người xác minh và luôn thành công trong quá trình xác minh, do đó xác suất để người chứng minh thành công trong việc xác minh dựa vào may mắn là )1/2(^n) tiến gần vô hạn đến 0(, và kết luận rằng người chứng minh thực sự biết một số bí mật s đã được chứng minh. Ví dụ này chứng minh tính toàn vẹn, độ tin cậy và tính không biết của hệ thống chứng minh không biết.

) Hai, zk-SNARK

(# 1. Bối cảnh

zk-SNARK)ZKP( trong khái niệm truyền thống thường là hình thức giao thức tương tác và trực tuyến; ví dụ, giao thức Sigma thường cần ba đến năm vòng tương tác để hoàn thành xác thực. 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 để thực hiện nhiều vòng tương tác, đặc biệt trong ứng dụng công nghệ blockchain, chức năng xác minh ngoại tuyến trở nên đặc biệt quan trọng.

)# 2. Việc đề xuất NIZK

1

Xem bản gốc
Trang này có thể chứa nội dung của bên thứ ba, được cung cấp chỉ nhằm mục đích thông tin (không phải là tuyên bố/bảo đảm) và không được coi là sự chứng thực cho quan điểm của Gate hoặc là lời khuyên về tài chính hoặc chuyên môn. Xem Tuyên bố từ chối trách nhiệm để biết chi tiết.
  • Phần thưởng
  • 7
  • Chia sẻ
Bình luận
0/400
CommunityLurkervip
· 8giờ trước
Tôi đã nghiên cứu số không này từ 5 năm trước.
Xem bản gốcTrả lời0
LiquidationWatchervip
· 07-13 12:17
Viết xong thì nói về bò, giờ là lúc nói về tiền rồi nhỉ.
Xem bản gốcTrả lời0
BoredWatchervip
· 07-13 12:17
vừa nói xong zk thì không còn không khí nữa
Xem bản gốcTrả lời0
SybilSlayervip
· 07-13 12:16
Quá căng thẳng rồi, bạn ơi.
Xem bản gốcTrả lời0
BrokenYieldvip
· 07-13 12:14
một vòng hype zk khác... đã thấy bộ phim này trước đây vào năm 2019 và chúng ta đều biết nó kết thúc như thế nào thật đáng tiếc
Xem bản gốcTrả lời0
SchrodingerWalletvip
· 07-13 12:12
Có người lại đánh thức ZKEVM lên à?
Xem bản gốcTrả lời0
MissedTheBoatvip
· 07-13 12:09
Viết mãi mà vẫn không bằng vào vùng zk
Xem bản gốcTrả lời0
  • Ghim
Giao dịch tiền điện tử mọi lúc mọi nơi
qrCode
Quét để tải xuống ứng dụng Gate
Cộng đồng
Tiếng Việt
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)