가스비와 트랜잭션 수수료

블록체인 트랜잭션에 왜 수수료가 드는지, 이더리움의 가스는 어떻게 작동하는지, gwei와 소각되는 기본 수수료는 무엇인지, 비트코인 수수료는 어떻게 정해지는지 설명합니다.

3 분 · 613 단어업데이트: #기초#수수료#가스비#이더리움

퍼블릭 블록체인에서는 거의 모든 작업에 소액의 수수료가 붙습니다. 코인을 보내는 것도, 토큰을 교환하는 것도, NFT를 발행(민팅)하는 것도 모두 트랜잭션이며, 네트워크가 이를 처리하려면 누군가 비용을 내야 합니다. 이더리움과 비슷한 네트워크에서는 이 수수료를 **가스(gas)**라는 단위로 표현합니다. 비트코인에서는 그냥 트랜잭션 수수료라고 부릅니다. 이 글에서는 수수료가 왜 존재하고 어떻게 계산되는지 설명합니다.

블록체인이 수수료를 받는 이유

수수료는 두 가지 문제를 한꺼번에 해결합니다.

  • 보안에 대한 대가: 채굴자나 검증인은 네트워크를 유지하기 위해 실제 작업을 수행하며, 수수료는 그 보상의 일부입니다.
  • 스팸 방지: 블록 하나에 담을 수 있는 공간은 한정돼 있습니다. 트랜잭션이 공짜라면 누구나 쓸모없는 데이터로 네트워크를 가득 채울 수 있을 것입니다. 수수료는 그런 행위에 비용을 물리고, 수요가 몰릴 때 어떤 트랜잭션을 먼저 처리할지 네트워크가 정할 수 있게 해 줍니다.

블록 공간이 한정돼 있기 때문에 수수료는 시장처럼 움직입니다. 많은 사람이 동시에 트랜잭션을 보내려 하면 공간을 두고 경쟁이 벌어져 수수료가 오릅니다. 네트워크가 한산하면 수수료는 내려갑니다.

이더리움의 가스

이더리움에서는 트랜잭션이 수행하는 모든 연산에 가스 단위로 측정되는 고정 비용이 있습니다. 단순한 이더 전송에는 정해진 소량의 가스만 듭니다. 탈중앙화 거래소에서 토큰을 교환하는 것처럼 스마트 컨트랙트와 상호작용할 때는 네트워크가 더 많은 연산을 하고 더 많은 데이터를 저장해야 하므로 보통 가스가 더 많이 듭니다.

두 가지 개념을 나눠서 보면 이해가 쉽습니다.

  • 가스 사용량: 트랜잭션에 필요한 작업량입니다. 트랜잭션이 무엇을 하느냐에 따라 달라집니다.
  • 가스 가격: 가스 한 단위당 내는 금액입니다. 네트워크가 얼마나 붐비느냐에 따라 달라집니다.

총수수료는 대략 가스 사용량에 가스 가격을 곱한 값입니다.

gwei란

가스 가격은 이더의 작은 단위인 **gwei(기웨이)**로 표시합니다. gwei는 이더의 십억분의 일, 즉 10^-9 ETH에 해당합니다. gwei를 쓰면 가격을 소수점 아래 자릿수가 긴 숫자로 적지 않아도 됩니다.

가스 한도

트랜잭션을 보낼 때 지갑은 가스 한도를 설정합니다. 해당 트랜잭션이 쓸 수 있도록 허용하는 가스의 최대량입니다. 트랜잭션에 그보다 많은 가스가 필요하면 트랜잭션은 실패합니다. 다만 네트워크가 이미 작업을 수행했으므로, 그때까지 소비된 가스 비용은 그대로 내야 합니다. 지갑은 보통 적절한 한도를 자동으로 추정해 줍니다.

EIP-1559: 기본 수수료와 우선순위 수수료

2021년 8월 런던 업그레이드로 EIP-1559가 도입되면서 이더리움의 수수료 구조가 바뀌었습니다. 그 뒤로 가스 단위당 수수료는 두 부분으로 나뉩니다.

  • 기본 수수료(base fee): 프로토콜이 블록마다 정하며, 블록 사용량이 목표치보다 많으면 오르고 적으면 내려갑니다. 기본 수수료는 소각됩니다. 누구에게 지급되는 것이 아니라 유통량에서 영구히 사라진다는 뜻입니다.
  • 우선순위 수수료(priority fee): 흔히 팁이라고 부릅니다. 내 트랜잭션을 더 빨리 블록에 넣어 달라는 뜻으로 검증인에게 추가로 내는 금액입니다.

이용자는 가스 한 단위당 지불할 용의가 있는 최고 금액인 **최대 수수료(max fee)**도 정합니다. 기본 수수료와 팁을 합친 금액이 이보다 낮으면 차액은 청구되지 않습니다. 이 구조 덕분에 지갑이 수수료를 추정하기가 더 쉬워졌지만, 수요가 몰릴 때 수수료 자체가 저렴해지는 것은 아닙니다.

비트코인의 수수료

비트코인은 가스를 쓰지 않습니다. 비트코인 트랜잭션 수수료는 보내는 비트코인의 양이 아니라 주로 트랜잭션의 데이터 크기에 따라 달라집니다. 작은 입력(input)을 여러 개 쓰는 트랜잭션은 금액이 같더라도 입력이 하나인 트랜잭션보다 공간을 더 차지하고 수수료도 더 많이 듭니다. 수수료는 보통 sat/vB, 즉 가상 바이트당 사토시로 표시합니다.

채굴자는 어떤 트랜잭션을 블록에 넣을지 직접 고르며, 일반적으로 바이트당 수수료를 더 많이 내는 트랜잭션을 선호합니다. 컨펌(확인)을 기다리는 트랜잭션은 멤풀이라는 대기열에 머뭅니다. 붐비는 시기에 수수료를 너무 적게 내면 트랜잭션이 오랫동안 대기할 수 있습니다.

비트코인 수수료는 해당 트랜잭션을 블록에 넣은 채굴자에게 돌아갑니다. 반감기마다 블록 보조금이 줄어드는 만큼, 수수료는 채굴자 수입에서 점점 더 중요한 부분이 될 것으로 예상됩니다.

수수료가 크게 변하는 이유

  • 수요: 주목받는 이벤트, 시장 변동성, 새 토큰 출시 등은 블록을 순식간에 채울 수 있습니다.
  • 트랜잭션 유형: 이더리움에서 복잡한 컨트랙트 호출은 단순 송금보다 가스를 더 많이 씁니다.
  • 네트워크 선택: 블록체인마다 처리 용량과 수수료 규칙이 다릅니다.

수수료를 줄이는 방법

  • 네트워크가 덜 붐빌 때 트랜잭션 보내기
  • 여러 트랜잭션을 묶어 메인 체인에 한꺼번에 기록하는 레이어 2 네트워크 이용하기
  • 비트코인에서는 수수료가 낮을 때 자잘한 입력들을 미리 하나로 합쳐 두기

거래소 수수료는 별개의 이야기입니다. 중앙화 거래소는 자체적인 거래 수수료와 출금 수수료를 받는데, 이는 블록체인이 아니라 회사가 정합니다.

핵심 정리

  • 수수료는 네트워크 보안 비용을 치르고 스팸을 막아 줍니다.
  • 이더리움에서 수수료는 가스 사용량에 가스 가격을 곱한 값이며, gwei 단위로 표시합니다.
  • EIP-1559 이후 기본 수수료는 소각되고, 팁은 검증인에게 돌아갑니다.
  • 비트코인 수수료는 보내는 금액이 아니라 트랜잭션 크기에 따라 달라집니다.