백서 읽어주는 남자(eos 백서-1) @leesunmoo
이오스 암호화폐에 대한 여러 의견이 스팀잇 포스팅으로 올라오고 있습니다. 이오스 암호화폐에 대한 저자들의 모든 주장은 분명 귀담아 들을만한 가치가 있습니다. 그러함에도 백서에 기반하지 않거나 백서를 잘 못 해석함으로서 발생되는 오류가 포함된 포스팅은 과거 스팀이 악소문에 휘말렸었던 기억을 떠올리게 합니다.
이태민님이 번역하시고 조재우님이 감수하신 이오스 기술백서를 제가 가지고 있는 백서를 읽는 능력(?)을 바탕으로 백서를 읽어볼까 합니다. 혹 제가 잘못 이해하는 부분이 있다면 독자분들이 바로 잡아주시길 바랍니다. 그리고 제가 이오스 백서를 읽어드리는 목적은 이오스에 대한 이해를 돕기 위함이지 투자를 권유하기 위함이 아님을 분명히 밝혀둡니다.
https://steemit.com/kr/@clayop/4v3y72-eos
https://github.com/clayop/Documentation/blob/master/TechnicalWhitePaper(Kor).md
초안 작성일: 2017년 6월 5일
백서를 처음 만든 날을 표시해 줍니다.
번역: 이태민(taeminlee), 감수: 조재우(clayop)
이태민님이 번역하시고 조재우님이 감수(번역이 문제가 없는지 확인함)하셨다는 의미입니다.
초록
EOS.IO 소프트웨어는 탈중앙화 애플리케이션의 수직 및 수평 확장이 가능하도록 디자인된 새로운 블록체인 아키텍처를 소개합니다. 이는 애플리케이션을 구축할 수 있는 운영체제와 유사한 구조를 생성함으로 완성됩니다. 본 소프트웨어는 수백 개의 CPU 코어 또는 클러스터에 계정(accounts), 인증(authentication), 데이터베이스(databases), 비동기 통신(asynchronous communication), 애플리케이션 스케쥴링(application scheduling) 기능을 제공합니다. 그 결과 초당 수백만 건의 트랜잭션 처리 능력을 갖추면서도, 수수료가 없고, 빠르고 쉽게 애플리케이션을 개발할 수 있는 블록체인 아키텍처 기술이 탄생했습니다.
이오스는 초당 수백만건의 트랜젝션(개발자인 댄 라이머의 글에 의하면 초당 80,000건의 트랜젝션이 가능하다고
합니다)이 가능하고, 수수료(이더리움의 경우 개스비)가 없으며 이더리움같은 스마트컨트렉이 가능한 블록체인이라는 의미입니다.
저작권 소유 © 2017 block.one
백서의 저작권 소유자는 블록원 이라는 이야기 입니다.
누구든지 허가 없이 원래의 출처와 해당 저작권 고지가 언급된 경우 비영리적이고 교육적인 용도 (즉, 유료 또는 상업적 목적 이외의 목적)로 본 백서의 자료를 사용, 복제 또는 배포할 수 있습니다.
비영리적이고 교육적인 용도로는 백서의 내용을 출처와 저작권 고지를 언급하고 사용할 수 있다는 이야기 입니다. 하지만 마구잡이로 사용하다가는 큰 코 다칠 수 있으니 조심하라는 경고 입니다.
면책 조항
EOS.IO 기술 백서 초안은 오직 정보 제공의 목적으로써 제공됩니다. block.one은 이 백서에서 도달한 결론의 정확성을 보장하지 않으며, 백서는 "있는 그대로" 제공되며 이는 (단, 이에 한정되지는 않음) 명시적이거나 묵시적인 것으로서 어떠한 보증도 하지 않습니다. (i) 상품성에 대한 보증, 특정 목적을 위한 적합성, 타이틀 또는 법규의 위반이 없음; (ii) 본 백서의 내용에 오류가 없거나 어떤 목적에 적합하다는 것; (iii) 그러한 내용이 제3자의 권리를 침해하지 않을 것입니다. 명시적으로 어떠한 보증도 되지 않습니다. block.one과 그 계열사는 이 백서에 포함된 정보의 사용, 참조 또는 신뢰로 인해 발생하는 모든 종류의 손해에 대해 명시적으로 책임을 지지 않습니다. 어떤 경우에도 본 백서 또는 여기에 포함된 내용의 사용, 참조 또는 의존에 대한 직접적, 간접적, 특수적 또는 결과적 손해에 대해 어떠한 개인이나 단체에 대해서도 책임을 지지 않습니다.
제대로 만들어 보려고 하지만 생각처럼 안 만들어 진다고 해도 왜 백서대로 안되냐고 따지지 말라는 내용입니다. 백서는 백서일 뿐 아무런 보증서도 아니라고 합니다. 저는 백서를 청사진 정도로 이해합니다.
백서 원본에는 이 부분에 목차가 들어 갑니다. 목차는 생략하도록 하겠습니다.
EOS.IO 탄생 배경 (Background)
블록체인 기술은 2008년 비트코인 화폐의 출현과 함께 시작되었으며, 이후 기업가와 개발자는 하나의 블록체인 플랫폼에서 다양한 애플리케이션을 지원하기 위해 기술의 일반화를 시도해 왔습니다.
다수의 블록체인 플랫폼은 제대로 작동하는 탈중앙화 애플리케이션을 지원하기 위해 노력하는 동안, BitShares 탈중앙화 거래소(2014) 및 Steem 소셜 미디어 플랫폼(2016)과 같은 애플리케이션 특화 블록체인은 이미 수만 명의 일일 사용자를 가진 블록체인으로 성장하였습니다. 이는 초당 수천 건의 트랜잭션 지원과 1.5초의 지연시간과 같은 성능 향상, 사용 수수료의 제거, 현재 서비스되는 중앙 집중형 서비스와 유사한 수준의 사용자 경험 제공을 통해 가능하게 되었습니다.
현존하는 블록체인 플랫폼들은 비싼 수수료와 연산능력의 한계 때문에 블록체인의 광범위한 사용에 있어서 어려움을 겪고 있습니다.
2008년 비트코인이 탄생하면서 시작된 온갖 블록체인들을 보면 비트쉐어랑 스팀 블록체인을 제외하고는 비싼 수수료, 연산능력 한계 등으로 인해 어려움을 겪고 있어서 이 문제를 해결하기 위해 이오스 블록체인을 만들고 있다는 이야기 입니다.
블록체인 애플리케이션의 요구사항 (Requirements for Blockchain Application)
블록체인 위에서 돌아가는 애플리케이션이 대중적으로 사용되기 위해서는 다음의 요구사항을 만족하는 유연한 플랫폼을 갖춰야 합니다.
- 수백만의 사용자 허용 (Support Millions of Users)
Ebay, Uber, AirBnB, Facebook과 같은 기존 서비스와 경쟁력을 갖추기 위해서 수천만의 일일 사용자를 수용할 수 있는 블록체인 기술이 필요합니다. 또한 많은 사용자가 이용하지 않을 경우 작동하지 않는 애플리케이션도 있으므로 많은 사용자를 수용하는 플랫폼은 무엇보다 중요합니다.- 무료 사용 (Free Usage)
애플리케이션 개발자는 사용자에게 무료로 서비스 할 수 있어야 합니다. 사용자는 플랫폼의 이용과 서비스의 혜택을 무료로 누릴 수 있어야 합니다. 사용자가 무료로 이용할 수 있는 블록체인 플랫폼이 더 널리 전파될 것입니다. 빠른 대중화로 인해 기업가와 개발자는 효율적인 수익 창출 전략을 만들어 낼 수 있을 것입니다.- 간편한 업그레이드 및 버그 해소 (Easy upgrades and Bug Recovery)
블록체인 기반 애플리케이션을 만드는 기업은 그들의 애플리케이션에 새로운 기능을 추가하고 개선할 수 있어야 합니다.
많은 소프트웨어들은 엄격한 공식적인 검사를 진행함에도 버그가 발생합니다. 플랫폼은 애플리케이션에서 버그가 발생하였을 때 버그를 수정할 수 있을 만큼 안정적이어야 합니다.- 짧은 지연 시간 (Low Latency)
좋은 사용자 경험은 수 초 이하의 지연시간을 통한 안정적인 피드백을 필요로 합니다. 긴 지연 시간은 사용자의 불만을 일으키며, 이러한 블록체인 애플리케이션은 블록체인을 사용하지 않는 기성 시장의 애플리케이션에 비해 경쟁력이 떨어집니다.- 순차(sequential) 처리 성능 (Sequential Performance)
몇몇 애플리케이션은 순차적인 처리 단계를 거쳐야 하기 때문에 병렬 알고리즘으로 구현될 수 없습니다. 거래소(exchange)와 같은 애플리케이션들은 많은 양의 거래를 순차적으로 처리하는 충분한 성능을 요구하므로, 플랫폼은 빠른 순차 처리 성능이 필요합니다.- 병렬 처리 성능 (Parallel Performance)
거대 규모의 애플리케이션은 하나의 작업을 다수의 CPU와 컴퓨터에 분배하여 처리할 수 있어야 합니다.
블록체인이 기업에서 사용할 만큼의 활용성(이런걸 엔터프라이즈 급 이라고 부르기도 합니다)을 가질려면 위의 6가지 스펙을 갖추어야 한다는 이야기 입니다. 그리고 이오스 블록체인은 위 6가지 스펙을 갖춘 상태로 출시되게 될 거라는 의미입니다. 사실 찬찬히 읽어보시면 당연한 이야기일 뿐입니다. 그런데 이 당연한 이야기가 논쟁에 휩싸이기도 하는 곳이 암호화폐 세계이기도 합니다.
합의 알고리즘 (DPOS) (Consensus Algorithm)
**이오스 블록체인 생산방식을 의미합니다. 블록체인을 생산하는 방식은 누구던 컴퓨터만 있으면 생산할 수 있는 POW 방식과, 해당코인을 일정수량 이상 가진 모든 사람이 생산할 수 있는 POS 방식, 그리고 해당코인을 가진 사람들로부터 생산 권리를 위임받은 사람들이 생산하는 DPOS 방식이 있습니다. **
EOS.IO 소프트웨어는 블록체인 애플리케이션의 성능 요구사항을 충족할 수 있는 유일한 탈중앙화 합의 알고리즘인 지분 위임 증명(DPOS; Deleteged Proof-Of-Stake)을 사용합니다. 이 알고리즘은 다음과 같이 동작합니다. 블록체인의 토큰을 보유한 사람은 상시 운영되는 투표 시스템을 통해 블록 생산자(block producer)를 선출하며, 누구나 블록 생산자로 참여할 수 있습니다. 블록을 생산할 기회는 다른 생산자들이 받은 전체 투표 수에 대한 본인이 받은 투표 수의 비율에 따라 결정됩니다. 프라이빗 블록체인에서 관리자는 토큰을 사용하여 IT 직원을 추가하거나 제거할 수 있습니다.
이오스 토큰 보유자는 이오스 블록체인을 생산하는 증인을 선출할 권리를 가지며, 이오스 토큰 보유자는 증인이 되기 위해 누구나 출마할 수 있는 권리를 가진다는 이야기 입니다. 이 말은 비트코인이나 이더리움 등의 암호화폐의 경우 토큰 보유자가 해당 블록체인의 중요한 의사결정에 참여할 아무런 수단도 없지만 이오스 블록체인은 토큰 보유자만이 해당 블록 체인의 중요한 의사를 결정 할 수 있다는 의미 입니다. 비트코인의 블록사이즈 늘리는 문제나 이더리움의 POS 전환과정에서 해당 코인 소유자는 아무런 결정권을 가지지 못합니다. 모든 결정권을 채굴자들이 가집니다. 해당블록체인 개발에 돈을 지원하고 있는 토큰 소유자는 아무런 결정권이 없고 해당 블록체인을 통해 돈을 벌고 있는 채굴자가 모든 의사 결정권을 가진다는 것은 무언가 문제가 있는 것처럼 저는 느껴집니다.
EOS.IO 소프트웨어는 정확히 3초마다 블록이 만들어질 수 있게 하며, 각 시점마다 오직 한 명의 블록 생산자만이 블록을 생성할 수 있습니다. 만약 정해진 시간에 블록이 생산되지 않을 경우 해당 시점의 블록은 무시됩니다. 1개 혹은 그 이상의 블록이 무시될 경우 블록체인에는 6초 혹은 그 이상의 간격(gap)이 나타납니다.
이오스 블록체인의 블록은 3초마다 생성되며 블록을 생성자가 놓치면 생산되지 않은 블록은 무시된다는 의미입니다. 블록이 무시된다는 의미가 다음 블록에서 무시된 블록의 데이타가 블록체인에 함께 기록된다는 의미인지는 명확히 표현되지 않은 것으로 보입니다
EOS.IO 소프트웨어를 이용하여 블록들은 21번의 단계로 구성되는 라운드로 생성되며, 각 라운드가 시작될 때 21명의 블록 생산자가 정해집니다. 라운드마다 많은 득표를 받은 상위 20명의 블록 생산자가 자동으로 배정되며, 마지막 생산자는 다른 생산자와의 상대적인 투표수에 비례하여 선출됩니다.
블록 시간으로 유도되는 의사 난수(pseudorandom number)에 따라 선출된 생산자들의 블록 생성 순서를 랜덤하게 섞습니다. 블록 생성 순서를 섞는 것은 모든 생산자가 다른 생산자들과 균형적인 연결(balanced connectivity)을 유지하도록 진행합니다.
생산자가 블록 생성에 실패하고 지난 24시간 동안 어떠한 블록을 생성하지 않는다면, 블록체인에 블록 생성 참여 의사를 알려주기 전까지 후보군에서 제외됩니다. 신뢰할 수 없는 사람을 참가시키지 않으므로 놓치는 블록의 수를 최소화하고 네트워크가 원활하게 동작하도록 보장합니다.
블록 생산자가 블록을 생성하지 못하는 행위를 심하게 한다면 짤없이 증인에서 자격을 박탈당한다는 이야기 입니다.
일반적인 상황에서 지분 위임 증명(DPOS) 알고리즘을 사용하는 블록체인은 어떠한 포크(fork)도 일어나지 않습니다. 이는 블록 생성자가 경쟁이 아닌 협력을 하기 때문입니다. 포크가 일어난 경우, 합의 알고리즘은 자동으로 가장 긴 블록 체인(chain)을 선택합니다. 이 방법이 동작하는 이유는, 특정 블록체인 포크에 블록들이 추가되는 속도는 같은 합의를 공유하는 블록 생성자의 비율과 직접 연관되기 때문입니다. 다수의 생산자 존재하는 블록체인 포크는 적은 생산자를 가진 것에 비하여 빠르게 증가합니다. 추가로, 어떠한 블록 생성자도 동시에 두 개의 포크에 블록을 생성할 수 없습니다. 이러한 경우가 적발될 경우 해당 블록 생성자는 탄핵당할 것입니다. 이러한 이중 생산에 대한 암호학적 증거(cryptographic evidence)는 정당하지 않은 방법으로 이득을 취한 사람을 자동으로 제거하는 데 사용될 수 있습니다.
이오스 블록체인은 이더리움클레식처럼 이오스2 이런 것이 기술적으로 만들어질 수 없다는 이야기 입니다
감사합니다.
@leesunmoo 올림
Excellent
오 좋은 정보 이네요. 잘보고 갑니다.
감사합니다.
친절하고 정확한 정보 감사드립니다. 이오스는 아직 저에게 생소한 개념이지만, 채굴자가 아닌 토큰 보유자가 중요한 의사결정사항이 있다는 면에서 탈중앙화를 지향하는 현재 코인의 흐름에 부합하지 않나 생각이 드네요 :)
감사합니다. 이오스는 상당부분 스팀과 많은부분에서 비슷한거 같습니다.
Very good friend although the translation is a little difficult to understand your publication is quite interesting congratulations @leesunmoo
저에겐 다소 어려운 부분이지만 어느정도 이해가되네요, 좋은 정보 감사합니다. 다음 포스팅도 기대가 됩니다.
감사합니다.
감사합니다. 어려운 내용 조금이나마 이해하고 가요
감사합니다.
어제 가입한 신입입니다. 어려운 내용이네요. 아직 공부 많이 해야 겠습니다. 스팀잇 가입하기 전에 leesunmoo님이 쓴 글 많이 봤네요.. 가입할 때 도움이 많이 됬습니다. 감사 인사 드립니다. ^^
누군가에게 작은 도움이 되고 있다는 말씀 감사합니다.
헛! 선배님! EOS에 대해 공부좀 열심히 해보겠습니다~!!
옙. 한번 공부해보실만 하실 겁니다.
세상 돌아가는것을 보면
모른체 하고 살수도 없고...
님 덕분에 첨단을 걷는 양극단화가 우리 집에서 생겨나고 있습니다.
세월이 흐르고 나면 어떤 현상이 일어 날까요?
감사합니다.
감사합니다.
유용한 정보 감사합니다..
감사드립니다.