I wanted to create a simple but working implementation of circles, and thought that for people to want to use it, it should be as easy to use as possible. I found that groups make things complicated because:
-Every time someone new wants to join a group, group members have to
decide if they can trust him. For a large group where lots of people try
to join, you have to decide a lot.
-Group members have to think strategically, how many of their tokens they should convert to group money.
-Some member who connects two groups often will find himself having
tokens of only one group, because transactions pass through him, and
they exchange his tokens. It means he won't be able to pay any other
group or person he trusts!
In my implementation:
there's no reason to form groups, so it's much simpler
for the user. If people are connected well enough, we can almost always
find a way to make a transaction.
Every user can tell how much he trusts each person he is connected
to. The trust level A has to B tells how much percent of A's account
balance can maximally be B's tokens.
If you want to send money to some distant person, the system finds
some path on the trust network that connects you (which usually isn't that long! https://en.wikipedia.org/wiki/Six_degrees_of_separation). If you want to send a
lot of tokens and it can't be done using one path, it looks for more of
them. Then it makes transactions along these paths, respecting the trust
levels that each person have set.
You can run some simulations using currency-net.py. If there's enough
connections, there's almost always some way to make a transaction, even
between distant nodes.
The user just needs to register, and add a few connections to the people he knows (in simulations 10 connections was enough) and he can forget about all the rest!
It's still very basic and there are a few bugs but it works. The server is already running so if you want to try it out just install spongy-simple.apk on your phone.
Tell me guys what you think!
If you see some things we could improve here I'd be very glad to hear them.