<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Amitabh Kumar</title>
    <description>The latest articles on DEV Community by Amitabh Kumar (@amitabh_kumar_cb5057caed3).</description>
    <link>https://dev.to/amitabh_kumar_cb5057caed3</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3214580%2F930b2e1f-c840-4960-92ed-c172dd53aadf.jpg</url>
      <title>DEV Community: Amitabh Kumar</title>
      <link>https://dev.to/amitabh_kumar_cb5057caed3</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/amitabh_kumar_cb5057caed3"/>
    <language>en</language>
    <item>
      <title>🔐 No Username. No Password. Just a Keypair.</title>
      <dc:creator>Amitabh Kumar</dc:creator>
      <pubDate>Sun, 26 Apr 2026 03:49:02 +0000</pubDate>
      <link>https://dev.to/amitabh_kumar_cb5057caed3/no-username-no-password-just-a-keypair-37jd</link>
      <guid>https://dev.to/amitabh_kumar_cb5057caed3/no-username-no-password-just-a-keypair-37jd</guid>
      <description>&lt;p&gt;If you’ve ever used SSH, you already understand more about Web3 identity than you think.&lt;/p&gt;

&lt;p&gt;Let’s walk through it.&lt;/p&gt;




&lt;h3&gt;
  
  
  🤔 Start with something familiar
&lt;/h3&gt;

&lt;p&gt;When you SSH into a server, what actually happens?&lt;/p&gt;

&lt;p&gt;You:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;generate a &lt;strong&gt;keypair&lt;/strong&gt; (public + private key)&lt;/li&gt;
&lt;li&gt;place the &lt;strong&gt;public key&lt;/strong&gt; on the server (&lt;code&gt;authorized_keys&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;keep the &lt;strong&gt;private key&lt;/strong&gt; on your machine&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When you connect, the server sends a challenge.&lt;/p&gt;

&lt;p&gt;Your machine signs it using your &lt;strong&gt;private key&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The server verifies it using your &lt;strong&gt;public key&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;If it checks out → access granted.&lt;/p&gt;

&lt;p&gt;👉 No password. Just proof.&lt;/p&gt;




&lt;h3&gt;
  
  
  ⚡ Now remove the server
&lt;/h3&gt;

&lt;p&gt;What if there was:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;no single server&lt;/li&gt;
&lt;li&gt;no central database&lt;/li&gt;
&lt;li&gt;no company managing access&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Instead, imagine a &lt;strong&gt;global network&lt;/strong&gt; verifying your proof.&lt;/p&gt;

&lt;p&gt;That’s exactly what happens on &lt;strong&gt;Solana&lt;/strong&gt;.&lt;/p&gt;




&lt;h3&gt;
  
  
  🌐 Your keypair = your identity
&lt;/h3&gt;

&lt;p&gt;On Solana, your identity is not:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;an email&lt;/li&gt;
&lt;li&gt;a username&lt;/li&gt;
&lt;li&gt;a Google login&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It is simply:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;a &lt;strong&gt;public/private keypair&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Your &lt;strong&gt;public key&lt;/strong&gt; becomes your address.&lt;br&gt;
Your &lt;strong&gt;private key&lt;/strong&gt; is your authority.&lt;/p&gt;

&lt;p&gt;The network doesn’t ask:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“What’s your username?”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It asks:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Can you produce a valid signature for this transaction?”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;If yes → you are the owner.&lt;/p&gt;


&lt;h3&gt;
  
  
  🧬 What is a Solana address?
&lt;/h3&gt;

&lt;p&gt;A Solana address is:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;a &lt;strong&gt;32-byte public key&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;generated using &lt;strong&gt;Ed25519 cryptography&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;encoded in &lt;strong&gt;Base58&lt;/strong&gt; for readability&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;14grJpemFaf88c8tiVb77W7TYg2W3ir6pfkKz3YjhhZ5
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Why Base58?&lt;/p&gt;

&lt;p&gt;Because it removes ambiguous characters like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;0 (zero)&lt;/li&gt;
&lt;li&gt;O (capital o)&lt;/li&gt;
&lt;li&gt;I (capital i)&lt;/li&gt;
&lt;li&gt;l (lowercase L)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Small detail—but critical when humans are copying addresses.&lt;/p&gt;




&lt;h3&gt;
  
  
  🔏 What does “signing a transaction” actually mean?
&lt;/h3&gt;

&lt;p&gt;Every action on Solana is a &lt;strong&gt;transaction&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;That could be:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;sending SOL&lt;/li&gt;
&lt;li&gt;interacting with a smart contract (program)&lt;/li&gt;
&lt;li&gt;minting an NFT&lt;/li&gt;
&lt;li&gt;voting in governance&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Before the network accepts it, you must:&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;sign the transaction with your private key&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Conceptually:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;signature&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Sign&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;private_key&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;transaction_data&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The network then verifies:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="nc"&gt;Verify&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;public_key&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;transaction_data&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;signature&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If valid → the transaction is executed.&lt;/p&gt;

&lt;p&gt;If not → rejected.&lt;/p&gt;

&lt;p&gt;That’s it.&lt;/p&gt;

&lt;p&gt;No login. No session. No cookies.&lt;/p&gt;




&lt;h3&gt;
  
  
  🔁 Web2 vs Web3 (deep comparison)
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Web2 identity:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Stored in centralized databases&lt;/li&gt;
&lt;li&gt;Auth via passwords / OAuth / sessions&lt;/li&gt;
&lt;li&gt;Controlled by companies&lt;/li&gt;
&lt;li&gt;Recoverable (password reset)&lt;/li&gt;
&lt;li&gt;Revocable (account bans)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Solana identity:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Derived from cryptographic keys&lt;/li&gt;
&lt;li&gt;Auth via digital signatures&lt;/li&gt;
&lt;li&gt;Controlled only by the key holder&lt;/li&gt;
&lt;li&gt;Not recoverable&lt;/li&gt;
&lt;li&gt;Not revocable by any authority&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 In Web2, identity is &lt;strong&gt;permissioned&lt;/strong&gt;&lt;br&gt;
👉 In Solana, identity is &lt;strong&gt;provable&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  🔑 Ownership is mathematical
&lt;/h3&gt;

&lt;p&gt;In Web2:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“You own your account because we say you do.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;In Solana:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“You own your account because you can prove it.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;There is:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;no admin override&lt;/li&gt;
&lt;li&gt;no backend database to edit&lt;/li&gt;
&lt;li&gt;no support ticket system&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Only one rule:&lt;/p&gt;

&lt;p&gt;👉 Whoever controls the private key controls the account.&lt;/p&gt;




&lt;h3&gt;
  
  
  ⚠️ The trade-off (and why it matters)
&lt;/h3&gt;

&lt;p&gt;This system is brutally simple.&lt;/p&gt;

&lt;p&gt;Lose your private key?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;No password reset&lt;/li&gt;
&lt;li&gt;No recovery email&lt;/li&gt;
&lt;li&gt;No customer support&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 Access is gone forever.&lt;/p&gt;

&lt;p&gt;That’s the cost of removing centralized control.&lt;/p&gt;

&lt;p&gt;But the upside is powerful:&lt;/p&gt;

&lt;p&gt;🔥 &lt;strong&gt;True self-custody&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  🚀 Identity is more than login
&lt;/h3&gt;

&lt;p&gt;Your keypair isn’t just for authentication.&lt;/p&gt;

&lt;p&gt;It’s the base layer for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;assets&lt;/strong&gt; → tokens, NFTs&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;interactions&lt;/strong&gt; → calling on-chain programs&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;governance&lt;/strong&gt; → voting with your wallet&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;reputation&lt;/strong&gt; → your on-chain history&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And unlike Web2:&lt;/p&gt;

&lt;p&gt;👉 You don’t create a new account for each app.&lt;/p&gt;

&lt;p&gt;One keypair works across:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;wallets&lt;/li&gt;
&lt;li&gt;DeFi apps&lt;/li&gt;
&lt;li&gt;NFT platforms&lt;/li&gt;
&lt;li&gt;DAOs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;No permission required.&lt;/p&gt;




&lt;h3&gt;
  
  
  🧠 Why this is a big deal
&lt;/h3&gt;

&lt;p&gt;In Web2:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;identities are &lt;strong&gt;siloed&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;apps own your data&lt;/li&gt;
&lt;li&gt;switching platforms = starting over&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In Solana:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;identity lives at the &lt;strong&gt;network layer&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;apps plug into &lt;em&gt;your&lt;/em&gt; identity&lt;/li&gt;
&lt;li&gt;your data and assets move with you&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  🧩 Final perspective
&lt;/h3&gt;

&lt;p&gt;A Solana wallet is not just a wallet.&lt;/p&gt;

&lt;p&gt;It is:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;your identity&lt;/li&gt;
&lt;li&gt;your access layer&lt;/li&gt;
&lt;li&gt;your ownership proof&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All backed by cryptography.&lt;/p&gt;

&lt;p&gt;No usernames.&lt;br&gt;
No passwords.&lt;br&gt;
No intermediaries.&lt;/p&gt;

&lt;p&gt;Just a keypair.&lt;/p&gt;

&lt;p&gt;And once you understand that…&lt;/p&gt;

&lt;p&gt;Web3 stops feeling abstract—and starts feeling inevitable.&lt;/p&gt;

</description>
      <category>mlh</category>
      <category>solana</category>
      <category>100daysofsolana</category>
      <category>web3</category>
    </item>
  </channel>
</rss>
