What is Nostr?
Rusty Russell [ARCHIVE] /
npub1zw7…khpx
2023-06-09 12:44:56
in reply to nevent1q…zh24

Rusty Russell [ARCHIVE] on Nostr: 📅 Original date posted:2015-10-27 📝 Original message: Pierre <pm+lists at ...

📅 Original date posted:2015-10-27
📝 Original message:
Pierre <pm+lists at acinq.fr> writes:
> Hi Rusty,
>
>> 5) Unknown protobuf fields are handled in the protocol as follows
>> (including in the initial Authenticate packet):
>>
>> 1) Odd numbered fields are optional, and backwards compatible.
>> 2) Even numbered fields are required; abort if you get one.
>
> I don't get it, what is it about ?

Yes, I really need to write this up in Matsjj's lightning-core docs
repository.

Since protobuf fields are explicitly numbered, we can use this to
deliberately break backwards compatibility in future after some
transition.

For example, if we want to add a "currency identifier" field in HTLC,
for non-bitcoin transactions. That would be an even numbered field,
since you need to understand it. (There would also need to be some way
to indicate you support those, during connection setup or something).

But if we want to add an optional new field, we'd make it odd, and
existing implementations could ignore it.

Cheers,
Rusty.
Author Public Key
npub1zw7cc8z78v6s3grujfvcv3ckpvg6kr0w7nz9yzvwyglyg0qu5sjsqhkhpx