description |
---|
All your Lightning Network terms explained in one place. |
The default port used by Lightning nodes to advertise incoming peer-to-peer connections.
Aezeed is the mechanism through which the private keys of a LND node are derived from a seed phrase. Unlike other popular seed phrase formats, it allows for versioning and wallet birth dates.
Anchor channels include up to two special outputs called anchors which are used for timely CPFP fee-bumping of force-closed channels.
Aperture is an implementation of a L402 proxy server developed by Lightning Labs.
If two assets of the same kind are combined, this is called an asset merge.
If an asset is divided into two parts, it is split.
Atomic refers to an action that is either completed in its entirety, or not at all. Lightning payments are atomic across routes, in that they either reach their destination or never leave their origin. Submarine swaps are atomic, in that either the swap succeeds or funds never leave their origin, and AMPs are atomic in that either all shards arrive at the destination, or none.
Atomic Multi-path Payments (AMP) is a payment standard that allows a payment to be made over multiple channels. Unlike MPP each individual shard has its own payment hash, which allows for payments being made atomically. AMP also allows for static invoices and to send funds solely using the recipient's public key, as well as attaching messages to these payments.
-> Further reading: Atomic Multi-path Payments explained
Autoloop is a mechanism of Loop to automatically perform Loop In and Out based on predefined thresholds. It is used for liquidity management.
A Lightning node can charge a fee for each forwarded payment. This fee includes the base fee, which is a constant amount charged for each forward, typically 1 satoshi.
An encoding scheme for Bitcoin addresses conceived by Satoshi Nakamoto, consisting of both uppercase and lowercase letters and numbers. An example of a Base58 encoded address: 1JqDybm2nWTENrHvMyafbSXXtTk5Uv5QAn
-> Further reading: Base58 in the Bitcoin source code
Basics of Lightning Technology (BOLT) is the name of the Lightning Network protocol standard. A given implementation of the Lightning Network needs to follow all rules laid out by the BOLT standard to be considered a full Lightning Node.
An encoding scheme for Bitcoin addresses and Lightning invoices, recognizable by either being all uppercase or lowercase. Example of a bech32 address: bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4
-> Further reading: Bech32 in the Bitcoin source code
BIP 157 is a standard that allows full Bitcoin nodes to serve Lightning Network light clients. It is often referred to as Neutrino.
-> Further reading: BIP157 full text
-> Further reading: Enable Neutrino mode in Bitcoin Core
Bitcoin is a network established in 2009 by Satoshi Nakamoto. It introduces the bitcoin currency, which is used in the Lightning Network for fast and cheap payments.
Popular software used as a backend for LND to look up on-chain balances and verify channel states. See also bitcoind.
Further reading: Bitcoin Core project website
The Bitcoin Daemon (bitcoind) is the most popular software used to connect to the Bitcoin network, verify and broadcast payments. It commonly serves as a backend for LND. See also Bitcoin Core.
Further reading: Bitcoind source repository
Balance of Satoshis (BoS) is software developed by Alex Bosworth to assist a node operator with setting fees or circular rebalancing.
Further reading: BoS source repository
BTCD is an implementation of the Bitcoin protocol written in go. It is a popular alternative to bitcoind for LND node operators
Further reading: Btcd source repository
The Bitcoin Blockchain contains all transactions ever made in Bitcoin. A LND node uses bitcoind or btcd to inspect the chain and verify payment channels, as well as payments that were sent and received on-chain.
See Payment channel.
When a peer publishes an invalid commitment transaction in an attempt to steal funds, this is considered a channel breach. Such breaches need to be detected within the time lock either by the node or a watchtower to be successfully contested.
The channel point is the transaction ID and output ID that establishes a Lightning channel. It is typically expressed by <txid>:<output>
.
A channel that is always online and able to route payments in both directions is considered stable. To be stable, a channel needs to have two stable peers that carefully manage their liquidity.
Read more: Lightning Terminal health checks
Chantools is a channel and fund recovery tool for -> Lightning nodes written by Oliver Gugger.
Further reading: Chantools source repository
A circular rebalance is a payment from a node to itself through an external path, often used to shift balances from one channel to another.
C-Lightning is an implementation of a Lightning Network node written in C by Blockstream.
Check Lock-time Verify is a functionality in Bitcoin that allows us to lock Bitcoin for a period of time. It is an important part of the mechanism of a commitment transaction. Defined in BIP 65.
Further reading: BIP 65 full text
Clustering allows us to use multiple LND nodes to form a cluster, in which we can delegate specific tasks such as managing invoices or maintaining channels for performance or security purposes.
In the context of cryptography, committing refers to the act of proving that certain data exists at a point in time, without necessarily revealing the data. Typically, this is done with a hash of the data. Only an entity that knows about the full data would have been able to produce a hash of it, thus, proving its existence.
The commitment fee is the fee a commitment transaction pays to the Bitcoin miner. Since the commitment fee needs to be calculated well in advance, it can sometimes be larger than necessary. Anchor channels help alleviate this problem and better calculate this fee.
The commitment transaction refunds you the balance in your Lightning channel in the event that your peer goes offline or becomes uncooperative. Also see force closure.
Check Sequence Verify is a functionality in Bitcoin that allows us to lock Bitcoin relative to its input transaction. It is an important part of the mechanism of a sweep transaction. Defined in BIP 112.
Further reading: BIP 112 full text
Child Pays For Parent is a method of effectively increasing the fee of an unconfirmed on-chain transaction (parent) by spending one of its outputs with a fee high enough to cover both the parent and the child transaction. To collect the high fee of the child transaction, a miner now has to include both the child and the parent transaction into a block. Unlike RBF this mechanism can also be used by the recipient of a transaction.
Read more: Unconfirmed Bitcoin transactions
A custodial channel is a channel that is not committed on the Bitcoin blockchain. As such, all funds in it are in the custody of one party.
Eclair is an implementation of a Lightning Network node written in Scala by ACINQ.
Electrum is a popular Bitcoin wallet written in Python originally by Thomas Voegtlin. It features a Lightning Network node implementation.
Eltoo (from L2) is a proposed upgrade to the Lightning Network, enabling new functionalities.
An explorer is software or a service that lets you inspect transactions, nodes, and network metrics. There are explorers focusing mainly on on-chain data as well as Lightning Network explorers.
Read more: Community Resources
Faraday is analytics software developed by Lightning Labs that can help identify liquidity needs and profitable channels in a Lightning node.
Fees might occur as part of on-chain fees, which are paid to miners, or off-chain fees, which are paid to peers in the part of base fees and the fee rate.
The fee rate is part of the fee that each forwarded payment is charged by a node. The fee rate is measured in parts per million (ppm) of the forwarded payment, unlike the base fee.
When a channel peer is unreachable, or when there is a fundamental disagreement over the state of a channel, the channel needs to be force closed by either party. A force close broadcasts the commitment transaction.
Fuzz testing is the methodology of feeding invalid data to software with the intention of finding bugs and vulnerabilities.
The Lightning gossip network is used to broadcast information about channels and peers.
The Lightning Network graph contains information about all peers and their public channels, including fees and channel points.
gRPC is a Remote Procedure Call tool developed by Google, used in LND for remote calls.
A Hash Time-lock Contract (HTLC) is a Bitcoin transaction that either pays to a peer revealing a preimage secret or allows the sender to claim the funds back after a CSV certain period. The Lightning Network uses HTLCs to guarantee payments between peers.
Read more: Hash Time-lock Contracts explained
Hidden Service
See also Onion Service.
A hodl invoice (also: hold invoice) is a regular Lightning invoice, but the recipient will "hold" the preimage. Hodl invoices are used for refundable deposits, for example in auctions.
Inbound capacity is the amount of satoshis a node is able to receive through a given channel or all channels together. A channel's inbound capacity and outbound capacity together define a channel's total capacity, as defined at its creation.
Read more: How to get inbound capacity
To receive Lightning payments, the recipient typically issues an invoice containing information such as public key, payment hash or an invoice amount and label. Invoices are defined in BOLT 11.
Read more: Understanding Lightning invoices
Keysend allows users of the Lightning Network to send funds to a node's public key.
Read more: Send messages with keysend
A leaf is the part of a Merkle tree that carries the data that the tree attests to.
A private company helping to maintain LND. Lightning Labs also develops tools like Lightning Loop, Pool, Faraday, Lightning Terminal, and more.
Read more: Lightning Labs home page
The Lightning Network is a payment network built on top of Bitcoin. It uses Lightning Channels to route payments secured by HTLCs backed on the Bitcoin Blockchain.
A Lightning Network node is software that allows you to join the Lightning Network, make, receive and route payments. The full specification of a Lightning Node is laid out in BOLT.
Read more: Get started with LND
Lightning Node Connect (LNC) is a protocol to connect remotely to your Lightning node through a proxy.
Read more: Lightning Node Connect under the hood
The Lightning Network Daemon (LND) is a popular implementation of the Lightning Network written in Go and developed by Lightning Labs.
Further reading: The LND source repository
A Lightning Service Provider (LSP) provides commercial liquidity and routing services on the Lightning Network. For example, a LSP might provide funds for automatic channel opening, inbound liquidity or routing information.
Further reading: Lightning Service Providers
A web-based graphical interface and utility tool for Lightning nodes. Runs litd and uses Lightning Node Connect.
Liquidity management is the process of allocating funds to where they are needed or most productive. Liquidity management includes opening and closing channels, circular rebalances as well as transactions on Lightning Loop and Pool.
Read more: Understanding liquidity in the Lightning Network
The Lightning Terminal Daemon (litd) bundles Lightning Loop, Lightning Pool and Faraday in a UI. It is run locally and allows for remote access to Lightning Terminal via Lightning Node Connect.
The Lightning Node Command Line Interface (LNCLI) is part of the Lightning Network Daemon (LND). It is used to maintain a Lightning Node with RPC calls.
A Lightning Node URL is a URL encoded in bech32 with the prefix lnurl
. It is commonly used to make payments, withdrawals and even authentication.
Further reading: LNURL specification
Loop is a non-custodial service by Lightning Labs to perform Submarine Swaps between on-chain and off-chain bitcoin.
Loop In is the process of sending on-chain bitcoin and receiving the equivalent (minus fees) in your Lightning channel using Lightning Loop.
Loop Out is the process of making a Lightning payment and receiving an equivalent amount (minus fees) in your on-chain Bitcoin wallet using Lightning Loop.
The L402 protocol combines Macaroons with preimages as proof of payment to create tickets for paid APIs or other services that require authentication and payment. It is named after the HTTP 402 error code.
Macaroons are bearer credentials that allow for detailed attenuation as well as delegation.
Read more: Macaroons explained
A Merkle Sum tree is a type of Merkle tree in which each node not only carries the hash of the nodes or leaves underneath, but also the sum of their values. In such a tree, the Merkle tree root will carry the total sum of all values in the Merkle tree.
A Merkle tree is a data structure that commits to multiple sets of data using a single identifying hash, the -> Merkle tree root. The data that the tree commits to lies at the leaves. Two leaves are hashed into a node, two nodes are hashed into a higher level node. The top node makes up the root.
A Merkle tree node is a hash of either two leaves, or two nodes of a lower level.
The Merkle tree root is a single hash that identifies all data in a Merkle tree. If a single bit in the tree changes, the root changes too.
A millibitcoin is a thousandth of a bitcoin, or 0.001 BTC.
A millisatoshi is a thousandth of a satoshi, or a 100 billionth of a bitcoin.
A Multi-path Payment is a Lightning payment that reaches its destination through multiple routes in parallel. MPP and AMP are both an implementation of this idea.
Read more: Multi-path Payments
A multisignature bitcoin address is an address from which bitcoin can only be spent with multiple signatures. A multisignature address can be m of n, meaning that n keys exist, and m signatures need to be present. Lightning channels use 2-of-2 multisignature accounts.
Network Address Translation is used to operate multiple networked devices behind a single IP address, for instance at home behind a router. NAT can pose a challenge to running Lightning nodes at home, requiring instead tools such as Tor and LNC.
Neutrino is a technology that allows a LND node to use a remote Bitcoin node as a back end, making it possible to run a Lightning node on a low-powered device such as a phone. See also BIP 157.
Noise is the encryption protocol used to establish and authenticate communications between Lightning nodes.
Further reading: Noise protocol
A 'nested pay to witness key hash' is a segwit address encoded similarly to a legacy address in Base58. They begin with '3'.
Off-chain is any transfer or action taken on the Lightning Network. Such transactions are not settled directly on the Bitcoin blockchain.
On-chain transactions and actions are those settled directly on the Bitcoin blockchain, for instance a traditional Bitcoin transaction made to a Bitcoin address.
An onion address is an identifier, similar to a url, pointing to a -> onion service. It usually comes in the form of a long, all-lowercase string ending in .onion.
Onion routing describes the methodology of encrypting messages inside of encrypted messages, which are passed from hop to hop. Each hop is only able to decipher messages intended for itself, not any predecessor or successor. Onion routing is used to transfer data in the Tor Network as well as to pass on payments and messages in the Lightning Network using Sphinx.
An Onion Service is a HTTP endpoint available only through the Tor Network. Lightning Nodes often use Onion Services to hide their location or make themselves available behind a NAT. Onion Services typically end in .onion.
Further reading: Onion Services explained
Outbound capacity describes the amount of satoshi a node is able to send through a single channel, or all channels together.
Read more: Managing liquidity on the Lightning Network
See - Transaction ID
Pay to witness key hash is a Bitcoin address format. They are encoded with Bech32, start with bc1q and are also referred to as "native segwit" addresses.
A pairing phrase looks similar to a seed phrase and is used in Lightning Node Connect to authenticate and secure a remote connection.
Read more: Connect to Lightning Terminal
Partially signed Bitcoin transactions (PSBT) are a standard on how to pass incomplete, or partially signed transactions between wallets. This can be useful for multi-signature wallets and complex scripts and is used in LND to handle watch-only wallets.
Read more: Partially signed bitcoin transactions
Passive assets describes the Taproot Assets which are retained by the user when other assets are being sent from their asset tree. The "passive" assets are those which the sender retains custody. While "active" assets are those actively being sent to a new user, or those being recustodied.
The process of finding a route for a payment. This is typically done by the payer, who might have to compute and try multiple routes before the payment succeeds.
Payments channels are 2-of-2 multisignature accounts held cooperatively by two peers, secured by commitment transactions. Payment channels make up the Lightning Network.
A payment hash is the hash of the preimage. A Lightning payment is made to this hash and can be claimed once the preimage is revealed.
In the Lightning Network, a peer is another node you connect to, possibly open a channel and routing payments through them. Anyone can start a node and become a peer, making Lightning a peer-to-peer network.
Read more: Identifying good peers in the Lightning Network
A peer-to-peer network is any system not relying on a leader, in which connections are made directly between peers without intermediaries.
Polar makes it easy to locally simulate the Lightning Network for testing purposes. Developed by Jamal James.
Further reading: Polar website
Lightning Pool is a marketplace for channel liquidity run by Lightning Labs. Through auctions, participants can signal a need for liquidity or offer to open channels to others for a fee.
A preimage is a random number generated by the payee, hashed and passed to the payer as part of the invoice. The preimage is revealed upon successful receipt of the payment, allowing each participant along the route to claim their funds as part of the HTLCs.
A private channel is a channel that is not announced to the network. As such it cannot be used for routing, and when receiving payments through a private channel its information needs to be included in the invoice.
Probing is the act of attempting payments through the Lightning Network without settling them in an attempt to discover routes or reveal channel capacity.
Point Time-locked Contracts (PTLCs) are a proposed improvement on HTLCs. It uses homomorphic one-way functions instead of hashes. When using PTLCs, there is no single preimage across a payment route, but instead each hop calculates its own secret. Using unique secrets per hop reduces the ability of an intermediary to trace the route a payment takes in the Lightning Network.
In cryptography, a public key can be used to verify signed data, as well as encrypt data for a recipient. In the Lightning Network each node is identified by its public key. This key is used to handle Onion routing, keysend messages, peer-to-peer communications and other data.
Replace by Fee is a mechanism that allows the sender of an unconfirmed on-chain Bitcoin transaction to replace the transaction with a higher fee transaction in the hope of getting it included into a block sooner.
Read more: Unconfirmed Bitcoin transactions
"Representational State Transfer" or REST is a software architecture style developed for the world wide web. LND offers a RESTful API, which follows the constraints set out in that standard.
RevokeAndAck is the process of revoking a previous commitment transaction and acknowledging a new state in a channel. It's a fundamental piece of how payments are forwarded and canceled in the Lightning Network.
The path a Lightning payment is taking from payer to payee. In the Lightning Network, the payer chooses the route, encrypts it and passes the payment on to the first peer, who passes it onto the next peer.
Remote Procedure Calls are a popular way of interfacing with LND. Specifically, LND supports the gRPC interface.
A satoshi is 1/100 millionth of a Bitcoin. In the Lightning Network a satoshi is further divisible into 1000 pieces (millisatoshi). It is named after Bitcoin's creator, Satoshi Nakamoto.
Satoshi Nakamoto is the pseudonym behind the creator(s) of Bitcoin.
Static channel backups (SCB) contain information about each channel peer and how to reach them. They are encrypted with a node's public key and can be used to request a remote force closure of a channel in the event of a catastrophic failure.
Read more: Planning for failure
A seed phrase is a collection of typically 12 to 24 words from which cryptographic keys are derived. This makes it possible to back up a series of private keys, for instance for multiple bitcoin addresses in a wallet with a single piece of static information. LND uses aezeed to derive private keys from a seed phrase.
A shard is a splinter of glass. In the context of the Lightning Network, a shard is a part of a Multi-path payment, such as MPP or AMP.
A sidecar channel refers to a channel purchased on Lightning Pool for a third party. Sidecar channels allow an auction participant to buy channels for others, for example mobile wallets that are not participating in the auction process directly.
A sidecar ticket allows the recipient of a Sidecar channel purchased on Pool to redeem the channel. The seller will then open the channel to the ticket holder.
A Sparse Merkle Sum tree (SMST) combines the properties of a -> Sparse Merkle tree and a Merkle Sum tree.
A Sparse Merkle Tree (SMT) is a data structure that, in addition to a normal Merkle-tree's ability to produce inclusion proofs, is able to provide non-inclusion proofs. This is achieved by placing an object at a leaf location defined by the binary expression of the SHA256 digest of that data. Each bit, of the digest, expresses the left-right traversal in a binary tree to locate the object. When the contents of many of the leaves are empty, many of the branches are null, leading to efficient computation during SMT generation and modification.
Sphinx is the name of the protocol by which the Lightning Network implements onion routing.
Further reading: Sphinx research paper
A submarine swap is a type of atomic swap in which -> on-chain bitcoin are swapped for off-chain bitcoin without either party assuming custody of the other's funds.
Read more: Understanding Submarine swaps
Funds held in some types of addresses have to be sweeped, meaning they have to be spent as soon as possible and sent to the user's main wallet. Mainly, this is done because they might otherwise not be recoverable in the event of data loss.
Taproot is a bitcoin transaction type introduced in November 2021 that allows for more advanced scripts, with major efficiency improvements relevant for the Lightning Network.
Further reading: Taproot BIP 341 full text
Taproot Assets is a protocol for issuing assets on Bitcoin. It uses Merkle Sum trees and Sparse Merkle trees to commit assets to the Bitcoin Blockchain. Assets can be committed to Lightning channels to instant transfers.
Read more: Understanding Taproot Assets
Time lock deltas such as CSV and CLTV are used in the Lightning Network to lock funds for a period of time, for example for arbitration purposes.
The Onion Router (Tor) is a public relay network primarily built to hide the origin and destination of packets on the internet. It is popular among Lightning Node operators to make their nodes accessible through Tor to avoid NAT barriers.
The transaction ID (txid) is the hash of a bitcoin transaction. Channels are identified by the transaction id of their funding transaction, see channel point.
A Turbo channel is a channel accepted as valid with zero confirmations on the Bitcoin blockchain. It requires some trust in the initiator.
In the context of Taproot, to tweak refers to the possibility of adding any data to the public key, in a way that anyone with the public key is able to verify the existence of this data. This is useful when committing to data, such as a Merkle tree root.
A unique asset is an asset that is not divisible, and cannot be exchanged for another asset of the same kind. This is contrary to fungible assets, such as money.
A universe is a repository for Taro assets. It serves information such as metadata and proofs to prospective and existing users and holders of such assets.
Unspent transaction outputs (unspent utxos) are funds available on-chain, for example to make on-chain payments or to open Lightning channels.
A wallet that is aware of balances and transactions, but does not possess the keys necessary to spend them. A watch-only wallet can create unsigned PSBTs which are then signed by the wallet holding the keys.
A watchtower consists of a client and a server. The client will share information relevant to channel breaches with the server, which will intervene in case they observe a breach on-chain. Watchtowers are needed in case the client is offline and unable to observe the breach themselves.
Read more: Configuring Watchtowers
In the early days of the Lightning Network, most clients would not allow opening channels larger than 16,777,215 (2^24 -1). Today, channels exceeding this limit are called Wumbo channels.
See also Turbo channel.
ZeroMQ is a messaging library used by Bitcoin Core to inform other software, for example LND of new blocks and transactions.
A zombie channel is a channel that still exists on-chain and in the graph, but hasn't been active in a while and is unlikely to become active again. It is recommended to close such channels.