I have an idea for a new type of software to work with Bitcoin. I call it the "Bitbank". This isn't a modification of the Bitcoin software itself, but rather an additional layer of software to wrap around Bitcoin in order to improve its functionality. It could work with any altcoin that uses a similar peer-to-peer transaction system, not just Bitcoin.
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. Unlike Bitcoin, these transactions would be based on a certain level of trust, which would imply some type of real-world accountability to contract or law, or a business relationship, before it would work.
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 small 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" problem).
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" problem).
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 the "bit dust" problem).
Your local bank or business can convert cash or bank balance to bitcoins on the spot (solves the "Lack of Decentralized Exchange Mechanism" problem).
Finally, the bank can offer services at their existing branches and ATMs denominated in bitcoins, with support for the general public (solves the "Difficult for non-technical users to adopt" problem).
This proposal has the additional benefits:
* Works with existing Bitcoin or altcoin 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?
TL;DR - Imagine a new open source software called a Bitbank that stores a collection of bitcoins, enabling intrabank and interbank transfers that are much faster and more efficient, while using the existing Bitbank network for clearing interbank transactions. Why not?