[블록체인 스터디]ERC20 기반 코인은 무엇을 말하는 걸까?
안녕하세요~ 이댕댕입니다!
이전 포스팅 고크립토봇의 GCC 코인은 이더리움 ERC20 기반의 코인입니다. 즉, 이더리움을 기반으로 만들어진 코인입니다. 이 뿐만 아니라, 거래소에 상장되어 있는 많은 알트코인 들 중, 많은 코인들은 이더리움 ERC20 기반의 코인입니다.
이번에는 ERC20 기반 코인이 무엇이고, 왜 이더리움에서 ERC20 기반의 토큰을 발행할 수 있는지, 왜 이더를 안 쓰고 토큰을 사용하는 지 등에 대해서 알아보겠습니다.
ERC20??
이더리움이 처음 만들어질 때, 이더리움이 제일 신경 쓴 분야 중 하나가 '스마트계약'입니다. 어떤 조건이 만족되면 무조건 해당 코드가 실행되도록 만든 것입니다.
스마트계약을 통해 운영 주체가 없는 블록체인 위에서 신뢰를 얻을 수 있는 것입니다. 이 스마트계약은 신뢰성있고, 어떤 코드가 해당 조건을 만족하면 무조건 일어나도록 설계되었기 때문에 스마트계약을 통해 토큰을 발행할 수 있습니다.
이는 이더리움 백서에도, 스마트계약을 통해 토큰을 발행할 수 있다고 나와있습니다.
ERC20이란 이더리움 위에서 토큰을 발행할 때, 스마트 계약 작성시 따라야 하는 규약입니다. 한마디로, 이더리움에서 너네들이 토큰을 발행하려면 이 규약을 따라야해! 인 것이죠.
해당 규약을 따라서 토큰을 발행하면, 그 토큰은 이더리움 블록체인을 활용할 수 있고, 이더와 손쉬운 거래가 가능하게 됩니다.
어떤 DAPP을 개발하기 위해서는 블록체인이 필요하고, 블록체인을 쓰려면 채굴자와 노드가 필수적인데 그런 요소들을 처음부터 만들기는 어렵죠. 그 대신, DAPP 개발자들은 ERC20 토큰을 발행해 이더리움 블록체인을 쓸 수있게 됩니다.
ERC20 기반 토큰들은 다음과 같은 함수들을 갖게 됩니다.
- 전체 발행량을 알수 있는 함수
- 해당 주소 주인의 잔고를 알 수 있는 함수
- 어느 계좌에 어느정도의 토큰을 보내는 함수
- 어느 계좌(from)부터 어느 계좌(to)로 어느정도의 토큰을 보내는 함수
- 어떤 계좌에서 얼마나, 몇번씩 토큰을 인출할 수 있는 지 결정하는 함수
- 어떤 계좌에서 총 인출할 수 있는 토큰을 결정하는 함수
(출처:위키피디아/ERC20)
ERC기반으로 발행된 토큰들은 이더리움 블록체인을 사용하기 때문에, 따로 채굴자가 없습니다. 대신, 처음에 발행량을 정해서 발행된 토큰들을 토큰을 산 사람들에게 나눠주는 방식으로 분배가 이루어집니다.
왜 토큰을 발행할까?
GCC 코인과 같은 이더리움 기반 토큰을 보면서, 제가 들었던 의문은 왜 토큰을 발행했을까? 그리고 왜 이더리움을 기반으로 선택하여 발행했을까? 어떤 목적으로 그렇게 한 걸까 의문이었습니다.
우선, 토큰과 같이 암호화폐를 선택한 이유는 블록체인 비즈니스를 활용하기 위해서입니다. 그렇지 않았다면, 기존의 비즈니스 방식을 택했을 것입니다.
그렇다면, 토큰을 발행한 목적은 무엇일까요?
- 이더리움 기반 DAPP 서비스에 사용될 토큰으로 쓰기 위해
- ICO를 통한 자금 유치
1번의 경우는, 이더리움 블록체인 위에서 작동하는 서비스에서 활용하기 위해 토큰을 발행하는 것입니다. 스마트계약의 코드를 적절히 추가함으로써 추구하고자 하는 비즈니스 모델에 맞추어 토큰을 만들 수 있습니다. 여기서 하나의 의문이 풀립니다. 왜 이더를 안쓰고 굳이 토큰을 발행할까? -> 스마트 계약 코드 변경을 통해 본연 목적에 맞추어 쓸 수 있기 때문입니다.
또한, 이더로 모든 DAPP을 구현하면 수수료가 눈덩이처럼 커질 수 있습니다. 토큰을 사용하면 불필요한 수수료를 줄일 수 있습니다.
2번의 경우는, 어떤 회사나 팀이 '이러한 블록체인 서비스를 만들겠다! 지금 토큰을 팔테니 나중에 블록체인 서비스 개발이 완성되면 토큰을 우리의 블록체인 코인으로 바꾸어주겠다! '는 식의 ICO 입니다. 어떤 서비스를 만들기 위해 필요한 자금을 토큰을 발행하여 팔아서 모금하는 것입니다.
EOS 같은 경우가 그렇습니다. 이더리움을 대체할 블록체인 플랫폼 개발을 목표로 하는 EOS는 ERC20 기반의 EOS 토큰을 만들었습니다. 이 토큰은 추후에 EOS 블록체인이 완성되면 EOS 코인과 교환될 수 있는 것입니다.
이렇게 토큰을 발행함으로써 개발 비용도 얻고, 또한 토큰을 구입한 투자자들은 토큰의 가치를 올리기 위해 회사에 도움이 되는 식의 행동을 하기 때문에 회사 입장에서는 일석이조가 됩니다.
이렇게 토큰을 발행하는 이유와 목적, ERC20 기반의 토큰 발행에 대해서 알아보았습니다.
구글링을 해도 본인만의 토큰을 발행하는 방법이 많이 나오네요 ㅎㅎ 한번 저도 댕댕토큰을 만들어보고 싶습니다.
이상 이댕댕이었습니다~
![](https://steemitimages.com/640x0/https://steemitimages.com/DQmewf8hYbYBNCnKVv7YHZUqn4NPavaoopFCr1HyUkZCCNP/image.png)
짱짱맨 호출에 출동했습니다!!
안녕하세요, 글을 읽고 한가지 궁금한 점이 생겨서 글을 남깁니다.
토큰을 발행하는 이유 1번으로 두가지 "스마트 계약 코드 변경을 통해 본연 목적에 맞추어 쓸 수 있기 때문" 과 "토큰을 사용하면 불필요한 수수료를 줄일 수 있습니다." 라고 하셨는데요.
스마트 계약을 이더를 주고 받는 방식으로도 본연에 목적에 맞게 만들어 사용할 수도 있지 않나요? 그리고 토큰을 주고 받는 과정에서도 Gas가 필요한 것으로 알고 있는데요.
토큰을 사용하면 스마트 계약을 더 폭넓게 사용할 수 있는 이유나, 토큰을 사용할때 Gas가 적게 소모되는 이유가 따로 있는 걸까요?