장대한 블록체인 운영체제, EOS를 소개합니다. (번역: Introduction to EOS: the Epic (blockchain) Operating System)
TL;DR: EOS는 데이터베이스, 계정권한, 스케쥴링(운영체제), 인증, 그리고 인터넷 어플리케이션 커뮤니케이션을 제공하는 합의 블록체인 운영체제로써, 수백만의 유저가 사용하고, 초당 수백만 트랜잭션이 처리될 수 있도록 병렬화를 적용하여 스마트 비즈니스 개발의 효율을 크게 개선시켜주는 운영체제입니다.
책임의 한정: 아래에 나오는 대부분의 내용은 Dan의 컨센서스 프리젠테이션을 요약정리한 것입니다. 또한 제가 Dan의 키 슬라이드들을 투박하게 다시 그린 것들도 있습니다. 여기에 포함되어있는 모든 내용들은 Dan(@dantheman)의 프리젠테이션에서 나온 것입니다.
EOS: 선택된, 장대한, 엔터프라이즈용, 합의된, 블록체인 운영체제.
EOS를 소개하기에 앞서, 우리는 먼저 현재 블록체인 기술의 현재 상황 및 발전 경과를 이해해야 합니다. 비트코인은 공개된 원장 시스템을 도입했고, 이더리움은 보다 일반적화된 분산 어플리케이션의 수요가 있다는 것을 증명했습니다. 하지만 블록체인이 진정한 주류가 되기 위해서는, 실생활에 사용되는 비지니스 어플리케이션들의 엄청난 트래픽과 오퍼레이션의 규모를 감당할 수 있어야 합니다. 예를 들어 신용카드 네트워크는 초당 20,000건의 트랜잭션을 처리하고 있습니다. Facebook은 초당 52,000건의 '좋아요'를 처리하고 있으며, 이는 글쓰기 등 Facebook 내 다른 활동은 포함하지 않은 수치입니다. 금융업계에서는 시장 별로 초당 100,000건의 트랜잭션을 처리하고 있습니다.
반면 비트코인은 현재 블록의 크기 제한으로 인해 초당 3건으로 트랜잭션이 제한되고 있으며, 이더리움은 가스 제한으로 인해 초당 30건의 트랜잭션 밖에 처리하지 못하고 있습니다. 현재 주요 블록체인들의 가장 중요한 치명적인 제약은 단일 쓰레드(single-threaded) 밖에 처리할 수 없다는 사실입니다.
EOS는 이미 상당한 관심과 투자를 받고 있습니다.
우리가 어떻게 여기까지 발전해 왔을까요?
2013년에 분산거래소인 Bitshares가 만들어졌고, 2014년에 출시되었습니다. Bitshares는 위임된 지분 증명(delegated proof-of-stake) 방식을 사용하여 3초의 컨펌 시간을 달성하였고, 이를 통해 예측 가능하고, 안정적인 블록생성을 보여주었습니다. Bitshares의 첫번째 버전은 비트코인의 아이디어 일부분을 차용해서 만들어졌고, 같은 기술을 공유했으나, 거래소로써 요구되는 퍼포먼스를 달성하지는 못했습니다. 2015년, Graphene이 탄생했고, Bitshares는 완전히 새로 만들어졌습니다. 이 덕분에 싱글 머신에서 초당 100,000건의 트랜잭션을 처리할 수 있었고, 분산된 글로벌 네트워크의 스트레스 테스트에서 초당 18,000건의 트랜잭션 처리를 달성할 수 있었습니다. 계정이름 또한 Bitshares에서 (고급 계층 동적 문턱 멀티시그 - advanced hierarchical dynamic threshold multisig) 도입되었는데, 이를 통해 계정이 키로부터 분리되어 특정 단체가 구조화될 수 있고, 다른 유저들에게 권한을 위임하는 것이 가능해졌습니다(일반적으로 회사나 단체는 계층 구조로 이루어져있고, 하위 계층의 구성원은 상위 계층의 구성원과는 다른 권한을 갖고 있어야 하는데 이러한 계층 구조를 지원하는 것이 가능해졌음 - 역자주). 2016년 새로운 개념적 사항을 탑재한 Steem이 출시되었습니다. 소셜 미디어 유저들은 매번 좋아요를 할 때마다 돈을 내고싶어 하지 않았고, 계정 복구 옵션 등의 여타 기능을 필요로 했습니다. Steem은 채굴 과정에서 소모되는 블록 보상을 재분배하여, 펀드의 거대한 분산 할당을 통해 블록체인 위에 포스팅을 하는 수천 명의 사람들이 활발한 참여자가 될 수 있게 만들었습니다. Steem은 1월에 개념이 나왔고, 3월부터 블록체인 작업을 거쳐 7월에 구동되는 웹사이트가 출시되었습니다. 이 시점에, Steem과 Bitshares에서 매일 발생하는 실제 트랜잭션이 다른 메이저 블록체인들의 트랜잭션 수를 합한 값보다 더 많아졌습니다. Steem은 또한 타 블록체인에 비해 높은 여성유저 비율을 달성했습니다. 그러나 Steem과 Bitshares는 어플리케이션 하나에 특화된 블록체인들입니다. 만약 이 글을 읽고 있는 당신이 하나의 블록체인 위에 여러 앱을 구동시키고자 한다면 확장성 문제로 어려움을 겪을 것입니다.
메이저 블록체인들을 채택하기에는 여전히 큰 난관들이 존재합니다.
블록체인 업계의 많은 이들은 스마트 비지니스나 분권화된 단체 등을 개발하고 싶어하지만, 그들이 원하는 스마트 앱을 구동시키기 위해서는 밑바닥인 분산 컴퓨터 환경부터 구축을 해야 합니다. 이 과정에서 모든 앱 개발자들은 많은 수의 동일한 문제들을 중복적으로 해결해야만 합니다: 계정 시스템, 복구 프로세스, 멀티시그, 관리 이슈, 그리고 모든 어플리케이션이 의존해야만 하는 공통적인 기능을 갖고 있는 운영체제까지 개발해야 합니다. 앱 개발자들에게 중요한 것은 그들의 앱이 다른 앱과 어떤 차별성을 보여줄 수 있을 것인지에 집중하는 것입니다. 예를 들어, Bitshares와 Steem은 기능적인 면에서 많은 공통점이 존재하지만, 실제로는 어플리케이션 비지니스 로직에서 아주 약간의 차이를 보일 뿐입니다. EOS의 목표는 이러한 운영체제와 핵심 기능들을 앱 개발자들에게 제공하고, 그들이 그들의 앱을 차별화하는 비지니스 로직에 집중할 수 있도록 하는 것입니다.
EOS는 스마트 비지니스 개발의 효율을 개선하기 위해 운영체제와 분산 컴퓨팅 환경을 제공합니다.
DAPP은 어떤 요구사항을 원할까요?
성공적인 DAPP이 만들어지기 위해서는 DAPP들이 웹브라우저(다운로드 가능한 어플리케이션도 좋습니다) 에서 접근가능해야 하고, 유료화해서 ROI를 달성하기 위해 수백만 유저들이 사용가능하게끔 확장성이 있어야 하며, 유저들이 공짜로 사용할 수 있게 해줘야 하고(특히 소셜미디어 앱들), 빠른 컨펌 타임을 통해 빠른 반응성을 보여주어야 하며, 업그레이드 가능해야 하며, 사람 친화적인 계정명을 사용할 수 있어야 하며, 계정 복구 기능을 갖춰야 하고, 버그를 고칠 수 있는 전략이 있어야 합니다. EOS는 이 모든 것을 어플리케이션 개발자들에게 제공합니다.
EOS는 수평적 확장성(horizontal scalability)을 통해 스마트 컨트랙의 병렬처리(parallel processing of smart contracts)를 제공하고, 비동기 커뮤니케이션(asynchronous communication)과 상호운용성(interoperability)을 제공합니다. 또한, 데이터베이스와 계정 권한, 스케쥴링, 인증, 그리고 인터넷-어플리케이션 커뮤니케이션을 제공할 것이다. 예를 들어, Bitshares와 Steem 모두 EOS 위에서 병렬로 돌아갈 수 있으며, 많은 트랜잭션 처리량을 달성하기 위해 노드와 클러스터를 추가하는 일은 비동기 커뮤니케이션 덕분에 당신이 직접 할 필요가 없습니다.
EOS는 최초의 블록체인 운영체제입니다. EOS는 당신의 어플리케이션이 데이터베이스 스키마나 데이터 정렬을 위한 인덱싱을 사용할 수 있도록 해줄 것입니다. EOS는 모든 유저들의 계정 권한과 계정 복구기능을 제공하며, 멀티 CPU 코어들이나 심지어 클러스터간의 스케쥴링 복잡성까지 다 담당합니다. 또한 모든 인증과 키 관리를 처리하여 당신이 암호학이 아니라 비지니스 로직에만 집중할 수 있도록 도와줄 수 있습니다. 그리고 EOS는 인터넷-어플리케이션 통신 또한 담당해줍니다. EOS는 우리가 기다려왔던 바로 그 운영체제이며, 우리의 유저들이 필요로하는 앱을 만드는데 방해되는 것들을 제거합니다. 가스를 사용하도록 강제하지도 않고, 유저들이 앱을 사용하기 전에 그 어떤 것도 구매하도록 만들지도 않은 상태로 개발자들이 앱을 만드는 빈도를 크게 증가시킬 것입니다.
EOS는 확장가능하고, 유연하고, 사용가능한 운영체제를 목표로 합니다.
확장가능한: EOS는 수천개의 상용 스케일의 DAPP들을 병렬 실행과 비동기 커뮤니케이션을 통해 지원할 수 있습니다. EOS는 활동(action)으로부터 인증을 분리해냅니다. 예를 들어, 이체(transfer)는 한 계정의 잔액을 감소시키고, 다른 계정의 잔액을 증가시키는 간단한 활동(action)입니다. 그러나 서명을 확인하거나 충분한 잔액이 있는지 확인하거나 하는 일련의 과정들 중에 인증 과정은 블록이 생성될 때 단 한 번만 필요합니다. 블록이 비가역적으로 추가되고 나면 당신은 더 이상 인증을 진행할 필요가 없어집니다. EOS는 블록체인 위에 소스코드를 넣어두고 사람들이 해당 컨트랙이 무슨 의도로 작성되어 있는지 읽을 수 있도록 해주어 모든 이가 코드를 볼 수 있고, 합의가 붕괴되지 않은 상태를 유지하면서 개발자들이 최적화하고 다른 머신들에서 컴파일할 수 있도록 해줍니다. 또한 중요한 오퍼레이션들의 실행을 위해 얼마만큼의 가스가 필요한지 셀 필요도 없습니다.
유연한: EOS는 위임된 지분증명(delegated proof-of-stake) 방식을 사용할 것이기 때문에, 앱이 깨져있거나 실패했을 때에도 선별되어있는 블록 생성자들이 버그가 고쳐지고 앱이 업데이트 될 때까지 어플리케이션의 실행을 막아둘 수 있습니다. 그래서 만약 예를 들어 DAO가 EOS 위에 구현되어 있다면, 고쳐지고 업데이트된 이 후에 모두가 하드포크를 더 이상 하지 않아도 되거나 다른 어플리케이션이 체인 위에서 구동되는 것을 방해하지 않을 때까지 실행을 막아둘 수 있습니다. EOS는 또한 당신이 필요한 어플리케이션들만 실행할 수 있는 유연함도 갖추고 있습니다. 만약 당신이 거래소를 구동한다면, 당신은 소셜 미디어 앱들을 구동할 필요가 없고, 당신의 로컬 노드가 당신이 원하는 데이터만 처리하도록 설정할 수 있습니다. 모든 노드를 블록체인의 full state를 유지하고 실행하게끔 만들 필요가 없습니다. EOS는 또한 어셈블리가 아닌 소스코드를 공개하고, 일반화된 role-based 권한을 제공합니다.
사용가능한: EOS는 인터페이스 개발을 위해, 웹 툴킷과 자기기술(self-describing) 인터페이스들(블록체인으로 들어갈 데이터를 사람이 읽을 수 있도록 해주지만, 실제로는 압축해서 들어가게 됨), 자기기술 데이터베이스 스키마, 그리고 선언적 권한 스킴(declarative permission scheme)을 포함할 것입니다. 이는 미세한 권한 레벨 설정을 가능케 하여 당신이 다른 계정에게 특정한 권한을 위임하기 편하게 만들어줍니다.
거버넌스: 위임된 지분증명 방식은 블록 생성자들을 선발해둡니다. 법적 구속력이 있는 헌법(legally binding constitution) (분산화된 p2p 서비스 조항을 생각하면 된다)이 분쟁을 조정할 공통의 사법권을 구축합니다. EOS는 지분가중 투표를 통해 선출된 자체적으로 펀딩된 커뮤니티를 위한 앱들도 포함할 것이다. 계정은 헌법에 서명하도록 할 것입니다. 하나의 아이디어는 모든 트랜잭션이 헌법의 현재 상태의 해쉬값을 포함하도록 하는 것입니다. 헌법 그 자체는 수정될 수 있고, 진화할 수 있는 그 무언가이고, 블록체인이 지금 표현하고자 하는 의도를 캡쳐해둔 것이며, 분쟁을 해결하기 위한 가이드가 제시되는 것입니다. 만약 당신이 다른 앱들이 그들의 서비스 조항을 업데이트한 것과 같은 형태로 플랫폼을 사용하지 않는다면, 당신이 헌법에 한 서명은 만료되게 됩니다.
EOS 토큰:
EOS는 Steem에서 사용되는 것과 같은 원리로 사용되는 EOS라고 불리는 토큰이 있습니다. 다른 시스템들과는 달리, 이 토큰은 소비되지 않습니다. 만약 당신이 네크워크의 1% 지분을 갖고 있다면, 당신은 컴퓨팅 파워의 1%에 접근가능하고, 전체 대역의 1%를 사용할 수 있으며, 1%의 네트워크 스토리지를 사용할 수 있습니다. 당신은 그 지분을 다른 사람에게 리스해주거나 당신 자신의 앱을 위해 사용할 수 있습니다. 한번 당신이 당신의 앱을 위해 충분히 EOS를 구매했다면, 당신은 다른 비용에 대해 걱정하지 않아도 됩니다. 왜냐하면 당신의 앱 사용을 위해 구매한 EOS는 “대여한"한 것이 아니라 “소유"한 것이기 때문입니다. 당신은 이제 유저들에게 어떻게 유료화 모델을 만들지만 고민하면 됩니다. 네트워크 대역 또한 할당될 것이고, 프리 마켓 호스팅 생태계를 통해 구매자에게 위임해줄 수도 있습니다. 블록 생성은 전통적인 위임된 지분증명 방식처럼 지분-가중 투표를 통해 컨트롤됩니다. 또한, 규칙에 의해, 연간 0%에서 최대 5%의 EOS 공급 증가가 있을 수 있습니다. 이 공급은 지분-가중 투표로 선발된 세 개의 다른 스마트 컨트랙에 분배됩니다. 이 추가적인 공급은 단순히 스마트 컨트랙에서 다른 곳에 사용되지 않도록 잠궈버릴 수도 있고(인플레이션 제거), 아니면 분산된 관리자들(Steem처럼)에게 분배될 수도 있으며, 중앙화된 관리자(이더리움 파운데이션이나 EOS 파운데이션 등등처럼)에게 분배될 수도 있습니다.
현재의 개발팀:
Brendan Blumer: CEO
Daniel Larimer: CTO
Kokuei (Guo) Yuan: President
Andrew Bliss: CFO
Michael Cao: partner
Ian Grigg: partner
Brock Pierce: partner
Li Xiao Lai: partner
Wendy Lee: CLO
Bo Shen: partner
프로젝트 현황와 로드맵:
프로젝트는 몇 달 전부터 시작되었고, 코드는 2017 Consensus 이후 github을 통해 공개될 예정입니다. 코드는 이번 여름에 테스트될 예정입니다. eos.io를 방문하고 뉴스레터를 받기 위해 가입해주세요. EOS 팀은 프로젝트에 대한 정보를 매우 민감하게 다루고 있으며, 중요한 정보를 커뮤니티보다 먼저 아는 내부자 그룹이 없도록 노력하고 있습니다. 그러니 메일링 리스트에 가입해서 소식을 확인하세요!
EOS.io Korea는 혁신적인 플랫폼 블록체인인 EOS에 대한 소식과 정보들을 한국의 개발자/투자자 커뮤니티에 소개하고 있습니다. EOS에 관심 많은 개발자와 투자자 분들의 많은 참여 부탁드립니다.
https://www.facebook.com/eos.io.korea/
https://steemit.com/@eos.io-korea/
https://twitter.com/eosio_korea
https://t.me/EOSIOKorea
https://open.kakao.com/o/g03w1kx
(텔레그램 채널에는 EOS 소프트웨어 개발사인 block.one 팀이 직접 참여하고 있습니다)