Currently, all cryptocurrencies are based off Satoshi's bitcoin, with same or slightly modified protocols, and only some modifications (eg demurrage in Freicoin, block timings and distributions with other coins, proof of stake with PPCoin). But look at all the failed cryptocurrencies - we are essentially making a new Linux distro instead of actually making something new.
I propose making a new cryptocurrency from scratch and discussing and testing different ways to do it. Blockchain, hashcash-style mining, addresses, they're all one way to do things. There's bound to be better ways, and for a cryptocurrency to succeed we need to do it differently. Not blindly do things differently, but look at it and see which way is BETTER other than just creating a fork and modifying a bit of code from bitcoind.
I have a few ideas. For example, addresses. Instead of a clunky to remember, hard to type address, why not use something like this?
someguyswebsite.com/wallet
dicegame.com/lessthan512
192.168.0.12/lanpartydonations
wc6sbavw7fcotfgm.onion/order1274621
mywallet.bit/someusername
To verify those addresses, we could use a similar system to randomart. There's of course the attack where say you're on dicegame.com is compromised and the attacker changes the randomart displayed on the site for verification, but that's similar for bitcoin too. The coin obviously won't actually use http, it'll use it's own protocol, but will find addresses via DNS, tor, other darknets, etc etc.
Again, this is just one of the ideas I have about addresses. I'm sure if people think about it, experiment with some test code, we'd come across different ways, maybe better.
Another important thing is that the core development needs to be just that - core. Make the protocol extensible. Have headers, like HTTP requests. Over time, the community will enhance this currency by itself. For example, say a header called 'RETURN_ADDRESS: freewallet.org/ponies', say if you're betting on a gambling game and send an amount greater than the max bet, and you want returns in a DIFFERENT address (eg if you're withdrawing from an exchange) It's a nice thing to have, but it might not need to be in the core development. People will be able to add this feature, peers and nodes would implement and support it.
Take a look at websockets. Take a look at new IRC features and additions. If we make the protocol robust and extensible, the currency will involve by itself, and with the community and the users to make it last. There obviously would be a core set of guidelines - max cap of X coins, but if we discover a BETTER address system, maybe if someone wants to make it work with emails, they can code a module or extension, tell people and nodes to install and use it, and supported clients will use it automatically. Not supported? "Command not found. This command is part of coinemail, sudo cpm install coinemail".
Just some ideas. Can we do a system where transactions have a verifiable sending time? Use the hashcash mining system. A new "timecode" every 20 seconds (as it is not a block, it is not coupled with transactions, each timecode would just be a few bytes). Transactions would include the latest timecode as proof of when it was sent. First sent coins triumph in double spend attacks. 3 confirms in 1 minute on average. Still vulnerable to 51% attacks, but again this is just one idea.
Please stop.