# Week 2 Updates
## Tasks Completed
- [x] Reviewed the current [parallel execution implementation in Erigon](https://github.com/erigontech/erigon/compare/main...async_tx) and similar works
- [x] Began work on the presentation
## Summary
This week, I continued my research into parallel execution and Block-Level Access Lists (BALs). I reviewed [Erigon’s implementation](https://github.com/erigontech/erigon/tree/async_tx) and in other clients (e.g., [Besu](https://github.com/hyperledger/besu/pull/7296)). These approaches follow an optimistic model—assuming transactions do not depend on each other—and execute them in parallel. When conflicts arise, the affected transactions are replayed.
My plan is to refactor this implementation by allowing it to accept a dependency graph. If the graph is empty, it will default to the optimistic model; otherwise, it will execute transactions in a conflict-avoiding order based on the provided graph.
I also read discussions around BALs, including the `#block-level-access-lists` thread on Discord and blog posts by [Dankrad Feist](https://notes.ethereum.org/@dankrad/SJawZpx1yx), the [Besu team](https://www.lfdecentralizedtrust.org/blog/introducing-parallel-transaction-execution-in-hyperledger-besu), and others.
## Week 3 TODOs
- [ ] Finish the presentation
- [ ] Start working on the codebase to get familiar e.g. fix minor bugs, perform small refactors, etc.