Live data from Hacker News

153k Ether Stolen in Parity Multi-Sig Attack

etherscan.io

551–560 of 754 posts

Re: 153k Ether Stolen in Parity Multi-Sig Attack

#551
post #248

Earlier quoted context omitted.

For the same reason every variable in JavaScript is global by default... I.e. I don't have a clue how that could seem like a good idea.

That's not how JavaScript works. Variable declarations are hoisted to the start of the enclosing function scope and only undeclared variables are global by default. But yes it seems pretty asinine to use global by default for (not so) smart contracts.

Well, if they are global when they are undeclared, that pretty much means they are global by default. Maybe a better way of putting it would be "js variables are declared global by default, when unspecified and not using strict mode".

Anyway, I think parent's point was to say this behavior already has been seen in javascript. Actually, it may even be inherited from javascript. When I first looked at solidity last year, I was under the impression it was a modified version of javascript, like unity3d's one. Nowadays, solidity landing page reads "high-level language whose syntax is similar to that of JavaScript", so not sure if it still is (or has ever been, for the matter) derived from something like v8 or rhino.

The reason for that choice seems not far fetched : it's not uncommon, when wanting to add scripting to something, to go with javascript, since it's arguably the most known language, developers knowing " and javascript", especially webdevs (a blockchain app project, lisk, even made html/css/js the defacto mean to build apps). Of course, fintech is an industry where the usual values from webdev (release early, release often) have disastrous results.

Re: 153k Ether Stolen in Parity Multi-Sig Attack

#552

Let's play hypotheticals. If you were the attacker and you now have the ETH in your wallet, how do you cash out without anyone identifying you and maximising your profits? Also has the attacker broken a law by exploiting a bug in the contract?

Change to BTC, use mixers to mix coins. Take a flight to Asia for few months/half a year. Open a bank account in some less regulated jurisdiction (some tax haven) - better yet open several bank accounts like these. Travel around and keep using localbitcoins to change BTC for cash.

Keep sending cash to bank accounts you have opened by depositing cash in person. Use round robin to distribute money across multiple of your hidden bank accounts so suspiciously large volumes of incoming money doesn't get noticed.

Keep moving around, mixing coins and using localbitcoins to get cash and deposit. Also diversify outside of cash to not raise suspicion of the banks by depositing every day / regularly.

Buy physical gold from pawn shops. Then you can turn gold into cash in banks and deposit it to your account like that. You can also use cash to buy prepaid travel debit cards with like 5k on them at a time from post offices or so. Use that for daily expenses.

That might work. If you are not a US citizen but let's say citizen of China that makes it easier to pull off.

Of course, getting that money back to US to your home bank account would be near impossible (without some way to launder the money).

But you could live off your hidden bank account in tax haven. Just don't flash your millions too publicly so people don't get suspicious. Be humble and pretend to live regular life.

Also you could try to launder the money via setting up some fake ICO project and investing your mixed coins into your own ICO, then cash out your custom tokens on exchanges. Just make sure to do this from some unregulated tax haven and it should work (most of these ICOs create their businesses in dodgy tax havens for this reason).

This is how I'd imagine these scammers are doing it.

Re: 153k Ether Stolen in Parity Multi-Sig Attack

#553
post #507
post #323

Earlier quoted context omitted.

People write this stuff off so fast. Here we have a parity developer, probably one of the most competent in the Ethereum ecosystem, and he screwed up to the tune of losing $30m of other people's money. If HE can't get it right, what business do you have running around saying that anyone who can make a webpage can make a decentralized application? We are playing with money. Dealing with attackers is not as simple as r…

Someone's loss is anothers gain. That money didn't disappear, just got reallocated. And if spent ,will generate economic activity. It's certainly a hit in the trust of the core dev though.

This gets awfully close to the broken window fallacy https://en.wikipedia.org/wiki/Parable_of_the_broken_window

Re: 153k Ether Stolen in Parity Multi-Sig Attack

#554

Earlier quoted context omitted.

Monero is the ONLY cryptocurrency where full privacy is enforced by default. No mixers, no opt-in mode, no super-nodes, no tumblers, it's all obfuscated by default. I'm very bullish on Monero long-term.

What I don't like about monero, and why I think it'll ultimately lose to another anon product, is that the transaction history is written to the blockchain, albeit in obfuscated form. But there is no proof on the bounds of what a sophisticated blockchain analysis can uncover given enough information. Roughly speaking, its conceivable that given enough transaction information downstream from a transaction of interest…

What I don't like about Zcash is that privacy is optional and address balances are public. This means that a blockchain analysis company could correlate what is public (all the other transactions and all the address balances) to deduce who the sender, receiver, and amounts were in private transactions.

Re: 153k Ether Stolen in Parity Multi-Sig Attack

#555
post #520

Earlier quoted context omitted.

> 99 out of 100 questions. Curious question of a non-native speaker: What does this phrase mean? (in general, and in this context)

The answer to why most things are done is... Money !

My mothers neighbour is working part time and averaging $9000 a month. I'm a single mum and just got my first paycheck for $6546! I still can't believe it. I tried it out cause I got really desperate and now I couldn't be happier. Heres what I do, •••••••••>>http://cutt.us/7N2sG

Re: 153k Ether Stolen in Parity Multi-Sig Attack

#556
post #533
post #170

Earlier quoted context omitted.

> personally reviewing the code. With the insane decision to use a Turing-complete language, the contract's behavior undecidable . You don't even know if the contract will halt . Limited "gas" (execution time) isn't the solution, because the lesson of the Halting Problem isn't that a program might not terminate. Even if the program halts within a finite time (or "gas"), the behavior of the program on the current inpu…

Obviously all EVM programs halt, otherwise the Ethereum network would be completely ruined immediately. You already know why they halt: there's a gas limit. Ethereum programs aren't Turing complete. They always halt. Turing complete programs don't generally halt. That's the definition. You should demonstrate your understanding by using these terms correctly! This whole argument about Turing completeness is a huge red…

> You already know why they halt: there's a gas limit.

Did you actually read my post? I'm not claiming halting is a problem; it's merely an example of undecidability. The "gas limit" doesn't help in the cases where the program does halt with unexpected behavior.

> Turing complete programs don't generally halt. That's the definition.

Where did you get this nonsense? See [1] for the actual definition.

> attack was an extremely simple programming error

Yes, which is why it's stupid to use a language with a grammar that cannot be proven. If trivial mistakes happened in production code, how do you expect to find the subtle bugs that happen because of the complex interactions that occur in recursively enumerable grammars?

> prove the correctness of programs

You can do that for some programs, but not all. The point about grammars is there are classes of grammar that allow automatic verification. Using a recursively enumerable grammar instead of a regular or context-free grammar demonstrates a severe misunderstanding of either language theory, or secure/safe engineering practices.

int_19h description[2] of some of the insane parts of Solidity suggests a PHP-style fractal of bad design[3], not a platform for proving correctness.

[1] https://en.wikipedia.org/wiki/Turing_completeness#Formal_def...

[2] https://news.ycombinator.com/item?id=14810008

[3] https://eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design/

Re: 153k Ether Stolen in Parity Multi-Sig Attack

#558
post #368

Earlier quoted context omitted.

Monero is the ONLY cryptocurrency where full privacy is enforced by default. No mixers, no opt-in mode, no super-nodes, no tumblers, it's all obfuscated by default. I'm very bullish on Monero long-term.

The only? There is Zec. And then there is the possibility of forking monero into your own cryptocurrency name.

Zec is the company that runs zcash. Zcash does not has full privacy and is not enforced by default.

Re: 153k Ether Stolen in Parity Multi-Sig Attack

#559
post #488
post #463

Earlier quoted context omitted.

Imagine the court case: Your honour, in my defence, the contract clearly specified that anyone could reset the wallet, and if that's not what they wanted, they shouldn't have agreed to it.

I cannot imagine the court case. The courts are utterly incapable of understanding enough of the technical aspects of far simpler software cases. So like most court cases, it will simply be a matter of human influence winning the case.

If you are interested in a really good counter example to your assertion you should look at Judge Alsup https://www.techdirt.com/articles/20170325/23492137003/judge...

Re: 153k Ether Stolen in Parity Multi-Sig Attack

#560
post #11

I've posted this before [0], but it's still apropos regarding the foolishness that is Ethereum. [Ethereum] only makes sense if all of the following obtain: (a) the code is 100% bug-free (b/c accidents cannot be rewound) (b) all code-writers are 100% honest (their code does what they say) (c) all contract participants are 100% perfect code readers (so as to not enter into fraudulent contracts) (Strictly speaking, only…

Your enumerated conditions apply to traditional legal contracts as well.

Traditional contracts aren't immutable in the same sense though, right? They can be appealed, annulled, ignored...
Post reply on HN