ERC-20

용어심층

Ethereum Request for Comment 20 · EIP-20

ERC-20은 이더리움 네트워크 위에서 발행되는 대체 가능한 토큰이 갖추어야 할 공통 규칙을 정의한 기술 표준이다. 통일된 인터페이스 덕분에 거래소·지갑·디앱이 개별 토큰마다 별도 코드를 만들지 않고도 수많은 토큰을 지원할 수 있게 한 사실상의 토큰 발행 표준이다.

1.개요

ERC-20은 이더리움 네트워크 위에서 발행되는 토큰이 갖추어야 할 공통 규칙을 정의한 기술 표준이다. 이름은 'Ethereum Request for Comment'의 20번째 제안이라는 의미에서 붙었으며, 2015년에 처음 제안되어 이후 이더리움의 공식 표준인 EIP-20으로 채택되었다.

ERC-20은 스마트 컨트랙트 형태로 구현되며, 모든 ERC-20 토큰이 동일한 방식으로 작동하도록 몇 가지 필수 함수와 이벤트를 정한다. 이러한 인터페이스가 통일되어 있기 때문에, 거래소와 지갑 같은 서비스가 개별 토큰마다 별도의 코드를 만들지 않고도 수많은 토큰을 손쉽게 지원할 수 있다.

오늘날 이더리움 위에서 오가는 대다수의 알트코인스테이블코인이 이 규격을 따르며, ERC-20은 토큰 발행의 사실상 표준으로 자리 잡았다. '규격을 지킨 토큰은 어디서나 똑같이 다뤄진다'는 단순한 원칙이 이더리움 토큰 생태계 전체가 빠르게 커질 수 있었던 밑바탕이 되었다.

2.등장 배경

ERC-20이 나오기 전에도 이더리움 위에서 토큰을 만드는 것은 가능했지만, 프로젝트마다 함수 이름과 동작 방식이 제각각이었다. 그러면 어떤 토큰이 새로 나올 때마다 거래소와 지갑이 그 토큰만을 위한 코드를 따로 작성해야 했고, 이는 새로운 토큰의 확산을 가로막는 걸림돌이었다.

ERC-20은 이 문제를 '공통 규칙'으로 풀었다. 토큰이 반드시 제공해야 할 함수와 이벤트의 이름·형식을 못 박아 두면, 서비스 쪽은 그 규칙 하나만 구현해 두고 규격을 지키는 모든 토큰을 일괄 지원할 수 있다. 이렇게 상호운용성을 표준으로 보장한 점이 ERC-20의 핵심 기여이며, 2017년 전후 암호화폐 공개 붐 때 수많은 프로젝트가 별다른 고민 없이 이 규격을 채택한 배경이기도 하다.

3.작동 원리 — 필수 함수와 이벤트

ERC-20 표준은 토큰 컨트랙트가 갖추어야 할 함수와 이벤트를 규정한다. 대표적인 필수 함수는 다음과 같다.

  • totalSupply — 토큰의 총 발행량을 확인한다.
  • balanceOf — 특정 주소가 보유한 잔액을 조회한다.
  • transfer — 보유자가 다른 주소로 토큰을 직접 보낸다.
  • approve — 제3자(다른 주소나 컨트랙트)에게 자신의 토큰을 대신 사용할 권한을 위임한다.
  • transferFrom — 위임받은 쪽이 승인된 한도 안에서 토큰을 옮긴다.
  • allowance — 특정 주소에 위임된 사용 가능 한도를 조회한다.

또한 상태 변화를 외부에 알리기 위한 두 가지 이벤트가 정의된다. 토큰이 이동할 때 발생하는 Transfer와, 사용 권한이 위임될 때 발생하는 Approval이다. 지갑이나 블록 익스플로러는 이 이벤트를 읽어 거래 내역을 추적한다.

approvetransferFrom의 두 단계 구조는 탈중앙화 거래소탈중앙화 금융 프로토콜이 사용자를 대신해 토큰을 옮길 수 있게 하는 핵심 장치다. 사용자는 먼저 프로토콜 컨트랙트에 사용 한도를 승인해 두고, 실제 거래는 컨트랙트가 그 한도 안에서 실행한다.

4.기술 구조

ERC-20 토큰은 자체 블록체인을 갖지 않으며, 이더리움 메인넷 위에서 이더리움 가상머신이 실행하는 스마트 컨트랙트로 존재한다. 컨트랙트는 주로 솔리디티 언어로 작성되며, 어떤 주소가 토큰을 얼마나 갖고 있는지는 컨트랙트 내부의 장부(주소→잔액의 대응표)에 기록된다.

따라서 ERC-20 토큰을 주고받거나 발행할 때에도 이더리움 네트워크 사용료인 가스를 이더(ETH)로 지불해야 한다. 토큰 자체로는 수수료를 낼 수 없고, 지갑에 소액의 ETH가 없으면 토큰이 있어도 전송이 불가능하다는 점은 초보 사용자가 자주 혼란을 겪는 지점이다. 네트워크가 혼잡할 때는 그웨이 단위로 매겨지는 가스 가격이 올라 전송 비용이 커진다.

필수 항목 외에 토큰 이름(name), 심볼(symbol), 소수점 자릿수(decimals) 같은 선택적 정보도 관례적으로 함께 정의된다. 대부분의 ERC-20 토큰은 이더와 마찬가지로 18자리 소수점을 사용해, 표시상 1개의 토큰이 내부적으로는 매우 작은 최소 단위로 쪼개져 다뤄진다.

5.대체 가능성

ERC-20은 '대체 가능한(fungible)' 토큰을 위한 표준이라는 점이 특징이다. 즉 같은 종류의 토큰 1개는 다른 1개와 완전히 동일한 가치를 지니며 서로 구별되지 않는다. 지폐 한 장을 같은 액면의 다른 지폐로 바꿔도 아무 차이가 없는 것과 같은 성질이다.

이는 각 토큰이 고유한 식별자와 성질을 갖는 대체 불가능 토큰(NFT) 표준과 구분되는 지점이다. 이더리움에서 NFT는 ERC-721 같은 별도 표준으로 다뤄지며, 여기서는 토큰 하나하나가 서로 다른 개체로 취급된다. 결국 ERC-20과 ERC-721은 '똑같아서 뭉쳐 다룰 수 있는 것'과 '저마다 달라서 하나씩 다뤄야 하는 것'이라는, 목적이 다른 두 갈래의 표준인 셈이다.

6.생태계와 활용

ERC-20은 이더리움 생태계에서 가장 널리 쓰이는 토큰 표준으로, 대다수의 알트코인스테이블코인이 이 규격을 따른다. 예를 들어 USDT, USDC와 같은 주요 스테이블코인 상당수가 ERC-20 토큰으로 발행되어 있다.

2017년 전후로 암호화폐 공개 붐이 일었을 때 대부분의 프로젝트가 ERC-20 규격으로 토큰을 발행한 것도 이 표준의 확산에 크게 기여했다. 표준화된 인터페이스 덕분에 이렇게 만들어진 토큰들은 탈중앙화 거래소를 비롯한 다양한 서비스에서 자연스럽게 거래될 수 있다.

활용 범위는 이후 훨씬 넓어졌다. 대표적인 예는 다음과 같다.

  • 탈중앙화 금융에이브 같은 대출 프로토콜이나 탈중앙화 거래소의 유동성 풀은 ERC-20 토큰을 담보·교환·예치 대상으로 삼는다.
  • 스테이블코인·결제 — 법정화폐 가치를 추종하는 토큰이 ERC-20으로 발행되어 송금·정산 수단으로 쓰인다.
  • 거버넌스·유틸리티 — 프로토콜의 의사결정 투표권이나 서비스 이용권을 나타내는 토큰도 ERC-20으로 만들어진다.
  • 에어드롭 — 프로젝트가 사용자에게 토큰을 배포할 때도 ERC-20의 표준 전송 방식을 그대로 활용한다.

7.확장 표준과 한계

ERC-20은 단순하고 견고하지만 몇 가지 구조적 한계도 지적된다.

  • 승인의 안전성 문제approve로 위임한 한도를 무제한으로 설정해 두는 관행이 퍼지면서, 악성 컨트랙트에 한도를 승인해 자산을 통째로 빼앗기는 사고가 반복되었다. 이 때문에 승인 한도를 주기적으로 점검·회수하도록 권장된다.
  • 토큰 유실 위험 — 표준 transfer는 받는 쪽에 별도의 통지 절차가 없어, 토큰을 다룰 준비가 안 된 컨트랙트 주소로 잘못 보내면 되돌릴 수 없이 묶여 버릴 수 있다.

이런 문제를 보완하려는 확장·후속 표준이 이어졌다. 예를 들어 서명만으로 승인을 처리해 별도의 승인 거래(가스 지불)를 줄여 주는 permit(EIP-2612) 방식이 도입되었고, 전송 시 수신자에게 통지를 보내는 방향의 개선 표준들도 제안되었다. 다만 이미 방대하게 자리 잡은 ERC-20 호환성을 유지하는 것이 중요하기 때문에, 새로운 표준들도 대개 ERC-20과의 하위 호환을 염두에 두고 설계된다.

8.다른 체인의 유사 표준

ERC-20의 성공은 다른 블록체인에도 큰 영향을 주었다. 여러 레이어 1 네트워크가 자체 환경에서 ERC-20과 사실상 동일한 함수·이벤트 구조를 가진 토큰 표준을 채택했다.

대표적으로 BNB 계열 체인의 BEP-20은 ERC-20의 인터페이스를 그대로 본떠 만들어져, 개발자가 익숙한 방식으로 토큰을 발행할 수 있게 한다. 이 밖에도 여러 체인이 유사한 규격을 두고 있어, 같은 프로젝트의 토큰이 이더리움에서는 ERC-20, 다른 체인에서는 그에 대응하는 표준으로 각각 발행되는 경우가 흔하다.

한편 비트코인 진영에서 등장한 BRC-20처럼, 이름은 ERC-20을 연상시키지만 기술적 기반과 작동 방식은 전혀 다른 표준도 있다. 이름의 유사성만으로 같은 계열로 오해하지 않도록 주의가 필요하다.

9.국내 상황

국내 이용자에게도 ERC-20은 가장 먼저 접하게 되는 토큰 형식이다. 국내 거래소에 상장된 이더리움 기반 토큰의 상당수가 ERC-20 규격이며, 지갑에서 토큰을 받거나 보낼 때 '네트워크는 이더리움(ERC-20)'을 선택하는 과정이 대표적이다. 같은 심볼의 토큰이라도 어떤 네트워크 표준으로 전송하는지 잘못 고르면 자산이 유실될 수 있어, 국내 거래소들도 입출금 시 네트워크 확인을 강조한다.

국내 여러 프로젝트도 초기 토큰을 ERC-20으로 발행한 뒤, 자체 메인넷을 출범하면서 토큰을 옮기는 메인넷 스왑 경로를 밟는 경우가 많았다. 이는 표준화된 ERC-20이 프로젝트 초기의 발행·유통 부담을 크게 덜어 주었기 때문에 나타난 공통된 패턴이다.

10.과제와 논란

ERC-20 자체는 안정적으로 검증된 표준이지만, 이를 둘러싼 환경에서는 몇 가지 과제가 계속 제기된다.

첫째는 비용과 확장성 문제다. ERC-20 토큰의 전송과 거래는 모두 이더리움 가스를 소모하므로, 네트워크가 혼잡할 때는 소액 전송에도 상당한 수수료가 든다. 이를 완화하기 위해 레이어 2 네트워크에서 ERC-20 토큰을 다루는 방식이 널리 쓰이게 되었다.

둘째는 발행의 자유가 낳는 부작용이다. 누구나 손쉽게 ERC-20 토큰을 만들 수 있다는 특성은 생태계를 빠르게 키운 원동력인 동시에, 실체 없는 토큰이나 사기성 프로젝트가 난립하는 배경이 되기도 했다. 표준을 지켰다는 사실은 토큰이 기술적으로 규격에 맞다는 것을 보장할 뿐, 그 프로젝트의 가치나 신뢰성을 보증해 주지는 않는다.

셋째는 앞서 언급한 승인(approve) 기반 피싱 등 이용자 보안 문제로, 지갑·서비스 차원의 경고와 승인 관리 도구가 계속 개선되고 있다.

11.연표6

  1. 2015설립파비안 포겔슈텔러가 'Ethereum Request for Comment'의 20번째 제안으로 ERC-20을 처음 제시
  2. 2015이정표이더리움 메인넷 가동으로 스마트 컨트랙트 기반 토큰 발행 환경이 마련됨
  3. 2017이정표암호화폐 공개(ICO) 붐으로 대다수 프로젝트가 ERC-20 규격으로 토큰을 발행
  4. 2017이정표공식 표준 EIP-20으로 확정되어 이더리움의 표준 목록에 편입
  5. 2018이정표대체 불가능 토큰 표준 ERC-721이 확정되며 ERC-20(대체 가능)과 구분되는 계열이 자리 잡음
  6. 2020이정표서명 기반 승인(permit)을 더한 EIP-2612 등 편의·안전성 확장 표준이 등장
이 문서 인용하기
토큰포스트 위키, “ERC-20”, 2026-07-31 수정, https://wiki.tokenpost.kr/w/erc20

문단 10개 · 연표 6건 · 각주 0