Introducing Gravity

sasha ivanov
Waves Protocol
Published in
4 min readJun 11, 2020

--

Blockchain technology provides a method to make data immutable, and by this I mean set it “in stone” so to say, make it resilient to attempts to change it or forge it. It should be noted that data can be basically anything, it doesn’t have to be payments transactions only, since there are many use cases for blockchain tech now, it has gone beyond these simple payments. You might also need some data to make your smart contract (code running on the blockchain) to execute.

Things are simpler when the data comes from within the blockchain, for example with Bitcoin the data is mostly payment transactions. Blockchains are wired to work with that data natively, what they do is synchronize it over many network nodes through a so-called consensus algorithm, specific to a particular blockchain.

But what if we need to send or receive data external to our blockchain, for example some financial data from the “real world”, or even some data from another blockchain?

Then we have a problem. In order to use some external data all blockchain nodes should come to a consensus on its exact value first. But they have no way to check whether that external data is not fake or has been tampered with. Therefore all blockchain nodes need to agree to use a particular value (since there should be consensus amongst the nodes after all).

An entity that provides external value to the blockchain node is usually called an oracle. This is an agent that the nodes should trust, since they have no direct connection to the external world.

What could that agent be? If we approach it in a naive way we just allow some trusted source to put its data on the blockchain, for example a crypto exchange posting its trading data. But what happens when this trusted agent is compromised, or gets broken somehow? For example, crypto exchanges are hacked into quite often. Posting wrong rates can result in huge losses for DeFi apps that rely on the exchange data.

So the real question is who can you trust? As blockchain tech showed us you’d better trust a consensus, not a single actor. We need to create a network that reaches a consensus on data, and that can be trusted for all practical purposes. There’s a new consensus layer — agreement on the data provided to blockchains.

That kind of consensus requires a protocol and it requires an actual network running on it. It also requires economic incentives for its participants to operate.

Immediately we run into a dilemma — if our goal is to create a new layer for blockchains to interact with, it should be truly agnostic, that is it shouldn’t favor any chain or impose any new economy on the participating chains. The new network economy should be altruistic in a way. It doesn’t attempt to create new value, it uses the value locked in the blockchains it works with. It means, for example, that the network can’t have its own native token.

As a result we created a new protocol, called Gravity. This connects all participating chains and the external world, and it functions using the existing participant chains native tokens. To become a Gravity network member you need to lock a certain amount of native tokens of the chain you’re going to provide the data for. The users of the particular chain pay for the data provision, on a pay-as-you-go or subscription model, and the proceeds are shared between all Gravity nodes.

Furthermore, internal Gravity consensus protocol makes sure that the profits are distributed correctly, based on the quality of the data the nodes provided and their total input. There is an internal chain used to store the immutable proofs of the nodes activity.

The network effectively resembles a PoW (proof-of-work) network where miners provide their computing power in return for block mining bonuses. The only difference here is that the Gravity nodes provide data, and get paid for that, in “established” currencies of the chains they work with.

We can say that Gravity creates added value for the blockchains, increasing their usability through interconnectivity and data provision. This is why I decided to initiate this project within Waves — we want to create a truly agnostic solution everybody can profit from, and we will profit from it as well. Being one of the founding chains, Waves will probably experience the most impressive impact because it will provide its tokens as collateral first.

Part of the profits from the nodes will be allocated for the future platform governance through DAO-like mechanics. Economics of the network ensures its profitability in the short run and sustainability in the long run.

I believe this is the first attempt to create a truly agnostic network, being actually “in the middle” of different chains, without bias and favoritism. It doesn’t have its own token, but it does have monetization mechanics.

--

--