Tiêu đề gốc: "Tại sao Vitalik lạc quan về Rollup, giải pháp mở rộng blockchain lớp thứ hai?" 》
Nguồn gốc: Babbitt
Tác giả: Tác giả của bài viết này là Zhu Guanyu, một người đam mê blockchain và là cựu chuyên gia JVM của Alibaba. Hiện đang làm việc tại Westar Labs (westar.io), tham gia nghiên cứu và phát triển các ngôn ngữ lập trình hợp đồng thông minh và công cụ thực thi của chúng.
Lưu ý: Tiêu đề ban đầu là "Hiểu sâu về giải pháp mở rộng blockchain lớp thứ hai Rollup"
Bối cảnh
Gần đây, người sáng lập Ethereum Vitalik Buterin đã viết một bài báo có tiêu đề "Bình minh của các giao thức lai lớp 2"[1] Li ca ngợi giải pháp Rollup và tin rằng nó mở ra cơ hội cho khả năng mở rộng của hợp đồng thông minh. Vậy Rollup là gì? Nó bao gồm những giải pháp chủ đạo nào? Ưu điểm và nhược điểm của từng lựa chọn này là gì? Triển vọng phát triển trong tương lai của họ là gì? Để tìm câu trả lời cho những câu hỏi này, tác giả đã thực hiện một số nghiên cứu về các dự án liên quan và tổng hợp những thông tin thu thập được vào bài viết sau.
Sự xuất hiện của Rollup
Trong những năm gần đây, công nghệ mở rộng Lớp 2 của Ethereum đã phát triển nhanh chóng. Cái gọi là lớp thứ hai là lưu trữ một phần tiền trong hợp đồng thông minh của chuỗi chính. Với tiền đề đảm bảo đủ an ninh, một số giao dịch được thực hiện bên ngoài chuỗi chính, như thể có thêm một lớp mạng bên dưới. chuôi. Trong số các giải pháp hai lớp, kênh trạng thái và chuỗi bên Plasma nổi bật hơn. Mặc dù hai giải pháp này ra đời từ rất sớm nhưng tốc độ phát triển của chúng lại tương đối chậm. Lý do đằng sau điều này cuối cùng là vấn đề về tính sẵn có của dữ liệu.
Tính sẵn có của dữ liệu là gì? Đây là một ví dụ không phù hợp. Giả sử bạn đến sòng bạc để chơi bài poker, trước tiên bạn cần đổi tiền mặt lấy chip, điều này có thể hiểu là tạo một kênh trạng thái trên chuỗi và gửi tiền. Sau đó, bạn bắt đầu chơi poker, được gọi là giao dịch ngoài chuỗi. Sau khi thắng lớn, bạn muốn rút tiền và rời đi, nhưng đột nhiên có ai đó tát vào đầu bạn, khi bạn tỉnh dậy thì toàn bộ chip trên bàn đều biến mất. Bạn không thể nhớ chi tiết của trò chơi nên không thể lấy lại số chip đã thắng, trường hợp này gọi là "không có dữ liệu". Cho dù đó là kênh trạng thái hay chuỗi bên Plasma, hồ sơ giao dịch hoàn chỉnh và dữ liệu nhân chứng chỉ được lưu ngoài chuỗi. Khi tranh chấp xảy ra, nếu người tham gia không cung cấp dữ liệu giao dịch và nhân chứng chính xác một cách kịp thời, tính bảo mật của giao dịch sẽ không được đảm bảo. không thể được đảm bảo. Nó giống như một người quên các chi tiết của trò chơi và gặp khó khăn trong việc lấy lại chip của mình.
Ngay khi công nghệ mở rộng lớp thứ hai đang gặp khó khăn, một giải pháp mới có tên Rollup đã được đề xuất. Không giống như các kênh trạng thái và Plasma, nó có thể "đóng gói" các giao dịch và xuất bản dữ liệu giao dịch "đã đóng gói" lên chuỗi cùng với bằng chứng không có kiến thức SNARK. Tính chính xác của việc đóng gói có thể được chứng minh thông qua bằng chứng không có kiến thức. Nhà điều hành chịu trách nhiệm "đóng gói" không thể đưa ra các giao dịch độc hại hoặc không hợp lệ. Đây là giải pháp mở rộng lớp thứ hai mà Vitalik Buterin sau này gọi là ZK Rollup. ZK Rollup không phải là toàn năng và vấn đề lớn nhất mà nó gặp phải là tính linh hoạt. Trừ khi giao dịch cần được chứng minh rất đơn giản, nếu không thì chi phí tạo bằng chứng SNARK sẽ rất cao. Do đó, một thỏa hiệp được gọi là Optimistic Rollup đã được đề xuất. Optimistic Rollup cũng đưa tất cả dữ liệu giao dịch vào chuỗi, nhưng thay vì sử dụng SNARK làm nhân chứng, nó sử dụng "trò chơi tính hợp lệ của kinh tế học tiền điện tử" để đạt được xác minh tính hợp lệ.
Cách thức hoạt động
Rollup Ý tưởng cốt lõi là xuất bản các khối dữ liệu giao dịch được “đóng gói” trên chuỗi, từ đó giảm bớt khó khăn trong việc xác minh tính hợp lệ của giao dịch. Việc tải lên và xác minh dữ liệu giao dịch được hoàn thành dựa trên hợp đồng thông minh. Sau khi nhà điều hành thu thập các giao dịch ngoài chuỗi được gửi bởi những người tham gia khác nhau, nhà điều hành sẽ thực thi tập lệnh do hợp đồng thông minh Rollup cung cấp trên chuỗi và gửi khối dữ liệu giao dịch được đóng gói làm tham số cho hợp đồng. hợp lệ, nó sẽ được ghi lại cho mỗi tài khoản người tham gia. Điều này tương đương với việc thực hiện một loạt giao dịch ngoài chuỗi cùng một lúc, nhưng chỉ thực hiện một giao dịch trên chuỗi.
Hình ảnh bên dưới là dữ liệu đóng gói được ZK Rollup gửi tới chuỗi. Nó chứa một tập hợp dữ liệu giao dịch nén [Tx] (không có bất kỳ chữ ký nào), gốc cây merkle của trạng thái người dùng cũ trước khi thực hiện lô giao dịch này và gốc cây merkle của trạng thái người dùng mới sau khi thực hiện giao dịch. Ngoài ra, nó còn chứa bằng chứng không có kiến thức SNARK mà hợp đồng sử dụng để xác minh rằng kết quả của việc áp dụng lô giao dịch [Tx] này cho trạng thái người dùng cũ là trạng thái người dùng mới. Chính xác thì bằng chứng không có kiến thức hoạt động như thế nào? Điều này không thể giải thích rõ ràng trong vài lời, bạn có thể tham khảo bài viết [2], trong đó giải thích chi tiết nguyên lý hoạt động của zero-know proof.

Chi phí tạo SNARK rất cao nên Optimistic Rollup sử dụng một phương pháp khác - "bằng chứng gian lận" để xác minh tính hợp lệ của giao dịch. “Bằng chứng gian lận” ở đây không phải là dữ liệu chứng kiến như SNARK, nó thực sự đề cập đến Trò chơi xác thực kinh tế tiền điện tử. Càng nói tôi càng thấy chóng mặt #¥¥%..., thực ra thì rất đơn giản, tức là mỗi khi các giao dịch đóng gói được gửi lên chuỗi, hợp đồng thông minh sẽ giả định rằng chúng đúng mà không cần xác minh. Nếu ai đó can thiệp vào giao dịch, người điều hành hoặc những người tham gia khác có thể thách thức giao dịch bất hợp pháp. Sau khi thử thách thành công, khối không chính xác sẽ được khôi phục thông qua hợp đồng thông minh. Kẻ gian lận sẽ bị trừng phạt và tiền gửi của anh ta sẽ bị tịch thu và một phần tiền gửi sẽ được thưởng. Đây được gọi là "bằng chứng gian lận" dựa trên trò chơi hiệu quả của kinh tế học tiền điện tử, nó thực sự cho phép các bên tham gia giám sát lẫn nhau và tăng chi phí gian lận thông qua cơ chế phạt. Để đạt được "bằng chứng gian lận", việc có dữ liệu giao dịch [Tx] như ZK Rollup là chưa đủ. Dữ liệu Tx cần có chữ ký của người gửi giao dịch và hợp đồng xác định xem giao dịch có hợp pháp hay không bằng cách xác minh chữ ký .

Bảo mật
Tính bảo mật của Rollup xuất phát từ tính sẵn có của dữ liệu và tính hợp lệ của giao dịch. Với tính sẵn có của dữ liệu và tính hợp lệ của giao dịch, có thể đảm bảo rằng các nhà khai thác Rollup không bao giờ có thể phá hủy trạng thái hoặc đánh cắp tiền. Ngay cả khi nhà khai thác không hợp tác, người tham gia có thể dễ dàng lấy lại tài sản trên mạng Rollup. Rollup xuất bản dữ liệu giao dịch lên chuỗi, hoạt động giống như một "mỏ neo" để neo mạng Rollup vào chuỗi chính Ethereum. Giống như việc lắp camera trong sòng bạc, người chơi bài poker dù có bị đánh cũng vẫn có thể chứng minh qua việc quay video rằng mình quả thực đã thắng tiền.
Để xác minh tính hợp lệ của giao dịch, ZK Rollup và Optimistic Rollup thực hiện các cách tiếp cận khác nhau [3]. ZK Rollup sử dụng bằng chứng không có kiến thức để đảm bảo rằng các giao dịch là hợp lệ. Bảo mật của nó dựa trên mật mã và hợp đồng thông minh sẽ chỉ chấp nhận chuyển đổi trạng thái sau khi dữ liệu giao dịch được chứng minh là chính xác. Mỗi quá trình chuyển đổi trạng thái đều có bằng chứng không có kiến thức, đảm bảo rằng chuỗi luôn tương ứng với trạng thái lớp thứ hai chính xác. Optimistic Rollup sử dụng "bằng chứng gian lận" dựa trên trò chơi hợp lệ của kinh tế học tiền điện tử. Nó không cần cung cấp bằng chứng cho mỗi lần chuyển đổi trạng thái mà chỉ cung cấp bằng chứng đó khi ai đó cho rằng việc chuyển đổi trạng thái là sai. Vì sự im lặng sẽ được coi là đồng ý nên yêu cầu các bên giao dịch phải luôn trực tuyến. So với ZK Rollup, Optimistic Rollup kém an toàn hơn và yêu cầu các biện pháp bổ sung để ngăn chặn sự "đồng ý" do các cuộc tấn công DDoS gây ra.
Khả năng mở rộng
Rollup có thể thực hiện một số lượng lớn các giao dịch ngoài chuỗi được đóng gói thông qua một giao dịch trên chuỗi. Chuỗi chính không cần thực hiện từng giao dịch để xác minh tính hợp lệ của nó và giao dịch Dữ liệu được xuất bản dưới dạng tham số chức năng và sẽ bị loại bỏ sau khi xác minh tính hợp lệ để nó không chiếm không gian lưu trữ của chuỗi chính. Do đó, Rollup có thể cải thiện đáng kể khả năng mở rộng của chuỗi chính.
Nhưng sự cải thiện này không phải là không có hạn chế. Mặc dù chỉ có một giao dịch trên chuỗi nhưng nó sẽ bị hạn chế bởi chi phí gas của chính dữ liệu giao dịch. Chi phí gas của dữ liệu Ethereum trước khi nâng cấp Istanbul là 68 đơn vị mỗi byte và mỗi địa chỉ trên Ethereum chiếm 20 byte. Do đó, nếu cấu trúc dữ liệu giao dịch Ethereum được sử dụng để thể hiện các giao dịch ngoài chuỗi thì chi phí gas sẽ rất cao. Cao nên Rollup nén dữ liệu giao dịch.
ZK Rollup sử dụng cây merkle trong hợp đồng thông minh để ghi lại địa chỉ, nhờ đó các địa chỉ có thể được biểu diễn dưới dạng giá trị chỉ mục cây và dữ liệu địa chỉ ... Kích thước được giảm từ 20 byte ban đầu xuống chỉ còn 3 byte đến 4 byte. Mỗi giao dịch được nén thành vài byte, cộng với SNARK khoảng 100-300 byte. Về lý thuyết, thông lượng của Ethereum có thể tăng từ 32 TPS lên khoảng 680 TPS. Sau khi Istanbul được nâng cấp, nó có thể đạt tới 2000 TPS. . Hình dưới đây là định dạng của từng dữ liệu giao dịch của ZK Rollup sau khi nén:

Thông lượng của Optimistic Rollup về mặt lý thuyết chỉ là 100 TPS. Lý do chính là như đã đề cập ở trên, để hỗ trợ "bằng chứng gian lận", mỗi giao dịch của Optimistic Rollup Dữ liệu giao dịch cần có chữ ký của người gửi giao dịch. Kích thước của mỗi chữ ký là 64 byte, làm tăng đáng kể số byte dữ liệu giao dịch được gửi tới chuỗi, do đó nhanh chóng đạt đến giới hạn gas. Để giảm số byte dữ liệu giao dịch, cơ chế chữ ký tổng hợp BLS đã được đề xuất. Như được hiển thị trong hình bên dưới, cơ chế chữ ký tổng hợp BLS là gửi các giao dịch được đóng gói đến từng người gửi giao dịch để lấy chữ ký sau khi nhà điều hành thu thập tất cả các giao dịch. Bởi vì mỗi chữ ký dành cho cùng một dữ liệu nên nó có thể được nhà điều hành tổng hợp thành một BSL chữ ký. Những gì được gửi đến hợp đồng trực tuyến sẽ là dữ liệu giao dịch nén cộng với chữ ký BLS tổng hợp, do đó giảm đáng kể lượng gas tiêu thụ của dữ liệu giao dịch. Chữ ký BLS có thể tăng thông lượng của Optimistic Rollup từ 100 TPS lên 450 TPS và Istanbul cũng có thể đạt 2000 TPS sau khi nâng cấp.
Độ trễ
Tập hợp lạc quan dựa trên trò chơi hiệu quả của kinh tế học tiền điện tử. Giao dịch chỉ có thể được xác nhận là có hiệu lực sau khoảng thời gian thử thách từ 1 đến 2 tuần. Độ trễ của ZK Rollup tương đối nhỏ, nếu có 1.000 giao dịch trong một khối được đóng gói, sẽ mất khoảng 20 phút để xây dựng bằng chứng trên một máy chủ thông thường. Các nhà phát triển đã đề xuất nhiều cách để giảm độ trễ, chẳng hạn như sử dụng khả năng tăng tốc GPU để nén thời gian xây dựng bằng chứng không có kiến thức xuống còn 1 phút. Ngoài ra còn có một phương pháp gọi là "biên lai tx tức thời" có thể áp dụng cho cả hai giải pháp Tổng hợp. Nó chủ yếu được thực hiện với sự trợ giúp của các trò chơi kinh tế, tức là người điều hành chịu trách nhiệm đóng gói cần thế chấp một phần tiền đặt cọc, nếu giao dịch không được đóng gói vào khối thì tiền sẽ bị tịch thu. Về lý thuyết, "nhận giao dịch tức thời" có thể nén thời gian xác nhận giao dịch xuống dưới 1 giây, nhưng việc thực hiện tương đối phức tạp và tính bảo mật bị giảm sút.
Tính linh hoạt
Về tính linh hoạt, Optimistic Rollup rõ ràng là tốt hơn ZK Rollup. Tất nhiên, mục tiêu thiết kế của nó là hỗ trợ bất kỳ hợp đồng thông minh nào. ZK Rollup hiện chỉ áp dụng cho các giao dịch cụ thể như thanh toán. Đối với các hợp đồng thông minh nói chung, rất khó triển khai do chi phí tạo bằng chứng không có kiến thức rất cao. Để nâng cao hiệu quả, các nhà phát triển đang phát triển các máy ảo chuyên dụng chứng minh không có kiến thức, chẳng hạn như ZEXE. Nó có thể rút ngắn thời gian tạo bằng chứng ở một mức độ nhất định, nhưng nhược điểm là các nhà phát triển hợp đồng đòi hỏi nhiều chuyên môn. Dựa trên ZK Sync[4], một giải pháp mở rộng blockchain thế hệ mới do ZK Rollup phát triển, nhóm Matter Labs đã thiết kế và phát triển một máy ảo hộp cát tạo ra bằng chứng không có kiến thức theo cách được ủy quyền. hiểu biết sâu sắc về bằng chứng không có kiến thức. Các chi tiết kỹ thuật của miền có thể được sử dụng để viết các hợp đồng thông minh hiệu quả và an toàn.
Tóm tắt và triển vọng
Bài viết này giới thiệu ngắn gọn nguyên lý hoạt động của giải pháp mở rộng blockchain Rollup, đồng thời so sánh, phân tích ưu nhược điểm của hai giải pháp Rollup ZK Rollup và Optimistic Rollup về khả năng mở rộng, độ trễ, tính linh hoạt và bảo mật. 
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