author

The Graph Foundation was created to help steward The Graph into the future. Later The Graph Council was formed to oversee the decentralized protocol and ecosystem governance. Now we’re excited to ramp up the Graph Improvement Proposal (GIP) Process for protocol upgrades hosted on Radicle.

The protocol and the Foundation’s treasury have been governed by The Graph Council since the Mainnet launch in December 2020. The Council represents the interests of the five core ecosystem participants: Indexers, users, technical domain experts, initial team and active GRT holders. Together, the Council composes a 6-of-10 multisig. With both the Foundation and Council in place, the focus now is to support protocol upgrades through The Graph Improvement Proposal (GIP) process and ecosystem development.

The Graph Improvement Proposal (GIP) Process

The goal of the GIP process is to ensure seamless protocol upgrades and empower the community to contribute to the development of The Graph protocol. As the protocol is complex and requires alignment across many network participants, the GIP process is designed to include a comprehensive range of perspectives, including Indexers, Delegators, Curators, and subgraph developers.

The GIP process not only defines a way for contributors to champion a given idea for the protocol, but also gives the Council a way to gauge the viability and community support for improvements to the protocol. Like other improvement processes in the decentralized ecosystem, the GIP process is self-bootstrapping. GIP-0001 is what will define this process.

“Radicle is putting developers back at the heart of code collaboration and providing an alternative to the centralized gatekeepers and data silos that control most git repositories today. This strongly aligns with The Graph’s vision of an open internet built on public infrastructure and was the natural choice for the GIP process. We look forward to future opportunities for the two communities to collaborate, including storing subgraph repositories on Radicle and indexing Radicle projects using The Graph.”

- Brandon Ramirez, Co-Founder at The Graph and Lead Researcher at Edge & Node. (Collaborated with The Graph Foundation on designing the GIP process.)

The GIP process includes both the stages and acceptance criteria that a proposal hits as it is fleshed out in The Graph’s Radicle repo. Each GIP is accompanied by a meta-process that takes place before, during, and after the GIP is written to build credibility and community consensus behind the proposal. The high-level process is captured in the diagram below.

standard

The protocol upgrade process is divided into three components to best streamline community feedback and proposal specification:

  1. 1. Graph Improvement Proposals (GIP) - Describes improvements to the protocol rules, interfaces, software functionality, protocol charters, protocol parameters, and processes.
  2. 2. Graph Request for Proposals (GRP) - Formalizes a problem or opportunity for the protocol to address without putting forth a specific solution.
  3. 3. Graph Request for Comment (GRC) - Specifies an application-level community standard, ex) a common way of designing subgraphs for specific use cases or to support better composability between applications.

The GIP Process is the suggested workflow for improvements to The Graph protocol, subgraphs and application standards that The Graph Council can use to support decision making. The entire workflow is hosted on Radicle where each proposal is a repo that goes through each phase as it becomes more refined. GIP supporters should share ideas on The Graph Forum, discuss, and solicit feedback from the broader community and use tools like Snapshot Voting to gauge sentiment. Once GIPs reach the candidate stage, The Graph Council may choose to vote on inclusion of the GIP into the protocol.

The Graph Forum is the home for formalizing GRCs and GRPs and discussing GIPs. So far, two GIPs have been submitted for Snapshot signalling votes and the full proposals can be viewed in the GIP repos hosted on Radicle. This process is in its initial stage and will be iterative moving forward as the community is still determining the best ways to achieve network safety and incorporate perspectives of network participants.

The Graph’s repository is accessible through these steps and hosted here.

The Graph and Radicle

The Graph believes decentralized governance deserves a decentralized code collaboration tool. A fully decentralized stack is critical to ensuring fully permissionless applications and the vision of Web3. In order to ensure the protocol is being governed transparently and in a decentralized manner, The Graph has committed to using Radicle for all future protocol governance.

Radicle is a P2P network for code collaboration, that leverages git and decentralized governance among Radicle protocol participants to ensure permissionless code. Not only can projects host their repos on Radicle, but the process of editing and merging requests is also fully decentralized.

Another important step towards expanding the GIP process has been achieved through a collaboration with Radicle, where GIPs will be stored and accessible to the community. It is vital all community feedback associated with this project be as open source and manageable as possible and Radicle, a peer-to-peer code collaboration tool, delivers this. Radicle itself uses The Graph’s subgraph for lbp.radicle.network.

The Graph Foundation encourages everyone to get involved in governance through The Graph Forum where ongoing initiatives take place. If you missed the first Town Hall on February 23rd where the GIP was discussed you can watch it here.

Quotes from Radicle Founders

Eleftherios Diakomichalis, Co-founder of Radicle said:

“The Graph's mission and commitment to decentralization has been an inspiration for us at Radicle over the years. Having The Graph's governance process hosted on Radicle is therefore tremendously exciting. Radicle was designed with decentralized communities like The Graph in mind and its core properties of security, sovereignty, and permission-less nature make a great fit."

Abbey Titcomb, Building at Radicle said:

“Cross-pollination and collaboration between protocol ecosystems is the best way to support this next wave of decentralized developer tools. The Graph will truly be the fuel that powers the decentralized applications of Web3 and we’re thrilled that Radicle can support their mission with resilient and robust collaboration infrastructure. Decentralized indexing is an integral part of the Web3 vision. The Graph is pioneering the next wave of decentralized developer tools that will take dApps to the next level. We’re thrilled that Radicle can support their mission with resilient collaboration infrastructure.”

About The Graph

The Graph is the indexing and query layer of the decentralized web. Developers build and publish open APIs, called subgraphs, that applications can query using GraphQL. The Graph currently supports indexing data from Ethereum, IPFS, and PoA with more networks coming soon. To date over 8,000 subgraphs have been deployed by over 10,000 active developers for applications such as, Uniswap, Synthetix, Aragon, Gnosis, Balancer, Livepeer, DAOstack, AAVE, Decentraland, and many others.

If you are a developer building an application or Web3 application, you can use subgraphs for indexing and querying data from blockchains. The Graph allows applications to efficiently and performantly present data in a UI and allows other developers to use your subgraph too. You can deploy a subgraph or query existing subgraphs that are in the Graph Explorer.

The Graph would love to welcome you to be Indexers, Curators and/or Delegators on The Graph’s network. Join The Graph community by introducing yourself in The Graph Discord for technical discussions, join The Graph’s Telegram chat, or follow The Graph on Twitter! The Graph’s developers and members of the community are always eager to chat with you, and The Graph ecosystem has a growing community of developers who support each other.