On Scaling Solutions
2021-06-25
OVR has been analyzing and testing scaling solutions since its inception in late 2018. Choosing the proper infrastructure to scale OVR is critical for the project’s success, especially considering our long-term vision: becoming the reference platform for the Decentralized Spatial Web. To achieve this goal, an infrastructure with low fees is not enough, and we need to develop the project on a Credibly Neutral, Censorship Resistant and Adopted Blockchain.
But why is scaling so important, you may ask? What will be the advantages of OVR? Scaling will be a game-changer and will finally abandon Merkle Proof based ownership of OVRLands, minting all those as NFTs. That will not only increase decentralization but will probably also bring us in top ranking as an NFT creator platform. Renting OVRLands with smart contracts and all the other micropayments inside the platform will not be clogged anymore by prohibitive fees. In general, friction will be reduced for onboarding new and current users.
In the six months since our launch, we created a very active and engaged community, and often we receive very appreciated suggestions and requests on what scaling solutions to adopt. This blog aims to clarify the OVR vision on the landscape of available solutions and the path we are embracing.
We will start with other blockchains than Ethereum that we’ve been considering so far:
Cardano: We received many recommendations from our community about moving to Cardano. We believe it is a fantastic project with the correct values and a great team behind it, but we need to consider the development stage of that platform. Cardano does not have smart contracts yet. The academic and peer-reviewed approach to development is excellent but very slow, and it isn’t easy to estimate when the full-fledged platform will be released. There are very few developers out there capable of using the chosen smart contract language.
Polkadot: Also, in this case, fantastic team and project, like Cardano; the founder is part of the former core team behind Ethereum. Moreover, there is the Solidity compatibility that is definitely a plus, but also, in this case, the platform is not live.
EOS: We’ve been seriously considering launching OVR directly on EOS; back in 2018, the platform looked very promising with a vibrant community and many projects building on such a blockchain. The choice of using C++ for smart contracts is a perfect solution opening to a massive community of devs, high throughput of the blockchain, and a fascinating share resource-based “fee” structure. Unfortunately, severe centralization issues emerged with few exchanges controlling the block producers’ landscape by voting each other with user’s funds; Block One has not solved the problem, and currently is very difficult to consider such a blockchain “credibly neutral.”
Solana: It’s probably one of the most attractive live projects in the current blockchain ecosystem, proposing high scalability and brilliant choice with Rust as the Smart contract programming language. It is not yet evident the level of decentralization that the platform can achieve since running Solana nodes requires a lot of computing power and bandwidth. If you’re curious about how this can impact decentralization, I highly recommend this post from Vitalik in response to Elon Musk’s tweets. Having said that, we’re not decentralization maximalists; decentralization is just a means to reach censorship resistance and credible neutrality. It is not clear what’s the decentralization threshold to achieve those.
Binance Smart Chain: During the gas fees madness of the last months, BSC also, thanks to Binance Exchange, captive users had tremendous traction, and full EVM compatibility is a big plus, yet the current state of BSC is very centralized.
Considering all of the above, our choice terms of the base layer remain Ethereum that today is the de facto standard smart contracts platform. Ethereum is by far the most adopted and more credibly neutral smart contract platform in the blockchain space, so we’re still fully convinced that it’s the proper infrastructure to build our ecosystem. Making a venture as OVR is a hazardous endeavor in itself; we believe that adding more risk by betting on the success of blockchains that, for the moment, are at the proof of concept stage has to be avoided.
But what about fees? At the time of writing, fees are very low, but we all remember how those can become prohibitive, so what scaling solution should we choose with Ethereum as a base layer? There are two possible solutions to the problem, Side-chains and Rollups. Side-chains are cheaper but compromise on decentralization; Rollups offer scalability without such a compromise. However, they are based on more complex technology, offer a smaller degree of scalability (still in orders of magnitude), and few implementations are currently live.
Side-chains we considered so far
Loom Network: Back in 2019, we started experimenting with the Loom network; we ran nodes and tested the tech. It worked amazingly and had the advantage of an EOS-like “fee structure” where the final user had 0 costs to interact with the side-chain. Unfortunately, Loom Network did not get enough traction in the Ethereum ecosystem, and the development direction had unclear changes in direction.
xDai: Another fascinating scaling solution, cheap transaction fees, and xDai stable coin as gas, it had been gaining remarkable traction in 2020, but lately, not many projects are building on top of it
Polygon: That is not strictly a side-chain, but a Commit Chain, very respected in the Ethereum ecosystem super cheap fees and remarkable traction, high liquidity and volume, DEX and countless apps are building on such a layer. Definitely our preferred choice in the side-chains category.
Side-chains are excellent solutions in terms of scalability but take an essential tradeoff in terms of decentralization and security; scalability is obtained by having a limited amount of nodes controlled by a small group of validators. As mentioned before, that is not necessarily a deal-breaker, decentralization is just a means to obtain censorship resistance, and there are different degrees of decentralization needed for other use cases. One thing is to trade billions of dollars worth in cryptocurrency; another thing is to play an online game.
Let’s dig into Rollups; there are two types of rollups, Optimistic Rollups and Zero-Knowledge (ZK) Rollups. Both solutions offer orders of magnitude in scalability for the Ethereum base layer but take different tradeoffs. Optimistic Rollups are less complex and already offer full EVM compatibility, it is possible to port solidity code on Optimistic Rollups with barely any change, yet there’s a catch, their security model is based on “fraud-proof windows,” moving assets out of an Optimistic Rollups requires a challenge period of 7 days and needless to say that is not optimal in terms of user experience. That might not be a problem for two reasons: users will probably stay inside the rollup without ever going out of it; there are projects like Connext building toll-based fast bridges with other rollups base-chains and side-chains. ZK rollups have the clear advantage of not having those challenge periods; ZK proofs are committed to Ethereum, allowing for immediate withdrawal. You can already test this by interacting with ZK Rollup DEXs such as Loopring. But also ZK Rollups have their disadvantages; math behind ZK Proofs is very complex, and at the day of writing, there is no ZK Rollup that has full EVM compatibility, this means that it’s not possible to directly port Solidity code to a ZK Rollup, a specific circuit need to be coded for any smart contract function.
For a more technical description of how Rollups works, please refer to this article.
On the Optimistic Rollups side, two main projects are competing in the space, Optimism, and Arbitrium. The latter is at a more advanced development stage and should be live in a matter of weeks. Important infrastructural projects like Uniswap and Chainlink have already declared that they will support it. Optimism is currently lagging in terms of development. Regarding ZK Rollups, there is a solution that could be a good fit for OVR, that is ImmutableX an L2 focused on NFTs; we’re still considering such a solution since, as mentioned, currently it’s not possible to directly port solidity on a ZK rollup so besides the minting of NFTs there could be limitations in other smart contract developments.
So what? It’s all quite confusing, right? The blockchain industry is branching and blossoming at such a fast pace that making the right choice can be an overwhelming task; that’s why at OVR, we approach the problem starting from main principles: the infrastructure we’ll build on not only have to be scalable and credibly neutral but also adopted. There is no perfect solution, but currently, our best candidates for scaling are Optimistic Rollups, Polygon, and ImmutableX; with Arbitrium a few weeks away from release. We will take the time to see how it develops, what will be the user experience and the impact on the adoption of the other two solutions before going all in. We can’t wait to unleash the power of scaling solutions!