DEV Community

Gopichand
Gopichand

Posted on

Your Public Key IS Your Identity: What Web2 Devs Need to Know About Solana

If you've been a Web2 developer for any amount of time, you know what identity
looks like: a username in a database, an email address, a session cookie,
maybe an OAuth token from Google. Your "identity" is really just a record that
some company controls. They can delete it. They can lock you out. They can sell
the data. You don't own it — you just borrow it.

Solana works completely differently. And once you understand how, you can't
unsee it.

It Starts with a Keypair

When I started the 100 Days of Solana challenge, the first thing I did was run:

solana-keygen new --no-bip39-passphrase -o wallet.json
Enter fullscreen mode Exit fullscreen mode

This generated two things:

  • A public key — a 32-byte Ed25519 address like AWKYsCGBcfGLSz6QpmXzRn7EJ9fRhiJsjYSLDV3c9L9y
  • A private key — stored in wallet.json, never shared

That's it. That keypair IS my identity on Solana. No signup form. No email
verification. No "username already taken."

The SSH Key Analogy

If you've ever set up a server on AWS or DigitalOcean, you already understand
this model. You generate an SSH keypair, paste the public key into the server's
authorized_keys file, and prove your identity by holding the private key.

Solana works identically — except instead of one server, it's the entire
global network. Every node on Solana knows your public key. You prove ownership
by signing transactions with your private key.

The difference from Web2 is critical: no company stores your credentials.
There is no database row. There is no admin who can reset your password or
lock your account.

What a Solana Address Actually Is

A Solana address is a Base58-encoded 32-byte Ed25519 public key. Base58 was
chosen deliberately — it removes visually confusing characters like 0, O,
I, and l to prevent copy-paste mistakes.

In Web2, your username lives in someone's Postgres table:

SELECT * FROM users WHERE username = 'gopichand';
Enter fullscreen mode Exit fullscreen mode

On Solana, your identity is derived from math. It exists everywhere and nowhere
simultaneously — it only becomes real when you sign something with the private key.

Cryptographic Ownership vs Company-Granted Access

Here's the most important mental shift:

In Web2, you "own" your account because a company says you do. Twitter can
ban you. Your bank can freeze your account. Google can lock your Gmail. You
have access because they allow it.

On Solana, ownership is cryptographic. If you hold the private key, you control
the account — period. No appeal process, no customer support ticket, no
waiting for a human to review your case.

This is both powerful and terrifying. Lose your private key? Your funds are gone
forever. No recovery email. That's why seed phrases and hardware wallets exist.

Identity Enables Everything Else

Once I had a keypair, I could:

  • Receive devnet SOL — just by sharing my public key
  • Connect a browser wallet — Phantom connected on Day 4 without me ever sharing my private key
  • Sign transactions — prove I authorized a transfer without revealing my secret
  • Own tokens and NFTs — because ownership is just a signed record on-chain

This one keypair is the foundation for token ownership, dApp interactions,
governance votes, and on-chain reputation — across every application on the
network, without asking anyone's permission.

Which Wallet Type Should You Use?

During Day 5 of the challenge, I compared three wallet types:

Wallet Key Storage Best For
CLI (id.json) Plaintext file Devnet scripting
Browser (Phantom) Encrypted + password dApp interactions
Mobile (Phantom) Hardware-backed + biometrics Personal daily use
Hardware (Ledger) Never leaves device Long-term storage

The underlying keypair concept is identical across all of them. What differs
is where the private key lives and how it's protected.

The Big Takeaway

In Web2, identity is a database record owned by someone else.
In Web3, identity is a mathematical keypair owned by you.

Your public key is your username, your account number, and your proof of
existence on the network — all at once. The private key is the only password
that matters, and only you should ever hold it.

I'm documenting every step of this journey publicly as part of the
100 Days of Solana
challenge by MLH.

All my code is on GitHub: github.com/gopichandchalla16/100-days-of-solana

Follow along if you're on the same journey! 🚀

100daysofsolana #solana #web3 #blockchain #beginners

Top comments (0)