검수요청.png검수요청.png

아르고

해시넷
Asadal (토론 | 기여)님의 2018년 12월 15일 (토) 16:35 판
이동: 둘러보기, 검색
아르고(AERGO) 로고

아르고(AERGO)는 오픈소스 블록체인 플랫폼 프로젝트이다. 'Distributed Trust at Scale(확장 가능한 분산 신뢰 플랫폼)'이라는 슬로건으로부터 알 수 있듯이 다양한 규모와 시장에 맞게 수정 및 활용이 가능한 범용 플랫폼이다. 한국 블록체인 기술 전문 기업인 ㈜블로코가 핵심 기술 파트너로 참여하고 있으며, 2019년 1분기 메인넷 런칭을 앞두고 있다. 아르고는 오픈소스 라이센스와 실용주의적인 경영 방식, 개발자 및 통합사업자(Integrator) 지원이라는 오픈소스 개발의 핵심 원칙을 준수한다. 리눅스라는 가장 널리 활용되는 오픈소스 프로젝트를 통해 레드헷이 엄청난 성공을 거둔 것처럼, 아르고와 블로코 역시 오픈소스 블록체인 플랫폼인 아르고를 통해 새로운 생태계를 열어가고자 한다.

배경

김종환 ㈜블로코 창업자 겸 상임고문
이진석 ㈜블로코 공동 대표이사

블로코

2014년 12월에 설립된 블로코[1]는 2015년 프라이빗 블록체인 기반의 BaaS(Blockchain-as-a-Service)솔루션을 적용한 코인스택을 출시하였다. 이후 대성, 포스코, 원익 등 8개 기관으로부터 145억원의 투자를 유치했다.[2] 아르고는 블로코의 기술로 구현된다. 블로코는 국내에서 가장 많은 실제 블록체인 기반 비즈니스 시스템 상용화 사례를 보유한 블록체인 전문 기술 기업이다. 현재 블로코가 제공한 플랫폼을 기반으로 한 서비스 사용자는 약 2,500만명 이상이며, 실제 엔터프라이즈 환경에서 기술력을 검증받았다. 블로코는 이렇게 검증된 핵심 기술을 AERGO에 제공하는 것은 물론, 기업 고객을 위한 컨설팅과 유지보수 등의 다양한 서비스를 제공한다.

IT 기술 산업과 기회

지난 30년간 웹1.0, 웹2.0의 기술 발전을 토대로, 인터넷 기술이 발달하였고, 이와 함께 스마트폰이 출현하여 이를 통한 정보를 창출하고 소통하며 공유하는 방법에 큰 변화가 이뤄졌다. 이와 함께 구글, 페이스북, 트위터, 유튜브, 아마존 등의 거대 기업들이 새로 등장하였다. 이들을 통해 모든 이들이 컨텐츠를 새로 만들고 공유하며 소통하기 위한 방법으로 상호작용과 초연결적 다차원 가상의 디지털 온라인 세계가 만들어졌다.[3] 이러한 생태계는 중앙에서 관리하는 방식을 사용하는 몇몇 초대기업의 플랫폼 안에서 이루어져 왔다. 또한 웹2.0의 초연결로, 만들어진 정보들은 실시간으로 공유되고 이를 토대로 새로운 가치를 창출할 수 있게 되었다 하지만, 이러한 새로운 가치를 창출하는 비즈니스와 이익은 특정 기업에만 집중되었다.

웹3.0 과 함께 지능형 웹(Intelligent Web)은 사용자들을 위해 초개인화 된(hyper-personalized) 제품과 개별 고객 상황에 맞는(Contextual) 서비스를 제공하는 것이므로, 중요하다. 이러한 서비스는 수십억 개의 모바일 기기와 IoT 기기가 연동될 것이며, 점점 더 실시간에 가깝게 구현될 것이다. 이는 안전한 클라우드 서비스가 점점 대중화 되어가며, 오픈소스 기반 플랫폼(리눅스 운영체제 도입, 하둡/텐서플로우 빅데이터 분석 시스템 도입 등)이 실제 비지니스에서 활용되는 경우가 늘어나고 있기 때문이다.

오픈 플랫폼 기반으로 어플리케이션을 제작하고 개발하는 트렌드 역시 꾸준히 증가하고 있는데, 기술적인 요인들로 인해 낮은 비용으로 손쉽게 접할 수 있는 IT 아키텍쳐를 기반으로 완전히 새로운 서비스의 개발이 가능해지고 있다. 이를 “유틸리티 서버리스(Serverless) 컴퓨팅”이라고 부른다.

블록체인의 역할

블록체인은 가트너하이프사이클에 의하면 환멸의 구간에 속하며 이는 5~10년 내 완성될 기술을 의미한다. 발전 초기단계의 기술임에도 개발자와 기업들이 공개 표준 분산 생태계에서 가치를 찾아낼 수 있는 혁신적이고 안전하며 투명한 기술이다. 데이터 주권의 민주화는 블록체인 기술의 핵심이며, 제3의 중개자 없이 모든 네트워크 참여자들은 신뢰와 데이터 무결성, 가버넌스 등의 합의 알고리즘을 토대로 효율적인 분산 인터넷 구조를 만들어내는 중요한 기반이다. 블록체인은 분산원장을 통해 중앙집중형 데이터베이스를 대체할 수 있고, 2세대 기술이라 불리는 스마트 계약으로 중계자 없이 특정 조건에 따라 실행을 하도록 하여, 관리자 없이 컴퓨터 네트워크로 운영하는 것이 가능하다.

디앱

디앱(DApp)은 분산형 어플리케이션(Decentralized Application)의 약자로, 분산된 P2P 네트워크에서 운영되는 백엔드 소프트웨어 코드를 의미한다. 이러한 디앱은 거래 당사자들 간에 정보 및 컨텐츠를 생성하여 거래 및 교환할 수 있는 서비스 플랫폼으로 만들 수 있다. 디앱의 이점은 다음과 같다.

1. 공급 및 가치 사슬의 극적인 간소화 (중개자 제외)

2. 자동 거래정산 및 계약 체결

3. 정확도 높은 사용량 기반(pay-as-you-go) 수익 비지니스 거래

4. 저장 데이터 및 어플리케이션의 보안 개선(비가역성 측면)

5. 사업 성과 향상(보다 신속하고 신뢰도 높은 거래)

6. 간접비 절감(인력 및 시설 등)

7. 거래사기 예방(컴퓨터에 의한 신뢰 기구)

8. 평균 거래 비용 감소(단순 아키텍처) 서버리스 유틸리티 컴퓨터

핵심 목표

기업이나 개발자들에게 사용이 편하고 강력한 기능이 있는, 수평으로 개방된 블록체인 플랫폼이 필요하다. 블록체인 프로토콜을 넘어 여러 관계자들 간에 서로 활성화할 수 있다. 기업과 개발자, 시스템 통합사업자(SI)를 포함해 분산 생태계에서 핵심 역할을 담당하는 서드파티를 위한 플랫폼을 구축하기 위해서 기존 IT소프트웨어와 블록체인을 연결하는 미들웨어, 정규화하는 레이어가 필수적이다. 이러한 과정에는 3~5년의 블록체인 생태계에서 가장 힘든 개발의 시간이 될 것이다. 글로벌 IT소비 규모 40억 달러 시장에서, 엔터프라이즈 블록체인 플랫폼은 기업 및 제작 또는 개발자들에게 새롭고 상당한 가치를 창출할 수 있는데, 이는 아르고의 주된 목표이자 핵심전략이다.

블록체인 해결해야 할 문제

블록체인 상용화와 관련하여 지연되는 문제들이 있다.

1. 하드포크

퍼블릭 블록체인은 종종 하드포크를 통해, 시스템 개선을 해오고 있다. 이러한 하드포크의 과정은 원본으로부터 완전히 새로운 소프트웨어를 만드는 것이라, 거미줄처럼 얽혀있는 엔터프라이즈 솔루션을 고려할 때, 단순 사용자 어플리케이션 하드포크라도 큰 사업 실패로 이뤄질 수 있다. 이러한 하드포크는 IT네트워크가 네트워크 재생이나 서비스 거부 등의 디도스 공격에 취약한 상태로 만들 수 있다.

2. 코인 가격의 변동성

코인 가격의 변동에 따른 수수료의 변동이 크다. 이러한 변동성으로 블록체인의 비즈니스 어플리케이션은 예측하거나 지속할 수 없다. 당장, 커피 한 잔을 사는데, 수수료를 1만원이상 내야 한다면 운영자나 소비자도 이러한 서비스를 사용하지 않을 것이다.

3. 시스템통합 (SI)의 어려움

통합 시스템 구현을 위해 수십 년간 다양한 규모의 기업들이 디지털 기술을 활용해 비지니스를 극대화하기 위해 노력해 왔다. 그리고 다양한 시스템을 테스트하고 구현한 관계로 운영 및 흐름이 매우 복잡하게 되어 있다. 이는 기업 인프라가 다양한 기술 및 프로세스에 의존하는 경향 때문이다. 보안보장생성언어(SAML) 등 공개 표준이나 인증을 위한 웹 접근 위임 표준 및 참조 아키텍처(OATH)가 도움이 될 수도 있으나, 새로운 IT 시스템이 액티브 디렉터리, 오라클 또는 SAP 등 널리 사용되는 제품과의 호환성을 갖고 완벽하게 작동되게 만드는 것은 매우 복잡하고 어려운 작업이다.

4. 소프트웨어 개발의 어려움

블록체인 같은 신규 기술의 경우 새로운 프로그래밍 프레임워크와 언어를 도입하는 경우가 많다. 신규 기업들은 프로젝트 중심적 경향이 많아서, 개발자들이 새로운 언어 및 툴을 실험하고 학습할 수 있는 여유가 거의 없다. 일반 기업은 소프트웨어 개발자와 관련하여 유연성과 역량을 갖추지 못하고 있다. 그래서 이를 아웃소싱 업체들을 통해 진행하는데, 많은 어려움이 따르기도 한다.

5. 확장성

대규모 사용 사례와 관련해서 서비스 사용자의 점진적 수요 증가나 갑작스러운 수요 증가를 자동으로 처리할 수 있는 IT 시스템이 필요하다. 이러한 수요는 수직 확장 시스템이라고 하는 환경에서 즉각적인 로컬 컴퓨터 리소스가 필요하게 된다. 처리량이 많은 특정 업무를 위한 로컬 메모리, 저장이나 컴퓨팅 또는 네트워크 확장 등이 그 예이다. 가능한 최단 시간 내에 실행해야 하는 비즈니스 거래가 그 한 가지 예라고 할 수 있다. 사용자 수요가 급증하는 경우, IT 인프라는 즉각적으로 추가 업무량을 공유하기 위해 분산 시스템 전체적으로 컴퓨터 리소스를 추가해야 할 필요가 있다. 수평 스케일 아웃(Scale-out) 시스템이라고 하는 환경에서 추가해야 한다.

6. 상호 운용성

상호 운용성 제약 관련하여 블록체인은 초기 발전 단계이지만, 현재 100가지 이상의 다양한 퍼블릭 블록체인 프로토콜-주로 비트코인 및 수많은 알트코인들이 운영되고 있다. 그리고 200개가 넘는 프라이빗 또는 하이브리드 블록체인이 대형 기업들에 의해 개발되고 운영되고 있다.

특징 및 주요기능

기업 자율화를 위한 플랫폼

아르고는 클라우드를 기반으로 퍼블릭과 프라이빗 블록체인의 장점을 가지는 하이브리드 블록체인 프로젝트 이다. 그리고 디앱 개발자와 클라우드 서비스를 제공하는 파트너 그리고 기업들로 구성된 생태계를 지원하는 기술 및 운영 네트워크를 구성 한다. 아르고는 데이터 저장을 위한 SQL, 온체인 오프체인의 사이드체인 그리고 이오스의 DPOS 합의 알고리즘 기술을 혼합한 플랫폼이다.

아르고는 하이브리브 브록체인을 기반으로 다양한 제품과 비즈니스 모델이 만들어질 수 있도록 지원한다. 퍼블릭, 퍼블릭 또는 프라이빗, 퍼블릭 + 프라이빗의 조합이 가능하도록 설계되었다. 개발자 친화적이며, 풍부한 기능을 갖춘, 다중 패러다임 구조의 일관성 있는 플러그인 기반 스마트 컨트랙트 구조 제공을 목표로 한다. 이는 다양한 실제 구축과 프로그래밍을 위함이다. 설계와 배포, 사용 및 관리는 프로젝트의 주요 설계 원칙들이다.

아르고 생태계 네트워크(AERGO Network)

브릿징 프록시

브릿징 프록시는 여러 개의 퍼블릭 및 프라이빗 블록체인 네트워크 간의 양방향 통신을 가능하게 하는 것이다.

스마트 계약

다양한 아키텍처로 개발, 편집 및 내장할 스마트 계약을 구현하고 이후 더 포괄적인 스마트 계약을 개발하기 위해서 고성능, 고효율의 가상 머신(Virtual Machine)을 지원할 것이다.

블록체인

아르고는 오픈소스 블록체인 운영 시스템으로 디앱들을 연결하는 허브와 이 디앱들의 데이터를 저장하는 퍼블릭 저장소, 프라이빗 저장소로 구성되어 있다. 퍼블릭 저장소는 오픈소스 프로젝트 또는 퍼블릭 클라우드 컴퓨팅을 위해 공유되는 분산화된 인프라이다. 퍼블릭 클라우드 컴퓨팅을 위한 자동화 구축 서버를 호스팅하기 위해 사용하는 GIT 저장소와 유사하다. 프라이빗 저장소는 접속제어, 어플리케이션 보안 및 성능, 데이터 준비 및 서비스 품질을 달성하는 것이다. 저장방식과 상관없이 2015년에 개발되어 공급된 블로코 코인스택을 기반으로 API 상호운용성과 구축 프레임워크를 확보할 수 있다.

호드

아르고 허브 생태계에 참여하고자 하는 인프라 및 리소스 제공자를 위한 퍼블릭 통합 관리 소프트웨어 프레임 워크이다. 아르고 체인을 사용하기에 앞서 자원들을 통합, 조성, 배포하며 관리하는 작업이 필요한데 이는 블록체인에 최적화된 지원 소프트웨어, 컴퓨팅 리소스 및 서비스 등에 해당되고 이러한 역할을 아르고 호드(Horde)에서 한다.

마켓플레이스

마켓플레이스는 아르고에 최적화된 소프트웨어 어플리케이션, 컴퓨팅 리소스 및 기타 서비스 등 필요한 핵심 요소를 모두 제공하는 원스톱 숍(One-Stop Shop) 이다.

병렬처리 네트워킹 패브릭

멀티 코어 및 초고속 캐시 메모리 처리 환경을 위한 다중 쓰레드 아키텍처(multi-thread architecture)를 지원할 계획이다. 아르고의 기본적인 선택 합의 알고리즘은 위임지분증명(DPOS)이다. 계층은 더 나은 확장성 및 경제적 운영 모델을 지원한다. 또한 아르고 위임지분 알고리즘은 기업들과 중요한 노드 제공자들의 네트워크 참여를 이끌어 낼 수 있는 여러 가지 이점을 제공하게 된다. 이를 통해 네트워크 전반의 장기적인 실행 가능성과 효율성, 지속가능성을 확보한다.

브랜치 머징 프로세스

실시간 데이터 처리가 필수인 블록체인의 경우, 머징의 난이도는 더욱 높아진다. 아르고는 비파괴 프로세스(Non-destructive process)를 통해 브랜칭(branching)을 간단하고 직관적으로 실행할 수 있다.

1) 자동 머징

자동 머징(Automatic Merging)은 두 개의 브랜치를 병합하는 프로세스이다. 자동 머징은 블록체인의 블록 재구성 프로세스와 유사하다. 이 경우, 머징 소스(merging source)의 블록은 거래 별로 나뉘어져 머징 타깃(merging target)의 머징 풀(merging pool)로 흡수된다

2) 일관된 머징

일관된 머징(Consistent Merging)은 브랜치가 일관적인 머징(merging) 로직을 통해 생성될 때에만 발생한다. 일관된 머징(Consistent merging)은 [깃](Git)과 같은 버전 관리 시스템의 병합 기능과 유사하다. 일치하지 않는 트랜잭션은 폐기하는 자동 머징(automatic merging)과 달리, 일관된 머징(consistent merging)에서는 사전 정의된 갈등 해결 로직에 따라 일치하지 않는 거래를 관리한다. 갈등 해결 로직은 시스템 차원의 스마트 컨트랙트로 구현된다. 아르고 체인은 깃(Git)과 같은 버전 관리시스템에 익숙한 사용자들에게 친화적인 구문(Syntax)과 의미(Semantics)를 제공한다.

병행 제어

블록체인 네트워크 대표자(Delegates)들이 블록 생성 트랜잭션을 결정할 경우, DPOS 합의 알고리즘을 통한 결정성 확보를 가능케 하는 기능이다. 아르고 체인의 목표는 블록 수준과 풀(pool) 수준의 트랜잭션 직렬화 메커니즘을 제공하는 것이다.

1. 블록 수준 직렬화

블록체인의 각 브랜치는 일련의 블록으로 구성되어 있기 때문에 각각의 블록을 순차적으로 연결해 트랜잭션을 직렬화할 수 있다. 아르고는 블록의 높이(Block height)를 토대로 멀티 버전 병행 제어(MVCC) 기능을 제공하게 된다. 브랜치와 블록의 높이가 판별되면, 저장소의 다양한 노드에 걸쳐 일관성 있는 리드(Reads)를 제공할 수 있다. 아르고 MVCC 의 기능은 행 또는 문서 버전 관리를 통해 일관적인 리드(reads)에 사용되는 스냅숏 격리(Snapshot isolation)와 일종의 비선점 잠금(Optimistic locking)을 제공하는 것이다. MVCC 기능은 블록 수준 직렬화를 위해서만 쓰인다.

2. 풀 수준 직렬화

아르고 노드에 접속하는 사람들은 대표들이 생성하려는 블록의 결정을 활용할 수 있다. 이것은 핵심 DPOS 합의의 특성이며, 거래 완료성(Finality)을 강력하게 보장함으로써 트랜잭션 동기화를 가능하게 한다. 아르고 네트워크에서 위임된 노드들은 신규 거래를 메모리 풀로 처리하고 균일한 직렬화 배열을 활용해 신규 블록을 생성한다. 클라이언트들은 거래 결과를 검색하기 위해 블록 배치가 완료될 때까지 기다릴 필요가 없다. 결과적으로, 거래 실행 지연속도가 수 초에서 수 밀리 초 수준으로 줄어든다.

병렬화

아르고 체인에서의 풀 수준 직렬화 병렬화(PARALLELISM) 아르고의 성능은 거래 및 블록 수준 병렬처리의 조합을 통해 극대화되게 된다. 블록체인 시스템의 성능은 주로 다음 항목들에 의해 좌우된다.

1) 신규 블록의 효율적인 생성과 공유

2) 각 노드가 신규 블록을 처리하는데 걸리는 시간

블록체인의 전반적인 성능 향상을 위해선 합의 프로토콜 자체만큼이나 효과적이고 효율적인 노드 구현이 필수적이다. AERGO 체인의 경우, 시스템 성능을 극대화하기 위해 블록 프로세싱의 다양한 단계에서 병렬화(PARALLELISM) 개념을 도입하게 된다.

종속성 분석

종속성 분석은 아르고의 병렬처리 역량을 가능하게 하는 주요 요소이다. 트랜잭션 및 블록의 종속성 분석을 통해 실행 순서에 대한 데이터 구조를 생성하며, 트랜잭션의 영향을 받는 상태 기계(State Machine) 내의 결정적 결과값을 측정한다. 이러한 데이터 구조 형식을 결정형 트랜잭션 트리(DTT, Deterministic Transaction Tree)라고 부른다.

아르고 파일 시스템

아르고파일시스템(AERGOFS)는 페이스북의 헤이스택(Haystack)기술을 기반으로 한다. 아르고체인은 사용이 쉬운, 깃(Git)과 같은 프라이빗 저장소를 제공해 적절한 권한을 가진 개발자들과 사용자들이 기반 원장에 쉽게 접근할 수 있도록 설계된다.

도메인 기반 분할

도메인 기반 분할(DOMAIN-BASED PARTITIONING)은 아르고의 확장성을 확보할 수 있는 가장 기본적인 방법이다. 도메인 분할은 아르고의 분산 버전관리 기능을 통해 제공된다. 아르고는 기존의 블록체인 구현과 달리 브랜치를 통해 데이터를 자유롭게 포크(fork) 및 머지(merge)할 수 있다. 이를 분산 버전 관리(DVC, Distributed Version Control)라고 한다.

분산 디렉토리

분산 디렉토리(DISTRIBUTED DIRECTORY) 분산 디렉토리는 아르고 구현 시스템의 블록 생성 시 필요한 핵심 요소이다. 저장소의 각 DD 는 네임스페이스(Namespace)를 독립적으로 관리한다. 각 네임스페이스에는 저장소에 포함된 다양한 브랜치 및 태그 관련 정보뿐 아니라 블록체인 관련 다양한 식별자들에 대한 검증 내용도 포함되어 있다. 각각의 DD 는 개별적인 블록체인으로서, 제네시스 블록과 베스트 블록을 갖고 있다. DD 블록은 기존 블록들과 달리 비교적 생성 간격이 길고 사이즈가 제한적이라는 특징을 갖고 있다. 또한, 메타데이터 관리를 위해 이용되기 때문에 사이즈가 작아야 한다. 그 역할 및 기능의 측면에서 DD 는 데이터 사전 즉, 하둡(Hadoop)의 주키퍼(zookeeper) 또는 CoreOS 의 etcd 와 비슷하다고 할 수 있다.

토큰의 분배

아르고 토큰은 총 5억개가 발행될 예정으로 다음과 같이 사용된다.

토큰 세일 - 30%, 커뮤니티 인센티브 및 파트너쉽 - 30%, 리저브 - 25%, 어드바이저와 키백커 - 10%, 토큰 관련 영향력 있는 고용인 - 5%

자금운용은 R&D - 40%, 에코시스템 인큐베이션 - 30%, 마케팅 - 15%, 전략적 파트너 및 사업 개발 - 10%, 기타 - 5%으로 배분하고 있다.

김원범 대표는 보스톤대 컴퓨터 사이언스를 전공하였고 에스코어, 티맥스소프트 등을 거친 분산시스템 전문 개발자이다. 그리고 공동대표 이진석은 미시건 대학교 컴퓨터사이언스를 전공하였고 티맥스 소프트, KT하이텔,에스코어, SK플래닛에서 분산데이터베이스 개발 및 원스토어 구매결제 백엔드 개발 경험이 있는 전문 개발자 이다.[4]

아르고 원정대

아르고

아르고 Argo는 남쪽 하늘의 큰 별자리로 그리스 신화 이아손과 아르고 원정대 이야기에서 전설의 황금양모를 찾아 떠날 때 타고 갔던 배, 아르고 호를 나타낸다.

각주

  1. 잡코리아(유), 〈(주)블로코)〉, 《잡코리아》, 2018-10-26
  2. THEVC, Inc., 〈블로코 (BLOCKO)〉, 《더브이씨》, 2018-10-08
  3. (주)블로코,〈기업 자율화 Autonomous Business를 위한 블록체인 플랫폼 AERGO〉, 《아르고 백서》, 2018-10-01
  4. (주)블로코,〈BLOCKO 김원범 공동대표 프로필〉, 《블로코》, 2018-10-26

참고자료

같이 보기


  검수요청.png검수요청.png 이 아르고 문서는 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.