Năm 2017, mạng lưới của Ethereum rơi vào tình trạng tê liệt hai lần liên tiếp với làn sóng ICO và DApp – CryptoKitties.
Điều đó một lần nữa được lặp lại khi DeFi bùng nổ, với sức ảnh hưởng lớn hơn nhiều so với 2017. Điều đó thể hiện rất rõ khi phí giao dịch đã có lúc lên đến $16 cho một giao dịch.
Điều này khiến Ethereum phải gấp rút, đẩy nhanh việc tăng khả năng xử lý giao dịch để có tốc độ giao dịch nhanh hơn với phí giao dịch rẻ hơn.
Vậy, Ethereum đang có những giải pháp nào cho vấn đề mở rộng?
Đó cũng chính là nội dung của Unfolded số thứ 4 – Ethereum Scaling Solutions.
Tổng quan
Trước tiên, vấn đề về khả năng mở rộng của Ethereum đã được mang ra thảo luận từ khá sớm (2015) chứ không phải mới đây.
Khi nhắc đến giải pháp mở rộng của Ethereum sẽ có 2 cách tiếp cận chính đó là mở rộng trên chuỗi (on-chain) và mở rộng ngoài chuỗi (off-chain).
- Mở rộng trên chuỗi (On-Chain Scaling) là giải pháp mở rộng bằng cách tăng sức chứa dữ liệu của chuỗi khối gốc (layer 1). Hiện tại, Ethereum chỉ có một giải pháp duy nhất là Ethereum 2.0
- Mở rộng ngoài chuỗi (Off-Chain Scaling) là các giải pháp giảm áp lực xử lý giao dịch lên chuỗi khối gốc bằng cách xử lý giao dịch trên 1 lớp thứ 2 (layer 2). Một số giải pháp điển hình trên Layer 2 gồm Channels, Sidechain, Plasma, Rollups.
Ethereum 2.0
Ethereum 2.0 sẽ áp dụng Sharding để tăng khả năng xử lý giao dịch bằng cách phân chuỗi khối chia ra làm nhiều “shards” hay phân đoạn khác nhau.
Đồng thời, Ethereum 2.0 sẽ thay đổi cơ chế đồng thuận từ bằng chứng công việc (Proof-of-Work) sang bằng chứng cổ phần (Proof-of-Stake).
Layer 2
Channels
Channels là những giải pháp mở rộng ngoài chuỗi được thảo luận rộng rãi đầu tiên trong cộng đồng Ethereum.
Nó cho phép những người tham gia thực hiện giao dịch ngoài chuỗi (off-chain) nhiều lần trong khi chỉ gửi 2 giao dịch đến chuỗi khối gốc (Layer 1).
Ví dụ: A và B thực hiện giao dịch chuyển tiền cho nhau. Cả A và B sẽ phải khoá 1 lượng ETH vào ví Multisig để mở Channel, sau đó cả 2 có quyền thực hiện bao nhiêu giao dịch tuỳ ý. Sau khi kết thúc, cả 2 đóng channel và nhận lại tiền đã bị khoá trước đó.
Hai loại channel phổ biến nhất đó chính là State Channel và 1 nhánh nhỏ của nó là Payment Channel.
Mặc dù, Channels có khả năng tăng tốc độ xử lý giao dịch lên nhiều lần. Song, nó vẫn có những hạn chế như 1) người tham gia vào channel phải được biết trước 2) số tiền giao dịch phải bị khoá vào 1 ví multisig.
Chính điều đó khiến cho Channels khó áp dụng cho những smart contract có tính chất chung chung.
Một số dự án Channels như Raiden Network (P) Context Network, Counterfactual, Spankchain, Celer Network.
Plasma
Plasma là framework xây dựng DApps có thể mở rộng trên Ethereum được đề xuất bởi Vitalik Buterin và Joseph Poon.
Cấu trúc của Plasma cho phép tạo ra vô số các chuỗi khối con (child chain) có khả năng hoạt động độc lập, giao tiếp, tương tác với chuỗi khối gốc Ethereum bằng cách kết hợp các hợp đồng thông minh và Merkle-Tree.
Việc giảm tải các giao dịch từ chuỗi khối gốc sang chuỗi con khiến cho việc thực hiện giao dịch nhanh và rẻ hơn. Nhưng, Plasma có nhược điểm chính là thời gian rút tiền từ Layer 2 về chuỗi gốc khá lâu.
Những dự án Plasma Framework có thể kể đến như Matic Network, Loom Network, OMG Network.
Sidechains
Sidechains là những blockchain độc lập có quy tắc đồng thuận riêng biêt và có tính tương thích với Ethereum.
Thông qua việc sử dụng máy ảo Ethereum (EVM), các Sidechains có khả năng tương tác với Ethereum như lưu chuyển token, triển khai smart contract… từ chuỗi gốc sang sidechain và ngược lại.
Một số dự án sidechain điển hình có thể kể đến đó là xDAI, POA Network.
Rollups
Rollups là các giải pháp đóng gói các giao dịch trên sidechain thành một giao dịch duy nhất và tạo bằng chứng mật mã, được gọi là SNARK (đối số kiến thức không tương tác ngắn gọn). Chỉ bằng chứng này được gửi đến chuỗi chính.
Hay nói cách khác, Rollups có nghĩa là tất cả trạng thái và lệnh thực thi như xác minh chữ ký, thực hiện hợp đồng… sẽ được xử lý ở sidechains và chuỗi khối gốc Ethereum chỉ lưu trữ dữ liệu giao dịch.
Rollups có 2 loại gồm 1) Zero knowledge (ZK-Rollups) 2) Optimistic Rollups
Điểm khác biệt giữa ZK-Rollups và Optimistic Rollups chính là loại bằng chứng chống giao dịch không hợp lệ (proof) mà mỗi giao thức sử dụng.
ZK-Rollups
ZK-Rollups sử dụng bằng chứng hợp lệ (validity proofs), nghĩa là một trạng thái mới sẽ luôn được hiển thị cho chuỗi khối với bằng chứng rằng thực tế là nó hợp lệ.
Mặc dù ZK-Rollups có tốc độ nhanh hơn Optimistic nhưng chỉ có thể áp dụng với những loại giao dịch đơn giản, khó có tính tương thích với nhiều smart contract có tính phức tạp cao.
Một số dự án điển hình của ZK-Rollups có thể kể đến là zk-Sync, Loopring.
Optimistic Rollups
Optimistic Rollups sử dụng bằng chứng gian lận (fraud proofs), nghĩa là một trạng thái mới được cho là hợp lệ, trừ khi có bằng chứng gian lận được gửi lên chuỗi khối trong một khoảng thời gian nhất định.
Thêm nữa, Optimistic Rollups còn sử dụng máy ảo tương thích với Ethereum có tên là OVM (Optimistic Virtual Machine). Điều này cho phép các dự án áp dụng Optimistic Rollups dễ dàng hơn.
Dự án điển hình của Optimistic Rollups chỉ có Optimism.
Lời kết
Sau nhiều năm nghiên cứu và phát triển những giải pháp mở rộng, Ethereum đã có những giải pháp của mình trong cả ngắn hạn và dài hạn.
Trong dài hạn, hai giải pháp được đánh giá cao đó là Ethereum 2.0 và Rollups.
Bởi, Ethereum 2.0 sẽ giúp cho khả năng mở rộng trên chuỗi khối gốc tăng lên đáng kể và Rollups như Optimism sẽ khuếch đại khả năng đó lên cao hơn nữa.
Hy vọng bài viết này sẽ giúp anh em có cái nhìn tổng quát về những giải pháp mở rộng của Ethereum.
Theo C98