1
0
mirror of https://github.com/lightning/bolts.git synced 2024-11-19 10:00:04 +01:00
Commit Graph

546 Commits

Author SHA1 Message Date
Jim Posen
5a3b5ce0bd BOLT 4: Clarify the onion construction section.
The new description introduces the concept of an ephemeral private key,
which I find easier to reason about and suggests a linear instead of
quadratic construction algorithm.
2018-03-05 20:11:32 +01:00
Jim Posen
745629d0f2 BOLT 4: Correct blinding factor calculation.
The instructions reference nodepk_k instead of epk_k.
2018-03-05 20:11:32 +01:00
Jim Posen
f7eb7e4d96 BOLT 4: Correct shared secret calculation.
Reference code and all implementations hash the ECDH output point with SHA256.
2018-03-05 20:11:32 +01:00
Rusty Russell
b476e630b0 BOLT 7: don't send an announce_signatures message if we're shutting down.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-03-05 09:04:33 +00:00
ueno
4ef035f8c2 fix #385 2018-02-22 00:15:22 +00:00
practicalswift
939ce285bc BOLT 8: Fix debate over whether [] ranges are inclusive or exclusive
The english is pretty clear for these simple cases anyway.
2018-02-22 00:12:13 +00:00
Landon Mutch
857c71a3c8 fix requests by @shannona 2018-02-20 01:30:18 +00:00
Landon Mutch
4a2e6229f6 BOLT 07: finish first pass copy edit to bring inline with stylesheet guidelines; 2018-02-20 01:30:18 +00:00
Landon Mutch
abb4b3ac3e BOLT 07: first pass copy edit to line 574; 2018-02-20 01:30:18 +00:00
Landon Mutch
124b1f8d84 BOLT 07: first pass copy edit to line 456
Impose 'origin/final node' terminology (replacing 'creating/receiving node') for sake of clarity and consistency with other BOLTs;
2018-02-20 01:30:18 +00:00
practicalswift
316882fcc5 Use a vs an consistently 2018-02-20 01:12:29 +00:00
practicalswift
5fe7fc3d62 Change from "Encrypting Messages"/"Decrypting Messages" to "Encrypting and Sending Messages"/"Receiving and Decrypting Messages"
In order to reflect what is actually documented.
2018-02-20 01:11:44 +00:00
Rusty Russell
c132855d4b Spelling list: add new words.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-02-20 01:10:38 +00:00
Rusty Russell
4c8cb512d0 BOLT 2,3,5: always refer to shared/pubkey/private key.
Make it clear what kind of key we're talking about.  We use the abbreviation
pubkey for public key (as it's quite common to use in field names), but
generally spell out 'private'.

(I generally prefer 'secret' to 'private' but we use private far more often
already, and we use 'secret' for things which don't directly derive keys).

Fixes: #368
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-02-20 01:10:38 +00:00
Christian Decker
3e2d275471 BOLT02: Add rationale for 2^24 satoshi per channel limit
Fixes #353
2018-02-09 14:50:52 +01:00
Shannon Appelcline
852f1904f6 Updates for FIXMEs 2018-02-05 23:49:32 +00:00
Shannon Appelcline
9a04862469 BOLT-3 Edits
This is my final first-pass BOLT. Some grammar changes, some remote/local additions, a few questions.
2018-02-05 23:49:32 +00:00
Rusty Russell
120003e553 BOLT #2: bad update_fee after shutdown when all HTLCs cleared.
I got an unexpected update_fee message after `shutdown` exchange,
which is currently legal:

A: shutdown (no htlcs)
                          B: receive shutdown
                          B: reply with shutdown & closing_signed

A: send update_fee & commitment_signed
A: receive shutdown

Simplest to ban any updates (currently, just update_fee) from adding a
new commitment tx while we're at the end of shutdown.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-02-05 23:47:12 +00:00
Rusty Russell
90241d9cf6 BOLT 2: order closing-signed negotiation by making funder send first.
Fixes: #365
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-02-05 23:38:51 +00:00
Conner Fromknecht
e24d36eb4f aspell: adds injection attack keywords to dictionary
* javascript
 * Javascript
 * DOM
 * SQL
 * XSS
 * Implementers
 * sanitization
2018-02-05 23:38:01 +00:00
Conner Fromknecht
e86ac9a3b2 BOLT 11: notes payment desc injection vulnerabilities 2018-02-05 23:38:01 +00:00
Conner Fromknecht
1e06c00f49 BOLT 07: notes node alias injection vulnerabilities 2018-02-05 23:38:01 +00:00
practicalswift
bf87822538 Use consistent method for referencing RFC:s 2018-02-05 19:32:51 +00:00
practicalswift
87ff1bf7f1 Distinguish between static and ephemeral public keys 2018-02-05 19:32:51 +00:00
Rusty Russell
ee5f4352bb BOLT 3: closing tx must also round outputs down to whole satoshis.
We specify this for the commitment tx, but not for the closing tx.

Reported-by: Christian Decker
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-02-05 19:19:10 +00:00
Cayle Sharrock
1ad7933241 Fix typo
public -> private
2018-02-05 11:32:34 +01:00
practicalswift
07976959d3 Use consistent capitalization for MITM 2018-02-05 09:09:51 +00:00
practicalswift
4e3074ea5f Fix markdownlint warnings
Fixed warnings:

.copy-edit-stylesheet-checklist.md: 49: MD030/list-marker-space Spaces after list markers [Expected: 1; Actual: 0]
.copy-edit-stylesheet-checklist.md: 1: MD041/first-line-h1 First line in file should be a top level header [Context: "Basic checklist/stylesheet use..."]
02-peer-protocol.md: 161: MD018/no-missing-space-atx No space after hash on atx style header [Context: "#7](07-routing-gossip.md#bolt-..."]
2018-02-05 09:01:00 +00:00
practicalswift
2c3466a2af Remove trailing whitespace 2018-01-30 04:54:31 +00:00
Rusty Russell
58f6a70889 BOLT 8: use incremented numbers for numbering.
Markdown doesn't care, but we have humans reading the text.

Reported-by: @roasbeef
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-01-30 03:47:32 +00:00
Rusty Russell
0f50cc220d BOLT 8: Steps in each Act are ordered.
So we should use an enumeration, not an unordered list.  Same applies to
encryption, decryption and key rotation algorithms.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-01-30 03:47:32 +00:00
Rusty Russell
f6a91fbb11 BOLT 4: the failure codes are not one long enumerated list.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-01-30 03:47:32 +00:00
toadlybroodle
f6e8b0bf37 BOLT 7: make requested changes by @shannona 2018-01-30 03:46:25 +00:00
toadlybroodle
8025e81a2b BOLT 7: fix changes requested by @rustyrussell 2018-01-30 03:46:25 +00:00
toadlybroodle
e3ca76a34a BOLT 7: first pass copy edit to line 315 2018-01-30 03:46:25 +00:00
toadlybroodle
2252449c45 BOLT 07: first pass copy edit to line 210 2018-01-30 03:46:25 +00:00
toadlybroodle
dee91424fa BOLT 7: first pass copy edit to line 120 2018-01-30 03:46:25 +00:00
practicalswift
a820356da8 Redundancy. Drop redundant use of "very". 2018-01-30 03:34:22 +00:00
practicalswift
b9d784a5a0 Redundancy. Drop redundant use of "advance" in "advance warning". 2018-01-30 03:34:22 +00:00
practicalswift
8c84de67f7 Standardization. Use "extendable" instead of "extensible". 2018-01-30 03:34:22 +00:00
practicalswift
a270bb2fec Standardization. Use "based on" instead of "based off of". 2018-01-30 03:34:22 +00:00
Shannon Appelcline
29ae44ec6e BOLT-4 Re-Edits
Minor edits, clarifications, and standardizations.
2018-01-30 03:33:48 +00:00
Pierre-Marie Padiou
46c454cb56 clarify that nodes may support early mutual close 2018-01-22 20:14:38 +01:00
Christian Decker
815182ea26 spell: Add BTC acronym to dictionary 2018-01-22 20:10:53 +01:00
Rusty Russell
7a7db363bb BOLT 11: make example separate, not re-use existing.
@roasbeef wanted to avoid breaking existing tests, so simply replicate it.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-01-22 20:10:53 +01:00
Rusty Russell
f360cff9d8 BOLT 11: spell out byte limit on d field, and note vagueness of h.
Our 10-bit length means up to 1023 5-bit words, or 639 bytes.  But `h`
is horribly underspecified since we don't have a general solution: using
a URL is a privacy problem, for example.  It might make sense for a future
transport standard (eg. lightning over HTML, or lightning-over-NFC), but
it's fairly unusable at the moment.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-01-22 20:10:53 +01:00
Rusty Russell
b547854073 BOLT 11: require valid UTF-8, provide example.
I'm clearly showing my age, suggesting ASCII; obviously UTF-8 makes
more sense.  We also didn't have a *requirement* that it be a valid
encoding, so add that.

We already have an example ASCII description ('Please consider
supporting this project'), so just modify the other one to UTF-8
as provided by Jonathan.

Reported-by: Jonathan Underwood <junderwood@bitcoinbank.co.jp>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-01-22 20:10:53 +01:00
MeshCollider
4b5379b2ac Fix formatting of BOLT links 2018-01-22 14:02:01 +01:00
William Casarin
b2960b4267 transactions: fix broken anchor links
Signed-off-by: William Casarin <jb55@jb55.com>
2018-01-22 14:01:01 +01:00
Rusty Russell
64cf99d854 BOLT 7: channel_update timestamp must be a UNIX timestamp.
As agreed at the previous meeting, we use the timestamp to prune,
so it does have to be a valid timestamp.  We also suggest ignoring
if it's in the far future, too.

The minutes suggest we can prune for any reason, and that's really
true anyway; the requirements to keep it around are only SHOULD.

Note that this only applies to channel_update: node_announces
are not pruned (except, perhaps, by implication when all channels
are pruned)

Closes: #302
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-01-22 13:59:45 +01:00