Laundry list of inter-peer wire protocol changes

Posted by CJP

Jan 27, 2016/21:19 UTC

The Lightning Network protocol is being developed further to allow for new concepts and alternative designs. In order to facilitate this, it is suggested that certain things be de-coupled and each subject have its own sub-protocol with a version number/protocol identifier. The subjects with ongoing design or alternative concepts include micro-transaction channel design, commit conditions, and routing. Currently, the micro-transaction channel design is separated from the rest of the protocol in Amiko Pay, while commit conditions are not yet separated, and exchange of routing information does not exist yet.Several changes or proposals have been made regarding the inter-node protocol. One suggestion is to use protobufs instead of open-coded structures, as they are easier to extend with new fields. Another proposal is to prefix the initial key exchange and other packets with a length word to enable future extensions. Additionally, lnd's protocol supports multiple in-flight HTLC negotiations, while lightning-c uses a simple one-at-a-time scheme. It is also suggested to allow the initiator to abort a new HTLC process before the revocation exchange. Version bits should be exchanged after the initial handshake to indicate compulsory and optional features. Several suggestions were made regarding wire protocol crypto, including using chacha20/poly1305 instead of AES/HMAC-SHA256 and using a separate encoding stream for packet lengths to make traffic analysis more difficult. Finally, shachain vs elkrem was discussed for generating revocation secrets, and several proposals were made regarding anchor tx renegotiation, R value vs keypair, and multi-sig txs.

Link to Raw Post
Bitcoin Logo

TLDR

Join Our Newsletter

We’ll email you summaries of the latest discussions from authoritative bitcoin sources, like bitcoin-dev, lightning-dev, and Delving Bitcoin.

Explore all Products

ChatBTC imageBitcoin searchBitcoin TranscriptsSaving SatoshiBitcoin Transcripts Review
Built with 🧡 by the Bitcoin Dev Project
View our public visitor count

We'd love to hear your feedback on this project?

Give Feedback