## Weeks 11 and 12 Summary
During these two weeks, I had a small holiday break which resulted in less work being accomplished. However, during this time, I explored the principles and applications of libp2p, especially focusing on NAT, unique addressing in libp2p, and the gossip pub/sub among other topics. After going through the official documentation and example codes of libp2p thoroughly, I further explored the p2p module in Optimism as it also utilizes libp2p technology.
### Basic Principles and Applications of libp2p
In these two weeks, I learned that libp2p is a modular, plug-and-play network protocol stack, covering a variety of network protocols which help developers build complex, dynamic p2p applications. Below are some of the key points I gathered:
- **NAT Traversal**: Learned about NAT (Network Address Translation) and how it affects p2p network connectivity. Learned how libp2p manages to establish communication between network nodes through NAT traversal techniques.
- **Unique Addressing**: libp2p uses a unique addressing scheme that helps nodes to discover and connect to other nodes in the network more efficiently.
- **Gossip pub/sub Protocol**: Understood the use of the gossip protocol in libp2p, implementing message passing between nodes through a publish/subscribe model.
### Exploration of Optimism's p2p Module
With the foundational knowledge of libp2p, I turned my attention to the p2p module in Optimism. Through in-depth analysis, I found that Optimism also uses libp2p technology for communication and data transmission among networks. This gave me a clearer understanding of how to apply libp2p in real projects.
I documented a summary article on the application of libp2p in Optimism and published it on HackMD. The link to the article is as follows: [libp2p in Optimism](https://hackmd.io/@joohhnnn/libp2p-In-Optimsim)
### Conclusion and Looking Forward
Although the holiday period impacted the progress, the exploration into libp2p and Optimism's p2p module has expanded my understanding of p2p networks. Going forward, I plan to continue exploring the advanced features of libp2p and try to implement some p2p applications in my personal projects. Additionally, I discovered a mechanism in Optimism for scoring RPC via scords, which might be very useful for my projects.