이더리움
[clearfix]
1. 개요
[6]
2015년 7월 30일 비탈릭 부테린(Vitalik Buterin)[7] 이 창안한 퍼블릭 블록체인 플랫폼이자, 이 플랫폼의 자체 통화 이름이다.
비트코인과 이더리움의 가장 큰 차이는 적용 범위에 있다. 비트코인이 결제나 거래 관련 시스템, 즉 화폐로서의 기능에 집중하는 반면, 이더리움은 핵심 기술인 블록체인(blockchain)을 기반으로 거래나 결제뿐 아니라 계약서, SNS, 이메일, 전자투표 등 '''다양한 애플리케이션'''을 투명하게 운영할 수 있게 확장성을 제공한다. 즉 화폐로서뿐 아니라 다른 용도, 줄여서 dApp(댑)이라고 부르는 분산 애플리케이션(Decentralized Application)을 누구나 만들고 사용할 수 있게끔 하는 플랫폼이다. C++, Java, 파이썬, Go 등[8] 대부분의 주요 프로그래밍 언어를 지원해서 범용성도 꽤 갖추고 있다
이더리움의 높은 활용성 덕분에 다양한 이더리움 기반 토큰들이 만들어 지게 되었다. 대표적으로 파이어폭스 창시자가 만든 베이직 어텐션 토큰(BAT, Basic Attention Token), 이더리움 초기 개발진이 만든 골렘(GOLEM), 예측 시장 플랫폼 어거(AUGUR) 등이 있다. 모두 업비트와 같은 거래소에서 활발하게 거래되고 있는 유망 코인들이다. 이 것만 봐도 이더리움의 높은 활용성을 엿볼 수 있다.
비탈릭 부테린의 말에 따르면 이더리움의 어원은 여러 SF 관련 용어들을 찾아보다가 ether라는 단어가 마음에 들어 지어진 것인데, 월드 오브 워크래프트 불타는 성전을 플레이한 적이 있으며 거기에 나오는 Ethereum이라는 단체와의 연관성은 우연이라고 한다. #
2. 한글 표기 문제
초기에는 한글로 '''이시리움''' 또는 '''에테리움'''으로 표기하였으나 현재는 '''이더리움'''으로 통일되었다.
그런데 엄밀히 말하면 이건 정확한 라틴어 발음도 아니고 영어 발음도 아닌 국적 불명의 발음이라는 게 문제다. 라틴어를 기준으로 할 경우, 국립국어원이 라틴어를 한글로 옮길 때 사용하는 관행적 표기 방식대로라면 '에테레움'이 돼야 한다.
영어를 기준으로 할 경우 외래어 표기법에 따르면 두 가지 표기가 가능하다. 사실상의 미국 표준 발음을 기준으로 하면 '이시리엄([iˈθɪɹiəm]#)'이 되고, 사실상의 영국 표준 발음을 기준으로 하면 '이시어리엄([iˈθɪəɹiəm]#)'이 된다.
한글 표기가 이더리움이 된 이유는, 처음 이더리움을 한국에 알린 커뮤니티(meet-up의 한국이더리움 그룹)에서 이더리움이라는 발음을 사용했기 때문이다. 에테리움, 에씨리움, 이더리움 등 여러 후보를 놓고 회원들 간의 투표를 거쳐 이더리움으로 확정했다. 2015년 1월 당시 토론 내용은 이곳을 참고. 이 이더리움 한국 동호회는 당시 스위스의 이더리움 본부가 한국에서 유일하게 공식 인증한 곳이었다. 당시로서는 유일한 이더리움 모임이었고 회원 가운데 언론사 기자도 있었다. 2014년까지는 이더리움이 아직 세상에 공개되지도 않았을 때라 ethereum을 다룬 기사는 극소수에 불과했다. 2014년까지는 몇몇 언론에서 여러 발음을 혼용해 썼지만, 이 모임에서 이더리움이라는 표기를 사용한 이후 이더리움이라는 표기가 확산되게 된다.
언어학 전공자가 아니면서 해당 언어 발음법에 대해 거의 모르는 국립국어원을 포함한 일반 한국인 대중들은 외국어를 한글로 표기할 때 원어의 된소리를 거센소리나 예사소리로 바꾸고 받침이 있는 1음절을 2음절에서 3음절로 쪼개는 것이 일반적이기 때문에 이더리움으로 굳어졌을 가능성이 높다. ㅃ 발음이 나는 Paris나 España를 ㅍ인 파리와 에스파냐로 표기하는 것이나 1음절인 cake이나 MERS를 3음절인 케이크나 메르스로 표기하는 것 또한 이에 해당한다. 다만 국립국어원은 ## 이시리엄으로 적을수는 있으나, 정확한 발음은 알기 어렵다고 유보했다.
참고로 Ethereum의 약어인 이써(ether, [ˈiːθə(ɹ)])는 외래어 표기법상 이서로 옮겨야 하지만 이것도 에테르나 이더로 쓰는 경우가 많다.
3. 특징
Ethereum의 목적은 분산 애플리케이션 제작을 위한 대체 프로토콜을 만드는 것이다. 대규모 분산 애플리케이션에 유용할 것이라 생각되는 다른 종류의 제작기법을 제공하며, 빠른 개발 시간, 작고 드물게 사용되는 애플리케이션을 위한 보안, 다른 애플리케이션과의 효율적인 상호작용이 중요한 상황에 특히 주안점을 두고 있다.
Ethereum은 솔리디티(Solidity)라는 튜링 완전한 프로그래밍 언어를 내장하고 있는 블록체인이라는 필수적이고 근본적인 기반을 제공함으로써 이 목적을 이루고자 한다. 누구든지 이 언어를 사용해 스마트 컨트랙트, 분산 애플리케이션을 작성하고 소유권에 대한 임의의 규칙, 트랜잭션 형식(transaction format), 상태 변환 함수(state transition function) 등을 생성 할 수 있다.
네임코인의 기본적인 형태는 두 줄 정도의 코드로 작성할 수 있고, 통화나 평판 시스템 관련 프로토콜은 스무 줄 내외의 코드로 만들 수 있다. 어떤 값을 저장하고, 특정한 조건들을 만족했을 때만 그 값을 얻을 수 있게 하는 일종의 암호 상자인 스마트 컨트랙트 또한 이 플랫폼 위에 만들 수 있다.
4. 역사
최초 ICO가격
22 July to 5 August 2014: 2000 ETH = 1 BTC = 572-632 USD
6 August to 2 September 2014: 1999-1337 ETH = 1 BTC = 592-471 USD
4.1. The DAO
The DAO(Decentralized Autonomous Organization)란 탈중앙화된 자율조직에서 따온 말로 인공지능을 운영해 탈중앙화된 네트워크를 뜻한다. 이더리움 창시자인 비탈릭 부테린(Vitalik Buterin)을 필두로 이더리움 개발진들이 개발한 시스템이다.
자율 에이전트(Autonomous agents),탈중앙화된 앱(Decentralized applications: Dapps),탈중앙화된 조직(Decentralized organizations: DOs),탈중앙화된 자율 조직(Decentralized autonomous organizations -DAOs),탈중앙화된 자율 회사(Decentralized autonomous corporations/companies),완전 자동화된 기업(Fully Automated Business entity:FAB)의 개념을 통틀어 DAO 네트워크로 지칭한다. 탈중앙화 즉 어떤 조직도 소유하지 않고 자율적으로 합의하의 프로세스가 실행되며 분산화된 시스템으로 움직이게 된다.
일반인들이 이해하기 힘든 개념인데 쉽게 말해 이더리움으로 투자할 수 있는 펀드의 개념으로 생각하면 이해하는 데 도움이 된다. 이더리움으로 DAO 토큰을 구매해서 DAO 펀드에 투자하게 된다.
4.1.1. DAO 해킹 사태
2016년 6월 17일(UTC) DAO Contract 취약점을 이용해 약 360만 개의 이더리움(당시 시세 640억 상당)이 도난당하는 사태가 벌어졌다. 도난당한 코인은 전체 이더리움의 약 10%의 해당하며 해당사건으로 인하여 코인당 21달러에서 13달러까지 엄청난 가치 하락이 있었다.
해커는 DAO Contract 취약점을 이용해 이더리움 무한 나누기(Split)를 하고 이를 해커의 지갑으로 인출하였다. 원래는 나누기(Split) 과정에서 DAO 토큰이 없어져야 되는데 취약점 공격으로 DAO 토큰이 살아있어서 이더리움을 해커의 지갑으로 무한 인출하게 된다. 하지만 이 해킹당한 이더리움은 바로 인출이 되지 않는데 그 이유는 DAO 규정으로 인해 인출한 이더리움을 움직이려면 Split 후 48일 후에 자금을 출금할 수 있기 때문이다.
사건을 알아챈 일로부터 27일 안에 이더리움 개발진들이 조치를 취하면서 해킹한 이더들은 모두 휴지조각이 되게 된다.
4.1.2. 해결 방안은?
도둑맞은 거래자들을 위해 이더리움 재단이 조치를 취해야 하지만 생각보다 쉽지 않은데 이유는 이러하다. 기존의 은행들은 이런 일이 생기면 당연히 계좌를 동결하고 거래를 없던 것으로 해 계약을 파기하면 되지만 이더리움같은 가상 화폐는 블록체인 시스템으로 이루어져 해당 지갑을 소유자의 키 없이 건드릴 수 없게 되어있다.
해커들이 인출하기 전에 조치를 취해야되기 때문에 빠르게 대책을 세웠는데 이더리움 재단이 제시한 방법은 아래와 같다.
1. DAO 와 해당 Child DAO의 이동을 정지하는 소프트 포크(Softfork)
2. DAO 토큰 보유자들이 이더를 되돌려 받게 하는 하드 포크(Hardfork)
물론 마이너(채굴자)들과 거래소의 동의를 구하고 소프트 포크로 시행하려 했으나 도중에 DDOS 공격이 제보돼 취소되었다.
소프트 포크(Softfork)가 취소되고 모든 피해자들이 이더리움을 돌려받을 수 있는 하드포크로 압도적인 지지를 받아 2016년 7월 20일 10시경 1,920,000번째 블록을 기준으로 하드 포크를 단행해 결국 성공하였다.
하드 포크가 성공적으로 이루어지고 이더리움의 가격은 급등하며 안정적으로 다시 원래 가격을 찾는가 싶었으나...
4.2. Ethereum Classic(ETC)의 등장
Ethereum Classic 문서 참고.
4.3. Ethereum 2.0
이더리움 2.0 Stake 현황
이더리움 2.0은 대중화를 이뤄낼 수 있도록 디자인 된 새로운 버전의 향상된 기능을 가진 퍼블릭 블록체인이다.
현재 알려진 바로는 유저들에게 2.0 네트워크로 넘어올 수 있도록 인센티브를 제공하는 형식으로 작동하게 된다. 아직까지 이더리움 2.0은 정식 런칭되지 않았다.
이더리움 2.0은 비콘체인(Beacon Chain)이라고 불리는 전환단계를 거치게 되는데, 작업증명(Proof of Work) 체인인 이더리움 1.0 체인과 다르게 비콘체인과 같은 경우에는 다수의 검증인들의 구성에 따라서 블록이 생성된다.
2020년 11월 24일, 이더리움은 POS로 전환하는 이더리움 2.0 세레니티를 위한 준비를 완료했다.
2020년 12월 01일 출시 예정이며, 첫 번째 블록(제네시스 블록)은 2021년 1월 3일에 나온다.[9]
5. DoS 공격으로 인한 네트워크 불안정
2016년 9월 이더리움 DEVCON(개발자 컨퍼런스)가 진행된 후부터 알 수 없는 공격자로부터 지속적인 DoS[10] 공격으로 이더리움 네트워크에 데미지를 주었다. 이 네트워크 불안정으로 상당수의 마이닝 풀에서 채굴이 멈춰지거나 이더리움 전송 시 지속적인 딜레이로 전송이 잘 안되는 문제들이 발생했다. 공격 방식을 간단하게 설명하자면 이더리움은 전송시 수수료(gas) 비용이 필요한데 gas비용이 낮다는 것을 이용하여 서로 다른 계좌에 엄청난 수의 빈 거래를 발생시켜 네트워크에 무리를 주는 방식이다. 또한 스팸 공격으로 빈 어카운트를 마구잡이로 생성시켜 노드에 엄청난 메모리를 잡아먹게 하는 공격도 있었다. 이를 해결하기 위해서 지속적으로 소프트웨어 업데이트를 했지만 결론적으로 문제는 해결되지 않았고 해결하기 위한 방법으로 이더리움 개발진들은 어쩔 수 없이 다시 하드포크를 제시하였다.
이더리움 클래식(ETC) 역시 DoS공격을 받고 있으며 gas비 조정과 난이도 폭탄 제거를 위한 하드 포크가 2,500,000번째 블록 부터 시행되었으며 성공하였다. 링크
5.1. 이더리움 네트워크의 과부하
현재 이더리움은 대략 15초에 한 개의 블록이 나오고 있으며, 이 블록에는 많으면 200개 정도의 거래(또는 스마트 컨트랙트)를 수용할 수 있다.
하지만 이 처리량은 앞으로 수많은 dApp을 수용하기에는 턱없이 부족하며, 이더리움 개발진에서는 이를 해결하기위해 여러 신기술을 개발 중에 있다.
이미 여러 차례 네트워크 처리가 한계에 달한적이 있었는데, 2017년 6월 스테이터스(Status) ICO에 참가하고자 하는 사람들이 먼저 토큰을 가져가기위해 지나치게 높은 가스비를 제시해 용량을 잡아먹으면서 나머지 거래가 처리되지 않거나 아예 증발되면서 이더리움 가격이 급락하기도 했다. 완전한 증발은 아니고 거래가 중간에 붕 떠버리는 경우이다. 노드별로 동기화도 제대로 되지않아 몇 주 뒤에야 잔고를 찾을 수 있었다.
그리고 이에 대한 해결방안으로는 지불 채널, 샤딩, 플라즈마가 있다. 지금 샤딩, 플라즈마는 개발중 기술로 미완성이다.
또한 네트워크 트랜잭션 지연 문제와 더불어 치솟는 가스비는 소액 송금을 했을 때 소액 송금액보다 수수료가 많이 나가는 문제를 야기하고 있다.
- 이더리움 가스비는 ETH GAS STATION에서 자세하게 확인할 수 있다. ETH GAS STATION
5.1.1. DoS 공격 대응 하드포크(Hardfork)
DoS 공격으로 인한 네트워크 문제를 해결하기 위해서는 낮은 gas비의 허점을 이용한 네트워크 공격 문제로 하드 포크로 이를 수정해야 된다. 그로인해 하드 포크는 2단계로 진행이 되며 첫 번째로 gas비를 조정하며 두 번째로는 빈 거래,계정들 일명 쓰레기들을 청소하는 단계로 이루어진다고 이더리움 개발진들은 설명하고 있다. 참조
이로써 2463000번째 블록에서 하드 포크를 단행하였고 성공적으로 끝났다. 재밌는 점은 국내 마이닝 풀에서 2,463,000번째 블록을 채굴했다는 것. 하드 포크는 성공적으로 끝나고 기존의 공격 루트는 모두 차단되었으나 하드 포크를 발표하면서 발견된 EXP 공격 문제는 해결되지 않았고 2단계 작업에서 해결한다고 한다.
2016년 11월 23일 0시 30분쯤 DoS공격 대응 2차 하드포크가 2,675,000번째 블록에서 실행되었다. 총 하드포크 횟수로는 4번째 하드포크이며 코드명은 Spurious Dragon(가짜용)이다.
참고로 이때까지의 하드포크는
1.Homestead
2.DAO 해킹 대응 하드포크
3.DoS공격 대응 gas 가격 조정 포크
4.Spurious Dragon 빈 어카운트 청소
이렇게 진행되었다.
하드포크가 잘 진행되나 싶었으나 Geth에서 생긴 여러 가지 버그로 네트워크에 문제가 발생했다. 거래소들은 입출금을 잠시 중단시키고 이더리움 개발진들이 발빠르게 fix버전을 내놓았지만 투자자들의 불안감에 이더리움의 가격이 요동쳤다. 빈 어카운트 제거작업은 100% 완료됐지만 연속된 하드포크로 인해 투자자들이 많이 빠져나간 모습이다.
6. 크립토키티 등 Ethereum network 기반 게임들
2017년 12월에는 크립토키티(CryptoKitties)라는 dApp 기반 게임이 성공적으로 출시하면서 네트워크가 마비되는 사건이 있었다.
이더리움 가능성-한계 보여준 고양이게임
어제 구매했던 크립토키티를 팔아서 이더리움을 벌었다.
크립토키티를 해봤다
또한 다른 게임 형식의 dApp 들이 선보이고 있는데, 대부분 대중적으로 알려져 있지는 않고 암호 화폐에 관심이 많은 유저들 사이에서 소규모로 소개되고 플레이 되고 있다. 이와 같은 게임의 특징은, 상당수의 게임 내 구성 요소들이 일종의 '재화'로서 소개되고, 가치가 매겨진다는 점과 모든 행위 하나하나가 이더리움 네트워크와의 교신을 통해서 이루어 지는 것이므로 transaction fee가 소모된다. 즉, 유닛을 하나 뽑을 때마다 몇 원씩 사용해야 한다는 것이다.
Ether goo, Addictive crypto idle game
7. 관련 사이트
- 주요 커뮤니티
[1] ISO 4217에서 이더리움을 위한 코드를 따로 할당하지 않았으므로 비공식이다. 할당될 경우 ETH의 첫 두 글자 ET가 에티오피아의 국가 코드이므로 이대로 할당되기 어렵다. BTC도 같은 문제로 표준화 가능성이 더 높은 XBT 표기를 사용하는 곳도 있다.[2] Proof-of-Work, 작업 증명[3] 2021년 1월 14일 기준, 참조[4] 2020년 12월 1일 기준[5] 제21기, 2020년 12월 15일 기준[6] 다만 이는 초기 컨셉으로, 현재는 종합적인 퍼블릭 블록체인 플랫폼을 지향한다고 볼 수 있다.[7] 비탈릭 부테린은 페이스북의 창시자 마크 저커버그를 제치고 IT혁신상이라고 불리는 ‘월드 테크놀로지 어워드’의 IT 소프트웨어 수상자로 뽑혔다. 기사[8] 추가적으로 더 많은 언어들이 계속 포팅되고 있다.[9] 이는 비트코인 제네시스 블록일(2009년 1월 3일)과 동일하다.[10] DDoS공격으로 착각할 수 있는데 DoS와 DDoS는 다르다. 참고