Before reading this FAQ, please read the general description of Ripple.
In national monetary systems, control over the creation and allocation of money is in the hands of a small group of centralized, hierarchical, corporate institutions. Ask yourself why the government vouches for bank IOUs through deposit insurance but won't vouch for people's IOUs, when bank IOUs are backed by people's IOUs? Corporate banks are given a near-monopoly on intermediating economic exchanges. Is it any wonder that corporations receive economic priority while the human communities in which we all must live slowly disintegrate?
Money is just a way to keep score in the big economic game that we are all playing, so why do only a few people have control of the scorekeeping process? Why keep the units of measurement scarce when needed projects go undone for their lack? It's as though we were carpenters trying to build a house, but the foreman insisted on controlling how many inches each of us was allocated. It makes what could be a cooperative economy into a power game for those seeking control.
Ripple places control of monetary scorekeeping in the hands of the people around us, in our social circles and in your communities. It takes away the excuse, "we didn't have any money in our community," and lets us focus on more fundamental economic and social problems.
The goal of Ripple is to help lessen the gap between what we feel we must do to make money and what we wish we could do to make the world a better place.
Banks employ millions of people to manage the trust relationships which give value to national currencies. The must ensure that account holders are paid on demand, and that loans are only made to creditworthy individuals. Since human beings have evolved to form trust relationships with other human beings, and not with institutions, the whole process is problematic, and requires a gargantuan legal framework of bureaucrats, lawyers, regulators, and accountants to stabilize it.
We all pay for this system in innumerable ways, through interest charges, service fees, taxes, and lost productivity in the economy. Too much of our effort is devoted to regulation and not enough to actual production. Imagine if thousands of bankers and bureaucrats could quit their jobs without hurting the GDP! (This would probably actually improve the GPI.)
Ripple currency is underpinned by natural trust relationships that exist already within families and between friends. Bureaucrats and coercive legal frameworks are completely optional. The currency has value simply because people value their relationships with other people. It's financial capital backed by social capital.
The main expenses of the Ripple system are software development, managing secure webservers, and network bandwidth. These will be negligible compared to the costs of managing a national currency.
A proven example of this efficiency is the Hawala system of currency transfer.
The promise of internet "virtual currencies" has not been fulfilled largely because no one has designed a stable, usable system that is not mired to our Victorian-era centralized, bureaucratic, and inefficient national currencies. Many efforts so far have been electronic window dressing on top of this behemoth, like building email on top of the postal system.
Ripple currency is fundamentally different from national currency. It is based on debt with anyone you want, not solely on debt with large financial institutions. Ripple payments are not encumbered by the inefficiencies inherent in institutionalizing trust relationships. Ripple is not an institution, it is a tool. Ripple is to regular money what email is to regular mail: free.
That's what "real money" is, promises to pay. Think about what your bank account really is – a sequence of bits in a bank computer representing your bank's promise to pay you in government currency, which is really just the government's promise to award you credit towards your taxes. Money has value because people will exchange it for real goods and services, which they can do just as readily for bits in a Ripple computer as bits in a bank computer or clever etchings on a piece of paper money.
True. However, nothing prevents you from making agreements with your associates on the system to settle all Ripple debts in bank or government currency, say, at the end of every month. Some people who don't like inflation might want to settle in gold, or some other real commodity. Used in this way, Ripple is a payment system that avoids many of the costs inherent in other payment systems.
But, as more people use Ripple, and people begin to trust that the system is secure and consistent, Ripple money will start to become as useful as regular money, and there will be little need for most people to convert Ripple's personal debts into bank debts.
Gold is touted by many as a universal, stable standard of value. Ripple accounts can be just as easily denominated in gold as in dollars or euros, or hours or joules, for that matter. Ripple can perform automatic conversions to integrate any type of debt between two parties into its currency network.
Nothing. In fact, two people who have a high level of trust in each other could easily grant each other infinite credit. This does not in any way undermine the Ripple system. To understand this point, you must understand that in Ripple, credit with a friend is only useful if you want to buy something directly from that friend, or if other people have granted that friend credit in the same amount.
An example: Suppose I grant you a million dollars credit, and you want to use it to buy a yacht from Elsa, who happens to be connected to me on Ripple. However, for you to pay Elsa one million dollars through me, I would have to have one million dollars of credit with Elsa, and the decision to grant that credit is hers alone. As it turns out, Elsa has only decided to grant me $100 credit, and I have already used $50 of it. That means you ability to pay Elsa through me is limited my $50 remaining credit, regardless of how much credit I offer you.
You might be able to find other paths to Elsa in the Ripple network other than through me, but to make a payment of $1,000,000, you would need to be granted a total of a million dollars by your other Ripple connections, and Elsa would have to have granted her connections a million dollars in total. Not only that, but there would have to be an enormous amount of available credit at each step of each payment chain. To make a payment along a chain of intermediaries, every link in the chain must have already granted at least the amount of the payment in credit to the previous link.
So me granting you infinite credit really only means that I offer you the use of the credit that is offered to me by others.
Ripple is an inherently electronic currency (or payment system, whichever you prefer). Payments could be made from any internet-connected terminal or portable device, by smart card, or possibly even over the phone. Wireless internet devices hold a lot of promise.
The initial implementation will be based around web-based payment, much like Paypal.
Creating money "out of thin air" by granting credit is what banks do. Holding balances for associates to be able to pay others through you is what banks do. Making decisions about creditworthiness is what banks do.
Banks also act as the primary payment intermediaries in our monetary system. Ripple can use anyone as a payment intermediary.
Fine. Ripple doesn't preclude regular banks from participating. Your relationship with your bank right now is that you grant them near-unlimited credit, and your account balance is the bank's IOUs that you hold. You may receive a small rate of interest. If you have a bank loan, the bank has also granted you some credit, usually at a much larger rate of interest.
The exact same relationship can be replicated with Ripple, by granting the bank's Ripple node a large amount of credit at your Ripple node. Then you can send and receive payments through your bank like you do now. In fact, the entire banking and monetary system is just a very limited and centralized way of passing IOUs that evolved before we had the technological capabilities to search a complex trust network for connections between two people.
The way banks currently handle payments among themselves is very much like Ripple.
Ripple is not about forcing people to do anything. It is about empowering them to escape the institutional nature of our current economy. However, your Ripple experience will only be as good as the people with whom you choose to participate. Ripple is for mature people who can be honest with each other and resolve financial disagreements like adults. Ripple is very much like lending money to friends. It has the potential to break up weak relationships. Ripple has the benefit of isolating well-behaved groups of people from the effects of poor behaviour.
Social lending is already a reality, and a large part of the lending market. In terms of lending between social relations, Ripple doesn't change much except make it more convenient.
Yes. Ripple does not force participants to abandon the protection of existing legal frameworks, it simply enables them to avoid it where it is not necessary. However, there are many instances, especially in business, that require legal contracts that can be defended in court. Ripple does not specify the nature of the mutual-credit agreement between any two participants, it simply keeps score in an account once such an agreement has been made.
More than that, it allows any sort of private credit agreement between two parties to become a part of a fully-functioning currency system with which participants can pay complete strangers.
First, nothing prevents large bank-like credit aggregators from participating in the system. One might say that Ripple is an experiment to discover not only the degree to which large credit aggregators are required in our economy when they are no longer required to satisfy the payment-routing function, but also to discover the degree to which the need for large credit aggregators to exist in order to route payments determines the nature of our economy.
If you make payments through a friend and don't repay that debt, your friend will be liable to the next link in the chain for those payments. You are putting your friend in uncomfortable position of having to make good on your debts to maintain their good name. They only granted you credit in the first place because they trusted you to not put them in this position!
Simply put, if you don't pay someone back, you have hurt your relationship with them. What you have gained in financial capital, you have lost in social capital. If you go about not repaying your debts, you will soon have no one left to grant you credit. Money is useless without a community of people who will accept it.
In Ripple, all money is stored as debts between two parties. By adding up all the money owed to you, and subtracting the money you owe, you get your overall balance.
Yes. When a stranger pays you in Ripple, their IOU is transformed through a chain of intermediaries into an IOU from someone who you have already granted credit to.
Who would you trust more when the going gets rough? Consider that it is standard practice for the government to decrease the value of what it owes you by 2% or more yearly through inflation. Also consider that it is standard practice for banks to hold in reserve only a small fraction of outstanding deposits.
Mostly, it comes down to a matter of taste. Do you want to participate in a hierarchical, centralized, corporate economy run by a complex legal framework of banks and government, or do you want to participate in an open economy run by the people you live with? And did I mention that it's cheaper?
That's up to you. Treat it as if you had lent him money and he hasn't paid you back. It's perfectly acceptable for you to end your Ripple account with him. You might want to take him to court to force him to pay. It's also perfectly acceptable for you to forgive his debt and treat it as a gift. It will depend on your relationship with that person. The Ripple system does not impose any punishments. Participants are free to behave as they wish.
They aren't. They or any other dependent person would have to rely on the generosity of their guardians, just like usual. Normally, a child's parents would grant them enough credit to buy what they needed, like an allowance.
We have a cultural myth that lending money to friends causes strife, which we often quote when we want to refuse loans to friends we don't trust without telling them we don't trust them. This tactic should apply equally well to granting Ripple lines-of-credit.
Just don't collect. It's easy to forgive his debts by simply making a payment to pass back his IOUs and return the balance on the account between you to zero. Or you can just grant him more credit and let his debt pile up. That debt only means what you want it to mean.
You must know people to participate in Ripple. People who have no friends could maybe use Ripple as an excuse to meet people...? Ripple can facilitate ad hoc microcredit organizations who work to involve marginalized people in the local economy.
That would be nice, and hopefully Ripple can contribute in some small way towards us realizing that money is not about power, but about community. But Ripple is a practical solution, not a utopian one. Like any system, its success will depend on the participants. Ripple provides an opportunity for those who feel ready to escape the clutches of the institutional economy to do so, but it depends heavily on participants valuing their human relationships over short-term material gain. It won't work for everyone.
First of all, participation in Ripple does not require you to enter your name, address, or give out any personal details at all. When you sign up at a Ripple server it assigns you an address for your "node" on the network. Then you can give out your address only to those who need to have it: the people you will have accounts with, and those make payments to you. Ripple allows node addresses to remain anonymous to all but neighbouring nodes during transactions that involve chains of intermediary nodes.
For greater security, and to enable certain types of transactions, some servers may require identification before allowing you to sign up. Since anyone can operate a Ripple server, you should, as usual, know and trust the people operating the server before you divulge any information.
No, for two reasons: One, no electronic currency can ever be as anonymous as cash; and two, criminals don't trust their friends.
Some people might not trust a transaction through a chain of anonymous intermediaries, and might prefer to receive payment only through completely non-anonymous transactions. However, such non-anonymous practices present a huge opening for rampant information harvesting by unauthorized third parties. Since each node in an intermediary chain knows who the previous and following nodes are, in cases of fraud involving anonymous intermediaries the nodes involved can be uncovered by asking each node in sequence, with the cooperation of node server administrators.
Ripple does not provide absolute protection in any way for those engaging in fraud, simply protection from casual prying eyes. Authenticating the identity of buyers, by any method, should afford sufficient protection to sellers.
A LETS system allows people to keep a single balance of their debts with the community as a whole. The problem is that any member of the community can grant credit on behalf of the entire community in order to receive payment. This puts people in the position of granting credit to those who are not necessarily going to repay, but still being able to claim payment on that debt from others in the community. The result is that the community currency slowly devalues and the system runs out of steam. Successful LETS systems avoid this with active centralized management to ensure that everyone does their part to make good on their debts – just like a bank with a friendly loan policy.
Ripple avoids allowing participants to benefit from wrongly granting credit to those who won't repay, by keeping track of credit only between pairs of participants, and never with the nebulous "community as a whole". Anyone who grants credit that is not repaid is fully liable for that debt. It's as if you personally lent money that didn't get paid back. Ripple accomplishes this without needing a centralized labour-intensive bureaucracy.
In Ripple, it's as though every person operates his or her own LETS system.
So a LETS can be run using Ripple, just by starting a node. To model a traditional LETS, the managers of the LETS create a node representing the "community", and then all LETS participants, each with their own node, grant that node credit, and are granted some credit by the "community" node. Payments between members could then go through the central community node. Debts (negative balances) with the central node are payable to the community as a whole, and credits (positive balances) are IOUs from the community as a whole.
However, since Ripple allows anyone to act as a payment intermediary, there is probably little reason in most communities to go through the trouble of creating and operating a separate "community" intermediary-node. Any community that is not tightly-knit enough to have a useful Ripple network is probably not suitable for running a LETS.
No. All money could be considered a sort of flexible barter system, where one has to do something for someone to obtain the money, and then can obtain something of equal value from anyone else who accepts the money. Direct barter is a very inflexible way to trade. Even primitive economies rely on credit between acquaintances.
Yeah, except it's actually useful, and considerate of your privacy. It's not just a game to see how many connections you can rack up!
You can't. There are no software implementations yet. Email Ryan to help write one.
You have to trust that whoever is running your server is keeping good backups and has good security practices. If you're truly paranoid and know what you're doing, run your own server.
The initial Ripple software will be open-source, so any bugs can be corrected by a community of developers. In the early going, occasional glitches are bound to happen. Luckily, Ripple, at least initially, will be for holding information about accounts between friends, who will be able to sort out the computer's mistake between them. Obviously, until Ripple has been tried and tested, it should not be used to manage large debts.
Each node stores a digital certificate that uniquely identifies it during automated interactions with other nodes (accepting payments, processing through payments). Furthermore, each participant is assigned their own personal certificate that must sign any transactions originating at their node. This signature can be verified by any neighbours. The Ripple specification allows for these certificates to be stored on separate machines.
The same thing that happens when someone hacks into your bank's server. They can mess around with your accounts and all the other accounts on that server. If you have neighbours on that same server, they could likely use your node to make payments through those neighbours to whoever they wanted. In this case, normal law enforcement procedures would take over and the offending transactions could be traced to find out who benefited.
Ripple hosts could have insurance to conver client losses in the case of an intrusion.
Ripple allows for any degree of security measures to be taken to prevent a server from being hacked. When was the last time your bank's server was hacked?
You can never be sure that any server is completely secure, but as Ripple evolves best practices will develop for maintaining security, and servers will develop a reputation for reliability, just like banks.
XML for messages between servers, passed over HTTP secured by TLS/SSL. XML digital signatures for authenticating human-initiated messages between nodes. UUID for message IDs, etc.. SHA-1 for various things. Tried REST as an architectural philosophy, now leaning more towards straight messaging and maybe even SOAP (yech!).
Ripple allows each node to identify itself with keywords, preferably those shared by many of the node's neighbours, such as city/province/country, but also possibly with unique keywords, such as the node's URI. Ideally, each node would store the shortest distance in every direction to a node with any given keyword, but that would involve developing an potentially complicated protocol for keeping such tables up-to-date. And since ever-shifting account balances mean that payment paths cannot be counted on long-term, it might not be worth the effort.
Instead, as search messages are sent out with source and destination keywords appended, each node that sees the message keeps track of where those keywords came from, and whether their guess where to route the search message was successful. This information can be used to help route future queries on those same keywords.
By using a new unique alias for each transaction whenever they need to make their presence known outside their circle of trusted neighbours. All communication is routed through their neighbours, who are the only ones who know to which node the alias actually refers.
It is possible to insert false extra nodes inside the payment-chain messages so no one can really be sure how long the chain is.
Path search messages specify both "pay" currency units and "receive" currency units. If they are different, then any node that receives the message and has accounts in both currencies can perform the exchange at whatever rate it chooses. The payer can then decide whether to accept that rate or search for more paths.
Ripple also allows accounts to be temporarily converted to different units for single transactions at pre-arranged exchange rates if both parties to the account agree.
Circular debt is when, to give a three-person example, A owes B, who owes C, who owes A. It would be nice if Ripple automatically resolved. It is possible to always route payments along paths that avoid creating creating circular debt (always pay back existing debt first), however this would likely create unreasonable payment delays. Future versions of Ripple might include a search message for specifically sniffing out and cancelling circular debt.
The main security feature is that you're dealing with friends and not institutions reliant on adversarial processes. However, an unauthorized payment made to a stranger still has to be resolved somehow. Neighbouring nodes can verify that all transactions originating at a given node have been personally (digitally) signed by the owner of that node. This breaks down if some neighbours are on the same server, and that server gets compromised.
Ideally nodes would be run on a secure OS with execution privileges that prevent code modifications, and with separate web and database servers. A good Ripple host would offer to take the hit for customer losses due to a hacked server, just as a bank would. Despite the great potential rewards for hacking into a bank server, it doesn't seem to happen very often. And hacking Ripple requires gaining access to at least two neighbouring nodes, not just a single bank account. The truly paranoid could run their own single-node server to make this more difficult.
Sellers who are worried about becoming a victim of cascading debt repudiation along the payment chain resulting from claims of a compromised server could use parallel techniques for authenticating buyers and require the same key to be used for signing Ripple messages. See the next question.
Yes, and OpenPGP would make an excellent way for authenticating Ripple buyers and sellers to each other. While the Ripple specification will support any PKI, Ripple implementations will ideally be built on OpenPGP. Hopefully Ripple and OpenPGP can be mutually enhancing technologies. OpenPGP's philosophy is very close to Ripple's.
Ripple is designed to be minimal and extensible, so that useful features, like PGP's web of trust can be easily integrated. But I see no need to formalize these features in the Ripple framework itself, which is only about making payments along paths of intermediaries in a mutual-credit network. But send me your ideas.