mirror of
https://github.com/lightning/bolts.git
synced 2025-01-18 05:13:02 +01:00
Bolt 00: Added Internal Links to Glossary (#637)
This commit is contained in:
parent
ea588805c7
commit
ffeece3dab
@ -84,12 +84,12 @@ See [BOLT #11: Invoice Protocol for Lightning Payments](11-payment-encoding.md)
|
||||
|
||||
## Glossary and Terminology Guide
|
||||
|
||||
* *Announcement*:
|
||||
* A gossip message sent between *peers* intended to aid the discovery of a *channel* or a *node*.
|
||||
* #### *Announcement*:
|
||||
* A gossip message sent between *[peers](#peers)* intended to aid the discovery of a *[channel](#channel)* or a *[node](#node)*.
|
||||
|
||||
* `chain_hash`:
|
||||
* #### `chain_hash`:
|
||||
* The uniquely identifying hash of the target blockchain (usually the genesis hash).
|
||||
This allows *nodes* to create and reference *channels* on
|
||||
This allows *[nodes](#node)* to create and reference *channels* on
|
||||
several blockchains. Nodes are to ignore any messages that reference a
|
||||
`chain_hash` that are unknown to them. Unlike `bitcoin-cli`, the hash is
|
||||
not reversed but is used directly.
|
||||
@ -98,179 +98,180 @@ See [BOLT #11: Invoice Protocol for Lightning Payments](11-payment-encoding.md)
|
||||
(encoded in hex):
|
||||
`6fe28c0ab6f1b372c1a6a246ae63f74f931e8365e15a089c68d6190000000000`.
|
||||
|
||||
* *Channel*:
|
||||
* A fast, off-chain method of mutual exchange between two *peers*.
|
||||
To transact funds, peers exchange signatures to create an updated *commitment transaction*.
|
||||
* _See closure methods: mutual close, revoked transaction close, unilateral close_
|
||||
* _See related: route_
|
||||
* #### *Channel*:
|
||||
* A fast, off-chain method of mutual exchange between two *[peers](#peers)*.
|
||||
To transact funds, peers exchange signatures to create an updated *[commitment transaction](#commitment-transaction)*.
|
||||
* _See closure methods: [mutual close](#mutual-close), [revoked transaction close](#revoked-transaction-close), [unilateral close](#unilateral-close)_
|
||||
* _See related: [route](#route)_
|
||||
|
||||
* *Closing transaction*:
|
||||
* A transaction generated as part of a _mutual close_. A closing transaction is similar to a _commitment transaction_, but with no pending payments.
|
||||
* _See related: commitment transaction, funding transaction, penalty transaction_
|
||||
* #### *Closing transaction*:
|
||||
* A transaction generated as part of a *[mutual close](#mutual-close)*. A closing transaction is similar to a _commitment transaction_, but with no pending payments.
|
||||
* _See related: [commitment transaction](#commitment-transaction), [funding transaction](#funding-transaction), [penalty transaction](#penalty-transaction)_
|
||||
|
||||
* *Commitment number*:
|
||||
* A 48-bit incrementing counter for each *commitment transaction*; counters
|
||||
* #### *Commitment number*:
|
||||
* A 48-bit incrementing counter for each *[commitment transaction](#commitment-transaction)*; counters
|
||||
are independent for each *peer* in the *channel* and start at 0.
|
||||
* _See container: commitment transaction_
|
||||
* _See related: closing transaction, funding transaction, penalty transaction_
|
||||
* _See container: [commitment transaction](#commitment-transaction)_
|
||||
* _See related: [closing transaction](#closing-transaction), [funding transaction](#funding-transaction), [penalty transaction](#penalty-transaction)_
|
||||
|
||||
* *Commitment revocation private key*:
|
||||
* Every *commitment transaction* has a unique commitment revocation private-key
|
||||
* #### *Commitment revocation private key*:
|
||||
* Every *[commitment transaction](#commitment-transaction)* has a unique commitment revocation private-key
|
||||
value that allows the other *peer* to spend all outputs
|
||||
immediately: revealing this key is how old commitment
|
||||
transactions are revoked. To support revocation, each output of the
|
||||
commitment transaction refers to the commitment revocation public key.
|
||||
* _See container: commitment transaction_
|
||||
* _See originator: per-commitment secret_
|
||||
* _See container: [commitment transaction](#commitment-transaction)_
|
||||
* _See originator: [per-commitment secret](#per-commitment-secret)_
|
||||
|
||||
* *Commitment transaction*:
|
||||
* A transaction that spends the *funding transaction*.
|
||||
* #### *Commitment transaction*:
|
||||
* A transaction that spends the *[funding transaction](#funding-transaction)*.
|
||||
Each *peer* holds the other peer's signature for this transaction, so that each
|
||||
always has a commitment transaction that it can spend. After a new
|
||||
commitment transaction is negotiated, the old one is *revoked*.
|
||||
* _See parts: commitment number, commitment revocation private key, HTLC, per-commitment secret, outpoint_
|
||||
* _See related: closing transaction, funding transaction, penalty transaction_
|
||||
* _See types: revoked commitment transaction_
|
||||
* _See parts: [commitment number](#commitment-number), [commitment revocation private key](#commitment-revocation-private-key), [HTLC](#HTLC-Hashed-Time-Locked-Contract), [per-commitment secret](#per-commitment-secret), [outpoint](#outpoint)_
|
||||
* _See related: [closing transaction](#closing-transaction), [funding transaction](#funding-transaction), [penalty transaction](#penalty-transaction)_
|
||||
* _See types: [revoked commitment transaction](#revoked-commitment-transaction)_
|
||||
|
||||
* *Final node*:
|
||||
* The final recipient of a packet that is routing a payment from an _origin node_ through some number of _hops_. It is also the final *receiving peer* in a chain.
|
||||
* _See category: node_
|
||||
* _See related: origin node, processing node_
|
||||
* #### *Final node*:
|
||||
* The final recipient of a packet that is routing a payment from an *[origin node](#origin-node)* through some number of *[hops](#hop)*. It is also the final *[receiving peer](#receiving-peer)* in a chain.
|
||||
* _See category: [node](#node)_
|
||||
* _See related: [origin node](#origin-node), [processing node](#processing-node)_
|
||||
|
||||
* *Funding transaction*:
|
||||
* An irreversible on-chain transaction that pays to both *peers* on a *channel*.
|
||||
* #### *Funding transaction*:
|
||||
* An irreversible on-chain transaction that pays to both *[peers](#peers)* on a *[channel](#channel)*.
|
||||
It can only be spent by mutual consent.
|
||||
* _See related: closing transaction, commitment transaction, penalty transaction_
|
||||
* _See related: [closing transaction](#closing-transaction), [commitment transaction](#commitment-transaction), [penalty transaction](#penalty-transaction)_
|
||||
|
||||
* *Hop*:
|
||||
* A *node*. Generally, an intermediate node lying between an *origin node* and a *final node*.
|
||||
* _See category: node_
|
||||
* #### *Hop*:
|
||||
* A *[node](#node)*. Generally, an intermediate node lying between an *[origin node](#origin-node)* and a *[final node](#final-node)*.
|
||||
* _See category: [node](#node)_
|
||||
|
||||
* *HTLC*: Hashed Time Locked Contract.
|
||||
* A conditional payment between two *peers*: the recipient can spend
|
||||
* #### *HTLC*: Hashed Time Locked Contract.
|
||||
* A conditional payment between two *[peers](#peers)*: the recipient can spend
|
||||
the payment by presenting its signature and a *payment preimage*,
|
||||
otherwise the payer can cancel the contract by spending it after
|
||||
a given time. These are implemented as outputs from the
|
||||
*commitment transaction*.
|
||||
* _See container: commitment transaction_
|
||||
* _See parts: Payment hash, Payment preimage_
|
||||
*[commitment transaction](#commitment-transaction)*.
|
||||
* _See container: [commitment transaction](#commitment-transaction)_
|
||||
* _See parts: [Payment hash](#Payment-hash), [Payment preimage](#Payment-preimage)_
|
||||
|
||||
* *Invoice*: A request for funds on the Lightning Network, possibly
|
||||
* #### *Invoice*: A request for funds on the Lightning Network, possibly
|
||||
including payment type, payment amount, expiry, and other
|
||||
information. This is how payments are made on the Lightning
|
||||
Network, rather than using Bitcoin-style addresses.
|
||||
|
||||
* *It's ok to be odd*:
|
||||
* #### *It's ok to be odd*:
|
||||
* A rule applied to some numeric fields that indicates either optional or
|
||||
compulsory support for features. Even numbers indicate that both endpoints
|
||||
MUST support the feature in question, while odd numbers indicate
|
||||
that the feature MAY be disregarded by the other endpoint.
|
||||
|
||||
* *MSAT*:
|
||||
* #### *MSAT*:
|
||||
* A millisatoshi, often used as a field name.
|
||||
|
||||
* *Mutual close*:
|
||||
* A cooperative close of a *channel*, accomplished by broadcasting an unconditional
|
||||
spend of the *funding transaction* with an output to each *peer*
|
||||
* #### *Mutual close*:
|
||||
* A cooperative close of a *[channel](#channel)*, accomplished by broadcasting an unconditional
|
||||
spend of the *[funding transaction](#funding-transaction)* with an output to each *peer*
|
||||
(unless one output is too small, and thus is not included).
|
||||
* _See related: revoked transaction close, unilateral close_
|
||||
* _See related: [revoked transaction close](#revoked-transaction-close), [unilateral close](#unilateral-close)_
|
||||
|
||||
* *Node*:
|
||||
* #### *Node*:
|
||||
* A computer or other device that is part of the Lightning network.
|
||||
* _See related: peers_
|
||||
* _See types: final node, hop, origin node, processing node, receiving node, sending node_
|
||||
* _See related: [peers](#peers)_
|
||||
* _See types: [final node](#final-node), [hop](#hop), [origin node](#origin-node), [processing node](#processing-node), [receiving node](#receiving-node), [sending node](#sending-node)_
|
||||
|
||||
* *Origin node*:
|
||||
* The _node_ that originates a packet that will route a payment through some number of _hops_ to a _final node_. It is also the first _sending peer_ in a chain.
|
||||
* _See category: node_
|
||||
* _See related: final node, processing node_
|
||||
* #### *Origin node*:
|
||||
* The *[node](#node)* that originates a packet that will route a payment through some number of [hops](#hop) to a *[final node](#final-node)*. It is also the first [sending peer](#sending-peer) in a chain.
|
||||
* _See category: [node](#node)_
|
||||
* _See related: [final node](#final-node), [processing node](#processing-node)_
|
||||
|
||||
* *Outpoint*:
|
||||
* #### *Outpoint*:
|
||||
* A transaction hash and output index that uniquely identify an unspent transaction output. Needed to compose a new transaction, as an input.
|
||||
* _See related: funding transaction, commitment transaction_
|
||||
* _See related: [funding transaction](#funding-transaction), [commitment transaction](#commitment-transaction)_
|
||||
|
||||
* *Payment hash*:
|
||||
* The *HTLC* contains the payment hash, which is the hash of the
|
||||
*payment preimage*.
|
||||
* _See container: HTLC_
|
||||
* _See originator: payment preimage_
|
||||
* #### *Payment hash*:
|
||||
* The *[HTLC](#HTLC-Hashed-Time-Locked-Contract)* contains the payment hash, which is the hash of the
|
||||
*[payment preimage](#Payment-preimage)*.
|
||||
* _See container: [HTLC](#HTLC-Hashed-Time-Locked-Contract)_
|
||||
* _See originator: [Payment preimage](#Payment-preimage)_
|
||||
|
||||
* *Payment preimage*:
|
||||
* #### *Payment preimage*:
|
||||
* Proof that payment has been received, held by
|
||||
the final recipient, who is the only person who knows this
|
||||
secret. The final recipient releases the preimage in order to
|
||||
release funds. The payment preimage is hashed as the *payment hash*
|
||||
in the *HTLC*.
|
||||
* _See container: HTLC_
|
||||
* _See derivation: payment hash_
|
||||
release funds. The payment preimage is hashed as the *[payment hash](#Payment-hash)*
|
||||
in the *[HTLC](#HTLC-Hashed-Time-Locked-Contract)*.
|
||||
* _See container: [HTLC](#HTLC-Hashed-Time-Locked-Contract)_
|
||||
* _See derivation: [payment hash](#Payment-hash)_
|
||||
|
||||
* *Peers*:
|
||||
* Two *nodes* that are in communication with each other.
|
||||
* #### *Peers*:
|
||||
* Two *[nodes](#node)* that are in communication with each other.
|
||||
* Two peers may gossip with each other prior to setting up a channel.
|
||||
* Two peers may establish a *channel* through which they transact.
|
||||
* _See related: node_
|
||||
* Two peers may establish a *[channel](#channel)* through which they transact.
|
||||
* _See related: [node](#node)_
|
||||
|
||||
* *Penalty transaction*:
|
||||
* A transaction that spends all outputs of a *revoked commitment
|
||||
transaction*, using the *commitment revocation private key*. A *peer* uses this
|
||||
if the other peer tries to "cheat" by broadcasting a *revoked
|
||||
commitment transaction*.
|
||||
* _See related: closing transaction, commitment transaction, funding transaction_
|
||||
* #### *Penalty transaction*:
|
||||
* A transaction that spends all outputs of a *[revoked commitment
|
||||
transaction](#revoked-commitment-transaction)*, using the *commitment revocation private key*. A *[peer](#peers)* uses this
|
||||
if the other peer tries to "cheat" by broadcasting a *[revoked commitment
|
||||
transaction](#revoked-commitment-transaction)*.
|
||||
* _See related: [closing transaction](#closing-transaction), [commitment transaction](#commitment-transaction), [funding transaction](#funding-transaction)_
|
||||
|
||||
* *Per-commitment secret*:
|
||||
* Every *commitment transaction* derives its keys from a per-commitment secret,
|
||||
* #### *Per-commitment secret*:
|
||||
* Every *[commitment transaction](#commitment-transaction)* derives its keys from a per-commitment secret,
|
||||
which is generated such that the series of per-commitment secrets
|
||||
for all previous commitments can be stored compactly.
|
||||
* _See container: commitment transaction_
|
||||
* _See derivation: commitment revocation private key_
|
||||
* _See container: [commitment transaction](#commitment-transaction)_
|
||||
* _See derivation: [commitment revocation private key](#commitment-revocation-private-key)_
|
||||
|
||||
* *Processing node*:
|
||||
* A *node* that is processing a packet that originated with an *origin node* and that is being sent toward a *final node* in order to route a payment. It acts as a _receiving peer_ to receive the message, then a _sending peer_ to send on the packet.
|
||||
* _See category: node_
|
||||
* _See related: final node, origin node_
|
||||
* #### *Processing node*:
|
||||
* A *[node](#node)* that is processing a packet that originated with an *[origin node](#origin-node)* and that is being sent toward a *[final node](#final-node)* in order to route a payment. It acts as a *[receiving peer](#receiving-peer)* to receive the message, then a [sending peer](#sending-peer) to send on the packet.
|
||||
* _See category: [node](#node)_
|
||||
* _See related: [final node](#final-node), [origin node](#origin-node)_
|
||||
|
||||
* *Receiving node*:
|
||||
* A *node* that is receiving a message.
|
||||
* _See category: node_
|
||||
* _See related: sending node_
|
||||
* #### *Receiving node*:
|
||||
* A *[node](#node)* that is receiving a message.
|
||||
* _See category: [node](#node)_
|
||||
* _See related: [sending node](#sending-node)_
|
||||
|
||||
* *Receiving peer*:
|
||||
* A *node* that is receiving a message from a directly connected *peer*.
|
||||
* _See category: peer_
|
||||
* _See related: sending peer_
|
||||
* #### *Receiving peer*:
|
||||
* A *[node](#node)* that is receiving a message from a directly connected *peer*.
|
||||
* _See category: [peer](#Peers)_
|
||||
* _See related: [sending peer](#sending-peer)_
|
||||
|
||||
* *Revoked commitment transaction*:
|
||||
* An old *commitment transaction* that has been revoked because a new commitment transaction has been negotiated.
|
||||
* _See category: commitment transaction_
|
||||
* #### *Revoked commitment transaction*:
|
||||
* An old *[commitment transaction](#commitment-transaction)* that has been revoked because a new commitment transaction has been negotiated.
|
||||
* _See category: [commitment transaction](#commitment-transaction)_
|
||||
|
||||
* *Revoked transaction close*:
|
||||
* An invalid close of a *channel*, accomplished by broadcasting a *revoked
|
||||
* #### *Revoked transaction close*:
|
||||
* An invalid close of a *[channel](#channel)*, accomplished by broadcasting a *revoked
|
||||
commitment transaction*. Since the other *peer* knows the
|
||||
*commitment revocation secret key*, it can create a *penalty transaction*.
|
||||
* _See related: mutual close, unilateral close_
|
||||
*commitment revocation secret key*, it can create a *[penalty transaction](#penalty-transaction)*.
|
||||
* _See related: [mutual close](#mutual-close), [unilateral close](#unilateral-close)_
|
||||
|
||||
* *Route*: A path across the Lightning Network that enables a payment
|
||||
from an *origin node* to a *final node* across one or more
|
||||
*hops*.
|
||||
* _See related: channel_
|
||||
* #### *Route*:
|
||||
* A path across the Lightning Network that enables a payment
|
||||
from an *origin node* to a *[final node](#final-node)* across one or more
|
||||
*[hops](#hop)*.
|
||||
* _See related: [channel](#channel)_
|
||||
|
||||
* *Sending node*:
|
||||
* A *node* that is sending a message.
|
||||
* _See category: node_
|
||||
* _See related: receiving node_
|
||||
* #### *Sending node*:
|
||||
* A *[node](#node)* that is sending a message.
|
||||
* _See category: [node](#node)_
|
||||
* _See related: [receiving node](#receiving-node)_
|
||||
|
||||
* *Sending peer*:
|
||||
* A *node* that is sending a message to a directly connected *peer*.
|
||||
* _See category: peer_
|
||||
* _See related: receiving peer_.
|
||||
* #### *Sending peer*:
|
||||
* A *[node](#node)* that is sending a message to a directly connected *peer*.
|
||||
* _See category: [peer](#Peers)_
|
||||
* _See related: [receiving peer](#receiving-peer)_.
|
||||
|
||||
* *Unilateral close*:
|
||||
* An uncooperative close of a *channel*, accomplished by broadcasting a
|
||||
*commitment transaction*. This transaction is larger (i.e. less
|
||||
efficient) than a *closing transaction*, and the *peer* whose
|
||||
* #### *Unilateral close*:
|
||||
* An uncooperative close of a *[channel](#channel)*, accomplished by broadcasting a
|
||||
*[commitment transaction](#commitment-transaction)*. This transaction is larger (i.e. less
|
||||
efficient) than a *[closing transaction](#closing-transaction)*, and the *[peer](#peers)* whose
|
||||
commitment is broadcast cannot access its own outputs for some
|
||||
previously-negotiated duration.
|
||||
* _See related: mutual close, revoked transaction close_
|
||||
* _See related: [mutual close](#mutual-close), [revoked transaction close](#revoked-transaction-close)_
|
||||
|
||||
## Theme Song
|
||||
|
||||
@ -299,7 +300,7 @@ See [BOLT #11: Invoice Protocol for Lightning Payments](11-payment-encoding.md)
|
||||
Then kaboom: we'll hit the moon -- release Lightning!
|
||||
(Go, go, go, go; go, go, go, go, go, go)
|
||||
|
||||
|
||||
|
||||
We'll have QR codes, and smartphone apps, oh yeah.
|
||||
(Ooo ooo ooo ooo ooo ooo ooo)
|
||||
P2P messaging, and passive incomes, oh yeah.
|
||||
|
Loading…
Reference in New Issue
Block a user