Khả Năng Mở Rộng Blockchain - Sidechain Và Kênh Thanh Toán
Trang chủ
Bài viết
Khả Năng Mở Rộng Blockchain - Sidechain Và Kênh Thanh Toán

Khả Năng Mở Rộng Blockchain - Sidechain Và Kênh Thanh Toán

Nâng cao
Đã đăng Feb 20, 2020Đã cập nhật Feb 9, 2023
9m

Mục lục:


Giới thiệu

Mở rộng (scalability) là khả năng phát triển của hệ thống để đáp ứng nhu cầu giao dịch ngày càng tăng. Với máy tính, bạn có thể tăng hiệu suất bằng cách nâng cấp phần cứng để thực hiện một số tác vụ nhanh hơn. Khi nói đến khả năng mở rộng trong các blockchain, chúng ta nói đến việc tăng cường năng lực xử lý nhiều giao dịch cùng một lúc.
Các giao thức như Bitcoin có nhiều điểm mạnh, nhưng khả năng mở rộng không phải là một trong số đó. Nếu Bitcoin là một cơ sở dữ liệu được quản lý tập trung, rất dễ để tăng tốc độ và thông lượng của mạng. Nhưng các tuyên bố giá trị của Bitcoin (khả năng chống kiểm duyệt) yêu cầu rằng nhiều người tham gia đồng bộ hóa một bản sao của blockchain.


Ba vấn đề nan giải khi mở rộng Blockchain

Việc vận hành một node Bitcoin tương đối rẻ và ngay cả các thiết bị đơn giản cũng có thể làm được. Nhưng vì hàng nghìn node cần cập nhật lẫn nhau, nên có những hạn chế nhất định về dung lượng của chúng. 
Chuỗi có khả năng xử lý khối lượng giao dịch có giới hạn để không cho phép cơ sở dữ liệu phát triển đến kích thước khó sử dụng. Nếu các giao dịch quá lớn và quá nhanh, các node sẽ không thể theo kịp. Hơn nữa, nếu các block quá lớn, chúng không thể được chuyển tiếp nhanh chóng trong mạng.

Kết quả là, chúng ta thấy mình đang gặp phải một điểm nghẽn nào đó. Một blockchain có thể được xem như một dịch vụ xe lửa khởi hành vào những khoảng thời gian đã định. Mỗi toa có số chỗ ngồi giới hạn và để có được vé, hành khách phải đấu giá để đảm bảo có một chỗ ngồi. Nếu tất cả mọi người cố gắng lên tàu cùng một lúc, giá vé sẽ cao. Tương tự, một mạng bị tắc nghẽn với các giao dịch đang chờ xử lý sẽ yêu cầu người dùng trả phí cao hơn để giao dịch của họ được xử lý.

Một giải pháp là làm cho các toa tàu lớn hơn. Điều này có nghĩa là nhiều chỗ ngồi hơn, thông lượng cao hơn và giá vé rẻ hơn. Nhưng không có gì đảm bảo rằng các ghế sẽ không bị lấp đầy như trước đây. Các toa không thể được mở rộng vĩnh viễn, cũng như các block hoặc giới hạn gas của block không thể mở rộng vô hạn. Điều thứ hai là việc duy trì các node duy trên mạng sẽ tốn kém hơn, vì chúng sẽ cần phần cứng đắt tiền hơn để duy trì đồng bộ.

Người tạo ra Ethereum, Vitalik Buterin, đã đặt ra 3 Vấn đề nan giản về khả năng mở rộng (Scalability Trilemma) để mô tả thách thức mà các blockchain phải đối mặt. Anh đưa ra giả thuyết rằng các giao thức luôn phải đánh đổi giữa khả năng mở rộng, bảo mật và tính phi tập trung. Chúng luôn mâu thuẫn với nhau – tập trung quá nhiều vào hai trong số các thuộc tính, thuộc tính thứ ba sẽ bị giảm sút.

Vì lý do này, nhiều người coi khả năng mở rộng là thứ cần đạt được ngoài chuỗi (off-chain), trong khi bảo mật và phi tập trung nên được tối đa hóa t rên chính blockchain.


Các giải pháp mở rộng ngoài chuỗi là gì?

Mở rộng ngoài chuỗi mô tả các cách tiếp cận cho phép các giao dịch được thực hiện mà không làm phình to blockchain. Các giao thức kết nối với chuỗi cho phép người dùng gửi và nhận tiền mà không cần giao dịch xuất hiện trên chuỗi chính. Chúng ta tìm hiểu hai giải pháp đáng chú ý nhất trên mặt trận này: sidechain và kênh thanh toán.


Giới thiệu về sidechain

Sidechain là gì?

Mỗi sidechain là một blockchain riêng biệt. Tuy nhiên, nó không phải là một nền tảng độc lập, vì nó được gắn với chuỗi chính theo một cách nào đó. Chuỗi chính và sidechain có thể tương tác với nhau, có nghĩa là nội dung có thể lưu chuyển tự do từ blockchain này sang blockchain kia.

Có một số cách để đảm bảo rằng tiền có thể được chuyển qua lại. Trong một số trường hợp, tài sản được di chuyển khỏi chuỗi chính bằng cách được gửi vào một địa chỉ đặc biệt. Chúng không thực sự được gửi đi – thay vào đó chúng bị khóa vào địa chỉ này và một số tiền phù hợp được phát hành trên sidechain. Một cách đơn giản hơn (mặc dù là một tùy chọn tập trung) là gửi tiền cho người giám sát, người này sẽ trao đổi tiền ký quỹ để lấy tiền trên sidechain.


Làm thế nào để một sidechain hoạt động?

Giả sử rằng Alice có năm bitcoin. Cô ấy muốn đổi chúng lấy năm đơn vị tương đương trên một sidechain Bitcoin – hãy gọi chúng là các đồng sidecoin. Sidechain được đề cập sử dụng một chốt hai chiều, nghĩa là người dùng có thể chuyển tài sản của họ từ chuỗi chính sang sidechain và ngược lại. 

Hãy nhớ rằng sidechain là một blockchain riêng biệt. Vì vậy, nó cũng sẽ có các blocke, node và cơ chế xác thực. Để có được các sidecoin của mình, Alice sẽ gửi năm bitcoin của cô ấy đến một địa chỉ khác. Người nhận chúng sau đó sẽ cộng 5 sidecoin này vào địa chỉ của cô ấy sau khi họ nhận được bitcoin. Ngoài ra, nó có thể có một số loại thiết lập để tăng độ tin cậy - phần mềm tự động cộng sidecoin vào sau khi nó phát hiện giao dịch thanh toán.



Alice hiện đã chuyển đổi số tiền của mình thành sidecoin, nhưng cô ấy luôn có thể đảo ngược quy trình để lấy lại bitcoin của mình. Bây giờ cô ấy đã tham gia sidechain, cô ấy có thể tự do giao dịch trên blockchain riêng biệt này. Cô ấy có thể gửi sidecoin hoặc nhận chúng từ người khác, giống như cách cô ấy làm trên chuỗi chính.

Ví dụ, cô ấy có thể trả cho Bob một sidecoin cho một chiếc áo khoác Binance. Khi cô ấy muốn lấy lại Bitcoin, cô ấy có thể gửi bốn sidecoin còn lại của mình đến một địa chỉ đặc biệt. Sau khi giao dịch được xác nhận, bốn bitcoin sẽ được mở khóa và chuyển đến địa chỉ mà cô ấy kiểm soát trên chuỗi chính.


Tại sao các sidechain được sử dụng?

Bạn có thể tự hỏi mục đích của điều này là gì. Tại sao Alice không sử dụng blockchain Bitcoin cho tiện?

Câu trả lời là sidechain có thể có những thứ mà blockchain Bitcoin không thể làm được. Blockchain là hệ thống trao đổi được thiết kế cẩn thận. Mặc dù Bitcoin là loại tiền mã hóa phi tập trung và an toàn nhất, nhưng nó không phải là blockchain tốt nhất về mặt thông lượng . Mặc dù giao dịch Bitcoin nhanh hơn các phương pháp thông thường, nhưng nó vẫn tương đối chậm khi so sánh với các hệ thống blockchain khác. Các khối được đào sau mỗi mười phút và phí có thể tăng lên đáng kể khi mạng bị tắc nghẽn.

Phải thừa nhận rằng các khoản thanh toán nhỏ hàng ngày có lẽ không cần tới mức độ bảo mật này. Nếu Alice cần trả tiền cho một ly cà phê, cô ấy sẽ không thể đợi giao dịch này được xác nhận. Cô ấy sẽ phải xếp hàng, và đồ uống của cô ấy sẽ nguội lạnh vào thời điểm nó được giao.

Các sidechain không bị ràng buộc bởi các quy tắc giống nhau. Trên thực tế, chúng thậm chí không cần sử dụng cơ chế đồng thuận Proof of Work để hoạt động. Bạn có thể sử dụng bất kỳ cơ chế đồng thuận nào, tin tưởng vào một trình xác thực duy nhất hoặc bất kỳ một số lượng trình xác thực nào. Bạn có thể thêm các bản nâng cấp không tồn tại trên chuỗi chính, tạo ra các khối lớn hơn và giúp việc thực thi được thực hiện nhanh chóng.

Điều thú vị là, ngay cả khi sidechain có các lỗi nghiêm trọng, chúng vẫn không ảnh hưởng đến chuỗi bên dưới. Điều này cho phép chúng được sử dụng làm nền tảng để thử nghiệm và triển khai các tính năng không đòi hỏi sự đồng thuận từ phần lớn mạng lưới.

Miễn là người dùng hài lòng với sự đánh đổi, các sidechain là một cách hiệu quả để mở rộng quy mô blockchain. Các node của chuỗi chính không cần phải lưu trữ mọi giao dịch từ sidechain. Alice có thể tham gia sidechain bằng một giao dịch Bitcoin, thực hiện hàng trăm giao dịch sidecoin và sau đó thoát khỏi sidechain. Trong quy trình đó, đối với blockchain Bitcoin, Alice chỉ cần thực hiện hai giao dịch – một để vào và một để thoát.

Plasma của Ethereum cũng hoạt động tương tự, nhưng có một số khác biệt lớn. Tìm hiểu thêm: Ethereum Plasma là gì?


Giới thiệu về các kênh thanh toán

Kênh thanh toán là gì?

Các kênh thanh toán hoạt động như một kênh phụ để giúp blockchain tăng khả năng mở rộng - tương tự như sidechain, nhưng về cơ bản chúng rất khác nhau. Giống như các sidechain, các kênh thanh toán đẩy các giao dịch ra khỏi chuỗi chính để ngăn chặn sự cồng kềnh của blockchain. Tuy nhiên, không giống như các sidechain, chúng không yêu cầu một blockchain riêng biệt để hoạt động.

Một kênh thanh toán sử dụng hợp đồng thông minh để cho phép người dùng giao dịch mà không cần xuất bản giao dịch của họ lên blockchain. Nó làm điều này bằng cách sử dụng một thỏa thuận được thực thi bằng phần mềm giữa hai người tham gia.


Kênh thanh toán hoạt động như thế nào?

Trong các mô hình phổ biến như Lightning Network, trước tiên hai bên sẽ gửi tiền vào một địa chỉ mà họ cùng sở hữu. Đây là một địa chỉ đa chữ ký, đòi hỏi hai chữ ký để chi tiêu các khoản tiền. Vì vậy, nếu Alice và Bob tạo ra một địa chỉ như vậy, tiền chỉ có thể được chuyển ra ngoài với sự đồng ý của cả hai.

Giả sử, mỗi người gửi 10 BTC vào một địa chỉ, và địa chỉ ấy hiện có 20 BTC. Sẽ thật dễ dàng để họ giữ một bảng cân đối trong đó ghi rõ rằng Alice và Bob mỗi người có 10 BTC. Nếu Alice muốn tặng Bob một đồng tiền, họ có thể cập nhật nó để nó ghi nhận rằng Alice có 9 BTC, Bob có 11 BTC. Họ sẽ không phải xuất bản lên blockchain ngay cả khi họ tiếp tục cập nhật những số dư này. 



Tuy nhiên, tại một thời điểm phù hợp, giả sử khi Alice có 5 BTC và Bob có 15 BTC. Họ có thể tạo một giao dịch gửi các số dư này đến các địa chỉ thuộc sở hữu của các bên, ký tên và ghi lên blockchain.

Trước đó, Alice và Bob có thể đã ghi lại mười, một trăm hoặc một nghìn giao dịch trên bảng cân đối kế toán của họ. Nhưng đối với blockchain, chúng chỉ thực hiện hai hoạt động trên chuỗi: một cho giao dịch nạp tiền ban đầu và một để phân bổ lại số dư khi tất cả giao dịch hoàn tất. Ngoài hai giao dịch này, tất cả các giao dịch khác đều miễn phí và gần như diễn ra tức thì vì chúng được thực hiện bên ngoài chuỗi. Không có phí phải trả cho các thợ đào và không có xác nhận khối nào cần thực hiện.

Tất nhiên, ví dụ được thảo luận ở trên đòi hỏi cả hai bên phải hợp tác, đây không phải là tình huống lý tưởng nếu họ là những người lạ. Tuy nhiên, các cơ chế đặc biệt có thể được sử dụng để trừng phạt bất kỳ nỗ lực gian lận nào, vì vậy các bên có thể tương tác với nhau một cách an toàn mà không cần sự tin tưởng. 


Định tuyến thanh toán

Rõ ràng, các kênh thanh toán là công cụ thuận tiện khi hai bên có khối lượng giao dịch cao. Ngoài ra chúng còn các ưu điểm khác nữa. Một mạng lưới các kênh này có thể được chia thành nhiều phần, có nghĩa là Alice có thể trả tiền cho một bên mà cô không có các kết nối trực tiếp. Nếu Bob có một kênh mở với Carol, Alice có thể trả tiền cho cô ấy với điều kiện là có đủ tiền. Cô ấy sẽ đẩy tiền về phía kênh của Bob, và Bob sẽ lần lượt đẩy chúng đến Carol. Nếu Carol được kết nối với người tham gia khác, Dan, điều tương tự có thể được thực hiện. 

Một mạng như vậy phát triển thành một cấu trúc liên kết phân tán, nơi mọi người kết nối với nhiều bên ngang hàng. Thường sẽ có nhiều tuyến đường đến một điểm đến và người dùng sẽ chọn tuyến đường hiệu quả nhất. 


Tổng kết

Chúng ta đã thảo luận về hai phương pháp tiếp cận giúp tăng khả năng mở rộng của blockchain, cho phép thực hiện các giao dịch mà không tạo gánh nặng cho blockchain chính. Cả công nghệ sidechain và các kênh thanh toán vẫn chưa hoàn toàn hoàn thiện, nhưng chúng đang được ứng dụng ngày càng nhiều bởi những người dùng muốn khắc phục những nhược điểm của các giao dịch ở lớp cơ sở.

Trong tương lai, khi nhiều người dùng tham gia mạng, điều quan trọng là duy trì tính phi tập trung. Điều này chỉ có thể đạt được bằng cách tạo ra các giới hạn đối với sự tăng trưởng của blockchain, để các node mới có thể dễ dàng tham gia. Những người đề xuất các giải pháp mở rộng ngoài chuỗi tin rằng, theo thời gian, chuỗi chính sẽ chỉ được sử dụng để giải quyết các giao dịch có giá trị cao hoặc để chốt vào/ra khỏi các sidechain và mở/đóng các kênh thanh toán.