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

Open
Kixunil opened this issue Feb 2, 2019 · 8 comments
Open

Allow payments from unconfirmed push_amount #565

Kixunil opened this issue Feb 2, 2019 · 8 comments

Comments

@Kixunil
Copy link

@Kixunil 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

@btcontract
Copy link

@btcontract btcontract commented Feb 5, 2019

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 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 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 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.

@btcontract
Copy link

@btcontract btcontract commented Feb 10, 2019

@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 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.

@btcontract
Copy link

@btcontract btcontract commented Feb 11, 2019

@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 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?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
3 participants