Today we had an evm-evolution Community Call. The full transcript is on HackMD and the original agenda / discussion is on Github.
Perhaps Community Call agendas should be posted on here in the first place, rather than Github? Still experimenting!
A lot of the discussion was with the Trail of Bits team and their needs / the needs of the security & assurance community in tools that help analysis. Their SlithIR is designed for this. More discussion and clarity on how LLVM, various intermediate representation (IR) formats, EVM, and eWASM work together in the future is needed.
I’ll paste in the end of the agenda discussion from @gcolvin on an implementation plan:
On reinspection, Aleth version is now EVM-C wrapped, and EVM 1.5 code fairly recently removed. So I’d say that path of least resistance is to get EIP-615 working in Aleth again and then port to Parity via EVMC.
Greg is the author of EIP615 and had some code around this last year.
Below are the action items I captured:
Action Items
Plan an All EVM Call
- Need to make a list of EVM compatible clients / chains and gather contacts
- Brooke / Boris will meet with ETCDEV contacts as well
Get clarity on ETH 1.x roadmap around EVM1.5 and eWASM
Goal is to have EVM Evolution support this process and provide expertise from security, VM, and other experts. The question marks here likely need a discussion with @lrettig, others from the eWASM team. Not sure where to look for this information or where discussion is happening.
What is the process of rolling out EIP615 Static Jumps and other EVM opcode additions
- First high level notes / process here Process of rolling out EIP615 Static Jumps and other EVM opcode additions - HackMD
- Will create tracking issues for this process – e.g. PR against Yellow / Jello paper is the likely next step
General consensus continues to be that EIP615 is valuable and should get implemented, and that more learning / explanation around VMs and IRs to be done.
Further explanation to the wider community is needed on how SlithIR – an intermediate representation designed for analysis for security purposes – is highly useful, and that Yul and/or LLVM are lower level IRs that can be used for performance optimization, but don’t help with security analysis.
Some discussion on funding and funding sources. Trail of Bits applied to EF with Slither / SlithIR tools, wasn’t approved. Trail of Bits happy to put some time in and collaborate with SPADE, others in moving this forward.
Brooke has a personal TO DO to correct / clarify some statements around EVM and eWASM designs.
Boris working on diagrams to help communicate – Dan shared some SlithIR and related writing that is helpful.