Continuation of the work on the creation and implementation of the classic Ripple protocol

245 views
Skip to first unread message

Giovanni Parra

unread,
Apr 16, 2014, 8:32:27 PM4/16/14
to rippl...@googlegroups.com
Ok, I have never participated in this group, neither known about its existence. I also never implemented anything related to the classic Ripple or contributed with the development of the classic Ripple protocol. But since 2011, when I first heard about Ripple, I always spent time thinking about it or its really feasibility, but just didn't have enough time or enthusiasm to search for the Ripple community, read about the developments and join the discussion.

Then I heard about something called Ripple getting lots of attention in the cryptocurrencies universe and started to search about it. I discovered that it wasn't exactly the same Ryan Fugger's project, and his name rarely appeared related to this new Ripple. Also, this new protocol didn't embody the ideals I had heard Ryan Fugger talk about: the "little trust goes a long way" approach, in which the basis of the network was the micro trust lines between friends and family eventually taking the place of banks in a global financial decentralized network.

There are a lot of criticisms of the new Ripple, and I am suspicious of it by numerous reasons, but this doesn't matter, because even it the new Ripple proves itself to be a good idea, it doesn't exclude the possibility of the old Ripple (and the fact that we should prefer the old Ripple idea to this new gateway-and-fiat-currency thing).

So, I don't know if I've searched in the wrong places, but it seems everybody here stopped thinking about the concept and implementations of the old Ripple just when the new Ripple appeared. Is that true? Or are there discussions happening elsewhere? Did everybody who believed the old Ripple suddenly stopped believing, or did everybody just accepted this new Ripple as the full body incarnation of their Ripple ideals?

It is difficult to arrive later to the party and see that everybody is sleeping, but I have ideas for the old protocol I'm thinking about for some time, I'm also reading everything I can find of the discussions about the old Ripple, and I really would like to make some questions to experienced ripplers about lots of things.

But, the first thing that comes to my mind is, considering that are people here still thinking about the old Ripple, shouldn't we give the project another name, so we don't keep confusing everyone and ourselves with references to a thing that in fact is two things?

Ryan Fugger

unread,
Apr 17, 2014, 12:41:42 AM4/17/14
to Ripple Project
Hi Giovanni.  Thanks for posting.  The new Ripple isn't trying to grow the network in the same way as I was with Ripplepay, etc., but technically there's no reason it can't be used in the same way as Ripplepay.  Just go create a wallet at Ripple.com, and you can add trust lines and make payments exactly as you could with Ripplepay.  So technically it fulfills all the qualifications necessary to implement the original Ripple concept:

http://archive.ripple-project.org/decentralizedcurrency.pdf

Ripple Labs actually started off trying to grow the network in a grass-roots kind of way, but ran into many of the difficulties I did with Ripplepay -- managing mutual credit connections is a novel, somewhat complex idea that most people don't flock to in the same way they do to Twitter or Instagram, say.  So instead they are focusing more on building a network of people and groups who are dedicated to managing their Ripple presence as businesses for the benefit of others in the network (and their own profit, of course), which are being called gateways, and tend to be run more like traditional deposit-taking institutions.  This helps connect Ripple to the existing banking system.  There is no requirement for this type of arrangement in the technical protocols though, it's just a more practical way of growing the network, by piggybacking on what's already out there, and beating them at their own game before introducing our own. 

I had looked into building Ripple along those same lines in 2008, although at the time (pre-Bitcoin), there didn't seem to be much mainstream interest in distributed P2P financial networks.  The ultimate goal for me has always been for each participant to manage their own credit lines and be a fully-participating intermediary in the network, it's just a question of the path taken to get there, and whether most people are even interested in this capability.

Certainly I would encourage anyone who is motivated to develop my Ripple protocol design under a new name (for now we've been calling it 2PC -- for two-phase commit -- to avoid confustion).  The designs are all there:

http://archive.ripple-project.org/Protocol/Protocol

But don't for a minute think that we can't use the new Ripple.com network as a mutual-credit financial social network like I originally envisioned.  Daniel Levy, a prominent user on Villages.cc, is building just such a service, backed by the new Ripple, and I hope others will as well.  If you'd like more information on his project, send me a private email and I'll let you know more.  I'm sure he'll make a public announcement when he's ready to.

Ryan

--
You received this message because you are subscribed to the Google Groups "Ripple Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rippleusers...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Jorge Timón

unread,
Apr 17, 2014, 11:52:26 AM4/17/14
to rippl...@googlegroups.com
As Ryan explains, the new ripple system also implements interpersonal
mutual credit and atomic transitive transactions (the two core
features of the Ripple concept in my opinion), although some people
think (including me) that the system is not really p2p since the
validation network is kind of "invite only" (you need other existing
validators to include you in their unique node list UNL).
Apart from that, I'm disappointed that my recommendations to implement
interest/demurrage have been ignored and decided to simulate on the
client side.
Using "accounts" for which you need to serialize transactions (also
with undesirable privacy properties) instead of just inputs and
outputs like in bitcoin is another big design flaw in my opinion.

So my continuation on implementing the ripple concept is
Freimarkets[1], which has private chains that basically interact with
each other in a very similar way as 2PC servers do (inter-private
chain transactions are basically inspired on 2PC) There we simply call
the ripple concept "transitive transactions" or multi-asset
transactions.
Transitive transactions involving assets with different
interest/demurrage rates (something that David Schwartz, Ripple.com
chief Cryptographer thinks is impossible) are supported in
freimarkets, both in public and private chains (in fact a transitive
trade can involve public and private assets).

Although we published the design last summer, we've recently started
implementing it.
We plan to deploy it on freicoin, but it could also be deployed on any
other bitcoin fork or a sidechain using 2-way peg.

I hope you find it intersting.

[1] https://bitcointalk.org/index.php?topic=280292.0
--
Jorge Timón

http://freico.in/

Apostolis Xekoukoulotakis

unread,
Apr 17, 2014, 12:04:48 PM4/17/14
to rippl...@googlegroups.com
Hello Giovanni,

In my opinion, a community is formed around a project not only because of its code but also because of its ethics and principles. So when the ethics of a community change, those that disagree simply leave. That doesn't mean that they don't exist.
So, you are correct when you propose to create a new group that will withhold the previous ethics.

There are also many lessons to be learned from the previous endeavor in this group. There were many strategic errors that led the previous implementation to fail to create a critical mass.
The most important lesson though is that of endurance, the ability to continue working on what you believe even though you encounter difficulties. The ability to see your mistakes and not hide them when you are under pressure of failure.

If you try to implement ripple, this is my advice on some strategic decisions.

a) Ripple can try to attract communities to use it but it is less useful than other local currencies. Ripple is better suited at connecting and transferring value between communities and people that do not trust each other and use local trust to do that.
b) Because the network will be sparse at the beginning, we need to glue it with money. So it is a necessity that there is a market place that people sell their products for money similar to ebay.
c) In continuation to the above, continuing on the work of Evgeni Pandurski and Chris Cook, implement a method for people to make circular barter with broken circles that are glued with money.

http://p2pfoundation.net/Netarchical_Capitalism
http://beyondmoney.net/2007/08/06/credit-clearing-pure-and-simple/
https://multiswap.net/about/
http://p2pfoundation.net/Open_Capital

Daniel

unread,
Apr 18, 2014, 12:44:46 AM4/18/14
to rippl...@googlegroups.com
As Ryan mentioned, a friend and I are working on a 'Villages.cc style' platform utilizing ripple's protocol at http://weboftrust.net .. I have been enthusiastic about the 'RipplePay' system since it's creation. I, too was frustrated to see that the ripple projects happening were not in the same 'distributed' spirit as this system was created.

I hear Ryan's sentiment that it wasn't getting off the ground or getting much attention, but with all the cryptocurrency enthusiasm, now, it seems the perfect timing and everybody (Me, anyway) was waiting for a decentralized version before really promoting, too. Villages didn't even have any branding.. My buddy has been working on a great framework for matching people and services and agreed that it was mutually beneficially to create a ripple trust networks plugin. If there are other options for implementing trust networks, say ethereum, freimarkets or 2PC, we will certainly make a plugin for our marketplace and a bridge.

 

WebofTrust.net is streamlining along very well.. The Puna community, where I live, is already utilizing it and it's pretty functional for our needs.. We just got privacy groups working, so users can choose whether to share a post publicly or just to people they trust.. Privacy is the main thing I want to get working well before publicly launching the site. We have a few more technical steps to work out, then branding/design.. after launch, there are features like matching offers/requests and 'skill certification badges'. The site should be ready very soon.. probably next month.. https://github.com/automenta/netjs/blob/master/plugin/ripple.js

if you want to explore our network, contact me and I can give you access..


We had a meetup, today.. It was very fun and people are excited about it.. there is definitely a learning curve, but if you ask someone how the dollar is minted, they will have a much more difficult time understanding that archaic system..... People are slowly getting it and slowly utilizing it.. our web of trust is growing, every meeting.. 


Also, I have a forum setup on the weboftrust.net .. There is nothing there, yet but might be a good place for this community's discussions.


Daniel Levy

http://weboftrust.net

@weboftrustnet


Our, very new, but growing web of trust...



Giovanni P

unread,
Jul 6, 2015, 5:24:46 PM7/6/15
to rippleusers
After thinking alone a lot about this and then reading a large number of the descriptions at http://archive.ripple-project.org/Protocol/Protocol (and coincidentally reaching some similar conclusions, which I take as praises to my intelligence), I am stuck for two years or more in a point where I can't stop thinking this protocol should not be designed to enable the most perfect and atomic transactions ever (or we would fatally start needing a blockchain and all that), because Ripple is thought and designed with trust between lines. If there is trust between lines, the possibility of one line being injured by a malicious node is (a) small, as no one will give credit to malicious people if they know them, and they have to know, or (b) not a problem at all, as they will be self-corrected, people are taking risks all the time, trusting a lot of people all the time, every driver trusts all the other drives when he is in the traffic, blablabla.

So that's it. I am probably missing something really important here, but I can't stop thinking that the protocol is good without atomic transactions, that all the nodes should trust its neighbours that they will reserve the required quantity of credit for that operation, and that spammers or flooders will be negativated by their neighbours (or the neighbours themselves will be treated as spammers and negativated).

After that, I'm beggining to think that there is not a "Why?" section at these Protocol wiki. Why distributed? Centralized can work well, specially if there is no money involved, just words: "I owe you". No federated or distributed or decentralized protocol will have the power to guarantee that the IOUs will be honored, so why do we need them? People already do some kind of ripple. The other day a friend of mine to whom I owed some bucks told me to pay another friend of us that money, instead of paying it to him, because they had a debt between themselves, and that was good. What we only need, in the end, is some software to help people organize their debts and credits between friends, all the magic of replacing the banking system will come.

A centralized server can not be harmful if it is honest while it exists (and its users can verify his honesty) and if it makes public (perhaps at an external host, perhaps even in the Bitcoin blockchain) a simple list of who owes who and how much. Multiple centralized servers can coexist, and can cooperate between them at discretion, like normal banks do -- or not cooperate, in this case users can do the accounting by themselves and register their operations with the outside world in their own servers ("I, Bob, do not owe Steve anymore because, in an external transaction, I paid Selena who paid Maria who paid Steve", "I, Steve, confirm that") -- there can be fraud here, of course, but the possibility of fraud was always present, because the real world negotiations cannot be taken into account by any decentralized protocol (not even the XRP protocol), so I can always claim in the protocol that someone haven't paid me in cash when in fact they did and vice-versa.

What am I missing here?

--

Ryan Fugger

unread,
Jul 6, 2015, 6:03:51 PM7/6/15
to Ripple Project
Without atomic transactions, it becomes possible for host operators to commit profitable fraud without being caught.  An example would be "losing" the commit token mid-chain on a transaction where they are both buyer and seller.  Someone is left holding the bag, but it can be arranged to be someone on a different host who is a complete stranger to the host operator and anyone they know and trust.  There was a lot of discussion about this in years past. 

Even without any malicious actors, without atomicity, inevitable outages will lead to half-completed transactions that need to be sorted out manually by users and host operators after the fact.  It's just poor design.

Decentralized ledgers solve atomicity very well without needing to leak any transaction details, so I don't see it as a major issue anymore.

The main problem with a centralized system is the need to trust the host operator with your data, which may be sensitive (ie, embarrassing), and everyone else who wants to participate must also trust the same operator.  It's not just a matter of the host being honest with the accounting -- they may blackmail you, for example.  A decentralized system gives you a choice of hosts, or the ability to operate your own host if you want, and the ability to transact with people who don't trust the same operator as you.  It's not perfect, because in order to participate in the network, you're likely going to have to share some data with other hosts, and they're going to be able to query available paths through you (or you'll advertise them, depending on the design), and so they'll be able to learn something about your connections in the network indirectly. 

(I've thought a lot about the issue of financial privacy lately, and I don't think a Ripple-style network, whether centralized or decentralized, will ever be that private for full participants who route transactions for others.  The best privacy, I think, would come from using someone else as a secret proxy, like anonymous banking -- you would have to trust the proxy though, although you could mitigate your exposure by only accessing them anonymously.  Of course governments have been trying to eradicate this kind of arrangement wherever it is found...)

Interoperating with other hosts isn't as easy as saying they can cooperate like banks do.  The difference between Ripple and banking is that in banking the service provider and the financial intermediary are the same entity, but in Ripple they are not.  You can't assume that a user has a credit relationship with the host operator.  The whole idea is to allow credit relationships with anyone, not just a single bank entity, and then route transactions through the resulting network.  Otherwise it's just a hierarchical network with a central bank.  So you have to allow users to have credit connections to users on other servers.  It's not as simple as saying user A on host B wants to pay user D on host C, and then route A->B->C->D.  You can't assume that any of those connections exist.  The path might go through users on multiple other servers before getting to D.  That's the fundamental problem a decentralized Ripple protocol needs to solve.  It's a routing problem.

Giovanni P

unread,
Jul 6, 2015, 6:28:52 PM7/6/15
to rippleusers
Decentralized ledgers solve atomicity very well without needing to leak any transaction details

​You mean a blockchain?​ If not, what? Is there any discussion about this on the old wiki?

Ryan Fugger

unread,
Jul 6, 2015, 6:45:20 PM7/6/15
to Ripple Project
The blockchain is a decentralized ledger, yes.  There's an atomic commit method using the blockchain for protocol design 0.6:

http://archive.ripple-project.org/Protocol/BlockChainCommitMethod


Giovanni P

unread,
Jul 6, 2015, 6:47:38 PM7/6/15
to rippleusers
Decentralized ledgers solve atomicity very well without needing to leak any transaction details

​You mean a blockchain?​ If not, what?

​What about the problems of "mining" a blockchain? A blockchain needs financial incentives to be maintained, and the only solution to this problem invented until now was the Bitcoin inovation: creating a virtual currency and giving it to miners. For all I could understand, all other cryptocurrencies out there, magical solutions, smart currencies, smart contracts and even Ripple.com, all them rely on an all-new virtual-currency. This cannot work. Even Bitcoin and its enourmous network have problems with keeping the blockchain safe (from 51% attacks and protocol changes and so on -- I'm not aware of what is happening on bitcoin world right now). I think it is ​​crazy to think all these cryptocurrencies can coexist and last long times. My vision of Ripple does not need another virtual currency, since it is just personal debts flowing around.

(If you were not talking about a blockchain or similar please ignore the above paragraph).


On Mon, Jul 6, 2015 at 7:03 PM, Ryan Fugger <a...@ryanfugger.com> wrote:

Giovanni P

unread,
Jul 6, 2015, 6:49:01 PM7/6/15
to rippleusers
oh, you mean The blockchain, not A blockchain.

Kurt Padilla

unread,
Jul 6, 2015, 7:50:00 PM7/6/15
to rippl...@googlegroups.com
Instead of a new currency and a reward schedule to incentivize mining, why not make it transaction fee only (no reward schedule) in the denomination of the IOU being exchanged?

Kurt
><https://lh3.googleusercontent.com/--qymq6BZgU4/U1CtNeddY7I/AAAAAAAAEiU/XgT0UqSsht4/s1600/social-graph-2014-04-17-297x300.png>
>>>>
>>>>
>>>> Also, I have a forum setup on the weboftrust.net .. There is
>nothing
>>>> there, yet but might be a good place for this community's
>discussions.
>>>>
>>>>
>>>> Daniel Levy
>>>>
>>>> http://weboftrust.net
>>>>
>>>> @weboftrustnet
>>>>
>>>>
>>>> Our, very new, but growing web of trust...
>>>>
>>>>
>>>>
>>>>
><https://lh3.googleusercontent.com/--qymq6BZgU4/U1CtNeddY7I/AAAAAAAAEiU/XgT0UqSsht4/s1600/social-graph-2014-04-17-297x300.png>
>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "Ripple Project" group.
>>>> To unsubscribe from this group and stop receiving emails from it,
>send
>>>> an email to rippleusers...@googlegroups.com.
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>> --
>>> You received this message because you are subscribed to the Google
>Groups
>>> "Ripple Project" group.
>>> To unsubscribe from this group and stop receiving emails from it,
>send an
>>> email to rippleusers...@googlegroups.com.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>> --
>> You received this message because you are subscribed to the Google
>Groups
>> "Ripple Project" group.
>> To unsubscribe from this group and stop receiving emails from it,
>send an
>> email to rippleusers...@googlegroups.com.
>> For more options, visit https://groups.google.com/d/optout.
>>

--
Sent with K-9 Mail.

@eucl1d

unread,
Jul 6, 2015, 8:04:31 PM7/6/15
to rippl...@googlegroups.com
I could add my Resilience protocol to the new ripple implementation. That would give ripple a social safety net, and make the network autonomous

Johan
REFERENCES:
"To be able to create what is the beginning of a decentralised financial security – basic income – but without relying on a government, instead relying solely on technology and your own personal network, feels incredible. I know I’ll be the first one to sign up! What Johan Nygren has come up with is truly amazing!”
https://www.cryptocoinsnews.com/bitnation-announces-decentralized-application-basic-income-based-bitcoin-2-0-technology-voluntary-fees/

 
"The BitNation team displayed their excitement to incorporate this platform and highlighting its aim to provide a naturally peaceful solution. "
http://coinssource.com/bitnation-decentralized-borderless-government-universal-basic-income/


"We have a Bitnation 3rd Party DApp, called basicincome.co developed by the Swedish prodigy Johan Nygren, using p2p cryptoledgers to create a voluntary basic income system. "
http://hplusmagazine.com/2015/02/18/interview-bitcoin-pioneer-susanne-tarkowski-tempelhof-on-bitnation-and-m/


"Basicincome.co is a part of the Resilience protocol, which is a 21st century web-based standard for dividend allocation within a co-operative. "
http://www.basicincome.org/news/2015/04/bitnation-basic-income-application-set-for-bitnation/


"Instead of receiving a share of the profit of a centralized network, each person would receive a share of the profit from a vast number of smaller decentralized clusters. The accumulative dividend flow would be pretty much the same, as in the amount of basic income. "
http://www.bitnation-blog.com/voluntary-basic-income-on-a-co-op-dividend-scheme/


"Perhaps the most eyecatching digital basic income out there is the one associated with BitNation. "
http://vice.com/read/the-cryptocurrency-based-schemes-that-would-pay-everyone-just-for-being-alive-456


"The Pangea platform boasts a blockchain notary service for registering documents on the blockchain, an encrypted email service, and a ‘DApp Library’ with links to other services such as the Basic Income program"
http://cryptonewsday.com/bitnation-releases-proof-of-concept-for-decentralized-government-platform/

Giovanni P

unread,
Jul 6, 2015, 8:14:12 PM7/6/15
to rippleusers
This is crazy, you're not even reading the thread before posting.
Reply all
Reply to author
Forward
0 new messages