Phân tích nghiên cứu ban đầu của Web3.com Ventures
0xNhà nghiên cứu cá

Giới thiệu
“zk-Rollups” có lẽ là từ thông dụng Web 3 hot nhất trong năm. Với việc ra mắt mạng chính v2.0 “baby alpha” của zk-Sync chỉ trong vài ngày qua, sự phấn khích này đã đạt đến đỉnh cao [1]. Nhưng đằng sau tất cả những từ thông dụng này, “zk-Rollups” thực sự đề cập đến điều gì? Và zk-Sync phát huy tác dụng ở đâu? Trong bài viết này, tôi sẽ cố gắng đi sâu vào các nguyên tắc và thực tiễn của zk-Rollups, giải thích các dấu hiệu kỹ thuật chính của zk-Sync v2.0 như một dự án và khám phá những tác động tiềm ẩn trong tương lai đối với công nghệ được chờ đợi từ lâu này.
Nguyên tắc của zk-Rollups
Tại sao chúng ta cần zk-Rollups ngay từ đầu? Chắc chắn, Ethereum rất tuyệt. Nhưng ở trạng thái hiện tại, về cơ bản, mạng lưới này là một nền kinh tế phi quy mô. Khi hoạt động mạng tăng lên, giá gas trở nên đắt đỏ một cách vô lý, đặc biệt là nếu có sự gia tăng đột biến của hoạt động mạng cùng một lúc. Khi Ethereum ngày càng phổ biến về mức sử dụng và sức hút trong vài năm qua, khả năng mở rộng hạn chế hiện tại của nó đã trở thành gót chân Achilles của mạng lưới.
Đây là lúc “rollup” xuất hiện — Ethereum rollup về cơ bản là một “plugin” cung cấp cho Ethereum khả năng mở rộng quy mô lớn hơn và do đó khắc phục được tình trạng bất kinh tế vốn có của quy mô. Trực giác đằng sau ý tưởng này rất đơn giản. Hãy tưởng tượng bạn có 5 vật phẩm cần mang từ điểm A đến điểm B. Cách “thông thường” để thực hiện là mang Vật phẩm 1, mang Vật phẩm 2, v.v. lần lượt. Nhưng rõ ràng là cách này chậm và cồng kềnh. “rollup” về cơ bản là “lăn” cả 5 vật phẩm vào một túi duy nhất, do đó cho phép bạn thực hiện một chuyến đi duy nhất thay vì 5 chuyến.
Nhưng có hai điều cần lưu ý:
Làm sao để đảm bảo cuộn phim có thể “phù hợp” với mọi thứ?
Làm sao để đảm bảo thông tin cuộn lên không bị giả mạo?
zk-Rollup là một trong những loại công nghệ rollup hàng đầu (loại còn lại là Optimistic Rollup) tận dụng “bằng chứng không kiến thức” để giải quyết hai vấn đề này. Để giải quyết những vấn đề này, zk-Rollup sẽ gom một số lượng giao dịch nhất định lại với nhau, thực hiện tính toán trên L2 và gửi cả thay đổi trạng thái và “bằng chứng hợp lệ” cho người xác minh trên L1 để chứng minh rằng các tính toán đã được thực hiện với tính toàn vẹn. “Bằng chứng hợp lệ” này diễn ra dưới dạng “Bằng chứng không kiến thức”, một cách toán học để nói với ai đó rằng bạn biết điều gì đó mà không nói cho họ biết bạn biết điều gì.

Một ví dụ đơn giản về Bằng chứng không kiến thức là một trình chấm điểm tự động mã (cho bài tập về nhà CS). Trình chấm điểm tự động là một "trình xác minh" cung cấp cho bạn một loạt các trường hợp thử nghiệm được tạo ngẫu nhiên và bạn là một "người chứng minh" phải có khả năng vượt qua tất cả các trường hợp thử nghiệm để chứng minh rằng bạn có mã đúng. Trong khi đó, bạn không chia sẻ mã của mình trực tiếp với trình chấm điểm tự động. Và voila, bạn vừa thực hiện một "Bằng chứng không kiến thức", chứng minh rằng bạn biết điều gì đó mà không cần nói ra điều bạn biết. [2]

Trình tự chấm điểm mã ở trên sử dụng “Bằng chứng không có kiến thức tương tác”, trong đó trình tự chấm điểm và nhà cung cấp mã “tương tác” trực tiếp với nhau. Ngược lại, hầu hết các zk-Rollup sử dụng bằng chứng không tương tác phức tạp hơn về mặt toán học (chẳng hạn như zk-SNARK hoặc Zero Knowledge Succinct Noninteractive ARgument of Knowledge), giúp tiết kiệm cả thời gian và không gian so với bằng chứng tương tác. Mặc dù các chi tiết kỹ thuật của zk-SNARK nằm ngoài phạm vi của bài viết này, nhưng nguyên tắc cơ bản của việc vượt qua trường hợp thử nghiệm là như nhau.
Chén thánh của zk-Rollups là Zero-Knowledge Ethereum Virtual Machine (zk-EVM) cho phép các nhà phát triển chuyển bất kỳ hợp đồng thông minh Ethereum nào mà không cần sửa đổi sang chuỗi zk-Rollup. Nhưng điều này rất khó. Bởi vì mọi "vấn đề" đều yêu cầu các bộ "trường hợp thử nghiệm" khác nhau, nên việc phát triển một "thuật toán chứng minh" có thể giải quyết mọi trường hợp thử nghiệm có thể tưởng tượng được là một nút thắt kỹ thuật của Zero-Knowledge Proofs và zk-Rollups.
Như chính Vitalik Buterin đã nói:
Nhìn chung, quan điểm của riêng tôi là trong ngắn hạn, các bản tổng hợp lạc quan có khả năng chiến thắng đối với tính toán EVM mục đích chung và các bản tổng hợp ZK có khả năng chiến thắng đối với các khoản thanh toán đơn giản, trao đổi và các trường hợp sử dụng cụ thể cho ứng dụng khác, nhưng trong trung hạn đến dài hạn, các bản tổng hợp ZK sẽ chiến thắng trong mọi trường hợp sử dụng khi công nghệ ZK-SNARK được cải thiện. [3]
Do đó, về mặt lịch sử, zk-Rollup chỉ là công nghệ được thiết lập cho các trường hợp sử dụng cụ thể của ứng dụng, trong đó "các trường hợp thử nghiệm" được xác định rõ ràng và có phạm vi hạn chế. Tuy nhiên, một số dự án đang nhanh chóng tiến tới "lâu đài trên đồi" — một thuật toán zk-Rollup tương thích với EVM chung. [4]
zk-Đồng bộ v2.0
zk-Sync v2.0 chỉ là một trong nhiều dự án hiện đang được triển khai để phát triển zk-EVM (các dự án khác bao gồm StarkNet, Polygon Hermez và Scroll). Không giống như zk-Sync v1.0, yêu cầu người dùng phải xây dựng lại các phần lớn trong cơ sở dữ liệu mã của họ để chuyển từ EVM sang zk-Sync, trong zk-Sync v2.0, các lập trình viên có thể triển khai các ứng dụng của họ với ít hoặc không có thay đổi — hoặc như zk-Sync có thể muốn tuyên bố.
Trên thực tế, không phải tất cả zk-EVM đều được tạo ra như nhau. Có một sự đánh đổi rõ ràng giữa khả năng kết hợp (mức độ gần với hợp đồng EVM gốc) và hiệu suất (zk-Rollup sẽ chạy nhanh như thế nào) [6]. Trong sự đánh đổi này, zk-Sync đã chọn tối ưu hóa hoàn toàn cho hiệu suất, do đó hy sinh khả năng kết hợp.
Theo quan điểm của Vitalik Buterin, có bốn loại zk-EVM riêng biệt, được tóm tắt trong biểu đồ sau:

Như Vitalik đã nêu, ở trạng thái hiện tại, zk-Sync v2.0 là zk-EVM Type 4, có khả năng biên dịch các hợp đồng được viết bằng Solidity và các ngôn ngữ cấp cao bằng trình biên dịch riêng, khác biệt với EVM. Vì zk-Sync có toàn quyền kiểm soát thiết kế trình biên dịch của mình nên họ có thể tối ưu hóa mạnh mẽ về tốc độ và thông lượng. Cái giá phải trả là một số DApp và chuỗi công cụ gỡ lỗi EVM có thể không tương thích với zk-Sync v2.0. Về cơ bản, zk-Sync là cùng một vỏ xe như Ethereum nhưng có động cơ được hoán đổi [5].
Thật vậy, trong tài liệu dành cho nhà phát triển, Matter Labs tuyên bố rằng trong khi các hoạt động "đọc" hợp đồng thông minh có thể được tích hợp mà không cần bất kỳ thay đổi nào trong mã, thì các hoạt động "ghi" hợp đồng thông minh cần "mã bổ sung" vì "những khác biệt cơ bản giữa L1 và L2" [6]. Trên thực tế, điều này hơi gây hiểu lầm. Không hẳn là do "sự khác biệt cơ bản" giữa L1 và L2 mà chủ yếu là do loại zk-Rollup mà Matter Labs quyết định theo đuổi — Type 4 rollup. Vì zk-Sync về cơ bản là Type 4 rollup sử dụng trình biên dịch và mã byte khác, điều này có nghĩa là các hợp đồng thông minh có các địa chỉ khác nhau và cơ sở hạ tầng trình gỡ lỗi dựa trên phân tích mã byte có thể không hoạt động được trên zk-Sync v2.0 [7].
Trong tương lai, zk-Sync có thể bổ sung thêm hỗ trợ gốc cho mã byte EVM, cho phép hệ thống chuyển đổi chậm sang bản tổng hợp Loại 3 hỗ trợ nhiều "trường hợp ngoại lệ" hơn. Nhưng để zk-Sync Type 4 hoặc Type 3 zk-Rollup thành công khi so sánh với Polygon Hermez và bản tổng hợp Loại 2 của Scroll Labs, về cơ bản là đánh đổi tốc độ để có khả năng tương thích rộng hơn, thì phải có hai điều kiện tiên quyết quan trọng. Đầu tiên, chỉ có một phần nhỏ các dự án không quan trọng không tương thích với trình biên dịch tùy chỉnh của zk-Sync. Thứ hai, có sự khác biệt về mặt định tính trong tốc độ thực thi của zk-Sync so với zk-EVM Loại 2.
Thật không may, cá nhân tôi tin rằng điều này không có khả năng xảy ra. Bất kỳ hệ sinh thái phát triển tiên tiến nào cũng dựa trên cơ sở hạ tầng "giàn giáo" trưởng thành, bao gồm các công cụ gỡ lỗi và thử nghiệm tiện lợi, được mô-đun hóa. Nếu, như Vitalik đưa ra giả thuyết, một phần lớn các công cụ gỡ lỗi gốc EVM sẽ không thể chuyển sang zk-Sync do sự khác biệt về mã byte, thì zk-Sync sẽ phải phát triển bộ công cụ thử nghiệm và gỡ lỗi riêng. Đây là chi phí bổ sung cuối cùng có thể cản trở tốc độ áp dụng zk-Sync như một giải pháp L2, so với các đối thủ zk-EVM Type 2 có thể cấu hình hơn như Polygon Hermez và Scroll.
Tương lai của zk-Rollups
Với nhiều đối thủ cạnh tranh trong cuộc chiến giành zk-EVM, có thể nói chỉ là vấn đề thời gian trước khi chúng ta thấy một zk-EVM có đầy đủ chức năng. Nhưng tiếp theo là gì? Một con đường chỉ hữu ích khi có các tòa nhà trên đường; sức mạnh lâu dài của zk-Rollup đến từ các dự án sử dụng giải pháp đó.
Hiện tại, DeFi, GameFi và các ứng dụng di động là những bên hưởng lợi chính từ cơ sở hạ tầng zk-Rollup. Cả DeFi và GameFi về cơ bản đều là nền kinh tế có quy mô lớn, vì chúng phát triển mạnh trong môi trường có rất nhiều người sử dụng chúng. Các ứng dụng di động như ví di động cũng mở ra cánh cổng cho người tiêu dùng đại chúng quá lười biếng (hoặc không đủ khả năng mua) một máy tính để bàn. Do đó, việc sử dụng zk-Rollup cho những tình huống này rất có ý nghĩa.
Nhưng đây không phải là giới hạn của tính hữu ích của zk-Rollups. Nếu có, đây chỉ là sự khởi đầu. zk-Rollups đối với Ethereum cũng giống như 5G đối với Internet. Cũng giống như 5G có thể tạo ra một thế giới mới của các ứng dụng và hệ thống IoT, zk-Rollups cũng có thể mở ra cánh cổng cho một "Blockchain of Things", cho phép các thiết bị kỹ thuật số của thế giới vật lý của chúng ta — tủ lạnh, đồng hồ, đèn giao thông và tất cả — được tích hợp với các hợp đồng thông minh được bảo mật trên Ethereum.
Một trong những lập luận lớn nhất chống lại IoT là nó sẽ cho phép Big Tech xâm phạm vào cuộc sống hàng ngày của chúng ta. Nhưng với "Blockchain of Things", chúng ta có thể tận hưởng sự tiện lợi của IoT mà không phải lo lắng về việc các thiết bị thông minh của mình bị xâm phạm trên cơ sở dữ liệu tập trung. Thay vì sự tiện lợi HOẶC quyền riêng tư, chúng ta có thể có sự tiện lợi VÀ quyền riêng tư. Đó là thế giới mà zk-Rollups có thể hứa hẹn với chúng ta.
🐦 @0xfishylosopher
📅 Ngày 31 tháng 10 năm 2022
Thông tin này hoàn toàn mang tính giáo dục và không nên được coi là lời khuyên tài chính. Mọi quan điểm được nêu đều là của tác giả và không nhất thiết được Web3.com Ventures xác nhận.
Tài liệu tham khảo
[1] https://blog.matter-labs.io/baby-alpha-has-arrived-5b10798bc623
[2] Chuyển thể từ https://pages.cs.wisc.edu/~mkowalcz/628.pdf
[3] https://vitalik.ca/general/2021/01/05/rollup.html
[4] https://www.coindesk.com/tech/2022/07/20/the-sudden-rise-of-evm-tương thích-zk-rollups/
[5] https://cryptobriefing.com/the-race-scale-ethereum-zkevm-rollups/
[6] https://docs.zksync.io/dev/contracts/#porting-smart-contracts
[7] https://vitalik.ca/general/2022/08/04/zkevm.html