Trampoline Routing #654
This proposal allows nodes running on constrained devices to sync only a small portion of the network
The main idea is to use layered onions: a normal onion contains a smaller onion for the last hop of the route, and that smaller onion contains routing information to reach the next trampoline hop.
Note that this PR contains more information than what we will eventually add to the spec: this is to help readers understand the motivation more clearly, see the big picture and understand the algorithm more easily.
Once (if?) we have a concept ACK, this PR could be split into several PRs that can be implemented one at a time: