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

araspitzu
Copy link
Contributor

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

@pm47
Copy link
Collaborator

pm47 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 :-).

@sstone sstone added the Meeting Discussion Raise at next meeting label Apr 1, 2019
@@ -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.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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`.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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`.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

or option_wumborama?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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
Copy link
Collaborator

niftynei commented Apr 1, 2019

There's some overlap with this and #571

@araspitzu
Copy link
Contributor Author

Closing as this is replaced by #596

@araspitzu araspitzu closed this Apr 3, 2019
@niftynei niftynei removed the Meeting Discussion Raise at next meeting label Jul 22, 2019
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

Successfully merging this pull request may close these issues.

None yet

4 participants