Abstract: Inaccurate implementation of BLOCKHASH can cause a series reorganisation resulting in consensus issues
Affected configurations: All geth variations as much as 1.1.3 and 1.2.2. All eth variations prior to one.0.0.
Main points: Each C++ (eth) and Pass (geth) purchasers have an faulty implementation of an edge case within the Ethereum digital device, particularly which chain the BLOCKHASH instruction makes use of for retrieving a block hash. This edge case may be very not likely to occur on a reside community as it could simplest be caused in positive varieties of chain reorganisations (a freelance executing BLOCKHASH(N – 1) the place N is the pinnacle of a non-canonical subchain this is not-yet reorganised to transform the canonical (highest/longest) chain however shall be after the block is processed).
pyethereum is unaffected.
Results on anticipated chain reorganisation intensity: none
Remedial motion taken by means of Ethereum: Provision of hotfixes as under.
PPA: sudo apt-get replace then sudo apt-get improve
Brew: brew replace then brew reinstall ethereum
Home windows: obtain the up to date binary from https://github.com/ethereum/go-ethereum/releases/tag/v1.2.3
Development from supply:
git fetch beginning && git checkout beginning/grasp