**WEB3 CODING BOOTCAMP AT BLOCKFUSELABS WEEK 2** The second week of my coding bootcamp was packed with new knowledge and hands-on experiences that built upon the foundation set in Week One. We focused on concepts such as peer-to-peer networks, hash algorithms, Merkle trees, Quasi-Turing Networks, Hierarchical Deterministic wallets, Uniswap, and Ethereum accounts. We even built a Hierarchical Deterministic wallet! There's a clear difference between how data is transferred between a client and a server in Web3. Unlike in Web2, where the client sends a 'request' to the server and the server sends a 'response,' in Web3, both the client and server can send requests and responses. This is called a **peer-to-peer** network. Each entity in this network is called a node, and nodes can store, send, retrieve, and manipulate data. ![Screenshot from 2025-01-18 21-10-31](https://hackmd.io/_uploads/Syq_0YKvkx.png) **Hash algorithms** are one of the most fascinating concepts I've learned about. They involve passing an input through a hash function to get an output of a fixed length. Regardless of the size or type of the input, the output will always have the same length. Here are a few properties of hash algorithms: * You can't convert the output back to its input. * You can't infer the input from its output. * The output will always have a fixed length, regardless of the size or type of the input data. **Merkle Tree** is a binary tree data structure used to validate all transactions in a block. It involves hashing (using a hash function) the hash of transactions in an upward flow until only the root hash (Merkle root) remains. ![Screenshot from 2025-01-18 21-11-26](https://hackmd.io/_uploads/SJTFRFYwJl.png) So far, I've loved our classes and all the tasks given to us. I'm looking forward to achieving more in the subsequent weeks!