Most L1s bundle execution and consensus together. That's a tradeoff. @benafisch on why Espresso is built differently: "We optimize the service that L1s provide to L2s in a way that no L1 that's handling its own execution can optimize for, and we do this at the consensus level"