You cannot have global real-time consensus. Just the fact that the speed of light is finite prevents communication from being instantaneous. Whatever limitation you build on accounts or transactions or wallets or addresses, you'll always be able to create two conflicting transactions, and only tell part of the world about each.
I agree, but there must be some other way of globally synchronizing transactions that nobody has thought of yet, or is supernodes the only way?
So how would you fix the scalability issues of BTC?
I think Bitcoin is already perfectly capable of scaling up. Here's one half-baked idea for how to do it:
http://gavintech.blogspot.com/2012/07/off-chain-transactions.html (pasted below to save you a click):
You are talking about supernodes of sort, I'm looking for a atomic solution... but if you wan't this then we could just make the pools into these supernodes, they already 'are/can be' if you leave your money there, but I don't think any pool admin would like that responsibility...
One other way is to make the destination node encrypt the transaction with something that the origin node "doesn't know" but that the verifying nodes can read in real-time to make sure the balance of the origin is up-to-date... if we trust the destination to embed a timestamp... hmm, I'm just throwing ideas at the browser here.
What we have now is a complete register of every transaction, what I'm trying to achieve is to have shorter history of transaction for each user and by rolling back every transaction until everyone has the latest transaction somehow making the transactions synchronized even if it makes you able to only send one transaction per day...
Or we could make it the block winning nodes job to track who owns what part of that block