Correct. Like Ripple, Stellar requires special (and dangerous) trust in certain nodes. For example, gateways (https://www.stellar.org/blog/introducing-stellar/#gateways) have to be trusted by the Stellar network as they send messages like "a user deposited 100 USD via a bank wire transfer, so please accept this digital representation of 100 USD, trust me". This trust is dangerous as people running an (initially) honest gateway may start acting maliciously and lie about how much USD or EUR or other currency exist on the network. By the time the malice is detected, maybe the network could trace all USD or EUR that was issued by the gateway, and revoke it, suddenly pissing off a lot of users who owns this currency as it would disappear from their wallet. Users would then loose trust in Stellar, and the network would collapse...
Stripe would presumably be the first gateway trusted by the Stellar network. Okay, so what if Stripe decided they could not trust other gateways and wanted to remain the only gateway? Well Stripe would be the only way to inject USD or EUR or other currencies in the network, effectively making Stellar a fully centralized digital currency, with the entire Stellar network being dependent on Stripe not being hacked, not being abused by a malicious employee, not shutting down, etc.
This is the complete opposite design principle of Bitcoin which requires absolutely no trust in any specific authority.
This means there needs to emerge a good system for users to decide which gateways to trust, but a malicious gateway can only directly harm the users who have decided to trust it.
The beauty of this model is anyone can become a gateway at any time. See for example the gist linked at the end of the Stellar blog post: https://gist.github.com/thejollyrogers/b114b5a98fa11a5a4ad0 — becoming a gateway is just two API calls.
So let's say I choose to not trust any gateway and their currencies, and instead decide to transact in the native stellar currency directly. This is a strange choice: why have support for alternate currencies if the Stellar protocol in itself can do nothing to help gateways gain trust? You might as well have, say, Amazon not even bother becoming a gateway issuing their own USD_Amazon, but instead Amazon would just accept the stellar currency directly. In this case I am still required to trust the native stellar currency. I am required to trust that Stellar --the nonprofit organization-- will correctly follow their mandate (https://www.stellar.org/about/mandate/): distributing x% to X, y% to Y, etc, properly thwarting fraud attempts from people with many fake Facebook accounts, properly thwarting fraud attempts during voting (https://www.stellar.org/about/mandate/#Stellar_creation), properly thwarting fraud attempts from people building fake nonprofits to attempts to gain a share of the 25% of stellars reserved for nonprofits, etc. And Stellar trusts Facebook, so I am even required to trust that there is no malicious employee at Facebook that will exploit APIs to attempt to gain stellars. You plan to distribute stellars through SMS? Heck I now need to trust telecom carrier employees, etc. Even if you are honest and make no operational mistake, fighting all these fraud attempts will be a large uphill battle, and there is way too much trust required, way too many possibilities for mistakes to happen.
Contrast this with Bitcoin: all Bitcoin requires is trust in three cryptographic algorithms which fit in a few thousand lines of code (ECDSA w/secp256k1, SHA-256, and RIPEMD-160).
I appreciate the attempt of building a different payment technology, but Stellar should not mislead people into believing they are similar to Bitcoin ("Stellar is decentralized [...] owes a lot to Bitcoin"). Stellar threw away the most fundamental element of Bitcoin: complete decentralization (including decentralization of the issuance of units of currency.)
So I'm with you — there are real tradeoffs here, and I'd encourage everyone interested in this stuff to mull them over (and I'm also happy to discuss: [email protected]). But one thing I really respect about the Stellar organization is the very deliberate approach they've taken to these choices, and how they've found a happy middle that feels like a translation of the existing physical world into the new digital one. If it works, I think it'll make Bitcoin and other digital currencies even more successful.
The fact that this weakness does not appear in the BitCoin protocol, but is rather implied by the human desire for convenience and marketplaces, doesn't make it less of a flaw. One can sneer at everyone who lost money with MtGox for "choosing poorly", so to speak, but on the other hand exchanges are the driving force behind BitCoin's success.
If this takes off, then you could use this to build the killer "spot me $5" app. A few weeks ago when some friends were describing the spreadsheet they used to track who owes what to who, I proposed a micro-virtual currency limited to just the circle of friends that all trust each other, whereby exchanging the virtual currency you can transfer debts, and trivially find out who owes money and who is owed just by looking at the current account ledger. Seems like Stellar enables that on a massive scale, without everyone needing to trust each other, because the coins are all tagged with the issuer.
Stellar uses real-world currencies to denote the held values. Does it limit these currencies to actual known entities, or could I become an issuer and start issuing credits in a fake currency? If I can do that, then it seems like there's an opportunity here to use Stellar to track things other than monetary exchanges. As a hypothetical example, if I had several kids, they could all trust each other to issue units of a fake currency called "Chore". If I ask one of them to do something, they could instead pay 1 Chore to their sibling to have them do it instead. This can of course be redeemed later if I ask the sibling to do something. Since it's a fake currency, it has no real value and can't be traded outside of the small group of kids (as nobody would accept it). This sort of thing can't be done with e.g. USD because the proxy money could be traded to someone else who doesn't realize that I won't actually accept it back for money.
Another solution would be to allow gateways to declare that their coins are only redeemable by a limited set of accounts. That way I can be a gateway and issue USD-stellar that everyone knows is worthless if it leaves the circle of friends. I could do this ad-hoc just by refusing to redeem any issued coins by someone outside the group, but as mentioned above that leaves open the possibility of people not realizing that these particular coins are worthless (outside the group). Of course, this also has the problem where someone may now look at their balance and see that they have $500 USD, but not realize that $50 of it is actually debt issued by me, because the software they're using doesn't distinguish restricted coins from others.
Perhaps the fake currency approach really is the best. This has the benefit of letting an extended group of friends trade around debt issued by people they're not actually direct friends with, but they trust transitively through a shared friend. If I decide to accept debt issued by Alice, and Alice refuses to pay up when I go to her, I can then talk to our shared friend (but hopefully Alice would agree that the debt I bought from Joan is still valid and pay up). The downside is, of course, that everyone has to be using the same centralized shared currency. And that won't scale past a small group of friends (if it did, it wouldn't be a fake currency anymore). Although if you have several smaller circles of friends each with their own currency, and there's overlap, they could decide to trust the other currency and treat it as equivalent to theirs. I guess this is a continuation of Stellar's philosophy that the trust is granted by the person accepting the coin, rather than being dictated in any fashion by the issuer.
Of course, all this is predicated on the fake debt-currency not spreading far. As you try to scale to larger groups of friends, it ultimately ends up being simpler just to switch to USD.
I guess the real challenge here is figuring out how to let Stellar wallet clients display contained balances in a way that doesn't confuse coins issued by generally-trusted gateways vs coins issued by small gateways that most users probably won't trust. If I can somehow either categorize myself as a gateway, or each gateway I trust, those categories could be used to display balances appropriately. This way I can categorize Alice, Joan, Bob, Fred, and Jane as debt-issuing friends, and they can issue USD, and I won't accidentally think I have $500 USD when I really have $450 USD and $50 friend-debt. This doesn't really solve the problem of trading debt to people who don't realize it's worthless, but I don't know if that's a legitimate worry.
Check out https://www.stellar.org/api/#api-payment. By setting Amount.issuer to be the recipient's address, the protocol will find a path from the sender's gateway to the recipient's gateway.
Speaking more broadly, I anticipate many gateways will also become exchanges, to make their credits more valuable, aka more "liquid". For instance, in the last example, what was required to make this work was a "market maker", someone in the middle buying London EUR and selling San Francisco USD. If no direct exchange existed (highly unlikely in this example), there may be a EUR -> XYZ Currency -> USD. To avoid this external dependency (and also offer a cheaper exchange rate), it would be in the London and SF gateway's best interest to trust (https://www.stellar.org/api/#api-trustset) each other. Then, the exchange from her EUR credits to your USD credits would happen directly.
Yep, that's baked into the protocol :) https://www.stellar.org/api/#api-accountset - require Auth flag
Note that your friend would only be able to trade your fake currency to someone who is willing to trust you, so there's no obvious need to have more technical enforcement preventing trades.
Unless this is totally different than Ripple, this can't happen unless there's a trust pathway between the recipient and you.
"Hey, take my credit from X gateway" "Sorry, I don't trust X"
I'm also wondering, since the amount of Stellar is capped (100 billion, right? Can this ever change?), and since 50% of Stellar is being distributed to people who sign up, it seems like a sizable portion of this Stellar will almost certainly immediately become unusable as people sign up, get their Stellar, and never come back.
Edit: Just found the bit where it says Stellar will be created at a rate of 1% annually. The fixed 100 billion cap I cited was based on earlier comments about Ripple's cap.
That's not the only way that gateways can talk to eachother. Given this is ripple we're talking about, anyone who has a mutual trust connection between gateways can facilitate a transaction, as can any market-making trader.
Looking at MIRI's gateway and my own showed dozens of such connections. Ripple has 100,000 users, any of which can be part of the connection between any two given gateways. Stellar is planning on growing that large and larger, so it should be expected that this will happen there, too.
Isn't the worst case that the gateway goes belly up?
But more seriously, a gateway you trust going under is indeed a risk. That's part of why you can specify not just "I trust this gateway" but also "I trust this gateway for up to 100 CAD" — you can explicitly specify your exposure.
Anyone can be a gateway, so Stripe can't prevent others from succeeding. The only barrier to entry to becoming a successful gateway is earning the trust of the folks transacting on the network.
This is incorrect. A trustline between a user and a gateway is no different (https://ripple.com/wiki/Ripple_for_Gateways#Gateway.E2.80.99...), special or any more dangerous than a trustline between any two users on the network.
I can extend a trustline of $20 to my buddy Jim or I can extend a trustline to a gateway for $20. It makes no difference to the network.
For example, gateways (https://www.stellar.org/blog/introducing-stellar/#gateways) have to be trusted by the Stellar network as they send messages like "a user deposited 100 USD via a bank wire transfer, so please accept this digital representation of 100 USD, trust me".
Also incorrect. The only trust required is for the user to trust a gateway to hold a balance on their behalf. The consensus process--you might want to read about it at https://ripple.com/wiki/Consensus ensures that the all nodes agree to this change in the status of the ledger.
This trust is dangerous as people running an (initially) honest gateway may start acting maliciously and lie about how much USD or EUR or other currency exist on the network.
Wrong again. Both Ripple and Stellar's consensus process require that all of the nodes agree on the state of the ledger before any new transactions can be added to it. Bogus transactions or changes to the ledger are easily detected.
From Ripple's wiki (https://ripple.com/wiki/Consensus#Liars):
If someone should be dishonest, the honest actors will notice them lying and can disregard their future attestations. That is, if you lie once, you have no gain as the network doesn't care and they won't care what you say in the future.
The ripple protocol requires validators to sign the consensus ledger after each validation interval. If a validator fails to do this, it will be easily detectable. Similarly, if a validator signs a ledger and then signs a ledger after that which cannot be reached by a combination of valid transactions, this will also be easily detectable.
And then you say…
By the time the malice is detected, maybe the network could trace all USD or EUR that was issued by the gateway, and revoke it, suddenly pissing off a lot of users who owns this currency as it would disappear from their wallet. Users would then loose trust in Stellar, and the network would collapse...
Nope; see above why this can't happen.
Stripe would presumably be the first gateway trusted by the Stellar network. Okay, so what if Stripe decided they could not trust other gateways and wanted to remain the only gateway?
The model isn't based on trusting any particular gateway; it's based on trusting multiple gateways to not collude against you.
Example: you may not trust a gateway run by the Democratic National Committee or one run by the Republican National Committee, but you can be pretty confident they aren't going to collude against you. And because they'd both are on your Unique Node List, if they agree with the other nodes you talk to, you can be confident the ledger reflects the true state of the network.
Well Stripe would be the only way to inject USD or EUR or other currencies in the network, effectively making Stellar a fully centralized digital currency, with the entire Stellar network being dependent on Stripe not being hacked, not being abused by a malicious employee, not shutting down, etc.
Wrong. Again.
Anyone on Ripple (or Stellar) can be a gateway or market maker and provide liquidity on the network. There's nothing special about Stripe, except that they have more money and reputation than most of us do.
It does mean that lots of people will trust Stripe to hold USD balances on their behalf.
If you're totally paranoid, with Ripple or Stellar, you can decide to only transact fiat currencies with people you know and trust and act as gateways for each other (https://ripple.com/wiki/Ripple_for_Gateways). The beauty is you can transact with people outside of your circle if one of your friends has extends trust to someone you don't know. You don't have to trust them, but as long you trust someone in common, you can transact with fiat.
This is the complete opposite design principle of Bitcoin which requires absolutely no trust in any specific authority.
Because the bitcoin protocol doesn't take into account the concept of gateways between the blockchain and fiat currencies, bitcoin users are left with relying on exchanges like Mt. Gox to address this. How did that work out?
Stellar is a nonprofit organization and will have public financials and governance documents. It will also hold just 5% of the stellars -- 95% is being given away as quickly as possible. The board is composed of Jed, Keith Rabois, and me. A number of other advisors (http://stellar.org/about) are ensuring that everything is run well and fairly.
I'm not sure that this actually answers my questions, though. You seem to have more or less restated what I said without specifically addressing anything.
For instance, I said, "Jed is also on the Stellar board, too, one of only three members -- and so wields a considerable amount of influence." Then you said that "the board is composed of Jed, Keith Rabois, and me".
I'm not sure how that allays any concerns that Jed, who was specifically criticized in a number of Ripple-related efforts, is now on a similar organization. All it does is restate what I earlier said -- that Jed is on a small board, and apparently has an equal vote, and apparently wields a lot of influence.
In any case, I'm more interested in hearing about how Stellar is or isn't like Ripple. Is it essentially the same technology with a different governance structure on top of it? If not, in what way(s) is it different?
Sorry, mostly I was just alluding to the fact that most of the board is composed of external members.
> In any case, I'm more interested in hearing about how Stellar is or isn't like Ripple. Is it essentially the same technology with a different governance structure on top of it? If not, in what way(s) is it different?
There are technical differences (like the inflation), and they'll diverge more over time, but I think the technical differences are of secondary importance relative to the issues around coin distribution and governance. If a distributed financial network is going to succeed, I believe that it has to be run by an impartial organization.
95% of the coin is being given away and the effort is decentralized in nature. A 5% fee for the continued development of this platform and a fair amount of control over it's direction seems overly reasonable to me. Clearly Jed and his team care about creating something that is beneficial to everyone. I'd rather see speculation about the possible benefits than a rathole over something someone got bent about during the Ripple deal.
I think I was very specific in the OP and the WSJ reference.
But to spell it out: Jed McCaleb is a cofounder of MtGox and Ripple. MtGox collapsed, is defunct, and is under investigation by multiple governments and regulatory agencies. Ripple dropped 40% in one day when Jed liquidated.
I don't think it's unreasonable to wonder whether Jed is the right person to be on the board of a new digital currency, given the track record at the last two organizations.
If you want to establish reliable evaluations of trust in a human, you have to stay away from biases and blaming statements. Yes, Jed was a cofounder of Mt. Gox. Yes, Mt. Gox caught on fire and burned to the ground. However, to establish a logical connection between those two statements requires a truthfully evaluated statement regarding how Jed was responsible for the fire. To my knowledge, Mark was the one responsible for that fire, not Jed. Mark was responsible for the legal, fiscal, and operational health of that system. Not Jed. You have not pointed to a statement that causes this to evaluate the two statements together and provide correlation.
If you can't do that much, then it's just a blaming statement based an associative bias.
I've been in a bad situation before with co-founders and it didn't end well for anyone. I can't speak for what happened at Ripple with Jed, but the guy has a right to go out and work on what he believes in without being unfairly judged for taking actions that were well within his right of exercising in the past.
- Stellar is a nonprofit. No one owns it. The board and advisors represent a diverse group of people in tech, finance, nonprofit and academia to encourage cross-pollination of ideas. The board is also required to expand to 5 members by year-end.
- Almost all the stellars will be given away for free (95%) because the goal is to educate and provide access to digital currency/financial services. This is really good for cryptocurrency as a whole because it provides access to a huge segment of the world that would not have access to digital currency otherwise.
This should all help the effort be open and transparent.
And we are talking about a full fledged monetary system here with legal repercussions in terms of international law. With Bitcoin, no one was technically "responsible" for what folks did with Bitcoin. Will the Stellar organization be responsible for oversight and arbitration for any legal or financial fraud? And will the board BE held accountable or responsible for any systemic issues rising from speculation or any other activity?
"We" doesn't include people trying to make money off shitty pump-and-dump altcoins, unfortunately.
https://news.ycombinator.com/item?id=8116051
Ripple's XRP value plummeted after one of the founders of Ripple, and now founder of Steller, sold off his holdings within 2 weeks. I hope someone can explain to me how this is better than a decentralized variant?
The original Ripple was a much more loose unfinished idea for a much more reliable solid decentralized means-of-trade. It wasn't even a currency, only a protocol, a scheme, a nice good thing[2]. Then this bad Ripple came and got the name from him and he accepted their proposal, maybe because he thought his project was dead, but in the minds of the people who thought about it it will never die!
For anyone who's interested in the earlier stuff:
It's funny to me that even though I doubt Stellar will be more than a flash in the pan (due to the reasons you mention and what they imply) I'm still willing to give up privacy for the shot that 5000 STR might buy me a sandwich one day.
> Development is led by Jed McCaleb and Dr. David Mazieres in collaboration with a small team of others. (The technology is based on the open-source Ripple project, originally created by Jed a few years ago.)
So, is Stellar fundamentally the same thing as and/or a fork of Ripple? They've hired the same guy who started Ripple (Jed McCaleb), and as I recall there were a lot of concerns around that, as noted in a WSJ article [0] and other places. Jed is also on the Stellar board, too, one of only three members -- and so wields a considerable amount of influence.
If so, then doesn't it have all the same problems and concerns as Ripple? Centralized authority holding a large chunk of initial funds, questionable governance decisions, etc., just to name a few of the political problems, not just the technical ones.
I'd love to see the "IP layer for currency" described by Stripe succeed, but I'm not sure that this implementation of it represents a good idea. And I'm also concerned about whether Jed, the cofounder of both MtGox and Ripple, has the best interests of Stellar at heart.
[0] http://blogs.wsj.com/moneybeat/2014/05/22/ripple-alternative...