Skip to content

Commit 032ad20

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

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

GLOSSARY.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
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+
### Holder/Counterparty
6+
7+
Inspired by financial cryptography, the holder is the entity beneficiary of a right. In LDK context, it designates 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. Those roles are fixed for the lifetime of a channel and doesn't change in fonction of the state (message, blocks, ...) processed.
8+
9+
Used across the channel-management subsystem (`Channel`).
10+
11+
### Broadcaster/Countersignatory
12+
13+
In Lightning, states are symmetrics 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 designates the entity providing signatures for the broadcastable transaction and thus verifying its encodes the off-chain states. Those roles are dynamic for the lifetime of a channel and change during the phases of a channel update.
14+
15+
Used across the channel-utils library (`chan_utils.rs`).
16+
17+
### Watchtower
18+
19+
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.
20+
21+
Used across the monitoring (`ChannelMonitor`) and onchain (`OnchainTxHandler`) subsystems.
22+
23+
### Monitor Replicata
24+
25+
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.
26+
27+
Used across the monitoring (`ChannelMonitor`) and onchain (`OnchainTxHandler`) subsystems.

0 commit comments

Comments
 (0)