스테이블어닝 가이드

이더리움 가스비, 전송 실패했는데 왜 ETH는 빠졌을까

페이지 정보

작성자 스테이블어닝 리서치
작성일

본문

이더리움 지갑에서 거래가 failed나 reverted로 끝났는데 ETH 잔고가 조금 줄어 있으면, 토큰은 안 갔는데 수수료만 사라진 것처럼 느껴집니다. 하지만 온체인 거래에서는 "원하던 결과가 만들어졌는가"와 "그 결과를 확인하기 위해 네트워크가 계산을 했는가"가 같은 말이 아닙니다.


이더리움 거래가 실패해도 네트워크 계산 과정에서 가스비가 소모되는 모습을 보여 주는 이미지

실패와 무효는 다르다

지갑 화면의 실패 표시는 보통 토큰 전송, 스왑, 승인 같은 요청이 원하는 상태 변화까지 가지 못했다는 뜻입니다. 예를 들어 스왑 조건이 맞지 않거나 컨트랙트가 거래를 되돌리면, 토큰 잔액은 바뀌지 않을 수 있습니다. 이 부분만 보면 아무 일도 일어나지 않은 것처럼 보입니다.

그런데 거래가 블록에 들어갔다면 네트워크는 이미 그 요청을 읽고, 조건을 검사하고, 어디서 멈췄는지까지 실행했습니다. 실패한 결과도 블록체인에는 하나의 처리 기록으로 남습니다. 그래서 "토큰은 이동하지 않았다"와 "수수료도 전혀 없어야 한다"를 바로 연결하면 화면이 더 헷갈립니다.

Ethereum.org의 gas 설명은 gas를 Ethereum에서 계산 작업에 필요한 단위로 설명합니다. 거래 수수료는 이 계산에 들어간 gas와 fee 조건으로 정해집니다. 실패 거래에서도 계산이 이미 쓰였다면 gas used가 남을 수 있습니다.

가스비는 결과값이 아니라 계산값

gas fee는 거래소 출금 수수료처럼 별도 서비스가 붙여 받는 고정 요금만은 아닙니다. Ethereum에서는 거래를 처리하려는 사람이 네트워크 계산 자원을 쓰기 위해 내는 비용에 가깝습니다. 송금, 토큰 승인, 스왑, NFT 민팅처럼 하는 일의 종류가 다르면 필요한 계산량도 달라질 수 있습니다.

그래서 전송 결과가 실패로 끝나도, 검증자는 그 거래를 블록에 포함하고 실행해 봐야 실패인지 알 수 있습니다. MetaMask의 실패 거래 가스비 설명도 실패 여부와 관계없이 계산이 수행되면 gas fee가 들 수 있고, 이 비용은 MetaMask가 받는 수수료가 아니라 네트워크 처리 비용이라고 안내합니다.

이 차이를 알면 지갑의 failed 표시를 조금 다르게 보게 됩니다. 실패 표시는 "내가 바라던 토큰 이동이 완료되지 않았다"는 쪽에 가깝고, ETH 차감은 "그 요청을 블록에서 실행해 확인하는 데 비용이 들었다"는 쪽에 가깝습니다.

out of gas가 남기는 흔적


거래 요청, 네트워크 계산, 실패 기록, 가스비 반영으로 이어지는 실패 거래 가스비 흐름 인포그래픽

실패 사유 중에서 자주 보이는 말이 out of gas입니다. 이 말은 ETH가 전혀 없었다는 뜻과 다릅니다. 더 정확히는 그 거래에 허용한 gas limit 안에서 필요한 실행을 끝내지 못했다는 뜻에 가깝습니다. 지갑이 예상한 계산량보다 컨트랙트 실행이 더 복잡했거나, 거래 조건이 바뀌면서 중간에 멈췄을 수 있습니다.

Etherscan의 실패 거래 안내도 Out of Gas와 Reverted 같은 사유를 나눠 설명합니다. Out of Gas는 정해 둔 gas limit이 실행에 부족했던 경우이고, Reverted는 컨트랙트 규칙이나 조건 때문에 거래가 되돌려진 경우로 볼 수 있습니다.

여기서 중요한 것은 gas limit와 실제 수수료를 섞어 읽지 않는 것입니다. gas limit는 내가 최대 어디까지 계산 비용을 허용할지에 가까운 상한이고, 실제 빠지는 금액은 실행에 사용된 gas와 당시 fee 조건에 따라 달라집니다. 실패 거래가 gas limit 전체를 꼭 다 쓰는 것도 아니지만, out of gas처럼 한도까지 실행하다 멈춘 경우에는 체감 비용이 더 크게 보일 수 있습니다.

스왑 실패와 승인 실패

가스비 실패 거래는 단순 ETH 전송보다 컨트랙트와 만날 때 더 자주 헷갈립니다. 스왑에서는 가격이 빠르게 움직여 최소 수령 수량 조건을 맞추지 못할 수 있고, 토큰 승인에서는 이미 바뀐 권한 상태나 컨트랙트 조건 때문에 거래가 되돌아갈 수 있습니다. 화면에는 둘 다 실패처럼 보이지만, 실제 이유는 다를 수 있습니다.

특히 토큰 승인 거래는 토큰을 보내는 거래가 아닙니다. 지갑이 어떤 컨트랙트에 토큰 사용 권한을 줄지 기록하는 별도 거래입니다. 그래서 승인 거래가 실패하면 토큰 이동은 없어도 gas fee는 남을 수 있습니다. 승인과 연결 해제가 헷갈린다면 토큰 승인 취소처럼 권한 기록 자체를 따로 보는 글과 함께 분리해 읽는 편이 좋습니다.

거래소에서 코인을 빼낼 때 보이는 코인 출금 수수료와도 결이 다릅니다. 거래소 출금 화면의 수수료는 거래소가 정한 출금 처리 조건과 네트워크 비용을 함께 반영할 수 있지만, 개인 지갑의 실패 거래 gas fee는 이미 블록에 올라간 실행 비용을 먼저 봐야 합니다.

다음 거래 전에 볼 줄

실패 거래를 다시 보내기 전에는 지갑의 빨간 표시만 보고 같은 버튼을 바로 누르지 않는 편이 좋습니다. explorer에서 몇 줄만 나눠 보면 다시 실패할 거래인지, 조건만 바꾸면 되는 거래인지가 조금 더 선명해집니다.

  • status가 failed, reverted, out of gas 중 어디에 가까운지 봅니다.
  • token transfer 항목이 실제로 있었는지, 없었는지 확인합니다.
  • gas used가 얼마나 남았는지 보고 계산이 어디까지 실행됐는지 가늠합니다.
  • 같은 컨트랙트의 최근 성공 거래와 gas limit 차이가 큰지 봅니다.
  • 스왑이라면 최소 수령 수량, 슬리피지, 유동성 조건이 바뀌었는지 확인합니다.

이미 TXID가 있고 블록에 포함된 거래라면 사용자가 지갑에서 단순히 되돌리기 어렵습니다. 이 지점은 코인 출금 취소 TXID에서 다룬 것처럼, 전송 전 단계와 블록체인 처리 단계가 다르기 때문입니다.

이더리움 가스비는 실패한 거래를 벌주는 비용이라기보다, 실패인지 성공인지 확인하는 실행 자체에 붙는 비용입니다. 그래서 다음에 같은 화면을 보면 "왜 실패했는데 돈이 빠졌지"에서 멈추기보다, "토큰 이동은 없었고, 네트워크 계산 비용만 남았구나"라고 먼저 나눠 보는 편이 좋습니다. 그 다음에야 gas limit, 슬리피지, 컨트랙트 조건 중 무엇을 바꿔야 할지 판단할 수 있습니다.

위험 고지

StableEarning의 글과 데이터는 스테이블코인 금리, 스테이킹, RWA 수익률, 거래소 이용 정보를 이해하기 위한 참고 자료입니다. 수익률, 수수료, 입출금, 상품 제공 여부는 거래소와 발행사 정책, 네트워크 상태, 거주지와 계정 조건에 따라 달라질 수 있으며 원금 손실, 가격 변동, 출금 지연, 스마트컨트랙트와 커스터디 위험이 있을 수 있습니다. 이 글은 정보 제공용이며 특정 자산 매수, 예치, 스테이킹, 전송, 투자 실행을 권유하지 않습니다. 실제 실행 전에는 공식 공지와 본인 계정 조건을 다시 확인해야 합니다.

작성자: 스테이블어닝 리서치

디지털자산 데이터 리서치 에디터 · 스테이블코인 금리, 스테이킹, RWA 수익률, 거래소 이용 정보를 공식 자료와 데이터 기준으로 정리합니다.

문의: ng6558@gmail.com · 프로필 보기

"수익률 숫자보다 출처, 조건, 적용 범위를 먼저 확인합니다."

함께 확인할 기준

댓글 0
홈으로 전체메뉴 마이메뉴 새글/새댓글
전체 검색
회원가입