Sharding là gì? Giải pháp mở rộng của các Blockchain Layer 1

Một Blockchain Layer 1 được coi là hoàn hảo khi đáp ứng đủ cả 3 yếu tố phân quyền, bảo mật và khả năng mở rộng. Phân quyền và bảo mật là hai yếu tố mà hầu hết blockchain nào cũng có thể đáp ứng được, còn có thể mở rộng được không thì cần những giải pháp như sharding hoặc thay đổi cơ chế đồng thuận.

Khả năng mở rộng của các Blockchain

Blockchain trilemma trong Blockchain, nhắc đến bộ ba đặc tính mà một Blockchain đang cố gắng đạt được, tuy nhiên mới chỉ có thể đạt được hai trong số chúng. 3 đặc tính đó là:

  • Khả năng mở rộng: chuỗi có thể xử lý nhiều giao dịch hơn so với khả năng xác minh của một node thông thường.
  • Tính phi tập trung: chuỗi có thể chạy mà không có bất kỳ sự phụ thuộc tin cậy nào vào một nhóm nhỏ những tác nhân tập trung.
  • Tính bảo mật: chuỗi có thể chống lại một tỷ lệ phần trăm lớn các nút tham gia cố gắng tấn công mạng lưới.

Các giải pháp hiện tại mới chỉ đạt được 2 trên 3 đặc tính trên:

  • Các Blockchain truyền thống (Traditional chains) như Bitcoin, Ethereum (trước khi áp dụng cơ chế đồng thuận PoS và Sharding), Litecoin… dựa vào việc mọi người tham gia chạy một node hoàn chỉnh xác minh mọi giao dịch và do đó chúng có khả năng phân quyền và bảo mật, nhưng không có khả năng mở rộng.
  • Các mạng lưới có TPS cao (Typical high-TPS chains) thì lại dựa vào một số lượng nhỏ các nút (thường là 10-100) duy trì sự đồng thuận giữa chúng với nhau, với người dùng phải tin tưởng phần lớn các nút này. Điều này có thể mở rộng và an toàn nhưng nó không được phi tập trung.
  • Các hệ sinh thái multi-chain (Multi-chain ecosystems) sẽ có các ứng dụng khác nhau trên các chuỗi khác nhau và sử dụng các giao thức cross-chain để trao đổi giữa chúng. Điều này mang tính phi tập trung và có thể mở rộng, nhưng nó không an toàn, bởi vì kẻ tấn công chỉ cần có được đa số nút đồng thuận trong một trong nhiều chuỗi (thường là <1% toàn bộ hệ sinh thái) để phá vỡ chuỗi đó và có thể gây ra các hiệu ứng gợn sóng gây ra thiệt hại lớn cho các ứng dụng trong dây chuyền khác.

Công nghệ Sharding sẽ giúp cho Blockchain đạt được cả 3 đặc tính trên.

Sharding là gì?

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.

Công nghệ Sharding hoạt động như thế nào

Sharding được tạo ra nhằm khắc phục những nhược điểm trên, thông qua các hoạt động như sau:

  • Sharding gồm việc phân đoạn một cơ sở dữ liệu lớn thành những cơ sở dữ liệu nhỏ hơn có cùng định dạng. Thường thì Blockchain gồm rất nhiều nút và mỗi nút này lại đóng một phần quan trọng của mạng lưới, từ đó chia sẻ các nguồn lực tính toán cho khối Blockchain. Hiện nay thì Ethereum đang có hơn 8,200 nút với cơ chế hoạt động duy trì liên tục cho mạng lưới Ethereum vốn đang sử dụng một mô hình xử lý theo dạng mỗi nốt trong mạng lưới đều xử lý mọi hoạt động.
  • Công nghệ Sharding sẽ tiến hành dịch chuyển mô hình hoạt động trên thành mô hình xử lý song song, mọi giao dịch được thực hiện song song và đồng thời trên các nút; từ đó mà mạng lưới phân tán khối lượng công việc, giúp thông lượng giao dịch tăng. Thêm nữa, những nút trong mạng lưới sẽ chỉ tiến hành những hoạt động nhất định chứ không gồm toàn bộ các hoạt động như mô hình xử lý cũ.
  • Sharding thường tiến hành trên mạng lưới sử dụng cơ chế đồng thuận PoS – Proof of Stake và những nút sẽ thực hiện giao dịch dựa vào số lượng token mà họ stake. Sharding sẽ phân bổ cho người stake xử lý các mảnh khác nhau và những giao dịch trên mạng lưới.
  • Sharding rất khó cho phép mạng lưới ứng dụng cơ chế đồng thuận Proof of Work; bởi các nút trong mạng sẽ gặp khó khăn khi tiến hành xác thực giao dịch với lượng thông tin chỉ có trên 1 mảnh thay vì toàn mạng lưới. Những nút trên Proof of Work sẽ là một nút toàn diện, lưu trữ những bản ghi lịch sử dữ liệu của Blockchain. Nhờ đó mà cần một lượng lớn sức mạng tính toán, dung lượng lưu trữ, khiến việc mở rộng quy mô và xử lý bị hạn chế. Sharding sẽ giúp các nút thay vì lưu trữ toàn bộ hoạt động mạng lưới thì chỉ cần lưu trữ dữ liệu liên quan đến mảnh của mình.

Ưu nhược điểm của sharding

Ưu điểm của sharding

  • Tăng khả năng mở rộng cho mạng lưới blockchain hiện tại
  • Đảm bảo tính an toàn và bảo mật cho mạng lưới

Nhược điểm của sharding

  • Phức tạp hoá cho các ứng dụng và cơ sở dữ liệu nếu thực hiện Sharding không đúng cách
  • Hạn chế khi ứng dụng cho cơ chế đồng thuận Proof of Work
  • Vấn đề về quyền riêng tư và bảo mật gây nhiều quan tâm

Ethereum 2.0 & Sharding

Sharding, hay phân mảnh, là một trong những công nghệ cốt lõi của Ethereum 2.0. Ở Ethereum 1.0, mỗi node lưu trữ một bản sao của toàn bộ blockchain Ethereum. Bất kỳ khi nào nó được mở rộng, mỗi node phải cập nhật, điều này sẽ tiêu tốn băng thông và bộ nhớ của hệ thống.

Với sharding, Ethereum sẽ được chia thành nhiều mảnh. Mỗi mảnh (shard) sẽ xử lý các giao dịch và hợp đồng của riêng chúng, nhưng tổng thể các mảnh vẫn có thể giao tiếp với các phân đoạn khác. Vì mọi mảnh xác thực độc lập nên chúng không cần phải lưu trữ dữ liệu từ các shard khác. 

Kết luận

Bài viết của DeFiX tới đây là kết thúc. Hi vọng những thông tin này hữu ích với các nhà đầu tư!

Hãy theo dõi DeFiX.Network để cập nhật thêm nhiều thông tin thú vị, mới nhất về thị trường trường tài chính và tiền điện tử nhé.

Hẹn gặp lại các bạn trong các bài chia sẻ, hướng dẫn tiếp theo. Chúc các bạn đầu tư thành công!

Michael: