<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>web3 in 420</title>
        <link>https://paragraph.com/@nichochar</link>
        <description>This blog summarizes web3 concepts in 420 words or less, for digestible learning.</description>
        <lastBuildDate>Sun, 08 Nov 2026 05:44:50 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <image>
            <title>web3 in 420</title>
            <url>https://storage.googleapis.com/papyrus_images/0c9ed3dc26a5a315b96bd2bbe67f8bc7</url>
            <link>https://paragraph.com/@nichochar</link>
        </image>
        <copyright>All rights reserved</copyright>
        <item>
            <title><![CDATA[Wallets]]></title>
            <link>https://paragraph.com/@nichochar/wallets</link>
            <guid>0TPF6hjKVm01fbniDoJ3</guid>
            <pubDate>Mon, 05 Sep 2022 21:14:26 GMT</pubDate>
            <description><![CDATA[This is part 2/2 of a series on wallet and accounts.

Wallet is an important yet confusing web3 term. That is because the name refers to multiple concepts depending on context: the wallet client, the passphrase, account manager software, or a public account address. Let’s dig in!]]></description>
            <content:encoded><![CDATA[<p><em>This is part 2/2 of a series on accounts &amp; wallets, </em><a target="_blank" rel="noopener noreferrer nofollow" class="dont-break-out dont-break-out" href="https://paragraph.xyz/@nichochar/blockchain-accounts"><em>read part 1 here</em></a><em>.</em></p><p><em>Wallet</em> is an important yet confusing web3 term. That is because the name refers to multiple concepts depending on context: the <code>wallet client</code>, the <code>passphrase</code>, <code>account manager software</code>, or a <code>public account address</code>. Let’s dig in and disambiguate.</p><img src="https://storage.googleapis.com/papyrus_images/7370473e0cd444935794508e5779810a" alt="Metamask (eth wallet) does a few things" float="none" class="image-node img-center embed"><h2>Wallets</h2><p>A wallet is software for managing <a target="_blank" rel="noopener noreferrer nofollow" class="dont-break-out dont-break-out" href="https://paragraph.xyz/@nichochar/blockchain-accounts">web3 accounts</a>.</p><p>Wallet clients are responsible for private key management, application UI, and transaction/asset management. However the boundaries of what a wallet <em>is</em> are blurry and still evolving. Some have described wallets as the operating systems of web3, or the browsers of web3. Neither analogy is perfect, but the idea is correct: wallets are a powerful and foundational piece of the web3 ecosystem.</p><p>From an end-user’s perspective, a wallet is the software needed to interact with blockchains: and help with the experience of performing transactions (send tokens, sign using private key, interact with smart contract). Since the data is public, they typically also list token balances, and the transaction history.</p><p>Wallets, unlike the physical wallets in our pockets, don&apos;t hold tokens directly (that analogy is misleading). Rather, they are a mechanism in which the owner can prove (s)he owns custody by signing transactions with the private key. The <em>blockchain</em> stores the token ledger (a mapping of wallet addresses to their respective balance). This is why transferring tokens is so cheap, we&apos;re not moving anything around, simply debiting from one account and crediting another in our global, shared ledger.</p><h2>Custody</h2><p>When the end-user is directly responsible for the private key (by memorizing the seed phrase), the wallet is called <strong>self-custodial</strong> or <strong>non-custodial</strong> (Metamask, Ledger, Rainbow). When a company or other 3rd party manages the private key for the end-user, it is called a <strong>custodial wallet</strong> (Coinbase, Binance, Magic Link). This is where the adage &quot;not your keys, not your coins&quot; comes in: it is referring to the custody property: whoever controls the private key controls the wallet.</p><p>It is hard to exchange fiat money (like dollars) for cryptocurrency tokens without going through a <a target="_blank" rel="noopener noreferrer nofollow" class="dont-break-out dont-break-out" href="https://paragraph.xyz/@nichochar/crypto-exchanges-and-decentralization">centralized exchange</a>, and use a custodial wallet in the process. Most users therefore have multiple wallets, some custodial and others not, and transfer tokens from the custodial ones to the self-custodial ones to gain custody.</p><h2>Architecture</h2><p>Just like web browsers allow users to interact directly with the web through URLs, wallets allow users to interact directly with web3 nodes through <a target="_blank" rel="noopener noreferrer nofollow" class="dont-break-out dont-break-out" href="https://ethereum.org/en/developers/docs/apis/json-rpc/">JSON-RPC calls</a>, which are handled by providers (Infura, Alchemy).<br></p><img src="https://storage.googleapis.com/papyrus_images/7ca80eb910726a9b63fac5b5dbd14378" alt="" float="none" class="image-node img-center embed"><p></p>]]></content:encoded>
            <author>nichochar@newsletter.paragraph.com (nichochar)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/17d241d49aa6213cd9be8d7e4256e716" length="0" type="image//papyrus_images/17d241d49aa6213cd9be8d7e4256e716"/>
        </item>
        <item>
            <title><![CDATA[Blockchain Accounts]]></title>
            <link>https://paragraph.com/@nichochar/blockchain-accounts</link>
            <guid>ibF1Uaus3xwUMIdnsiKw</guid>
            <pubDate>Mon, 05 Sep 2022 21:03:25 GMT</pubDate>
            <description><![CDATA[This is part 1/2 of a series on wallet and accounts.

Blockchains introduce new software constructs and paradigms. One difference with the web2 world is how accounts are defined, registered, and controlled. Let's dig in!]]></description>
            <content:encoded><![CDATA[<p><em>This is part 1/2 of a series on accounts &amp; wallets, find </em><a target="_blank" rel="noopener noreferrer nofollow" class="dont-break-out dont-break-out" href="https://paragraph.xyz/@nichochar/wallets"><em>part 2 here</em></a><em>.</em></p><p><a target="_blank" rel="noopener noreferrer nofollow" class="dont-break-out dont-break-out" href="https://paragraph.xyz/@nichochar/blockchains">Blockchains</a> introduce new software constructs and paradigms. One difference with the web2 world is how accounts are defined, registered, and controlled.</p><h2>Accounts</h2><p>Blockchain state –  at its simplest –  is a set of account balances and the transactions between them. Each account has a publicly known address, a public key to which also exists a counterpart private key. The public key is shared publicly, while the private key should be kept securely by the account owner. Examples of public addresses are <code>0x1dA4FDf7029bDf8ff11f28141a659f6563940642</code> on Ethereum or <code>bc1q3yz87mhky7c30y9v38aggypw8jrda7ettefxgr</code> on bitcoin.</p><p>There are 2 types of blockchain accounts:</p><ul><li><p>Externally Owned Accounts (EOAs)</p></li><li><p>Contract Accounts (only exist on smart contract chains like Ethereum &amp; Solana, not bitcoin)</p></li></ul><img src="https://storage.googleapis.com/papyrus_images/00494c5d184fcb94acecc517fbc5f285" alt="" float="none" class="image-node img-center embed"><h2>Externally Owned Accounts (EOAs)</h2><p>EOAs are not registered to blockchains like you’d register a gmail address to a centralized provider (google). Instead, they simply already exist: there is a space of trillions of billions of public keys, and “creating” an account means generating a new random private key, and then deriving its public key (or address). Knowing the private key allows to sign transactions (proving ownership) and therefore control the account.</p><p><em>Note: Losing the private keys means that controlling that account is no longer possible, and the currency in it is inaccessible forever.</em></p><p>How does one know how to generate a new random private key? With conventionally adopted standard cryptography algorithms, that have been proposed and approved by the community. This approach avoids the need of a central authority in charge of account management in favor of shared cryptography methods (which is <strong>permissionless</strong> and <strong>censorship resistant</strong>). Most of these algorithms went through the <strong>BIP</strong> (bitcoin improvement proposal) mechanism.</p><img src="https://storage.googleapis.com/papyrus_images/8679c442282ab92515b483391865af17" alt="" float="none" class="image-node img-center embed"><p>You might have heard of “seed phrases” or “mnemonics”, these are from <strong>BIP39</strong>: a proposed method of generating private keys in a more human friendly way. From the <strong>seed phrase</strong> (12 to 24 english words), we derive a <strong>private key</strong> (optionally using an extra passphrase), then from that <strong>private key</strong> we derive a <strong>root key</strong>. Finally, we can create multiple <strong>public/private key pairs</strong> (accounts) from this single root key. This technique was proposed in <strong>BIP32</strong>, and is called Hyper Deterministic (HD) wallets.</p><img src="https://storage.googleapis.com/papyrus_images/7b7699ec4888b9b768876368cb2d3e57" alt="" float="none" class="image-node img-center embed"><p>The idea is that remembering mnemonics is hard, but one might still want many accounts for privacy and security reasons. This gives us the best of both worlds! This also allows interoperability, you can use the same passphrase in any wallet client for that ecosystem and everything works, and you can deterministically re-create all of your accounts from a passphrase.</p><h2>Contract Accounts</h2><p>Contract Accounts are programs (smart contracts) which simulate EOAs. They can therefore only exist on smart contract chains like ethereum or Solana, as code.</p><p>What’s their purpose? Arbitrary functionality makes them safer, more powerful, and can improve the user experience.</p><p>For example, it allows techniques like “multisig”, requiring multiple confirmations before using the private key to sign transactions (similar to 2FA auth, in web2): see <a target="_blank" rel="noopener noreferrer nofollow" class="dont-break-out dont-break-out" href="https://www.argent.xyz/">Argent</a> or <a target="_blank" rel="noopener noreferrer nofollow" class="dont-break-out dont-break-out" href="https://gnosis-safe.io/">Gnosis-Safe</a>.</p><p>A major drawback from Contract Accounts today (in Ethereum) is that they cannot sign transactions like EOAs can, making them less useful. This is an active area of proposed improvement for Ethereum, called <strong>“Account Abstraction”</strong> (see <a target="_blank" rel="noopener noreferrer nofollow" class="dont-break-out dont-break-out" href="https://eips.ethereum.org/EIPS/eip-2938">EIP-2938</a> and <a target="_blank" rel="noopener noreferrer nofollow" class="dont-break-out dont-break-out" href="https://eips.ethereum.org/EIPS/eip-4337">EIP-4337</a>), a sizable opportunity to improve web3 UX and security.</p><h2>Summary</h2><img src="https://storage.googleapis.com/papyrus_images/0753de34fc024c8fbc714d919aa9bf9f" alt="" float="none" class="image-node img-center embed"><p></p>]]></content:encoded>
            <author>nichochar@newsletter.paragraph.com (nichochar)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/597dca87046ec00b6b09c35f78194fb4" length="0" type="image//papyrus_images/597dca87046ec00b6b09c35f78194fb4"/>
        </item>
        <item>
            <title><![CDATA[Crypto Exchanges & (de)centralization]]></title>
            <link>https://paragraph.com/@nichochar/crypto-exchanges-and-decentralization</link>
            <guid>a5az8sBxEGjrIpW0yhaN</guid>
            <pubDate>Wed, 15 Jun 2022 03:02:04 GMT</pubDate>
            <author>nichochar@newsletter.paragraph.com (nichochar)</author>
        </item>
        <item>
            <title><![CDATA[Proof of Stake]]></title>
            <link>https://paragraph.com/@nichochar/proof-of-stake</link>
            <guid>TV420olvGMzVt3YprV1U</guid>
            <pubDate>Sun, 29 May 2022 20:32:35 GMT</pubDate>
            <author>nichochar@newsletter.paragraph.com (nichochar)</author>
        </item>
        <item>
            <title><![CDATA[Blockchains]]></title>
            <link>https://paragraph.com/@nichochar/blockchains</link>
            <guid>5wKM6jdJuYXO2oZtmIul</guid>
            <pubDate>Fri, 13 May 2022 22:22:16 GMT</pubDate>
            <description><![CDATA[Let's explore what a blockchain is in fewer than 420 words.]]></description>
            <author>nichochar@newsletter.paragraph.com (nichochar)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/ed2c1405a522ee3805c58392a6fb8316" length="0" type="image//papyrus_images/ed2c1405a522ee3805c58392a6fb8316"/>
        </item>
        <item>
            <title><![CDATA[Introducing web 3 in 420]]></title>
            <link>https://paragraph.com/@nichochar/introducing-web-3-in-420</link>
            <guid>DwsVk5uFIEhAY5D3zRPM</guid>
            <pubDate>Thu, 05 May 2022 15:43:50 GMT</pubDate>
            <description><![CDATA[👋 gm I am  @nichochar , a software engineer who has recently started dabbling and building things in web3. As thrilling as it is, learning web3 can quickly get overwhelming. This is a whole new world full of technical and cultural jargon. There is a significant barrier to entry for crypto-curiou...]]></description>
            <content:encoded><![CDATA[<h1>👋 gm</h1><p>I am <a target="_blank" rel="noopener noreferrer nofollow" class="dont-break-out dont-break-out" href="https://twitter.com/nichochar">@nichochar</a>, a software engineer who has recently started dabbling and building things in web3. As thrilling as it is, learning web3 can quickly get overwhelming. This is a whole new world full of technical and cultural jargon. There is a significant barrier to entry for crypto-curious and crypto-learners. In this newsletter, I will summarize web3 concepts in 420 words or less (and maybe some diagrams 🙈). I’m a beginner myself so the goal is to learn together.</p><img src="https://paragraph.xyz/_next/image?url=https%3A%2F%2Fstorage.googleapis.com%2Fpapyrus_images%2F3f9890dc99cf91bb3f2589ddfae7562e&w=640&q=75" alt="" width="218" float="none" class="image-node img-center embed"><p>Welcome, thanks for being here, and I hope that you enjoy it!</p><p>(if you do, subscribe!)</p><p></p>]]></content:encoded>
            <author>nichochar@newsletter.paragraph.com (nichochar)</author>
        </item>
    </channel>
</rss>