Routing on Lightning is an optimization problem with continuous development,
developers do not only aim to reduce the computational costs and increase the
privacy, they also mean to delegate route computations to other nodes in a
trustless manner, lets take a look at layer 1 for an example.
Full nodes are nodes that verify transactions themselves, they hold the entire
blockchain and the UTXO set which makes them able to verify any transaction
based on a defined consensus and the history of the transaction inputs. On the
other hand lite clients use methods such as SPV to verify the existence of a
transaction in a block without downloading the block itself, they rely on other
full nodes to make that CPU/Memory heavy operation for them.
The way Lightning currently works is that the sender calculates the route from
its node to the receiver’s node, this means that the sender’s node must have an
updated network of nodes, it might not be connected to the receiver directly
but it is connected through a path in the network.
This might be fine for Lightning in its current state, but it won’t be if the
number of channels expand into the millions due to adoption. Trampoline
payments is a new suggested way of outsourcing that aims at having lite clients
outsourcing the route computation to trampoline nodes, nodes of higher Memory,
bandwidth and computation power.