Sơ đồ Ethereum Rollup Layer 2 rất phổ biến, liệu chúng ta có còn cần các kênh trạng thái không?
Lưu ý của biên tập viên: Bài viết này đến từThông tin Babbitt (ID: bitcoin8btc)Lưu ý của biên tập viên: Bài viết này đến từ
Thông tin Babbitt (ID: bitcoin8btc)
, Tác giả: Tom Close, Trình biên dịch: Miễn phí và Dễ dàng, được phát hành với sự cho phép.
Người viết ở phía trước: Các giải pháp mở rộng của Ethereum xuất hiện vô tận. Ví dụ bao gồm các kênh trạng thái, Plasma, sharding, và zk-rollup và rollup lạc quan rất phổ biến gần đây, và các giải pháp như Plasma đã bị kết án tử hình trước đó. hiện tại Cộng đồng Ethereum có xu hướng chọn các sơ đồ tổng hợp và chứng minh kiến thức bằng không, vậy còn sơ đồ kênh trạng thái thì sao? Trong bài viết này, Tom Close, trưởng nhóm Magmo của Phòng R&D của Consensys, đã giải thích vai trò bổ sung của kênh trạng thái và sơ đồ tổng số, đồng thời đề cập ngắn gọn một số vấn đề mà sơ đồ kênh trạng thái cần giải quyết.
(hình ảnh từ tuchong.com)
Nếu bạn đã theo dõi hệ sinh thái Ethereum được một thời gian, thì có lẽ bạn đã nghe nói về thuật ngữ kênh trạng thái, có lẽ bạn đã đọc về tiềm năng của chúng trong việc cải thiện khả năng mở rộng chuỗi khối và khả năng cung cấp “tính hữu hạn tức thì” cho các khả năng giao dịch, nhưng đây là những tin cũ và trong thế giới Ethereum nơi công nghệ tổng số phổ biến, bạn có thể tự hỏi các kênh trạng thái ở đâu.
Mô tả hình ảnh
Hình: Hoạt động phát triển trên kênh nhà nước
Và hôm nay, chúng ta sẽ khám phá các kênh trạng thái trong không gian công nghệ chuỗi khối và đưa ra một bản tóm tắt chung về cách chúng hoạt động, tất nhiên, những bản tóm tắt này có thể không hoàn toàn mới đối với bạn, nhưng nó sẽ giúp bạn cập nhật kiến thức cơ bản về kênh trạng thái mới.
tiêu đề phụ
Lợi ích của các kênh nhà nước là gì?
Các kênh trạng thái thường được mô tả như một giải pháp khả năng mở rộng. Kể từ khi các kênh trạng thái được đề xuất lần đầu tiên, đã có rất nhiều tiến bộ trong việc mở rộng quy mô Lớp 2 (Lớp 2 đề cập đến các giải pháp được xây dựng trên các chuỗi khối, vì vậy chúng không yêu cầu bất kỳ thay đổi nào đối với giao thức cốt lõi.)
Các giải pháp thay đổi quy mô Lớp 2 mới nhất là zk-rollups và positive rollup, cả hai đều liên quan đến việc gửi định kỳ các lô dữ liệu giao dịch và tạo ra các gốc trạng thái cho chuỗi khối, cho phép thông lượng giao dịch cao hơn. Bằng cách sử dụng sơ đồ zk-rollups, có thể cung cấp bằng chứng không có kiến thức về tính chính xác của quá trình chuyển đổi trạng thái tổng thể, do đó đảm bảo tính hợp lệ của trạng thái trên chuỗi và cho phép rút tiền ngay lập tức. Do sự phức tạp của việc tạo bằng chứng, hệ thống zk-rollup hiện chỉ được sử dụng cho các chuyển đổi tài sản đơn giản. Mặt khác, các bản tổng hợp lạc quan cho phép thực thi mã EVM tùy ý trong cài đặt ngoài chuỗi, nhưng yêu cầu người dùng đợi một khoảng thời gian thử thách trước khi rút tiền và dựa vào các bên thách thức trạng thái không chính xác để duy trì tính toàn vẹn của quá trình chuyển đổi.
Cả hai phương pháp đều có khả năng mở rộng khá cao, có khả năng đạt được thông lượng giao dịch khoảng 500 tx/s. (Ghi chú của người dịch: Đây là ước tính do Vitalik đưa ra trong những ngày đầu. Sau khi Ethereum hoàn thành hard fork Istanbul, tps lý thuyết của hai sơ đồ này đã tăng lên đến năm 2048. Giả sử rằng Ethereum đã chuyển thành công sang sơ đồ PoS, các sơ đồ này Lý thuyết tps giới hạn trên có thể được cải thiện rất nhiều)
Các kênh trạng thái cũng hỗ trợ khả năng mở rộng và trong một số trường hợp sử dụng, các kênh trạng thái có khả năng đạt được thông lượng vượt quá các sơ đồ tổng số vì nó loại bỏ nhu cầu chuỗi xử lý hầu hết các giao dịch. Chúng cũng có một số thuộc tính độc đáo, giúp chúng phù hợp với một số tình huống khó đạt được bằng các lược đồ tổng số.
Và một trong những tính năng rất quan trọng là nó có thể nhận ra sự phi trung gian của các giao dịch: một khi hai bên đã thiết lập kênh, họ có thể trao đổi giá trị mà không cần sự tham gia của bên thứ ba. Nhưng trong sơ đồ tổng số, đây không phải là trường hợp, bởi vì tất cả các giao dịch phải được xử lý bởi toán tử tổng số và một tính năng quan trọng khác là tính cuối cùng của quá trình chuyển. Với các kênh trạng thái, trạng thái được cập nhật khi nhận được bản cập nhật, có nghĩa là việc chuyển giá trị diễn ra ngay lập tức.
Ví dụ: giả sử bạn muốn yêu cầu người dùng API Infura thanh toán một lượng nhỏ ETH cho mỗi lệnh gọi API. Một người dùng thông thường sẽ chạm vào điểm cuối của bạn cứ sau 10 giây hoặc lâu hơn và bạn muốn có thể tính phí họ một xu mà vẫn đưa ra thời gian phản hồi dưới giây. Trong trường hợp này, bạn không có thời gian để liên hệ với nhà điều hành tổng số và ngay cả khi bạn đã làm như vậy, chi phí chung của giao dịch tổng số sẽ quá cao, ngay cả khi nó được giảm xuống 100 gas (hiện tại là khoảng 0,02 xu).
Trong những trường hợp trên, bạn có thể nghĩ đến giải pháp state channel.
Chà, đã nói tất cả những điều đó, chúng tôi thậm chí còn chưa đề cập đến phần "trạng thái" của kênh trạng thái. Trong hầu hết các trường hợp, ví dụ trên sẽ yêu cầu sử dụng các kênh thanh toán (kênh trạng thái chuyên biệt), trong đó trạng thái chỉ đơn giản là số dư của mỗi người tham gia. Trạng thái được trao đổi ngoài chuỗi có thể tổng quát hơn thế này, cho phép các kênh trạng thái cung cấp các tương tác phức tạp hơn giữa những người dùng. Trong kênh trạng thái, bao gồm hoán đổi nguyên tử, thanh toán có điều kiện phức tạp tùy ý và thậm chí có thể hoàn thành trò chơi cờ vua. Điều này mang lại cho các nhà thiết kế hệ thống rất nhiều tính linh hoạt khi thiết kế các chương trình khuyến khích.
Nhìn chung, các kênh trạng thái chiếm một vùng duy nhất của không gian đánh đổi, có các thuộc tính có tầm quan trọng lớn trong một loạt các ứng dụng. Trong phần còn lại của bài viết này, chúng tôi sẽ cung cấp tổng quan về cách hoạt động của các kênh trạng thái để hiểu rõ hơn cách chúng đạt được các thuộc tính trên.
tiêu đề phụ
Làm thế nào để các kênh nhà nước làm việc?
Vậy kênh trạng thái là gì? Chúng tôi sẽ trả lời câu hỏi này bằng một tương tác kênh trạng thái điển hình:
Lợi ích về khả năng mở rộng của thiết lập này đến từ thực tế là trong giai đoạn thứ hai, khi Alice và Bob trao đổi các thỏa thuận đã ký, họ có thể làm được rất nhiều việc mà không cần tương tác với “giao dịch” chuỗi khối, chỉ bị giới hạn bởi tốc độ họ có thể ký và trao đổi tin nhắn.
Bạn có thể thắc mắc "giao dịch" thực sự có nghĩa là gì trong trường hợp này, vì tiền không thực sự di chuyển trên chuỗi.
Mặc dù số tiền được giữ trong hợp đồng kênh trạng thái không thay đổi, quyền yêu cầu đã thay đổi và khi Bob nhận được tin nhắn mới nhất từ Alice, anh ta biết rằng phần tiền có thể yêu cầu hiện tại của mình đã thay đổi. Đây cũng chính là ý nghĩa của "tính hữu hạn ngay lập tức" trong các giao dịch.
tiêu đề phụ
Vậy chúng ta có cần liên tục theo dõi chuỗi khối không?
Cho đến nay, chúng tôi chỉ thảo luận về các tình huống hợp tác trong đó mọi thứ diễn ra tốt đẹp. Nhưng trong một hệ thống như kênh trạng thái, một điều bạn nên lo lắng là rủi ro đối tác: nếu bạn mở kênh trạng thái với Charlie và gửi tiền vào hợp đồng kênh trạng thái, thì khi Charlie trở thành đối tác, hoặc điều gì sẽ xảy ra với số tiền trong kênh trạng thái. kênh khi anh ấy mất khóa riêng của mình? Bạn có thể lấy lại tiền của mình không? Hay Charlie có thể sử dụng điều này để tống tiền bạn và buộc bạn phải trả cổ phần cho anh ta để giải phóng tiền? Câu trả lời cho những câu hỏi này là một thành phần quan trọng khác của hệ thống kênh nhà nước: cơ chế thách thức.
Theo một nghĩa nào đó, có một câu trả lời đơn giản cho những câu hỏi này: nếu Charlie không phản hồi, bạn chỉ cần đóng kênh bằng cách gửi thỏa thuận mới nhất trên chuỗi, như trong trường hợp hợp tác ở trên. Tuy nhiên, vấn đề với điều này là chuỗi khối không thể biết liệu kết quả giao thức mà bạn đã gửi có thực sự là kết quả cuối cùng hay không, điều đó có nghĩa là có khả năng bạn có thể làm điều xấu thông qua nó. Vậy làm thế nào để giải quyết vấn đề này? Có hai giải pháp:
Cách tiếp cận thứ hai là để blockchain thực thi một khoảng thời gian thử thách sau khi cam kết trạng thái cuối cùng được cho là và cho những người tham gia khác cơ hội cam kết một trạng thái trước khi rút tiền. Nếu ai đó gửi thử thách một cách ác ý, họ sẽ bị phạt, do đó khuyến khích hành vi tốt.
Cái gì tiếp theo?
Chà, điều này có nghĩa là những người tham gia kênh trạng thái cần phải liên tục theo dõi chuỗi khối để phát hiện các trường hợp thách thức độc hại và sau đó phản hồi? Trên thực tế, yêu cầu này không tệ như vẻ ngoài của nó, người tham gia không phải liên tục theo dõi, họ chỉ cần kiểm tra chuỗi khối một vài lần trong mỗi giai đoạn thử thách. Gánh nặng ở đây có thể được giảm bớt bằng cách chọn thời gian thử thách cẩn thận, đảm bảo rằng bất kỳ kênh nào dự kiến sẽ chạy trong thời gian dài đều có thời gian thử thách dài. Cũng có thể thêm chức năng vào hệ thống kênh trạng thái để cho phép người tham gia gửi trước trạng thái mới nhất cho chuỗi để đảm bảo rằng họ không bị thách thức khi ngoại tuyến.
Giữ nguyên!


