---------- Forwarded message ----------
From: Jiri Baum
<jiri-GQNJI/xCzH+6c6uEtOJ/EA@public.gmane.org>Date: 2009/7/20
Subject: Re: [Ripple-protocol] Circular Multilateral Barter
To: Evgeni Pandurski <
epandurski-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Hi Evgeni,
[Note: you e-mailed the reply only to me; not sure if you meant to do that.
Feel free to reply on the list if you prefer.]
> > * You phrase the system as a centralised one. Wouldn't a distributed
> > system be better? The implementation would probably end up more
> > complicated, but the requirement for a central, universally-trusted
> > clearing house is a pretty big weakness...
> Well, you are right. But it is not that bad. The clearing house needs to
> follow the rules. If it brakes the rules this can be immediately and
> indisputably revealed.
Well, front-running... though I guess a simple two-phase commit/reveal
protocol will do the trick there.
http://en.wikipedia.org/wiki/Commitment_scheme
Also, if the system is either distributed or places no special trust
requirements on the clearing house (which are equivalent), it can be run off-
line, on a local network, for instance at a (physical) market.
You don't say to what extent the bids are public or private; does everything
become public at the end of each turn, or are only matched trades revealed to
those who are in them? Very different security profiles for the two options...
If everything becomes public, making a distributed version would be relatively
simple: everyone commits, everyone reveals, everyone does the same calculation
to arrive at the same result. (Though watch out for the person who reveals
last - they get the result before they reveal, and can drop out claiming a
technical problem.) Maybe add a touch of Paxos to deal with people dropping in
and out.
If everything stays private, a distributed algorithm would still be possible,
but it would be in the realm of joint computation - which is an active area of
research...
http://en.wikipedia.org/wiki/Secure_computation
> So the clearing house can not cheat or take unfair advantage from the system
> without being revealed in doing so. I think this trust-model is fine for
> virtually all societies.
Yeah. It's just that now we have (or are developing) the technology, we might
re-think some of those...
Failing that, you might want to add things to the protocol so that breaking
the rules will be more indisputable. I haven't read through with that in mind,
but there might be a few... It's always neat to set things up so that breaking
the rules will mathematically result in a signed confession

> > * In a couple of places, the document implies the existence of a
> > currency; in particular, the "want to buy" and "want to sell" phrases make
> > no sense in a barter system (where everything is a trade of one good for
> > another).
> "want to buy" and "want to sell" are just phrases. What the system really
> needs is a standard of value. Money does define a standard of value
> (although not a perfect one) which is well-known so I use money in my
> examples. It is important that traders *do not need* to posses money (or any
> other credit-based goods) in order to trade.
Ah, right; so essentially those are denominated in arbitrary units that are
valid only for that turn and flow ID combination. Might be good to rephrase it
in those terms... (or in some other way to reduce confusion).