Skip to content

Latest commit

 

History

History
48 lines (26 loc) · 1.78 KB

p2p.asciidoc

File metadata and controls

48 lines (26 loc) · 1.78 KB

Chapter overview:

  • high level description of p2p interaction for the LN

Relevant questions to answer:

  • Encrypted P2P Transport:

    • What is the noise protocol? How does it differ from TLS? Who created it

    • and what are some of primary design principles?

    • What is an authenticated key exchange?

    • Why does Noise offer various handshakes? What are some of unique properties certain handshakes offer?

    • What is key rotation in the context of a complete handshake? Why is it important?

    • What is "brontide"? How is it used in LN today? How can it be upgraded in the future?

  • LN Message Format:

    • What kind of framing is used in the LN message format? What’s the max message size and why is it in place?

    • What is a varint? Why is it used in the protocol?

    • What are the message types of some of the popular messages in the protocol?

    • How can new messages be added in the future?

  • Feature bits:

    • What are feature bits in the network, and how+where are they advertised?

    • How can feature bits be used to phase in new features to the protocol?

    • Today, what are some of the major feature bits used in the system?

    • What’s the difference between and end-to-end network upgrade and an internal network upgrade? How’s the analogous to the evolution of routers and protocols in the existing internet?

  • TLV Message Extensions:

    • What does TLV stand for?

    • How is this related to the existing protobuf message format?

    • Where are TLV fields used in the protocol today?

    • How can TLV fields be used to extend the protocol, existing messages, and the onion itself?

    • Sidenote that TLV can be used by upcoming Instant Messaging chat apps like Whatsat, Sphinx Chat or Juggernaut