Nội dung
Sharding là gì? Tìm hiểu về giải pháp mở rộng mạng lưới cho blockchain
Sharding ra đời giúp giải quyết vấn đề liên quan đến bảo mật và khả năng mở rộng đang tồn tại trên các mạng blockchain hiện nay.
Một blockchain được cho là lý tưởng thường sẽ cần phải đáp ứng đồng thời ba tiêu chí Decentralization (Phi tập trung), Security (Tính bảo mật) và Scalability (Khả năng mở rộng). Tuy nhiên, gần như tất cả các blockchain hiện nay, bao gồm cả Bitcoin và Ethereum đều chưa đạt được điều này. Hãy lấy trường hợp của Ethereum làm ví dụ. Mạng lưới Ethereum ban đầu mới chỉ đáp ứng được ⅔ các tiêu chí kể trên. Cụ thể:
Khó khăn trong việc mở rộng mạng lưới Ethereum đã kìm hãm sự phát triển của chính hệ sinh thái này. Tốc độ giao dịch chậm cộng với phí cao khiến cho ngày càng có nhiều Dapp trên mạng lưới tìm kiếm các nền tảng khác để phát triển. Ví dụ về CryptoKitties năm 2017 là một minh chứng cho vấn đề này. Để phát triển hơn, các công nghệ mới cần được đưa vào để gia tăng khả năng mở rộng của các mạng lưới hiện tại những vẫn đảm bảo hai yếu tố kể trên.
Để trả lời câu hỏi này, hãy cùng xem lại cách hoạt động của chúng. Những điểm khiến cho vấn đề này trở nên nghiêm trọng. Cụ thể như sau:
Hiểu một cách đơn giản thì sharding là giải pháp giúp giải quyết vấn đề mở rộng của các mạng lưới blockchain. Sharding giúp cho mọi node mạng không phải xử lý từng giao dịch như hiện tại. Nó chia nhỏ chuỗi khối thành nhiều phần để tải cho các node khác nhau.
Giả sử mạng có tất cả 1.000 nodes. Theo cách truyền thống, để một giao dịch hoàn tất, tất cả 1.000 nodes này cần phải tham gia xác thực. Với sự xuất hiện của Sharding, nó sẽ chia 1.000 nodes này ra thành các nhóm, ví dụ 10 nhóm, mỗi nhóm gồm 100 nodes. Mỗi giao dịch sẽ được chia nhỏ sau đó phân bổ đến các nhóm khác nhau. Điều này giúp các node có thể xử lý song song nhiều giao dịch cùng lúc.
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.
Một cách để 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ể. Ví dụ, các phân đoạn có thể được phân tách dựa trên các loại tài sản kỹ thuật số hoặc hợp đồng thông minh mà chúng lưu trữ.
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.
Hãy tưởng tượng một blockchain với cơ chế PoW và muốn triển khai sharding để có khả năng mở rộng tốt hơn. Như chúng ta đã biết, blockchain dựa trên PoW sẽ yêu cầu khai thác (mining). Quá trình khai thác này sẽ đòi hỏi tỷ lệ băm (hashrate) và tỷ lệ băm này được tạo ra bởi hệ thống máy đào toàn cầu. Giả sử nếu áp dụng sharding cùng với PoW, vấn đề chiếm quyền kiểm soát tốc độ băm của một shard có thể xảy ra. Ví dụ, blockchain dựa trên PoW có 100 shard. Nếu như một tác nhân xấu có được 1% sức mạnh băm của toàn mạng lưới có thể đạt được 100% quyền kiểm soát tốc độ băm của một Shard bất kỳ.
Đối với giao thức PoS thì khác biệt hoàn toàn vì nó không cần thợ đào. Một hệ thống dựa trên PoS sẽ loại bỏ lỗ hổng bảo mật tấn công 51%.
Sự xuất hiện của giải pháp sharding giúp giải quyết vấn đề tắc nghẽn của mạng lưới khi mở rộng. Việc mạng lưới chạy song song có thể xử lý hàng trăm giao dịch trong một giây trên mỗi shard. Trên đây là những thông tin cơ bản về giải pháp sharding mà Coinvn mang đến cho độc giả. Với những thông tin này, hy vọng bạn đã có những kiến thức cần thiết liên quan đến blockchain nói chung và tiền mã hóa nói riêng.