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!
GASOL (GAS Optimization TooLkit)
The COSTA group works on formal techniques, modeling and implementations related to verification and optimization of programs. Members Elvira Albert, Pablo Gordillo and Albert Rubio are applying that expertise to Ethereum smart contracts with GASOL, a framework for optimizing gas consumption. Every Ethereum smart contract executes a sequence of EVM instructions called opcodes; GASOL's "super-optimization" technique looks for a sequence that will produce the same results as the original while consuming less gas.
The GASOL team received a grant in February 2021 to build on their previous research and experimentation with Ethereum smart contract optimization. They already had a prototype for computing optimized EVM sequences for a subset of opcodes, specifically stack operations. The goal of the grant is to expand the research prototype to a super-optimization toolkit for smart contract developers, and ultimately to make the optimizer integratable with the Solidity compiler.
Version 0.1.3 of the GASOL super-optimization tool, and instructions for using it, are available on Github. In its current version, GASOL is able to both compute optimized sequences and produce corresponding executable bytecode. Other features and achievements include:
- Optimization for memory and storage operations as well as stack operations
- Testing to compare efficiency gains of GASOL vs the Yul optimizer, as well as GASOL in combination with the Yul optimizer.
- Generation of a log file to verify that bytecode uploaded to Etherscan has been generated by GASOL
- Extended the SMT model to define the order of memory accesses and functions in order to retain the same memory state as the original
- Some components of the optimizer have been generalized to enable byte-size optimization criteria
For anyone who wants to dive deep into the technical details, the team has published reports on stage 1 and stage 2 of the project. Follow GASOL on Github to keep up with future releases!
Layer 2 scaling solutions have proliferated over the past year, promising benefits like faster transactions, drastically lower costs and increased privacy. Each L2 approach makes different tradeoffs that affect security, decentralization, performance and useability. For a user, this means freedom to decide what’s most important to them and choose a solution that meets their needs - but staying informed about an ever-growing list of options can be overwhelming.
L2BEAT helps users make an educated choice by offering side by side comparisons of features, usage statistics and potential risks of active L2 projects. The team behind the website researches each listed protocol, examining various data sources and project documentation to gather key information into one clear, accessible source.
When L2BEAT first received funding in spring 2021, the dashboard listed scaling technology and locked value statistics for each of 10 protocols. The site, along with the L2 ecosystem, has grown considerably since then. Today, a visitor can toggle between granular financial data and concisely explained technical risk factors for 20 protocols, along with a page dedicated to anaylsis of each protocol's features and tradeoffs.
In December, L2BEAT was awarded a second grant to help grow their team, automate processes and expand their efforts. Planned improvements include:
- Building out a back end server and database robust enough to handle the complexity of current and planned features
- Adding more live metrics including transaction volume, uptime and block production
- Adding upgrade logs to help keep users informed about changes to protocols they're using
Check out L2BEAT.com for a treasure trove of information about L2s with much more to come, follow @L2beatcom on Twitter, or join the community Discord. The team also welcomes contributions!
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.