- Tom and Jeff go to a bar, at the end of the night Jeff owes Tom 40 USD.
- At the same time, Anna, Tom's sister, and her friend Maria came to town to go to a conference and are staying in Tom's house. Since she forgot to bring money, Anna has borrowed 50 USD from Tom and other 50 USD from Maria.
- Two weeks before, Jeff had bought the tickets to the conference to Anna and Maria, because he happens to work near the place that was selling the tickets, for 35 USD each.
At the same time that is it is difficult to keep track of all small (and big) debts and loans we make to and from our friends, it is difficult to settle them, even when you have the money.
I've had this idea in mind for a long time, but I just got to know about the Stellar Build Contest, so let me post it here and see if I can hear some feedback:
The idea is to create an app where people will be able to keep track of their debts and loans with friends, and at the same time issue assets on the Stellar network to represent these transactions and to have circular debts to be automatically settled.
So, in the case above, after the 3 events, we would have the following configuration:
Jeff: has issued 40 USD#Jeff, holds 35 USD#Anna and 35 USD#Maria;
Tom: has issued nothing, holds 50 USD#Anna and 40 USD#Jeff;
Anna: has issued 135 USD#Anna, holds nothing;
Maria: has issued 35 USD#Maria, holds 50 USD#Anna.
Since, however, Jeff doesn't know Maria and has little contact with Anna, he prefers to hold Tom's dollars and Tom is ok with that. At the same time Tom doesn't really know Maria, he prefers to keep Anna's dollars. Also, after transactions Jeff and Tom would be mutually holding each other's dollars, a situation that can be improved by automatic settlement. So we somehow end with something like this:
Jeff: has issued nothing, holds 30 USD#Tom;
Tom: has issued 30 USD#Tom, holds 120 USD#Anna;
Anna: has issued 120 USD#Anna, holds 15 USD#Maria;
Maria: has issued 15 USD#Maria, holds nothing;
which is way simpler.
All that will be possible by letting users easily create trustlines for their friends, from which the system will automatically create offers between their assets and their friends', so they can be market makers for their friends' assets.
To enable adoption there will be a way to create virtual accounts for your friends. If you want to manage debt accounts between you and your grandmother, for example, you can create an account in the site for you and input some verifiable data for your grandmother, like her phone number, Facebook profile, or email. The system will create and take care of her account until she decides to take control of it, at such point it will use the data provided to make sure she is she (you won't be allowed to create debt for her, only credit -- in other words, to send her your dollars).