BTC
ETH
HTX
SOL
BNB
Xem thị trường
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

Một bài viết để hiểu hiện trạng của kênh nhà nước

区块记
特邀专栏作者
Bài viết này có khoảng 3265 từ, đọc toàn bộ bài viết mất khoảng 5 phút
Trong bài đăng này, chúng ta sẽ tìm hiểu những kiến ​​thức cơ bản về cách thức hoạt động của các kênh trạng thái và lý do tại sao việc triển khai chúng lại phức tạp.
Tóm tắt AI
Trong bài đăng này, chúng ta sẽ tìm hiểu những kiến ​​thức cơ bản về cách thức hoạt động của các kênh trạng thái và lý do tại sao việc triển khai chúng lại phức tạp.

Lưu ý của biên tập viên: Bài viết này đến từBản ghi khối (ID: BlockchainInsights), được xuất bản với sự cho phép.

Lưu ý của biên tập viên: Bài viết này đến từ

Bản ghi khối (ID: BlockchainInsights)

Bản ghi khối (ID: BlockchainInsights)

, được xuất bản với sự cho phép.

Trong bài đăng này, chúng ta sẽ tìm hiểu những kiến ​​thức cơ bản về cách thức hoạt động của các kênh trạng thái và lý do tại sao việc triển khai chúng lại phức tạp. Chúng ta sẽ thảo luận về cách chúng có thể được sử dụng để thanh toán trên Lightning Network của Bitcoin và cách chúng có thể được tận dụng cho các ứng dụng phức tạp hơn, được cung cấp bởi các hợp đồng thông minh Ethereum. Cuối cùng, chúng ta sẽ khám phá lý do tại sao các kênh trạng thái vẫn chưa được áp dụng rộng rãi cho đến nay và tại sao điều này có thể thay đổi.

Các kênh trạng thái hoạt động như thế nào

Tiền đề cốt lõi của các kênh trạng thái rất dễ hiểu. Thay vì sử dụng giao dịch trực tuyến, các bên muốn giao dịch thường xuyên trước tiên có thể khóa tiền trong hợp đồng thông minh và sau đó trao đổi thông báo đã ký ngoại tuyến để cập nhật trạng thái ai sở hữu khoản tiền nào. Bất kỳ số lượng giao dịch nào cũng có thể xảy ra ngoài chuỗi, tốc độ của giao dịch chỉ bị giới hạn bởi khả năng trao đổi thông điệp đã ký của các bên. Bất cứ khi nào bất kỳ bên nào muốn thoát khỏi kênh, họ có thể gửi trạng thái chữ ký mới nhất cho hợp đồng thông minh trên chuỗi và hợp đồng thông minh sẽ xác minh chữ ký và phân phối tiền theo phương thức phân phối đã thỏa thuận.

Hãy xem ví dụ đơn giản nhất về kênh trạng thái: thanh toán đơn giản giữa hai bên. Chúng tôi mời những người bạn cũ của chúng tôi, Alice và Bob. Chúng tôi cho rằng hai người này có lý do để trao đổi tiền trao đổi một cách thường xuyên. Tất cả họ đều gửi tiền vào các hợp đồng thông minh trên chuỗi cơ sở - trong ví dụ này, giả sử 5 ETH mỗi hợp đồng. Alice ký một tin nhắn để trả cho Bob 1 ETH, có nghĩa là cô ấy cập nhật số dư của mình lên 4 ETH và số dư của Bob lên 6 ETH. Alice gửi tin nhắn đã ký cho Bob, người ký trạng thái đã cập nhật và gửi lại. Sau đó, Bob trả cho Alice 0,5 ETH, làm giảm số dư của anh ấy xuống 5,5 ETH và tăng số dư của cô ấy lên 4,5 ETH. Anh ta ký vào thông báo thanh toán này và gửi cho Alice, người sau đó ký vào thông báo và gửi lại.

Quá trình này lặp lại bao lâu tùy ý Alice và Bob. Điều đáng chú ý là các khoản thanh toán vi mô có thể thực hiện được trong hệ thống này. Vì không có phí cho đến khi kênh được giải quyết, nên việc gửi 1000 khoản thanh toán 0,001 ETH có chi phí tương đương với việc gửi một khoản thanh toán 1 ETH.

Cuối cùng, giao dịch của Alice và Bob đã kết thúc. Số dư cuối cùng được cả hai bên ký kết là Alice có 7 ETH và Bob có 3 ETH. Cô gửi trạng thái đồng ký cuối cùng này cho chuỗi cơ sở và chuỗi cơ sở trước tiên xác minh rằng cả hai bên thực sự đã được ký bằng khóa riêng tư, sau đó phân phối cho cả hai bên theo số dư đã chỉ định. Đơn giản và ngắn gọn, phải không? Có, nhưng chúng tôi đã bỏ qua một số chi tiết chính."ma quỷ trong các chi tiết"Giống như nhiều thứ trong thế giới blockchain, các kênh trạng thái hoạt động trơn tru khi tất cả các bên hành xử theo cách họ mong đợi. Nhưng nếu các bên luôn hành xử theo cách họ mong đợi, thì chúng ta sẽ không cần các mạng tiền điện tử phi tập trung ngay từ đầu! .

Đối với các kênh trạng thái, ngay cả trong ví dụ về kênh thanh toán hai bên đơn giản của chúng tôi, việc xem xét các yếu tố gây tranh cãi này làm tăng thêm mức độ phức tạp ngẫu nhiên đáng kể. Hãy xem xét kịch bản này. Nếu Bob trả cho Alice 2 ETH để đổi lấy hàng hóa hoặc dịch vụ, nhưng khi anh ta nhận được hàng hóa, anh ta sử dụng trạng thái lỗi thời — trạng thái đã được ký trước lần thanh toán cuối cùng của anh ta — để đóng kênh trên chuỗi. Cả Alice và Bob đã ký trạng thái trước đó và hợp đồng thông minh không biết rằng trạng thái này là trước đó. Điều này sẽ cho phép Bob yêu cầu số tiền mà Alice tin rằng thuộc về mình."Để ngăn chặn hành vi xấu này, hệ thống của chúng tôi có thể yêu cầu cả người dùng phải có một"Cuối cùng

Một trạng thái được ký kết đánh dấu rõ ràng kênh là đã đóng và tiền chỉ được giải phóng khi trạng thái đó được cam kết. Vậy điều gì sẽ xảy ra nếu một bên từ chối đăng nhập vào trạng thái cuối cùng như vậy, hoặc đơn giản là biến mất hoặc ngoại tuyến trong một khoảng thời gian dài? Tiền từ cả hai bên sẽ bị mắc kẹt trong hợp đồng thông minh.

để tránh điều này

nhắc nhở buồn

Do đó, các bên cần có khả năng thoát khỏi kênh và sử dụng trạng thái trung gian để rút tiền. Khi cả hai bên không đóng kênh một cách rõ ràng, hầu hết các hoạt động cuối cùng sẽ thêm một khoảng thời gian chờ đợi để thanh toán tiền. Điều này mang lại cho mỗi bên cơ hội tranh chấp việc rút tiền bằng cách đưa ra một trạng thái mới hơn có chữ ký của cả hai bên, do đó chứng minh rằng bên kia đã cố gắng gian lận. Những bằng chứng như vậy thường đi kèm với hình phạt đối với những kẻ có ác ý.

Đó là một giải pháp khả thi, nhưng chúng ta có thể thấy mức độ phức tạp mà nó đã thêm vào. Đối với một kênh thanh toán hai bên đơn giản, cả hai bên hiện phải liên tục theo dõi chuỗi để đảm bảo rằng bên kia không cố gắng gian lận. Họ phải duy trì một bản sao được lưu trong bộ nhớ cache về trạng thái mới nhất của mình và sẵn sàng thực hiện các giao dịch trực tuyến để chứng minh rằng gian lận đã xảy ra. Ngoài ra, người dùng phải sẵn sàng đợi thời gian phản đối trôi qua trước khi nhận lại tiền nếu bên kia ngừng phản hồi.

Thanh toán nhiều bên

Bây giờ, đây là vấn đề - các kênh trạng thái chỉ có thanh toán hai bên khá hạn chế về khả năng sử dụng. Có bao nhiêu giao dịch tài chính chỉ liên quan đến các khoản thanh toán lặp đi lặp lại giữa hai bên và cả hai bên đều cảm thấy thoải mái khi dành một khoản tiền lớn của mình cho mục đích thanh toán với bên kia? Có lẽ là khá nhiều."Để làm cho các kênh trạng thái trở nên hữu ích, chúng ta cần mở rộng những gì chúng có thể làm. Chúng tôi có hai cách để làm điều này. Một là tăng số lượng các bên có thể sử dụng kênh. Thứ hai là khả năng mở rộng các kênh trạng thái, không chỉ thanh toán mà còn có thể nhận ra các loại trạng thái chung hơn, từ đó nhận ra các trường hợp sử dụng phức tạp hơn."Trước tiên hãy xem xét sự gia tăng của các bên. Cách dễ nhất để làm điều này là có một kênh lớn nơi tất cả những người tham gia gửi tiền vào cùng một hợp đồng và ký tất cả các trạng thái. Vì những lý do rõ ràng, phương pháp này không hoạt động bên ngoài một số ít người dùng. Cái chúng ta cần không phải là một kênh đơn lẻ mà là một mạng lưới các kênh.

Lightning Network: Mạng kênh thanh toán

Để làm cho các kênh thanh toán thực sự hữu ích, Lightning Network của Bitcoin giúp chúng có thể định tuyến được. Bất kỳ người dùng nào cũng có thể mở kênh bằng một hoặc nhiều nút (bất kỳ ai cũng có thể vận hành). Sau đó, thanh toán được thực hiện giữa các nút

nhảy

, mỗi nút sẽ chuyển tiền sang nút tiếp theo cho đến khi đến được người nhận dự định. Đối với những bước nhảy như vậy, mỗi nút tính một khoản phí nhỏ.https://medium.com/)。

Như bạn có thể tưởng tượng, một hệ thống như vậy đi kèm với sự phức tạp bùng nổ và Lightning Network đã mất nhiều thời gian để giải quyết những khó khăn đó. Nó vẫn còn một chặng đường phía trước, việc áp dụng Lightning Network đã không tăng lên trong 12-18 tháng qua. Thành thật mà nói, tôi không chắc liệu Lightning Network có được áp dụng rộng rãi hay không, nhưng dù sao thì công nghệ được xây dựng cũng rất ấn tượng.

Mặc dù Lightning Network đã làm cho các kênh trạng thái trở nên hữu ích hơn bằng cách cho phép thanh toán giữa những người tham gia, nhưng những người khác đã thực hiện một chiến thuật khác: hạn chế các kênh cho một nhóm nhỏ các bên nhưng mở rộng chức năng của họ.

Thêm trạng thái vào kênh trạng thái

Bằng cách bao gồm các quy tắc cụ thể về những chuyển đổi trạng thái nào được phép — các quy tắc có thể được xác minh và thực thi trong các hợp đồng thông minh trên chuỗi trong trường hợp có tranh chấp — các kênh trạng thái có thể được sử dụng để xây dựng các ứng dụng phi tập trung đa bên đạt được hiệu suất tương tự (liên kết:

Hãy tưởng tượng các loại ứng dụng có thể được triển khai với loại kênh trạng thái này, ví dụ phổ biến nhất có xu hướng là trò chơi. Hãy tưởng tượng nếu Alice và Bob muốn chơi một ván cờ và đặt một số tiền vào đó. Thông qua một hợp đồng thông minh mã hóa các quy tắc của cờ vua và một số cấu trúc dữ liệu cơ bản được sử dụng để biểu thị trạng thái của bàn cờ, Alice và Bob có thể đặt cược và chơi một ván cờ ngoại tuyến bằng cách trao đổi các tin nhắn đã ký. Khi trò chơi kết thúc, kênh có thể được đóng lại và bên chiến thắng sẽ nhận được phần thưởng của mình.

Nếu một trong hai bên cố gắng gian lận, bên kia có thể "làm trung gian" thông qua hợp đồng thông minh. Bằng cách trình bày trạng thái gần đây nhất, họ có thể chứng minh trạng thái trò chơi hợp lệ và cuối cùng đóng kênh. Tuy nhiên, trong những trường hợp bình thường, trò chơi sẽ diễn ra theo cách được mong đợi từ bất kỳ trò chơi cờ dựa trên web nào. Sự khác biệt duy nhất là có các giao dịch trực tuyến để mở và đóng các kênh khi bắt đầu và kết thúc trò chơi.https://docs.ethhub.io/)。

Tính đơn giản tương đối của các kênh trạng thái như một khái niệm có nghĩa là chúng là một trong những giải pháp mở rộng quy mô được đề xuất và nghiên cứu đầu tiên trong thế giới blockchain. Tuy nhiên, sau nhiều năm nghiên cứu, chúng vẫn chưa được áp dụng rộng rãi theo bất kỳ cách có ý nghĩa nào. Lý do là gì?"kênh nhà nước"Như tôi đang cố gắng gây ấn tượng với bạn, khái niệm về kênh trạng thái tương đối đơn giản, nhưng việc triển khai thực tế liên quan đến mức độ phức tạp khá lớn, đặc biệt là khi bạn đang cố gắng xây dựng thứ gì đó thực sự hữu ích. Nó chỉ ra rằng khá khó khăn để đối phó với nhiều tình huống liên quan đến hành vi ác ý, đồng thời đạt được những gì mọi người thực sự muốn. Thực tế là chúng tôi chưa thấy nhiều việc áp dụng có thể xảy ra vì đã mất nhiều thời gian để tìm ra các giải pháp mạnh mẽ, có thể sử dụng được.https://blog.statechannels.org/)

Tôi vẫn chưa từ bỏ các kênh nhà nước. Đầu tiên, Lightning Network tiếp tục hoàn thiện và có thể áp dụng nhiều hơn nữa. Ngoài ra, trong hệ sinh thái Ethereum, có nhiều nhóm phát triển các kênh trạng thái tổng quát, điều này sẽ giúp việc xây dựng các ứng dụng dựa trên các kênh trạng thái trở nên dễ dàng hơn (link:

开发者
智能合约
ETH
Chào mừng tham gia cộng đồng chính thức của Odaily
Nhóm đăng ký:
https://t.me/Odaily_News
Nhóm trò chuyện:
https://t.me/Odaily_GoldenApe
Tài khoản chính thức:
https://twitter.com/OdailyChina
Mục lục bài viết
Thư viện tác giả
区块记
Tải ứng dụng Odaily Nhật Báo Hành Tinh
Hãy để một số người hiểu Web3.0 trước
IOS
Android