Live data from Hacker News

153k Ether Stolen in Parity Multi-Sig Attack

etherscan.io

131–140 of 754 posts

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

#131

Earlier quoted context omitted.

Not really true. Nothing has to be perfect if there is insurance infrastructure. People should not use contracts they have no reason to trust. As a contract becomes more important it should be viewed/vetted/trusted by as many entities as possible. Users of the contract should pay an insurance fee that goes to the vetters, who promise to reimburse in case of unpredictable behavior. Yes, this means applying some meatsp…

What is "unpredictable behavior"? Per ethereum, the code is the specified behavior. Would a contract with function "GiveMeAllYourMoney" be unpredictable behavior if it did what it said. What if instead it was named "Execute"? So now we have a contract whose "unpredictable behavior" depends on how you name functions and variables. However, that is something that cannot be checked by a computer, but would have to be hu…

I use the term unpredictable behavior simply to describe a case where the contract has behavior that was not fully anticipated by at leat one user of the contract.

Of course, the code is deterministic and so the behavior was unambiguously defined in the contract's source code.

But there exist all sorts of semantic bugs, which can at times be pretty subtle, which means that even for an expert, the mental model of code execution may not match reality.

If there were nondeterministic behavior in the Ethereum VM that would necessitate a fix to the VM and would likely be completely uncontroversial.

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

#132
post #83

"my favorite part of this latest ICO hack is that it appears to have gone to same wallet as the dao hack ....." https://mobile.twitter.com/IamNomad/status/88777698177709261... "incredible plot twist: whitehat hacker supposedly saved most tokens from being stolen using the same vuln." https://mobile.twitter.com/bcrypt/status/887775417406431232?... "Multisig wallets affected by this hack: - Edgeless Casino (@edgelesspr…

my favorite part of this latest ICO hack is that it appears to have gone to same wallet as the dao hack ..... Any proof of this? EDIT: This appears to be false. From https://blog.ethereum.org/2016/06/17/critical-update-re-dao-... The leaked ether is in a child DAO at https://etherchain.org/account/0x304a554a310c7e546dfe434669c... But that site shows the account hasn't received anything since July 8.

Yeah, the tweet and subsequent replies are absolute garbage.

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

#133

I'm sure they'll just hard fork again. And nobody cares because ethereum isn't actually being used for anything real, just a bunch of enthusiasts trying to get rich.

How is rolling back transactions that are clearly part of a robbery a bad thing?

Because these transactions could have already been used. For example sold on an exchange. Now you're not only targeting the robber.

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

#134

Earlier quoted context omitted.

I would add one more point: even if both participants in a contract fully understand and agree to the contract, the contract could still be thrown out under contract law for many reasons -- unconscionability, agreement to commit a crime, etc. If Ethereum becomes popular enough, one day the participants in an Ethereum contract are going to sue each other, and the judge is not going to be impressed by arguments that th…

If we enter a contract that we all know is intended to be immutable, why would a judge not enforce that? I can understand buried and obfuscated immutability clauses, but if the parties know exactly what they're getting into, the parameters of justice are contained.

Judges throw out contracts that both parties agreed to on a regular basis, even if both parties knew exactly what they were getting in to.

Agreement is not the only prerequisite for a legally enforceable contract. The contract also needs to avoid certain unenforceable things like unconscionable clauses, or agreements to do things that are illegal.

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

#135

Earlier quoted context omitted.

> The theft wasn't due to an issue in the core protocol of Ethereum True enough, but what the parent pointed out is that this class of problems is due to a flaw in the core concept of Ethereum - which is much worse than just a flaw in the protocol. To extend your analogy - Ethereum is like if a company advocated for building bridges using a process that made the bridge's integrity unverifiable using traditional engin…

I understand your counterpoint, but I don't think it's accurate. I mean, if it isn't verifiable, then how would it at all be exploitable, and then patchable? Even so, any product designed for the network could be tested to death on any of the available testnets. It would be foolish not to ram any project up against everything in that environment, which is why I suggest poor practice as a primary cause. It was an over…

> I mean, if it isn't verifiable, then how would it at all be exploitable, and then patchable?

Let's assume you're right and smart contracts are verifiable. Verifiable by whom? I can assure you that my non-techie friends could not verify a smart contract themselves, so they will have to trust some authority that verifies the contract for them. The chain of trust now moves entirely into meatspace again and will be subject to the same economic and social forces as existing financial systems. So what has Ethereum accomplished other than adding an automated intermediary to transactions?

For a real-life example of what this might look like consider HTTPS. In theory SSL allows you to cryptographically verify the identity of the site you're looking at. In practice your ability to do this is still bounded by the competence of third parties like browser vendors and the integrity of CAs issuing certificates.

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

#136

Earlier quoted context omitted.

I would add one more point: even if both participants in a contract fully understand and agree to the contract, the contract could still be thrown out under contract law for many reasons -- unconscionability, agreement to commit a crime, etc. If Ethereum becomes popular enough, one day the participants in an Ethereum contract are going to sue each other, and the judge is not going to be impressed by arguments that th…

If we enter a contract that we all know is intended to be immutable, why would a judge not enforce that? I can understand buried and obfuscated immutability clauses, but if the parties know exactly what they're getting into, the parameters of justice are contained.

> why would a judge not enforce that?

Because the purpose of a judge is to interpret the law, not enforce Ethereum software invariants.

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

#137
post #85
post #25

Here's the root error I believe: https://github.com/paritytech/parity/blob/master/js/src/cont... The initWallet function should have been marked internal, but was instead not marked. Unmarked functions default to public in Solidity, so anyone can call that function and reinitialize the wallet to be under their control

Does this mean ETC is compromised too?

The vulnerability being discussed is for a particular multi-sig wallet, not the Ethereum blockchain itself.

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

#139
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…

Not really true. Nothing has to be perfect if there is insurance infrastructure. People should not use contracts they have no reason to trust. As a contract becomes more important it should be viewed/vetted/trusted by as many entities as possible. Users of the contract should pay an insurance fee that goes to the vetters, who promise to reimburse in case of unpredictable behavior. Yes, this means applying some meatsp…

> Users of the contract should pay an insurance fee

Which would make such contracts significantly more expensive than regular contracts that are reversible by trusted intermediaries and legal authorities.

Paying out insurance claims is much more expensive than simply reversing a transaction. This is part of the reason Bitcoin never took off as an alternative to credit cards. Consumer protections are much more expensive to wrap around immutable transactions.

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

#140
post #34
post #25

Here's the root error I believe: https://github.com/paritytech/parity/blob/master/js/src/cont... The initWallet function should have been marked internal, but was instead not marked. Unmarked functions default to public in Solidity, so anyone can call that function and reinitialize the wallet to be under their control

Why would an unmarked function get the broadest possible scope in a language designed for contracts? I'm always surprised by the decisions made around Ethereum, and just how much value people have poured into it.

Because the cryptocurrency space attracts only the brightest minds.
Post reply on HN