I'm a member of a not for profit private wireless network that operates in the 172.16.0.0/12 address space and is made up of individually run nodes that are connected. It's a bit like the OP envisaged, but not really targeted at a doomsday scenario. This is also not a true dynamic mesh network. More fixed point-to-point, but the topology is mesh like.
I have set up a bitcoin node on this network and 1 or two guys connect to me. The problem with using this space is that the standard bitcoin code severely limits discovery on this address space as it is considered private ips. My node happens to be also internet connected so acts like a gateway on this network.
Some issues I recall:
- node doesn't advertise a private ip
- node doesn't allow multiple connections in the same16 subnet
- node doesn't get it's own ip from other nodes. So my node only advertises it's public internet facing address onto the private network.
I would love to be able to make auto discovery possible on this network but it is not. At the moment I have to manually advertise the existence of my node and manually addnode other nodes I become aware of (and get them to addnode me) in my bitcoin.conf file.
If the network code of bitcoind implemented some changes things would be easier:
- allow it so send the ip as reported by the node it is connected to. (as per
https://github.com/bitcoin/bitcoin/pull/3088)
- allow the node to advertise a private ip
- the ability to allow multiple connections on some "trusted" networks
- multicast/broadcast discovery (see
https://github.com/bitcoin/bitcoin/issues/3802)
I suspect some of these changes will be helpful in other use cases also. E.g. assisting nodes on the same private lan finding each other and thus to reduce combined bandwidth usage.