zk-SNARK là một giải pháp bằng chứng của công nghệ Zero-Knowledge Proof (ZKP) có tiềm năng nâng tầm quyền riêng tư của ngành blockchain. Hãy cùng tìm hiểu về zk-SNARK là gì, tại sao nó lại quan trọng đến vậy và cách nó hoạt động.

 

Từ lâu, Vitalik Buterin, người đồng sáng lập mạng lưới Ethereum, được coi là một trong những nhân vật có sức ảnh hưởng lớn nhất trong blockchain vì có tầm nhìn và quan điểm tiên tiến, luôn mong muốn thúc đẩy ngành công nghiệp mới nổi này phát triển hơn nữa. 

 

Theo đó, trong bài phát biểu trước Hội nghị Cộng đồng Ethereum (EDCON) 2023, Buterin đã nhấn mạnh đến sự quan trọng của zk-SNARKs và tự tin tuyên bố, "zK-SNARKs sẽ có sức nặng ngang với Blockchains trong 10 năm tới".

 

Lời khẳng định táo bạo này là minh chứng cho thấy Buterin có niềm tin mãnh liệt vào tiềm năng của zk-SNARK, một giải pháp bằng chứng của Zero-Knowledge Proof (ZKP) có khả năng cách mạng hóa ngành blockchain. .

Vitalik Buterin có niềm tin vào tương lai của zk-SNARK
Vitalik Buterin có niềm tin vào tương lai của zk-SNARK 

zk-SNARK là gì?

zk-SNARK (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge) là một giải pháp công nghệ zero-knowledge proof giúp người dùng (hay người chứng minh - prover) xác thực một điều gì đó - có thể là danh tính, quyền sở hữu tài sản - cho một bên khác (người xác minh - verifier) mà không cần phải tiết lộ những thông tin không cần thiết.

 

Ví dụ, thông qua giải pháp này, người dùng có thể chứng minh bản thân có đủ số dư trong tài khoản để mua một sản phẩm hoặc dịch vụ, mà không cần phải cho bên thứ ba thấy số tiền cụ thể trong tài khoản của mình. Bên cạnh đó, user cũng có thể xác minh danh tính của mình trước khi truy cập vào ứng dụng, mà không cần phải chia sẻ dữ liệu cá nhân.

 

Nói cách khác, zk-SNARK hỗ trợ người dùng chứng minh rằng bản thân có thông tin chứng thực cần thiết mà không cần lo bị lộ những chi tiết khác.

 

Với zk-SNARK, bằng chứng được tạo ra dựa trên các khái niệm toán học phức tạp như hàm băm và hệ mã hoá. Công nghệ này có thể được áp dụng rộng rãi trong các lĩnh vực như bảo mật dữ liệu, chứng tỏ quyền sở hữu, xác thực danh tính và quyền riêng tư.

 

Khái niệm của zero-knowledge proof, là tiền đề phát triển nên zk-SNARK, ban đầu được giới thiệu vào những năm 1980. Dù đi sau nhưng zk-SNARKs đã tiến xa hơn khi đáp ứng được tiêu chí succinct (ngắn gọn) và non-interactive (không tương tác), từ đó, giải pháp trên có thể hoạt động nhanh chóng, hiệu quả, tiết kiệm tài nguyên tính toán, bộ nhớ.

 

Đọc thêm: zk-STARK là gì? Công nghệ mới nhà ZK có gì đặc biệt?

zk-SNARK là gì?
zk-SNARK là gì?

Nhờ tính succinct, bằng chứng của zk-SNARK có kích thước đủ nhỏ để người xác minh có thể xác minh trong thời gian ngắn. Đây là yếu tố quan trọng giúp mạng lưới được mở rộng, vì nó giúp người dùng có thể xác minh thông tin hiệu quả trên các thiết bị có tài nguyên hạn chế.

 

Trong khi đó, thông qua tính non-interactive, prover và verifier chỉ cần trao đổi một bằng chứng mà không cần phải tương tác qua lại như interactive proof. Những tính năng này giúp zk-SNARK triển khai thành công trên các ứng dụng thực tế.

 

Thuật ngữ "zk-SNARKs" được tạo ra bởi một nhóm các chuyên gia mật mã học, bao gồm Nir Bitansky, Alessandro Chiesa và Eran Tromer. Họ đã đăng tải công trình của mình về zk-SNARKs trong một bài báo. Kể từ đó, zk-SNARKs đã được phát triển và cải tiến bởi nhiều dự án cũng như đội ngũ khác nhau.

Giáo sư Alessandro Chiesa, một trong ba chuyên gia tham gia quy trình phát triển zk-SNARK
Giáo sư Alessandro Chiesa, một trong ba chuyên gia tham gia quy trình phát triển zk-SNARK

Phân tích bản chất zk-SNARK

zk (zero-knowledge) hay ZKP

Zero-knowledge Proof (ZKP) là một công nghệ mật mã cho phép xác minh tính xác thực của một phần thông tin mà không tiết lộ thông tin đó. Công nghệ này ngày càng quan trọng trong lĩnh vực blockchain, crypto và tài chính phi tập trung (DeFi) nhằm tăng cường quyền riêng tư và bảo mật.

 

Trong Zero knowledge có 2 thực thể:

 

  • Prover là người tạo ra bằng chứng của tuyên bố (mà không cần tiết lộ bất kỳ thông tin nào).
  • Verifier là người xác minh rằng bằng chứng trên là hợp lệ (mà không kiểm tra xem tuyên bố có hợp lệ không) và theo tính chất bắt cầu thì tuyên bố cũng hợp lệ.

 

Tuyên bố có thể là bất cứ điều gì như: “Tôi biết rằng kết quả của phép tính phức tạp này là X" (Verifier không cần phải tính lại phép tính phức tạp mà chỉ cần kiểm tra bằng chứng). "Tôi trên 18 tuổi" (Prover có thể chứng minh tuyên bố này mà không tiết lộ tuổi của mình)…

Tóm gọn dễ hiểu nhiệm vụ của prover và verifier
Tóm gọn dễ hiểu nhiệm vụ của prover và verifier

Đây là một ví dụ đơn giản của zk-proof theo cách “toán học”:

 

  • Hãy tưởng tượng rằng verifier viết một đa thức. (trong đó: p(x) = 5x² + 10x + 25).
  • Prover cho biết bản thân cũng biết đa thức đó.
  • Verifier nói liền ra đề, nói Prover hãy tính giá trị đa thức p(x) khi x = 2.
  • Nếu prover thực sự biết đa thức trên, người chứng minh có thể nảy đáp ăn bằng 65 và đưa kết quả cho verifier. Nếu prover không biết thì user không thể tính giá trị đa thức.
  • Cùng lúc đó, verifier tính đa thức tại x = 2, được con số 65 và thấy rằng kết quả hai bên bằng nhau. Vì vậy, verifier đã xác minh rằng prover biết đa thức và đặc biệt là prover không bao giờ rò rỉ đa thức.

 

Như vậy, với zk, user có thể chứng minh cho người khác thấy bản thân có đúng thông tin về vấn đề này mà không cần tiết lộ những thông tin không cần thiết hoặc quan trọng khác.

 

Đọc thêm: Tổng quan ZK-Rollups - Công nghệ nổi bật và đáng chú ý trên Layer 2

Tóm gọn cơ chế hoạt động của ZKP
Tóm gọn cơ chế hoạt động của ZKP

SNARK

Như đã đề cập ở trên, thuật ngữ zk-snarks là cụm từ viết tắt của Zero-Knowledge Succinct Non-Interactive Argument of Knowledge. Trong đó:

 

  • Succinct (ngắn gọn): Kích thước của các hàm băm (bằng chứng) rất nhỏ, giúp verifier có thể xác minh thông tin nhanh chóng.
  • Non-interactive (không tương tác): Prover và verifier chỉ trao đổi một bằng chứng, không có sự tương tác qua lại.
  • Arguments (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): Prover không thể xây dựng một chứng cứ/lập luận mà không có "chứng nhân" (ví dụ địa chỉ mà user muốn lấy tiền, preimage của một hàm băm hoặc đường dẫn đến một Merkle tree cụ thể).

 

Với tiền tố zero-knowledge, có thể hiểu, trong quá trình tương tác, verifier không biết gì khác ngoài tính hợp lệ của tuyên bố.

Sự khác biệt giữa hệ thống bằng chứng interactive và non-interactive
Sự khác biệt giữa hệ thống bằng chứng interactive và non-interactive

Ngoài ra, zero-knowledge có thể được xác minh trong vài mili giây và chỉ chứa vài trăm byte, ngay cả đối với những thông tin nặng dữ liệu. Trong các giao thức zero-knowledge thuở ban đầu, người chứng minh và người xác minh phải tương tác qua lại trong nhiều vòng, nhưng với tính "non-interactive" của zk-SNARK, chứng cứ chỉ đơn giản là một tin nhắn ngắn gọn mà prover gửi đến verifier.

 

Hiện tại, hệ thống zk-SNARK có thể tạo ra các ZKP ngắn, không tương tác, phù hợp với blockchain bằng cách tạo ra thông số tham chiếu chung giữa prover và verifier.

Cơ chế hoạt động của zk-SNARK

Về mặt lý thuyết, zk-SNARK tận dụng các cấu trúc toán học liên quan đến các cặp đường cong elip và mã hóa đồng nhất. Các kỹ thuật này giúp công nghệ trên tạo ra các chứng minh có thể được xác minh bằng các tham số công khai, mà không tiết lộ dữ liệu cá nhân. Nói đơn giản, đây là cách zk-SNARK hoạt động:

 

  • Thiết lập: Các bên đáng tin cậy tạo ra các tham số ban đầu, chẳng hạn như đường cong elip và các khóa mã hóa, cho zk-SNARK.
  • Key Generation (Tạo khóa): Đây là quá trình prover và verifier khóa riêng (private key) và khóa công khai (public key).
  • Circuit Representation (Biểu diễn mạch): Là cách biểu diễn các tính toán và quy trình trong hệ thống dưới dạng một mạch điện ảo. Mạch điện này được sử dụng để mô phỏng và kiểm tra tính đúng đắn của các zero-knowledge proofs.
  • Witness and Computation (Nhân chứng và tính toán): Prover tính toán chứng nhân chứa thông tin cần thiết để chứng minh tính hợp lệ của tuyên bố và thực hiện các tính toán cần thiết trên mạch.
  • Proof Generation (Tạo chứng minh): Bằng cách sử dụng chứng nhân và mạch trên, prover tạo ra chứng minh zk-SNARKs. Đây được xem là phiên bản rút gọn của tính toán và chứng nhân.
  • Xác minh: Verifier xác minh tính hợp lệ của chứng minh.
  • Độ tin cậy: Nhờ vào cơ chế của mình, zk-SNARKs khó tạo ra các chứng minh sai nhờ đó đảm bảo an ninh của hệ thống.
Cơ chế hoạt động của zk-SNARK
Cơ chế hoạt động của zk-SNARK

Ưu điểm và khuyết điểm của zk-SNARK

Ưu điểm

zk-SNARK có nhiều ưu điểm như:

 

  • Thông lượng cao: zk-SNARK không chỉ giúp thu nhỏ kích thước dữ liệu lưu trữ (bằng chứng SNARK), mà còn mở rộng thông lượng thông qua việc giảm tắc nghẽn, giảm phí gas và cho phép giao dịch nhanh hơn. Điều này giúp tăng tốc độ xử lý và hiệu quả hơn trong việc lưu trữ dữ liệu tính toán lớn.
  • Kích thước bằng chứng nhỏ: với bằng chứng SNARK có kích thước nhỏ, việc xác minh dữ liệu trở nên dễ dàng hơn, đồng thời thực hiện các giao dịch một cách nhanh chóng và hiệu quả hơn.
  • Bảo mật: zk-SNARK được sử dụng các cơ chế bảo mật mã hóa tiên tiến, giúp cho zk-Rollup trở nên an toàn hơn so với các giải pháp khác. Ngoài ra, zk-SNARK cũng giúp bảo vệ sự riêng tư của người dùng, tránh trường hợp thông tin cá nhân bị lộ ra ngoài. Từ đó, đảm bảo tính bảo mật và tin cậy cho người dùng.
Dù có nhiều ưu điểm nhưng zk-SNARK vẫn cần phải nâng cấp mặt bảo mật, khả năng mở rộng và hiệu quả
Dù có nhiều ưu điểm nhưng zk-SNARK vẫn cần phải nâng cấp mặt bảo mật, khả năng mở rộng và hiệu quả

Nhược điểm

  • Để triển khai zk-SNARK, Prover cần đầu tư vào phần cứng chuyên dụng và đâu một chi phí không hề nhỏ. Ngoài ra, vấn đề này cũng khiến cho zk-SNARK mang tính tập trung (centralized) vì chỉ một số ít người có thể mua được những phần cứng này.
  • Ở zk-SNARK, để mã hóa thông tin và tạo bằng chứng hợp lệ, lập trình viên phải sử dụng phương pháp điện toán đường cong Elliptic (ECC). Hiện tại, ECC vẫn được coi là khá an toàn, tuy nhiên với sự phát triển của điện toán lượng tử, ECC có thể bị phá vỡ mô hình bảo mật của nó.
  • 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 được chia sẻ giữa người chứng minh và người xác minh và phải được giữ bí mật để đảm bảo tính bảo mật của hệ thống. Tuy nhiên, thiết lập đáng tin cậy này cũng có thể được coi là một điểm yếu của zk-SNARK bởi vì nếu các tham số bị xâm phạm thì hệ thống sẽ gặp rủi ro.
  • Đội ngũ lập trình viên cần liên tục nâng cấp mặt bảo mật, khả năng mở rộng và hiệu quả của zk-SNARK để đáp ứng được yêu cầu của người dùng. Vì vậy, việc nghiên cứu và phát triển zk-SNARK vẫn còn rất cần thiết trong tương lai.

Ứng dụng của zk-SNARK

Hiện nay, zk-SNARKs được áp dụng trong nhiều mảng:

 

  • Giữ tính riêng tư trong tiền mã hóa: Bằng cách sử dụng zk-SNARKs, các loại tiền mã hóa như Zcash đạt được sự riêng tư giao dịch trong khi vẫn giữ tính toàn vẹn.
  • Danh tính phi tập trung: zk-SNARKs cho phép tạo lập các hệ thống thông tin đáng tin cậy và tự chủ danh tính mà không cần đến thông tin cá nhân.
  • Chuỗi cung ứng và kiểm toán: zk-SNARKs có thể xác minh tính chính xác và tính toàn vẹn dữ liệu trong chuỗi cung ứng, tạo điều kiệngiúp các bên có thể kiểm toán hiệu quả đồng thời bảo vệ những thông tin kinh doanh nhạy cảm.
  • Giải pháp Blockchain có khả năng mở rộng: zk-SNARKs tăng cường khả năng mở rộng bằng cách giảm gánh nặng tính toán của xác minh giao dịch.
  • Xác minh danh tính: Chứng chỉ người dùng có thể được xác minh mà không cần mật khẩu hoặc chứng từ chứng minh để bảo vệ thông tin nhạy cảm.
  • Hệ thống bỏ phiếu: Danh tính cử tri có thể được xác thực mà không cần nhận dạng cá nhân, bảo vệ sự riêng tư của họ.
  • Nén dữ liệu: zk-SNARKs có thể cải thiện khả năng mở rộng và hiệu quả trong các nhà cung cấp lưu trữ phi tập trung như Filecoin bằng cách giảm lượng dữ liệu cần được chuyển để xác minh thông tin lưu trữ.
zk-SNARKs được áp dụng trong nhiều mảng
 zk-SNARKs được áp dụng trong nhiều mảng

Những dự án hàng đầu áp dụng zk-SNARK

zkSync

Dự án zkSync là giải pháp layer-2 thuộc nhóm zk-Rollup của Matter Labs. Nó giải quyết vấn đề mở rộng và phí giao dịch trên mạng Ethereum. Hiện có 4 giải pháp để mở rộng mạng Ethereum, trong đó zk-Rollup đang nhận được sự quan tâm của các tên tuổi như Binance, Ethereum Foundation và Coinbase.

 

Đọc thêm: Phân tích tổng quan zkSync - Mảnh ghép quan trọng trên mạng lưới Ethereum

 

zkSync là sản phẩm đầu tiên của Matter Labs sử dụng kiến trúc Zk Rollups, là một Layer 2 của Ethereum. Nguồn tiền được lưu trữ trên hợp đồng thông minh trên mạng chính (on-chain), trong khi tính toán và lưu trữ dữ liệu được thực hiện off-chain.

zkSync là giải pháp layer-2 thuộc nhóm zk-Rollup của Matter Labs
zkSync là giải pháp layer-2 thuộc nhóm zk-Rollup của Matter Labs

Loopring

Loopring là một giao thức mã nguồn mở giúp xây dựng các DEX, AMM với khả năng mở rộng cao, phí cực thấp nhưng vẫn đảm bảo bảo mật. Giao thức này là tổng hợp đầu tiên triển khai trên Ethereum, giúp đưa hệ sinh thái vào kỷ nguyên mở rộng quy mô Layer 2. 

 

V3.8 là phiên bản giao thức hiện tại, đây là phiên bản thứ năm được triển khai. Loopring giải quyết thách thức nổi bật nhất của các giao thức phi tập trung - tăng hiệu suất mà không đánh đổi bảo mật.

 

Trong đó, Loopring một giao thức trao đổi và thanh toán mã nguồn mở với độ bảo mật cao. Giao thức này không giữ tài sản của người dùng và sử dụng zkRollup để đảm bảo tài sản luôn nằm trong tầm kiểm soát của người dùng. 

 

Loopring có khả năng giải quyết đến 2,025 giao dịch mỗi giây đồng thời với mức độ bảo mật giống như chuỗi khối Ethereum cơ bản. Chi phí giao dịch trên Loopring là rất thấp, khoảng $0.02 cho mỗi giao dịch.

Loopring là một giao thức mã nguồn mở giúp xây dựng các DEX, AMM
Loopring là một giao thức mã nguồn mở giúp xây dựng các DEX, AMM

Aztec

Aztec Network là một dự án Layer 2 – ZK-Rollup trên Ethereum, giúp mở rộng khả năng xử lý giao dịch và bảo vệ quyền riêng tư của người dùng bằng công nghệ Zero-Knowledge Proof (ZKP). 

 

Bằng cách ẩn danh danh tính, số tiền giao dịch và mã hóa các giao dịch, Aztec Network giúp người dùng giữ riêng tư với các giao dịch nhanh chóng và phù hợp với DeFi. Ngoài ra, Aztec Network còn có tính năng lập chương trình và không bị quản lý bởi những người quản lý mạng.

 

Đứng sau Aztec là một đội ngũ được thành lập năm 2018 tại London, Anh, và có nhiều thành viên làm việc remote trên toàn thế giới. Đội ngũ này bao gồm nhiều kỹ sư và nhà phát triển có kinh nghiệm trong ngành khoa học máy tính.

Aztec Network là một dự án Layer 2 – ZK-Rollup trên Ethereum
Aztec Network là một dự án Layer 2 – ZK-Rollup trên Ethereum

Polygon Hermez

Polygon Hermez là một dự án Layer 2 trên Ethereum, giải quyết vấn đề khả năng mở rộng bằng cách sử dụng công nghệ Zero-Knowledge proof. Polygon Hermez cho phép chuyển token với chi phí rẻ và tích hợp vào hệ sinh thái Ethereum.

 

Trong khi đó, phiên bản nâng cấp Polygon Hermez 2.0 đã cập nhật tính năng phù hợp với công nghệ hiện tại, cho phép thực hiện các giao dịch Ethereum với xác thực Zero-Knowledge proof bằng cách sử dụng EVM dựa trên Zero-Knowledge. Cách tiếp cận này giúp triển khai minh bạch các Smart Contract Ethereum hiện có mà không cần tạo lại tất cả các Opcode EVM.

Polygon Hermez là một dự án Layer 2 trên Ethereum, áp dụng công nghệ Zero-Knowledge proof
Polygon Hermez là một dự án Layer 2 trên Ethereum, áp dụng công nghệ Zero-Knowledge proof

zkSpace

ZKSpace (ZKS) là nền tảng DeFi ở nền tảng Ethereum Layer 2, sử dụng công nghệ Zero-knowledge Proofs (ZKP) để giải quyết vấn đề về riêng tư và bảo mật trong các giao dịch tài chính trên Blockchain. 

 

Ngoài ra, nền tảng còn hỗ trợ tạo và giao dịch các Synthetic Assets, giúp người dùng tiếp cận với nhiều loại tài sản khác nhau. Mục tiêu của ZKSpace là cung cấp một giải pháp an toàn và bảo mật để tham gia vào lĩnh vực DeFi.

 

Điểm nổi bật của ZKSpace chính là quyền riêng tư cao, tốc độ giao dịch nhanh, chi phí thấp, độ tin cậy cao và dễ sử dụng.

ZKSpace là nền tảng DeFi sử dụng công nghệ ZKP để giải quyết vấn đề về riêng tư và bảo mật
ZKSpace là nền tảng DeFi sử dụng công nghệ ZKP để giải quyết vấn đề về riêng tư và bảo mật

Tổng kết

zk-SNARK có nhiều ưu điểm như thông lượng cao, kích thước bằng chứng nhỏ, bảo mật cao, và tính khả năng mở rộng. Với những ưu điểm của mình, zk-SNARK đang trở thành một công nghệ tiên tiến và tiềm năng trong tương lai của blockchain.

 

Tuy nhiên, các nhà phát triển cần phải nghiên cứu và phát triển zk-SNARK để đáp ứng được yêu cầu ngày càng cao từ người dùng. Việc triển khai công nghệ này cũng đòi hỏi các prover phải đầu tư vào phần cứng chuyên dụng và có chi phí không hề nhỏ.

 

Tóm lại, zk-SNARK là một công nghệ đầy triển vọng và tiềm năng trong tương lai của blockchain, nhưng còn nhiều rào cản ở phía trước cần phải vượt qua để trở thành công nghệ cốt lõi của blockchain trong tương lai.