1
0
mirror of https://github.com/lightning/bolts.git synced 2024-11-19 01:50:03 +01:00
lightning-bolts/.aspell.en.pws
Rusty Russell aed3d28d5a 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 19:40:59 +09:00

439 lines
3.7 KiB
Plaintext

personal_ws-1.1 en 264
bitfields
checksums
timestamps
tlv
tlvs
subtype
TLV
py
vsprintf
glibc
JSON
Freenode
nacks
secp
sig
unguessable
libsecp
TCP
DER
micropayments
nhops
retransmitted
dev
tradeoff
kiloweight
mixHeader
uint
hopsData
bitfield
B'th
decrypting
rhokey
rhoKey
buf
millisatoshis
yToX
funder's
IRATEMONK
wpkh
nextHmac
basepoint
streamKey
localpubkey
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
Blockstream
nSequence
decrypt
flen
incrementing
feerate
affine
CHECKSEQUENCEVERIFY
nonces
iff
serializeCompressed
prepended
roasbeef
multisig
nodepk
remotesig
hopBlindingFactors
ECDH
addrlen
assocData
ActOne
ammag
computeBlindingFactor
wsh
multiScalarMult
onionpacket
OnionPacket
ikm
fillerSize
txinput
init
reconnection
milli
revocationsig
NOTIF
generateHeaderPadding
IPv
ipv
satoshi
delayedsig
hopDataSize
I'th
segwit
RBF
accepter
accepter's
subtype
redeemScript
scriptSig
utxo
scriptPubKey
scriptPubKeys
scriptlen
sats
htlc
htlcs
ChaCha
len
ciphertext
endian
C'mon
NewOnionPacket
keypair
preimage
MiTM
mempool
cltv
localfeatures
iteratively
PrivateKey
br
millisatoshi
trustless
ee
eg
hopSize
retransmit
retransmittal
deobfuscating
onchain
BADONION
rightShift
protocolName
hopEphemeralPubKeys
txid
Fn
PublicKey
encryptWithAD
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
fundee
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
CLTV
CLTVs
generateCipherStream
XK
lflen
deobfuscates
generateKey
alice
revocationprivkey
PKH
remotepubkey
HKDF
ooo
repo
num
numStreamBytes
txout
HTLCs
HTLC's
retransmission
decrypted
sessionKey
sessionkey
routingInfoSize
hostname
rgb
ciphertexts
wscript
CHECKSIG
pre
numMaxHops
HMACs
hmac
BIP
hmacSize
ratelimit
talkin
revocationpubkey
msat
func
unencrypted
coinbase
priv
sha
TODO
ChaChaPoly
delayedpubkey
Diffie
IETF
xFFFFFFFFFFF
FIXME
EphemeralKey
bitcoin
Bitcoin
smartphone
other's
remote's
multi
bitcoin's
IP
aa
df
versa
timestamp
metadata
Bitcoin's
Versioning
checksum
expiries
bech
Bech
nano
pico
mainnet
testnet
icecream
extractable
de
anonymize
Punycode
rck
sck
zeroconf
swiss
lollypop
UTC
inline
fundee's
BOLTs
DNS
subdomain
subdomains
wildcard
tuple
tuples
resolvers
hostnames
prepending
A
AAAA
SRV
TTL
URI
cli
paymentkey
htlcpubkey
remotehtlcsig
localhtlcsig
basepoints
Bitcoins
bitcoins
deobfuscate
offerer
offerer's
incentivize
redemptions
vbytes
BTC
USD
XSS
SQL
DOM
Javascript
javascript
Implementers
sanitization
ek
reblind
ephemeralKey
ephemeralPrivKey
ephemeralPubKey
ecdhResult
scalarMult
blindingFactor
Mul
unlinkable
regtest
ratelimiting
zlib
ZLIB
APIs
duplicative
CRC
DoS
ECDSA
TLV
tlv
namespace
verifier
verifiers
EOF
monotonicity
optimizations
structs
CompactSize
encodings
remotekey
bigsize
BigSize
namespaces
tlvs
fips
rfc
multipath
mpp
tlvs
snprintf
GitHub
IRC
bitmasks
CSPRNG
lexicographically
MINIMALIF
SIGHASH
sighash
ANYONECANPAY
cpfp
utxo
txes
csv
CHECKSIGVERIFY
IFDUP
sats
anysegwit
quiesce
quiescing
SomeThing
onionmsg
unrequested
Merkle
whitespace
TLVs
LnLeaf
LnNonce
LnBranch
payinfo
griefing
unspendable
pkh
kB
unblind
unblinded
workflow
PUSHDATA
prev
vout
rbf
standardness
perkw
prevtx
ints
replaceability
disincentivize
UTXOs