So called, “off-chain” scaling solutions are soon going to be deployed atop the Bitcoin Core and Ethereum blockchains. What does that mean for users, and what does it mean for the future of blockchains in general? What’s the advantage of a blockchain-based digital asset if people start moving these assets around the world… sans blockchain… as the term implies?
Questions like these will surely be asked more frequently as these off-chain scaling solutions move closer to deployment. Fortunately, the answers aren’t overly complicated. So, let’s get everyone up to speed… 😉
Off-chain scaling solutions, also called 2nd layer scaling solutions, have catchy names that illicit images of rapidity. Bitcoin Core has named its implementation the Lightning Network. Ethereum has named its implementation the Raiden Network. The underlying concepts are as similar as the names. Most importantly, they both seem to promise near-limitless capacity to scale their respective networks.
State Channels
How can they claim this? The basic concept is easy enough to readily understand, so let’s start with that. It all starts with the idea of a state channel – wherein two parties agree to keep an open line of communication with each other and make transactions between themselves (ie, without committing each individual transaction to the blockchain).
Some people like to think about this as a “bar tab” – but something like a secured credit card might make more intuitive sense. The basic idea is that individual transactions are being kept “off the books” – err, the blockchain – until the two parties can settle up later. This is the off-chain part, clearly; but it requires a little on-chain setup to keep everyone honest.
To open the state channel in the first place – ie to make the agreement to go off-chain – the parties need to know that they are not at risk of losing money in this arrangement. They need to verify that they will be “good for” the transactions between themselves. For this, they will use the blockchain.
The implementation-specific details of exactly how both parties are kept secure is for another article, but the main idea is that on-chain funds are reserved for use within the state channel. Both parties “put their money on the table”, so to speak, before anything can happen off-chain. An obvious results of this setup is that if one party suddenly needs those funds for something else, they’ll need to settle up first.
Settling-up is the same concept as closing the state channel. The parties settle any balances due between themselves and then broadcast only this settlement to the blockchain. No one monitoring the blockchain can see what was transacted inside the state channel setup. They can see that a state channel was opened for a time and that it was closed. They can also see the end result of all those state channel transactions, ie how much the settlement was for. Everything else, every individual transaction in between, remains private.
This clearly sounds good for privacy, but it is also good for speed. For any number of transactions inside a state channel, only two on-chain transactions are needed. Namely, the opening and closing of the channel. The rest of the time, block confirmation speeds are irrelevant – parties can transact as fast as they can reliably communicate.
Limitations of State Channels
This approach certainly has potential, but it’s not equally practical for all use-cases. Notice that to use a state channel for a transaction, it takes at least two on-chain transactions. One to get a state channel open and then another to get it settled again on the blockchain. If someone only wanted to send a one-time payment to a friend – that would normally only take a single transaction. Opening and closing a state channel would not speed anything up for this very common use-case.
Couple this with the fact that people might not want to have a significant portion of their wallet balance reserved for state channels, or that they aren’t even sure whom they’ll need to open state channel with next… and you’re starting to see a few of the limitations regarding state channels.
Luckily, hard-working devs already have a solution for problems like these.
State Channel Networks
These limitations of state channels can be solved simply enough, in theory – all that is required are more state channels. A network of state channels allows for parties without direct state channels between themselves, to make use of any state channels that could connect them. The privacy of the parties transacting would not be compromised by the “forwarders” in this network, because of some beautiful cryptography.
For this forwarding service, there will more than likely be a small fee charged by the forwarders. For many users, this would be worth it, because they would gain the ability to have fewer state channels open to take advantage of instant transactions. Not to mention, less of their funds would be reserved, as a result.
Centralization Concerns
The biggest concern many people have after beginning to understand these networks, is that they will trend towards centralization. Indeed, more well-connected counterparts may be more likely to be chosen for new state channels. They may also benefit from economies of scale. They will likely be able to offer lower fees. This is a legitimate concern.
Remember, even if the state channel network were to become interrupted, no funds would be at risk – but transactions could slow down. In the long run, technology will likely remedy even these risks of centralization. User choice alone may shift preferences away from the more vulnerable – ie more centralized – forwarders.
The Blockchain
To recap: “off-chain” transactions do not negate the need for on-chain transactions. The blockchain is here to stay. It provides the security that underpins these “off-chain” state channel networks.
Fast and flexible on-chain capacity is still not to be ignored. Scaling on-chain will always be desirable, because it can only result in even lower costs and even more rapid state channel establishments/settlements. Blockchain speed will always be beneficial for 2nd layer innovations.
Blockchain scaling isn’t becoming less important – in fact, quite the contrary. It’s becoming ever more critical to support all of the innovations that will depend on the blockchain itself.
Never stop learning. Participation is essential for the success of this revolution.
I’m passionate about blockchains. I’m excited about decentralization, autonomous organizations, cryptocurrencies, and uncensorable dApps.
I’m also overwhelmed – with questions about these cutting edge technologies. I want to understand the tech, the politics, and the implications of the blockchain revolution.
Most of all, I want to share what I discover – because broader understanding will lead to greater participation, more rapid adoption, and, subsequently, a better world.