The Graph is an indexing protocol for clearing the blockchain data that enables the creation of fully decentralized applications. This project was started in 2017 by a group of software engineers who were frustrated by the lack of tools in the Ethereum ecosystem which makes building decentralized applications not so feasible. After a lot of iterations, the Graph went live in Dec 2020 and is an infrastructure protocol being one of its kind.
Before we look into the token, let’s recall the definition of indexing. It simply reduces the time required to find a particular piece of information in the most fastest-way possible. For example, to find a word in a book, instead of going through its pages, we can find it much quicker in the index which is sorted alphabetically that contains a reference to the actual page in the book. Similarly, in Software, Database indexes are used to achieve the same goal. Instead of scanning the whole DB tables, indexes can dramatically speed up queries by providing quick access to the data in the table.
When it comes to blockchain such as Ethereum, indexing is super important as it deals with lots and lots of data per day. A typical blockchain contains blocks of transactions that are connected to adjacent blocks that provide the linear immutable history of what happened in blockchain as of date. Like every popular blockchain explorer Etherscan stores all data of a blockchain in a DB and allows for indexing of information whenever required. These kinds of services are called Ingestion services as they basically consume all the data and transform it into a clear goal format. This approach usually works fine when we trust the company that offers this service and is not decentralized. In addition to it, all crypto companies do not want to trust other APIs to build their own ingestion services. Eventually paved the way to a decentralized query protocol for blockchain called Graph.
Graph aims at becoming one of the main core infrastructure protocols necessary for building fully decentralized applications. It focuses on decentralizing the query at the API layer of the web. The protocol allows for usage in different blockchains such as Ethereum or IPFS by using the language GraphQL.
It specifies which fields we are interested in and what search criteria we would like to apply. The data is organized in the form of a subclass when the centralized application can make use of one or multiple subclasses. One subclass can also consist of other subclass and provide a consolidated view of data that the application may be interested in. The Graph provides an explorer that makes it easy to find a subclass of the most popular protocols such as Uniswap, Compound, Binance or EMS. Uniswap subclass provides access to other useful data, for example, the total volume across all trading pairs since the protocol was launched, volume data per trading pair and data about particular tokens or transactions for a particular token or transaction.
The Architecture of GraphLooking into the architecture of the Graph protocol, the focus is on different network participants called Indexers, who are the sole operators of the Graph, they can join the network by staking the GRT tokens and running a Graph node, their main function is to index the subclass. Indexers earn rewards by indexing subclass and fees for serving queries on those subclasses. They also help to keep the price in check, by competing with other indexers to assure the highest quality of data at the lowest price possible. This basically creates a marketplace for the services provided by the indexers.
Alternatively, Consumers create indexers and pay them for providing data from a different subclass. They can be either end-users or web services. Curators are other important network participants who use GRT tokens to signal what subclass is worth indexing. They can be either developer who wants to make sure that their subclass is indexed by indexers or end-users to fight for a particular subclass that is valuable and worth indexing. Curators are financially incentivized after they receive the rewards that are proportional to how popular a particular subclass becomes. Delegators are yet another network participant, who stake their GRT on behalf of Indexers to earn a portion of Indexer’s rewards and fees. These don’t have to run a graph node. Lastly, Fishermen and Arbitrators, who become useful in case of a dispute that can happen for example when an indexer provides incorrect data to the consumer.
Now let’s see how the network participants co-operate to create a trustless and decentralized system. Let’s say a new centralized exchange has been launched and the theme behind the project was to allow other applications to have easy access to the exchange of historical volume and other data points. To encourage Indexers to index the new subclass, the Curator has to step in and signal that the new subclass is worth indexing. Here are 2 options
- If the exchange is a high-end and dissipated project with a lot of potentials, an already existing curator would step in and use their GRT tokens to signal the usefulness of the new subclass. If the subclass becomes popular the Curator would financially benefit from their signalling.
- In another case where the exchange is not highly anticipated, the developers behind the project can become the curators themselves and use their GRT to encourage indexers. Once this happens the indexers can step in and start indexing the subclass. This process can take a few hours or even a few days depending on how much data is to be indexed.
Once the indexing is completed the consumers can start querying the subclass, each query issued by the consumers requires payment in GRT that is handled by the query engine. The query engine also acts as a trading engine that makes decisions in choosing the best indexers to do business with. To make this process smoother the Graph uses payment channels between the consumer and the indexer. If the indexer provides an incorrect result, a dispute process can be initiated.
GRT is a utility token that plays an important role in the Graph’s network design. As we mentioned earlier GRT is used by Curators to signal subclass that are worth indexing. Besides, it helps the indexers to keep the incentives in check. Besides that people who own GRT tokens but don’t want to be indexers, run the GRT node and become Delegators and earn a portion of the indexer’s reward. And also Consumers pay for their queries in GRT. The Graph had an initial supply of 10 Billion GRT tokens issuance at 3% annually that was used for paying the indexing rewards. There is also the token burning mechanism that is expected to start at around 1% of total protocol queries. The Graph protocol has a huge interest in venture capital with plenty of big fishes including the CoinBase venture participating in the initial offering. The Graph core team aims at decentralizing the protocol further by launching all ecosystem governance, the Graph Council in future. The protocol is currently deployed to the Ethereum main net, only supports indexing Ethereum but multiple chain support is one of the areas for further research.
The graph is already used by other popular projects such as Uniswap, ENS, Synthetics, Balancer and Aave. It looks like Graph could be one of the missing puzzles in the effort of increasing the decentralization of the blockchain realm. Some people go as far as possible to call the Graph, the Google of Blockchains pointing at similarities between indexing websites by Google and indexing blockchains to decentralize applications by Graph. If this analogy is worth pursuing then the Graph indeed becomes a golden protocol for indexing web3.