Dewhales recently pointed out in a study that projects are moving towards a truly modular direction similar to Web2. In the past decade of Web2, the number of external libraries, frameworks, and containers has exploded. Previously, modules in Web3 could be compared to difficult-to-integrate frameworks, requiring temporary solutions to combine them. Now, it is more similar to Web2 with libraries, where a program can call many different libraries. In Web2, the abundance of libraries typically leads to a significant increase in the size of applications, ideally a banking application should be 20-50 MB, but due to libraries, it may end up being 500-800 MB. However, the current situation in Web3 is slightly different.
Web3 is gradually moving away from the Fat Protocols paradigm of providing developers with a large number of SDKs. These comprehensive products usually result in developers getting “a little bit” rather than tools with truly broad functionality. In addition, from the trends of the past few years, the pendulum of cryptocurrencies has swung from centralized solutions to decentralized solutions. Due to the expanding development capabilities of Web3, the current main development direction is truly decentralized. Lava Network is one of the cornerstones laying the foundation for a truly distributed and decentralized Web3.
Lava Network Introduction
To get an overall understanding of Lava and its objectives, consider the following analogy:
Lava is a postal system, while other providers are independent mail carriers. If a city has only one mail carrier and they get sick, there would be no one to deliver the mail. If there are many mail carriers from different companies, there would be competition, making it difficult for consumers to choose a specific mail carrier. With Lava, anyone can join the “Lava” mail carrier collective and deliver mail in any way – by bike, car, or on foot. You only pay once, and the Lava algorithm selects the best mail carrier to help you send your mail based on your needs. You don’t have to choose your own mail carrier or maintain relationships with multiple different providers.
Lava is a marketplace, while other providers are individual stores. Currently, in Web3, there are no infrastructure aggregation services, and with the launch of new blockchains and combinations, this part of the stack is becoming more and more decentralized. Lava eliminates the need for developers to manually select individual providers. When developers connect their applications to Lava, the protocol not only connects them to the most efficient nodes available for responses, but also routes their requests to the correct providers – through chains, protocols, and API interfaces.
Lava Network and RPC Overview
The Lava protocol aims to provide decentralized and scalable blockchain data access. Lava is a fast, reliable, and decentralized RPC network that supports over 30 chains, addressing the inherent problems of centralized blockchain data providers (such as Infura, Alchemy, etc.). In addition, Lava also has incentive pools, which blockchains can create to guide infrastructure development. This is used to pay providers, while users/developers can access RPC for free. Learn more about the drawbacks of the current solutions in the “Competitors” section. In addition, the team emphasizes that Lava will support more features and modules in the future.
What is RPC:
RPC (Remote Procedure Call) is a method that allows a program to call a procedure (function) in another program. In a blockchain environment, they are complete nodes that allow other network participants to connect to the blockchain for read/write access. RPC nodes are usually used by those who do not or cannot run their own full nodes or light clients, greatly reducing the friction of accessing the blockchain. Any user connected to an RPC provider implicitly trusts the provider’s integrity, as no self-checking work is done.
Uses of RPC:
Users need to use RPC to connect to any blockchain and perform basic operations: minting, trading, sending, deploying smart contracts. For Dapps, RPC allows Dapps to interact with any blockchain network. For example, a Dapp can use RPC to send transactions, read data from the blockchain (gas prices, account balances, etc.), or subscribe to certain events on the network. RPC also allows Dapps to interact with the blockchain network without disclosing their private keys.
On the one hand, Lava’s description seems to be similar to that of a router or relay. But in reality, Lava penetrates into various aspects and components of web3 as an RPC: different ISPs, services, dApps, and many users’ invisible processes. So next, we need to take a deeper look at how Lava actually works.
Lava and Lava SDK General Operation
1. Chains and Rollup create an incentive pool on Lava, consisting of their native tokens, stablecoins, or even memecoins.
2. Chains and Rollup define the required infrastructure services by writing simple specifications (“specs”) and add them to Lava for providers to offer services for infrastructure.
3. Providers join Lava to offer services for the infrastructure defined in the specifications and receive rewards from the incentive pool. This is especially beneficial for new or pre-launched chains that have not yet received support from a few major providers.
4. Lava aggregates providers and dynamically fulfills user needs for each request in the best way possible based on geographical location and provider service quality. Users do not need to manually research and select the best providers; Lava can dynamically meet user needs for each request.
5. Users and developers get free infrastructure.
6. Provider rewards depend on the computing power and service quality they provide each month.
7. Developers can purchase subscriptions for higher rate-limited services (e.g. more RPC requests). Subscription fees are also paid to providers on a monthly basis.
The problem with the current on-chain data providers is that such solutions are highly decentralized, with no single provider able to provide all the required functionality – each provider lacks certain features or support for specific networks. Therefore, it is necessary to use multiple solutions to cover the necessary data stack. Lava also particularly emphasizes the issue of centralized infrastructure failure.
Lava acts as a market and settlement layer for accessing blockchain data with dynamically market-driven pricing. Payment settlement, conflict resolution, and matching are all done on-chain. To ensure competitiveness, direct communication takes place between providers and consumers, and data and requests are offline (i.e., not through the Lava network). Lava aims to enable users to access RPC not only but also to access RPC from different locations around the world for better speed and user experience.
Technically, Lava provides a PoS-based blockchain solution developed using the Cosmos SDK and Tendermint core. This looks logical against the background of Cosmos positioning itself as a hub that allows different networks to connect. But this raises a question, as Cosmos is actually a rather expensive solution for connecting different networks through IBC technology. The fact is that the current IBC transport layer requires lightweight clients to be paired between each chain. The cost of running a full lightweight client in most EVM-based chains is prohibitively high, limiting access to IBC for high-bandwidth, low-cost chains. Validator requirements are the standard requirement of Cosmos.
The page mainly introduces Cosmos, but in reality, if we access Gateway Lava, we will see a considerable number of supported chains (including some chains providing RPC in testnets). As of mid-June, only 16 chains were available; as of July 7th, there were 24 chains available.
Lava also provides an SDK, a powerful JavaScript/TypeScript library designed for developers, allowing them to integrate plug-and-play RPC multi-chains by adding a simple js library to their code. It provides decentralized access to all chains supported by the Lava ecosystem and can be used in server and browser environments. By importing the Lava-SDK into their projects, developers can easily interact with different blockchains and create decentralized applications.
Tools provided by Lava:
Gateway
– A user-friendly Web UI for online project management and URL-based API access on all supported chains and APIs.
SDK with Badge Server and integrated SDK
– An SDK with an innovative badge system for hiding and protecting the private keys of front-end dApps. The SDK also supports native integration with viem, web3.js, ethers.js, CosmJS, etc.
Server Suite
– Concurrency, high-throughput binary files available.Lava Network Design and Architecture
Let’s delve into the benefits of Lava’s decentralized design:
Accuracy through Consensus Data
Client-side free threshold algorithms sample API endpoints and probabilistically minimize response conflicts. Consensus is built around network data, with plans for a lightweight client to further eliminate trust assumptions. Developers need not worry about data staleness or inaccuracy.
Scalable Network Redundancy
Applications interact with a provider list to increase uptime and service coverage. The network swiftly operates RPC nodes to establish new Lava Network specifications for provider connections and service provisioning during traffic spikes.
High Uptime via Provider Connectivity
Customers pair with provider lists and rate providers based on latency, freshness, and availability within the peer system, ensuring rewards based on Quality of Service (QoS) per session. This setup ensures uninterrupted user experiences.
Support for Any Chain, Any API Specification
Using Lava as providers, developers can adjust configurations to access any current chain and API on the network. DAOs and contributors swiftly implement new network supports without searching for new providers, gaining all required RPCs via an open-source protocol.
Summary of Lava Network:
Peering under the hood, rather than just seeing parts of the engine, reveals a larger, more intricate system:
Participants in the Lava Network:
Validators
Secure chains and earn LAVA by safeguarding the blockchain, responsible for block provision, voting, and state validation.
Delegators
Stake LAVA with providers and validators to enhance network security, sharing risks for rewards.
Service Providers for Consumer Management
Providers stake on the network and run RPC nodes in relay chains requested by consumers (e.g., Cosmos, Ethereum, Osmosis, Polygon). Providers receive payments in LAVA for services, based on RPC performance and consumer interactions.
Champions
Earn LAVA by creating, maintaining, servicing, and supporting specifications on the Lava Network. They propose, maintain, or write software for these specifications.
Consumers
Utilize web3 APIs via Lava protocol—developers, wallets, dApps, exchanges, indexers. They use LavaSDK, ipRPC endpoints, gateway endpoints, or server suites for data retrieval and relay requests.
Enterprise Clients Using Lava Server Kit
A GO language reference implementation providing self-hosted gateway access to blockchain APIs, designed to run as backend servers for high-throughput and scalability needs.
Specifications
Fundamental components supporting multi-chain capabilities on Lava, presented in JSON format, defining minimum requirements for API operations.
Lava Gateway
Web platform for developers to instantly access blockchain data, utilizing Lava Server Kit for hosted entry points via Lava network for RPC.
Lava Network Re-staking
Re-staking has long been discussed, but Lava takes a complex turn. Token holders can delegate tokens through Lava Network for partial rewards from selected providers, without additional collateral, in exchange for higher risks and rewards.
LAVA delegated to validators can be re-staked. Providers can re-stake tokens from consumers without additional collateral, reciprocally staking tokens back to validators.
Purpose of Re-staking:
– Help delegators choose optimal providers and earn rewards.
– Provide additional income for validator delegators.
– Reduce network security costs.
Competitive Landscape
Currently, there are 29 RPC providers, including Infura, QuickNode, Alchemy, according to Alchemy’s data. However, Lava Network offers a wholly distinct product.
Disadvantages of Centralized RPC Providers include potential censorship, inaccurate data, and occasional malicious actions. Recent incidents highlight vulnerabilities of private RPC providers, affecting blockchain services.
Lava allows decentralized interaction without downtime, significantly enhancing application performance, even on Arbitrum. Feedback indicates Lava’s performance can improve app performance by approximately 10 times.
In conclusion, while competitors like EigenLayer utilize re-staking differently, Lava Network stands out due to its architecture and principles, offering decentralized RPC infrastructure creation through incentive pools.