Motivation
Tycho indexes on-chain liquidity, with a current focus on token swaps. Future development can include other liquidity provisioning, lending, and derivatives.
The DeFi Fragmentation Challenge
The rapid innovation in DeFi protocols has created a fragmented ecosystem without standardized interfaces for fundamental operations like swaps, liquidity provisioning, etc.
Tycho aims to provide a standardized interface across those operations.
With a focus on fast local simulations on top of the latest known state of the chain and settlements through tycho-execution.
Key Challenges in Liquidity Indexing
Before Tycho, you might face the following issues if you want to settle on onchain protocols:
Technical Complexity
Rewrite protocol-specific mathematics in your application programming language to simulate fast locally.
Develop protocol-specific indexing to supply data for local simulations.
Watch and filter out user-created token pairs with unusual or malicious behavior.
Navigate an enormous search space of liquidity sources with effective filtering heuristics.
Blockchain-Specific Issues
Chain reorganizations ("reorgs") that alter transaction history must be handled with care.
Block propagation delays caused by peer-to-peer network topology and geographic distribution.
Continuous maintenance of node infrastructure, such as updating client versions (especially during hard forks), updating storage space, etc.
Push-Based Architecture
Problems with Traditional RPC Polling
Traditional indexers rely on node client RPC interfaces, which have significant limitations:
Data must be requested from nodes, introducing latency and potential for error.
Multiple requests are often needed to assemble a complete view of the data.
Complex query contracts may be required for comprehensive data extraction (e.g., to get all Uniswap V3 ticks) whose execution adds additional latency to data retrieval.
Load-balanced RPC endpoints can expose inconsistent state views during reorgs, making it hard to scale across many node clients.
May involve maintaining and running multiple instances of modified node clients.
The Streaming Solution
Tycho adopts a fundamentally different approach:
Data is pushed/streamed as a block is processed by the node client.
Current implementation leverages Substreams as the primary data source.
Alternative data sources can be integrated if they provide comparable richness.
State changes are communicated to clients through streaming interfaces.
User Experience Philosophy
Abstraction by Default
Non-blockchain-native users shouldn't need to understand chain-specific concepts.
Reorgs and optimistic state changes remain invisible to users by default.
Users perceive only that state has changed, regardless of underlying mechanism.
Optional Transparency
Advanced users can access detailed information about state changes when needed.
Granular visibility allows inspection of upcoming state changes.
Applications can track specific liquidity pair changes for specialized use cases.
Last updated