- Published on
ICO의 토양이 되는 ERC 20
- Author
- Name
- yceffort
ERC20: The Basis of Most ICOs
대다수의 ICO는 이더리움의 ERC20 표준을 기반으로 한다. 코인마켓캡이 토큰 목록을 살펴보면, 상위 20개 토큰 중 19개가 이더리움을 기반 플랫폼으로 사용하고 있는 것을 확인할 수 있다. 상위 100개의 토큰을 살펴보면, 이더리움을 사용하지 않는 경우가 더 예외적인 상황이라는 것을 알 수 있다.
왜 그럴까? 왜 이더리움은 블록체인 토큰의 표준이 되었을까? 정답은 ERC20 표준에서 확인할 수 있다. 이전에, ERC20이전에는 블록체인에서 토큰이 어떻게 만들어졌는지를 확인해보자.
Colored Coin: 비트코인 기반의 토큰
현재 암호화폐 시장에서 가장 핫한 주제는 ICO 다. 이는 마이너들이 토큰이나 코인을 만들기 이전에, 투자자들에게 먼저 코인을 파는 것을 의미한다. 그렇게 하기 위해서는 일단 비트코인이나 이더리움과 같은 네이티브 블록체인 통화처럼 작동하지만, 마이너들에 의해 만들어지지 않은 블록체인 토큰을 몇개 두는 것이 유용하다.
이러한 개념은 2013년에 비트코인의 블록체인에 토큰을 가져오는 방법을 만들어냈다. 그 주인공은 MasterCoin과 ColoredCoin이다. MasterCoin은 Counterparty와 Omni등으로 변형되었으며, ColredCoin은 OpenAssets이나 Coinprisim과 같은 여러 하위 프로토콜 등으로 분리되었다. 약간의 사소한 차이점 외에, 이 모든 개념은 비트코인 거래에서 토큰을 새기기 위해 몇가지 기술을 사용한다는 공통점이 있다. 이를 위해 비트코인의 OP_RETURN을 사용하여 트랜잭션에 데이터를 추가하였다.
ColoredCoin의 예제 |
OP_RETURN을 통해 비트코인 블록체인에 작성된 코인엔 여러가지가 있다. Tether의 경우에는, Omni를 사용하여 비트코인 블록체인에서 유로, 달러 등을 전송한다. 누군가 달러 지폐에 '나는 유로다' 라고 쓰는 것을 상상해보자. 일부 특별한 지갑은 이러한 메시지를 해석할 수 있다.
비트코인에 대한 이러한 토큰들은 어느 정도 효과가 있다. 그러나 이들은 몇가지 단점을 공유한다. 가장 심각한 문제는, 블록체인에 기본적으로 저장이 되지 않는 다는 것이다. 이는 단지 거래에 첨부된 메시지 수준에 불과하며, 그리고 이들 대부분은 메시지의 진위성을 증명하기 위한 메시지 해시다. 비트코인 거래의 서명이나, 이전 비트코인의 amount 이외에, 이 메시지는 블록체인의 기본정보가 아니다. 위 예제에서의 글자들은 복사하거나, 붙여넣거나, 철자가 확인되는 등의 부가작업을 할수 없다.
그 결과 비트코인 네트워크는 비트코인 트랜잭션을 검사하는 것과 동일한 방식으로 토큰 전송 (메시지 확인)을 검사하지 않는다. 비트코인 노드와 마이너들은 보내진 금액이 잔액에 의해서 뒷받침 되는지 (잔고가 남았는지 확인하는지) 확인하지 않는다. 심지어 토큰이 위조되거나, 이중으로 사용되는지 알지 못한다. 또한 토큰이 올바르게 생성되었는지 확인하지 않는다.
물론, 이러한 문제는 비트코인 위에 프로토콜을 얹어서 확인할 수 있다. 특수 지갑 소프트웨어는 비트코인 외부의 데이터베이스로 토큰의 유효성을 검사할 수도 있다.
ERC20은 무슨 차이를 만드는가?
이더리움 개발자들은 ERC20 토큰 표준을 발표했다. 이더리움 블록체인 상에서 작동하는 '토큰을 위한 표준 인터페이스'다. 토큰을 전송할 수 있는 기본 기능을 제공하고, 토큰을 승인하여 다른 체인 써드파티에서도 사용가능하게 한다. 이더리움의 모든 토큰이 다른 응용 프로그램에서 재사용되도록 허용하는 것이다.
ERC20의 성공은 부정할 수 없다. 이들은 거의 모든 이더리움 지갑을 지원한다. 수백개의 ERC20 토큰이 만들어졌으며, 이는 다른 대부분의 암호 화폐보다 가치가 있다. 의심하라 여지 없이, 이 형식은 암호화폐의 가장 성공적인 구현 중 하나가 되었다. 이는 토큰업계에서 승자가 되었다. 그러나 비트코인은 그렇지 못했다.
왜 그런지, 이 질문에 대답하기 위해서는 ERC20 토큰이 Colored Coin이나 Omni 토큰과 거의 공통점이 없다는 것을 알아야 한다. 이더리움의 가상 머신 (EVM)을 이용하면, 복잡한 스마트 컨트랙트를 만들어 지갑이 이 컨트랙트와 상호작용할 수 있다. 비트코인은 지폐에 토큰을 새겨 놓은 것을 상상할 수 있다면, ERC20은 블록체인의 회계사와 같은 것이다.
ERC20 컨트랙트는 토큰의 모든 소유자에 대한 내역을 보유한다. 토큰의 수를 정의하고, 토큰을 보유하고 있는 주소도 나타낸다. 아래는 ICONOMI 토큰을 나타내는 방법이다.
ERC 20 토큰을 다른 주소로 전송하면, 비트코인 토근과 마찬가지로 이 주소에 트랜잭션을 저장하지 않는다. 대신 ERC20 컨트랙트에 소유자 목록을 변경하도록 지시한다. 이는 사용자가 가지고 있던 토큰을 제거하고, 새로운 주인에게 추가한다. 이 모든 것은 거래 당사자와 상호작용하는 것이 아니라, 컨트랙트 상에서만 상호작용 하게 된다.
이 차이가 굉장이 중요하다. 이는 블록체인의 데이터 구조에서 토큰을 기본요소로 만드는 것이다. 마이너가 계약을 올바르게 실행한 경우, 이더리움 네트워크의 모든 노드가 이를 확인한다. 토큰 컨트랙트가 올바른 잔액을 유지하거나, 트랜잭션이 올바르게 처리되는 경우, 유효성을 검사한다. ERC20 토큰의 모든 단일 활동은 네트워크의 모든 피어에서 기본적으로 유효하다.
피어는 그러므로 외부데이터베이스와 상호작용할 필요가 없다. 거래를 추적하기 위해 비트코인의 경우 처럼 이더리움 외부의 프로토콜을 따를 필요가 없다. 다른 모든 표준 트랜잭션과 마찬가지로 상태를 확인해야 한다. 그래서, ERC20 토큰을 사용하는 것이 매끄럽다.
블록체인에서 토큰을 만들고 처리하기 위해 ERC20을 사용하는 것이 매우 편리하다. 지난 2년 동안 이러한 힘을 인상적으로 보여주었다. 블록체인 토큰은 ERC20이전에는 거의 영향을 미치지 못했지만, 이더리움이 이 표준을 발표한 이후 암호 화폐 생태계에서 그 역할이 폭발적으로 증가했다. ICO에 대한 과대 광고로 20억 달러가 스타트업 예산으로 쏟아진 것은 ERC20의 토큰 표준화의 결과다.