[Lightning-dev] [PATCH v3] daemon: encrypted communication (version 3)

Peter Todd pete at petertodd.org
Tue Oct 27 20:40:47 UTC 2015


On Wed, Oct 28, 2015 at 06:11:20AM +1030, Rusty Russell wrote:
> 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.

FWIW an analogous idea is OpenPGP's "critical bit" for packets, which
indicates that if the software doesn't understand the packet it should
consider the signature to be invalid:

https://tools.ietf.org/html/rfc4880#section-5.2.3.1

-- 
'peter'[:-1]@petertodd.org
00000000000000000b3f41bf1f2b9c5547bbdaa1ab40c914ab26faf764ff16a5
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 650 bytes
Desc: Digital signature
URL: <http://lists.linuxfoundation.org/pipermail/lightning-dev/attachments/20151027/1b0bc972/attachment.sig>


More information about the Lightning-dev mailing list