1. Giao thức Sharding là gì?
Ở thời điểm hiện tại, để thực hiện giao dịch trên Blockchain, tất cả các máy tính, hoặc các nút (node) trong mạng phải có xác nhận giao dịch hợp lệ hoặc thực hiện thành công một hợp đồng thông minh – một đoạn mã được lưu trữ trong đó mô tả các điều kiện cần thiết cho giao dịch được thực hiện. Nếu tất cả các nút đạt được sự đồng thuận và kết quả tương tự, giao dịch sẽ được xác nhận. Điều này có nghĩa là cần có thêm thời gian để xử lý các giao dịch trên Blockchain.

Khi nói về Blockchain, nhờ việc sổ cái tự động ghi lại lịch sử giao dịch, các giao dịch luôn được thực hiện với một lớp bảo mật chống sai sót tích hợp. Do đó, Blockchain được dự đoán sẽ là một công nghệ xử lý giao dịch an toàn và hiệu quả trong tương lai. Nói một cách đơn giản hóa là sẽ không cần một hệ thống trung gian như ngân hàng để thực hiện các giao dịch. Mặc dù Blockchain có thể mang lại sự chuyển đổi mô hình kinh doanh và nhiều ứng dụng mới, nhưng vẫn còn tồn tại một vấn đề “nhỏ” đó là khả năng mở rộng của hệ thống Blockchain.
2. Khả năng mở rộng của Blockchain
Trong khi các loại tiền mã hóa đang ngày càng được sử dụng nhiều hơn ở một số quốc gia nhất định, tốc độ xử lí giao dịch của chúng vẫn chưa đủ nhanh để được sử dụng trên quy mô lớn. Cụ thể Bitcoin, loại tiền mã hóa phổ biến nhất hiện nay chỉ có thể xử lý tối đa 7 giao dịch/ giây (tps) trong điều kiện tối ưu. Trong khi đó, con số này của PayPal và VISA lần lượt là 115 tps và 2000 tps, vượt hơn rất nhiều lần so với Bitcoin. Điều đó chỉ ra rằng, công nghệ Blockchain nếu muốn trở thành một cuộc cách mạng trong việc tái cơ cấu hệ thống tài chính thì nó phải chứng minh khả năng mở rộng và xử lý được số lượng giao dịch tối thiểu là bằng VISA hiện nay.
Blockchain Ethereum hiện đang thực hiện một số dự án như Plasma và Raiden nhằm mục đích gia tăng số lượng giao dịch xử lý ngang bằng VISA. Tuy nhiên những dự án này lại dự tính sử dụng các kênh ngoài chuỗi hoặc kênh phụ thay thế để mở rộng hệ thống Blockchain chính. Trong khi đó, đối với các nền tảng Blockchain khác thì tốc độ xử lý giao dịch phụ thuộc vào chức năng và giao thức chúng sử dụng. IOTA tại hiện có thể xử lý 500-800 tps, ngoài ra là Waves đã đạt đến vài trăm giao dịch mỗi giây và Ripple đã đạt trên 13 tps. NEO đang sử dụng công nghệ có tên là Delegated Byzantine Fault Tolerance và hiện tại có thể đạt đến 1000 tps.
Mới đây, một nền tảng Blockchain có tên là Zilliqa cho thấy khả năng xử lý 2488 tps bằng “phương pháp Sharding – một giao thức an toàn được xây dựng theo quy mô trong một mạng lưới phân tán mở và ít yêu cầu quyền truy cập, giúp duy trì khả năng phục hồi và bảo mậ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.
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. 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 đảm bảo tính bảo mật cao hơn, 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
3. 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 thì sẽ phải sử dụng một số loại giao thức khá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 đó 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 thông 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 được tin tưởng vì các nút có thể sẽ phụ thuộc hơn là độc lập.
4. Tại sao Proof-of-Stake cần thiết cho sharding?
Bởi 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. Hay chúng ta cũng có thể hiểu là 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’, rủi ro này 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.
Đọc thêm: