“If we don’t stop relying on Infura, the vision of ethereum failed.”
That’s how Afri Schoedon, release manager for the Parity Ethereum client, described one of ethereum’s most popular – and controversial – technologies on Twitter in October.
Infura handles around 13 billion code request per day and provides a way for developers to connect to ethereum without having to run a full node. And while the exact usage stats aren’t public, by creating a simpler method for interfacing with the network, it’s said to underpin the majority of decentralized applications in the ethereum ecosystem.
But here’s the thing: Infura is operated by a single provider – the ethereum development studio ConsenSys – and relies on cloud servers hosted by Amazon. As such, concerns exist that the service represents a single point of failure for the entire network.
“If every single dapp in the world is pointed to Infura, and we decided to turn that off, then we could, and the dapps would stop working. That’s the concern and that’s a valid concern,” Michael Wuehler, the co-founder of Infura, told CoinDesk in an interview.
While many of the projects recognize the importance of Infura’s contribution to ethereum – referring to the service as a pillar that holds up the developer community today – many, like Schoedon, feel that steps must be taken to seek a decentralized alternative.
“There is no point in having dapps connecting through Metamask to a blockchain hosted by someone else,” Schoedon tweeted.
And Schoedon isn’t alone in his interpretation. Rather, he’s met by a host of new efforts to dethrone Infura as the go-to connection point for developers linking their decentralized applications to ethereum.
For example, new full node incentivizations schemes like VIP node, Dappnode and D-Node seek to provide different kinds of alternatives.
Equally, infrastructure minimizing efforts such as light clients are gaining traction, as well as experimental software restructuring like Turbo Geth. And according to developers, what’s at stake is the very decentralization of the ethereum ecosystem itself.
“One of the issues that we’re facing in the space today is that decentralized application development is happening through centralized services,” Yalor Mewn, communications officer for Dappnode, a node incentivization scheme, told CoinDesk, adding:
“We are building all of this infrastructure on top of a bottleneck.”
An imperfect tool
Currently, there’s a total of 11,803 ethereum full nodes according to available data.
Speaking to CoinDesk, Wuehler said Infura accounts for somewhere between 5 and 10 percent of the nodes. Yet because the Infura nodes are highly reliable – under 24 hour maintenance – they’re accounting for a disproportionate amount of traffic.
“[We’re] effectively supporting the entire ethereum dapp ecosystem with the RPC traffic,” Wuehler said.
And that’s partially because, as of the time of writing, a full archive node is said to take over 1 terabyte of data – beyond what a conventional laptop can store. For developers, as well as users, this means that the storage requirements are frequently outsourced to companies that have the means to manage that kind of infrastructure.
“The way Infura works is they host their own full nodes and they open up an [interface] to allow you to easily access those full nodes,” Aidan Hyman, CEO and co-founder of ethereum research and development startup Chainsafe, told CoinDesk.
For example, developers frequently opt for Infura as a way to focus their efforts on software, while users are often drawn to in-browser tool Metamask to hold their cryptocurrency. And both route through the ConsenSys full nodes.
“Any dapp that uses Metamask also inherently depends on Infura (knowingly, or not). In that sense, nearly all dapps potentially depend on Infura,” Wuehler told CoinDesk.
The impact of this is that developers and users are less likely to run full nodes, meaning that the number of full nodes supporting the network decline. As the risk that Infura might become a single point of failure, there are other repercussions to a lack of full nodes as well.
Running a full node, for example, allows users and developers to keep much of their sensitive activity local, while Infura accumulates combinations of data from its users such as wallet address and IP locations.
“Privacy is an issue,” ‘Dapplion,’ the pseudonymous developer behind Infura replacement project Dappnode, told CoinDesk, adding:
“And Infura is hosted on Amazon. So what if Amazon says ‘You know what? Infura no more, just fuck off.’ Most of the dapps would be unusable.”
As such, several efforts are trying to find a viable and usable alternative.
For example, Parity Technologies has released a new code library for light client development, dubbed LightJS. Parity hopes that it will encourage developers to build light clients rather than relying on Infura as a service.
And that’s because, while they promise to be much less hardware and storage intensive, light clients are intended to maintain the same degree as decentralization as running a full node.
“Ideally, what we will see is less and less dapps connecting to Infura, and they will use a light client instead to achieve true decentralization,” Parity developer Amaury Martiny told CoinDesk.
The Turbo Geth project by Alexey Akhunov also seeks to completely restructure how ethereum software clients handle storage. In the latest version of the software rewrite, he’s decreased the storage requirements down to a fifth of its current size.
And several projects, such as Dappnode, D-node, and VIP node, target the underlying incentive layer to encourage more people to run a full node. And that’s because currently, unlike the miners that secure transactions on ethereum, full nodes are not rewarded in any way.
But VIP node, working on a grant that has been given by the Ethereum Foundation, uses the identifier with which full nodes connect to ethereum to dole out rewards to nodes that are online, that are paid through a subscription from developers wishing to use the service.
Another project, named D-Node, also creates a market between developers and node operators, but tries to decentralize the economic relationship between those actors as well.
To do this, D-Node uses a decentralized autonomous organization, or DAO. An initiative by Toronto-based startup Chainsafe, D-node was conceived in May at ethereum hackathon ETH Buenos Aires and is funded through a grant by the Ethereum Community Fund.
“The idea that we can build these structures in a decentralized way that allows for the democratization of power dynamics in economic systems,” said Hyman.
Finally, Dappnode, founded by blockchain developer Jordi Baylina, takes a different approach by allowing developers to set up a local network that is designed in such the way that it is easy to engage in dapp deployment.
“Someone sets it up the Dappnode and gives access to his family, his friends, a trusted circle of person-to-person connections that you have a trust bond. And then just with a couple clicks, as hard as it is to connect to Infura, you will connect to Dappnode,” leading developer Dapplion told CoinDesk.
On the horizon
Several of these projects – such as VIP node and Turbo Geth – also receive funding from Infura itself.
One of ethereum’s largest startups – the company behind Infura – Consensys is also funding a project, named Incubator, by which is trying to reduce Metamask dependance on Infura on its gateway to ethereum. Infura itself is also trying to diversify the number of cloud providers it relies on, so that it’s not purely reliant on Amazon, according to Wuehler.
“Our efforts are mainly about continually trying to push more and more decentralization into the way that our technology stack is delivered,” he told CoinDesk.
According to Wuehler, Infura’s popularity is due to a quirk inside the ethereum platform itself. And that’s because, by combining the functionality of bitcoin’s blockchain with a virtual machine that can execute decentralized applications, ethereum generates a wider range of data than simply transactions.
For example, as well as relying on a blockchain, ethereum stores what is known as the “state,” which is the sum of all computation on the platform. And as the quantity of ethereum users continue to grow, the size of the state keeps expanding as well.
The end result of this is that, as hardware gets increasingly more expensive and complex to operate – and due to ethereum’s underlying design – incentives aren’t in place to encourage people to do this.
“We didn’t create the problem, we are just a Band-Aid on the problem. We are just providing a solution that is needed,” Wuehler said.
Looking ahead, there’s work being done by ethereum researchers such as founder Vitalik Buterin to find a way to rewrite the underlying incentives so that full nodes can be rewarded for storing data, or what is commonly referred to as “rent.”
Such a change is now being considered for inclusion in a proposed upgrade named “ethereum 1x.” Currently targeted for 2019, in the interim, developers are focused on finding solutions that can be deployed immediately.
As Hyman from D-node told CoinDesk:
“Though we are working as a community on these long term goals we also have to be pragmatic and focus on the present. This is a problem that exists right now and has persisted in the space.”
Construct 2017 image courtesy to Steven Gregory