Abstract: Incorrect implementation of BLOCKHASH can set off a series reorganization inflicting consensus issues

Affected Configurations: All geth variations as much as 1.1.3 and 1.2.2. All Auth variations previous to 1.0.0.

Risk: Much less

depth: medium

Impact: medium

Description: Each the C++ (eth) and Go (geth) shoppers have incorrect edge case implementations within the Ethereum Digital Machine, particularly which chain the BLOCKHASH instruction makes use of to retrieve the block hash. This edge case may be very unlikely to happen on a dwell community as it will solely be triggered in some form of chain reorganization (a contract executing blockhash(n – 1) the place n is the top of a non-canonical subchain that has not but been discovered). Has not been reorganized to develop into the canonical (finest/longest) chain however shall be after the block is processed).

Pytherium is unaffected.

Impact on anticipated chain reorganization depth: None

Remedial Actions Taken by Ethereum: The supply of the hotfix is ​​given under.

Geth:

PPA: sudo apt-get replace then sudo apt-get improve

brewing:brew replace then brew reinstall ethereum

home windowsObtain up to date binary from : https://github.com/etherum/go-etherum/releases/tag/v1.2.3

Construct from supply:

git fetch origin && git checkout origin/grasp




eth:

PPA, https://gavofyork.gitbooks.io/turboethereum/content material/chapter1.html

Recommended Posts