Đã có một cuộc nổ lực Cambrian của rollups trên Ethereum. Vào thời điểm viết, có 91 L2 & L3 hoạt động và 82 L2 sắp tới theo L2Beat. Kết quả, cũng có một lượng đáng kể sự phân mảnh về thanh khoản, trải nghiệm người dùng và công cụ phát triển. Các giải pháp hiện tại cho khả năng tương tác để lại nhiều điều mong muốn, vì chúng dựa vào sự kết hợp của các cầu nối bên thứ ba, tài sản được bọc bên ngoài và các framework ý định, mỗi cái đều mang theo bộ vấn đề riêng của họ.
Trong bài viết này, chúng tôi khảo sát cảnh quan tương tác không đáng tin cậy bằng cách xác định và thảo luận về sáu cấp độ các giải pháp tương tác giữa các hệ sinh thái rollup bị phân mảnh.
Chúng tôi bắt đầu với trường hợp mặc định của việc rút tiền bất đồng bộ từ rollup nguồn đến L1 và cầu nối thủ công vào rollup mục tiêu, và chúng tôi kết thúc với một kiến trúc giả định cho tính tương tác giữa các rollup trong một giao dịch duy nhất. Chúng tôi sẽ khám phá cách mà mỗi cấp độ khả năng tương tác sẽ ảnh hưởng đến trải nghiệm người dùng, trải nghiệm phát triển, tiềm năng MEV và các rollup chính chúng (đặc biệt liên quan đến các thay đổi cơ sở hạ tầng).
Chúng tôi chủ yếu tập trung vào phạm vi của Ethereum và các L2 của nó cho bài viết này và tập trung hoàn toàn vào khả năng tương tác không đáng tin cậy. Trong trường hợp này, “khả năng tương tác không đáng tin cậy” đề cập đến các kênh trong giao thức không yêu cầu bên thứ ba để thực hiện chuyển khoản bên ngoài cơ sở hạ tầng cần thiết mà hầu hết các rollups đã yêu cầu.
Đầu tư, khả năng tương tác không đáng tin cậy đòi hỏi một nguồn tài nguyên chung mà bất kỳ hai giao thức nào muốn tương tác phải có quyền truy cập. Trong trường hợp của Ethereum L1, tất cả các hợp đồng thông minh tồn tại trong môi trường chung chia sẻ toàn bộ trạng thái của Ethereum, vì vậy họ luôn có mức độ tương tác cao nhất. Tuy nhiên, L2 chỉ chia sẻ một lớp giải quyết thông qua các hợp đồng cầu nguyện riêng biệt và do đó khả năng tương tác bị hạn chế nhiều hơn.
Các thành phần cơ sở hạ tầng chia sẻ quan trọng có thể đưa chúng ta tiến xa hơn trên thang tương tác không đáng tin cậy là các máy chủ chia sẻ, siêu xây dựng và thanh toán chia sẻ. Các cam kết và chức năng mới mở ra bởi các lớp chia sẻ này có liên quan, nhưng về bản chất là trực giao.
Để bắt đầu, chúng tôi sẽ định nghĩa trước sáu cấp độ của khả năng tương tác không đáng tin cậy được đề cập trong phần giới thiệu:
Để hiểu rõ hơn về từng cấp độ, chúng tôi sẽ đi qua các trường hợp sử dụng chính để minh họa sức mạnh của từng cấp độ cũng như các hệ lụy đối với người dùng, nhà phát triển, rollups và những người tìm kiếm MEV.
Các câu hỏi sau sẽ được trả lời để hiểu rõ hơn về tác động đối với các cổ đông chính trong bất kỳ hệ sinh thái nào.
Tổng quan về các thay đổi đối với các bên liên quan chính
N/A
Theo định nghĩa, điều này đề cập đến chế độ mặc định hiện tại của khả năng tương tác không đáng tin cậy. Tất cả các rollups đều được định nghĩa là như vậy vì chúng được xây dựng trên một L1 như một lớp thanh toán và chỉ có quyền truy cập vào L1 đó thông qua các hợp đồng cầu nối nơi chúng định kỳ đăng các cập nhật trạng thái để bảo vệ mạng.
Cách duy nhất để thực hiện bất kỳ hoạt động chéo rollup không đáng tin cậy nào trong trường hợp này là rút tài sản từ rollup nguồn thông qua cầu cơ sở và gửi chúng vào rollup mục tiêu một cách thủ công khi chúng có sẵn trên L1.
Đối với optimistic rollups, độ trễ rút tiền này là khoảng ~7 ngày để tính đến cửa sổ chứng cứ lỗi. Trong một ZK rollup, độ trễ rút tiền không chắc chắn nhưng có thể từ 15 phút đến một ngày đầy đủ, như trường hợp của ZkSync.
Ngoài ra, việc trao đổi ngang hàng bằng cách sử dụng hợp đồng thông minh là khả thi, nhưng đây chỉ là một trường hợp sử dụng nhỏ hơn và không mở rộng hiệu quả.
Đáng lưu ý các giải pháp bên thứ ba hiện đang tồn tại:
Cả hai ví dụ minh họa của chúng tôi đều cần các giải pháp bên thứ ba để tạo điều kiện thuận lợi.
Gửi cho chính mình:
Lệnh Giới Hạn Chéo-Rollup
Vì đây là trường hợp mặc định, không cần thảo luận về các thay đổi cho UX, DevEx, MEV và rollups.
Bộ xử lý Chia sẻ *
Sự bao gồm nguyên tử chỉ đảm bảo rằng một gói cross-rollup sẽ được bao gồm trong khối tiếp theo.
Điều này đòi hỏi một bộ xếp hạng chung, nhưng lý thuyết có thể đạt được mà không cần một cách thủ công nếu các bộ xếp hạng trên hai rollup cụ thể không ở tối đa thông lượng (người ta có thể đơn giản là gửi hai giao dịch đến mỗi rollup một cách cá nhân). Đó là lý do tại sao chúng tôi đã thêm một dấu sao vào cơ sở hạ tầng cần thiết.
Tuy nhiên, chúng tôi không giả định rằng trình sắp xếp chuỗi được chia sẻ đang chạy một nút đầy đủ của mỗi bản tổng hợp được kết nối và do đó không thể đảm bảo thực hiện thành công cho một gói giao dịch. Trình tự được chia sẻ trong trường hợp này chỉ có thể đảm bảo rằng các giao dịch được hình thành tốt và chúng sẽ được đưa vào khối tiếp theo, nhưng không nhất thiết là chúng sẽ thực hiện thành công.
Vì không có bảo đảm về việc thực thi, không thể tận dụng tự động hóa tính nguyên lý bao gồm một cách có ý nghĩa mà không gặp rủi ro một trong các giao dịch bị hoàn ngược. Kết quả, chúng ta về cơ bản đang đối mặt với trường hợp chính xác như khả năng tương tác bất đồng bộ L1.
Xem xét khởi xướng một giao dịch đổi mới đơn giản với đảm bảo bao gồm cả tương tác nguyên tử:
Chúng ta có thể có các cam kết bao gồm trong đó cả hai giao dịch đều thực sự được bao gồm trong các khối tiếp theo cho mỗi rollup, nhưng nếu giao dịch đầu tiên quay trở lại và giao dịch thứ hai không, người dùng sẽ được phân bổ tiền một cách không đúng trên chuỗi đích mà không cần phải khóa hoặc đốt chúng trên chuỗi nguồn và chúng ta sẽ gặp phải vấn đề chi tiêu kép.
Bất kỳ giải pháp tương tác nào, dù đó là cầu nối thanh khoản, khung tác động, hoặc swap xERC-20, đều sẽ dễ bị tổn thương bởi rủi ro này và không thể giảm thiểu được. Do rủi ro này, các giải pháp hiện tại đòi hỏi giao dịch khởi tạo phải được thực hiện thành công và được bao gồm trong một khối trên chuỗi nguồn trước khi sử dụng các bộ truyền thông để truyền đi một thông điệp phát ra và thực hiện giao dịch thứ hai trên chuỗi đích.
Điểm quan trọng: Sự bao gồm nguyên tử không ảnh hưởng đáng kể đến khả năng tương tác
Lớp tổng hợp chứng minh // Hợp đồng cầu chung
Đây là nơi mọi thứ bắt đầu trở nên thú vị hơn. Kết quả của hợp đồng cầu nối được chia sẻ, tất cả thanh khoản được gửi vào hệ sinh thái rollup từ L1 có thể được di chuyển tự do giữa tất cả các rollups kết nối. Cho đến điểm này, chúng ta không thể thực hiện trao đổi giữa các rollup mà không thông qua các kênh chuẩn, gói tài sản bên ngoài, hoặc sử dụng một giải pháp bên thứ ba.
Tại sao xây dựng một hợp đồng cầu chung? Để hiểu tại sao việc có một hợp đồng cầu chung cho phép chúng ta di chuyển tài sản qua các rollups mà không đáng tin cậy, đầu tiên hãy xem xét điều gì sẽ xảy ra nếu có thể có Eth trong Rollup A, đốt nó và tạo ra nó một cách tự nhiên trên Rollup B mà không cần có một hợp đồng cầu chung trên L1.
Chúng tôi nhận thấy mỗi rollup sẽ không đồng bộ với hợp đồng cầu nối trên mainnet của họ. Hợp đồng cầu nối của rollup B vẫn có 50 Eth, vì vậy người dùng sẽ không thể rút 1 Eth của họ sang L1.
Để giải quyết vấn đề này, các giao thức bọc tài sản bên ngoài được xây dựng để phát hành một phiên bản được bọc bên ngoài của các token trên các rollups mà tượng trưng cho một phiên bản bản địa ở một nơi khác trong mạng lưới.
Với một lớp thanh toán chung, tình hình trở nên khác biệt. Bởi vì tất cả thanh khoản cho mỗi rollup kết nối đều bị khóa trong cùng một hợp đồng cầu, người ta có thể di chuyển tự do giữa các rollup, vì tổng số lượng giá trị trong hợp đồng cầu vẫn giữ nguyên và luôn có thể rút ra.
Cần có một bản cập nhật ở cấp độ hợp đồng L1 về ở đâu Sự thanh khoản là để cho phép người dùng rút tiền từ bất kỳ đâu, nhưng điều này không đáng kể vì tất cả các rollups kết nối đều có thể đọc/viết vào hợp đồng chia sẻ.
Với một lớp giải quyết chung, quy trình có thể trông như sau đối với trường hợp gửi đơn giản cho chính mình.
Gửi cho chính mình:
Chúng ta có thể mở rộng luồng này đến bất kỳ ERC-20 nào có hợp đồng trên tất cả các rollups trong hệ sinh thái thanh toán chia sẻ.
Người ta có thể nghĩ về hợp đồng cầu nối được chia sẻ như một lớp nhắn tin trong giao thức giữa tất cả các bản tổng hợp được kết nối, vì vậy về mặt lý thuyết, luồng này thực sự có thể được mở rộng cho bất kỳ tiêu chuẩn nhắn tin tùy ý nào.
Điều này đưa chúng ta gần hơn với tính toàn dựa vào, nhưng vì các bước cần thiết của việc tổng hợp bằng chứng và chuyển tiếp tin nhắn chỉ sau khi các thay đổi trạng thái được phản ánh trên L1, có độ trễ cao (mặc dù đáng chú ý thấp hơn so với trường hợp bất đồng bộ L1). Ngoài ra, bất kỳ hoạt động chéo rollup phức tạp nào như sử dụng một DEX trên rollup B bắt đầu với tài sản trên rollup A để đặt lệnh giới hạn chéo rollup vẫn sẽ là quy trình đều đều cho người dùng vì họ vẫn phải tự gửi và đổi tài sản thủ công trên rollup đích. Không thể tạo gói hàng chéo rollup nguyên tử trong trường hợp này.
Một lợi ích quan trọng khác của việc giải quyết chung là ít ma sát hơn đối với các nhà cung cấp thanh khoản hoặc người giải quyết đang điền các lệnh trong nhiều môi trường khác nhau. Bởi vì thanh khoản của họ trên tất cả các rollup kết nối được phản ánh trong cùng một hợp đồng cầu, họ không cần phải chờ đợi cửa sổ rút tiền đầy đủ để quản lý thanh khoản chéo giữa các rollup.
Mang về quan trọng: Quy trình thanh toán chia sẻ cho phép chuyển tài sản không được bọc bên ngoài và tin nhắn tùy ý trên tất cả các rollups chia sẻ hợp đồng cầu và lớp tổng hợp chứng cứ, nhưng vẫn sẽ có độ trễ không thể xem thường (mặc dù ngắn hơn nhiều so với L1 Async) và không thể tạo gói tổ hợp qua các rollups.
Trình tự Chia sẻ // Siêu Xây dựng
Thực thi nguyên tử cho phép chúng ta đảm bảo thực thi thành công các gói chuyển đổi chéo, nhưng như chúng ta sẽ thấy, số lượng trường hợp sử dụng cho các gói chuyển đổi chéo mà không có giao dịch phụ thuộc nhỏ hơn so với những gì người ta có thể nguyên đầu.
Nếu bất kỳ giao dịch đơn lẻ nào trong một gói giao dịch phụ thuộc bị đảo ngược, thì tất cả các giao dịch khác trở nên không hợp lệ và cũng phải đảo ngược, như trường hợp khi đốt và đúc token qua rollups. Việc đúc token trên một rollup đích phụ thuộc vào việc chúng đã được đốt hoặc khóa trên rollup nguồn, vì vậy chúng ta có thể nói rằng một gói giao dịch đốt và đúc là một gói giao dịch phụ thuộc.
Tạo bộ sưu tập này là không thể thiếu một bên trung gian như một siêu xây dựng có thể tạo ra giao dịch đích.
Hãy xem điều gì phải đúng để các gói trao đổi chéo-rollup có thể được xây dựng mà không cần bên thứ ba ngoài người dùng. Một gói sẽ phải được tạo ra để khóa/thu hồi tài sản trên rollup nguồn và phát hành tài sản trên rollup đích, nhưng chúng ta gặp vấn đề:
Chúng ta có thể thấy rằng mặc dù chúng ta có thể đảm bảo việc thực hiện các gói cross-rollup, nhưng chúng ta gặp khó khăn trong việc xây dựng chúng ban đầu để chuyển tài sản có giá trị.
Tuy nhiên, vẫn còn một số trường hợp sử dụng cho việc thực thi nguyên tử mà không phụ thuộc vào các gói cross-rollup phụ. Một trong số đó là giả mạo cross-rollup:
Cross-Rollup DEX Arbitrage với Thực thi nguyên tử
Bởi vì không có sự phụ thuộc chặt chẽ giữa các giao dịch này, bất kỳ ai cũng có thể tạo ra bản gói nguyên tử này và gửi nó đến một bộ xử lý chung sẽ đảm bảo thực thi nguyên tử.
Tuy nhiên, để có bảo đảm thực thi nguyên tử từ đầu, rollups phải chọn vào một sequencer và superbuilder chung mà sẽ chạy các nút đầy đủ của tất cả các rollups kết nối, vì vậy bước từ thực thi nguyên tử đến tính tương tác ở cấp độ khối là khá nhỏ và tất cả các giải pháp sequencing chia sẻ sẽ làm điều này. Sự thay đổi duy nhất cần thiết là người xây dựng khối hoặc một bên thứ ba khác phải có khả năng tạo giao dịch thay mặt cho người dùng để hoàn thành các gói cross-rollup phụ thuộc.
Không có khả năng rằng cơ sở hạ tầng sẽ được xây dựng chỉ cho phép thực thi nguyên tử mà không đi một bước xa hơn để có tính kết hợp. Lợi ích tương đối của việc chuyển đến khả năng kết hợp toàn bộ cấp đồng khối vượt xa khó khăn trong việc đạt được điều đó khi cơ sở hạ tầng đã có thực thi nguyên tử.
Nhận Xét Quan Trọng: Trong khi các gói cross-rollup được đảm bảo thực hiện theo nguyên tử, không rõ là các gói này sẽ được xây dựng như thế nào nếu không có một siêu xây dựng nào tạo ra một phần của gói, vì vậy rất ít có khả năng rằng việc thực hiện nguyên tử một mình sẽ ảnh hưởng đến khả năng tương tác. Các bộ xây dựng/siêu xây dựng chia sẻ nên mặc định xây dựng thay vì khả năng tương tác ở cấp độ khối.
Bộ sắp xếp chuỗi dùng chung // Superbuilder // Lớp tổng hợp bằng chứng// Shared bridge contract
(* = optional)
Trong hầu hết các cuộc trao đổi về bộ xếp chung và lớp thanh toán chung, thuật ngữ thường được sử dụng để mô tả mức độ tương tác này là “tính kết hợp đồng bộ”.
Chúng tôi đã điều chỉnh thuật ngữ này một chút để mô tả rõ hơn. Việc cập nhật thuật ngữ thành Khả năng Tương Tác ở Mức Khối Khối ngụ ý rằng có thể tạo thành giữa hai rollups trong một bản giao dịch chéo-rollup sẽ được bao gồm và thực hiện thành công trong khối tiếp theo. Khả năng tương tác đồng bộ có thể gây nhầm lẫn với khả năng tương tác ở mức giao dịch, mà chúng ta sẽ tìm hiểu trong phần tiếp theo. Quan trọng là điều này đòi hỏi một bên thứ ba (cơ sở hạ tầng xếp hàng chung) có thể là người điều khiển và tạo ra các bản giao dịch phụ thuộc.
Ở cấp độ này, chúng ta bắt đầu thấy khả năng kết hợp thực sự giữa các bản tổng hợp ngoài việc chỉ đơn giản là gửi cho bản thân để tham gia vào một dapp trên một bản tổng hợp khác.
Với việc thêm một bộ xử lý chung có thể tạo giao dịch, chúng tôi hiện có khả năng tạo các gói chuyển đổi giữa các rollup mà các nhà phát triển có thể tận dụng theo cách lập trình.
Có hai trường hợp cần xem xét:
Trong cả hai trường hợp, chúng ta có thể tạo các gói chuyển đổi chéo cho các hoạt động phức tạp hơn nhưng trong trường hợp thứ hai với việc thanh toán chung, chúng ta có thể sử dụng các tài sản bản địa, điều này có thể có ảnh hưởng giá tốt hơn đối với hoạt động DEX chuyển đổi chéo, ví dụ.
Với khả năng tương tác cấp khối, chúng ta không chỉ có lợi ích của việc thực thi nguyên tử mà còn có khả năng tạo các gói giao dịch phụ thuộc. Hãy xem xét hai ví dụ minh họa của chúng tôi.
Chuyển Token Cùng Qua xERC-20 (Không Thanh Toán Chia Sẻ):
Với một lớp thanh toán chung, quá trình được đơn giản hóa hơn vì không cần phải bọc ERC-20 trước khi trao đổi như một xERC-20.
Bây giờ chúng ta hãy kiểm tra lệnh giới hạn tổng hợp chéo để mua ERC-20 trên Bản tổng B với ERC-20 ban đầu (khác) từ Bản tổng hợp A và kết quả ERC-20 được gửi lại cho Bản tổng hợp A. Trong trường hợp này, chúng tôi không giả định rằng chúng tôi có một lớp giải quyết chung, mặc dù một luồng tương tự tồn tại trong trường hợp với một lớp. Sự khác biệt duy nhất là không phải bọc thêm tài sản bên ngoài.
Dưới đây là các giao dịch cần thiết trong trường hợp này:
Dưới đây là một luồng tiềm năng về cách mà điều này có thể hoạt động:
Giới hạn lệnh chuyển đổi giữa các Rollup trong Môi trường Có thể sắp xếp theo cấp độ khối
Dòng chảy:
Bởi vì siêu kiến trúc sư tạo ra khối và sắp xếp giao dịch, nó có thể mô phỏng từng giao dịch và bỏ qua gói nếu bất kỳ giao dịch nào sẽ quay trở lại. Ví dụ, nếu phát hiện rằng người dùng sẽ không nhận được sự hoàn tất đầy đủ trên đơn đặt hàng giới hạn của họ, gói sẽ được bỏ qua trước khi khối được thực thi.
Trong trường hợp cơ sở hạ tầng chuỗi chung mà không có lớp thanh toán chung, phiên bản bọc bên ngoài của Eth và xERC-20 sẽ cần được sử dụng, điều này có thể dẫn đến điều kiện thị trường tồi tệ hơn trên DEX do hồ bơi thanh khoản mỏng cho tài sản được bọc. Trong trường hợp này, người dùng có thể phải sử dụng giới hạn mềm hơn với sự trượt giá được chấp nhận hơn và có thể nhận được giá không tối ưu. Một ngoại lệ trong trường hợp này là nếu có sự tham gia của USDC. Có thể rằng một sequencer chung mà không có thanh toán chung có thể làm việc với Circle để có quyền độc quyền trên các hợp đồng USDC trên các rollup khác nhau để tạo điều kiện cho việc chuyển và đổi USDC native qua các rollup.
Với một lớp thanh toán chung, việc bọc bên ngoài này không cần thiết, và có thể cung cấp giá tốt hơn do sự sâu rộng của hồ bơi thanh khoản cho việc trao đổi tài sản bản địa, nhưng quy trình vẫn giống nhau.
Rollups cần tin tưởng một cách lạc quan vào bộ xếp hạng chung/superbuilder để tạo ra các gói chuyển đổi chéo hợp lệ. Điều này chủ yếu là do gói chuyển đổi chéo này chứa các giao dịch phụ thuộc mà các rollups cá nhân không thể xác minh cho đến sau khi khối được thêm vào chuỗi của mỗi rollup và được tổng hợp vào một lớp giải quyết trên L1. Một ví dụ là việc đốt và đúc ban đầu của Eth từ nguồn đến đích. Quan trọng là Eth thực sự phải được đốt trên chuỗi nguồn trước khi được đúc trên chuỗi đích, nếu không thì việc tiêu dùng gấp đôi có thể xảy ra.
Tuy nhiên, để thực hiện toàn bộ gói này trong một khối, tất cả các giao dịch phải có mặt trong khối đó ngay cả khi giao dịch đại diện cho một trạng thái không hợp lệ trước khối chính nó (như có Eth trên chuỗi đích cho việc đổi nếu người dùng trước đó không có bất kỳ Eth nào trước khối). Vì lý do đó, chúng ta phải tin tưởng người sắp xếp rằng họ đã thực sự bao gồm các phụ thuộc hợp lệ trong gói cross-rollup. Một người có thể gửi bằng chứng sau sự kiện để chứng minh tính hợp lệ của mỗi giao dịch.
Điều này ít quan trọng hơn khi sử dụng tài sản được bọc, tuy nhiên, vì chúng không ảnh hưởng đến tính thanh khoản bản địa được lưu trữ trong L1, nhưng cơ chế dự phòng vẫn phải được thiết lập để đối phó với nguy cơ của một sequencer độc hại hoặc một lỗi trong mã đã cho phép một bản ghi giao dịch được thực thi với một giao dịch phụ thuộc đã bị hoàn ngược.
Thay đổi cấp VM // Thanh toán chia sẻ // Siêu xây dựng
Khả năng hợp thành ở mức giao dịch đề cập đến cùng một mức độ chức năng mà các hợp đồng thông minh trên một chuỗi EVM chia sẻ. Trong trường hợp này, một giao dịch duy nhất có thể cập nhật trạng thái trên nhiều rollups đồng thời và đảm bảo rằng bất kỳ thay đổi trạng thái nào trước bất kỳ cuộc gọi nào đều có thể bị quay lại nếu cuộc gọi không thành công. Hiệu quả, một bó gồm nhiều giao dịch trong môi trường có thể hợp thành ở mức khối có thể được thực hiện trong một giao dịch chéo-rollup và chéo VM duy nhất. Điều này yêu cầu các thay đổi ở mức VM cho tất cả các rollups kết nối ngoài ra còn cần một lớp giải quyết chung và một siêu xây dựng.
Chúng tôi mô tả một cơ chế có thể ở đây ở mức cao. (Việc xây dựng này là do nhóm Espresso theo hiểu biết của chúng tôi). Đầu tiên, người dùng gửi giao dịch cross-rollup cho tất cả các rollup có trạng thái được thay đổi bởi giao dịch hoặc một superbuilder có thể xây dựng các khối trên tất cả các bản tổng hợp có liên quan. Một superbuilder mô phỏng giao dịch và hình thành danh sách các cặp đầu vào-đầu ra, một cho mỗi bản tổng hợp liên quan, chỉ định các thông báo tổng hợp chéo cần thiết và dự kiến trong giao dịch. (Lưu ý rằng superbuilder chỉ có thể làm như vậy nếu nó có quyền giải trình tự an toàn cho tất cả các bản tổng hợp liên quan trong một khoảng thời gian). Siêu nhà xây dựng sau đó gửi khối mô phỏng đến người đề xuất của mỗi bản tổng hợp, cùng với danh sách các cặp đầu vào-đầu ra dự kiến cho mỗi giao dịch tổng hợp chéo. Trong quá trình thực hiện, mỗi rollup thực hiện chức năng chuyển đổi trạng thái riêng của nó như bình thường giả sử các đầu vào từ danh sách các giao dịch cross-rollup là chính xác. Trong quá trình thanh toán, các danh sách đầu vào-đầu ra sau đó có thể được so sánh chéo và chứng minh an toàn trong giai đoạn tổng hợp bằng chứng trong lớp giải quyết được chia sẻ. Cụ thể, nếu bất kỳ đầu vào dự kiến nào cho giao dịch cross-rollup không khớp với những gì một rollup khác đã chỉ định làm đầu ra, quá trình thanh toán sẽ từ chối toàn bộ giao dịch cross-rollup.
Mặc dù có giới hạn chức năng mới được mở khóa với tính tương tác ở mức giao dịch vượt ra ngoài các khoản vay nhanh, trải nghiệm của nhà phát triển khi tạo ứng dụng chéo rollup có thể được cải thiện đáng kể. Khả năng tạo ra các ứng dụng phi tín nhiệm tương tác với tất cả các chuỗi kết nối mà không cần suy luận về các gói chéo rollup sẽ khiến việc đổi mới trong một cảnh quan đa rollup trở nên dễ dàng hơn nhiều. Hơn nữa, có khả năng rằng các trường hợp sử dụng và hành vi mới sẽ xuất hiện như một kết quả.
Có nhiều câu hỏi thiết kế mở cho tính tương tác ở cấp độ giao dịch. Ví dụ, cách mà các nhà phát triển có thể tham gia hoặc không tham gia vào cuộc gọi giữa các rollup cho nhu cầu hợp đồng thông minh của họ cần được cân nhắc cẩn thận. Cho phép tính tương tác tùy ý mà không có hạn chế có nghĩa là chúng ta trở lại với một rollup duy nhất. Chúng tôi nghĩ rằng câu trả lời ở đây là để các nhà phát triển chỉ ra rõ nơi mà tính tương tác giữa các rollup cần thiết trong hợp đồng của họ, ví dụ thông qua một Solidity modifier như composable
đánh dấu một số điểm nhập cụ thể của hợp đồng như có thể gọi qua cross rollup.
Sau khi đi qua các chi tiết kỹ thuật của mỗi cấp độ tương tác được xác định ở đây, chúng ta có thể tóm tắt:
Hiện tại, có rất nhiều dự án nổi lên để tạo ra những hệ sinh thái tương tác một cách tự nhiên. Đây là một cái nhìn tổng quan về cảnh quan:
Bản đồ hệ sinh thái
Vẫn còn những câu hỏi mở về những sắc thái kỹ thuật trong các khung công việc được đề cập trong bài viết này. Ví dụ, việc xây dựng gói hàng trong một hệ sinh thái có thể tương tác ở mức khối cho các đơn đặt hàng giới hạn chéo-rollup có thể có các thiết kế chi tiết hơn để xử lý trường hợp thực hiện một phần và sự chịu đựng trượt giá cho các đơn đặt hàng thị trường. Chúng tôi đã đưa ra một giải pháp tiềm năng ở đây để quay lại một gói đơn đặt hàng giới hạn chéo-rollup nếu đơn đặt hàng không được thực hiện hoàn toàn, nhưng không gian thiết kế là mở.
Ngoài ra, đáng lưu ý khi liên quan đến sự phát triển của ý thức hiện tại trong không gian về appchains. Appchains là L2 dài đuôi mà hoặc là tổng quát hoặc được quyền với mục tiêu phân chia các giao thức cụ thể liên quan trên một L2. Có khả năng rằng khi chúng ta đạt được tính tương tác ở cấp độ khối thì chúng ta cũng sẽ bắt đầu thấy môi trường appchain thu hút sự chú ý đáng kể do có tính tương tác tự nhiên giữa tất cả các mạng kết nối.
Tại thời điểm hiện tại, việc tạo thanh khoản cho các appchains vẫn còn khá khó khăn, nhưng một khi một chuỗi lớn kết nối như một cầu nối vào môi trường tương tác, có khả năng chúng ta sẽ thấy các hệ sinh thái vườn tường xung quanh cơ sở hạ tầng chung.
Một câu hỏi mở quan trọng khác là cách không gian thiết kế xung quanh các siêu xây dựng sẽ giải quyết. Phát triển trên mặt này vẫn còn khá mới mẻ, và chưa rõ điều gì sẽ là cách hiệu quả và hiệu quả nhất để tạo ra một mạng lưới các nhà xây dựng tinh vi có thể tạo ra bảng gói chuyển đổi. Nơi mà các bảng gói chuyển đổi này sẽ được bao gồm một cách tối ưu trong một khối, và tác động đến doanh thu chuyển đổi là một câu hỏi mở với các chiến lược khác nhau được nhiều nhóm nghiên cứu.
Cuối cùng, tương lai có lẽ sẽ liên quan đến sự kết hợp giữa các giải pháp nối giao thức và ngoài giao thức và chúng sẽ hoạt động cùng nhau để cung cấp quy trình tương tác tốt hơn cho mọi người. Chúng tôi tin rằng sự tiến triển được xác định trong bài viết này có thể phục vụ như một hướng dẫn cho các nhà phát triển và xây dựng cũng như những người tập trung vào việc làm cho tương tác giữa các rollup trở nên mượt mà hơn đối với người dùng cuối.
Có thể rằng sẽ có những mô hình hoàn toàn mới cho tương tác giữa các rollup mà chúng ta chưa khám phá được. Nếu bạn là một người xây dựng đang làm việc trên những phương pháp mở rộng từ những chủ đề ở đây hoặc chưa được đề cập ở trên, vui lòngliên hệ(dms đang mở). Công nghệ cuối cùng đã trưởng thành đủ để đặt áp lực thực sự vào việc tìm kiếm giải pháp cho sự phân mảnh về thanh khoản/hệ sinh thái, và chúng tôi luôn tìm cách kết nối với những người sáng lập đang dám mạo hiểm để xây dựng những giải pháp sáng tạo.
Bài viết này xuất phát từ một cuộc thảo luận vòng tròn về khả năng tương tác rollup đầy sáng suốt tổ chức bởi 1kx tại EthCC. Xin cảm ơn đặc biệt đến Noah Pravecek, Ellie Davidson, và Terryđã đọc các phiên bản sớm của bài viết này và đưa ra phản hồi, cũng như để Marti, mteam, và Bo Duđể tiếp tục cuộc trò chuyện về chủ đề này.
Bài viết này được in lại từ [gương], Chuyển tiếp Tiêu đề Gốc 'Khả năng tương tác không đáng tin cậy giữa Rollups: Phong cảnh, Cấu trúc và Thách thức', Tất cả bản quyền thuộc về tác giả gốc [Marshall Vyletel Jr.]. Nếu có ý kiến phản đối về việc tái in này, vui lòng liên hệ Gate Learnđội ngũ, và họ sẽ xử lý ngay lập tức.
Bản Tuyên Bố Miễn Trừ Trách Nhiệm: Các quan điểm và ý kiến được thể hiện trong bài viết này chỉ thuộc về tác giả và không cung cấp bất kỳ lời khuyên đầu tư nào.
Các bản dịch của bài viết sang các ngôn ngữ khác được thực hiện bởi nhóm Gate Learn. Trừ khi được nêu, việc sao chép, phân phối hoặc đạo văn các bài viết dịch là không được phép.
分享
Đã có một cuộc nổ lực Cambrian của rollups trên Ethereum. Vào thời điểm viết, có 91 L2 & L3 hoạt động và 82 L2 sắp tới theo L2Beat. Kết quả, cũng có một lượng đáng kể sự phân mảnh về thanh khoản, trải nghiệm người dùng và công cụ phát triển. Các giải pháp hiện tại cho khả năng tương tác để lại nhiều điều mong muốn, vì chúng dựa vào sự kết hợp của các cầu nối bên thứ ba, tài sản được bọc bên ngoài và các framework ý định, mỗi cái đều mang theo bộ vấn đề riêng của họ.
Trong bài viết này, chúng tôi khảo sát cảnh quan tương tác không đáng tin cậy bằng cách xác định và thảo luận về sáu cấp độ các giải pháp tương tác giữa các hệ sinh thái rollup bị phân mảnh.
Chúng tôi bắt đầu với trường hợp mặc định của việc rút tiền bất đồng bộ từ rollup nguồn đến L1 và cầu nối thủ công vào rollup mục tiêu, và chúng tôi kết thúc với một kiến trúc giả định cho tính tương tác giữa các rollup trong một giao dịch duy nhất. Chúng tôi sẽ khám phá cách mà mỗi cấp độ khả năng tương tác sẽ ảnh hưởng đến trải nghiệm người dùng, trải nghiệm phát triển, tiềm năng MEV và các rollup chính chúng (đặc biệt liên quan đến các thay đổi cơ sở hạ tầng).
Chúng tôi chủ yếu tập trung vào phạm vi của Ethereum và các L2 của nó cho bài viết này và tập trung hoàn toàn vào khả năng tương tác không đáng tin cậy. Trong trường hợp này, “khả năng tương tác không đáng tin cậy” đề cập đến các kênh trong giao thức không yêu cầu bên thứ ba để thực hiện chuyển khoản bên ngoài cơ sở hạ tầng cần thiết mà hầu hết các rollups đã yêu cầu.
Đầu tư, khả năng tương tác không đáng tin cậy đòi hỏi một nguồn tài nguyên chung mà bất kỳ hai giao thức nào muốn tương tác phải có quyền truy cập. Trong trường hợp của Ethereum L1, tất cả các hợp đồng thông minh tồn tại trong môi trường chung chia sẻ toàn bộ trạng thái của Ethereum, vì vậy họ luôn có mức độ tương tác cao nhất. Tuy nhiên, L2 chỉ chia sẻ một lớp giải quyết thông qua các hợp đồng cầu nguyện riêng biệt và do đó khả năng tương tác bị hạn chế nhiều hơn.
Các thành phần cơ sở hạ tầng chia sẻ quan trọng có thể đưa chúng ta tiến xa hơn trên thang tương tác không đáng tin cậy là các máy chủ chia sẻ, siêu xây dựng và thanh toán chia sẻ. Các cam kết và chức năng mới mở ra bởi các lớp chia sẻ này có liên quan, nhưng về bản chất là trực giao.
Để bắt đầu, chúng tôi sẽ định nghĩa trước sáu cấp độ của khả năng tương tác không đáng tin cậy được đề cập trong phần giới thiệu:
Để hiểu rõ hơn về từng cấp độ, chúng tôi sẽ đi qua các trường hợp sử dụng chính để minh họa sức mạnh của từng cấp độ cũng như các hệ lụy đối với người dùng, nhà phát triển, rollups và những người tìm kiếm MEV.
Các câu hỏi sau sẽ được trả lời để hiểu rõ hơn về tác động đối với các cổ đông chính trong bất kỳ hệ sinh thái nào.
Tổng quan về các thay đổi đối với các bên liên quan chính
N/A
Theo định nghĩa, điều này đề cập đến chế độ mặc định hiện tại của khả năng tương tác không đáng tin cậy. Tất cả các rollups đều được định nghĩa là như vậy vì chúng được xây dựng trên một L1 như một lớp thanh toán và chỉ có quyền truy cập vào L1 đó thông qua các hợp đồng cầu nối nơi chúng định kỳ đăng các cập nhật trạng thái để bảo vệ mạng.
Cách duy nhất để thực hiện bất kỳ hoạt động chéo rollup không đáng tin cậy nào trong trường hợp này là rút tài sản từ rollup nguồn thông qua cầu cơ sở và gửi chúng vào rollup mục tiêu một cách thủ công khi chúng có sẵn trên L1.
Đối với optimistic rollups, độ trễ rút tiền này là khoảng ~7 ngày để tính đến cửa sổ chứng cứ lỗi. Trong một ZK rollup, độ trễ rút tiền không chắc chắn nhưng có thể từ 15 phút đến một ngày đầy đủ, như trường hợp của ZkSync.
Ngoài ra, việc trao đổi ngang hàng bằng cách sử dụng hợp đồng thông minh là khả thi, nhưng đây chỉ là một trường hợp sử dụng nhỏ hơn và không mở rộng hiệu quả.
Đáng lưu ý các giải pháp bên thứ ba hiện đang tồn tại:
Cả hai ví dụ minh họa của chúng tôi đều cần các giải pháp bên thứ ba để tạo điều kiện thuận lợi.
Gửi cho chính mình:
Lệnh Giới Hạn Chéo-Rollup
Vì đây là trường hợp mặc định, không cần thảo luận về các thay đổi cho UX, DevEx, MEV và rollups.
Bộ xử lý Chia sẻ *
Sự bao gồm nguyên tử chỉ đảm bảo rằng một gói cross-rollup sẽ được bao gồm trong khối tiếp theo.
Điều này đòi hỏi một bộ xếp hạng chung, nhưng lý thuyết có thể đạt được mà không cần một cách thủ công nếu các bộ xếp hạng trên hai rollup cụ thể không ở tối đa thông lượng (người ta có thể đơn giản là gửi hai giao dịch đến mỗi rollup một cách cá nhân). Đó là lý do tại sao chúng tôi đã thêm một dấu sao vào cơ sở hạ tầng cần thiết.
Tuy nhiên, chúng tôi không giả định rằng trình sắp xếp chuỗi được chia sẻ đang chạy một nút đầy đủ của mỗi bản tổng hợp được kết nối và do đó không thể đảm bảo thực hiện thành công cho một gói giao dịch. Trình tự được chia sẻ trong trường hợp này chỉ có thể đảm bảo rằng các giao dịch được hình thành tốt và chúng sẽ được đưa vào khối tiếp theo, nhưng không nhất thiết là chúng sẽ thực hiện thành công.
Vì không có bảo đảm về việc thực thi, không thể tận dụng tự động hóa tính nguyên lý bao gồm một cách có ý nghĩa mà không gặp rủi ro một trong các giao dịch bị hoàn ngược. Kết quả, chúng ta về cơ bản đang đối mặt với trường hợp chính xác như khả năng tương tác bất đồng bộ L1.
Xem xét khởi xướng một giao dịch đổi mới đơn giản với đảm bảo bao gồm cả tương tác nguyên tử:
Chúng ta có thể có các cam kết bao gồm trong đó cả hai giao dịch đều thực sự được bao gồm trong các khối tiếp theo cho mỗi rollup, nhưng nếu giao dịch đầu tiên quay trở lại và giao dịch thứ hai không, người dùng sẽ được phân bổ tiền một cách không đúng trên chuỗi đích mà không cần phải khóa hoặc đốt chúng trên chuỗi nguồn và chúng ta sẽ gặp phải vấn đề chi tiêu kép.
Bất kỳ giải pháp tương tác nào, dù đó là cầu nối thanh khoản, khung tác động, hoặc swap xERC-20, đều sẽ dễ bị tổn thương bởi rủi ro này và không thể giảm thiểu được. Do rủi ro này, các giải pháp hiện tại đòi hỏi giao dịch khởi tạo phải được thực hiện thành công và được bao gồm trong một khối trên chuỗi nguồn trước khi sử dụng các bộ truyền thông để truyền đi một thông điệp phát ra và thực hiện giao dịch thứ hai trên chuỗi đích.
Điểm quan trọng: Sự bao gồm nguyên tử không ảnh hưởng đáng kể đến khả năng tương tác
Lớp tổng hợp chứng minh // Hợp đồng cầu chung
Đây là nơi mọi thứ bắt đầu trở nên thú vị hơn. Kết quả của hợp đồng cầu nối được chia sẻ, tất cả thanh khoản được gửi vào hệ sinh thái rollup từ L1 có thể được di chuyển tự do giữa tất cả các rollups kết nối. Cho đến điểm này, chúng ta không thể thực hiện trao đổi giữa các rollup mà không thông qua các kênh chuẩn, gói tài sản bên ngoài, hoặc sử dụng một giải pháp bên thứ ba.
Tại sao xây dựng một hợp đồng cầu chung? Để hiểu tại sao việc có một hợp đồng cầu chung cho phép chúng ta di chuyển tài sản qua các rollups mà không đáng tin cậy, đầu tiên hãy xem xét điều gì sẽ xảy ra nếu có thể có Eth trong Rollup A, đốt nó và tạo ra nó một cách tự nhiên trên Rollup B mà không cần có một hợp đồng cầu chung trên L1.
Chúng tôi nhận thấy mỗi rollup sẽ không đồng bộ với hợp đồng cầu nối trên mainnet của họ. Hợp đồng cầu nối của rollup B vẫn có 50 Eth, vì vậy người dùng sẽ không thể rút 1 Eth của họ sang L1.
Để giải quyết vấn đề này, các giao thức bọc tài sản bên ngoài được xây dựng để phát hành một phiên bản được bọc bên ngoài của các token trên các rollups mà tượng trưng cho một phiên bản bản địa ở một nơi khác trong mạng lưới.
Với một lớp thanh toán chung, tình hình trở nên khác biệt. Bởi vì tất cả thanh khoản cho mỗi rollup kết nối đều bị khóa trong cùng một hợp đồng cầu, người ta có thể di chuyển tự do giữa các rollup, vì tổng số lượng giá trị trong hợp đồng cầu vẫn giữ nguyên và luôn có thể rút ra.
Cần có một bản cập nhật ở cấp độ hợp đồng L1 về ở đâu Sự thanh khoản là để cho phép người dùng rút tiền từ bất kỳ đâu, nhưng điều này không đáng kể vì tất cả các rollups kết nối đều có thể đọc/viết vào hợp đồng chia sẻ.
Với một lớp giải quyết chung, quy trình có thể trông như sau đối với trường hợp gửi đơn giản cho chính mình.
Gửi cho chính mình:
Chúng ta có thể mở rộng luồng này đến bất kỳ ERC-20 nào có hợp đồng trên tất cả các rollups trong hệ sinh thái thanh toán chia sẻ.
Người ta có thể nghĩ về hợp đồng cầu nối được chia sẻ như một lớp nhắn tin trong giao thức giữa tất cả các bản tổng hợp được kết nối, vì vậy về mặt lý thuyết, luồng này thực sự có thể được mở rộng cho bất kỳ tiêu chuẩn nhắn tin tùy ý nào.
Điều này đưa chúng ta gần hơn với tính toàn dựa vào, nhưng vì các bước cần thiết của việc tổng hợp bằng chứng và chuyển tiếp tin nhắn chỉ sau khi các thay đổi trạng thái được phản ánh trên L1, có độ trễ cao (mặc dù đáng chú ý thấp hơn so với trường hợp bất đồng bộ L1). Ngoài ra, bất kỳ hoạt động chéo rollup phức tạp nào như sử dụng một DEX trên rollup B bắt đầu với tài sản trên rollup A để đặt lệnh giới hạn chéo rollup vẫn sẽ là quy trình đều đều cho người dùng vì họ vẫn phải tự gửi và đổi tài sản thủ công trên rollup đích. Không thể tạo gói hàng chéo rollup nguyên tử trong trường hợp này.
Một lợi ích quan trọng khác của việc giải quyết chung là ít ma sát hơn đối với các nhà cung cấp thanh khoản hoặc người giải quyết đang điền các lệnh trong nhiều môi trường khác nhau. Bởi vì thanh khoản của họ trên tất cả các rollup kết nối được phản ánh trong cùng một hợp đồng cầu, họ không cần phải chờ đợi cửa sổ rút tiền đầy đủ để quản lý thanh khoản chéo giữa các rollup.
Mang về quan trọng: Quy trình thanh toán chia sẻ cho phép chuyển tài sản không được bọc bên ngoài và tin nhắn tùy ý trên tất cả các rollups chia sẻ hợp đồng cầu và lớp tổng hợp chứng cứ, nhưng vẫn sẽ có độ trễ không thể xem thường (mặc dù ngắn hơn nhiều so với L1 Async) và không thể tạo gói tổ hợp qua các rollups.
Trình tự Chia sẻ // Siêu Xây dựng
Thực thi nguyên tử cho phép chúng ta đảm bảo thực thi thành công các gói chuyển đổi chéo, nhưng như chúng ta sẽ thấy, số lượng trường hợp sử dụng cho các gói chuyển đổi chéo mà không có giao dịch phụ thuộc nhỏ hơn so với những gì người ta có thể nguyên đầu.
Nếu bất kỳ giao dịch đơn lẻ nào trong một gói giao dịch phụ thuộc bị đảo ngược, thì tất cả các giao dịch khác trở nên không hợp lệ và cũng phải đảo ngược, như trường hợp khi đốt và đúc token qua rollups. Việc đúc token trên một rollup đích phụ thuộc vào việc chúng đã được đốt hoặc khóa trên rollup nguồn, vì vậy chúng ta có thể nói rằng một gói giao dịch đốt và đúc là một gói giao dịch phụ thuộc.
Tạo bộ sưu tập này là không thể thiếu một bên trung gian như một siêu xây dựng có thể tạo ra giao dịch đích.
Hãy xem điều gì phải đúng để các gói trao đổi chéo-rollup có thể được xây dựng mà không cần bên thứ ba ngoài người dùng. Một gói sẽ phải được tạo ra để khóa/thu hồi tài sản trên rollup nguồn và phát hành tài sản trên rollup đích, nhưng chúng ta gặp vấn đề:
Chúng ta có thể thấy rằng mặc dù chúng ta có thể đảm bảo việc thực hiện các gói cross-rollup, nhưng chúng ta gặp khó khăn trong việc xây dựng chúng ban đầu để chuyển tài sản có giá trị.
Tuy nhiên, vẫn còn một số trường hợp sử dụng cho việc thực thi nguyên tử mà không phụ thuộc vào các gói cross-rollup phụ. Một trong số đó là giả mạo cross-rollup:
Cross-Rollup DEX Arbitrage với Thực thi nguyên tử
Bởi vì không có sự phụ thuộc chặt chẽ giữa các giao dịch này, bất kỳ ai cũng có thể tạo ra bản gói nguyên tử này và gửi nó đến một bộ xử lý chung sẽ đảm bảo thực thi nguyên tử.
Tuy nhiên, để có bảo đảm thực thi nguyên tử từ đầu, rollups phải chọn vào một sequencer và superbuilder chung mà sẽ chạy các nút đầy đủ của tất cả các rollups kết nối, vì vậy bước từ thực thi nguyên tử đến tính tương tác ở cấp độ khối là khá nhỏ và tất cả các giải pháp sequencing chia sẻ sẽ làm điều này. Sự thay đổi duy nhất cần thiết là người xây dựng khối hoặc một bên thứ ba khác phải có khả năng tạo giao dịch thay mặt cho người dùng để hoàn thành các gói cross-rollup phụ thuộc.
Không có khả năng rằng cơ sở hạ tầng sẽ được xây dựng chỉ cho phép thực thi nguyên tử mà không đi một bước xa hơn để có tính kết hợp. Lợi ích tương đối của việc chuyển đến khả năng kết hợp toàn bộ cấp đồng khối vượt xa khó khăn trong việc đạt được điều đó khi cơ sở hạ tầng đã có thực thi nguyên tử.
Nhận Xét Quan Trọng: Trong khi các gói cross-rollup được đảm bảo thực hiện theo nguyên tử, không rõ là các gói này sẽ được xây dựng như thế nào nếu không có một siêu xây dựng nào tạo ra một phần của gói, vì vậy rất ít có khả năng rằng việc thực hiện nguyên tử một mình sẽ ảnh hưởng đến khả năng tương tác. Các bộ xây dựng/siêu xây dựng chia sẻ nên mặc định xây dựng thay vì khả năng tương tác ở cấp độ khối.
Bộ sắp xếp chuỗi dùng chung // Superbuilder // Lớp tổng hợp bằng chứng// Shared bridge contract
(* = optional)
Trong hầu hết các cuộc trao đổi về bộ xếp chung và lớp thanh toán chung, thuật ngữ thường được sử dụng để mô tả mức độ tương tác này là “tính kết hợp đồng bộ”.
Chúng tôi đã điều chỉnh thuật ngữ này một chút để mô tả rõ hơn. Việc cập nhật thuật ngữ thành Khả năng Tương Tác ở Mức Khối Khối ngụ ý rằng có thể tạo thành giữa hai rollups trong một bản giao dịch chéo-rollup sẽ được bao gồm và thực hiện thành công trong khối tiếp theo. Khả năng tương tác đồng bộ có thể gây nhầm lẫn với khả năng tương tác ở mức giao dịch, mà chúng ta sẽ tìm hiểu trong phần tiếp theo. Quan trọng là điều này đòi hỏi một bên thứ ba (cơ sở hạ tầng xếp hàng chung) có thể là người điều khiển và tạo ra các bản giao dịch phụ thuộc.
Ở cấp độ này, chúng ta bắt đầu thấy khả năng kết hợp thực sự giữa các bản tổng hợp ngoài việc chỉ đơn giản là gửi cho bản thân để tham gia vào một dapp trên một bản tổng hợp khác.
Với việc thêm một bộ xử lý chung có thể tạo giao dịch, chúng tôi hiện có khả năng tạo các gói chuyển đổi giữa các rollup mà các nhà phát triển có thể tận dụng theo cách lập trình.
Có hai trường hợp cần xem xét:
Trong cả hai trường hợp, chúng ta có thể tạo các gói chuyển đổi chéo cho các hoạt động phức tạp hơn nhưng trong trường hợp thứ hai với việc thanh toán chung, chúng ta có thể sử dụng các tài sản bản địa, điều này có thể có ảnh hưởng giá tốt hơn đối với hoạt động DEX chuyển đổi chéo, ví dụ.
Với khả năng tương tác cấp khối, chúng ta không chỉ có lợi ích của việc thực thi nguyên tử mà còn có khả năng tạo các gói giao dịch phụ thuộc. Hãy xem xét hai ví dụ minh họa của chúng tôi.
Chuyển Token Cùng Qua xERC-20 (Không Thanh Toán Chia Sẻ):
Với một lớp thanh toán chung, quá trình được đơn giản hóa hơn vì không cần phải bọc ERC-20 trước khi trao đổi như một xERC-20.
Bây giờ chúng ta hãy kiểm tra lệnh giới hạn tổng hợp chéo để mua ERC-20 trên Bản tổng B với ERC-20 ban đầu (khác) từ Bản tổng hợp A và kết quả ERC-20 được gửi lại cho Bản tổng hợp A. Trong trường hợp này, chúng tôi không giả định rằng chúng tôi có một lớp giải quyết chung, mặc dù một luồng tương tự tồn tại trong trường hợp với một lớp. Sự khác biệt duy nhất là không phải bọc thêm tài sản bên ngoài.
Dưới đây là các giao dịch cần thiết trong trường hợp này:
Dưới đây là một luồng tiềm năng về cách mà điều này có thể hoạt động:
Giới hạn lệnh chuyển đổi giữa các Rollup trong Môi trường Có thể sắp xếp theo cấp độ khối
Dòng chảy:
Bởi vì siêu kiến trúc sư tạo ra khối và sắp xếp giao dịch, nó có thể mô phỏng từng giao dịch và bỏ qua gói nếu bất kỳ giao dịch nào sẽ quay trở lại. Ví dụ, nếu phát hiện rằng người dùng sẽ không nhận được sự hoàn tất đầy đủ trên đơn đặt hàng giới hạn của họ, gói sẽ được bỏ qua trước khi khối được thực thi.
Trong trường hợp cơ sở hạ tầng chuỗi chung mà không có lớp thanh toán chung, phiên bản bọc bên ngoài của Eth và xERC-20 sẽ cần được sử dụng, điều này có thể dẫn đến điều kiện thị trường tồi tệ hơn trên DEX do hồ bơi thanh khoản mỏng cho tài sản được bọc. Trong trường hợp này, người dùng có thể phải sử dụng giới hạn mềm hơn với sự trượt giá được chấp nhận hơn và có thể nhận được giá không tối ưu. Một ngoại lệ trong trường hợp này là nếu có sự tham gia của USDC. Có thể rằng một sequencer chung mà không có thanh toán chung có thể làm việc với Circle để có quyền độc quyền trên các hợp đồng USDC trên các rollup khác nhau để tạo điều kiện cho việc chuyển và đổi USDC native qua các rollup.
Với một lớp thanh toán chung, việc bọc bên ngoài này không cần thiết, và có thể cung cấp giá tốt hơn do sự sâu rộng của hồ bơi thanh khoản cho việc trao đổi tài sản bản địa, nhưng quy trình vẫn giống nhau.
Rollups cần tin tưởng một cách lạc quan vào bộ xếp hạng chung/superbuilder để tạo ra các gói chuyển đổi chéo hợp lệ. Điều này chủ yếu là do gói chuyển đổi chéo này chứa các giao dịch phụ thuộc mà các rollups cá nhân không thể xác minh cho đến sau khi khối được thêm vào chuỗi của mỗi rollup và được tổng hợp vào một lớp giải quyết trên L1. Một ví dụ là việc đốt và đúc ban đầu của Eth từ nguồn đến đích. Quan trọng là Eth thực sự phải được đốt trên chuỗi nguồn trước khi được đúc trên chuỗi đích, nếu không thì việc tiêu dùng gấp đôi có thể xảy ra.
Tuy nhiên, để thực hiện toàn bộ gói này trong một khối, tất cả các giao dịch phải có mặt trong khối đó ngay cả khi giao dịch đại diện cho một trạng thái không hợp lệ trước khối chính nó (như có Eth trên chuỗi đích cho việc đổi nếu người dùng trước đó không có bất kỳ Eth nào trước khối). Vì lý do đó, chúng ta phải tin tưởng người sắp xếp rằng họ đã thực sự bao gồm các phụ thuộc hợp lệ trong gói cross-rollup. Một người có thể gửi bằng chứng sau sự kiện để chứng minh tính hợp lệ của mỗi giao dịch.
Điều này ít quan trọng hơn khi sử dụng tài sản được bọc, tuy nhiên, vì chúng không ảnh hưởng đến tính thanh khoản bản địa được lưu trữ trong L1, nhưng cơ chế dự phòng vẫn phải được thiết lập để đối phó với nguy cơ của một sequencer độc hại hoặc một lỗi trong mã đã cho phép một bản ghi giao dịch được thực thi với một giao dịch phụ thuộc đã bị hoàn ngược.
Thay đổi cấp VM // Thanh toán chia sẻ // Siêu xây dựng
Khả năng hợp thành ở mức giao dịch đề cập đến cùng một mức độ chức năng mà các hợp đồng thông minh trên một chuỗi EVM chia sẻ. Trong trường hợp này, một giao dịch duy nhất có thể cập nhật trạng thái trên nhiều rollups đồng thời và đảm bảo rằng bất kỳ thay đổi trạng thái nào trước bất kỳ cuộc gọi nào đều có thể bị quay lại nếu cuộc gọi không thành công. Hiệu quả, một bó gồm nhiều giao dịch trong môi trường có thể hợp thành ở mức khối có thể được thực hiện trong một giao dịch chéo-rollup và chéo VM duy nhất. Điều này yêu cầu các thay đổi ở mức VM cho tất cả các rollups kết nối ngoài ra còn cần một lớp giải quyết chung và một siêu xây dựng.
Chúng tôi mô tả một cơ chế có thể ở đây ở mức cao. (Việc xây dựng này là do nhóm Espresso theo hiểu biết của chúng tôi). Đầu tiên, người dùng gửi giao dịch cross-rollup cho tất cả các rollup có trạng thái được thay đổi bởi giao dịch hoặc một superbuilder có thể xây dựng các khối trên tất cả các bản tổng hợp có liên quan. Một superbuilder mô phỏng giao dịch và hình thành danh sách các cặp đầu vào-đầu ra, một cho mỗi bản tổng hợp liên quan, chỉ định các thông báo tổng hợp chéo cần thiết và dự kiến trong giao dịch. (Lưu ý rằng superbuilder chỉ có thể làm như vậy nếu nó có quyền giải trình tự an toàn cho tất cả các bản tổng hợp liên quan trong một khoảng thời gian). Siêu nhà xây dựng sau đó gửi khối mô phỏng đến người đề xuất của mỗi bản tổng hợp, cùng với danh sách các cặp đầu vào-đầu ra dự kiến cho mỗi giao dịch tổng hợp chéo. Trong quá trình thực hiện, mỗi rollup thực hiện chức năng chuyển đổi trạng thái riêng của nó như bình thường giả sử các đầu vào từ danh sách các giao dịch cross-rollup là chính xác. Trong quá trình thanh toán, các danh sách đầu vào-đầu ra sau đó có thể được so sánh chéo và chứng minh an toàn trong giai đoạn tổng hợp bằng chứng trong lớp giải quyết được chia sẻ. Cụ thể, nếu bất kỳ đầu vào dự kiến nào cho giao dịch cross-rollup không khớp với những gì một rollup khác đã chỉ định làm đầu ra, quá trình thanh toán sẽ từ chối toàn bộ giao dịch cross-rollup.
Mặc dù có giới hạn chức năng mới được mở khóa với tính tương tác ở mức giao dịch vượt ra ngoài các khoản vay nhanh, trải nghiệm của nhà phát triển khi tạo ứng dụng chéo rollup có thể được cải thiện đáng kể. Khả năng tạo ra các ứng dụng phi tín nhiệm tương tác với tất cả các chuỗi kết nối mà không cần suy luận về các gói chéo rollup sẽ khiến việc đổi mới trong một cảnh quan đa rollup trở nên dễ dàng hơn nhiều. Hơn nữa, có khả năng rằng các trường hợp sử dụng và hành vi mới sẽ xuất hiện như một kết quả.
Có nhiều câu hỏi thiết kế mở cho tính tương tác ở cấp độ giao dịch. Ví dụ, cách mà các nhà phát triển có thể tham gia hoặc không tham gia vào cuộc gọi giữa các rollup cho nhu cầu hợp đồng thông minh của họ cần được cân nhắc cẩn thận. Cho phép tính tương tác tùy ý mà không có hạn chế có nghĩa là chúng ta trở lại với một rollup duy nhất. Chúng tôi nghĩ rằng câu trả lời ở đây là để các nhà phát triển chỉ ra rõ nơi mà tính tương tác giữa các rollup cần thiết trong hợp đồng của họ, ví dụ thông qua một Solidity modifier như composable
đánh dấu một số điểm nhập cụ thể của hợp đồng như có thể gọi qua cross rollup.
Sau khi đi qua các chi tiết kỹ thuật của mỗi cấp độ tương tác được xác định ở đây, chúng ta có thể tóm tắt:
Hiện tại, có rất nhiều dự án nổi lên để tạo ra những hệ sinh thái tương tác một cách tự nhiên. Đây là một cái nhìn tổng quan về cảnh quan:
Bản đồ hệ sinh thái
Vẫn còn những câu hỏi mở về những sắc thái kỹ thuật trong các khung công việc được đề cập trong bài viết này. Ví dụ, việc xây dựng gói hàng trong một hệ sinh thái có thể tương tác ở mức khối cho các đơn đặt hàng giới hạn chéo-rollup có thể có các thiết kế chi tiết hơn để xử lý trường hợp thực hiện một phần và sự chịu đựng trượt giá cho các đơn đặt hàng thị trường. Chúng tôi đã đưa ra một giải pháp tiềm năng ở đây để quay lại một gói đơn đặt hàng giới hạn chéo-rollup nếu đơn đặt hàng không được thực hiện hoàn toàn, nhưng không gian thiết kế là mở.
Ngoài ra, đáng lưu ý khi liên quan đến sự phát triển của ý thức hiện tại trong không gian về appchains. Appchains là L2 dài đuôi mà hoặc là tổng quát hoặc được quyền với mục tiêu phân chia các giao thức cụ thể liên quan trên một L2. Có khả năng rằng khi chúng ta đạt được tính tương tác ở cấp độ khối thì chúng ta cũng sẽ bắt đầu thấy môi trường appchain thu hút sự chú ý đáng kể do có tính tương tác tự nhiên giữa tất cả các mạng kết nối.
Tại thời điểm hiện tại, việc tạo thanh khoản cho các appchains vẫn còn khá khó khăn, nhưng một khi một chuỗi lớn kết nối như một cầu nối vào môi trường tương tác, có khả năng chúng ta sẽ thấy các hệ sinh thái vườn tường xung quanh cơ sở hạ tầng chung.
Một câu hỏi mở quan trọng khác là cách không gian thiết kế xung quanh các siêu xây dựng sẽ giải quyết. Phát triển trên mặt này vẫn còn khá mới mẻ, và chưa rõ điều gì sẽ là cách hiệu quả và hiệu quả nhất để tạo ra một mạng lưới các nhà xây dựng tinh vi có thể tạo ra bảng gói chuyển đổi. Nơi mà các bảng gói chuyển đổi này sẽ được bao gồm một cách tối ưu trong một khối, và tác động đến doanh thu chuyển đổi là một câu hỏi mở với các chiến lược khác nhau được nhiều nhóm nghiên cứu.
Cuối cùng, tương lai có lẽ sẽ liên quan đến sự kết hợp giữa các giải pháp nối giao thức và ngoài giao thức và chúng sẽ hoạt động cùng nhau để cung cấp quy trình tương tác tốt hơn cho mọi người. Chúng tôi tin rằng sự tiến triển được xác định trong bài viết này có thể phục vụ như một hướng dẫn cho các nhà phát triển và xây dựng cũng như những người tập trung vào việc làm cho tương tác giữa các rollup trở nên mượt mà hơn đối với người dùng cuối.
Có thể rằng sẽ có những mô hình hoàn toàn mới cho tương tác giữa các rollup mà chúng ta chưa khám phá được. Nếu bạn là một người xây dựng đang làm việc trên những phương pháp mở rộng từ những chủ đề ở đây hoặc chưa được đề cập ở trên, vui lòngliên hệ(dms đang mở). Công nghệ cuối cùng đã trưởng thành đủ để đặt áp lực thực sự vào việc tìm kiếm giải pháp cho sự phân mảnh về thanh khoản/hệ sinh thái, và chúng tôi luôn tìm cách kết nối với những người sáng lập đang dám mạo hiểm để xây dựng những giải pháp sáng tạo.
Bài viết này xuất phát từ một cuộc thảo luận vòng tròn về khả năng tương tác rollup đầy sáng suốt tổ chức bởi 1kx tại EthCC. Xin cảm ơn đặc biệt đến Noah Pravecek, Ellie Davidson, và Terryđã đọc các phiên bản sớm của bài viết này và đưa ra phản hồi, cũng như để Marti, mteam, và Bo Duđể tiếp tục cuộc trò chuyện về chủ đề này.
Bài viết này được in lại từ [gương], Chuyển tiếp Tiêu đề Gốc 'Khả năng tương tác không đáng tin cậy giữa Rollups: Phong cảnh, Cấu trúc và Thách thức', Tất cả bản quyền thuộc về tác giả gốc [Marshall Vyletel Jr.]. Nếu có ý kiến phản đối về việc tái in này, vui lòng liên hệ Gate Learnđội ngũ, và họ sẽ xử lý ngay lập tức.
Bản Tuyên Bố Miễn Trừ Trách Nhiệm: Các quan điểm và ý kiến được thể hiện trong bài viết này chỉ thuộc về tác giả và không cung cấp bất kỳ lời khuyên đầu tư nào.
Các bản dịch của bài viết sang các ngôn ngữ khác được thực hiện bởi nhóm Gate Learn. Trừ khi được nêu, việc sao chép, phân phối hoặc đạo văn các bài viết dịch là không được phép.