|
2 | 2 |
|
3 | 3 | This document outlines major changes between releases. |
4 | 4 |
|
| 5 | +## 0.3.0 "Elation" (27 Feb 2025) |
| 6 | + |
| 7 | +This version introduces support for two major features: anti-MEV encrypted transactions |
| 8 | +processing and threshold BLS block signatures. Two new forks are implemented to provide these |
| 9 | +features: `NeoXDKG` enables new system KeyManagement contract that allows consensus nodes |
| 10 | +to participate in the DKG process, and `NeoXAMEV` that enables encrypted transactions processing |
| 11 | +at the consensus level and BLS threshold block signatures which solves the frequent chain reorg |
| 12 | +problem. |
| 13 | + |
| 14 | +Please, follow carefully the notes to upgrade your node from v0.2.2 to v0.3.0: |
| 15 | +1. Download new binary and new genesis configuration file |
| 16 | + (`go-ethereum/config/genesis_mainnet.json` or `go-ethereum/config/genesis_testnet.json`) |
| 17 | + from the release page. |
| 18 | +2. Gracefully stop the node. |
| 19 | +3. Replace the old binary with the new binary. |
| 20 | +4. Don't remove DB. Reinitialize DB using new binary and new configuration file for the |
| 21 | + corresponding network with the following command: |
| 22 | + ``` |
| 23 | + ./geth init --datadir ./node-datadir ./config/genesis.json |
| 24 | + ``` |
| 25 | +5. If you're running a consensus node, ensure this step is executed in a safe environment. |
| 26 | + Generate anti-MEV keystore for your consensus node with new binary using the following |
| 27 | + command: |
| 28 | + ``` |
| 29 | + ./geth --datadir ./node-datadir antimev init <address> |
| 30 | + ``` |
| 31 | + - `<address>` is the address of your consensus node that is used to participate in the |
| 32 | + consensus process, it can be found in the consensus node wallet. |
| 33 | + You will be prompted for a password. Ensure that you remember the password. |
| 34 | +6. Adjust your node's runner script: |
| 35 | + * For consensus nodes only: add a password for anti-MEV keystore using |
| 36 | + `--antimev.password ./password.txt` flag. |
| 37 | + * Optional: if you'd like to change the dBFT log level from default (`info`), specify it |
| 38 | + via `--dbft.loglevel debug` flag. |
| 39 | +7. Start the node. |
| 40 | + |
| 41 | +New features: |
| 42 | + * anti-MEV keystore support for the node and CLI and related TPKE cryptography |
| 43 | + implementation (#301, #326, #332, #371, #392, #394) |
| 44 | + * new KeyManagement system contract (#312, #332, #398) |
| 45 | + * anti-MEV enabled dBFT consensus support (#287) |
| 46 | + * NeoXDKG fork that enables KeyManagement system contract operations, BLS |
| 47 | + precompiles and MCOPY opcode (#328, #332, #402, #409) |
| 48 | + * NeoXAMEV fork that enables anti-MEV logic, encrypted transactions processing for |
| 49 | + consensus engine and threshold block signatures (#321, #347, #358, #384, #383, |
| 50 | + #385, #391, #393, #389, #392, #416, #418, #421) |
| 51 | + |
| 52 | +Behaviour changes: |
| 53 | + * NeoXBurn fork is removed (#328) |
| 54 | + * OnPersist system script execution now includes KeyManagement system contract call |
| 55 | + (#330) |
| 56 | + * reduce block acceptance interval to 5 seconds (#369) |
| 57 | + * Governance system contract voting lock is removed, logic distribution scheme is |
| 58 | + adjusted to be seamless (#349) |
| 59 | + |
| 60 | +Improvements: |
| 61 | + * enhanced transactions verification logic in consensus engine (#339) |
| 62 | + * Governance contract updates required for DKG setup (#337) |
| 63 | + * watch-only consensus nodes are added to privnet (#359) |
| 64 | + * maintain processed block state in consensus engine of every consensus node (#360) |
| 65 | + * possibility of fallback from threshold block signature to multisignature (#366, |
| 66 | + #390) |
| 67 | + * stabilize block generation time (#396) |
| 68 | + * make GovernanceReward contract accept Envelope transfers (#400) |
| 69 | + * ability to customize dBFT log messages level (#419) |
| 70 | + * anti-MEV transactions policies (#413, #422) |
| 71 | + |
| 72 | +Bugs fixed: |
| 73 | + * extensible payload senders are not properly verified (#319) |
| 74 | + * watch-only consensus node is able so send consensus messages (#351) |
| 75 | + * unexpected timeout for system contract calls (#379) |
| 76 | + * new blocks are not tracked during sealing proposal awaiting (#404) |
| 77 | + * RecoveryMessage encoding format incompatibility (#425) |
| 78 | + |
5 | 79 | ## 0.2.2 "Disjunction" (21 Aug 2024) |
6 | 80 |
|
7 | 81 | Another v0.2.0 compatible version of Neo X node that includes Geth update to v1.13.15 |
|
0 commit comments