검수요청.png검수요청.png

ERC-20

해시넷
yueun970422 (토론 | 기여)님의 2019년 8월 1일 (목) 15:37 판
이동: 둘러보기, 검색
이더리움(Ethereum) 로고

ERC-20Ethereum Request for Comment 20의 약자이다. 20은 리퀘스트 숫자다. 이더리움 네트워크의 개선안을 제안하는 EIPs(Ethereum Improvement Proposals)에서 관리하는 공식 프로토콜이다. 옆줄(-) 없이 'ERC20', 'ERC 20'이라고 쓰기도 한다. 이알씨이십, 이알씨이영, 이알씨이공, 이알씨트웨니 등으로 읽는다. ERC-20은 이더리움 블록체인 네트워크에서 정한 표준 토큰 스펙이다. 필요한 이더리움과 호환성이 있는 모든 요구 사항을 충족시키는 표준은 ERC-20으로 간주된다. ERC-20 토큰은 이더리움과 교환 가능하며 이더리움 지갑으로 전송이 가능하다.

개요

이더리움은 자체 블록체인을 기반으로 다양한 탈중앙화 된 애플리케이션들이 작동할 수 있도록 고안된 하나의 플랫폼 네트워크이다. 디앱은 이러한 이더리움 플랫폼 상에서 스마트 계약을 이용하여 쉽고 빠르게 토큰을 발행할 수 있다. 이더리움 블록체인에서는 이더(ETH)가 사용되고, 이더리움 블록체인 상의 디앱은 또 다른 다양한 분야에 적용될 수 있는 각각의 솔루션들로 그에 맞는 토큰을 발행하는 것이다. 이 때 발행된 토큰은 독자적인 토큰인 듯 하지만 실제로는 이더리움 생태계에서 호환 및 사용 가능하다.

예를 들어, 안드로이드iOS가 하나의 플랫폼 역할을 하고 그 위에 존재하는 수많은 앱들이 있다. 단순 비교해보면, 안드로이드 및 iOS가 이더리움 플랫폼 역할을 하고 그 위에 존재하는 앱이 디앱과 같은 것이다. 이때 각각의 앱을 사용하면서 발생되는 일정부분의 포인트를 통합하여 사용하는 것은 같은 회사계열의 앱이 아닌 이상 거의 불가능하다. 하지만 이더리움 플랫폼에서는 각각의 디앱이 발행한 토큰을 통합하여 현금화하는 것이 가능하다. 디앱 내에서의 토큰 교환은 물론, 또 다른 이더리움 플랫폼을 기반으로 한 디앱의 토큰과 교환 가능한데 이를 위해서 ERC-20 토큰 표준이 만들어졌다. 다양한 디앱에 흩어져있는 ERC-20 표준 호환 토큰들은 나중에 통합되어 한 번에 이더로 모두 바꾸어 현금화 할 수 있다.

필요성

ERC-20이라는 표준을 사용하는 이유는 토큰끼리의 호환을 위해서이다. ERC-20 기반 토큰은 펀디엑스(NPXS), 오미세고(OMG), 비체인(VEN) 등이 있다. 이오스(EOS), 트론(TRX) 등은 이더리움 기반 토큰으로 생성되었지만, 자체 메인넷을 출시와 함께 독립적인 코인으로 재탄생했다. 안드로이드 운영체제를 사용하는 네이버 지도를 카카오톡으로 바로 공유할 수 있는 것처럼 ERC-20 기반으로 생성된 토큰은 상호 호환이 가능하다. ERC-20 기반 토큰들은 동일한 이더리움 지갑으로 전송이 가능하다.[1]

주요 인물

생성 방법

스마트 계약가 ERC-20 토큰을 만들어 낸다. 스마트 계약이 싸이클린(CyClenan) 토큰을 만드는 데 사용되었고, 스마트 컨트랙트는 싸이클린의 패굴 시스템에서 중요한 역할을 한다. 스마트 컨트랙트를 통해 ERC-20 토큰을 생성하면 이 토큰을 다른 주소로 보낼 수 있으며, 토큰은 여러가지 역할을 해준다.[2]

특징

규칙

  • totalSupply () 함수: 총 발행량을 말하며, 총 발행량은 토큰이 총 몇 개나 있는지 알려주고 생성되어 순황에 사용할 수 있는 토큰 수를 지정한다.
  • transfer() 함수 : 송금을 말하며, 이 함수를 통해 토큰을 총 발행 주소에서 개인 계정으로 송금할 수 있다. 초기 토큰 배포를 지정된 지갑으로 실행한다. 이 함수는 ICO 토큰이 일반적으로 ERC-20 토큰이다.
  • balanceOf () 함수 : 잔액을 말하며, 계정에 있는 토큰을 반환하고, 모든 지갑의 토큰 균형을 추적한다.
  • transferFrom () 함수 : 사용자는 송금 기능을 사용하여 측정 토큰을 사용자가 전송하고 교환한 수 있다. 이 함수는 지갑 주소, 수령인, 송금액을 얻은 중개인처럼 작동한 다음 거래를 수행한다.
  • approve () 함수 : 승인 기능은 사람들이 위조 토큰을 만드는 것을 방지한다. 토큰의 총 발행 량을 확인해 트랜잭션을 허용하거나 거부하고, 최대 토큰 수를 유지 관리하고 어떤 지갑에 어떤 토큰이 있는지 추적한다.
  • allowance () 함수 : 허용 기능으로 누군가가 시스템을 속이고 본인이 소유한 것보다 더 많은 토큰을 보내고자 하는 상황일 때, 허용 기능 덕분에 사용자들은 자신들이 가진 것보다 더 많은 토큰을 보낼 수 없다. 거래가 이루어지면 취소된다. 모든 트랜잭션은 트랜잭션이 실행되기 전에 유효한지 이중으로 확인된다.[3]

코인

이더리움 네트워크에서 이더는 자유롭게 거래된다. 이더는 모든 종류의 거래에 사용되는 토큰이나 암호화폐로 간주된다. 이더리움 네트워크에는 이더와 교환 가치에 기반해 사용되는 다른 토큰들도 존재한다. 이더리움 블록체인에서 또 다른 토큰을 실행하려면 ERC-20이라고 불리는 스마트 계약에서 코드나 기술 표준을 설정해야한다.[4]

다른 이더리움 표준 =

ERC-223

ERC-223은 ERC-20의 토큰 표준 개선이다. 대부분의 사람들은 ERC-20 표준에 지갑과 유사한 방식으로 스마트 계약서로 전송된 모든 전송이 유실될 수 잇는 주요 결함이 있음을 알지 못한다. 즉, 트랜잭션이 무효로 등록되는 대신 토큰이 사라지고 회복할 수 없게된다.[3] 이더리움 커뮤니티가 ERC-20에 있는 결정, 즉, 토큰들이 우연히 사라질 수 있는 오류에 대해 손놓고 있는 것은 아니다. 그럼에도 많은 디앱 프로젝트들이 ERC-20을 수행했기 때문에 토큰들이 사라졌다. 손실이 70만 달러에서 100만 달러 정도로 추정이 가능하다. ERC-223은 토큰 스마트 계약에서 직접 보냈을 때 토큰 손실이 될 수 있다는 ERC-20의 문제를 수정한 것이다. ERC-223의 또 다른 혜택은 본질적으로 토큰들이 스마트 계약에서 한번에 다른 지갑으로 보내질 수 있도록 지원한다. 이 기능 때문에 지갑은 원장 업데이트를 위해 토큰 스마트 계약을 필요로 하지 않는다. 이 새로운 기능에 따른 부산물은 두 개가 아니라 하나의 기능을 확인하는 것이기 때문에 가스비가 절반 정도 밖에 안된다는 것이다. 가스비는 소액 결제로 스마트 계약이나 간단한 거래를 실행할 때 필요하다. 거래를 실행할 때 마다 이더리움 네트워크 채굴자들에게 보상을 주기 위해 지불하는 소액 수수료 개념이다.[4]

ERC-777

ERC-20의 버그를 위한 또 다른 해결책이 2017년 11일 20일에 제안됐다. 이더리움 커뮤니티에는 ERC-777로 제출됐고, ERC-20에 대한 해결책이면서 ERC-223과 같이 고유의 혜택도 제공한다. ERC-777은 ERC-820의 기능을 가져와 모든 사람에게 스마트 계약 주소를 볼 수 있게 하고, 그것들의 기능을 체크할 수 있게 한다. 그리고 이를 트랜잭션이나 요구된 액션들을 검증하는데 사용한다. ERC-20의 간단한 전송과 확인에서, ERC-777의 보내기 기능으로 본질을 바꾸면서, 토큰과 스마트 계약 그 자체로 보다 많은 것들을 할 수 있게 된다. 새로운 기능으로 ERC-777은 실행하려는 행동들의 본성을 체크하고 액션을 실행할지 말지 결론을 내릴 수 있다. 그러나 아쉽게도 ERC-777은 당장 ERC-20을 사용하는 모든 프로젝트에 적용되는 것은 아니다. 하지만 전체적인 이더리움 커뮤니티 합의는, 결과적으로 시간이 걸리겠지만, 결국 ERC-777은 수행될것이다.[4]

ERC-721

ERC-721은 NFT(Non-Fungible Token)이다. ERC-721은 개발자들이나 복수의 소유자들 사이에서 공유될 수 없는 토큰을 개발할 수 있게 한다. 개별적인 각각의 NFT를 위한 기능과 상태를 포함하게 해준다. ERC-721 기능은 디앱 게임들에 광범위하게 적용됐다. 캐릭터나 아이템을 나타내기 위해 NTF를 구현한 게임들이 있다. 대표적인 사례가 이더몬이다. [4]

ERC-721은 본질적으로 토큰이 디앱 내에서 공유될 수 있고 미래 NFT 생성에 영향을 미칠 수 있는 수집물이 되도록 한다. NFT는 무제한으로 공급이 가능하다. 하지만 NFT의 가치가 떨어지지 않도록 하기 위해 대부분의 디앱 프로젝트는 전체 공급량을 제한한다.[4]

  • 이더몬 : 각각의 이더몬은 ERC-721의 기능을 수행하는 NFT다. 플레이어들은 서로 자신들의 이더몬을 거래할 수 있고, 이더몬의 한 조작을 공유할 수는 없다. 누군가가 다른 사람에게 전송할 경우에 전체 NFT로서만 전송이 가능하다. 반면, 게임에서 플레이어들은 그들의 이더몬을 훈련시키고 싸우게 할 수 있다. 이것은 이더몬의 상태를 늘리거나 줄이는 결과로 이어진다. 게임에서 육성 기능의 경우 새로운 이더몬이 생성돼었을 때 새 NTF가 이더리움 네트워크에 생성된다. 소유권은 자동적으로 액션을 요구한 개인에게 돌아간다.[4]

ERC-998

ERC-998은 ERC-721과 함께 사용되는 기술로 플레이어들이 모든 통계와 항목 및 토큰을 포함한 전체 캐릭터를 한 번에 전송할 수 있게 한다.[4]

사례

선거 캠페인 자원봉사자 지급 사례

플로리다 의회 선거의 후보가 자신의 캠페인 자원봉사자에게 토큰을 지급할 예정이다. 2019년 07월 10일 블록체인 전문 매체 코인데스크에 따르면, 플로리다 주 22구역에 무소속으로 출마한 오마르 레이예스는 "잠재적 자원봉사자와 우리의 암호화폐 실험에 참여하고자 하는 유권자에게 토큰을 배분하려 한다. 연방선거위원회(FEC)의 승인을 구하고 있다."고 밝혔다. FEC는 이 같은 토큰이 여러 유형의 선거 기념품과 유사해 연방법령을 위배하지 않는다고 입장을 밝혔다. ERC-20 규격에 맞춰 생성된 토큰 OMR은 다음과 같이 활용된다. 오마르 레이예스 캡프가 선거 당국에 보낸 서한에 따르면 Omar2020 위원회는 총 1,000만개의 OMR 토큰을 발생한다. 이 토큰은 금전적 가치를 지니지 않고 마치 기념품 혹은 점수와 같은 기능을 갖는다. 암호화폐 튜토리얼 이벤트에 참여하면 1ORM, 이벤트에 등록하면 10ORM을 지급하는 방식으로 토큰을 활용한다. 캠페인 자원봉사자로 등록하면 50ORM이 지급되고, 다른 자원봉사자를 추천할 때마다 75ORM이 주어진다. 메일링 리스트에 등록하거나 캠페인 이벤트에 참석해도 각각 다른 규모의 ORM이 사람들에게 배포된다. 이와 같이 ORM을 지급한 후 선거 캠페인 막바지에 캠프는 많은 ORM을 보유한 사람에게 보상을 지급할 예정이다.[5]

문제점

스마트 계약 결제 수단으로 ERC-20 토큰을 사용할 경우 토큰이 파괴되는 현상이 나타난다. 이더로만 결제해야 하는 버그가 존재하게 되었다. 현재까지 이 버그 때문에 약 3백만 달러어치의 토큰이 사라져버렸다.[2]

참고자료

같이 보기


  검수요청.png검수요청.png 이 ERC-20 문서는 블록체인 기술에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.  

  1. 김승현 기자, 〈'코린이 상식백과' 가깝지만 생소한 그대, 'ERC-20'〉, 《데일리토큰》, 2019-02-11
  2. 2.0 2.1 CyClean, 〈ERC-20토큰이라는 건 정확히 무엇일까요?〉, 《미디엄》, 2018-09-17
  3. 3.0 3.1 이더리움, 〈ERC-20, ERC-223, ERC-721 및 ERC-777 Ethereum (ETH) 토큰 유형〉, 《코인뉴스텔레그래피》, 2018-04-08
  4. 4.0 4.1 4.2 4.3 4.4 4.5 4.6 황치규, 〈ERC20은 뭐고 777은 뭐지? ERC토큰의 모든것〉, 《브런치》, 2018-11-30
  5. 심두보 기자, 〈미국 정치인이 ERC-20 토큰을 선거에 활용하는 방법〉, 《디센터》, 2019-07-11