Ethereum cũng giống nhiều blockchain khác, luôn muốn hỗ trợ được nhiều người dùng nhất có thể. Vấn đề là thời điểm hiện tại, chúng ta không hề biết đâu là giới hạn của nền tảng này. Bài viết sẽ giới thiệu bạn những vấn đề xoay quanh khả năng mở rộng mạng lưới của Ethereum.
Đặt vấn đề
Ethereum là blockchain nổi danh thứ hai sau Bitcoin, và cũng có một vấn đề tương tự BTC.
Bởi vì giới hạn tính toán mỗi khối đã được code cứng, blockchain Ethereum hiện nay xử lí được khoảng 15 giao dịch mỗi giây. Một so sánh quen thuộc là với hệ thống của thẻ VISA, mạng lưới này xử lí được đến 45,000 giao dịch mỗi giây.
Vấn đề giới hạn của Ethereum và các hệ thống blockchain khác từ lâu đã là một chủ đề được các nhà phát triển và chuyên gia quan tâm.
Các nhà phát triển Ethereum thường nhấn mạnh sự linh hoạt của nền tảng hợp đồng thông minh, khác biệt với Bitcoin. Nhưng dự án này cũng không hề nằm ngoài vấn nạn scalability – tức mở rộng mạng lưới.
Có khá nhiều giải pháp đã được đề xuất, nhưng tới hiện nay vẫn chưa có biện pháp nào được áp dụng vào phần mềm chính thức của Ethereum cả.
Tại sao scaling lại khó như vậy?
Cả Ethereum và Bitcoin đều dùng nhiều cách, nhiều kĩ thuật kết hợp lại để đảm bảo chúng lưu trữ chính xác quyền sở hữu của mỗi người. Mà không cần đến một đơn vị kiểm soát tập trung.
Vấn đề xảy ra là: Rất khó để vừa giữ tính năng này, vừa tăng số lượng người dùng. Đặc biệt khó đến cái tầm nếu muốn dùng tiền mã hoá để mua cà phê, chạy ứng dụng hàng ngày.
Đó là vì Ethereum phụ thuộc vào mạng lưới các “node”. Mỗi node lưu giữ toàn bộ lịch sử giao dịch Ethereum. Cũng như trạng thái hiện tại của số dư tài khoản, hợp đồng. Đây rõ ràng là một nhiệm vụ khá khó khăn. Đặc biệt với tốc độ gia tăng số giao dịch mỗi 10 – 12 giây khi có khối mới.
Điều lo ngại ở chỗ, nếu nhà phát triển nâng kích thước mỗi khối để chứa nhiều giao dịch hơn. Thì node sẽ cần lưu giữ nhiều dữ liệu hơn. Nhiều đến mức có thể “đánh bay” mọi người ra khỏi mạng lưới. Nếu các node phát triển quá lớn, sẽ chỉ có vài công ty lớn đủ nguồn lực để vận hành. <– Sẽ làm suy yếu sự phi tập trung.
Việc vận hành hoàn toàn một node, mặc dù có nhiều trở ngại, nhưng là cách tốt nhất để người dùng có được tính bảo mật và riêng tư. Nếu việc này trở nên khó khăn hơn, có nhiều rào cản hơn cho chúng ta. Thì sẽ hạn chế số người có thể tự xác thực giao dịch.
Nói cách khác, sự phi tập trung hoá và khả năng mở rộng mạng lưới xung đột với nhau. Các nhà phát triển đang cố gắng tìm ra giải pháp xoay chuyển vấn đề.
Giải pháp mở rộng Ethereum: Sharding “Chia để trị”
Có vài dự án mở rộng Ethereum đang triển khai, mỗi dự án giải một bài toán mở rộng khác nhau.
Như đã đề cập phía trên, một bài toán trong số đó là mỗi node cần lưu trạng thái mới của tài khoản trên mạng lưới. “Sharding” lấy ý tưởng từ kĩ thuật mở rộng truyền thống gọi là “database sharding” (chia nhỏ cơ sở dữ liệu). Ý tưởng này chia cơ sở dữ liệu thành nhiều phần và lưu trên các máy chủ khác nhau.
Mục tiêu của sharding là cắt bớt yêu cầu phải có “full” node. Tức những node phải lưu toàn bộ trạng thái của mạng lưới. Cũng như tất cả giao dịch được diễn ra.
Thay vào đó, mỗi node lưu một bộ phận của dữ liệu này và chỉ xác thực số giao dịch đó. Nếu node nào cần thông tin về giao dịch, về block mà nó không lưu. Thì nó sẽ tìm node khác với thông tin cần thiết.
Vấn đề của giải pháp này là nó không hoàn toàn tin cậy. Bởi vì trong mô hình này các node phụ thuộc vào nhau. Bạn hoàn toàn không thể biết node khác chuyển dữ liệu đúng không, chuẩn không.
Ethereum muốn giải quyết bằng cách dùng “phần thưởng kinh tế mã hoá”, hướng người tham gia trong hệ thống hành động theo một luồng nào đó. Trong trường hợp này, cố gắng định hướng các node chuyển dữ liệu hợp lệ cho node khác.
Giải pháp khác cho scaling: Giao dịch ngoài chuỗi khối (Off-chain)
Một ý tưởng khác được truyền cảm hứng từ Mạng Lightning của Bitcoin. Là một lớp phủ thêm trên nền blockchain, mô phỏng các mạng internet nhiều lớp vận hành.
Giao dịch “off-chain” kiểu Lightning giúp đưa công nghệ này gần hơn đến viễn cảnh chúng ta vẫn mong chờ. Đủ nhanh và không giới hạn nguồn cung. Và không cần người dùng tin tưởng bên trung gian nào.
Theo ý tưởng này thì giao dịch được thực hiện trên các kênh thanh toán vi mô ngoài blockchain, giúp đỡ được gánh nặng cho blockchain cơ sở.
Lí do cách này hiệu quả vì trên lí thuyết, các bên có thể đưa giao dịch trở lại blockchain bất cứ lúc nào. Giúp người dùng kết thúc việc thanh toán.
Với tính năng này thì giới hạn tính toán của Ethereum không cần tăng quá nhiều. Và khả quan hơn nữa vì nó vẫn hợp lí, đáng cân nhắc cho độc giả yêu thích có thể tự chạy được full node Ethereum.
Mất bao lâu để có thể nâng cấp thành công?
Đây là một câu hỏi khó. Sẽ cần rất nhiều thử nghiệm nữa trong mảng scaling.
Theo tầm nhìn của nhà sáng lập Ethereum – Vitalik Buterin – mục tiêu dài hạn của nền tảng là có thể xử lí giao dịch ở “tầm của thẻ VISA” hoặc hơn. Tuy nhiên nhiều nhà quan sát bày tỏ nghi ngại rằng đây chỉ là phân tích của Buterin. Và dựa trên những kĩ thuật chưa hề được triển khai qua trên blockchain công khai.
Tóm lại, mặc dù Ethereum hiện tại chỉ có thể xử lí một cơ số giao dịch mỗi giây. Kiến trúc của blockchain này có tương lai sáng và nhiều hi vọng.
Lời kết
Bài viết đã giới thiệu về bài toán mở rộng mạng lưới (scaling) của blockchain Ethereum. Có hai giải pháp chính là chia nhỏ cơ sở dữ liệu và giao dịch ngoài chuỗi khối. Nắm vững kiến thức về bài toán scaling là chìa khoá để hiểu chắc về Ethereum.