tek4

State Channels: Giới Thiệu Về Off-chain Transactions

by - September. 26, 2021
Kiến thức
<blockquote> <p>Trong những năm gần đ&acirc;y, c&ocirc;ng nghệ Blockchain đ&atilde; trở th&agrave;nh một chủ đề được quan t&acirc;m, mặc d&ugrave; sự chấp nhận tr&ecirc;n to&agrave;n thế giới đối với c&ocirc;ng nghệ n&agrave;y vẫn chưa được x&aacute;c định r&otilde; r&agrave;ng do khả năng mở rộng, t&iacute;nh ẩn danh v&agrave; chi ph&iacute; giao dịch của n&oacute;. Trong b&agrave;i viết n&agrave;y, <a href="https://tek4.vn/" target="_blank" rel="noopener">Tek4.vn</a> sẽ c&ugrave;ng bạn t&igrave;m hiểu xem c&aacute;c vấn đề được đề cập ở tr&ecirc;n đang hạn chế việc &aacute;p dụng Blockchain tr&ecirc;n c&aacute;c ứng dụng h&agrave;ng ng&agrave;y như thế n&agrave;o. Ch&uacute;ng ta h&atilde;y giả sử rằng Alice v&agrave; Bob đang chơi một tr&ograve; chơi cờ vua được thiết kế tr&ecirc;n đỉnh cao của c&ocirc;ng nghệ Blockchain. Để thực hiện một nước đi, người chơi bắt buộc phải trả ph&iacute; giao dịch v&agrave; chờ x&aacute;c nhận nước đi tr&ecirc;n Blockchain v&igrave; nước cờ y&ecirc;u cầu thay đổi trạng th&aacute;i v&agrave; thay đổi trạng th&aacute;i cần được cam kết tr&ecirc;n Blockchain. Thời gian x&aacute;c nhận v&agrave; ph&iacute; x&aacute;c nhận như vậy l&agrave;m cho c&ocirc;ng nghệ Blockchain kh&ocirc;ng thể tiếp cận được với những b&agrave;n tay nhỏ b&eacute;. Ngay cả khi ch&uacute;ng t&ocirc;i bỏ qua vấn đề ph&iacute; giao dịch, `` c&aacute;c giải ph&aacute;p Blockchain hiện tại kh&ocirc;ng thể mở rộng cho c&aacute;c ứng dụng phi tập trung (<a href="https://ethereum.stackexchange.com/questions/383/what-is-a-dapp" target="_blank" rel="noopener">DApps</a>). State channels sẽ giải quyết những lo ngại n&agrave;y m&agrave; kh&ocirc;ng l&agrave;m tăng đ&aacute;ng kể rủi ro cho bất kỳ người tham gia n&agrave;o.</p> </blockquote> <p><img class="aligncenter size-full wp-image-8597" src="https://tek4.vn/wp-content/uploads/2021/02/stt.png" alt="State Channels" width="1113" height="580" /></p> <h3>State channels l&agrave; g&igrave;?</h3> <p>State channels l&agrave; một kỹ thuật được thiết kế để cho ph&eacute;p người d&ugrave;ng thực hiện nhiều giao dịch tr&ecirc;n Blockchain như thay đổi trạng th&aacute;i hoặc chuyển tiền m&agrave; kh&ocirc;ng cần cam kết tất cả c&aacute;c giao dịch với Blockchain. Trong State channels truyền thống, chỉ c&oacute; hai giao dịch được th&ecirc;m v&agrave;o Blockchain, nhưng số lượng giao dịch v&ocirc; hạn hoặc gần như v&ocirc; hạn c&oacute; thể được thực hiện giữa những người tham gia. V&iacute; dụ: Trong một tr&ograve; chơi Cờ vua được x&acirc;y dựng tr&ecirc;n c&aacute;c k&ecirc;nh trạng th&aacute;i, nước đi bắt đầu v&agrave; nước đi đ&oacute;ng lại của tr&ograve; chơi cờ vua phải được thực hiện tr&ecirc;n Blockchain. Tất cả c&aacute;c động th&aacute;i kh&aacute;c c&oacute; thể được thực hiện off-chain m&agrave; kh&ocirc;ng cần sự tham gia của Blockchain. C&aacute;c giao dịch off-chain n&agrave;y kh&ocirc;ng y&ecirc;u cầu ph&iacute; với gi&aacute; trị cuối c&ugrave;ng ngay lập tức.</p> <p>Payment channel l&agrave; một trong những state channels, trong đ&oacute; c&oacute; giao dịch chuyển tiền. State channel l&agrave; một hợp đồng th&ocirc;ng minh thực thi c&aacute;c quy tắc được x&aacute;c định trước cho c&aacute;c giao dịch off-chain. Mỗi giao dịch tạo ra một trạng th&aacute;i mới dựa tr&ecirc;n trạng th&aacute;i trước đ&oacute;, được k&yacute; bởi mỗi b&ecirc;n, c&oacute; thể cung cấp bằng mật m&atilde; tr&ecirc;n blockchain. Mọi trạng th&aacute;i mới đều l&agrave;m cho trạng th&aacute;i cuối c&ugrave;ng kh&ocirc;ng hợp lệ v&igrave; hợp đồng th&ocirc;ng minh chỉ thừa nhận trạng th&aacute;i cao nhất l&agrave; trạng th&aacute;i hợp lệ.</p> <p>State channels kh&ocirc;ng c&oacute; 'định hướng' bởi v&igrave; ch&uacute;ng l&agrave; một phi&ecirc;n bản tổng qu&aacute;t v&agrave; mạnh mẽ hơn của c&aacute;c k&ecirc;nh thanh to&aacute;n. H&atilde;y coi k&ecirc;nh một chiều l&agrave; k&ecirc;nh c&oacute; trạng th&aacute;i đơn giản l&agrave; một gi&aacute; trị trạng th&aacute;i: &ldquo;Khoản thanh to&aacute;n của Alice cho Bob&rdquo;. H&atilde;y coi k&ecirc;nh hai chiều l&agrave; k&ecirc;nh c&oacute; hai gi&aacute; trị trạng th&aacute;i: &ldquo;Số dư của Alice&rdquo; v&agrave; &ldquo;Số dư của Bob&rdquo;.</p> <h3>Hoạt động của state channels</h3> <p>Trong ứng dụng state channel, mỗi b&ecirc;n phải k&yacute; một giao dịch k&ecirc;nh ban đầu (opening) v&agrave; gửi tiền theo logic nghiệp vụ của ứng dụng. Người d&ugrave;ng cần phải trả chi ph&iacute; giao dịch được x&aacute;c định trước mỗi khi họ mở một k&ecirc;nh mới hoặc gửi tiền v&agrave;o k&ecirc;nh đang hoạt động. Giao dịch gửi tiền sẽ khấu trừ tiền từ t&agrave;i khoản của người gửi tiền v&agrave; chuyển tiền đ&oacute; đến địa chỉ hợp đồng th&ocirc;ng minh. Cơ chế gửi tiền n&agrave;y sẽ đảm bảo rằng sẽ kh&ocirc;ng c&oacute; chi ti&ecirc;u k&eacute;p xảy ra trong mạng nội bộ hoặc ngo&agrave;i chuỗi. Hợp đồng th&ocirc;ng minh kh&ocirc;ng được ph&eacute;p đ&uacute;c hoặc ti&ecirc;u hủy tiền, do đ&oacute; ở mỗi trạng th&aacute;i hợp lệ, tất cả những người tham gia kết hợp tiền bằng tổng số tiền đ&atilde; gửi kh&ocirc;ng hơn kh&ocirc;ng k&eacute;m. H&igrave;nh dưới thể hiện một &yacute; tưởng chung về c&aacute;c State Channels.</p> <p><img class="aligncenter size-full wp-image-8599" src="https://tek4.vn/wp-content/uploads/2021/02/Blog-gaurav-768x519-1.jpg" alt="" width="768" height="519" /></p> <p>Ch&uacute;ng ta h&atilde;y xem x&eacute;t lại v&iacute; dụ được tr&iacute;ch dẫn ở tr&ecirc;n. Alice v&agrave; Bob muốn mở một k&ecirc;nh thanh to&aacute;n v&igrave; họ đang chơi tr&ograve; chơi tic-tac-toe v&agrave; sau mỗi trận đấu, họ muốn chuyển tiền. Ban đầu, cả hai đều k&yacute; v&agrave;o giao dịch mở v&agrave; đặt 100 v&agrave; 100 tiền mặt v&agrave;o bảng. Alice v&agrave; Bob dự kiến ​​sẽ chỉ trả ph&iacute; giao dịch tại thời điểm mở k&ecirc;nh v&agrave; giờ đ&acirc;y họ c&oacute; thể chơi v&ocirc; số v&ograve;ng tr&ograve; chơi m&agrave; kh&ocirc;ng phải trả ph&iacute; giao dịch với kết quả giao dịch ngay lập tức. Giả sử họ quyết định rời tr&ograve; chơi sau v&ograve;ng thứ n, v&agrave; trạng th&aacute;i mới nhất l&agrave; Alice 75 v&agrave; Bob 125. Alice hoặc Bob c&oacute; thể gửi giao dịch đ&oacute;ng k&ecirc;nh với trạng th&aacute;i mật m&atilde; hợp lệ mới nhất. Sẽ mất một ch&uacute;t thời gian v&agrave; chi ph&iacute; giao dịch để x&aacute;c thực giao dịch đ&oacute;ng n&agrave;y v&agrave; đến lượt giao dịch sẽ gửi tiền mặt trở lại v&iacute; tương ứng.</p> <h3>K&ecirc;nh thanh to&aacute;n mang lại lợi &iacute;ch so với c&aacute;c giao dịch on-chain</h3> <h4>Rẻ</h4> <p>Người tham gia trả ph&iacute; x&aacute;c nhận tại thời điểm mở v&agrave; đ&oacute;ng k&ecirc;nh. Tất cả c&aacute;c giao dịch kh&aacute;c đều miễn ph&iacute; d&ugrave; số lượng giao dịch h&agrave;ng trăm, h&agrave;ng ngh&igrave;n.</p> <h4>Instant Finality</h4> <p>Trung b&igrave;nh, Bitcoin sẽ mất khoảng 10 ph&uacute;t để ho&agrave;n th&agrave;nh giao dịch v&agrave; Ethereum sẽ mất từ ​​15 gi&acirc;y đến 5 ph&uacute;t nếu bạn trả gi&aacute; gas th&ocirc;ng thường. Điều đ&oacute; c&oacute; nghĩa l&agrave; nếu Alice thực hiện một bước đi, tr&ograve; chơi sẽ dừng lại cho đến khi nước đi được x&aacute;c nhận tr&ecirc;n chuỗi. Ngược lại, t&iacute;nh cuối c&ugrave;ng của giao dịch k&ecirc;nh thanh to&aacute;n phụ thuộc v&agrave;o băng th&ocirc;ng của mạng, c&agrave;ng nhiều th&igrave; băng th&ocirc;ng c&agrave;ng nhanh.</p> <h4>Ri&ecirc;ng tư</h4> <p>Tất cả c&aacute;c giao dịch tr&ecirc;n đều được đăng k&yacute; trong sổ c&aacute;i Blockchain v&agrave; c&oacute; sẵn trong phạm vi c&ocirc;ng cộng. Bất kỳ ai cũng c&oacute; thể ph&acirc;n t&iacute;ch c&aacute;c dữ liệu Blockchain n&agrave;y v&agrave; nhận được th&ocirc;ng tin chi tiết về từng c&aacute; nh&acirc;n. Ngược lại, c&aacute;c giao dịch off-chain của state channel kh&ocirc;ng được cam kết trong Blockchain ngoại trừ việc mở v&agrave; đ&oacute;ng c&aacute;c giao dịch mang lại cho người tham gia một mức độ ri&ecirc;ng tư đ&aacute;ng kể.</p> <h4>C&oacute; thể mở rộng</h4> <p>C&aacute;c giao dịch Off-chain kh&ocirc;ng thay đổi trạng th&aacute;i on-chain, do đ&oacute;, ứng dụng k&ecirc;nh thanh to&aacute;n c&oacute; thể mở rộng. V&agrave; nếu ch&uacute;ng ta c&oacute; thể x&acirc;y dựng một mạng lưới c&aacute;c k&ecirc;nh thanh to&aacute;n như <a href="https://raiden.network/" target="_blank" rel="noopener">Mạng Raiden</a> hoặc <a href="https://www.investopedia.com/terms/l/lightning-network.asp" target="_blank" rel="noopener">Mạng Lightning</a>, th&igrave; ch&uacute;ng ta kh&ocirc;ng cần phải mở k&ecirc;nh trực tiếp giữa hai b&ecirc;n nếu c&oacute; một số k&ecirc;nh gi&aacute;n tiếp dẫn đến khả năng mở rộng.</p> <h4>Security</h4> <p>Bảo mật của c&aacute;c trạng th&aacute;i k&ecirc;nh thanh to&aacute;n phụ thuộc v&agrave;o c&aacute;ch hợp đồng th&ocirc;ng minh x&aacute;c thực c&aacute;c trạng th&aacute;i, th&ocirc;ng tin n&agrave;o được đưa v&agrave;o c&aacute;c trạng th&aacute;i như (1) state nonce, (2) smart-contract address, (3) channel Id, (4) state and stakeholder status, v.v. Mỗi người tham gia sẽ tạo một chữ k&yacute; điện tử để x&aacute;c nhận trạng th&aacute;i hiện tại. Mục đ&iacute;ch của việc đưa th&ocirc;ng tin n&agrave;y v&agrave;o trạng th&aacute;i l&agrave; l&agrave;m cho mỗi trạng th&aacute;i trở n&ecirc;n duy nhất tr&ecirc;n to&agrave;n cầu như UUIDS. Địa chỉ hợp đồng th&ocirc;ng minh v&agrave; id k&ecirc;nh, được sử dụng c&ugrave;ng nhau để ngăn chặn c&aacute;c cuộc tấn c&ocirc;ng ph&aacute;t lại trong hợp đồng v&agrave; trong hợp đồng.</p> <h4>Những th&aacute;ch thức c&ograve;n lại</h4> <p>K&ecirc;nh thanh to&aacute;n sẽ kh&oacute;a số tiền đ&atilde; gửi trong hợp đồng th&ocirc;ng minh v&agrave; giải ph&oacute;ng n&oacute; sau khi k&ecirc;nh đ&atilde; đ&oacute;ng. Kh&ocirc;ng ai muốn kh&oacute;a một lượng vốn lớn trong một hợp đồng th&ocirc;ng minh l&agrave;m cho c&aacute;c k&ecirc;nh thanh to&aacute;n trở n&ecirc;n hữu &iacute;ch cho c&aacute;c khoản thanh to&aacute;n vi m&ocirc;. Mỗi state bắt buộc tất cả những người tham gia phải k&yacute;, đ&oacute; l&agrave; l&yacute; do tại sao một người tham gia ngoại tuyến c&oacute; thể dừng việc xử l&yacute; k&ecirc;nh thanh to&aacute;n.</p> <p>&nbsp;</p> <p>Cảm ơn bạn đ&atilde; đọc hết b&agrave;i viết n&agrave;y. Nếu thấy hay v&agrave; hữu &iacute;ch th&igrave; h&atilde;y ủng hộ đội ngũ của Tek4 bằng c&aacute;ch like v&agrave; share b&agrave;i viết n&agrave;y c&aacute;c bạn nh&eacute;!</p> <p>&nbsp;</p> <hr /> <p style="text-align: center;"><em><strong>Fanpage Facebook:</strong>&nbsp;<a href="https://www.facebook.com/tek4.vn/">TEK4.VN</a></em>&nbsp;</p> <p style="text-align: center;"><em><strong>Tham gia cộng đồng để chia sẻ, trao đổi v&agrave; thảo luận:</strong>&nbsp;<a href="https://www.facebook.com/groups/tek4.vn/">TEK4.VN - Học Lập Tr&igrave;nh Miễn Ph&iacute;</a></em></p>