Aa
Bookmark (0)
ClosePlease loginn

Sharding là gì? Tìm hiểu giải pháp mở rộng on-chain của Blockchain

Sharding là gì?

Sharding là một khái niệm phổ biến trong lĩnh vực khoa học máy tính, là quá trình phân đoạn cơ sở dữ liệu theo chiều ngang, lưu trữ dữ liệu trên nhiều nơi để có thể truyền tải và xử lý một cách nhanh chóng.

Đối với giải pháp Blockchain, công nghệ Sharding sẽ chia nhỏ toàn bộ mạng Blockchain thành nhiều phần được gọi là mảnh (shard). Mỗi mảnh sẽ chứa trạng thái độc lập của riêng nó, dữ liệu về tài khoản và hợp đồng thông minh được giữ trên mỗi mảnh là duy nhất và độc lập với dữ liệu được giữ trong các mảnh khác. Điều này giúp cho gánh nặng tính toán trên mỗi nút sẽ được giảm bớt và cho phép mạng lưới có thể thực thi một lượng lớn khối lượng giao dịch với tốc độ nhanh hơn trước nhiều.

bEKRZrRf6chUfiGGjx3sB6R9G9urfwHtkNnVJiL5OmGDqXK hy12dKtYArHtf bl0VrGggR9ZxlpBWHKm01fo iLMD7W6cbLTd2W8GYJRmyl qHND9U 8Bjy96LPOAzawSfTz0I6

Công nghệ Sharding này được Vitalik Buterin (người sáng lập ra Ethereum) ví như là tương lai dành cho việc mở rộng quy mô trên mạng lưới Ethereum. Hiện tại, mạng lưới Ethereum sở hữu TPS ở con số khá khiêm tốn, trung bình là 15 TPS. Trong khi mạng lưới Ethereum ngày càng phát triển, số lượng người dùng tham gia trên mạng lưới càng gia tăng, việc số lượng giao dịch được thực thi trong một giây chỉ ở mức 15 sẽ khiến cho mạng lưới ngày càng bị tắc nghẽn và người dùng sẽ phải chờ lâu hơn và bỏ ra phí cao hơn để có thể thực hiện các giao dịch.

Giống như việc xây dựng đường xá vậy, giả sử đường đi đến Hà Nội chỉ có một, ban đầu khi chỉ có ít xe cộ lưu thông trên tuyến đường này nên thời gian bạn di chuyển chỉ mất tầm 30 phút. Tuy nhiên khi Hà Nội ngày càng thu hút, nhu cầu di chuyển đến Hà Nội tăng cao, các xe cộ sẽ dồn về một tuyến đường duy nhất và gây nên tắc nghẽn, khi đó bạn sẽ mất đến hơn 2 tiếng mới có thể đến được nơi. Việc xây dựng thêm 5, 10 tuyến đường sẽ giải tỏa ách tắc và khiến cho việc di chuyển trở nên nhanh chóng hơn.

Sharding giải quyết vấn đề gì?

aaa

Tam giác bất khả thi trong Blockchain

Có một “tam giác bất khả thi” 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 mạng 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.

Cách hoạt động của công nghệ Sharding

Như đã nhắc ở trên, Sharding bao gồm việc phân đoạn một cơ sở dữ liệu lớn có cùng một định dạng thành nhiều cơ sở dữ liệu nhỏ hơn. Như chúng ta đã biết, Blockchain bao gồm rất nhiều node (nút) và mỗi node là một thành phần quan trọng của mạng lưới, chia sẻ nguồn lực tính toán để tạo thêm các khối trên Blockchain. Hiện tại Ethereum đang có hơn 8.200 node hoạt động liên tục để duy trì hoạt động cho mạng lưới và Ethereum đang sử dụng một mô hình xử lý tuyến tính, tức là mỗi node trong mạng lưới đều phải xử lý mọi hoạt động.

Công nghệ Sharding sẽ chuyển dịch mô hình hoạt động trên thành mô hình xử lý song song, tức là các giao dịch sẽ được thực hiện cùng lúc và song song trên mỗi node, phân tán khối lượng công việc của mạng và giúp tăng thông lượng giao dịch trên mạng lưới. Đặc biệt hơn, các node trong mạng lưới giờ sẽ chỉ thực hiện một số hoạt động nhất định chứ không phải là tất cả các hoạt động như trong mô hình xử lý tuyến tính cũ.

Yex5ihbse2ZpTiN7dJOJ08NXErRSWfz7u7qCxyTN StqfUKkdqF 5Tgn7A5qaonY2yqk69To52FOi2zMu5BHDzW8Ql8ZTP9Zx0 IaDpp7L8I5NtL3ZvK9ncdgnToHfGCdf882C0r

Thông thường, Sharding thường được thực hiện trên các mạng lưới sử dụng cơ chế đồng thuận Proof-of-Stake, trong đó các node sẽ xác thực các giao dịch dựa trên số lượng token mà họ stake vào. Sharding sẽ phân cho những người stake xử lý các mảnh khác nhau, thực thi các giao dịch trên mạng lưới.

Việc áp dụng công nghệ Sharding cho mạng lưới sử dụng cơ chế đồng thuận Proof-of-Work là rất khó. Lý do bởi vì các node trong mạng lưới sẽ gặp khó khăn khi xác thực giao dịch với lượng thông tin chỉ có trên 1 mảnh mà không phải trên toàn bộ mạng lưới. Các node trên mạng lưới Proof-of-Work sẽ là một node toàn diện, lưu trữ bản ghi dữ liệu lịch sử của toàn bộ Blockchain, điều này yêu cầu rất nhiều dung lượng cũng như sức mạnh tính toán, khiến cho việc xử lý và mở rộng quy mô trở nên khó khăn hơn. Công nghệ Sharding giúp cho các node giờ đây không cần phải lưu trữ toàn bộ các hoạt động của mạng lưới mà chỉ cần lưu trữ dữ liệu có liên quan tới mỗi mảnh.

Các node sẽ có thể biết được liệu giao dịch đã được thực hiện hay chưa thông qua quá trình “Shard Sharing”. Đây là quá trình mà thông tin của mỗi mảnh được chia sẻ cho các node, những người tham gia có thể thấy được các giao dịch mà không cần phải lưu trữ và xử lý toàn bộ thông tin.

11oNkncIBzkvyxfEIY T xdtUeRKagk24J F5UOllDihoMXljPeIhjMY1DO7bLo6qRHUxlb3c

Ưu điểm và nhược điểm của công nghệ Sharding nói chung

Ưu điểm:

  • Thúc đẩy khả năng mở rộng của mạng lưới.
  • Giảm bớt gánh nặng của việc xử lý giao dịch và dung lượng lưu trữ cho các node.
  • Có thể hoạt động tốt với các mạng lưới sử dụng cơ chế đồng thuận Proof-of-Stake.

Nhược điểm:

  • Khó áp dụng cho các mạng lưới sử dụng cơ chế đồng thuận Proof-of-Work.
  • Có thể khiến cơ sở dữ liệu và các ứng dụng trở nên phức tạp hơn nếu như thực hiện Sharding không đúng cách.
  • Đặt ra nhiều mối quan tâm về bảo mật và quyền riêng tư.

Các giải pháp mở rộng khác

Ngoài giải pháp áp dụng công nghệ Sharding, nhiều giải pháp Layer 2 khác cũng đã được sinh ra. Các giải pháp này cơ bản là việc xử lý các giao dịch ngoài chuỗi (off-chain), tách riêng so với lớp cơ sở của mạng lưới mà vẫn tận dụng mô hình bảo mật phi tập trung của mạng lưới đó. Các giải pháp này bao gồm rollup và state channels. Ngoài ra cũng có những giải pháp khác mà sở hữu cơ chế bảo mật tách riêng so với mạng lưới cơ sở như sidechain và plasma. Allinstation sẽ cung cấp thêm thông tin cho anh em về những giải pháp này trong những bài viết sau.

Tổng kết

Đây là một công nghệ rất ưu việt nếu áp dụng được vào Blockchain, Ethereum cũng đã lên sẵn kế hoạch để tích hợp công nghệ này vào Ethereum 2.0. Với sự phát triển của mạng Ethereum hiện tại khi đã hoàn thành bản cập nhật “The Beacon Chain” thử nghiệm khả năng áp dụng cơ chế đồng thuận Proof-of-Stake, bản cập nhật “The Merge” sắp được công bố dự kiến trong năm 2022, đây là nền tảng để công nghệ Sharding có thể áp dụng hiệu quả cho toàn bộ mạng lưới Ethereum, nâng cao khả năng mở rộng quy mô của Ethereum, đem đến cho người dùng một trải nghiệm tốt hơn và trở nên hấp dẫn hơn với người dùng.

Hy vọng Allinstation đã cung cấp cho anh em những thông tin hữu ích về công nghệ Sharding, từ đó có thêm nhiều kiến thức trong thị trường Crypto và tìm ra được những cơ hội đầu tư mới nhé!

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *