Resilience Through Software Design
Premise: Like all communication software and hardware, users of NLC are likely to do something that those with power do not like.
Instead of going after the offenders, it takes much less effort to "Kill Off" the communication tool.
There are many tools in the toolbox of the oppressor.
1.) Buy out and suppress
Of the many tactics, this tactic usually does the least harm.
Software Design Tactic - Use open source.
Open source is harder to suppress because others in less restrictive countries can rebuild and distribute the software.
2.) Isolation and blockage
The biggest atrocities in human history have been done in communication blockouts.
This tactic is probably as old as human history and scales well from individual coercion to cults/fanaticism to governments.
There are many tactics that enhance this. Control the narrative. Grab attention through clickbait tactics.
Repeat the propaganda until the masses believe it. IE I have heard/saw this from many sources so it must be true.
Software Design Tactic - Make available free communication that is scalable from a small group to world wide.
Design the software so any device is a potential host/communication hub.
3.) Denial of service - DNS
DNS (Domain Name Service) is a pay for service that has two main functions.
a. Convert human understandable name into a IP (Internet Protocol) address.
b. If the IP address is changed then service continues because the domain to IP address
lookup is changed to return the changed IP address.
A seemly favorite tactic of the oppressor is to block or remove DNS service. This often leads to a game of "wack a mole"
where when one site is taken down then another is created with a different domain name.
Software Design Tactic - Bypass the need for a DNS domain name where possible through direct use of IP address instead of domain name
Software Design Tactic - Enable IPv6 support. One of the reasons your ISP (Internet Service Provider) changes your IP address is that
IPv4 maximum addresses 4,294,967,296 (2^32) does not provide enough IP addresses for the worlds needs whereas IPv6 maximum addresses
340,282,366,920,938,463,463,374,607,431,768,211,456 (2^128) does.
4.) Denial of service - Blocked Ports
Hosting and direct connections from person to person requires the use of an open port for the software to accept incoming connections on.
If your software requires a fixed (known) port then it is a simple matter to block that port from accepting connections either at the
ISP level or the national firewall level.
Software Design Tactic - Randomize the port for incoming connections. At minimum this increases the difficulty in blocking a particular application from accepting connections.
5.) Spy, Infiltrate and Corrupt
There are too many tools an oppressor can use to accomplish this to even list out here.
Software Design Tactic - Make your software VPN (Virtual Private Network) friendly and encourage users to use a VPN.
6.) Denial of service - App Store
A recent tool added to the oppressor's toolbox.
Remove a application from the app stores such as Android Play Store, Microsoft Store, etc. and you remove most of the ability to distribute an application.
Software Design Tactic - Make your software easy to build and available for multiple operating systems.
Linux distributions seem especially resistant to oppression.