What is a State Channel?



via offchain

Today we’re going to try something new: providing high-level information on a technical topic. Please let me know what you think and whether we should continue to do this once a week.

The scalability of different blockchains is a hot topic right now. I’ve asked Eric Olszewski to put together an overview of State Channels, a proposed scalability solution for Ethereum. The proposed functionality is a “layer two” solution.

What is the difference between layer one and layer two solutions?

Layer two solutions are those which sit on top of a protocol to improve it (Ex: adding a jet booster to a car) whereas layer one solutions are embedded within the protocol layer (Ex: improving a car’s existing engine). Layer two solutions are great because they can be taken and applied to any other blockchain (as long as they have a place to add a jet booster), while layer one solutions are specific to the blockchain itself and often require a lot more time to implement.

What is a state channel?

A state channel is something that allows work that would typically be done on the blockchain to be done elsewhere. This frees up the blockchain to handle additional work and increases overall throughput of the system.

Every time you interact with the blockchain, you are digitally signing and executing some transaction with your blockchain wallet. State channels allow you to create / sign these transactions and hand them off to someone else so that they can execute them. One example of this would be going to a bank and transferring money to someone versus signing a check and letting them transfer the money to themselves in your name.

What are the benefits of state channels?

As you’re probably aware, blockchains are pretty slow — for instance, the Ethereum blockchain is only able to handle about 15 transactions per second. This really hinders Ethereum’s ability to handle any serious traffic — in fact, in January, “CryptoKitties” — a single application, completely backed up the blockchain to a point where it would take days to get a single transaction processed.

With systems / applications that leverage state channels, we are be able to:

  • Address the user experience problem of having to wait on the blockchain to confirm everything a user does, ‘Instant Finality’.

  • Provide privacy to transactions — only you and the restaurant knew all the individual transactions between each other, the bank only knew the sum of the transactions.

  • Lower the cost of leveraging blockchain technology — every time you do a transaction involving the blockchain, you have to pay a fee. By migrating most of the transactions off of the blockchain, we lower that fee and make it less expensive to use.

Why haven’t I heard about layer two solutions?

You have certainly heard of these before! As stated previously, the Bitcoin Lightning Network is a collection of payment channels where individuals validate transactions between themselves without having to pay fees or wait on the entire network to check that their transactions were valid. If you’ve heard of Raiden, it is doing the same thing for tokens on Ethereum.

In terms of companies focusing on the more general approach (more than just payments), the main player would be Counterfactual (by L4). They do not yet have any publicly available implementations of their framework, but plan to be releasing something soon.

Hopefully this high-level overview of a more technical topic was interesting. You can read Eric’s full post by clicking here. Please let me know if you would like to see more of these.

  • Pomp