Ergo Mainnet 4.0.4 Release - MANDATORY UPDATE!


This version contains fixes for protocol version 2 initial difficulty value and recalculation rule.

Below are protocol version 2 update notes.

Major changes

  • Autolykos 2 PoW scheme. It has non-outsourceability being switched off, table size growing with time, possible memory optimizations fixed.
  • Merkle tree of transactions now also committing to transaction witnesses (a SegWit-like construction).
  • possibility to enhance header structure via velvet forks added

Also, sigma-interpreter (ErgoTree interpreter) dependency updated to 4.0. Full details: ScorexFoundation/sigmastate-interpreter#712 , most important for the Ergo protocol are:

  • activatedScriptVersion field added to execution context (ErgoLikeContext)
  • ErgoTree interpreter is now skipping validation for scripts if activated script version is higher than interpreter supports (so old nodes are skipping validation on soft-forks when 90+% mining power activated the ErgoTree upgrade). See changes in Interpreter.verify()
  • v4.0 can support AOT → JIT switch as v5.0 soft-fork

Upgrade Notes

  • Upgrade from 3.3.4 and on - just replace old jar with the new one.
  • 3.3.0 - 3.3.3 - full resync is needed for MacOS X (leave /wallet/keystore folder where encrypted seed is stored). Also, please see upgrade notes for 3.3.4 if you are restoring pre-3.3.4 mnemonic Release Ergo Protocol Reference Client 3.3.4 · ergoplatform/ergo · GitHub
  • 3.2.x - unlock wallet on the first 4.0.0 node run and do wallet rescan with /wallet/rescan API call (alternatively, you can remove wallet/registry folder before running the node)
  • 3.0.x && 3.1.x - full resync is needed (leave /wallet/keystore folder where encrypted seed is stored)
1 Like