A proof-of-work or proof-of-stake system are the only known ways to stop someone from running a lot of client peers or hatchers in a decentralized system in order to block transactions or double-spend. I do not see any new solution to the Byzantine Generals problem in your answers.
What about a "unique node list"? As employed by Ripple.
https://ripple.com/wiki/Unique_Node_List