The Stellar object model
gdb.svbtle.com
gdb.svbtle.com
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.
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.
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 :).
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.
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.
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.
So an "IP layer for credit" is infinitely more valuable (if it works…which is a big if).
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).
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.
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.