Zero Knowledge (ZK) là 1 keyword rất hot trong thị trường crypto nói chung từ 1-2 năm trở lại đây. Chúng ta có những dự án ZK tiềm năng nhưng cũng rất nhiều tranh cãi như ZKSync, Starknet,...
Nhưng công bằng mà nói, có yếu tố ZK trong dự án là 1 điểm cộng thu hút sự chú ý của nhà đầu tư. ZK là công nghệ mật mã giúp giải quyết các vấn đề về khả năng mở rộng và bảo mật của blockchain.
Tính đến tháng 08/2024, rất nhiều dự án ZK ra đời và có nhiều ứng dụng khác nhau. Điều này phản ánh sự trưởng thành và phát triển nhanh chóng của hệ sinh thái ZK. Không phải chỉ là để “theo trend", các dự án đã đạt đến độ đa dạng, có sự cộng sinh và hỗ trợ lẫn nhau.
Vậy cụ thể toàn cảnh hệ sinh ZK hiện nay như thế nào? Đâu là các dự án ZK nổi bật mà anh em cần chú ý đến? Hãy cùng mình tìm hiểu trong bài viết sau nhé.
Zero Knowledge (ZK) là gì?
Zero Knowledge (ZK) là một khái niệm trong lĩnh vực mật mã học, cho phép 1 bên (được gọi là prover) chứng minh cho bên khác (gọi là verifier) rằng một phát biểu nào đó là đúng mà không cần tiết lộ bất kỳ thông tin nào về chính phát biểu đó.
Ý tưởng cơ bản của ZK là để chứng minh một thông tin thì không nhất thiết phải tiết lộ thông tin đó. Chính vì tính chất này, ZK đảm bảo data gốc được giữ kín trong suốt quá trình tương tác, duy trì bảo mật và riêng tư.
ZK Hoạt động như thế nào?
Cơ chế hoạt động của ZK được thực hiện như sau:
Verifier đưa ra một chuỗi thử thách hoặc câu hỏi ngẫu nhiên mà chỉ có thể trả lời đúng nếu prover thực sự biết thông tin cần chứng minh. Những thử thách này được thiết kế để đảm bảo rằng không có một chiến lược đoán mò nào mang lại tỉ lệ thành công.
Sau mỗi thử thách, verifier sẽ kiểm tra câu trả lời của prover. Nếu prover trả lời đúng tất cả các thử thách, verifier có thể tin rằng prover thực sự biết thông tin.
Quy trình này được lặp đi lặp lại nhiều lần với các thử thách khác nhau để giảm xác suất thành công của 1 prover không trung thực. Tất nhiên, mỗi lần lặp sẽ tăng xác suất phát hiện gian lận nếu prover chỉ đoán mò.
Để dễ hiểu hơn, anh em có thể quan sát hình trên. Prover (Alice) đang cố gắng chứng minh họ biết cách mở một cánh cửa bí mật mà không tiết lộ cách mở cho verifier (Bob).
Quy trình thực hiện ở đây sẽ như sau:
Bob đứng bên ngoài và yêu cầu Alice xuất hiện ở một trong 2 lối ra (A hoặc B). Tất nhiên, Bob sẽ chỉ định ngẫu nhiên lối ra mà Alice phải tới. Để xuất hiện ở đúng lối ra được chỉ định, Alice phải biết passcode để mở cửa bí mật (như trên hình).
Nếu Alice không biết passcode để mở cửa mà chỉ đoán mò, về mặt xác suất, Alice sẽ có 50% cơ hội xuất hiện ở đúng lối ra được yêu cầu sau mỗi lần thử.
Vì vậy, để Bob biết xem Alice có thật sự biết passcode hay không, anh ta sẽ thực hiện quá trình này nhiều lần.
Nếu Alice biết passcode thật, cô ta sẽ luôn đoán đúng lối ra mà Bob chỉ định. Ngược lại, nếu Alice không biết passcode, xác suất cô ta ở đúng lối ra liên tiếp mà Bob chỉ định sẽ giảm dần theo thời gian. Ví dụ, sau 10 lần chỉ định của Bob, xác suất đoán đúng hoàn toàn dựa trên đoán mò sẽ là 0.5^10 = 0.098%, đây là 1 con số rất nhỏ.
Từ đây, Bob hoàn toàn biết được liệu Alice có thật sự biết passcode mà không cần phải quan tâm passcode là gì.
Ba đặc điểm của ZK
ZK có 3 đặc điểm cơ bản sau:
Tính đầy đủ: Nếu prover thực sự biết thông tin, họ có thể chứng minh điều đó một cách thuyết phục cho verifier.
Ví dụ: Giả sử Halley (prover) đang chơi giải đố với Danny (verifier). Halley biết đáp án chính xác câu đố và có thể chứng minh bằng cách thực hiện đúng các yêu cầu của Danny.
Nếu Halley trung thực và thực sự biết đáp án, anh ta sẽ có thể hoàn thành mọi yêu cầu của Danny một cách chính xác. Đây chính là tính đầy đủ.
Tính chính xác: Nểu prover không biết thông tin, họ không thể lừa dối được verifier.
Ví dụ, quay lại với trò chơi đố vui, giả sử Halley đang cố gắng giả vờ rằng mình biết đáp án, mặc dù thực tế là không. Danny sẽ đưa ra những câu hỏi hoặc thử thách để kiểm tra sự hiểu biết của Halley.
Nếu Halley không thực sự biết đáp án, anh ta sẽ không thể vượt qua tất cả các thử thách của Danny 1 cách chính xác. Đây là tính chính xác.
Zero-knowledge: Verifier không thể biết thêm thông tin gì khác từ quá trình chứng minh, ngoài việc tin rằng phát biểu từ prover là đúng. Như trong ví dụ Alice và Bob mình trình bày ở phần trước, Bob là verifier, anh ta không hề biết passcode là gì.
ZK giải quyết vấn đề gì?
ZK ra đời giúp giải quyết các vấn đề sau:
Khả năng mở rộng của blockchain:
Vấn đề: Các blockchain truyền thống thường gặp khó khăn trong việc mở rộng quy mô do giới hạn về khả năng xử lý và tốc độ giao dịch.
Giải pháp của ZK: ZK cho phép các tính toán phức tạp được thực hiện off-chain và chỉ cần bằng chứng nhỏ gọn được xác minh on-chain. Điều này giảm tải cho blockchain chính, tăng tốc độ xử lý và khả năng mở rộng.
Bảo vệ quyền riêng tư:
Vấn đề: Ở các public blockchain, mọi giao dịch và dữ liệu đều có thể được nhìn thấy bởi tất cả mọi người. Điều này đặt ra những lo ngại về quyền riêng tư cho người dùng và tổ chức. Đặc biệt, trong các dự án liên quan tới RWA thì vấn đề bảo vệ quyền riêng tư lại cực kỳ cần thiết.
Giải pháp của ZK: Như tính chất của ZK mà mình đã trình bày, ZK cho phép thực hiện các giao dịch mà không cần tiết lộ dữ liệu chi tiết. Ta có thể chứng minh rằng một giao dịch hợp lệ mà không tiết lộ số tiền, danh tính người gửi hoặc người nhận.
Khả năng tương tác không cần sự tin cậy (Trustless Interoperability):
Vấn đề: Việc trao đổi dữ liệu giữa các blockchain khác nhau thường phải sử dụng các dịch vụ trung gian. Điều này gây ra rủi ro bảo mật và các vấn đề liên quan tới sự tin cậy (chẳng hạn như phải tin 1 dịch vụ của bên thứ 3).
Giải pháp của ZK: Nhờ tính “zero-knowledge" của ZK nên các blockchain có thể trao đổi thông tin và giá trị một cách an toàn mà không cần dịch vụ trung gian.
Có những loại ZK nào?
ZK có 2 loại chính được sử dụng rộng rãi là ZK-SNARKs và ZK-STARKs. Mỗi loại có những đặc điểm riêng phù hợp với các ứng dụng khác nhau.
ZK-SNARKs
ZK-SNARK viết tắt của Zero-Knowledge Succinct Non-Interactive Argument of Knowledge. Đây là một trong những giao thức ZK phổ biến nhất với những đặc điểm sau:
Zero-Knowledge: Verifier có thể kiểm tra tính toàn vẹn của một thông tin mà không cần biết thêm chi tiết về thông tin đó.
Succinct: Bằng chứng zero-knowledge (ZKP) được tạo ra nhỏ hơn nhiều so với dữ liệu gốc và có thể được xác minh rất nhanh chóng.
Argument: Các ZKP đáp ứng yêu cầu về tính chính xác, do đó khả năng gian lận gần như không thể xảy ra.
(Of) Knowledge: ZKP không thể được tạo ra nếu như không có thông tin bí mật.
Trusted Setup: Một trong những nhược điểm của ZK-SNARKs là cần phải có 1 bước thiết lập tin cậy ban đầu (trusted setup). Tức là một bộ thông số công khai được tạo ra bởi 1 bên đáng tin cậy. Vậy nên, nếu bước này bị xâm phạm, hệ thống có thể bị mất sự toàn vẹn thông tin.
ZK-STARKs
ZK-STARKs là viết tắt của Zero-Knowledge Scalable Transparent Argument of Knowledge. Đây là 1 loại zero-knowledge proof mới hơn và có vài cải tiến mới so với ZK-SNARKs. Cụ thể, ZK-STARKs có những đặc điểm sau:
Scalable: ZK-STARKs có khả năng xử lý nhanh hơn ZK-SNARKs trong trường hợp kích thước của dữ liệu gốc lớn. Vì vậy, các blockchain ứng dụng ZK-STARKs có khả năng mở rộng tốt hơn.
Transparent: ZK-STARKs không cần thiết lập tin cậy (trusted setup) như ZK-SNARKs. Thay vào đó, ZK-STARKs tạo ra các tham số công khai cho quá trình chứng minh và xác thực.
Kích thước bằng chứng lớn hơn ZK-SNARKs: ZK-STARKs tạo ra các proof có kích thước lớn hơn so với ZK-SNARKs. Điều này có thể ảnh hưởng đến chi phí lưu trữ và băng thông khi áp dụng trong các hệ thống có hạn chế về tài nguyên.
Mình sẽ tổng kết các điểm khác nhau của 2 loại ZK thông qua bảng sau:
Đặc Điểm
ZK-SNARKs
ZK-STARKs
Zero-Knowledge
Có thể xác minh mà không tiết lộ thông tin
Có thể xác minh mà không tiết lộ thông tin
Succinct/Scalable
Bằng chứng ngắn gọn, xác minh nhanh
Khả năng mở rộng tốt, xác minh nhanh với dữ liệu lớn
Argument
Gian lận rất khó xảy ra
Gian lận rất khó xảy ra
Trusted Setup
Cần thiết lập tin cậy ban đầu
Không cần thiết lập tin cậy
Transparent
Không minh bạch bằng STARKs
Minh bạch do không cần trusted setup
Kích thước bằng chứng
Nhỏ hơn ZK-STARKs
Lớn hơn ZK-SNARKs
Tổng quan hệ sinh thái ZK
Như anh em đã biết, hệ sinh thái ZK đã có giai đoạn tăng trưởng bùng nổ. Điều này được thể hiện ở 2 khía cạnh chính: Sự gia tăng số lượng dự án ZK và số vốn huy động được.
Trong vòng 5 năm (từ năm 2019 đến năm 2024), số lượng các dự án liên quan đến ZK đã tăng từ chỉ một vài dự án lên con số 159 dự án. Có thể thấy rằng, nhiều nhà phát triển nhận ra được tiềm năng của ZK và muốn áp dụng vào dự án của mình.
Vì có nhiều như vậy nên chúng ta cần phân chia các mảng chính, cụ thể:
ZK Infrastructure Stack: Đây là các dự án ZK tập trung vào các công cụ và nền tảng cơ bản hỗ trợ cho việc xây dựng và triển khai các giải pháp ZK.
ZK Networks: Đây là các dự án sử dụng công nghệ ZK để cải thiện bảo mật, quyền riêng tư và khả năng mở rộng.
ZK Applications: Đây là các dự án sử dụng ZK để cung cấp các dịch vụ và giải pháp mới, chẳng hạn như liên quan tới DeFi, Wallet,...
ZK Infrastructure Stack
ZK là một công cụ mật mã mạnh nhưng để lập trình, nó là bài toán không dễ. Vì vậy, chúng ta cần những công cụ ở cấp độ infra giúp cho việc xây dựng ứng dụng trở nên dễ dàng hơn. Ta có phân loại các dự án thuộc ZK Infrastructure Stack theo các danh mục như sau:
Khung lập trình và công cụ: Đây là các dự án đóng vai trò quan trọng trong việc giúp các nhà phát triển dễ dàng xây dựng ứng dụng với ZKPs. Mình sẽ liệt kê một số dự án tiêu biểu cùng với vai trò như sau:
Leo: Ngôn ngữ lập trình cho xây dựng ứng dụng ZK
ZoKrates, Circom, Sunscreen: Các thư viện mã nguồn mở để tạo và xác minh ZKP
Oasis Privacy Layer, ZKWasm, Elusiv: Các lớp bảo mật cho ứng dụng blockchain
Dojo, Starlight: Các khung và công cụ phát triển dựa trên ZK
Sindri, O1js, Noir: Khung lập trình và công cụ cho phép dễ dàng phát triển và tích hợp ZK
ZK coprocessors: Đây là các dự án cung cấp khả năng tính toán off-chain hiệu quả về chi phí và không cần tin cậy. Một số dự án thuộc danh mục này gồm:
WeMeta, RiscZero, Ironmill: Các giải pháp giúp tối ưu việc tính toán off-chain.
Axiom, Herodotus, Nexus: Các nền tảng hỗ trợ tích hợp ZK với tính toán off-chain
Proof Networks/Markets: Đây là các dự án cho thuê dịch vụ ZK, từ đó giảm thiểu chi phí vận hành cơ sở hạ tầng. Một số cái tên thuộc danh mục này gồm: NovaNet, RISC Zero Bonsai, Sindri,…
Các giải pháp phần cứng: Đây là các dự án sử dụng phần cứng như GPU, FPGAs,... để cải thiện thời gian tạo và xác minh proof. Một số dự án thuộc danh mục này gồm:
Ingonyama, Fabric, Accseal: Các công ty cung cấp phần cứng chuyên dụng cho việc thúc đẩy ứng dụng ZKP.
Snarkify, Aligned, Cysic: Cung cấp giải pháp phần cứng để tối ưu quá trình chứng minh ZK.
Cơ sở hạ tầng App-chain: Đây là các dự án cung cấp các công cụ lập trình low-code cho phép các nhà phát triển xây dựng, thử nghiệm và triển khai blockchain sử dụng cơ chế ZKP. Một số dự án thuộc danh mục này gồm:
ZKsync, Espresso, Protokit: Cung cấp dịch vụ Rollup-as-a-Service (RaaS) cho các blockchain L2/L3.
Starkware, Radius, Lumoz: Nền tảng hỗ trợ triển khai các app-chain dựa trên ZK.
Bridges: Đây là các dự án bridges sử dụng công nghệ ZK. Một số dự án nổi bật bao gồm:
WeMeta, Polyhedra, zkLink: Các nền tảng bridge sử dụng ZK để tăng tính bảo mật.
Herodotus, Zeropool, Succinct: Cung cấp giải pháp trustless bridge dựa trên ZK.
ZK Machine Learning: Đây là những dự án tập trung vào việc chứng minh tính chính xác của các kết quả từ mô hình AI/ML. Một số dự án nổi bật bao gồm: Modulus Labs, Axiom, Vanna Labs,...
ZK Networks
Như mình đã trình bày, ZK Networks là tập hợp các dự án giải quyết vấn đề mở rộng, privacy, hiệu suất,... của blockchain. Ta có thể chia nhỏ thành các danh mục như sau:
Privacy-Focused L1s: Bao gồm các blockchain tập trung vào quyền riêng tư, sử dụng các công nghệ như ZKP và FHE (Fully Homomorphic Encryption). Một số dự án nổi bật bao gồm: Aleo, Neptune, OAS, Aleph Zero, Mina,...
ZK-EVMs: Đây là các dự án tạo ra các bằng chứng thực thi giao dịch giống như Ethereum. Một số cái tên nổi bật gồm: ZKsync Era, Linea, Taiko, PSE,…
ZK-VMs: Bao gồm các dự án cũng tận dụng ZKPs tương tự như ZK-EVMs nhưng không phải EVMs, nổi bật có Cairo, Fluent VM, Jolt,...
ZK-Rollups: ZK-Rollups là giải pháp mở rộng L2 di chuyển việc tính toán ra ngoài chuỗi (off-chain) và chứng minh các thay đổi trạng thái (state) trên chuỗi bằng cách sử dụng ZKPs. Điều này giảm tải cho blockchain chính, giảm chi phí và cải thiện tốc độ giao dịch. Một số dự án nổi bật bao gồm: ZKsync, Polygon Miden, Layer N, Starknet,...
ZK Applications
Đây là các dự án ứng dụng ZK dành cho người dùng cuối. Đây có thể là các sản phẩm như DeFi, Payments,... Ta có thể chia ra theo công dụng, dịch vụ mà các dự án cung cấp như sau:
DeFi Protocols: Sử dụng ZK để cung cấp các dịch vụ tài chính an toàn và bảo mật như Lumina, Kintsu, Silent Protocol,...
Consumer dApps: Các dApp này sử dụng ZK để cung cấp trải nghiệm người dùng tối ưu. Một số dự án trong danh mục này gồm Waku, Topology, zkEmail,…
Payments: Sử dụng ZK để bảo đảm quyền riêng tư và bảo mật cho các giao dịch tài chính. Một số dự án trong danh mục này gồm: Privacy Pools, Nocturne, MantaPay,…
Identity: Sử dụng ZK để bảo vệ quyền riêng tư trong quá trình xác thực danh tính và xây dựng danh tiếng. Một số dự án trong danh mục này gồm PolygonID, zkMe, zkPass, UniRep, Worldcoin, NYM,...
Tổng kết
Thông qua bài viết, anh em có thể thấy các dự án ứng dụng ZK đa dạng như thế nào, cả về số lượng lẫn dịch vụ cung cấp.
Những lợi ích mà ZK mang tới là không phải bàn khi nó làm cho các blockchain trở nên bảo mật hơn, nhanh hơn và có khả năng mở rộng. Về mặt công nghệ, mình tin ZK luôn có chỗ đứng trong ngành công nghiệp Blockchain & Web3.
Tuy nhiên, nói về tiềm năng của các dự án ứng dụng ZK lại là 1 chuyện khác. Tất nhiên, để thành công, các dự án không thể mãi lấy keyword “zero-knowledge" ra để dẫn dụ nhà đầu tư được. Bên cạnh công nghệ tốt thì cũng cần có một chiến lược đầu tư và phát triển hợp lý.
Anh em nhận định như nào về các dự án ứng dụng ZK? Có giải pháp tiềm năng nào đang nằm trong portfolio của anh em không? Hãy để lại góc nhìn cá nhân bên dưới comment để trao đổi cùng các thành viên trong cộng đồng TradeCoinVN nhé!
Lưu ý: Nội dung bên trên không phải là lời khuyên đầu tư. Anh em chỉ nên tham khảo và tự mình tìm hiểu kỹ trước khi quyết định xuống tiền. Hãy là nhà đầu tư có trách nhiệm với tài sản của mình, chúc các bạn thành công!
Bình luận
Đăng nhập