Hello, everybody. I'm here to present Debtmoney, a prototype for the present and an ideal for the near future. Please forgive my bad English and the enormous length of what follows.
The background
I've become acquainted with the 2004 Ripple idea back in 2010, before getting to know Bitcoin et al. Back in that time, it seemed to be a huge deal and a very simple way to get money moving through the internet. Unfortunately, despite being used in centralized networks, the decentralized classic protocol was never actually "solved" until Ripple Labs came and invented the distributed ledgers fueled by XRP and gateways.
My impression at the time was that the original idea was never to be abandoned by the introduction of these new features, but they were made impossible by the impossibility of normal users of issuing their own assets. Stellar, however, doesn't have such requirements and is the best platform we've ever had to put the old ripple idea into practice.
Despite having lost much of its appeal as a form of "sending money through the internet" the idea of a network of peer-to-peer debts and credits may have originally had due to all the cryptocurrencies, that concept still has much to offer.
The first example is symbolized by the existence of trustlines.network, a project based on Ethereum that advertises itself as "the original Ripple idea built on Ethereum". It seems to appeal to the Ethereum community as a means for acquiring ETH through payments made over paths of trust lines.
The other main example is given by the existence of probably hundreds of apps and services designed to keep track and settle debts between friends, between phone apps, services that settle the debts with credit cards and various kinds of Telegram bots, for example. Also, the first centralized "ripple" platform, Ripplepay is reported to have had over 4,000 users back in 2013, and it is still working today (back in 2015 an acquaintance of mine told me that he had used it to buy a car using his friends' money, having paid them back over the time).
Envisaging the future
This is following up my last post, which presented just part 1 of the plan I'm outlining here and was stagnant until some weeks ago when I revisited the idea and have already a working proof-of-concept with grandiose future plans.
The first step is to make it easy for people to put their debts on the system and invite others to do so. Accounts in the system are identified by unique usernames, but each username is also tied to handles in different silos, for example, a user may be identified as anna
, but also as anna_k@twitter
, anna1990@gmail.com
and a.borges@instagram
. If someone uses anna_k@twitter
when declaring a debt it will be later identified (whenever Anna, the account owner, signs in) with anna1990@gmail.com
and others, so you can begin mapping your friends on the service even before they know about it (I'm building an utility service that will be managing logins and accounts in this scheme, it will also be made public so other developers can use this approach and contribute to the public registry of accounts and usernames).
It's free to declare that the whole world owes you, but this is expected to be a consensual process, so everybody should confirm that a debt is real before it is made public. There is a boxes + arrows example of a possible flow of interactions between the app, the real world and the Stellar network, but basically the service will keep a Stellar account for each user and every time a debt is acknowledged by its parts, it will be published to the Stellar network relating those accounts (the debtor sends an asset of its own issuance to the creditor).
A lot more is done in the background to make it easy, sometimes automatic, for users to solve circular debts or even voluntarily trade assets (which will be IOUs, basically) among each other.
The second step in driving adoption will be to market Debtmoney as an app for keeping track of debts between friends, splitting bar and trip bills or even keeping track of clients pending accounts in small country stores (in Brazil we call this "fiado" and is a very common practice, I don't know if there is a corresponding term in English). Actually, my idea is to make micro phone apps, one for each of the above purposes, but all integrating into Debtmoney and thus the Stellar network. It's also easy to build Telegram bots -- or, better, try to integrate into existing bots to get their userbase into the network.
I don't know how much time this will gonna take, but the next step is to introduce payments into the system. Market Debtmoney as something you can use to pay people using paths of friends. Along with that the concept of trust lines must be clarified and made more explicit -- till now it was something that happened under the hood, but to enable real payments this must be something configurable.
I don't believe this will be a greatly used feature, only a miracle would give Debtmoney the market share needed to become a super-centralized payment gateway, but, well, it is a possibility. Another possibility is that different apps may enter the place making use of the same principles of Debtmoney (which are just the core principles of Stellar, actually), then payments between people on different apps become possible, which would be awesome.
The last step in the plan that is being modeled in my mind is the introduction of lumens. Lumens make the entire concept a real deal for payments. If there are just a few lumens-holders and lumens-wanters in the entire network, then it becomes really easy to settle long-distance debts, to use the network of IOUs for real payments, either in local commerce or to strangers over the internet. It also helps a lot with the popularization of Stellar as people can use their own IOUs to acquire lumens or send money abroad. Unfortunately, this step is very distance still.
The introduction of lumens is here cited as the last step because it is complicated. Lumens are there since the beginning, of course, but accounts on Debtmoney are not allowed to transact in lumens since these are going to be my personal lumens which I have used to fund those accounts. To make accounts free to use lumens, they must be untied from the system (otherwise they can keep spending lumens and getting automatically recharged by the system), so in this step I plan to write an independent Stellar client that interacts directly with the Stellar network instead of having Debtmoney as an intermediary, tailored to be used in the same way as a Debtmoney account, however, and still communicating with Debtmoney.
How is this different from the other tenths of debt tracking apps that exist?
Debtmoney is not a simple debt tracking app, it is a bridge from personal debts to the Stellar network. It will probably not be better than all them combined nor have all the features (I really do hope it will, however, be the fastest and simplest and smarter of them all), but no single app can please everybody, that's why in the long run all debt tracking apps will transition to the Debtmoney's model.
How is this different from Ripplepay?
Since all the transactions are published to the Stellar network, they become really decentralized and independent from Debtmoney. Accounts are under direct control of Debtmoney, but they can (in the future) be freed from it and be independently controlled. Also, people from outside the realm of Debtmoney can still come and trade their IOUs with the IOUs of people with Debtmoney accounts.
Ok, now please give me feedback. What part of this is sound, what part isn't? What can I do differently to improve?
On this previously cited link, https://app.milanote.com/1E3Q4O13j4BffJ, I tried to demonstrate what is already possible in my prototype (which is written in Go and Elm, by the way, with Postgres as the database). The source code is at https://github.com/fiatjaf/debtmoney
I'll have a public online version running in a few days (the interface is still horrible, however) in the Stellar Testnet so people can try it without spending my lumens.
Updates
[18-Oct-2017]: Very very alpha/testnet version of the site published: https://debtmoney.xyz/