L U N I V E R S E

현재 너무 많은 퍼블릭 블록체인들이 존재하고 이들 모두 각기 다른 API와 데이터 구조를 사용하고 있기 때문에 이들 퍼블릭 블록체인들을 대상으로 개발을 할 경우 각기 해당 블록체인에 대한 서비스를 직접 개발 해야 합니다. 즉, 이더리움 용 서비스, EOS 용 서비스 처럼 하나의 서비스를 각기 해당 블록체인에 적합한 구조와 API를 사용하여 별도로 개발 해야 합니다. 이 과정에서 개발자들은 블록체인 개발의 어려움과 함께 엄청난 비용을 감당해야 합니다.

이러한 문제점을 해결하기 위해 그 간 블록체인 업계에서는 아이콘, 코스모스 등 서로 다른 블록체인간의 인터체인을 지향하던 프로젝트들이 나왔으나, 이미 기술적 한계를 노출하고 있어 각기 자체 체인들간의 연동으로 방향을 전환된 상태입니다. 실제 각기 다른 API와 데이터 구조를 갖는 이종의 블록체인간의 호환은 표준화된 인터페이스가 만들어 지지 않는 한 불가능합니다. 특히, 블록체인은 직접 데이터가 저장되고 삭제 되는 데이터베이스와 달리 다양한 합의 알고리즘을 통해 처리, 저장되고 일단 저장된 데이터는 불가역적인 성격을 갖기 때문에 이에 대한 처리 방법에 대한 이해와 데이터에 대한 이해가 중요합니다. 그러나 현재 대부분의 블록체인의 개발 API 및 운영, 관리 도구 등은 기본적인 수준에 머물러 있다 보니 서비스 개발시 많은 어려움을 겪고 있습니다. 가령, 트랜잭션의 추적과 디버깅, EVM 등에서 Revert 등의 문제 발생시 이에 대한 원인 파악과 대안 등이 제시되지 않아 서비스 개발시 수많은 어려움을 겪고 있습니다. 근본적으로 이러한 문제점을 해결하기 위해서는 관계형 데이터베이스의 SQL과 같은 표준 인터페이스와 이에 기반한 다양한 블록체인 개발 및 운영 도구가 시급한 상황입니다.

이해가능한 블록체인(Understandable Blockchain)

입출력이 즉시 발생하는 일반 데이터 처리 과정과 달리 블록체인은 트랜잭션 생성 후 합의 과정을 거쳐 트랜잭션이 비동기로 처리되기 때문에 이 처리 과정을 이해하고 처리 결과를 즉시 조회하기 어렵습니다. 따라서 이러한 처리 과정과 처리된 결과 등을 이해하고 관리하기 위해서는 보다 직관적이고 생산적인 환경이 절대적으로 필요합니다. 즉, 블록체인 전체 처리 과정과 데이터를 이해할 수 있어야 그 특징에 맞는 서비스를 효과적으로 개발할 수 있습니다. 특히, 스마트 컨트랙트를 통해 다양한 형태의 데이터 구조와 처리 방식을 정의할 수 있기 때문에 이해가능한 블록체인 환경은 아주 중요합니다.

이해하기 어려운 블록체인의 처리 과정을 효과적으로 이해하고, 해당 블록체인 데이터들을 효율적으로 가공, 분석하여 활용할 수 있는 일련의 환경을 제공하는 블록체인을 이해가능한 블록체인(Understandable Blockchain ,UBC)이라 칭하겠습니다. 이런 UBC 환경을 구축하기 위해서는 블록체인 시각화는 필수 조건이라 생각됩니다.

이해가능한 블록체인(Understandable Blockchain) 환경

블록체인의 시각화는 크게 블록체인 데이터 자체에 대한 시각화와 처리 과정에 대한 시각화로 나뉩니다. 블록체인 데이터 시각화의 경우 블록에 담겨있는 트랜잭션 데이터와 스마트 컨트랙트에 정의된 데이터, 블록간에 연결되어 있는 블록체인, 그리고 네트워크를 통해 연결되어 있는 블록체인 노드들 간에 연결 정보 등을 시각화 기술을 통해 직관적으로 표현함으로써 블록체인을 보다 쉽게 이해하여 생산적인 서비스 개발을 가능하게 합니다.
블록체인 시각화를 위한 대상 블록체인 데이터
블록체인의 시각화는 크게 블록체인 데이터 자체에 대한 시각화와 처리 과정에 대한 시각화로 나뉩니다. 블록체인 데이터 시각화의 경우 블록에 담겨있는 트랜잭션 데이터와 스마트 컨트랙트에 정의된 데이터, 블록간에 연결되어 있는 블록체인, 그리고 네트워크를 통해 연결되어 있는 블록체인 노드들 간에 연결 정보 등을 시각화 기술을 통해 직관적으로 표현함으로써 블록체인을 보다 쉽게 이해하여 생산적인 서비스 개발을 가능하게 합니다.
  • 블록체인 내부 데이터 정보: 블록, 블록 리스트, 트랜잭션, 트랜잭션 리스트, 스마트 컨트랙트 내 데이터
  • 블록체인 네트워크 정보: P2P 네트워크 노드 통계, 마이닝 또는 벨리데이터
  • 블록체인 단방향 연결 구조: 트랜잭션 정보들이 모여 블록을 이루고, 블록이 생성 시간 순으로 연결
  • 블록체인 노드 정보: 노드 종류, 가동 시간 등 노드 현황 정보
블록체인 데이터를 활용하기 위해서는 기본적으로 검색과 분석 기능이 필요합니다. 특히, 분석의 경우 자산의 흐름에 대한 분석과 추적, 컨트랙트의 실행 과정에 대한 추적과 예외 상황에 대한 분석 등이 중요합니다. 루니버스나 이더리움처럼 컨트랙트를 지원하는 블록체인의 경우, 스마트 컨트랙트를 통해 다양한 데이터를 자동으로 수집, 가공하여 블록체인 상에 저장하고 가공할 수 있기 때문에 블록체인 데이터의 분석과 분석된 데이터의 시각화는 아주 중요합니다.
블록체인 분석 데이터의 시각화 대상
  • 컨트랙트 데이터 분석 — 함수 호출 내역, 스토리지 내 데이터 조회 등
  • 트랜잭션의 데이터 분석 — 자산의 이동 현황 등
  • 검색 후 처리 결과에 대한 시각화 — 처리된 트랜잭션, 지연된 트랜잭션 등

블록체인 데이터의 시각화와 더불어 블록체인 처리 과정에 대한 이해도 중요합니다. 예측 불가능하고 비동기로 처리되는 트랜잭션의 처리 과정을 이해하고 모티터링함으로써 블록체인 특성을 효율적으로 반영하는 서비스 개발이 가능해 집니다.

블록체인 처리 과정의 시각화
  • 트랜잭션과 컨트랙트 처리 과정 추적 — 예외 상황 추적 및 원인 파악, 트랜잭션 Queue 모니터링(Pending Queue, Debug, Trace, Revert)
  • 블록체인 블록 생성 과정 이해 — 마이너 또는 벨리데이터의 합의 과정 모니터링
특히, 개발자의 경우 트랜잭션과 스마트 컨트랙트 처리 과정에 대한 추적은 무척 중요합니다. 트랜잭션의 처리 과정에 대한 추적을 통해 블록체인 서비스 개발시 어려운 디버깅 기능과 다양한 오류 발생의 원인 파악 등이 가능하기 때문입니다.

Understandable Blockchain 사례들

현재 Bit bonkers, Bitcoin City, Binodes, Daily blockchain, Live globe, 루니버스 등이 부족하지만 UBC를 지향하는 서비스들입니다. 특히, 루니버스는 개발 과정을 보다 쉽게 이해함으로써 생산성을 높이는 데서 출발하여 데이터 및 프로세스에 대한 시각화로 더 이해하기 쉬운 블록체인 영역으로 넓혀 나가고 있습니다.

1. Bit bonkers
Bitbonkers는 실시간으로 블록체인 상의 비트코인 트랜잭션을 시각화하여 보여줍니다. 트랜잭션이 체결될 때마다 형형색색의 볼(ball)이 정사각형 플레이트 아래로 떨어지며 해당 볼을 클릭하면 자세한 트랜잭션 정보를 확인 할 수 있습니다. 플레이트 위에 있는 정사각형의 큐브(cube)는 마지막으로 채굴된 블록을 나타냅니다.
2. Bitcoin City

BitcoinCity는 아직 컨펌 되지 않은 블록에 비트코인 트랜잭션 정보를 작은 도시 이미지 형태로 도식화하여 보여줍니다. 도로 양 옆의 건물들을 클릭하면 각각의 트랜잭션 내역을 확인 할 수 있습니다.

3. Binodes
Bitnodes는 전 세계 비트코인 노드의 분포도를 시각화하여 보여줍니다. 글을 작성하는 현 기준으로 약 11,000개의 노드가 있으며, 미국, 독일 순으로 가장 많은 비트코인 노드를 운영 중에 있습니다.
4. Daily blockchain

Daily blockchain은 blockchain.info API를 오픈 소스 vivagraph.js 라이브러리를 통해 컨펌되지 않은 비트코인 트랜잭션을 네트워크 형태로 시각화합니다.

5. Live globe
지구모형의 WebGL은 비트코인 트랜잭션 정보를 실시간으로 추적해서 3d 형태로 시각화하여 보여줍니다.
6. Luniverse

루니버스는 생산성 높은 개발 및 분석 도구를 제공하여 트랜잭션 요청에 대한 분석 및 통계 지표를 다양한 매트릭스 차원에서 간편한 GUI 툴로 제공합니다.

UBC 구현을 위한 참조 모델

UBC 구현을 위해서는 퍼블릭, 프라이빗, 컨소시엄 체인 등 다양한 형태의 블록체인 데이터를 연결 후 해당 데이터를 in-memory 형태로 올려놓고, 이를 빠르게 분석하고 시각화할 수 있는 자바스크립트 프레임워크(API 포함)와 GUI 도구 제공이 필요합니다. 현재 빅데이터 분야의 경우 SAS 비주얼 애널리틱스, Tableau, D3 등이 널리 사용되는 데 UBC도 이와 유사한 구성으로 개발 중에 있습니다.
향후 과제
기술의 대중화를 위해서는 해당 기술을 쉽게 이용하고 활용할 수 있게 해주는 환경이 절대적으로 필요합니다. 개발자에게 생산적인 개발 도구가 필요하듯이 사용자와 관리자에게도 기술을 이해하고 활용하게 해주는 도구와 기술이 절대적으로 필요합니다. 현재 이해가능한 블록체인 환경을 위해서는 스마트 컨트랙트를 활용한 데이터 활용 방법에 대한 기술과 블록체인의 특성을 고려한 시각화 방법에 대한 연구가 필요합니다.
  • 스마트 컨트랙트를 통한 데이터 수집, 분석, 공유
  • 블록체인의 특성을 고려한 다양한 시각화와 도구
지금까지 이해가능한 블록체인의 필요성과 현황, 향후 과제 등에 대해 살펴보았습니다. 블록체인 기술을 보다 쉽게 사용하고 이를 대중화하기 위해서는 이해가능한 블록체인 환경(Understandable blockchain)이 절대적으로 필요합니다. 2020년 람다256은 루니버스를 이해가능한 블록체인으로 구축하기 위한 많은 노력을 경주할 것입니다.

Get Started!

Enterprise Solutions for Blockchain Development, Operation, and Service Enterprise Solution
Share on facebook
Facebook
Share on twitter
Twitter
Share on linkedin
LinkedIn

Related Posts

4F, 14 Teheran-ro 4-gil, Gangnam-gu, Seoul, Korea, 06232
Ceo. Park Jaehyun
Business Registration No. 694-86-01434
Online Marketing Report No. 2019-Seoul Gangnam-02255

ⓒ Lambda256 Inc, All Rights Reserved.