ERC‑20은 이더리움 블록체인에서 토큰을 만들기 위한 표준 인터페이스(규격)입니다. 스마트 컨트랙트로 발행되는 토큰이 서로 호환되고, 지갑·거래소·디앱(DApp) 등 다양한 애플리케이션에서 일관되게 동작하도록 정의된 규칙 모음입니다.



1. ERC‑20의 목적 및 역할
• 호환성(Interoperability): 모든 ERC‑20 토큰은 동일한 함수와 이벤트를 구현하므로, 한번 만든 지갑이나 거래 플랫폼은 별도 수정 없이 모든 ERC‑20 토큰을 지원할 수 있습니다.
• 표준화(Standardization): 토큰 발행자마다 각기 다른 인터페이스를 만들 필요 없이, 정해진 규격만 따르면 누구나 쉽게 토큰을 발행·관리할 수 있습니다.



2. 핵심 함수 및 이벤트

구분
명칭
설명
함수
totalSupply()
토큰의 총 발행량 조회
balanceOf(address)
특정 주소의 잔액 조회
transfer(to, value)
발신자가 지정한 주소로 토큰 전송
approve(spender, value)
제3자(spender)가 자신의 토큰을 일정량 사용할 수 있도록 승인
transferFrom(from, to, value)
승인된(spender) 제3자가 토큰을 이동
allowance(owner, spender)
owner가 spender에게 승인한 잔여 한도 조회
이벤트
Transfer(from, to, value)
토큰 이동이 발생할 때 발생
Approval(owner, spender, value)
approve() 호출 시 발생


이 함수들과 이벤트를 모두 구현하고, 정해진 동작 방식을 따르면 ERC‑20 호환 토큰이 됩니다.



3. 동작 흐름 예시
1. 발행(Mint): 발행자는 스마트 컨트랙트를 통해 totalSupply를 설정하고, 자신의 주소에 초기 토큰을 할당합니다.
2. 송금(Transfer): 사용자는 transfer()를 호출해 다른 주소로 토큰을 보냅니다.
3. 승인·대리 전송(Approve & TransferFrom): A가 B에게 자신의 토큰 100개 사용 권한을 주려면 approve(B, 100)을 호출하고, B는 transferFrom(A, C, 50)으로 A의 토큰 일부를 C에게 보낼 수 있습니다.



4. 장단점 및 주의사항
• 장점
• 생태계 확장성: 다양한 디앱·지갑·거래소와 즉시 연동 가능
• 개발 편의성: 규격만 지키면 복잡한 로직 없이 토큰 발행·운영 가능
• 단점/리스크
• 스마트 컨트랙트 취약점: 잘못된 구현 시 해킹·자금 손실 우려
• 확장성 문제: 이더리움 메인넷의 처리 속도·수수료 이슈
• 표준의 한계: 토큰에 특수 기능(예: 멀티시그, 거버넌스)을 넣으려면 별도 확장 필요



5. 활용 사례
• 스테이블코인 (USDT, USDC 등)
• 거버넌스 토큰 (Uniswap의 UNI, Aave의 AAVE 등)
• 게임 아이템 및 NFT 전 단계 토큰



요약

ERC‑20은 이더리움 생태계에서 가장 널리 쓰이는 토큰 표준으로, 토큰 간 호환성과 개발 편의성을 보장합니다. 다만, 스마트 컨트랙트 보안과 이더리움 네트워크 한계를 고려하여 설계·운영해야 합니다.

반응형

+ Recent posts