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

BOLT 9: add features wumbo and wumborama #590

Closed
wants to merge 3 commits into from

Conversation

Projects
None yet
4 participants
@araspitzu
Copy link
Contributor

commented Mar 27, 2019

This proposal formalizes the discussion happened on the mailing list about lifting the channel size limit. Two features are defined here:

  • option_i_wumbo_you_wumbo means I'm willing to accept channel larger than 2^24 (local feature)
  • option_wumborama means I offer and I'm willing to accept option_i_wumbo_you_wumbo from anyone (global feature)

Peers MUST set option_i_wumbo_you_wumbo in the local features of the init message if they set the option_wumborama in the global features, the proposal reuses the bits defined in #571

@araspitzu araspitzu referenced this pull request Mar 27, 2019

Open

Implement wumbo #921

@pm47

This comment has been minimized.

Copy link
Collaborator

commented Mar 27, 2019

How about renaming:

  • option_i_wumbo_you_wumbo -> option_accept_large_channels
  • option_wumborama -> option_accept_large_channels_globally

It is a bit less fun but also more self explaining. We can still keep the wumbo nickname :-).

@@ -165,14 +165,18 @@ The `shutdown_scriptpubkey` allows the sending node to commit to where
funds will go on mutual close, which the remote node should enforce
even if a node is compromised later.

[ FIXME: Describe dangerous feature bit for larger channel amounts. ]
The `option_i_wumbo_you_wumbo` allows peers to signal that they will accept
`funding_satoshis` greater than 2^24.

This comment has been minimized.

Copy link
@niftynei

niftynei Apr 1, 2019

Contributor

also mention option_wumborama here?

@@ -108,6 +108,7 @@ The sending node:
- MUST set feature bits as defined in [BOLT #9](09-features.md).
- MUST set any undefined feature bits to 0.
- SHOULD use the minimum lengths required to represent the feature fields.
- MUST set local feature `option_i_wumbo_you_wumbo` if `option_wumborama` is set in global features.

This comment has been minimized.

Copy link
@niftynei

niftynei Apr 1, 2019

Contributor

this seems like an odd place to add this requirement. this restriction applies to the wumbo bit featureset, not to the global/localfeatures requirements. i'd move this to the Requirements section in features.


#### Requirements

The sending node:
- MUST ensure the `chain_hash` value identifies the chain it wishes to open the channel within.
- MUST ensure `temporary_channel_id` is unique from any other channel ID with the same peer.
- MUST set `funding_satoshis` to less than 2^24 satoshi.
- if both nodes advertised `option_i_wumbo_you_wumbo`:
- MAY set `funding_satoshis` greater than 2^24 satoshi.

This comment has been minimized.

Copy link
@niftynei

niftynei Apr 1, 2019

Contributor
Suggested change
- MAY set `funding_satoshis` greater than 2^24 satoshi.
- MAY set `funding_satoshis` greater than or equal to 2^24 satoshi.
@@ -216,15 +220,15 @@ are not valid DER-encoded compressed secp256k1 pubkeys.
- `dust_limit_satoshis` is greater than `channel_reserve_satoshis`.
- the funder's amount for the initial commitment transaction is not sufficient for full [fee payment](03-transactions.md#fee-payment).
- both `to_local` and `to_remote` amounts for the initial commitment transaction are less than or equal to `channel_reserve_satoshis` (see [BOLT 3](03-transactions.md#commitment-transaction-outputs)).
- `funding_satoshis` is greater than 2^24 and the receiver does not support `option_i_wumbo_you_wumbo`.

This comment has been minimized.

Copy link
@niftynei

niftynei Apr 1, 2019

Contributor
Suggested change
- `funding_satoshis` is greater than 2^24 and the receiver does not support `option_i_wumbo_you_wumbo`.
- `funding_satoshis` is greater than or equal to 2^24 and the receiver does not support `option_i_wumbo_you_wumbo`.
It can be lifted at any point in time, or adjusted for other currencies, since it is solely enforced by the endpoints of a channel.
Specifically, [the routing gossip protocol](07-routing-gossip.md) does not discard channels that have a larger capacity.
The requirement for `funding_satoshis` to be less than 2^24 satoshi was a temporary self-imposed limit while implementations were not yet considered stable.
, it can be lifted by advertising `option_i_wumbo_you_wumbo`.

This comment has been minimized.

Copy link
@niftynei

niftynei Apr 1, 2019

Contributor

or option_wumborama?

This comment has been minimized.

Copy link
@araspitzu

araspitzu Apr 2, 2019

Author Contributor

Technically option_wumborama would have been used to advertise that you will support option_i_wumbo_you_wumbo, anyway I'm going to change this PR to use a single option (since there was some agreement at the last meeting)

@niftynei

This comment has been minimized.

Copy link
Contributor

commented Apr 1, 2019

There's some overlap with this and #571

@araspitzu

This comment has been minimized.

Copy link
Contributor Author

commented Apr 3, 2019

Closing as this is replaced by #596

@araspitzu araspitzu closed this Apr 3, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.