AElf - 다중체인병렬컴퓨팅 블록체인프레임워크 V 1.3 2018 년 2 월 22 일
초록 블록체인 (Blockchain) 커뮤니티는지난몇년동안급속한발전을지켜보았습니다. 처음에는안전한분산형 P2P 전송메커니즘으로생겨난, 사토시 (Satoshi) 의비트코인이분권화된암호화통화의개념을성공적으로입증했습니다. 그다음에이더리움 (Ethereum) 이다목적 " 스마트계약 " 을성공적으로구현한커뮤니티발전에큰역할을해냈습니다. 이더리움은또한블록체인의위대한잠재력을수많은응용및산업분야로풀어냈습니다. 그결과, 여러대체암호자산들이이러한블록체인에기반해서구축되었습니다. 이것은결국블록체인커뮤니티와비즈니스세계간의경계가무너지는시작에불구합니다. 우리는다음단계의블록체인이블록체인과실제비즈니스세계간의통합을이끌어갈터닝포인트에놓여있으며, 필연적으로훨씬더견고한디지털자산을가져올것입니다. 블록체인의새로운패러다임에들어가기위해서는상업적요구들을충족하도록설계된다양한목적의운영체제가필요합니다. 이새로운체인은다음과같은세가지주요과제들을해결해야할것입니다. 1. 하나의단일노드 / 마이닝시스템의성능이전체시스템의성능을결정하는것처럼, 현재의블록체인은확장성이없습니다. 2. 현재블록체인은스마트계약체결들사이의간섭을일으킬수있는다른스마트계약에대한리소스를분리하지않습니다. 3. 현재의블록체인에는업데이트혹은새로운기술을채용하기위해서사전규정된합의프로토콜이없습니다. 이백서는최첨단 IT 설계원칙및기술을통합하여상업적표준을제시하는매우효율적인블록체인아키텍처를소개합니다. 우리는이것이블록체인을위한 " 리눅스생태계 " 를만들어낸다고생각합니다. 우리시스템의가장기본적이고본질적이며시간소모적인요소를정의하고제공하며, 현재시장체인들에기반한주요개선안을만들어내는데중점을둡니다. 이시스템을통해개발자는특히다양한산업분야의상업적요구사항을포함, 자신의요구사항에맞게최적화할수있습니다. 그것은아래주요기능들을포함합니다 : 1. 다양한상업시나리오다룰수있는메인체인및멀티레이어사이드체인의개념을소개합니다. 하나의체인은하나의유스케이스에맞게설계되었으며, 여러작업을여러체인에분산시키고처리효율성을향상시킵니다. 2. AElf 가메시징을통해외부블록체인시스템과통신할수있게합니다. 예시 : 비트코인, 이더리움
3. 비경쟁트랜잭션및클라우드기반서비스에대한병렬처리를허용합니다. 4. 데이터복잡성을줄이고높은맞춤화를달성하기위해, 각체인에대해최소한의실행가능한블록및 Genesis Smart Contract Collection 의기본구성요소를정의합니다. 5. 이해관계자가컨센서스의정서재정의 ; 사이드체인이컨센서스프로토콜을기반으로역동적으로메인체인에가입하거나탈퇴할수있게허용하여, 결국각사이드체인을개선하기위한경쟁과인센티브를가져올수있도록하기위해, 컨센서스프로토콜을기반으로하는주요체인의정서수정안을승인할수있게합니다.
목차 1. 현재블록체인시스템... 6 1.1. 일반적인블록체인 vs. 복잡한비즈니스시나리오... 6 1.2. 순차처리의성능제한... 7 1.3. 데이터복잡성및중복성... 7 1.4. 프로토콜업데이트의딜레마... 7 1.5. 블록인플레이션... 8 1.6. 비효율적인 P2P 통신지원... 8 1.7. 교차사슬통신을위한보류돌파구... 8 2. AElf의주요목표... 8 2.1. 상업적용도로사용할수있는고도의맞춤형 OS... 8 2.2. 교차사슬상호작용... 9 2.3. 성능개량... 9 2.4. 프로토콜업데이트... 9 2.5. 사설체인모듈... 10 3. 시스템을실현하기위한핵심접근방식... 10 3.1. 성능향상... 10 3.2. 자원분리... 11 3.3. 거버넌스의구조... 11 3.3.1. 대의민주주의의유사성... 11 3.3.2. 대의원의권력행사... 12 4. AElf 시스템... 12 4.1. AElf 아키텍쳐... 12 4.1.1. 하나의체인하나계약... 13 4.1.2. 사이드체인동적인덱싱... 13 4.1.3. " 트리분기 " 사이드체인확장... 13 4.2. AElf 메인체인... 14 4.2.1. 사이드체인인덱스시스템... 14 4.2.2. AElf 토큰시스템... 17 4.2.3. 합의프로토콜... 17 4.2.4. DPoS... 18
4.2.5. 거래의확인... 21 4.3. AElf사이드체인... 22 4.4. AElf의경제학... 23 4.5. 시스템내장형 AElf사이드체인... 24 4.5.1. 정보등록및인증사이드체인... 25 4.5.2. 디지털자산소유권사이드체인... 25 4.5.3. 자산초기유통사이드체인... 25 4.5.4. 분산된교환사이드체인... 25 4.6. AElf 크로스체인최적화... 25 5. AElf 운영체제... 26 5.1. 최소실행가능한블록체인시스템의정의... 26 5.2. AElf 커널... 27 5.2.1. 최소실행가능한블록체인내장시스템... 27 5.2.2. 통합계정시스템... 27 5.2.3. 블록내병렬처리처리... 27 5.2.4. 블록으로표시된트랜잭션... 30 5.2.5. 스마트계약수집... 30 5.2.6. 스마트계약업데이트... 30 5.2.7. 사용자정의가능한합의프로토콜... 31 5.2.8. 사용자정의가능한블록헤더... 31 5.3. AElf 운영체제고객인터페이스... 32 5.3.1. 스마트계약체결... 32 5.3.2. 마이크로서비스... 33 5.3.3. 클라우드베이스... 33 5.3.4. 라이트노드... 33 5.3.5. 선택적모듈... 33 6. AElf 생태계 (Eco-system) 개발... 35 6.1. 기술... 35 6.2. 비즈니스응용프로그램... 35 6.3. 자본... 38 참고문헌... 39
1. 현재블록체인시스템 현재블록체인기술과그응용프로그램은기하급수적으로발전하고있습니다. 많은업계에서기존네트워크아키텍처를블록체인기반네트워크아키텍처로마이그레이션하는방법을실험하고있습니다. 그러나현재블록체인시스템은다양한목적의운영체제기능및응용프로그램지원기능을할수없고효율적이지도않습니다. 블록체인디자인의개척자로서비트코인은응용프로그램과유사합니다. 이더리움은운영체제의몇가지특성을증명하였습니다. 개발자는응용프로그램을이더리움의스마트계약처럼프로그래밍할수있으며,, 체인은프로그래밍언어와 Solidity 등의형태로된 Adaptor 를제공합니다. 그러나현대운영체제의관점에서보면, 이더리움에는여전히여러단점이있습니다. 예를들어, 시스템구성요소사이의비동조화 (decoupling) 방안부족, 대부분의모듈에대한맞춤형지원부족그리고부족한시스템의인터페이스정의부족등이있습니다. 이접근방식은시스템의전체론적디자인이부족하고아직상업적으로는업계간응용 프로그램시나리오에는부족합니다. 또한이것은블록체인기술의상업적인응용을크게 제한하게됩니다. 1.1. 일반적인블록체인 vs. 복잡한비즈니스시나리오블록체인기술의대규모상업적채택을방해하는현재의과제는다양한복잡한비즈니스시나리오의요구사항을충족시킬수없다는것입니다. 이러한시나리오는프로세스와실행로직측면에서차별화되는솔루션을요구하며, 종종다른특징을갖습니다. 따라서 " 하나로모두를만족시키는 " 블록체인이다른비즈니스시나리오의요구에맞추어균형을잡기어려운딜레마에직면해있습니다. 예를들어, 티켓발급은시스템에서높은 TPS 가일어나는빠른처리가필요한반면에디지털법률계약은높은보안과신뢰성을필요로합니다. 이러한요구사항을충족시키는두가지일반적인솔루션이있습니다. i. 블록체인을데이터베이스로만사용하고비즈니스로직을다루지마십시오. 이접근방식은모든비즈니스시나리오를처리하고호환성을유지관리하는것을목표로합니다. 비트코인과유사한많은체인들이방법을사용합니다. 그들은비즈니스관련데이터및해시를블록체인에저장된트랜잭션출력 "OP_RETURN" 으로기록합니다. ii. 다양한복잡한스마트계약을단일블록체인에기록하십시오. 이스마트계약 (Smart Contracts) 들은다양한형태의사전정의된비즈니스모델을다양한시나리오로부터제공하는것입니다. 이더리움은이러한유형의체인 s 을나타냅니다. 모든스마트계약이하나의단일체인에쓰여진다는사실때문에,
블록체인은복잡해지며, 스마트계약실행을위한높은유지보수비용과 효과적인구조적결함을나타내게됩니다. 1.2. 순차처리의성능제한블록체인이점점더널리사용됨에따라, 특히대규모처리트랜잭션을다룸에있어, 그것의트랜잭션처리용량은순차처리프로세스를사용하여네트워크성능의병목현상을가져오며, 엄청난압박을받고있습니다. 현재블록체인시스템은때때로거래효율의비용측면에서용량을향상시키기위해여러가지문제에직면합니다. 예를들어비트코인거래수수료가더많이발생하고있으며, 트랜잭션볼륨이증가하고많은수의백로그가확인을오랫동안기다리는만큼비용이많이듭니다. 이더리움은토큰판매도중늘어나는혼잡상태에직면합니다. 그러나전통적인 IT 아키텍처에서는파티셔닝, 샤딩및분산아키텍처등의모던기술들이시스템성능을개선시키는효과가매우높음이증명되어왔습니다. 반면, 병렬작업처리의개념은효율성을높이는데적용되지않았습니다. 블록에많은양의트랜잭션데이터와복잡한스마트계약들이포함되어있을때, 순차적트랜잭션은블록생성과검증에있어그것의효율성제한에다다릅니다. 1.3. 데이터복잡성및중복성섹션 1.1 에서설명했듯이하나의범용블록체인 (Universal Blockchain) 이다른비즈니스시나리오의필요에맞추기위해사용됩니다. 범용블록체인시스템의단점은너무복잡한스마트계약및합의프로토콜, 특정비즈니스시나리오맞춤솔루션의부재및중복데이터입니다. 1.4. 프로토콜업데이트의딜레마블록체인의채택이증가하고있지만, 아직초기단계에있습니다. 중요한개선과혁신은아직이루어지지않았습니다. 블록체인를발전시키고끊임없이변화하는환경과이해관계자들의관심을계속유지하려는노력은필수적입니다. 생태계내의많은다양한이해관계자들은일반적으로효과적인거버넌스메커니즘없이합의에도달하기가어려우며, 가장최신의프로토콜변경사항을협상또는분쟁으로보냅니다. 하나의생생한예가비트코인이며, 커뮤니티는최근몇년많은새로운기능의도입을위한합의에도달하기가어렵다는것을발견했습니다.
1.5. 블록인플레이션블록체인시스템이성공적일수록유지보수비용이높아집니다. 현재비트코인전체노드를돌리는데 130G 이상의공간이필요하며, 이더리움은 180G 이상이필요합니다. 이상황은앞으로개선되지않을것입니다. 더많은사용자가블록체인을채택하고더많은거래활동을수행하게됨에따라블록의인플레이션은가속화되고유지보수비용은더욱높아질것입니다. 이러한악순환을완화하기위한조치를취해야합니다. 1.6. 비효율적인 P2P 통신지원기존블록체인은주로방송네트워크를기반으로통신됩니다. 그리고 P2P 통신에대한지원은비효율적이며안전하지않습니다. 한가지예는특정데이터가한그룹의사용자에게만관련이있다면, 이러한데이터는모든노드에브로드캐스팅되는대신유한노드간에통신됩니다. 1.7. 교차사슬통신을위한보류돌파구기존블록체인시스템은프로세스관련비즈니스논리에교차사슬통신을실험했습니다. 그러나결과는여전히불만족스럽습니다. 현재의교차사슬통신에는중앙집중식메커니즘과 HTLC 메커니즘이포함됩니다. 중앙집중식메커니즘은블록체인이라는아이디어에서벗어나신뢰부족, 단일노드장애, 단일노드병목현상을가져오며, 특정시나리오에만적용가능합니다. HTLC 메커니즘은자산교환과같은특정시나리오만처리할수있으며, 통신체인의프로토콜및합의프로토콜에엄격한요구사항을부과합니다, 그리고그러한메커니즘의구현은일반적으로복잡합니다. 결과적으로두가지중요한문제, ( 프로토콜호환성과데이터교환형식호환성등 ) 을해결하는것이필수적입니다. 2. AElf 의주요목표 2.1. 상업적용도로사용할수있는고도의맞춤형 OS 우리는고도로효율적이고맞춤화가능한운영체제인 AElf 를꿈꾸며, 블록체인커뮤니티에서의 "Linux 시스템 " 이될것입니다. Linux 를예로들자면, 리눅스커널과다양한커널그리고다양한 Linux 버전은크고성공적인 Linux 제품군을구성합니다. 리눅스커널은다른개발자가응용프로그램시나리오및고객요구사항을기반으로맞춤형시스템을허용하면서, 가장근본적이고비판적이며시간소모적인부분을해결합니다. 이러한부분이 Linux 를모든산업분야를지원하는가장보편적인서버 OS 로만듭니다.
동일한아이디어가 AElf 디자인에통합되었습니다. 첫째, 우리는블록체인시스템의핵심적인기능을포함하는 AElf 커널, 즉, 최소한의실행가능한블록체인시스템을정의하고만듭니다. 둘째, "Shell" 을코어에대한기본대화식인터페이스로사용합니다. 사용자는블록체인 OS 를사용하거나, 코어를기반으로사용자정의된 OS 를재정의함으로써신속하게만들어낼수있습니다. 2.2. 교차사슬상호작용 AElf 는비트코인, 이더리움및기타블록체인시스템과상호작용합니다. 교차사슬주류체인과의상호작용은메시징을통해실현될것입니다. 그리고그것은또한디지털자산, 사용자및정보를공유하기위해, 교차사슬을바탕으로내부성장하는상호작용을통한다단계사슬구조를형성합니다. 2.3. 성능개량전통적인 IT 아키텍처에서분산구조는 debottleneck 기능제한에있어매우잘알려진솔루션입니다. 블록체인시스템은또한분산형병렬처리를지원해야하는데, 예를들어, 비경쟁트랜잭션으로여러트랜잭션을병렬처리데이터를사용하여트랜잭션효율성을향상시킵니다. 또한체인이효율적으로처리하기에너무복잡하게되면, 트래픽을없애기위해병렬체인들로분산시켜야합니다. 효과적인블록체인의초기설계는하나의체인에모든스마트계약들을합치기보다특정비즈니스시나리오들을해결하는데초점을맞추어야합니다. 비즈니스요구사항에따라최적의성능을제공하기위해서, 체인은효과적이고맞춤화된데이터구조, 스마트계약논리및특정타겟을위한합의프로토콜을제공해야합니다. 이렇게함으로써구성요소와데이터체인내에서훨씬더간단하고쉽게관리할수있습니다. 또한 AElf 는시스템에서스냅샷을트리거하는메커니즘을정의할수있습니다. 정의된주기에서현재데이터의스냅샷을취하고자세한트랜잭션데이터를트리밍합니다. 새로운창세기블록에는모든후속거래가포함됩니다. 이아이디어는전통적인 IT 데이터베이스아키텍처에서채택되어시스템인플레이션을완화합니다. 2.4. 프로토콜업데이트블록체인의창세기에투표와갱신메커니즘은명확해야합니다. 미래의새로운기능을포함하기위한합의프로토콜의도입으로그것은프로토콜갱신에관한교착상태와분쟁을피하게됩니다.
2.5. 사설체인모듈상당수의기업이블록체인기술의이점에지렛대효과를가져오기위하여, 사설망에관심을가지고있습니다. 이러한사설체인은외부생태계또는기타사업과관련없이일반적으로분리되어존재합니다. 우리는 Amazon 클라우드서비스 "AMI" 와유사한모델로사용자가독립사슬체인을사용하여독립적체인을구축하고완전한소유권을얻습니다. 3. 시스템을실현하기위한핵심접근방식 3.1. 성능향상 AElf 의핵심원칙은이미검증된솔루션을사용하여실질적인기술문제를해결하는것입니다. 블록체인의개념을 " 최적화 " 하는대신비즈니스응용프로그램의안정적인실행을위한성숙한구성을제공하기위해주의를기울입니다. 현재몇가지성능향상아이디어를살펴보자면 : 대부분의블록체인샤딩솔루션은단일합의를나누어수많은하위합의에이르는방식으로구현됩니다. 기본적으로, 단일하위그룹보다여러하위컨센서스그룹이공격받기쉬우며, 전체적합의는나뉘어져있습니다. 사람들은랜덤을증가시켜라우팅경로를복잡하게만들수있지만, 마이닝노드의전문화를손상시키게됩니다. 작업증명채굴노드들은특별한레저시스템으로대체됨에따라크게감소했습니다. 이러한풀들은블록형성속도를늦추고안정적으로유지하며, 광업의효율성과브로드캐스팅적시성을보장할수있습니다. IT 업계에서의경험을활용하여광산채취장은표준노드소프트웨어는없지만부하를통해컴퓨팅파워를집계비동기병렬방식으로스마트계약을분산및실행하고자체계약방송효율을높이기위해전세계노드에적용됩니다. 그러나, 광산채굴장의성능은여전히풀에서사용된기술적인차이와사실노드는모두똑같이설계되고 procotol 자체에의해제한된다는사실에제한적입니다. 그래서하나의단일노드를업그레이드한다고해서전체네트워크가개선되는것은아닙니다. 여기에 AElf 의논리가있습니다 : AElf 의노드는역할에따라분류됩니다. 클러스터에표준서비스를제공하는것은오픈소스이며 DPoS 를통해주체인의합의에도달하게됩니다. 위임된광산노드는사이드체인 (Side Chain) 을최대한으로확장하고메인체인의강한의견일치를공유하면서보호할수있습니다. 이방법은각대표단의압력을높여주지만위임된광산노드가클러스터에서실행할수있기때문에,
사이드체인이더추가되면서효율성이개선될것입니다. 사이드체인들은서로 독립적이며따라서하나추가적인사이드체인은전체시스템의효율성을증가시킵니다. 또한, 각사이드체인의효율성또한병렬처리의이점을얻을수있습니다. 3.2. 자원분리불필요한상호간섭으로부터스마트계약을보호하고블록체인에서안정적으로운영되도록유지하기위해, AElf 는 하나의-체인으로-모두를-만족 하는솔루션을포기하고각계약의적절한실행을보장할수있는공개블록체인을설계합니다. AElf 는 AWS 와유사한클라우드컴퓨팅플랫폼을계획하고있습니다. 어떤비즈니스도다른비즈니스들로부터방해받기를원하지않습니다. 예를들어미래시장에서의거래는블랙프라이데이에의해생성된트래픽에의해영향받지않을것입니다. 그러나이러한겉보기에불가능한간섭은일반적으로블록체인영역에서볼수있습니다. 그래서블록체인기술이실제사례에서적용되는것을방해하는핵심장애물은설계초기에달려있습니다. 3.3. 거버넌스의구조과거의한계로인해현재의블록체인관리구조는종종만들어질때잘정의되지못하기도합니다. 이문제는주요한기능업그레이드혹은버그로인한정체가있을때더욱두드러집니다. 예를들어, 비트코인은 2 년이넘도록스케일링문제들을해결하지못하고마침내갈라졌습니다. 이더리움커뮤니티와재단사이의 The DAO 사건에대한차이점이 ETC 의탄생을가져왔습니다. 결과적으로, 사용자가 AElf 의세계에들어가기이전에 AElf 의방향설정방법에대해명확히하려고한다.: 우리는 AElf 의미래에 AElf 토큰소지자가가장큰권리를가진다는사실을인정하고, 토큰소지자의이익은 AElf 의밀도와연계되어있으며, 특히장기간보유한토큰의경우더그러합니다. 3.3.1. 대의민주주의의유사성 AElf 의핵심원칙중하나는전문작업들을수행하기위한특수노드를지정하는것입니다. AElf 에서는중요한결정이대의민주주의와닮은메커니즘을통해수행될것입니다. 위임된노드는 AElf 거버넌스에참여하는다른이해관계자들로부터충분한투표수를가져야합니다. 마이닝노드는어느정도 AElf 시스템의건강한상태로여겨지기때문에그노드는원장 ( 금전출납 ) 이되어야하는책임이있으며, 스마트계약을통해그들을위탁한이해관계자에게보너스와피드백값을전달해야할책임또한가지게됩니다.
3.3.2. 대의원의권력행사재단은소스코드를제출하고마이닝노드가검토하고투표하도록위임하면서그것의관리방식을깨닫게됩니다. 이과정은다음과같이진행됩니다 : 재단회원은오픈소스코드를제공하고새로운기능을제출합니다. 그런다음대리인이그들의필요에따라통합하기위한특정기능을선택합니다. 한기능이충분한위임자들에채택된경우, 그것은전체시스템에서승인을얻습니다. 4. AElf 시스템 4.1. AElf 아키텍쳐우리는한개의메인체인과메인체인에붙어있는여러개의사이드체인으로구성된 AElf 를소개합니다. ( 그림 4.1). 전통적인싱글체인 (Single Chain) 시스템과의차이점은 AElf 는메인체인 (Main Chain) 이시스템의중추로작동하고여러개의사이드체인들에 ( 심지어여러계층일수있음 ) 연결하는 " 분기형생태계 " 입니다. 그림 4.1: AElf 구조의개요 AElf 는비트코인, 이더리움및기타블록체인시스템과기존의인기있는생태계와호환되도록어댑터를통해연결됩니다. AElf 사이드체인은시스템내장형 AElf 사이드체인및 AElf 운영체제또는 AElf 커널기반으로생성된다른체인들을포함합니다. 메인체인은사이드체인과사이드체인동적인덱싱으로상호작용합니다.
4.1.1. 하나의체인하나계약 " 하나의체인으로모든유형의계약을 " 의전통적인구조와비교하여, AElf 는 하나의체인으로계약의한유형을 " 을부과합니다. 그림 4.2 (b) 에서볼수있듯이각각체인은한가지유형의거래에전념하고한가지유형의비즈니스문제를해결합니다. 이로인해전체구조와데이터가더간단해지고더욱상업적인요구사항들에맞춤화됩니다. 새로운사이드체인을 AElf 에추가하게되면, 관리하기쉬운 구조를유지하면서, AElf 는새로운기능들의권한이부여됩니다. (a) 하나의체인으로모든유형의계약을 (b) AElf 의하나의체인으로계약의한유형을 그림 4.2: 복잡한데이터구조를가지는블록체인 4.1.2. 사이드체인동적인덱싱 AElf 는모든사이드체인이메인체인에연결된동적시스템입니다. 메인체인 (Main Chain) 은시스템경계의인덱스를포함합니다.( 연결된사이드체인이무엇인지기록하면서 ). 그들은주체인을통해외부정보입력으로부터 Merkle tree 와검증의형태로서로상호작용합니다. 이와같이, 사이드체인직접적으로상호작용하지않기때문에, AElf 시스템에서사이드체인을추가하거나제외할수있습니다. 4.1.3. " 트리분기 " 사이드체인확장그림 4.3 에서기술된바와같이, AElf 는 " 주체인및사이드체인구조 " 를정의합니다. 이론적으로말해서모든사이드체인은아래로몇개의하위체인들과시스템의한부분에서 " 주체인 " 역할을하면서연결될수있습니다. 이렇게하면 AElf 를수평및수직으로확장할수있는시스템의가지구조를만들어냅니다. 이아이디어는데이터베이스아키텍처의분할및샤딩과유사합니다. 그것은각샤드가특정기능을수행할수있으며한샤드가관리하기에너무커지게되면, 여러개의샤드로더세분화될수있습니다. AElf 에서, 이것은사이드체인에해당됩니다.
그림 4.3 : 다중레이어사이드체인구조 4.2. AElf 메인체인 AElf 메인체인 (Main Chain) 은전체시스템의중추역할을하는 AElf OS 에의해운영되는블록체인입니다. 메인체인은사이드체인인덱스시스템, 토큰시스템및 DPoS 합의프로토콜로구성되어있습니다. 4.2.1. 사이드체인인덱스시스템 사이드체인인덱스시스템은 AElf 생태계내의모든체인을연결합니다. AElf 는두가지 종류의체인을인덱싱합니다 : 매우중요도가높은외부체인은 AElf 의경계 ( 예 : 비트코인, 이더리움 ) 를 확장하는데사용할수있습니다. AElf OS 로동작하는내부사이드체인은 AElf 토큰을이용하는 AElf 시스템의자본 환경에공헌하게됩니다. 사이드체인인덱싱은다음단계에서작동합니다. 주체인의노드는사이드체인에서정보를읽고, Merkle Tree 를생성합니다. 새로운블록의머리글은 Merkle Tree Root 를기록합니다. 그림 4.4 와같이, BTC 의 1000 번째블록에서트랜잭션 TX1 을확인하려는경우, 우리는단지주체인의 Merkle Tree Root 에저장된 BTC 의 1000 번째블록의 Merkle Tree 의존재혹은메시징을통해 BTC 의 1000 번째블록에있는 TX1 의 Merkle 을증명하기만하면됩니다. 이런접근은 Merkle Tree Root 생성되는한, 이더리움과같은다른체인에도적용가능합니다.
그림 4.4: 사이드체인인덱싱 검증효율성을높이기위해, 우리는 Block hashes 뿐만아니라그림 4.5 의트랜잭션과 그림 4.6 의상태의 Merkle Tree Root 까지포함하도록 Merkle Tree 의구조를확장하는 것을제안합니다. 그림 4.5 : 트랜잭션인덱싱
그림 4.6 : 상태인덱싱 논의해야할핵심사안은메인체인 (Main Chain) 에의한사이드체인인덱싱 (Side 체인 Indexing) 의타이밍입니다. 메인체인 (Main Chain) 이포크확률이높은사이드체인을자주인덱싱하는경우, 고아블록을인덱싱하기위한노력을낭비하게됩니다. 따라서우리는각특성에따른개별사이드체인을위한다른색인생성전략을제안하며, 이것은시스템에서정의될수있습니다. 비트코인과유사한블록체인의인덱싱전략은블록생성 1 분후일수있습니다. 이것은 1 분의형성시간이후고아블록이확인되지않기때문에통계적으로입증되었습니다. AElf 내에서사이드체인과메인체인병합마이닝을채택하면동일한마이너들로인해실시간인덱싱을수행할수있습니다.
그림 4.7 인덱싱타이밍 4.2.2. AElf 토큰시스템 AElf 토큰은시스템에서정직한행동을유도합니다. 모든 AElf 사이드체인은 AElf 토큰을가치의저장과가치의전송수단으로인정합니다. 그것은 AElf 토큰을허용하는체인들간에전송될수있습니다. 사이드체인이메인체인에의해인덱싱되도록적용되면, 메인체인으로부터약간의고정된토큰을받게됩니다. 사이드체인이거래수수료를받으면주체인의광부 ( 마이너 ) 와부분적으로공유합니다. 주체인이색인생성을찾으면사이드체인은경제적이익면에서불리하며, 메인체인은인덱싱을종료하거나동일한사이드라인을제공하는두개의사이드체인경쟁을허용을종료할수있는권리가있습니다. 4.2.3. 합의프로토콜안정적이고효율적인블록형성메커니즘은 AElf 시스템의기초입니다. AElf 의운영및유지관리는비트코인및이더리움보다더복잡합니다. 이는 AElf 블록을형성할때 Side 체인 s 의정보를기록하고 Main 체인이필요하기때문입니다. 또한 AElf 는클라우드기반의더복잡한구조의엔터프라이즈서비스를제공하도록설계되었습니다. 추가로광부 ( 마이너 ) 가여러체인의정보를병렬로업데이트해야합니다. 주체인은사용자
경험을향상시키기위해 DPoS 를채택하여높은주파수와블록형성의예측가능성을 보장합니다 4.2.4. DPoS AElf 는 2N + 1 마이닝노드를위임합니다. N 은 8 로시작하고매년 1 씩증가합니다. 이들 AElf 시스템의노드는 AElf 의모든합의규칙을시행합니다. 이러한위임된마이닝노드의목적은트랜잭션릴레이, 트랜잭션확인, 패키징블록및데이터전송을활성화하는것입니다. AElf 가멀티사이드체인아키텍처방식을채택함에따라, 마이닝노드가일부사이드체인의광부 ( 마이너 ) 로동작해야합니다. 2N + 2 노드는매주무작위순서계산을거치게됩니다. 무작위프로세스는다음과같이설명됩니다 : AElf 는 " 라운드 "(4.8 및그림 4.9 에서수평화살표그림 ) 이라고우리가부르는타임라인을따라동작하게됩니다. 각라운드내에서하나의마이닝노드가매번하나의블록을생성하는반면, 매라운드마다하나의노드가하나의추가트랜잭션을갖게됩니다. ( 그림 4.9 의수직화살표 ). 각마이닝노드 (node) 는특정라운드 (t) 에세가지주요속성을가지고있습니다 : (1) Private 키 in_node(t) 는마이닝노드에서입력한값으로라운드 (t) 내에서개인소유로저장됩니다. 라운드 (t) 내모든블록생성들을마치고나서, 그것은사람들에게공개될것입니다. ; (2)Public 키, Out_node(t) 는 in_node(t) 의해시값입니다. AELF 네트워크의모든노드는언제든지이값을찾을수있습니다. (3) 서명, 이는첫번째라운드에서마이닝노드자체에의해생성된값입니다. 첫번째라운드이후, 이전라운드가완료된후에만계산될수있습니다. 그것은이라운드에서해당마이닝노드의서명으로사용되며 Out_node(t) 와같이모든시간에서대중에게도공개됩니다. 자세한내용은그림 2.1 을참조하십시오. DPoS 에는두가지주요프로세스가있습니다. (1) 사전-검증 ; 그리고 (2) 각라운드내주문계산
사전-검증 ( 그림 4.8) : 노드가 round (t+1) 에서블록생성을시작하기전에, round (t) 에서그것의상태가검증되어야합니다. Round(t+1) 에서는 in_node(t) 는이미퍼블릭에공개되며, Out_node(t) 가언제나조회가능합니다. 그래서 round(t) 안에 node 의상태를검증하기위해서, 다른노드들은 hash(in_node(t)) == out_node(t) 를체크할수있습니다. 그림 4.8 사전 - 검증 순서계산 ( 그림 4.9): 그림 4.9 에서우리의주문계산전략을설명하기위해예제로 4 개의마이닝노드를사용했습니다. 각라운드 N 에서마이닝노드들은 N+1 블록을생성합니다. 첫번째라운드 ( 그림 4.9 의 1 번라운드 ) 에서는각노드의 signature (sig) 뿐만아니라블록생성의순서또한완전히임의적입니다. 두번째라운드에 ( 그림 4.9 의 2 번 ), 블록생성은임의적으로다시정렬됩니다. 하지만, 두번째라운드부터서명은아래와같이같이계산됩니다. 일때, 여기서, node[i](t) 는라운드 t 에서 i 번째트랜잭션을처리하는노드를의미합니다. 라운드 3 에서부터라운드내의순서는이전라운드로부터의순서와노드서명에서생성됩니다. 라운드 t+1 에서는라운드 t 노드의서명을순서대로움직이게됩니다. t+1 에서노드의순서는다음에의해계산됩니다.
충돌이있는경우즉, 결과가비어있지않은장소를가리키면우리는사용가능한다음장소의노트를가리키게됩니다. 만약노드가 n 번째장소에서충돌한다면, 우리는처음장소부터사용가능한곳을찾게됩니다. 하나의추가트랜잭션을처리할노드는이전라운드첫번째장소의노드서명으로부터계산되게됩니다. 그림 4.9 처음 3 라운드의주문계산세부사항 sig node[0](t) 는 (1) 이전라운드 t-1 의모든서명들 ; (2) 라운드 t-1 에서자체의값 ; (3) 어떤노드가여분의블록을생성하는지에의해서결정됩니다. 그래서그것은이전라운드 t- 1 이끝난후에계산될수가있습니다. 게다가, 모든이전라운드의서명들이필요하며, 값은각노드로부터독립적으로입력되기때문에, 주문을제어할수있는방법이없습니다. 하나의추가블록생성은임의성을높이기위해사용됩니다. 일반적으로,
우리는외부로부터추가입력에의존하게되는무작위시스템을만들게됩니다. 어떤 노드도특정라운드에서다른모든모드의입력값을것을알수없다는가정하에, 어떤 노드도순서를제어할수는없습니다. 한노드가라운드 t 에서블록을생성할수없으면, 이라운드에그것의 수도없습니다. 을입력할 이러한경우이전의이사용됩니다. 모든마이닝노드는신뢰할수있는노드가되도록처리되기때문에, 이러한상황은너무자주발생하지않아야합니다. 설령이런상황이발생했다하더라도, 언급된전략은그것을공정한방식으로처리하기에충분합니다. 모든노드는트랜잭션을처리하기위해오직특정한시간 T 초만있습니다. 현재의네트워크조건에서, T = 4 는모든노드가 4 초동안트랜잭션을처리하고결과를네트워크에제출해야하는합리적인고려사항입니다. 4 초내에제출하지못한어떤위임자도해당블록은포기한것으로간주됩니다. 어떤위임자가두번연속실패하면, 해당노드에대해 W 시간으로계산된윈도우기간이생깁니다. (W = 2 N, N 은실패횟수를나타냅니다 ). 시스템적인설계에서 AElf 는하나의노드만이특정기간에블록들을생성하도록정의합니다. 따라서양호한연결상태에서마이닝노드들이작동하는데포크가발생할확률은매우낮습니다. 고아노드그룹이네트워크문제로인해여러개발생하는경우, 시스템은그것이많은수의마이닝노드들과함께고아노드그룹으로부터발생된다는사실로인해가장긴체인을채택할것입니다. 악의적인노드가네트워크를공격하기위해두개의분기된블록체인에서동시에광산을마이닝한다면, 이노드는전체네트워크에서제외되도록해야합니다. DPoS 마이닝노드는대표적인민주주의와흡사한방식으로선출됩니다. 선출된노드는다른광산노드와이해관계자에보너스를분배하는방법을결정하게됩니다. 이메커니즘은이후장에서자세히설명합니다. 4.2.5. 거래의확인현재의블록체인시스템에비해, AElf 는더빠르고예측확인이가능합니다. 작업증명 (PoW) 과는달리, DPoS 는해시를반복해서패키지화할필요가없습니다. 따라서한마이닝노드가블록을패키지화하는시간은안정적이며 T(4 초 ) 시간내에제어할수있습니다.
AElf 는 5 개의블록으로수락한하나의빠른확인작업이일반트랜잭션에사용되고많은양의거래에는 15 블록씩사용되도록권장합니다. 따라서하나의일반적인거래는 20 초내에, 큰거래는 60 초내에확인됩니다. 이는보수적인권장사항입니다. 비트코인은 6 블록의확인을권장하지만많은사용자는하나또는두블록만사용하여확인합니다. 고급사용자는자체블록체인의데이터를관찰하고수집할수있으며자신의마이닝노드와전체네트워크의평균처리시간에따라스스로확인시간을조정할수있습니다 4.3. AElf사이드체인 AElf 메인체인이색인화한체인은사이드체인으로간주됩니다. 앞에서언급했듯이, 각사이드체인은하나의구체적인트랜잭션을처리하도록설계하는것이좋습니다 ( 그림 4.8). 새로운사이드체인이 AElf OS 를통해생성되면, 마이닝을메인체인과병합하고, 자체컨센서스프로토콜을수립하는것이좋습니다. AElf 생태계에기여하기위해, 사이드체인들은특정양의 AElf 토큰을확보하고메인체인과부분트랜잭션에대한수수료를공유해야합니다. 사이드체인이다른사이드체인의정보를검증할필요가있을때, AElf 메인체인의블록헤더정보를포함해야합니다. 사이드체인들은서로직접상호작용하지않습니다. 검증은 Merkle Tree Root 를통해메인체인으로부터실행되게됩니다. 그림 4.8 : 두개의사이드체인간의메시징상호작용 비트코인과같은 UTXO 시스템에서상태정보를얻는것은매우복잡합니다 ( 예를들어, 하나의주소에서사용가능한잔액 ). 체인간 (Across-Chain) 통신은블록체인어댑터를통해처리할수있으며, 여기서는비트코인이있는 Merkle Tree 를포함하여호환가능한블록헤더를생성합니다. AElf 는이러한어댑터를채택하고널리사용되는
비트코인과협력하고자산과상호작용하기위해 AElf OS 를사용하여완벽하게호환되는 비트코인사이드체인을구축하려고합니다. 4.4. AElf의경제학선순환경제는지속적인 AElf 생태계시스템의기본이됩니다. PoS 및 DPoS 의경우모든이해관계자가토큰을판매하고생태계에서짧은시간안에 (PoS 에는일정한잠금기간이있음 ) 퇴장할수있습니다. PoS 와 DPoS 가직면하고있는하나의도전과제는교환 (Exchange) 이시스템내에서많은양의토큰을차지하게되며, 이에따라벌어들이는이익은거의 0 에가깝게된다는사실입니다. PoW 의경우, 마이너들은빠져나가기전에보다더복잡한고려사항에직면하게됩니다. 이탈자체가전기비용, 광산기계감가상각, 토지임대그리고인적자원과같은외적요인으로부터제한됩니다. AElf 는안정적인시스템을유지하기위해대형이해관계자에게인센티브를제공하도록 DPoS 를메인체인에서사용하며, 또한마이닝작업이 AElf 토큰을창출하는사이드체인을위해 PoW 를배치할것입니다. AElf 시스템에서는각체인의컨센서스프로토콜은구체적인목적을달성할수있도록커스터마이즈가가능합니다. 그림 4.9 : AElf 사이드체인색인생성의요금메커니즘 사이드체인이 AElf 시스템에포함되면인덱싱을위한메인체인에대한거래수수료로일정트랜잭션금액을지불하게됩니다. AElf 는각사이드체인의다양한기여수준을환경생태계에반영할수있도록동적거래수수료전략을적용합니다. 예를들어, AElf 는기여도가높은사이드체인에대해더적은거래수수료를부과합니다 ( 예를들자면 : 비트코인의광범위한채택및관련자산인덱싱에는요금부과가없습니다. 반면생태계에가치가없는사이드체인이나다른체인의자원을소비하면높은거래수수료가부과됩니다.)
그림 4.10: 서브체인인덱싱 각사이드체인의생태계 (Eco-system) 는메인체인과무관한서브체인에대한인덱싱전략을결정하기위한선출을하게됩니다. 그것의자체전략에는해당비즈니스범위및서브 ( 하위 ) 체인의수수료체계를포함하지만이에국한되지는않습니다. ( 예 : 보험체인에는보험사업내서브체인만포함됩니다.) 모든체인은어떤서브사슬을포함시키지않거나사슬을적극적으로초대하여서브사슬이되도록결정할수있으며, 이는생태계, 에코시스템을풍부하게하는수단이됩니다. AElf 생태계내에서어떤체인이든다른서브체인또는심지어다른체인혹은여러체인의서브체인이될수있습니다. 4.5. 시스템내장형 AElf사이드체인 AElf 노드토폴로지는메인체인, 라이트노드그리고사이드체인노드의전체노드간상호연결 P2P 네트워크로구성됩니다. 비-마이닝 ( 비광산 ) 노드는일반적으로라이트노드들입니다. 마찬가지로원장노드는전체노드입니다. 사이드체인의노드는메인체인과의인덱싱관계에기반한노드토폴로지에서배포됩니다. 사이드체인은창립자의가이드하에개발될것입니다. 우리는그것이이와같은시스템을구축하는데필요하다고생각합니다. AElf 는사이드체인자체를구축하는것을목표로하지않지만, 사이드체인을위한개발템플리트및인프라를제공하고, 사이드체인간의통신을목표로하고있습니다. 예를들어, 사용자가해당네트워크토큰으로콘텐츠를구매할수있는콘텐츠기반네트워크가있습니다. 분산된 " 트위터 " 가 AElf 에가입하면 AElf 는사용자가이네트워크를통해콘텐츠를공유하고네트워크리소스를배포하며해당 트위터 토큰을분산화된콘텐츠배포네트워크의토큰으로교환할수있도록하게해줄것입니다.
그림 4.11: AElf 노드토폴로지의개요 4.5.1. 정보등록및인증사이드체인정보등록및인증사이드체인은온라인및오프라인산업모두에대단한가치를창출합니다. 현재그것은전자상거래, 자동차나눠쓰기및배달과같은 O2O 산업에서널리채택되어왔습니다. 공급망금융, 물류, 신용점수계산등, 이러한커다란정보자산이이미래의사이드체인에마이그레이션할수있는이거대한기회는아직시작되지도않았습니다. 4.5.2. 디지털자산소유권사이드체인 이사이드체인의주요기능은디지털자산및지갑소유권정보를저장하는것입니다. 4.5.3. 자산초기유통사이드체인이사이드체인의주요기능은자산개시 (First Coin Sales) 를용이하게하는것입니다. 배포가완료되면자산이디지털자산소유권사이드체인으로이동됩니다. 장점은정상적인거래가대규모자산개시판매 (First Con Sales) 중간에서도중단되지않고이루어집니다. 4.5.4. 분산된교환사이드체인 분산트랜잭션사이드체인은교환으로서기능을합니다. 그것은 KYC, 자산이전, 주문배치 / 철회및실행등을가능하게합니다. 4.6. AElf 크로스체인최적화 크로스체인트랜잭션은다른체인사이의블록형성속도와일치하도록최적화되어야 합니다. 이문제를해결하기위해두가지메커니즘을설계합니다. 먼저, 계층적사이드
체인메커니즘. 우리는체인의블록형성속도에따라체인을다른레벨로분류하고, 사이드체인또는어댑터모듈을사용하여동일한수준의크로스체인트랜잭션을수행합니다. 둘째는크로스레벨보장메커니즘으로써, 서로다른레벨의크로스체인트랜잭션의경우메인체인이더느린체인에대해보장을제공합니다. 이것은단지필요한경우의선택적메커니즘입니다. 이두메커니즘은 AElf 크로스체인트랜젝션속도를향상시키는효과적인솔루션이될수있습니다. 그림 4.12: AElf 노드토폴로지의개요 5. AElf 운영체제 5.1. 최소실행가능한블록체인시스템의정의 AElf 시스템은비즈니스시나리오모든유형을다루는매우특수하고효율적인체인구조를만들어냅니다. 또한수요가늘어나면, " 체인분할 " 을통해용량문제를해결할수있습니다. 상업적잠재력을더욱강화하기위해서는, 개발자와커뮤니티를위한시스템의가장기본적인블록과인프라를준비하는것이필수적입니다. 다음장에서는최소실행가능한블록체인시스템과높은커스터마이제이션과효율을달성하기위한 AElf 운영체제의기본에대해설명합니다. 블록 : 블록은시스템에상태를기록하는데사용됩니다. 마지막블록에서현재블록으로의전환은현재블록에포함된트랜잭션에의해정의됩니다. 트랜잭션 : 트랜잭션로직은스마트계약으로정의됩니다. 스마트계약은본질적으로하나의프로토콜입니다. 항상동일한입력으로동일한출력을제공합니다.
계정 : 계정은데이터저장영역의경계를구분하는데사용됩니다. 그것은공개키및개인키시스템으로구성되어있다. P2P 네트워크통신 : 노드간의데이터전송은근본적인 P2P 네트워크를통합니다. 컨센서스프로토콜 : 컨센서스프로토콜은블록체인내의상태를업데이트할규칙과권한을정의한다. 5.2. AElf 커널 5.2.1. 최소실행가능한블록체인내장시스템이것들은 AElf 커널내블록체인시스템동작의기본구성요소입니다. 그것들은스마트계약, 컨센서스프로토콜그리고블록체인헤더의사용자정의부관련인터페이스와연결되어사용자정의가능한부분을정의합니다. 5.2.2. 통합계정시스템비트코인시스템은공용및개인키를계정개념에도입합니다. 스크립트해시 (Script Hash) 에대한지불은스마트계약에대한거래권한을부여합니다. 이더리움은외부적으로소유계정및계약계좌를정의합니다. AElf 커널은스마트계약으로서두가지유형을모두정의합니다. 5.2.3. 블록내병렬처리처리 AElf 는거래의정적상태를분석하고영향을받은각거래의데이터범위를평가합니다. 그림 5.1 에서볼수있듯이읽기 / 쓰기가없는여러트랜잭션충돌을각각의출력에영향을미치지않고병렬로처리할수있습니다. 블록형성프로세스동안노드는트랜잭션을트랜잭션의뮤텍스 (mutex) 를기반으로하는다른그룹에할당하게됩니다. 그룹내의거래는순서대로처리되는반면, 모든그룹은동시에처리됩니다.
그림 5.1: 하나의블록내병렬트랜잭션처리 다른트랜잭션이처리되는동안영향을받은데이터범위가변경되는사실때문에병렬처리가불가능한특수한트랜잭션이있습니다. 이러한상황에서노드는병렬로처리할수있는트랜잭션의우선순위를결정합니다. 충분한거래수수료로, 비병렬그룹의이러한특별거래는순서대로처리됩니다. 그렇지않으면노드는이러한트랜잭션을처리할수없습니다. 악의적인노드가병렬적이고시간이많이걸리는처리될수없는트랜잭션을수락할때다른노드들이이블록을거부할확률은분명높아질것입니다. 암달 (Amdahl) 의법칙은컴퓨터아키텍처에서경험적규칙입니다. 컴퓨터과학자진암달 (Gene Amdahl) 에서이름지어진것입니다. 그것은병렬처리를사용시이론적인효율성향상을가져옵니다. 단일프로세서에서실행되는프로그램에대해생각해보십시오. 실행시간면에서보면, "f" 는기점유된개선된리소스로부터실행시간의비율이기에, (1-f) 는실행시간의비율로순차적처리를위해고정되어있습니다. 병렬로실행되는 m"( 숫자 ) 개의프로세서가있는경우, 이프로그램의이론적인속도향상은다음과같이계산됩니다. 두가지주요결론이내려졌습니다. (1) f 가최소일때속도향상이거의향상되지않습니다. (2) m 이최대값까지올라감에따라, 속도증가는 1 / (1-f) 로제한됩니다. 암달 (Amdahl) 의법칙은고정크기모드로, 고정실행비율의병렬처리와함께고정된크기의문제를해결할것입니다. 블록체인트랜잭션의대부분은상관관계가없습니다. 암달의법칙의관점에서데이터실행속도를대폭향상시킵니다. 그러나, 현재의대부분블록체인시스템이순차적으로
실행되고모든노드가동일한세트의연산을수행합니다. 이것은자원을낭비하고트랜잭션속도를방해합니다. 예를들면, EVM 은순차적으로거래를처리할뿐만아니라가스요금에대한요구까지가지고있으며, 이는극단적으로낮은성능효율성을가져옵니다. 그림 5.2 블록체인문제를해결하기위해, 저속트랜잭션은옵션이아닙니다. AElf 는병렬처리를통해높은체인상 (On-Chain) TPS 를갖는블록체인시스템개발을목표로합니다. 키솔루션은트랜잭션데이터와계산종속성을분리하여데이터위험을해결하는것입니다. 우리는 Intel 마이크로프로세서의아키텍처를참조할수있지만, 예약스테이션은 RAW 에서자주발생하는대용량데이터위험을처리하기위해레지스터이름바꾸기, WAW 및 WAR 를실행하고 ALU 를병렬로실행하는것과같은다른기술들과함께전기회로의존성을분리합니다. AElf 병렬실행스케줄러 (GPES) 도비슷한접근방식을채택합니다. 정규의내부테스트에서, AElf 는메모리풀로부터의블록체인내계산종속성, 데이터의존성을분리합니다. GPES 에는일련의전처리세트를가지며, 즉예측컴퓨팅타임스팬에서처리할수있는코드세그먼트의사전인덱싱병렬처리, 파이프라인시작, 다중차원에서의병렬처리를수행합니다. 이인덱싱언어세트는보다복잡한병렬논리문제를해결하는데사용될수있습니다. AElf 의파이프라인은또한속도를높이는중요한방법입니다. 그것은널리채택되어, CPU, 메타함수 (map, aggregate first, contains 포함 ) 처리와같은작업을수행합니다. 이불완전언어변환은데이터스트림 ( 또는간단한트랜잭션스트림 ) 을처리하는데적합합니다. 병렬처리기능및컨텍스트프리 / 불변컴퓨팅은코어및노드를최대한활용하게합니다. 일반적으로병렬처리는포괄적인전략입니다.
5.2.4. 블록으로표시된트랜잭션방송과확인사이의유효거래는 " 보류중 " 상태로고려됩니다. 일반적으로트랜잭션은신속하게패키지되고확인됩니다. 그러나거래가상대적으로긴시간에미확인된경우도있습니다. 예를들어비트코인의네트워크혼잡시또는마이너들대다수는가스요금에만족하지못하는경우입니다. 거래가비교적장기간에걸쳐확인되거나도출될수없다면, " 카오스 " 의상태로고려됩니다. AElf 는모든거래의방송에 " 마크 " 라는라벨이있어야하며, 이는트랜잭션이발생할때가장최근블록의해시헤더입니다. 그런다음마이닝노드는최근 64 개블록의해시헤더만처리합니다. 거래가있는경우 64 블록이생성된후확인되지않으면이트랜잭션은만료된것으로간주됩니다. 다른말로하면, 5 분이내에확인되지않은거래, 토큰소지자는이거래를재구성할수있습니다. 거래를표시하는또다른기능은구식블록체인을효과적으로포킹하는것입니다. 한노드가이트랜잭션의해시가최신 64 개블록에포함되었을때성공적으로트랜잭션을표시합니다. 노드가최상위체인으로부터대량의유효하지않은마킹해시들을수신하면서, 이러한트랜잭션을패키지화할수없는경우, 포킹체인에서이를진행할가능성이높습니다. 노드가잘못된표시로많은양의트랜잭션을수신하게되면, 높은확률로이블록체인이포크되었을가능성이큽니다. 이때노드는위험을피하기위해거래를중지할수있습니다. 5.2.5. 스마트계약수집 AElf 체인계약에는제네시스기간에정의된스마트계약모음이있습니다. 이컬렉션은사토시의명예로제네시스스마트계약모음 (Genesis Smart Contract Collection) 이라고이름지어졌습니다. 스마트계약컬렉션의본질은기본기능, 체인의컨센서스프로토콜그리고컬렉션의업데이트메커니즘을정의하는클래스입니다. 5.2.6. 스마트계약업데이트 AElf 의기능은스마트계약컬렉션 (Smart Contract Collection) 에의해정의됩니다. 따라서컬렉션의업데이트는전체체인의기능에영향을미칩니다. 콜렉션의업데이트메커니즘은이전콜렉션에의해정의됩니다. 예를들어, 가장최근의 100 번째블록에서새로운스마트계약컬렉션에 80 % 가투표하고, 결과적인 2000 블록에의해확인되면새로운컬렉션이원래의블록을대체하게됩니다. 콜렉션을갱신하지않는노드는작업을위해종료됩니다.
5.2.7. 사용자정의가능한합의프로토콜특정비즈니스시나리오의경우컨센서스프로토콜 (Consensus Protocol) 이참여자들의결정에주요한영향력을가지게됩니다. 신뢰도가높은사설체인의경우, PBFT 는널리알려진컨센서스프로토콜입니다. 이는사전할당된소수의마이너와함께고성능을창출합니다. 신뢰도가낮은환경에서 PoW, PoS 및 DPoS 와같은컨센서스프로토콜을통해블록체인의안정성이유지됩니다. AElf 는스마트계약콜렉션의일부로컨센서스프로토콜을정의하고비즈니스시나리오를기반으로모든유형의합의프로토콜을구현합니다. 우리는사용비트코인 ( 비트코인 ) 및피어코인 (Peercoin) 을예로들어컨센서스프로토콜선택고려사항을설명합니다. 비트코인 ( 비트코인 ) 에서사용하는 PoW 는입력형식이없는블록헤더정보를기반으로블록체인을인증합니다. 반면에, 피어코인 (Peercoin) 이사용하는 PoS 는블록내의스테이크트랜잭션으부터의데이터, 블록헤더외의트랜잭션에대한인증을요구합니다. 우리는미래의사용자가적시에인증을달성하기위해블록헤더정보만필요한컨센서스프로토콜을추구할것을권고합니다. 또한특정시나리오의경우사용자정의합의프로토콜이이행되어야합니다. 5.2.8. 사용자정의가능한블록헤더컨센서스프로토콜이단지블록헤더정보만을사용하도록하는권고를촉진하기위해, 우리는사용자정의블록헤더를소개합니다. 피어코인 (Peercoin) 의블록헤더는블록의합법성을입증하는정보를포함하지않으므로스테이크블록은블록적법성을단독으로확인할수없습니다. AElf 커널은체인생성중헤더구조커스터마이징을허용합니다. 블록헤더를기반으로한자체증명은, 해시가있는미사용트랜잭션 Merkle Tree (TxID + N + Value), 저장된루트를계산함으로써검증이가능하며, TxID, N 그리고 Value 와 Merkle Tree 검증을얻게됩니다.
5.3. AElf 운영체제고객인터페이스 그림 5.3 : AElf 운영체제인터페이스 5.3.1. 스마트계약체결 AElf 운영체제는스마트계약을프로토콜로정의합니다. 어떤식의서비스실현의형태로든실행할수있습니다. AElf 운영체제는 Docker 를선호하며 Java, C #, Go, Javascript, LUA 와같은기본프로그래밍언어를지원합니다. Docker 의경우, AElf 는내부 RPC 서비스를제공하여변수읽기및스마트계약실현중사용자계정에대한접근을허용합니다. 네이티브프로그래밍언어의경우, AElf 는각각의 SDK 를실행기능에제공합니다.
5.3.2. 마이크로서비스스마트계약은 AElf 내마이크로서비스로정의됩니다. 이것은스마트계약을특정프로그래밍언어와독립적으로만들어줍니다. 본질적으로컨센서스프로토콜은스마트계약에서정의된대로서비스가됩니다. 5.3.3. 클라우드베이스마이크로서비스접근방식을통해 AElf Kernel 은병렬처리를클라우드기반의계약실행을가능하게합니다. AElf 커널은데이터구조와표준을정의하여핫데이터를램 (RAM) 에저장할수있습니다. 성숙한분산데이터베이스서비스를활용함으로써시스템의입출력 (IO) 성능을효과적으로개선할수있습니다. 5.3.4. 라이트노드 그림 5.4 : 라이트노드데이터구조의예시 맞춤화및내부머클트리검증메커니즘을통해 AElf 내각노드는시스템내의관련 정보만처리합니다. 이를통해노드는가벼워지게되고, 또한가벼운데스크탑및모바일 터미널과의호환성을크게높일수있습니다. 5.3.5. 선택적모듈 5.3.5.1. 데이터정리메커니즘 그림 5.5 : 데이터정리메커티즘그림 AElf 시스템은스냅샷메커니즘을채택하고원래의데이터를새로운창세기블록에 추가함으로써블록형성을재설정합니다. 그러나 AElf 시스템은이력데이터에의존하지
않을것이며, 처리할새로운데이터에만초점을맞춥니다. 인류역사는많은것들을잃었지만, 이것은현재상황에대한사람들의결정에영향을미치지않습니다. 마찬가지로, 데이터가너무커서레코드할수없는경우, 시스템은일부역사적인데이터를버리게됩니다. 5.3.5.2. 데이터터널데이터터널은 P2P 전송을실행하는하나의메커니즘입니다. 이데이터는블록에기록되지않습니다. 데이터터널링은암호화된 P2P 데이터전송에만적용됩니다. 예를들어, A 가 B 에서데이터를구매하면 B 는데이터를 A 로전송하고 A 는자산을 B 에게전송하며, 이는모두데이터터널을전송됩니다. 이디자인은두개의노드사이에서직접데이터전송을가능하게합니다. 현재의블록체인시스템에서, 유일한전략은트랜잭션을방송하며, 모든노드가이트랜잭션을처리하는것입니다. 이것은리소스낭비이며, 처리된트랜잭션의양도제한하게됩니다. 데이터터널은플러그인프로토콜을통해실현될수있습니다. 그러나이것은모든노드에의한승인을요구할것입니다. 그렇지않은경우상황이다루기어려워질것입니다. ( 예 : 개발자 IE 에서크롬의일부기능을지원하지않는경우종종문제가발생합니다.) 이러한프로토콜을통해, AElf 는더많은응용프로그램 ( 예 : 데이터구매계약 ) 을지원할예정입니다. ( 아래에서더자세히보시기바랍니다 ). 5.3.5.3. 신속한확인모델 AElf 는수신자가발신자의승인을받은경우신속한거래확인을허용합니다. 승인은특정기간동안및지정된주소사이의특정유형의거래에대해서만유효합니다. 예를들어, A 는자산이전중에 B 로신속한확인모델을시작하려고합니다. A 는이거래를위해지정된일정금액의자산으로거래를시작해야하며 B 를상대방으로지정해야합니다. 실제트랜잭션프로세스동안 A 는서명된트랜잭션을데이터터널을통해 B 로보냅니다. B 는트랜잭션을수신할때즉시트랜잭션을확인합니다. 해당자산과 B 거래가체결된후해당자산은 B 로이전됩니다. A 는나머지자산을받습니다. 데이터터널은트랜잭션후에종료됩니다. 5.3.5.4. 토큰모듈토큰모듈은값캐리어 ( 토큰 ) 에대한모든로직및알고리즘을정의합니다. 그것은특히자원배정에대한지불이나 AElf 의안정성유지에대한보상과같은시나리오를제공합니다. 대부분의공용체인에서토큰메커니즘은필수적입니다. 그것은전체네트워크의건전한발전을장려하고다양한역할의기여를정착시키는데사용됩니다. 따라서 AElf 는토큰
모듈을설계합니다. 토큰모듈에서는운영체제에서인식하는모든사이드체인이 AElf 토큰을받아들일수있습니다. 5.3.5.5. 사용자정의 AElf 는개발자가각모듈의매개변수를다시정의하여시스템을신속하게커스터마이징할수있도록지원하며, " 단일체인은특정비즈니스시나리오를제공 " 한다는원칙에따르는 AElf 운영체제에의한사이드체인을설치하면서, 매우추상적이고모듈식아키텍처를수립합니다. 기업사용자와기업가에게이것은비즈니스아이디어를구현하는프로세스를가속화했습니다. 정교한사용자의경우자체체인에대한높은사용자정의가가능하며블록체인의전체작동을가능하게합니다. 6. AElf 생태계 (Eco-system) 개발 새로운기술은상업적채택이나지속가능한생태계없이는성공하지못합니다. AElf 는전체설계에걸쳐상용응용프로그램을갖춘기술청사진을제안했습니다. 내부및외부자원을포함하여 AElf 생태계를구축하는것이중요합니다. 우리는기술, 비즈니스및자본의 3 가지측면에서동시에노력함으로써목표를추구할것입니다. 6.1. 기술위의장에서는 AElf 의핵심기술기능을설명했습니다. AElf 팀은몇년동안블록체인개발경험을쌓았습니다. 특히몇가지상업중심엔터프라이즈프로젝트에관련되어있습니다. 제안된기술솔루션은확장성, 보안성, 사용자정의및상호운용성과같은블록체인의상업적채택을위한가장큰장애물을해결하고자합니다. 새로운프로토콜을채택하고향후모든종류의상용시나리오를지원할수있는매우효율적인인프라를제공합니다. 6.2. 비즈니스응용프로그램 AElf 는궁극적으로차세대 " 디지털비즈니스 " 를지원하는새로운 " 인터넷인프라 " 가되기위한것입니다. 팀과그자문위원은과거에수많은블록체인프로젝트에자문을제공해왔으며몇몇산업은 AElf 에있어 " 초기어댑터 " 와 " 블록체인스타 " 가될것입니다.
그림 6.1: AElf 비즈니스응용개요 1) 금융서비스블록체인은중개인을대폭줄이고안전한거래를보장하므로금융서비스업계에서많은주목을받았습니다. 국경간지불, 무역금융, 공급망금융등과같이금융서비스를위해특별히개발될가능성이높습니다. 병렬처리기능은국제규모의비즈니스거래를처리할수있으며, 연쇄통신기능을통해자산등록, 계정관리, 실시간트랜잭션을원활하게조정할수있습니다. 2) 보험보험은블록체인에의해방해받는또하나의매력적인분야입니다. 보험을위한전용 AElf 사이드체인은보험에대한다양한 DAPP 를통합하고, 사용자신원에서시작하여보험계약체결, 청구처리에이르기까지전체산업가치사슬을변형시킵니다. 3) 디지털신원및 IP AElf 의다중체인구조에는디지털 ID 를위한체인이내장되어있습니다. 이렇게하면다른사이드측면이작업중일때사이드체인의성능을보장할수있습니다. 예를들면, 다른사이드체인에새로운토큰이발행됩니다. AElf 내에서디지털신원은 " 메시징 " 을통해다른쪽체인에서사용할수있습니다. 어댑터를사용하여 AElf 는비트코인및이더리움과같은다른확립된체인에서정보및데이터를검색할수도있습니다. 4) 스마트시티 정부는정부기관에대한특정행정업무를안전하고편리하게수행할수있기 때문에정부기관에도관심을가질것입니다. 정부또는조직은국가보안요구
사항을충족시키기위해합의프로토콜을사용자정의할수있습니다. 유틸리티레코딩, 시민신분, 정부기관정보공개및폴링과같은활동은뛰어난투명성과효율성으로플로리다에서실현될수있습니다. 에스토니아, 싱가포르, 중국등일부국가에서이분야를실험하고있습니다. 5) 사물인터넷 AElf 는라이트 ( 광 ) 노드및클라우드서비스를지원하므로고성능을유지하면서연결된장치의계산요구사항을줄일수있습니다. 이것은수십억개의장치를관리하고인터넷을연결하는소액결제를가능하게하는데중요합니다. AElf 는위의산업에대한강력한토대를마련했으며이를위해노력하고있습니다. 우리는새로운비즈니스기회와 DAPPS 를적극적으로식별하여생태계의일부로포함시킬것입니다. 1) 기존체인상의기존 DAPP 와상호운용이미비트코인및이더리움과같은기존의체인에입증된 DAAP 가있습니다. AElf 는자산교환을허용하고해당 DAPP 에서오는트랜잭션데이터를캡처하기위해상호운용성기능을활용하여이러한 DAPP 와연결합니다. 2) 새로운창업아이디어육성개발팀과그고문은글로벌블록체인커뮤니티에서새로운아이디어창출및상용화에깊이관여하고있습니다. 기술및상업적조언을얻기위해새로운시작아이디어가우리에게다가왔습니다. 우리는이러한강력한관계를바탕으로새로운창업아이디어를육성하고이를 AElf 시스템에포함시킬것입니다. VC 와함께, AElf 에서우리는가장유망한프로젝트를확인하고가져올확신이있습니다. 3) 기존회사를 " 블록체인상식 으로변형설립된회사는 AElf 생태계의일부가될수있는또다른기회를제공합니다. 그들은이미대규모고객기반과현재비즈니스에입증된가치를보유하고있습니다. 앞서설명한바와같이 AElf 는산업의특정문제점을해결하면서고객에게강력한인센티브와보상을제공하는보다강력한모델로변모시킬수있습니다. AElf 팀은소수의인터넷회사및전통기업과 AElf 만의것으로, 기존비즈니스모델을파괴하며, 논의중에있습니다. 가까운장래에몇가지흥미진진한발표가있을것으로예상됩니다. 또한팀은글로벌전략컨설팅회사와협력하여차세대비즈니스모델의경계를 AElf 생태계에맞추어적용할계획입니다.
6.3. 자본생태계를구축하는데는의심의여지없이많은자본이필요합니다. 토큰판매중에제기된기금을활용하는것외에도, 팀과그고문은전세계적으로유명한암호자금과강력한제휴관계를맺었습니다. 팀과자문위원은자금을성공적으로모으고솔루션을개발하기위해국제적으로수많은토큰판매프로젝트에자문을제공했습니다. 국제자본네트워크와명성은장기적인관점에서향후파이프라인을지원할수있는강력한자금지원능력을보장합니다.
참고문헌 1. Satoshi Nakamoto. Bitcoin: A peer-to-peer electronic cash system. 2008. 2. Vitalik Buterin. Ethereum White Paper: A Next Generation Smart Contract and Decentralized Application Platform. 2013. 3. Melanie Swan. Blockchain: Blueprint for a new economy. O Reilly Media, Inc.,2015. 4. Frederick P. Brooks. The Design of Design: Essays from a Computer Scientist. Addison- Wesley, 2010. 5. Andrew S. Tanenbaum. Modern Operating Systems Pearson, 2007. 6. Joseph Poon and Thaddeus Dryja, The Bitcoin Lightning Network: Scalable Off- Chain Instant Payments. 2016. 7. Gavin Wood. Ethereum: A secure decentralized generalized transaction ledger.2014. 8. Hyperledger Whitepaper. 2016. 9. Muhammad Saqib Niaz and Gunter Saake. Merkle Hash Tree based Techniques for Data Integrity of Outsourced Data. 2015. 10. Robert McMillan. The inside story of mt. gox, Bitcoin s 460 dollar million disaster.2014. 11. Sunny King, Scott Nadal. PPCoin: Peer-to-Peer Crypto-Currency with Proof-of- Stake. 2012. 12. David Schwartz, Noah Youngs, and Arthur Britto. The ripple protocol consensus algorithm. Ripple Labs Inc White Paper, 5, 2014. 13. Leslie Lamport. The Part-Time Parliament. ACM Transactions on Computer Systems, 21(2):133 169, May 1998. 14. Leslie Lamport, Robert Shostak, and Marshall Pease. The byzantine generals problem. ACM Transactions on Programming Languages and Systems (TOPLAS), 4(3):382 401, 1982. 15. Leslie Lamport. Time, Clocks, and the Ordering of Events in a Distributed System. Communications of the ACM, 21(7):558 565, Jul 1978. 16. Paul Tak Shing Liu. Medical record system using Blockchain, big data and tokenization. Information and Communications Security, pages 254 261. Springer, 2016. 17. Robert Love. Linux Kernel Development. Addison-Wesley, 2010. 18. Shawn Wilkinson and Tome Boshevski, Storj: A Peer-to-Peer Cloud Storage Network. 2016. 19. Contract. URL https://en.bitcoin.it/wiki/contract, 2014. 20. Mandatory activation of segwit deployment, UASF, BIP 0148. URL https://github.com/bitcoin/bips/blob/master/bip-0148.mediawiki, 2017. 21. Smart Property. URL https://en.bitcoin.it/wiki/smart_property, 2016.