zkEVM là gì? Phân loại các nhóm zkEVM
zkEVM là công nghệ được phát triển một phần dựa trên Zero-Knowledge Proof (ZKP). Chúng được Vitalik - founder của Ethereum chia thành 4 loại khác nhau tuỳ theo mức độ tương thích với EVM. zkEVM có nhiều ưu điểm cho developer và hệ sinh thái zk nhưng vẫn còn nhiều hạn chế cần được giải quyết.
Key Insights
- zkEVM là công nghệ được phát triển dựa trên sự kết hợp giữa Zero-Knowledge Proof (ZKP) và Ethereum Virtual Machine (EVM).
- zkEVM được chia làm 4 loại chính tùy theo mức độ tương thích với EVM lần lượt là loại 1 (hoàn toàn tương thích với Ethereum), loại 2 (hoàn toàn tương thích với EVM), loại 3 (tương thích với EVM) và loại 4 (gần tương thích với EVM).
- Ưu điểm của zkEVM là có khả năng tương thích với EVM, được sử dụng đa dạng, có khả năng mở rộng và tăng cường bảo mật.
- Nhược điểm của EVM là độ phức tạp cao, chưa có sự đồng bộ, tiêu tốn năng lượng, ảnh hưởng đến hiệu suất mạng lưới.
Tổng quan về zkEVM
Trước khi tìm hiểu về zkEVM, chúng ta tìm hiểu về khái niệm Zero Knowledge Proof (ZKP). Đây là một phần nền tảng của zkEVM.
Zero Knowledge Proof (ZKP) là gì?
Công nghệ ZK (zero-knowledge) Proof là một loại công nghệ mã hóa được sử dụng để bảo vệ tính riêng tư và xác thực trên internet và các nền tảng blockchain. Thay vì chia sẻ thông tin hoàn chỉnh, công nghệ ZKP cho phép các bên trao đổi thông tin mà không cần tiết lộ thông tin chi tiết của nhau.
Đọc thêm: Zero-knowledge Proof là gì?
Ví dụ đơn giản về: Giả sử A muốn xác minh với một tổ chức rằng cô ấy đủ 18 tuổi để đăng ký dịch vụ, nhưng không muốn tiết lộ ngày sinh của mình.
A có thể sử dụng hoạt động ZKP để chứng minh rằng cô ấy đủ tuổi bằng cung cấp nhiều thông tin khác có ý nghĩa tương tự. Ví dụ:
- A đã tốt nghiệp đại học (Chứng minh A khoảng 22 tuổi).
- A có bằng lái xe hơi B1 được cơ quan có thẩm quyền cấp (Chứng minh A đủ 18 tuổi).
- A đã sở hữu doanh nghiệp đăng ký kinh doanh dưới tên mình (Chứng minh A đủ 18 tuổi).
Trong ví dụ này, ZKP đã cho phép Alice xác minh tuổi của mình mà không cần tiết lộ ngày sinh của cô ấy, giúp bảo vệ tính riêng tư của Alice nhưng vẫn giúp tổ chức đảm bảo A đủ tuổi đăng ký dịch vụ.
Phân loại theo công nghệ của ZKP, thị trường có 2 loại chính được biết đến nhiều nhất là zk-SNARKs và zk-STARKs.
- zk-SNARKs (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge).
- zk-STARKs (Zero-Knowledge Scalable Transparent Argument of Knowledge).
zkEVM là gì?
zkEVM là viết tắt của cụm từ "Zero-Knowledge Ethereum Virtual Machine". Đây là một giao thức cho phép thực thi các hợp đồng thông minh trên một public blockchain như Ethereum, BNB Chain, Polygon, Avalanche C Chain…
Vì sao zkEVM ra đời?
Mặc dù trên thị trường đã có một số ngôn ngữ lập trình ZK như Cairo (StarkWare) hay Zinc (zkSync) nhưng ngôn ngữ lập trình ZK vẫn còn nhiều hạn chế. Một trong những rào cản lớn nhất là tính không đồng nhất giữa các ngôn ngữ lập trình này khiến các developer gặp khó khăn trong việc lập trình trên các ngôn ngữ khác nhau.
Đối với một developer hoặc một dự án mới phát triển trên thị trường, việc tập trung một ngôn ngữ Cairo hoặc Zinc sẽ khiến họ bị giới hạn ở một hệ sinh thái so với sự đa dạng của các hệ sinh thái hoạt động trên ngôn ngữ EVM.
Vì vậy, zkEVM đã ra đời nhằm giải quyết vấn đề này. Dưới đây là một số lý do cho sự ra đời của zkEVM:
- zkEVM được thiết kế để tương thích với Ethereum. Do đó, việc triển khai các smart contract sử dụng công nghệ ZK Proof trên Ethereum trở nên dễ dàng hơn.
- zkEVM cung cấp cho các nhà phát triển một lớp trừu tượng hóa để triển khai các ứng dụng ZK một cách dễ dàng hơn. Các nhà phát triển không cần phải quan tâm đến chi tiết của thuật toán ZK tại mức thấp nhất.
- zkEVM hỗ trợ nhiều loại ZK Proof khác nhau, bao gồm cả zk-SNARKs và zk-STARKs, giúp các nhà phát triển lựa chọn phương pháp phù hợp nhất cho ứng dụng của mình.
Tóm lại, zkEVM ra đời để giúp cho việc triển khai các smart contract sử dụng công nghệ ZK Proof trên Ethereum và các EVM Chain một cách dễ dàng hơn và đồng thời cung cấp một cách tiếp cận mới cho các nhà phát triển.
Đọc thêm: Top các dự án zkEVM nổi bật
Cách hoạt động của zkEVM
zkEVM không khác gì và cũng tuân theo cách hoạt động chung so với ZK-rollups. Tuy nhiên, cần lưu ý rằng có nhiều ý tưởng xoay quanh cấu trúc lý tưởng của zkEVM và các hoạt động của nó. Phiên bản thuần khiết nhất của zkEVM sẽ hoàn toàn tương đương với Ethereum, không cho phép thay đổi ngay cả khi chúng có thể làm cho việc tạo bằng chứng dễ dàng hơn.
Zero-knowledge rollups lấy và hoàn thành các giao dịch ngoài chuỗi, theo lô và gửi một báo cáo mật mã chứng minh tính chính xác của những tương tác này đến Ethereum. Chứng minh zero-knowledge không tiết lộ chi tiết của tất cả các giao dịch trong lô, nhưng chỉ xác nhận rằng chúng đủ chính xác để kích hoạt một chuyển tiếp đến trạng thái Ethereum.
Sau đó, nó cung cấp các bằng chứng tính hợp lệ cho một hợp đồng thông minh được thiết lập trên chuỗi L1. Sau khi nhận được và xác nhận, nó xác minh các đầu vào.
Phân loại zkEVM theo mức độ tương thích với EVM
Trong bài viết của Vitalik (tại đây) về cách phân loại zkEVM, ông đã đề cập đến 4 loại chính tùy vào khả năng tương thích của zkEVM. Cấp thấp nhất (EVM compatibility), chúng chỉ mang lại phần trăm tương thích nhất định, đối với một số smart contract phức tạp, chúng yêu cầu nhà phát triển phải tùy chỉnh lại source code (copy, paste & re-written some things).
Ở cấp độ cao hơn (EVM equivalence), chúng mang đến khả năng tương thích cao hơn, cho phép các nhà phát triển di chuyển các smart contract trên Ethereum sang rollup protocol của họ một cách dễ dàng, nhanh chóng và ít sửa đổi (copy, paste & edit).
Loại 1: zkEVM hoàn toàn tương thích với Ethereum (Fully Ethereum equilvalent)
zkEVM loại 1 được dự đoán sẽ hoàn toàn tương thích với Ethereum ở cấp độ đồng thuận. Chúng không có sự thay đổi nào về trạng thái hoặc merkel proof, mã băm hoặc bất kỳ logic nào trong sự đồng thuận.
Chúng cũng hoàn toàn tương thích với tất cả các ứng dụng cơ bản của Ethereum nhưng yêu cầu thời gian chứng minh dài hơn, vì không có cải tiến nào được thực hiện để làm cho việc tạo bằng chứng nhanh hơn.
Loại 2: zkEVM hoàn toàn tương thích với EVM (Fully EVM equilvalent)
Các zkEVM loại 2 sẽ hạ thấp tiêu chuẩn xuống một chút, nhằm mục đích tương thích với EVM thay vì tương thích với Ethereum. Chúng trông giống như EVM ở bên ngoài nhưng sẽ có những sửa đổi nhỏ ở bên trong để tạo điều kiện phát triển và tăng tốc độ tạo bằng chứng. Trong loại này, một số ứng dụng có thể không tương thích.
Tuy nhiên, zkEVM loại 2 vẫn sẽ có thời gian chuẩn bị chậm hơn. Do đó, zkEVM loại 2.5 có thể cải thiện thời gian chuẩn bị bằng cách tăng chi phí gas.
Dự án nổi bật: Polygon zkEVM, Scroll.
Loại 3: zkEVM tương thích với EVM
zkEVM loại 3 sẽ không hoàn toàn tương đương với EVM vì loại này ưu tiên việc dễ dàng đặt một hệ thống giống như EVM trong các bản tổng hợp ZK. Điều này liên quan đến những thay đổi cụ thể để giúp việc xây dựng dễ dàng hơn và cải thiện việc tạo bằng chứng. Mặc dù zkEVM loại 3 có thể tương thích với hầu hết các ứng dụng, nhưng một số ứng dụng có thể yêu cầu viết lại để hoạt động.
Dự án nổi bật: Polygon zkEVM.
Loại 4: zkEVM gần tương thích với EVM
zkEVM loại 4 sẽ chỉ tương đương với các ngôn ngữ cấp cao, không phải bản thân EVM. Do đó, bỏ qua quy trình cung cấp bằng chứng không kiến thức cho từng giai đoạn thực thi EVM sẽ giảm chi phí và khuyến khích phân cấp, cũng như cải thiện thời gian tạo bằng chứng.
Tuy nhiên, điều này sẽ làm cho zkEVM Loại 4 kém tương thích hơn với một số ứng dụng. Địa chỉ hợp đồng rất có thể sẽ thay đổi khi chuyển ứng dụng sang EVM và sẽ không thể chuyển qua một số cơ sở hạ tầng gỡ lỗi.
Dự án nổi bật: zkSync 2.0.
Ưu và nhược điểm của zkEVM
Ưu điểm của zkEVM
Khả năng mở rộng
zkEVM có thể cải thiện khả năng mở rộng của các blockchain công khai như Ethereum bằng cách giảm số lượng tài nguyên tính toán cần thiết để thực thi các hợp đồng thông minh. Điều này được thực hiện thông qua việc cho phép tính toán được offload sang các mạng riêng tư, giảm tải trên blockchain công khai.
Đa dạng
zkEVM có thể được áp dụng trong nhiều ngành công nghiệp khác nhau, nơi thực thi các hợp đồng thông minh riêng tư là cần thiết. Ví dụ, nhà cung cấp dịch vụ chăm sóc sức khỏe có thể sử dụng zkEVM để đảm bảo rằng dữ liệu bệnh nhân được giữ riêng tư trong khi vẫn cho phép các nhà nghiên cứu truy cập và phân tích nó.
Khả năng tương thích EVM
Khả năng tương thích với EVM là ưu điểm lớn nhất của zkEVM giúp những developer phát triển trên các EVM blockchain có thể thực thi các DeFi protocol của họ sang nền tảng zk một cách dễ dàng. Ngược lại, điều này cũng giúp các nền tảng zk thu hút được nhiều developer từ đó tạo ra hệ sinh thái đa dạng hơn.
Nhược điểm của zkEVM
Độ phức tạp
Việc triển khai zkEVM có thể là một quá trình phức tạp, đòi hỏi kiến thức chuyên môn và tài nguyên đáng kể. Điều này bởi vì zkEVM bao gồm tích hợp nhiều công nghệ khác nhau.
Giới hạn chức năng
Vì zkEVM tập trung vào tính riêng tư, nó có thể bị hạn chế trong khả năng thực thi các chức năng phức tạp của các hợp đồng thông minh. Ví dụ, zkEVM có thể không thể thực hiện được các tính năng liên quan đến các tài khoản thông thường như bỏ phiếu hoặc gửi tiền, và chỉ tập trung vào việc xác minh tính hợp lệ của một tính toán riêng tư.
Hiệu suất
Việc sử dụng zkEVM có thể ảnh hưởng đến hiệu suất của mạng. Việc tính toán chứng minh không chứng tỏ có thể đòi hỏi nhiều tài nguyên tính toán và băng thông mạng, có thể làm chậm quá trình xử lý các giao dịch. Điều này có thể được cải thiện thông qua việc sử dụng các kỹ thuật tối ưu hóa và phát triển phần mềm hiệu quả hơn, nhưng vẫn có thể là một vấn đề đáng chú ý.
Tiêu tốn năng lượng
Tương tự như hiệu suất, việc sử dụng zkEVM có thể dẫn đến tiêu tốn năng lượng và các chi phí đi kèm khi thực hiện các tính toán. Điều này có thể là một vấn đề đặc biệt đối với các blockchain công khai, nơi các hoạt động tính toán được phải trả phí bằng tiền điện tử.
Lịch sử phát triển và cột mốc đáng chú ý của zkEVM
Dưới đây là các cột mốc và lịch sử phát triển của zkEVM:
- 12/2017: Zcash giới thiệu zk-SNARKs, một dạng Zero-Knowledge Proof cho phép chứng minh một thông tin mà không cần tiết lộ nội dung của nó.
- 2018: zk-STARK được ra đời và phát triển bởi Eli-Ben Sasson, giáo sư tại Viện Công nghệ Technion-Israel. Hiện tại ông là chủ tịch của StarkWare.
- 12/2019: Matter Labs giới thiệu zkSync - Layer 2 cho Ethereum được xây dựng trên zkRollup và zk-SNARKs.
- 9/2020: Matter Labs giới thiệu zkPorter, một giao thức mới sử dụng zk-SNARKs để nâng cao khả năng mở rộng của các ứng dụng blockchain.
- 3/2021: EY (Ernst & Young) - công nghệ kiểm toán hàng đầu thế giới thiệu phiên bản thử nghiệm của Nightfall 3, một công nghệ được tích hợp vào zkEVM và giúp tăng cường bảo mật của các giao dịch trên mạng Ethereum.
- 8/2021: Polygon chi 250 triệu USD mua lại Hermez để phát triển zkEVM, sau này đổi tên thành Polygon zkEVM.
- 5/2022: StarkWare - công ty mẹ của StarkEx, StarkNet, Cairo đã gọi vốn 100 triệu đô với mức định giá 8 tỷ USD.
- 11/2022: Matter Labs - công ty mẹ của zkSync đang phát triển zkEVM đã thành công gọi vốn 200 triệu USD (Series C), nâng tổng số vốn gọi được lên 458 triệu USD.
- 2/2023: CZ thông báo Binance sẽ đổi cơ chế chứng minh của Proof of Reserve thành công nghệ zk-SNARKs.
- 2/2023: Giải pháp zkEVM của Sroll bắt đầu thử nghiệm testnet trên Ethereum.
- 3/2023: Scroll - dự án phát triển zkEVM gọi vốn 50 triệu USD với định giá 1.8 tỷ USD.
- 3/2023: ConsenSys - công ty mẹ của Metamask dự kiến ra mắt public testnet cho zkEVM vào tháng 3 sau khi thông báo ra mắt private testnet vào 12/2022.
Tìm hiểu thêm về Cuộc chiến L2 giữa zkSync và StarkWare.
Các dự án zkEVM nổi bật
Hiện tại trên thị trường đang có 6 dự án zkEVM nổi bật là:
- Polygon zkEVM là một trong những dự án mới nhất của Polygon trong lĩnh vực zkEVM, đây là dự án được đổi tên từ Polygon Hermez sau khi chi ra 250 triệu USD để thâu tóm.
- zkSync Era là một sản phẩm của zkSync (Matter Labs) trong mảng zkEVM. Đây không phải là sản phẩm đầu tiên nhưng là sản phẩm được đẩy mạnh để phát triển sau này.
- StarkWare là công ty mẹ của nhiều sản phẩm liên quan tới zk như StarkEx, SatrkNet… Đây cũng là bên tiên phong trong công nghệ zkSTARK và có ngôn ngữ riêng là Cairo. Tuy nhiên, họ cũng phát triển zkEVM để giúp ngôn ngữ của họ trở nên dễ sử dụng hơn
- Scroll là một dự án phi tập trung về mã nguồn mở được xây dựng trên nền tảng zkEVM, với mục tiêu cung cấp khả năng bảo mật tốt hơn cho các ứng dụng blockchain.
- Taiko là dự án mã nguồn mở, phi tập trung hoàn toàn và hướng đến phát triển thành giải pháp tương thích hoàn toàn với Ethereum (Type 1).
- Linea (tên trước đó là ConsenSys zkEVM) là sản phẩm của ConsenSys (công ty mẹ của Metamask). Họ đang hướng đến trở thành giải pháp tương thích hoàn toàn với EVM (Type 2).
Một số câu hỏi phổ biến về zkEVM
Mối liên hệ giữa zkEVM và zk-SNARKs, zk-STARKs, zk-SHARKs và PLONK là gì?
zkEVM được xây dựng để hỗ trợ việc triển khai các ứng dụng trên nền tảng Ethereum sử dụng các công nghệ chứng minh không cần tiết lộ (zero-knowledge proof) như zk-SNARKs, zk-STARKs, zk-SHARKs và PLONK.
Cụ thể, zkEVM sử dụng các kiến trúc công nghệ này để cung cấp tính năng bảo mật và ẩn danh trong các giao dịch và ứng dụng được xây dựng trên nền tảng Ethereum. Ví dụ, zk-SNARKs được sử dụng để ẩn danh các thông tin nhạy cảm trong một giao dịch Ethereum mà không cần tiết lộ chi tiết về các thông tin đó, giúp tăng tính riêng tư và bảo mật của người dùng.
EVM compatibility vs EVM equivalence: Cái nào tốt hơn?
Xét về khả năng tương thích, EVM equivalence hoàn toàn vượt trội nhưng bù lại độ khó thực hiện của nó cũng rất cao. Trên thị trường hiện tại không có một zkEVM (EVM equivalence) nào hoạt động trên mainnet.
Thứ hai, các zkEVM protocol đều nhắm tới việc triển khai EVM equivalence trong tương lai. Sự khác nhau nằm ở cách tiếp cận:
- Xây dựng zkEVM (EVM equivalence) ngay từ đầu (tốn nhiều thời gian và công sức hơn): Polygon zkEVM, Consensus zkEVM, Scroll...
- Tiếp cận từ EVM compatibility sau đó từ từ xây dựng lên EVM equivalence (tốn ít thời gian hơn): zkSync 2.0.
Tổng kết
zkEVM là một công nghệ mới trong việc tích hợp zero-knowledge proofs vào hệ thống blockchain. Nó có tiềm năng giúp tăng tốc độ và giảm chi phí giao dịch trên Ethereum, đồng thời tăng tính riêng tư và bảo mật cho người dùng. Tuy nhiên, việc triển khai zkEVM vẫn còn đang trong giai đoạn phát triển và đòi hỏi sự tương tác của các nhà phát triển và cộng đồng để đưa nó vào sử dụng rộng rãi hơn.