2017-11-14 04:18:09 +01:00
|
|
|
personal_ws-1.1 en 264
|
2019-07-17 09:21:14 +02:00
|
|
|
bitfields
|
|
|
|
checksums
|
|
|
|
timestamps
|
|
|
|
tlv
|
2019-07-22 19:00:30 +02:00
|
|
|
tlvs
|
|
|
|
subtype
|
2019-07-17 09:21:14 +02:00
|
|
|
TLV
|
2019-07-19 08:06:23 +02:00
|
|
|
py
|
|
|
|
vsprintf
|
|
|
|
glibc
|
|
|
|
JSON
|
|
|
|
Freenode
|
|
|
|
nacks
|
2017-04-29 05:19:07 +02:00
|
|
|
secp
|
|
|
|
sig
|
|
|
|
unguessable
|
|
|
|
libsecp
|
|
|
|
TCP
|
|
|
|
DER
|
|
|
|
micropayments
|
|
|
|
nhops
|
|
|
|
retransmitted
|
|
|
|
dev
|
|
|
|
tradeoff
|
2021-03-03 04:10:33 +01:00
|
|
|
kiloweight
|
2017-04-29 05:19:07 +02:00
|
|
|
mixHeader
|
|
|
|
uint
|
|
|
|
hopsData
|
|
|
|
bitfield
|
|
|
|
B'th
|
|
|
|
decrypting
|
|
|
|
rhokey
|
|
|
|
rhoKey
|
|
|
|
buf
|
|
|
|
millisatoshis
|
|
|
|
yToX
|
|
|
|
funder's
|
|
|
|
IRATEMONK
|
|
|
|
wpkh
|
|
|
|
nextHmac
|
|
|
|
basepoint
|
|
|
|
streamKey
|
2018-02-06 02:12:33 +01:00
|
|
|
localpubkey
|
2017-04-29 05:19:07 +02:00
|
|
|
paymentPath
|
|
|
|
SPV
|
|
|
|
HopData
|
|
|
|
CSV
|
|
|
|
xFFFFFFFFFF
|
|
|
|
plaintext
|
|
|
|
EQUALVERIFY
|
|
|
|
AEAD
|
|
|
|
secretkey
|
|
|
|
TripleDH
|
|
|
|
addr
|
|
|
|
CHECKMULTISIG
|
|
|
|
decryptWithAD
|
|
|
|
routable
|
|
|
|
epk
|
|
|
|
scriptpubkey
|
|
|
|
mukey
|
|
|
|
muKey
|
|
|
|
sharedSecretSize
|
|
|
|
DUP
|
|
|
|
sharedSecrets
|
|
|
|
xFFFFFFFFFFFF
|
|
|
|
cryptographic
|
|
|
|
generateSharedSecret
|
|
|
|
instantiations
|
|
|
|
deterministically
|
|
|
|
deduplication
|
|
|
|
FIPS
|
|
|
|
responder
|
|
|
|
UTF
|
|
|
|
blockchain
|
2020-03-03 18:36:44 +01:00
|
|
|
Blockstream
|
2017-04-29 05:19:07 +02:00
|
|
|
nSequence
|
|
|
|
decrypt
|
|
|
|
flen
|
|
|
|
incrementing
|
|
|
|
feerate
|
|
|
|
affine
|
|
|
|
CHECKSEQUENCEVERIFY
|
|
|
|
nonces
|
|
|
|
iff
|
|
|
|
serializeCompressed
|
|
|
|
prepended
|
|
|
|
roasbeef
|
|
|
|
multisig
|
|
|
|
nodepk
|
|
|
|
remotesig
|
|
|
|
hopBlindingFactors
|
|
|
|
ECDH
|
|
|
|
addrlen
|
|
|
|
assocData
|
|
|
|
ActOne
|
|
|
|
ammag
|
|
|
|
computeBlindingFactor
|
|
|
|
wsh
|
|
|
|
multiScalarMult
|
2017-05-02 08:48:01 +02:00
|
|
|
onionpacket
|
2017-05-02 09:34:53 +02:00
|
|
|
OnionPacket
|
2017-04-29 05:19:07 +02:00
|
|
|
ikm
|
|
|
|
fillerSize
|
|
|
|
txinput
|
|
|
|
init
|
|
|
|
reconnection
|
|
|
|
milli
|
|
|
|
revocationsig
|
|
|
|
NOTIF
|
|
|
|
generateHeaderPadding
|
|
|
|
IPv
|
|
|
|
ipv
|
|
|
|
satoshi
|
|
|
|
delayedsig
|
|
|
|
hopDataSize
|
|
|
|
I'th
|
|
|
|
segwit
|
2021-03-03 04:10:33 +01:00
|
|
|
RBF
|
|
|
|
accepter
|
|
|
|
accepter's
|
|
|
|
subtype
|
|
|
|
redeemScript
|
|
|
|
scriptSig
|
|
|
|
utxo
|
|
|
|
scriptPubKey
|
|
|
|
scriptPubKeys
|
|
|
|
scriptlen
|
|
|
|
sats
|
2017-05-02 08:48:01 +02:00
|
|
|
htlc
|
2017-10-18 15:31:31 +02:00
|
|
|
htlcs
|
2017-04-29 05:19:07 +02:00
|
|
|
ChaCha
|
|
|
|
len
|
|
|
|
ciphertext
|
|
|
|
endian
|
|
|
|
C'mon
|
|
|
|
NewOnionPacket
|
|
|
|
keypair
|
|
|
|
preimage
|
|
|
|
MiTM
|
|
|
|
mempool
|
|
|
|
cltv
|
|
|
|
localfeatures
|
|
|
|
iteratively
|
|
|
|
PrivateKey
|
|
|
|
br
|
|
|
|
millisatoshi
|
|
|
|
trustless
|
|
|
|
ee
|
|
|
|
eg
|
|
|
|
hopSize
|
|
|
|
retransmit
|
2017-11-18 21:00:36 +01:00
|
|
|
retransmittal
|
2017-04-29 05:19:07 +02:00
|
|
|
deobfuscating
|
|
|
|
onchain
|
|
|
|
BADONION
|
|
|
|
rightShift
|
|
|
|
protocolName
|
|
|
|
hopEphemeralPubKeys
|
|
|
|
txid
|
|
|
|
Fn
|
|
|
|
PublicKey
|
2017-05-02 09:25:02 +02:00
|
|
|
encryptWithAD
|
2017-04-29 05:19:07 +02:00
|
|
|
liveness
|
|
|
|
ie
|
|
|
|
shakin
|
|
|
|
txin
|
|
|
|
globalfeatures
|
|
|
|
calcMac
|
|
|
|
privkey
|
|
|
|
overpayment
|
|
|
|
hopSharedSecrets
|
|
|
|
TimeLocked
|
|
|
|
timelocked
|
|
|
|
lc
|
|
|
|
btcec
|
|
|
|
localsig
|
|
|
|
responder's
|
|
|
|
ripemd
|
|
|
|
md
|
|
|
|
ENDIF
|
|
|
|
blockchains
|
|
|
|
cleartext
|
|
|
|
streamBytes
|
|
|
|
WISTFULTOLL
|
|
|
|
locktime
|
|
|
|
xFFF
|
|
|
|
localprivkey
|
|
|
|
deserialized
|
|
|
|
pubkey
|
|
|
|
PubKey
|
|
|
|
ok
|
|
|
|
Retransmissions
|
|
|
|
numHops
|
|
|
|
failuremsg
|
2017-05-02 08:47:06 +02:00
|
|
|
fundee
|
2017-04-29 05:19:07 +02:00
|
|
|
byteslen
|
|
|
|
shortid
|
|
|
|
se
|
|
|
|
rk
|
|
|
|
micropayment
|
|
|
|
rn
|
|
|
|
testbit
|
|
|
|
unparsable
|
|
|
|
sk
|
|
|
|
RoutingInfo
|
|
|
|
funder
|
|
|
|
Counterintuitively
|
|
|
|
decrypts
|
|
|
|
sn
|
|
|
|
generateFiller
|
|
|
|
unrevoked
|
|
|
|
ss
|
|
|
|
that'd
|
|
|
|
ack
|
|
|
|
deobfuscated
|
|
|
|
gflen
|
|
|
|
satoshis
|
|
|
|
instantiation
|
|
|
|
HeaderMAC
|
|
|
|
blindGroupElement
|
|
|
|
tx
|
|
|
|
pubkeys
|
|
|
|
CHECKLOCKTIMEVERIFY
|
2017-07-11 12:32:59 +02:00
|
|
|
CLTV
|
|
|
|
CLTVs
|
2017-04-29 05:19:07 +02:00
|
|
|
generateCipherStream
|
|
|
|
XK
|
|
|
|
lflen
|
|
|
|
deobfuscates
|
|
|
|
generateKey
|
|
|
|
alice
|
|
|
|
revocationprivkey
|
|
|
|
PKH
|
2018-02-06 02:12:33 +01:00
|
|
|
remotepubkey
|
2017-04-29 05:19:07 +02:00
|
|
|
HKDF
|
|
|
|
ooo
|
|
|
|
repo
|
|
|
|
num
|
|
|
|
numStreamBytes
|
|
|
|
txout
|
|
|
|
HTLCs
|
2017-11-14 04:18:09 +01:00
|
|
|
HTLC's
|
2017-04-29 05:19:07 +02:00
|
|
|
retransmission
|
|
|
|
decrypted
|
2017-05-02 08:48:01 +02:00
|
|
|
sessionKey
|
2017-05-02 09:34:53 +02:00
|
|
|
sessionkey
|
2017-04-29 05:19:07 +02:00
|
|
|
routingInfoSize
|
|
|
|
hostname
|
|
|
|
rgb
|
|
|
|
ciphertexts
|
2017-05-02 08:59:04 +02:00
|
|
|
wscript
|
2017-04-29 05:19:07 +02:00
|
|
|
CHECKSIG
|
|
|
|
pre
|
|
|
|
numMaxHops
|
|
|
|
HMACs
|
|
|
|
hmac
|
|
|
|
BIP
|
|
|
|
hmacSize
|
|
|
|
ratelimit
|
|
|
|
talkin
|
2018-02-06 02:12:33 +01:00
|
|
|
revocationpubkey
|
2017-04-29 05:19:07 +02:00
|
|
|
msat
|
|
|
|
func
|
|
|
|
unencrypted
|
|
|
|
coinbase
|
|
|
|
priv
|
|
|
|
sha
|
|
|
|
TODO
|
|
|
|
ChaChaPoly
|
2018-02-06 02:12:33 +01:00
|
|
|
delayedpubkey
|
2017-04-29 05:19:07 +02:00
|
|
|
Diffie
|
|
|
|
IETF
|
|
|
|
xFFFFFFFFFFF
|
|
|
|
FIXME
|
|
|
|
EphemeralKey
|
2017-05-02 09:34:53 +02:00
|
|
|
bitcoin
|
|
|
|
Bitcoin
|
|
|
|
smartphone
|
|
|
|
other's
|
|
|
|
remote's
|
|
|
|
multi
|
|
|
|
bitcoin's
|
|
|
|
IP
|
|
|
|
aa
|
|
|
|
df
|
|
|
|
versa
|
|
|
|
timestamp
|
|
|
|
metadata
|
|
|
|
Bitcoin's
|
|
|
|
Versioning
|
2017-05-16 13:43:12 +02:00
|
|
|
checksum
|
2017-05-19 03:27:36 +02:00
|
|
|
expiries
|
2017-06-27 12:38:13 +02:00
|
|
|
bech
|
|
|
|
Bech
|
|
|
|
nano
|
|
|
|
pico
|
|
|
|
mainnet
|
|
|
|
testnet
|
|
|
|
icecream
|
2023-11-02 20:16:53 +01:00
|
|
|
extractable
|
|
|
|
de
|
|
|
|
anonymize
|
|
|
|
Punycode
|
|
|
|
rck
|
|
|
|
sck
|
|
|
|
zeroconf
|
2017-06-27 12:38:13 +02:00
|
|
|
swiss
|
|
|
|
lollypop
|
|
|
|
UTC
|
|
|
|
inline
|
2017-05-24 07:42:18 +02:00
|
|
|
fundee's
|
2017-07-11 12:32:59 +02:00
|
|
|
BOLTs
|
2017-08-12 19:51:56 +02:00
|
|
|
DNS
|
|
|
|
subdomain
|
|
|
|
subdomains
|
|
|
|
wildcard
|
|
|
|
tuple
|
|
|
|
tuples
|
|
|
|
resolvers
|
|
|
|
hostnames
|
|
|
|
prepending
|
|
|
|
A
|
|
|
|
AAAA
|
|
|
|
SRV
|
|
|
|
TTL
|
2017-08-21 06:49:23 +02:00
|
|
|
URI
|
2017-10-03 03:41:29 +02:00
|
|
|
cli
|
2017-10-31 02:02:32 +01:00
|
|
|
paymentkey
|
2018-02-06 02:12:33 +01:00
|
|
|
htlcpubkey
|
2017-10-31 02:02:32 +01:00
|
|
|
remotehtlcsig
|
|
|
|
localhtlcsig
|
|
|
|
basepoints
|
2017-11-28 00:01:19 +01:00
|
|
|
Bitcoins
|
2017-12-19 02:16:26 +01:00
|
|
|
bitcoins
|
2017-12-04 02:26:32 +01:00
|
|
|
deobfuscate
|
2017-12-06 07:08:32 +01:00
|
|
|
offerer
|
|
|
|
offerer's
|
2017-12-18 20:10:12 +01:00
|
|
|
incentivize
|
2017-12-19 07:41:19 +01:00
|
|
|
redemptions
|
2017-12-21 05:12:00 +01:00
|
|
|
vbytes
|
2018-01-13 18:15:25 +01:00
|
|
|
BTC
|
2020-03-03 18:36:44 +01:00
|
|
|
USD
|
2018-01-09 01:28:54 +01:00
|
|
|
XSS
|
|
|
|
SQL
|
|
|
|
DOM
|
|
|
|
Javascript
|
|
|
|
javascript
|
|
|
|
Implementers
|
|
|
|
sanitization
|
2018-02-04 09:18:16 +01:00
|
|
|
ek
|
|
|
|
reblind
|
2018-02-04 09:53:37 +01:00
|
|
|
ephemeralKey
|
|
|
|
ephemeralPrivKey
|
|
|
|
ephemeralPubKey
|
|
|
|
ecdhResult
|
|
|
|
scalarMult
|
|
|
|
blindingFactor
|
|
|
|
Mul
|
2018-03-20 16:06:22 +01:00
|
|
|
unlinkable
|
|
|
|
regtest
|
2018-06-26 23:02:11 +02:00
|
|
|
ratelimiting
|
2018-06-26 23:05:15 +02:00
|
|
|
zlib
|
|
|
|
ZLIB
|
2018-11-29 05:30:38 +01:00
|
|
|
APIs
|
|
|
|
duplicative
|
2019-07-17 09:21:14 +02:00
|
|
|
CRC
|
2019-07-16 09:24:26 +02:00
|
|
|
DoS
|
|
|
|
ECDSA
|
2019-04-30 04:35:56 +02:00
|
|
|
TLV
|
2019-06-06 21:39:48 +02:00
|
|
|
tlv
|
2019-04-30 04:35:56 +02:00
|
|
|
namespace
|
|
|
|
verifier
|
|
|
|
verifiers
|
|
|
|
EOF
|
|
|
|
monotonicity
|
|
|
|
optimizations
|
|
|
|
structs
|
|
|
|
CompactSize
|
|
|
|
encodings
|
2019-08-28 09:21:28 +02:00
|
|
|
remotekey
|
2019-07-12 03:22:24 +02:00
|
|
|
bigsize
|
|
|
|
BigSize
|
2019-07-16 05:31:13 +02:00
|
|
|
namespaces
|
|
|
|
tlvs
|
2019-06-06 21:39:48 +02:00
|
|
|
fips
|
|
|
|
rfc
|
2019-11-26 04:13:48 +01:00
|
|
|
multipath
|
|
|
|
mpp
|
2019-06-06 21:39:48 +02:00
|
|
|
tlvs
|
2019-07-19 08:06:23 +02:00
|
|
|
snprintf
|
|
|
|
GitHub
|
|
|
|
IRC
|
BOLT 9: flatten feature fields.
We simply specify, in each case, where they will appear ("Context").
Because `globalfeatures` is already in use, we fold that into the
renamed `localfeatures` field to unify them (now called `features`),
but dissuade further use.
Note also: we REQUIRE minimal `features` field in
channel_announcement, since otherwise both sides of channel will not
agree and not be able to create their signatures!
Consider these theoretical future features:
`opt_dlog_chan`: a new channel type which uses a new discrete log HTLC
type, but can't support traditional HTLC:
* `init`: presents as odd (optional) or even (if traditional channels
not supported)
* `node_announcement`: the same as above, so you can seek suitable peers.
* `channel_announcement`: presents as even (compulsory), since users need
to use the new HTLCs.
`opt_wumbochan`: a node which allows channels > 2^24 satoshis:
* `init`: presents as odd (optional), or maybe even (if you only want
giant channels)
* `node_announcement`: the same as above, so you can seek suitable peers.
* `channel_announcement`: not present, since size of channel indicates
capacity.
`opt_wumbohtlc`: a channel which allows HTLCs > 2^32 millisatoshis:
* `init`: presents as odd (optional), or even (compulsory)
* `node_announcement`: the same as above, so you can seek suitable peers.
* `channel_announcement`: odd (optional) since you can use the channel
without understanding what this option means.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Co-Authored-By: Bastien Teinturier <31281497+t-bast@users.noreply.github.com>
2019-09-17 07:21:17 +02:00
|
|
|
bitmasks
|
2019-11-06 03:26:54 +01:00
|
|
|
CSPRNG
|
2020-02-18 09:53:12 +01:00
|
|
|
lexicographically
|
2020-04-27 21:50:57 +02:00
|
|
|
MINIMALIF
|
2020-08-19 12:29:11 +02:00
|
|
|
SIGHASH
|
2021-01-04 20:40:57 +01:00
|
|
|
sighash
|
2020-08-19 12:29:11 +02:00
|
|
|
ANYONECANPAY
|
|
|
|
cpfp
|
|
|
|
utxo
|
|
|
|
txes
|
|
|
|
csv
|
|
|
|
CHECKSIGVERIFY
|
|
|
|
IFDUP
|
|
|
|
sats
|
2019-09-18 02:33:03 +02:00
|
|
|
anysegwit
|
2024-06-11 09:44:20 +02:00
|
|
|
quiesce
|
|
|
|
quiescing
|
|
|
|
SomeThing
|
2023-04-03 01:42:56 +02:00
|
|
|
onionmsg
|
BOLT 12: offers, sixth draft
A BOLT11 "invoice" has proven too low-level for human use in many
scenarios. Efforts like lnurl have covered the gap, but integrating
some of such higher layers into the lightning protocol itself has many
advantages.
This draft defines three new things:
1. A new invoice format. I know, this is painful, but it maps almost
1:1 to the current format (though signatures are very different),
is easier to implement, and easier to send via the lightning
network itself.
2. Formats for an "offer", which for all intents and purposes serves
as the new, persistent invoice for users.
3. Format for an "invoice_request": this is a message sent via the
lightning network itself to receive the real invoice, or can
be used directly in a send-money scenario (e.g. ATM).
The offer (for accepting payments) or invoice_request (for sending
payments) are usually presented via a QR code or similar, the replies
are sent using onion messages. Each copies fields from the prior so
it stands alone, to allow statelessness.
Features which have been deliberately omitted for the initial version:
- Recurrence.
- Invoice replacement ("don't accept that old payment!")
- Payer proof for refunds.
This effort has been EPIC, and there is absolutely no way I could have
done this without the often thankless task of implementing,
re-implementing, revising and re-reading this text.
In particular I have been delighted to receive the mental boost from
the following people:
1. Thomas H of ACINQ (https://github.com/thomash-acinq)
2. Jeffrey Czyz of Square Crypto (https://github.com/jkczyz)
3. Joost Jager (https://github.com/joostjager)
4. Aditya Sharma (https://github.com/adi2011)
5. Rene Pickhardt (https://github.com/renepickhardt)
6. Bastien Teinturier of ACINQ (https://github.com/t-bast)
7. Valentine Wallace of LDK (https://github.com/valentinewallace)
8. Matt Corallo of LDK (https://github.com/BlueMatt)
Also @bjarnemagnussen, @ellemouton, @animatedbarber, @617a7a,
@instagibbs, @evansmj, @eupn and @yyforyongyu.
(And no doubt others over the years, who I've accidentally omitted!)
Yes, of course, thanks to my family for their patience with me.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2024-09-24 10:31:04 +02:00
|
|
|
unrequested
|
|
|
|
Merkle
|
|
|
|
whitespace
|
|
|
|
TLVs
|
|
|
|
LnLeaf
|
|
|
|
LnNonce
|
|
|
|
LnBranch
|
|
|
|
payinfo
|
2022-02-25 12:17:18 +01:00
|
|
|
griefing
|
|
|
|
unspendable
|
|
|
|
pkh
|
|
|
|
kB
|
2022-04-11 18:37:01 +02:00
|
|
|
unblind
|
2023-04-03 01:42:56 +02:00
|
|
|
unblinded
|
2021-03-03 04:10:33 +01:00
|
|
|
workflow
|
|
|
|
PUSHDATA
|
|
|
|
prev
|
|
|
|
vout
|
|
|
|
rbf
|
|
|
|
standardness
|
|
|
|
perkw
|
|
|
|
prevtx
|
|
|
|
ints
|
|
|
|
replaceability
|
|
|
|
disincentivize
|
2023-02-10 10:59:02 +01:00
|
|
|
UTXOs
|