본문으로 건너뛰기
글로벌 시각으로 보는 디지털 자산글로벌 시각 · 지역별 맥락
ChainView BTC866CHAIN VIEW
배우기

실패한 거래에도 수수료가 드는 이유

접수 실패와 체인 실행 되돌림을 나누고 영수증에서 실제 변화를 확인합니다.

읽기 언어한국어简体中文繁體中文EnglishРусскийالعربيةEspañol (México)Tiếng Việtไทย
실패한 거래에도 수수료가 드는 이유

주제별 원본 삽화: ChainView BTC866 주제별 원본 도해 · ChainView BTC866 Editorial · CC BY 4.0

실패라는 말의 여러 단계

지갑이 요청을 만들지 못한 경우와 노드가 거부한 경우, 체인에 포함된 뒤 실행이 되돌려진 경우는 다릅니다. 먼저 거래 해시가 있는지와 올바른 네트워크에서 조회되는지 확인하세요. 앱 화면의 오류 문구만으로 자산이 전혀 움직이지 않았다고 확정하면 안 됩니다. 요청 시간 초과 뒤 실제 거래가 나중에 포함될 수도 있습니다. 같은 동작을 반복하기 전에 계정의 대기 거래와 최종 영수증을 확인해야 합니다.

되돌림과 가스 사용

이더리움에서 계약 실행이 되돌려지면 일반적으로 그 실행의 상태 변경은 취소되지만 계산에 사용한 가스 비용은 지불할 수 있습니다. 실행을 시도한 검증 자원이 이미 사용됐기 때문입니다. 수수료 상한 전체가 항상 실제 비용은 아니므로 가스 사용량과 실제 적용 단가를 대조하세요. 다른 체인의 비용 규칙까지 동일하다고 일반화하지 않습니다. 자산 전송 실패와 네트워크 비용 차감을 다른 항목으로 기록하는 것이 정확합니다.

흔한 원인과 근거

잔고와 토큰 승인 부족, 기한 만료와 최소 수령 조건, 계약의 일시 정지와 잘못된 입력이 실패 원인이 될 수 있습니다. 가스 한도를 올리면 모든 되돌림이 해결되는 것은 아닙니다. 계약이 의도적으로 거부한 조건을 먼저 읽어야 합니다. 탐색기의 오류 설명과 공식 문서, 원래 요청 내용을 대조하되 알 수 없는 호출 데이터를 임의로 수정해 다시 서명하지 마세요. 토큰 자체의 전송 제한도 가능한 원인입니다.

여러 거래로 이루어진 작업

교환 전에 승인 거래를 별도로 보냈다면 교환이 실패해도 먼저 확정된 승인은 남을 수 있습니다. 브리지와 복잡한 앱도 여러 단계가 서로 다른 거래로 진행될 수 있습니다. 한 화면에서 실패라고 표시됐다고 전체 과정이 원상 복구됐다고 가정하지 마세요. 각 단계의 해시와 잔고, 승인 상태를 따로 확인하고 아직 필요한 권한인지 점검합니다. 중계된 작업은 사용자 작업 식별자와 실제 체인 거래를 연결해야 합니다.

재시도 전 점검

현재 상태와 최소 수령 조건, 수수료 견적을 다시 읽고 첫 요청이 이미 성공했는지 확인합니다. 원인과 입력을 이해한 뒤 필요한 경우 작은 금액으로 시험하세요. 지원에 문의할 때 체인과 해시, 오류 코드와 시각을 제공하되 개인 키와 복구 문구는 보내지 않습니다. 실패 거래도 회계와 문제 분석에 필요한 기록이므로 삭제하지 않습니다. 실패 비용과 남은 권한을 이해하는 것이 무작정 다시 누르는 것보다 도움이 됩니다.

직접 확인하는 연습

승인 거래는 성공하고 교환은 실패한 예시에서 토큰 잔고와 가스 잔고, 지출자 한도를 각각 조회해 보세요. 한 화면의 상태만으로 전체 권한과 비용을 판단하지 않는 습관을 기를 수 있습니다.

자료 출처

  1. Ethereum transactions (새 탭에서 열림)
  2. Solidity revert (새 탭에서 열림)