Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions 07-routing-gossip.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# BOLT #7: P2P Node and Channel Discovery

## Overview

This specification describes simple node discovery, channel discovery and channel update mechanisms which do not rely on a third-party to disseminate the information.

Node and channel discovery serve two different purposes:
Expand All @@ -13,6 +15,19 @@ There can only be one valid `channel_announcement` for any channel,
but multiple `node_announcement` messages are possible (to update node
information), and at least two `channel_update` messages are expected.

# Table of Contents

* [The `announcement_signatures` message](#the-announcement_signatures-message)
* [The `channel_announcement` message](#the-channel_announcement-message)
* [The `node_announcement` message](#the-node_announcement-message)
* [The `channel_update` message](#the-channel_update-message)
* [Initial Sync](#initial-sync)
* [Rebroadcasting](#rebroadcasting)
* [HTLC Fees](#htlc-fees)
* [Pruning the Network View](#pruning-the-network-view)
* [Recommendations for Routing](#recommendations-for-routing)
* [References](#references)

## The `announcement_signatures` message
This is a direct message between two endpoints of a channel and serves as an opt-in mechanism to allow the announcement of the channel to the rest of the network.
It contains the necessary signatures by the sender to construct the `channel_announcement` message.
Expand Down
25 changes: 25 additions & 0 deletions 08-transport.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# BOLT #8: Encrypted and Authenticated Transport

## Overview

All communications between Lightning nodes is encrypted in order to
provide confidentiality for all transcripts between nodes, and authenticated to
avoid malicious interference. Each node has a known long-term identifier which
Expand All @@ -8,6 +10,29 @@ used within the protocol to establish an encrypted+authenticated connection
with peers, and also to authenticate any information advertised on behalf
of a node.

# Table of Contents

* [Cryptographic Messaging Overview](#cryptographic-messaging-overview)
* [Authenticated Key Agreement Handshake](#authenticated-key-agreement-handshake)
* [Handshake Versioning](#handshake-versioning)
* [Noise Protocol Instantiation](#noise-protocol-instantiation)
* [Authenticated Key Exchange Handshake Specification](#authenticated-key-exchange-handshake-specification)
* [Handshake State](#handshake-state)
* [Handshake State Initialization](#handshake-state-initialization)
* [Handshake Exchange](#handshake-exchange)
* [Lightning Message Specification](#lightning-message-specification)
* [Encrypting Messages](#encrypting-messages)
* [Decrypting Messages](#decrypting-messages)
* [Lightning Message Key Rotation](#lightning-message-key-rotation)
* [Security Considerations](#security-considerations)
* [Appendix A: Transport Test Vectors](#appendix-a-transport-test-vectors)
* [Initiator Tests](#initiator-tests)
* [Responder Tests](#responder-tests)
* [Message Encryption Tests](#message-encryption-tests)
* [Acknowledgments](#acknowledgments)
* [References](#references)
* [Authors](#authors)

## Cryptographic Messaging Overview

Prior to sending any lightning messages, nodes must first initiate the
Expand Down
17 changes: 17 additions & 0 deletions 11-payment-encoding.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,23 @@ A simple, extensible QR-code-ready protocol for requesting payments
over Lightning.

# Table of Contents

* [Encoding Overview](#encoding-overview)
* [Requirements](#requirements)
* [Human Readable Part](#human-readable-part)
* [Requirements](#requirements-1)
* [Rationale](#rationale)
* [Data Part](#data-part)
* [Requirements](#requirements-2)
* [Rationale](#rationale-1)
* [Tagged Fields](#tagged-fields)
* [Requirements](#requirements-3)
* [Rationale](#rationale-2)
* [Payer / Payee Interactions](#payer--payee-interactions)
* [Payer / Payee Requirements](#payer--payee-requirements)
* [Implementation](#implementation)
* [Examples](#examples)
* [Authors](#authors)

# Encoding Overview

Expand Down