Motivation:: a lot has been said, we can focus discussion in this one post about what the testnet ought to look like. I don’t know if this is the best sub; however, I think we’ve sort of co-opt’ed “Legal” for Governance related matters.
I am of the opinion that any interested persons should be allowed full and complete access to the Testnet in all forms. No requirements or restrictions should be in place.
We are a part of a permissioned public Blockchain - public being key. Some of the goals of a testnet: (in my opinion)
- Complete inclusion to anyone without restriction - both to use for their dapps as well as to run nodes
- Try out new constructs (in our case - this includes governance in addition to software based ideas.)
- Education/training of node operators
- See how the network behaves under duress
This last bit needs unpacking. Personally - I don’t like the idea of a ‘clean’ or pristine testnet (I love sewer rats). Right now, the testnet is basically a mirror of the current mainnet (core) with regards to nodes that are highly maintained - it is a thing of beauty at present. Sure we have regular unit testing and stress testing that occurs; however, I would love to see a testnet that jumps to a hundred+ validating nodes.
Opening up the testnet would result in, at least in the short term, an explosion of validating nodes…followed by a collapse within two/three months time. Imagine how valuable that would be.
Sure Parity’s Aura can handle faulty nodes; however, we understand this in a purely theoretical manner for the most part. We don’t know what edge cases we are missing. Look at Bitcoin’s testnetS - what number are we on - I forget? These had to be killed and re-formed due to unforeseeable gaming of - not like Ethereum’s testnets with parameters tweaks by different teams wanting different enviros to build within.
How would the network respond to unresponsive nodes? Again, we theoretically understand this - we would ‘remove’ bad nodes. What exactly would ‘remove bad nodes’ actually look like. There would be unresponsive node operators but also the potential of nodes that are simply faulty. I think many are under the impression that a faulty node is due to laziness of the human operator but what if there were a software issue that caused a number of machines to go offline at once.
How would the network really respond and deal with this potential? I think this will be a lot harder than anyone understands, and will result in a lot of actual work. I also am sensitive and aware that an explosion of nodes would stress other systems, such as support infrastructure. Perhaps we might need to have validators ‘pay’ for these support systems/persons in order to ensure uptime - or something.
Again - I’m just dreaming/thinking aloud. But an open testnet, one that allows more than simply running of a bootnode would help to better understand all the interconnected systems - ones that we are taking for granted at present.