Gravity Hub, presented at Waves Community Meetup in Berlin on December 11, aims to unite all existing blockchains and dApps, resolving the interoperability issue. It will also operate as a data oracle, feeding data from the outside world to the blockchain.
Gravity Hub is essentially a blockchain that doesn’t have any tokens, but that can communicate with other blockchains, such as Waves Platform, Waves Enterprise or Ethereum.
The use of the word “gravity” is by no means random, as the solution will have properties similar to those of gravity: it will attract and connect various blockchains.
So far, the inability to transfer data from one blockchain to another has been a major hindrance to the development of the blockchain space. This solution has the potential to take blockchain technology to a new level by facilitating free and unfettered communication between any existing blockchains.
Gravity Hub will assume interoperability at the protocol level, as well as at the decentralized applications level, allowing a dApp to send a request to another dApp on different blockchain.
Gravity Hub’s nodes will be able, for instance, to obtain block headers from the Ethereum network and send them to Waves Platform. If Ethereum block header data is available on Waves Platform, it will be possible to prove that a specific transaction has taken place on Ethereum. To obtain that data, users will pay reasonable fees.
For sending tokens between blockchains, token ports will be used, which will also use data from Gravity Hub. For more details on interchain transfers over token ports, see this post.
Gravity Hub will also be connected to custom chains, which represent a new approach to blockchain customization. Waves Matter, our blockchain engine, can be assembled in any configuration for different purposes.
As nodes will be split into the main core and a number of mandatory and optional plug-ins, users will be able to choose smart contract languages, consensus algorithm modules, cryptography types and other functionality for their custom chains.
We will explore the specifics of Waves Matter in subsequent posts.
In addition to providing an interoperability protocol, Gravity Hub will help resolve the issue of obtaining information from the outside world, as it will facilitate access of all connected chains to data from outside the blockchain.
A member of any network connected to Gravity Hub will be able to request oracle data from any information systems that have APIs — from Google to enterprise ERP systems.
All Gravity Hub nodes will have “data watchers” — modules for collecting various types of data, such as block headers and block height from other blockchains, exchange rates, etc.
For each data watcher, a data profile will be set. For instance, if a data watcher collects Ethereum block header data, this will need to be done with a certain frequency and reliability.
How can we make sure that data provided by Gravity Hub is accurate? That can be achieved by consensus between several nodes.
To that end, at least several nodes collect data of the same type, which is written to the Gravity Hub blockchain as “raw data”. Once consensus has been reached, “consensus data” is also written to the blockchain and can be sent to a user who has requested it. There are various options for sending consensus data to the user.
One option is a multi-signature solution, whereby a transaction containing the consensus data must be signed by all nodes.
Alternatively, any node could be allowed to send consensus data to the user, but in that case, the node’s stake will act as collateral. If, for instance, a node sends data to the target blockchain that is different from the ultimate consensus data, proof of that can be sent to a smart contract, which will automatically deduct part of the node’s stake as a fine.
A user will be able to request a certain type of data over a specific time period for a fee consisting of execution costs and the node’s fee. Also, the user will be able to set up preferences. For example, when requesting exchange rate data, the user can set the maximum variability required.
How to join Gravity Hub
To become a Gravity Hub member, a user will need to install a Gravity Hub node and, for that purpose, to lock a certain sum of money on any of the supported public blockchain networks.
You can lock a certain sum on the Ethereum network for a fixed period, using a special smart contract. Once you’ve done that, you’ll be able to collect revenues from users’ data requests, also enjoying Gravity Hub’s other advantages.