Any plan to implement state channel feature in base wallet?

Hi, is there any plan to implement state channel in base wallet? This will be a huge advantage when instant transaction is enabled between users/business.

1 Like

Indeed it will be and it would result in a much smoother experience for users. I had been writing proposals for what I imagine this would look like. You can read it here. Recently I’ve put together what such app would require from a purely techical point of view, you can read it here. As you’ve already noticed, it is a lot of work and there is some progress being made in that direction already. I am not sure if I can share more information, so stay tuned :smiley:

3 Likes

Good to hear that. Also you wrote in your first link:

Then we get another prompt when our state channel opening transaction has enough confirmations so we can start doing off-chain interactions in a safe manner.

If we had to wait for enough confirmation as happen now (not using state channel), then it’s not really instantaneous. Please correct me if I’m wrong.

Thank you

There are 2 types of State Channel transactions:

  1. on-chain ones - those are all transactions that are intended to land on-chain and to modify the channel object that is persisted on-chain. Examples for those will be:
  • channel_create transaction that locks coins from participants and creates the channel object on-chain
  • channel_deposit and channel_witdrawal transactions that lock more/unlock some tokens from the channel object
    Those are transactions that are expected to happen every once in a while. In order for a participant to be safe from the on-chain transaction being in a micro fork, one should wait for a few confirmations as one would with any other on-chain transaction type. Note that it is up to participants the number of confirmations to wait. The first confirmation can be expected in a matter of seconds but every next (key block) confirmation would take ~3 minutes. On-chain transactions are not instant.
  1. off-chain ones - those are transactions that are exchanged between participants. They don’t land on-chain, they don’t change the on-chain channel object but rather change the channel’s off-chain state. Off-chain transactions don’t need to be mined by miners but co-authenticated by both parties instead. In that sense - their speed is limited only by:
  • internet speed between participants
  • CPU intensiveness of the updates - updates are executed by both participants in order to achieve trustlessness
  • time needed for authenticating the off-chain update - although not a technical problem, I put this here for completeness

In that sense - off-chain transactions’ speed and throughput is limited only by internet connection and CPU power :slight_smile: This can easily lead to a soft-real time systems built upon State Channels based on off-chain updates.

A side note would be that with introduction of Virtual State Channels (where you open a channel within a channel) the confirmations expectation for opening/witdrawal/deposit/close of Virtual State Channels will be dropped and they will be as fast as any off-chain transaction.

I hope this answers your question regarding speeds of transactions.

3 Likes

thanks for the thorough reply. I appreciate it.

Thanks

1 Like

talking of VSC,it’s exciting!when will the VSC be finished?

VSC consists of a couple of problems, that depend on each other:

  • on-chain protocol
  • FSM implementation
  • network resolution

At the moment we are aiming having the on-chain protocol for VSC for Lima hard fork

1 Like