Tổng quan vấn đề
“Sharding” là một phương pháp được đề xuất để chia cơ sở hạ tầng của Ethereum thành các phần nhỏ hơn với mục tiêu mở rộng quy mô nền tảng để nó có thể hỗ trợ nhiều người dùng hơn hiện tại.
Ethereum là chuỗi khối lớn thứ hai và được thiết kế để giúp việc xây dựng các ứng dụng phi tập trung trở nên dễ dàng hơn, mang đến cho người dùng nhiều quyền kiểm soát hơn đối với tài chính và dữ liệu trực tuyến của họ, trong số các lợi ích được hình dung khác. Ý tưởng là những lựa chọn thay thế phi tập trung này sẽ lan rộng, cung cấp một giải pháp thay thế cho các ứng dụng – chẳng hạn như Robinhood hoặc Twitter – có điểm kiểm soát tập trung. Do đó, Ethereum sẽ đóng vai trò như một “máy tính của thế giới”, mở cho tất cả mọi người, không thể tắt được.
Tuy nhiên, để có thể cung cấp các giải pháp thay thế mạnh mẽ cho các ứng dụng hiện có, Ethereum sẽ cần có khả năng lưu trữ một lượng lớn dữ liệu. Đối với các ứng dụng truyền thống, các dịch vụ như Amazon Web Services (AWS) lưu trữ hàng petabyte dữ liệu từ hàng nghìn ứng dụng. Tuy nhiên, hiện tại, Ethereum còn lâu mới có thể lưu trữ dữ liệu hiệu quả như một dịch vụ web tập trung như AWS. Trên thực tế, Ethereum trong lịch sử đã phải chịu sự sụt giảm hiệu suất làm nền tảng ngừng hoạt động do một ứng dụng đánh thuế mạng.
Sharding hoạt động như thế nào?
- Sharding được thực hiện bằng cách chia các nút mạng thành các nhóm và chia nhỏ thông tin được lưu trữ trong mạng giữa các nhóm này, tức là “cắt” cơ sở dữ liệu thành các phần nhỏ hơn (phân đoạn). Mỗi phân đoạn lưu trữ dữ liệu với các đặc điểm nhất định để các phân đoạn có thể được phân biệt với nhau.
- 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 phân đoạn 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ữ.
- Một cách khác để thực hiện sharding là tổ chức các nút mạng sao cho có một mạng chuyển tiếp trung tâm mà qua đó tất cả các “mạng bên”, hoặc các phân đoạn, có thể giao tiếp với nhau. Bằng cách này, các phân đoạn có thể lưu trữ và xử lý bất kỳ loại thông tin nào mà các chức năng của chúng yêu cầu trong khi thông tin này có thể có sẵn cho các phân đoạn khác khi cần thông qua một rơ le.
- Điều quan trọng là các phân đoạn có thể giao tiếp với nhau theo cách này hay cách khác, để bất kỳ người dùng nào trong mạng đều có thể truy cập vào tất cả thông tin được lưu trữ trong chuỗi khối.
Cách triển khai Sharding như thế nào?
Sharding thường được thực hiện trên mạng bằng chứng cổ phần (PoS) , trái ngược với mạng bằng chứng công việc (POW). Trong cơ chế đồng thuận PoS, các nút xác thực giao dịch dựa trên số lượng mã thông báo mà họ đã đặt cọc. Sharding sẽ liên quan đến việc các nhà phân phối giao dịch với các phân đoạn khác nhau của cùng một blockchain.
Việc triển khai sharding trên mạng bằng chứng công việc (PoW) là rất khó. Các nút sẽ gặp khó khăn khi xác thực các giao dịch chỉ với thông tin từ một phân đoạn duy nhất.
- Các nút và Sharding trong chuỗi khối
Các máy tính hỗ trợ giao dịch trong mạng ngang hàng (P2P) như blockchain được gọi là các nút. Loại nút phổ biến nhất là nút đầy đủ lưu trữ. Các nút đầy đủ lưu trữ một bản sao của toàn bộ lịch sử của blockchain. Đối với các mạng lớn hơn như Bitcoin và Ethereum , điều này đòi hỏi khá nhiều bộ nhớ và sức mạnh tính toán.
Các nhiệm vụ của một nút bao gồm:
• Xử lý giao dịch
• Ghi lại các giao dịch
• Truyền phát các giao dịch
Chúng yêu cầu khả năng tính toán, lưu trữ và băng thông mạng, tương ứng.
Với sharding, các nút đầy đủ không còn phải lưu trữ hoặc xử lý toàn bộ hoạt động của mạng. Thay vào đó, mỗi nút chỉ phải duy trì dữ liệu liên quan đến phân đoạn của nó.
2. Chia sẻ mảnh
Thông tin của một phân đoạn vẫn có thể được chia sẻ với các nút khác. Điều này duy trì tính bảo mật và phân quyền của mạng vì tất cả những người tham gia vẫn có thể xem tất cả các mục nhập sổ cái. Họ chỉ không cần phải lưu trữ và xử lý từng bit thông tin.
Sharding có cần thiết không?
- Sharding không phải lúc nào cũng cần thiết. Chỉ những mạng đang gặp khó khăn trong việc mở rộng quy mô mới có khả năng xem xét sharding. Trong trường hợp các giải pháp khác là đủ, các nhà phát triển có thể chọn từ bỏ sharding do những phức tạp bổ sung mà nó có thể thêm vào ứng dụng.
- Một phương pháp mở rộng quy mô khác đang ngày càng phổ biến gần đây là việc sử dụng layer-2. Lớp 2 là một giải pháp liên quan đến việc xử lý các giao dịch ngoài chuỗi, tách biệt với lớp cơ sở của sổ cái. Điều này có thể làm giảm thời gian giao dịch và giảm phí đáng kể.
- Mạng Lightning của Bitcoin là một ví dụ về giải pháp lớp 2. Lightning cho phép thực hiện các giao dịch tức thì với chi phí chỉ bằng một phần xu.
- Một ví dụ khác là Đa giác (MATIC) trên mạng Ethereum. Nói một cách dễ hiểu, Polygon làm cho Ethereum những gì Lightning làm cho Bitcoin. Tuy nhiên, nếu Ethereum chuyển sang bằng chứng cổ phần (PoS) và triển khai sharding, thì lớp 2 như Polygon có thể trở nên lỗi thời.
Ưu và nhược điểm của Sharding
Có những lợi thế và bất lợi khi sử dụng sharding trong tiền điện tử. Đó có thể là một cách tuyệt vời để một số mạng mở rộng quy mô, nhưng vẫn còn một số ẩn số và hầu hết các nhà phát triển tin rằng nó có thể không hoạt động với mọi blockchain.
Ưu điểm của Sharding | Nhược điểm của Sharding |
---|---|
Cho phép khả năng mở rộng lớn hơn | Khó triển khai các giao thức bằng chứng công việc |
Giảm gánh nặng xử lý và bộ nhớ đặt trên các nút đầy đủ | Làm cho cơ sở dữ liệu và các ứng dụng của nó phức tạp hơn |
Hoạt động tốt cho mạng bằng chứng cổ phần | Hầu như chưa được kiểm tra đối với công nghệ blockchain, có nghĩa là có một số điều chưa biết xung quanh vấn đề bảo mật |
Khi nào thì sharding sẽ xuất hiện trên Ethereum?
Sharding là một ý tưởng kể từ khi Ethereum xuất hiện vào năm 2013. Hiện vẫn chưa rõ liệu nó có hoạt động hay không. Ngoài ra, không rõ khi nào nó sẽ được thêm vào Ethereum.
Sharding là một phần được lên kế hoạch của Ethereum 2.0 , một loạt các nâng cấp cho chuỗi khối Ethereum chính thức bắt đầu ra mắt vào ngày 1 tháng 12 năm 2020. Sharding có nhiều khả năng được kết hợp trong giai đoạn sau của quá trình nâng cấp vì sự phức tạp và nguy hiểm tiềm ẩn của nó . Trang web chính thức của Ethereum dự kiến sharding sẽ xuất xưởng vào năm 2023 .
Tổng kết
Sharding là một cách tiếp cận rất khả thi để giải quyết vấn đề về khả năng mở rộng blockchain. Tuy nhiên, nó không phải không có nhược điểm. Do cấu trúc của nó, nó có thể dễ dàng bị mất đi tính security của Blockchain.
Và đây cũng chính là một trong những lý do thúc đẩy Ethereum chuyển sang Proof-Of-Stake (Một kiểu của cơ chế đồng thuận giúp các mạng lưới Blockchain hoạt động được). Proof-Of-Stake giúp giảm thiểu lỗ hổng bảo mật đi kèm với Sharding.