Web3 Learning: Day 2 Insights and Hurdles

I am a software engineer with a strong background in competitive programming and backend focused development.
I graduated in IT from Army Institute of Technology, Pune (2025) and currently work at NxtWave, where I build and review technical content around data structures, algorithms, and problem solving.
My recent work is focused on smart contract and protocol development using Solidity and Foundry. I enjoy building systems where correctness, security, and clear invariants matter such as token vesting, staking mechanisms, and upgradeable protocols.
Earlier, I spent several years in competitive programming (Codeforces Expert, 5★ CodeChef), which shaped how I approach problem solving, edge cases, and testing.
On this blog, I write about the design and implementation of smart contracts, testing strategies, and engineering tradeoffs I encounter while building Web3 protocols.
Topics Covered
On Day 2, I dove deeper into several crucial Web3 concepts:
Authorization in Banking vs. Blockchain
Public and Private Keys
Encoding Methods: ASCII, Hex, Base64, Base58
Hashing vs. Encryption
Asymmetric Encryption
Creating Public-Private Key Pairs
Blockchain Transactions
Hierarchical Deterministic (HD) Wallets
Seed Phrases and Mnemonics
Where I Learned
I explored these topics through a combination of resources:
Online Tutorials and Articles: Websites like Medium and developer blogs provided clear explanations of these concepts.
Technical Documentation: Reading the official documentation of technologies like Ethereum and Bitcoin (Bitcoin whitepaper)helped solidify my understanding.
Interactive Tools: Platforms like Codecademy offered hands-on experiences with cryptographic functions and wallet creation.
Problems Encountered and Solutions
Understanding Authorization Mechanisms
Problem: Grasping how banks and blockchain handle authorization differently was initially confusing.
Solution: I compared traditional banking encryption (like SSL/TLS and AES) with blockchain’s public-private key system. I created a comparative chart to visualize these differences.
Deciphering Encoding Methods
Problem: The various encoding methods (ASCII, Hex, Base64, Base58) were overwhelming.
Solution: I used online converters and tools to practice encoding and decoding data, which helped me understand each method’s purpose and use cases.
Hashing vs. Encryption
Problem: Distinguishing between hashing and encryption was challenging.
Solution: I focused on practical examples: I implemented a hashing algorithm to verify data integrity and compared it with encryption examples for securing data. This hands-on approach clarified their distinct roles.
Creating and Managing Key Pairs
Problem: Generating and managing public-private key pairs seemed complex.
Solution: I followed step-by-step guides to generate key pairs using libraries in Python and JavaScript, which made the process more manageable.
Working with Hierarchical Deterministic (HD) Wallets
Problem: Understanding HD wallets and how they derive multiple keys from a single master seed was tricky.
Solution: I used wallet creation tools and tutorials to practice generating wallets from mnemonic seed phrases, which helped me grasp the concept of hierarchical key management.

Conclusion:
Day 2 was a deep dive into critical aspects of blockchain technology and cryptography. By combining theory with practical tools and resources, I tackled the challenges I faced and gained a clearer understanding of these essential concepts. Excited to continue this journey and apply what I've learned to real-world scenarios!
THANK YOU 💐
Happy Learning !
#learninpublic #Web3 #Blockchain #LearningInPublic #TechJourney #cryptocurrency #crypto #btc#ethereum #encryption
