## What I have learned ### Consensus p2p - libp2p Kept working on go-libp2p. I now have a good understanding of how it works, even if I have not yet looked into some topics like NAT, holepunching and pubsub. I think that I have now reached a limit on what I can understand from only reading code, so I have started working on a proof of concept to implement a minimal version: a tcp transport that can dial and listen to a multiaddress and that can be upgraded with a stream multiplexer and security. It gave me some ideas on how to design the implementation (what components we need, what interfaces they should implement etc) ## What I have done ### Tasks list I have worked on [this task list](https://hackmd.io/kZaNbHklRfOveay_DRUwfQ) so we can all have an idea of what topics we need to understand and the amount of work needed. ## What is next ? I will continue working on the proof of concept, implementing a QUIC connection; the goal is to identify what components/interfaces can be shared with the tcp connection. If I have the time, I will write a short document about my understanding of my findings about libp2p and share it with the team.