State Channels: Real World Use & Applications


How does the state channels can be used in real world application? The more examples the better.


Hi Jay,

State channels can have a lot of interesting use cases. First one coming to my mind is any form of recurring payments. State channel between end user and service provider can be opened, and user can reserve certain amount of tokens into channel where service provider can occasionally pull some fraction of it. As a matter of fact, user can refill tokens to state channel again and again which is quite cool and in a way it represents prepaid payment type. Since everything is happening offchain, you can have as many transactions as you want, with basically 0 costs. You will have to sync with mainchain here and there but you get the idea.


I could add some examples:

  • All types of payments for services per time:
    • Let’s say you are working for some an organization and being paid for the amount of time you’re working. You can be paid for your work done instantly per minute. This is radically different than the traditional approach where you have to wait for a month to get a sallary. The situation is actually similar with all services we consider to be on a monthly basis - rent, bills and etc.
    • Streaming on demand services where users are pre-paying for a couple of seconds of video/music in advance. If you don’t pay - the stream is stopped. You can stop it anytime you see fit and you’re paying only for the amount you’ve consumed. So you can actually preview a song/audio book/movie or etc.
    • Renting items like cars or bikes and paying for the minute
  • Soft real time systems:
    • Games - you can play chess for example and bet money on it
    • IoT - this is probably a little bit early for but there are tons of smart devices that currently can order items online. They can have opened channels with service providers and to be paying for various services. I could imagine my home router having an opened channel with my ISP so I get charged for the amount of network I am actually using in soft real time

What binds all of those is that all these services will be provided in a trustless manner on a blockchain.


Does service provider need to open a dedicated channel for a single user ? Or the service provider only need one channel to serve all the users?


The state channels are between two parties, so yes - a service provider has to open a channel for every new user.


A and B have a state channel, and B and C have a channel.

A can send money to C directly without open a new channel?

We can establish a decentralized PayPal. A super node, the PayPal, can open a channel with everyone, and then all users are connected.


I think this functionality is fantastic, but state channel doesn’t work this way. A and B have state channel identifier is different from B and C. So B cannot act as a bridge


We are doing this but it will happen some time post main net. We probably will take an approach similar to the virtual channels used by Perun but this is yet to be discussed.
Our main focus is polishing for the main net :slight_smile: