20 comments

[ 3.3 ms ] story [ 67.2 ms ] thread
One thing I need to clarify (similar with Ripple). If in the future, there are enough trust hops between nodes, then the currency won't even be required, right? Because the currency is just a way to hop between untrusted nodes?
Yep, that's right — certainly for the most popular currencies/issuers, in any case. I wouldn't be surprised if there's always a long tail of lower-traffic currencies which lean heavily on exchanging to stellar.
You still need a tiny amount in order to create transactions.
So many explanations of the trust model involve examples of interpersonal trust, which doesn't help me understand what I presume is the common case: trusting depositary institutions to hold balances for you.

Let's say I have $10,000 in a Wells Fargo checking account. Tomorrow, they add support for Stellar. How does that play out in the protocol? Should I trust them for the full $10k in my Stellar client? Some intermediate value? Why?

Let's say that I want to cash out some bitcoins using Stellar. I'd find a Stellar gateway that supports Bitcoin, deposit the bitcoins there and trust them for the deposit amount. I'd need a USD gateway to send the funds to. Do I trust the USD gateway for the expected USD value of the bitcoins plus a buffer for variance in the price?

If I trust two gateways for the same currency, the network reserves the right to move balances between those gateways. Do these moves only happen if they increase my balance? Otherwise, why would I trust multiple gateways for longer than it takes for me to complete my transactions?

Conceptually, it seems like decentralized exchanges should already be winning over the Bitstamps of the world, but Ripple and Stellar have been so hard to understand and use as an exchange that it's easy to see why they're not. I'm excited to see what people build to solve that problem.

(comment deleted)
If you deposit $10k in Wells Fargo you have to trust them for the full $10k. Which you already do by putting $10k in a bank account.

If you want to send me your $10k I need to trust Wells Fargo for $10k because I will then have $10k that Wells Fargo owes me. I can then cash it out at say an ATM or branch. Once you have transferred the money to me you no longer need to have the trust and once I cash out I don't either.

(comment deleted)
> Let's say I have $10,000 in a Wells Fargo checking account. Tomorrow, they add support for Stellar. How does that play out in the protocol? Should I trust them for the full $10k in my Stellar client? Some intermediate value? Why?

Great question. You'd probably want to Wells up to the $250,000 FDIC insurance limit — the US government has guaranteed that funds up to that amount are safe, and so you likely feel comfortable with them holding that amount on your behalf.

> Let's say that I want to cash out some bitcoins using Stellar. I'd find a Stellar gateway that supports Bitcoin, deposit the bitcoins there and trust them for the deposit amount. I'd need a USD gateway to send the funds to. Do I trust the USD gateway for the expected USD value of the bitcoins plus a buffer for variance in the price?

This one is probably easier to handle just by using Stellar's baked-in exchange. As I mention at the end of the post, you can make exchanges without regard to your trust settings. So the workflow would be:

- You deposit BTC with a gateway, trusting them to your deposit amount. - You create an offer with TakerGets: BTC, TakerPays: USD from your desired gateway.

And you don't need to set an explicit trust line with the USD gateway.

> If I trust two gateways for the same currency, the network reserves the right to move balances between those gateways. Do these moves only happen if they increase my balance? Otherwise, why would I trust multiple gateways for longer than it takes for me to complete my transactions?

In the steady-state, the way to think of a gateway is as an analogue of a bank. You probably want to maintain a long-lived relationship with one or more of them. Those moves will happen at par.

For example, imagine that I had $100 with Wells Fargo and $100 with Chase, and you have the same. By default, we could wake up tomorrow and find that I have $200 with Wells and you have $200 with Chase.

> I'm excited to see what people build to solve that problem.

Me too :).

> For example, imagine that I had $100 with Wells Fargo and $100 with Chase, and you have the same. By default, we could wake up tomorrow and find that I have $200 with Wells and you have $200 with Chase.

Does anyone want that behavior? The network benefits from it, but individual users don't. I'm assuming someone has weighed the costs and benefits of this behavior versus paying people for providing liquidity, and that'd be interesting reasoning to hear.

It is a complication left over from ripple. It will most likely be turned off by default.
I think decentralized exchanges will only work on platforms like Ethereum, where it's easy to tie all sub-currencies to each other, since they all use the same underlying platform, and it should be a lot more secure, too, than tying incompatible currencies and blockchains to each other.
Creating a distributed system that allows anyone to transact in any currency the wish to (fiat or digital) is the point of Stellar and Ripple.

I've been using Ripple since it launched; the distributed exchange capability is the killer feature.

All of the stuff happening with Ethereum, Counterparty, tree chains and side chains are efforts to add features to Bitcoin (and related) cryptocurrencies that already exist in Ripple and Stellar.

It's the glue between fiat and digital/cryptocurrencies.

Wouldn't all this stuff work better if it was simply backed by cash? Is stellar/bitcoin a store of value or a transaction mechanism? If it is just a txn mechanism then backing it with regular currency is fine. If you want a non-fiat store of value, choose gold or something.
In my view, Stellar is the "IP layer for credit" while Bitcoin is the "IP layer for money".

Stellar doesn't actually transfer value (like Bitcoin), it only transfers IOUs, the settlement (actual value transfer) occurs outside the Stellar network.

Stellar and Bitcoin achieve two different goals. Ripple can function as a decentralized exchange, while Bitcoin functions alongside USD, EUR, CNY for transferring value.

Of course, "credit" is how the modern banking system works.

So an "IP layer for credit" is infinitely more valuable (if it works…which is a big if).

> Of course, "credit" is how the modern banking system works.

Correct. Ripple adds another layer on top of the traditional banking system.

> So an "IP layer for credit" is infinitely more valuable (if it works…which is a big if).

Well, Bitcoin can be credit as well, and can be interchanged with national currencies via Ripple. The two protocols complement each other, they don't compete. Just as the USD does not compete with Ripple (because it is a currency that can be traded on Ripple, just as bitcoins).

Stellar is a protocol for transacting in whatever currencies you want.

The dollar isn't special; it's just another fiat currency. Everything in the Stellar network (except for the stellar cryptocurrency) is credit--an IOU. Which how all fiat currencies work anyway.

If I owe you $50 and I write you a check for $50, you consider the debt paid, even though all I did was tell my bank to owe you the $50.

When you deposit the check, the money doesn't move; the bank's ledger just gets updated.

If there isn't a currency (fiat or otherwise) we can agree on, we can use STR, the cryptocurrency of the Stellar network. Unlike other currencies, STRs don't require trust or gateways. As the utility of the Stellar network grows, the value of STR increases.

I'm disappointed that Stellar has the automatic balance transfers. I always thought that was one of the major flaws with Ripple. This breaks people expectations that the balances are like accounts and money won't move without authorization. It assumes that issuers credits are equivalent which is normally true but causes serious problems when it fails (see Mt Gox or bank runs).

If they need liquidity for the network to operate, they should allow people to provide funds for liquidity or operate as middlemen.

Well you can turn the feature off if you want. You can also set the "quality" of a given issuer. This means that you could apply a discount to the mtgox credit so it would swap out at a discount. But really it will probably just be turned off by default
>If they need liquidity for the network to operate, they should allow people to provide funds for liquidity or operate as middlemen.

Being a market maker (providing liquidity and being able to transact between currencies) is a feature of Ripple; I'm assuming it's part of Stellar as well.