This seems very similar to cjdns[1]
I've been working on a python frontend for it; I call it Cirque. https://github.com/jMyles/cirque
Not saying that's necessarily a bad idea; cjdns seems to be useful to the people that use it. But if I want to build an app that communicates P2P over such a network, a manual step to join the network won't fly.
There's nightfall[0] to find/announce public peers, but I consider it very beta (quickly hacked together on a bus trip).