Pre-Launch Security & Extensions
This patch focuses on security, scalability, and protocol extensions. A variety of contract changes have been implemented
which are meant to help reduce the threat of spam attacks, reduce transaction sizes and memory use, and add new useful
functions to the protocol. NISP commitment rollups help scalability, NISP bonds ensure spam protection, and the collateral and holding changes enable more functionality for miners and other parties when interacting with the pool.
To run the application, unzip the file and then run the script in the /bin directory.
./lithos-client
This will automatically read from lithos.conf in your /bin folder.
To run with a custom configuration file add the argument -Dconfig.file=
./lithos-client "-Dconfig.file=path/to/custom/config/file.conf"
To build from source run:
sbt dist
This will create a new zip file in the /target/universal directory
Release Notes:
Rollups:
- Lithos now uses NISP-Commitment rollups, rollups which store only a hash commitment of the miner's NISP. This reduces
peak transaction sizes from 70KB to 29KB. - Per-NISP Bonds and slashing are now used to prevent spam attacks on rollups. Miners put up a minimum of 0.002 ERG at submission time which is returned to them if no fraud is found. Fraudulent miners are slashed, and the validator is rewarded.
- The Holding contract now uses a guard and logic pattern to reduce
txProofsizes in NISPs - Multiple rollup registers have been condensed into
R7as aColl[Long] - The Holding contract now has a new spending path, allowing the block miner to add ERG earned from MEV, batching, and storage rent to the pool's total reward.
- The Collateral contract now mints a rollup NFT, enabling new contracts and protocols that can reward miners.
NISP_WINDOWis now 60 on both testnet and mainnet
Emissions:
- Added fee priority selection to collateral, allowing fee futures and ensuring miners can once gain profits from transaction fees. miners.
- Added checks in the
Collateral_Enforcerwhich prevent attacks focused on bloating NISP sizes - Increased permit minimum to 2000 LIT, permit slope to 20 LIT, and permit max to 40,000 LIT
Fraud Proofs:
- Finalized all fraud proof parameters
- Fixed ordering of
FP_MalformedGenesisandFP_NonMatchingCommitmentin fraud proof set. - Fixed header version parsing bug in
FP_InvalidFormat
Evaluator:
- Evaluator now replays rollup transaction chains to capture NISP payloads during submission
- Evaluator now uses bounded retries on failing rollups
Miner Dictionary
- Miner Dictionary has been reset on testnet
- Difficulty commitments now expire after 3.5 years to prevent storage rent token collection issues
- Initial commitments now only last
NISP_WINDOWblocks to take affect MDDatabasenow holds a schema version which resets the db on version differences
API:
- Fixed collateral API permit and ERG numbers
Configuration
- Changed various timings and default snapshot parameters.