Tiêu đề gốc: "Giải pháp lớp thứ hai của Ethereum Rollup rất phổ biến. Chúng ta vẫn cần các kênh nhà nước phải không?" 》
Nguồn gốc: Babbitt
Viết phía trước: Có vô số giải pháp mở rộng cho Ethereum, ví dụ bao gồm các kênh trạng thái, Plasma, sharding và những giải pháp rất phổ biến gần đây zk-rollup và lạc quan rollup, v.v., trong khi sơ đồ Plasma đã bị kết án tử hình trước đó, có thể nói rằng cộng đồng Ethereum hiện tại có xu hướng lựa chọn các sơ đồ rollup và bằng chứng không có kiến thức. Còn sơ đồ kênh trạng thái thì sao? Tom Close, lãnh đạo nhóm Magmo từ Consensys R&D, giải thích trong bài viết này về vai trò bổ sung của kênh trạng thái và giải pháp tổng hợp, đồng thời đề cập ngắn gọn một số vấn đề mà giải pháp kênh trạng thái cần giải quyết.
Nếu bạn đã theo dõi hệ sinh thái Ethereum một thời gian, có thể bạn đã nghe đến thuật ngữ kênh trạng thái và có thể đã đọ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 cũng như cách chúng cung cấp nền tảng mạnh mẽ cho giao dịch ... Khả năng cung cấp "sự cuối cùng ngay lập tức", nhưng đây là những tin tức cũ. Trong thế giới Ethereum nơi công nghệ tổng hợp trở nên phổ biến, bạn có thể tự hỏi kênh trạng thái ở đâu.
Trong loạt bài viết này, chúng tôi sẽ giới thiệu những phát triển mới nhất trong các kênh nhà nước. Chúng ta sẽ bắt đầu lại từ đầu, giải thích các khái niệm quan trọng cũng như các thiết kế mới nhất. Ngoài ra, chúng tôi sẽ chia sẻ những gì chúng tôi đang làm kể từ khi công bố cộng tác Kênh Nhà nước vào năm ngoái: Chúng tôi đã xây dựng một bộ công cụ cho phép các dự án thêm các kênh trạng thái vào kho công nghệ của họ. Để mọi người hiểu rõ hơn và trải nghiệm các kênh trạng thái, chúng tôi cũng sẽ phát hành một số dự án để thể hiện chức năng của các kênh trạng thái.
Hình: Hoạt động phát triển trên kênh nhà nước
Và hôm nay, chúng ta sẽ bắt đầu để nói về các kênh Trạng thái trong lĩnh vực công nghệ chuỗi khối và đưa ra 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 ôn lại những kiến thức cơ bản về các kênh trạng thái mới . Kiến thức.
Các kênh nhà nước mang lại lợi ích gì?
Các kênh trạng thái thường được mô tả như một giải pháp về 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ộ liên quan đến 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 nền tảng 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 mở rộng Lớp 2 mới nhất là zk-rollups và Optimistic Rollup, cả hai đều liên quan đến việc thường xuyên gửi dữ liệu giao dịch hàng loạt và tạo 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ể, từ đó đảm bảo rằng trạng thái trên chuỗi là hợp lệ 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 để chuyển đổi nội dung đơn giả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 phải đợ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 cao, có khả năng đạt được thông lượng giao dịch khoảng 500 tx/s. (Lưu ý của người dịch: Đây là ước tính được Vitalik đề xuất trong những ngày đầu. Sau khi Ethereum hoàn thành hard fork Istanbul, tps lý thuyết của hai giải pháp này đã tăng lên đến năm 2048. Giả sử Ethereum chuyển sang giải pháp PoS thành công, các giải pháp này tps lý thuyết giới hạn trên có thể được cải thiện đáng kể)
Các kênh trạng thái cũng giúp cải thiện khả năng mở rộng. 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á sơ đồ tổng hợp vì nó loại bỏ điều này giúp loại bỏ nhu cầu xử lý chuỗi 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 các tình huống khó triển khai bằng giải pháp tổng hợp.
Một trong những tính năng rất quan trọng là khả năng loại bỏ các giao dịch trung gian: 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 hợp thì điều này không xảy ra vì tất cả các giao dịch phải được xử lý bởi toán tử tổng hợp và một tính năng quan trọng khác là tính chất cuối cùng của quá trình chuyển giao. Với các kênh trạng thái, trạng thái được cập nhật ngay khi nhận được bản cập nhật, 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ẽ truy cập đ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í cho họ một xu mà vẫn cung cấp thời gian phản hồi dưới một 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 hợp và ngay cả khi bạn làm vậy, chi phí chung của giao dịch tổng hợp sẽ quá cao, ngay cả khi nó giảm xuống còn 100 gas (hiện tại là khoảng 0,02 xu).
Ngoài ra, giả sử bạn muốn xây dựng một ISP (Nhà cung cấp dịch vụ Internet) phi tập trung cho phép người dùng mua băng thông từ hàng xóm của họ và trả tiền theo MB. Hoặc nếu bạn muốn cung cấp cho người sáng tạo nội dung một giải pháp thay thế cho doanh thu quảng cáo bằng cách kích hoạt mô hình trả tiền theo mức độ sử dụng phi tập trung. Hoặc nếu bạn muốn xây dựng một mạng lưới các thiết bị IoT có thể chấp nhận thanh toán trong khi thu thập và cung cấp dữ liệu. Hoặc, nếu bạn muốn trả tiền cho các nhà cung cấp nhà nước để khuyến khích họ cung cấp dữ liệu cần thiết nhằm hỗ trợ chuỗi khối ETH1.x không trạng thái...
Trong những trường hợp này, bạn có thể nghĩ đến kế hoạch kênh nhà nước.
À, nói nhiều rồi mà chúng ta vẫ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 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. Trao đổi trạng thá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, các giao dịch 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ả trò chơi cờ vua đều có thể được hoàn thành. Điều này mang lại cho các nhà thiết kế hệ thống sự linh hoạt cao khi thiết kế các chương trình khuyến khích.
Tóm lại, các kênh trạng thái chiếm một vùng không gian đánh đổi duy nhất và các thuộc tính của chúng rất quan trọng trong nhiều ứ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 cái nhìn 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 được mô tả ở trên.
Kênh trạng thái hoạt động như thế nào?
Vậy kênh trạng thái là gì? Chúng tôi sẽ trả lời câu hỏi này thông qua tương tác kênh trạng thái điển hình:
Sự tương tác bắt đầu với hai người tham gia, Alice và Bob, những người gửi một số tiền vào hợp đồng kênh trạng thái trên blockchain. Sau đó, họ trao đổi một thỏa thuận về cách phân bổ số tiền. Các kết quả thỏa thuận (thỏa thuận) này có thể là các cập nhật số dư đơn giản hoặc có thể là các đối tượng phức tạp hơn (chẳng hạn như các đối tượng chứa trạng thái của ván cờ) và kết quả sẽ được sử dụng để chia tiền. Những người tham gia thêm chữ ký của họ vào trạng thái trước khi gửi cho nhau và khi thỏa thuận cuối cùng được gửi đến hợp đồng kênh trạng thái, hợp đồng sẽ thanh toán số tiền tương ứng.
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 Khi trao đổi các thỏa thuận đã ký với Bob, họ có thể thực hiện nhiều "giao dịch" mà không cần tương tác với chuỗi khối và điều này 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 gì trong trường hợp này, vì tiền trong chuỗi không thực sự được chuyển đi.
Mặc dù số tiền nắm giữ trong hợp đồng kênh nhà nước không thay đổi nhưng quyền yêu cầu đã thay đổi. Khi Bob nhận được tin nhắn mới nhất từ Alice, anh ấy biết rằng phần tiền mà anh ấy hiện có thể yêu cầu đã thay đổi. Đây cũng chính là ý nghĩa “cuối cùng ngay lập tức” của giao dịch.
Chúng ta có cần giám sát blockchain thường xuyên không?
Cho đến nay chúng ta mới chỉ thảo luận về các kịch bản hợp tác trong đó mọi việc 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 không còn khả năng Hợp tác, hoặc điều gì sẽ xảy ra với số tiền đó trong kênh khi anh ta đánh mất khóa riêng của mình? Bạn có thể lấy lại tiền được không? Hoặc có thể Charlie đang tống tiền bạn trả cổ phiếu cho anh ta để giải phóng vố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 trạng thái: cơ chế thử thách.
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 đến chuỗi, như trong trường hợp hợp tác ở trên. Tương tự như trong. Tuy nhiên, vấn đề ở đây là blockchain không thể biết liệu kết quả giao thức 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 ác 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:
Giải pháp đầu tiên dành cho các tình huống hợp tác, trong đó yêu cầu tất cả những người tham gia phải ký một tuyên bố rõ ràng nêu rõ những gì được thảo luận là kết quả cuối cùng của thỏa thuận và kênh hiện đã đóng. Điều này có lợi cho việc rút tiền ngay lập tức, nhưng nó không giúp ích gì cho chúng tôi nếu một hoặc nhiều người tham gia không phản hồi.
Cách tiếp cận thứ hai là yêu cầu chuỗi khối thực thi một giai đoạn thử thách sau lần cam kết trạng thái cuối cùng được cho là và tạo cơ hội cho những người tham gia khác gửi trạng thái. Nếu ai đó gửi thử thách một cách ác ý, họ sẽ bị trừng phạt, điều này khuyến khích hành vi tốt.
Một khung kênh tốt kết hợp hai phương pháp này để cho phép rút tiền ngay lập tức trong các tình huống hợp tác. Trong khi vẫn cung cấp cách rút tiền quỹ trong tình trạng không hợp tác.
Được rồi, điều này có nghĩa là những người tham gia kênh trạng thái cần liên tục theo dõi blockchain để phát hiện các thách thức độc hại? rồi trả lời? Trên thực tế, yêu cầu này không tệ như người ta tưởng, người tham gia không phải theo dõi liên tục, họ chỉ cần kiểm tra blockchain 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 lựa chọn cẩn thận giai đoạn thử thách, đảm bảo rằng bất kỳ kênh nào dự kiến hoạt động lâu dài đều có giai đoạn thử thách dài. Chức năng cũng có thể được thêm 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 tới chuỗi để đảm bảo họ không bị thách thức khi ngoại tuyến.
Liên kết gốc: https://www.8btc.com/article/589738
Chào mừng bạn tham gia cộng đồng chính thức của BlockBeats:
Nhóm Telegram đăng ký: https://t.me/theblockbeats
Nhóm Telegram thảo luận: https://t.me/BlockBeats_App
Tài khoản Twitter chính thức: https://twitter.com/BlockBeatsAsia