루니버스

해시넷
leejia1222 (토론 | 기여)님의 2018년 10월 1일 (월) 13:47 판 (참고자료)
이동: 둘러보기, 검색
루니버스(Luniverse) 로고

2018년 5월에 출범한 루니버스(Luniverse)는 업비트를 운영하는 두나무㈜의 블록체인 연구소인 람다256이 만든 블록체인 플랫폼이다. 루니버스의 목표는 누구나 쉽게 블록체인 서비스를 개발 가능하게 하고, 합리적인 비용의 블록체인 서비스를 제공하는데 있다. 개발책임자는 람다256의 박재현 연구소장이다.

루니버스의 특징

누구나 쉽게 블록체인 서비스 개발 가능

루니버스는 고성능의 사이드체인 기반의 디앱(DApp)용 프로덕트 체인을 생성한다. 또한 다양한 블록체인 토큰을 발행하고 유통하는 등의 모든 작업을 웹 응용 툴을 사용하기 때문에 블록체인과 스마트계약에 대한 전문지식이 없어도 손쉽게 수행할 수 있다. 보통 트랜잭션을 구현하기 위해서는 복잡한 스마트계약을 개발자가 직접 작성해야 한다. 그러나 루니버스는 별도의 개발 없이 트랜잭션의 처리 패턴을 선택하고 필요한 변수 값을 입력하면 이를 쉽게 활용할 수 있는 API를 자동으로 생성해 준다. 이 API를 이용하면 기존 웹이나 앱 개발자들도 누구나 쉽게 블록체인 기반의 토큰 이코노미를 구현할 수 있다.

고객사 자체 메인넷 도입을 통한 블록체인 생태계 구축가능

고객사 스스로 자신만의 메인넷을 구축하여 블록체인 생태계를 구축하고자 하는 경우, 루니버스는 프로덕트 체인 이외에도 온프레미스 메인넷 서비스를 제공한다. 가령, 스포츠 분야에서 여러 소속팀들과 함께 블록체인을 운영하면서 독자적인 메인넷 기반의 선수 및 스케쥴 관리와 이에 필요한 토큰을 발행하길 원할 때, 루니버스가 제공하는 메인넷 프로토콜 기술과 거버넌스 도구를 통해 플랫폼을 구축하고 서비스를 운영할 수 있다. 메인넷 외에도 독자적인 디앱 사이드체인 기반의 프로덕트 체인을 구축・활용할 수 있다.

합리적인 비용의 블록체인 서비스 제공

기존의 블록체인 서비스를 개발하고 운영하기 위해서는 상당한 비용이 발생하게 된다. 루니버스를 이용하면 이러한 직간접비용을 모두 부담하는 대신 사용한 만큼만 지불하는 합리적인 비용 구조로 블록체인 서비스를 개발하고 운영할 수 있다.

루니버스의 거버넌스

루니버스 네트워크 람다 컨센선스 알고리즘(LCA, Lambda Consensus Algorithm)에 따라 루미너스 플랫폼에 참여한 파트너들이 모두 공평하게 블록을 생성하고 플랫폼을 운영한다. 현재 LCA는 최대 25개의 파트너사가 블록 검증자가 블록 생성을 라운드로빙 방식으로 수행하는 PoA방식이다. 그러나 PoA에 참여한 검증자들의 신뢰성을 높이기 위해 일정 지분을 스테이킹 하여 루니버스 플랫폼에 해가 되는 행동이나 거버넌스를 위반시 해당 지분을 몰수하는 방식을 기존 PoA에 추가하였다. 모든 검증자들은 루니버스에서 제공하는 PoA 거버넌스 툴을 제공받으며 온체인 활동을 한다. 또한 5명의 구성원으로 오프라인 거버넌스 위원회를 구성하고 다루기 힘든 문제를 해결한다.

루니버스의 구조

루니버스 기본구조

루니버스는 루니버스 메인체인과 사이드체인 기반의 프로덕트 체인간의 유기적인 결합을 통해 작동한다. 이 기반 하에 포탈 계층, API 계층, 서비스 계층, 공통 계층의 4계층으로 구성된다.

루니버스 플랫폼의 4계층

  • 포탈계층 : 루니버스 플랫폼을 이용하기 위해 사용자가 접근하는 계층으로 웹 포탈 또는 REST 및 RPC 기반의 API 형태로 루니버스 플랫폼의 모든 기능을 사용할 수 있다.
  • API 계층과 서비스 계층 : APT 계층은 서비스 로직에 대한 API들로 구성된다. 그리고 서비스 계층에는 비즈니스 로직이 마이크로 아키텍쳐 구조로 개발되어 있으며 이 구조는 블록체인, 토큰, 스마트 계약 보안, 운영, 유틸리티 서비스와 메인 체인과 프로덕트 체인에 대한 것이다.
  • 공통 계층 : 각종 로그 데이터 분석을 위한 분석 서비스들로 구성되어 있다. 이 서비스를 통해 루니버스 플랫폼에서 사용하는 스마트 계약과 빠른 블록체인 조회를 위한 블록 캐시 서버, P2P 파일 서버, 블록 및 네트워크를 분석할 수 있다.

람다 컨센서스 알고리즘 기반의 메인체인

람다 컨센서스 알고리즘은 PoA를 기반으로 한다. 특히 PoA 합의 과정에 참여한 검증자들의 신뢰성을 높이기 위해 일정 지분을 담보로 제공하여 루니버스 플랫폼에 해가 되는 행동이나 거버넌스 위반시 해당 담보 지분을 몰수하는 구조이다. 루니버스 플랫폼에는 사이드체인 기반의 프로덕트 체인 및 토큰 서비스, 계약 보안 측정 서비스, 각종 운영 서비스, 유틸리티 서비스 등 다양한 블록체인 서비스가 작동되고 있다. 사용자는 해당 서비스를 사용하고 사용한 만큼 지불하면 된다.

사이드체인 기반의 프로덕트 체인

루니버스 사용자는 별도의 프로트 체인을 구성하여 토큰 발행을 하고 디앱 서비스를 개발, 운영할 수 있다. 사이드 체인은 서로 다른 블록체인 사이의 신규 자산 발행 및 거래를 안전하게 하는 방법으로 2014년 아담 백의 Enabling Blockchain Innovations with Pegged Sidechains에서 처음 소개되었다.루니버스는 루니버스 메인체인과 연결되는 프로덕트 체인을 구성하고, 사용자의 메인 토큰을 루니버스 메인체인에 안정적으로 발행한 후 이를 프로덕트 체인에 연결한다. 그리고 새로운 프로덕트 토큰을 프로덕트 체인 상에 발행하여 자유롭게 사용할 수 있도록 한다. 또한 사용자가 개발한 스마트계약을 프로덕트 체인에 전개한 후 디앱 서비스를 구축할 수도 있다.

루니버스 플랫폼의 주요 구조적 특징

  • 확장성 : 클라이언트 요청이 증가하더라도 시스템 내부적으로는 처리 지연이나 유실 없이 동일한 성능을 보장할 수 있도록 설계되어야 한다. 이를 위해, 루니버스는 샤딩 기술을 사이드체인에 적용한 체인 샤딩을 지원한다. 이는 하나의 디앱이 성능 확장이 필요할 때 복수 개의 사이드체인을 동시에 사용할 수 있다는 것을 의미한다. 특히, 루니버스 서비스 플랫폼 상에서 수행되는 디앱들은 내부적인 체인 샤딩 구조에 영향을 받지 않도록 함으로써 하나의 논리적인 체인을 사용하는 것과 같다.
  • 고가용성 : 시스템을 구성하는 인프라, 서버 모듈, 외부 시스템은 일부 문제가 발생하더라도 서비스가 중단되어서는 안 된다. 이를 위해, 루니버스 서비스 플랫폼은 시스템 전반적으로 이중화 구성에 기반을 두고 설계되었다. 따라서 루니버스는 시스템 각 구성 요소에 대해서 일부 하드웨어소프트웨어에 대한 일시적 오류나, 외부 시스템 연동 오류와 같은 형태의 문제가 발생하더라도 대체 경로 혹은 대체 시스템을 통해서 서비스가 항시 가능함을 보장하고 있다.
  • 재해복구 : 천재지변 같은 시스템 전면 장애가 발생해도 서비스는 중단되지 않고 작동되어야 한다. 이를 위해서 루니버스 서비스 플랫폼은 재해복구 구성을 별도로 구축하였다. 먼저 운영 시스템 구성과 동일한 중복 구성을 별도의 타국가나 일정거리가 떨어진 타지역에 배치했다. 또한 재해복구 시스템의 경우 평상시에는 가동되지 않고 최소한의 백업/동기화 동작만 수행한다. 응급 상황 발생 시에는 재해복구 시스템이 활성화되어 기존 운영 시스템이 복구될 때까지 클라이언트의 모든 요청을 처리하게 된다.
  • 독립 작업 공간 : 실행되는 각각의 디앱에 대해서 보안을 위해 독립된 작업 공간을 제공하도록 설계되어야 한다. 이를 위해서 루니버스 서비스 플랫폼은 각 고객사 디앱에 대해서 물리적으로 독립된 네크워크, 컴퓨팅, 저장소를 제공함으로써 디앱 전용의 블록체인을 구성한다. 해당 블록체인에 대해서는 사전에 혹은 동적으로 설정 해놓은 특정 디앱 혹은 디앱 그룹만 액세스 가능하도록 플랫폼 차원에서 제어가 가능하다.
  • 안전한 접근 및 키 관리 : 시스템은 기본적으로 내/외부 네트워크 통신 구간 및 데이터 베이스를 포함한 모든 리소스에 대해서 인가된 액세스에 대해서만 허용해야 한다. 특히 사용자 개인 키 분실 및 해킹을 방지하기 위한 기능을 제공해야 한다. 이를 위해서 루니버스 서비스 플랫폼은 하드웨어 보안 모듈 기반의 키 관리 시스템을 여러 개 활용하여 사용자 개인 키 뿐만 아니라 플랫폼 내에서 필요한 데이터 암호화 키를 관리함으로써 내/외부로부터의 침입/위변조 시도에 대한 방어가 가능하다.

루니버스 체인 서비스

루니버스 플랫폼은 사이드체인 기반의 고속의 프로덕트 체인을 제공한다. 이들 프로덕트 체인은 루니버스 컨센서스 알고리즘을 통해 현재 1초 블록 생성 타임에 최대 2,000TPS를 제공한다. 또한 확장성을 위해 해당 프로덕트 체인의 성능이 부족할 경우 추가적인 프로덕트 체인을 구성하고 이를 연결하여 사용하는 체인 샤딩을 제공한다. 또한 위임 모델을 통해 가스비를 제거하여 트랜잭션 실행시 사용자의 비용 부담을 제거함으로써 디앱의 사용성을 개선했다. 더불어, 프로덕트 체인과 루니버스 체인 사이의 앵커링과 루니버스 체인과 이더리움 같은 외부 메인 체인간의 앵커링을 2단계로 제공하여 트랜잭션의 신뢰를 높인다. 그리고, 루니버스 플랫폼에 대한 모든 요청은 글로벌 프록시를 통해 제어하기 때문에 가스비를 제거해도 안정적인 디앱 서비스를 지원한다. 글로벌 프록시 상에서 요청 로그 기반의 패턴을 실시간 분석하여 디도스 공격을 막고, 트로틀링 등 트래픽을 제어하기 때문이다.

루니버스 체인의 주요 기능

고성능

  • 안정적이고 빠른 블록 타임 : 빠른 블록 응답성을 위해 1초의 블록 타임으로 작동한다. 짧은 블록 타임 기반으로 동작하기 위해서는 목표로 하는 성능 수준을 고려한 최적의 사이드 체인 규모를 산정해야 한다. 또한 적당한 수준의 중복성을 고려한 네트워크 토폴로지를 구성해야 한다. 그리고 사이드체인 외부에 대해서는 이웃 노드 탐색을 수행하지 않도록 하는 등의 최적화를 지원한다. 더불어 블록 재구성 발생 확률을 줄이기 위해서 블록 제안 과정에서 검증 노드들 사이에 경합 발생이 최소화 되도록 조절한다.
  • 고성능 트랜잭션 처리량 : 1초 블록 타임 기존으로 블록 생성/제안/전파/합의 과정이 수행될 때 하나의 블록에 가능한 많은 트랜잭션을 포함하여 높은 처리량을 지원한다. 이 때, 너무 많은 트랜잭션을 포함할 경우 블록 전파 및 블록 수신하는 측에서 처리 지연이 발생한다. 때문에 시간이 지날수록 네트워크 전체적으로는 블록체인 재구성이 자주 발생할 수 있다. 루니버스는 최소 성능 1,500TPS, 30분간 임계 최대 성능 2,000TPS의 안정적인 성능을 지원한다.
  • 블록 캐시 : 루니버스 체인과 프로덕트 체인에 대한 부하 경감과, 클라이언트 측에 빠른 응답을 위해 블록 캐시 서비스를 제공한다.
  • 체인 샤딩 : 특정 디앱의 경우 하나의 프로덕트 체인만으로는 모든 사용자 요청을 처리하기 어려운 경우가 있다. 이러한 경우에는 다수의 프로덕트 체인에 걸쳐 체인샤딩을 지원함으로써 성능 제약 문제를 해결할 수 있다. 이 때 루니버스 플랫폼은 디앱 프로비져닝 및 샤드 체인 라우팅 기능을 서비스 차원에서 제공함으로써 디앱은 마치 하나의 체인을 사용하는 것과 동일하게 사용할 수 있다. 이러한 체인 샤딩 구조는 하나의 프로덕트 체인이 하나의 디앱에 전용되는 모델 뿐만 아니라, 하나의 프로덕트 체인이 다수의 디앱들에 의해서 공유되는 멀티터넌트 모델에도 적용된다.

뛰어난 가용성

  • 무료 가스비 : 유저 사용성을 높이기 위해 프로덕트 체인에서는 기본적으로 가스 비용 없이 트랜잭션을 실행한다. 또한, 이로 인해 발생하는 보안 문제 해결을 위해 디도스 탐색 및 방어, 어뷰징 보고, 블랙리스팅 기능을 제공한다. 이를 통해 비정상적으로 많은 EVM 실행을 발생시킨 사용자 계정에 대해서는 추가적인 트랜잭션 실행이 불가능하게 한다.
  • 손쉬운 접근과 사용: 최종 사용자는 전화번호, 소셜ID, 이메일 등을 활용한 쉬운 가입 및 로그인을 할 수 있다. 특히, 송금이나 스마트 계약 실행을 위한 트랜잭션 처리 과정에서 사용자 인증을 위해서 SNS, 생체인증, OTP, PIN과 같은 2FA 수단을 지원하기 때문에 보안이 가능하다.

고신뢰성

허가받지 않은 외부로부터의 액세스가 불가능하도록 설계된 프로덕트 체인은 VPC 네트워크와 방화벽 정책을 통해 임의의 디도스 공격, 위변조 공격 등으로부터 안전하다. 사이드 체인에 대한 투명성 및 신뢰도를 확보하기 위한 목적으로는 “사이드 체인”, <-> “루니버스 네트워크” <-> “이더리움 네트워크”로 이어지는 2단계 상향 앵커링을 수행한다. 이는 각 체인의 블록 구간별 머클 루트값을 상위 체인에 계층적으로 기록함으로써 블록 위변조에 대한 증명을 가능하게 한다. 블록 검증자의 스테킹 기능은 검증자가 네트워크에 해를 끼치는 이상 동작을 수행하는 경우에 나머지 검증자들이 시스템적으로 이를 감지하여 루니버스 메인 체인상에 해당 내용을 기록하도록 한다. 이후, 투표를 통해 스테킹된 자산을 박탈한다.

고운용성

  • 관리 서비스 : 블록 검증자를 위한 거버넌스 도구를 통해서 검증자는 네트워크 상에서 등록되는 각종 안건들에 대해 손쉽게 투표할 수 있다. 이러한 거버넌스 도구는 기본적으로 웹 UI로 제공되기 때문에 편리하다. 이와 별개로 REST 및 RPC방식 인터페이스를 제공함으로써 다양한 클라이언트에서의 투표기능을 지원한다. 블록 탐색기를 제공함으로써 사용자가 손십게 블록 체인 데이터를 조회하고 원하는 데이터를 일반적인 데이터 형식으로 추출할 수 있는 기능 등을 제공한다. 노드 탐색기를 제공함으로써 블록 검증자에게 본인 소유의 노드에 대한 현재 및 과거에 대한 리소스 현황, 크리티컬 이벤트 발생 현황, 블록 생성 주기, 체인 데이터 재구성 발생 현황 등에 대한 기본적인 정보를 확인 할 수 있게 한다. 또한, 현재 및 과거에 발생한 인프라 상의 이벤트나 S/W 버전, 업데이트 이력과 같은 H/W, S/W 측면에서의 형상 변경에 대한 추가 정보도 제공한다. 트래픽 탐색기를 제공함으로써 트랜잭션 요청에 대한 분석/통계 지표를 다양한 메트릭, 차원 기준으로 정제하여 시각화된 화면을 제공한다. 마지막으로 프로덕트 체인에 대한 종합적인 대시보드 서비스를 제공함으로써 프로덕트 체인의 전체 현황을 손쉽게 모니터링하고 대처할 수 있다.
  • 글로벌 프록시 구조 : 요청된 트랜잭션의 위치 정보를 참조하여 글로벌 라우팅을 적용하기 때문에 어느 국가에서 서비스를 이용하더라도 설정된 프로덕트 체인에 빠른 접근이 가능하다. 또한 트래픽 조절 기능을 통해서 각 프로덕트 체인에 대한 트래픽 제어를 한다. 트랜잭션 로깅 및 분석 기능을 수행하여 모든 요청에 대한 분석 데이터를 수집하고 분석한 후 사용자에게 다양한 분석 자료를 제공한다.

참고자료

같이 보기