Cách mạng công nghệ zk-SNARK trong Blockchain: Tiến bộ toàn diện từ thuật toán đến phần cứng

Ứ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

Công nghệ chứng minh không kiến thức (ZKP) được coi là một trong những đổi mới quan trọng nhất trong lĩnh vực Blockchain. Bài viết này cung cấp cái nhìn tổng quan hệ thống về tài liệu lịch sử và nghiên cứu mới nhất về công nghệ ZKP trong gần bốn mươi năm qua.

Đầ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 đó, phân tích trọng tâm công nghệ ZKP 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à tăng cường hiệu quả xác minh. Bài viết cũng giới thiệu ZK Rollup như một cơ chế làm việc và phương pháp tối ưu hóa của giải pháp mở rộng Layer 2, cũng như những tiến triển 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 nhận về các khái niệm mới như ZKCoprocessor, ZKML, ZKThreads, ZK Sharding và ZK StateChannels, đồng thời thảo luận về tiềm năng của chúng trong việc mở rộng Blockchain, khả năng tương tác và bảo vệ quyền riêng tư.

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 cái nhìn toàn diện để hiểu và ứng 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 các 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 giới thiệu

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

  1. Tổng quan
  2. Ví dụ về zk-SNARK

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

  1. Bối cảnh
  2. Sự xuất hiện của NIZK
  3. Biế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 kiến thức dựa trên mạch điện

  1. Bối cảnh
  2. Các khái niệm và đặc điểm cơ bản 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 khiếm khuyết 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
  3. Giải pháp dựa trên PCP tuyến tính và vấn đề logarit rời rạc
  4. Giải pháp dựa trên chứng minh của người bình thường
  5. Bằng chứng không kiến thức dựa trên xác suất có thể kiểm tra (PCP)
  6. Phân loại giai đoạn thiết lập dựa trên CPC

Năm, Tổng quan và Phát triển của Máy Ảo Không Kiến Thức

  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 nhược điểm của phương thức ZKVM

Sáu, Tổng quan và phát triển của máy ảo Ethereum zk-SNARK

  1. Bối cảnh
  2. Cách 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óm tắt và phát triển kế hoạch mạng hai lớp 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, hướng phát triển tương lai của zk-SNARK

  1. Tăng tốc phát triển 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 khả năng tương tác ZKP

Chín, Kết luận

Tài liệu tham khảo

Lời mở đầu

Internet đang bước vào thời đại Web3, sự phát triển của các ứng dụng Blockchain diễn ra nhanh chóng. Trong những năm gần đây, các nền tảng Blockchain hàng ngày chịu tải hàng triệu hoạt động của người dùng, xử lý hàng tỷ giao dịch. Lượng dữ liệu khổng lồ 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 đặc điểm mở và minh bạch của Blockchain, dữ liệu được lưu trữ này đều mở cho mọi người, do đó đã phát sinh 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 tính, chữ ký vòng, tính toán an toàn nhiều bên và zk-SNARK. Mã hóa đồng tính 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, giúp bảo vệ sự an toàn của số dư tài khoản và số tiền giao dịch, nhưng không thể bảo vệ sự an toàn của đị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ệ sự an toàn 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 nhiều bên cho phép phân phối các 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, hiệu quả bảo vệ 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ệ sự an toàn của địa chỉ tài khoản. Hơn nữa, mã hóa đồng tính, chữ ký vòng và tính toán an toàn nhiều bên không thể được sử dụng để xác minh người chứng minh có đủ số tiền 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.

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 chính xác của một số khẳng định mà không tiết lộ bất kỳ dữ liệu trung gian nào. Giao thức này không yêu cầu cơ sở hạ tầng khóa công khai phức tạp, việc thực hiện lặp lại của nó cũng không cung cấp cơ hội cho người dùng độ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 bằng chứng chứa số tiền giao dịch mà người chứng minh tuyên bố, sau đó truyền bằng chứng đó cho người xác minh, người xác minh thực hiện các phép tính đã được định nghĩa trước trên bằng chứng và đưa ra kết quả tính toán cuối cùng, từ đó đưa ra kết luận về việc 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 nêu 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 khiến nó đóng vai trò cốt lõi trong các giao dịch Blockchain và ứng dụng tiền điện tử, đặc biệt 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 coi 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 triển khai thành công. Đồng thời cũng là lĩnh vực trọng điểm trong ứng dụng ngành và đầu tư mạo hiểm.

Từ đó, nhiều dự án mạng dựa trên ZKP đã lần lượt 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 các thuật toá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. Hơn nữa, 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 riêng 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 bộ này cho thấy, công nghệ chứng minh không biết (zk-SNARK) 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à động lực chính để thực hiện các ứng dụng công nghệ Blockchain rộng rãi hơn.

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

Năm 1985, các học giả Goldwasser, Micali và Rackoff lần đầu tiên đưa ra khái niệm chứng minh không biết (零知识证明) và chứng minh tương tác trong bài báo "The Knowledge Complexity of Interactive Proof-Systems". Bài báo này là nền tảng cho chứng minh 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 không thể tính được", nghĩa là kiến thức phải là một đầu ra và là một phép tính không thể thực hiện, 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. Phép tính không thể thực hiện thường được hiểu là một bài toán NP, tức là một bài toán có thể xác minh tính đúng đắn của lời giải 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 về kích thước đầu vào. Đây là một tiêu chuẩn quan trọng trong khoa học máy tính để đo lường hiệu suất và khả năng thực hiện của thuật toán. Do quá trình giải quyết các bài toán NP phức tạp, nên chúng được coi là phép tính không thể thực hiện; 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 việc xác minh chứng minh không biết.

Một ví dụ kinh điển về vấn đề NP là vấn đề người du lịch, trong đó cần tìm đường đi ngắn nhất để truy cập một loạt các thành phố và quay trở lại điểm khởi đầu. Mặc dù việc tìm ra đường đi ngắn nhất có thể rất khó khăn, nhưng việc xác minh một đường đi đã cho có phải là đường đi 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 thực hiện 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 kiến thức" trong bài báo của họ, nhằm định lượng lượng kiến thức mà người chứng minh tiết lộ cho người xác nhận trong hệ thống chứng minh tương tác. Họ cũng đã đề xuất một hệ thống chứng minh tương tác, trong đó người chứng minh và người xác nhận tương tác qua 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óm tắt là một dạng chứng minh tương tác đặc biệt, trong đó người xác minh trong quá trình xác minh sẽ không nhận được bất kỳ thông tin bổ sung nào ngoài giá trị chân thực của câu; và đã đưa ra ba đặc điểm cơ bản bao gồm:

  1. Tính hoàn thiện: Nếu lập luận là đúng, người chứng minh 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: 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.Tính không biết: Sau khi quá trình chứng minh hoàn tất, 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示例

Để 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 xem người chứng minh có sở hữu một số thông tin riêng 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

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 trực tiếp hiển thị s. Giả sử số bí mật;

Chọn hai số nguyên tố lớn p và q, tính tích của chúng. Gọi tổng số nguyên tố, tính toán được.

Tính toán, ở đây, v được gửi đến người xác thực như một phần của chứng minh, 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 toán và gửi cho người xác minh. Giá trị này x được sử dụng cho quá trình xác minh sau, nhưng cũng không tiết lộ s. Giả sử số nguyên ngẫu nhiên, tính toán được.

Bước hai: Thách thức

Nhà 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 xác đị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

Dựa trên giá trị a do người xác thực phát ra, người chứng minh sẽ phản hồi:

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

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

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

Ở đây, chúng ta thấy rằng các xác thực tính toán nhận được chứng minh rằng người chứng minh đã thành công trong quá trình xác thực, đồng thời không tiết lộ số bí mật của anh ta s. Tại đây, do a chỉ có thể lấy 0 hoặc 1, chỉ có hai khả năng, xác suất để người chứng minh thành công qua xác thực dựa vào may mắn là ( khi a lấy 0 là ). Nhưng sau đó, người xác thực lại thách thức người chứng minh một lần nữa, người chứng minh liên tục thay đổi các số liên quan, gửi cho người xác thực, và luôn thành công trong quá trình xác thực, do đó xác suất để người chứng minh thành công qua xác thực dựa vào may mắn là ( tiến gần vô hạn đến 0), 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 không tương tác

1. Bối cảnh

zk-SNARK 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 từ 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 ngay lập tức 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 là 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.NIZK được đưa ra

Năm 1988, Blum, Feldman và Micali lần đầu tiên đưa ra khái niệm chứng minh không tương tác bằng chứng không biết (zk-SNARK), 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 thực vẫn có thể hoàn thành quá trình xác thực. Đột phá này đã làm cho giao dịch tức thì, bỏ phiếu và các ứng dụng blockchain trở nên khả thi.

Họ đề xuất rằng chứng minh không tương tác zk-SNARK có thể được chia thành ba giai đoạn:

  1. Cài đặt
  2. Tính toán
  3. Xác minh

Thiết lập giai đoạn sử dụng hàm tính toán, chuyển đổi các tham số an toàn thành kiến thức công khai, thường được mã hóa trong một chuỗi tham chiếu chung. Đây là cách tính toán chứng minh và sử dụng các tham số và thuật toán đúng để xác minh.

Giai đoạn tính toán sử dụng hàm tính toán, khóa đầu vào và khóa chứng minh, xuất ra kết quả tính toán và chứng minh.

Trong giai đoạn xác minh, xác minh tính hợp lệ của chứng nhận thông qua khóa xác minh.

Mô hình chuỗi tham khảo công cộng mà họ đề xuất, tức là dựa trên việc tất cả các bên tham gia chia sẻ một chữ

ZK-4.44%
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
  • 5
  • Đăng lại
  • Chia sẻ
Bình luận
0/400
GweiWatchervip
· 07-31 02:31
Zero knowledge vẫn đang ở giai đoạn đầu.
Xem bản gốcTrả lời0
LiquidationSurvivorvip
· 07-30 23:33
Tương lai thuộc về kiến thức không
Xem bản gốcTrả lời0
TestnetNomadvip
· 07-30 23:29
Tương lai của tính toán riêng tư
Xem bản gốcTrả lời0
PhantomMinervip
· 07-30 23:28
ZK có thể thay đổi tương lai
Xem bản gốcTrả lời0
WhaleWatchervip
· 07-30 23:08
Bài viết hay phải được ủng hộ
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)