1. Zk-rollup là gì?
ZK-rollups là các giải pháp mở rộng layer-2 giúp tăng thông lượng trên Ethereum Mainnet bằng cách di chuyển tính toán và lưu trữ trạng thái ngoài chuỗi (off-chain). ZK-rollups có thể xử lý hàng nghìn giao dịch trong một đợt và sau đó chỉ cần chứng minh số dữ liệu bằng bản tóm tắt tối thiểu lên Mainnet. Dữ liệu tóm tắt này xác định những thay đổi cần được thực hiện trên mainet của Ethereum và một số bằng chứng mật mã cho thấy những thay đổi đó là chính xác. Bằng cách này thì trên mainet không cần thực hiện lại các giao dịch đó và trạng thái vẫn có thể được thực thi, từ đó giúp giảm gas fee cho mỗi giao dịch. Sẽ không có sự chậm trễ khi chuyển tiền từ ZK-rollup sang Ethereum vì các giao dịch được thực hiện sau khi hợp đồng ZK-rollup xác minh bằng chứng hợp lệ. Ngược lại, việc rút tiền từ optimistic rollups có thể bị chậm trễ vì cần xác minh các giao dịch với bằng chứng gian lận (fraud proof).
ZK-rollups ghi các giao dịch vào Ethereum dưới dạng calldata. calldata là nơi dữ liệu được bao gồm trong các lệnh gọi bên ngoài đến các chức năng của Smart Contract được lưu trữ. Thông tin trong calldata được xuất bản trên blockchain, cho phép bất kỳ ai cũng có thể xây dựng lại trạng thái Rollup một cách độc lập. ZK-rollups sử dụng các kỹ thuật nén để giảm dữ liệu giao dịch — ví dụ: tài khoản được biểu thị bằng một chỉ số (index) thay vì một địa chỉ, giúp tiết kiệm 28 byte dữ liệu. Việc cập nhật dữ liệu trên chuỗi là một chi phí đáng kể cho việc rollup, nên việc nén dữ liệu sẽ giúp giảm phí cho người dùng.
2. Optimistic rollup là gì?
Tương tự như ZK-rollups Optimistic rollup cũng là giao thức layer 2 (L2) được thiết kế để mở rộng thông lượng của Ethereum blockchain. Giải pháp này giảm bớt tính toán trên mainet của Ethereum bằng cách xử lý các giao dịch ngoài chuỗi từ đó giúp mang lại những cải tiến đáng kể về tốc độ xử lý. Không giống như các giải pháp mở rộng khác thì optimistic rollups có được sự bảo mật từ Mainnet bằng cách public kết quả giao dịch trên chuỗi.
Optimistic rollups được coi là “Optimistic” vì chúng cho rằng các giao dịch off-chain là hợp lệ và không công bố bằng chứng về tính hợp lệ cho các lô giao dịch được đăng trên chuỗi. Thay vào đó, Optimistic rollups dựa vào một kế hoạch chứng minh gian lận để phát hiện các trường hợp giao dịch không được tính toán chính xác. Sau khi rollups được gửi lên Ethereum, có một khoảng thời gian (được gọi là khoảng thời gian thử thách) trong đó bất kỳ ai cũng có thể thách thức kết quả của một giao dịch rollups bằng cách tính toán bằng chứng gian lận.
Nếu kết quả giao dịch này là bằng chứng gian lận (fraud proof) thì giao thức rollups sẽ thực hiện lại các giao dịch và cập nhật lại trạng thái của rollups cho phù hợp. Tác động khác của fraud proof là người sắp xếp chịu trách nhiệm về việc các giao dịch được thực hiện không chính xác trong một khối sẽ bị phạt.
Nếu rollups vẫn không bị thách thức (nghĩa là tất cả các giao dịch được thực hiện chính xác) sau khi giai đoạn thử thách kết thúc, thì rollups đó được coi là hợp lệ và được chấp nhận trên Ethereum. Những người khác có thể tiếp tục xây dựng trên một khối rollups chưa được xác nhận, nhưng kết quả giao dịch sẽ bị đảo ngược nếu dựa trên một giao dịch được thực hiện không chính xác đã được công bố trước đó.
Tính toán là một phần dẫn đến sự chậm chạp và tốn kém của việc sử dụng Ethereum, Optimistic rollups có thể cung cấp các cải tiến lên đến 10-100 lần về khả năng mở rộng. Optimistic rollups cũng ghi các giao dịch vào Ethereum dưới dạng calldata, giảm chi phí gas cho người dùng.
3. Điểm khác biệt của Zk-rollup và Optimistic rollup
Nhìn vào hình ảnh bên dưới thì ta sẽ thấy được cả 2 công nghệ này đều có sự tương đối với nhau về giải pháp mở rộng đối với mạng lưới Ethereum. Tuy nhiên, ta cũng thấy được sự khác biệt lớn nhất của 2 công nghệ này là về mặt bảo mật và thời gian thực thi việc rút tiền từ L2 về lại L1. Để làm rõ hơn điều này thì chúng ta có thể lấy ví dụ như sau:
Bạn đi du lịch và muốn đến thăm quan một casino để chơi trong chuyến đi du lịch của mình đến Mỹ, tuy nhiên casino đó yêu cầu phải đạt đủ độ tuổi là 18 trở lên thì bạn mới có thể vào nơi này. Khi đó:
- Zk-rollup sẽ trả lời là: Tôi có thể chứng minh được mình trên 18 tuổi và tôi không cần đưa chứng minh của mình cho bảo vệ xem.
- Optimistic rollup sẽ trả lời là: Nếu như bảo vệ không chứng minh được bạn dưới 18 tuổi trong vòng 7 ngày thì điều đó có nghĩa là tôi trên 18 tuổi.
Qua ví dụ này ta có thể hiểu được thời gian để giao dịch xác minh thành công sẽ cần đến 1 tuần để người dùng có thể rút tiền từ L2 về lại L1của mình. Để có thể đem lại trải nghiệm cho người dùng tốt hơn thì sẽ cần giảm thời gian chờ xuống nhưng điều này sẽ dẫn đến việc bảo mật sẽ kém hơn vì chi phí tấn công sẽ rẻ hơn.
Trái ngược với Optimistic rollup thì Zk-rollup không gặp phải vấn đề này, mặc dù vậy công nghệ này vẫn có nhiều sự khó khăn đối với dev khi sự yêu cầu về việc am hiểu đối với công nghệ ZKP là khá lớn. Tuy nhiên, theo thời gian khi sự phát triển đầy đủ của công nghệ này cùng với sự thành công của ETH 2.0 và đặc biệt khi sự ra đời của ZkEVM sẽ đem đến sự phát triển của giải pháp công nghệ này trong tương lai trên mạng lưới Ethereum.
Optimistic rollups | ZK rollups | |
Chi phí gas cố định cho mỗi block | ~ 40.000 (một giao dịch nhẹ chủ yếu chỉ thay đổi giá trị của trạng thái gốc) | ~ 500.000 (xác minh ZK-SNARK khá chuyên sâu về mặt tính toán) |
Thời gian rút tiền | ~ 1 tuần (việc rút tiền cần được trì hoãn để có thời gian cho ai đó công bố bằng chứng gian lận và hủy việc rút tiền nếu nó gian lận) | Rất nhanh (chỉ cần đợi đợt sau) |
Sự phức tạp của công nghệ | Thấp | Cao (ZK-SNARK là công nghệ rất mới và phức tạp về mặt toán học) |
Tính tổng quát hóa | Dễ dàng hơn (tổng hợp EVM đã gần với mạng chính) | Khó hơn (ZK-SNARK chứng minh việc thực thi EVM có mục đích chung khó hơn nhiều so với việc chứng minh các phép tính đơn giản, mặc dù có những nỗ lực (ví dụ: Cairo) đang làm việc để cải thiện điều này) |
Chi phí gas trên chuỗi cho mỗi giao dịch | Cao hơn | Thấp hơn (nếu dữ liệu trong một giao dịch chỉ được sử dụng để xác minh và không gây ra thay đổi trạng thái, thì dữ liệu này có thể bị loại bỏ, trong khi Optimistic rollup sẽ cần được public trong trường hợp cần được kiểm tra bằng chứng gian lận ) |
Chi phí tính toán ngoài chuỗi | Thấp hơn (mặc dù cần nhiều node đầy đủ hơn để thực hiện lại tính toán) | Cao hơn (việc chứng minh ZK-SNARK đặc biệt cho tính toán mục đích chung có thể tốn kém, có khả năng đắt hơn gấp nhiều lần so với việc chạy tính toán trực tiếp) |
4. Tổng hợp các dự án Layer 2
zDưới đây là danh sách các dự án Layer 2 nổi bật trên thị trường.
Đọc thêm