Tiêu đề gốc: "Giới thiệu | Hướng dẫn cuộn lên chưa đầy đủ"
Nguồn gốc: Sở thích Ethereum
Lưu ý của người dịch: Trong văn bản gốc, "Rollup" xuất hiện nhiều lần ở cả dạng số ít và số nhiều. , "Rollup" xuất hiện ở dạng đầu tiên. Rollup bằng chữ in hoa.
Rollup đã rất nổi tiếng trong cộng đồng Ethereum hiện tại. Trong tương lai gần, Rollup là giải pháp quan trọng để Ethereum đạt được sự mở rộng . Nhưng chính xác Rollup là gì? Bạn có thể nhận được gì từ công nghệ này và bạn có thể sử dụng nó như thế nào? Bài viết này sẽ cố gắng trả lời một số câu hỏi chính.
Có hai cách để mở rộng hệ sinh thái blockchain. Cách đầu tiên để mở rộng là cho phép chính blockchain có khả năng xử lý giao dịch cao hơn. Ví dụ: làm cho các khối "lớn hơn" sẽ khiến quá trình xác minh chuỗi khối trở nên khó khăn hơn và có thể khiến các nút tập trung hơn. Để tránh những rủi ro như vậy, các nhà phát triển có thể nâng cao hiệu quả của phần mềm máy khách. Một cách mở rộng bền vững hơn là sử dụng các công nghệ như sharding để truyền bá công việc xây dựng và xác minh blockchain đến nhiều nút khác nhau - "eth4" đang cố gắng sử dụng phương pháp này để nâng cấp Ethereum Square.
Cách thứ hai để mở rộng là thay đổi phương thức sử dụng blockchain. Người dùng không cần đưa tất cả hoạt động trực tiếp lên chuỗi chính của blockchain. Thay vào đó, họ thực hiện hầu hết các hoạt động trong giao thức "lớp thứ hai" bên ngoài chuỗi chính và tạo ra bằng chứng. Tất cả các hoạt động đó xảy ra bên ngoài chuỗi tuân theo các quy tắc. Một hợp đồng thông minh được triển khai trên chuỗi chính, chỉ có hai nhiệm vụ: xử lý tiền gửi và rút tiền và xác minh bằng chứng trên. Có nhiều cách để triển khai bằng chứng và xác minh, nhưng tất cả đều có một đặc điểm chung, đó là việc xác minh bằng chứng trên chuỗi ít tốn kém hơn nhiều so với thực hiện các phép tính ban đầu ngoài chuỗi.
Có ba tùy chọn chính để mở rộng lớp 2: kênh trạng thái, Plasma và tổng hợp. Ba tùy chọn đại diện cho ba mô hình khác nhau và mỗi tùy chọn đều có những ưu điểm và nhược điểm riêng. Tất cả các bản mở rộng lớp thứ hai gần như rơi vào ba loại này (có tranh cãi về cách phân loại một số giải pháp thỏa hiệp, chẳng hạn như "validium") (Ghi chú của biên tập viên: Bản dịch tiếng Trung a>) .
Kênh trạng thái hoạt động như thế nào?
Xem thêm https://www.jeffcoleman.ca/state-channels ,statechannels.org
Hãy tưởng tượng rằng Alice cung cấp dịch vụ kết nối mạng cho Bob. Đổi lại, Bob trả cho Alice 0,001 USD/MB cho lưu lượng truy cập do Internet tạo ra. Bob không cần phải trả mọi khoản phí trên chuỗi chính lớp 1. Cả hai bên đều sử dụng giải pháp lớp thứ hai sau.
Đầu tiên, Bob gửi 1 đô la Mỹ (đồng tiền ổn định hoặc ETH tương đương) vào một hợp đồng thông minh. Để thực hiện khoản thanh toán đầu tiên cho Alice, Bob ký một "ghi chú" (một tin nhắn ngoài chuỗi) có nội dung "0,001 USD" và gửi nó cho Alice. Để thực hiện khoản thanh toán thứ hai, Bob ký một ghi chú khác có nội dung "$0,002" và gửi cho Alice. Bằng cách tương tự, quá trình này được lặp lại cho mỗi lần thanh toán. Sau khi Alice và Bob hoàn tất giao dịch, Alice có thể bọc tờ tiền có giá trị cao nhất bằng chữ ký của mình và xuất bản nó lên chuỗi chính (đóng kênh). Hợp đồng thông minh sẽ xác minh chữ ký của Alice và Bob. Sau khi xác minh thành công, số tiền được đánh dấu trên vé của Bob sẽ được trả cho Alice và số tiền còn lại (Lưu ý của người dịch: 1 đô la Mỹ trừ đi số tiền trước) sẽ được trả lại cho Bob . Nếu Alice không muốn đóng kênh (vì ác ý hoặc lỗi kỹ thuật), Bob có thể bắt đầu giai đoạn thử thách rút tiền (ví dụ: 7 ngày) - nếu Alice không thể cung cấp vé mà Bob đã thanh toán trong khoảng thời gian này thì Bob có thể lấy lại vé trước đó Tất cả tiền được lưu trữ trong hợp đồng thông minh.
Công nghệ kênh trạng thái rất mạnh mẽ: kênh trạng thái tổng quát có thể hỗ trợ thanh toán hai chiều, thực hiện hợp đồng thông minh (ví dụ: Alice và Bob ký hợp đồng tài chính trong kênh) và có Khả năng kết hợp (nếu có một kênh mở giữa Alice và Bob và một kênh mở giữa Bob và Charlie thì Alice có thể tương tác với Charlie một cách đáng tin cậy). Tuy nhiên, vai trò của các kênh bị hạn chế: tiền không thể được gửi ngoài chuỗi cho người dùng chưa tham gia kênh; chúng không thể được sử dụng cho các đối tượng không có chủ sở hữu logic rõ ràng (chẳng hạn như hợp đồng thông minh Uniswap). Ngoài ra, nếu các giao dịch được xử lý bằng kênh phức tạp hơn so với các kịch bản thanh toán vi mô, thì một lượng lớn tiền cần phải được khóa trong kênh.
Cơ chế hoạt động của Plasma
Xem thêm sách trắng gốc của Plasma, Plasma Cash
Để gửi tài sản từ chuỗi chính đến chuỗi Plasma, Người dùng cần gửi tài sản trên chuỗi chính tới hợp đồng thông minh quản lý chuỗi Plasma. Chuỗi Plasma sẽ gán cho nội dung một ID duy nhất mới (ví dụ: 537). Mỗi chuỗi Plasma có một toán tử (đây có thể là vai trò tập trung hoặc được kiểm soát bởi nhiều chữ ký hoặc có thể phức tạp hơn, chẳng hạn như chuỗi PoS hoặc chuỗi DPoS). Thỉnh thoảng (có thể là 15 giây, có thể là một giờ hoặc khoảng thời gian tương đương), người vận hành sẽ tạo ra một "lô" chứa tất cả dữ liệu nhận được trong khoảng thời gian này. Toán tử tạo cây Merkle. Tại nút lá có chỉ mục X , nếu nội dung có ID nội dung là X nằm trong đợt này Nếu một giao dịch xảy ra, giao dịch tương ứng tồn tại trên nút lá, nếu không thì nút lá bằng 0. Nhà điều hành xuất bản gốc Merkle của cây này lên chuỗi chính. Nhà điều hành cũng cần gửi nhánh Merkle của từng chỉ mục X cho chủ sở hữu hiện tại của nội dung. Nếu bạn cần rút tài sản từ chuỗi Plasma sang chuỗi chính, người dùng cần gửi chi nhánh Merkle tương ứng với giao dịch gần đây nhất của tài sản tới hợp đồng thông minh của chuỗi chính. Sau đó, hợp đồng thông minh sẽ bắt đầu một giai đoạn thử thách (ví dụ: 7 ngày), trong thời gian đó bất kỳ ai cũng có thể thử sử dụng các nhánh Merkle khác để chứng minh rằng: (i) người dùng không sở hữu tài sản khi rút nó hoặc (ii) người dùng không sở hữu tài sản khi rút nó.Tại một thời điểm nào đó, tài sản đã được gửi cho người khác, do đó yêu cầu rút tiền bị vô hiệu. Nếu không ai chứng minh được rằng việc rút tiền là gian lận trong vòng 7 ngày, người dùng có thể lấy lại tài sản của mình thành công.
Plasma cung cấp chức năng mạnh hơn các kênh trạng thái: bạn có thể gửi tài sản cho những người dùng chưa bao giờ tham gia lớp thứ hai và số tiền bị khóa thấp hơn nhiều. Nhưng điều này phải trả giá: kênh trạng thái không cần lưu trữ bất kỳ dữ liệu nào vào chuỗi chính khi "chạy bình thường", nhưng Plasma yêu cầu mỗi chuỗi thỉnh thoảng xuất bản một giá trị băm lên chuỗi chính. Ngoài ra, các giao dịch trong chuỗi Plasma không diễn ra ngay lập tức, tức là chúng phải chờ bằng chứng (tức là giá trị gốc Merkle) của một lô giao dịch (còn gọi là khối Plasma) mới được gửi đến chuỗi chính.
Ngoài ra, cả kênh Plasma và kênh trạng thái đều có một lỗ hổng quan trọng: lý thuyết trò chơi tương ứng với các mô hình bảo mật của chúng đều dựa trên ý tưởng rằng tài sản được kiểm soát bởi cả hai hệ thống là hợp lý. một người chủ". Chỉ cần chủ sở hữu tài sản quan tâm đến tài sản của mình thì khi thay đổi trạng thái liên quan đến tài sản đó là "không hợp lệ", chủ sở hữu tài sản sẽ tìm cách chứng minh rằng thay đổi đó là "không hợp lệ". Điều này không thành vấn đề đối với một số ứng dụng, nhưng lại là vấn đề đối với nhiều ứng dụng khác (chẳng hạn như Uniswap) (Lưu ý của người dịch: Đối với các ứng dụng giao dịch DEX như Uniswap, các hợp đồng thông minh của nó không thuộc về bất kỳ ai, điều này không phù hợp với điều trên- bảo mật đã đề cập Giả sử mâu thuẫn trong ý tưởng về sự phụ thuộc). Ngay cả khi trạng thái của một đối tượng trong hệ thống có thể được thay đổi mà không có sự đồng ý của chủ sở hữu hệ thống (ví dụ: trong hệ thống dựa trên tài khoản, một đối tượng có thể được thêm vào mà không cần sự đồng ý của chủ sở hữu); số dư của nó), cũng là không tương thích tốt với Plasma. Điều này có nghĩa là khi triển khai các kênh plasma hoặc trạng thái trong thực tế, cần phải suy ra các giải pháp tùy chỉnh thiết kế logic tiềm năng cho "các ứng dụng cụ thể" và khó có thể tạo ra một plasma có thể mô phỏng hoàn toàn môi trường vận hành Ethereum (tức là "EVM") Hoặc hệ thống kênh trạng thái. Tiếp theo hãy xem rollup giải quyết vấn đề này như thế nào.
Cuộn lại
Xem thêm: Lời giới thiệu của EthHub về tổng hợp lạc quan,Giới thiệu về ZK rollup của EthHub
Giải pháp plasma và kênh trạng thái đều là giải pháp lớp 2 "hoàn chỉnh" vì chúng sẽ Cả dữ liệu và tính toán đều đã chuyển ra khỏi chuỗi (tức là vào hệ thống lớp thứ hai của chính nó). Tuy nhiên, các nguyên tắc lý thuyết trò chơi cơ bản về tính sẵn có của dữ liệu có nghĩa là một hệ thống như vậy khó có thể an toàn cho tất cả các ứng dụng. Các kênh plasma và trạng thái giải quyết vấn đề này bằng cách làm rõ mối quan hệ giữa đối tượng tài sản và chủ sở hữu, nhưng điều này ngăn cản chúng trở thành mục đích hoàn toàn chung. Rollup khác với hai giải pháp đầu tiên, đó là giải pháp hai lớp với "bản chất lai". Rollup di chuyển tính toán (và lưu trữ toàn bộ trạng thái) ra khỏi chuỗi, nhưng giữ lại một phần dữ liệu cho mỗi giao dịch trên chuỗi. Để nâng cao hiệu quả, Rollup sử dụng một loạt thủ thuật nén lạ mắt và thay thế dữ liệu bằng tính toán bất cứ khi nào có thể. Do đó, khả năng mở rộng của hệ thống này vẫn bị hạn chế bởi băng thông dữ liệu của chuỗi khối cơ bản, nhưng bội số mở rộng đạt được trên cơ sở này là rất ấn tượng: việc thực hiện chuyển mã thông báo ERC-20 trên chuỗi chính Ethereum tiêu tốn khoảng 45.000 gas , nhưng trong Rollup, mỗi giao dịch chỉ cần lưu trữ 16 byte dữ liệu trên chuỗi chính và lượng gas tiêu thụ ít hơn 300.
Lưu trữ dữ liệu trên chuỗi chính là yếu tố chính trong Rollup (xin lưu ý: điều này khác với việc lưu trữ dữ liệu trên "IPFS", vì IPFS không đồng ý với dữ liệu được lưu trữ. Dữ liệu tổng hợp phải được lưu trữ trên blockchain). Việc lưu trữ dữ liệu trong chuỗi chính và thực hiện đồng thuận cho phép mọi người xử lý cục bộ tất cả các hoạt động trong Rollup, bao gồm phát hiện gian lận, bắt đầu rút tiền, tạo lô, v.v. Vì không có vấn đề về tính khả dụng của dữ liệu nên tổn thất mà các nhà khai thác gây ra nếu họ làm điều xấu hoặc ngoại tuyến là tương đối nhỏ (ví dụ: họ không thể gây ra sự chậm trễ thoát lên tới 1 tuần) và nó cũng cung cấp hướng dẫn về ai có quyền xuất bản hàng loạt. Nhiều khả năng hơn, đồng thời làm cho Rollup dễ hiểu hơn. Quan trọng hơn, việc không có các vấn đề về tính sẵn có của dữ liệu có nghĩa là tài sản không cần phải có mối quan hệ ánh xạ logic rõ ràng với chủ sở hữu của chúng. So với các giải pháp mở rộng lớp thứ hai khác, đây là yếu tố quan trọng khiến cộng đồng Ethereum hào hứng hơn với Rollup: Rollup có tính phổ quát, ví dụ EVM có thể chạy trong Rollup, để các ứng dụng Ethereum hiện có có thể được sử dụng mà không cần viết ứng dụng mới . Di chuyển sang Rollup mà không cần mã.
Có một hợp đồng thông minh trên chuỗi chính và có một gốc trạng thái - gốc Merkle đại diện cho trạng thái Rollup. (Nội dung trạng thái bao gồm số dư tài khoản trong Rollup, mã hợp đồng, v.v.)

Bất kỳ ai cũng có thể Bắt đầu một giao dịch hàng loạt (giao dịch) cho hợp đồng thông minh trên chuỗi chính. Lô này là một lô giao dịch nội bộ Rollup được nén ở mức độ cao. Nó cũng bao gồm gốc trạng thái cũ và gốc trạng thái mới (được thực thi dựa trên gốc trạng thái cũ). A gốc trạng thái mới được tạo sau khi giao dịch theo đợt). Hợp đồng chuỗi chính sẽ kiểm tra xem gốc trạng thái cũ có khớp với gốc trạng thái mới hay không (Lưu ý của người dịch: liệu gốc trạng thái mới có thể được tạo bởi quá trình chuyển đổi trạng thái được kích hoạt bởi loạt bộ giao dịch này hay không). Nếu quá trình xác minh thành công, trạng thái gốc cũ trên chuỗi chính sẽ được cập nhật lên trạng thái gốc mới.

Để hỗ trợ việc gửi tiền (Lưu ý của người dịch: gửi tài sản vào hợp đồng Rollup từ nơi khác trong chuỗi chính) và rút tiền (Lưu ý của người dịch: giải phóng quyền kiểm soát tài sản của chính hợp đồng Rollup , Trả lại nó ở những nơi khác trên chuỗi), đầu vào hoặc đầu ra của giao dịch trong lô có thể ở trạng thái Rollup "bên ngoài" (Lưu ý của người dịch: nghĩa là ở nơi khác trong chuỗi chính). Nếu đầu vào của một giao dịch trong lô đến từ bên ngoài Tổng hợp thì thao tác lô này sẽ chuyển nội dung ở nơi khác trong chuỗi chính sang hợp đồng Tổng hợp. Nếu đầu ra của một giao dịch trong lô đến từ bên ngoài Rollup thì lô đó sẽ kích hoạt hoạt động rút tiền trong hợp đồng thông minh và lấy tài sản từ Rollup trở lại chuỗi chính.
Toàn bộ quá trình thật đơn giản! Nhưng có một chi tiết. Làm thế nào để bạn biết rằng trạng thái gốc sau khi hoàn thành việc thực thi hàng loạt là chính xác? Nếu ai đó có thể gửi gốc trạng thái giả mà không gây ra bất kỳ hậu quả nào, họ có thể chuyển tất cả tài sản cho chính mình. Câu hỏi này rất quan trọng vì có hai giải pháp riêng biệt cho vấn đề này, dẫn đến hai loại Bản tổng hợp.
Bản tổng hợp lạc quan so với bản tổng hợp ZK
Hai loại Tổng hợp bao gồm:
p>
Sự cân bằng về mặt thiết kế giữa hai loại Bản tổng hợp này rất phức tạp

Nhìn chung, quan điểm của riêng tôi là trong ngắn hạn Optimisitc Rollup có thể sẽ thắng trong việc triển khai EVM phổ quát, còn ZK Rollup có thể sẽ thắng trong việc đơn giản thanh toán, chuyển khoản và giành chiến thắng khác trong các ứng dụng cụ thể. Nhưng trong trung và dài hạn, với sự cải tiến của công nghệ ZK-SNARK, ZK Rollup sẽ giành chiến thắng trong mọi kịch bản ứng dụng.
Phân tích bằng chứng gian lận
Tính bảo mật của Optimistic Rollup phụ thuộc vào ý tưởng rằng nếu ai đó xuất bản một lô không hợp lệ vào Rollup, bất kỳ ai đã đồng bộ hóa chuỗi sẽ chỉ phát hiện ra Hành vi gian lận có thể cấp chứng chỉ gian lận cho hợp đồng trên chuỗi chính, chứng minh rằng lô không hợp lệ và nên được khôi phục (Lưu ý của người dịch: Không rõ "chuỗi" của tác giả ở đây có ám chỉ đến chuỗi chính hay không. Vẫn đề cập đến Rollup, mặc dù cả hai đều đúng).

Bằng chứng gian lận khẳng định rằng một lô không hợp lệ cần phải bao gồm lô được hiển thị màu xanh lục trong hình ảnh phía trên Dữ liệu: chính lô đó (có thể được kiểm tra dựa trên các giá trị băm được lưu trữ trên chuỗi) và đường dẫn cây Merkle chứng minh rằng lô đó đã đọc hoặc sửa đổi một tài khoản cụ thể. Các nút màu vàng có thể được xây dựng lại từ các nút màu xanh lá cây và do đó không cần phải đưa vào chứng minh. Dữ liệu này đủ để thực hiện xử lý hàng loạt và tính toán gốc trạng thái mới (lưu ý rằng đây hoàn toàn giống cách một máy khách không trạng thái xác thực một khối duy nhất). Nếu gốc trạng thái mới được tính toán khác với gốc trạng thái mới được cung cấp trong lô thì lô đó được chứng minh là gian lận.
Điều được đảm bảo là nếu có lỗi trong một lô, và tất cả các lô trước đó đều đúng, thì có thể tạo bằng chứng gian lận rằng lô được xây dựng không chính xác. Lưu ý rằng nếu có nhiều lô không hợp lệ trong một bản tổng hợp, tốt nhất bạn nên cố gắng chứng minh rằng lô sớm nhất là không hợp lệ. Tất nhiên, điều được đảm bảo là nếu một lô đúng thì không bao giờ có thể tạo ra bằng chứng gian lận rằng lô đó không hợp lệ.
Việc nén được thực hiện như thế nào?
Việc chuyển Ethereum đơn giản nhất (gửi ETH) mất khoảng 110 byte, nhưng trong Rollup chỉ cần khoảng 12 byte để thực hiện chuyển ETH:
Thông số (đơn vị: số byte) Chuỗi chính Ethereum Hợp đồng cuộn lên Nonce (số sê-ri) ~30Gasprice~80- 0,5Gas30-0,5To (địa chỉ đích) 214Value (giá trị chuyển giao) ~9~3Chữ ký (chữ ký) ~68 (2 + 33 + 33) ~0,5Từ (địa chỉ gốc) 0 (được khôi phục từ chữ ký) 4Tổng cộng ~112~12
Một phần lý do cho điều này là Rollup có thể sử dụng các kỹ thuật mã hóa nâng cao đơn giản hơn và RLP hiện tại của Ethereum lãng phí 1 về độ dài của mỗi giá trị. byte. Rollup cũng sử dụng một số thủ thuật nén rất thông minh.
ZK Rollup có một thủ thuật nén quan trọng đặc biệt: nếu một phần của giao dịch chỉ được sử dụng để xác minh, so với cập nhật trạng thái tính toán. Bất kể, phần dữ liệu này không cần phải được lưu trữ trên chuỗi chính. Điều này là không thể trong Optimisitc Rollup, vì dữ liệu vẫn cần được lưu trữ trên chuỗi để chuẩn bị cho việc xác minh bằng chứng gian lận tiếp theo. các bên liên quan đã cung cấp tất cả dữ liệu cần thiết để xác minh. Một ví dụ quan trọng là việc triển khai Rollup với các thuộc tính bảo vệ quyền riêng tư: để triển khai bảo vệ quyền riêng tư trong Optimisitc Rollup, khoảng 500 byte ZK-SNARK được sử dụng để bảo vệ quyền riêng tư trong mỗi giao dịch cần phải được tải lên chuỗi và bảo vệ quyền riêng tư được triển khai trong ZK Rollup , bao gồm toàn bộ lô ZK-SNARK có thể chứng minh rằng ZK-SNARK "nội bộ" là hợp lệ. (Lưu ý của người dịch: Vì SNARK có thể được lồng vào nhau nên để đạt được sự bảo vệ quyền riêng tư trong ZK Rollup, bạn chỉ cần gửi SNARK ngoài cùng được tạo cuối cùng cho chuỗi. Khi xác minh SNARK bên ngoài, SNARK bên trong hợp lệ. Độ ổn định có thể được xác minh tại cùng lúc.)
Những kỹ thuật nén này là chìa khóa cho sự mở rộng của Rollup. Nếu không có những kỹ thuật này, Rollup chỉ có thể mở rộng dựa trên chuỗi chính. Đạt được khoảng Khả năng mở rộng gấp 10 lần (mặc dù trong một số ứng dụng chuyên sâu tính toán cụ thể, khả năng mở rộng đạt được bằng Rollup đơn giản đã rất mạnh), nhưng sau khi sử dụng kỹ thuật nén, hệ số mở rộng của hầu hết tất cả các ứng dụng có thể vượt quá 100 lần.
Ai có thể gửi hàng loạt?
Có nhiều trường phái quan điểm về việc ai có thể gửi các đợt trong Optimistic Rollup hoặc ZK Rollup. Nói chung, người dùng tin rằng gửi lô phải cam kết một khoản tiền gửi lớn, nếu người dùng gửi lô gian lận (ví dụ: gửi gốc trạng thái không hợp lệ), thì một phần khoản tiền gửi này sẽ bị mất, nó sẽ bị đốt và tiêu hủy. và phần còn lại được thưởng cho người dùng đã gửi bằng chứng gian lận. Nhưng ngoài ra, còn có nhiều khả năng:
(Ghi chú của người dịch, người dùng có thể xuất bản lô lên chuỗi chính được gọi là trình sắp xếp chuỗi (sequencer) ), thuật ngữ này được đặt tên vì vai trò này yêu cầu sắp xếp các giao dịch theo lô)
Một số Bản tổng hợp hiện đang được phát triển sử dụng "split-batch" "Đang xử lý" ( chế độ "tách lô"), tức là hành vi gửi một lô lô giao dịch lớp thứ hai và hành vi gửi gốc trạng thái được thực hiện riêng biệt. Có một số lợi thế chính cho việc này.
Nhìn chung, đây là sự kết hợp khá phức tạp giữa các công nghệ, cân bằng những đánh đổi phức tạp liên quan đến tính hiệu quả, tính đơn giản, khả năng chống kiểm duyệt và các mục tiêu khác. Còn quá sớm để nói sự kết hợp nào trong số này sẽ hiệu quả nhất, thời gian sẽ trả lời.
Trên chuỗi chính Ethereum hiện tại, chi phí gas của mỗi khối là 12,5 triệu và mỗi byte của giao dịch được lưu trữ trên chuỗi và tốn 16 Gas. Điều này có nghĩa là nếu một khối chỉ chứa một lô (giả sử ZK Rollup được sử dụng và bằng chứng xác minh có giá 500.000 Gas), thì lô này có thể chứa 12 triệu / 16 = 750.000 byte dữ liệu. Như đã đề cập ở trên, mỗi lần chuyển ETH trong Rollup chỉ yêu cầu 12 byte dung lượng lưu trữ, nghĩa là mỗi lô có thể chứa 62.500 giao dịch. Khoảng thời gian chặn hiện tại của chuỗi chính Ethereum là 13 giây, có nghĩa là TPS đạt được là khoảng 4807 (so sánh, TPS của chuyển ETH trên chuỗi chính Ethereum là khoảng 1250000/21000/13 = 45).
Bảng sau đây trình bày hiệu quả mở rộng của một số kịch bản ứng dụng khác.

Phương pháp tính toán hệ số mở rộng tối đa: Mức tiêu thụ gas của hoạt động tương ứng trên chuỗi chính Ethereum / (số byte cần thiết cho hoạt động tương ứng trong Rollup * 16) * 12 triệu / 12,5 triệu
Cần lưu ý rằng vì một số lý do, những con số này thực sự quá lạc quan. Lý do quan trọng nhất là hầu như không thể chỉ chứa một lô trong một khối, vì khi đó sẽ có nhiều hệ thống Rollup khác nhau. Lý do thứ hai là hoạt động gửi và rút tiền sẽ luôn tồn tại. Lý do thứ ba là việc sử dụng Rollup có thể sẽ thấp trong thời gian ngắn nên mô hình tính phí với chi phí cố định sẽ chiếm ưu thế. Nhưng ngay cả khi tính đến những yếu tố này, việc mở rộng quy mô hơn 100 lần cũng không khó để đạt được.
Nếu chúng ta muốn đạt được 1000-4000 TPS (tùy thuộc vào kịch bản ứng dụng cụ thể) thì sao? Điều này đòi hỏi phải bảo vệ dữ liệu eth4. Trong đề xuất này, cứ sau 12 giây sẽ mở ra một không gian lưu trữ 16 MB, không gian lưu trữ này có thể chứa bất kỳ dữ liệu nào và hệ thống sẽ đảm bảo sự đồng thuận về tính khả dụng của dữ liệu này. Không gian dữ liệu này có thể được sử dụng bởi Rollup. Thông lượng dữ liệu khoảng 1398kB/giây này là sự cải thiện gấp 23 lần so với tốc độ khoảng 60kB/giây của chuỗi chính Ethereum hiện tại và dung lượng dữ liệu dự kiến sẽ tăng hơn nữa trong dài hạn. Do đó, TPS của Rollup được triển khai bằng cách sử dụng phân đoạn dữ liệu eth4 có thể lên tới 100.000 và thậm chí sẽ lớn hơn trong tương lai.
Mặc dù khái niệm cơ bản về Rollup hiện đã được nhiều người biết đến nhưng chúng tôi cũng chắc chắn rằng Rollup về cơ bản là khả thi, an toàn và có nhiều A Rollup được triển khai trên Ethereum mạng chính, nhưng vẫn còn nhiều khía cạnh của Rollup chưa được khám phá kỹ ở cấp độ thiết kế. Nếu hầu hết hệ sinh thái Ethereum được đưa hoàn toàn vào Rollup để tận dụng khả năng mở rộng của nó thì vẫn còn nhiều vấn đề trong lĩnh vực này . thử thách. Một số thách thức chính bao gồm:
Cuộn lên là một mô hình mở rộng lớp thứ hai mới và mạnh mẽ, dự kiến sẽ trở thành mô hình ngắn hạn và trung hạn (và có thể là dài hạn). hạn) triển khai Ethereum trong tương lai. Nền tảng của việc mở rộng. Cộng đồng Ethereum rất hào hứng với Rollup vì không giống như những nỗ lực trước đây trong việc mở rộng quy mô lớp 2, Rollup có thể hỗ trợ mã EVM phổ biến, cho phép các ứng dụng hiện có có thể dễ dàng di chuyển. Rollup đạt được mục tiêu này bằng cách thực hiện một thỏa hiệp quan trọng: không cố gắng chuyển hoàn toàn ra khỏi chuỗi mà giữ một lượng nhỏ dữ liệu từ mỗi giao dịch trên chuỗi. (Lưu ý của người dịch: Không có vấn đề về tính sẵn có của dữ liệu như đã đề cập ở trên)
Có nhiều loại Rollup và có nhiều lựa chọn trong thiết kế: sử dụng Optimisitc chống gian lận Rollup, ZK Rollup sử dụng bằng chứng hợp lệ. Người đặt hàng có thể là vai trò tập trung, vai trò tự do phi tập trung hoặc nhiều tùy chọn khác ở giữa. Rollup vẫn là công nghệ ở giai đoạn đầu và quá trình phát triển đang tiếp tục với tốc độ nhanh chóng nhưng chúng có hiệu quả và một số (đặc biệt là Loopring, ZKSync và DeversiFi) đã hoạt động được nhiều tháng. Hãy mong đợi những kết quả thú vị hơn trong không gian Tổng hợp trong những năm tới.
Liên kết gốc
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