Chúng tôi sẽ giải thích vấn đề của blockchain Etherum hiện tại và cách mà Sharding đưa ra cách giải quyết.
Hãy tưởng tượng mình ngồi trong một khán phòng lớn và đang dự một kỳ thi với 500 người khác. Giả sử có 50 giám thị giám sát và chấm điểm các bài thi. Hãy tưởng tượng mỗi bài trong số 500 bài kiểm tra đó phải được tất cả 50 người giám thị chấm điểm và điểm thi của bạn được lấy trung bình cộng của các điểm số trên. Bạn có thể tưởng tượng phải mất bao lâu để chấm điểm tất cả các bài kiểm tra đó không? Cách chấm điểm như vậy không phải là phương pháp có thể mở rộng hoặc khả thi theo bất kỳ cách thức nào và nó chỉ khó khăn hơn khi số lượng học sinh làm bài kiểm tra tăng lên. Điều này tương tự như những thách thức mà Ethereum Blockchain phải đối mặt khi nó trở nên phổ biến và được sử dụng nhiều cho các giao dịch.
Bây giờ, hãy tưởng tượng rằng thay vì tất cả 50 giám thị đều phải chấm điểm 500 bài kiểm tra, công việc này hiện đã được chia thành nhiều phần. Mỗi giám thị chỉ chịu trách nhiệm chấm điểm cho 10 bài thi và điểm mà mỗi giám thị đánh giá là điểm cuối cùng dành cho các học sinh đó. Nếu giám thị không chắc chắn về cách chấm điểm cho một câu hỏi cụ thể, giám thị sẽ tham khảo ý kiến của các giám thị khác để biết thêm thông tin trước khi chấm điểm.
Tóm lại, đây là vấn đề hiện tại với blockchain Ethereum và cách Sharding có thể giải quyết vấn đề 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ấn đề
Chuỗi khối Ethereum hiện yêu cầu tất cả các nút trên mạng phải lưu trữ và xử lý tất cả các giao dịch diễn ra. Nói cách khác, vấn đề với blockchain Ethereum là nó đòi hỏi tất cả các nút phải hoạt động đầy đủ. Mặc dù quá trình này sẽ đảm bảo tính bảo mật cao hơn vì mỗi giao dịch phải được xử lý bởi từng nút, nhưng đây là một phương pháp rất chuyên sâu và không thể mở rộng khi cộng đồng Ethereum đang phát triển.
Số lượng các nút càng lớn thì blockchain càng chậm và càng ít khả năng mở rộng.
Hiện tại, blockchain Ethereum phải chọn để đáp ứng hai trong số ba thuộc tính dưới đây:
- Tính bảo mật
- Khả năng mở rộng
- Khả năng phân cấp
Trạng thái hiện tại của blockchain Ethereum có thể đáp ứng thuộc tính thứ nhất và thứ 3 nhưng lại rất yếu khi đề cập đến khả năng mở rộng. Khối lượng giao dịch đã tăng lên rất nhanh và khả năng mở rộng là một mối đe dọa thực sự đối với việc phổ cập mạng Etherum, vì vậy các nhà phát triển Ethereum đã quyết định rằng nên hy sinh một chút tính bảo mật. Sau đó, họ có thể mở rộng quy mô blockchain bằng cách tăng tốc độ giao dịch.
Giải pháp: Sharding
“Hãy tưởng tượng rằng Ethereum đã bị chia thành hàng ngàn hòn đảo. Mỗi hòn đảo có thể tự mình thực hiện các chức năng. Mỗi hòn đảo đều có những đặc trưng độc đáo riêng và tất cả mọi người đều thuộc hòn đảo đó, tức là các tài khoản, có thể tương tác với nhau và họ có thể tự do thưởng thức tất cả các tính năng của nó. Nếu họ muốn liên lạc với các đảo khác, họ sẽ phải sử dụng một số loại giao thức”
Sharding, theo cách hiểu truyền thống, là một loại phân vùng tách các cơ sở dữ liệu lớn thành các phần nhỏ hơn, nhanh hơn được gọi là shard. Một shard theo định nghĩa chỉ là một phần nhỏ của một phân vùng lớn hơn.
Làm thế nào mà nó lại liên quan đến blockchain Ethereum cần một câu trả lời rất phức tạp và học thuật. Bài viết này đơn giản hóa rất nhiều khái niệm. Về cơ bản, sharding liên quan đến việc chia tách mạng thành nhiều phân vùng nhỏ được gọi là shard và mỗi shard chứa các phần dữ liệu giao dịch độc lập. Những gì cộng đồng Ethereum đang cố gắng đạt được với việc thực hiện Sharding là bỏ đi yêu cầu các giao dịch phải được kiểm tra bằng tất cả các nút. Sharding sẽ diễn ra độc lập trên lớp giao thức.
Với việc triển khai Sharding, vấn đề trên có thể được giải quyết bằng cách để mỗi nút lưu trữ một tập hợp dữ liệu con và chỉ có nút đó sẽ xác minh các giao dịch đó, thay vì tất cả các giao dịch tuần tự diễn ra trên blockchain do bản chất không song song của Máy ảo Ethereum (EVM).
Khi một nút cụ thể yêu cầu thông tin không được lưu trữ trong khối riêng của nó, nó sẽ tìm ở các nút khác có thông tin mà nó yêu cầu. Đây là cơ chế để các shard trao đổi thông tin với nhau.
Hiện tại, blockchain Ethereum cho phép 8 giao dịch mỗi giây (TPS) trong khi đó, Sharding sẽ cho phép hàng nghìn TPS mà không cần qua tất cả các nút, điều này cũng sẽ làm giảm đáng kể kích thước tổng thể. Tuy nhiên, quá trình này không tin tưởng vì các nút có phụ thuộc hơn là độc lập. Đây là sự hy sinh tính bảo mật để tăng khả năng mở rộng cho hệ thống.
Tại sao Proof-of-Stake cần thiết cho sharding?
Lỗ hổng bảo mật chỉ là cố hữu nếu Ethereum tiếp tục sử dụng cơ chế đồng thuận Proof-of-Work. Vì PoW dựa vào năng lượng hash, và cần phải có một cách để ngăn cản kẻ xấu thao túng mạng lưới với phần lớn năng lượng hash, xét đến việc dữ liệu giao dịch hiện đang ở dạng shard hoặc mảnh nhỏ hơn. Nói cách khác, khả năng bị tấn công sẽ tăng lên khi năng lượng hash cho một phân đoạn nhất định thấp hơn đáng kể so với năng lượng cần thiết để cung cấp cho toàn bộ mạng.
Đây là thời điểm để Proof-of-Stake chứng minh tầm quan trọng trong việc đảm bảo một EVM hoàn chỉnh an toàn, phân cấp và có thể mở rộng. PoS sẽ cho phép Ethereum loại bỏ khả năng tập trung năng lượng hash của một kẻ tấn công vào một shard duy nhất, thông qua việc sử dụng mẫu ngẫu nhiên hiệu quả. Một hệ thống dựa trên Proof-of-Stake sẽ loại bỏ lỗ hổng bảo mật ‘51% Attack’ – một rủi ro có thể xảy ra nếu Sharding được thực hiện trong một hệ thống dựa trên Proof-of-Work.
Theo tapchibitcoin.vn/cryptovest