1) You're the only with that definition of what a botnet is so I think there is confusion. Just google what a "botnet" is I guess..?
2) The version number cannot be enforced as it is not a change of protocol but just changing a number in the code. You can easily just change the Biblepay client version you're advertising to be anything...
If you have a line of code saying only accept block version > 3....I can just advertise my block version > 3 and it will be accepted if there is no other checks. The number alone can't be enforced...
There are a lot of things in certain niche businesses, such as Crypto, that differ from industry standard and run of the mill development. This is called "domain knowledge". If Im the leader of the group and hire 5 devs to work with me, and want to hold daily scrum meetings, and I tell you what a certain term means for our business, then its your responsibility to use it - so we can communicate in a more efficient way. Its not your job to argue with the head of development about things, thats non productive and is a net negative - it also wastes everyones elses time, and is embarassing.
Next, I know its true that certain soft rules - such as a protocol version - when implemented in a way where another node will hang up and refuse to comunicate based on that version, is not a hard rule, and it can be circumvented by a hacker. But apparently what you have a hard time grasping, is there are also hard rules in the client, that have been programmed by both Dash and Me in both of my communities, that do enforce soft rules. For example, we have a piece of code in our biblepay version right now that adds up what percent of blocks were solved by prior versions in the last 100 in the chain, and it does take into account the protocol version. I could have easily enabled that feature and allowed the chain to fork if *any* blocks were solved by a version below the greatest in the chain. I didnt, because I felt at the time we would have a smoother transition to the cutover block by letting everyone play. You need to understand every algorithm in the code before making misleading statements to our community. I am still maintaining that anyone who deliberately compiles a fraudulent version and detracts from the prod experience is a dangerous and semi-untrustworthy individual, when we are all here trying to get past the block number without forks and as much integrity as possible.