8 ms·
>Modern languages like JavaScript and Ruby are great, in that they do a huge amount for you under the surface, but then you don’t actually know what they’re goi
by drivebyacct2 14y ago
>Modern languages like JavaScript and Ruby are great, in that they do a huge amount for you under the surface, but then you don’t actually know what they’re going to do. Ruby got burned pretty badly recently when some systems listening on the network were a little too … friendly. Engineering is a game of tradeoffs. So, of course, is business.
That sounds... a bit... confused. Was there really such an issue with Ruby or is he getting his wires crossed with the Rails problems of recent?
- lmm 14y agoHe's equated Ruby with Rails, which isn't so unreasonable given how they're used in practice.
- drivebyacct2 14y agoI guess, but Bitcoin's security comes from the protocol and network design, not something inherent to C++.
- betterunix 14y ago"Bitcoin's security comes from the protocol and network design" If we ignore the already-known polynomial time attacks on that protocol, I suppose that statement is true.
- kirian 14y agoWhat are the already-known polynomial time attacks on the protocol? do you have any links? thanks
- betterunix 14y agohttps://en.bitcoin.it/wiki/Weaknesses#Attacker_has_a_lot_of_computing_power https://en.bitcoin.it/wiki/Weaknesses#Attacker_has_a_lot_of_... Basically, someone who has the computing resources needed to do the same work as the rest of the network combined could create malicious forks of the block chain. They could then "reverse" transactions they had made, prevent other transactions from being confirmed, and interfere with "mining." This is polynomial time in the parameters of the system: it is just the sum of the work done by the honest parties. The constant factor is small, and the attack is not at all impractical; even if we generously assume that it would take $100 million of ASICs to carry out the attack, the US government spent 10 times as much on one NSA datacenter in Utah.
- Xcelerate 14y agoAh, okay. I thought you were implying there was a polynomial attack on ECSDA, SHA-256, or RIPE-MD.
- betterunix 14y agoIt is important to remember that Bitcoin is not a hash function or a signature system. Unfortunately, there seems to be no rigorous definition of "security" for Bitcoin, so it is somewhat difficult to understand what it means to "attack" Bitcoin. I suspect that any rigorous definition of Bitcoin's security would require a definition of money that lacks both authority and intrinsic value.
- moe 14y agoeven if we generously assume that it would take $100 million of ASICs You always conveniently ignore the fact that legitimate mining is at the verge of shifting to ASICs, too. Perhaps your $100mio figure is accurate today, but it won't be long before you have to apply quite a significant multiplier to that.
- betterunix 14y agoIn fact, $100 million is much larger than the situation today. I have seen estimates as low as $1 million and as high as $30 million.
- moe 14y agoAnd you seriously assume an attacker with that kind of resources (be it millions or billions) would be dumb enough not to realize that a crash of bitcoin would merely spawn the next, more resilient crypto currency? That would have to be quite a large irrational player because this isn't compatible with today's corporate and government firmware (game theory) at all.
- betterunix 14y ago
- wmf 14y agoFor some reason betterunix refuses to call a 51% attack a 51% attack which it makes it sound like he knows something that others don't.
- betterunix 14y agoDo you refer to the "40% attack" also? You know, the one where the attacker only does 40% of the work of the entire network, and has a 1/2 chance of successfully forking the block chain. There is nothing wrong or misleading about calling it a "polynomial time attack," because that is what it is.
- Dylan16807 14y agoPolynomial in terms of what? It's linear in terms of the current hash rate. 'Polynomial' implies some kind of direct assault on the protocol with difficulty not based on other actors. And 'forking the blockchain' is also misleading. You can fork the blockchain with even the smallest slice of power just by always working on the previous block instead of the current one. The proper explanation is that if you have 40% of the power you have a 1/2 chance of forking a 6-block-old transaction. This does not scale in any unexpected way. If you wait 12 hours for a transaction then it becomes nearly impossible to fork with a minority of the network. This is not a clever insight in any way. It's obvious that since blocks are randomly timed that there is no sharp transition between 49% and 51% between no control and total control. So an attacker only needs to get close to 50%. This barely changes the math wrt taking over the network. Perhaps it adds a factor of two, being generous.
- Xcelerate 14y agoElaborate.
- deleted 14y ago[deleted]