"이더리움"의 두 판 사이의 차이

해시넷
이동: 둘러보기, 검색
(솔리디티)
(ICO도입 → DAICO로 변경)
85번째 줄: 85번째 줄:
  
 
비탈릭 부테린은 초기 이더리움 개발에 필요한 자금을 모으기 위해 ICO 방식을 도입했다. ICO는 Initial Coin Offering의 약자로서, 새로운 암호화폐를 만들기 위해 불특정 다수의 투자자들로부터 초기 개발 자금을 모집하고 그 대가로 코인을 나눠주는 '초기코인공개' 행위를 말한다. 크라우드펀딩(crowdfunding)의 일종으로서, 주식 공개 모집을 의미하는 IPO에서 나온 말이다. 투자자들은 기업이 제공하는 웹사이트, 백서, 개발 결과물들을 살펴보고 그들이 새롭게 발행하는 암호화폐의 추후 가치를 판단함으로 투자 여부를 결정한다.  
 
비탈릭 부테린은 초기 이더리움 개발에 필요한 자금을 모으기 위해 ICO 방식을 도입했다. ICO는 Initial Coin Offering의 약자로서, 새로운 암호화폐를 만들기 위해 불특정 다수의 투자자들로부터 초기 개발 자금을 모집하고 그 대가로 코인을 나눠주는 '초기코인공개' 행위를 말한다. 크라우드펀딩(crowdfunding)의 일종으로서, 주식 공개 모집을 의미하는 IPO에서 나온 말이다. 투자자들은 기업이 제공하는 웹사이트, 백서, 개발 결과물들을 살펴보고 그들이 새롭게 발행하는 암호화폐의 추후 가치를 판단함으로 투자 여부를 결정한다.  
크라우드펀딩의 장점은 제품이나 서비스의 아이디어를 구현하는 기업이 자금을 조달하기 위해 인터넷에서 공모하면 되고, 투자자도 소액으로 부담 없이 누구나 쉽게 참가할 수 있다는 것이다. 개인이나 기업이 자금 조달을 위한 프로젝트 정보를 스마트계약으로 만들어 투자자를 모집하고, 투자자는 암호화폐를 사용해 자금을 제공한다. 투자한 프로젝트가 이익을 낸다면 배당금은 암호화폐로 돌려받을 수 있다. 이더리움에 도입된 ICO 방식은 대성공을 거두어, 이후 다양한 암호화폐 개발에서 ICO 방식의 자금 모집이 널리 확산되었다.
+
크라우드펀딩의 장점은 제품이나 서비스의 아이디어를 구현하는 기업이 자금을 조달하기 위해 인터넷에서 공모하면 되고, 투자자도 소액으로 부담 없이 쉽게 참가할 수 있다는 것이다. 개인이나 기업이 자금 조달을 위한 프로젝트 정보를 스마트계약으로 만들어 투자자를 모집하고, 투자자는 암호화폐를 사용해 자금을 제공한다. 투자한 프로젝트가 이익을 낸다면 배당금은 암호화폐로 돌려받을 수 있다. 이더리움에 도입된 ICO 방식은 대성공을 거두어, 이후 다양한 암호화폐 개발에서 ICO 방식의 자금 모집이 널리 확산되었다.
하지만 쉽고 빠르게 자금을 조달할 수 있고 신원 확인과 추적이 쉽지 않다는 암호화폐의 특성을 이용한 사기도 많이 발생했다. 만들지도 않을 암호화폐를 만든다고 웹사이트와 백서를 만들고 ICO를 유치해 자금을 모은 후 도피하는 방식이 일반적인 ICO 사기 방식이다. 무엇보다 더 심각한 문제는 ICO로 많은 자금을 조달했으나, 백서나 개발 계획에 적은 대로 개발을 진행하지 않는 경우다. 그리하여 비탈릭 부테린은 2018년 1월 새로운 방식의 다이코(DAICO)를 제시했다. 다이코는 탈중앙화 자율조직을 의미하는 DAO(Decentralized Autonomous Organization)와 ICO의 합성어이다. 기존 ICO는 모든 자금에 대한 권한이 개발팀의 계좌에서 생겼기 때문에 개발팀이 악의를 품는다면 ICO 이후 자금을 가지고 달아나거나 개발을 제대로 진행하지 않을 가능성이 높다. 그래서 다이코는 ICO 이후 모든 권한을 개발팀에게 주는 것이 아니라 투자자들과 함께 의사결정함으로 자금을 사용한다는 새로운 방법이다. 다이코의 핵심 기능은 수도꼭지를 뜻하는 ‘탭(Tap)’ 과 ‘리펀드(Refund)’ 라는 컨셉으로 설명 가능하다. 탭은 마치 수도꼭지에서 물이 조금씩 나오듯, 모인 자금을 한꺼번에 개발진에게 주는 것이 아니라 일정 기간에 나눠 합리적으로 주는 방식을 일컫는다. 리펀드 기능은 ICO의 가장 큰 문제점으로 꼽혔던 ‘투자금 환불’ 문제를 풀어냈다. 만일 프로젝트 진행에 심각한 문제가 있을 경우, 투자자들은 남은 자금을 환불받을 수 있다. 모두 이더리움이 제공하는 스마트 계약으로 인출 대상과 시기, 물량을 사전에 코드로 지정하거나 묶어 둘 수 있는 기능을 활용하는 원리다.
+
하지만 쉽고 빠르게 자금을 조달할 수 있고 신원 확인과 추적이 쉽지 않다는 암호화폐의 특성을 이용한 사기도 많이 발생했다. 만들지도 않을 암호화폐를 만든다고 웹사이트와 백서를 만들고 ICO를 유치해 자금을 모은 후 도피하는 방식이 일반적인 ICO 사기 방식이다. 무엇보다 더 심각한 문제는 ICO로 많은 자금을 조달했으나, 백서나 개발 계획에 적은 대로 개발을 진행하지 않는 경우다. 그리하여 비탈릭 부테린은 2018년 1월 새로운 방식의 다이코(DAICO)를 제시했다. 다이코는 탈중앙화 자율조직을 의미하는 DAO(Decentralized Autonomous Organization)와 ICO의 합성어이다. 기존 ICO는 모금액을 개발사가 ICO 직후 단 번에 모두 회수해가는 구조이다. 개발사가 실제 개발 로드맵을 지킬 의지나 능력이 있는지 견제할 수 있는 장치가 없었다. 그리고 환불을 받을 수도 없는 구조다. 그래서 다이코는 ICO 이후 모든 권한을 개발팀에게 주는 것이 아니라 투자자들과 함께 의사결정함으로 자금을 사용하는 새로운 방법이다. 다이코의 핵심 기능은 수도꼭지를 뜻하는 ‘탭(Tap)’ 과 ‘리펀드(Refund)’ 라는 컨셉으로 설명 가능하다. 탭은 마치 수도꼭지에서 물이 조금씩 나오듯, 모인 자금을 한꺼번에 개발진에게 주는 것이 아니라 일정 기간에 나눠 합리적으로 주는 방식을 일컫는다. 리펀드 기능은 ICO의 가장 큰 문제점으로 꼽혔던 ‘투자금 환불’ 문제를 풀어냈다. 만일 프로젝트 진행에 심각한 문제가 있을 경우, 투자자들은 남은 자금을 환불받을 수 있다. 모두 이더리움이 제공하는 스마트 계약으로 인출 대상과 시기, 물량을 사전에 코드로 지정하거나 묶어 둘 수 있는 기능을 활용하는 원리다.
  
 
===The DAO 공격===
 
===The DAO 공격===

2018년 7월 23일 (월) 19:20 판

이더리움(ethereum)은 블록체인 기술을 기반으로 스마트 계약 기능을 구현하기 위한 분산 컴퓨팅 플랫폼이다. 이더리움이 제공하는 이더(Ether)는 비트코인과 마찬가지로 암호화폐의 일종으로 거래되고 있다. 엄밀한 의미에서는 '이더리움'은 플랫폼이고, '이더'가 암호화폐이지만, 일반적으로 양자를 구별하지 않고 '이더리움'을 암호화폐의 이름으로 사용하기도 한다. 이더리움의 화폐 단위는 ETH이다. 2015년 7월 비탈릭 부테린(Vitalik Buterin)이 C++Go 언어로 개발했다. 이트해시(Ethash) 알고리즘 기반의 작업증명(PoW) 방식으로 채굴 중이지만, 앞으로 작업증명 방식을 벗어나 지분증명(PoS) 방식으로 변경할 예정이다.[1]

이더리움은 비트코인을 기반으로 만든 가장 대표적인 알트코인으로서, '비트코인 2.0'이라고도 부른다.

명칭

이더리움은 초기에 이시리움 또는 에테리움 등 다양한 이름으로 불리다가 시간이 지남에 따라 이더리움으로 표기가 통일되고 있다. 영어로 Ethereum의 정확한 발음은 미국식으로 이씨리엄([iˈθɪɹiəm])이고, 영국식으로는 이씨어리엄([iˈθɪəɹiəm])이다.

개요

이더리움은 DApp을 배포할 수 있는 분산 응용 애플리케이션 플랫폼이며 스위스를 거점으로 하는 이더리움 재단(Ethereum Foundation)에서 개발하고 있는 오픈소스 프로젝트다. 이더리움 이전의 블록체인 기반 기술은 전자화폐에 특화된 기능을 구현했기 때문에, 암호화폐 이외의 영역에서 사용하기에는 어려움이 있었다. 반면 이더리움은 비트코인과 비슷한 전자 화폐의 기능과 더불어 Solidity 등의 튜링완전성(Turing-Completeness)을 갖춘 확장용 언어를 이용해 스마트 계약을 작성함으로 여러 분야에 접목할 수 있다. 덕분에 블록체인 기술을 다양한 비즈니스 분야로 확장할 수 있게 됐다.

비탈릭 부테린(Vitalik Buterin)

1994년 러시아에서 태어나 캐나다로 이민을 가게 된 비탈릭 부테린(Vitalik Buterin)은 2011년 그의 아버지를 통해 비트코인을 접하게 된다. 2013년 코드에 대한 열정을 해외 개발자들과 공유했던 그는 토론토로 돌아와 이더리움 백서를 발간했다. 백서 제목은 '차세대 스마트 계약 & 분산 응용 애플리케이션 플랫폼'이다. 이듬해인 2014년 8월, '개발자들에게 암호학적으로 안전하고, 탈중앙화된 소프트웨어 개발을 지원하는 월드 컴퓨터가 되겠다.' 는 원대한 비전을 제시했다. 또, 부테린은 “블록체인은 효율성을 위해서 사용하는 것이 아니라 검열에 저항하기 위해서”라고 강조했다. 뿐만 아니라 사기를 방지하며 투명성과 견고성을 유지하고 상호 운영성을 확보하기 위해서다." 라고 했다. 2014년 11월, 신기술 분야의 노벨상이라고 불리는 '월드 테크놀로지 어워드'에서 비탈릭 부테린은 IT 소프트웨어 부문 수상자로 뽑혔다. 이 상은 <포브스>와 <타임>이 공동 주관했고, 당시 경쟁 후보였던 페이스북 창업자인 마크 저커버그를 제치고 따낸 성적이었다. 비탈릭 부테린이 고안한 개인 간 위조가 불가능한 계약 시스템인 '스마트 계약'을 사용하는 이더리움은 전 세계적으로 큰 영향력을 가진 인프라로 성장하고 있다.

역사

  • 2013년 당시 19세의 비탈릭 부테린(Vitalik Buterin)은 이더리움 백서를 작성하여 이더리움 개발을 제안했다.
  • 2014년 비탈릭 부테린이 주도하여 이더리움재단을 구성하고, 크라우드펀딩 방식의 ICO를 통해 3만 비트코인에 해당하는 개발 자금을 모았다.
  • 2015년 7월 30일 이더리움 서비스를 시작했다.
  • 2016년 4월 이더리움 블록체인 기반의 The DAO 펀드를 구성하고 1.5억 달러에 해당하는 투자자금을 모았다.
  • 2016년 6월 The DAO에 대한 해킹 사건이 발생했다. 부득이 기존 이더리움에 대한 하드포크를 진행하여 이더리움이 두 가지 버전으로 분리되었다. 이 중 구 버전을 이더리움 클래식(Ethereum Classic, ETC)이라고 부르고, 신 버전을 이더리움이라고 부른다.
  • 2017년 5월 삼성SDS㈜가 기업형 이더리움 연합체인 EEA에 회원사로 가입했다.
  • 2017년 6월 이더리움의 시장 규모가 약 20조원을 돌파했다.
  • 2018년 1월 ICO 문제를 해결하고자 새로운 방식의 다이코(DAICO)를 제시했다.

특징

이더리움은 기존 비트코인의 핵심 기능인 블록체인 기술을 그대로 계승하였을 뿐 아니라, 기존 비트코인을 뛰어넘은 혁신적인 기술로 평가되고 있다.

스마트 계약

비탈릭 부테린은 비트코인에 사용된 핵심 기술인 블록체인에 화폐 거래 기록뿐 아니라 계약서 등의 추가 정보를 기록할 수 있다는 점에 착안하여, 스마트 계약 기능을 구현했다. 스마트 계약(smart contract)이란 블록체인 기반으로 금융거래, 부동산 계약, 공증 등 다양한 형태의 계약을 체결하고 이행하는 것을 말한다. 블록체인 2.0이라고도 한다. 1996년 닉 재보(Nick Szabo)가 처음 제안했으나 실제 구현하지는 못하였다.

2013년 비탈릭 부테린이 비트코인의 블록체인 기술을 이용하여 대금결제, 송금 등 금융거래뿐 아니라 모든 종류의 계약을 처리할 수 있도록 기능을 확장하면서 스마트 계약이 구현되었다. 부테린은 원래 새로운 암호화폐를 만들지 않고, 기존 비트코인의 소스 코드를 일부 수정하여 스마트 계약 기능을 구현하고자 하였다. 그러나 비트코인 커뮤니티에서 자신의 요구가 받아들여지지 않자, 비트코인을 포크하여 새로 이더리움이라는 암호화폐를 만들고 스마트 계약 기능을 구현하였다.

스마트 계약은 코드에 적힌 계약 조건이 만족되면 그 즉시 계약이 성사된다. 이때 계약 상대방이 믿을만한 사람인지, 중간에 신뢰를 보증할 제3자가 필요한 것은 아닌지, 계약이 안전하게 처리됐는지를 고민할 필요가 없다. 모든 과정은 자동으로 이뤄진다. 즉, 스마트계약은 어떠한 다운타임, 검열, 사기 행위, 제3자 간섭 없이 프로그래밍된 대로 정확히 실행되는 프로그램이다. 코드로서 블록체인에 기록되기 때문에 누구도 처음에 명시된 조건을 바꿀 수 없다. 이더리움은 블록 안에 거래 기록뿐 아니라 조건문과 반복 명령어 등 실행 코드를 포함하는 것이 가능해 금융 결제뿐만 아니라 다양한 분야에서 사용할 수 있다. 그래서 비트코인의 제한적인 스마트 계약과는 달리 이더리움에서는 각 비즈니스 로직에 따른 복잡하고 다양한 계약 패턴을 소화할 수 있다. 스마트 계약 기능을 사용하면, 개발자가 직접 계약 조건과 내용을 코딩할 수 있기 때문에, 원칙적으로 인간이 상상할 수 있는 모든 종류의 계약을 이더리움 플랫폼을 이용해 구현할 수 있다.

솔리디티

솔리디티(Solidity)는 이더리움 플랫폼 안에 내장돼 있는 프로그래밍 언어이다. '프로그래밍 언어'는 이더리움의 고유 언어 '솔리디티'를 뜻한다. 솔리디티는 튜링 완전 언어이다. 즉, 튜링 머신에 들어갈 알고리즘을 만들 수 있는 언어이다. 특정 프로그램 언어가 '튜링 완전 언어'로 평가받는다는 것은 이 프로그램을 이용하면 어떠한 애플리케이션도 개발할 수 있고, 어떤 계산식도 풀 수 있다는 것을 의미한다.

DApp을 위한 플랫폼

이더리움은 다른 암호화폐를 개발하고 운영하기 위한 플랫폼으로 사용할 수 있다. 모든 암호화폐는 기본적으로 매우 유사한 방식으로 작동하기 때문에, 프로그램 소스 코드의 상당 부분이 동일하게 재사용될 수 있다. 새로운 암호화폐를 개발할 때마다 매번 반복하여 새로 프로그램 소스 코드를 작성하지 않고, 기존 암호화폐를 기반으로 몇 가지 차이점에 해당하는 부분만 새로 개발하는 것이 효율적이다. 비탈릭 부테린은 이런 특징을 고려하여, 여러 가지 암호화폐에서 공통적으로 사용할 수 있는 특징들을 모아 이더리움 플랫폼을 구성했다.

개발자는 스마트 계약으로 다양한 분산형 애플리케이션(DApp, Decentralized Application)을 개발할 수 있다. 이 디앱은 익명성, 무국적성, 탈중앙화, 분산화 등의 블록체인의 특성을 고스란히 가지고 있어서 국가에서 직접적으로 통제하는 것이 불가능하고, 스마트 계약을 통해 각 사물 그리고 수많은 주체들과 계약을 만들어서 자동화된 경제생활도 누릴 수 있는 등 많은 가능성을 안고 있다. 현재 무수한 소규모 블록체인 DApp이 이더리움 위에서 운영되고 있고, 그 수는 점차 늘어나고 있는 추세다. 경제뉴스 사이트인 파이낸스 매그닛(Finance Magnate)의 보도에 따르면, 오픈 에코 시스템으로 현재 이더리움에서 2017년 기준으로 총 1,090개의 분산 앱(DApp)과 700개 이상의 암호화폐 토큰이 이더리움 플랫폼 기반으로 개발되었다고 한다. 덕분에 이더리움은 비트코인 다음 가는 블록체인으로 꼽히지만, 과거에 비해 전송속도가 느려졌다.

ERC-20 토큰

이더리움 내에서 만들어지는 토큰의 표준이 ERC-20 이다. 호환성 및 관리를 쉽게 하기 위해 토큰도 일정한 표준을 따른다. Dapp들간의 상호작용을 증진시키고 다른 토큰 간 통합 시 오류와 버그 가능성을 줄일 수 있다. ERC20은 대체가능한 암호화폐를 지원한다.

이더리움 가상 머신(EVM)

이더리움은 프로그래밍이 가능한 블록체인이다. 이더리움은 사용자에게 사전 정의된 일련의 작업을 제공하기보다 사용자가 원하는 복잡성을 따라 직접 작업을 만들 수 있도록 한다. 좁은 의미에서 이더리움은 디앱을 위한 플랫폼을 정의하는 일련의 프로토콜을 의미한다. 그 중심에 이더리움 가상 머신 (EVM)이 있다. EVM은 임의의 복잡한 알고리즘 코드를 실행할 수 있다. 컴퓨터 과학 용어로 이더리움은 "Turing complete"이다. 개발자는 JavaScript 및 Python과 같은 기존 언어를 모델로 한 친숙한 프로그래밍 언어를 사용하여 EVM에서 실행되는 응용 프로그램을 만들 수 있다. 즉, 이더리움은 Ethereum Virtual Machine (EVM)이라고 하는 블록체인에서 실행 환경을 구현한다. 네트워크에 참여하는 모든 노드는 블록 검증 프로토콜의 일부로 EVM을 실행한다. 네트워크 내 모든 노드는 EVM을 구동하는 것이다. 모든 노드는 EVM을 사용해 스마트 계약을 가리키는 모든 트랜잭션을 실행하므로 모든 노드는 동일한 계산을 수행하며 같은 값을 저장한다. 이렇게 이더리움 가상 머신(EVM)을 통해 모든 노드들의 컴퓨터에서 동일한 연산을 수행함으로 동일한 상태(state)에 합의한다. 이더리움은 전 세계 모든 참가자가 동일한 하나의 컴퓨터를 돌리는 것과 같기 때문에 '세계 컴퓨터(word computer)"라 불리기도 한다. 스마트계약에 기반한 디앱은 모두 EVM(Ethereum Virtual Machine)이라는 환경에서 동작하는 과정은 아래와 같다. 스마트계약이 Solidity라는 이더리움 고유 언어로 작성된다. 이것을 solc로 컴파일해서 생성된 바이트코드는 geth를 통해 블록체인에 등록된다. 블록체인에 저장된 바이트코드는 결국 EVM에서 실행된다. geth와 EVM은 하나의 프로세스로 동작하고, Solidity로 작성된 스마트계약은 EVM에서 동작하기 때문에 운영체제에 종속되지 않는다.

합의 알고리즘

합의 알고리즘이란 P2P 네트워크와 같이 정보 도달에 시간차가 있는 네트워크에서 참가자가 하나의 결과에 대한 합의를 얻기 위한 알고리즘이다. 각 노드에서 블록체인을 공유하기 위해 사용하는 중요한 기능이다. 이더리움은 합의 알고리즘으로 PoW를 채택하고 있지만 앞으로는 PoS로 변경할 예정이다. 기존의 PoW는 소수의 마이닝 풀이 연합 또는 거액의 투자를 함으로써 과반수의 해시레이트로 ‘51% 공격’을 할 수가 있다. 반면 PoS는 보유한 자산 크기, 즉 화폐량을 더 많이 소유하고 있는 승인자가 먼저 블록을 생성할 수 있다는 특징이 있다. 이것은 ‘대량 통화를 소유하고 있는 참가자는 그 통화 가치를 지키기 위해 시스템의 신뢰성을 손실하지 않을 것이다’라는 전제를 바탕으로 하고 있다. 실제 네트워크에서 일반 데스크톱 (또는 랩톱) 컴퓨터는 블록을 성공적으로 채굴하여 이더를 수신하는 데 매우 오랜 시간이 걸릴 수 있다. 하지만 채굴 전 컴퓨터에 "DAG 작성"이라는 프로세스를 수행한다면 상황은 달라진다. 이 DAG (Directed Acyclic Graph)는 ASIC 채굴기가 이더 채굴을 위해 대량 생산되는 것을 막기 위해 채굴에 필요한 대형 데이터 구조이다. DAG의 목표는 채굴자를 보호하여 가정용 컴퓨터만으로도 경쟁력을 유지하기 위한 것이다. DAG가 생성하는 데 약 10 분이 걸리고, 생성이 완료되면 Geth는 자동으로 채굴을 시작한다. 이더리움의 작업 증명 알고리즘의 연산법은 Scrypt 또는 SHA-256을 사용하지 않고, 대신 Hashimoto/Dagger hybrid인 EtHash를 사용한다. Ethash 작업 증명 알고리즘은 메모리가 부족하기 때문에 각 GPU에 적어도 1GB 이상의 RAM이 필요하다. 병렬화 비용을 높이기 위해 GPU에 넣거나 빼는 데이터 집합인 DAG가 1GB에서 시작하여 무기한으로 계속 성장되기 때문에 1+이라고 한다. 2GB는 일년 내내 계속 채굴을 진행하는 데 적절한 근사치이다.

P2P 네트워크

이더리움은 비트코인과 마찬가지로 P2P 네트워크상에서 거래 이력을 블록체인에 기록하는 한편 스마트계약이나 실행 이력도 기록할 수 있는 특징이 있다. 비트코인과 마찬가지로 블록이 생성되면 블록에 저장된 스마트계약이나 송금이 실행된다. 노드가 네트워크의 일부가 되기 위해서는 네트워크 내 다른 노드와 연결돼야 한다. 네트워크에 있는 모든 노드와 연결될 필요는 없으며 대신 몇 개의 다른 노드와 연결하면 된다. 그리고 이 노드들도 다른 몇 개의 노드와 연결된다. 이러한 방식으로 전체 네트워크가 서로 간에 연결된다이렇게 중앙 서버가 없는데도 네트워크 내 다른 노드를 찾을 수 있는 이유는, Kadelima 프로토콜에 기반을 둔 자체적인 노드 검색 때문이다. 이러한 노드 검색에는 부트스트랩(Bootstrap) 노드라고 불리는 특별한 종류의 노드가 있다. 부트스트랩 노드는 일정 기간 동안 연결했던 모든 노드 목록을 유지한다. 피어가 이더리움 네트워크에 접속될 때, 마지막 지정된 시간 내에 연결됐던 피어의 목록을 공유하는 부트스트랩 노드에 먼저 연결된다. 연결된 피어는 이제 다른 피어들과 연결되고 동기화된다. 그밖의 다른 노드는 디스커버리 프로토콜을 사용해 발견할 수 있다. 모든 P2P 커뮤니케이션을 블록체인상에서 실행하는 것은 비용이 많이 들기 때문에 이더리움은 3개의 커뮤니케이션 프로토콜을 구축했다. 메시지 확산을 위한 Swarm 프로토콜, 안전한 메시지 통신을 위한 Whisper 프로토콜, 그리고 트랜잭션과 블록 해시를 위한 커뮤니케이션을 위한 Eth프로토콜을 구현했다.

가스

가스(Gas)는 이더리움 블록체인에서 이루어지는 모든 작업에 대해 거래를 보내는 사람이 지불해야 하는 수수료의 이름이다. 가스라는 이름은 이 수수료가 스마트 계약의 움직임을 주도하는 암호 연료의 역할을 한다는 점에서 영감을 받아 만들었다고 한다. 코드를 실행하는 채굴자로부터 이더로 사용할 가스가 구입된다. 가스 가격은 최소 한도보다 더 낮은 가스 가격으로 거래하려는 것을 거부할 수 있는 채굴자에 의해 결정된다. 가스를 얻으려면 계정에 이더를 추가하기만 하면 된다. 가스 단위(gas unit)는 가장 작은 유형의 거래이다. 가스 단위는 수행해야하는 작업량의 측정값이지 금전적인 가치를 나타낸 값이 아니다. 이더리움은 일정시간 동안 제한된 가스만 처리할 수 있다. 채굴자들 역시 수많은 거래 요청들을 조절해야 한다. 속도를 조절하지 않으면 과도한 사용이나 스팸 트랜잭션들로 네트워크에 과부하가 걸릴 수 있다. 따라서 채굴자들은 가스가격(Gas Price)이나 가스한도(Gas Limit)에 의존해 작업을 선택한다. 가스 가격은 일종의 뇌물과 같다. 채굴자에게 가스를 더 많이 지불하면 먼저 거래를 수행하게 할 수 있다. 만약 가스 가격을 0으로 설정한다면 거래가 계속 밀려나게 된다. 가스 한도는 요청하는 작업량의 추측이다. 한도를 너무 낮게 설정하면 작업이 완료되지 않고 거래가 실패해 그 시점까지 사용된 이더가 손실된다. 가스 한도는 작업 중단 시점을 보장함으로써 무제한으로 이더를 사용하는 것을 방지한다. 가스는 스마트 계약의 코드가 복잡할수록, 저장 공간을 많이 사용할수록 더 많이 지불해야 한다. 따라서 가스는 네트워크의 과부하를 막으며 이더리움 플랫폼이 계속 운영되도록 하는 인센티브 역할을 한다.

트랜잭션

이더리움에서 ‘트랜잭션’이라는 용어는 외부 소유 계정에서 블록체인의 다른 계정으로 보낼 메시지를 저장하는 서명된 데이터 패키지를 나타내기 위해 사용한다. 트랜잭션은 1. 메시지 수신자, 2. 발신자를 확인할 수 있는 서명, 3. 전송할 이더의 양, 4. 계약서로 전송된 메시지를 포함할 수 있는 선택적 데이터 필드, 5. 트랜잭션 실행을 위해 허용되는 최대 연산 단계 개수(가스 한도), 6. 트랜잭션 발신자가 각 연산 단계를 위해 지불하는는 비용(가스 가격)을 포함한다. 처음 세 항목은 암호화폐에서 거의 표준처럼 사용되는 값이다. 데이터 필드는 이렇게 모든 거래에는 GAS 한도와 가스 가격이 포함되어야 한다. 평균 15초마다 가장 최근에 처리된 트랜잭션과 함께 새로운 블록이 블록체인에 추가되고, 이 블록을 생성한 컴퓨터에는 3개의 이더가 보상으로 주어진다.

ICO도입 → DAICO로 변경

비탈릭 부테린은 초기 이더리움 개발에 필요한 자금을 모으기 위해 ICO 방식을 도입했다. ICO는 Initial Coin Offering의 약자로서, 새로운 암호화폐를 만들기 위해 불특정 다수의 투자자들로부터 초기 개발 자금을 모집하고 그 대가로 코인을 나눠주는 '초기코인공개' 행위를 말한다. 크라우드펀딩(crowdfunding)의 일종으로서, 주식 공개 모집을 의미하는 IPO에서 나온 말이다. 투자자들은 기업이 제공하는 웹사이트, 백서, 개발 결과물들을 살펴보고 그들이 새롭게 발행하는 암호화폐의 추후 가치를 판단함으로 투자 여부를 결정한다. 크라우드펀딩의 장점은 제품이나 서비스의 아이디어를 구현하는 기업이 자금을 조달하기 위해 인터넷에서 공모하면 되고, 투자자도 소액으로 부담 없이 쉽게 참가할 수 있다는 것이다. 개인이나 기업이 자금 조달을 위한 프로젝트 정보를 스마트계약으로 만들어 투자자를 모집하고, 투자자는 암호화폐를 사용해 자금을 제공한다. 투자한 프로젝트가 이익을 낸다면 배당금은 암호화폐로 돌려받을 수 있다. 이더리움에 도입된 ICO 방식은 대성공을 거두어, 이후 다양한 암호화폐 개발에서 ICO 방식의 자금 모집이 널리 확산되었다. 하지만 쉽고 빠르게 자금을 조달할 수 있고 신원 확인과 추적이 쉽지 않다는 암호화폐의 특성을 이용한 사기도 많이 발생했다. 만들지도 않을 암호화폐를 만든다고 웹사이트와 백서를 만들고 ICO를 유치해 자금을 모은 후 도피하는 방식이 일반적인 ICO 사기 방식이다. 무엇보다 더 심각한 문제는 ICO로 많은 자금을 조달했으나, 백서나 개발 계획에 적은 대로 개발을 진행하지 않는 경우다. 그리하여 비탈릭 부테린은 2018년 1월 새로운 방식의 다이코(DAICO)를 제시했다. 다이코는 탈중앙화 자율조직을 의미하는 DAO(Decentralized Autonomous Organization)와 ICO의 합성어이다. 기존 ICO는 모금액을 개발사가 ICO 직후 단 번에 모두 회수해가는 구조이다. 개발사가 실제 개발 로드맵을 지킬 의지나 능력이 있는지 견제할 수 있는 장치가 없었다. 그리고 환불을 받을 수도 없는 구조다. 그래서 다이코는 ICO 이후 모든 권한을 개발팀에게 주는 것이 아니라 투자자들과 함께 의사결정함으로 자금을 사용하는 새로운 방법이다. 다이코의 핵심 기능은 수도꼭지를 뜻하는 ‘탭(Tap)’ 과 ‘리펀드(Refund)’ 라는 컨셉으로 설명 가능하다. 탭은 마치 수도꼭지에서 물이 조금씩 나오듯, 모인 자금을 한꺼번에 개발진에게 주는 것이 아니라 일정 기간에 나눠 합리적으로 주는 방식을 일컫는다. 리펀드 기능은 ICO의 가장 큰 문제점으로 꼽혔던 ‘투자금 환불’ 문제를 풀어냈다. 만일 프로젝트 진행에 심각한 문제가 있을 경우, 투자자들은 남은 자금을 환불받을 수 있다. 모두 이더리움이 제공하는 스마트 계약으로 인출 대상과 시기, 물량을 사전에 코드로 지정하거나 묶어 둘 수 있는 기능을 활용하는 원리다.

The DAO 공격

The DAO는 독일 Slock.it사의 분산 크라우드펀드 프로젝트이다. 이더리움을 기반으로 하며 탈중앙화, 자율적 시스템을 지향하고, 약 1,500억원이라는 크라우드 펀딩 사상 최고의 자금을 모은 것으로 화제가 됐다. The DAO 참가자는 이더를 담보로 DAO토큰을 소유함으로써 개인이나 기업이 제출한 신규 사업에 출자할 수 있다. 제안은 ‘큐레이터’라는 관리자가 부정이 없는지 확인하고 문제없이 승인된 제안(DAO)은 투표권을 부여받는다. 투표에서 많은 득표를 한 사업은 출자금을 받을 수 있다. 이렇게 출자금을 받은 사업은 이익의 일부를 출자자에게 돌려주게 된다. 만약 투표 결과에 찬성하지 않는다면 자신이 DAO에 모아둔 자금을 DAO에서 떼어내는 Split이라는 기능을 사용해 자신의 자금을 가지고 올 수 있다. 이 Split 기능이 2016년 6월 이더리움 커뮤니티를 뒤흔든 The DAO 공격 사건을 일으켰다. The DAO 공격은 The DAO 프로그램의 약점을 이용해 공격자가 새롭게 분리해 만든 자식 DAO를 통해 약 520억원 가량을 부정하게 이동시킨 사건이다. 원래 계획은 기존의 투자 프로젝트에서 분리해 새로운 투자 프로젝트(자식 DAO)를 만들고 이 곳에 출자금을 옮기기 위한 것이었다. 하지만 출자금을 옮기는 기능에 취약점이 있다는 것을 안 공격자가 그 취약점이 악용해 공격코드를 삽입함으로 부정하게 돈을 이동시킬 수 있었다. 사건 대응을 둘러싸고 이더리움 커뮤니티에서 논의가 계속됐으며 결국 하드포크를 하기로 결정했다. 블록체인을 다시 작성해 공격자의 DAO로 이동된 자금을 환불용 DAO로 옮긴다. 이때 모든 블록체인을 다시 쓰는 것이 아니라 공격자의 DAO와 관련된 부분만을 수정한다. 하지만 하드포크에 대한 비판도 생겨났다. ‘블록체인의 변조 불가능성이야말로 가장 중요하다’며 The DAO 라는 1개의 프로젝트 구제를 위해 플랫폼인 이더리움 자체에 손을 대는 것에 반대하는 움직임은 ‘Ethereum Classic’이라는 분파를 만들게 했다.

로드맵

2017년 이더리움재단은 이더리움 로드맵 4단계를 제시했다.

  • 1단계는 프론티어(Frontier)로서 암호화폐인 이더리움을 개발·채굴하고 네트워크를 형성하는 단계이다.
  • 2단계는 홈스테드(Homestead)로서 이더리움이라는 신대륙에 가정집이 하나둘씩 생기면서 생태계가 구축되는 단계이다.
  • 3단계는 메트로폴리스(Metropolis)로서 가정집들이 모여 도시가 형성되는 것처럼 이더리움의 대중화를 위한 사회적 인프라가 형성되는 단계이다. 이를 위해 두 번의 하드포크를 진행할 예정인데, 2017년 10월 16일 4,370,000번째 블록을 기준으로 1차로 비잔티움(Byzantium) 하드포크가 이루어졌다. 2018년에 2차로 콘스탄티노플(Constantinople) 하드포크가 진행될 예정이다. 이를 통해 이더리움 채굴 방식은 작업증명(PoW)에서 지분증명(PoS) 방식으로 전환하게 된다.
  • 마지막 4단계는 세레니티(Serenity)로서 모든 변화 후에 평온 또는 평정을 찾는 마지막 단계이다.

향후 계획

이더리움은 향후 대용량 데이터 처리를 위해 데이터 전송속도를 높이고 비용은 낮추는 방향으로 나갈 것이다. 문제 해결을 위해 이더리움은 현재 ‘플라즈마’를 가동 중이다. 플라즈마는 이더리움 플랫폼에 담기는 데이터를 줄이는 방식으로, 전체 네트워크 속도를 높여 블록체인 내 개별 노드에 걸리는 부하를 줄이고 연결 수수료는 낮추는 것이 목표이다. 반면 처리 용량을 확장시키기 위해 이더리움은 샤딩에 주목하고 있다. 샤딩은 병렬처리를 통해 블록체인에 확장성을 부여하는 온체인(on-chain) 솔루션이다. 샤딩은 대용량의 데이터를 처리하기 위해 테이블을 영역별로 수평분할하여 데이터를 분산 저장하고 처리하는 방식이다. 기존 블록체인 기술은 트랜잭션을 나눠 처리 하지 않고 모든 연산을 실행하는 직렬 처리 방식으로 속도가 느렸다. 즉, 샤딩은 이더리움 노드가 처리하는 데이터를 분할하여 속도를 끌어올리는 것이다. 샤딩을 통해 초당 처리가능한 거래의 양을 극대화할 수 있다. 또, 애플리케이션이 쓰일 수 있는 다양한 영역들을 고민하면서 이더리움을 기반으로 운영되는 애플리케이션이 어떻게 활용되느냐가 관건이라는 것이 이더리움의 주장이다. 동시에 보안성을 강화하겠다는 목표도 제시했다. 개별 노드에 어떤 공격이 들어오고 어떻게 효율적으로 대처할 수 있는지 관심을 가지고 노드별 보안을 강화한다는 것이다. 확장성의 솔루션인 샤딩 기술, 캐스터, 라이덴 네트워크, 그리고 플라즈마와 같은 신기술 개발, 보안성 강화 등이 이더리움의 미래 도전 과제들이다.

거래

이더리움 가격은 2017년 1월에 1만원이었으나 6월에 48만원까지 급상승하여 무려 40배나 올랐다. 이후 조정국면에서 13만원까지 떨어졌다가 2018년 1월 10일에 234만원까지 올랐다가 2월에 80만원대로 떨어졌다. 이더리움의 시장 규모는 2017년 6월 기준으로 약 20조원이었는데, 2018년 2월 기준으로 약 80조원 규모로 성장했다. 이더리움의 시가 총액은 2018년 7월 기준으로 460억 달러, 즉 약 47조원으로서, 시가 총액 2위의 암호화폐이다.


각주

  1. 블록인프레스, 〈이더리움 지분증명 합의 알고리즘 ‘캐스퍼’, 검토 절차 시작〉, 《블록인프레스》, 2018-04-23

참고자료

같이 보기