Ethereum sẽ mở rộng như thế nào?

Abraham 27/02/2018

Như những public blockchain khác, Ethereum luôn muốn hỗ trợ được nhiều người dùng nhất có thể.

Nhưng vấn đề là, hiện tại, chúng ta không biết đâu là giới hạn của nền tảng này.

Bởi vì giới hạn hard-code về tính toán mỗi block, blockchain của Ethereum hiện tại chỉ hỗ trợ khoảng 15 giao dịch/s, còn Visa thì tuyên bố họ xử lý 45.000 giao dịch/s.

Hạn chế này của Ethereum và những hệ thống blockchain khác đang là đề tài thảo luận giữa các nhà phát triển và các học giả.

Trong khi các nhà phát triển Ethereum có vẻ như muốn nhấn mạnh nền tảng smart contract này linh hoạt và khác biệt thế nào so với Bitcoin, thì đây không phải là đặc điểm duy nhất liên quan đến khả năng mở rộng network.

Dù hơi thất vọng một tý, nhưng chúng ta vẫn còn hy vọng ở các giải pháp đang được đề xuất nhưng chưa được tích hợp vào phần mềm.

1. Tại sao mở rộng Ethereum lại khó đến vậy?

Ethereum và Bitcoin sử dụng kết hợp nhiều thủ thuật công nghệ để đảm bảo rằng họ lưu trữ chính xác ai sở hữu bao nhiêu mà không cần một cơ quan tập trung như các cơ sở dữ liệu truyền thống.

Vấn đề là, blockchain luôn phải giữ cân bằng trong khi số lượng người dùng lại tăng lên chóng mặt (đặc biệt là đa số người dùng sử dụng hệ thống chỉ để mua cafe hay chạy ứng dụng mà thôi).

Là vì Ethereum phụ thuộc vào các node trong network, mỗi node lưu trữ toàn bộ lịch sử giao dịch Ethereum cùng với tình trạng hiện tại của các tài khoản, hợp đồng và dung lượng bộ nhớ. Điều này thật sự là một nhiệm vụ cồng kềnh, đặc biệt là khi số lượng giao dịch tăng chóng mặt với tỷ lệ 10 – 12 giây trong một block mới.

Điều đáng lo ngại là nếu nhà phát triển làm tăng kích cỡ của mỗi block để phù hợp hơn với các giao dịch hiện nay, thì dữ liệu mà node cần phải lưu trữ cũng sẽ tăng lên – cách này rất hiệu quả để đá người khác khỏi network vì không phải ai cũng có khả năng trang bị thiết bị với yêu cầu dung lượng bộ nhớ lớn đến vậy. Và đến một lúc nào đó, khi dữ liệu mỗi node lưu trữ là quá lớn, sẽ chỉ có một ít công ty lớn đủ nguồn lực để chạy nó mà thôi.

Dẫn đến tính phân quyền của Ethereum bị phá vỡ.

Mặc dù sự bất tiện này, chạy một node đầy đủ dữ liệu lại là cách tốt nhất để người dùng có lợi thế từ tính bảo mật và an toàn của blockchain. Làm cho việc điều hành các node khó khăn hơn sẽ giới hạn được số lượng người có thể tự xác minh giao dịch của họ.

Nói cách khác, hiện tại phải đánh đổi giữa tính phi tập trung và khả năng mở rộng, nhưng các nhà phát triển Ethereum đang tìm kiếm hướng đi để giải quyết vấn đề này.

2. Sharding

Một vài dự án giải quyết những khía cạnh khác nhau về khả năng mở rộng Ethereum đã đi vào hoạt động.

Như đã đề cập, một vấn đề là mỗi node cần phải lưu trữ tình trạng mới nhất của mỗi tài khoản trên network. “Sharding” lấy ý tưởng từ công nghệ mở rộng truyền thống gọi là “phá vỡ cơ sở dữ liệu” “database sharding” – cách này chia cơ sở dữ liệu thành từng mảnh và đặt mỗi phần vào một máy chủ (server) khác nhau.

Mục tiêu của sharding là để tách dữ liệu ra khỏi các node “quá tải” – những node lưu trữ toàn bộ tình trạng của network và mỗi giao dịch xảy ra.

Thay vào đó, mỗi node lưu trữ một tập con của dữ liệu này và chỉ phải xác minh những giao dịch đó thôi. Nếu một node cần biết về giao dịch hoặc block mà nó không lưu trữ, nó sẽ phải tìm một node khác lưu trữ thông tin đó.

Nhưng lại nảy sinh thêm vấn đề là xử lý giao dịch theo mô hình Sharding không phải là không cần tin tưởng bên thứ ba nào như đặc điểm vốn có của blockchain, vì các node cần phải phụ thuộc vào những node khác nữa.

Ethereum muốn giải quyết vấn đề này bằng cách sử dụng “ưu đãi trong nền kinh tế cryptocurrency” – làm cho các hành động trong một hệ thống phải thực hiện theo cách đúng đắn – trong trường hợp này, là đảm bảo tất cả node trên network đều có đam mê sẵn sàng cung cấp thông tin chính xác cho các node khác.

3. Giao dịch off-chain

Đây là một công nghệ có khả năng mở rộng cao hơn, mượn từ Lightning Network của Bitcoin, một phân lớp top đầu của blockchain – cho thấy internet đa phân lớp hoạt động như thế nào.

Các giao dịch off-chain kiểu Lightning có khả năng mang công nghệ đến gần với người dùng hơn, nhanh chóng và gần như là không giới hạn trong cung, trong khi người dùng không cần phải tin tưởng bất kỳ bên thứ ba trung gian nào.

Dựa theo cách làm này, hầu hết giao dịch sẽ được thực hiện thông qua các kênh thanh toán vi mô off-chain, dời đi gánh nặng phải xử lý trên blockchain.

Theo lý thuyết, có thể thực hiện theo phương án này là vì một bên thanh toán có thể đá giao dịch trở lại blockchain bất cứ khi nào họ muốn, và cả hai bên tham gia giao dịch đều có khả năng kết thúc tương tác giữa họ.

Với ứng dụng này, giới hạn tính toán của Ethereum không cần phải tăng lên quá nhiều, và hi vọng là nó sẽ làm cho những người đam mê với Ethereum truyền thống có thể chạy cả một node đầy đủ dữ liệu.

4. Mở rộng Ethereum mất bao lâu?

Đây là câu hỏi khó trả lời, vì các thử nghiệm về mở rộng Ethereum vẫn đang được tiến hành.

Theo lời nhà sáng lập Vitalik Buterin, mục tiêu lâu dài là làm cho nền tảng Ethereum có thể xử lý giao dịch “ở mức độ mà Visa xử lý được” hoặc trên cả mức đó.

Tuy nhiên, điều này chỉ dựa trên phân tích của Buterin, và các công nghệ đã được phát triển trên public blockchain chứ chưa được một nhóm phát triển nào đứng ra nghiên cứu.

Tóm lại, mặc dù hiện nay Ethereum chỉ có thể xử lý một ít các giao dịch mỗi giây mà thôi, nhưng những kiến trúc sư của nó vẫn có kỳ vọng cao về tương lai của nền tảng này.

Đánh giá