Amber avatar
Coin98 Insights
Nơi chia sẻ tất cả những kiến thức Crypto từ cơ bản đến nâng cao, kinh nghiệm đầu tư Bitcoin và các hình thức đầu tư tiền điện tử khác.

zk-SNARK là gì mà Vitalik đề cao như công nghệ của tương lai

Zero-Knowledge Proof (ZKP) bao gồm nhiều cấu trúc bằng chứng khác nhau. Mỗi cấu trúc sẽ tạo ra một loại bằng chứng đáp ứng được nhu cầu sử dụng của giao thức. zk-SNARK và zk-STARK là hai cấu trúc bằng chứng phổ biến nhất. Cùng tìm hiểu về zk-SNARK!
Amber avatar
trangtran.c98
7 min read
Published Jun 03 2023
Updated May 22 2024
zk snark là gì

zk-SNARK là gì?

zk-SNARK (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge) là một trong những cấu trúc bằng chứng của Zero-Knowledge Proof (ZKP), dùng để xác thực một tuyên bố (statement) mà không tiết lộ thông tin của nhân chứng (witness).

Bạn cần đọc về Zero-Knowledge Proof để nắm rõ một số khái niệm căn bản được đề cập đến trong bài viết này.

Cấu trúc zk-SNARK tạo ra các bằng chứng gọi là bằng chứng SNARK.

zk snark zkp
Cấu trúc bằng chứng zk-SNARK

Một bằng chứng được xem là thuộc cấu trúc bằng chứng zk-SNARK cần đáp ứng được những tiêu chí sau:

Zero-Knowledge (Không kiến thức): người xác minh có thể xác minh tính hợp lệ hoặc sai lệch của một tuyên bố mà không cần biết về nhân chứng
Succinct (Cô đọng/Ngắn gọn): bằng chứng có kích thước đủ nhỏ để người xác minh có thể xác minh trong thời gian ngắn
Non-interactive (Không tương tác): người chứng minh (prover) và người xác minh (verifier) chỉ trao đổi một bằng chứng, không có sự tương tác qua lại như interactive proof
Argument (Lập luận): dữ liệu đầu vào (input) cần có tính đúng đắn để có thể tạo ra bằng chứng. Tính đúng đắn này phải được xác minh dựa trên sức mạnh tính toán của máy tính Vì vậy, khả năng bên chứng minh đánh lừa hệ thống chứng minh (proving system) thành công là rất thấp, khó tạo bằng chứng sai để gian lận
advertising
of Knowledge (Kiến thức): bên chứng minh không thể xây dựng một bằng chứng mà không có nhân chứng (witness)

Ứng dụng của zk-SNARK

zk-SNARK với Blockchain

Hầu hết các hệ thống điện toán phân tán (distributed computing system - DCS) cần giải quyết vấn đề toàn vẹn của tính toán (computational integrity problem) để kết quả đầu ra thu được từ một phương trình tính toán cụ thể có tính chính xác cao nhất.

điện toán phân tán
Hệ thống điện toán phân tán (distributed computing system - DCS)

Trên mạng lưới blockchain, tính toàn vẹn của tính toán đề cập đến tính chính xác của các giao dịch. Hầu hết các blockchain đạt được điều này bằng cách thực hiện các quy trình tính toán phức tạp với khối lượng dữ liệu tính toán lớn.

Điều này khiến cho mạng lưới gặp một số vấn đề:

Tốc độ xử lý chậm
Hạn chế khả năng mở rộng
Lưu trữ dữ liệu của node lớn (cả dữ liệu dư thừa) khiến cho kích thước của blockchain tăng theo cấp số nhân

Ứng dụng zk-SNARK có thể giải quyết được những vấn đề trên thông qua:

Kích thước dữ liệu lưu trữ: Bằng chứng được tạo từ zk-SNARK ngắn gọn - kích thước của một bằng chứng hợp lệ nhỏ hơn nhiều lần so với kích thước của các tính toán mà nó thực hiện.
Thời gian xác minh: Xác minh một bằng chứng ngắn gọn khiến cho giao dịch được xử lý nhanh hơn.
Khối lượng lưu trữ: Dữ liệu cần lưu trữ được thu nhỏ, loại bỏ dữ liệu dư thừa, tăng thông lượng lưu trữ và giảm khối lượng dữ liệu cần lưu trữ.
ứng dụng zk snark
Ứng dụng zk-SNARK trong xử lý giao dịch

zk-SNARK với zk-Rollup

Rollup là giải pháp mở rộng Layer 2 cho Ethereum nhằm cải thiện thông lượng giao dịch của Layer 1 (L1) thông qua việc xử lý giao dịch off-chain. Tuy nhiên, L1 cần biết liệu các giao dịch được thực hiện off-chain có hợp lệ hay không. Nếu không, mạng lưới có thể bị chiếm quyền và gây ra các thiệt hại.

Zero-knowledge Rollup (zk-Rollup) sử dụng cấu trúc zk-SNARK để chứng minh tính xác thực của các giao dịch off-chain cho L1. Bằng chứng SNARK có thể được xác minh bởi bất kỳ ai, điều này đảm bảo tính hợp lệ của giao dịch trên L1.

Hầu hết các zk-Rollup sử dụng zk-SNARK đều theo cùng một cấu trúc:

1.
Người dùng trên L2 ký giao dịch và gửi chúng cho người xác thực.
2.
Trình xác thực nén các giao dịch thành một khối và tạo bằng chứng hợp lệ tương ứng (SNARK).
3.
Smart contract trên L1 thực hiện thao tác trên bằng chứng hợp lệ. Kết quả của thao tác này xác định xem các giao dịch theo khối (Tx Batch) có được xác thực và đăng lên L1 hay không.
quy trình xử lý giao dịch
Quy trình xử lý giao dịch

Một số dự án sử dụng công nghệ zk-SNARK  

Hiện tại, có 5 dự án sử dụng zk-SNARK đáng chú ý:

Polygon Hermez
zkSpace

Đa số đều đang xây dựng và phát triển, vì vậy người dùng có thể thử trải nghiệm trên các nền tảng này để có thể tiếp xúc với các cơ hội trên đó.

Đọc thêm:

Ưu điểm và hạn chế của zk-SNARK

Ưu điểm 

zk-SNARK có một số ưu điểm sau:

Thông lượng cao: thay vì lưu trữ dữ liệu tính toán lớn, zk-SNARK mở rộng thông lượng thông qua việc thu nhỏ kích thước dữ liệu lưu trữ (bằng chứng SNARK), giảm tắc nghẽn, giảm phí gas và giao dịch nhanh hơn.
Kích thước bằng chứng nhỏ: bằng chứng SNARK có kích thước nhỏ giúp việc xác minh dễ dàng hơn.
Bảo mật: zk-SNARK sử dụng các cơ chế bảo mật mã hóa tiên tiến, khiến cho zk-Rollup được coi là an toàn hơn so với các giải pháp khác.
ưu điểm zk snark
zk-SNARK mang lại nhiều lợi ích cho mạng lưới

Hạn chế

Thiết lập đáng tin cậy (Trusted setup)

Thông thường, cấu trúc bằng chứng zk-SNARK sẽ bao gồm một thiết lập đáng tin cậy để tạo ra bằng chứng. Thiết lập này bao gồm những tham số công khai giữa người chứng minh và người xác minh, ngoài ra phải được giữ bí mật để đảm bảo tính bảo mật của hệ thống.

Thiết lập đáng tin cậy cũng có thể coi là nhược điểm vì nó khiến hệ thống gặp rủi ro nếu các tham số bị xâm phạm.

Dễ bị tấn công bằng máy tính lượng tử

zk-SNARK sử dụng Elliptic Curve Cryptography (Mật mã đường cong Elliptic - ECC) để mã hóa thông tin được sử dụng nhằm tạo bằng chứng hợp lệ. ECC hiện tương đối an toàn, nhưng những tiến bộ trong điện toán lượng tử có thể phá vỡ mô hình bảo mật của nó.

chip lượng tử
Chip ứng dụng công nghệ lượng tử có hiệu suất lớn

Phụ thuộc vào phần cứng chuyên dụng

Tạo bằng chứng hợp lệ với zk-SNARK là một quá trình tính toán phức tạp, có nghĩa là người chứng minh phải đầu tư vào phần cứng chuyên dụng. Bởi vì rất ít người có thể mua những phần cứng này nên zk-SNARK cũng được xem là mang tính tập trung (centralized).

zk-SNARK là một cấu trúc ZKP được Vitalik có phần "ưu ái" hơn so với zk-STARK. Vì vậy, hiểu hơn về zk-SNARK giúp bạn đọc có thêm cái nhìn khách quan về công nghệ và ứng dụng của nó trong dài hạn.