State Channel là gì? State Channel là một giải pháp Layer 2 giải quyết vấn đề về mở rộng trên Ethereum đặc biệt về tốc độ giao dịch và phí giao dịch. Vậy State Channel hoạt động như thế nào, có những ưu và nhược điểm gì thì mọi người cùng mình tìm hiểu trong bài viết dưới đây nhé.
Để hiểu hơn về Layer 2 & State Channel, mọi người có thể tham khảo một số bài viết dưới đây:
Tổng Quan Về State Channel
Channel là gì?
Channel là một kênh ngang hàng P2P cho phép các bên tham gia vào Channel có thể thực hiệu không giới hạn các giao dịch và chỉ đăng kết quả cuối cùng lên mạng lưới Blockchain. Channel sẽ sử dụng mật mã để chứng minh rằng dữ liệu tóm tắt từ việc tổng hợp các giao dịch trước đó là hợp lệ. Một Multisig Smart Contract (Hợp đồng thông minh đa chữ kí) đảm bảo các giao dịch được kĩ bởi các bên tham gia là chính xác.
Mỗi Channel sẽ được quản lý bởi một Multisig Smart Contract trực tiếp trên Ethereum. Để mở một Channel, người tham gia sẽ triển khai một Multisig Smart Contract rồi gửi tiền vào. Để có thể giao dịch off-chain nhanh chóng và tự đo thì các bên tham gua cùng kí vào bản câphj nhật trạng thái để khởi tạo trạng thái của Channel.
Để đóng Channel, những người tham gia gửi trạng thái cuối cùng của kênh. Sau đó, Multisig Smart Contract sẽ trả lại tiền theo số dư cho các bên tham gia tại thời điểm trạng thái cuối cùng của kênh. Channel trong Blockchain được chia làm 2 loại là Payment Channel và State Channel.
Payment Channel là gì?
Payment Channel là một công nghệ cho phép hai người dùng thực hiện nhiều giao dịch giữa họ mà không cần phải đăng mỗi giao dịch lên Blockchain. Điều này giúp giảm tải cho Blockchain và tăng tốc độ giao dịch. Payment Channel hoạt động như một sổ cái hai chiều được duy trì bởi hai người dùng. Khi kênh được mở, mỗi người dùng sẽ khóa một số tiền nhất định vào một hợp đồng thông minh trên Blockchain. Sau đó, họ có thể thực hiện các giao dịch giữa họ mà không cần phải đăng các giao dịch đó lên Blockchain.
Khi một người dùng muốn rút tiền từ kênh, họ sẽ gửi một giao dịch lên blockchain để giải quyết kênh. Giao dịch này sẽ xác nhận tất cả các giao dịch đã thực hiện trong kênh và phân phối số tiền còn lại cho mỗi người dùng.
State Channel là gì?
State Channel về bản chất tương tự như Payment Channel, tuy nhiên Payment Channel có một nhược điểm đó chính là việc chuyển đổi trạng thái chung của Channel nên State Channel được tạo ra để giải quyết vấn đề này của Payment Channel.
State Channel hoạt động như một lớp giữa blockchain và người dùng. Khi kênh được mở, mỗi người dùng sẽ khóa một số tiền nhất định vào một hợp đồng thông minh trên blockchain. Sau đó, họ có thể thực hiện các giao dịch giữa họ mà không cần phải đăng các giao dịch đó lên blockchain. Khi một người dùng muốn rút tiền từ kênh, họ sẽ gửi một giao dịch lên blockchain để giải quyết kênh. Giao dịch này sẽ xác nhận tất cả các thay đổi trạng thái đã thực hiện trong kênh và phân phối số tiền còn lại cho mỗi người dùng.
So sánh giữa State Channel và Payment Channel
Đặc điểm | Payment Channel | State Channel |
---|---|---|
Mục đích | Cho phép người dùng thực hiện các giao dịch với chi phí rẻ và tốc độ nhanh | Cho phép người tham gia tương tác với nhau và thay đổi trạng thái cỷa một Smart Contract. |
Cách thức hoạt động | Sử dụng một sổ cái hai chiều để ghi lại các giao dịch | Sử dụng hợp đồng thông minh để ghi lại trạng thái các tương tác |
Ứng dụng | Thanh toán, trò chơi | Trò chơi, ứng dụng phức tạp và tương tác phi tập trung |
Ưu điểm của State Channel đó là có thể được sử dụng để thực hiện các tương tác phức tạp hơn, chẳng hạn như chơi game hoặc tương tác với các hợp đồng thông minh hay có thể giúp giảm tắc nghẽn Blockchain hiệu quả hơn Payment Channel.
Cơ Chế Hoạt Động Của State Channel
Tổng quan về cơ chế hoạt động của State Channel
Cơ chế hoạt động của State Channel bao gồm một số hoạt động như sau:
- Gửi tiền & mở Channel
- Giao dịch và tương tác trong Channel
- Đóng Channel
- Giải quyết những tranh chấp phát sinh
Mở Channel
Các bên tham gia cùng nhau khởi tạo một hợp đồng thông minh trên chuỗi, gửi tiền vào trong đó và cũng phải ký xác nhận trạng thái ban đầu của kênh. Những người tham gia có thể giao dịch tự do với tốc độ gần như là ngay lập tức và với phí giao dịch cực kì rẻ. Cho đến khi kênh được đóng thì lúc đó dựa trên trạng thái cuối cùng các bên tham gia nhận lại đúng phần của mình.
Khoản tiền gửi vào Channel cũng được coi là khoản thế chấp để tránh các hành vi độc hại của các bên tham gia. Nếu như bên tham gia có những hành động độc hại có thể bị phạt một phần hoặc toàn bộ tài sản đã gửi vào trong Channel.
Sử dụng Channel
Khi Channel được khởi chạy các bên tham gia sẽ giao dịch thông qua việc kí giao dịch và gửi giao dịch cho nhau để phê duyệt. Bản thân các bên tham gia cũng phải kí để cập nhật trạng thái mới nhất của Channel. Mỗi giao dịch sẽ bao gồm một số thông tin như sau:
- Nonce: tương tự như ID của giao dịch là duy nhất để đánh dấu giao dịch. Với nonce các giao dịch được coi là gian lận sẽ dễ dàng được tìm thấy.
- Trạng thái cũ của kênh.
- Trạng thái mới của kênh.
- Nội dung giao dịch.
Đóng Channel
Đóng kênh là các bên tham gia đồng ý việc gửi trạng thái cuối cùng đã được thống nhất cho Smart Contract trên Ethereum. Nếu như không có vấn đề gì dựa trên số dư cuối cùng trên bản cập nhật trạng thái (state) mới nhất của Channel thì Smart Contract sẽ chia lại tiền theo đúng tỷ lệ cho các bên tham gia. Tuy nhiên, sẽ có một số những vấn đề phát sinh:
- Những người tham gia ở chế độ offline và không đề xuất chuyển đổi trạng thái mạng.
- Người tham gia từ chối kĩ cập nhật trạng thái hợp lệ.
- Người tham gia cố gắng đưa trạng thái cũ cho Smart Contract.
- Người tham gia đề xuất chuyển đổi trạng thái mạng không hợp lệ để người khác kí.
Khi có sự kiện này xảy ra như chế độ giải quyết tranh chấp sẽ được bật và được xử lý bởi Smart Contract.
Giải quyết tranh chấp
Trong bối cảnh khi một bên offline thì bên còn lại hoàn toàn có thể gửi một On-chain Contract để đóng kênh và phân phối tiền dựa trên trạng thái mới nhất của Channel. Chính yếu tố này giúp người tham gia có thể thoát khỏi Channel bất kì lúc nào và không cần sự cho phép hay xuất hiện của bên kia.
Để thoát khỏi Channel, người dùng gửi bản cập nhật trạng thái cuối cùng của Channel cho On-chain Contract. Nếu như bản cập nhật trạng thái cuối cùng có chữ kí của các bên tham gia thì tiền sẽ được phân phối lại cho hai bên. Tuy nhiên, nếu trạng thái được gửi của bên kia mà bên này cho rằng không hợp lệ thì bên còn lại hoàn toàn có thể gửi ra bản cập nhật trạng thái hợp tới On-chain Contract. State Channel được xây dựng để trạng thái mới hơn sẽ luôn vượt trội hơn trạng thái cũ.
Điều này sẽ kích hoạt hệ thống giải quyết tranh chấp trên chuỗi khi đó 2 bên sẽ cùng gửi trạng thái mà họ cho rằng hợp lệ và On-chain Contract sẽ đứng ra phân xử.
Sự Tương Tác Giữa State Channel & Ethereum
Liveness - Khả năng duy trì
Các On-chain Contract sẽ được triển khai trên các Blockchain nền tảng để mở Channel và chịu trách nhiệm về chính Channel đó. Nếu như Contract được triển khai trên Ethereum thì Channel luôn luôn trong tính trạng sẵn sàng.
Còn đối với các Sidechain thì sẽ rủi ro hơn rất nhiều vì mạng lưới Sidechain rất dễ bị tấn công và tổng thương.
Mức độ bảo mật
Có thể nói rằng Ethereum là một trong những Blockchain có sự bảo mật và phi tập trung nhất hiện nay chính vì vậy các Channel được vận hành bởi các On-chain Contract vẫn thừa hưởng được một mức độ phi tập trung và bảo mật nhất định.
Việc On-chain Contract sử dụng bằng chứng gian lận (Fraud Proof) cho phép các bên có thể giao dịch một cách an toàn, không rủi ro mặc dù không có sự tin cậy giữa các bên.
Finality - Tính cuối cùng
Khi On-chain Contract đã xác nhận được trạng thái cuối cùng là hợp lệ thì giao dịch sẽ được diễn ra theo đúng tỷ lệ số dư cuối cùng trên trạng thái và giao dịch này sẽ không thể đảo ngược. Ngay cả trong bối cảnh có một bên cố gắng gian lận mà không thể đưa ra được bằng chứng gian lận của bên còn lại thì hết thời gian thử thác thì tiền vẫn sẽ được gửi theo trạng thái đúng nhất.
Ứng Dụng Của State Channel
Thanh toán nhanh & rẻ
State Channel cho phép xây dựng một kênh thanh toán cực kì nhanh và rẻ hơn rất rất nhiều so với trực tiếp trên on-chain. Một số những ưu điểm khi sử dụng công nghệ State Channel trong thanh toán bao gồm:
- Tốc độ giao dich & Độ trễ: Tốc độ giao dịch trong gần như là ngay lập tức nhanh hơn rất nhiều trên Ethereum.
- Quyền riêng tư: Các giao dịch không được ghi lại trên on-chain nên sẽ phù hợp với những tài khoản thường xuyên tương tác với nhau.
- Chi phí: Vì giao dịch trong Channel không cần sự tham gia của tất cả các Validator chính vì vậy phí giao dịch trong Channel bằng 0. Sẽ chỉ mất phí đóng và mở kênh.
Các giao dịch có giá trị thấp
Nhiều doanh nghiệp phải đối măt với nhiều khoản thanh toán có giá trị thấp nhưng nếu sử dụng dịch vụ của các bên thứ ba thì doanh nghiệp sẽ phải đối diện với một khoản chi phí lớn nhiều khi lớn hơn cả số tiền họ cần thanh toán. Chính vì vậy, State Channel là một giải pháp.
Việc giao dịch trong Channel là không mất phí và người dùng chỉ mất phí khi mở hoặc đóng Channel.
Ứng dụng phi tập trung
Có nhiều giao thức cần sự tương tác nhiều như Gaming, NFT, ENS,... khiến cho giao thức phải đau đầu trong việc làm sao để cải thiện phí giao dịch. Vậy sẽ thế nào với một số trò chơi dành cho hai người 100% on-chain nhưng không mất phí khi giao dịch với nhau mà cũng không cần phải tin tưởng nhau để có thể giao dịch.
Không chỉ vậy, State Channel còn có thể mở rộng cho nhiều người tham gia.
Bên cạnh những ưu điểm mạnh mẽ thì State Channel tồn tại một số nhược điểm như:
- Người dùng trung thực vì một vấn đề nào đó không lưu trữ trạng thái mạng cuối cùng và không thể đưa ra được bằng chứng gian lận. Trong trường hợp này người trung thực vẫn có thể mất tiền.
- Người dùng trung thực vì một vấn đề nào đó đã bị shutdown Internet thì bên gian lận hoàn toàn có thể chiếm lấy số tiền. Một số giải pháp được đưa ra nhưng sẽ làm tăng chi phí sử dụng State Channel.
- Việc đưa tiền vào State Channel làm giảm thanh khoản của chính người dùng trên mạng Ethereum vì chỉ khi nào đóng kênh mới có thể lấy lại tiền.
- Việc giải quyết tranh chấp trên on-chain có thể dẫn tới Người dùng trung thực tốn nhiều thời gian, công sức và tiền bạc.
- Các bên tham gia vào Channel thường được xác định trước nên sẽ rất khó để mở rộng trong dài hạn.
Tổng Kết
State Channel là một giải pháp Layer 2 phù hợp trong việc thanh toán với những đối tượng đã xác định trước. Trong một vài bối cảnh State Channel thật sự hữu dụng nhưng trong mục tiêu hướng đến Mass Adoption thì chúng ta cần nhiều hơn như vậy. Mong rằng qua bài viết này mọi người sẽ hiểu thêm được Channel là gì? Payment Channel là gì? State Channel là gì?
💁 Disclaimer: Tất cả bài viết của Hak Research được cung cấp với mục tiêu là chia sẻ kiến thức và không được xem là lời khuyên đầu tư.
- OpenLayer Là Gì? Tổng Quan Về Tiền Điện Tử OpenLayer - November 20, 2024
- Hermetica Là Gì? Tổng Quan Về Tiền Điện Tử Hermetica - November 20, 2024
- Gevulot Là Gì? Tổng Quan Về Tiền Điện Tử Gevulot - November 19, 2024