Raiden: Making Ethereum Scalability Truly Viable
Ethereum was a game-changer because it showed the world that blockchain technology is capable of far more than just sending digital money. But if ethereum is ever going to achieve Vitalik Buterin’s dream of becoming a “world computer”, it needs to be able to handle a whole world’s worth of transactions each second. As the Crypto Kitties fiasco of 2017 showed however, we’re not quite there yet. For ethereum to reach its full potential, the scalability problem must be solved. There are a number of solutions in the works, one of the most important being Raiden, something that could offer an unprecedented increase in ethereum network transaction volume without leading to any risk of hardware constraints leading to centralization.
How Does Raiden Work?
Ethereum currently uses a Proof of Work (PoW) consensus algorithm, and the main problem so far has been that the network simply cannot handle the level of transactions necessary to compete with centrally controlled legacy systems. If every node on a decentralized network needs to validate every transaction, then you can see why scalability remains a big challenge: the ethereum blockchain can currently process only 15 transactions per second (by contract, VISA can process 45,000 transactions per second). According to the Raiden Network’s own website, if blockchain tech in general is ever going to be a credible alternative, it must be capable of handling 100,000 transactions or more per second.
So how do you get around this problem? Well, you can either increase block size, or find some way to remove the congestion on the existing main blockchain. Many developers strongly disagree over which is the proper approach to solving scalability on any blockchain.
If this is starting to sound familiar, that’s because this is exactly what happened last year when the Bitcoin network hard forked and led to the creation of Bitcoin Cash (BCH). Bitcoin Cash opted for larger block sizes, while BTC embraced a new method that moved a significant amount of transaction volume off the main blockchain, a solution known as the Lightning Network.
Raiden is essentially Ethereum’s version of the Lightning Network. Rather than processing the transactions on the main blockchain, Raiden uses state channel technology to move transactions off-chain and open a separate payment channel. This allows the users at either end of that channel to send and receive tokens while relieving the burden on the whole network. By doing this, Raiden removes the consensus bottleneck that slows transaction volume to a crawl, and enormously increases the amount of traffic the ethereum network can handle.
So how to does this work exactly? Let’s say Tara wants to send Kyle some ERC-20 tokens. With Raiden, Tara can deposit tokens into an off-chain payment channel that directly connects the two of them, and holds the deposit in escrow. It is here in this separate parallel channel that a smart contract is created, in which both parties exchange private messages which digitally sign a transfer of value from Tara to Kyle. The tokens can then be withdrawn by Kyle via the smart contract which validates the signatures and settles the payment. Raiden payment channels can be unidirectional or bidirectional, allowing both users to send tokens back and forth.
So does this mean that new off-chain payment channels must be created every time two parties wish to transact? Well, you can do that, but there’s also a way around it that doesn’t require you to make a new deposit for each new person you wish to transact with. This is where the “lightening” aspect of Raiden comes in.
Remember the Sorceress character from Diablo II? One of the spells the Sorceress could perform was called “chain lightning” which fired bolts of electricity that not only shocked one enemy, but the bolt actually hopped from one enemy to another in the immediate vicinity, shocking them all. This is actually a very good visual metaphor for understanding how both the Lightening and Raiden networks facilitate payments between users who don’t have direct payment channels open between them.
With Raiden, off-chain payment channel networks link millions of individual direct payment channels together, and payments are routed through those linked channels. So if Tara wants to send Amy tokens, but doesn’t have channel open with her, it doesn’t matter. Tara sends the tokens and they are routed through other channels until finding their way to Amy. These “Multi-Hop Transfers” are fast and not visible on the main blockchain. Just as with the example above, there is no need for global consensus on these transactions because they are happening off-chain.
The more users, the more payment channels are created, and in this way, the system actually scales with the number of participants; the more people use the Raiden Network, the stronger it becomes. The main ethereum blockchain is only used to settle batches of transactions which accumulate off-chain.
Does this all sound ridiculously complicated? There’s no need to worry. This all happens on the backend; you don’t have to do it manually. Raiden allows for cheap and near-instant transfers of any ERC-20 token, with no fixed limit on transactions per second.
The Raiden Network is still in development, but an early incarnation of this scaling solution called µRaiden (Micro Raiden) is now fully operational on the ethereum mainnet. µRaiden is designed for micropayment applications such as pay-per-use advertising (getting paid in return for choosing to view an ad), tiny transactions between IoT devices, and more. There is also RDN, an ERC20 token which functions as a native token for the Raiden Network. There are very small fees for conducting transactions on the network, and RDN can be used to pay for those fees. RDN is available on Faast, so if you want to add some to your portfolio and be ready for when the Raiden Network is completed, it’s very easy to do so.
So does this mean Ethereum’s scalability problem has been solved?
Raiden is part of larger multifaceted approach to solving the the scalability problem with ethereum, one that also includes solutions like scaling, plasma and the upcoming release of Casper. If successful, then ethereum most likely has a bright future ahead of it. However, this past year has provided ample time for rival blockchains to position themselves as alternatives which are better suited to massive transaction volumes. Raiden must prove it can compete, but based on what we’ve seen so far, it looks like it may be up to the task.
It is likely that in the future no one single network will dominate; users will have multiple blockchain platforms to choose from, and everyone will be able to pick the platform that best matches their goals. Raiden will help ethereum make sure it can remain one of them.
And of course, when the Raiden Network is fully up and running, it will be fully supported by Faast.