스마트 계약, 이더리움, ERC20 토큰이란

coin4u
5 min readJun 26, 2018

--

쉬운 설명으로 개념과 원리 이해하기😉

안녕하세요, 소블리입니다!

요즘 스마트 계약이다, ERC 20다, 이더리움을 기반으로 만들어진 ICO 프로젝트다라며 많이들 들어보셨을 거에요. 그런데 이것들이 다 무엇일까요?

오늘은 이더리움과 스마트 계약 그리고 ERC20 토큰에 대해서 알아봅시다.

스마트 계약이란?

스마트 계약이라는 용어는 1997년 비트코인이 만들어지기 훨씬 이전, 컴퓨터 공학자이자 법학자 그리고 암호학자였던 닉 사보가 처음 사용했어요.

스마트 계약이란 현실에서 사용하는 계약들과 별반 다르지 않아요. 그저 블록체인 안에 저장되어 있는 컴퓨터 프로그램을 통해 돌아가는 계약일 뿐입니다. 더 간단하게 표현하자면 블록체인 기술을 이용한 계약이라고 생각하시면 됩니다.

킥스타터라는 모금을 하는 펀드레이징 플랫폼을 들어보셨나요? 킥스타터를 이용해 각각의 팀들은 이루고 싶은 프로젝트를 위하여 얼마나 모금을 받을 것인지의 목표를 정한 뒤에, 후원을 받을 수 있어요.

킥스타터는 3자로 그 중간 다리 역할을 하는 것입니다. 킥스타터가 중간에서 모금을 모으는 것을 도와주고 팀들에게 다시 돌려줍니다. 만약에 모금이 실패한다면 모금을 했던 사람들은 돈을 다시 돌려받을 수 있어요.

모금을 받는 사람들과 모금을 하는 사람들 모두 킥스타터를 중간에 있는 킥스타터를 믿을 수 있어야만 이 일들이 가능해집니다. 킥스타터가 모금이 끝나고 그 돈을 가지고 튈 수도 있잖아요. 하지만 스마트 계약만 있다면! 킥스타터와 같은 3자는 필요가 없어집니다.

프로그래밍을 통하여 스마트 계약을 만들면 어떤 일이 일어나는 지 볼까요?

정해진 목표의 모금이 달성되면 스마트 계약을 통해 자동적으로 모금이 전달됩니다. 목표에 도달하지 못했다면 후원자들에게 돈이 다시 되돌아갑니다. 이 모든 것이 중간에 개입하는 사람 1도 없이 진행됩니다!

이렇게 그냥 모든 과정은 같지만 중간에 개입하는 사람들만 없어지는 것입니다. 스마트 계약을 통해서 중간에 개입하는 사람들이 없어진다는 것은 꽤나 혁명적인 일입니다. 인류역사상 중간에 개입하지 않았던 적은 없었으니까요.

킥스타터 대신에 블록체인 기술을 어떻게 믿냐구요?

스마트 계약은 블록체인에 안에 저장되어 있기 때문에 2가지의 특징을 가지게 됩니다.

  1. 프로그램을 통하여 만들어진 계약은 바뀔 수 없다.
  2. 모든 데이터들은 분산되어 저장된다.

첫번째로, 한 번 스마트 계약이 만들어지면 그 안에 내용은 바뀔 수가 없습니다. 이 뜻은 스마트 계약을 만든 사람이라고 해서 뒤에서 내 맘대로 내용을 나에게 유리하게 조작할 수 없다는 뜻입니다.

두번째로 데이터가 분산되어 저장된다는 말의 의미는 스마트 계약은 모든 사람들에 의해 허락이 떨어져야 된다는 뜻입니다. 한 사람이 모금을 가져가려 한다면 다른 사람들이 그것을 발견하고 유효하지 않음을 증명할 수 있습니다.

이렇게 편하고 안전한 스마트 계약을 어떤 블록체인에서 사용하고 있을까요?

많은 블록체인들이 있지만 대표적으로는 이더리움이 있습니다. 이더리움은 스마트 계약을 위해 고안되었습니다. 쉽게 스마트 계약을 프로그래밍하기 위해 솔리디티라고 불리우는 프로그래밍 언어 또한 개발되었습니다.

솔리디티는 자바스크립트의 문법과 비슷하여 자바스크립트를 사용하던 개발자들이 사용하기 쉽게 되어있습니다. (참고로 비트코인 또한 이더리움보다는 많은 제한이 있지만 스마트 계약을 사용할 수 있습니다.)

스마트 계약은 어디에서 상용화될 수 있을까요?

스마트 계약은 크라우드 펀딩뿐만 아니라 다른 여러 곳에서 사용될 수 있습니다. 예를 들어, 은행에서의 대출업무, 보험회사에서의 보험금 지급, 배달회사에 대한 페이 등등의 일들을 자동화시킬 수 있습니다.

이더리움에서 사용할 수 있는 ERC20 토큰이란 무엇인가요?

ERC20 토큰은 이더리움이라는 블록체인 플랫폼에서 사용되는 토큰입니다. 참고로 이더리움 위에서 생겨나는 코인들은 따로 토큰이라고 불립니다. 이더리움에서 사용하는 화폐단위를 Ether 이더라고 합니다.

이더는 이더리움 안에 있는 다른 화폐들과의 거래를 할 때 사용할 수 있습니다. 또한 회사의 share나 loyalty point 그리고 gold certificaete의 기능도 할 수 있습니다.

이더리움을 통해 어떻게 토큰들이 생겨나나요?

토큰들은 스마트 계약에 의해 만들어집니다. 스마트 계약은 토큰을 만드는 것 뿐만 아니라 토큰을 이용한 거래를 할 때에도 이용됩니다. 또한 토큰을 가지고 있는 사람들의 거래내역까지도 알 수 있습니다. 돈이 어디로 오고가는 것을 알 수 있다는 뜻입니다.

토큰을 가지려면 어떻게 해야하나요?

토큰을 가지려면 일단 이더를 스마트 계약에 보내야합니다. 이더를 보내야지만, 토큰을 받을 수가 있는 것입니다.

반대로 자신만의 토큰을 만들고 싶다면 스마트 계약을 직접 만들어 토큰을 만들 수도 있습니다. 하지만 모두 각자 자신만의 토큰을 만든다면 호환성의 문제가 생기겠죠?

ERC20 토큰이란 무엇인가요?

사람들 모두가 같은 이용목적을 가지고 토큰을 만드는 것이 아니기 때문에 항상 우리가 여행을 가면 환전을 하듯이 화폐끼리의 거래에서 문제가 발생합니다. 그리고 이것을 해결하기 위해 표준을 제안하고자 만든 것이 ERC20 입니다.

이더리움 플랫폼에서 표준을 제안하기 위해 개발자는 EIP (Ethereum Improvement Proposal 이더리움 개선 제안서)를 제출합니다. 그리고 이것이 승인을 받게되면 ERC가 되는 것입니다. ERC20는 Ethereum Request for Comments의 줄임말인데요. 이더리움 제안서에 따른 답변이라고 보면 되겠죠. 20은 제안서를 구분하기 위해 넣어진 숫자일 뿐입니다.

ERC20는 누군가가 자신만의 토큰을 만들 때기준 혹은 가이드라인이 됩니다. 2018년도 5월달 기준으로 ERC20을 표준으로 하는 토큰들은 83,400개나 있습니다. 대표적으로는 EOS, Filecoin, Bancor, Qash, Bankex 등등이 있습니다. 그러므로 ERC20를 기준으로 삼았다고 하면 그만큼 상용성이 높아지는 것입니다.

--

--