Is there any consensus over specific improvements Bitcoin needs? There has been some criticism from cryptography experts about the current Bitcoin algorithm(s). Now that Bitcoin has been released to the wild and everyone has had time to study it, is there any consensus for improvements that could be made to make Bitcoin better?

If it was possible to start over knowing what we know now could Bitcoin be designed any better?
There is no consensus. I think part of the reason for that is that many people involved in the Bitcoin project have a vested interest in maintaining that there is nothing wrong with Bitcoin.

In fact, there really is nothing wrong with Bitcoin, but there is lots of room for improvement. However, most improvements suggested have corresponding costs, and there is no consensus that the benefits outweigh the costs for many of the improvements.

Here are a few areas where improvements are likely possible:


The mining algorithm is only computation hard. It is not memory hard or decision hard.
Anonymity is limited by the inability to publish a receiving address without revealing how many coins are transferred to that address.
There is no good way to prune the block chain.
There is no good way to reverse a transaction or indicate acceptance of a transaction.
Transaction fees are not predictable long-term.
Mining pools have centralized the decision of which transactions to include and which chain to work on, defeating some of the protection diversified mining was supposed to provide.
There is no way to recover lost coins.
There is no good way to manage the currency if that turns out to be needed. For example, the block payout algorithm is all but fixed in stone but may make no sense in a decade.
There is no good way to pull coins out of the block chain such that they can be put back in.
A 51% attack can revert as much of the chain as desired, up to the last checkpoint.


My own opinion is that it's way too early to talk about Bitcoin 2.0. We don't know enough about what's really right and what's really wrong yet, and such efforts would actually work against broader adoption of crypto-currencies by reducing stability.