1
0
Fork 0
mirror of https://github.com/lightning/bolts.git synced 2025-02-22 14:22:46 +01:00
BOLT: Basis of Lightning Technology (Lightning Network Specifications)
Find a file
Olaoluwa Osuntokun 8dd0b75809 BOLT-04: modify Sphinx packet construction to use starting random bytes
In this commit, we modify the existing instructions to create the Sphinx
packet to no longer start out with a zero initialize set of 1366 bytes.
Instead, we now instruct the sender to use _random_ bytes derived from a
CSPRG. This fixes a recently discovered privacy leak that allows an
adversarial exit hop to ascertain a lower bound on the true path length.

Note that this doesn't affect packet processing, so this is a backwards
compatible change. Only clients need to update in order to avoid this
privacy leak.

After this change is applied, the test vectors as is don't match the
spec, as they're created using the original all zero starting bytes. We
can either update these with our specified set of random bytes, or leave
them as is, as they're fully deterministic as is.

An alternative path would be to generate more random bytes from the
shared secret as we do elsewhere (the chacha based CSPRNG).
2020-01-24 18:17:10 +01:00
bolt04 BOLT-04: modify Sphinx packet construction to use starting random bytes 2020-01-24 18:17:10 +01:00
bolt07 Add test vector for extended queries 2019-09-16 22:36:59 +02:00
tools tools/extract-formats.py: allow '.' in length fields. 2019-08-06 00:18:49 +00:00
.aspell.en.pws BOLT-04: modify Sphinx packet construction to use starting random bytes 2020-01-24 18:17:10 +01:00
.copy-edit-stylesheet-checklist.md Fix typos 2019-09-26 06:12:41 +00:00
.travis.yml spelling: check all the .md files 2019-07-28 07:03:19 +00:00
00-introduction.md Bolt 00: Added Internal Links to Glossary (#637) 2019-07-15 10:01:15 +02:00
01-messaging.md BOLT 1: Define custom message type range 2020-01-21 13:39:27 +01:00
02-peer-protocol.md BOLT 9: flatten feature fields. 2019-11-25 19:34:23 +00:00
03-transactions.md option_static_remotekey: final draft. 2019-09-26 06:19:58 +00:00
04-onion-routing.md BOLT-04: modify Sphinx packet construction to use starting random bytes 2020-01-24 18:17:10 +01:00
05-onchain.md f'BOLT5: Unify two practically redundant paragraphs' 2019-05-21 22:18:14 +02:00
07-routing-gossip.md Do not allow routing to a node with unkown feature bits set. 2020-01-06 14:34:37 -05:00
08-transport.md pubkeys live on the curve, not in the finite field 2019-11-04 06:00:50 +01:00
09-features.md 09+11: require transitive feature dependencies 2020-01-21 13:26:49 +01:00
10-dns-bootstrap.md BOLT 10 copy edit (#440) 2018-08-07 00:10:11 +00:00
11-payment-encoding.md BOLT11: simplify existing writer feature requirements 2020-01-21 13:26:49 +01:00
CONTRIBUTING.md CONTRIBUTING.md: first draft of how to write and change spec. 2019-07-28 07:03:19 +00:00
README.md Fix formatting of BOLT links 2018-01-22 14:02:01 +01:00

Lightning Network In-Progress Specifications

The specifications are currently a work-in-progress and currently being drafted.

Pull requests and comments welcome, seeking input from community stakeholders.

Discussion available on the lighting-dev mailing list.

Start here for Table of Contents

Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 International License.