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