I have another proposal to address some of those issues:
* Confirmation delay
* Little or No Usage outside collection and exchange
* Coin Dust
* Lack of Decentralized Exchange Mechanism
* Difficult for non-technical users to adopt
The solution isn't a modification of the Bitcoin software itself, but rather an additional layer of software to wrap around Bitcoin: the Bitbank.
A bitbank would be a separate open source project from bitcoin to implement a standardized banking system for bitcoins. The idea is that a trusted 3rd party, your local bank, stores your bitcoins for you. They also cooperate with local businesses that accept bitcoins, who have an account there. They keep a separate internal ledger from bitcoins that maintains everyone's balance. Whenever a local transfer occurs, they instantly make a balance adjustment without actually transferring any bitcoins.
Whenever an accumulation of interbank transfers of sufficient size occurs, they can actually broadcast the transaction to other bitbanks or users, thus settling it. If there were a trusted network of bitbanks, they could speed this process up as well. Two bitbanks within the network could transfer funds on a ledger between them throughout the day, and only settle accounts when the difference exceeded a certain threshold ($100,000) or a certain time period (1 day). Thus purchases could be made throughout the network continuously and only be settled intermittently.
This would greatly reduce the amount of actual bitcoin transactions needed, thus taking pressure off the network. The bitcoin network would resemble more an "interbank clearing network" than an "all to all transaction network". Since local transactions, such as buying a cup of coffee, only result in an internal ledger entry in the bank, they can be done instantly. Furthermore, having less transactions on the network makes it run faster overall (solves "confirmation delay").
Given the existence of such software, it can be promoted to local banks and businesses, so they can start offering bitcoin services with less effort to their regular customers (solves "Little or No Usage outside collection and exchange").
Banks on an existing network trust each other, thus they can collaboratively defragment the bitcoin base. A bank can also do this internally. The reduction of actual bitcoin transactions also helps reduce fragmentation and loss (solves "bit dust").
Your local bank or business can convert cash or bank balance to bitcoins on the spot (solves "Lack of Decentralized Exchange Mechanism").
Finally, the bank can offer services at their existing branches and ATMs denominated in bitcoins, with support for the general public ("Difficult for non-technical users to adopt").
This proposal has the additional benefits:
* Works with existing Bitcoin network and does not require new currency creation
* Users don't have to act as their own bank and worry about accidental deletion, loss or theft of bitcoins
* Users can "bank with bitcoin" without even owning a computer
* Participation by existing financial institutions gives bitcoin an air of legitimacy
* Does not prevent existing anonymous, decentralized use of Bitcoin
I notice there is already at least one place calling itself a "bitcoin bank" (
http://www.flexcoin.com/) that is trying to solve bitcoin problems by wrapping its software in a banking layer. I think that is a good idea.
In addition, Bitcoin is already evolving toward a banking model given the high cost of storing a full transaction chain and performing mining operations. This would help it along in the right direction.
Thoughts, anyone?