Specification: A lightweight real-time data streaming engine with an expressive DSL for Ethereum.
December 30, 2024
Motivation
Ethereum blockchain ecosystem has evolved beyond single-chain architectures, with Ethereum and its layer 2 solutions (the Superchain) processing substantial data volumes across multiple networks. Ethereum processes blocks approximately every 12 seconds, with each block containing up to 10MB of data. Layer 2 solutions like Unchain, Ink, and Optimism process additional data at varying frequencies. While existing blockchain data solutions offer various querying options, they often face challenges with real-time data processing and cross-chain compatibility. The complexity lies not in the query languages themselves, but in efficiently handling high-frequency updates, maintaining low latency across multiple networks, and correlating events across different chain architectures.
Key Reasons:
- Real-Time Processing: Applications like MEV searchers, trading systems, and block builders require immediate access to specific blockchain events. The streaming architecture processes blocks as they arrive, delivering relevant data with minimal latency.
- Memory Efficiency: By processing data streams in-memory without persistence, Sieve minimizes resource usage while maintaining high performance. The filter engine performs efficient property-based filtering using configurable conditions to process transaction data in real-time
- Cross-Chain Compatibility: With the growing ecosystem of L2s and sidechains, Sieve provides a unified interface for filtering data across multiple chains, abstracting the complexity of different protocols and endpoints.
- Developer Experience: The ORM-like DSL provides an intuitive interface for defining complex filter conditions, making it accessible.