Whenever people mention off chain transactions, others jump at him and shout "fractional reserve banks are evil" because they assume the only way to do off-chain transactions is to have a middleman who takes their money and will or will not give it to whoever they want to send it later. This assumption is not true.
Off chain transactions can also be done without a third party. Please educate yourself about
micropayment channels.
I think the off-chain-transactions are the most important thing since bitcoin itself because they allow transactions that are
- instant (as in milliseconds)
- free-ish (as in "as much as 0.01CPU-second and a 1kB package over the network costs")
- arbitrarily small (as in "1 Satoshi minimum")
- more private (in a sense, maybe)
- without third party risk (and minimal third party risk for a full peer to peer version)
My prediction is that the first to actually solve this, has a potential to become filthy rich and this is how:
- Implement microtransaction channel
- provide an open API
- provide an open source client
- charge 1% + 1 Satoshi on every transaction
- run it on TOR for users' privacy and your legal protection
What the client would have to do is talk to another client and funnel transactions through:
Lets say Anton wants to send Berta 1Ƀ: Anton and Berta have a micropayment channel with "torpay" (Anton@torpay and Berta@torpay).
To never entrust torpay with more than 1mɃ at a time, Anton does 1000 transactions that cost him 1%+1000 Satoshi = 10mɃ such that he sends the next 1mɃ only once Berta@torpay confirms having received the last 1mɃ. With this setting running through TOR it might actually take a minute or two.
Anton does a lot of transactions with many people, so he did not only lock up 1Ƀ but 10Ƀ, so now to buy a chewing gum, he can instantly send 0.1mɃ to Cesar@torpay in less than one second. Cesar sold another few chewing gums and the first 0.1mɃ chewing gum made torpay actually lock up 10mɃ worth of bitcoin to establish his channel for a week. He uses torpay anonymously, so neither does he know who runs torpay, nor does torpay know he's a chewing gum dealer named Cesar, yet he can use the channel to send and receive without having to trust torpay.
Cesar's cellphone is also payed by the second. His telephone company runs another implementation of the API as they don't like these anonymous torpay punks. Cesar@telko (runing on Cesar's phone) pays to service@telko (running at telko's server) in one second increments.
Dora has her own such server and configured it to relay to torpay and vice versa, so Cesar@torpay can pay to Dora@dorapay thanks to dorapay and torpay settling their balance in the background. This settling transaction would be used for all @dorapay to @torpay transactions, so Dora's friends (for example "friend123") can use Dora's server and torpay (actually run by the CIA) wouldn't be much wiser about money movements from the @dorapay network as the identifier "dora" or "friend123" would not be needed at torpay.
The API might expose some relay fees, so maybe dorapay and torpay take a 1% + 1Satoshi fee each or it depends on the direction of the payment but these details wouldn't be the worry of whoever wants to be the first mover. Most likely as soon as competition evolved, openness would be a big plus.
The open API + open source client will give users 100% trust they can't loose their money.
Why do we need this?Lastly, many still praise Bitcoin as the instant for free payment network that it isn't. On-chain transactions are very very expensive and the 25Ƀ subsidy is blinding people of this fact.
We have a network that can do
seven transactions per second. A transaction channel as described by Mike Hearn takes two transactions on the blockchain to open and close the channel. If every citizen of earth wanted to use Bitcoin, how many transactions could a user do per day … or year … or life? For "day" that would be 0.0000864. "Year" would be 0.03, or 3% of the world could do one transaction per year. Per 80 years life it would be 2.5. So how do we get from 0.0000864 transactions per day to 5 transactions per day? 10MB blocks won't cut it. Even only micropayment channels won't cut it but 12 months channels with 10MB block chain would get us a long long way and my vote is to use long transaction channels first and bigger blocks later.