The Graph project is building a decentralized data network to enable fast access to Ethereum and IPFS data for Dapps.
Blockchains are not efficient for real-time data extraction. Today, Decentralized applications (Dapps) such as Cryptokitties use centralized servers for multiple reasons, such as enabling third-party APIs or providing better UX to their users. This is problematic if you want to build a completely decentralized application.
The Graph provides a decentralized network where developers can index smart contract data for fast and efficient usage. Therefore, The Graph network works as a caching layer on the Ethereum network and eliminates the need for centralized servers used by Dapps.
Let’s understand The Graph network and its different parts.
The Graph network is a network of Graph nodes. These Graph nodes are responsible for extracting and indexing data from the Etherum network.
So a developer create a subgraph. A Subgraph is a program that tells what data needs to be extracted and indexed, and exposed as APIs. After that, the Developer submits that subgraph to the Graph network, and one or more Graph nodes process that Subgraph and index the data mentioned in it. When the subgraph is deployed, you will get an endpoint that is used to access data through APIs.
There are multiple actors in the Graph network that are incentivized to keep the network secure and provide continuous and efficient data services. Let’s check them one by one.
Indexers run Graph node to process and index data. They stake GRT token to provide indexing and processing services. Indexers earn query fees and indexer rewards for their services.
Curators are subgraph developers, data consumers, or community members who tell Indexers which APIs should be indexed by The Graph Network. Curators deposit GRT tokens into a bonding curve to signal on a specific subgraph. They will earn a portion of query fees for the subgraphs they signal on, incentivizing the highest quality data sources.
Curators will curate subgraphs and deposit GRT via the Graph Explorer dApp. Because this occurs on a bonding curve, that means that the earlier you signal on a subgraph, the greater share of the query fees you earn on that subgraph for a given amount of GRT deposited. This also means that when you go to withdraw, you could end up with more or less GRT than you started with.
Delegators do not run Graph nodes; instead, delegate their GRT to indexers to earn a portion of the query fee and secure the network.
Delegators can select Indexers based on their performance on measures like query fee rates, past slashing, uptime, etc.
Consumers are end-users who are querying subgraphs and pay query fee. Mostly developers or projects will be the consumer for using The Graph network to access the data. However, some projects might pass query fees to end-users or bundle it with the product fee.
The Graph network has many advantages. Let’s see some of them.
The Graph is a decentralized network; therefore, it has properties such as open, permissionless, censorship-resistant, etc. This helps Dapp builders because now they can build completely decentralized applications without depending on centralized servers for processing large volumes of data.
You can create your own APIs by creating a subgraph and deploying it on the Graph network. This provides the highest degree of freedom to developers looking for on-chain data on Ethereum and IPFS.
The Graph network provides real-time data for the simple data type, such as transactions, blocks, etc. However, when it comes to more complex data, the performance of the network degrades.
The Graph team still in the process of enabling the GRT token on the Graph network; till that time, The Graph APIs are free to use without any limitation.
The Graph is a highly embraced project in the Ethereum community, and many Dapps and DeFi projects use it in production. There are many Subgraphs built by the community, which you can explorer here.
Projects using The Graph APIs complain about frequent network shutdown and bad user experience. This impacts the performance of Dapp using The Graph network.
The Graph is a decentralized network, not a company. The problem with this is no one can guarantee your performance. There are no SLA or customer support.
In the Graph network, data accuracy is verified by Curators on the Graph network. Few projects mentioned that sometimes APIs do not provide complete data and send incomplete information. This might be problematic if you want a high level of data accuracy.
The Graph only supports Ethereum and IPFS. If you need data for other blockchains, you can’t get it.
The Graph network only provides on-chain data. There are no pricing data. This might be problematic if you are looking want assets price coupled with on-chain data.
You should have coding knowledge to create a subgraph according to your data needs and deploy it on the Graph network.
For using The Graph network APIs, you need to pay in GRT token. This GRT token will be traded on multiple exchanges, and its price will change dynamically based on market conditions. It means API pricing will be affected by GRT token price fluctuation. This is problematic for businesses budgeting their technical expenses. Besides, there might be accounting related problems for businesses that only deal in fiat.
The Graph project is still in the early-stage, and it will take time to mature. However, I think it’s an excellent approach to solve Dapp related data problems. Many actors are involved in the Graph network, who should work efficiently to provide optimum performance. Besides, payments are also made using state channels, which is also relatively new technology and not been tested at scale. However, I am hopeful that The Graph will solve some crucial problems in the Dapp space. You can learn more about The Graph network here.
Create your free account to unlock your custom reading experience.