<?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>Forem: 이준범</title>
    <description>The latest articles on Forem by 이준범 (@junbeomlee).</description>
    <link>https://forem.com/junbeomlee</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%2F3258805%2Fd1e311d1-21f0-4ced-8532-462e420e74d4.png</url>
      <title>Forem: 이준범</title>
      <link>https://forem.com/junbeomlee</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/junbeomlee"/>
    <language>en</language>
    <item>
      <title>What It Really Means to Be a Blockchain Developer</title>
      <dc:creator>이준범</dc:creator>
      <pubDate>Thu, 12 Jun 2025 02:08:36 +0000</pubDate>
      <link>https://forem.com/junbeomlee/what-it-really-means-to-be-a-blockchain-developer-5gn3</link>
      <guid>https://forem.com/junbeomlee/what-it-really-means-to-be-a-blockchain-developer-5gn3</guid>
      <description>&lt;p&gt;What exactly does a blockchain developer do?&lt;/p&gt;

&lt;p&gt;⁉️ Smart contracts? Mainnets? Wallets? Nodes?&lt;/p&gt;

&lt;p&gt;Since I began blockchain development in 2017 and have worked in many different areas since then, I’ve come to realize that “blockchain developer” isn’t a single role but rather splits into multiple fields—each demanding its own technologies and way of thinking. Here, I’ve distilled the six key domains I’ve tackled.&lt;/p&gt;

&lt;p&gt;I’ll briefly introduce what skills each area requires, along with its level of difficulty and its appeal.&lt;/p&gt;

&lt;p&gt;I hope this is helpful for anyone curious about blockchain development, considering a switch to become a blockchain developer, or wanting to understand how the field breaks down.&lt;/p&gt;

&lt;p&gt;👇 View the full article:&lt;br&gt;
What It Really Means to Be a Blockchain Developer(&lt;a href="https://0xshardlab.substack.com/p/what-it-really-means-to-be-a-blockchain" rel="noopener noreferrer"&gt;https://0xshardlab.substack.com/p/what-it-really-means-to-be-a-blockchain&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;Connect with me on LinkedIn: &lt;a href="https://www.linkedin.com/in/junbeom-lee-6a3750234/" rel="noopener noreferrer"&gt;https://www.linkedin.com/in/junbeom-lee-6a3750234/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>blockchain</category>
      <category>web3</category>
      <category>career</category>
      <category>developer</category>
    </item>
    <item>
      <title>Key insights from implementing zk-SNARK from scratch</title>
      <dc:creator>이준범</dc:creator>
      <pubDate>Thu, 12 Jun 2025 01:57:04 +0000</pubDate>
      <link>https://forem.com/junbeomlee/key-insights-from-implementing-zk-snark-from-scratch-11d4</link>
      <guid>https://forem.com/junbeomlee/key-insights-from-implementing-zk-snark-from-scratch-11d4</guid>
      <description>&lt;p&gt;I recently took on the challenge of implementing a zk-SNARK — not just studying the theory, but writing the full end-to-end code myself.&lt;/p&gt;

&lt;p&gt;Going through the full flow — from R1CS to QAP, trusted setup, and pairing-based verification — helped me understand how all the pieces fit together in a much clearer way.&lt;/p&gt;

&lt;p&gt;Here are the key insights I gained through that process:&lt;/p&gt;

&lt;p&gt;1️⃣ Break down the logic you want to prove into multiple constraints&lt;br&gt;
For example, the equation (x + 1) * (x + 2) = 12 can be broken into: Let a = x + 1, b = x + 2, then enforce a * b = 12.&lt;/p&gt;

&lt;p&gt;2️⃣ Combine all constraints into a single polynomial and check it at one point&lt;br&gt;
Each constraint is turned into a polynomial, and they’re all combined into a single equation. Instead of checking every constraint one by one, you only need to check that this combined equation equals zero at a single random point.&lt;/p&gt;

&lt;p&gt;3️⃣ Verify computations without revealing actual values — by committing them on the curve&lt;br&gt;
To prove 1 + 2 = 3 without revealing any values, you commit to g¹, g², and g³, and verify that g¹ * g² = g³ (i.e., g^(1+2) = g^3) using a pairing check.&lt;/p&gt;

&lt;p&gt;I wrote a post summarizing the full implementation process for anyone trying to understand zk-SNARKs not just conceptually, but also through actual working code&lt;/p&gt;

&lt;p&gt;📄 Documentation: &lt;a href="https://0xshardlab.substack.com/p/zk-snarks-understand-it-then-build" rel="noopener noreferrer"&gt;https://0xshardlab.substack.com/p/zk-snarks-understand-it-then-build&lt;/a&gt;&lt;br&gt;
💻 Implementation: &lt;a href="https://github.com/shard-lab/protocol-camp/tree/main/zk/zksnark" rel="noopener noreferrer"&gt;https://github.com/shard-lab/protocol-camp/tree/main/zk/zksnark&lt;/a&gt;&lt;/p&gt;

</description>
      <category>blockchain</category>
      <category>web3</category>
      <category>zkp</category>
      <category>zksnark</category>
    </item>
  </channel>
</rss>
