Bài viết dưới đây được dịch thuật lại theo bài nghiên cứu của tác giả Polynya với tên nguyên gốc “Convergent Evolution: How Rollups + Data Shards became the Ultimate Solution“. Link gốc của bài viết sẽ để ở cuối bài.
Trước hết, để có thể hiểu bài viết này, bạn nên tìm đọc về “Vấn đề mở rộng quy mô của Ethereum“ để mường tượng được vấn đề mà mạng lưới tiền mã hóa lớn thứ hai thế giới đang phải đối mặt, cũng như các giải pháp Layer-2 đang được phát triển để giải quyết nó trong ngắn hạn.
____________
Tóm tắt (hay còn gọi là TL;DR)
- Rollups là giải pháp đưa cấu trúc multi-chain và mô-tuýp Sharding lên một tầm cao mới.
- Rollups vẫn luôn có cách tiếp cận mở để nhiều cải tiến được thực hiện trong tương lai.
- Có thể kết hợp với cấu trúc Data Shards của Ethereum, để nâng cao quy mô và hướng đến viễn cảnh hàng triệu TPS trong dài hạn.
- Một Rollup có thể tương tác trên nhiều Data Shards khác nhau.
- Một trong những thách thức với Rollups là khả năng tương thích và giao tiếp giữa bản thân các Rollups với nhau.
____________
Nhiều nhà nghiên cứu đang làm việc không ngừng để giải quyết vấn đề quy mô của blockchain. Mục đích chính thì cũng chỉ là để giải quyết vấn đề phi tập trung và permissionless (không giới hạn quyền truy cập) cho người dùng. Nhiều mạng lưới như EOS, Solana hay Polygon không quá quan tâm đến việc này và đi theo hướng tập trung (centralized), nơi có một số lượng nhỏ validator cùng lượng máy móc công suất lớn. Điều này không có gì là quá nghiêm trọng – đây đơn giản chỉ là một cách đánh đổi. Một vài mạng lưới như Bitcoin đã chào thua trước vấn đề này – đơn giản vì họ không muốn tập trung hoá mạng lưới. Một vài số khác thì cố gắng tìm ra hướng đi cho mình.
Sharding
Giải pháp đầu tiên là chia nhỏ mạng lưới thành nhiều chain, với những giao thức để tương tác giữa các chain này. Điều này mang lại khả năng nâng cao quy mô mạng lưới, khi bạn có thể dàn trải quá trình tải ra nhiều chain khác nhau. Bạn cũng có thể duy trì được độ phi tập trung khi mà các chain này được thiết kế mở cho quá trình xác thực. Tuy nhiên, bạn sẽ phải hi sinh phần lớn khía cạnh an toàn, vì các validator sẽ phải bị chia ra ở các subnet, các mạng lưới con. Một cách tiếp cận “ngây thơ” khác theo hướng này đó là chia các nhóm validator khác nhau ra hoạt động độc lập cho mỗi chain (hướng tiếp cận của sidechain). Một vài biến thể khác thì tích hợp các subnet linh hoạt. Tuy nhiên, dù cách tiếp cận là gì đi nữa, thì nó vẫn sẽ hi sinh mức độ an toàn bảo mật của mạng lưới.
Một ý tưởng khác là chia thành các chain nhỏ, nhưng sử dụng chung một nguồn bảo mật cho tất cả các chain bằng cách truyền các thông tin, bằng chứng về việc gian lận lên mạng lưới tổng. Đây là công nghệ Sharding (tạm dịch: phân mảng), và mỗi chain con sẽ hưởng được độ bảo mật chung của toàn mạng lưới. Hãy nhớ rằng roadmap CŨ của Ethereum 2.0 đi theo hướng này. Với một mạng lưới tổng ở giữa có tên gọi là Beacon Chain, kết nối nhiều shard lại với nhau.
Polkadot cũng đi theo mô hình này, tuy nhiên có 2 thay đổi cơ bản – tạo ra phiên bản tập trung (centralized) hơn của Beacon Chain (với tên gọi Relay Chain) và để ngỏ quy trình phát triển cho các shard. Các shard của Ethereum 2.0 sẽ bị giới hạn trong thiết kế và giao thức liên lạc với nhau. Shard của Polkadot (với tên gọi Parachain) sẽ có không gian rộng hơn để phát triển, khi mà các đơn vị vận hành parachain có thể tuỳ ý thiết kế chain của mình (trong phạm vi một vài quy định chung của mạng lưới tổng).
Rollups
Trong khi đó, Rollups là giải pháp giúp ở tầng cao mới. Hiện tại, shard hay parachain đang dần được tách biệt khỏi mạng lưới và các nhà phát triển giao thức có nhiều không gian để phát triển những gì họ muốn. Họ có thể sử dụng độ bảo mật của blockchain gốc bằng cách kết nối trực tiếp với các smart contract được thiết kế tích hợp hoàn hảo với các Rollups, thay vì mô hình client bên trong một giao thức. Tách biệt các chuỗi rollup khỏi giao thức mang về 2 lợi ích so với shard:
- Nếu Rollups gặp vấn đề, nó không ảnh hưởng gì lên mạng lưới Layer-1 bên dưới.
- Quan trọng hơn, các đơn vị tham gia layer-1 sẽ không cần phải chạy một full node trên mạng lưới của rollup.
Với Sharding, vẫn sẽ phải có một số lượng nhất định các validator tham gia vận hành node. Nếu các shard này gặp vấn đề, nó có thể ảnh hưởng lên cơ chế đồng thuận chung của các shard còn lại.
Một bất cập trong việc vận hành “Rollups chưa được chuẩn hoá” (non-standardized) đó là không có một quy tắc tương tác cụ thể và rõ ràng. Tuy nhiên, việc để ngõ cho các rollup phát triển có thể sẽ giúp mang lại nhiều giải pháp sáng tạo trong dài hạn. Ví dụ, mô hình Optimistic Rollups (với việc công bố các bằng chứng sai phạm, gian lận) đã được thay thế bằng ZK-Rollups (với việc xác thực tính hợp lý của hoạt động đó trên không gian blockchain). Hiện tại, sharding có thể thay thế một vài mô hình cũ như zk-SNARK, tuy nhiên dễ dàng nhận thấy nhiều mô hình rollup được ra đời nhờ vào tính “mở” của cách tiếp cận này.
Data Shards
Rollups mang lại khả năng mở rộng tương tự như Sharding. Tuy nhiên, hãy đến với một mảnh ghép quan trọng: Data Shards (tạm dịch: các mảnh dữ liệu). Một trong những thách thức lớn nhất với shard đó là khả năng tương thích (interoperability). Dù đã có những cách thức để tương tác bất đối xứng (asynchronous communication), tuy nhiên vẫn chưa có một giải pháp nào thực sự thuyết phục. Trong một viễn cảnh tốt đẹp, shard có thể vận hành như một nơi lưu trữ dữ liệu cho Rollups. Các Rollups có thể giao tiếp dễ dàng và vận hành trên nền tảng của các shard dữ liệu. Data Shards này có thể tiếp tục bành trướng, mở rộng, cho phép nhiều Rollups nhanh hơn vận hành trên đó. Thậm chí là với số lượng nhiều hơn các Rollups.
Trong đầu bài viết, tôi có đề cập đến việc mỗi subnet của các shard sẽ phải vận hành full node, điều này có thể khiến kìm hãm khả năng mở rộng quy mô. Vậy còn với các Rollups thì sao? Nếu có một “siêu” Rollups với khả năng xử lý 100.000 giao dịch/s trên nền tảng của 64 data shard, thì tất nhiênn sẽ phải có một ai đó vận hành node đúng không? Câu trả lời là đúng, nhưng trong môi trường ZK-Rollups, mô hình chỉ cần các sequencer (trình tự). Các sequencer có thể vận hành các máy công suất cao, nếu người dùng trung bình có thể tái cấu trúc lại các state ở Layer-1 hoặc rời bỏ Rollups từ Layer-1 một cách trực tiếp (chú thích: đoạn này mình chưa hiểu rõ ý nghĩa lắm, nên có thể dịch chưa được sát với ý tác giả). Với Optimistic Rollups, bạn cần những người tham gia trung thực để vận hành full node, tuy nhiên dần về sau chúng ta sẽ cần một “siêu” Rollups.
Cần lưu ý, Rollups cũng gặp phải vấn đề như các shard trong việc tương tác. Trong khi một Rollup có thể tương tác đơn giản giữa nhiều Data Shards, tương tác giữa bản thân các Rollups với nhau là một vấn đề.
Hệ quả cuối cùng có thể kì vọng: Rollups + Data Shards là giải tốt nhất chúng ta có. Thế giới blockchain sẽ quy tụ về viễn cảnh có thể ứng dụng rộng rãi. Cụ thể hơn, chúng ta đang nằm trong đoạn giữa của cuộc cách mạng. Vẫn còn rất nhiều câu hỏi để ngỏ. Rollups chưa xuất hiện cách đây 3 năm và các giải pháp tập trung vào Rollups neo đậu vào Ethereum cũng chỉ mới xuất hiện cách đây 1 năm. Vậy thì, vẫn khá khó để nói công nghệ này sẽ còn tiến xa đến đâu phải không?
Bài viết trên đây được tổng hợp từ bài viết gốc: https://polynya.medium.com/convergent-evolution-how-rollups-data-shards-became-the-ultimate-solution-6e931e642be0
Với các đơn vị trích dẫn bài viết này, vui lòng nghi lại nguồn để thể hiện sự tôn trọng với tác giả. Xin chân thành cảm ơn.
Như vậy là chúng ta đã cùng điểm qua một góc nhìn hết sức thú vị về Rollups. Nếu như quan tâm về các vấn đề chuyên sâu của thị trường DeFi, bạn đọc có thể tham gia ngay cộng đồng Fomo Sapiens để thảo luận cùng các admin Coin68 nhé!!!
Coin68 tổng hợp
Có thể bạn quan tâm: