Mphuong_luu28
🐋Cá Voi Phake🐋
Trong các giải pháp L2 mở rộng 1 blockchain L1, bao gồm: side-chain, state channel, rollups… thì các giải pháp Rollups được đánh giá cao hơn cả vì vẫn kế thừa được tính security của chain chính và tăng tốc độ giao dịch một cách hiệu quả có lẽ vì vậy mà các giải pháp Rollup được khá nhiều các dự án sử dụng để phát triển sản phẩm. Với giải pháp mở rộng sử dụng Rollup thì có 2 hình thức là ZK Rollup và Optimistic Rollup. Vậy chúng ta cùng tìm hiểu sâu hơn về 2 giải pháp này và so sánh các ưu nhược điểm của mỗi giải pháp nhé.
1. Rollups là gì?
Rollups là các giải pháp chuyển phần tính toán giao dịch ra ngoài chuỗi – nhằm giảm tải tính toán cho chuỗi chính. Tuy nhiên các dữ liệu giao dịch vẫn được lưu trên chuỗi chính, qua đó rollups vẫn được đảm bảo an ninh bởi chuỗi chính.
Các smart contract sẽ thực hiện công việc “đóng gói” các dữ liệu giao dịch và chuyển nó ra ngoài chuỗi để xử lý tính toán. Các dữ liệu này sẽ được xử lý bởi các validators ngoài chuỗi, sau đó “đóng gói” các “dữ liệu giao dịch tính toán“ và gửi lại chuỗi chính. Các “dữ liệu giao dịch tính toán” này sẽ chỉ chứa các thông tin tối thiểu cần thiết cho việc xác minh lại việc tính toán là đúng hay sai nếu muốn.
Chính bởi vì các giải pháp rollups vẫn gửi các “dữ liệu giao dịch tính toán” lên chuỗi chính, do đó tất cả dữ liệu giao dịch vẫn được lưu trên chuỗi chính. Vì vậy giải quyết được bài toán data availability mà các giải pháp khác như state channel gặp phải.
Tuy nhiên như đề cập ở trên, các dữ liệu giao dịch này cần được xác minh lại nếu muốn. Và phương pháp xác minh các giao dịch này như thế nào chính là điểm khác nhau mấu chốt giữa ZK (zero knowledge) Rollups và Optimistic Rollups.
Các smart contract sẽ thực hiện công việc “đóng gói” các dữ liệu giao dịch và chuyển nó ra ngoài chuỗi để xử lý tính toán. Các dữ liệu này sẽ được xử lý bởi các validators ngoài chuỗi, sau đó “đóng gói” các “dữ liệu giao dịch tính toán“ và gửi lại chuỗi chính. Các “dữ liệu giao dịch tính toán” này sẽ chỉ chứa các thông tin tối thiểu cần thiết cho việc xác minh lại việc tính toán là đúng hay sai nếu muốn.
Chính bởi vì các giải pháp rollups vẫn gửi các “dữ liệu giao dịch tính toán” lên chuỗi chính, do đó tất cả dữ liệu giao dịch vẫn được lưu trên chuỗi chính. Vì vậy giải quyết được bài toán data availability mà các giải pháp khác như state channel gặp phải.
Tuy nhiên như đề cập ở trên, các dữ liệu giao dịch này cần được xác minh lại nếu muốn. Và phương pháp xác minh các giao dịch này như thế nào chính là điểm khác nhau mấu chốt giữa ZK (zero knowledge) Rollups và Optimistic Rollups.
ZK rollups
Tạo ra các bằng chứng mã hóa mà được sử dụng để chứng minh sự hợp lệ của các giao dịch đã được tính toán ngoài chuỗi. Các bằng chứng mã hóa này sẽ được kiểm chứng bằng các hợp đồng thông minh trên chuỗi chính. Các bằng chứng mã hóa cần chứng minh rằng: Có 1 nhóm các giao dịch đã được tính toán và ký bởi các chủ tài khoản, số dư tài khoản cũng được cập nhật đúng và dẫn đến cập nhật Merkel Root tương ứng. Qua đó, không ai có thể thao túng hay làm giả các bằng chứng nhằm trục lợi được.
Do việc phải mã hóa và chứng thực bằng chứng bới ZK rollups, nên khi muốn áp dụng với các smart contract sẽ gặp khó khăn. Ngoài ra quá trình tạo bằng chứng ZK proof là khá phức tạp và cần 1 khoảng thời gian xử lý, tuy nhiên khi đã tạo xong bằng chứng thì việc xác thực gần như được thực hiện ngay mà không cần quãng thời gian chờ đợi dài.
Việc sử dụng ZK Rollups có thể giúp tăng giao dịch lên tầm 2000 TPS.
Do việc phải mã hóa và chứng thực bằng chứng bới ZK rollups, nên khi muốn áp dụng với các smart contract sẽ gặp khó khăn. Ngoài ra quá trình tạo bằng chứng ZK proof là khá phức tạp và cần 1 khoảng thời gian xử lý, tuy nhiên khi đã tạo xong bằng chứng thì việc xác thực gần như được thực hiện ngay mà không cần quãng thời gian chờ đợi dài.
Việc sử dụng ZK Rollups có thể giúp tăng giao dịch lên tầm 2000 TPS.
Optimistic Rollups
Các dữ liệu giao dịch sẽ thay đổi trạng thái của mạng lưới (bao gồm số tiền giao dịch, cập nhật số dư…) sẽ liên tục được cập nhật lên chuỗi chính mà không cần tính toán lại – việc này làm tăng đáng kể tốc độ. Tuy nhiên, Optimistic rollups cần có 1 khoảng thời gian để challenge các giao dịch lỗi. Sẽ có 1 bộ phận các validators hoặc bất kỳ users nào luôn theo dõi và tính toán lại tất cả các giao dịch trên chuỗi chính. Nếu phát hiện ra 1 giao dịch gian lận, và có 1 challenge được submit thì khi đó optimistic rollups sẽ chạy 1 quy trình xác minh lại (sử dụng các dữ liệu giao dịch trên chuỗi chính) để xác minh tính đúng sai của dữ liệu. Các nodes thực hiện việc cập nhật, tính toán dữ liệu sẽ phải stake 1 lượng tài sản bảo đảm – để nhận thưởng hoặc bị phạt khi cập nhật các dữ liệu giao dịch gian lận. Chính vì cần 1 khoảng thời gian cho việc challenge các giao dịch gian lận, nên việc rút tài sản sẽ phải cần 1 khoảng thời gian đủ dài để bảo đảm an toàn mạng lưới (thường là 1 tuần).
Việc các giao dịch được thực hiện gần như ngay lập tức (giúp tăng tốc độ lên 500 TPS) và không phải qua các bước mã hóa phức tạp, dẫn đến giải pháp optimistic rollups dễ dàng thực hiện với các smart contract.
Việc các giao dịch được thực hiện gần như ngay lập tức (giúp tăng tốc độ lên 500 TPS) và không phải qua các bước mã hóa phức tạp, dẫn đến giải pháp optimistic rollups dễ dàng thực hiện với các smart contract.
2. Security
Optimistic Rollups
Do đặc thù của mô hình, nên các dữ liệu giao dịch sẽ không được tính toán lại trên L1 (nếu không có challenge). Nên mọi người mặc định là các validators ở L2 là trung thực. Điều này cần điều kiện: Ít nhất 1 validators trung thực phải giám sát và tính toán tất cả mọi giao dịch và raise các challenge khi phát hiện gian lận. Điều này sẽ có ý nghĩa an ninh nếu số lượng validator đủ lớn. Nếu số lượng validators nhỏ thì thực sự rất nguy hiểm.
ZK rollups
Mọi sự thay đổi trạng thái sẽ được kiểm tra bởi Rollup smart contract. Do đó loại bỏ hoàn toàn các yếu tố con người tác động và gian lận. Chỉ có việc setup các thuật toán ZK SNARKs lúc khởi đầu cần phải trusted setup giữa các bên.
3. Các dự án sử dụng rollups trên ETH
ZK Rollups
- Polygon (tích hợp với Hermez) – Cung cấp các giải pháp mở rộng dựa vào ZK snark và tích hợp smart contract tương thích Ethereum Vertual Machine (ZKEVM).
- ZKsync – Cung cấp giải pháp mở rộng và bảo mật, tương thích smart contract ZKEVM.
- Loopring - Ứng dụng ZK Rollup vào các ứng dụng thanh toán và sàn giao dịch DEXs, nhằm tăng tốc độ và giảm phí gas.
- StarkEX – cung cấp giải pháp mở rộng L2 và thanh toán giao dịch sử dụng zk STARKs (được ứng dụng trên sàn giao dịch của immutableX).
Optimistic Rollups
- Optimistic: Sử dụng giải pháp Optimistic Rollups, nhằm tính toán các giao dịch trên L2 và chuyển lên L1. Chỉ hỗ trợ EVM với ngôn ngữ solidity, chưa hỗ trợ ngôn ngữ khác.
- Arbitrium: Thay vì xử lý toàn bộ nhóm giao dịch 1 lần trên L2 như optimistic thì Arbitrium chia ra thành nhiều round để xử lý từng nhóm giao dịch. Giúp tốc độ nhanh hơn. Tuy nhiên quá trình xác minh cũng sẽ kéo dài hơn.
Cảm ơn mọi người đã theo dõi bài viết. Nếu thấy hay và bổ ích thì nhớ múc cho mình nhé ạ !!