2
0
mirror of https://github.com/lnbook/lnbook synced 2024-11-01 03:20:53 +00:00

Edited 12_path_finding.asciidoc with Atlas code editor

This commit is contained in:
kristen@oreilly.com 2021-10-15 06:41:52 -07:00
parent 951127d7cb
commit 29f1de2a4b

View File

@ -15,7 +15,7 @@ These components are highlighted by a double outline in the protocol suite, show
.The Lightning Network Protocol Suite
image::images/mtln_1201.png["The Lightning Network Protocol Suite"]
==== Where Is the Bolt?
==== Where Is the BOLT?
So far we've looked at several technologies that are part of the Lightning Network and we have seen their exact specification as part of a BOLT standard. You may be surprised to find that path finding is not part of the BOLTs!
@ -350,7 +350,7 @@ However, this knowledge becomes somewhat "stale" as the other nodes send or rout
Therefore, Selena's node must consider how long to keep this knowledge before assuming that it is stale and no longer useful.
[[mpp]]
=== Multi-Path Payments (Mpp)
=== Multi-Path Payments (MPP)
_Multi-Path Payments (MPP)_ are a feature that was introduced in the Lightning Network in 2020 and is already very widely available. Multi-Path Payments allow a payment to be split into multiple _parts_ which are sent as HTLCs over several different paths to the intended recipient, preserving the _atomicity_ of the overall payment. In this context, atomicity means that either all the HTLC parts of a payment are eventually fulfilled or the entire payment fails and all the HTLC parts fail. There is no possibility of a partially successful payment.
@ -361,7 +361,7 @@ Multi-Path Payments are a significant improvement in the Lightning Network as th
Now that MPP is available it is best to think of a single-path payment as a subcategory of a MPP. Essentially, a single-path is just a multi-path of size one. All payments can be considered as Multi-Path Payments unless the size of the payment and liquidity available make it possible to deliver with a single part.
====
==== Using Mpp
==== Using MPP
MPP is not something that a user will select, but rather it is a node path-finding and payment delivery strategy. The same basic steps are implemented: create a graph, select paths and the trial-and-error loop. The difference is that during path selection we must also consider how to split the payment in order to optimize delivery.