ERC-20의 정의와 규칙
이더리움 개선 제안(EIP)
ERC에 대해 알아보기 전에 먼저 EIP에 대해 간단하게 알아보겠습니다. 이더리움 EIP(Ethereum Improvement Proposal)는 ‘이더리움 개선 제안’으로, 이더리움 커뮤니티에 정보를 제공하거나 프로세스 또는 환경에 대한 새로운 기능을 설명하는 설계 문서입니다. 이 EIP 뒤에는 숫자가 붙는데 EIP-1이면 첫 번째 제안서, EIP-2이면 두 번째 제안서입니다. 이중 EIP-1은 EIP의 Workflow를 정의하며 Standard Track, Informational, Meta 3개의 유형으로 구분하고 있습니다. 이중 StandardTrack에 ERC가 포함되어 있으며, 애플리케이션 수준의 스마트 컨트랙트 등과 같은 기준을 명시하고 있습니다.
<출처: https://eips.ethereum.org/EIPS/eip-1>
ERC 정의
ERC(Ethereum Request for Comment)는 이더리움 블록체인 네트워크에서 발행되는 토큰(token)의 표준을 뜻합니다. 즉, ERC는 EIPs에서 관리하는 공식 프로토콜로, 이더리움 생태계에서 애플리케이션과 컨트랙트를 보다 쉽게 상호작용할 수 있도록 규약을 만드는 것을 목표로 합니다.
*토큰(Token) : 메인 블록체인 네트워크 내의 기본적인 규약을 지키면서 해당 네트워크 내에서 이전되는 디지털 자산
스마트 컨트랙트의 표준 ERC-20
ERC-20은 ERC의 20번째 요청사항으로 2015년 11월, 이더리움 네트워크의 개발자인 파비안 보글스텔러(Fabian Vogelsteller)과 비탈릭 부테린(Vitalic Buterin)에 의해 제안되었습니다. ERC-20은 이더리움 블록체인에서 스마트 컨트랙트에 사용되는 기술 표준으로 이더리움 네트워크 상에서 유통되는 토큰의 호환성을 보장하기 위해 제작되었습니다.
ERC-20은 많은 디지털 자산 프로젝트의 ICO 표준입니다. ERC-20은 이더리움 토큰에 대한 공통 규칙 목록을 정의하여 개발자가 토큰 간의 상호 작용을 예측할 수 있습니다. 그리고 주소 간 토큰을 전송하는 방법과 토큰 내의 데이터에 접근하는 방법도 포함되어 있어 상대적으로 개발자들이 개발하기 쉽습니다.
ERC-20은 DApp(탈중앙화 애플리케이션)에서 발행된 토큰이 이더리움 통화인 이더(ETH)와 호환성을 충족하기 위해 규정하고 있는 프로그램밍 기준으로, 토큰 간 호환성이 높습니다. 따라서 ERC-20 기준에 맞추어 DApp을 설계한 후 토큰을 발행하면, 이더와 쉽게 교환할 수 있습니다. 또한 소프트웨어·하드웨어 지갑에 자유롭게 전송할 수 있습니다.
ERC-20 규칙
ERC-20에는 다음과 같이 이더리움 토큰이 준수해야 하는 6개의 규칙과 2개의 이벤트 규칙이 있습니다.
• totalSupply () : 총발행량으로 토큰이 총 몇 개 있는지 알려줌
• transfer() : 송금으로 토큰을 총 발행 주소에서 개인 계정으로 송금할 수 있음
• balanceOf () : 잔액으로 계정에 있는 토큰을 반환함
• transferFrom () : 사용자 간 송금 기능으로 사용자는 송금 기능을 사용하여 다른 사용자에게 토큰을 송금할 수 있음
• approve () : 승인 기능으로 사람들이 위조 토큰을 만드는 것을 방지하며 토큰의 총발행량을 확인해 트랜잭션을 허용하거나 거부함
• allowance () : 허용 기능으로 누군가 시스템을 속이고 본인이 소유한 것보다 더 많은 토큰을 보내고자 하는 경우 이 기능으로 인해 사용자는 자신이 가진 것보다 더 많은 토큰을 보낼 수 없으며, 거래가 이루어지는 경우 취소됨
• event Transfer(address indexed _from, address indexed _to, uint256 _value)
• event Approval(address indexed _owner, address indexed _spender, uint256 _value)
➕함께 보면 좋은 콘텐츠
비트코인이 실행한 탭루트 업그레이드
다음 글ERC-20의 장단점