Ripple is officially open-source
ripple.com
ripple.com
As a Mesh Networking Practitioner, I see I'm once again going to have to deal with namespace collision. (Ripple has been well used name in another domain: http://www.ietf.org/proceedings/75/slides/roll-2/roll-2_file...)
Interesting - Ripple the routing protocol is primarily about Directed Acyclic Graphs, while Ripple, the payment network, works with merkle trees.
Combine the two concepts together, a directed acyclic graph of tags stored as a merkle tree, and you basically have git.
"Our consensus process uses peering ... instead of mining. The ledger is a data structure that describes the current state of the network as a merkle tree"
Sometimes it's just a funny way of getting introduced to something that's really cool.
From a mobile dev perspective this other Ripple is some worthless alternative payment method no one uses because PayPal has all the accounts so is easier for the user, or iTunes or Google or amazon or Samsung Fusion payments are built into their stores and protected by TOS as being the only payment processor you can use.
So an article on another payment method is pretty worthless and the name collision is pretty annoying because I have to sometimes follow the link before I see it for what it is.
I know what you mean, I love Ripple chocolate bars. ;)
Personally I don't think we'll see much grassroots adoption of any cryptocurrency technology that can be categorized as "pre-mined" or anything less than full decentralization, and that includes both Ripple and Mastercoin.
Now if they're able to get the existing banking system on board they could have some chance. It sounds like they're handing out large chunks of XRP (the Ripple cryptocurrency) to companies that implement Ripple integration as an incentive.
Besides, the definition of centralization is that there's a central authority with arbitrary power, such as changing balances or freezing accounts.
Does that mean it does an intersect of sets of trusted validators? How does it determine which sets of trusted validators to use? What if the intersection is the empty set?
So the set of of validators which gets used is exactly the union of nodes in the UNLs. If you have two networks without any overlap in the UNLs, then you'd get two separate ledgers.
http://bitcoin.stackexchange.com/questions/13330/what-is-the...
http://bitcoin.stackexchange.com/questions/10227/why-does-ri...
Every server has a copy of the LCL, so there can't be a case of ledgers being different anyway.
Anyone on Ripple can send XRP to anyone else regardless of who they trust; in order for Alice and Bob to transact in a currency other than XRP, the Ripple network will find a path between them to allow the transaction.
There a video from Ripple Labs that explains how consensus works: http://ripplefederation.org/videos/how-ripple-works-gateways....
- Currently, there's a small clique of servers run by OpenCoin Inc and their partner businesses which only trust each other and which everyone uses. The ledger closure process and transaction acceptance are effectively centrally controlled by that group; if your server closes the ledger itself rather than waiting for the official ledger from on high, it will be permanently stuck on its own fork of the network.
- Because of the way the ledger closure process works, if you set up your server wrong and end up in a part of the trust network that's poorly connected to the official servers you will end up permanently stuck on your own fork of the transaction history. (In practice, since you can't disagree with the official OpenCoin servers and you can't influence their consensus, you should just set your trust list to the OpenCoin-approved list exactly and forget about peer-to-peer stuff.)
- There's a mandatory transaction fee in a virtual currency, XRP, and unlike in Bitcoin the XRP used in that transaction fee is destroyed. The fee is set as part of the ledger consensus process, which is controlled by OpenCoin Inc. They also control the supply of XRP. In effect, there's a central organisation with the power to charge arbitrarily large fees for the use of Ripple.
Nope, it's entirely correct. During the consensus process, each server only listens to servers that its operator has marked as trusted - there is no way for servers outside the trusted clique to affect in the consensus within the clique.
No, it's entirely incorrect; you have a misunderstanding of how the consensus process works[^1]. To reach consensus, all nodes have to agree on the set of changes to be applied to the ledger.
A server gets proposals for these changes from the servers on its Unique Node List[^2]. But in order for these transactions to be applied to the next ledger, enough of them have to match transactions coming from other servers on the network the aren't on the UNL. If a transaction from a server matches a transaction proposed by servers on the UNL, it gets a vote.
This process repeats until 80% of the transactions match from the UNL matches everyone else's, which is the threshold for mathematical certainty. And remember, every node on your UNL is doing this same process with the nodes on their UNLs, which makes it decentralized.
When you're running a server, you don't trust the nodes on the UNL; you just trust that more 50% of them won't collude against you.
Currently, there's a small clique of servers run by OpenCoin Inc and their partner businesses which only trust each other and which everyone uses.
Also incorrect. As of 2013.09.02, there were 30 public servers and 11 validators on the Ripple network[^3]; most likely, there are more now.
This Ripple wiki[^4] says "As long as there is some minimal degree of inter-connectivity between UNLs consensus will rapidly be reached. This is primarily because every honest node's primary goal is to achieve a consensus."
And since anyone can download and run the Ripple server software, anyone who does so is part of this so-called "small clique of servers everyone uses".
Of course there will be bad actors on the net running questionable servers and validators. But we're on this thing called the internet; we could share data on which servers to trust and stuff[^5]
The ledger closure process and transaction acceptance are effectively centrally controlled by that group; if your server closes the ledger itself rather than waiting for the official ledger from on high, it will be permanently stuck on its own fork of the network.
Not only is this incorrect, but it shows either you don't actually understand how this works or you have some agenda for making shit up…
There is no such thing as an "official" ledger and there's no "from on high" (the network topology is a graph; there's no hierarchy). By definition, a server can not close a ledger itself; a ledger can only close when there's agreement among the servers and validators using the consensus process.
And even in the the case of disaster where the network splits in half and there are conflicting transactions and ledgers, when the network is reconnected, everything get back into sync.[^6]
Because of the way the ledger closure process works, if you set up your server wrong and end up in a part of the trust network that's poorly connected to the official servers you will end up permanently stuck on your own fork of the transaction history. (In practice, since you can't disagree with the official OpenCoin servers and you can't influence their consensus, you should just set your trust list to the OpenCoin-approved list exactly and forget about peer-to-peer stuff.)
Even if you use the default UNL (which can be changed at anytime regardless), you're still participating in a peer-to-peer network and you're still part of the distributed consensus process. Nice try though. And remember, we don't trust everyone on the UNL; we just trust that most of them won't collude against us.
There's a mandatory transaction fee in a virtual currency, XRP, and unlike in Bitcoin the XRP used in that transaction fee is destroyed.
* the fee exists to protect the network from spam transactions and denial of service attacks, as it would cost a spammer a lot of XRP to pull this off; the more transactions they'd attempt to send, the more expensive each transaction becomes
* the transaction fees are ridiculously small; the base fee is 0.00001 XRP.
* I swapped (using the Ripple network's built-in distributed exchange[^7])$1.16 for 25 XRP last night for 0.000025 XRP. That's $0.00075 for those of you playing at home. ;-). This lovely animation shows the details: https://ripple.com/graph/#2EF43881B82AE8FBA31A2C3272E61CBC2E...
* It's true that the Bitcoin protocol doesn't destroy bitcoin to make transactions. However, from the user's point of view, paying a fee for Ripple transactions is no different than paying fees for Bitcoin transactions.
The fee is set as part of the ledger consensus process, which is controlled by OpenCoin Inc. They also control the supply of XRP. In effect, there's a central organisation with the power to charge arbitrarily large fees for the use of Ripple.
Ripple Labs (née OpenCoin) doesn't control the ledger consensus process; if they did, it wouldn't be consensus right? The Ripple protocol is open source (you know, like SMTP or TCP/IP); they don't own or operate the network, therefore they don't charge fees--large or otherwise.
I know this may come as a shock, but fees are set by consensus, not by Ripple Labs:
>A node can introduce a transaction to change the base fee. If a trust-weighted majority of nodes vote "yes" on the transaction, it will be incorporated into the ledger and the fee will be changed.[^8]
Yes, Ripple Labs created 100 billion XRP and has committed to gift 55 billion of them over time to "charitable organizations, users, and strategic partners".[^9]
I got XRP from the GitHub giveaway[^10]; everything appeared to be on the up and up. I expect there will be all kinds of giveaways for years to come.
[^1]: https://ripple.com/wiki/UNL
[^2]: http://www.youtube.com/watch?v=pj1QVb1vlC0&feature=youtu.be
[^3]: http://bitcoin.stackexchange.com/questions/13551/how-big-is-...
[^4]: https://ripple.com/wiki/Consensus#Technical_Description
[^5]: https://ripple.com/forum/viewtopic.php?f=1&t=3881&p=19414#p1...
[^6]: http://bitcoin.stackexchange.com/questions/13330/what-is-the...
[^7]: https://ripple.com/distributed-fx/
[^8]: http://bitcoin.stackexchange.com/questions/7572/what-are-the...
[^9]: https://ripple.com/ripple_primer.pdf
[^10]: https://ripple.com/blog/git-in-the-game-2020-xrp-giveaway-fo...
There you go again making shit up. Again, Ripple ledger is open and available to anyone to look at, just like the bitcoin block chain.
Please show us where Ripple Labs is buying XRP. Oh yeah—you can't.
Like any currency, the price is based on supply and demand. We can see that buying and selling of XRP has increased dramatically in the last few week. That ain't Ripple Labs buying XRP but China certainly is: http://www.ripplelounge.com/1/post/2013/12/the-new-normal-in...
It's pretty obvious that the only lying going on is coming from you.
It's pretty obvious that Ripple Labs is buying back their own currency on the exchanges based on the volume. It's called damage control…
Yes because Ripple Labs, fresh from raising [an additional $3.5 million in funding](http://www.finsmes.com/2013/11/ripple-labs-raises-3-5m-fundi...) was clearly in really bad shape.
And all of that volume happening on the various exchanges (like the 232,348.28 that traded on [RippleChina](https://ripplecharts.com/market/CNY:RippleChina/XRP) the past 24 hours) is mostly Ripple Labs buying XRP, right?
This is just… dumb. And it makes no sense.
Ripple Labs can slow down or even stop distributing XRP until the price goes back to where they'd want it. No need to do buybacks when RL (at least for now) control the vast majority of the currency.
You should stop with these posts; it's just getting more embarrassing.
You should stop with these posts; it's just getting more embarrassing.
The idea that I'm interested in is that it seems to solve the double-spending issue that Bitcoin so eloquently solved, but without all the electricity wasting issue, and the 51% issue, that currencies with proof-of-work (POW aka mining) have. Currencies that use the POW system are designed to work well only if half of the computational power of the network is used by honest nodes. If by any means more than 50% of the network is in control of dishonest nodes, they could do all kinds of things and perhaps even kill the entire currency.
Replacing the proof-of-work system with something based on reputation seems very interesting in my opinion: https://bitcointalk.org/index.php?topic=10193.0
After reading a bit, I've concluded that Ripple doesn't actually solve the consensus problem. Whether it works or not depends on the shape of the graph of the core validating nodes. If the graph is too centralized (as it is now, and probably will always be), it can be controlled by fiat.
Supposedly, ripple reaches consensus under diverse graphs of validator node networks. But its a research topic still undergoing study (Ripple Labs say they have whitehats closely examining the protocol).
1. http://en.wikipedia.org/wiki/Byzantine_failure#Practical_Byz...
I'd still prefer something like Open Transactions which supports blinded instruments, though.
All other currencies exist on Ripple in the form of balances. (Similar to how I store my money at Citibank in the form of USD balances. This is how our traditional financial system works).
The protocol needs a native currency (XRP) in order to pay the anti-DDOS fee. Every payment or trade requires the user to pay a 0.0001XRP fee which the protocol destroys.
It's purpose is to create a cost to sending "transaction SPAM" and make it extremely expensive to DDOS Ripple servers for any sustained period of time. This transaction fee is dynamic and scales higher in terms of heavy server load.
It's important that this type of fee be paid in a currency that is native to the protocol. This allows the protocol to remain neutral and global.
Bitcoin achieves BFT by using its native currency (bitcoins) in a proof-of-work scheme. Basically BFT means a malicious node can't do anything which will break the blockchain, because the only way any node can make changes to the blockchain is if it has solved a block (has the private keys to next block of bitcoins). Nodes with private keys to previous bitcoins have to get changes relayed through the node which solves the next block.
Likewise, Ripple achieves BFT by using its native currency (XRP) in a consensus scheme. The consensus scheme relies on Unique Node Lists (UNL), instead of proof-of-work. So nodes can only propose changes to the ripple ledger if they are on the UNL of some other node. And changes will only be accepted if they are signed by the private keys of the native currency (XRP). Nodes which aren't on any UNLs have to broadcast their changes to nodes which are on a UNL, and of course, must still have the private keys to make those changes.
There are probably other ways to provide BFT, but using a native crypto-currency is one of them.
No, it doesn't. Have you seen the various pre-OpenCoin ripple protocols, or the currently competing colored coin proposals? None of them necessarily needed or would have benefited from a scarce-money fee currency. Ripple is a protocol for generating ad-hoc user-issued assets and arranging trade networks for exchanging these currencies. There's no reason fees can't be collected in whatever currency is being transacted, and then atomically converted into whatever currency the collecting node desires. That's what ripple is designed to do.
User-issued assets on ripple have a customizable transit fee which is effectively collected in the issued currency (since the fee is paid from the balance of the issue back to the issuer). For example, bitstamp's issuer fee is 0.2%, so any trades of bitstampBTC or bitstampUSD pay 0.2% of the amount back to bitstamp's issuer address. (the fee is set at creation of the issuing address and can't be changed later).
XRP also provides anti-DDOS, which is also something you'd also need to consider carefully in implementing my original designs, as well as a brilliant way to finance the creation, development, and maintenance of the network.
[1] http://freico.in/docs/freimarkets.pdf
> To me, the main thing XRP adds to the concept is a way of bootstrapping the network by providing a way to bridge the gap between islands of nodes with no trust pathway for monetary value to flow between them
XRP adds nothing new to the bridging problem. Any other common currency could have been used, such as USD-backed assets or bitcoin. XRP was Jeb McCaleb's stab at Bitcoin 2.0, and the bridging issue simply a post-facto rationalization. In a world where there is already existing decentralized currencies, or multiple legacy options for a common currency, there is no need for yet another centrally issued scarce-money... except that OpenCoin stands to materially benefit from forcing XRP down our throats.
> XRP also provides anti-DDOS...
It does so by economically limiting its own usefulness. Accounts and assets cost real money to create and maintain - more so than the fees involved with bitcoin. That brings us back to the traditional banking model of institutional asset issuers and heavyweight accounts, and rules out a number of protocols involving ephemeral asset issuance or privacy-enhancing one-time-use accounts.
I don't consider the problem solved if the "solution" involves restrictions that unnecessarily limit the capability of the system.
> as well as a brilliant way to finance the creation, development, and maintenance of the network.
On this I could not disagree more. XRP is an unnatural, ill-fit hack on top of Ripple which provides no tangible benefit that could not be achieved by other less restrictive, and less obviously self-serving means. It therefore ads risk to anyone investing time or resources into using Ripple, as it may be surpassed by a superior fork which removes XRP.
Financing the creation of a new, distributed, peer-to-peer network is not easy, I know - it's been hard trying to get funds for Freimarkets. But the OpenCoin / Mastercoin / Bitshares model is not the way to do it, in my opinion. Rather the bitcoin model is: distributed issuance and make your money from the economy that develops, not an underhanded wealth transfer written into the protocol.
One developer was paid, instead of stock a billion ripples. The first thing Opencoin/Ripplelabs did was giveaway very small amounts to create artificial scarcity and then open an exchange (through Bitstamp) to sell off as many as possible for Bitcoins. At the peak Ripples were worth more than all the Bitcoins in the world.
I remember Joel (I think) was adamant that Ripple was not a currency at all, except we ended getting him to admit it was meant to be a competing currency to Bitcoin.
I do not trust them at all, especially now Google are involved in backing them.
So am I surprised? No.
The drama that took place earlier this year when there were several denial of service attacks against Mt. Gox, causing the price of BTC to drop so that it could be bought cheaper by the attackers and their friends is way less likely to happen to Ripple.
Unlike transfering BTC, sending XRP from one Ripple user to another is free and confirmation is instant—no need for miners to confirm the transaction.
Now Mallory deploys ripple clients, which behave like ordinary ripple clients, but are under her control. After a while, 51% of the biggest consensus room are straw men for Mallory. She "flips the switch" introduces a transaction that places the entire network's balances into her accounts.
How does ripple prevent this?