Author: Christian Decker 2019-02-22 15:53:50
Published on: 2019-02-22T15:53:50+00:00
In the discussion about how to add Type-Length-Value (TLV) to the onion, Rusty Russell presents two options. The first option involves leaving the existing fields and putting TLV in the padding: short_channel_id, amt_to_forward, outgoing_cltv_value, and padding. The second option is to replace the existing fields with TLV and flag the new format using realm > 0. Russell notes that the length of intermediary hops ends up being about the same for both options. For the final hop, not using short_channel_id saves significant space. Russell suggests voting for making the entire payload a TLV (option 2) since it allows complete redefinition of the payload. He argues that the overhead argument doesn't apply since there is already a 12-byte payload waste, which can still fit in a single frame with option 2. There is also a third option of making the entire payload a TLV-set and using the old payload format as a single TLV-value with 20 bytes of size, which would result in only 2 bytes of overhead compared to the old v0 format. This option can be dropped if another payload format is needed.
Updated on: 2023-06-02T17:39:37.224267+00:00