리스크

위키원
gamsin98 (토론 | 기여)님의 2018년 7월 26일 (목) 17:03 판 (DPoS 알고리즘)
이동: 둘러보기, 검색

리스크(Lisk)는 자바스크립트(JavaScript) 기반의 노드제이에스(node.js) 언어로 만든 암호화폐이다. 사이드체인 기술을 사용했다. 리스크의 화폐 단위는 LSK이다. 2018년 7월 기준으로 시가총액은 5억 5천만달러, 약 5,900억원으로서 26위이다.

개요

리스크는 이더리움 플랫폼을 사용하며 메인 체인에서 분기된 사이드체인이라는 별도의 체인을 사용한다. 목적은 사람들이 오픈소스인 리스크 플랫폼 안에서 쉽게 자신만의 디앱을 만드는 것이다. 이러한 활용성을 위해 세계에서 가장 일반적으로 사용되는 프로그래밍 언어인 자바스크립트를 사용하고, 자바스크립트로 작성된 SDK(Sidechain Development Kit)를 제공하는 것도 이 이유에서다. 리스크는 퍼블릭 블록체인 디앱 플랫폼으로, 본사는 스위스 추크(Zug)에 있으며, 창시자는 맥스 코덱(Max Kordek)이다. 2016년 3월 ICO를 통해 14,009 BTC , 당시 580만 달러를 성공적으로 유치했고, 총 발행량은 1억1천5백개이다.

특징

리스크는 자체 블록체인 네트워크 및 LSK 토큰을 기반으로 개발자가 디앱을 구축하고, 사용자 정의 토큰을 포함하여 리스트 네트워크에 링크된 자체 사이드체인을 배포 할 수 있게 해준다. 사이드체인의 확장성과 유연성 덕분에 개발자는 블록체인 디앱을 완전히 구현하고 원하는 대로 만들 수 있다. 리스크는 SDK, 사용자 경험, 개발자 지원, 심층 문서화 및 리스크 아카데미에 초점을 맞춰 블록체인 기술을 보다 쉽게 ​​이용할 수 있도록 하는 것을 목표로 한다. 리스크 네트워크는 민주적으로 선출된 대의원에 의해 움직이는 DPoS (Delegated Proof-of-Stake) 합의 모델을 사용하여 운영된다.

자바스크립트

리스크의 가장 큰 장점은 자바스크립트 중 하나인 Node.js를 사용한다는 것이다. 자바는 널리 사용되는 언어이기 때문에 리스크 개발을 위해 굳이 새로운 언어와 방법을 배울 필요 없이 바로 디앱 개발에 참여할 수 있다. 이는 자체 언어를 사용하는 여타 암호화폐들과 차별화를 통해 프로그래머들이 보다 쉽게 블록체인 앱 개발을 시도할 수 있도록 접근성을 높인 전략이다. 이렇듯 토큰 개발자들은 자바만의 장점인 개발 용이성과 확장성, 호환성 등을 활용하여 디앱을 개발을 할 수 있다.

사이드체인

데이터 양 처리 문제

비트코인 블록체인의 장점은 모든 노드가 모든 거래내역을 함께 공유한다는 것이다. 그러나 이렇게 거래가 계속 진행될수록 공유하는 데이터의 양이 너무 많아진다는 문제점이 생겼다. 비트코인에서 지금까지 사용한 블록체인의 데이터 양만 하더라도 엄청나다. 게다가 이더리움의 스마트계약이 포함된 블록체인의 경우, 송금 거래 내역 외에도 수많은 디앱 데이터까지 더해져 기하급수적으로 늘어난 데이터 양 때문에 거래 속도 저하 등 여러 가지 시스템적 문제가 발생하고 있다. 이 때문에 알트코인들은 이러한 문제점을 보완하기 위해 많은 방안을 제시하고 있다. 이더리움의 경우, 현재 이러한 블록 데이터의 양을 어떻게 처리하는가가 가장 중요한 문제이다. 이를 위해 이더리움이 채택한 방법 중 하나가 샤딩이다. ‘샤딩’이라는 단어의 뜻은 어떤 물체의 조각을 의미한다. 즉, 블록에 저장된 데이터를 서로 다른 곳에 조금씩 나누어 분산해 보관하는 기술이다. 기존 블록체인 기술은 트랜잭션을 나눠서 처리하지 않고 모든 연산을 실행하는 직렬 처리 방식으로서 처리 속도가 느렸다. 반면 샤딩은 대용량의 데이터를 처리하기 위해 테이블을 영역별로 수평 분할하여 데이터를 분산 저장하고 처리한다. 샤딩을 사용하면 초당 처리 가능한 거래의 양을 극대화할 수 있다. 이처럼 증가하는 거래량에 비례해서 생겨나는 거래 데이터를 처리하기 위해 수많은 알트코인들은 자신들만의 방법을 제시하고 있다. 그리고 이러한 문제를 해결하기 위해 리스크가 제시한 방법이 바로 ‘사이드체인’ 이다.

구조

사이드체인은 하나의 메인 체인을 설정하고 디앱 별로 별도의 사이드체인을 만들어서 각각 원하는 대로 제작하여 사용한다. 즉, 리스크의 구조는 메인 체인과 사이드체인으로 이루어지고, 여기서 메인체인은 각각의 사이드체인 프로젝트를 등록해주는 역할을 하고, 사이드체인은 별도의 블록체인을 파생시켜 이를 기반으로 디앱 개발이 가능한 환경을 제공한다. 만들어진 사이드체인의 블록 해시 값은 결국 메인 체인과 연결되기 때문에 전체적인 체인의 통합은 유지된다. 즉, 메인 체인에서는 블록체인 고유의 블록 생성, 검증 등을 포함한 보안성과 안정성을 제공하고, 사이드체인에서는 디앱 개발, 관리 등을 전문적으로 수행하여 전체 블록체인이 원활하게 돌아가는 것이다. 사이드체인 개발은 리스크의 메인 네트워크나 다른 어떠한 사이드체인을 방해하지 않는다. 사이드체인은 모든 디앱의 데이터를 메인 블록체인에 다 올리지 않아서 메인 블록체인의 데이터를 최소화하기 때문에 보다 빠른 속도로 확장성을 갖는다.

사이드체인 생성 방법

사이드체인을 만드는 것은 리스크 플랫폼에 디앱을 개발하는 첫 번째 단계이다. 리스크 커맨더 용 사이드체인 모듈을 사용하자마자, 명령 행 인터페이스를 사용하여 사이드체인 개발을 쉽게 할 수 있다. 리스크 커맨더는 암호화된 안전한 첫 블록을 만들거나 중요한 사이드체인 구성 요소를 묶어서 주는데 도움을 준다. 이 구성 요소에는 효율적인 P2P 웹소켓 전송 레이어 또는 표준화된 계정 원장 시스템과 같은 리스크 코어의 필수 요소가 포함된다. 사이드체인 구축을 위해 필요한 또 다른 도구는 리스크 요소(Lisk Elements)이다. 리스크 요소는 합의 알고리즘, 사전 정의된 트랜잭션 유형 및 API와 같은 많은 유용한 라이브러리 모음이다. 중요한 사이드체인 부분은 공유 암호화를 획득하고, 확장 가능한 API 및 확장 가능한 트랜잭션 유형을 갖기 위해 리스크 요소에서 가져온 것들이다. 이렇듯 리스트 커맨더, 리스크 요소, 리스크코어의 지원으로 사이드체인을 만들 수 있다.[1]

SDK

디앱 용도에 따라 다양한 속성들을 만들 수 있기 때문에 개발하는 아이템의 특성을 살려 사이드체인을 설계할 수 있다. SDK(Sidechain Development Kit)는 블록체인 응용 프로그램을 프로그래밍하기 위한 모듈 모음을 제공한다. SDK는 리스크 커맨더(Lisk Commander), 리스크 요소(Lisk Elements), 키스크 코어(Lisk Core) 및 리스크 허브(Lisk Hub)의 4가지 강력한 도구로 구성돼 있고, 각 도구마다 고유한 역할이 있다. 리스크 커맨더는 리스크 코어 API에 대한 CLI이다. 사이드 체인을 부트스트랩(bootstrapping)하고 관리하는 것을 돕는다. 리스크 요소는 공유된 암호화, API 표현, 로컬 서명을 위한 트랜잭션 로직 및 생태계에 대한 중요 상수와 같은 라이브러리 모음이다. 리스크 코어는 리스크의 주요 네트워크 블록체인 데이터에 액세스하거나, 네트워크 인프라를 보호하고, 대의원 구축을 위한 접근을 얻는 고급 기술 사용자를 위한 도구이다. 리스크 허브는 리스크 ID를 관리하고, LSK 토큰을 액세스하여 전송하고, 대의원에게 투표할 수 있는 올인원 솔루션이다. 이전 지갑과 블록체인 탐색기의 기능을 결합했다. 곧 DEX (분산형 교환), 사이드체인 등록 및 자체 ICO 출시 기능이 탑재될 예정이다.[2]

보안

만일 만들어진 몇몇의 디앱이 문제를 일으키거나 해킹을 당하고 체인에 과부하가 걸리는 등의 경우에도 각각의 사이드체인으로 존재하기 때문에 다른 사이드체인에는 영향을 주지 않는다. 메인 체인에 영향을 미치는 악성 코드에 대해서도 걱정하지 않아도 된다. 하나로 연결된 블록체인에 비해 위험성이 분산되어 있는 것이다. 또, 리스크에서 제공하는 군용 등급 암호화인 Ed25519 체계를 사용함으로 플랫폼을 보호할 수 있다.

디앱 토큰

개발자는 디앱에서 자신이 원하는 토큰을 만들어 주요 통화로 사용할 수 있다. 이러한 토큰은 LISK 또는 BTC와 같은 방식으로 사용될 수 있지만 토큰은 하나의 디앱 사이드체인에서 다른 디앱 사이드체인으로 직접 이동할 수 없다. 토큰은 리스크의 메인 체인을 통해서만 이동해야 한다. 무엇보다 각각의 사이드체인에서 자체적으로 코인을 발행할 수 있기에 자신의 트랜잭션 비용을 관리할 수 있다. 사이드체인을 최대한 활용하려면 토큰을 통합하여 사이드체인의 기능 및 관련 비용을 지불하는데 사용하면 된다. 커뮤니티는 사이드체인을 사용하기 위해 더 이상 여러 개의 토큰이나 암호화폐를 보관할 필요가 없기 때문에 그들의 토큰으로도 이익을 얻을 것이다.[3]

DPoS 알고리즘

리스크는 위임지분증명(DPoS)이라는 합의 알고리즘을 기반으로 한다. DPoS는 블록을 만드는 대의원을 기반으로 한다. 대의원은 ‘활동하는 대의원’으로 뽑힌 신뢰할 수 있는 계정이다. 가장 많은 표를 얻은 101명의 대의원이 블록을 만든다. 이렇게 뽑힌 101명의 대의원에게만 합의 권한이 주어진다. 다른 대의원들은 ‘대기자 대의원’으로 표시되며, 다른 리스크 소유자로부터 투표를 받아 상위 101명 안에 들면 진출할 수 있다. 101표 각각의 가중치는 사용자가 표를 던지는 지갑에 넣은 리스크 금액에 비례한다. 이들은 적극적으로 네트워크를 만들고 보안을 유지하는 역할을 한다. 상위 101위로 승격되거나 대기 리스트로 강등되는 경우 101개의 블록 생성 사이클이 완료된다. 각각의 101개 블록 사이클은 상위 101개의 대의원에 의해 무작위로 만들어진다. 블록 시간은 10초이다. 새로 생성된 블록은 네트워크로 브로드캐스트되고 블록체인에 추가된다. 6~10건의 확인이 끝나면 트랜잭션을 함께 블록인 확인된 것으로 간주한다. 전체 101 블록 생성 주기는 약 16분이 소요된다. 성공적으로 블록에 새로운 LSK를 생성한 경우 그에 따른 보상 시스템이 구동된다. 첫 해는 블록 당 5LSK가 주어지고, 아후에는 3,000,000 블록마다 1LSK씩 감소하며, 5년 후에는 블록 당 보상이 1LSK로 고정된다. 대표자들은 공정하게 이와 같은 보상을 나눠가지는 것이다. 이렇듯 리스크 토큰은 꾸준히 추가로 발행될 것이고, 이는 리스크가 인플레이션 통화라는 것을 의미한다.[4]

마이크로소프트 협력

2016년 초에 리스크는 자바스크립트 애플리케이션 개발을 위해 마이크로소프트(Microsoft Azure)와 파트너십을 체결했다. 이로 인해 리스크 블록체인 애플리케이션 플랫폼을 Azure 클라우드에 도입하게 되었다. 마이크로소프트는 첫 번째 단계로, 리스크를 Azure 블록체인에 서비스(BaaS)프로그램으로 공식 통합시킴으로써 전 세계 개발자들이 Azure 클라우드 컴퓨팅 플랫폼과 인프라를 사용하여 리스크 블록체인 앱을 개발, 테스트 및 구축할 수 있도록 했다. 자체 암호화례로 구동되는 이 리스크 플랫폼을 사용하면 전 세계 개발자들이 자바스크립트를 사용하여 자체 맞춤 블록체인을 쉽게 배포하고, 디앱을 프로그래밍 할 수 있다. 주최측은 사물 인터넷, 맞춤 블록체인 배포 및 디앱 개발을 위한 리스크 사용을 위해 안내서 및 ARM 템플릿을 제공할 것이다.[5]

각주

참고자료

같이 보기