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 구현을 제공합니다. 낮은 배포 장벽은 기능(빠른 실험과 혁신을 가능하게 함)이자 위험(누구나 어떤 목적으로든 토큰을 만들 수 있게 함)입니다. 배포된 토큰의 존재는 그 자체로 기술 역량의 증거가 아닙니다.
외부 참고 자료
- EIP-20: Token Standard -- Ethereum Improvement Proposals -- 필수 함수와 이벤트를 정의하는 ERC-20 표준의 원본 정식 명세.
- OpenZeppelin -- ERC-20 Documentation -- 개발자를 위한 설명과 모범 사례를 갖춘 널리 사용되는 ERC-20 표준 구현.
- Ethereum.org -- ERC-20 Token Standard -- 개발자와 독자를 위해 ERC-20 토큰을 설명하는 공식 Ethereum 문서.
No comments to display
No comments to display