리스크
리스크(Lisk)는 자바스크립트(JavaScript) 기반의 노드제이에스(node.js) 언어로 만든 암호화폐이다. 마이크로소프트와 제휴하여 애저(Azure) 클라우드 서비스에서 이용할 수 있다. 위임지분증명(DPoS) 방식의 합의 알고리즘을 사용한다. 사이드체인 기술을 사용했다. 리스크의 화폐 단위는 LSK이다. 리스크의 창시자는 맥스 코덱(Max Kordek)이다. 본사는 스위스 추크(Zug)에 있다. 2018년 7월 기준으로 리스크의 시가총액은 5억 5천만 달러, 약 5,900억원으로서 26위이다.
목차
개요
리스크는 퍼블릭 블록체인을 위한 디앱 플랫폼이다. 리스크는 메인체인에서 분기된 사이드체인이라는 별도의 체인을 사용한다. 목적은 사람들이 오픈 소스인 리스크 플랫폼 안에서 쉽게 자신만의 디앱을 만드는 것이다. 이러한 활용성을 위해 세계에서 가장 일반적으로 사용되는 프로그래밍 언어인 자바스크립트를 사용한다. 자바스크립트로 작성된 사이트체인 개발 도구(SDK, Sidechain Development Kit)를 제공하는 것도 이런 이유에서이다. 2016년 3월 ICO를 통해 14,009 BTC, 당시 가격으로 580만 달러를 성공적으로 유치했다. 총 발행량은 1억 1천5백만 개이다.
특징
리스크를 이용하면, 자체 블록체인 네트워크 및 LSK 토큰을 기반으로 개발자가 디앱(DApp)을 구축하고, 사용자 정의 토큰을 포함하여 리스트 네트워크에 링크된 자체 사이드체인을 배포할 수 있다. 사이드체인의 확장성과 유연성 덕분에 개발자는 블록체인 디앱을 완전히 구현하고 원하는 대로 만들 수 있다. 리스크는 SDK, 사용자 경험, 개발자 지원, 심층 문서화 및 리스크 아카데미에 초점을 맞춰 블록체인 기술을 보다 쉽게 이용할 수 있도록 하는 것을 목표로 한다. 리스크 네트워크는 민주적으로 선출된 대의원에 의해 움직이는 위임지분증명(DPoS) 합의 모델을 사용하여 운영된다.
자바스크립트
리스크의 가장 큰 장점은 자바스크립트 기반의 노드제이에스(Node.js) 프레임워크를 사용한다는 것이다. 자바는 널리 사용되는 언어이기 때문에 리스크 개발을 위해 굳이 새로운 언어와 방법을 배울 필요 없이 바로 디앱 개발에 참여할 수 있다. 이는 자체 언어를 사용하는 여타 암호화폐들과 차별화를 통해 프로그래머들이 보다 쉽게 블록체인 앱 개발을 시도할 수 있도록 접근성을 높인 전략이다. 이렇듯 토큰 개발자들은 자바만의 장점인 개발 용이성과 확장성, 호환성 등을 활용하여 디앱을 개발을 할 수 있다.
클라우드 서비스
2016년 초에 리스크는 자바스크립트 애플리케이션 개발을 위해 마이크로소프트와 파트너십을 체결하고, 애저(Azure) 클라우드 서비스를 이용하기로 했다. 이로 인해 리스크 블록체인 애플리케이션 플랫폼을 마이크로소프트 애저(Azure) 클라우드에 도입하게 되었다. 마이크로소프트는 첫 번째 단계로, 리스크를 애저 블록체인에 바스(BaaS, Blockchain as a Service) 프로그램으로 공식 통합시킴으로써, 전 세계 개발자들이 애저 클라우드 컴퓨팅 플랫폼과 인프라를 사용하여 리스크 블록체인 앱을 개발, 테스트 및 구축할 수 있도록 했다. 자체 암호화폐로 구동되는 이 리스크 플랫폼을 사용하면 전 세계 개발자들이 자바스크립트를 사용하여 자체 맞춤 블록체인을 쉽게 배포하고, 디앱을 프로그래밍할 수 있다. 주최측은 사물 인터넷, 맞춤 블록체인 배포 및 디앱 개발을 위한 리스크 사용을 위해 안내서 및 ARM 템플릿을 제공할 것이다.[1]
위임지분증명
리스크는 위임지분증명(DPoS)이라는 합의 알고리즘을 기반으로 한다. 위임지분증명은 블록을 만드는 대의원을 기반으로 한다. 대의원은 '활동하는 대의원'으로 뽑힌 신뢰할 수 있는 계정이다. 가장 많은 표를 얻은 101명의 대의원이 블록을 생성한다. 이렇게 뽑힌 101명의 대의원에게만 합의 권한이 주어진다. 다른 대의원들은 '대기자 대의원'으로 표시되며, 다른 리스크 소유자로부터 투표를 받아 상위 101명 안에 들면 활동하는 대의원으로 진출할 수 있다. 101표 각각의 가중치는 사용자가 표를 던지는 지갑에 넣은 리스크 금액에 비례한다. 이들은 적극적으로 네트워크를 만들고 보안을 유지하는 역할을 한다.
상위 101위로 승격되거나 대기 리스트로 강등되는 경우 101개의 블록 생성 사이클이 완료된다. 각각의 101개 블록 사이클은 상위 101개의 대의원에 의해 무작위로 만들어진다. 1개의 블록이 생성되는 시간은 10초이다. 새로 생성된 블록은 네트워크로 브로드캐스트되고 블록체인에 추가된다. 6~10건의 블록에 대한 확인이 끝나면 정상적인 블록인 것으로 간주한다. 전체 101개 블록의 생성 주기는 약 16분이 소요된다.
성공적으로 새로운 블록을 생성한 경우 그에 따른 보상 시스템이 구동된다. 첫 해는 블록당 5 LSK가 주어지고, 이후에는 3,000,000 블록마다 1 LSK씩 감소하며, 5년 후에는 블록당 보상이 1 LSK로 고정된다. 대표자들은 공정하게 이와 같은 보상을 나눠가지는 것이다. 이렇듯 리스크 토큰은 꾸준히 추가로 발행될 것이고, 이는 리스크가 인플레이션 통화라는 것을 의미한다.[2]
사이드체인
리스크의 가장 큰 특징이자 장점은 사이드체인(sidechain) 기술을 성공적으로 개발하여 적용했다는 점이다.
사이드체인의 도입 배경
사이드체인 기술은 기존 블록체인이 해결하지 못한 데이터 처리 양 문제를 해결하기 위해 도입되었다. 비트코인 블록체인의 장점은 모든 노드가 모든 거래내역을 함께 공유한다는 것이다. 그러나 이렇게 거래가 계속 진행될수록 공유하는 데이터의 양이 너무 많아진다는 문제점이 생겼다. 비트코인에서 지금까지 사용한 블록체인의 데이터 양만 하더라도 엄청나다. 게다가 이더리움의 스마트 계약이 포함된 블록체인의 경우, 송금 거래내역 외에도 수많은 디앱 데이터까지 더해져 거래양이 기하급수적으로 증가하여 거래 속도 저하 등 여러 가지 시스템적 문제가 발생하고 있다. 이 때문에 알트코인들은 이러한 문제점을 보완하기 위해 많은 방안을 제시하고 있다.
이더리움의 경우, 현재 이러한 블록 데이터의 양을 어떻게 처리하는가가 가장 중요한 문제이다. 이를 위해 이더리움이 채택한 방법 중 하나가 샤딩이다. 샤딩(sharding)이라는 단어의 뜻은 어떤 물체의 조각을 의미한다. 즉, 블록에 저장된 데이터를 조금씩 조각을 내어 서로 다른 곳에 나누어 분산해 보관하는 기술이다. 기존의 블록체인 기술은 트랜잭션을 나눠서 처리하지 않고 모든 연산을 실행하는 직렬 처리 방식으로서 처리 속도가 느렸다. 반면 샤딩은 대용량의 데이터를 처리하기 위해 테이블을 영역별로 수평 분할하여 데이터를 분산 저장하고 처리한다. 샤딩을 사용하면 초당 처리 가능한 거래의 양을 극대화할 수 있다. 이처럼 증가하는 거래량에 비례해서 생겨나는 거래 데이터를 처리하기 위해 수많은 알트코인들은 자신들만의 방법을 제시하고 있다. 그리고 이러한 문제를 해결하기 위해 리스크가 제시한 방법이 바로 사이드체인(sidechain)이다.
사이드체인의 구조
리스크의 구조는 메인체인과 사이드체인으로 이루어진다. 메인체인은 각각의 사이드체인 프로젝트를 등록해주는 역할을 하고, 사이드체인은 별도의 블록체인을 파생시켜 이를 기반으로 디앱 개발이 가능한 환경을 제공한다. 리스크를 이용하려는 개발자는 각각의 디앱 용도와 개별 아이템의 특성을 살려서, 다양한 속성을 가진 사이드체인을 설계할 수 있다.
개발자는 하나의 메인체인을 설정하고 디앱별로 별도의 사이드체인을 만들어서 각각 원하는 대로 제작하여 사용할 수 있다. 만들어진 사이드체인의 블록 해시는 결국 메인체인과 연결되기 때문에 전체적인 체인의 통합은 유지된다. 즉, 메인체인에서는 블록체인 고유의 기능인 블록 생성, 검증 등을 포함한 보안성과 안정성을 제공하고, 사이드체인에서는 디앱 개발, 관리 등을 전문적으로 수행하여 전체 블록체인이 원활하게 돌아가게 하는 것이다. 사이드체인 개발은 리스크의 메인 네트워크나 다른 어떠한 사이드체인을 방해하지 않는다. 사이드체인은 모든 디앱의 데이터를 메인 블록체인에 다 올리지 않아서 메인 블록체인의 데이터를 최소화하기 때문에 보다 빠른 속도로 확장성을 갖는다.
디앱 토큰
개발자는 디앱에서 자신이 원하는 토큰(token)을 만들어 주요 통화로 사용할 수 있다. 이러한 토큰은 LISK 또는 BTC와 같은 방식으로 사용될 수 있지만 토큰은 하나의 디앱 사이드체인에서 다른 디앱 사이드체인으로 직접 이동할 수 없다. 토큰은 리스크의 메인 체인을 통해서만 이동해야 한다. 무엇보다 각각의 사이드체인에서 자체적으로 코인을 발행할 수 있기에 자신의 트랜잭션 비용을 관리할 수 있다. 사이드체인을 최대한 활용하려면 토큰을 통합하여 사이드체인의 기능 및 관련 비용을 지불하는데 사용하면 된다. 커뮤니티는 사이드체인을 사용하기 위해 더 이상 여러 개의 토큰이나 암호화폐를 보관할 필요가 없기 때문에 그들의 토큰으로도 이익을 얻을 것이다.[2]
만일 만들어진 몇몇의 디앱이 문제를 일으키거나 해킹을 당하고 체인에 과부하가 걸리는 등의 경우에도 각각의 사이드체인으로 존재하기 때문에 다른 사이드체인에는 영향을 주지 않는다. 메인 체인에 영향을 미치는 악성 코드에 대해서도 걱정하지 않아도 된다. 하나로 연결된 블록체인에 비해 위험성이 분산되어 있는 것이다. 또, 리스크에서 제공하는 군용 등급 암호화인 Ed25519 체계를 사용함으로 플랫폼을 보호할 수 있다.
사이드체인 생성 방법
사이드체인을 만드는 것은 리스크 플랫폼에서 디앱을 개발하는 첫 번째 단계이다. 리스크 커맨더용 사이드체인 모듈을 사용하자마자, 명령행 인터페이스를 사용하여 사이드체인 개발을 쉽게 할 수 있다. 리스크 커맨더는 암호화된 안전한 첫 블록을 만들거나 중요한 사이드체인 구성 요소를 묶어주는데 도움을 준다. 이 구성 요소에는 효율적인 P2P 웹소켓 전송 레이어 또는 표준화된 계정 원장 시스템과 같은 리스크 코어의 필수 요소가 포함된다.
사이드체인 구축을 위해 필요한 또 다른 도구는 리스크 요소(Lisk Elements)이다. 리스크 요소는 합의 알고리즘, 사전 정의된 트랜잭션 유형 및 API와 같은 많은 유용한 라이브러리 모음이다. 중요한 사이드체인 부분은 공유 암호화를 획득하고, 확장 가능한 API 및 확장 가능한 트랜잭션 유형을 갖기 위해 리스크 요소에서 가져온 것들이다. 이렇듯 리스트 커맨더, 리스크 요소, 리스크 코어의 지원으로 사이드체인을 만들 수 있다.[3]
사이드체인 개발 도구(SDK)
사이드체인 개발 도구(SDK, Sidechain Development Kit)는 블록체인 응용 프로그램을 프로그래밍하기 위한 모듈 모음을 제공한다. SDK는 리스크 커맨더, 리스크 요소, 리스크 코어 및 리스크 허브의 4가지 강력한 도구로 구성되어 있고, 각 도구마다 고유한 역할이 있다.
- 리스크 커맨더(Lisk Commander) : 리스크 코어 API에 대한 CLI이다. 사이드체인을 부트스트랩(bootstrapping)하고 관리하는 것을 돕는다.
- 리스크 요소(Lisk Elements) : 공유된 암호화, API 표현, 로컬 서명을 위한 트랜잭션 로직 및 생태계에 대한 중요 상수와 같은 라이브러리 모음이다.
- 리스크 코어(Lisk Core) : 리스크의 주요 네트워크 블록체인 데이터에 액세스하거나, 네트워크 인프라를 보호하고, 대의원 구축을 위한 접근을 얻는 고급 기술 사용자를 위한 도구이다.
- 리스크 허브(Lisk Hub) : 리스크 아이디(ID)를 관리하고, 리스크 토큰을 액세스하여 전송하고, 대의원에게 투표할 수 있는 올인원 솔루션이다. 이전 지갑과 블록체인 탐색기의 기능을 결합했다.
앞으로 리스크에는 탈중앙 분산형 암호화폐 거래소(DEX), 사이드체인 등록 및 자체 ICO 출시 기능 등이 탑재될 예정이다.[4]
각주
- ↑ "Lisk establishes Partnership with Microsoft Azure for JavaScript App Development", Lisk Blog, 2016-03-16
- ↑ 2.0 2.1 Max Kordek, "Lisk Whitepaper", Github, 2016-03-24
- ↑ "Create your own blockchain", Lisk
- ↑ 출처 : 리스크 공식 홈페이지 - http://www.lisk.io
참고자료
- 리스크 공식 홈페이지 - https://lisk.io/
- Max Kordek, "Lisk Whitepaper", Github, 2016-03-24
- "Lisk establishes Partnership with Microsoft Azure for JavaScript App Development", Lisk Blog, 2016-03-16
- 비트웹 편집국, 〈리스크 - 높은 호환성, 개발 용이성〉, 《비트웹》, 2018-02-03
- 머니넷 지음, 〈#24 - 리스크(LSK)〉, 《알면 돈 되는 알트코인 30선》, 위클리비즈, 2018년 2월
같이 보기