Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow payments from unconfirmed push_amount #565

Closed
Kixunil opened this issue Feb 2, 2019 · 9 comments
Closed

Allow payments from unconfirmed push_amount #565

Kixunil opened this issue Feb 2, 2019 · 9 comments

Comments

@Kixunil
Copy link

Kixunil commented Feb 2, 2019

When push amount is used, waiting for confirmation is not necessary to spend it, since in the worst case, the transaction doesn't confirm and becomes fully "spent from" anyway.

This should be part of specification, to achieve better interoperability.

Related issue: https://github.com/btcontract/lnwallet/issues/125

@akumaigorodski
Copy link

I've implemented a prototype in testnet version of BLW, next I'll implement this in a fork of Eclair, here's how it works thus far:

  1. Defined a turbo feature bit in OpenChannel.channelFlags as (channelFlags & 0x04) != 0 (since 0x02 and 0x03 are for wumbo and simplified commitment?).
  2. On funder/fundee sides: if turbo is defined, then both peers exchange FundingLocked and enter operational channel state as soon as they broadcast a funding (funder) / see funding in a mempool (fundee).

Feature bit naming as well as general suggestions/criticism are very welcome!

@Kixunil
Copy link
Author

Kixunil commented Feb 10, 2019

Nice, I'm going to try it out!

Regarding naming, I think turbo is cute, but I prefer more meaningful names for things. I'd suggest zeroconf_spendable_push

@molxyz
Copy link

molxyz commented Feb 10, 2019

Dangerous proposal! If you want zero conf, use bcash!!!!! This would be a bad precedent if introduced to LN; however, nobody would stop you from wanting to be robbed though, can't you implement it only for your own biz? 👅

NACK!

@Kixunil
Copy link
Author

Kixunil commented Feb 10, 2019

Please read the whole proposal again first. This specific case is safe.

Here's a detailed blog post about it: https://medium.com/@akumaigorodski/instant-channels-enable-safe-lightning-payments-with-unconfirmed-funding-8d640defa183

Writing such claims and thumbsdowning everything only trashes your reputation.

@akumaigorodski
Copy link

@molxyz your critique would only be valid if you never ever used an exchange or purchased bitcoin with fiat, otherwise it's misguided.

@Kixunil
Copy link
Author

Kixunil commented Feb 10, 2019

@btcontract heh, not even that. He'd have to never get bitcoin trusting other party - no work for bitcoins, no donations. Only mining would be a valid argument.

@akumaigorodski
Copy link

@Kixunil

Regarding naming, I think turbo is cute, but I prefer more meaningful names for things. I'd suggest zeroconf_spendable_push

Makes sense as this is indeed very specific, I've renamed it in both BLW and Eclair fork.

@Kixunil
Copy link
Author

Kixunil commented Jun 25, 2019

What we can do to get this moving? Reference implementation is there, the bit is defined. (Although, @btcontract, here you say it's 0x04, but in the code I see 0x08, could you clarify please?)

What more is needed?

@t-bast
Copy link
Collaborator

t-bast commented Sep 18, 2024

We're actually moving away from having push_amount in the BOLTs (the dual funding channels don't include a push_amount field) because they're actually payments without a proof-of-payment. We're moving this to bLIPs that should define mechanisms for using push_amount (and thus authorize using this push_amount before funding is locked).

@t-bast t-bast closed this as completed Sep 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants