Phân tích ứng dụng và triển vọng phát triển của công nghệ zk-SNARK trong lĩnh vực Blockchain

Ứng dụng và phát triển của công nghệ zk-SNARK trong lĩnh vực Blockchain

Tóm tắt

zk-SNARK ( ZKP ) công nghệ như một đổi mới quan trọng trong lĩnh vực Blockchain đã nhận được sự quan tâm rộng rãi trong những năm gần đây. Bài viết này hệ thống hóa tổng quan về quá trình phát triển của công nghệ ZKP trong gần bốn mươi năm qua, nhấn mạnh phân tích về những ứng dụng mới nhất của nó trong lĩnh vực Blockchain.

Đầu tiên, giới thiệu khái niệm cơ bản và bối cảnh lịch sử của ZKP. Sau đó, tập trung thảo luận về công nghệ ZKP dựa trên mạch, bao gồm thiết kế và tối ưu hóa các giải pháp như zkSNARK, mô hình Ben-Sasson, Pinocchio, Bulletproofs và Ligero. Về môi trường tính toán, bài viết giới thiệu nguyên lý của ZKVM và ZKEVM cùng với những ứng dụng của chúng trong việc 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 trình bày chi tiết cơ chế hoạt động và phương pháp tối ưu hóa của 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 về 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 nhận các khái niệm mới nổi như ZKCoprocessor, ZKML, ZKThreads, ZK Sharding và ZK StateChannels, thảo luận về tiềm năng của chúng trong việc mở rộng Blockchain, tương tác và bảo vệ quyền riêng tư.

Bằng cách phân tích các công nghệ và xu hướng 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ệ ZKP, cho thấy tiềm năng to lớn của nó trong việc nâng cao hiệu quả và tính an toàn của hệ thống Blockchain, đồng thời 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 Hai, zk-SNARK không tương tác Ba, zk-SNARK dựa trên mạch Bốn, mô hình zk-SNARK Năm, Tổng quan và phát triển của máy ảo zk-SNARK Sáu, Tổng quan và phát triển của máy ảo Ethereum zk-SNARK Bảy, Tổng quan và phát triển về giải pháp mạng lớp hai không biết Tám, hướng phát triển tương lai của zk-SNARK. Chín, Kết luận Tài liệu tham khảo

Lời mở đầu

Khi internet bước vào thời đại Web3, ứng dụng Blockchain (DApps) phát triển nhanh chóng, xử lý hàng tỷ giao dịch mỗi ngày. Khối lượng dữ liệu khổng lồ từ những giao dịch này thường bao gồm thông tin cá nhân nhạy cảm, chẳng hạn như danh tính người dùng, số tiền giao dịch, địa chỉ tài khoản và số dư. Do tính mở và minh bạch của Blockchain, những dữ liệu này đều có thể nhìn thấy đối với mọi người, do đó gây ra nhiều vấn đề về an ninh và quyền riêng tư.

Hiện tại, có một số công nghệ mã hóa có thể đối phó với những thách thức này, bao gồm mã hóa đồng nhất, chữ ký vòng, tính toán nhiều bên an toàn và zk-SNARK. Trong đó, zk-SNARK (ZKP) là một giải pháp toàn diện hơn. ZKP cho phép xác minh tính chính xác của một số mệnh đề mà không tiết lộ bất kỳ dữ liệu trung gian nào. Thông qua ZKP, người xác minh có thể xác minh xem người chứng minh có đủ số tiền giao dịch mà không tiết lộ bất kỳ dữ liệu giao dịch cá nhân nào.

Đặc điểm này của ZKP khiến nó đóng vai trò cốt lõi trong 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. Nó không chỉ trở thành tâm điểm nghiên cứu học thuật, mà còn là lĩnh vực trọng điểm của ứng dụng trong ngành và đầu tư mạo hiểm. Nhiều dự án mạng dựa trên ZKP đã xuất hiện, như ZkSync, StarkNet, Mina, Filecoin và Aleo. Khi các dự án này phát triển, sự đổi mới trong thuật toán ZKP diễn ra liên tục, gần như mỗi tuần đều có thuật toán mới ra đời. Hơn nữa, 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 chip được tối ưu hóa đặc biệt cho ZKP.

Những tiến triển này cho thấy, công nghệ ZKP không chỉ là một bước đột phá quan trọng trong lĩnh vực mật mã học, mà còn là động lực chính để thực hiện các ứng dụng công nghệ Blockchain rộng rãi hơn, đặ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 những kiến thức liên quan đến ZKP để hỗ trợ tốt hơn cho các quyết định đầu tư trong tương lai. Bài viết này tổng hợp xem xét các tài liệu học thuật cốt lõi và thông tin từ các dự án hàng đầu liên quan đến ZKP, cung cấp nền tảng vững chắc cho việc phân tích hệ thống.

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

1. Tổng quan

Năm 1985, Goldwasser, Micali và Rackoff lần đầu tiên đưa ra khái niệm về zk-SNARK (ZKP) và chứng minh kiến thức tương tác (IZK). Họ định nghĩa "kiến thức" là "đầu ra không thể tính toán", tức là kiến thức phải là đầu ra của các hàm phức tạp, thường được hiểu là các vấn đề NP. Quá trình giải quyết các vấn đề NP rất phức tạp, nhưng quá trình xác minh tương đối đơn giản, do đó rất phù hợp để sử dụng trong việc xác minh ZKP.

Goldwasser và các cộng sự đã đưa ra khái niệm "độ phức tạp kiến thức" để định lượng lượng kiến thức mà người chứng minh tiết lộ cho người xác minh. Họ cũng đã đề xuất hệ thống chứng minh tương tác (IPS), trong đó người chứng minh và người xác minh tương tác qua nhiều vòng để chứng minh tính xác thực của một câu.

Ba đặc điểm cơ bản của ZKP bao gồm:

  1. Tính đầy đủ: 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ề sự thật này.

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

  3. Tính không biết: Sau khi quá trình chứng minh hoàn thành, người xác minh chỉ nhận được thông tin "người chứng minh sở hữu 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示例

Để hiểu rõ hơn về ZKP 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) Người chứng minh tạo ra 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. Chọn hai số nguyên tố lớn p và q, tính n=pq. 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.

Bước thứ hai: Thách thức (Challenge) Nhà xác thực chọn ngẫu nhiên một vị trí a(0 hoặc 1), gửi cho người chứng minh.

Bước ba: Phản hồi (Response) Dựa trên giá trị của a, người chứng minh sẽ phản hồi:

  • Nếu a=0, gửi y=r
  • Nếu a=1, tính y=rs mod n và gửi

Người xác thực dựa trên y nhận được để xác minh xem x có bằng y^2 mod n( khi a=0) hoặc y^2v mod n( khi a=1). Nếu phương trình đúng, người xác thực chấp nhận chứng minh này.

Ví dụ này chứng minh tính toàn vẹn, độ tin cậy và tính không kiến thức của hệ thống ZKP. Bằng cách lặp lại quá trình này nhiều lần, xác suất người chứng minh chỉ dựa vào may rủi để xác thực sẽ giảm xuống mức rất thấp.

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

1. Bối cảnh

ZKP truyền thống thường là hình thức giao thức tương tác và trực tuyến. Tuy nhiên, trong một số tình huống, như giao dịch tức thì hoặc bỏ phiếu, thường không có cơ hội để thực hiện nhiều vòng tương tác. Do đó, khái niệm chứng minh không tương tác khối (NIZK) ra đời.

2.NIZK được đưa ra

Năm 1988, Blum, Feldman và Micali lần đầu tiên đề xuất khái niệm NIZK, chứng minh rằng trong trường hợp không cần nhiều vòng tương tác, người chứng minh và người xác nhận vẫn có thể hoàn thành quá trình xác thực. NIZK có thể được chia thành ba giai đoạn: thiết lập, tính toán và xác minh.

Giai đoạn thiết lập sử dụng hàm tính toán, chuyển đổi tham số an toàn thành kiến thức công cộng, thường được mã hóa trong một chuỗi tham chiếu chung (CRS). Giai đoạn tính toán áp dụng hàm tính toán, đầu vào và khóa chứng minh, xuất ra kết quả tính toán và chứng minh. Giai đoạn xác minh xác minh tính hợp lệ của chứng minh thông qua khóa xác minh.

3.Biến đổi Fiat-Shamir

Biến đổi Fiat-Shamir là một phương pháp chuyển đổi ZKP tương tác thành phi tương tác. Phương pháp này thông qua việc giới thiệu hàm băm để giảm số lần tương tác, và dựa vào giả thuyết an toàn để đảm bảo tính xác thực của chứng minh và đặc điểm khó giả mạo của nó. Mặc dù giao thức này được coi là an toàn trong mô hình Oracle ngẫu nhiên, nhưng có thể gặp thách thức trong ứng dụng thực tế.

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

Nghiên cứu của Jens Groth đã thúc đẩy lớn việc ứng dụng ZKP trong mật mã và công nghệ Blockchain. Ông và các nhà nghiên cứu khác đã đề xuất nhiều giải pháp NIZK cải tiến, như hệ thống NIZK hoàn hảo áp dụng cho bất kỳ ngôn ngữ NP nào, cũng như các giải pháp NIZK kết hợp với mã hóa đồng nhất. Những nghiên cứu này đã đặt nền tảng quan trọng cho việc ứng dụng thực tế của ZKP.

5. Nghiên cứu khác

Ngoài công việc của Groth, còn có nhiều nghiên cứu NIZK quan trọng khác, bao gồm:

  • Cramer và Shoup phát triển giải pháp mã hóa khóa công khai dựa trên hàm băm tổng quát
  • Phương pháp mới cải tiến biến đổi Fiat-Shamir được đề xuất bởi Damgård, Fazio và Nicolosi
  • Khái niệm "độ tin cậy có thể quy trách nhiệm yếu" do Ventre và Visconti đề xuất
  • Biến đổi Unruh, như một phương án thay thế cho chuyển đổi Fiat-Shamir, cung cấp tính an toàn NIZK có thể chứng minh chống lại kẻ thù lượng tử.
  • Hệ thống chứng minh vấn đề quyết định tùy ý dựa trên công nghệ truy xuất thông tin riêng tư của Kalai và những người khác

Những nghiên cứu này đã thúc đẩy đáng kể sự phát triển của công nghệ NIZK, đặt nền tảng cho việc áp dụng của nó trong các lĩnh vực như giao dịch tài chính, bỏ phiếu điện tử và Blockchain.

Ba, zk-SNARK dựa trên mạch

1. Bối cảnh

Trong lĩnh vực mật mã, đặc biệt là khi xử lý các nhiệm vụ tính toán cần sự song song cao và loại nhiệm vụ tính toán cụ thể, mô hình máy Turing truyền thống thể hiện một số hạn chế nhất định. Ngược lại, mô hình mạch với những lợi thế về cấu trúc tính toán độc đáo của nó, phù hợp hơn cho một số nhiệm vụ xử lý mật mã cụ thể.

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

Mô hình mạch chuyển đổi quá trình tính toán thành một loạt các cổng và dây, những cổng này thực hiện các phép toán logic hoặc số học cụ thể. Mô hình mạch chủ yếu được chia thành hai loại lớn:

  • Mạch số học: chủ yếu được cấu thành từ 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 logic: được cấu thành từ các cổng logic cơ bản như cổng AND, cổng OR, cổng NOT, được sử dụng để xử lý phép toán Boolean.

3. Thiết kế và ứng dụng mạch trong zk-SNARK

Trong hệ thống ZKP, quá trình thiết kế mạch liên quan đến việc biểu diễn vấn đề cần chứng minh dưới dạng một mạch. Quá trình này thường tuân theo các bước sau:

  1. Biểu diễn vấn đề: Chuyển đổi vấn đề cần chứng minh thành dạng mạch.
  2. Tối ưu hóa mạch: Tối ưu hóa thiết kế mạch thông qua các phương pháp kỹ thuật như hợp nhất cổng và gập hằng số.
  3. Chuyển đổi thành biểu diễn đa thức: Chuyển đổi mạch đã được tối ưu hóa thành dạng đa thức.
  4. Tạo chuỗi tham chiếu công khai (CRS): Trong giai đoạn khởi tạo hệ thống, tạo CRS bao gồm cả khóa chứng minh và khóa xác minh.
  5. Tạo và xác minh chứng minh: Người chứng minh tạo chứng minh dựa trên đầu vào riêng tư và CRS, người xác minh xác minh tính đúng đắn của chứng minh dựa trên mô tả mạch công khai và CRS.

4. Những thiếu sót và thách thức tiềm tàng

Những thách thức mà ZKP dựa trên mạch phải đối mặt bao gồm:

  • Độ phức tạp và quy mô của mạch: Tính toán phức tạp cần một mạch lớn, dẫn đến chi phí tính toán để tạo ra và xác minh chứng minh tăng lên đáng kể.
  • Tối ưu hóa độ khó: Thiết kế và tối ưu hóa mạch hiệu quả đòi hỏi kiến thức chuyên môn sâu sắc.
  • Tính thích ứng của các nhiệm vụ tính toán cụ thể: Các nhiệm vụ tính toán khác nhau cần thiết kế mạch khác nhau, khó để phổ biến.
  • Độ khó thực hiện thuật toán mã hóa: Việc thực hiện các thuật toán mật mã phức tạp có thể cần một lượng lớn cổng logic.
  • Tài nguyên tiêu thụ: Mạch quy mô lớn cần nhiều tài nguyên phần cứng.

Để giải quyết những thách thức này, các nhà nghiên cứu đã đề xuất một số hướng cải tiến, chẳng hạn như công nghệ nén mạch, thiết kế mô-đun và tăng tốc phần cứng.

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

1. Bối cảnh

Khả năng tổng quát của ZKP dựa trên mạch khá kém, cần phát triển các mô hình và thuật toán mới cho các vấn đề cụ thể. Có nhiều công cụ biên dịch ngôn ngữ cấp cao và công cụ kết hợp mạch cấp thấp hiện có để thực hiện việc tạo mạch và thiết kế thuật toán, việc chuyển đổi các phép tính liên quan có thể được thực hiện thông qua công cụ xây dựng mạch thủ công hoặc trình biên dịch tự động.

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

  1. Mô hình zkSNARK: được đề xuất bởi Bitansky và các cộng sự vào năm 2011, là một cơ chế ZKP cải tiến.

  2. Mô hình của Ben-Sasson: Mô hình ZKP cho việc thực thi chương trình trên kiến trúc RISC của von Neumann.

  3. Mô hình Pinocchio: một bộ công cụ sinh ZKP phi tương tác hoàn chỉnh, bao gồm trình biên dịch cao cấp và chương trình số học bậc hai (QAPs).

  4. Mô hình Bulletproofs: không cần thiết lập tin cậy, kích thước chứng minh tăng theo quy luật logarithm với kích thước giá trị chứng kiến.

  5. Mô hình Ligero: Một mô hình ZKP nhẹ, độ phức tạp giao tiếp tỷ lệ với căn bậc hai của kích thước mạch xác minh.

3. Giải pháp dựa trên PCP tuyến tính và vấn đề logarit rời rạc

Các giải pháp này bao gồm mô hình Groth16, mô hình Sonic, mô hình PLONK, mô hình Marlin, mô hình SLONK và mô hình SuperSonic. Những mô hình này dựa trên PCP tuyến tính và/hoặc vấn đề logarithm rời rạc, nhưng đều không có khả năng chống lại an toàn lượng tử.

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

"Chứng minh của người bình thường" là một phương pháp ZKP mới được Goldwasser, Kalai và Rothblum đề xuất. Các mô hình dựa trên khái niệm này bao gồm mô hình Hyrax, mô hình Libra và mô hình Spartan.

5. Dựa trên xác suất có thể kiểm tra chứng minh ( PCP ) của zk-SNARK

Các giải pháp này bao gồm mô hình STARK, mô hình Aurora, Succinct

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
  • 3
  • Chia sẻ
Bình luận
0/400
GraphGuruvip
· 08-02 06:07
Lại đang nói về zkp
Xem bản gốcTrả lời0
DegenMcsleeplessvip
· 08-02 06:00
Defi đồ ngốc rồi, kiếm được tiền rồi lại đầu tư tiếp
Xem bản gốcTrả lời0
CryptoCrazyGFvip
· 08-02 05:55
Nghe không hiểu cũng đúng thôi, dù sao cũng rất bull là xong~
Xem bản gốcTrả lời0
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)