
The Stellar object model - gdb
http://gdb.svbtle.com/the-stellar-domain-model
======
natrius
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.

~~~
gdb
> 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 :).

~~~
natrius
> 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.

~~~
swamp12
It is a complication left over from ripple. It will most likely be turned off
by default.

------
pbreit
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.

~~~
runeks
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.

~~~
etchalon
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).

~~~
runeks
> 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).

------
simondlr
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?

~~~
gdb
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.

------
ianburrell
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.

~~~
alwillis
>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.

