가상 확장 러닝 자동 시스템 (VLX™) AI를 활용한 위임 지분 ... - Velas -...

21
V.E.L.A.S. 가상 확장 러닝 자동 시스템 (VLX ™ ) AI 를 활용한 위임 지분 증명 (AIDPoS) 블록체인 모금이나 마케팅 목적으로 쓰여진 글이 아님을 밝혀둡니다 . 알렉산더 알렉산드 로비치 알렉산드로프 (Alexander Alexandrovych Alexandrov ) 작성 공식 웹사이트 : velas.com Special thanks to Alex Lightman, Jason Butcher, Mondas, Pr0d1gy, Konstantin, Timur, Orhun, Sina, Trevor, Albert, Jag, Farkhad & Ruslan. 초록 벨라스는 안전하고 상호 운영 가능한 확장성이 뛰어난 트랜잭 션 및 스마트 컨트렉트를 위한 자체적인 학습 및 최적화를 특징 으로 하는 블록체인 플랫폼이다 . 벨라스는 분산화와 안정성 그 리고 보안을 희생하지 않고 대용량 트랜잭션 처리 및 블록체인 의 안전성을 위해 AI 로 작동하는 DPOS (AIDPoS) 합의를 사 용한다 . AI 로 작동하는 DPOS 합의 알고리즘을 사용하면 부 패할 수 있는 인간에 대한 의존성이 제거된 장애 허용 시스템이 구현됨으로써 “51 % 공격”과 “nothing-at-stake 문제”와 같 은 주요 문제를 방지 할 수 있다 . 2019 년 7 월 1 일 Copyright © 2019 Velas AG

Transcript of 가상 확장 러닝 자동 시스템 (VLX™) AI를 활용한 위임 지분 ... - Velas -...

Page 1: 가상 확장 러닝 자동 시스템 (VLX™) AI를 활용한 위임 지분 ... - Velas - Whitepaper (Korean).pdf · 2020-03-31 · 안정적인 시스템 구축, 10개 노드에

V.E.L.A.S. ™

July 1, 2019 Copyright © 2019 Velas AG

가상 확장 러닝 자동 시스템 (VLX ™ )

AI 를 활용한 위임 지분 증명 (AIDPoS) 블록체인

모금이나 마케팅 목적으로 쓰여진 글이 아님을 밝혀둡니다 . 알렉산더 알렉산드

로비치 알렉산드로프 (Alexander Alexandrovych Alexandrov ) 작성

공식 웹사이트 : velas.com

Special thanks to Alex Lightman, Jason Butcher, Mondas, Pr0d1gy,

Konstantin, Timur, Orhun, Sina, Trevor, Albert, Jag, Farkhad & Ruslan.

초록

벨라스는 안전하고 상호 운영 가능한 확장성이 뛰어난 트랜잭

션 및 스마트 컨트렉트를 위한 자체적인 학습 및 최적화를 특징

으로 하는 블록체인 플랫폼이다 . 벨라스는 분산화와 안정성 그

리고 보안을 희생하지 않고 대용량 트랜잭션 처리 및 블록체인

의 안전성을 위해 AI 로 작동하는 DPOS (AIDPoS) 합의를 사

용한다 . AI 로 작동하는 DPOS 합의 알고리즘을 사용하면 부

패할 수 있는 인간에 대한 의존성이 제거된 장애 허용 시스템이

구현됨으로써 “51 % 공격”과 “nothing-at-stake 문제”와 같

은 주요 문제를 방지 할 수 있다 .

2019 년 7 월 1 일 Copyright © 2019 Velas AG

Page 2: 가상 확장 러닝 자동 시스템 (VLX™) AI를 활용한 위임 지분 ... - Velas - Whitepaper (Korean).pdf · 2020-03-31 · 안정적인 시스템 구축, 10개 노드에

면책조항

역사적 사실 진술을 제외한, 본 문서의 모든 진술은 벨라스의 비즈니스 전략, 계획, 비전, 발전

과 목표에 관련된 성명으로 이루어져 있으며 미래지향적 성명이다. 이러한 성명은 단지 예측

일 뿐이며 가정에 기초한 미래의 사건에 관한 벨라스의 현재 신념과 기대를 반영하고 있으며

언제든지 위험, 불확실성 및 변화에 영향을 받을 수 있다. 우리의 운영 환경은 급변하고 있다.

새로운 리스크가 때때로 나타난다. 이러한 위험과 불확실성을 고려할 때, 귀하는 이러한 미래

지향적 성명에 의존하지 않도록 주의해야한다.

실제 결과, 성과 또는 사건은 이러한 미래지향적 성명에 포함된 결과와 크게 다를 수 있다. 미

래지향적 성명과 실제 결과, 성과 또는 사건이 크게 다를 수 있는 요인으로는 시장 변동성; 자

본, 자금 및 인력의 지속적 가용성; 제품 및 서비스 수용; 신제품, 서비스 또는 기술의 상업성;

경쟁; 정부 규제와 법률; 그리고 일반적인 경제, 시장 또는 사업 조건이 있을 수 있으며 여기

에 국한되지 않는다. 본 협약에 포함된 벨라스가 작성한 미래지향적 성명은 작성일 이후로 효

력이 발생하며, 벨라스는 새로운 정보, 후속 사건 또는 다른 이유로 인해 미래지향적 성명을

갱신하거나 변경할 어떠한 의무도 없다는 것을 명백히 밝힌다. 본 문서는 이 문서에서 해당

제품이나 서비스를 참조하는지 여부에 관계없이 VLX 토큰 추천 또는 벨라스를 포함한 어떤

다른 제3자에 의해 제공되는 어떠한 제품 또는 서비스에 대한 판매를 요청하거나 구매를 권유

하지 않는다. 또한, 이 문서의 어떤 내용도 세금, 법률 또는 구매 조언을 제공하기 위한 것이

아니며, 이 문서의 어떤 내용도 VLX를 구입, 판매 또는 보유하거나 VLX와 관련된 거래를 하기

위한 권고사항으로 해석되어서는 안 된다. 벨라스는 본 문서에서 논의된 VLX, 제품 또는 서비

스가 특정 사용자에게 적합하다고 나타내지 않는다. 개인의 목표, 재무 상황 및 리스크 허용에

따라 VLX와 관련된 구매 또는 거래가 적합한지 여부를 결정할 책임은 본인에게 있다. 귀하는

귀하의 구체적인 사업, 법률 또는 세금 상황에 대해 귀하의 사업 고문, 변호사, 세무 및 회계

고문과 상의해야 한다. VLX를 구입, 사용 및 보유하는 것은 높은 수준의 리스크를 수반한다.

본 백서는 비즈니스와 재무 문제 그리고 블록체인 및/또는 암호화폐 토큰과 기타 디지털 자산,

스마트 컨트렉트, 스토리지 메커니즘(디지털 자산 또는 토큰 월렛 등)의 블록체인 기술에 대한

높은 배경지식과 풍부한 경험을 가진 사람을 대상으로 한다. 블록체인 기반 소프트웨어 시스

템과 블록체인 기술에 대한 충분한 이해는 VLX를 구매, 사용 및 보유하는 것의 리스크와 장점

을 평가할 수 있으며, 위에서 설명한 리스크와 VLX의 손실 및/또는 사용 불능에 대해 지급된

모든 금액의 손실을 포함하여 VLX로 부터 오는 리스크를 견딜 수 있다. 귀하는 이러한 리스크

들을 완전히 이해하고 평가한 후, VLX에 대해 지불된 모든 구매 금액의 완전한 손실을 감수할

수 없다면 VLX를 구입, 사용 및/또는 보유하지 말아야 한다.

Page 3: 가상 확장 러닝 자동 시스템 (VLX™) AI를 활용한 위임 지분 ... - Velas - Whitepaper (Korean).pdf · 2020-03-31 · 안정적인 시스템 구축, 10개 노드에

벨라스 소개

벨라스 블록체인 플랫폼은 인공직관(artificial intuition)이 최적화한 신경망 구조를 사용하

여 합의 알고리즘을 강화한다.

벨라스의 목적은 기존의 블록체인들이 부딪힌 어려움들을 해결하는 것이다. 인공신경망은

노드 운영자들을 위한 보상 및 블록 생성 시간을 계산하는 데 사용되며 매트릭스 연산 서버

(신경망 가중치)는 네트워크 상에서 보상을 받는 참여자의 노드에 저장된다. 비트코인 채굴과

비슷하게 노드는 매트릭스 연산에 많은 컴퓨팅 파워를 필요로 한다. 예를 들어 전용으로 고성

능 비디오 카드(GPU)를 설치하는 것이 있다. 인공 신경망을 학습시키기 위해 유전 알고리즘이

사전 학습 과정에 사용되며 역전파(back propagation) 방식을 이용해 오브젝티브 함수의 최소

값을 찾아낸다.

네트워크 학습 알고리즘

유전 알고리즘:

1. 샘플 생성: 무작위 가중치 매트릭스 (유전자)

2. 경쟁: 오브젝티브 함수의 최소값 획득

3. 선택: 오류 값 기준으로 표본 순위 정렬. 최소 오류 값이 승리.

4. 재생산: 가장 성공적인 두 개에서 매트릭스 엘리먼트 또는 유전값을 50대 50으로 교환

5. 70% 확률에 도달할 때까지 위의 사이클 반복

각각의 노드는 블록체인 데이터로부터 자신만의 데이터 세트(학습 샘플)을 구성한다. 이

데이터 상에서 유전 알고리즘 학습 레이어가 생성된다. 그 다음의 모든 레이어는 이전 레이어

를 배우며, 즉 자동 인코더(autoencoder)의 원리를 학습한다. 사전 학습 이후에 백 프로파게이

션 방식이 가중치를 최적화하는 데 적용된다.

네트워크는 반드시 다음 블록 사이클 이전에 학습되어야 한다.

최고의 네트워크 선택

• 노드들은 다음 블록을 생성하기 전에 테스트 데이터 세트를 만든다.

• 테스트 샘플을 만든 이후에 매트릭스를 점검한다.

• 가장 적은 오류 값을 가진 매트릭스가 선정되며 다음 블록 주기에 쓰이기 위해 로드된

다.

• 선정된 매트릭스를 가진 노드는 네트워크에서 벨라스 토큰(VLX)을 받는다.

가장 효과적인 표본을 사고 팔 수 있는 마켓 플레이스를 통해 벨라스에 기반한 다른 시스

템에 대한 보상을 제공할 수 있는 블록체인 네트워크 유지관리 알고리즘 개발을 촉진할 수 있

다.

양자 기술에 기반한 초고속 컴퓨팅 시스템의 시대에, 짧은 기간 안에 상업적으로 활용 가

능한 양자 컴퓨터를 학습시켜 이상적인 신경망에 가까운 상태를 구축하는 동시에 시간이 흐름

Page 4: 가상 확장 러닝 자동 시스템 (VLX™) AI를 활용한 위임 지분 ... - Velas - Whitepaper (Korean).pdf · 2020-03-31 · 안정적인 시스템 구축, 10개 노드에

에 따라 새로운 기능만 추가하는 것이 가능하다.

블록체인 네트워크 유지 문제를 해결함으로써 각각의 AIDPoS 노드가 신경망을 더욱 개선

하는 과정을 통해 지적 공헌을 한다. 이 모든 것은 선택된 노드 운영자들이 프로그래밍 언어

를 이해할 필요가 없이 진행된다.

네트워크 버전 개발 일정

1 단계 (프리 알파):

블록체인 시스템 구조, 토큰 및 트랜잭션을 4개의 노드 상에서 구현한다.

노드는 프리 알파 단계에서 네트워크 관리자들이 운영하게 되며, 지갑에 있는 스마트 컨

트랙트가 모든 CPS(CoinpaymentsCoin) 토큰 소유자들이 벨라스 토큰(VLX)으로 1대1 스왑

을 할 수 있게 해준다. 토큰과 그 외 다양한 디지털 자산을 생성한다.

2 단계 (알파):

안정적인 시스템 구축, 10개 노드에 벨라스(Velas) 적용, 네트워크 관리자가 제공하는 4개

서버에서 AI를 테스트한다. 다중 지갑 컨테이너, 퍼블릭 및 프라이빗 전송 기능 도입한다.

3 단계 (베타):

AI 테스트 노드를 추가하여 서버 쪽 인공지능과 경쟁한다. 다중 지갑 시스템에서 주류 암

호화폐에 대한 전송, 수신, 스마트 컨트랙트 기능을 확대 구현한다.

4 단계(후보 출시):

어드바이저 노드에 인공지능이 통합되며 이에 대한 수치는 인공지능이 설정할 것이다.

5 단계 (출시):

전체 기능이 갖춰진 시스템을 정식 출시한다. 사용자들은 다운받은 인공신경망 키트를 그

들의 시각화 툴을 활용하는 프로젝트에 맞게 최적화하고 기여도에 따라 보상을 받을 수

있다. 토큰 노드는 대부분의 환경을 학습한 인공신경망을 사용하여 확장하고 손쉬운 세팅

및 토큰 노드 유지를 가능하게 한다.

Page 5: 가상 확장 러닝 자동 시스템 (VLX™) AI를 활용한 위임 지분 ... - Velas - Whitepaper (Korean).pdf · 2020-03-31 · 안정적인 시스템 구축, 10개 노드에

벨라스 플랫폼 개요

용어 정의

• 벨라스사이클 (VelasCycle) – 제한된 시간 안에 생성되는 블록 개수. 매 벨라스사이클은

하나의 단순블록과 하나의 사이클블록으로 이루어진다.

• 사이클블록 (CycleBlock) – 현재의 벨라스사이클에서 블록을 생성할 수 있는 노드 목록

을 포함하고 있는 블록

• 단순블록(SimpleBlock) – 트랜잭션 목록을 포함하며 사이클 블록과 혼동하면 안된다.

• 노드 ID (NodeID) – 각각의 노드는 비밀키와 공개키 쌍을 가지고 있으며 공개키는 노드

의 ID로 쓰이고, 비밀키는 블록사인을 생성하는 데 사용된다.

• 블록사인 ( BlockSign) – 블록 넘버를 식별하는 블록생성자의 서명

• 거래쿼리 (TxQuery) – 쿼리 또는 “별도 트랜잭션”. 다음 벨라스사이클 안에 블록 생성 의

도를 네트워크에 브로드캐스트 해야만 하며, 이 거래는 노드ID를 포함한다. 거래쿼리를

만드는 데는 10만 벨라스 토큰이 필요하다.

벨라스사이클 끝에 각각의 노드는 다음과 같이 이후 알고리즘을 정의해야한다.

1. 이전 벨라스사이클에서 모든 거래 쿼리를 수집한다.

2. 사전순으로 거래쿼리 목록을 노드ID에 따라 분류한다.

3. 다음 벨라스사이클을 구성할 잠재 노드의 목록을 생성한다.

4. 이전 벨라스사이클에서 모든 블록사인을 수집한다.

5. 벨라스시드를 생성할 블록사인에서 머클트리를 만든다. 벨라스시드는 벨라스 네트

워크 상에 모든 노드 간 랜덤 함수와 동기화하는 데 사용된다. 이 알고리즘은 결

정론적이다.

6. 벨라스 사이클 기간과 다음 벨라스사이클의 블록 시간을 통해 다음 벨라스 사이클

에 블록 수가 계산된다. 예를 들어, 벨라스 사이클이 20시간이고 블록시간이 1초

라면, 20시간*60분/1초=벨라스사이클 당 72000 블록이 된다.

7. 벨라스시드는 함수값을 임의로 추출하는 데 사용된다.

8. 마지막 단계는 모든 노드와 동기화하여 다음 벨라스 사이클 상에 블록 시간만큼

무작위 함수값을 추출하는 것을 포함한다.

새로운 블록을 생성하는데 선택받은 노드들의 선택 기준은 처음에는 스테이킹된 벨라스

양에만 기반할 것이다. 따라서 더 많은 양의 토큰을 스테이킹할 경우 블록 생성 노드로 선택

받고 벨라스(VLX)를 받을 가능성이 높아진다.

예를 들어, 2,000,000 VLX를 홀드하고 있는 노드가 1,000,000 VLX를 홀드하고 있는 노드보

다 선택될 가능성이 2배 더 높다.

도합하여 전체 스테이킹 양의 51% 이상을 차지하여 컨센서스가 이뤄질 수 있도록 한다.

벨라스사이클는 단순블록을 건너뛰는 것이 허용된다. 블록의 최소 51%는 벨라스사이클에

서 유효해야 한다.

Page 6: 가상 확장 러닝 자동 시스템 (VLX™) AI를 활용한 위임 지분 ... - Velas - Whitepaper (Korean).pdf · 2020-03-31 · 안정적인 시스템 구축, 10개 노드에

컨센서스 접근 방식

AIDPoS는 기존 대안들의 많은 한계와 단점을 성공적으로 다룰 수 있다. 벨라스 (VLX)와

코인페이먼트코인 (CPS)를 1:1로 스왑하기 위해 2,000,000,000 토큰이 네트워크 시작 포인트로

미리 채굴되었다.

1. 블록체인을 만들 때 모든 토큰이 서비스 조직자들에게 공유되었다.

2. 토큰 출시는 새로운 블록이 형성되고 한 블록 사이클이 끝날 때 실행된다.

3. 발행된 토큰은 블록을 생성한 누군가에게 크레딧으로 주어진다.

트랜잭션 검증은 연관 네트워크 상에 토큰을 “스테이킹” (홀딩) 함으로써 이뤄진다. 벨라스

(VLX)를 스테이킹하면 신뢰받는 검증인 네트워크를 구성하여 블록체인 상에 거래를 만들고 처

리할 것이다. 특히, 벨라스(VLX)의 스테이킹된 양이 현재 블록체인의 합의 상태에 합의를 불러

일으킨다.

참여자들은 토큰을 스테이킹할 수 있도록 쉬운 지갑 소프트웨어를 제공받는다. 검증인들

은 일정기간 동안 스테이킹을 하는 대가로 네트워크 수수료를 모아 보상을 받는다. 스테이킹

양이 많을수록 더 많은 벨라스(VLX)를 할당 받는다. 추가적인 소프트웨어 옵션은 신경망을 돌

리기 위해 전용 GPU가 있는 참여자들에게 이용가능하며 인공지능 학습이나 기여도에 따라 보

상받는다. 결과적으로 PoS 방식은 오버헤드 또는 수준급의 코딩 언어 없이도 상당한 양의 장

기 투자와 함께 올바른 검증 절차 및 보상, 신뢰할 수 있는 수준으로 많은 양의 토큰 유입을

장려한다.

벨라스 인공지능 DPoS 알고리즘

인공지능 위임 지분 증명 방식 (AIDPoS)는 벨라스 블록체인을 보호한다. AIDPoS는 비트

코인의전통적인 PoW 시스템, 그리고 피어코인과 NXT의 PoS 시스템을 포함한 합의 알고리즘

의 대안이 갖고 있는 문제를 해결하려 한다.

벨라스 AI

인공직관(Articifial Intuition)은 데이터 세트에서 패턴과 관계를 확인하는데 사용되는 일련

의 알고리즘이다. 네트워크가 기준 결과치를 새로 설계하지 않아도 최적의 결과값을 만들 수

있도록 입력값을 적합하게 한다.

선택된 벨라스 시스템 기술적 패러미터

• 초당 거래량: >30000

• 초당 블록 수: AI 알고리즘 산출에 따라 1초 – 2분

블록 시간은 네트워크 로드(TPS)에 달려있다. 네트워크가 초당 거래량이 많으면 블록 시간

은 짧아진다. 만약 네트워크가 거래량이 없다면 블록시간은 길어진다. 빈 블록이 생성되는 경

우 바디 없이 블록 헤더만 포함한다.

Page 7: 가상 확장 러닝 자동 시스템 (VLX™) AI를 활용한 위임 지분 ... - Velas - Whitepaper (Korean).pdf · 2020-03-31 · 안정적인 시스템 구축, 10개 노드에

AI를 작동시키는 알고리즘은 다음과 같이 데이터 기록에서 추출한다.

• 벨라스노드의 수

• 벨라스사이클당 거래량

벨라스사이클의 특별한 트랜잭션

신경 알고리즘은 다음의 패러미터들을 최적화할 것이다.

• 벨라스 노드 네트워크

• 블록사이즈

• 블록시간

• TPS 증가

최적화된 패러미터는 스테이킹 한 사람들의 거래 수수료의 총액이다.

벨라스 보상

얻은 포인트의 양에 달려있는 리워드는 활발하고 올바른 참여를 통해 노드 및 블록 생성

자에게 주어진다. 알고리즘 변화는 역동적으로 이루어지며 다음과 같은 패러미터를 고려한다.

• 벨라스사이클당 시간

• 블록당 시간

• 블록당 거래

노드 점수 평가 알고리즘

중요도 증명 알고리즘을 사용하며 최적화를 위해 추후 사용되는 핵심 패러미터는 다음과

같다.

• 노드의 거래 갯수와 퀄리티가 고려된다. 가짜 거래는 포인트를 차감하고 진짜 거래는

추가 포인트로 보상을 받는다.

• 계정 잔고. 스테이킹된 토큰의 개수에 따라 추가 포인트가 배정된다. 예정 어드바이저

노드 (블록 프로듀서)는 초기 단계에 최소 1,000,000 VLX가 스테이킹 되어 있어야 한다.

• 온라인 가동 시간. 추가 포인트가 블록 생성 노드의 전체 가동 기간에 따라 부과된다.

• 블록 생성 이벤트. 각각의 블록 생성 노드는 각각의 생성된 블록에 따라 포인트를 받는

다.

만약 노드가 어떤 이유로 블록을 생성하지 않는다면 (예를 들어, 네트워크 이슈 때문에 가

동 시간이나 처리능력이 부족해서) 노드에서 포인트가 차감된다. 블록을 생성할 때 검증인들의

목록이 잘 만들어져야 한다. 검증인들은 받은 포인트들을 고려하여 리스트에 추가된다.

위에 명시된 데이터는 신경망을 통한 이후 y’=f(x) 오브젝티브 함수 데이터를 받는다. 모든

y’는 소프트맥스 레이어를 거친다. 이후 우리는 최고 퀄리티에서의 편차 비율을 받는다.

블록 생성에 대한 보상은 신경망에서 받은 기여도의 비율에 따라 달라진다.

Page 8: 가상 확장 러닝 자동 시스템 (VLX™) AI를 활용한 위임 지분 ... - Velas - Whitepaper (Korean).pdf · 2020-03-31 · 안정적인 시스템 구축, 10개 노드에

보상 토큰

이 프로토콜은 블록에 대한 보상을 100%로 간주하고 신경망에서 받은 점수로 참가자를

나눈다. 인공 직관(Artificial Intuition)은 선형 회귀 분석 모델에 기반하고 있다. 이 모델은 확률

론적 방법으로 훈련된다. 인공직관은 두 개의 모델을 사용한다. 다차원 선형 회귀 분석 모델을

사용하여 클래스의 확률 분포 밀도를 계산하고 베이즈 분류기가 올바른 결정을 내리기 위해

사후 최대 추정치를 사용한다.

거대한 데이터 유입이 있는 초복잡 환경에서 적응할 필요가 있기 때문에 유전 알고리즘을

기반으로 한 AI가 사용된다. 왜냐하면 인공신경망은 역전파 방식으로서, 오류가 있는 표준 신

경망보다 더 효율적으로 처리 할 수 있기 때문이다.

유전 알고리즘은 진화 방식, 즉 다양한 솔루션 중에서 가장 적절한 것을 선택함으로써 최

적화 문제를 해결하는 데 사용된다. 다음과 같은 속성 때문에 일반적인 최적화 방식과 다르다.

1. 문제의 패러미터를 코드 값으로 처리하지 않고 코드화된 형식으로 처리한다.

2. 해결책을 찾는 것은 특정 인구를 기반으로 한다.

3. 목적 함수가 파생되는 것이 아니라 사용된다.

4. 알고리즘은 확률론적이다.

신경망을 가르치기 위한 유전 알고리즘은 역전파 오류 방법에 대한 대안으로 사용된다.

학습 목적은 비용 함수를 최소화하는 것이다. 또한, 유전 알고리즘을 사용하면 지역 최소치에

서 비용 함수를 피할 수 있다.

일반적으로 역전파 알고리즘의 오류는 모든 가능한 여러 가지 솔루션을 검색하는 유전 알

고리즘보다 빠르게 실행된다는 점이 강조돼야 한다. 그러나 경사법이 항상 시작 지점에서 선

택한 바에 따라 예상한 결과로 이어지는 것은 아니다. 또한, 오류 역전파 알고리즘의 오류에

근본적인 결함은 지역적인 최적값 주변에서 발생하는 "재밍 ( jamming)"이다. 그렇기 때문에

Genetic AI (유전 인공지능)은 신경망을 학습하는 데 훨씬 혁신적이고 가능성이 있는 방법이다.

알고리즘 실행

노드 평가를 결정하는 인공 직관 알고리즘과 단계별 블록 개수를 결정하는 알고리즘.

블록 개수를 결정하는 AI 알고리즘: 각각의 블록은 확립된 거래의 개수에서 형성되며 이

개수는 블록체인의 사용 강도에 따라 다르다. 만약 블록 형성 시간 동안 컨펌되지 않은 거래

가 남아있을 경우 블록 사이에 시간을 단축해서 블록 개수를 늘려야 한다. 새로운 블록 주기

를 생성할 때, 성장 함수의 결정 요인을 사용하여 각각의 시대 기간에 일반적인 변수를 결정

함으로써 이전 단계에서 컨펌되지 않은 거래의 개수를 확인하는 것이 필수적이다. 다음, 계산

된 변수로 거래 개수를 셈으로써 얼마나 많은 거래가 블록에 있어야 하는지 산출한다. 그리고

필수적인 블록 개수와 한 블록이 생성되는 데 걸리는 시간을 계산한다.

노드 평가를 결정하는 AI 알고리즘: 노드의 블록 생성자는 생성된 블록이 컨펌받는 경우

포인트를 획득한다. 만약 노드가 여러가지 이유로 블록을 생성하지 못한다면 (컴퓨팅 파워가

부족하거나 네트워크에 문제가 있어) 포인트는 노드에서 차감된다. 블록 사이클을 생성할 때

Page 9: 가상 확장 러닝 자동 시스템 (VLX™) AI를 활용한 위임 지분 ... - Velas - Whitepaper (Korean).pdf · 2020-03-31 · 안정적인 시스템 구축, 10개 노드에

어드바이저 리스트도 생성된다. 어드바이저는 획득한 포인트 목록에 추가된다.

인공 직관은 투표 목록에서 평가 등급을 결정한다.

입력 패러미터는 다음과 같다.

a) 노드 거래 개수

b) 계정 잔고

c) 네트워크 시간

d) 생성 블록 포인트

학습용 샘플 데이터는 이전 사이클에서 블록을 생성할 때의 오류, 지연 그리고 아직 컨펌

되지 않은 거래를 담고 있다.

AI가 산출하는 결과값은 후보 노드 목록에 일종의 평가 점수로 반영된다. 이 네 가지의

패러미터는 우리가 트래픽을 분류할 입력 데이터 값이다.

DNA는 신경망 (매트릭스)의 레이어들로 분리된 노드상에서 산출된다. 추가적으로 몇몇 패러미

터가 더해진다.

1. 블록 생성 이후 남아있는 미확인 거래 개수

2. 거래 확인에 참여하는 노드 (51% 공격에 대한 방어와 이중 지불 공격)

3. 노드가 사이클 블록 안에 있을 때 정직한 투표와 거래 검토 속도

벨라스에 AI의 적용

벨라스 플랫폼 상에 AI를 확용하는 이유는 합의 비용을 줄이기 위함이다.

결과적으로, 밸라스 플랫폼 위에 구축된 AI 프레임워크는 다음과 같다.

1. 네트워크(노드)의 참여자들이 네트워크 상에서 활동적으로 온라인 상태를 유지하고 관

련된 점수 및 리워드를 최대화 할 수 있도록 동기부여를 한다.

2. 가짜 거래에 대한 가짜 메세지를 차단하여 메세지의 퀄리티를 높이고 공격에 대한 네

트워크 저항을 높인다.

3. 블록 생성 타이밍을 조절하여 TPS를 가속화하고 전반적인 컴퓨터 네트워크 로드를 감

소시킨다. 즉, 로드가 높은 기간 동안 더 높은 컴퓨팅 파워를 가진 노드에 블록 생성

을 배정하여 블록을 생성하기 위한 역동적인 시간이다.

4. 올바르게 최적의 방식으로 리워드를 분배한다.

51% 공격에 대한 방어 장치

이 프로토콜은 DPOS 알고리즘을 사용한다. 24시간 가동한다.

에이지(age)를 생성할 때 가중치가 있는 노드의 사이클블록이 생성된다. 사이클블록으로

선택된 노드들은 소유권을 포기한다.

새로운 블록은 사이클노드의 80%에서 서명을 받아야만 하며 시스템으로 들어가기 위하여

침입자는 80% 이상이 참여하는 사이클블록 노드로 진입해야 하며 전체 시스템의 80% 이상을

차지하는 가짜 노드를 생성해야 한다. 이러한 상황에서 침입자들이 전체 시스템을 장악하게

Page 10: 가상 확장 러닝 자동 시스템 (VLX™) AI를 활용한 위임 지분 ... - Velas - Whitepaper (Korean).pdf · 2020-03-31 · 안정적인 시스템 구축, 10개 노드에

되며 그들 스스로를 강탈하는 것은 말이 되지 않는다.

벨라스 노드 선택

벨라스 노드 선택의 목적은 신경망의 매트릭스를 컴퓨팅 하기 위함이다. 필수적인 조건은

GPU가 “탑재”되어 있는 것이다. 네트워크 조직자는 여러 개의 노드를 구성한다. 매트릭스 컴

퓨팅에 대한 입력값은 블록체인에서 받는다.

퍼블릭 알고리즘이기 때문에 모든 네트워크 멤버는 다음을 할 수 있다.

1. 입력값을 얻을 수 있다.

2. 끝난 매트릭스를 받을 수 있다;

3. 제어 산출을 할 수 있다.

신경망의 계산을 바탕으로 노드가 타이밍 사이클블록을 생성하고 모든 네트워크 참여자들

에게 송출한다.

노드는 사이클블록 노드 참여자들의 소유권을 저장한다.

신경망의 계산에 따라 노드가 사이클 말미에 보상을 배분한다.

공격이 감지되면 노드가 사이클블록을 해체하고 새로운 블록을 생성한다.

Page 11: 가상 확장 러닝 자동 시스템 (VLX™) AI를 활용한 위임 지분 ... - Velas - Whitepaper (Korean).pdf · 2020-03-31 · 안정적인 시스템 구축, 10개 노드에

사이클 블록 구조

사이클 시간=72001 블록 (사이클 당 72000 단순블록 + 사이클블록)

네트워크 진입 노드

스테이킹하려는 모든 노드들은 네트워크에 특별 트랜잭션을 소신해서 다음 블록 사이클에

블록 생성자로서 등록해야 한다.

블록 사이클 끝

한 노드가 블록을 생성하기 위해 선택된다.

Page 12: 가상 확장 러닝 자동 시스템 (VLX™) AI를 활용한 위임 지분 ... - Velas - Whitepaper (Korean).pdf · 2020-03-31 · 안정적인 시스템 구축, 10개 노드에

벨라스 플랫폼 상의 트랜잭션

트랜잭션 모델 설명

벨라스 플랫폼에서의 VLX 전송은 이전 트랜잭션에서 해시를 보존하면서 새 토큰에 대한

공개 키를 후속 소유자에게 다시 발행하여 실행된다. 트랜잭션 검증은 체인의 유효성 검사를

통해 수행된다.

"이중 지불"방지와 같은 문제는 체인의 신뢰성을 확인하는 네트워크를 통해 해결된다. 이

는 추가 보안 레벨을 제공하는 프로토콜 "Epoch"의 도입을 통해 이루어지며 특정 시간 내에

블록을 블록 체인에 추가 할 수 있다. 블록은 공개되어 있으며 블록 탐색기에서 보고 검토 할

수 있다. 각 블록은 이전 블록의 해시와 타임 스탬프를 포함한다. 각 타임 스탬프를 추가하면

전체 체인의 유효성이 강화된다.

초당 트랜잭션

예시:

• 블록 시간 – 2초 (1초-2분);

• 블록 당 거래량 – 60,000;

• 초 당 거래량 60,000 / 2=30,000 TPS;

거래 프로세스

이 섹션에서는 벨라스 트랜잭션 생성 및 처리의 주요 세부 사항을 요약한다.

1) 각 거래에는 다음과 같은 패러미터가 있다.

• 트랜잭션 해시

• 블록체인 트랜잭션 유형

• 트랜잭션이 블록에 반영된 타임스탬프 또는 블록 넘버

• 사용된 트랜잭션 입력 수

Page 13: 가상 확장 러닝 자동 시스템 (VLX™) AI를 활용한 위임 지분 ... - Velas - Whitepaper (Korean).pdf · 2020-03-31 · 안정적인 시스템 구축, 10개 노드에

• 사용된 트랜잭션 입력 목록

• 생성된 트랜잭션 출력 수

• 생성된 트랜잭션 출력 목록

2) 거래 입력에 대한 모든 값은 처리되기 전에 확인된다. 필수적인 패러미터 명세가 검토되어

야 한다. 예를 들어 수수료가 0보다 작거나 같을 수 없다. 만약 의심되는 트랜잭션이 컨펌되지

않으면 해당 거래가 처리되지 않는다.

3) 트랜잭션 검토 절차를 시작하고 진행해야한다. 이 검증은 다음과 같은 일이 발생했는지 확

인해야한다.

• 새로운 트랜잭션 생성 완료

• 새로운 토큰 거래 검증 생성

• 토큰 소유권자의 서명

• 네트워크 노드가 트랜잭션을 처리하도록 지시할 용도로 메시지 내에 저장되는 트랜잭션

데이터의 암호문

• 네트워크의 모든 노드에 대한 전송 내역의 생성 및 기록

트랜잭션 구조

트랜잭션 컨펌

모든 벨라스 트랜잭션은 유효한 블록에 포함될 때까지 확인되지 않은 것으로 간주된다.

최근에 생성된 블록들은 블록 생성 노드에 의해 네트워크에 배포된다. 새 블록이 기존 블

록 체인에 추가되기 때문에 모든 추가된 블록에 트랜잭션 유효성 검사가 한 번 더 추가된다.

네트워크로 전송되었지만 블록에 포함되지 않은 트랜잭션은 확인되지 않은 상태이다. 거래는

관련된 수수료의 규모에 따라 우선 순위가 정해진다.

Page 14: 가상 확장 러닝 자동 시스템 (VLX™) AI를 활용한 위임 지분 ... - Velas - Whitepaper (Korean).pdf · 2020-03-31 · 안정적인 시스템 구축, 10개 노드에

트랜잭션 비용

토큰의 통합, 분할 또는 재발행이 토큰에 추가되면 블록과 관련된 모든 거래 수수료가 네

트워크의 노드 간에 분배된다. 위원회 구성원은 네트워크에서 선출된 순서대로 블록의 모든

거래에 VLX로 보상을 받는다.

블록에 있는 모든 트랜잭션의 사이즈가 1MB를 초과하지 않는 경우 최소한의 VLX는 처리

와 관련된 모든 비용을 처리하기에 충분할 것이다. 확인되지 않은 트랜잭션의 수가 블록에 추

가될 수 있는 수를 초과할 경우 가장 높은 수수료를 지불할 트랜잭션이 노드에 의해 선택된다.

트랜잭션 해시 생성

트랜잭션과 블록 해시는 Schnorr 서명 알고리즘을 사용하여 생성된다. 이 알고리즘을 선

정한 이유와 그것의 혜택, 그리고 작동 방식에 관한 이야기는 추후 다룰 예정이다. 벨라스는

언제나 안전한 다중서명 트랜잭션을 지원할 것이다.

• 버전

• 락 기간 – 0

• 트랜잭션 입력값

• 해시-트랜잭션-해시-

• 인덱스 (토큰이 생성되었을 때 결과값의 수)

값 (CCN에 토큰량)

• 서명 스크립트

• 서명

• 거래 결과

토큰 구조

트랜잭션 처리 과정에서 토큰이 만들어지며 다음과 같은 구조를 갖는다.

• 비밀키 (트랜잭션을 위해 생성)

• 트랜잭션 해시 (생성 시점부터 존재)

• 인덱스 (트랜잭션 인덱스)

• 단위 (토큰량)

각 블록은 블록체인에 등록되기 전에 위원회 구성원에게 확인받아야한다. 각 구성원은 모

든 블록 트랜잭션을 확인하여 거래량, 입력값, 디지털 서명 및 출력값과 같은 데이터를 검증합

니다. 성공하면 블록체인에 거래를 합치기 이전에 서명 최종 확인을 위해 나머지 네트워크로

브로드캐스팅한다. 참여하기 위해 노드는 실행 중인 기간 동안 완료 작업에 대한 보상 데이터

를 저장하는 데 사용된 고유한 토큰을 수신한다는 의도를 네트워크에 알려야 한다. 새로운 위

원회 구성에 대한 기준은 네트워크의 노드 활동 시간, 지갑의 크기 및 위원회 참석 빈도와 같

은 것들이다.

블록 헤더는 다음의 패러미터로 구성된다.

• 블록 높이 (블록 넘버)

Page 15: 가상 확장 러닝 자동 시스템 (VLX™) AI를 활용한 위임 지분 ... - Velas - Whitepaper (Korean).pdf · 2020-03-31 · 안정적인 시스템 구축, 10개 노드에

• 사이즈 (블록 사이즈)

• 버전 (블록체인 버전)

• 이전 블록 해시값

• 타임 스탬프 (초 단위의 현재 시간)

• 비트 (명령 창)

• 논스 (명령 창)

• 한 블록의 거래량

벨라스 블록 생성 노드(BGN) 세부 사항

현재 네트워크의 노드는 두 가지 유형으로 구분된다.

• 블록 생성 노드 (BGN)

• 모든 남아있는 노드

연결 시 노드는 DNSSeeds에 요청하고 목록 (슬라이스)을 받는다. BGN은 임의의 주소에

요청을 하고 BGN 브랜치의 목록 (node_slice)을 수신한다.

노드는 목록에서 임의의 노드에 대한 요청을 만들고 그 노드에 연결을 시도한다. 연결에

성공하면 노드가 등록된다. 노드에 사용 가능한 슬롯이 없으면 연결 요청을 할 수 있는 슬레

이브 노드의 목록을 제공한다. 그렇지 않으면 가능한 슬레이브 노드에 연결하여 자체 등록한

다.

또한 전체 "트리"를 검색하면서 이 사이클은 새 노드가 연결하기 위해 빈 슬롯을 찾을 때

까지 계속된다.

노드는 다음과 같이 동기화하고 요청한다. sync ()

또한 노드가 NAT 뒤에 있지 않다면 나머지 7개의 노드를 연결하는 서버를 시작한다. 노

드는 핑을 전송하여 경로 길이를 결정한다. 노드는 항상 TCP-server에 연결된다. 노드가 알림

없이 연결을 잃으면 점수도 손실한다.

네트워크 상에 두 가지 유형의 메시지가 있다.

Page 16: 가상 확장 러닝 자동 시스템 (VLX™) AI를 활용한 위임 지분 ... - Velas - Whitepaper (Korean).pdf · 2020-03-31 · 안정적인 시스템 구축, 10개 노드에

• 노드가 마스터에게 전하는 것과 그에 대한 답신

• 메시지는 슬레이브 노드를 통과하지 못한다.

각 추가 노드는 이전 구조의 해시에 서명하고 핑이 BGN에 도달 할 때까지 전송한다.

이러한 기록의 구조는 다음과 같다.

{

address_node,

hash,

sign

}

BGN은 해시에 서명하고 이를 다시 보낸다. 이때 노드는 BGN으로 홉핑을 기록한다. 투표

가 있을 때 노드는 이전에 논의된 다른 패러미터 뿐만 아니라 홉에 기반하여 마스터에게 점수

를 준다.

새로운 노드를 연결할 필요가 있는 경우, 노드는 빈 슬롯 및 BGN에 대한 홉의 양으로 응

답한다. 여유 슬롯이 없는 경우, 노드는 "연결 불가능"으로 응답하고 슬레이브 노드 목록을 제

공한다.

노드는 어떻게 연결을 제어하는가?

기본 설정은 "notify" 명령을 마스터노드(masternode)로 전송하여 완료되며, 마스터노드는

"OK"로 응답해야 한다.

2분마다, 노드는 반드시 마스터노드로부터 새로운 블록을 받아야한다. 노드가 지정된 시간

내에 블록을 받지 않으면 새 마스터 검색을 시작할 수 있다.

블록을 슬레이브 노드로 보내려는 시도가 실패하고 노드가 특정 노드로부터 오류를 수신

하고 연결이 닫히지 않으면 노드는 스스로 연결을 닫는다.

마스터노드를 사용할 수 없지만 다른 노드를 사용할 수 있는 경우(즉, 연결 시도에 성공적

으로 응답), 노드는 이 마스터노드에 패널티 점수를 부여한다.

만약 노드가 NAT 뒤에 있으면 15초마다 "notify"을 전송한다. 프록시-클라이언트 노드(A

proxy-client node)는 BGN 또는 마스터노드일 수 없다.

트랜잭션 프로세스 개요

거래는 슬레이브 노드에서 마스터노드로 확산된다. 마스터노드는 거래를 확인하고 서명하

고 전달한다. 노드가 BGN에 가까울수록 더 많은 거래를 검증해야 한다.

노드가 거래를 검증하지 않으면 노드는 거래를 전송하지 않고 처리 능력이 나타날 때를

잠시 기다린다.

만약 거래가 부정확하다면 노드는 오류에 대한 알림을 슬레이브노드로 전송한다.

그 거래는 초당 1회씩 마스터노드로 전달된다. 송신 사이의 간격에, 거래로부터의 블록이

형성된다. 블록이 클수록 네트워크에 가해지는 부하가 줄어들기 때문에 네트워크에 가해지는

부하를 줄일 필요가 있다.

Page 17: 가상 확장 러닝 자동 시스템 (VLX™) AI를 활용한 위임 지분 ... - Velas - Whitepaper (Korean).pdf · 2020-03-31 · 안정적인 시스템 구축, 10개 노드에

완성된 블록(모든 BGN이 기록한 체인의 블록)은 마스터노드에서 슬레이브 노드(slave-

node)로 확산된다.

BGN의 선택

BGN으로 가는 경로의 길이에 대해서는, 각 노드가 포인트에 따라 마스터를 투표한다. 가

장 높은 포인트는 10점으로 1홉이고, 가장 낮은 포인트는 0으로 10홉 이상이다.

슬레이브 노드로부터 평가를 받은 마스터노드는 마스터에게 포인트를 주고 슬레이브 노드

의 사이즈를 추가한다.

슬레이브 노드에 의해 생성된 거래의 수가 노드 사이즈에 추가된다.

총 포인트 수

마스터노드는 슬레이브 노드 포인트에 의해 주어진 데이터의 정확성을 검증한다. 만약 오

류가 감지되면 분기의 포인트는 고려하지 않고 오류가 감지된 슬레이브 노드의 포인트는 0이

된다.

“tree”에서 거래를 생성할 때 관여하지 않는 노드(채굴기)의 상승을 제한하기 위해 거래의

수를 계산해야 한다.

노드는 투표에 서명하고 메시지를 보낸다. 그런 다음 각 노드 페어에 대한 포인트를 합산

하여 처리한다.

최종 메시지를 수신한 BGN은 이를 다른 BGN에 보낸다. 투표 후 가장 높은 점수를 받은

노드를 선택한다. 새로운 BGN의 목록이 형성되었다. BGN은 선택 체인의 신호를 검증한다.

투표

모든 BGN은 노드 후보(node-candidates) 리스트를 구성한다. 알고리즘이 제대로 작동하면,

리스트는 모든 사람에게 동일할 것이다.

각각의 BGN은 리스트를 검증하고, 리스트가 적합하다면 BGN이 서명한다. 수상자 리스트

는 BGN의 80% 이상이 투표한 것이다.

블록생성노드(BGN)

노드는 "age"의 시작 부분에서 "활성화"되어 BGN 소켓을 작동시킨다. 이 노드는 다른

BGN에게도 인사말을 보낸다.

BGN들 사이의 관계의 유형은 "all-to-all"이다. 노드는 사이클 블록에 표시된 스케줄에 따

라 블록을 생성한다.

슬레이브 노드에서 거래를 받으면 BGN은 이를 모든 BGN에 전달한다.

블록을 생성하는 노드는 확인되지 않은 모든 거래를 수집하고 블록을 생성한다. 이 블록

은 모든 BGN에 전달된다.

BGN은 거래의 정확성을 확인하고 블록에 서명한다. 블록은 BGN의 80% 이상이 서명한

경우 승인된 블록으로 간주된다. 결과적으로, 허용받은 블록은 "tree"로 확산된다.

각 "age"가 시작될 때, 다음 BGN에 대한 투표가 시작된다. 거래와 함께, BGN은 그들의 슬

Page 18: 가상 확장 러닝 자동 시스템 (VLX™) AI를 활용한 위임 지분 ... - Velas - Whitepaper (Korean).pdf · 2020-03-31 · 안정적인 시스템 구축, 10개 노드에

레이브 노드에서 표를 얻고 거래 수와 분기의 크기를 검증한다. 만약 부적합한 점이 있다면,

분기 전체가 포인트를 잃는다.

검증 후 BGN은 투표 결과를 다른 BGN에 전달한다. 이렇게 해서 노드 후보(node-

candidates) 리스트가 형성된다.

"age"의 중간에서, 새로운 BGN "age"와 새로운 사이클 블록의 리스트가 형성된다. 이 리스

트는 모든 BGN(80%)에 의해 서명되고 “tree"를 따라 아래로 확장된다.

노드

노드는 블록에 등록되어 이 노드가 슬레이브 노드(노드에 연결된)에 의해 투표된 경우

"register" 메시지를 전송한다. 관련 매개변수 리스트에는 다음이 포함된다.

{

address

weight

hash []addresses slave nodes

transaction []hashes

}

블록체인에는 새 노드가 추가된다. 블록체인은 6개의 "age"로 구성되어 있다. 이 기간 동

안 노드가 활성화되지 않으면 모든 포인트와 등록(registration)도 상실된다.

월렛(코인)

지갑의 목적은 거래를 만드는 것이다. 지갑은 자체 노드를 통해 요청을 실행한다. 지갑은

특수 어플리케이션에 의해 생성되며 다른 어떤 어플리케이션에도 전달될 수 있다. 지갑 잔액

은 지불되지 않은 거래 산출물의 수이다.

사용자를 위한 애플리케이션

이 어플리케이션은 월렛(코인)의 저장고로 활용된다. 이는 반드시 노드에 연결되어야 한다.

보안

51% 및 이중 지불(Double-Spend) 공격으로부터 보호:

우리는 DPOS 알고리즘을 사용한다. age는 24시간 지속된다.

age를 생성할 때 사이클 블록이 생성되며 이는 가중치가 더 많은 노드를 선택한다. 사이

클 블록으로 선택된 노드는 그들의 지분(stake)을 남긴다.

새 블록은 사이클 블록 노드의 80%가 서명해야 한다.

따라서, 침입자는 시스템에 침입하기 위해서는 80% 이상의 참여가 있는 사이클 블록에

들어가 전체 시스템의 80% 이상이 될 가짜 노드를 만들어야 한다. 이런 상황에서 침입자가

시스템을 통째로 갖게 되는 자신들을 강탈하는 것은 의미가 없다.

Page 19: 가상 확장 러닝 자동 시스템 (VLX™) AI를 활용한 위임 지분 ... - Velas - Whitepaper (Korean).pdf · 2020-03-31 · 안정적인 시스템 구축, 10개 노드에

3가지 종류의 노드

• 마스터 노드(3개의 노드부터 네트워크의 가용성을 위해 3개 혹은 그 이상의 노드가 필

요함)은 네트워크의 구성에 속함. 마스터 노드의 기능은 AI기능의 분산화를 위해 네트워

크의 4단계 RC(release candidate)버전의 어드바이저로 이전된다.

• 어드바이저- 노드 생성 차단. 릴리스 후보 어드바이저는 네트워크에 시그널을 보내 충

분한 GPU전력이 있다는 것을 보여주고 평판, 가동시간, 계산속도 및 코인 보유량 상황

에 따라 네트워크에 선택된다. 선택된다면 그들이 신경망을 작동할 수 있도록 허가하고

네트워크에서 더 많은 보상을 받을 수 있게 함으로 네트워크 논리의 AI구성요소를 트레

인하고 분산시킨다.

• 일반적 노드

모든 어드바이저는 새로운 블록이 생성될 때마다 거래를 확인한다.

만약 80%의 어드바이저가 블록을 확인하면 이 블록은 네트워크로 간다.

만약 20%의 일반적 노드가 이 블록이 가짜라고 판단하면 마스터노드가 이 블록을 확인한

다.

비율은 사이클 블록의 노드를 선택하기 위한 기준들 중 하나다.

80%의 어드바이저가 가짜블록이라 확인하고 20%의 블록이 이 블록을 수용하지 않을 시

이 블록은 블록체인에 추가되지 않는다. 그 후 마스터노드의 판단에 따라 블록이 가짜라 판명

되었을 시 공격을 보고한 노드는 어드바이저의 비율로 구성된 보상을 받는다.

이것이 바로 “nothing-at-stake”문제의 해결 방법이다.

해시 알고리즘

우리는 ECDSA보다 슈노르(Schnorr)서명을 사용한다. 벨라스 구현 시 예측 가능한 특성을

지니고 있는 Secp256k1곡선을 사용하여 성능을 향상시킨다. 슈노르서명을 사용하여 얻는 제일

큰 이점은 성능이 매우 향상된다는 것이다.

슈노르서명(서명의 “합”은 “합”의 서명이다)이 가지고 있는 선형성으로 블록의 모든 거래/

입력의 유효한 서명을 일괄적으로 인증할 수 있다.

게다가 우리는 단순한 계산으로 모든 블록 서명을 합한 하나의 서명을 저장할 수 있다.

이는 스토리지의 오버헤드를 감소시키고 인증 시간을 더 단축시킨다. 이로써 노드는 모든 거

래의 서명에 대해 블록의 서명만 검증하면 된다. 수천 개가 넘는 계산을 비교적 간단한 두 가

지 계산으로 대체할 수 있는 것이다.

또한 ECDSA에 비해 슈노르 알고리즘은 키의 통합기능 지원 및 개인 정보 보호도 개선함

으로 일반 거래에서 다중 서명 거래를 구분할 수 없게 한다.

Page 20: 가상 확장 러닝 자동 시스템 (VLX™) AI를 활용한 위임 지분 ... - Velas - Whitepaper (Korean).pdf · 2020-03-31 · 안정적인 시스템 구축, 10개 노드에

ECDSA계산법의 가시적 모형. 타원 곡선은 실제 넘버를 토대로 만들어진 것이다. 참고 : https://medium.com/cryptoadvance/how-schnorr-signatures-may-improve-bitcoin-91655bcb4744

중간자 공격 보호 (Man-in-the-Middle Protection)

이 시스템은 MITM 공격을 이하의 방법으로 방어한다.

• 각 노드의 공용키는 블록체인에 저장된다.

• 이 외 블록체인에는 별명이 있다- 공용키들

• 이용자 A에서 이용자B에게 한 컨테이너가 발송되면 이용자A는 블록체인에서 이용자 B

의 공용키를 받아 컨테이너를 암호화한다. 컨테이너는 암호화된 형태로 이용자B의 멀티

월렛으로 전송된다. 이용자 B는 그의 개인키로 컨테이너를 해독한다.

멀티월렛 기술

벨라스 블록체인은 지원되는 모든 코인의 공용키와 개인키를 생성할 수 있다. 벨라스는

암호화폐, 비트코인, 이더리움과 토큰, eos, xrp, 모네로(monero) 등의 개인키를 생성할 수 있다.

키는 이용자의 개인키 시드를 이용하여 생성될 것이다. 모든 컨테이너는 생성시 벨라스 지갑

Page 21: 가상 확장 러닝 자동 시스템 (VLX™) AI를 활용한 위임 지분 ... - Velas - Whitepaper (Korean).pdf · 2020-03-31 · 안정적인 시스템 구축, 10개 노드에

과 관련된 오리지널 시드 혹은 개인 키를 통해 복원될 수 있다. 이런 컨테이너들은 다른 코인

들이 온체인 오프체인의 확장성 솔루션을 해줄 수 있도록 지원하며 모든 벨라스 스마트 컨트

렉트를 위한 하나의 에코시스템 윌렛 역할을 할 수 있다. 이용자는 또한 현재 고유하고 있는

코인을 벨라스 지갑에 안전하게 보관할 수 있으며 지원하지 않는 코인 또한 멀티시그 백업을

만들 수 있다.

개인키가 저장된 컨테이너 전송

1. 노드의 목록 중 프록시로 작동할 수 있는 노드를 선택

예시: 플래그 설정 후 노드가 공용주소를 가지고 있음

2. 이용자 A는 이용자 B에게 노드 주소를 보낸다.

3. 두 이용자는 지정된 채널을 통해 프록시 서버로 접속한다. 프록시 서버에서는 채널 이

름의 키와 값이 두 연결로 구성된 맵이 만들어진다.

4. 연결이 완료되면 이용자 A는 그의 공용키를 이용자 B에게 보낸다.

5. 이용자 B는 이용자 A의 주소를 확인하고 공용키를 보냈다. 만약 이들이 일치하면 이

용자 B는 개인키가 있는 컨테이너를 이용자 A의 공용키로 암호화한 후 컨테이너를 전송

한다.

6. 컨테이너를 받은 후 이용자 A는 개인키로 이를 해독한다.

7. 연결이 종료된다.

(End)