Laundry list of inter-peer wire protocol changes



Summary:

On January 27th, 2016, Rusty Russell shared his views on the inter-node protocol for Bitcoin's Lightning Network. He proposed to finalize the "1.0" version of the protocol, using c-lightning as the basis and highlighting differences with lnd. The email listed various changes and proposals for the protocol. One of the first points of discussion was whether to use protobufs or open-coded structures. While lnd uses its own open-coded protocol, Rusty suggested that protobufs would be a better choice due to their ease of extension with new fields. However, fixed-length blobs, such as keys, signatures, and hashes, present a challenge when using protobufs. Rusty also proposed adding a length word prefix to the initial key exchange between nodes, allowing for future extension. Additionally, he suggested implementing HTLC pipelining to increase throughput, although this would add complexity to the protocol. Lastly, Rusty addressed the use of shachain versus elkrem for generating revocation secrets. Both methods are used to minimize storage and computation for old commitment transactions, but elkrem is easier to understand. Fabrice also expressed his preference for shachain over elkrem, although he did not specify why.


Updated on: 2023-05-23T22:06:30.436223+00:00