Love the inspiration from Yggdrasil with the hashed key -> IP concept. How do you enforce the geographical part? And what do you use from transport? WireGuard?
Transport is custom in order to support source routing, but I use the WireGuard library for setting up the interface and such.
(I have experience with cryptography in network protocols from Safing/SPN - the cryptography of which was audited without fault. Also, I am _very_ cautious and keep to standards as close as possible.)
How does peer discovery work? Where do the region buckets live?
Every router announces itself on the network. Routers can optionally publish their IANA IP addresses.
Buckets live on the routers themselves.