on Jun 5, 2024
by Gnosis
in Research Hub
Recently, our team at Gnosis had some news about our integration with Genome, which brings ENS-like functionality to the Gnosis Chain ecosystem. ENS has been a game-changer on Ethereum, with millions of registered names and a thriving ecosystem built around it. We believe that bringing similar naming capabilities to Gnosis Chain will greatly enhance the usability and accessibility of our platform.
By integrating Genome, we're enabling Gnosis Chain users to create human-readable names for their addresses. This not only makes it easier to remember and share addresses but also reduces the risk of errors when sending transactions or interacting with smart contracts. Genome's integration aligns perfectly with our core values of building a community-owned network that prioritizes credible neutrality and resiliency. It empowers our community to take control of their digital identities and enhances the overall user experience on Gnosis Chain.
CCIP Resolver for Genome
At the heart of Genome's integration with Gnosis Chain lies the CCIP (Cross-Chain Interoperability Protocol) Resolver. This innovative solution enables seamless communication between Gnosis Chain and Ethereum, allowing Genome domains to be resolved across both networks.
The CCIP Resolver leverages the ERC-3668 standard, which defines a common interface for off-chain data retrieval. By adhering to this standard, the Resolver can efficiently fetch Genome domain data stored on Gnosis Chain and make it accessible to Ethereum-based dApps and services.
One of the key advantages of the CCIP Resolver is its ability to abstract away the complexities of cross-chain communication. Developers can integrate Genome domains into their dApps using familiar ENS resolution methods, without having to worry about the underlying details of interacting with Gnosis Chain directly.
However, it's important to note that the CCIP Resolver relies on a trusted gateway to facilitate the off-chain data retrieval. While measures are in place to ensure the integrity of the returned data, such as signature verification, it's crucial to be aware of the trust assumptions involved.
To mitigate potential security risks, the CCIP Resolver implements a robust system of trusted signers. The contract owner can add or remove trusted addresses using the addSigners()
and removeSigners()
methods of the SignatureCCIPVerifier
contract. This ensures that only authorized gateways can provide valid Genome domain data.
By leveraging the CCIP Resolver, Genome brings the power of ENS-like naming to Gnosis Chain, enabling a seamless and secure integration between the two networks. This opens up exciting possibilities for dApp developers and users, as they can now leverage the benefits of human-readable names across multiple chains.
In the next section, we'll take a closer look at the smart contracts architecture behind Genome's integration, and how it enables a secure and efficient resolution process.
Smart Contracts Architecture
Genome's integration with Gnosis Chain is made possible through a carefully designed smart contracts architecture. At the core of this architecture are two main contracts: the SignatureCCIPVerifier
and the ERC3668Resolver
.
The SignatureCCIPVerifier
contract plays a crucial role in ensuring the integrity of the data returned by the CCIP Resolver. It maintains a list of trusted signer addresses that are authorized to provide valid Genome domain data. The contract owner can add or remove signers using the addSigners()
and removeSigners()
methods, respectively. This allows for flexibility and control over the trusted gateways responsible for fetching off-chain data.
On the other hand, the ERC3668Resolver
contract implements the actual CCIP resolution process, following the ERC-3668 standard. It maps Genome domains to their corresponding SignatureCCIPVerifier
contracts, enabling domain owners to specify their preferred verification method.
The setVerifierForDomain()
method in the ERC3668Resolver
contract allows domain owners to associate a specific SignatureCCIPVerifier
contract with their domain. This method takes in the domain node (hash), the address of the verifier contract, and an array of gateway URLs. By calling this method, domain owners can establish the trust setup for their Genome domains.
To ensure a smooth and secure deployment process, the smart contracts architecture follows a well-defined setup flow. It involves deploying the gateway, deploying the smart contracts on the Ethereum Mainnet, and finally, configuring the domain settings.
Here's a high-level overview of the setup process:
1. Deploy the Gateway Server that connects to the Gnosis Chain and fetches Genome domain data.
2. Deploy the SignatureCCIPVerifier
contract on the Ethereum Mainnet, specifying the trusted signer addresses.
3. Deploy the ERC3668Resolver
contract on the Ethereum Mainnet.
4. For each Genome domain, call the setVerifierForDomain()
method on the ERC3668Resolver
contract, providing the domain node, verifier contract address, and gateway URLs.
By following this setup process, Genome domains can be seamlessly integrated with Ethereum-based dApps, leveraging the power of the CCIP Resolver and the underlying smart contracts architecture.
In the upcoming section, we'll explore the exciting integration with SPACE ID, which takes Genome's functionality to the next level by providing a one-stop platform for managing web3 identities across multiple chains.
Benefits and Applications
Genome's integration with Gnosis Chain brings a host of benefits and opens up exciting possibilities for dApp developers and users alike. One of the standout features of this integration is the seamless interoperability with the Ethereum Name Service (ENS). By linking Genome domains with ENS, users can enjoy a consistent identity across both Gnosis Chain and Ethereum. This means that the same wallet address can be used for ENS-integrated dApps and Gnosis Chain applications, providing a unified and streamlined experience.
For dApp developers, integrating Genome domains becomes a breeze. Thanks to the CCIP Resolver and the adherence to the ERC-3668 standard, developers can leverage standard ENS resolution methods to resolve Genome domains. This abstracts away the complexities of off-chain data retrieval, making it easier to build dApps that support human-readable names.
Moreover, the integration with Genome brings enhanced user experience to Gnosis Chain. With the ability to use human-readable names instead of long, cryptic addresses, users can interact with dApps and send transactions with greater confidence and reduced risk of errors. This improved usability can help attract a wider audience to the Gnosis Chain ecosystem.
Another exciting aspect of Genome's integration is its collaboration with SPACE ID. SPACE ID is building a universal name service network with a one-stop identity platform for discovering, registering, trading, and managing web3 domains. By integrating with SPACE ID, Genome domains gain access to a comprehensive suite of tools and services.
With SPACE ID, Genome domain owners can easily manage their domains alongside other web3 identities, all in one place. This includes features like domain discovery, registration, trading, and more. The SPACE ID Web3 Name SDK & API further empowers developers to integrate Genome domains into their dApps across multiple blockchains.
The integration with SPACE ID also enables Genome to provide a multi-chain name service, allowing users to create and manage their web3 identities seamlessly across different networks. This interoperability and flexibility are crucial in the rapidly evolving web3 landscape.
Looking ahead, the potential use cases for Genome on Gnosis Chain are vast. From decentralized domain naming for Gnosis Chain-based projects to enabling interoperability between Gnosis Chain and Ethereum, Genome opens up a world of possibilities. As the ecosystem continues to grow and evolve, we can expect to see even more innovative applications and services built around Genome domains.
More articles