EPF Week 7 Updates

Hi folks! In week 7, the main things I worked on were re-designing PEPC-Boost to a much simpler architecture after discussion with mentors and implementing the design. I also worked on a PR to fix a bug in prysm w.r.t validator registrations with MEV Relayers. I also had a PR merged in kurtosis which parameterizes the builder and boost image in the project.

Project Updates

Upon furthur discussion with Barnabe on PEPC-Boost, We realised we can simplify the architecture by changing a flows. Initially, we had designed the system in a way that the TOB bids were built by the builders where they had to search the mempool for the specific txs. But Barnabe suggested that searchers would directly submit txs to the relayer which they wanted to include in the TOB. We would expose an endpoint which would basically be a TOB bid endpoint for a given slot and parent hash.

I also removed some parts of the design like adding a new field in the ValidatorRegistration object since that requires consensus layer changes.

The latest design is documented in:
https://docs.google.com/document/d/1DLse86yGLId2idQUIJbaiGxY_RxMxz3LhtdinbA3q4Q/edit

I also coded up the new design. The PRs are linked below:

PRs
Relayer PR: https://github.com/bharath-123/pepc-boost-relay/pull/2
Builder PR: https://github.com/bharath-123/pepc-boost-builder/pull/2

I am currently testing the changes using kurtosis. I have written initial unit tests which seem to work.

The next steps are to work on:

  1. Validator and Builder payouts: This is a tricky part of the design which requires some research which is to be done by Filip who is another EPF fellow I m working with.
  2. Tx tracing for state interference checks: PEPC-Boost requires the TOB txs to be of a specific type like a ETH/USDC swap etc. Checking for what the tx actually does is tricky as just simply parsing calldata does not give the full information. Marius suggested me to using tx tracing to do this. I will explore more of this next week.

I have a call with the PEPC team next week. The team includes Barnabe, Diego(a RIGs researcher), Filip(EPF fellow) and me to discuss these topics.

PRs

Through my PEPC-Boost work, I found an interesting bug in prysm which causes pre-genesis ValidatorRegistration objects to never be registered with prysm. I raised a PR to fix it. It is still in review and I have to address feedback associated with it:
https://github.com/prysmaticlabs/prysm/pull/12847

I worked on improving kurtosis eth2-package by supporting parameterisation of builder images and mev-boost images. The PR is merged:
https://github.com/kurtosis-tech/eth2-package/pull/171

Conclusion

We are slowly arriving at a final architecture for PEPC-Boost which can be deployed on a testnet. There are some design and research questions still in PEPC-Boost which I will be working with my team on. With this, I ll power into Week 8!