HYCON WHITEPAPER v1.2.2 INFINITY PROJECT 한국어
요약 3 들어가며 3 기존블록체인기술에대한논의 4 처리량 4 지연시간 5 크기및대역폭 5 보안 6 자원낭비 7 사용성 7 버전관리, 하드포크, 다중체인 8 인피니티프로젝트 - 핵심목표 9 핵심목표 1 - 시장수요확인 9 핵심목표 2 - 유연한화폐 10 핵심목표 3 - 사용자중심플랫폼 10 핵심목표 4 - 유연한혁신 11 핵심목표 5 - 안전하고탈중앙화된거래소 11 하이콘기술사양 12 제네시스블록 12 해시알고리즘 12 합의알고리즘 - SPECTRE 프로토콜 13 투표규칙 13 SPECTRE 프로토콜을 DAG 의예시에응용하기 14 사례 - 이중지불 14 DAG vs. 블록체인 17 인피니티스펙터구현 18 블록 높이 와체인연결 18 네트워크인프라 - Node.js, Typescript 19 직렬화 - 프로토콜버퍼 19 채굴 19 개요 19 1
세부적인채굴과정 20 스트라텀 (Stratum) 통합 & XMRig 21 채굴보상 21 월렛 & 계정 21 하이콘월렛 GUI 21 하이콘월렛 22 계정 & 잔고 22 동기화 22 결론 23 REFERENCE 24 부록 A - 제네시스 27 논의 27 하이콘제네시스블록의내용 28 부록 B - 코인분배율 & 예산할당 29 코인분배율 29 예산할당 30 2
요약 본백서는인피니트프로젝트의비전개요를기술한다. 인피니트프로젝트는 1) 하이콘 (HYCON) 코인, 2) 기업맞춤형블록체인솔루션을위한오픈소스인피니티플랫폼, 3) 탈중앙화된암호화폐거래소플랫폼이라는세단계로발표될예정이다. 그러나본백서의주요목적은하이콘, 즉 SPECTRE 프로토콜을사용함으로써보안수준을유지하면서도빠른트랜잭션속도를보장하는암호화폐에대한세부적인분석을제공하는것이다. 이하에서는현존하는여러암호화폐의난제와한계점을살펴보고하이콘이제안하는해결책에대해서기술한다. 이밖에 SPECTRE 에대한개요와인피니티프로젝트에도입하게된배경및하이콘의기술사양에대해서도설명한다. 들어가며 " 현금, 수천년동안가장다용도로지속적으로사용해왔던인류의기술중하나. 이제향후 15 년간저물어가다마침내 0 과 1 이라는디지털흐름에편입될것이다." 이코노미스트 (2007) 오늘날온라인및모바일뱅킹의시대에서돈은손으로쥘수있고눈에보이는형태에서인터넷상을떠도는디지털숫자의형태로변모하고있다. 이런상황에서암호화폐라는이름으로일련의암호화된디지털코드형태로만존재하는새로운화폐가등장한것은자연스러운현상이다. 이디지털화폐혁명은여전히신원미상으로추정되는사토시나카모토 (Satoshi Nakamoto) 가비트코인기술백서 [19] 를 2008 년에공개하면서시작되었다. 하루가멀다하고새롭게출현하는암호화폐의공통점은바로블록체인이라는기술적아키텍처를근본으로한다는점이다. 블록체인은최초의블록 (genesis block, 시초블록 ) 부터현재의블록까지시스템내에서이루어지는모든거래정보를기록하고유지하는 공유된공공원장 이다. 이공공원장은연결리스트또는사슬처럼블록이연결된구조로만들어졌고각블록은특정시간동안네트워크전파에의해검증된특정개수의트랜잭션내역을포함하고있다. 인피니티프로젝트에서소개하는새로운암호화폐하이콘은기존블록체인기술이직면한도전과제를해결하고자고안되었다. 본백서에서다룰내용은다음과같다. 블록체인기술의개발현황및해결해야할문제 인피니트프로젝트의목표 블록체인의한계를극복하기위해하이콘이제안하는방법 하이콘의기술사양 3
기존블록체인기술에대한논의 이논의를위해비트코인과이더리움을중점적으로다룰것이다. 블록체인기술을도입한구현체중현재까지가장많이사용되고연구된암호화폐이기때문이다. 블록체인기술을살펴볼때유용한참고문헌중하나는일리-휴오모 (Yli-Huomo et al.)[31] 의연구이다. 이연구는블록체인에대한최근의연구들과블록체인기술기반시스템에내재된한계에대해종합적으로요약해놓았다. 비록비트코인블록체인에주안점을두는연구이지만결과는본백서논의에대체로적용할수있다. 논의에서의주요기준은스완 (Swan)[29] 의연구를참조했으며이연구역시본백서에적용할수있다. 일리-휴오모와스완의연구에서주목하는현블록체인시스템의 7 가지한계는다음과같다. - 처리량 - 지연시간 (latency) - 크기및대역폭 - 보안 - 자원낭비 - 사용성 - 버전관리, 하드포크, 다중체인 처리량 대표적인블록체인기반암호화폐인비트코인의경우트랜잭션확정에 10 분이상걸린다. 현재트랜잭션은초당약 4 건씩발생하고, 최대처리량은초당 7 건에이른다. 이더리움은초당트랜잭션 10 건이상을처리할수있으며비트코인네트워크와비교했을때확정속도가약 10 배빠르다. 그러나이런블록체인의처리량을비자 (VISA) 네트워크와비교해보면현재블록체인의한계를알수있다. 비자네트워크는수초만에트랜잭션을검증할수있고초당평균 2,000 건의거래를처리할수있으며최대처리량은초당 65,000 건에이른다. 이러한수치에서한눈에알수있듯비자와같이전통적중앙화결제네트워크와비교했을때, 현재가장널리사용되는블록체인네트워크들의처리량은현격히적다. 블록체인처리량을제한하는주된요소중하나는노드간지연시간이다. 비트코인에채택될라이트닝네트워크 (Lightning network)[22] 나이더리움블록체인의마이크로버전에서 4
사용중인레이든네트워크 (Raiden network)[23] 등지연시간문제를해결하기위한시도는 있었으나아직실행가능한장기해결책에대한합의에까지는이르지못한상태이다. 지연시간 앞서언급했듯노드간지연시간으로네트워크의최대처리량에제한이생기기때문에지연시간과처리량은제한요인으로서서로밀접한관계가있다. 노드간지연시간이늘어나면유효기간이지난블록상에서채굴을하게될리스크가증가한다. 비트코인네트워크를예로들면, 한노드에서생성된하나의블록이네트워크상 50% 의노드에전파되는데평균 2 초미만, 90% 의노드에전파되는데는평균약 13 초가소요된다 (2017 년 4 월기준 )[4]. 이더리움의경우, 50% 의노드에전파되는데평균 1 초미만, 90% 의노드전파에는약 10 초가소요된다 [11]. 비트코인의경우, 블록하나를채굴하는데소요되는시간 ( 약 10 분 ) 이네트워크에전파되는시간 (90% 노드전파에약 13 초 ) 에비해길기때문에노드간의지연시간이큰제한요인으로작용하지않는다. 그러나이더리움의경우블록생성간격이짧기때문에지연시간이비트코인보다짧아도문제가될수있다. 그래서이더리움은고스트 (GHOST; Greedy Heaviest Observed Subtree) 프로토콜에기반한알고리즘을통해채굴자로하여금긴지연시간또는짧은블록생성간격으로인해생긴병렬체인이아닌가장긴체인에서채굴하도록인센티브를주는방식을사용한다. 크기및대역폭 크기및대역폭관련하여논의할때반드시고려해야할두가지사항이있다. 바로블록의체인구조전체를표현하는물리적데이터와네트워크상에서전파되는개별블록의크기이다. 새로운블록을채굴하고블록체인네트워크전체와상호작용할수있는풀노드 (full node) 1 가공공원장전체의로컬복사본을유지해야한다면, 이로컬복사본유지에필요한저장용량이블록체인을이루고있는블록의개수에비례해야함은명백하다. 따라서블록의갯수증가로블록체인이비대해지면나중에는소수의노드만이블록처리에관여할수있게되어더심각한중앙화로이어질위험이있다. 또한블록의크기로인해트랜잭션양이제한되는상황에서트랜잭션양이사용가능한대역폭을초과하기시작하면채굴비용이큰폭으로상승할수있으며, 트랜잭션의양을늘리기위해블록의크기를키우거나블록생성간격을좁히는등핵심프로토콜을수정해야할수도있다. 이러한상황이되면프로토콜업그레이드를진행하기위해일반적으로바람직하지않다고여겨지는하드포크를진행해야한다. 1 모든트랜잭션정보를가지고있는노드로라이트노드 (light node) 와대비됨 5
보안 작업증명 (Proof of Work; PoW) 을이용한블록체인기술의큰장점은해킹하기가매우어렵다는것이다. 임의의부정한사용자한명이블록체인에이미기록된트랜잭션정보하나를조작하기위해서는해당정보가포함되어있는블록과그블록이후생성된모든블록에대한작업증명을모두다시해야한다. 이러한방식의공격이성공적으로수행되기위해필요한연산자원은전체네트워크의해싱파워 2 의 51% 에이른다. 그래서 "51% 공격 " 이라는이름이붙여졌다. 그러나 51% 의해싱파워가있다면정상적인방식으로채굴하는것이부정하게행동하는것보다이득이클것이기때문에이런식의공격이일어날가능성은적다. 두번째로가능한공격유형은시빌공격 (Sybil attack) 이다. 시빌공격이란부정한사용자한명이네트워크상에서채굴에사용할부정계정을다수생성하고해당계정들에유리한방향으로네트워크를교란시키는공격이다. 비트코인과같이작업증명기반의시스템에서는블록채굴을위해얼마나많은해싱파워를사용하는가에따라네트워크에행사할수있는영향력이달라진다. 한시빌공격자가채굴자두명으로가장한다해도해싱파워역시둘로분산되어야하기때문에결국공격자가얻을수있는이득은없다. 그러나블록체인네트워크상의사용자자금을공격할수있는방법이없는것은아니다. 사용자들은주로중앙화된거래소에개인키를보관하는데이거래소가해킹당하면공격자에게사용자의지갑, 더나아가사용자의암호화폐에까지접근을허락하게된다. 블록체인업계의또다른보안위험요소는코딩오류가있는스마트계약 (smart contract) 을이행할때발견된다. 2016 년 6 월 17 일, 이제는 DAO 사태로잘알려진스마트계약을대상으로한공격이발생했다. 공격자는스마트계약코드상의작은결점을이용하여 5 천만 ~6 천만달러상당의이더를획득하는스마트계약을실행할수있었다. 이사건으로인해결국논란이되는하드포크가실시되어이더리움네트워크가두갈래로갈라지며이더리움클래식이탄생했다. 자원낭비 비트코인블록체인은전기에너지, 더나아가환경에막대한영향을미친다. 현재트랜잭션한건을검증하는데필요한전력은 249 kwh 이며비트코인블록체인에새블록을지속적으로추가하기위해연간 32 TWh 이상소비하는것으로추정한다. 이더리움의경우비트코인에비해서는적지만여전히막대한전력을소모하며결과적으로환경에큰영향을미친다 [7]. 실제비트코인과이더리움각각의네트워크유지에소모되는전력을합하면뉴질랜드의연간전력 2 채굴작업에서요구되는연산능력, 즉연산자원과같은의미. 해싱파워는채굴성공확률과비례함 6
소비량에이를정도이다. 현재작업증명방식의블록체인에서벗어나려는양상이나타나고 있으며, 특히이더리움의지분증명 (PoS; Proof of Stake) 을향한움직임이두드러진다. 사용성 비트코인블록체인에서는트랜잭션이블록에담겨약 10 분마다발표되며, 트랜잭션의검증을위해각트랜잭션발표후보통 50 분가량을대기한다. 실생활을예로들면가게에서물건을고른후계산이처리될때까지한시간동안줄을서서기다리는것과비슷하다. 이런방식을실생활에실시간으로적용한다는것은명백히용납하기어렵다. 비트코인을비롯한현재이용가능한암호화폐대다수에관련하여다소우려가되는두번째부분은익명성또는가명성이라는개념이다. 트랜잭션은공개적으로이루어지고블록체인상의모든참여자에의해공유된다. 그러나비밀보장이필요한트랜잭션의경우이러한공개성이항상바람직한것은아니다. 누구나해당데이터를검토할수있어알고리즘을통해참여자의개인적인트랜잭션내역으로부터데이터를추출할수있기때문이다. 부연설명을위해실생활의경우를예로들어보자. 한참여자가비트코인을어머니에게송금한다. 이때트랜잭션데이터를기반으로다음과같은사항을확인할수있다. 참여자및어머니의비트코인주소를통해주고받은전체비트코인수량 참여자및어머니의비트코인주소잔고 참여자및어머니와비트코인을주고받은여타참여자들의비트코인주소이렇듯비트코인주소하나를한참여자로특정할수있다면비트코인을주고받은참여자의거래내역을서로확인할수있으며, 이들이무엇을샀는지, 어떤도박을했는지, 심지어누가익명의후원을받았는지도파악할수있다. 미국 FBI 에서여러번증명한바있듯, 현재비트코인은진정한의미에서의익명은아니다. 참여자에게있어비트코인의가장큰단점중하나가금융투명성일수도있다. 이때문에연구자들은지캐시 (Zcash) 에도장착된개인정보보호용영지식암호화기법인 zk-snarks[24] 등여러솔루션을개발하여문제를해결하려노력중이다. zk-snarks 는이더리움의메트로폴리스 (Metropolis) 업그레이드중비잔티움 (Byzantine) 단계에도이용된바있다. 7
버전관리, 하드포크, 다중체인 블록체인상포크 3 의제일큰문제는 " 합의나보안의손상 " 이다. 이해를돕기위해극단적인예를들어보자. 온우주에서이용가능한컴퓨팅파워의 100% 를사용하는심각하게비대해진블록체인이단한개존재하는경우 이와대조적으로서로경합하는체인 100 개가온우주에서이용가능한컴퓨팅파워의 1% 씩을균일하게나누어갖는경우 첫번째경우에서 "51% 공격 " 에성공하기위해정상노드가유지하고있는체인을장악하려면실제로온우주에서이용가능한컴퓨팅파워의 51% 가필요하다. 그러나컴퓨팅파워가분열되어있는두번째경우에는온우주에서이용가능한컴퓨팅파워의 0.51% 만있어도각체인을손상시킬수있다. 블록체인은정상노드의컴퓨팅파워를모두합한수치가악의적인노드의컴퓨팅파워를모두합한수치보다높도록만들어시스템을유지하는합의에의존하고있다. 포크로인해각체인이끊기고컴퓨팅파워가감소하면공격성공을위해요구되는자원의관점에서더적은엔트리포인트만으로도공격에성공할공산이크다. 하드포크는프로토콜합의의손상에서비롯된또하나의달갑지않은결과이다. 주어진블록체인생태계내투자자사이에서발생하는이념적인차이로인해블록체인이분기또는포크될수있다. 일례로확장성 (scaling) 문제와신속하고저렴한전자현금으로활용되지못하는문제때문에비트코인에서분리된비트코인캐시와앞서언급한바와같이블록체인의불변성이라는철학적기조에따라이더리움에서포크된이더리움클래식을들수있다. 그렇지만하드포크가항상논쟁을불러일으키지는않는다. 하드포크는종종블록체인시스템에서핵심적인프로토콜의변경으로인해발생하기도하는데이더리움의 2017 메트로폴리스업그레이드를예로들수있다. 하드포크이후에도원래블록체인에작용하던전체해싱파워는그대로유지될수도있으나, 이념적하드포크의경우각체인은보안성이떨어지고공격에더욱취약해진채서로경합하는두개의체인으로분리될것이다. 3 포크란개발자가프로젝트의소스코드를복사해서독립적으로구별 분리된부분을만들고거기에서 수정작업을하는것으로수정정도에따라소프트포크와하드포크가있음 8
인피니티프로젝트 핵심목표 인피니티프로젝트를시작하며다음과같은두가지핵심적인질문을했다. ü 현재기존암호화폐의한계점을고려할때, 시장의니즈와요구사항은무엇이며어떻게해결책을제시할수있는가? ü 암호화폐가경제전반에더욱광범위하고폭넓게채택및통합되기위해서는어떤특성이필요한가? 이러한두질문을염두에두고각프로젝트의강점과약점을밝혀내기위해비트코인, 이더리움, 여러유망한알트코인등현존하는블록체인을철저하게분석했다. 그러나상기의질문에완벽한답을제시하는프로젝트는찾을수없었다. 그래서인피니티프로젝트팀은목표를달성하기위해일반대중이실생활에서사용할수있는새로운기술과알고리즘을연구하기시작했다. 동시에인피니티프로젝트의기본프레임워크를설계하기시작했고다음과같은 5 가지핵심목표를설정했다. 인피니티프로젝트핵심목표 1. 암호화폐에대한시장의실질적수요확인 2. 유연한암호화폐개발 3. 사용자중심블록체인플랫폼개발 4. 지속가능한혁신을촉진할수있는시스템환경개발 5. 탈중앙화된방식으로암호화폐거래할수있는방법연구 핵심목표 1 - 시장수요확인 많은블록체인프로젝트가최근대대적인관심과인정을받고있지만아직까지어떤암호화폐도전세계적인규모로전자상거래분야에진출하지는못했다. 더정확히말하자면대다수의암호화폐프로젝트와실제적용사례사이에는여전히뚜렷한격차가존재한다. 현재극소수의온라인판매자와소수의기타서비스에서만암호화폐를수용하거나채택한상황이라비트코인을포함한현재이용가능한암호화폐를표준전자화폐로선정하여자유롭게사용하기가불가능하다. 9
이문제를해결하고실제적용사례를늘리며채택과정을촉진하기위해해당분야및커뮤니티의전문가, 개발자와협업하면도움이된다. 모든사용자가혜택을볼수있는성공적이고시장친화적인암호화폐개발을주도하기위해서이다. 인피티니프로젝트팀의두가지핵심질문들중하나인 " 시장이원하는사용자중심화폐란무엇인가?" 에답하기위해서먼저시장과개발양쪽의입장에서바람직한해결방법을찾는데필요한핵심블록체인기술이무엇인지정의를내려야한다. 이에따라인피니티프로젝트팀은새로운암호화폐를개발할때가장우선시해야할핵심성공요인 (KSF; key success factor) 은 " 시장이필요로하는실질적인해결책을제공한다는전제하에암호화폐를설계하고도입하는것 " 이라는결론을도출했다. 핵심목표 2 - 유연한화폐 인피니티프로젝트팀은기존의많은암호화프로젝트에서볼수있는획일적인통화개발이라는전통적인관점에서벗어나다양한통화모델을수용할수있는유연한플랫폼의개념을도입하고자했다. 이는하이콘 (HYCON; Hyper-Connected Coin) 의탄생으로이어졌다. 하이콘은빠르고비용이저렴하며확장가능하고안전하도록초기부터설계되었기때문에실제상황에서다양하게활용할수있다. 하이콘이기반을두고있는인피니티블록체인은호환성이있는모듈식구조로설계되었기때문에구체적인니즈에따라기반기술을쉽게적용하고수정할수있다. 핵심목표 3 - 사용자중심플랫폼 비트코인이불을지핀패러다임전환의가장중요한부분중하나는안전하고탈중앙화된전자거래촉진이라할수있다. 비트코인은모두에게열려있으며한때비현실적으로여겨졌던은행없는결제라는개념도실제로구현할수있는가능성을열었다. 그러나대다수암호화폐가개념적인수준에서실제 UI 와 UX 까지활용하는데까지많은학습이필요하다는점이암호화폐의광범위한채택에주요장애물이되고있다. 인피니티프로젝트는더욱간단하고사용자친화적인플랫폼을제공하고직관적인사용자월렛과거래소플랫폼인터페이스를도입하여진입장벽을낮추고자한다. 궁극적인목표는더많은사람들이패러다임변화를일으킬정도로강력한블록체인기술을제대로활용할수있도록하는것이다. 10
핵심목표 4 - 유연한혁신 인피니트프로젝트개발중고려했던가장중요한측면하나는어떻게하면더많은사람, 사업, 정부, NGO 로하여금블록체인기술을활용할수있게도울까하는점이었다. 그래서인피니티프로젝트팀은기존의다양한블록체인, 플랫폼, 암호화폐에대한연구를기반으로발전시킨유연한블록체인개념, 즉인티니티플랫폼의구현을연구해왔다. 하이콘은인피니티플랫폼을구성하게되지만플랫폼의유일한구성요소는아니다. 인피니트플랫폼연구의목표는직관적으로사용할수있고누구나다양한방식으로활용할수있는플랫폼을개발하는것이다. 인피니트플랫폼은다음과같은사례에적용할수있다. 빠르고저렴하게가치를교환하는수단인하이콘에기반한안전한암호화폐도입 정보보안을강화하고효율적인데이터저장및전송을용이하게하는탈중앙화된기업장부생성 암호화를통해보안이강화된거래소인피니티플랫폼의잠재적적용사례와혁신은무궁무진하다. 인피니티플랫폼은사용자가필요로하는블록체인솔루션을구축할수있도록유연하게조정될수있다. 핵심목표 5 안전하고탈중앙화된거래소 인피니티프로젝트에서는사용자가서로다른암호화폐를탈중앙화된방식으로거래할수있는방법을활발하게연구하고있다. 현재거래소에서는암호화폐를적은비용으로빠르게거래하기위하여중앙화된방식에의존하고있으나이러한중앙화된방식으로인해사용자는명목화폐와암호화폐자산을거래소에위탁해야한다. 안타깝게도거래소를거쳐가는막대한거래량에도불구, 해당거래소에서사용되는소스코드는공개적으로검토할수없는경우가많다. 전세계적으로거래소에보관된사용자의암호화폐가악성사용자에게도난당하는사건이여러번발생했다. 지금처럼사용자자금과정보가중앙화된방식으로거래소에보관된다면해당거래소는지속적으로공격의목표가될공산이크다. 인피니티프로젝트의향후연구과제로, 하이콘이진정한거래수단이되도록하기위하여아토믹스왑 (atomic swap) 4 의개념을하이콘에접목시키고자한다. 하이콘은여러다른암호화폐를거래하는수단이될수있고트랜잭션수수료는네트워크를보호하는 4 거래소나제 3 자의개입없이서로다른블록체인사이에서암호화폐토큰을교환하는것 11
채굴자들에게배분될것이다. 아토믹스왑을통해다른암호화폐의지급증명이완료될때까지 하이콘을에스크로에예탁할수있고이를통해하이콘과다른암호화폐사이의 무신뢰 (trustless) P2P 거래도용이해지게된다. 하이콘기술사양 특성 사양 해시함수 Cryptonight & Blake 2b 합의프로토콜 스펙터 (SPECTRE) 체인구조 방향성비순환그래프 (DAG) 블록속도 1000 ms 채굴방법 작업증명 (PoW) 제네시스블록 하이콘의제네시스블록은한국시간기준 2018 년 1 월 4 일새벽 3 시 15 분 (GMT+9) 에생성되었다. 깃허브 (GitHub) 내하이콘팀저장소 [36] 에서열람가능하다. 제네시스블록관련추가정보는부록 A 에수록되어있다. 해시알고리즘 본백서의첫번째버전에서는하이콘시스템의유일한해시함수로 Blake 2b 를언급한바있다. 그러나최근 ASIC 5 기술의발달에따라채굴에 Blake 2b 사용을중단하는대신 ASIC 에대한저항력이있는해시알고리즘인 Cryptonight 를사용하기로결정했다. 또다른암호화폐인모네로 (Monero) 도 Cryptonight 를사용한다. Cryptonight 가흥미로운이유는해시작업에서의사난수를사용하여메모리읽기 / 쓰기를하기때문이다. 이때문에 Cryptonight 는 CPU 나 GPU 를불문하고대략비슷한결과물을산출하며표준 ASIC 아키텍처와는호환되지않는다. 5 Application-specific integrated circuit 의약자로암호화폐채굴에특화된주문형반도체를뜻함. 12
향후에는채굴자원의중앙화를막기위해모네로가세운선례와같이정기적으로해시 알고리즘을수정하여채굴기간동안 ASIC 저항력을유지할예정이다. [43] 합의알고리즘 - SPECTRE 프로토콜 비트코인블록체인상에서합의알고리즘으로사용되었던나카모토프로토콜과대조적으로, 하이콘은합의를유지하기위해스펙터라는프로토콜을사용한다 [26]. 스펙터는블록간의순서를정하기위해블록사이에투표알고리즘을적용함으로써블록체인을방향성비순환그래프 (directed acyclic graph; DAG) 의형태로일반화한다. 이를테면블록 x 내의트랜잭션이블록 y 내트랜잭션보다먼저블록체인에추가되거나반대로블록 y 내의트랜잭션이블록 x 내트랜잭션보다먼저추가되는식이다. 본백서에서스펙터프로토콜에대해모두설명할수는없으나투표규칙의기본개요는아래에기술한다. 투표규칙 스펙터의투표규칙논의를위해투표과정을시각적으로다룰필요가있다. 한가지주목해야하는사실은어떤투표도노드사이에서전달되지않으며각노드가명시적으로투표를행사할필요도없다는점이다. 오히려투표는블록에서이루어지며투표방식은 DAG 구조를보면알수있다. 스펙터투표과정에사용되는기준은다음과같다. 주목해야할중요한용어는 past(x) 와 future(x) 인데, past(x) 는 x 로부터도달가능한블록을, future(x) 는선행블록 x 를참조하는블록을가리킨다. 예를들어, 만약 x 가 past(y) 에속한다면 y 는 future(x) 에속한다고표현할수있다. 즉, y future(x) x past(y) 또한가지주목할것은 virtual(g) 로표기되는가상블록의 past 는 DAG 전체라는것이다. z 라는블록이블록 x, 블록 y 에투표할때아래와같은규칙이적용된다. 1. z 가 future(x) 에속하지만 future(y) 에속하지않는다면 z 는블록 x 에투표한다. 2. z 가 future(x) 및 future(y) 에속한다면 z 와 past 가동일한가상블록의투표에근거하여 z 의투표가재귀적으로결정된다. 3. z 가 future(x) 와 future(y) 에둘다속하지않는다면 z 의투표는 future(z) 에속한모든블록의다수결투표에의해결정된다. 13
4. z 가 past(virtual(g)) 를갖는가상블록이라면, 즉 past(z) = DAG 전체라면, z 의투표는 DAG 의다수결투표에의해결정된다. 5. z = x 혹은 z = y인경우, 만일 y 가 future(x) 에속하지않거나 x 가 future(y) 에속하지않는다면 z 는스스로에게투표한다. SPECTRE 프로토콜을 DAG 의예시에응용하기 스펙터의응용을잘설명하기위해작동상태인스펙터프로토콜의예를단계별로살펴보고투표과정의상태를단편적으로제공한다. 다음예는스펙터백서를직접인용했다 [25]. 사례 - 이중지불간단한예를들어보자. 블록 A 는트랜색션 t1 을, 블록 B 는 t1 과충돌하는트랜잭션 t2 를담고있다. 이는악성충돌일수도있고단순히노드간지연시간으로트랜잭션이두번발생하여채굴자두명이동일한트랜잭션수수료를받게된경우일수도있다. DAG 의구조에따라이러한이중지불을다른방식으로해결할수있는데, 이는두블록의 past 와 future 가다르기때문이다. 초기에블록 A 와 B 가블록 5 와거의동시에생성되는경우다음과같은양상을띤다. 이단계에서는시스템에서이중지불을인식하지못한다. 충돌하는두블록을모두참조하는 후속블록이생성되지않았기때문이다. 그러나 DAG 의구조가발전하고블록이추가되면 이중지불이발견되고 DAG 의구조가분석되어어느블록이선행하는지를결정한다. 14
위그림에서블록 12 는생성된블록중 A 와 B 사이의이중지불을감지하는첫블록이다. 앞서 언급한규칙에따라투표수는다음과같이계산될수있다. 블록 6, 7, 8 모두블록 B 가 past 에 속하지않기때문에블록 A 에투표한다. 동일한이유로블록 9, 10, 11 은블록 B 에투표한다. 블록 12 는 past(12) 의재귀호출을기반으로투표한다. 블록 10 과 11 은 past(12) 에속하지 않으므로블록 12 의투표를결정할때고려되지않는다. 블록 12 의투표에고려되는블록 영역은아래그림에나타나있다. 15
블록 1 부터 5 까지는 future(a) 또는 future(b) 에속하지않으므로 future(1) 부터 future(5) 까지의블록대다수와동일한투표를하게된다. 이재귀투표의경우, future(1) 부터 future(5) 까지의블록들이블록 A 에투표를더많이했으므로블록 1 부터 5 는블록 A 에투표를하게된다. 블록 12 의과거, 즉 past(12) 에서는블록 A 에 9 표, 블록 B 에 2 표를투표했으므로블록 12 는블록 A 에투표한다. 만일투표수가동점이되면블록 12 가결정적으로그동점을깨서투표에참여하는노드모두블록 12 의투표에동의하도록한다. 블록 12 의투표를결정하는블록은모두 past(12) 에속한블록이므로블록 12 의표는절대바뀌지않는다. 이후 DAG 에서의투표과정은남은블록의 future 블록을기반으로진행한다. 블록 12 의투표가확정되면블록 5 는블록 A 에투표하게되는데, 이는블록 7, 8, 12 에의한투표가블록 9 와 11 에의한투표수를넘어서기때문이다. 블록 4 는블록 A, 5, 6, 7, 8, 12 에서 A 에대한투표를 (6 표 ), 블록 B, 9, 10, 11 에서 B 에대해투표를 (4 표 ) 확인한후블록 A 에투표한다. 블록 3, 2, 1 도마찬가지로모두블록 A 에투표한다. 이러한투표과정을거쳐최종적으로블록 A 에 10 표, 블록 B 에 4 표라는결과가도출된다. 16
스펙터의흥미로운특성은, 특히위와같이단순한사례의경우, 여타블록체인기술처럼가장긴체인을선택한다는것이다. 블록 A 를통과하여블록 1 부터블록 12 까지도달하는경로와 B 를통과하는경로를보면, 1àAà12 경로가 1àBà12 경로보다길다는것을알수있다. 즉, 가장긴체인이살아남는것이다. DAG vs. 블록체인 하이콘에대해논의할때 DAG 구조와관련된질문을흔히접하게된다. 하이콘의블록생성속도를 1,000 ms 로설정한결과하이콘에 DAG 구조를적용하게되었다. 블록체인의처리량을높일방법을모색하던중분산네트워크상시스템지연시간으로인해블록체인이의도와는달리포크될수있다는사실이명확해졌다. 이러한포크를회피하기보다는포크와이로인해생성되는구조 ( 제대로인정받지못하고지나치게강조되는 DAG 구조 ) 를수용하기로했다. 선형적인블록체인보다 DAG 구조가유리한이유는블록생성간격을줄여트랜잭션확정속도를높여주기때문이다. 기존블록체인상새로채굴된블록은이전블록의해시값을참조하여체인끝에연결되는반면, DAG 에추가될새블록은 DAG 의끝부분을참조한다. 이에따라체인이분기될위험을감수하지않고도여러블록이서로다른노드에서동시에생성될수있다. 여러선행블록이존재가능하므로새블록이동시에추가될수있으며채굴자는자신의블록이고아블록 (orphaned block) 이될걱정없이채굴보상을거두어들일수있다. 문제는노드가다른곳에발표된트랜잭션을다시발표하여이중지불을유발할때발생한다. 그러나스펙터를사용하면고아블록이생기지않는선에서어느트랜잭션을거부할지에대한합의를이끌어낼수있다. 17
인피니티스펙터구현스펙터에서의투표과정에자원이상당히소모되므로구현은신중하게관리될필요가있다. 개발의편의를위해초기프로토타입은파이썬으로작성되었지만인피니티스펙터구현의최종버전은데이터구조및메모리관리에대한완전한제어가유지되어더나은성능을제공할수있도록 C, C++ 또는 Rust 와같은언어로작성될것이다. 블록 " 높이 " 와체인연결 DAG 구조를간단히살펴본것에서알수있듯이비트코인이나이더리움에서사용되는전통적인블록높이라는개념의의미를약간수정해야할필요가생겼다. 비트코인이나이더리움블록체인에서블록높이란제네시스블록에체인으로연결된블록의수를의미한다. 하이콘에서블록의높이는좀더일반적인표현으로제네시스블록에서부터현재블록까지생성된 DAG 층의수를나타낸다. 따라서계산법도상당히간단하다. 새로운블록의높이는그블록의가장높은부모블록의높이에 1 을더한값이다. P 라는부모블록에연결된임의의새로운블록을 B 라고하면 Height(B) = max(height(p)) + 1; p P 이상황을그림으로설명하면아래와같다. 새롭게생성된블록은아직참조되지않은이전블록중에서가장높은블록을참조하고블록의높이는이전에참조된블록의높이보다 1 높은값으로설정된다. 18
네트워크인프라 Node.js, Typescript 시스템아키텍처에이셋업을사용하면 Node.js 의내장기능으로비동기작업을지원할수있다는장점이있다. Node.js 를통해크로스플랫폼의 " 논블로킹이벤트 I/O" 가가능하고개별구성요소는정상작동흐름이외의작동결과를기다릴수있다. 네트워크로부터의메시지수신이나사용자의입력과같은특정한상황이발생할때만촉발및실행되며대기시간동안다른코드가실행될수있다. [20] Typescript 를사용하기로결정한이유는이프로그램이본질적으로는 Javascript 인코드에강력한타입체킹을수행할수있기때문이다. 타입형식을지원하는 Javascript 를사용하여명시적으로정의된타입덕분에디버깅프로세스가더간단해지면서도 Node.js 가제공하는비동기성을활용하여플랫폼을구축할수있었다. Typescript 파일은실행하기전에컴파일되어야하기때문에 Javascript 응용프로그램에서디버깅할때으레그렇듯복잡하게얽혀있는콜백을통해추적하기보다컴파일단계에서구문오류나타입에러를보다쉽게발견할수있다. 직렬화 프로토콜버퍼 블록체인시스템에는네트워크상에항상수많은메시지가떠돌아다니는데노드소프트웨어가이러한데이터를일관성있고올바른방법으로복호화할수있어야한다는점이중요하다. 구글이개발한프로토콜버퍼를 [14] 사용하여서로다른플랫폼사이에서일관성있게메시지를정의할수있고인피니티블록체인을구성하는노드를다양한프로그래밍언어로개발할수도있다. 직렬화레이어는언어의구속을받지않아크로스플랫폼응용프로그램에매우유용하다. 프로토콜버퍼는전 후방호환성을지원하기때문에업데이트를해도하드포크보다소프트포크만일어날확률이높아진다. 또한프로토콜버퍼는서드파티소프트웨어와의호환성을높여주어다른개발자들이하이콘네트워크와상호작용할수있도록한다. 채굴 개요 현존하는대다수의암호화폐와같이블록을하나생성하려면작업증명이필요하다. 채굴자는 DAG 끝부분의해시, 블록에포함될트랜잭션의머클루트, 현재의난이도를초과하는해시값을계산할때까지변하는넌스 (nonce) 값에근거하여다음블록의해시를계산하게된다. 스펙터창시자들은본프로토콜을사용하여초당 10 블록을생성할수있다고주장하는데하이콘은초기목표를초당 1 블록생성으로설정할것이다. 현재의프로토타입은작업증명기반이지만같은작업증명기반의비트코인과이더리움네크워크를유지하기위해막대한양의전기를낭비하고있음을충분히인지하고있기에다른대안도고려하고있다. 잘알려지지 19
않은방법중우리가고려하고있는방법은수용능력증명 (PoC; Proof of Capacity) 으로도잘알려진저장공간증명 (Proof of Space) 이다 [32]. 이방법은채굴자가많은양의데이터를미리계산하여저장한후현재의난이도를만족하는해답을파일속에서찾도록한다. 매우적은전기에너지를사용하고효율적인방법이라는사실이버스트코인 (Burst coin) 과스페이스민트 (Space mint) 를통해증명되었다. 세부적채굴과정 채굴과정의첫단계는블록헤더내용의암호화및해시처리로, 본단계는채굴과정의결과에따라변하지않는다. 그내용에는이전블록에대한레퍼런스, 블록에포함될트랜잭션의머클루트, 블록목표난이도, 블록타임스탬프, 이블록의트랜잭션이후현재월드스테이트를가리킬머클-패트리샤트리의루트이다 ( 자세한정보는월렛 & 계정부분참고 ). 블록헤더구성 ( 이전해시 ) 이전블록 : 32 Byte 해시의배열머클루트 : 32 Byte 해시난이도 : 4 Bytes 타임스탬프 : 8 Bytes 스테이트루트 : 32 Byte 해시 본데이터는 GPU 또는 CPU 채굴자에게변하지않는이전블록의해시값을제공하기위해 Blake 2b 64 Byte 버전으로해시처리된다. 특히 GPU 채굴에서이단계가필요한이유는하이콘은다수의부모블록에연결될수있어각블록헤더의길이가변할수있기때문이다. GPU 채굴소프트웨어는데이터구조가정해진길이일때가장잘작동하므로사전해시작업이필요하다. 64 Byte 헤더를사전해시처리한값은 Cryptonight 해시알고리즘을사용하여해시처리를시도할때마다 1 씩증가하는 8 Byte 넌스값과결합된다. 이결합된값은함께해시처리되어블록을나타내는 32 Byte 해시값을리턴한다. 이해시값은블록헤더에명시된난이도와비교되고적절한난이도한계치에도달하면리턴된넌스값이블록헤더에포함되고발행된다. 20
스트라텀 (Stratum) 통합 & XMRig 하이콘은스트라텀프로토콜및 XMRig 의수정버전을사용하여 GPU 채굴을지원한다 [39]. 채굴보상 새로운블록생성에대한작업증명을성공적으로완료하면채굴자는보상으로하이콘을받는다. 하이콘채굴과정은 50 년간지속될예정이다. 초기에는채굴보상으로블록당 8 하이콘을지급할예정이며이보상금액은 6 년 2 개월간유지된후 1 하이콘줄어든블록당 7 하이콘으로책정된다. 약 50 년이지난후하이콘의시가총액이 100 억하이콘이될때까지이런방식으로보상금액이줄어든다. 채굴보상이주기적으로반감되는비트코인의기하분포모델과달리하이콘의채굴보상금액을선형적으로줄이기로한이유는채굴기간동안코인을보다균형적으로배포하고비트코인반감기모델과같이채굴자의경제적인센티브를대폭저하시키지않기위해서이다. 상기기술한선형적모델을하이콘배포에적용하면다음과같은그래프가도출된다. 월렛 & 계정 하이콘월렛 GUI 하이콘소프트웨어가구동하는풀노드는웹형태의로컬호스트 GUI 를사용하여월렛운영, 트랜잭션, 블록체인사용을가능하게한다. GUI 는가볍고고성능인인터페이스를제공하기위해리액트 (React) 로개발되었다. 21
하이콘월렛 하이콘월렛은트랜잭션서명을위해 secp256k 와같은업계표준의타원곡선암호방식을활용하고 [33] 서드파티월렛제공업체와의통합을수월하게하기위해 BIP 39 에명시된대로월렛리커버리를위한연상기호를적용한다 [40]. BIP 32 와 BIP44 에명시된대로 HD( 계층적결정성 ) 월렛을사용하기위한준비도마쳤다. [41][42] 하이콘주소 하이콘주소는연결된공용키를 32 바이트 Blake2b 로해시처리한결과에서가져온 20 바이트로생성한다. 가독성을위해주소의첫문자는대문자 H 로시작하고 Base58 스트링의결과값으로구성한다. 스트링의마지막 4 글자는주소의체크섬이다. 체크섬은 3 단계로계산된다. 먼저주소의 32 바이트 blake2b 해시값을계산한후그결과값을 Base58 스트링으로인코딩한다. 마지막으로스트링의처음 4 글자를가지고주소를나타내는스트링에덧붙인다. 이런방식으로체크섬을사용하면잘못입력된주소가사용될가능성을최소화할수있다. 계정 & 잔고 하이콘참여자의지출액과잔고를기록하기위해회계모델을도입해야한다. 하이콘이채택하기로한모델은이더리움황서 (yellow paper) 에기술되어있고 [34] 이더리움이사용하는모델이기반을두고있는머클패트리샤트리 (Merkle Patricia Trie) 데이터구조이다 [35]. 일련의트랜잭션이발행되면모든트랜잭션이력을하나의해시값으로저장하고있는월드스테이트가업데이트되고그값은각블록에저장된다. 이월드스테이트값은모든하이콘계정의계정데이터를나타내는머클-패트리샤루트의해시값이다. 계정데이터에는특정하이콘계정의잔고, 그특정계정을참조하는가장최근블록에대한레퍼런스, 그특정계정에서시작된트랜잭션수를나타내는넌스값이저장되어있다. 넌스값은리플레이공격에서데이터를보호하는데사용된다. 이전블록에대한레퍼런스는트랜잭션이력을더욱빨리검색할수있게해주고스펙터알고리즘에서이중지불을쉽게추적할수있도록해주는최적화된기능이다. 동기화 하이콘은네트워크에처음으로동기화할때헤더우선접근 ( 헤더를먼저전송받는방식 ) 을 사용한다. 첫번째동기화시도와후속시도이후에연결된참가자들에게특정블록의높이보다 22
큰블록의높이 ( 현재로컬데이터베이스에저장된최대블록높이 ) 와헤더의개수를묻는메시지가발송된다. 그헤더를받은블록은검증을거치고만약해당블록이로컬데이터베이스에없으면연결된피어는블록의전체데이터를요청한다. 전송된블록은다시한번검증을거치고그결과블록이유효하면데이터베이스에추가된다. 블록은부모블록이검증을받아포함될때만데이터베이스에추가되기때문에이절차는반드시순차적이다. 결론 본백서의출발점이된기존암호화폐의한계를살펴보는작업은인피니티프로젝트전체의근간을이루고있다. 인피니티프로젝트의비전은빠르고안전하며손쉽게확장가능한사용자중심의블록체인과암호화폐생태계를제공하여더많은사람들이사용할수있도록하는것이다. 인피니티프로젝트팀은스펙터프로토콜과 Blake 2b 해시알고리즘을결합하여안전하고편리한신규암호화폐를제안했다. 암호화폐하이콘과인피니티프로젝트는본백서에서기술한방법을활용하여글로벌암호화폐지형에가치있고차별화된암호화폐를제공할것이다. 23
REFERENCES [1] Blake2.net. (2017). BLAKE2. [online] Available at: https://blake2.net/ [Accessed 16 Oct. 2017]. [2] CoinDesk. (2016). Understanding The DAO Attack - CoinDesk. [online] Available at: https://www.coindesk.com/understanding-dao-hack-journalists/ [Accessed 20 Nov. 2017]. [3] Croman, K., Decker, C., Eyal, I., Gencer, A.E., Juels, A., Kosba, A., Miller, A., Saxena, P., Shi, E., Sirer, E.G. and Song, D., 2016, February. On scaling decentralized blockchains. In International Conference on Financial Cryptography and Data Security (pp. 106-125). Springer Berlin Heidelberg. [4] Decker, C. (2017). BitcoinStats. [online] Bitcoinstats.com. Available at: http://bitcoinstats.com/network/propagation/ [Accessed 10 Nov. 2017]. [5] Decker, C. and Wattenhofer, R., 2013, September. Information propagation in the bitcoin network. In Peer-to-Peer Computing (P2P), 2013 IEEE Thirteenth International Conference on (pp. 1-10). IEEE. [6] digiconomist.net. (2017). Bitcoin Energy Consumption. [online] Available at: https://digiconomist.net/bitcoin-energy-consumption [Accessed 16 Nov. 2017]. [7] Digiconomist. (2017). Ethereum Energy Consumption Index (beta) - Digiconomist. [online] Available at: https://digiconomist.net/ethereum-energy-consumption [Accessed 8 Dec. 2017]. [8] The Economist. (2007). The end of the cash era. [online] Available at: http://www.economist.com/node/8702890 [Accessed 27 Sep. 2017]. [9] Ethereum Blog. (2014). Toward a 12-second Block Time - Ethereum Blog. [online] Available at: https://blog.ethereum.org/2014/07/11/toward-a-12-second-block-time/ [Accessed 27 Sep. 2017]. [10] Etherscan.io. (2017). Ethereum Average BlockSize Chart. [online] Available at: https://etherscan.io/chart/blocksize [Accessed 16 Nov. 2017]. [11] Ethstats.net. (2017). Ethereum Network Status. [online] Available at: https://ethstats.net/ [Accessed 16 Nov. 2017]. [12] Goland.org. (2017). How to make block chains strongly consistent Stuff Yaron Finds Interesting. [online] Available at: http://www.goland.org/why_block_chains_are_strongly_consistent/ [Accessed 27 Sep. 2017]. [13] Goland.org. (2017). The block chain and the CAP Theorem Stuff Yaron Finds Interesting. [online] Available at: http://www.goland.org/blockchain_and_cap/ [Accessed 27 Sep. 2017]. [14] Google Developers. (2017). Protocol Buffers Google Developers. [online] Available at: https://developers.google.com/protocol-buffers/ [Accessed 20 Oct. 2017]. [15] James-Lubin, K. (2015). Blockchain scalability. [online] O'Reilly Media. Available at: https://www.oreilly.com/ideas/blockchain-scalability [Accessed 16 Nov. 2017]. [16] Koteska, B., Karafilovski, E. and Mishev, A. (2017), Blockchain Implementation Quality Challenges: A Literature Review : Proceedings of the SQAMIA 2017: 6th Workshop of Software Quality, Analysis, Monitoring, Improvement, and Applications, Belgrade, Serbia, 11-13.9.2017. [17] Malanov.A, (2017). Six main disadvantages of Bitcoin and the blockchain. [online] Kaspersky.com. Available at: https://www.kaspersky.com/blog/bitcoin-blockchain-issues/18019/ [Accessed 16 Nov. 2017]. 24
[18] Motherboard. (2017). One Bitcoin Transaction Now Uses as Much Energy as Your House in a Week. [online] Available at: https://motherboard.vice.com/en_us/article/ywbbpm/bitcoin-miningelectricity-consumption-ethereum-energy-climate-change [Accessed 20 Nov. 2017]. [19] Nakamoto, S., 2008. Bitcoin: A peer-to-peer electronic cash system. [20] The NodeSource Blog - Node.js Tutorials, Guides, and Updates. (2014). Why Asynchronous?. [online] Available at: http://nodesource.com/blog/why-asynchronous/ [Accessed 16 Nov. 2017]. [21] Park, J.H. and Park, J.H., (2017). Blockchain Security in Cloud Computing: Use Cases, Challenges, and Solutions. Symmetry, 9(8), p.164. [22] Poon, J. and Dryja, T.. (2016). The Bitcoin Lightning.network [online] Available at: https://lightning.network/lightning-network-paper.pdf. [23] Raiden-network.readthedocs.io. (2017). Raiden Specification Raiden Network 0.2.0 documentation. [online] Available at: https://raiden-network.readthedocs.io/en/stable/spec.html [Accessed 7 Dec. 2017]. [24] Reitwiessner, C. (2017). zksnarks in a Nutshell [online] Available at: http://chriseth.github.io/notes/articles/zksnarks/zksnarks.pdf [Accessed 23 Nov. 2017]. [25] Sirer, E.G. and Song, D., 2016, February. On scaling decentralized blockchains. In International Conference on Financial Cryptography and Data Security (pp. 106-125). Springer Berlin Heidelberg. [26] Sompolinsky, Y., Lewenberg, Y. and Zohar, A., 2016. SPECTRE: A Fast and Scalable Cryptocurrency Protocol. IACR Cryptology eprint Archive, 2016, p.1159. [27] Sompolinsky, Y. and Zohar, A., 2015, January. Secure high-rate transaction processing in bitcoin. In International Conference on Financial Cryptography and Data Security (pp. 507-527). Springer, Berlin, Heidelberg. [28] Son, M. (2017). Bitcoin s Rise Happened in Shadows of Finance. Now Banks Want In. [online] Bloomberg.com. Available at: https://www.bloomberg.com/news/articles/2017-10-05/bitcoin-s-risehappened-in-shadows-of-finance-now-banks-want-in [Accessed 7 Dec. 2017]. [29] Swan, M., 2015. Blockchain: Blueprint for a new economy. " O'Reilly Media, Inc.". [30] VISA (2017). Visa Inc. Facts & Figures. [online] Available at: https://usa.visa.com/dam/vcom/global/about-visa/documents/visa-facts-figures-jan-2017.pdf [Accessed 20 Nov. 2017]. [31] Yli-Huumo, J., Ko, D., Choi, S., Park, S. and Smolander, K. (2016). Where Is Current Research on Blockchain Technology? A Systematic Review. PLOS ONE, 11(10), p.e0163477. [32] Dziembowski, Stefan; Faust, Sebastian; Kolmogorov, Vladimir; Pietrzak, Krzysztof (2015). "Proofs of Space". 9216: 585 605. Available at: https://eprint.iacr.org/2013/796.pdf [33] Secg.org. (2010). Standards For Efficient Cryptography 2, [online] Available at: http://www.secg.org/sec2-v2.pdf [Accessed 20 Jan. 2018]. [34] Wood, G., 2014. Ethereum: A secure decentralised generalised transaction ledger. Ethereum Project Yellow Paper, 151. 25
[35] Ethereum. (2018). ethereum/wiki. [online] Available at: https://github.com/ethereum/wiki/wiki/patricia-tree [Accessed 22 Jan. 2018]. [36] Team Hycon. (2018). Team-Hycon/Genesis-View. [online] Available at: https://github.com/team- Hycon/Genesis-View [Accessed 22 Jan. 2018]. [37] Cryptonight Hash Function Cryptonote.org. (2018). [online] Available at: https://cryptonote.org/cns/cns008.txt [Accessed 2 Feb. 2018]. [38] JustCryptoNews. (2018). Sia Coin - BitMain Antminer A3 Blake (2b) ASIC Miner Announced. [online] Available at: https://www.justcryptonews.com/340/sia-coin-bitmain-antminer-a3-blake-2b-asicminer-announced [Accessed 2 Feb. 2018]. [39] Monero (XMR) CPU Miner - GitHub. (2018). xmrig/xmrig. [online] Available at: https://github.com/xmrig/xmrig [Accessed 6 Feb. 2018]. [40] Palatinus, M., Rusnak, P., Voisine, A., Bowe, S.. bitcoin/bips/bip-0039. [online] Available at: https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki [Accessed 6 Feb. 2018]. [41] BIP32. (2012). bitcoin/bips. [online] Available at: https://github.com/bitcoin/bips/blob/master/bip- 0032.mediawiki. [42] BIP44 (2014). bitcoin/bips. [online] Available at: https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki. [43] The Monero Project. (2018). Monero: A Scheduled Network Upgrade is Planned for April 6. [online] Available at: https://getmonero.org/2018/03/28/a-scheduled-protocol-upgrade-is-planned-for- April-6-2018-03-28.html. 26
부록부록 A 제네시스블록 논의 하이콘의제네시스블록은비트코인제네시스블록발행 9 주년에맞춰 2018 년 1 월 4 일오전 3:15(GMT+9) 에생성되었다. 제네시스블록에저장된정보의요약본은아래와같다. 팀하이콘깃허브저장소에서다수의프로그래밍언어로개발된복호화소프트웨어와제네시스블록을확인할수있다. 하이콘의제네시스블록에는헤더 1 개와트랜잭션 6 개가포함되어있고트랜잭션 6 개는초기에할당될하이콘의생성을나타낸다. 하이콘과예산할당에대한자세한사항은부록 B 를참고하면된다. 블록헤더에는채굴난이도, 트랜잭션의머클트리루트, 월드스테이트의루트, 블록의타임스탬프정보가들어가있다. 블록에저장된나머지데이터는향후토큰배포에사용될계정에로딩되어있는트랜잭션으로구성된다. 제네시스블록에담긴트랜잭션을이런방식으로암호화하는것이하이콘 ICO( 암호화폐공개 ) 를준비하는과정에서가장투명한방법이라고판단했다. 이렇게되면해당계정의모든자금을처음부터추적할수있기때문이다. 27
하이콘제네시스블록의내용 복호화된하이콘제네시스블록의내용은아래와같다. 블록헤더 난이도 : 0 Merkle Root: cff5f8a5381ce41e26bf3f5f7b658dcef0d4935dfd791460614feb894ff36457 스테이트루트 : e08408cb5bf38fb2652676af953d169c7997dd2af88299163b9a389b9d6a3ed4 타임스탬프 : Thu Jan 04 03:15:05 KST 2018 트랜잭션 ICO 계정 Account Address(raw): 9565e92e694ef206abe21d65d3a93996682d41f7 Amount: 2,000,000,000 HYCON 에어드롭계정 Account address(raw): fa7042154efb88d06c198ef106ca31aed57e6875 Amount: 400,000,000 HYCON Team 계정 Account address(raw): 8bab45e2f5c79c00d539ae1a65dbd1f8fd416ca7 Amount: 500,000,000 HYCON 개발비용 Account address(raw): 7a7b31e5aced4889a75d1042a6f1204d2a889af8 Amount: 500,000,000 HYCON 버그현상금 Account address(raw): 571a6e4554afbb09ee7da1ae20c18dbca9fabc46 Amount: 500,000,000 HYCON 기업의사회적책임 (CSR) Account address(raw): 11d8046e6cd88f9e580b84a0b10c7c452f0030fc Amount: 100,000,000 HYCON 28
부록 B 코인분배율 & 예산할당 코인분배율 발행될총하이콘수량은 100 억개로코인할당방법은아래와같다. 위그래프에서볼수있듯이하이콘의 70%(HYC 70 억개 ) 는공개적으로채굴된다. 나머지 30% 는제네시스블록과함께생성되었고네트워크공개시코인배포를담당할하이콘계정에할당한상태다. 이 30% 는 6 개부분으로나누어진다. 그중가장많은부분인초기생성코인의 1/3( 전체생성코인의 10% 또는 1,000,000,000 HYC) 은 ICO 참여자및사전투자자들에게할당한다. 전체생성코인의 5%(500,000,000 HYC) 씩은각각하이콘팀원들, 기반생태계개발기금, 버그현상금지급에할당한다. 전체생성코인의 1% 는기업의사회적책임부문에들어가고나머지 4%(400,000,000 HYC) 는이벤트또는향후결정될방법을통해배포한다. 29
예산할당 하이콘 ICO 예산할당의최우선사항은재능있는개발팀을구축하고장기적으로프로젝트의미래전망을세우는것이다. 따라서펀드레이징금액의 70% 는하이콘과인피니티프로젝트 ( 인피니티플랫폼과인피니티분산거래소등 ) 의미래연구 개발에투자된다. 하이콘과인피니티프로젝트는별개로진행되지만전체프로젝트진행의유동성을보장할펀드레이징행사는하이콘 ICO 가유일하다는점이중요하다. 30