Skip to content

Petersburg

Compare
Choose a tag to compare
@d10r d10r released this 18 Mar 17:09
· 15 commits to master since this release

The Petersburg network upgrade is scheduled for block 2229330.

Why

It disables EIP-1283.
EIP-1283 was enabled from the start on sigma1, because it was expected to also be enabled on Ethereum with the Constantinople upgrade. However, briefly before that scheduled upgrade, it was discovered that EIP-1283 enables a new reentrancy attack. As explained in that article, this attack is possible only in the context of a smart contract with very specific properties (basically, if the recommended Checks-Effects-Interactions-Pattern is not applied).
No such vulnerable smart contract exists on sigma1. Nevertheless we apply the change in order to keep the EVM configuration as similar as possible to that of Ethereum. In this case, it's about keeping the amount of gas consumed by transactions the same across networks - with EIP-1283 enabled, many transactions consume less gas.

How

  1. Update your local copy of this repository with git pull
  2. Stop the trustnode with systemctl stop artis-sigma1-parity
  3. Execute ./download-parity.sh --force. This updates your parity binary to a new version which understands the change in the chain specification file
  4. Start the Parity service with systemctl start artis-sigma1-parity
  5. Make sure the service is running: systemctl status artis-sigma1-parity
  6. Restart the node-status-reporter with systemctl restart artis-sigma1-statusreporter
  7. Report the executed update to the sigma1 trustnode chat channel