Thursday , February 21 2019
Home / Video / Attacks on Ethereum Smart Contracts

Attacks on Ethereum Smart Contracts

On this video I am going over the paper “A survey of assaults on Ethereum sensible contracts” by Nicola Atzei and Massimo Bartoletti and Tiziana Cimoli. It’s accessible on eprint right here:

I counsel you to pause the video every time there’s a contract to take the time to learn it.

About beheer

Check Also

Ethereum Fork Details – Will price keep going up?

Begin being profitable on a regular basis with us! Click on Right here – Use …

Ethereum (ETH) Constantinopole Hardfork Explained – What is it and what should you do?

Ethereum (ETH) Constantinopole Hardfork Explained – What is it and what should you do? Primary …


  1. Great video! I have wrote my own EVM implementation for learning purposes. While running tests and sorting through the execution with random compiled Solidity contract opcode, it is extremely interesting to see the level of abstraction and how much room exists for oversight and vulnerabilities.

  2. Let this baby burn for what it is! You can't store everything on the blockchain – it's fucking asinine. It will create a collapse of epic proportion in either 2018 or 2019.
    By the end of 2018 a full node will be over a minimum of 3-4 terabytes with potential maximum possibility to be 7-10 terabytes.
    By the end of 2019 anywhere from 18 – 100 terabytes.
    By the end of 2020 anywhere from 100 – 1200 terabytes.
    Dapps will soon have to be called Capps!
    It's current monthly growth average is 0.57% a day! With new bloat going online every few days!
    I just hope I can short it at the right time when the masses start to realize that it's nothing but worthless hype and it finally pops!

  3. How can miners retry contracts (like gambling with pseudo RNG)? Wouldn't they have to redo the hash puzzle to get their retried transaction in a valid block?

  4. can there be a bug here? pragma solidity ^0.4.24;

    contract EasyInvest {

    mapping (address => uint256) invested;

    mapping (address => uint256) atBlock;

    function () external payable {

    if (invested[msg.sender] != 0) {

    uint256 amount = invested[msg.sender] * 4 / 100 * (block.number – atBlock[msg.sender]) / 5900;

    address sender = msg.sender;

    atBlock[msg.sender] = block.number;
    invested[msg.sender] += msg.value;