People who have tried to build distributed applications or dApps on the Ethereum blockchain may concur. Still, blockchains are relatively close to the databases, while querying the databases is different from querying blockchains. There are performance issues when data is stored on databases. This has a lot to do with the distributed nature of blockchains and the penalty imposed by consensus protocols and cryptography.
Databases might also be slow if they are comprised of a network of nodes in which a node is kept a full copy of the entire database, and every node had to verify each transaction. The Graph is different, as it lets the blockchains be, but offers a way to query data and index stored efficiently by using GraphQL.
When retrieving data from the blockchains, performance is only part of the issue, blockchains have no query language, and therefore, it would not be easy to get what you need out of it. Blockchain data access can be challenging because of decentralization, opacity, and sequential data storage.
What is the Graph?
The Graph aims to become one of the significant infrastructure projects necessary to build fully decentralized applications. Its focus is to decentralize the query and API layer of the decentralized web by removing the dApp developers’ tradeoff, whether building an app that is genuinely decentralized or performant.
With the protocol’s help, querying of different networks like Ethereum is allowed by using the query language GraphQL. This helps to specify the fields people are interested in and the search criteria they would like to apply.
The queriable data is organized in subgraphs form. The decentralized application can use one or multiple subgraphs, and the one subgraph can consist of other subgraphs and offer a consolidated view of the data that the application might be interested in.
The Graph Architecture
These are the node operators of The Graph and can join the network by staking the GRT Tokens and running a Graph node.
These are the query indexers, and pay them to provide data from different subgraphs. The consumers can either be the web services or the end-users.
These are also the network participants, and they use GRT Tokens for signaling what type of subgraphs are worth indexing.
These are the network participants and stake the GRT on the indexer’s behalf to earn the portion of the indexers’ fees and rewards.
The GRT Token
This is a utility token that has to play a vital role in The Graph Network design. The Curators use GRT to signal the subgraphs that are worth indexing. It is also staked by the indexers to keep the incentives in check. People who own GRT Tokens don’t need to be indexers and run the GRT node, and they can become the Delegators and earn the reward of the Indexers.
Though The Graph has not reached complete maturity in a short time, it has come a long way. The core team aims to decentralize the protocol by launching the on-chain governance in the future, The Graph Council. At present, this protocol is deployed to Ethereum’s main net and supports indexing Ethereum. Many popular projects use The Graph, and it can use one of the missing puzzles to increase the decentralization of dApps.