Khả năng mở rộng là một trong những hạn chế của công nghệ blockchain. Và hiện nay, sharding chính là câu trả lời cho bài toán về khả năng mở rộng để cho phép tăng tốc độ giao dịch và áp dụng rộng rãi hơn. Vậy sharding là gì? Hãy cùng Vimoney tìm hiểu trong bài viết dưới đây.
Vấn đề mở rộng mạng lưới Blockchain
Mở rộng (scalability) là khả năng phát triển của hệ thống để đáp ứng nhu cầu giao dịch ngày càng tăng. Với máy tính, bạn có thể tăng hiệu suất bằng cách nâng cấp phần cứng để thực hiện một số tác vụ nhanh hơn. Khi nói đến khả năng mở rộng trong các blockchain, chúng ta nói đến việc tăng cường năng lực xử lý nhiều giao dịch cùng một lúc.
Hiện tại, tất cả các giao thức đồng thuận (consensus protocol) của blockchain (như Bitcoin, Ethereum, Ripple) đều có một hạn chế đầy thách thức: mọi nút đầy đủ trong mạng phải xử lý mọi giao dịch. Để mở rộng quy mô, giao thức blockchain cần phải có một cơ chế để giới hạn số lượng nút cần thiết tham gia để xác thực mỗi giao dịch, mà không làm mất niềm tin của toàn mạng rằng mỗi giao dịch là hợp lệ.
Hiện nay có 2 cách để tăng thông lượng giao dịch của blockchain:
- Mở rộng theo chiều dọc – Vertical Scalability.
- Mở rộng theo chiều ngang – Horizontal Scalability.
Mở rộng theo chiều dọc (Vertical Scalability)
Theo cách mở rộng theo chiều dọc, blockchain yêu cầu các node trong mạng phải cực kỳ mạnh mẽ để có xử lý nhanh và nhiều giao dịch hơn. Tuy nhiên, nó yêu cầu cao hơn về phần cứng và phù hợp với tổ chức có tài chính hùng hậu thay vì người dùng phổ thông.
Các public blockchain được mở rộng theo chiều dọc có thể phù hợp với một số ứng dụng nhất định yêu cầu hiệu suất cao và trạng thái nhất quán. Nhưng nhược điểm của cách tiếp cận này là làm cho quá trình xác thực giao dịch kém phân quyền.
Solana và Internet Computer sử dụng phương thức mở rộng theo chiều dọc.
Mở rộng theo chiều ngang (Horizontal Scalability)
Ngược lại với cách tiếp cận trên, mở rộng theo chiều ngang là cách chia hệ thống thành nhiều phân đoạn (shards). Mỗi phân đoạn chỉ thực hiện một tập hợp con của tổng số công việc trên blockchain và mỗi người hoặc tổ chức (Node) chỉ cần xác thực phân đoạn đơn đó và một số phân đoạn khác.
Điều này cho phép nhiều người dùng hơn tham gia vào quá trình xác thực, do các yêu cầu thấp hơn cho mỗi phân đoạn. Tổng thể, cách tiếp cận này giữ cho việc xác thực giao dịch được phân quyền, trong khi vẫn mở rộng tổng thông lượng của hệ thống. Mở rộng theo chiều ngang có thể nói vui là “chia để trị”. Ví dụ như Ethereum 2.0, Polkadot (DOT), Near Protocol (NEAR).
Sharding là gì?
Như nói ở trên giải pháp sharding chính là mở rộng theo chiều ngang. Sharding sẽ chia các node mạng thành các nhóm. Đồng thời, thông tin được lưu trữ trong mạng cũng được chia thành các phần nhỏ hơn (Shard). Mỗi shard sẽ lưu trữ dữ liệu với các đặc điểm nhất định để dễ dàng phân biệt.
Thực hiện sharding là phân vùng cơ sở dữ liệu theo chiều ngang, tức là chia nó thành các hàng. Bằng cách này, các hàng bao gồm các shard có thể lưu trữ các loại thông tin cụ thể. Lúc này, việc thực hiện các giao dịch trong một blockchain cụ thể sẽ tuân theo một mô hình thực hiện 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 shard, làm tăng thông lượng giao dịch đáng kể. Các node sẽ xử lý một số hoạt động nhất định chứ không phải toàn bộ như trước đây.
Nói tóm lại, giải pháp sharding trong blockchain yêu cầu chúng ta tạo ra một mạng trong đó mỗi nút chỉ xử lý một lượng các giao dịch trong mạng chứ không phải tất cả.
Ưu điểm
– 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.
– Tăng khả năng mở rộng cho blockchain hiện tại.
Nhược điểm
– Hacker có thể phá hủy một hệ sinh thái đang phát triển mạnh mẽ bằng cách tấn công một mảnh bất kỳ trong mạng. Nếu một mảnh bị hacker chiếm đoạt, nó có thể gây ra hiệu ứng domino.
– Có thể tăng chi phí gas.
Bất kể thách thức và nhược điểm tồn tại, phương pháp Sharding được kỳ vọng giúp tạo ra một bước đột phá lớn trong việc giải quyết cuộc khủng hoảng khả năng mở rộng của Blockchain.