In today's web3 landscape, the majority of projects are dependent on indexer services to retrieve critical data for their applications. This happens because inferring application state directly from blockchain data is highly inconvenient, requiring clients to go through raw events and also reprocess everything on reload. Applications thus generally rely on indexer services to keep a structured and updated view of the state, as well as providing convenient endpoints for clients to query.
In this scenario, any disruption to the data flow can have far-reaching implications, potentially jeopardizing numerous pivotal industry projects. For DeFi, false information can lead to undesired liquidations and mislead investors. For governance, it can compromise decision-making. At best, the current process of resolving disputes around indexer data flows is still ultimately completely dependent on human intervention. In conclusion, indexing is just not at the same level of decentralization and security as other components of the web3 stack.
To solve this problem, we propose the integration of a fully verifiable indexer service into the workflow. By implementing this solution, clients and applications can have the convenience of a cloud-based centralized indexer service without compromising on decentralization and security. Additionally, when coupled with an on-chain dispute resolution protocol, this approach can empower even the smallest Indexer operator to stand its ground confidently against larger groups that may attempt to undermine its credibility through collusion.
Our goal is thus to streamline operations, reduce the potential for human error, and provide an overall better and more secure solution for web3 applications, while also fostering a more transparent, equitable environment for Indexer operators. This advancement is not just about improving efficiency; it's about building a foundation of trust and accountability in the data that powers our industries.
We first attempted to integrate more fully with TheGraph, reusing existing indexing subgraphs. But we ran into issues to reuse that code in our context, partly because some of the libraries there are not up to date. So we ended up giving up such integration for the Hackathon, and building a stand-alone indexer unrelated to it.
We also faced the challenge of implementing novel low-level features to allow a Cartesi Machine to reliably retrieve data from a base layer, which was a challenge. It was made easier by reusing great code out there from Optimism, but we also ran into some limitations in some software stacks (ethereumjs) to decode data.
Finally, in the end, we ran into some issues related to the overall performance of the system. This prevented us from deploying a fully operational indexer service that capable of fully syncing the current state of the blockchain. But we were able to successfully demonstrate the indexing of a range of blocks.
Tracks Applied (1)
Cheering for a project means supporting a project you like with as little as 0.0025 ETH. Right now, you can Cheer using ETH on Arbitrum, Optimism and Base.
Discussion