zk-SNARK là gì mà Vitalik đề cao như công nghệ của tương lai
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 thêm: Zero-knowledge Proof là gì? Ưu điểm và hạn chế của công nghệ ZKP
Cấu trúc zk-SNARK tạo ra các bằng chứng gọi là bằng chứng 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
- 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.
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ữ.
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.
Đọc thêm: Zk Rollup là gì? Ưu điểm, hạn chế của Zk Rollup và các dự án nổi bật
Hầu hết các zk-Rollup sử dụng zk-SNARK đều theo cùng một cấu trúc:
- Người dùng trên L2 ký giao dịch và gửi chúng cho người xác thực.
- 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).
- 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.
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.
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ó.
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.