2009년 비트코인의 출현 이후 가상화폐의 열풍이 전 세계를 강타하고 있다. 그러나 가상화폐의 기반이 되는 블록체인 기술은 상대적으로 소홀히 다뤄지고 있는 경향이 있다. 이러한 상황에도 불구하고 블록체인 시장은 지속적으로 성장하고 있다. 특히, 정부의 블록체인 기술 육성 정책과 기업에서의 엔터프라이즈 블록체인의 도입 확산으로 인해 블록체인 기술은 대중화 과정에 진입하고 있다. BaaS(Blockchain as a Service)는 기존의 퍼블릭 블록체인의 문제점인 고비용, 저성능 문제를 해결하고  블록체인 기술을 손쉽게 적용할 수 있는 환경을 제공하여 블록체인 대중화를 앞당기는 데 큰 기여를 하고 있다. 본 고에서는 현재 블록체인의 여러 문제점과 주요 동향을 살펴보고 그 해결 방안이자 대중화를 위한 기반 기술로서의 BaaS를 살펴보고 미래를 전망해 본다. 

 

3. 사례 분석 : 람다256의 루니버스 BaaS 분석

람다256에서 개발한 루니버스 BaaS는 많은 디앱 개발사들이 블록체인을 기존 서비스에 빠르게 도입할 수 있도록 멀티 클라우드 인프라와 블록체인 프로토콜, web3 지식 없이 개발할 수 있는 편리한 환경, 토큰 보관이 가능한 지갑 등을 제공하는 종합형 BaaS 플랫폼이다. 특히, 다양한 기능들을 웹 기반의 개발 환경을 통해 처리할 수 있어 블록체인 기술에 대한 이해도가 부족해도 쉽게 사용할 수 있다.
루니버스 메인 화면

루니버스는 크게 아래 2개의 특화 기능으로 구성된다.
1) 비즈니스 특화 기능(Business Feature)은 3가지 수준별로 구성되며, 각 수준 별 활용 엔트포인트를 제공하여, 탄력적인 컴포넌트 구성이 가능하다.
2) 개발/운영 특화 기능(Dev & Ops Feature)은 각 대시보드/운영자 콘솔/개발자 도구 연계 환경을 제공하고, 통합된 보안/컴플라이언스 대응 기능을 제공한다.

각 특화 기능은 다음과 같다.

람다256 루니버스 BaaS 구성도 

3.1 비즈니스 특화 기능 (Business Feature)

(1) 비즈니스 서비스 (Business Service) 고객 비즈니스에 즉시 활용 가능 한 제품형 서비스와 기술자문 및 운영 서비스(Value-Up Kit)를 제공

  • 마케팅(Marketing) : 디지털자산(토큰)을 활용한 마케팅/이벤트/프로모션 서비스
  • DID (App) : 분산인증(DID) 클라이언트(APP) 서비스 (APP 및 SDK형 제공)
  • NFT 마켓플레이스(Marketplace) : 발행된 NFT를 유통하기 위한 채널 플랫폼 제공 서비스
  • 지불결제(Payment) : 가상자산을 활용한 지급/지불/정산/리워드 서비스

(2) 응용 서비스 (Application Service)

루니버스에서 블록체인 어플리케이션을 개발하려면 다음과 같은 과정을 거쳐야 한다.

  1. 블록체인 네트워크를 생성
  2. 어플리케이션용 스마트 컨트랙트를 구현하고 블록체인 네트워크에 배포
  3. 어플리케이션의 함수들을 API 로 정의
  4. 트랜잭션 API 를 이용해서 정의한 API  호출

루니버스를 사용하지 않고 블록체인 어플리케이션을 개발하는 경우 이보다 더 복잡한 과정을 거쳐야 하기 때문에 상기 4단계로 블록체인 학습비용을 줄이고 개발기간을 단축할 수 있다. 추가로 루니버스는  2.의 과정을 생략할 수 있도록 여러 어플리케이션에서 많이 사용하는 기능들을 API 서비스로 제공하고 있다. 루니버스가 제공하는 API 어플리케이션 서비스는 DID, 토큰 , 로열티 포인트(Loyalty Point), 트레이스(Trace), NFT, 브로커리지, 베리파이VASP 등이 있다.

  • 토큰(Token) 서비스 : 블록체인 기반 포인트/토큰 생성 및 관리 서비스
  • DID 서비스 : 블록체인 기반 분산 신원 및 권한 인증 서비스
  • 트레이스(Trace) 서비스 : 트랜젝션 검증 기반의 데이터 위변조 검증 서비스
  • NFT 서비스 : NFT 토큰 발행/관리 및 메타 정보 및 컨텐트 등록/관리 서비스
  • 브로커리지(Brokerage) 서비스 : 디지털자산 연계 형 Fintech 브로커리지 서비스
  • 베리파이(Verify) VASP : 금융사고 방지위한, VASP 사업자간의 트랜잭션 트래벌 룰 검증 프로토콜 서비스
DID(Decentralized Identifier) 서비스DID는 탈중앙화 되어있는 신원 식별자를 관리하는 서비스이다. DID를 통해 개인정보를 스스로 관리하고 필요 시 선택적으로 기관에 제출할 수 있는 자기주권이 가능하다. 루니버스 DID 서비스를 이용하면 사용자는 간단한 설정만으로 DID 서비스에서 사용하는 VC(Verifiable Credential) 과 SDR(Selective Disclosure Request)를 정의할 수 있기 때문에 DID 서비스를 어플리케이션에 쉽게 구현할 수 있다.

트레이스(Trace) 서비스

트레이스는 어플리케이션의 이벤트를 블록체인에 기록하고 조회하는 기능을 제공하며, 어플리케이션에 발생한 이벤트를 블록체인에 기록함으로써 이벤트 발생을 증명하기 위한 서비스이다. 전자계약 시스템과 같은 경우 문서 생성, 문서 조회, 문서 서명등의 이벤트가 발생할 수 있고, 특정 문서를 기준으로 이벤트가 발생한 시간과 내용을 확인하여 증빙 자료로 제출할 수 있다. 트레이스 서비스에서는 사용자들이 별도의 작업없이 API 만을 사용하여 이벤트를 블록체인에 기록하고 조회할 수 있다.

포인트(Point) 서비스
최근 대부분의 서비스들은 사용자에게 다양한 형식의 마일리지 포인트를 보상으로 제공한다. 이러한 마일리지 포인트는 데이터베이스 상에 기록되기 때문에 위변조 되기 쉽다. 그러나 사용자에게 지급되는 포인트를 블록체인의 토큰으로 지급하면 블록체인 특성상 위변조가 불가능하다. 루니버스 로열티 포인트는 블록체인에 대한 지식이 부족한 개발자가 쉽게 블록체인을 이용한 포인트 서비스를 개발할 수 있는 API 서비스를 제공한다.

베리파이VASP(VerifyVASP)

FATF(Financial Action Task Force) 은 가상자산의 자금세탁을 방지하고 테러자금조달을 막기위한 트레벌 규칙(Travel Rule)을 제정하였다. 거래소를 비롯한 VASP(Virtual Asset Service Provider) 들은 타 VASP 로 가상자산을 송금할 때 FATF 트래벌 규칙(Travel Rule)에 따라 상대방의 신원을 확인한다. VASP들이 다른 VASP 와 신원 정보를 직접 주고 받으려면 타 VASP 들이 제공하는 프로토콜에 맞춰야 하기 때문에 구현이 복잡해지고 유지보수도 어려워진다. VerifyVASP 는 이런 문제를 해결하기 위해서 개인정보를 암호화된 형태로 전송해, 가상자산 발송 VASP (originator insitutuion) 과 수신 VASP 만 개인정보를 확인할 수 있는 서비스를 제공한다.

(3) 블록체인 인프라 서비스 (Blockchain Service)

최적화된 블록체인 노드 및 네트워크 구성 자동화, 스마트 컨트랙트 배포 환경을 제공하며, 고객 요건에 따라 인프라 관리 위탁형(Cloud Managed Service) 및 직접 관리형(On-Premise)구성을 지원한다. 다음은 현재 루니버스에서 지원하는 블록체인 프로토콜이다.

  • 루니버스 PoA 사이드체인(Luniverse PoA Side-Chain)
  • 하이퍼레저 페브릭(Hyperledger Fabric) : 하이퍼레저 패브릭은 리눅스재단이 제공하는 오픈소스로, 엔터프라이즈용 블록체인 개발에 적합한 프레임워크를 제공한다.
  • 하이퍼레저 베수(Hyperdeger BESU) : 하이퍼레저 베수는 이더리움 클라이언트를 Java 언어로 구현한 구현체로 IBFT, IBFT 2.0, 이더해시(Etherhash), 클리큐(Clique) 등 다양한 합의 알고리즘을 선택할 수 있다.
  • 이더리움 메인넷 및 테스트넷 : 이더리움 메인넷과 테스트넷에 대한 노드 서비스를 제공한다. 사용자는 이더리움 메인넷과 테스트넷 클라이언트를 설치하지 않고도 RPC 엔트포인트(endpoint) 를 이용하여 이더리움 메인넷과 테스트넷을 사용할 수 있다.

이외에도 루니버스는 블록체인 어플리케이션 개발에 필요한 다양한 기능들을 제공하고 있다.

  • 인프라 : 루니버스는 아마존(Amazon) AWS , NCP(Naver Cloud Platform) 등 멀티 클라우드 환경을 제공한다. 사용자는 AWS 나 NCP 등 원하는 클라우드나 자체 구축한 프라이빗 클라우드에 루니버스에서 제공하는 블록체인을 설치,운영할 수 있다.
  • 컨트랙트 서비스 : DID, 토큰 , 로열티 포인트(Loyalty Point), 트레이스(Trace), NFT 등의 서비스에 필요한 컨트랙트를 자동으로 배포하고, 어플리케이션에 필요한 특화된 컨트랙트도 체인에 배포하여 사용할 수 있다.

서비스 개발용 GUI Tools: 체인 생성과 관리, 컨트랙트 배포, 토큰 배포와 관리 등을 지원하는 UI 를 제공한다.

블록체인 생성

루니버스에서 사용자는 루니버스 메인체인, 루니버스 사이드체인, 이더리움 메인체인등의 체인을 사용할 수 있다. 루니버스 메인체인은 가상자산을 발행하고 가치 관리를 위한 체인으로 LMT(Luniverse Main Token)과 루니버스 NFT(Luniverse Non Fungible Token)를 발행할 수 있다.

사이드체인(Side Chain) 생성

모든 거래 내역을 하나의 메인체인에 기록할 경우 노드가 무거워지고 과부하가 발생하며, 어플리케이션의 간섭이 발생하여 트랜잭션이 지연처리되는 문제 등이 발생할 수 있다. 이러한 문제를 해결하기 위해 루니버스는 LPOA, 하이퍼레저 Besu, 하이퍼레저 패브릭과 같은 다양한 사이드체인을 제공하고 있다. 사용자는 자신의 상황에 맞는 사이드체인을 선택하여 블록체인 어플리케이션을 개발할 수 있다.

루니버스 메인체인에서 발행된 LMT, LNFT 토큰들은 브릿지 기술을 이용하여 사이드체인으로 이동시킬 수 있다. 루니버스 브릿지는 메인체인에서 발행된 토큰을 컨트랙트에 스테이킹하고, 스테이킹된 토큰을 브릿지가 다중서명 방식을 이용하여 사용자가 선택한 사이드체인으로 전송하는 방식을 사용한다. 또한 사이드체인의 신뢰도를 높이기 위해서 앵커링 기술을 사용하여 사이드체인의 블록정보를 주기적으로 메인체인에 업데이트하고 있다.

사이드체인은 기본적으로 3개의 노드로 구성되며 필요시 그 이상의 노드로도 구성할 수 있다. 또한 가용성을 높이고 블록체인의 안정성을 향상시키기 위해서 지리적으로 서로 다른 곳에 위치한 두 지역의 클라우드에 분산 배포하고 있다.

사이드스캔 조회

사이드스캔 상세 화면에서는 현재 사용중인 블록체인의 상세 현황을 조회할 수 있다.

  • 노드수 : 블록체인 네트워크를 구성하는 노드 개수이다
  • 블록 생성 주기(Block Period) : 블록이 채굴되어 생성되는 주기로 루니버스 사이드체인은 1초마다 1개씩 블록을 생성한다.
  • 합의 알고리즘 : 블록체인에서 사용중인 합의 알고리즘으로 Luniverse PoA, IBFT, IBFT 2.0, 클리큐(Clique), RAFT 등이 있다.
  • 클라우드 지역 : 블록체인 노드들이 설치된 클라우드 지역에 대한 정보를 표시한다.
  • 체인 상태 : 블록체인이 현재 상태를 표시하며, 준비중, 실행중, 멈춤 상태중 하나다.

노드(Node) 에 대한 개발 정보

  • 블록체인 네트워크를 구성하는 개별 노드에 대한 상세 정보를 조회할 수 있으며, 노드의 메모리 상태, 디스크 상태 등의 정보를 제공한다.

RPC 엔드포인트(Endpoint) 정보

  • 블록체인 네트워크에 접속하기 위한 RPC 엔드포인트를 제공한다. RPC 엔드포인트는 HTTP 와 WebSocket 방식의 통신 프로토콜을 지원한다.

앵커링(Anchoring) 정보

메인체인에 앵커링된 블록 헤더 정보를 조회할 수 있다. 앵커링된 정보와 실제 사이드체인의 블록 정보를 비교하여 블록 재구성(Reorganization)이 발생했는지 검증할 수 있다. 앵커링된 블록정보와 사이드체인의 블록 정보가 일치하는 경우 해당 사이드체인을 신뢰할 수 있다.

루니버스 토큰(LMT) 발행LMT(Luniverse Main Token)은 루니버스 메인체인에서 발행되는 교환 가능한 토큰이다. 토큰을 발행할 때는 이름, 심벌, 총 발행량, 소숫점 자리수, 초기 발행량 등을 지정할 수 있다. 사용자는 LMT 생성 기능을 이용하여 간단한 입력만으로 루니버스 메인체인에서 LMT 를 발행할 수 있다. 루니버스 사이드토큰(LS) 발행LST(Luniverse Side Token)은 사이드토큰에서 발행되는 토큰으로 메인넷에 스테이킹된 양만큼 발행할 수 있다. LST 를 발행할 때는 이름, 심벌, LMT 와 교환비율 등을 지정한다. 가령 LMT:LST 교환비율을 1:10으로 지정하면 LMT 1개가 스테이킹되면 LST 10개가 신규로 발행되어 LMT 를 스테이킹한 사용자 주소로 신규 토큰이 지급된다.체인 브릿지가 LMT 와 LST 간의 교환을 중재하는 역할을 수행한다. 브릿지는 메인체인과 사이드 체인에 브릿지 전용 컨트랙트를 가각 배포한 후에 컨트랙트에서 이벤트가 발생하면 체인 간 토큰을 교환한다. 루니버스는 민트/번(Mint/Burn) 방식으로 사이드토큰을 지급하며 사이드 토큰을 미리 발급하지 않고 메인체인에서 사이드체인으로 토큰을 전송할 때 사이드 토큰을 신규로 발행하는 방식을 사용한다.  스마트 컨트랙트 배포사용자는 루니버스에서 기본으로 제공하는 토큰 (LMT, LST, LNFT) 이외에 스마트 컨트랙트를 개발하여 자신만의 비즈니스 로직을 구현할 수 있다. 개발된 스마트 컨트랙트는 콘솔을 통해서 사이드체인에 배포할 수 있다. 스마트 컨트랙트가 배포되면, 스마트 컨트랙트의 함수를 이용하여 트랜잭션 액션을 정의할 수 있다. 트랜잭션 액션을 정의하면 REST API 엔드포인트(Endpoint) 가 정의되고 트랜잭션 API 를 통해서 어플리케이션에서 호출할 수 있다.

NFT 발행

NFT는 대체 불가능한 토큰 규격을 말한다. 일반적인 토큰은 보통의 화폐처럼 화폐 하나하나가 다른 가치를 가지지 않는다. 그에 비해 NFT는 박물관에 보관된 화폐 유물처럼 자산 하나하나가 유일한 가치를 가지는 경우에 사용되는 토큰으로 부동산이나 게임 아이템 등 희소가치를 가지고 있는 자산을 디지털 자산화하는데 적합하다. 루니버스에서는 NFT를 발행하고 해당 속성을 관리할 수 있는 API를 제공하고 있다. 사용자는 루니버스 NFT를 이용하여 NFT 컨트랙트를 루니버스 메인체인에 배포할 수 있고, 루니버스 NFT API 를 이용하여 LNFT 토큰을 발급할 수 있다.

루니버스 스캔

루니버스 메인체인과 루니버스 사이드체인의 블록상태를 조회하기 위해서 루니버스는 블록 탐색기인 Luniverse Scan 을 제공한다. 루니버스 스캔에서는 블록에 대한 정보, 트랜잭션 정보, LMT, LST, LNFT 등의 토큰 목록과 트랜잭션 발생현황에 대한 정보를 상세하게 파악할 수 있다. 루니버스 스캔은 공개되어 있기 때문에 scan.luniverse.io 에서 누구나 루니버스 메인체인과 사이드체인의 현재 상태를 확인할 수 있다.

트랜잭션 상세 조회

위 화면은 루니버스 스캔에서 확인한 LMT 전송 트랜잭션의 상세내용이다.

  • Transaction Hash : 이 트랜잭션의 해쉬값
  • Block Height : 이 트랜잭션이 채굴된 블록 번호
  • Timestamp : 블록이 채굴된 시간
  • Statue : 트랜잭션 실행 상태. 성공과 실패중 하나로, 블록체인 트랜잭션이 revert 된 경우 실패로 표시됨
  • Value : 트랜잭션에서 전송한 LUK 양
  • From : 트랜잭션을 서명한 사용자의 EOA(External Owned Account) 주소
  • To : 컨트랙트 함수를 호출한 경우, 컨트랙트 주소

Token Transferred

이 영역에는 토큰에 대한 정보와 실제 토큰을 주고 받은 주소들에 대한 정보가 표시된다.

  • from : 토큰을 전송한 주소
  • to : 실제 토큰을 받은 주소
  • 전송된 토큰양

Input Data

  • Input Data 는 이더리움 트랜잭션의 data 필드에 해당하는 항목으로, 컨트랙트 함수 호출을 위한 함수의 signature 와 해당 함수의 패러미터로 구성된다.

Event Logs

  • 트랜잭션에서 발생한 이벤트에 대한 기록을 표시한다. 이벤트는 트랜잭션에서 발생한 중요 정보를 외부에 전달하기 위한 수단으로 하나의 트랜잭션에서 여러 이벤트가 발생할 수 있으며 발생한 이벤트는 기록된 순서대로 표시한다.

3.2 개발 및 운영 특화 기능 (Dev & Ops Feature)

  • 개발 툴 : 개발자 도구(Solidity등) 연계 인터페이스 및 개발자 포털
  • 아이엠(IAM) : 사용자 접근/권한 제어 및 API 접근 키(Access Key) 관리 기능 제공
  • PKMS 와 볼트(Vault) : Private Key 관리 시스템 및 저장소 제공으로 키유실/유출 방지 서비스 제공
  • 서비스 콘솔(Console) : 각 서비스 수준별 서비스/빌링 대시보드 및 운영/관리 콘솔 UI/UX 제공
  • KYC/AML/FDS : 디지털 자산 규제 당국의 법/규제를 위한 규칙 엔진 및 사전 통합된 인터페이스 제공

마치는 말

비트코인으로 촉발된 블록체인을 통한 혁신은 다양한 영역에서 진행되고 있다. 블록체인 기술은 어느날 갑자기 나타난 기술이 아니라 1980년대 부터 연구되어온 다양한 전산 영역의 창의적인 결과물들의 종합결정체이다. 머클트리 , 해시 암호 , 보안 키관리 , 분산 합의 알고리즘, 디지탈 캐시 등 선대 과학자들의 노력이 주옥처럼 스며들어 있다. 이러한 블록체인 기술은 중간 위치에서 플랫폼을 독점해오고 있는 기존의 플랫폼들에게는 분명 위협적인 존재는 분명하다. 그러나 위협이 아니라 실질적인 대안이 되기 위해서는 현재 블록체인이 안고 있는 고비용, 저성능, 비확장성 문제를 해결하고 보다 손쉽게 블록체인 기술을 이용하기 위한 방법이 필요하다. 이러한 방법으로 BaaS는 클라우드 서비스의 확대와 더불어 더욱 확대, 고도화될 것이다.


Posted by 박재현
,