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?
There are mixers where you can get close to not being traced and then can move through monero and then to bitcoin.
153k Ether Stolen in Parity Multi-Sig Attack
271–280 of 754 posts
Re: 153k Ether Stolen in Parity Multi-Sig Attack
#272Earlier quoted context omitted.
https://github.com/paritytech/parity About Parity Parity's goal is to be the fastest, lightest, and most secure Ethereum client. We are developing Parity using the sophisticated and cutting-edge Rust programming language. Parity is licensed under the GPLv3, and can be used for all your Ethereum needs. Parity comes with a built-in wallet. How is this not a third-party wallet? They say right on the page that they're tr…
You compared it to Mt Gox, which is where the confusion is coming from. With an online service like Mt Gox you don't have control of the coins at all. I have no issue using an open source implementation of something. You haven't explained why that's an issue.
How many millions need to be lost before this lesson is learned?
Re: 153k Ether Stolen in Parity Multi-Sig Attack
#273Silver lining: https://etherscan.io/address/0x1dba1131000664b884a1ba2384641... Looks like about +300,000 ether was able to be drained before it could be stolen thanks to a white hat group.
Re: 153k Ether Stolen in Parity Multi-Sig Attack
#274Seems like having this complex logic on-chain is asking for it to be exploited.
Re: 153k Ether Stolen in Parity Multi-Sig Attack
#275Earlier quoted context omitted.
not even banks can give you guarantee of safely holding money with impeccable degree of certainty. Uncertainty cannot be avoided.
Slow down! Let's just aim for reducing uncertainty. Let's say we have an uncertainty scale scored 1-100. If 100 is "money in a bank" and 1 is "money that's already been set aflame, but there's a cup of water nearby", I'd put Ethereum in the low single digits =)
These newfangled experiments that I don't fully understand are still well above 10 for me, but they only have to get down to around 11-15 before I'll be interested.
Re: 153k Ether Stolen in Parity Multi-Sig Attack
#276If the creator of Solidity, Gavin Wood, cannot write a secure multisig wallet in Solidity, pretty much confirms Ethereum is hacker paradise.
Re: 153k Ether Stolen in Parity Multi-Sig Attack
#277Earlier quoted context omitted.
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.
It's a good indicator that these people may be experts in one area, but not necessarily in others. Language design is actually notoriously difficult in general[1], but if you're doing language design for a security-critical language[2]... well, that requires actual mechanized proof , IMO. Not just proof of "design", but proof of the implementation. Anything else is a huge gamble. (And I'm sure there are some 'investo…
Absolutely, few people really get this. Even those that do get it generally don't know what it looks like in practice because it's so rare.
In case you're curious about what it looks like in practice (at least one way), we presented direct user code compilation and verification[1] in Jan for our smart contract language Pact[2].
The idea that you can write a doc test that triggers a formal verification about some aspect of your code is, for lack of a better term, strange and yet the power to weight ratio is just off the charts. For the first few days that the system started working (I built the FV portion, Stuart the language + H-M type system) I thought it was broken... turned out we just had a bug in our demo code that we never noticed.
Usually, tests check the things you know to check so when they find something it's not a surprise what they find. Sometimes you can fuzz and randomly find something, which is cool but doesn't guarantee that there isn't a problem somewhere else. However, FV just feels uncanny (as a dev) because the test either finds a problem in the code -- and tells you how to replicate the bug -- OR proves that a problem cannot exist.
[1]: https://youtu.be/Nw1glriQYP8?t=1071
[2]: kadena.io/pact
Re: 153k Ether Stolen in Parity Multi-Sig Attack
#278Earlier quoted context omitted.
Ethereum's original sin
The DAO hit every objection from smart contract skeptics, bang bang bang - legal code doesn't work at all like computer code, immutability means you can't fix mistakes, immutability means you can't deal with changes in circumstance, immutability means you must code with 0 bugs - but even we were surprised when they went "lol immutability guarantee" the second the big boys were in danger of losing money.
Re: 153k Ether Stolen in Parity Multi-Sig Attack
#279Earlier quoted context omitted.
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 sub…
The code is verifiable by a skilled engineer (in good faith) -- so there is a catch. Any body that produces a smart contract requires the trust of those who take part. Alternatively, it requires trust in one's own expert engineer to verify the content and functioning of a smart contract.
Where Ethereum is trustless is in the execution of the contract once verified. There is then no course for non-delivery if the code is designed this way.
So, it's trustless at one level, and requires trust at another. When I say it's semantics it's just this last point.
Personally I don't see the problems other see with that, because I don't see blockhain tech and tokens replacing everything all in one go, including the need for governing bodies and law. I don't see it as a choice between one or the other. For what it's worth, I'm closer to a socialist than the usual libertarian ranks that flock to these things. I think the world would benefit from the efficiency it could bring about, once the kinks are worked through.
Re: 153k Ether Stolen in Parity Multi-Sig Attack
#280Here'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