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

interactive tx construction, applied to v2 openchannel #1

Open
wants to merge 16 commits into
base: master
Choose a base branch
from

Commits on Jun 26, 2020

  1. Fixes to existing spec

    joostjager committed Jun 26, 2020
    Configuration menu
    Copy the full SHA
    bfc66e5 View commit details
    Browse the repository at this point in the history

Commits on Aug 19, 2020

  1. Anchor outputs

    This commit extends the specification with a new commitment format that
    adds two anchor outputs to the commitment transaction. Anchor outputs
    are a safety feature that allows a channel party to unilaterally increase
    the fee of the commitment transaction using CPFP and ensure timely
    confirmation on the chain. There is no cooperation required from the
    remote party.
    joostjager committed Aug 19, 2020
    Configuration menu
    Copy the full SHA
    1739746 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c053ce7 View commit details
    Browse the repository at this point in the history

Commits on Aug 20, 2020

  1. More conservative cltv_expiry_delta recommendations

    Many channels use a value below 6, which is really insecure (there are
    more than 2k such channels on mainnet).
    
    While less risky, there are more than 7k channels with a value below 12.
    
    This indicates that the spec should probably make the risks a bit more
    clear to help guide node operators.
    t-bast authored and rustyrussell committed Aug 20, 2020
    Configuration menu
    Copy the full SHA
    886bf7a View commit details
    Browse the repository at this point in the history
  2. Update Bolt 11 default recommendation

    t-bast authored and rustyrussell committed Aug 20, 2020
    Configuration menu
    Copy the full SHA
    c5693d3 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    b4132ff View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    7e8c478 View commit details
    Browse the repository at this point in the history

Commits on Sep 1, 2020

  1. interactive-tx: Add dual-funding flow, using the interactive tx protocol

    This commit adds the interactive transaction construction protcol, as
    well as the first practical example of using it, v2 of channel
    establishment.
    
    Note that for v2 we also update the channel_id, which now uses the hash
    of the revocation_basepoints. We move away from using the funding
    transaction id, as the introduction of RBF* makes it such that a single
    channel may have many funding transaction id's over the course of
    its lifetime.
    
    *Later, also splicing
    niftynei committed Sep 1, 2020
    Configuration menu
    Copy the full SHA
    001ac6d View commit details
    Browse the repository at this point in the history
  2. dual-funding: Adds PoDLE TLV and fields + explanation

    We use a modified version of the PoDLE implemented and used by
    JoinMarket for lightning opens (and optionally any other collaborative
    transaction construction protocol).
    
    The original PoDLE implementation and implementation notes are available
    at https://github.com/JoinMarket-Org/joinmarket-clientserver/blob/4bf1f50d4e4226b00fd5a8bd39673faceac9da51/jmclient/jmclient/podle.py#L92-L118
    
    The NUMS J point original implementation can be found at https://github.com/JoinMarket-Org/joinmarket-clientserver/blob/4bf1f50d4e4226b00fd5a8bd39673faceac9da51/jmclient/jmclient/podle.py#L203-L235
    niftynei committed Sep 1, 2020
    Configuration menu
    Copy the full SHA
    07d69b0 View commit details
    Browse the repository at this point in the history
  3. podle: Add blacklist_podle message definition

    In order to effectively deter bad behavior, we gossip bad behavior
    P2 commitments via a blacklist_podle message
    niftynei committed Sep 1, 2020
    Configuration menu
    Copy the full SHA
    fd304eb View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    3b96e7f View commit details
    Browse the repository at this point in the history
  5. tx_add_input: add a sequence field

    Suggested-By: Nadav Kohen @nkohen
    niftynei committed Sep 1, 2020
    Configuration menu
    Copy the full SHA
    78de9a7 View commit details
    Browse the repository at this point in the history

Commits on Oct 19, 2020

  1. Configuration menu
    Copy the full SHA
    892b1ed View commit details
    Browse the repository at this point in the history

Commits on Oct 22, 2020

  1. Configuration menu
    Copy the full SHA
    e051308 View commit details
    Browse the repository at this point in the history

Commits on Oct 23, 2020

  1. Configuration menu
    Copy the full SHA
    5fcbda5 View commit details
    Browse the repository at this point in the history

Commits on Oct 27, 2020

  1. df: set max number of messages for each of the tx collabs

    To prevent infinite loops, we set the max additions/subtractions to
    2^12 (4,096).
    
    If each side sends the maximum allowed messages, this is a total of
    32,768 messages (2^12 * 4 * 2). (The end result of this exchange would
    necessarily be an empty tx, as the number of adds would equal the number
    of removals).
    
    In practice, this bounds the total inputs/outputs to 2*13 (8,192) each.
    niftynei committed Oct 27, 2020
    Configuration menu
    Copy the full SHA
    544bda7 View commit details
    Browse the repository at this point in the history