Bitcoin Forum
May 25, 2024, 10:49:24 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 [37] 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 ... 205 »
721  Economy / Service Discussion / Re: Why Ripple™ is against everything Bitcoin on: May 16, 2013, 03:16:17 AM
Anything centralized can be broken. Ripple can be hacked seized and shut down in an instant if the powers that be don't want it around.

Since source is closed it isn't like someone can build on top of the ripple system....but why would you want to given things would likely still be centralized.
We 100% agree. That's why we designed Ripple not to require any central authorities and why we're working to open source the server code.
722  Economy / Service Discussion / Re: Why Ripple™ is against everything Bitcoin on: May 15, 2013, 11:11:53 PM
Perhaps you'd show the source code, but that prevents you from stealth changing network core rules like you already did.
What are you referring to? We do change network core rules all the time, primarily to add features, but what do you think was a "stealth" change?
723  Economy / Service Discussion / Re: Why Ripple™ is against everything Bitcoin on: May 15, 2013, 08:39:51 PM
Thanks for all the explanation, I'm getting a much clearer picture now. Is there a special reason the consensus process starts with a threshold value of 50%? Near 0% it would be like set union, while near 100% it would like set intersection. It seems logical to start at a lower value top mop up some transactions, and gradually ramp up the required level to come closer to a consensus. But why 50%?
The level is gradually increased to speed convergence. 50% for the initial operation was chosen at first arbitrarily -- the choice easiest to justify and the one that seemed the most "fair". But then simulation showed that it avalanched the fastest.

If you pick a number much higher than 50%, you don't have as much room to ratchet up, and that can cause pathological behavior. If you pick a number much lower than 50%, you can find a transaction in the consensus set that can be hard to acquire because you aren't connected to nodes that have it.

724  Economy / Service Discussion / Re: Why Ripple™ is against everything Bitcoin on: May 15, 2013, 07:17:34 PM
Can you say more about that avalanche algorithm? Or is it just the process of switching to the majority (or plurality) ledger if there is one?
Yes, you switch to the majority valid ledger.

Quote
And what does a node do if for whatever reason all of its UNL nodes suddenly endorse a ledger that's on a different branch?
The node basically uses the following algorithm:

1) It switches to the majority of the ledgers it has not rejected. But it does not endorse that ledger.

2) The node tries to determine if that ledger can be endorsed -- determining whether it's a valid following ledger or not.

3) If the node determines the ledger is invalid, it rejects that ledger.

4) While this is going on, the node keeps tabs on any other nodes that have changed their position.

Over time, more and more nodes will veto any invalid ledgers in the mix and soon all honest nodes will be endorsing valid ledgers. The valid ledger with the most endorsements will eventually win.

This doesn't take nearly as long to actually happen as it might sound like. The ledgers will tend to be very, very similar and only differences are analyzed.
725  Economy / Service Discussion / Re: Why Ripple™ is against everything Bitcoin on: May 15, 2013, 06:02:22 PM
So how does it get out of that situation if the consensus process has been stopped? What makes nodes change their mind then?
Until there's a clear majority, no transactions will be considered confirmed. We'd rather stop than tell people they can rely on information that's not reliable.

Nodes have an avalanche algorithm to restore the consensus process. Typically, there will be one ledger that at least has a slight majority and the vast majority of nodes on that ledger will stay with it and the vast majority of nodes not on that ledger will switch to it. The result of the next consensus round after that happens will then get fully validated.
726  Economy / Service Discussion / Re: Why Ripple™ is against everything Bitcoin on: May 15, 2013, 05:48:40 PM
If I'm understanding you correctly, what it in fact does, is merely to stop seeking a consensus at that point, and to publish a single validated and signed ledger.
Correct.

Quote
What happens if it subsequently detects that others on its UNL have signed conflicting ledgers?
Currently, it treats its own validation as no different from any other validation. If no ledger gets a clear majority, then it won't consider any new ledgers as fully validated until one does.

This works perfectly for servers. However, we plan to modify this behavior a little bit primarily to make things easier for clients. Currently, clients trust their server to tell them which ledger is the most recent fully validated ledger. We want clients to not have to trust the server they connect to. Under the current scheme, that would mean the client would need to see a significant number of validations (and check all their signatures) to become convinced that a particular ledger did in fact get a significant majority.

The planned modification would change the logic as follows:

1) When an 80% consensus is reached, the server terminates the consensus process and builds the next ledger.

2) The server issues a "provisional validation" for the ledger it builds as a result of applying the transactions it thinks are in the consensus set. (This would actually be a new form of proposal and not an actual validation. It probably should be called a "final proposal".)

3) The server goes on to the next consensus process.

4) When a ledger receives sufficient provisional validations to convince the server it's the network consensus ledger, the server only then signs a validation.

This would have no effect on the way servers currently determine ledgers are fully validated. However, it would allow clients to become firmly convinced a ledger had majority support without needing a large number of validations. Each validation now conveys much more information -- the server didn't just build the ledger as a result of the consensus process, it acquired confirmation that a significant number of other nodes also terminated their consensus process at the same point.

This would also protect better against a possible class of bugs where servers might somehow agree on the previous ledger and the transaction set and nevertheless somehow build a different ledger as a result. Imagine, for example, some software bug that causes 32-bit code to produce different results from 64-bit code.

This also makes validators routinely make stronger commitments making it harder for them to claim that a deliberate bogus validation was just a result of unusual conditions.
727  Economy / Service Discussion / Re: Why Ripple™ is against everything Bitcoin on: May 15, 2013, 05:11:42 PM
Can you give some more details on the consensus process? I've studied the material on the wiki and some clarifications you've given on other forums, but it still isn't completely clear to me. I understand that whenever a node detects that the network has reached the 80% consensus level it will somehow try to declare the new ledger closed. Does it then wait for 100% of the nodes on its UNL to concur or just 50%? If the latter, I don't understand how this could mean "fully validated" or "mathematical certainty".
When the consensus reaches the 80% level, the node stops trying to reach a consensus on that particular set and computes the next ledger assuming everyone else has reached the same conclusion. Someone has to do this first or nobody will ever do it, and the person who does it first can't know for sure that everyone else will do it. This strikes a balance between not taking infinitely long to assure a consensus and not thinking you have a consensus when you don't all the time. At that point, the server moves on and tries to get a consensus on the next ledger assuming that it was correct and everything will work out fine. Basically, the server uses the consensus process to decide which ledgers to validate itself.

Additionally, the server has a "validation gate". This tracks the point in the ledger chain that the server considers fully validated. This is what it reports to clients. To pass the validation gate, ledgers must be validated by other servers. The server has a "validation quorum" that should be slightly more than half the number of validators it trusts. The server listens for validations and allows ledgers to pass the validation gate if they have sufficient validations. A server will do this whether or not it is itself publishing validations.

Once can prove mathematically that theoretically you can go on forever without ever having a consensus. But it's like flipping a coin until it comes up heads. While one cannot place a finite bound on the amount of time it will take, this presents no practical obstacle to actually doing it consistently in a reasonable amount of time.
728  Economy / Service Discussion / Re: Why Ripple™ is against everything Bitcoin on: May 15, 2013, 04:42:41 PM
https://ripple.com/wiki/Network_splits

I seriously doubt if they have solved the Byzantine Generals Problem. Roll Eyes
LOL, I love this:

Note: There is currently no way to tell if you are in the network minority. This feature is coming.
It's actually trivial -- if there are, say, 1,000 generally trusted validators and you see validation from fewer than 700 of them, you might be in the minority. This has been implemented in the server about a month ago, the wiki is just out of date. The results of the Ripple consensus process are never sent to clients directly as verified. The ledger must pass a "validation gate" before it's considered confirmed and this validation gate will never be passed if you're in the minority because you won't get back sufficient validations.

In contrast, if you're in the minority, you won't know until manual intervention with Bitcoin. If the world splits (as it did recently) people who are on the minority blockchain have no way to know that they are transacting on a block chain the rest of the world does not think is the longest chain. At best, you could statistically infer you were in the minority eventually based on blocks being found too slowly.

Bitcoin could adopt the method Ripple uses to solve this problem. Major mining pools could periodically broadcast a signed object stating the hash of the tip of the blockchain they are currently building on. You could then know if you were in the minority.

729  Economy / Service Discussion / Re: Why Ripple™ is against everything Bitcoin on: May 15, 2013, 03:49:04 AM
I do not understand it at all.  I watched all the videos.  I can't figure out how I would trade btc for USD with it, something I assume it would do easily.  

First, the BTC has to be in your Ripple account. If it's not, use a gateway to withdraw to Ripple.

We don't have a "pay to self" link or conversion wizard yet, so there's an extra step:

1 ) You open the client.

2 ) You log into your account.

3 ) You select 'Send'.

4 ) If you added yourself to your contact list as "self", type "self" for the destination account. Otherwise, paste your own account in.

5 ) Enter the amount of USD you want to buy. Select USD from the currency dropdown.

6 ) Wait a few seconds for the pathfinding engine to find the best deal it can for you using all the liquidity in the Ripple network.

7 ) If the number of BTC it says it will cost you sounds good to you, push 'Send'.

8 ) In about four seconds, your BTC will be gone and your Ripple account will now have USD.

You now have USD in your Ripple account. If you want it elsewhere, withdraw from Ripple.
730  Economy / Service Discussion / Re: Why Ripple™ is against everything Bitcoin on: May 15, 2013, 02:20:07 AM
Actually, I would not suggest to use more than two identification tokens (a ripple account string, hotwallet address, and a validation key), at least the validation key(or the hash of it) should somehow be made a validating node's unquestionable first identity.
I agree. That's a better solution. We have provable association between accounts and domains already. Thanks again. (We had discussed proof of stake for validators in the past, but we kind of forgot about it.)
731  Bitcoin / Bitcoin Discussion / Re: Can Bitcoin be displaced by another mined coin? on: May 15, 2013, 02:10:52 AM
I'd say the vulnerability of all other mined coins to a 51% attack (or some other type of attack) by Bitcoin miners makes this impossible.
Are you saying that launching a 51% attack on a currency is a perfectly legitimate tactic for advocates of a competing currency to employ?
I would say that it does not matter whether it is 'legitimate'.  The salient point is that it happens.
It's not likely to happen on an organized, large scale through pools and the like if the community considers it an illegitimate tactic. Hence my question. Some might argue that it's theft, fraud, criminal abuse, or the like.
732  Bitcoin / Bitcoin Discussion / Re: Can Bitcoin be displaced by another mined coin? on: May 15, 2013, 02:03:04 AM
I'd say the vulnerability of all other mined coins to a 51% attack (or some other type of attack) by Bitcoin miners makes this impossible.
Are you saying that launching a 51% attack on a currency is a perfectly legitimate tactic for advocates of a competing currency to employ?
733  Alternate cryptocurrencies / Altcoin Discussion / Re: Ripple or Bitcoin on: May 15, 2013, 12:01:52 AM
At least you are honest about that. Everyone has to earn a living, but man, I dont know how you sleep at night.
The secret is to never make an argument you don't believe or can't rationally defend and to concede when you are wrong as quickly as possible rather than digging yourself in further. I have also learned that extending people an almost unreasonably strong presumption that they are arguing in good faith goes a long way as well. The range of honest disagreement is much broader than generally appreciated and as long as you're not talking about religion, most people can be reached by reason eventually. You just have to keep trying.
734  Economy / Service Discussion / Re: Why Ripple™ is against everything Bitcoin on: May 14, 2013, 11:39:00 PM
the problem i see in Ripple is that validators are not getting paid.  no one is going to let their computer cpu time get consumed w/o being paid.  Joel said new ledgers will need validating every 20 seconds.  that's a tremendous amount of work that Ripple will need to get done.  if most actors in Ripple refuse to be validators, as i believe they will, then that responsibility will fall on OpenCoin.  that is a huge problem right there due to centralization.
The load difference of being a validator over a tracking server is negligible, it's at most one ECDSA signature per second and typically much less. People will run tracking servers because there's no other reliable way to get a high-speed pathway into the Ripple network. That will mean gateways and arbitragers will be validators too. Also, being a trusted validator gives you a say in the process by which new features are added to the network.

Quote
the other problem with validating every 20 sec is that the validator will need his private key available every 20 sec to digitally sign every ledger they deem accurate.  sounds to me like this private key needs to be in RAM constantly and will then be publicly exposed undermining security.
That's true. It's akin to running a Bitcoin hot wallet. Validators can easily rotate their keys. Once the network is more distributed, you'll have to compromise an awful lot of keys to do any real harm.

Quote
Ripple seems to ignore the fact that "work" needs to be done and paid for to sustain/build a robust p2p system which is what Bitcoin has.
People will do that work because they want to use the system. Miners have to mine, but they don't have to provide blockchain downloads. But they still do.
735  Economy / Service Discussion / Re: Why Ripple™ is against everything Bitcoin on: May 14, 2013, 11:35:16 PM
The problem is how can you prove I am trying to be two validators?
I don't care. If you're being two solid, reliable validators, then that's great. That's twice as great. If at least one of them is crappy and unreliable, then why do I care that they're both you?

Quote
Say I only give one guy a false key, and if he's trying to accuse me then I can say everything including the supposedly signed ledger is made up by him, I can say I never produced such a thing, and the guy trying to accuse me is a fraudster himself.
This is actually a theoretically plausible attack currently. Thanks for noticing it. It's not difficult to fix -- we can either check the key with others (so we have others to establish he gave out the key) or we can force him to sign the key with a key traceable to him (say, issued by a CA).

Quote
It's not really relevant, you have to either trust a authoritative third-party or the people who transmitted this information to you, like the digital certificate of the website(PKI), forum on which your website address is published, or other Ripplers who told you where the validator's website is(web of trust). Most importantly, you can't prove I am cheating if I try to frame someone by claiming I received a copy of ledger signed with a different key from him, especially if I control more nodes than him(nowhere near 51%), which are not known to collude.
You're correct. We need an undeniable way to associate keys with the identities you trust. It's not difficult to do, it just needs to be done.
736  Alternate cryptocurrencies / Altcoin Discussion / Re: Ripple or Bitcoin on: May 14, 2013, 04:25:04 PM
or you issue an iou and the debtor refuses to pay or cannot pay back
If you're talking about the personal/community credit model, there's no reason you should mind. In this model, you would extend me $50 credit for only two reasons:

1) You are willing to lose up to $50 to help me out. This is not that unreasonable. If a friend called you up and asked you to come over and help them move some things, you probably would, giving them $50 worth of labor. So lending them $50 when they need it is not out of the range of what friends do. (Especially since Ripple "makes" them automatically return the favor if they are able to.)

2) You want to hold my IOUs because you can use them to trade with others in my network.

In either case, you should be perfectly happy for me to have a negative balance. In the first case, you are helping them out, the very thing you were trying to do. In the second case, you've acquired IOUs you can spend, the very thing you were trying to do.

You will also make be able to make a circular payment to settle inside the system directly, assuming they hold any asset of value denominated in the same currency. This isn't implemented in a way that makes it easy to do yet, but it is planned.

This will require some social changes to work. People will have to be willing to be a little bit more open about their finances. These changes may not happen, but if you look at things like Facebook and texting, they also required social changes and they caught on. So who knows. I hope Ripple gets adopted as a payment system and gradually changes into something more like this.
737  Economy / Service Discussion / Re: Why Ripple™ is against everything Bitcoin on: May 14, 2013, 08:19:31 AM
Will every node have to obtain my verification key from other nodes on the network, or will they get it from me?
Why would they need your verification key at all? If you mean to process your transactions, it works much the same way as Bitcoin. Your "account" is a hash of the public key and transactions include the public key in them. If you mean you're acting as a validator (which is absolutely not needed to introduce transactions) then they would get your public key from whatever source induced them to trust you. You can publish it through HTTPS.


If it's just me, as a validator I can always propagate two versions of my signatures corresponding to different keys, I can still cheat without being found.
Then you would be two validators. If either validator wasn't behaving rationally, people would just stop trusting it.

To do any real harm, you'd need to control a significant fraction of the validators that people trust. Then it'd be much like a Bitcoin 51% attack -- except after all that trouble, people would just stop trusting you and you'd have to start over from square one. Whereas, with a 51% attack on Bitcoin, it's much harder to recover. (Though not impossible, of course.)

With Bitcoin's proof of work based algorith, you have to trust that the majority of mining power will not collude against you. With Ripple's consensus algorithm, you get to choose the validators that you trust not to collude against you. Admittedly, this has disadvantages as well -- if you choose very badly, you could suffer for it. In realistic scenarios though, I don't think it's that hard to choose wisely. And the attack is so hard to make and gains you so little (just a denial of service attack unless you control the *vast* majority of validators), I don't think anyone is likely to bother.

Quote
If they have to obtain it from someone else, then you have to use either PKI, or a web of trust, which I assume is what you use no?
Not really a PKI or a web of trust. The simplest way is to publish it using HTTPS. Look at https://bitstamp.net/ripple.txt for example.
738  Economy / Service Discussion / Re: Why Ripple™ is against everything Bitcoin on: May 14, 2013, 04:31:26 AM
Will every node have to obtain my verification key from other nodes on the network, or will they get it from me?
Why would they need your verification key at all? If you mean to process your transactions, it works much the same way as Bitcoin. Your "account" is a hash of the public key and transactions include the public key in them. If you mean you're acting as a validator (which is absolutely not needed to introduce transactions) then they would get your public key from whatever source induced them to trust you. You can publish it through HTTPS.
739  Economy / Service Discussion / Re: Why Ripple™ is against everything Bitcoin on: May 14, 2013, 02:41:58 AM
What will happen if I send one fake version of the proposed ledger to one validator, and another version to the rest of the network? How can the honest nodes finds out who is cheating?
Everything is either signed or sent to a node who already knows the hash of the item it wants because it was referenced by something signed, so you can't send a fake anything anywhere. Basically, consensus just determines the order in which transactions are applied to resolve the double spend problem. Once a transaction is applied, conflicting transactions are blocked.

Candidate transactions must be signed by the account that issued them. Validations and proposals must be signed by validators you've chosen to listen to. Otherwise, you just ignore it.
740  Economy / Service Discussion / Re: Why Ripple™ is against everything Bitcoin on: May 14, 2013, 02:34:46 AM
so what if an attacker early on in the Ripple system's evolution decides to create a 51% alternative reality ledger to disrupt the consensus?  not too hard given there is no proof of work security system in place.
Why would anyone care what they say? If you mean an attacker who builds trust, it's the same as a 51% attack on Bitcoin where the person builds mining power. Except in Ripple you can just choose to stop trusting them whereas in Bitcoin, you have a real problem.

You're correct that, if they built trust, this would create a temporary denial of service attack. But their bad behavior would be obvious and provable, so people would just stop trusting them. Given that the effort to do this is so great and the payoff so small, it seems unlikely anyone will bother. You're correct that Ripple is more vulnerable earlier on.
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 [37] 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 ... 205 »
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!