NFT, 스마트 계약, ICO(Initial Coin Offering) 등에 많은 관심이 쏟아지고 있다. 이처럼 토큰을 배포하는 행위가 어떻게 가능할까?
이더리움은 자체 블록체인을 기반으로 다양한 탈중앙화된 애플리케이션들이 작동할 수 있도록 고안된 하나의 플랫폼 네트워크이다. dapp은 이러한 이더리움 플랫폼 상에서 스마트 계약을 이용하여 쉽고 빠르게 토큰을 발행할 수 있다.
이더리움 블록체인에서는 이더(ETH)가 사용되고, 이더리움 블록체인 상의 댑은 또 다른 다양한 분야에 적용될 수 있는 각각의 솔루션으로 그에 맞는 토큰을 발행한다. 여기서 발행된 토큰은 독자적인 토큰인 듯 하지만 실제로는 이더리움 생태계에서 호환 및 사용 가능하다.
여기서, 다양한 댑의 토큰들에 대한 표준으로써 ERC 20 토큰 표준이 만들어졌다.
Ethereum Request for Comments 20의 약자로 이더리움 네트워크 상에서 유통할 수 있는 토큰의 호환성을 보장하기 위한 표준 사양이다.
ERC-20 토큰은 스마트 계약의 속성을 지원해야만 한다. 스마트 계약은 온라인 환경에서 암호화폐 교환 시, 일정 행동이 불가역적으로 전개되는 기능을 통해, 중앙관리가 배제된 서비스를 구현할 수 있는 것이 강점이며, 이더리움 블록체인에서 구현이 용이하다.
댑은 이더리움 블록체인 플랫폼을 활용해 자신의 비즈니스를 구현하고, 자금모집 및 거래체계, 플랫폼 사용료를 이더리움으로 지불하는 체계를 가지고 토큰을 발행하며, 실제로 이더리움 기반으로 토큰 발행이 많다. 즉, ERC-20 토큰이 되기 위한 기준은 스마트 계약 기능이 포함이 되었나, 되지 않았나로 볼 수 있다.
ERC 20 토큰은 스마트 계약으로 생성된다.
일반적인 계약이 조항과 조건들을 포함하듯이 ERC 20 스마트 계약도 프로그래밍 언어로 쓰여진 몇가지 함수들의 모임을 포함한다.
ERC 20 토큰은 여섯가지 함수와 두가지 이벤트, 그리고 선택적 규칙 세가지를 갖는다.
간략하게 위의 함수들과 이벤트를 살펴보자.
모든 사람의 편의를 위해 존재한다.
모든 코인에는 양면이 있듯이, ERC 20 토큰 또한 one-size-fits-all(누구에게나 다 맞는) 해결법은 아니다.
간단히 말해서, 이 버그는 해커가 난데없이 많은 토큰을 소유할 수 있게 해주는 버그이다.
모든 토큰들은 스마트 계약이며, 이 스마트 계약들은 토큰의 동작을 정의하다. 이러한 스마트 계약들은 특정한 종류의 토큰들과 작동하도록 설계되어 있다.
만약 이더를 사용하지 않는 스마트 계약에 이더가 전송되면 이더는 사라져버린다.
(warning 이란 경고창 하나 없이 말이다.)
ERC 223 표준은 ERC 20 표준에 비해 개선되었으며 하위 호환성을 가진다. 따라서 ERC 20 토큰과 ERC 223 토큰은 상호작용이 가능하다.
개선된 내용으로는 지급받는 토큰이 무효한 스마트 계약상에서도 사라지지 않도록 하는 것이 있다. 또 다른 내용은 토큰들이 스마트 계약에서 한 번에 다른 지갑으로 보내질 수 있도록 지원한다. 이 기능 때문에 지갑은 원장 업데이트를 위해 토큰 스마트 계약을 필요로 하지 않는다. 이 새로운 기능에 따른 부산물은 두 개가 아니라 하나의 기능을 확인하는 것이기 때문에 가스비가 절반 정도밖에 안 된다는 것이다.
최근 아주 핫한 NFT(non-fungible token)의 표준이다.
말에서 드러나듯이 복수의 소유자들 사이에서 공유될 수 없는 토큰을 개발할 수 있게 한다.
ERC 721 표준에 대한 것은 추후에 있을 포스트에서 좀 더 자세하게 다뤄보도록 하겠다.
ERC 20 기반 토큰은 펀디엑스(NPXS), 오미세고(OMG), 비체인(VEN) 등이 있으며, 이 외에도 수많은 토큰들이 이더리움 블록체인 네트워크를 기반에 두고 있다. 이오스(EOS), 트론(TRX) 등은 이더리움 기반 토큰으로 생성되었으나 자체 메인넷 출시와 함께 독립적인 코인으로 재탄생했다.
이처럼 토큰 개발 초기에는 돈, 시간 등을 아끼기 위해 이더리움 네트워크를 사용해 비교적 쉽게 토큰을 만들어 사용한다. 하지만, 시간이 지남에 따라 자체적인 메인넷을 구축하여 독립적인 코인으로 개발을 하기도 한다.
이러한 자체 개발된 메인넷 상의 토큰과 이더리움 네트워크, 비트코인 네트워크 등의 코인들 간에 상호운용성은 어떻게 구축되는 것인지 궁금하기 시작했다.
ERC 20 token standard
Smart contracts
How to creat and deploy an ERC 20 token on Ethereum blockchain
잘보고갑니다