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`