Learn about how developers can still get RPC from the Lava Network, even if Lava itself goes down.
Constant Availability comes out of the box - you can already start building with reliable RPC on Lava.
Get started with the Lava gateway.
We’ve added a new feature to Lava which ensures that apps and consumers on Lava can still get service from providers on the network, even if the chain halts.
Lava consists of four core elements:
Lava also offers multiple ways for developers to communicate with the network - the managed Gateway UI, the backend Server Kit & the p2p SDK for app developers.
All relays between Consumers and Providers are peer-to-peer and off-chain.
Downtime at the RPC node level is every developer’s nightmare - and an extremely common one. Whether it’s a popular NFT mint, inscriptions DDOSing chains or points driving huge traffic to an application, RPC provider often lack the redundancy and fallback mechanisms to scale.
We’ve previously explored the topic of infrastructure downtime in another blog.
All node providers - whether centralized or decentralized - face downtime due to single points of failure in their architecture.
Because Consumers on Lava retrieve lists of Providers per epoch from the Lava Blockchain, the blockchain previously represented a vulnerability that could impact users. If it halted in any way, Consumers would not be able to continue communicating with Providers beyond the existing epoch.
Constant Availability removes this single point of failure, enabling Consumers to continue getting responses from Providers indefinitely, while the chain is halted.
This means that as long as there is a Provider supporting the spec you would like to access e.g. Ethereum JSON-RPC, Consumers will have constant RPC availability through Lava. This availability is magnified the more Providers join the network, increasing redundancy.
Consumers benefit from Constant Availability out of the box when using Lava, with no additional configuration required.
When the blockchain stops producing new blocks, consumers and providers track this downtime. After a predetermined downtime and an epoch duration pass, the system initiates 'virtual epochs.' These epochs temporarily increase the computational unit (CU) limits for relays, mirroring a regular epoch's capacity. This increment occurs only if both the consumer and provider agree on the start of a virtual epoch, ensuring accurate tracking and avoidance of unilateral errors.
Upon the blockchain's resumption, a module named 'downtime' calculates the halt duration. Providers can then claim compensation for their services during the virtual epochs, but they are only compensated up to the limits set by the consensus module. This process is fully automated, allowing providers to optimistically serve relays with the expectation of fair compensation post-resumption.
The result: continuous RPC and web3 API service without interruption despite blockchain dysfunction.
We strongly believe there’s a better way to build data infrastructure in web3 that offers faster, more reliable and scalable service to developers and users.
Constant Availability is a key step towards Lava offering the best service across the multi-chain ecosystem. If you’ve read this far, we appreciate your support and would love to hear any further feedback in our Discord.
You can also check out the docs or get RPC from the Gateway to start building with Lava - constant availability comes out of the box ;)