ZkEVM là gì? Các dự án ZkEVM nổi bật
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 blockchain công cộng như Ethereum.
Đã từ lâu, trước khi Ethereum nâng cấp lên cơ chế đồng thuận proof-of-stake để mở rộng thông lượng và tăng tốc độ giao dịch. Thì các giải pháp Layer 2 hỗ trợ Ethereum đã phát triển mạnh mẽ.
Các giải pháp Layer 2 nổi bật đó có thể kể đến như: Sidechain, Plasma, Rollup và State channel.
Trong bài viết hôm nay chúng ta sẽ tập trung vào công nghệ Rollups.
Khi blockchain Ethereum bắt đầu quá tải và kẹt cứng từ nhiều năm về trước. Thì có vô vàn giải pháp hỗ trợ Ethereum ra đời. Trong đó có các giải pháp Layer 2. Gọi là Layer 2 vì nó như là một cây cầu, một con đường được xây chồng lên Ethereum (Layer 1). Từ đó giúp giải quyết vấn đề về giảm phí gas và tăng tốc độ giao dịch lên cao hơn.
Giải pháp mở rộng mà chúng ta cùng tìm hiểu là rollups. Dịch ra tiếng Việt là “cuộn lên”, có nghĩa là cuộn nhiều giao dịch riêng lẻ lại thành một bó lớn. Từ đó gửi xuống blockchain Ethereum để xử lý một lần. Từ đó tiết kiệm được thời gian và chi phí vì Ethereum không cần xử lý từng giao dịch riêng lẻ nữa.
Giống như có 50 người chạy 50 chiếc xe máy. Thì sẽ tăng tình trạng kẹt xe. Nhưng 50 người đó cùng đi trên một chiếc xe bus thì đường sẽ thông thoáng hơn.
Có 2 loại rollups chính là “optimistic rollups” và “zero-knowledge rollups”.
Đây là hai công nghệ cuộn khác nhau và có độ phức tạp khác nhau trong cách triển khai. Có một số dự án chọn giải pháp Optimistic rollups để phát triển như Arbitrum, Optimism, và mới nhất là Base layer 2 đến từ sàn Coinbase. Nhưng một số dự án khác lại chọn giải pháp thứ hai để pháp triển.
Trong bài viết hôm nay đề cập đến zkEVM. Đây là một nhánh trong zero-knowledge rollups. Vậy trước tiên chúng ta cần tìm hiểu qua Zk rollups là gì?
Zero Knowledge Proof (Zk rollups)
Zero-knowledge proof (bằng chứng không kiến thức) là một phương pháp được sử dụng trong mật mã. Để chứng minh rằng một cái gì đó đã được biết. Mà không trực tiếp tiết lộ thông tin đã biết. Như việc bạn chứng minh với ai đó bạn đã có vợ rồi nhưng không cần tiết lộ thông tin qua giấy đăng ký kết hôn. Bạn có thể chứng minh qua hình cưới, nhẫn cưới. Và hỏi những người họ hàng xung quanh.
Với blockchain thì mọi thông tin đều được công khai minh bạch. Đây là điểm mạnh của blockchain nhưng là rào cản đối với các doanh nghiệp muốn ứng dụng công nghệ này vào quá trình kinh doanh của họ. Với yêu cầu là độ bảo mật thông tin cao.
Zero-knowledge proof là một loại mật mã giúp ẩn các chi tiết của giao dịch. Phương pháp này đã được phát triển từ những năm 1980 bởi một nhóm các nhà khoa học.
Bạn có biết rằng Zcash là dự án đầu tiên triển khai công nghệ này. Nên Zcash còn được biết đến là một blockchain riêng tư.
Trong Zero-knowledge proof có 2 khái niệm: prover (người chứng minh) và verifier (người xác minh)
Prover phải chứng minh rằng họ biết được bí mật. Verifier phải có khả năng xác minh prover đang nói sự thật.
Thay vì chia sẻ thông tin một cách hoàn chỉnh. Công nghệ Zk rollups sẽ cho phép các bên trao đổi thông tin mà không cần tiết lộ toàn bộ thông tin chi tiết của nhau.
Khác với công nghệ Optimism rollups tổng hợp giao dịch một cách lạc quan. Có nghĩa là tổng hợp mà không cần xác nhận trước là các giao dịch trong đó đúng hay sai. Từ đó gửi xuống Ethereum và phải cần mất rất nhiều thời gian để có thể xử lý (ít nhất là 7 ngày).
Zero-knowledge proof làm cho các bản tổng hợp hiệu quả hơn. Zk Rollup đưa ra bằng chứng về tính hợp lệ của mọi giao dịch trong “bó giao dịch” đó khi gửi xuống Ethereum. Nên Ethereum không cần phải tốn công sức để kiểm tra lại và chúng cũng chiếm ít dữ liệu hơn. Do đó được xử lý nhanh hơn.
Nhưng nó cũng có điểm yếu là rất khó để lập trình và sử dụng.
Nhược điểm tiếp theo là Zk Rollup thiếu khả năng tương thích và thực hiện các hợp đồng thông minh với Ethereum. Dó đó hạn chế nguồn thanh khoản chảy qua cũng như là các dApps nổi tiếng trên Ethereum khó có thể mở rộng qua các dự án Zk Rollup để tận dụng sự vượt trội của công nghệ này.
Từ đây, zkEVM ra đời để giải quyết vấn đề trên. ZkEVM vừa tận dụng được công nghệ của Zk Rollup vừa có thể tương tác một cách dễ dàng với các blockchain EVM khác mà đặc biệt là Ethereum.
Giống như nhiều quốc gia khác nhau bị rào cản là sử dụng ngôn ngữ khác nhau. Nhưng khi sử dụng chung một ngôn ngữ thì họ có thể dễ dàng tương tác và làm việc cùng nhau.
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 blockchain công cộng như Ethereum, BNB Chain, Polygon, Avalanche C Chain… Những blockchain nào có tương thích với EVM.
Khi sử dụng công nghệ ZkEVM, cho phép các nhà lập trình có thể đưa các smart contract từ Ethereum lên trực tiếp một dự án hỗ trợ ZkEVM mà gần như không tạo ra bất kỳ sự thay đổi nào.
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.
Cách hoạt động của zkEVM
ZkEVM thừa hưởng cách hoạt động từ Zero-knowledge rollups. Zk rollup tổng hợp các giao dịch ngoài chuỗi, tổng hợp lại thành bó và gửi xuống blockchain Ethereum để xác nhận.
Khác với Optimistic Rollup, các lô giao dịch đó được tổng hợp một cách lạc quan, có nghĩa là chưa được xác minh trước khi gửi xuống Ethereum. Còn Zk rollup gửi một báo cáo mật mã chứng minh tính chính xác của những lô giao dịch này đến Ethereum.
Zk Rollup không tiết lộ chi tiết về thông tin của các giao dịch trong lô đó. Chỉ xác nhận rằng chúng đủ chính xác để được kích hoạt và gửi đến Ethereum.
Giống như một chiếc xe chở 16 người. Đi tham quan một khu du lịch nọ. Nhưng trước khi vào cổng khu du lịch. Thì người gác cổng muốn kiểm tra tất cả 16 người trên xe phải trên 18 tuổi mới được vào trong. Những người bên trong xe muốn được vào khu du lịch nhưng không muốn khai tuổi thật của họ mặc dù họ đã trên 18 tuổi. Vậy Zk Rollup sẽ giúp họ chứng minh 16 người này đã trên 18 tuổi bằng nhiều cách khác nhau mà không để lộ số tuổi thật của họ.
Chứng minh bằng cách những người này đang là sinh viên của trường đại học. Vì khi là sinh viên thì bạn đã mặc định trên 18 tuổi.
Thế là người gác cổng đồng ý và cho 16 người này vào trong. Nhưng do 16 người này được cùng ngồi trên một chiếc xe. Điều này cũng giống như việc từng người riêng lẻ là 1 giao dịch. Cùng lên 1 chiếc xe là giống như các giao dịch được bó lại thành một cụm.
Đi tham quan khu du lịch có nghĩa là các giao dịch này từ Layer 2 được gửi xuống Layer 1 là Ethereum thông qua công nghệ ZkEVM.
Nhưng trong ZkEVM cũng còn rất nhiều loại tuỳ theo mức độ tương thích với Ethereum. Nhà sáng lập của Ethereum là Vitalik Buterin đã chia ra 4 loại Zk EVM khác nhau dựa trên mức độ tương thích với Ethereum. Bài viết của Vitalik tại đây.
4 loại ZkEVM theo mức độ tương thích với Ethereum
4 loại sẽ được Vitalik vẽ ra như thế này. Trong đó có loại 2 và 2.5 được tính chung vào một loại. Càng tương thích với Ethereum thì hiệu năng lại kém, và ngược lại. Hiệu năng càng cao thì độ tương thích với Ethereum càng thấp và đòi hỏi phải chỉnh sửa nhiều hơn.
Loại 1
Đây là loại tương thích với Ethereum một cách hoàn toàn. Họ không thay đổi thứ gì từ hệ thống của Ethereum để giúp tạo ra bằng chứng dễ dàng hơn. Không thay đổi hàm băm, cây trạng thái, hay bất kì logic đồng thuận nào.
Ưu điểm là cực kỳ tương thích nhưng nhược điểm là thời gian chứng minh lâu.
Loại 2
ZkEVM loại 2 cố gắng tương thích với EVM nhưng không hoàn toàn tương thích với Ethereum. Chúng giống hệt Ethereum từ bên trong như có một số khác biệt từ bên ngoài. Đặc biệt là cấu trúc dữ liệu và cấu trúc khối và cây trạng thái. Và sẽ thực hiện một số sửa đổi nhỏ đối với Ethereum để giúp việc tạo bằng chứng nhanh hơn.
Ưu điểm là tương thích hoàn hảo ở cấp độ VM. Nhược điểm là có cải thiện về tốc độ nhưng vẫn còn chậm.
Loại 3
Loại 3 gần như tương thích với EVM. Nhưng phải hy sinh một chút để đạt tăng thời gian chứng minh và khiến EVM dễ dàng phát triển hơn.
Ưu điểm là dễ xây dựng hơn, thời gian chứng minh nhanh hơn. Nhược điểm là không có nhiều sự tương thích như loại 2.
Loại 4
Loại 4 hoạt động bằng cách lấy mã nguồn hợp đồng thông minh được viết bằng ngôn ngữ cấp cao (Solidity, Vyper) và biên dịch mã đó sang một số ngôn ngữ được thiết kế rõ ràng để thân thiện với ZK-SNARK.
Ưu điểm là thời gian chứng minh cực kỳ nhanh. Nhược điểm là không có sự tương thích nhiều bằng những loại ở trên.
Tiếp theo chúng ta sẽ tìm hiểu những dự án nào sử dụng công nghệ này và họ lựa chọn loại nào để áp dụng vào dự án của mình.
Những dự án sử dụng công nghệ ZkEVM
Trên thị trường hiện tại đang có 3 dự án nổi bật. Polygon, zkSync, và Scroll.
Polygon zkEVM
Vào năm 2021. Polygon đã chi ra tới 250 triệu USD để mua Hermez Network. Một mạng lưới sử dụng Zk rollup. Và đổi tên thành Polygon Hermez. Nhưng vào tháng 07/2022. Polygon đã thông báo đổi tên Polygon Hermez thành Polygon zkEVM. Áp dụng ZkEVM loại 2 để tương thích tốt hơn với EVM.
Polygon đặt mục tiêu đạt được 2000 giao dịch trên một giây và cắt giảm 90% phí giao dịch. Họ đã ra mắt mạng thử nghiệm công cộng ZkEVM vào ngày 10/10/2022. Và sẽ được mainnet beta vào ngày 27/03/2023.
Polygon ZkEVM sẽ tương thích với EVM ở cấp độ bytecode. Trong tương lai sẽ cho phép sao chép trực tiếp công cụ và hợp đồng thông minh từ Ethereum qua. Tất cả EVM opcodes sẽ tiếp tục được hỗ trợ.
ZkSync 2.0
zkSync 2.0 là một phiên bản nâng cấp của zkSync. Phiên bản 2.0 được tạo ra để tương thích với Ethereum qua việc các hợp đồng thông minh được viết bằng ngôn ngữ Solidity và Vyper. Nhưng với chi phí thấp hơn.
Giống như Polygon. ZkEVM của dự án zkSync có mã nguồn mở. Nhưng nó chỉ tương thích EVM mở mức độ ngôn ngữ lập trình.
zkSync 2.0 dễ dàng di chuyển tài sản giữa Layer 1 và Layer 2 một cách nhanh chóng qua cầu nói (cross-chain). Phí giao dịch sẽ thấp hơn 100 lần so với Ethereum và tốc độ khoản 2.000 giao dịch mỗi giây.
Scroll
Đây là một dự án hỗ trợ mở rộng Ethereum và sử dụng công nghệ ZkEVM. Là một Layer 2 đáng chú ý khi vừa thành công gọi được 50 triệu USD với mức định giá 1.8 tỷ USD.
ZkEVM trên Scroll là loại 2 giống với Polygon nên hoàn toàn tương thích với máy ảo Ethereum (EVM - Ethereum Virtual Machine). Giúp các lập trình viên có thể di chuyển dApp giữa Layer 1 qua Layer 2 mà không cần phải sửa đổi quá nhiều. Rút ngắn thời gian lập trình lại những tính năng cũ.
Dự án đang ở giai đoạn pre-Alpha testnet. Nhưng đã có 387.000 địa chỉ ví tham gia. 6.300 hợp đồng thông minh được thực thi. Và volume khoảng 32.000 giao dịch một ngày.
Hiện tại công nghệ ZkEVM được hâm nóng bởi 3 dự án kể trên. Cả 3 tuy đều sử dụng công nghệ ZkEVM nhưng mỗi dự án đều có tùy chỉnh và xây dựng theo cách riêng của mình. Và ở thời điểm hiện tại cả 3 đều đang ở giai đoạn testnet.
Tổng kết
ZkEVM giúp cải thiện khả năng mở rộng đáng kể của Ethereum. Mặc dù Ethereum đã nâng cấp lên proof-of-stake với tốc độ nhanh hơn xưa nhiều. Nhưng thị phần Layer 2 vẫn còn rất sôi động và phát triển mạnh mẽ. Chúng như những blockchain vệ tinh xung quanh Blockchain trung tâm là Ethereum để tạo nên một hệ sinh thái khổng lồ.
ZkEVM có thể được áp dụng trong nhiều ngành công nghiệp khác nhau. Nơi mà sự riêng tư của thông tin được đề cao.
Những lĩnh vực như 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ó. Đây là một điểm cộng rất lớn để các công tư nhân có thể tích hợp blockchain vào doanh nghiệp của họ. Vì tính riêng tư là một điều quan trọng đối với mọi công ty.
Tương thích với EVM là ưu điểm lớn nhất của ZkEVM. Giúp rất nhiều cho những nhà lập trình có thể thực thi các giao thức DeFi của họ lên trên Layer 2 một cách dễ dàng. Nhưng qua đó cũng đòi hỏi kiến thức chuyên môn và tài nguyên đáng kể.
► Tham gia các Sàn giao dịch với ưu đãi độc quyền cùng ThuanCapital