What is Lava? A tripartite explanation.

KagemniKarimu
Lava Network
Published in
7 min readMar 24, 2023

Lava Network is a decentralized solution for blockchain data access. It is a protocol, a network, and a standard that allows both providers and consumers of blockchain APIs to have their needs met without trust assumptions, risk of fraud, or aggressive rate-limiting. As a data access solution, Lava provides high throughput and scalable access to multiple RPC services when building on multiple chains.

To understand exactly how all this works, we have to be clear about the problem that Lava Network is solving. If you haven’t already, you can learn more about the Web3 RPC problem in my previous article on this topic. Otherwise, we’ll dive right in to the basics of RPC, what exactly Lava is and thus how it may be well-positioned to solve the Web3 RPC problem.

Understanding RPC

When a person wants to know about something on a blockchain they usually just visit a website which presents the information they seek. It’s simple and painless! However, behind the scenes, that website is contacting a node and making a request for this information. This process is often referred to as a Remote Procedural Call or just RPC for short.

Once the requested information is returned from the node via RPC, it is presented to the end user in a prettified format that can be easily digested and understood. This is happening all the time —when making crypto transactions, deploying smart contracts, even when using decentralized exchanges. In fact, wallets like Metamask, automated market making protocols, and other dapps with beautiful interfaces all utilize RPC to accomplish their work.

There’s a lot more to know about RPC and the various formats of requests that are made and fulfilled. For now, what we have to understand is that each RPC carries with it important data and that important data must be delivered to the end-user in a way that is:

  1. Secure — has no interlopers or hijackers!
  2. Fast — happens as close to instantly as possible
  3. Reliable — happens every time it is requested
  4. Accurate — gives the correct data each time

If data is not delivered securely, a user could submit a false transaction or forfeit privileged information to a party. If data is not delivered quickly, it may be out of date or irrelevant by the time a user receives it. If data is unavailable upon request, errors and issues may arise within a web application. If data is inaccurate, it cannot be used or presented without propagating glitches throughout a platform.

The challenge is meeting all four of these criteria simultaneously. Although RPC endpoints are relatively abundant for many blockchains and ecosystems, finding RPC endpoints which are secure, fast, reliable, and accurate for every ecosystem remains an enduring challenge for web3!

Lava allows a user to do so and from a variety of entryways. We provide a Gateway, which is a managed solution for project-based blockchain API access. We’ll be providing an SDK, which is a completely decentralized plug-in-play means of accessing multi-chain RPC programmatically. And, still, we provide a Server Kit which can be run on a Lava node to create a robust backend for high-throughput enterprise grade applications which require RPC over a variety of protocols.

You can read more about each of these offerings here! But, let’s continue understanding exactly what Lava is as a protocol, a network, and a standard.

Lava is a protocol

First and foremost, Lava is a protocol. Lava runs on a custom-built Proof-of-Stake Cosmos Appchain. It provides a dynamically generated pairing list to those seeking to connect to RPC providers. The list is generated through a deterministic computation that ensures each client gets the pairing list within the same time period. For both fairness and quality assurance, the pairing list is refreshed at regular intervals which coincide with a certain number of blocks added to the chain. Additionally, providers are ranked by latency, availability, and freshness — ensuring quality providers are referenced by the protocol.

Using this on-chain Pairing List functionality, Developers can use Lava to make concurrent relays to multiple providers across different chains and protocols. In general, many of these facets are configurable and allow for continuous, multi-chain, scalable access to diverse RPC endpoints.

In addition to this basic pairing of RPC nodes and RPC consumers, Lava provides additional infrastructure baked into the protocol which enhance RPC experience. These features include:

  • Data Integrity— Periodically, verifiable random functions are run against data to detect fraud and ensure that no providers are cheating! Anyone caught providing data that is stale or unverifiable is penalized by the protocol.
  • Conflict Resolution — In cases where data is conflicting, Lava employs an Honest Majority protocol to resolve issues via on-chain voting by staked providers on the network. Unreliable actors of any type are slashed, meaning they lose their rewards and their incentive to cause problems.
  • Incentivization — Lava’s token is used to incentivize good behavior and desirable characteristics amongst RPC providers. The best providers with the highest quality of service — as measured by latency, availability, and freshness — are favored by the protocol, and reap the biggest rewards.
  • Reliability — Multiple RPC providers are available for each chain. Uptime is enforced by jailing; RPC providers who are otherwise unresponsive to requests are kicked and unstaked from the network. More generally, the protocol is optimized to maximize availability, low-latency, and proper sync.
  • Privacy — RPC requests are distributed across various providers on the Pairing List so as to obfuscate intention; nosey or malicious RPC providers are disempowered by default.

Lava is a network

Secondly, Lava is a network — one could even say a cryptonetwork. By the work of an active set of blockchain validators, decentralized network participants keep things working smoothly without needing any centralized interference. Lava provides peer-to-peer connectivity between RPC providers and consumers, such as developers and apps, with transactions accounted for in compute units (CU) and Lava tokens. In fact, another way to think about Lava is as a secure payment channel for those who host and consume blockchain APIs.

We often use the word ‘developer’ when describing the user(s) of our network. Of course, developers are a common user of our network, but they are not the only important role! From a network perspective, Lava has three basic roles:

  1. Consumers — those who consume RPC, these are commonly developers, dapps, web applications, and APIs that call on other APIs
  2. Providers — those who host RPC endpoints, these are node operators who for commercial, ideological or altruistic reasons are exposing a blockchain node to the network
  3. Validators — those who run full Lava nodes and validate the Lava blockchain — these ensure the security of the network and assist in resolving conflicts and on-chain governance

The combined action of these three parties is what allows Lava to collate and serve a list of functional and reliable nodes for Web3 RPC access. This is no trivial feat — the Web3 RPC problem demands abundant, available, and reliable RPC and a correctly incentivized means for payment settlement.

Lava is a standard

Ultimately, Lava is an open-source standard. It gives a standard means for presenting and consuming blockchain data. Since being an RPC provider is a difficult venture — Lava provides a standardized format for RPC providers to make their services available to the decentralized pool of RPC consumers. While using Lava, RPC providers will not need to hunt for users, advertise, or set up payment gates. They can just verify that their chain is supported and broadcast themselves following the steps outlined in our provider documentation.

The most important thing to note is that it is fairly simple for anyone on any chain to add their chain to the protocol, provided it is agreed upon by existing stakeholders via on-chain governance. This is done through the proposal of specifciations or ‘specs’ which effectively democratize the process of making RPC available. Our process of adding new specs is completely open-source. There is no centralized party playing kingmaker! By designing and proposing a spec, anyone can add any block chain and any protocol at any time.

With Lava, a blockchain can expose themselves to an existing network and protocol for RPC that has all the quality assurances previously mentioned in addition to an existing user base. By providing all of Web3 with this open standard, Lava simplifies RPC.

An example of a Spec Proposal

Solving the Web3 RPC Problem

Overall, Lava offers one decentralized and scalable solution to the Web3 RPC problem. By and large, the Lava protocol, standard, and network provide the necessary tools for providers and consumers of blockchain APIs to access necessary data in a way that is fast, reliable, accurate, and secure.

Importantly, Lava provides additional protections and mechanisms that the RPC aggregators, indexes, and public lists do not provide while remaining decentralized and configurable. It empowers the mavericks, who can monetize their nodes across an existing userbase without needing to think about how to do so safely! And it provides a place for centralized providers to compete across quality of service standards with other RPC providers. As it stands, it is one very viable solution to our big problem. However, so long as the Web3 RPC problem continues to exist, there will be plenty of room for everyone’s attempts at serving RPC in ways that are fitting to the usecase.

Now that we know a little bit about what Lava is, up next, we’ll look at How Lava Really Works! 🌋

--

--