During this period I have tried to start getting a sense of how the PoS cosensus protocol works and also to start contributing to Prysm.
I read the following:
https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/ https://github.com/ethereum/research/blob/master/papers/ffg%2Bghost/paper.pdf https://github.com/ethereum/annotated-spec
Also, I read in the code of some Prysm data structures that helped me understand better the beacon chain.
I wouldn't say that I got a complete understanding but it has been a good introduction.
I think I have been more successful in the side of starting to contriubute to Prysm.
I got in touch with the Prysm team, first Raul Jordan, and started communicating in their discord.
I did several contributtions:
prysmaticlabs/prysm#10252 prysmaticlabs/prysm#10192 prysmaticlabs/prysm#10117 prysmaticlabs/prysm#10116 prysmaticlabs/prysm#10074 prysmaticlabs/prysm#10044
Some highlights of this contributions:
- Porting to Apple M1 processors
- Renaming to Bellatrix
- Revamping and extending tests for the state package
I am still working on the last point, but some contributions have been already been made.
Criticism
I think I staied too much in my confort zone of software engineer helping with the code, and I have not evolved enough as a protocol engineer.
Goals for next updates
I want to get more involved in Prysm in the changes that are required for Bellatrix, and I think the Prysm team is going to guide me to do that.
I also want to get involved in some protocol aspect that is more towards the future, for example sharding or state expiry. For that I need to reach more to people in the EF R&D discord.