Ride-The-Lightning / RTL-Design

Ride The Lightning - A full function web browser app for LND and C-Lightning.
MIT License
12 stars 4 forks source link

Create an intuitive info-graphic for bumping channel open feature #62

Open saubyk opened 3 years ago

saubyk commented 3 years ago

If pending channel open transactions are stuck in mempool because of low fee rate set on the transactions, the channel can be in pending state for a long time. This pending channel open transaction can be accelerated by bumping up the fee of change output transaction, if there is a significant change output associated with the transaction. This is known as CPFP or Child Pays For Parent. The process to bump the fee requires investigating the transaction in a block explorer to make a determination of the size-able balance and the index of the change output. Once the user knows the detail then they can input the index and the appropriate fee rate to bump up the fee This process is elaborate and can be confusing, if all the steps are not followed in the right order. If we provide a visual 3-4 step guidance, it can help guides the users better.

The whole process should occur per the below steps:

  1. Go to the Pending tab of the channels page and opens the Pending Open section and selects the Bump Fee action.
  2. Copy the transaction ID from the Channel point on the modal and search for the transaction on a block explorer, to examine the change output.
  3. Determine the change output balance and the index of the transaction. Usually if the channel point index is 1, change out is 0 and vice-versa. If there is no change output or the value is dust level, the transaction cannot be bumped up.
  4. Enter the index value of the change output in the modal and the desired fee rate. Click on the Bump Fee button to attempt fee bump.
  5. Examine the transaction again in the block explorer to ensure that change output is showing as spent and a new transaction is generated for the change output.
swedishfrenchpress commented 3 years ago

@saubyk at which stage does the user see this message? When they click on the bump fee action? image

saubyk commented 3 years ago

@saubyk at which stage does the user see this message? When they click on the bump fee action? image

Yes. When the use clicks on bump fee, this modal pops up, for instructions and input.

swedishfrenchpress commented 3 years ago

Hey @saubyk

Attaching a user journey I worked on to better my understanding of this process. Also attaching a lo-fi wireframe of what a potential user flow / carousel journey might look like.

Bump Channel Fee Journey Map Ex Wireframe

BTC-LumpenProletariat commented 3 years ago

This was most helpful ... guessed index was "1" .. didn't work .... reguessed "0"it worked though I never saw on the blockchain explorer what the index was ....(I'm an absolute newb) But thanks.

saubyk commented 3 years ago

@BTC-LumpenProletariat since this is an advanced function, we want the users to understand exactly what they are doing. Inability to grasp the basics can result in expensive mistakes.

saubyk commented 3 years ago

@swedishfrenchpress This completely fell of my radar. I will take a look at the journey map and come up with some more ideas around this. CPFP is going to be an important function in a busy mempool environment and investing time in making it clear to the users is a worthy exercise IMO.

I think we should look at two aspects in designing the UX here:

  1. Educating the user on how to get the required information (even though it can be simple for us to automate)
  2. Build in validation checks to warn, if the user is making operational error of putting in too high a fee rate
BTC-LumpenProletariat commented 3 years ago

Just a minor pic of what the "index" was would be helpful. Got the job done and the channel went thru at 1sat anyway.

atkatl1 commented 2 years ago

So if I hear you correctly, I would simply enter either a 1 or 0 in the "index for change output" section? Or am i missing something?

saubyk commented 2 years ago

@atkatl1 You are correct, it's just a matter of entering 1 or 0. Now I am thinking we may have overcomplicated this way too much. 😅 But the objective was to make sure that the user is taking an informed action, rather than just shooting in the dark.

konigra commented 1 year ago

Hello, I am right now trying to figure it out and thank god I found your thread here. I am STILL uncertain. Does it have to be 0 or 1? I used the blockstream blockexplorer and I am presented with two outputs. My questions: What does "sizable" mean? Bigger than Dust? What exactly is the output? The amount I send to open a channel? Or what is left of it? (so, the bigger, or the smaller one? )

P.S.: I tried 1. Because "change output" sounds to me like "the smaller one". Was wrong. Entered 0 instead. It worked.

ShahanaFarooqui commented 1 year ago

@konigra

What does "sizable" mean? Bigger than Dust?

Yes, it should not be too small to spend.

What exactly is the output? The amount I send to open a channel? Or what is left of it? (so, the bigger, or the smaller one? )

The change output is the amount you are getting back from channel open transaction. For example, if you used your existing UTXO of 500,000 Sats to open a 100,000 Sats channel; 400,000 Sats will be your change output. It can be bigger or smaller depending upon your UTXO & channel size.