3

Every time I fire up a new Ethereum node, I run into that very slow patch of syncing from 2016Q3 due to a DoS attack on the network. What other attacks have been performed against the Ethereum network and, since I'm already asking, contracts? When did they occur and what remedies, if any were taken? For completeness, I suppose I'll include any existing and forthcoming major forks of the Ethereum mainnet and test networks.

Also useful to have this information when writing scripts to parse blockchain data.

I'm answering in the form of a wiki because the sad fact is that this will probably keep growing (and I also don't have the complete answers myself).

3

Mainnet

TheDao recursive call

Type Attack on contract

Summary An (as-yet) unidentified attacker using account 0xf35e2cc8e6523d683ed44870f5b7cc785051a77d created a contract with some code that was executed by TheDao contract when using the contract splitting functionality. The recursive call of this contract enabled the attacker to take 3,641,694 ETH due to a bug in the contract whereby the authors assumed atomicity of a TheDao balance change.

Period(s) Starting at block 1706609 until around block 1720000

Remedies

  • Creating a hard fork to nullify transactions made to TheDao contract, thus preventing withdrawal of funds. Transferring funds from TheDao to a withdrawal contract to allow TheDao token holders to retrieve ether proportional to their ownership of TheDao tokens.

Aftermath

  • The fork was contentious and not everyone moved to the new fork. The original chain is known as Ethereum Classic.
  • Replay attacks between the two chains existed; EIP155 and the Replay-Safe splitter contract were used to rectify the situation.

State-bloat attack

Type Attack on protocol

Summary Underpriced EVM instructions allowed an attack to slow the processing of blocks, especially for nodes using HDD for storage. The amount of storage required to store the current state also grew.

Period(s) ? until block 2463000 with some residual effects afterwards.

Remedies

Aftermath Syncing is slow for a large number of blocks on the blockchain in the period of the attack and the clean-up contract's execution.

Parity multi-sig wallet July 2017 theft

Type Attack on contract

Summary

Period(s)

Remedies

  • Recommended transfer of "secured" assets to new multi-sig wallet.

Aftermath

Parity multi-sig wallet November 2017 freeze

Type Attack on contract

Summary

Period(s)

Remedies

Aftermath

Ropsten testnet

February 2017 PoW attack

Type Attack on network

Summary Because Ropsten has fewer miners, an attacker was able to disrupt activity on the testnet with access to relatively little mining power.

Period(s)

Remedies

Aftermath

  • The state-block attack ends at block number 2474786, until then, it is sloooow – Nulik Apr 27 '18 at 16:27
  • The residual effects of state blow attack end at block 2717574, it took 5 day to process the state-blow-attack period in my 8 year old server with SSD. – Nulik May 1 '18 at 2:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.