DEV Community

Cover image for From Passwords to Keypairs: Understanding Identity on Solana
Akanni Modupe Adegoke
Akanni Modupe Adegoke

Posted on

From Passwords to Keypairs: Understanding Identity on Solana

I am a software engineer with experience in web2 systems, where my past ventures include finance solutions, AI products, and so forth. But I have also experienced the side of Web3, having completed programs at the Ackee Solana Bootcamp and Turbine Anchor, amongst others. Naturally, once MLH announced its new challenge program 100 Days of Solana, I jumped at the chance.

Here is how day one through five of that went, including the common theme it seems to revolve around: identity on blockchain.

Web2 Identity: You Don't Really Own It

In Web2, your identity is scattered. You have a GitHub username, a work email, a bank account tied to a phone number. Each one lives in a company's database. Each one can be suspended, deleted, or locked out, not by you, but by them. And none of them talk to each other unless an engineer builds an integration. This is so normal to us that we rarely question it. But it's worth pausing on:

you don't own your Google account. You have access to it, for as long as Google decides you do.
Solana flips this entirely.

Day 1 & 2: The Keypair Is the Identity

The first challenge had us generate a local CLI Solana wallet using JavaScript, fund it on Devnet, and check its balance. Simple, but the concept underneath it is profound.

A Solana keypair gives you two things:

  • A public key → your on-chain address (e.g., 14grJpemFaf88c8tiVb77W7TYg2W3ir6pfkKz3YjhhZ5)
  • A private key → your cryptographic proof of ownership

If you've used SSH keys before, this clicks immediately. You generate a key pair, share the public key, and prove who you are by holding the private key.

Solana works exactly the same way, except the "server" is the entire network, and your keypair is your identity everywhere on it.

Persistent Wallets (Day 2)

Real systems don't regenerate wallets on every run (unless you're building custodial wallets for new users 😅). We store the secret key to disk and read it back using the PKCS8 format, since Node.js doesn't support raw export for Ed25519 private keys. The PKCS8 wrapper adds a 16-byte header, so the actual key material is always the final 32 bytes.

The contrast with Web2 here is stark: there's no "forgot password" flow. There's no admin who can reset your access. The private key is the account. Lose it, and no one can help you.

Day 3: Precision Matters: Lamports and Why Floats Are Dangerous

This one resonated with me immediately, coming from the finance industry. Floating-point arithmetic is a liability anywhere precision matters. For the US dollar, you work in cents. For the Nigerian naira, you work in kobo. For Solana, you work in lamports, the smallest unit of SOL.

  • 1 SOL = 1,000,000,000 lamports

  • A typical base transaction fee = 5,000 lamports (0.000005 SOL)

  • Minimum rent for a basic token account = 890,880 lamports (~0.00089 SOL)

Always store and compute in lamports. Convert to SOL only for display.
This is the same discipline you'd apply in any financial system and it matters just as much here.

Day 4 & 5: Wallets as Interfaces

Not Identities Day 4 was a refresher that brought back memories. We built a browser extension wallet and connected it to a frontend to retrieve and display a user's SOL balance. This surface-level resemblance to Web2 auth is where people get confused: the wallet isn't your identity it's the interface to your identity. The keypair is the identity. The wallet just manages it.

Day 5 tied the week together by surveying the wallet types we'd touched:

  • CLI wallets — for scripting and automation
  • Browser extension wallets — for dApp frontends
  • Mobile wallets — for everyday transfers and approvals

All of them give you access to the same keypair. The wallet is the app; the keypair is you.

So What Is Identity on Solana?

After these exercises, the answer became clearer:

  • Your identity is your private key
  • Your presence is your public key
  • Your actions are cryptographic signatures

There are no usernames. No emails. No centralized accounts. Everything you do:

  • Own tokens
  • Interact with programs
  • Vote in governance … is tied to that keypair.

Why This Matters

This model unlocks something powerful: True ownership → Only you control your assets Portability → One identity works across all apps Permissionless access → No signup required
But it also comes with responsibility:

  • Lose your private key → lose everything
  • No password reset → ever

Final Thoughts

This week wasn’t just about wallets, it was about rethinking identity.

In Web2: “My account exists because a company says it does.”
In Solana: “My identity exists because I control a key.”

That shift is subtle, but it changes everything.

Top comments (3)

Collapse
 
smsonline profile image
Salam Mosawi

Definitely much better than my post lol. This is very well-written, great job!

Collapse
 
akeempalmer profile image
Akeem Palmer • Edited

This is a very good and clear explanation of Solana Identity, and I love how you broke down the activities completed on the recent days.

Some comments may only be visible to logged-in visitors. Sign in to view all comments.