Open-Transactions (
https://github.com/FellowTraveler/Open-Transactions/wiki) is perfect for the "Fast Verification Network" piece of your diagram above...
At the simplest level, you bail the BTC into the OT server, and then OT processes all the transactions for as long as you want (you can use accounts, transfers, untraceable cash, cheques, markets/trades, signed receipts, etc.)
Then the user just bails back out into BTC again, whenever he wants back off of the server.
Benefits?
1) Untraceable transactions
2) Easy convertibility to other currencies on the OT market.
3) Instant finality of settlement
4) The server cannot forge transactions, or change balances without the user's signature.
5) All parties need only to store the last signed receipt, and they can prove their current balance, as well as prove which instruments are valid and which transactions are open or closed.
6) No worries about running out of space on the block chain.
===> YOU MIGHT ASK:
But what if I don't want to TRUST the OT server with my Bitcoins? What if it steals them, or disappears, or gets hacked?===> Based on conversations with Bitcoin developers,
I believe I have found the solution to this. I've got the protocol figured out, but I haven't coded everything yet...
===> I've hinted at this before, but I've got a bit more free time now, so here it is:
THE GIST:
LOW-TRUST SERVERS (For Bitcoin on OT. The protocol is different with non-crypto-currencies.)
1) Basically, instead of bailing the BTC into a single server, you bail it into a VOTING POOL of maybe 50 different servers (or however many.) These will operate like a secure escrow in the blockchain. Many of you already have discussed this concept.
2) In my own protocol, the wallet signs the bail-in request, including the amount, the relevant IDs, etc, then the server countersigns it and sends you the receipt. (All the server is doing here is verifying everything in your request, and then signing it, too.)
3) Then your client GUI sends that receipt to the voting pool AND sends the Bitcoins to the pool. (There is no single recipient on the blockchain, but a
pool of recipients at once.)
4) This same process happens in reverse when bailing back out. But this time,
after the pool members verify that both parties have signed the bail-out request, they then vote on the blockchain to transfer BTC out to the recipient on that request, with a 3/4ths vote (or whatever) which is what actually effects the BTC transfer back to you. Rules can also be enforced here, involving inbox notification, time delays, maximum daily transfers, or whatever we decide.
5) The "vote" between the pool members occurs on the blockchain itself, using the built-in Bitcoin script language. Normally all votes will always be 100% in the same direction, since they will always agree on the truth. So we set it to 3/4ths or 9/10ths, whatever, so that it really takes a supermajority to do any bailment out, yet still leaves enough wiggle-room for the pool to prevent the loss of any BTC, and return it to the rightful owner,
even if a server disappears or fails an audit.
6) If a receipt is ever submitted to the pool that's NOT properly signed, then the pool members simply vote to reject the receipt. (And probably to distrust the bad actor who submitted it.)
7) In the event that an OT server disappears, your BTC is still safe in the pool, and it's still possible to send a signed recovery request to the pool members, get your 3/4ths vote, and have your BTC transferred back to you.
There's more to it than that, and it involves the OT audit protocol as well, which is slightly different for issuer-based digital assets than it is for BTC-based digital assets (on OT.)
...But you get the general idea.
I've already got all the code I need on the Bitcoin side, I think, and I've got the new protocol figured out on the OT side (not coded yet).
I think I can swing this with the existing Bitcoin codebase (no changes to Bitcoin itself),
and with the existing mining groups, though I'll have to include some Bitcoin code into OT for everything to work. I hope to be able to demonstrate this protocol soon. (Frankly I'm shocked no one else has done this yet.)
-------------------------------------
FYI, the "Point of Sale" and "Cell Phone" devices in your diagram above (as I picture them) are simply OT-API clients -- using the OT financial instruments to send payments to each other. (Cheques, cash, transfers, receipts etc.) Each GUI is different, which is why OT-client side is an API. That way you can focus on your point-of-sale system, and let the OT-API do all the heavy lifting.
-------------------------------------
Bitcoin adds value to OT as well, in these ways:
1) BTC is a distributed, decentralized, reserve commodity that cannot be confiscated, counterfeited, or shut down.
2) BTC has all (most?) of the unique monetary properties of gold, which properties historically always cause gold, by operation of the invisible hand of the free market, to be used as money, in all cases where force and fraud have not perverted it. (Bitcoin being transferrable p2p, recognizable, limited, homogenous, fungible, divisible, and an efficient store of value in space and time.)
3) Bitcoin has an existing network of exchangers in/out of the various fiat currencies, in the various jurisdictions.
4) Bitcoin can be a "UNIVERSAL MEDIUM" between OT servers... users will be able to store funds in gold, but then convert to BTC on OT markets, whenever they want to hop to another server.
This makes Bitcoin very very very useful even for goldbug users. 5) Such transfers will also occur through DGC issuers, who are presumably already at both ends,
and more importantly, through Ripple, which is being built into the OT test GUI, Moneychanger. (Thus, I also see this as a potential bridge between Bitcoin and Ripple.)
6) Bitcoin makes it possible to run transaction servers, and other darknet servers, anonymously yet at a profit. That is very useful to OT.