It’s always fun to hear about new grants as they’re awarded, but what happens after the announcement? In this series, we’ll check in on a couple of projects that are well underway - or already at the finish line. Read on to learn about some recent milestones and achievements by grantees!
Imapp for EVM Gas Cost Estimator
Gas costs in Ethereum are a constant topic of debate and improvement. The average user only sees what they pay to send a transaction - whether the gas limit is very high, very low or just volatile. But where do those suggested gas limits come from?
No two smart contracts are alike; each contains a different set of instructions, or OPCODEs, to be executed in the EVM. Gas is used to compensate miners or validators for the computational cost of executing these OPCODEs, i.e. the work that their machine has to perform. Computation costs are highly variable, even between different validators executing the same smart contract. The OPCODE instructions, program context, and the node's hardware and software configuration all factor into the actual cost.
The imapp team set their sights on more accurately estimating real-life computation costs, providing important data that will inform discussions among core devs about adjusting the OPCODE prices. Accounting for all of these factors to improve the accuracy of gas cost estimates means being able to do more within the gas limit, as well as:
- Ensuring that developers who want to optimize for gas costs are also optimizing for real computational costs imposed on nodes
- Keeping the network diverse by ensuring miners and validators are sufficiently incentivized to keep the network secure even if they are running on consumer (rather than highly optimized) hardware
- Preventing DoS attacks or other code that exploits mismatches between estimated and actual cost
- Mitigating factors that could lead to a more unpredictable fee market for users, such as miners preferring certain contracts over others for inclusion in a block
Imapp first received a grant in late 2020 for Stage I of the project, which consisted of preliminary experiments, research and analysis and was completed earlier this year. A second grant was awarded to fund Stage II, building on the work from Stage I. The approach in Stage II is structured into three primary domains:
- Program generation: generation of EVM bytecode programs from which measurements will be gathered
- Instrumentation and measurement: running the generated programs in a controlled environment and measuring the time to compute each instruction
- Analysis: statistical analysis and validation of measurement data
The Gas Cost Estimator Stage I Report contains a thorough breakdown of the project background, findings from Stage I, and plans for Stage II. You can follow progress on Github, or keep up with the imapp team on Twitter.
Rock Logic for Stereum
As Ethereum transitions to Proof of Stake, the security of the network depends on a large and decentralized validator set. Eth2 client teams have focused on lowering barriers to entry like hardware limitations or technical expertise, while numerous community efforts are underway to make staking as accessible as possible to anyone who holds the requisite 32 ETH. One of these efforts is Stereum, which aims to reduce technical friction for solo stakers by streamlining the process of setting up a validator node.
The idea behind Stereum was first realized as prysm-docker-compose. Using Stereum's docker images (software packages that combine code and configurations for easy setup) solo stakers could install and configure the Prysm eth2 client, server environment and monitoring services in one go. The team received funding in late 2020, and a second grant in 2021, to extend that functionality to more clients and create additional tools and resources for stakers.
- Added images for Lighthouse, Lodestar, Nimbus and Teku, as well as a (more advanced) multi-client setup.
- Expanded documentation and support on Discord and Github
- how-to guides including a step-by-step for new stakers
- Added features including Grafana dashboards, fast sync and centOS support
The Stereum team posts regular updates to their website and Twitter. You can also follow along and get involved on Github, or contribute to their Gitcoin grant!
Are you working on something you think could change Ethereum for the better? Head to our grants page to learn more about what we look for in the projects we fund.