Skip to content

Commit d47e089

Browse files
author
Antoine Riard
committed
Add a GLOSSARY.md
Closes #766 Contributions by Devrandom <[email protected]>
1 parent 9c9c881 commit d47e089

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

GLOSSARY.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Glossary
2+
3+
This document gathers the canonical nomenclature of the Lightning concepts used by the LDK contributors. Note, they may diverge from the BOLT specs or the ones used by the wider Lightning community, the test of time has revealed that it can be hard to agree on terms employed. The following terms are employed with a best effort across the codebase aiming to reduce both code reviewers and library users confusion.
4+
5+
### Channel Initiator
6+
7+
In LDK context, the channel initiator is the entity who is taking the decision to open a channel. Finalization is relying on counterparty channel acceptance policy. Within current protocol version, the initiator has the burden to pay channel onchain fees.
8+
9+
### Holder/Counterparty
10+
11+
Inspired by financial cryptography, the holder is the entity beneficiary of a right. In LDK context, the holder is the entity who is served by the implementation in its channel operations. The counterparty is the entity participating in the channel operation as a peer, but of whom the interests are not of concern by the implementation.
12+
13+
Used across the channel-management subsystem (`Channel`).
14+
15+
### Broadcaster/Countersignatory
16+
17+
In Lightning, states are symmetric but punishment is asymmetric, which forces channel parties to hold different commitment transactions. At transaction construction, the broadcaster designates the entity which has the unilateral capability to broadcast the tranaction. The countersignatory is the entity providing signatures for the broadcastable transaction and thus verifying its encodes the off-chain states. At any point in time, there should be two "latest" commitment transactions that have been processed by each party's implementation, one where the holder is the broadcaster and counterparty is countersignatory, and one where the holder is the countersignatory and the counterparty is the broadcaster.
18+
19+
Used across the channel-utils library (`chan_utils.rs`).
20+
21+
### Watchtower
22+
23+
An external untrusted service, which can only publish justice transactions. The security property of a watchtower is that if you subscribe to n of them, you will be safe if at least 1 does the right thing.
24+
25+
Used across the monitoring (`ChannelMonitor`) and onchain (`OnchainTxHandler`) subsystems.
26+
27+
### Monitor Replicata
28+
29+
An instance of a highly available distributed channel-monitor. It must have a correctly working HSM, because they have sensitive keys that can cause loss of all funds in the channel.
30+
31+
Used across the monitoring (`ChannelMonitor`) and onchain (`OnchainTxHandler`) subsystems.

0 commit comments

Comments
 (0)