<?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>gWhy</title>
        <link>https://paragraph.com/@0xgwhy</link>
        <description>Developer
WEB3 Explorer
Pizza Lover</description>
        <lastBuildDate>Fri, 05 Jun 2026 02:43:11 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <image>
            <title>gWhy</title>
            <url>https://storage.googleapis.com/papyrus_images/f29b3163030f4f307bf9b22af85d3cd4a291bcc2bfb3a66ab2aa2446fcb57bf2.png</url>
            <link>https://paragraph.com/@0xgwhy</link>
        </image>
        <copyright>All rights reserved</copyright>
        <item>
            <title><![CDATA[이더리움 가스에 대하여 (개념)]]></title>
            <link>https://paragraph.com/@0xgwhy/h0K6N9IcTwupAs1Yv5Y7</link>
            <guid>h0K6N9IcTwupAs1Yv5Y7</guid>
            <pubDate>Sun, 14 Jul 2024 16:01:41 GMT</pubDate>
            <description><![CDATA[가스가 뭐죠?첫 글은 웹3 개발을 시작할 때 가장 생소한 개념인 가스에 대한 내용입니다. 이더리움 블록체인에서 “가스” 라는 개념은 아주 중요한 개념입니다. 악의적인 트랜잭션을 억제하면서도 참여자들에게 보상을 지급하는 수단이기 때문이죠. 내가 누군가에게 1 ether 를 전송했다면 내 잔액은 -1 ether 지급 받은 사람의 잔액은 +1 ether 가 되겠죠. Miner는 이러한 변경사항이 유효한지 검증하고 블록에 포함시킵니다. 그리고 가스비의 일정 부분을 보상으로 가져가죠. 컨트랙트 코드를 실행하고 일련의 트랜잭션을 수행하는 것 또한 마찬가지입니다. 블록체인에서 가스가 어떤 의미를 가지는지에 대해서는 이쯤 하겠습니다.(사실 훨씬 좋은 자료가 많으니 따로 찾아보시는걸 추천..)Transaction Feeetherscan.io 에서 확인할 수 있는 트랜잭션 수수료이더리움 네트워크의 대표적인 블록스캐너 etherscan.io 에서는 Transaction Fee 라는 항목으로“내가 ...]]></description>
            <content:encoded><![CDATA[<h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">가스가 뭐죠?</h2><p>첫 글은 웹3 개발을 시작할 때 가장 생소한 개념인 가스에 대한 내용입니다.</p><p>이더리움 블록체인에서 “가스” 라는 개념은 아주 중요한 개념입니다. 악의적인 트랜잭션을 억제하면서도 참여자들에게 보상을 지급하는 수단이기 때문이죠. 내가 누군가에게 1 ether 를 전송했다면 내 잔액은 -1 ether 지급 받은 사람의 잔액은 +1 ether 가 되겠죠. Miner는 이러한 변경사항이 유효한지 검증하고 블록에 포함시킵니다. 그리고 가스비의 일정 부분을 보상으로 가져가죠. 컨트랙트 코드를 실행하고 일련의 트랜잭션을 수행하는 것 또한 마찬가지입니다. 블록체인에서 가스가 어떤 의미를 가지는지에 대해서는 이쯤 하겠습니다.(사실 훨씬 좋은 자료가 많으니 따로 찾아보시는걸 추천..)</p><h2 id="h-transaction-fee" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Transaction Fee</h2><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/23fa32df7db1665dfb04e548cb533b64beb6e4c653780b873a7debe9889178e6.png" alt="etherscan.io 에서 확인할 수 있는 트랜잭션 수수료" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">etherscan.io 에서 확인할 수 있는 트랜잭션 수수료</figcaption></figure><p>이더리움 네트워크의 대표적인 블록스캐너 <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://etherscan.io">etherscan.io</a> 에서는 Transaction Fee 라는 항목으로“내가 이 트랜잭션을 발생시키기 위해 지불한 수수료 총합”을 볼 수 있습니다.</p><p>즉, 내 지갑에서 빠져나가는 돈은 <code>Value + Transaction Fee</code> 가 됩니다.</p><p>여기서 <strong>Transaction Fee</strong>는 <code>소모한 가스의 양 x 가스 가격</code>이 됩니다.</p><p>”민팅하실 때 가스비 얼마 내셨어요?” 에서 가스비는 곧 트랜잭션 수수료를 의미하고, ”지금 가스비가 너무 비싸요;; 기위(Gwei)가 100 가까이 되네요..” 에서 가스비는 <strong>가스 가격</strong>을 의미합니다. 혼용해서 사용하고 있죠. 뭐 의미는 통하기 때문에 문제는 없습니다 ㅎㅎ</p><p><strong>소모한 가스의 양(Usage by Txn)</strong> 은 네이티브 토큰 전송의 경우 21,000으로 고정이고, 이 값은 최소값입니다. 만약 컨트랙트에 있는 함수를 실행시킨다면 코드에 따라 더 많이 나오게 될 것 입니다.</p><p>예를들어, 컨트랙트에 데이터를 저장하고 읽는 활동이 많을수록 사용되는 가스는 늘어납니다. 함수를 실행하고 돌리는 것 또한 노드가 참여해서 컴퓨팅 파워를 사용하는 것이니 복잡한 로직일수록 더 많은 가스를 소모하게 하는 것이 상식적입니다.</p><p>그런데, <strong>Usage by Txn</strong> 왼쪽에 있는 <strong>Gas Limit</strong> 은 무엇일까요?</p><p>이 값은 유저가 허락한 최대 가스 사용량입니다. “이 값 이상으로는 가스를 소모하지 않겠다.” 라는 뜻이죠. 같은 컨트랙트 같은 함수를 돌리더라도 여러 요인으로 인해 가스 소모량은 약간씩 다를 수 있습니다. 물론 크게 차이나지 않지만 약간씩은 다르죠. 그렇기 때문에 트랜잭션 전송시에는 예상 가스 소모량에 약간의 여유를 둬서 유저에게 허락(서명)을 받게 됩니다. 트랜잭션을 보내기 직전에 메타마스크에서 수수료를 얼마 지불하게 될지 보여주는데요. 이 값은 Gas Limit을 기준으로 보여주는 트랜잭션 수수료입니다.</p><p>눈썰미가 좋은 분들은 매번 내가 서명할 때, 본 값 보다 더 적게 빠져나간다는 것을 눈치 채셨을겁니다.</p><p>“내가 승인한 최대 가스 / 실제 사용한 가스” 이렇게 보시면 되겠습니다.</p><p>Gas Limit이 없다면 컨트랙트 코드에 따라 쓰는 족족 나간다는 뜻이고, 자칫 잘못하면 무한 반복코드를 만들어서 누군가의 지갑에 있는 이더리움을 다 써버릴 수도 있겠죠? 정글 같은 블록체인 세상에서 없어선 안 될 친구입니다.</p><p>여기까지는 가스를 얼마나 사용하는지, “양”에 대한 내용이었습니다.</p><p>다음은 가스 “가격”에 대한 내용입니다.</p><p>거의 다 왔습니다! 🥳</p><h2 id="h-gas-fee" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Gas fee</h2><p><strong>네트워크 가스 비용</strong>은 보통 Gwei(기위)라는 이름으로 자주 언급되는데요. 1가스당 지불하는 비용입니다.<code>1 Gwei</code> 는 곧 <code>10^9 wei</code> 입니다. 네 우리가 아는 Giga 단위의 G가 맞습니다.<code>wei</code> 단위는 이더리움의 가장 최소 단위입니다. <code>1 ether</code> 는 <code>10^18 wei</code> 가 되는 것이죠.만약 현재 가스비가 <code>10 Gwei</code> 라면, 1 가스당 <code>10*10^-9 ether</code> 를 지불한다고 보시면 됩니다.이더리움 전송이라면 소모하는 가스의 양은 21,000으로 고정이므로,<code>21,000 x 10*10^-9 = 0.00021 ether</code> 를 트랜잭션 수수료로 지불하게 됩니다.</p><p>이제 위 이더스캔 스크린샷을 다시 보면 훨씬 이해가 잘 되실겁니다. 실제로 소모한 가스의 양은 <code>270,509</code> 이고, 적용된 가스비는 <code>1.491 Gwei</code> 정도가 됩니다.이 두 값의 곱인 <code>0.000403 ether</code> 를 Transaction Fee로 지불하게 된 것이죠.</p><p>Gas fee는 알겠는데 가장 아랫줄,</p><p><strong>Base fee</strong>, <strong>Priority fee</strong>, <strong>Max fee</strong> 이런 값들은 대체 뭔가요?</p><p><strong>Base fee</strong>는 네트워크 상황에 맞춰서 자동 조정되는 값 입니다. 현재 네트워크 사용량이 많다면 이 값은 올라가게 됩니다.</p><p><strong>Priority fee</strong>는 일종의 보너스 입니다. 내가 보너스를 줄테니 내 트랜잭션을 먼저 컨펌(블록에 포함)시켜 달라 하는 것이죠. 당연히 이 값이 높을수록 더 빨리 반영됩니다.</p><p><strong>Max fee</strong>는 내가 지불할 의향이 있는 최대 가스 비용입니다. 나는 트랜잭션을 보낼 때 base 10으로 확인하고 우선 수수료 5 정도를 얹어서 총합 15정도의 가스 가격을 생각했는데, 네트워크가 혼잡해져서 base가 50으로 상승했다면 내가 생각했던 수준보다 훨씬 비싼 수수료를 지불할 수 밖에 없을 것 입니다. Max fee 한도는 이럴 때 중요하죠. Max fee 보다 높은 가스 가격을 지불해야 하는 상황이라면 트랜잭션은 Fail 합니다.</p><p>따라서 트랜잭션을 생성할 때, <code>Max fee &gt;= Base fee + Priority fee</code> 가 되어야 합니다.</p><p>Base fee는 자동으로 조정되는 값이고, Max fee는 한도에 대한 내용이니 최악의 경우가 ‘트랜잭션 실패’ 정도지만 Priority fee는 좀 다릅니다. 이 값은 말 그대로 보너스이기 때문에 내가 넣는 값으로 그대로 지불됩니다. 자릿수를 실수하면 예상하지 못한 큰 지출이 생길 수 있습니다.</p><p>물론, 요즘은 라이브러리가 잘 나와서 이런 실수는 할 일이 없으니 크게 걱정은 안 하셔도 되고, 대부분의 dApp 에서 트랜잭션 가스비 조정은 유저(브라우저 지갑)에게 넘기기 때문에 서비스 구현 단계에서 고민 할 내용은 아닙니다. (메타마스크 트랜잭션 보낼때 가스비 “빠름”, “중간”, “느림” 선택하는게 바로 이 priority 부분이라고 보시면 됩니다)</p><p>현재 Ethereum testnet (Sepolia) 의 네트워크 가스 사용량은 아래와 같네요.</p><p>가이드 라인이라고 봐주시면 됩니다.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/18130e690d1db381ca60ad54645d5db92fe089039fb174ee7bf306eec79eabca.png" alt="참고) Ethereum Sepolia 가스비" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">참고) Ethereum Sepolia 가스비</figcaption></figure><hr><p>이쯤되면 여러분은 이제 가스에 대한 기본적인 부분은 다 알게되신 겁니다.이더스캔도 더 익숙해지셨죠?</p><p>다음 글에서는 실제로 코드에서 가스비를 만져보겠습니다.</p><ul><li><p>Raw transaction 으로 직접 가스비 건드려보기</p></li><li><p>각종 라이브러리 사용 예시를 보면서 편안함 느끼기</p></li></ul><p>크게 이렇게 두 파트로 생각하고 있는데요. 뭐 쓰다 보면서 바뀔 수는 있습니다.</p><p>끝 :)</p>]]></content:encoded>
            <author>0xgwhy@newsletter.paragraph.com (gWhy)</author>
        </item>
    </channel>
</rss>