Thiếu khả năng mở rộng là cơn ác mộng tồi tệ nhất của bất kỳ sổ cái phân tán nào. Nhiều mạng phi tập trung đã cố gắng tìm ra giải pháp giúp giải quyết vấn đề nhạy cảm này và sharding là một khái niệm đầy hứa hẹn có thể tăng khả năng mở rộng trong khi vẫn giữ được bản chất phi tập trung của blockchain. Cùng Review Invest tìm hiểu chi tiết về công nghệ mở rộng on-chain mang tên Sharding trong bài viết sau đây nhé!
Sharding giải quyết vấn đề gì?
Việc thiếu khả năng mở rộng, chỉ có khả năng xử lý một vài giao dịch mỗi giây, là nhược điểm nghẽn lớn nhất hiện nay trong thế giới blockchain. Cụ thể Bitcoin chỉ cho 5 giao dịch mỗi giây (tps) và Ethereum chỉ cho 12 giao dịch mỗi giây, hoàn toàn khó để cạnh tranh với các giải pháp tập trung như Visa và dịch vụ điện toán đám mây AWS.
Hiện tại, mọi máy tính duy trì mạng Bitcoin và Ethereum đều đang hoạt động trên cùng một sổ cái công khai. Nói cách khác, tất cả các nút phải xử lý mọi giao dịch. Thêm nhiều máy tính vào mạng chỉ cải thiện bảo mật chứ không cải thiện được tính hiệu quả.
Bitcoin và Ethereum sử dụng cơ chế bảo mật mạng đến từ Proof-of-Work. Hàng trăm nghìn máy tính và máy móc chuyên khai thác trên khắp thế giới chịu trách nhiệm xử lý các giao dịch. Là một hệ thống tiền mặt P2P / một máy tính thế giới, Bitcoin và Ethereum đều an toàn và phi tập trung. Tuy nhiên, chúng không thể mở rộng ngay lập tức.
Để cải thiện khả năng mở rộng, rất nhiều giải pháp đã được đưa ra. Ví dụ: BitcoinCash (fork của Bitcoin) đã tăng kích thước khối để cho phép nhiều giao dịch được xử lý hơn trong mỗi khối, trong khi Lightning Network (lớp thứ hai) sử dụng các kênh thanh toán ngoài chuỗi để giảm gánh nặng cho chuỗi chính.
Như vậy có thể thấy, Sharding là một trong những cách tiếp cận phổ biến nhất đang được phát triển bởi các dự án blockchain khác nhau bao gồm Ethereum, Zilliqa, Quarkchain,….
Sharding là gì?
Sharding là một nguyên tắc thiết kế cơ sở dữ liệu, phân tách các máy chủ cơ sở để phân tán tải. Sự ra đời của công nghệ này là dành cho blockchain nhằm mục đích giải quyết các vấn đề về khả năng mở rộng và độ trễ.
Thực hiện sharding trong blockchain, sẽ giúp mạng lưới phân tách thành các nhóm (phân đoạn) khác nhau. Các phân đoạn có thể xử lý các giao dịch song song. Mỗi nút sẽ chỉ có một phần dữ liệu trên blockchain, không phải toàn bộ thông tin. Do đó, nhiều giao dịch có thể được xử lý cùng một lúc.
Ví dụ: hãy tưởng tượng một mạng gồm 1.000 nút; người ta có thể chia mạng thành 10 mảnh, mỗi mảnh gồm 100 nút. Tất cả các mảnh chạy song song nhau, làm cho tốc độ tăng gấp 10 lần.
Sharding hoạt động như thế nào?
Một blockchain bao gồm các nút. Nút là những thực thể độc lập có nhiệm vụ duy trì hoạt động cho một mạng phi tập trung. Mỗi nút là một phần quan trọng của hệ sinh thái, giúp chia sẻ tài nguyên tính toán của nó để thêm các khối vào chuỗi khối.
Ví dụ, Ethereum có hơn 8.200 nút hoạt động nhằm duy trì môi trường lành mạnh trong mạng. Chuỗi khối Ethereum hiện đang chạy trên giao thức đồng thuận Proof-of-Work (PoW) yêu cầu người dùng trả phí gas. Càng nhiều người dùng sử dụng chuỗi khối Ethereum, phí gas sẽ càng cao. Ethereum và nhiều blockchain khác hiện đang tuân theo mô hình thực thi tuyến tính, mô hình này yêu cầu mọi nút xử lý mọi hoạt động.
Với sharding, việc thực hiện các giao dịch trong một chuỗi khối cụ thể sẽ tuân theo một mô hình song song. Điều này có nghĩa là các giao dịch sẽ được xử lý đồng thời và song song trên mỗi phân đoạn, làm tăng thông lượng giao dịch đáng kể. Các nút sẽ xử lý các hoạt động nhất định chứ không phải toàn bộ như chúng làm trong mô hình tuyến tính.
Phân loại công nghệ sharding
Trong công nghệ sharding, sự gia tăng sức mạnh tính toán của blockchain đồng nghĩa với việc tăng số lượng phân đoạn. Điều đó có nghĩa là, đối với các giao dịch độc lập (đầu vào và đầu ra nằm trong cùng một phân đoạn), càng nhiều sức mạnh tính toán được đầu tư vào mạng, thì càng có nhiều giao dịch được xử lý song song cùng một lúc và tốc độ giao dịch của toàn bộ mạng sẽ tăng tuyến tính.
Công nghệ sharding được sử dụng trên blockchain có thể được chia thành 3 loại, đó là:
Network Sharding
Khi một khối được thêm vào, các thợ đào cần phải giao tiếp với nhau để xác nhận tính hợp lệ của khối mới. Mặc dù điều này có thể đảm bảo tính chính xác của các giao dịch, nhưng cũng dễ dẫn đến thiếu sót liên quan đến tính không thể thay đổi trong cấu trúc blockchain.
Do đó, bước đầu tiên của sharding là chia nhỏ mạng lưới blockchain, trên cơ sở giảm thiểu giao tiếp với nhau. Mỗi phân đoạn xử lý các giao dịch trên chuỗi. Các thợ đào được nhóm ngẫu nhiên và công việc được giao cho từng nhóm thợ đào để xác minh độc lập.
Transaction Sharding
Transaction Sharding giải quyết các giao dịch nào sẽ được phân bổ cho các phân đoạn nào. Sau đó, sự khác biệt trong mô hình sổ cái blockchain sẽ có tác động đến giao dịch sharding.
State Sharding
State sharding có thể được hiểu là gán dữ liệu blockchain cho các phân đoạn khác nhau, nhờ đó giảm gánh nặng lưu trữ của các nút. So với hai cơ chế sharding còn lại, việc phân bổ trạng thái là khó nhất.
Sharding có thể giúp gì cho Blockchain?
Giấc mơ áp dụng hàng loạt có thể trở thành hiện thực với việc triển khai sharding trong blockchain. Sự thật là, công nghệ phi tập trung quá phức tạp đối với người dùng thông thường. Thời gian trôi qua, các nhà phát triển blockchain đã cố gắng hết sức để đưa các giải pháp công nghệ phức tạp vào một hình thức thân thiện với người dùng.
Các ứng dụng phi tập trung (dApps) trông tự nhiên và khá đơn giản, trong khi trải nghiệm người dùng trực quan. Tuy nhiên, một trong những trở ngại chính trên con đường áp dụng hàng loạt là tốc độ giao dịch tốn quá nhiều thời gian.
Khi được triển khai trong một blockchain, kỹ thuật sharding là phân tán tải mạng giữa các phân đoạn. Do đó, tốc độ giao dịch có thể tăng mạnh, mang lại thông lượng tốt hơn và thu hút người dùng mới.
Ethereum 2.0 được chờ đợi sẽ giải quyết vấn đề về khả năng mở rộng bằng cách triển khai giải pháp sharding vào mạng của nó. Chuỗi khối Ethereum cũng có kế hoạch chuyển sang giao thức đồng thuận PoS, giúp việc triển khai sharding trở nên khả thi và hiệu quả.
Ethereum 2.0 gồm có 64 phân đoạn bằng nhau có thể xử lý các giao dịch đồng thời. Tất cả 64 mảnh được gắn chặt với chuỗi chính tạo thành cây Merkle. Bằng cách dàn trải tải giữa các phân đoạn, Ethereum 2.0 sẽ có khả năng thực hiện tới 100.000 giao dịch mỗi giây.
Sharding có hạn chế nào không?
Vitalik Buterin thường đề cập đến vấn đề nan giải là khả năng mở rộng. Hiện tại không thể phát minh ra blockchain mới có thể mở rộng, bảo mật và phi tập trung. Tuy nhiên, có vẻ như vấn đề có thể được giải quyết bằng sharding.
Mối quan tâm lớn nhất liên quan đến kỹ thuật sharding là các vấn đề về bảo mật và giao tiếp. Làm thế nào để số lượng (N) các mảnh liên lạc với nhau một cách liền mạch? Để giải quyết thông tin sai lệch giữa các phân đoạn, Ethereum 2.0 sẽ sử dụng chuỗi Beacon nhằm mục đích trở thành xương sống cho toàn bộ mạng Ethereum 2.0.
Theo cố vấn kiêm nhà nghiên cứu của Eth 2.0, Ben Edgington:
Có một số khía cạnh của vấn đề này: quản lý người xác nhận và cổ phần của họ; chỉ định người đề xuất khối đã chọn cho mỗi phân đoạn ở mỗi bước; tổ chức người xác nhận thành các ủy ban để biểu quyết các khối đề xuất; áp dụng các quy tắc đồng thuận; áp dụng phần thưởng và hình phạt cho người xác nhận; và tìm ra một điểm neo mà các phân đoạn đăng ký trạng thái của chúng để tạo điều kiện thuận lợi cho các giao dịch chéo phân đoạn.
Cơ chế đồng thuận bằng chứng cổ phần có thể giải quyết một phần. Các trình xác thực Ethereum được chỉ định ngẫu nhiên sẽ hỗ trợ bản chất phi tập trung của blockchain trong khi vẫn giữ an toàn cho nó. Buterin cũng tin rằng sự chuyển đổi của Ethereum sang thuật toán PoS sẽ làm cho ETH an toàn hơn so với mạng của Bitcoin.
Tương lai của Sharding
Tương lai của Sharding khá tươi sáng. Một loạt các dự án đáng tin cậy đã thực hiện và sử dụng sharding. Một trong những nền tảng đầu tiên triển khai sharding là Zilliqa. Trong giai đoạn testnet, mạng Zilliqa có thể đạt được hơn 2.800 giao dịch mỗi giây.
Chuỗi khối Cardano gần đây đã phát hành giải pháp khả năng mở rộng có tên giao thức Hydra. Mỗi mảnh của giao thức Hydra có thể xử lý khoảng 1.000 tps. Kết quả là, chuỗi khối Cardano có khả năng đạt thông lượng giao dịch là 1 triệu giao dịch mỗi giây.
Ethereum 2.0, Facebook’s Libra, mạng mở Telegram khét tiếng và nhiều dự án đáng chú ý khác đang làm việc chăm chỉ để mang lại tương lai cho ngày hôm nay và sharding là một phần quan trọng của toàn bộ bức tranh.
Lời kết
Sharding có thể trở thành giải pháp đáng kỳ vọng để giải quyết vấn đề khả năng mở rộng. Một khi blockchain có thể mở rộng, chúng sẽ thu hút nhiều người dùng tích cực, nhà phát triển, dApp,.. và kích thích ngành công nghiệp blockchain bùng nổ nhanh hơn. Hy vọng với những thông tin trên, bạn đã nắm rõ nguyên lý hoạt động và tầm quan trọng của công nghệ Sharding nhé!