Alice trusts Bob, who trusts Charlie. Alice has no idea who Charlie is.
Now Charlie gets $10 dollars as credit (not the same as cash) from Alice (mediated through Bob) and wants to buy $10 items from David and Eve. He shows the letter saying that Alice is good for the cash. Without a distributed consensus method, how can David or Eve confirm that they will be able to go to Alice to collect the cash? How can they even know that Alice has the cash in the first place? What if something happens to Bob?
The only way to do this without a blockchain would require something like Paxos, but Paxos only works if the participants are selected a priori. Every new participant would have to be vetted by everyone else, or everyone else would have to follow some central authority that can grant access to the system. If you are going this route, you are just re-inventing a credit cooperative.
Charlie cannot get a 10$ IOU from Alice, he can only get it from Bob. If Alice wants to give a 10$ IOU to Charlie, she will have to give it to Bob and ask him to give an equivalent IOU to Charlie.
If something happens to Bob, too bad. Both Alice's and Bob's IOUs are void because Bob can neither pay up nor demand payment. Both Alice and Charlie are sad because they knew Bob, and their ability to trade was more valuable than the current balance.
I don't think you understood. The scenario I presented Charlie is malicious by making a double-spending attack against David and Eve, separately.
You can remove Bob from the scenario and the problem still stands. Say that Charlie gets the IOU directly from Alice, David and Eve are left with duplicate IOUs. Alice has trusted Charlie with $10, not $20, so she can not re-pay both of the creditors. If you say "David and Eve should not have trusted Charlie then, so too bad if they lost each $10", consider the systemic issue if the double spending is made against with thousands of participants.
Without a way to control for double-spending, everyone can mint IOUs freely and any credit note is essentially worthless. And if remove the idea of IOU and try to make all transactions "cash-based", you just turned a fungible-currency into a non-fungible one (are these $10 coming from Alice-the-good-creditor or are they coming from Dick-the-double-spender?)
Charlie doesn't give Alice's IOU to David and Eve, he gives his own IOUs. He can default on those, but that's implied by David and Eve interacting with Charlie directly.
This is not at all what you said in your original comment, which implied transitive credit.
Without any transitive property, "Charlie gives his own IOUs" already exists. It is called "selling on credit". No crypto required. Shop owners have been doing that for centuries with pen and paper.
Alice wants to buy an apple from Charlie. Alice gives an IOU to Bob, Bob gives an IOU to Charlie, Charlie gives the apple to Alice.
And - sure, everything crypto does could be done with pen and paper and a phone line. But here Bob's computer can agree to do this without Bob's involvement.
This only works at a minuscule scale, where people could actually get to meet face-to-face. On a global network, Alice can still create an attack against Charlie. She just needs to get more intermediaries. Even if the intermediaries thought "surely Alice won't put the relationship at risk over a small amount", no one in their right mind would be doing large scale, automated transactions based on "friend-of-a-friend" connections.
Another thing, if you want to make transactions like the one you described, you don't need to pass IOUs around, you just pass money. Alice gives the IOU to Bob, Bob gives her money and then she can buy from Charlie, David, Eve or anyone else.
Your design makes it in a way that the IOUs are not fungible. Alice can not buy something from Charlie unless she shows that Bob is the one backing her. If it is not fungible, it is not money.
What you want to do is an digital version of Hawala. Hawala works, but there is a reason it is not automated. You can not scale it and it gets very easy to hit liquidity bottlenecks.
I think your ideas are in the right place (if you look at Raiden's off-chain side payment channels, it works somewhat similarly with what you are attempting to design) but can we agree to the fact that if they were feasible to be done without BFT mechanisms, it would have been done already? It is not like people want to use blockchains.
You're right, not really money but a payment mechanism. And yeah, Hawala.
What are these liquidity bottlenecks? Feel free to reply with a link or a keyword if this is common knowledge.
One thing I like about this model is that you can have regular fiat money on top if Charlie gets his IOU from the US government and Alice gives one of US government IOUs back. But it can now be a single network for all currencies where anyone can start issuing their own money.
> can we agree to the fact that if they were feasible to be done without BFT mechanisms, it would have been done already? It is not like people want to use blockchains.
I'm not sure. Would anyone be able to profit from it? Developing the software and educating people is hard, especially with p2p things.
The lack of liquidity happens because you are not using fungible money, so you are asking everyone to barter, but instead of using cows, wheat or some other commodity, people would be trading based on the expected value of each personal bond. Given that these bonds do not pay any interest, there will be very few people interested in accepting them for payment.
Re: profiting from the Blockchain, you are going at this backwards. You don't need to make it profitable by the tech. What we want is to have a global payment network that can make transactions cheaper than (and equally faster/secure as) Visa. If that were possible to do without blockchains, the market would pay handsomely.
Now Charlie gets $10 dollars as credit (not the same as cash) from Alice (mediated through Bob) and wants to buy $10 items from David and Eve. He shows the letter saying that Alice is good for the cash. Without a distributed consensus method, how can David or Eve confirm that they will be able to go to Alice to collect the cash? How can they even know that Alice has the cash in the first place? What if something happens to Bob?
The only way to do this without a blockchain would require something like Paxos, but Paxos only works if the participants are selected a priori. Every new participant would have to be vetted by everyone else, or everyone else would have to follow some central authority that can grant access to the system. If you are going this route, you are just re-inventing a credit cooperative.