# **EPF-5 Update 3** # Overview This past week, I have been diving deeper into Ethereum's consensus, primarily focusing on single-slot finality and based rollups. This week, I will continue my research on consensus protocols, with a focus on single-slot finality and based rollups. My goal is to identify the most impactful project to work on. I also made progress on the EthSupply calculation and need to implement the proof of concept (POC) this week. ## Extra project (calculate total eth supply) For this extra project, I spoke to Sina from Geth to figure out the most optimal solution. The purpose of this project is to create a standarized implementation that is compatible with different client combos (EL-CL). The idea is that you sync an Ethereum full node and you can just call (getTotalEthSupply) and the client returns the total ETH in existence. There are 2 basic trustless solutions for the Execution side (the consensus layer keeps a separate accounting). 1. Iterate over all accounts and sum up the balance (very expensive on the machine). 2. Use Geth's [live tracer](https://geth.ethereum.org/docs/developers/evm-tracing/live-tracing) to calculate the Eth delta on every block and just sum it up. The second option seems like a more efficient one, [the already implemented eth delta live tracer](https://github.com/ethereum/go-ethereum/pull/29347) saves the Eth delta in a jsonL file. We just need to iterate over the file to get the result in order to get the total ETH in the execution layer. The execution layer will then need to get the total ETH from the consensus layer, and then we just add them up minus deposits. ``` totalEth = EVM balances + beacon chain balances - beacon chain deposits ``` I will be implementing the proof of concept this week. ## Reach out! If you are interested in any of these subjects, [send me a dm](https://x.com/ro_herrerai).