Skip to main content

ERC-20이란 무엇인가

참고: 이 문서는 영문 원본의 자동 번역본입니다.

ERC-20이란 무엇인가

ERC-20 은 Ethereum 블록체인에서 가장 널리 채택된 토큰 표준입니다. 이는 대체 가능 토큰(fungible token) 을 생성하기 위해 스마트 컨트랙트가 구현해야 하는 공통 인터페이스 — 함수와 이벤트의 집합 — 를 정의합니다. "대체 가능(fungible)"이란 모든 1달러 지폐가 다른 어떤 1달러 지폐와도 동등한 것처럼, 토큰의 모든 단위가 동일하고 상호 교환 가능하다는 의미입니다.

ERC는 Ethereum Request for Comments 의 약자이며, 20은 제안 번호입니다. 이 표준은 2015년에 제안되었고 Ethereum 및 EVM 호환 체인에서 토큰을 생성하는 사실상의 청사진이 되었습니다. 프로젝트가 자신의 토큰을 "ERC-20"이라고 말할 때, 이는 토큰 컨트랙트가 이 표준 인터페이스를 따른다는 의미이며, 이는 Ethereum 생태계 전반의 지갑, 탈중앙화 거래소, 포트폴리오 추적기, 그리고 기타 스마트 컨트랙트와의 호환성을 보장합니다.

한 줄 요약: ERC-20은 Ethereum에서 대체 가능 토큰이 작동하는 방식을 정의하는 기술 표준입니다 — 어떤 ERC-20 토큰이든 이 표준을 지원하는 모든 지갑이나 애플리케이션으로 보내고, 받고, 관리할 수 있도록 보장합니다.

ERC-20의 작동 방식

표준 인터페이스

핵심적으로 ERC-20은 모든 규격 준수 토큰 컨트랙트가 구현해야 하는 함수 집합을 명시합니다. 이 함수들은 외부 애플리케이션(지갑, 거래소, 다른 컨트랙트)이 토큰의 내부 로직에 대해 전혀 알 필요 없이 토큰과 상호작용하는 데 사용할 수 있는 공통 언어를 제공합니다.

핵심 함수는 다음과 같습니다:

함수 하는 일
totalSupply() 존재하는 토큰의 총 개수를 반환합니다
balanceOf(address) 특정 주소가 보유한 토큰 수를 반환합니다
transfer(to, amount) 호출자의 주소에서 다른 주소로 토큰을 보냅니다
approve(spender, amount) 다른 주소(스마트 컨트랙트 또는 사용자)가 호출자의 토큰을 지정된 양까지 지출하도록 승인합니다
transferFrom(from, to, amount) 사전 승인된 지출자가 토큰 소유자를 대신하여 토큰을 전송하도록 허용합니다
allowance(owner, spender) 지출자가 소유자를 대신하여 여전히 전송할 수 있는 토큰 수를 반환합니다

이 표준은 또한 토큰이 이동하거나 지출 권한이 변경될 때 발생하는 두 가지 이벤트 — Transfer 와 Approval — 를 정의합니다. 이 이벤트들은 외부 시스템(블록 익스플로러, 인덱서, 분석 도구)이 컨트랙트를 직접 쿼리하지 않고도 토큰 활동을 추적할 수 있게 합니다.

표준이 중요한 이유

ERC-20이 널리 채택되기 전에는 모든 토큰 프로젝트가 자체 맞춤 인터페이스를 만들었습니다. 이는 지갑, 거래소, 기타 애플리케이션이 각 새 토큰에 대해 맞춤 코드를 작성해야 함을 의미했습니다. ERC-20은 보편적 컨트랙트 인터페이스를 만들어 이 문제를 해결했습니다: ERC-20을 지원하는 모든 애플리케이션은 어제 만들어졌든 수년 전에 만들어졌든 모든 ERC-20 토큰을 자동으로 지원합니다.

이 조합 가능성(composability)은 Ethereum 생태계의 기반 중 하나입니다. 탈중앙화 거래소는 특정 토큰이 무엇을 나타내는지 또는 누가 만들었는지 알 필요가 없습니다 — 토큰이 ERC-20 인터페이스를 구현하기만 하면, 거래소는 그것을 상장하고, 거래하고, 그것으로 트랜잭션을 정산할 수 있습니다.

ERC-20 토큰 배포

ERC-20 토큰을 만드는 것은 필수 함수를 구현하는 스마트 컨트랙트를 Ethereum 네트워크(또는 EVM 호환 체인)에 배포하는 것을 포함합니다. 배포자는 토큰의 이름, 심볼, 소수점 정밀도, 초기 공급량을 지정합니다. 일단 배포되면 컨트랙트는 변경 불가능합니다 — 토큰의 핵심 인터페이스는 변경될 수 없지만, 일부 구현은 거버넌스 메커니즘을 통한 발행, 소각, 일시 중지 같은 추가 기능을 포함합니다.

ERC-20 토큰 배포의 낮은 기술적 장벽은 강점이자 위험입니다. 이는 빠른 혁신과 실험을 가능하게 하지만, 누구나 어떤 이름과 어떤 명시된 목적을 가진 토큰이든 만들 수 있다는 것도 의미합니다. ERC-20 토큰의 존재가 품질, 정당성, 또는 가치를 함의하지는 않습니다.

ERC-20과 EVM 호환 체인

ERC-20은 Ethereum을 위해 만들어졌지만, 이 표준은 모든 EVM 호환 블록체인에서 작동합니다. BNB Smart Chain, Polygon, Arbitrum One, Base, Avalanche 같은 체인은 모두 Ethereum Virtual Machine을 구현하기 때문에 ERC-20 토큰을 기본 지원합니다. 이러한 일부 체인에서는 표준이 다른 공식 명칭(예: BNB Smart Chain의 BEP-20)을 가질 수 있지만, 인터페이스는 기능적으로 동일합니다.

이는 프로젝트의 토큰이 Ethereum이 아닌 체인에 배포되어 있더라도 "ERC-20"으로 설명될 수 있음을 의미합니다. 표준은 기술 인터페이스이지 체인별 지정이 아닙니다. 중요한 것은 토큰 컨트랙트가 ERC-20 함수 집합을 구현하는지 여부이지, 어떤 네트워크에서 실행되는지가 아닙니다.

다른 토큰 유형과 비교한 ERC-20

차원 ERC-20 ERC-721 (NFT) ERC-1155 (멀티 토큰) 네이티브 토큰 (ETH, SOL)
대체 가능성 대체 가능(모든 단위 동일) 대체 불가능(각 토큰 고유) 대체 가능 및 대체 불가능 모두 대체 가능
배포 형태 스마트 컨트랙트 스마트 컨트랙트 스마트 컨트랙트 프로토콜에 내장
표준 인터페이스 transfer, approve, balanceOf ownerOf, safeTransferFrom 배치 연산 표준 컨트랙트 인터페이스 없음
사용 사례 통화, 유틸리티 토큰, 거버넌스 토큰 디지털 아트, 고유 자산, 신원 게임 아이템, 혼합 컬렉션 가스 수수료, 스테이킹, 기축 통화

ERC-20 토큰은 ETH 같은 네이티브 토큰과 구별됩니다. ETH는 Ethereum 프로토콜에 직접 내장되어 있고 스마트 컨트랙트 없이 존재하는 반면, ERC-20 토큰은 표준을 따르는 컨트랙트를 배포하여 만들어집니다. 둘 다 보유하고 전송할 수 있지만, 서로 다른 기술적 속성과 네트워크에서의 서로 다른 역할을 가집니다.

ERC-20의 한계와 확장

ERC-20은 가장 널리 사용되는 토큰 표준이지만, 확장과 개선으로 이어진 알려진 한계가 있습니다:

  • 수신 시 알림 없음. 토큰이 스마트 컨트랙트로 보내질 때, 수신 컨트랙트는 자동으로 반응할 방법이 없습니다. 이로 인해 ERC-20 전송을 처리하지 못하는 컨트랙트에 토큰이 영구적으로 잠기는 일이 발생했습니다. 이를 해결하기 위해 ERC-223 및 ERC-777 표준이 제안되었지만, ERC-20이 여전히 지배적입니다.
  • 2단계 승인 패턴. 다른 주소를 대신하여 토큰을 전송하려면 두 번의 트랜잭션이 필요합니다: 먼저 approve, 그다음 transferFrom. 이는 마찰과 가스 비용을 추가합니다. ERC-2612(Permit) 확장은 오프체인 서명을 통한 가스 없는 승인을 허용합니다.
  • 내장 메타데이터 없음. ERC-20 토큰은 이름과 심볼은 있지만 추가 메타데이터(설명, 아이콘, 문서 링크)를 포함하는 표준화된 방법이 없습니다. 확장과 오프체인 레지스트리가 이 공백을 메웁니다.

이러한 한계가 ERC-20의 실용적 유용성을 감소시키지는 않습니다. 표준의 단순성과 보편적 지원은 대다수 사용 사례에서 그 기술적 불완전성을 능가합니다.

ERC-20이 크립토 AI 프로젝트에 중요한 이유

Ethereum 또는 EVM 호환 체인에 토큰을 발행하는 대부분의 크립토 AI 프로젝트는 ERC-20 표준을 사용합니다. 토큰은 유틸리티 토큰(연산 비용 지불, AI 서비스 접근), 거버넌스 토큰(프로토콜 매개변수 투표), 또는 수수료 메커니즘(네트워크 사용 비용 지불) 역할을 할 수 있습니다. 의도된 역할이 무엇이든, ERC-20을 사용하면 토큰이 더 넓은 생태계와 호환됩니다: 사용자는 표준 지갑에 토큰을 보유하고, 탈중앙화 거래소에서 거래하며, 잘 알려진 인터페이스를 통해 상호작용할 수 있습니다.

크립토 AI 프로젝트를 평가하는 독자에게, 토큰이 ERC-20이라는 사실은 그 기술적 형식을 알려줄 뿐 — 유틸리티, 필요성, 또는 가치를 알려주지는 않습니다. 토큰 표준은 "토큰이 기술적으로 어떻게 작동하는가?"에 답하지만, "프로젝트가 왜 토큰이 필요한가?" 또는 "토큰이 실제로 AI 파이프라인에서 목적을 수행하는가?"에는 답하지 않습니다.

DecAIHub 프로젝트 카드에서 나타나는 위치

DecAIHub 프로젝트 카드에서 ERC-20은 Token standard 필드에 나타납니다. 카드가 Token standard: ERC-20을 보여줄 때, 이는 프로젝트의 토큰이 ERC-20 스마트 컨트랙트로 구현되었음을 의미합니다.

Token standard 필드는 순전히 서술적입니다: 독자에게 토큰의 기술적 형식을 알려줍니다. 이는 Token model 필드(토큰의 역할: 유틸리티, 거버넌스, 수수료 메커니즘을 설명)와 Main chain 필드(토큰이 어떤 네트워크에 배포되었는지 알려줌)와 함께 읽어야 합니다.

프로젝트는 여러 체인에 토큰을 가질 수 있습니다 — 예를 들어 Ethereum의 ERC-20 토큰과 Arbitrum 같은 L2의 브리지된 버전. Token standard 필드는 일반적으로 주요 배포를 반영합니다.

ERC-20만으로 증명되지 않는 것

  • ERC-20은 토큰 유틸리티를 증명하지 않습니다. 어떤 스마트 컨트랙트든 ERC-20 인터페이스를 구현할 수 있습니다. 표준은 토큰의 기술적 동작을 정의할 뿐, 그 경제적 역할이나 필요성을 정의하지 않습니다. 프로젝트는 자신의 AI나 애플리케이션 파이프라인에서 아무 목적도 수행하지 않는 ERC-20 토큰을 가질 수 있습니다.
  • ERC-20은 정당성을 증명하지 않습니다. ERC-20 토큰을 만들고 배포하는 데는 최소한의 기술적 노력과 비용이 필요합니다. 토큰의 존재는 그 배후의 프로젝트가 진짜이거나, 기능하거나, 신뢰할 수 있다는 증거가 아닙니다.
  • ERC-20은 프로젝트가 Ethereum에 있음을 증명하지 않습니다. ERC-20 토큰은 많은 EVM 호환 체인에 존재합니다. 토큰 표준은 토큰이 어떤 체인에 배포되었는지를 나타내지 않습니다 — 그 정보는 Main chain 필드를 확인하세요.
  • ERC-20은 AI 역량을 증명하지 않습니다. 토큰의 기술 표준은 프로젝트가 진짜 AI 구성 요소, 작동하는 추론, 또는 검증 가능한 모델을 가지고 있는지와 아무 연관이 없습니다.
  • ERC-20은 탈중앙화를 증명하지 않습니다. 토큰 컨트랙트 자체에 중앙화된 통제가 포함될 수 있습니다: 발행이나 소각을 위한 관리자 키, 일시 중지 함수, 단일 주소가 통제하는 업그레이드 프록시. 표준은 인터페이스를 정의할 뿐 거버넌스 모델을 정의하지 않습니다.

혼동하지 마세요

  • 토큰 표준 — 포괄 개념입니다. ERC-20은 하나의 특정 토큰 표준입니다. 다른 것으로는 ERC-721(NFT), ERC-1155(멀티 토큰), BEP-20(BNB Smart Chain), SPL(Solana), 그리고 네이티브 토큰이 있습니다.
  • 네이티브 토큰 — ETH는 프로토콜 자체에 내장된 Ethereum의 네이티브 토큰입니다. ERC-20 토큰은 프로토콜 위에 스마트 컨트랙트를 배포하여 만들어집니다. 둘은 공존하지만 기술적으로 다릅니다.
  • 토큰 모델 — 토큰 모델은 토큰의 역할(유틸리티, 거버넌스, 수수료 메커니즘)을 설명합니다. 토큰 표준은 기술적 형식을 설명합니다. 토큰은 동시에 ERC-20(표준)이면서 유틸리티 토큰(모델)일 수 있습니다.
  • BEP-20 — BNB Smart Chain의 토큰 표준입니다. BEP-20은 기능적으로 ERC-20과 동일하지만 다른 체인에서 사용되는 명명 관례입니다.
  • ERC-721 — Ethereum의 대체 불가능 토큰(NFT) 표준입니다. ERC-721 토큰은 고유하고, ERC-20 토큰은 상호 교환 가능합니다.

자주 묻는 질문

ERC-20 맥락에서 "대체 가능(fungible)"이란 무엇을 의미하나요?

대체 가능이란 토큰의 모든 단위가 다른 모든 단위와 가치와 기능 면에서 동일하다는 의미입니다. ERC-20 토큰 100단위를 보유하고 있다면, 그 단위 중 어느 하나든 같은 토큰의 다른 단위와 상호 교환 가능합니다. 이는 한 1달러 지폐를 다른 어떤 1달러 지폐와도 동등하게 만드는 것과 같은 원리입니다. 반대로, 대체 불가능 토큰(ERC-721)은 각각 고유합니다 — 하나의 NFT는 다른 것과 상호 교환되지 않습니다.

ERC-20 토큰을 Ethereum 이외의 체인에서 만들 수 있나요?

네. Ethereum Virtual Machine(EVM)을 구현하는 모든 블록체인은 ERC-20 토큰을 지원합니다. 여기에는 Polygon, Arbitrum One, Base, BNB Smart Chain, Avalanche 등 많은 체인이 포함됩니다. BNB Smart Chain에서는 동등한 표준이 BEP-20이라고 불리지만, 동일한 인터페이스를 구현합니다. ERC-20 함수 집합을 따르는 토큰은 특정 체인에 관계없이 모든 EVM 호환 지갑, 거래소, 또는 스마트 컨트랙트와 작동합니다.

ERC-20과 ETH 같은 네이티브 토큰의 차이는 무엇인가요?

ETH는 Ethereum의 네이티브 토큰입니다 — 프로토콜 자체에 내장되어 있고 스마트 컨트랙트 없이 존재합니다. ETH는 가스 수수료를 지불하고 스테이킹에 참여하는 데 사용됩니다. 반대로 ERC-20 토큰은 Ethereum 위에 스마트 컨트랙트를 배포하여 만들어집니다. 그것들은 전송과 상호작용을 위한 가스 수수료를 지불하기 위해 ETH가 필요합니다. 두 유형의 토큰 모두 같은 지갑에 보유할 수 있지만, 기술적 구현은 근본적으로 다릅니다.

ERC-20 토큰을 배포하는 데 많은 기술 전문성이 필요한가요?

기본적인 ERC-20 토큰을 배포하는 데는 적당한 수준의 스마트 컨트랙트 개발 지식이 필요합니다. 표준 라이브러리(예: OpenZeppelin)는 최소한의 커스터마이징으로 배포할 수 있는 감사된 즉시 사용 가능한 ERC-20 구현을 제공합니다. 낮은 배포 장벽은 기능(빠른 실험과 혁신을 가능하게 함)이자 위험(누구나 어떤 목적으로든 토큰을 만들 수 있게 함)입니다. 배포된 토큰의 존재는 그 자체로 기술 역량의 증거가 아닙니다.

외부 참고 자료

함께 보기