Introducing Gravity

sasha ivanov
Jun 11, 2020 · 4 min read

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.

Waves Protocol

Open blockchain protocol and development toolset for Web 3.0 applications and decentralized solution

Waves Protocol

Waves is an open blockchain protocol and development toolset for Web 3.0 applications and decentralized solutions, aiming to raise security, reliability and speed of IT systems. It enables anyone to build their apps, fostering mass adoption of blockchain.

sasha ivanov

Written by

Waves Protocol

Waves is an open blockchain protocol and development toolset for Web 3.0 applications and decentralized solutions, aiming to raise security, reliability and speed of IT systems. It enables anyone to build their apps, fostering mass adoption of blockchain.

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store