Well, in my opinion there are several steps that would be key improvements:
- Create a chained trust system, this would allow a transaction to be verified by a logarithmically smaller number of clients; the key observation here is that to prevent double spending you do not need a majority of machines to vote, you only need a quorum of trusted machines; to understand this note that there are the so-called "5 degrees of separation" meaning that you "know" everybody in the world friend of a friend of a friend, etc. If each client has a "reputation" with its neighboring clients, you can create a web of trust such that a transaction can be verified with only a hundred or so votes, instead of the thousands (or millions?) now necessary. Also, these votes will tend to happen on the fastest machines, thus further speeding the process.
- Generate new bitcoins proportionally to the volume of transactions and distribute the new coins proportionately to existing holders of bitcoins; the whole mining thing is pointless and destabilizing.
- Base transaction priority on reputation, not age/size the way it is now. This will speed transactions being done by the largest, most trusted players and push out DOS transactions in a way far more effective and secure than the current system which can be gamed in all sorts of ways.
I would note that a web of trust is also critical to protecting the network against a motivated minority from taking over the system. In the current system, its one machine, one vote. This ill-conceived design has the result that a small group of professionals using large botnets could outvote the network or a big enough sub-network such that they could seize or create coins. As the value of bitcoins grows the feasibility of this kind of attack is increasing. In a reputation system, not all machines have the same vote, but more trusted machines have greater weight, this prevents the possibility of a zombie attack.
You propose a system that would create trusted machines and reputation. BitCoin is built on the belief that no node has a reputation greater or lesser than any other. Distributed systems that have a concept of trust can be gamed by Sybil attacks. How would you allocate 'reputation' to nodes in a way that prevents this? I really don't see how it's possible but I may be missing something.
BitCoin isn't one machine one vote. Voting power is distributed proportional to hashing power. Even then voting only decides which valid transactions get included in the blockchain. No large botnet, or large amount of hashing power, could seize coins from anyone, or create coins in any way other than taking mining rewards or transaction fees. Even if I had some magical ASIC computer with 99.999% of the network hash power I could not take a single cent out of your wallet.
What you propose is so far away from BitCoin there is no way to there from here. This should be an altcoin to see if it really works. It least then we would have an altcoin that isn't just a recompile of bitcoin with very minor changes.