@iamnotback I do not want to quote your large DPOS statement however I do have a few questions. You understand code and crypto better then most of us.
The BitShares website states that the block witnesses are shuffled based on two different criteria. "The slate of active witnesses is updated once every maintenance interval (1 day) when the votes are tallied. The witnesses are then shuffled, and each witness is given a turn to produce a block at a fixed schedule of one block every 2 seconds. After all witnesses have had a turn, they are shuffled again. If a witness does not produce a block in their time slot, then that time slot is skipped, and the next witness produces the next block."
Is there something in the code or explorer that would let us know exactly which witness is set to produce the next block ahead of time? Even with a DDOS, a witness should have multiple instances ready to take over on different physical machines/locations. That should mitigate that attack vector. Granted if EVERY witness were unable to produce a block, the network would come to a halt and users would not be able to cast a vote (transaction) to vote in new witnesses. The chances of that happening I would believe are very slim. According to the documentation stake holders can increase the number of witnesses by vote.
You do have a home run point about PoW in that anyone at anytime can setup a full node etc... Hurry up and code!!!