1. Vấn đề về độ mở rộng
Chi phí vận hành một nút trong mạng Bitcoin thì khá rẻ, thậm chí những thiết bị khá đơn giản cũng có thể tham gia được. Tuy nhiên, do có đến hàng nghìn nút cần phải cập nhật với nhau liên tục, nhiều hạn chế vẫn phát sinh.
Số giao dịch tối đa được quy định trên chuỗi để mạng lưới không phát triển ở kích cỡ quá lớn. Nếu chuỗi quá lớn hay quá nhanh, các nút trên mạng lưới có thể sẽ không theo kịp. Hơn thế nữa, nếu các khối quá lớn, chúng không thể chuyển tiếp nhanh chóng xung quanh mạng lưới.
Kết quả là, chúng ta gặp phải tình trạng nghẽn hệ thống. Một mạng lưới blockchain có thể được xem như một dịch vụ tàu lửa, xuất phát tại các lộ trình đã được cài đặt sẵn. Trên toa tàu, chỉ có số ghế giới hạn, và để có vé, hành khách phải đặt trước. Nếu tất cả mọi người cùng muốn lên tàu ở cùng một thời điểm, giá sẽ tăng cao. Tương tự, một mạng lưới mà có nhiều giao dịch đang chờ xử lý sẽ yêu cầu người dùng phải trả phí cao hơn để giao dịch của họ được xử lý nhanh hơn.
Chúng ta có một giải pháp đó là làm cho toa tàu to hơn. Điều này có nghĩa, chúng ta có nhiều ghế hơn, băng thông lớn hơn và giá vé rẻ hơn. Tuy nhiên, chúng ta cũng không biết chắc rằng liệu như vậy đã đủ chưa? Những chiếc toa tàu không thể cứ rộng ra mãi được, giống như các khối hay giới hạn khối có thể rộng ra đến vô cung được, thậm chí, điều này còn khiến cho việc vận hành nút trở nên đắt đỏ hơn, bởi họ cần có ổ cứng với giá thành cao hơn để đồng bộ hóa với hệ thống.
Nhà sáng lập Ethereum – Vitalik Buterin- đã đặt tên thách thức mà các blockchain đang gặp phải là “Scalability Trilemma” (Bộ 3 bất khả thi ). Anh mô tả rằng mỗi giao thức phải đánh đổi giữa khả năng mở rộng, bảo mật và tính phi tập trung. Tức ba tính chất trên không dễ đạt được, nên bằng việc tập trung vào 2 tính chất, tính chất thứ 3 sẽ yếu thế hơn.
Vì lí do này, nhiều người thấy rằng khả năng mở rộng có thể cải thiện thông qua hình thức off-chain, trong khi tính bảo mật và phi tập trung có thể tối ưu trên blockchain.
2. Các giải pháp mở rộng off-chain
Nâng cấp khả năng mở rộng off-chain cho phép các giao dịch được thực hiện àm không có liên quan trực tiếp tới mạng lưới blockchain. Các giao thức được xây dựng trên mạng lưới cho phép người dùng gửi và nhận tiền, trong khi không cần thực hiện trên chuỗi chính. Chúng ta sẽ đi sâu vào hai trong số những nâng cấp danh tiếng nhất: chuỗi cạnh (sidechain) và kênh thanh toán.
2.1. Giới thiệu về sidechain
- Sidechain là gì?
Một sidechain là một blockchain riêng biệt. Tuy nhiên, chuỗi này không đứng một mình, mà được gắn vào một chuỗi chính. Sidechain và chuỗi chính liên hệ tương quan với nhau, có nghĩa là các tài sàn sẽ di chuyển tự do từ chuỗi này sang chuỗi kia.
Có nhiều cách để đảm bảo nguồn tiền được chuyển qua lại. Trong một vài trường hợp, các tài sản được chuyển từ chuỗi chính bằng việc nạp vào một địa chỉ đặc biệt. Tài sản đó chưa hẳn đã được gửi đi mà sẽ bị khóa tại địa chỉ đó, và có một lượng tiền tương ứng được phát hành trên chuỗi cạnh đó. Hoặc có cách nhanh hơn là chúng ta gửi đến một bên thứ 3 giúp trao đổi khoản nạp trên chuỗi cạnh này.
- Sidechain hoạt động như thế nào?
Giả sử một người bạn của chúng ta là Alice có 5 BTC. Cô muốn chuyển đổi một lượng tiền tương ứng trên một sidechain - chúng ta có thể gọi chúng là những đồng sidecoin. Sidechain có thể được neo hai chiều, có nghĩa là người dùng có thể chuyển đổi tài sản từ chuỗi chính sang chuỗi cạnh và ngược lại.
Chúng ta phải nhớ rằng sidechain là một blockchain riêng biệt. Do đó, mỗi sidechain sẽ có những khối, nút và cơ chế xác thực khác nhau. Để lấy được các đồng sidecoin, Alice sẽ gửi 5 BTC đó đến một địa chỉ khác. Người sở hữu chuỗi đó sẽ ghi lại địa chỉ chuỗi cạnh của Alice, và đưa cô đồng coin tương ứng tại chuỗi cạnh khi anh ta nhận được BTC của Alice. Có một cách thay thế khác được lập ra để giảm thiểu tối đa việc phải “tin cậy” giữa hai bên bằng các hệ thống sẽ tự động ghi lại và gửi Alice sidecoin khi phần mềm đó xác nhận việc thanh toán.
- Giải pháp mở rộng đến từ sidechain
Alice giờ đã chuyển đổi từ BTC sang sidecoin, nhưng cô luôn có thể chuyển ngược lại (nếu muốn). Hiện tại cô đã thâm nhập vào chuỗi cạnh, và cô hoàn toàn có thể giao dịch trong một blockchain riêng biệt. Cô có thể gửi và nhận sidecoin cho/từ người khác (tương tự trong chuỗi chính).
Ví dụ, cô có thể mua một chiếc áo hoodie của Binance từ Bob. Xong xuôi, cô có thể chuyển 4 đồng sidecoin đó về BTC bằng cách gửi chúng tới một địa chỉ đặc biệt. Sau khi giao dịch được xác nhận, 4 BTC ban đầu sẽ được mở khóa và chuyển đến địa chỉ ví của Alice trong chỗi chính.
- Tại sao chúng ta sử dụng sidechain?
Bạn có lẽ đang thắc mắc tại sao Alice lại không sử dụng blockchain của Bitcoin?
Câu trả lời tương đối đơn giản rằng sidechain có thể xử lý được một số vấn đề mà Blockchain của Bitcoin đang gặp phải. Các blockchain là một hệ thống được thiết kế mang tính đánh đổi. Trong khi Bitcoin là đồng tiền mã hóa phi tập trung và bảo mật nhất thì thông lượng của Bitcoin lại cực kì kém. Trong khi giao dịch trên blockchain của Bitcoin khá nhanh so với các hệ thống truyền thống khác, nó lại khá chậm khi đêm ra so sánh với các blockchain khác. Mỗi khối mất đến 10 phút để đào, và chi phí sẽ ngày càng tăng cao khi mạng lưới bị nghẽn.
Tuy nhiên đây không hẳn là một điều cần thiết, đặc biệt trong việc thanh toán những hóa đơn nhỏ lẻ hàng ngày. Nếu Alice mua một cốc café, cô mà đợi thanh toán được xác nhận xong thì cốc café đã nguội mất rồi.
Sidechain thì lại khác, trên thực tế, chúng không cần dùng đến cơ chế đồng thuận PoW. Chúng có thể sử dụng bất cứ cơ chế đồng thuận nào, chỉ cần 1 nút xác nhận. Bạn có thể cập nhật nâng cấp thêm bất cứ tính năng nào mà chuỗi chính không có, tạo ra những khối lớn hơn và nhanh hơn.
Điều thú vị là các sidechain đôi khi có nhiều lỗi nguy hiểm mà không ảnh hưởng đến chuỗi chính, cho phép chúng được dùng trong thử nghiệm và triển khai các tính năng mà đòi hỏi đồng thuận từ đa số các nút trong mạng lưới.
Nếu người dùng không thấy thoải mái với việc “đánh đổi”, các chuỗi cạnh có thể giúp ích rất nhiên trong việc cải thiện khả năng mở rộng hiệu quả. Các nút ở chuỗi chính không cần phải lưu trữ mọi giao dịch từ sidechain.
2.2. Giới thiệu về kênh thanh toán
- Kênh thanh toán là gì?
Kênh thanh toán trên bề mặt có cùng mục tiêu cải thiện khả năng mở rộng như chuỗi cạnh, nhưng về bản chất lại hoàn toàn khác biệt. Điểm giống là chúng cũng đưa các giao dịch ra khỏi chuỗi chính để tránh tình trạng chuỗi bị nghẽn, còn khác ở chỗ kênh thanh toán không cần dùng một blockchain riêng biệt.
Một kênh thanh toán cần một hợp đồng thông minh cho phép người dùng giao dịch mà không cần đưa thông tin giao dịch lên blockchain, bằng cách sử dung một thỏa thuận (lập trình) giữa hai bên.
- Kênh thanh toán hoạt động thế nào?
Trong mô hình tương tự Lightning Network, 2 bên ban đầu sẽ nạp coin vào một địa chỉ mà hai bên cùng sở hữu. Đây là một địa chỉ đa chữ kí, yêu cầu đầy đủ chữ kí của các bên để thực hiện giao dịch. Nếu Alice và Bob muốn chuyển tiền, họ cùng phải có chữ kí lên địa chỉ đó.
Nếu cả Alice và Bob, mỗi bạn nạp 10 BTC đến một địa chỉ nhất định, sẽ có một bản số dư ghi rằng Alice và Bob, mỗi người có 10 BTC. Nếu Alice muốn gửi Bob một BTC, họ có thể cập nhật bản số dư đó. Họ không cần phải cập nhật lên blockchain khi phát sinh giao dịch.
- Một kênh thanh toán hoạt động thế nào?
Đến một thời điểm nào đó, khi Alice chỉ còn 5BTC, còn Bob có 15 BTC. Họ có thể tạo một giao dịch để ghi nhận số dư của các bên, kí và đưa lên mạng lưới.
Alice và Bob có thể có 10, 100, hay 1000 giao dịch trong bản số dư. Liên quan đến mạng chính, họ chỉ cần có 2 giao dịch, một giao dịch chuyển quỹ ban đầu, và một giao tái sắp xếp số dư khi các giao dịch trước đó được hoàn thành. Ngoài hai giao dịch trên, các giao dịch khác hoàn toàn miễn phí vì diễn ra off-chain. Alice và Bob không cần trả phí đào cũng không cần đợi xác nhận khối.
Tình huống này diễn ra phù hợp với mối quan hệ hợp tác, chứ không phải người lạ. Tuy nhiên, chúng ta có thể tạo lập phạt các bên không tuân thủ.
- Kênh thanh toán
Các kênh thanh toán rất phù hợp cho những cá nhân cần chuyển tiền cho nhau với mật độ cao. Một mạng lưới các kênh này khi kết nối với nhau co thể giúp Alice gửi tiền đến một người mà cô không hề có kết nối. Nếu Bob mở kênh thanh toán với Carol, Alice có thể thanh toán cho Carol nếu muốn. Và mở rộng hơn. Từ đó chúng ta có thể suy ra mạng lưới đa kênh từ nhiều người dùng.
2.3. Giới thiệu về Ethereum Plasma
Đây cũng là một giải pháp được đưa ra bởi Vitalik Buterin, giúp cải thiện khả năng mở rộng trong chuỗi chính của Ethereum. Tuy có cùng chức năng nhưng Plasma và Lightning Network lại có nhiều điểm khác biệt về mặt kĩ thuật.
- Plasma vận hành thế nào?
Ý tưởng chính của Ethereum Plasma là thiết lập một khung các chuỗi cạnh giao tiếp và tương tác với chuỗi chính (trong trường hợp này là chuỗi khối Ethereum). Các chuỗi này được thiết kế để hoạt động như một cây blockchain, được sắp xếp theo thứ bậc theo cách có thể tạo ra nhiều chuỗi nhỏ hơn trên đỉnh của chuỗi chính. Những chuỗi nhỏ hơn cũng được gọi là chuỗi Plasma hoặc chuỗi con. Lưu ý rằng chuỗi sidechains và chuỗi Plasma tương tự nhau, nhưng không giống nhau.
Cấu trúc Plasma được xây dựng thông qua việc sử dụng các hợp đồng thông minh và cây Merkle, cho phép tạo ra một số chuỗi con không giới hạn - về cơ bản là các bản sao nhỏ hơn của chuỗi khối Ethereum gốc. Trên đầu mỗi chuỗi con, có thể tạo ra nhiều chuỗi hơn và đây là thứ tạo nên cấu trúc giống như cây.
Về cơ bản, mỗi chuỗi con Plasma là một hợp đồng thông minh có thể tùy chỉnh, có thể được thiết kế để hoạt động theo cách riêng lẻ, phục vụ các nhu cầu khác nhau. Điều này có nghĩa là các chuỗi có thể cùng tồn tại và hoạt động độc lập. Cuối cùng, Plasma sẽ giúp các doanh nghiệp và công ty có thể thực hiện các giải pháp có thể mở rộng theo nhiều cách khác nhau, theo bối cảnh và nhu cầu cụ thể của họ.
Do đó, nếu Plasma được phát triển và triển khai thành công vào mạng Ethereum, chuỗi chính sẽ ít bị tắc nghẽn vì mỗi chuỗi con sẽ được thiết kế để hoạt động theo cách riêng biệt hướng tới các mục tiêu cụ thể - không nhất thiết liên quan đến các mục tiêu của chuỗi chính. Do đó, các chuỗi con sẽ làm giảm bớt công việc chung của chuỗi chính.
3. Kết luận
Chúng ta vừa mới thảo luận 3 đường hướng cải thiện khả năng mở rộng cho phép các giao dịch được thực hiện mà không cần đến mạng blockchain chính. Cả ba kênh đều chưa trưởng thành nhưng cũng sẽ giúp cải thiện những điểm yếu mà blockchain hiện nay đang gặp phải. Hãy cùng đón xem đâu sẽ là biện pháp hữu hiệu giúp cải thiện những vấn đề trên.
Đọc thêm: