As a backend developer comfortable with Python, databases, and standard web servers, jumping into Web3 felt like entering an entirely different universe. I recently joined the MLH 100 Days of Solana challenge, and after finishing my first week, one massive realization completely rewrote how I think about software: Identity on a blockchain is fundamentally different from anything we build in Web2.
In a traditional application, user identity is scattered across disconnected silos. A user has a row in a PostgreSQL users table on my server, a profile inside GitHub's database, and a distinct account with their bank. They don't talk to each other unless someone manually builds a complex OAuth integration.
On Solana, identity starts with a single, elegant mathematical concept: The Cryptographic Keypair.
The SSH Analogy: How Identity is Born
If you are a developer who has ever deployed code to a Linux server, you already understand how a Solana wallet works. You generate an SSH key pair on your local machine. You leave the Public Key on the remote server, and you keep the Private Key deeply hidden on your local laptop. When you connect via terminal, your local private key mathematically proves who you are.
Solana functions exactly the same way, except the "server" is a global, decentralized ledger running across thousands of validator nodes.
Over my first few days of the challenge, I wrote TypeScript code utilizing the new @solana/kit SDK to generate these keys. When I ran my script, it printed out a random string of numbers and letters like Dg2vjhF3F8p2XkfPSDBeTdKgwyqQwkmtHqmV3q281v17.
This is my Public Key—my global username on the Solana network. It uses Base58 encoding, which deliberately strips away confusing characters like 0, O, I, and l to ensure developers don't make catastrophic typos when routing assets.
Cryptographic Ownership vs. Company Access
In the Web2 stacks I am used to building, a user "owns" their account simply because an administrator allows them to. If a user loses their password, they hit a "Reset Password" button, an email script fires off, and they modify a row in a database. If a company decides to lock a user out, their identity vanishes at the click of a button.
On a blockchain, there is no admin panel, no Customer Support team, and absolutely no password reset flow.
When I created my local wallet file (wallet.json) using Node's filesystem modules (node:fs/promises), it saved a raw array of numbers representing my Private Key.
In asymmetric cryptography, your public address is mathematically derived one-way from your private key. If you have the private key, you can always calculate the public address. If you lose that private key array, your identity and every asset attached to it are locked in the global state forever. Only the holder of that private key can authorize and sign state changes (transactions) for that account.
What a Global Identity Enables
This week, I connected my newly generated identity directly to a Phantom browser wallet and requested 1,000,000,000 lamports (which is exactly 1 testnet SOL) from the Devnet faucet. I was able to track my transaction history straight from my terminal using the Solana CLI:
solana transaction-history $(solana address) --limit 1
Seeing the raw transaction log pull down from a global network without logging into an API gateway or providing an API key was eye-opening. Because my identity is purely cryptographic and self-custodied, it works seamlessly across every single decentralized application (dApp) built on the network. I don't need to sign up for a new account when I visit a new platform; I just connect my keypair using the standard wallet protocol.
Wrapping Up Week 1
Moving from a classic backend architecture where data and logic live under one roof to Solana's model—where stateless programs modify independent data accounts—has challenged my assumptions about system engineering.
If you are a Web2 engineer sitting on the fence, I highly recommend stepping out of your comfort zone. The math under the hood is beautiful, the performance is lightning fast, and shifting your brain to think about identity as code instead of a row in someone else's database will make you a sharper engineer overall.
On to Week 2!























