Nghiên cứu của nhóm tập trung vào Fabric và Commit-Boost. Cảm ơn các cá nhân từ EF Research, Nethermind, Espresso, Taiko, OpenZeppelin, Spire, ETHGas, Gattaca, L2Beat, Labrys, Luban, Puffer, và Interstate vì phản hồi, đóng góp và đánh giá. Phản hồi, đóng góp và đánh giá không có nghĩa là xác nhận.
Tóm tắt (TLDR)
- Giao dịch Ultra, do Gwyneth đề xuất, giới thiệu một thiết kế mạnh mẽ để đạt được khả năng ghép nối đồng bộ giữa L1 và các rollup dựa trên việc sử dụng việc thực thi giao dịch L1 ở đầu block, chuyển đổi ngữ cảnh liên miền thông minh và chứng minh thời gian thực.
- Truyền tin nhắn trong cùng một slot, do Nethermind đề xuất, cho phép giao tiếp L1→L2 trong một slot duy nhất thông qua các hợp đồng truyền tin, tạo nền móng cho các giao dịch nguyên tử L1<>L2.
- Signal-Boost kết hợp những insights từ cả hai cách tiếp cận để cung cấp khả năng ghép nối đồng bộ L1 linh hoạt cho các rollup hiện tại, với những thay đổi tối thiểu hoặc không có thay đổi nào trong stack của chúng.
- Điều này cho phép Ethereum cung cấp tiện ích cho các rollup hiện tại ngay hôm nay, đồng thời cung cấp con đường để trở thành based khi hệ sinh thái rollup based tiếp tục phát triển.
- Điều này sẽ không yêu cầu bất kỳ thay đổi nào trong giao thức của Ethereum, thay vào đó sẽ tận dụng đường ống PBS, Commit-Boost, và các API Constraints / Commitments.
- Cuối cùng, chúng tôi lưu ý rằng các rollup chọn trở thành based vẫn có thể mở khóa các lợi ích bổ sung từ Ethereum vượt xa những gì Signal-Boost cung cấp.
- Một bản triển khai PoC khoảng 100 dòng mã có thể được tìm thấy tại đây.
Điều này làm tăng đáng kể tiện ích của việc nhắn tin trong cùng một slot bằng cách mở khóa quyền truy cập vào dữ liệu L1 trực tiếp mà không yêu cầu thay đổi hợp đồng upstream. Tuy nhiên, nó mang lại những thách thức mới: Điều gì sẽ xảy ra nếu tín hiệu thay đổi giữa slot? Người dùng L2 sẽ phản ứng hoặc xác minh như thế nào?
Để giải quyết những điều này, Signal-Boost kết hợp các ý tưởng từ các giao dịch Ultra, bao gồm EIP-7702 về các tài khoản thông minh để thực thi ủy quyền và đảm bảo trạng thái ToB.
(Phần còn lại của văn bản sẽ được dịch tương tự, giữ nguyên các thẻ HTML và nội dung bên trong các thẻ <> như yêu cầu)Khai thác kép tận dụng đầy đủ các thông điệp trong cùng một slot và việc thực thi ToB:
- Bắt arbitrage L1 ở đầu gói Signal-Boost
- Chuyển tiếp dữ liệu oracle đã cập nhật từ L1 sang L2 thông qua hợp đồng
SignalBoost
- Bắt arbitrage L2 dựa trên giá mới có sẵn
Swap L1↔L2 tức thì bằng cách sử dụng intents
Thậm chí không cần chứng minh trong thời gian thực, các lệnh rút L1<>L2 tức thì trong cùng một slot bằng cách sử dụng intents như được mô tả bởi Nethermind.
Những ví dụ này chỉ mới chạm ngọn, bất kỳ hợp đồng L2 nào phụ thuộc vào quyền truy cập kịp thời vào dữ liệu L1 đều có thể được lợi.
Điều này sẽ hoạt động như thế nào trên OP Stack?
OP Stack không có khái niệm về hợp đồng SignalService
hoặc các giao dịch neo được sử dụng trong thiết kế thông điệp cùng slot. Thay vào đó, đường ống phái sinh của OP Stack đọc tất cả các thông điệp L1 (các lệnh gửi tiền L1 / các lệnh gọi hàm tùy ý) được truyền qua hàm CrossDomainMessenger.sendMessage()
và chèn chúng vào đầu khối L2.
Hợp đồng SignalBoost
có thể được điều chỉnh để gọi sendMessage()
với giá trị signalRequestsRoot
thay vì ghi vào hợp đồng SignalService
. Không cần thay đổi để thêm các giao dịch neo vì ngăn xếp OP đã hỗ trợ chức năng tương tự.
Ngoài ra:
- Sequencer L2 phải là người đóng gói Signal-Boost vì đường ống phái sinh mong đợi các giao dịch blob được gửi bởi địa chỉ
batchSubmitterAddress
chính thức. - Để đọc các thông điệp L1 này một cách đồng bộ, giá trị
SequencerConfDepth
của sequencer L2 sẽ cần được đặt thành0
để theo dõi đầu L1 trong thời gian thực.
TLDR thay đổi một giá trị cấu hình và điều chỉnh hợp đồng SignalBoost
Điều này có làm tổn hại giá trị của based rollups không?
Không. Signal-Boost giúp mở rộng thị trường cho khả năng ghép nối đồng bộ, nhưng based rollups vẫn mang lại những lợi thế độc đáo:
- Signal-Boost với based rollups đơn giản hơn, giảm các yêu cầu ToB hoặc thực thi preconf.
- Các giao dịch Ultra sử dụng based rollups để kích hoạt hình thức ghép nối đồng bộ mạnh mẽ nhất.
- Sequencing được chia sẻ vẫn cần thiết cho khả năng ghép nối đồng bộ giữa các cụm L2 ↔ L2.
- Các rollup mới có thể muốn ra mắt như các based appchain để tránh các gánh nặng của việc vận hành sequencer tập trung (tức là chi phí hạ tầng, liveness, rủi ro quy định, v.v.).
- Sử dụng các validator như các based sequencer mang lại khả năng ghép nối tối đa
- Các rollup cấp WW3 ưu tiên liveness sẽ chọn các based sequencer.
Việc áp dụng Signal-Boost có yêu cầu rollups phải sửa đổi ngăn xếp hiện tại của họ không?
Không. Signal-Boost được thiết kế để dễ dàng áp dụng. Rollups không cần phải thay đổi hoàn toàn ngăn xếp hoặc nâng cấp lớn giao thức của họ. Các sequencer có thể tham gia một cách chọn lọc và chỉ xây dựng các gói khi cần truy cập đồng bộ vào trạng thái L1.
Cần lưu ý rằng các ngăn xếp khác nhau sẽ có độ ma sát khác nhau tùy thuộc vào cách chúng hiện tại xử lý dữ liệu đầu vào L1 và các tái tổ chức.
(Phần dịch tiếp theo sẽ được thực hiện tương tự)