2020-05-06 03:25:05 +00:00
Chapter overview:
2020-08-28 17:32:16 +00:00
2020-05-06 03:25:05 +00:00
* high level description of p2p interaction for the LN
Relevant questions to answer:
2020-08-28 17:32:16 +00:00
2020-05-06 03:25:05 +00:00
* Encrypted P2P Transport:
2020-08-28 17:32:16 +00:00
- What is the noise protocol? How does it differ from TLS? Who created it
2020-05-06 04:06:33 +00:00
2020-08-28 17:32:16 +00:00
- and what are some of primary design principles?
2020-05-06 04:06:33 +00:00
2020-08-28 17:32:16 +00:00
- What is an authenticated key exchange?
2020-05-06 04:06:33 +00:00
2020-08-28 17:32:16 +00:00
- Why does Noise offer various handshakes? What are some of unique properties certain handshakes offer?
2020-05-06 04:06:33 +00:00
2020-08-28 17:32:16 +00:00
- What is key rotation in the context of a complete handshake? Why is it important?
2020-05-06 04:06:33 +00:00
2020-08-28 17:32:16 +00:00
- What is "brontide"? How is it used in LN today? How can it be upgraded in the future?
2020-05-06 03:25:05 +00:00
* LN Message Format:
2020-05-06 04:06:33 +00:00
2020-08-28 17:32:16 +00:00
- What kind of framing is used in the LN message format? What's the max message size and why is it in place?
2020-05-06 04:06:33 +00:00
2020-08-28 17:32:16 +00:00
- What is a varint? Why is it used in the protocol?
2020-05-06 04:06:33 +00:00
2020-08-28 17:32:16 +00:00
- What are the message types of some of the popular messages in the protocol?
2020-05-06 04:06:33 +00:00
2020-08-28 17:32:16 +00:00
- How can new messages be added in the future?
2020-05-06 03:25:05 +00:00
* Feature bits:
2020-05-06 04:06:33 +00:00
2020-08-28 17:32:16 +00:00
- What are feature bits in the network, and how+where are they advertised?
2020-05-06 04:06:33 +00:00
2020-08-28 17:32:16 +00:00
- How can feature bits be used to phase in new features to the protocol?
2020-05-06 04:06:33 +00:00
2020-08-28 17:32:16 +00:00
- Today, what are some of the major feature bits used in the system?
2020-05-06 04:06:33 +00:00
2020-08-28 17:32:16 +00:00
- 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?
2020-05-06 04:06:33 +00:00
2020-05-06 03:25:05 +00:00
* TLV Message Extensions:
2020-05-06 04:06:33 +00:00
2020-08-28 17:32:16 +00:00
- What does TLV stand for?
2020-05-06 04:06:33 +00:00
2020-08-28 17:32:16 +00:00
- How is this related to the existing protobuf message format?
2020-05-06 04:06:33 +00:00
2020-08-28 17:32:16 +00:00
- Where are TLV fields used in the protocol today?
2020-05-06 04:06:33 +00:00
2020-08-28 17:32:16 +00:00
- 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`