Trong phần 1 của series bài viết về công nghệ zk, mình đã khái quát về công nghệ zk. Trong phần 2, mình sẽ cập nhật xu hướng phát triển của công nghệ zk nhé.

Khái quát công nghệ zk

ZKP (zero-knowledge proof) là cách để người chứng minh (Prover) thuyết phục người xác minh (Verifier) rằng tuyên bố đó là đúng, mà không tiết lộ thêm bất kỳ thông tin nào hoặc chỉ cần tiết lộ một phần thông tin. ZKP sẽ cung cấp sự lựa chọn và tính linh hoạt cho những người dùng muốn tự do và kiểm soát thông tin của họ.

ZKP không chỉ giúp cá nhân mà còn giúp tổ chức, doanh nghiệp bảo vệ thông tin, dữ liệu và quyền sở hữu trí tuệ.

Công nghệ zk vẫn còn khá non trẻ

Lý thuyết về ZKP lần đầu tiên được giới thiệu bởi MIT năm 1985, nhưng phải đến năm 2012 nó mới bắt đầu đi vào thực tế với sự ra đời của zkSNARK. Năm 2016 dự án Zcash được fork từ Bitcoin với mục tiêu trở thành phương tiện thanh toán di động rẻ hơn và cho phép lựa chọn quyền riêng tư nhờ công nghệ SNARK.

Hiện nay công nghệ zk đã đạt được rất nhiều thành tựu, tuy nhiên nó mới chỉ vận hành tốt ở những ứng dụng đơn giản như payment của Zcash, Dash; máy trộn Tornado; staking/farming của zkMoney… Các dự án zk hỗ trợ smart contract chủ yếu đang giai đoạn phát triển và thử nghiệm sản phẩm như Mina, Aleo, StarkNet, zkSync Era, Polygon zkEVM Scroll, Linea… Công nghệ zk rất phức tạp, khó tương thích và ít công cụ hỗ trợ tool dev. Thế nên zk vẫn đang là thách thức lớn với các DEV.

Xu hướng phát triển zk trên blockchain

Hiện nay hệ sinh thái Ethereum là hệ sinh thái lớn nhất trong thị trường blockchain, vì vậy hệ sinh thái nào muốn phát triển nhanh ở giai đoạn đầu thì đều có xu hướng tương tác và khai thác tài nguyên từ Ethereum. Tuy nhiên zk lại là công nghệ rất khó để tương thích với Ethereum.

Khó chứ không phải là không thể, cũng bởi vì công nghệ zk có quá nhiều ứng dụng ưu việt nên các nhà phát triển vẫn quyết tâm nghiên cứu và phát triển zk có thể tương tác và tận dụng tài nguyên từ Ethereum. Có hai hướng phát triển chính của các dự án zk như sau:

  • Xây dựng ngôn ngữ lập trình mới giúp phát huy tối đa sức mạnh của zk, dễ triển khai zk hơn nhưng không tương thích EVM đồng nghĩa với việc phải educate ngôn ngữ mới và không thể tận dụng tài nguyên cho các nhà phát triển từ các platform EVM như Etherem.
  • Phát triển công nghệ zk tương thích EVM nhưng sẽ khó khăn hơn rất nhiều, tốn thời gian hơn rất nhiều, có thể sẽ không thể phát huy hết công nghệ zk hoặc thậm trí không thể thành công.

Khả năng tương thích EVM

EVM là một máy ảo giúp thực thi các smart contract trên mạng lưới Ethereum. Còn zkEVM (zero-knowlege Ethereum Virtual Machine) là một máy ảo hỗ trợ tính toán zero-knowledge proofs (ZKP) để xác minh tính đúng đắn của việc thực thi các chương trình, bao gồm cả tính hợp lệ của đầu vào (inputs) và đầu ra (outputs) trong chương trình.

Nói một cách đơn giản thì zkEVM được thiết kế để thực hiện các smart contract có hỗ trợ công nghệ zero-knowledge (zk).

EVM opcodes thông thường không hiệu quả để sử dụng trong các mạch chứng minh zk, nên chúng ta cần zkEVM opcodes, tức là các nhà phát triển cần xây dựng các mạch zk cho các EVM opcodes gốc.

Mạch chứng minh của zkEVM tạo ra các bằng chứng zk để xác minh và xác thực các giao dịch, chứng minh rằng các giao dịch của người dùng đã được tính toán chính xác và trạng thái mới là chính xác.

Cách tiếp cận này giúp zkEVM tương thích ở mức bytecode tương đương EVM. Nghĩa là các nhà phát triển có thể dễ dàng chuyển các dApp trên Ethereum sang nền tảng chạy zkEVM mà không cần sửa đổi nhiều, hoặc các nhà phát triển có thể dễ dàng xây dựng dApps bằng ngôn ngữ quen thuộc Solidity và tận dụng các tool dev sẵn có.

Tuy nhiên giải pháp zkEVM là một nỗ lực kỹ thuật khá phức tạp và tốn nhiều thời gian. Có thể chia zkEVM thành 4 cấp độ tương thích EVM như sau:

EVM equivalence level of zkEVM types
Khả năng tương thích EVM của các loại zkEVM

zkEVM loại 1 – Hoàn toàn tương đương Ethereum

zkEVM loại 1 không thay đổi bất kỳ phần nào của hệ thống Ethereum hiện tại để giúp tạo bằng chứng zk dễ dàng hơn. Điều này làm cho chúng hoàn toàn tương thích với tất cả các ứng dụng gốc Ethereum và cho phép sử dụng lại các công cụ như trình khám phá khối (explorers) và ứng dụng khách thực thi (execution client). Tuy nhiên, một số phần nhất định của giao thức Ethereum yêu cầu một lượng lớn tính toán để tạo ra bằng chứng zk, dẫn đến thời gian chứng minh cho zkEVM kéo dài.

Dự án zkEVM loại 1: zkEVM Community Edition; mục tiêu của Taiko cũng đang nhắm tới là zkEVM loại 1.

zkEVM loại 2 – Tương đương với EVM

Các zkEVM loại 2 nhằm mục đích tương thích hoàn toàn với các ứng dụng Ethereum hiện có nhưng thực hiện các sửa đổi nhỏ để giúp tạo bằng chứng nhanh hơn và phát triển dễ dàng hơn. Mặc dù thời gian chứng minh nhanh hơn nhưng việc triển khai hiện tại vẫn được coi là quá chậm.

Dự án zkEVM loại 2: Scroll, Linea và Polygon zkEVM, mặc dù hiện đang gần với loại 3 hơn.

zkEVM loại 2.5 – Tương đương EVM ngoại trừ chi phí gas

Việc tăng chi phí gas cho các hoạt động cụ thể có thể cải thiện thời gian chứng minh đối với một số tình huống tạo bằng chứng khó khăn nhất. Tuy nhiên, điều này có thể phá vỡ một số ứng dụng và yêu cầu sửa đổi của nhà phát triển.

zkEVM loại 3 – Tương đương một phần với EVM

Các zkEVM loại 3 hy sinh một số tính năng EVM để cho phép phát triển ứng dụng và tạo bằng chứng zk dễ dàng hơn, chẳng hạn như các thay đổi đối với tiền biên dịch, bộ nhớ VM, ngăn xếp (stack) và cách xử lý mã hợp đồng thông minh. Trong khi hầu hết các ứng dụng Ethereum sẽ hoạt động trong môi trường này, một số ứng dụng có thể cần được viết lại.

zkEVM loại 4 – Tương đương ngôn ngữ cấp cao

Các hệ thống loại 4 lấy mã được viết bằng ngôn ngữ cấp cao như Solidity hoặc Vyper và biên dịch mã đó thành ngôn ngữ được thiết kế thân thiện với bằng chứng zk. Về cơ bản, chúng tương đương với ngôn ngữ cấp cao nhưng không phải là EVM thực tế. Điều này cho phép tạo bằng chứng nhanh hơn nhiều và giảm chi phí, mặc dù các hợp đồng có thể không có cùng địa chỉ.

Dự án zkEVM loại 4: zkSync Era, Nethermind’s Warp (một trình biên dịch từ ngôn ngữ của Solidity sang ngôn ngữ Cairo của Starkware, sẽ biến StarkNet thành một hệ thống loại 4).

EVM equivalence level
Mức độ tương thích EVM của các dự án

Hướng phát triển zk Non-EVM

Cách tiếp cận này yêu cầu xây dựng một ngôn ngữ mới được thiết kế để hỗ trợ các bằng chứng hợp lệ và phát triển các mã opcodes tùy chỉnh. Các nhà phát triển sẽ cần phải viết hợp đồng trực tiếp bằng ngôn ngữ mới hoặc biên dịch mã nguồn từ Solidity sang mã opcodes zkEVM tùy chỉnh.

Mặc dù phương pháp này thường đơn giản hơn để thực hiện so với việc xây dựng các mạch zk cho các EVM opcodes gốc, nhưng nó có những hạn chế. Ví dụ: các nhà phát triển có thể không thể truy cập vào cơ sở hạ tầng và tài nguyên Ethereum hiện có. Các dự án này đều hỗ trợ smart contract thông qua máy ảo riêng không tương thích EVM.

Một số dự án đang phát triển ngôn ngữ riêng như:

  • StarkNet phát triển ngôn ngữ Cairo, giúp hỗ trợ tốt việc tính toán và tạo bằng chứng zk.
  • Aleo phát triển ngôn ngữ Leo thân thiện với các Dev hơn, giúp các nhà phát triển dễ triển khai các dApps hơn.
  • Mina sử dụng SnarkyJS (một thư viện TypeScript) để xây dựng các zkApps.
  • Aztec đang phát triển ngôn ngữ Noir để chứng minh zk, mang lại tính bảo mật cao.
  • Polygon Miden sử dụng công nghệ stark và máy ảo MidenVM được viết bằng ngôn ngữ Rust.

Xu hướng ứng dụng zk để mang lại quyền riêng tư cho các platform/dApps

Blockchain

Layer 2/ Layer 3 zk-Rollup là sự kết hợp của công nghệ zk + và công nghệ rollup tạo lên sự hấp dẫn chưa từng có cho các Layer 2. Trong khi rollup mang lại khả năng mở rộng còn zk mang lại quyền riêng tư & tính toàn vẹn.

Sự kết hợp của zk và rollup không chỉ dừng lại ở Ethereum, Binance Smart Chain cũng đã cập nhật việc triển khai zk-rollup trong roadmap mới nhất. Tương lai sẽ là nhiều layer 1 khác cũng sẽ triển khai zk-rollup khi công nghệ này được hoàn thiện.

Optimistic Rollup kết hợp zk để giảm thời gian rút tiền về L1 cũng là một hướng đi để khắc phục điểm yếu của Optimistic Rollup. OP Labs cũng đã nêu Optimism có thể sẽ kết hợp nhiều cơ chế chứng minh, trong đó có bằng chứng zk.

Ứng dụng bảo mật trong ngành tài chính

ING sử dụng ZKP cho phép khách hàng chứng minh rằng số bí mật của họ nằm trong một phạm vi đã biết. Ví dụ: người nộp đơn vay thế chấp có thể chứng minh rằng thu nhập của họ nằm trong phạm vi cho phép mà không tiết lộ mức lương chính xác của họ.

ZKP đặc biệt cần thiết cho các tổ chức tham gia vào thị trường CeDeFi, vì không một tổ chức nào muốn tiết lộ chiến lược đầu tư, chiến lược trading của mình cho đối thủ cạnh tranh.

Ứng dụng xác thực (Authentication)

Hiện nay, khi bạn tham gia vào mạng xã hội, đăng nhập tài khoản trên web2, thì bạn đều sẽ phải sử dụng thông tin như mật khẩu hay địa chỉ mail hay số điện thoại… đồng nghĩa với việc bạn đã tiết lộ thông tin cá nhân của mình. zk có thể giúp bạn đăng nhập bằng số điện thoại mà họ không biết số điện thoại của bạn, đăng nhập bằng email cá nhân mà họ không biết chính xác email của bạn.

Ứng dụng KYC xác minh danh tính và bảo vệ quyền riêng tư

Bằng chứng không kiến thức đặc biệt hữu ích trong bối cảnh nhận dạng phi tập trung. Danh tính phi tập trung (còn được mô tả là ‘danh tính tự chủ – self-sovereign identity’) mang lại cho cá nhân khả năng kiểm soát quyền truy cập vào số nhận dạng cá nhân. zk có thể chứng minh quyền công dân của bạn mà không tiết lộ ID thuế hoặc chi tiết hộ chiếu của bạn, đây là một ví dụ điển hình về cách công nghệ zk cho phép nhận dạng phi tập trung.

Bỏ phiếu trực tuyến

Bằng chứng zk có thể cho phép cử tri bỏ phiếu ẩn danh và xác minh rằng phiếu bầu của họ đã được đưa vào cuộc kiểm phiếu cuối cùng.

Platform/ứng dụng bảo mật thông tin, dữ liệu

Hãy tưởng tượng một ngày đẹp trời, hacker tấn công máy tính của bạn, hacker chỉ nhận được dòng “Hey I’m zk” chứ không thu được bất cứ dữ liệu hay passcode của bạn.

Hiện nay dịch vụ lưu trữ đám mây đang trở lên thiết yếu và thông dụng, zk có thể giúp bảo mật nội dung dữ liệu. Filcoin là một dự án cloud storage điển hình đang áp dụng bằng chứng zk.

Private platform dành cho các tổ chức/doanh nghiệp

ZKP giúp các tổ chức hoạt động mà không bị lộ chiến lược & bí mật kinh doanh của mình. Hay như việc có thể sử dụng dữ liệu độc quyền làm đầu vào để kích hoạt thực hiện hợp đồng thông minh.

Kết luận

Công nghệ zk đang được đầu tư mạnh mẽ và đã có những bước tiến đáng kể trong những năm gần đây, bao gồm cả các dự án zkEVM và non-EVM. Nhu cầu tích hợp zk trong không gian mạng ngày nay để mang lại quyền riêng tư cho người dùng là điều thiết yếu.

Có vô vàn ứng dụng có thể áp dụng công nghệ zk trong thực tiễn, zk vẫn đang trong giai đoạn phát triển, nếu thành công thì zk có thể sẽ thay đổi toàn ngành công nghệ và mở ra vô vàn các ứng dụng thiết thực nhằm bảo vệ quyền riêng tư cho người dùng/ tổ chức/ doanh nghiệp.