We hear a lot about L2s achieving 'full EVM compatibility' or 'Turing completeness,' and while that's technically important for replicating Ethereum's functionality, I'm starting to think it's not the most crucial factor for developers actually building on these chains.
What seems to be more impactful day-to-day are things like:
- Transaction Throughput & Latency: How quickly can transactions get confirmed and how many can the L2 handle? This directly affects user experience and the feasibility of certain dApps (think high-frequency trading or complex DeFi interactions).
- Data Availability Costs: Even with rollups, the cost of posting data back to L1 is a significant factor. How efficient are the L2s at managing this, and how does it trickle down to user fees?
- Sequencer Reliability & Decentralization: While not a direct L1 feature, the sequencer is the bottleneck. A centralized or unreliable sequencer can halt an entire L2. What are the trade-offs we're seeing with different sequencer models (e.g., single vs. shared, centralized vs. decentralized)?
- Interoperability & Bridge Security: Moving assets between L1 and L2s, or even between different L2s, is still a major hurdle. How secure and seamless are these bridges? Are we just moving the security risks?
- Developer Tooling & Ecosystem Maturity: How easy is it to deploy and manage contracts? Are the existing tools (like Hardhat, Foundry, Truffle) well-supported on the L2? What's the community support like?
I feel like focusing solely on EVM equivalence can sometimes mask the practical challenges developers face. For instance, a less EVM-equivalent chain might still be highly usable if it excels in these other areas. What are your thoughts? Are you prioritizing EVM compatibility, or are these other factors more important in your L2 development decisions?