The centralization issue of Ethereum infrastructure Infura has sparked controversy again. What alternative solutions do we have?
Author: BlockBeats
On November 24, Ethereum infrastructure development company ConsenSys (the developer behind MetaMask and Infura) updated its privacy policy on its official website on November 23, stating that MetaMask will collect user information when the default RPC is set to Infura. This policy update has sparked strong reactions in the market, bringing the issue of Infura's excessive centralization back into the spotlight.
This article is a compilation of two pieces written by BlockBeats on March 4 of this year: "It's Time to Face the 'Centralization' Problem Brought by Infura" and "What Other API Projects Are Available Besides Infura?" The former article elaborates on the centralization issues and risks faced by the important infrastructure of Infura, while the latter reviews five alternatives to Infura.
On March 4, a user expressed on social media that they were unable to use the MetaMask wallet in Venezuela. Upon investigation, it was found that the issue was due to problems with the API service provider Infura.
Infura responded that while adjusting certain configurations in compliance with new sanctions directives from the U.S. and other jurisdictions, some settings were misconfigured, leading to service disruptions in certain regions. As the parent company of Infura and a user of its services, MetaMask also encountered issues due to this error, causing some users in certain areas to be temporarily unable to access MetaMask.
This is not the first time Infura has caused disruptions affecting the Ethereum ecosystem. Although this issue has been discussed for years, in light of Ethereum's vastly expanded ecosystem today, some problems deserve renewed attention. Especially during turbulent times, the so-called "decentralized" Web 3.0 world is beginning to show entry barriers due to inter-country issues, which is indeed embarrassing.
We do not deny the significant value of Infura; we are simply asking if we could alleviate this problem by exploring other options.
What is Infura?
To put it professionally, Infura is an IaaS (Infrastructure as a Service) product aimed at lowering the barrier to accessing Ethereum data. In simpler terms, Infura is a platform that allows your DApp to quickly connect to Ethereum without needing to run a local Ethereum node.
From a programmer's perspective, Infura is a Web3 provider backed by a load-balanced cluster of API nodes.
To understand it even more simply, Infura is a public Ethereum node that can see all the data on the entire Ethereum chain. The advantage of this node is that Infura provides external services; project teams or trading platforms can completely deploy their own nodes, achieving the same functionality as Infura, but it is cumbersome and costly. Thus, Infura's services found a market.
Within the entire Ethereum network, there is a need for a utility that can lower the entry barrier and simplify access to Ethereum data. The most important of these is the Infrastructure as a Service (IaaS) product, and Infura is a leader in this area, providing a set of tools for cross-industry developers, DApp teams, and enterprises to connect their applications to the Ethereum network and other decentralized platforms.
Infura was developed by developer Michael Wuehler and initially operated independently. In 2019, it was fully acquired by ConsenSys and became a business unit under it. Infura was free to use at launch. It later introduced subscription services, with fees ranging from $50 to $1,000 per month. However, for developers or projects with smaller needs, Infura remains very friendly. Developers can create three projects for free in Infura and submit 100,000 requests daily using Infura's API services.
What is Infura Used For?
Infura's Chief Systems Engineer Nicola Cocchiaro stated, "Our mission is to facilitate access to Ethereum and the opportunities it provides." They have indeed achieved this mission, exceeding expectations.
Many well-known projects on Ethereum (MetaMask, Aragon, Gnosis, OpenZeppelin, etc.) utilize Infura's API to connect their applications to the Ethereum network. As the largest API provider in the Ethereum ecosystem, Infura's existence has indeed made things much easier for developers.
The most famous part of Infura's infrastructure is its hosted Ethereum client network, which supports both mainnet and testnet via client-compatible JSON-RPC over HTTPS and WSS. Ethereum nodes are just one part of the Infura stack, and they also offer IPFS services, although the attention on that is naturally not as high due to the vast difference in ecosystem compared to Ethereum.
Projects and Companies Using Infura
On Infura's official website, it is noted that many familiar companies and projects utilize Infura's services. For example, the Ethereum light wallet MetaMask uses Infura's zero-client approach to connect to Infura's remote infrastructure, serving millions of users. (Note: In addition to using Infura's services, MetaMask also runs its own nodes.)
For projects like CryptoKitties that prioritize scalability, Infura collaborates with developers across the ecosystem to maintain smooth network operations.
Of course, many trading platforms also use Infura's services, such as Upbit, Bithumb, etc. Some decentralized protocols, like 0x and MyCrypto, also rely on Infura to broadcast transaction data and smart contracts to the Ethereum mainnet.
Some client cases listed on Infura's official website
Concerns About Over-Reliance on Infura
Currently, there are 6,300 nodes in the Ethereum network, and Infura once stated in 2018 that the number of nodes accessing the Ethereum network through Infura accounted for 5-10% of the total. As the cost of maintaining nodes continues to rise, this percentage is likely to be even higher now.
This is not the first time Infura has encountered issues; in November 2020, Infura was not running the latest version of the Geth client, and certain special transactions triggered a bug in that version of the client, causing Infura to go down.
This incident is considered one of the most serious Ethereum accidents since The DAO; although it was not an issue with the Ethereum network itself, the chain reaction caused by Infura's downtime effectively paralyzed the Ethereum network temporarily: mainstream trading platforms were unable to deposit or withdraw ERC-20 tokens, and MetaMask was unusable, among other issues.
Minor issues have also persisted; in February of this year, platforms like OpenSea and Uniswap experienced problems due to a surge in traffic that caused Infura to crash. Infura has clearly become the foundation of this $320 billion building.
As early as 2018, developers had expressed concerns about Infura. Afri Schoedon, an Ethereum developer at Parity Technologies, stated that the Ethereum network cannot rely on Infura to handle 10 billion requests daily. Schoedon believes that over-reliance on Infura increases the centralization of the protocol.
Besides project teams or users setting up their own nodes, there are many other projects to choose from, such as Alchemy or the highly regarded Pocket Network, etc. While these alternatives may not completely eliminate the issues caused by Infura's failures, they can at least mitigate them.
We do not deny Infura's value; it is very important for Ethereum. However, if more node incentive schemes or solutions to reduce the cost of running nodes emerge, Ethereum could become even more perfect, perhaps even surpassing ETH 2.0.
Review of 5 Alternatives to Infura
QuikNode
Setting up your own Ethereum node involves solving various issues, such as security, network speed, and storage space. QuikNode, as a blockchain development platform, can address these problems by directly providing full nodes. It has raised $5.3 million in funding led by Reddit co-founder and completed another $35 million funding round led by Tiger Global last October.
QuickNode provides users' applications and DApps with elastic and dedicated node services, which means application programming interfaces (APIs) that can query blockchain data and facilitate operations of decentralized applications, similar to Infura, lowering the barrier to accessing Ethereum data.
However, it is important to note that QuickNode does not provide shared public nodes but rather dedicated nodes. It only accepts calls from users' DApps, improving blockchain access performance. It currently supports 11 blockchains, including BSC, Bitcoin, Solana, Optimism, Fantom, Terra, Arbitrum, Gnosis, Polygon, Ethereum, and Celo.
Alchemy
Alchemy is a widely used blockchain API. Alchemy's supernode service is adopted by Ethereum, Polygon, Arbitrum, Optimism, Flow, and Crypto.org. This service provides extensive API support, allowing developers to easily access multiple functions through a single node, including JSON-RPC support, while offering the robust reliability, data accuracy, and elasticity needed to run world-class applications on the blockchain.
A brief summary on Alchemy's official website states, "Use dedicated distributed systems to scale each node's functionality and maintain real-time data accuracy with proprietary coordinator services." In terms more familiar to the general internet user, Alchemy's vision can be understood as a blockchain version of AWS or Alibaba Cloud.
Just as developers rent AWS in Web2 to avoid the hassle of server maintenance and operations, Alchemy provides developers with a foundational decentralized architecture that separates different types of data into specialized storage, improving speed and reliability. This means that applications can be built on-chain with fewer engineering resources, similar to Amazon's AWS.
OpenSea co-founder Alex Atallah has praised Alchemy: "Using your own nodes or error-prone services means wasting precious engineering time on trivial issues. Alchemy's reliability, speed, and support are astounding."
In addition to its main services, Alchemy also offers a variety of other services, such as development solutions, integrated monitoring dashboards, and Web 3.0 push services.
Pocket Network
Pocket Network is also a decentralized API protocol serving Web3. Guided by Pocket DAO for the long-term development of the protocol, it provides a bilateral market composed of full node supply and demand sides, one side being applications and the other side being full node infrastructure providers.
Its token is POKT, and developers can stake POKT according to their needs to obtain API services. They can withdraw their staked tokens at any time when not using the service. However, to enhance the liquidity of POKT, Pocket has also released wPOKT to attract other applications.
It operates a network of tens of thousands of distributed nodes, eliminating centralized servers and single points of failure. This means that even if one node providing service to developers fails, other nodes will continue to provide service, thus offering a high fault tolerance, low-cost, and flexible API service solution.
Moralis
Moralis is a Web3 development middleware that provides developers with scalable backend infrastructure, allowing users to focus on the frontend of applications. A series of complex processes for interacting with the blockchain can be easily completed through Moralis, saving development costs and improving the reliability of on-chain interaction functions.
Like other competitors, Moralis also offers developers features such as on-chain alert push and smart contract monitoring. Currently, Moralis supports multiple networks, including Ethereum, BSC, Polygon, Solana, and Elrond. Developers can quickly develop cross-chain DApps based on Moralis.
Additionally, Moralis provides other excellent tools for general DApp development. Some examples include native support for IPFS, cross-chain compatibility, and strong support for developers. The Moralis blog also offers excellent guides to help you explore and better understand the possibilities for Moralis users.
Currently, products such as SuperFarm, 1inch, Chainlink, Utrust, and Covalent have integrated Moralis's services.
Bware Labs
Bware Labs is a distributed API infrastructure startup that is building a multi-chain subscription-based API platform, providing an interface between blockchain API consumers and node providers, allowing businesses and developers to execute data requests across multiple integrated blockchains.
Initially, all infrastructure needs will be provided by Bware Labs' own servers, which indicates that they can fully understand the needs of partners and adjust infrastructure before accepting third-party node providers. However, once a sufficient number of third-party node providers join, most of their own nodes will exit, transitioning to a monitoring role.
Bware Labs disclosed that it completed a $600,000 funding round on February 23. Its team members are largely composed of former Ankr developers, with some having previously worked at Google.
Its token is abbreviated as BWR, which can be used to delegate node providers from the platform to earn profits, stake, participate in protocol governance, and receive rewards from validators. The distribution data has not yet been disclosed.