개발자여, 웹어셈블리 품은 이더리움에 주목하라

비탈릭 부테린, 디코노미에서 세레니티 로드맵 설명

컴퓨팅입력 :2019/03/26 17:16    수정: 2019/03/26 22:30

애플리케이션을 구동할 수 있는 최초의 블록체인으로 등장한 이더리움이 더 많은 개발자를 생태계 안으로 끌어들이기 위해 준비 중이다. 세레니티로 불리는 이더리움 2.0 업그레이드를 통해 개발 환경의 대폭 개선을 꾀하고 있는 것이다. 기존 코드 작동 환경인 이더리움 가상머신(EVM)을 웹어셈블리 기반 이와즘(eWASM)으로 변경하는 게 핵심이다.

웹어셈블리는 웹에서 고성능을 요구하는 애플리케이션이 빠르게 실행될 수 있도록 만들어준다. 웹 개발 환경을 크게 혁신하고 있다는 평가를 받는 기술이다.

이더리움이 웹어셈블리를 채택하게 되면, 웹어셈블리 장점을 블록체인 안으로 들여오게 될 것으로 기대된다. 다양한 프로그래밍 언어로 스마트컨트랙트 작성이 가능해지고, 코드 실행 속도도 향상될 수 있다. 무엇보다, 거대한 개발자 커뮤니티를 기반으로 빠르게 성장하고 있는 웹어셈블리 기술 혁신을 블록체인에 적용할 수 있다는 점에서 주목된다.

세레니티는 이더리움 개발 환경 개선뿐 아니라, 네트워크 성능과 효율 향상을 위한 다양한 기술 변화까지 총 망라한 거대한 업데이트다. 2.0으로 진화한 '차세대 이더리움'은 지금보다 개발자 친화적으로 진화할 것으로 기대된다.

이더리움은 이번 업그레이드를 통해 더 많은 개발자를 블록체인 산업으로 끌어들일 수 있을까.

지디넷코리아 공동주관으로 다음달 4일~5일 서울 장충체육관에서 열리는 '제2회 분산경제포럼(디코노미2019)'에서 비탈릭 부테린이 직접 이 물음에 대한 답을 내놓는다. 그는 이번 행사에서 '이더리움 2.0'의 방향성과 포함된 기술을 상세하게 소개할 예정이다.

비탈릭 부테린이 지난해 개최된 제1회 분산경제포럼 마지막 기조연설을 진행하고 있는 모습.

이더리움, 웹어셈블리 채택... 왜 중요한가?

부테린은 최근 홍콩에서 열린 이더리움 슈퍼 밋업을 통해 이더리움2.0을 "작은 기술적인 개선들이 모인 커다란 변화"라고 소개했다.

이더리움 2.0은 여러가지 기술 개선 프로젝트가 동시다발적으로 진행되는 대형 업데이트라는 설명이다. 합의 알고리즘을 지분증명방식(PoS)으로 변경하는 '캐스퍼', 데이터를 소그룹(샤드)으로 나눠 처리하는 '샤딩', 프로그램 작동 환경을 웹어셈블리 기반으로 변경하는 '이와즘'까지 이더리움 2.0에서 진행되는 개선 사항은 모두 근본적이고 구조적인 변화를 불러올 것들이다.

이중 캐스퍼와 샤딩은 블록체인 업계에서 상당히 알려진 기술이다. 각각 블록체인이 지나치게 에너지 소모적이고 일부 채굴업자가 네트워크를 독점하고 있다는 문제와 갑자기 많은 트래픽이 발생했을 때 원활하게 처리를 못한다는 성능문제를 풀기 위해 나온 솔루션이다. 지난해 블록체인 기술 한계에 대한 관심이 높아지면서 이런 해결책에 대한 이해도도 함께 높아졌다.

이와즘은 캐스퍼나 샤딩에 비해 덜 알려진 기술이다. 하지만 블록체인 산업 밖에 있는 수많은 일반 개발자들을 이더리움 생태계로 유인할 결정적인 변화가 될 수 있는 만큼 주목할 필요가 있다.

이더리움은 지난 2015년 애플리케이션을 구동할 수 있는 최초의 블록체인으로 등장했다. 스마트컨트랙트(자동계약) 실행 환경인 EVM을 블록체인에 구현하면서 단순 송금을 넘어 복잡한 프로그램 작동도 가능해 진 것이다.

이더리움 진영이 기존 EVM을 대체할 웹어셈블리 기반 이와즘을 개발 중이다.

하지만, EVM이란 게 처음 등장한 것이다 보니, 한계가 많을 수 밖에 없었다. 개발 언어는 솔리디티 밖에 지원하지 않고, 스마트컨트랙트 실행도 병렬처리가 되지 않아 느리다는 문제가 존재한다.

이런 한계를 개선하기 위해 등장한 게 이와즘이다. EVM을 웹어셈블리 기반 실행 환경으로 대체해, 개발자들에게 보다 보편적인 개발환경을 제공하겠다는 게 목표다.

웹어셈블리는 웹을 거의 '네이티브 애플리케이션' 처럼 빠르게 실행할 수 있도록 만들어주는 차세대 런타임이자 바이너리 포맷 표준이다. C나 C++, 러스트로 짠 코드를 asm.js라는 특수한 자바스크립트로 바꿔 웹에서 가볍게 실행할 수 있게 해준다.

국내 이더리움 기반 개발 업체 온더는 기술 블로그(☞링크)를 통해 이더리움에 이와즘이 결합됐을 때 장점을 자세히 소개했다.

온더는 블로그에서 웹어셈블리의 장점에 대해 "웹에서 실행하기 힘들었던 고성능을 요구하는 프로그램을 웹어플리케이션으로 만들 수 있고 C/C++, 러스트로 만든 방대한 라이브러리를 이용할 수 있게 된다"고 설명했다.

이어 이더리움 환경에서 웹어셈블리에 기반한 이와즘을 구현하게 되면 "기존 EVM보다 빠른 실행 속도를 기대할 수 있고 (솔리티디 이외에) 기존 프로그래밍언어로 스마트 컨트랙트를 작성할 수 있다"고 혜택을 설명했다.

또 "이와즘이 웹어셈블리를 거의 그대로 사용하고 있어 방대한 웹어셈블리 개발 커뮤니티의 지원을 받을 수 있다"는 점도 중요한 장점으로 꼽았다.

이더리움 2.0은 트릴레마를 극복할까

세레니티로 업그레이드되면 이더리움 네트워크의 초당 트랜잭션 처리(TPS) 성능이 지금 보다 1천배 이상 증가할 것이라고 이더리움 진영은 예상하고 있다. 현재 14TPS에서 1만4천TPS로 껑충 뛴다는 전망이다.

세레니티는 탈중앙성과 보안성을 훼손하지 않으면서 확장성 문제를 풀고자 했다. 확장성, 탈중앙성, 보안성은 3개의 요소가 얽혀 하나를 이루려면 나머지 두가지 목표를 이룰 수 없는 일명 '트릴레마(Trillemma)' 상황에 놓인 난제다.

이더리움 진영은 하나의 체인에서 모든 문제를 해결하는 것이 이론적으로 불가능하다고 결론 내렸다. 하나의 체인에서 확장성을 확보하려면 노드 수를 줄이든, 합의 과정을 단순하게 만들든 탈중앙성을 훼손시키는 방향으로 갈 수 밖에 없기 때문이다.

그래서 내놓은 해결책은 이렇다. 체인의 레이어(층위)를 메인체인, 샤드체인, 그리고 그 중간에 있는 비콘체인까지 세개로 나누고, 각 레이어들은 서로 보안을 공유하도록 연결했다.

메인 체인은 여전히 합의알고리즘으로 작업증명(PoW) 방식을 채택해 탈중앙과 보안을 중점적으로 담당한다. 샤드 체인과 비콘체인은 확장성과 성능에 초점을 맞췄다.

관련기사

샤딩은 노드를 일종의 소그룹으로 나눠, 그룹 마다 다른 일을 배정해 작업을 분산하는 데이터처리 방법이다. 비콘체인은 각 샤드에 검증 노드를 랜덤하게 배정하는 일을 담당한다. 샤드에 노드가 랜덤하게 배정되도록해 노드 간 담합할 가능성을 제거했다.

다음달 4일~5일 열리는 디코노미2019에서 부테린은 '이더리움 2.0'의 방향성과 현재 진행 상황을 공유할 예정이다. 신청은 온오프믹스(☞링크)를 통해 가능하다.