lnd/routing
bitromortac 1dd7a37d4d
routing: apply capacity factor
We multiply the apriori probability with a factor to take capacity into
account:

P *= 1 - 1 / [1 + exp(-(amount - cutoff)/smearing)]

The factor is a function value between 1 (small amount) and 0 (high
amount). The zero limit may not be reached exactly depending on the
smearing and cutoff combination. The function is a logistic function
mirrored about the y-axis. The cutoff determines the amount at which a
significant reduction in probability takes place and the smearing
parameter defines how smooth the transition from 1 to 0 is. Both, the
cutoff and smearing parameters are defined in terms of fixed fractions
of the capacity.
2022-12-12 13:22:29 +01:00
..
chainview routing: use T.TempDir to create temporary test directory 2022-08-24 09:03:05 +08:00
localchans multi: use btcd's btcec/v2 and btcutil modules 2022-03-09 19:02:37 +01:00
route routing+channeldb: send payment metadata from invoice 2022-04-13 22:55:40 +02:00
shards multi: Fix typos [skip ci] 2022-01-24 12:19:02 +02:00
testdata routing: add private key attribute in router test 2021-06-23 18:13:02 +08:00
ann_validation.go multi: use btcd's btcec/v2 and btcutil modules 2022-03-09 19:02:37 +01:00
bandwidth_test.go multi: use btcd's btcec/v2 and btcutil modules 2022-03-09 19:02:37 +01:00
bandwidth.go multi: formatting and comment fixes 2022-02-10 11:02:02 +01:00
control_tower_test.go routing: rename Fail to FailPayment 2022-12-07 18:38:01 +08:00
control_tower.go routing: rename Fail to FailPayment 2022-12-07 18:38:01 +08:00
errors.go multi: Fix typos [skip ci] 2022-01-24 12:19:02 +02:00
graph.go routing+routerrpc: add capacity in rpcs 2022-12-12 13:22:29 +01:00
heap_test.go routing: optimize path finding structures 2019-10-24 21:38:07 -03:00
heap.go multi: use minimal policy in cache 2021-09-29 17:00:04 +02:00
integrated_routing_context_test.go routing: Fix possible infinite loop on first hop misleading hint 2022-11-11 04:23:55 -03:00
integrated_routing_test.go routing: Fix possible infinite loop on first hop misleading hint 2022-11-11 04:23:55 -03:00
log.go routing: define subsystem constant 2019-12-11 00:17:04 +01:00
missioncontrol_state_test.go multi: formatting and comment fixes 2022-02-10 11:02:02 +01:00
missioncontrol_state.go multi: Fix typos [skip ci] 2022-01-24 12:19:02 +02:00
missioncontrol_store_test.go routing: use T.TempDir to create temporary test directory 2022-08-24 09:03:05 +08:00
missioncontrol_store.go lnwire: allow longer failure messages 2022-12-02 14:27:59 +01:00
missioncontrol_test.go routing: apply capacity factor 2022-12-12 13:22:29 +01:00
missioncontrol.go routing: use capacity in pathfinding 2022-12-12 13:22:28 +01:00
mock_graph_test.go routing+routerrpc: add capacity in rpcs 2022-12-12 13:22:29 +01:00
mock_test.go routing: use capacity in pathfinding 2022-12-12 13:22:28 +01:00
nodepair.go routing: extended DirectedNodePair functionality 2019-08-13 18:45:06 +02:00
notifications_test.go routing: replace defer cleanup with t.Cleanup 2022-10-13 17:47:04 +08:00
notifications.go multi: use btcd's btcec/v2 and btcutil modules 2022-03-09 19:02:37 +01:00
pathfind_test.go routing+routerrpc: add capacity in rpcs 2022-12-12 13:22:29 +01:00
pathfind.go router: return probability from findPath 2022-12-12 13:22:29 +01:00
payment_lifecycle_test.go routing: stop tracking totalAmount in paymentLifecycle 2022-12-07 18:38:01 +08:00
payment_lifecycle.go routing: stop tracking totalAmount in paymentLifecycle 2022-12-07 18:38:01 +08:00
payment_session_source.go routing+routerrpc: add capacity in rpcs 2022-12-12 13:22:29 +01:00
payment_session_test.go router: return probability from findPath 2022-12-12 13:22:29 +01:00
payment_session.go router: return probability from findPath 2022-12-12 13:22:29 +01:00
probability_estimator_test.go routing: apply capacity factor 2022-12-12 13:22:29 +01:00
probability_estimator.go routing: apply capacity factor 2022-12-12 13:22:29 +01:00
README.md scripted-diff: replace ⛰ emoji with $ [skip ci] 2022-10-28 12:06:49 -04:00
result_interpretation_test.go multi: run gosimports 2022-02-10 11:02:01 +01:00
result_interpretation.go multi: Fix typos [skip ci] 2022-01-24 12:19:02 +02:00
router_test.go router: return probability from findPath 2022-12-12 13:22:29 +01:00
router.go router: return probability from findPath 2022-12-12 13:22:29 +01:00
setup_test.go channeldb/test: test with postgres 2021-10-29 10:54:44 +02:00
stats.go routing/router: log aggregate graph processing stats 2019-06-13 18:18:30 -07:00
unified_edges_test.go routing: implement capacity in getEdge 2022-12-12 13:22:28 +01:00
unified_edges.go routing: implement capacity in getEdge 2022-12-12 13:22:28 +01:00
validation_barrier_test.go routing+discovery: uniform error codes in routing 2022-01-05 04:27:33 +08:00
validation_barrier.go routing: refactor WaitForDependants to allow detailed logging 2022-12-08 17:57:01 +08:00

routing

Build Status MIT licensed GoDoc

The routing package implements authentication+validation of channel announcements, pruning of the channel graph, path finding within the network, sending outgoing payments into the network and synchronizing new peers to our channel graph state.

Installation and Updating

$  go get -u github.com/lightningnetwork/lnd/routing