My concern is regarding point 2. Mining nodes are required to verify transactions. Known as full nodes.
How to sustain the network with full node non mining wallets only?
~ Tom
The funny thing is running PascalCoin wallet (assuming main server(s) and dns is still there) will sustain the network in principle. At least peers can find each other and download the blockchain/database/safebox from each other.
If the miners stop mining then transactions can still be performed but they will stay in the "pending" section/state of pascalcoin, waiting forever to be recorded onto a block which will never happen. So eventually the ammount of transactions in the pending state will probably overflow some kind of internal data structure inside pascalcoin, something may run out of memory. This is kinda of interesting to simulate to see what would happen if suddenly all miners drop off.
(In the early days of PascalCoin the miner was "build-in" but now it's a seperate process that attaches to/communicates the PascalCoin wallet via JSON/RPC/TCP_IP)
Here is example of how to solo mine PascalCoin:
https://www.cryptocompare.com/mining/guides/how-to-solo-mine-pascalcoin/If your question was more about how can the network be sustained without main server(s) and dns then the answer would probably be keep out and never shut it down. Perhaps PascalCoin does store a list of found nodes onto a file somewhere on the disk, I can vaguely remember seeing such a feature.
Problem with that idea is if PascalCoin was not run for a long time, and those nodes no longer there or their IP addresses where changed then this method will not find other nodes anymore.
Also new users/nodes cannot connect without main server(s)/dns.
Another third idea would:
3. Scan the internet version 4 addresses for other nodes, this may take 1, 2 or 3 days depending on the bandwidth available, at least assuming nodes are on a fixed/same port this would still be doable. If ports are too different then implementing a special IP layer interception mechanic could also ignore ports but this would be technically a little bit difficult/challenging to do on windows because of restrictions but it is possible with special drivers.
Problem with this third idea would be if everybody starts doing this would create a bandwidth storm. But in practice it's probably not so bad... once peers find each other this scanning can stop.
Another problem with this idea is: How can one be sure the node is on the main/full network ?!? It is possible that seperate pascalcoin networks/forks would exist.
Ultimately they may join and form a super/main network but then one of the safebox would be replaced with the other, invalidating the transactions of one of the networks, this would be kinda funny but also annoying and maybe even somewhat dangerous.
This would be like a "double spent" attack except on an entire sub-network. In principle this could happen to bitcoin as well.
So lesson to be learned from this is that some centralization is necessary for bitcoin/pascalcoin and crypto coins to work. Something has to make sure everybody is on the main net/fork otherwise transactions in jeopardy.
At least eventually there will be some consensus but at great cost and inconvenience to some perhaps.
One way to potentially prevent multiple pascalcoin networks without using centralization would be to perform the entire scan of the internet and not stop when only a few nodes are found.
Another method could be to "distribute" the scanning among already found nodes so they all try and scan a part of the internet to try and make sure all nodes and sub-networks are found. This would be a pretty cool idea.
For IPv6 the ammount of scanning required would be quite large and perhaps in practical, not sure about that !
But at least it's better something than nothing =D
And ofcourse then there is method 4, which is kinda strange it's not implemented in pascalcoin, I do believe it is implemented in bitcoin:
4. Adding other peer's addresses/ports manually, to manually build up a network.
Point 4 is good fallback mechanism... but does require some human co-operation and effort and perhaps even trust and willness and up-time etc. !
Chat programs/communication methods etc.
Perhaps a somewhat new method might be powerfull:
5. Using mobile phones and pascalcoin apps installed on mobile phones to scan around and find others. I am not a mobile phone users myself, but there are many mobile phone users and they seem to be using these devices all the time and checking for new messages and such, so the "up-time" of mobile phones seems to be quite high and people also move around with them, so perhaps this will help at find others in close promity, this would be quite cool !
Perhaps this might even keep pascalcoin working if there is some kind of ISP or DNS attack or catasthrophy like nuclear strike, asteroid/comet or big fat war, or explosion like libanon/beirut. No idea if ISP went down there... lots of satelitte dishes and/or antennas blow off roof tops and such... so some disruption must have occured there...
There indeed seems to be massive ISP outages in beirut following the explosion:
https://netblocks.org/reports/internet-connectivity-in-lebanon-impacted-following-blast-YAE2RvB3Also caused by power loss (infrastructure damage).
Terranet ISP Headquarters was near the explosion and was impacted by it.
Rename or clone for pascal with these features: War-Resistent-Coin WRC
Another example of outtages:
https://www.reddit.com/r/networking/comments/ijb8tn/global_as3356_level3_outages/^ Internet routing tables not so stable and quite fragile.
"
Global AS3356 (Level3) Outages
It looks like some serious routing issues are afoot in AS3356 (CenturyLink/L3). Reports of routing loops in Europe and US. Fastly and Cloudflare seeing impacts:
https://status.fastly.com/https://www.cloudflarestatus.com/"