KR20200101504A - 블록체인 상의 정보를 제공하는 방법 및 장치 - Google Patents

블록체인 상의 정보를 제공하는 방법 및 장치 Download PDF

Info

Publication number
KR20200101504A
KR20200101504A KR1020190011470A KR20190011470A KR20200101504A KR 20200101504 A KR20200101504 A KR 20200101504A KR 1020190011470 A KR1020190011470 A KR 1020190011470A KR 20190011470 A KR20190011470 A KR 20190011470A KR 20200101504 A KR20200101504 A KR 20200101504A
Authority
KR
South Korea
Prior art keywords
blockchain
information
chain
condition
chain information
Prior art date
Application number
KR1020190011470A
Other languages
English (en)
Other versions
KR102170454B1 (ko
Inventor
이현우
박해민
김준우
Original Assignee
주식회사 크로스앵글
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 크로스앵글 filed Critical 주식회사 크로스앵글
Priority to KR1020190011470A priority Critical patent/KR102170454B1/ko
Publication of KR20200101504A publication Critical patent/KR20200101504A/ko
Application granted granted Critical
Publication of KR102170454B1 publication Critical patent/KR102170454B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

본 개시의 일 실시예에 따른 블록체인의 정보를 제공하는 방법에 관한 것이다. 이러한 방법은, 블록체인 상의 온체인(on-chain) 정보를 수집하는 단계, 블록체인 상의 온체인 정보와 블록체인에 대한 분석보고서에 포함된 정보와 연관시키는 단계 및 연관된 온체인 정보를 기초로 블록체인에 대한 분석보고서를 자동적으로 생성하는 단계를 포함한다.

Description

블록체인 상의 정보를 제공하는 방법 및 장치{METHOD FOR PROVIDING INFORMATION ON BLOCKCHAIN AND DEVICE FOR PERFORMING THE SAME}
본 개시는 블록체인 상의 정보를 수집하고, 수집된 정보를 기초로 분석보고서를 제공하거나 알림을 제공하는 방법 및 그러한 방법을 실행하는 서버 장치에 관한 것이다.
블록체인(blockchain) 기술은, 네트워크 통신상에서 이루어지는 거래내용을 신뢰성 있고 안전한 방법으로 기록하고 저장하는 기술이다. 블록체인 네트워크는, 디지털화된 자산이나 거래내역(transaction)의 교환이 가능한 분산 환경의 시스템으로, 공유된 장부(ledger)를 이용하여 P2P(peer-to-peer) 네트워크에서 발생되는 전자적 거래 내역의 이력을 기록한다. 블록체인 네트워크는, 이러한 탈중앙화된 구조와 합의 알고리즘을 이용하기 때문에, 제3자에 의한 거래내역의 위변조가 사실상 불가능하게 되어, 거래 내역의 신뢰성과 투명성을 보장할 수 있다. 또한, 이러한 블록체인 또는 블록체인 네트워크 상의 모든 데이터는 익명화되어 공개된다.
이러한 블록체인 네트워크 기반의 전자 금융거래 시스템이자 새로운 화폐로서 암호화폐가 최근 들어 널리 거래되고 있다. 이러한 암호화폐는 서버-클라이언트 방식 대신 이용자들끼리 수평적으로 상호 연결되는 P2P 구조로 설계되어 있으며, 암호화폐의 발행 및 거래 내역은 중앙 서버가 아니라 블록체인을 구성하는 노드들에 블록으로서 분산 저장된다. 암호화 화폐와 연관된 블록체인상의 블록의 모든 정보는 익명화되어 공개되어 있기 때문에, 암호화 화폐에 대한 발행, 거래 내역 등 관련 정보가 공개되어 있다. 다만, 블록체인 상의 노드들은 분장 역할로서 설계되어 있기 때문에, 온체인 정보에 대한 대량의 쿼리를 통해 온체인 정보를 추출해내는 것이 어렵다.
한편, 기존의 자본 시장에서 발행된 주식 또는 채권 등과 같은 종목 보고서는, 과거의 데이터를 기초로 작성되었다. 이는 기본의 자본 시장에서 발행된 주식 또는 채권과 같은 종목에 대한 정보는 완전히 공개되어 있지 않을 뿐만 아니라, 공개되었다고 하더라도 접근성이 떨어지기 때문이다.
본 개시에 따른 방법은 온체인 정보를 수집하여 분석 보고서 상에 포함되는 정보와 연관시켜서 블록체인에 대한 분석 보고서를 자동으로 생성하는 방법에 관한 것이다. 이러한 본 개시에 따른 방법을 통해 실시간으로 생성되거나 업데이트된 분석 보고서를 사용자에게 제공할 수 있다.
본 개시의 일 실시예에 따른 블록체인의 정보를 제공하는 방법은, 블록체인 상의 온체인(on-chain) 정보를 수집하는 단계, 블록체인 상의 온체인 정보와 블록체인에 대한 분석보고서에 포함된 정보와 연관시키는 단계 및 연관된 온체인 정보를 기초로 블록체인에 대한 분석보고서를 자동적으로 생성하는 단계를 포함한다.
본 개시의 일 실시예에 따른 블록체인 상의 정보 제공 방법의 블록체인의 상의 온체인 정보를 수집하는 단계는, 블록체인에 대한 분석보고서에 포함된 정보와 연관된 온체인 정보를 실시간으로 수집하는 단계를 포함할 수 있다.
본 개시의 일 실시예에 따른 블록체인 상의 정보 제공 방법은 사용자 단말기로부터 블록체인 상의 지표에 대한 조건을 수신하는 단계를 더 포함할 수 있고, 블록체인 상의 온체인 정보를 수집하는 단계는 수신된 조건을 블록체인으로부터 검색하여 조건과 연관된 정보를 수집하는 단계를 포함할 수 있다.
본 개시의 일 실시예에 따른 블록체인 상의 정보 제공 방법의 블록체인 상의 온체인 정보를 수집하는 방법은, 블록체인에서 제공되는 이벤트 로그에 후킹하여 블록체인 상의 블록에 대한 이벤트 발생 시 통지받는 단계를 포함할 수 있다.
본 개시의 일 실시예에 따른 블록체인 상의 정보 제공 방법의 온체인 정보를 수집하는 방법은, 블록체인의 온체인 정보를 검색이 가능하도록 인덱싱하여 데이터베이스를 구축하는 단계를 포함할 수 있다.
본 개시의 일 실시예에 따른 블록체인 상의 정보 제공 방법의 인덱싱하여 데이터베이스를 구축하는 단계는, 수집된 온체인 정보를 작업 큐(job queue)를 사용해서 스케줄링하고, 비동기로 인덱싱을 실행하는 단계를 포함할 수 있다.
본 개시의 일 실시예에 따른 블록체인 상의 정보 제공 방법은, 사용자 단말기로부터 블록체인 상의 지표에 대한 조건을 수신하는 단계 및 수집된 온체인 정보가 수신된 지표에 대한 조건을 만족하는 경우, 수신된 지표에 대한 조건이 만족되었음을 알리는 제1 알림을 사용자 단말기로 통지하는 단계를 더 포함할 수 있다.
본 개시의 일 실시예에 따른 블록체인 상의 정보 제공 방법의 사용자 단말기로부터 블록체인 상의 지표에 대한 조건을 수신하는 단계는 블록체인에 대한 분석 보고서의 지표에 대한 조건을 수신하는 단계를 포함하고, 제1 알림을 사용자 단말기로 통지하는 단계는, 수집된 온체인 정보가 블록체인에 대한 분석보고서의 지표에 대한 조건을 만족하는 경우, 블록체인에 대한 분석보고서의 지표에 대한 조건이 만족되었음을 알리는 제2 알림을 통지하는 단계를 포함할 수 있다.
본 개시의 일 실시예에 따른 블록체인 상의 정보 제공 방법은 온체인 정보에 대응되는 학습 정보를 인공신경망에 입력하여 기계학습을 수행함으로써 이상 감지 모델을 생성하는 단계, 수집된 온체인 정보 중 사용자로부터 수신된 블록체인 상의 지표에 연관된 온체인 정보를 이상 감지모델에 입력하여 평소 패턴과 상이한 패턴을 나타내는 이상 감지가 있었는지 여부를 판정하는 단계 및 이상 감지가 있었다고 판단되는 경우, 사용자 단말기로 블록체인 상의 지표에 대한 이상 감지가 발생되었다는 제3 알림을 통지하는 단계를 포함할 수 있다.
본 개시의 일 실시예에 따른 블록체인 상의 정보 제공 방법의 온체인 정보는, 블록체인 상에 동작되는 스마트 컨트랙트의 함수 실행 데이터, 스마트 컨트랙트의 생성 정보, 블록체인 상의 어카운트 정보, 블록체인 상의 트랜잭션 정보, 블록체인과 연관된 토큰의 소유 정보 및 블록체인과 연관된 토큰의 identity 정보 중 적어도 하나를 포함할 수 있다.
또한, 상술한 바와 같은 블록체인 상의 정보를 제공하는 방법을 구현하기 위한 프로그램은 컴퓨터로 판독가능 저장매체에 기록될 수 있다.
또한, 상술한 바와 같은 기계학습을 이용한 텍스트-음성 합성 방법과 연관된 장치 및 기술적 수단 등을 또한 개시할 수 있다.
본 개시의 일부 실시예에 따르면, 블록체인에 대한 분석 보고서에 포함된 정보와 매칭되는 온체인 정보를 실시간으로 수집할 수 있으며, 실시간으로 수집된 온체인 정보를 기초로 작성되는 분석 보고서도 실시간으로 생성되어 사용자에게 제공될 수 있다.
또한, 본 개시의 일부 실시예에 따르면, 블록체인의 지표 또는 블록체인 자산에 대한 분석보고서 상의 지표에 대해 온체인 정보를 연관시켜서 실시간으로 업데이트함으로써 분석 보고서 내의 정보를 열람 시점에 실시간으로 연동시킬 수 있다. 이에 따라, 기존의 시장 분석보고서보다 최신의 정보를 사용자에게 제공하기 때문에, 신뢰도가 높고 사용자의 안정적인 자산관리에 도움을 줄 수 있다.
또한, 본 개시의 일부 실시예에 따르면, 블록체인 상의 대량의 온체인 정보를 검색 가능하도록 인덱싱하여 데이터베이스를 구축함으로써, 대량의 쿼리를 소화할 수 있을 뿐만 아니라 데이터베이스 내의 검색 속도를 향상시키기 때문에 온체인 정보가 사용자에게 실시간으로 제공될 수 있다.
본 개시의 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급되지 않은 다른 효과들은 청구범위의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 개시의 일 실시예에 따른 블록체인의 정보를 실시간으로 제공하도록 구성된 사용자 단말기를 보여주는 예시도이다.
도 2는 본 개시의 일 실시예에 따른 블록체인의 정보를 제공하도록 구성된 온체인 정보 제공 시스템을 설명하기 위한 블록도이다.
도 3은 본 개시의 일 실시예에 따른 서버의 상세 구성을 나타내는 블록도이다.
도 4는 본 개시의 일 실시예에 따른 블록체인 상의 정보를 제공하는 방법을 나타내는 순서도이다.
도 5는 본 개시의 일 실시예에 따른 서버에 의해 블록체인 상의 온체인 정보를 수집하고, 수집된 온체인 정보를 기초로 분석보고서를 사용자 단말기에 제공하거나 사용자 단말기로의 알림을 전송하는 방법을 나타내는 블록도이다.
도 6은 본 개시의 일 실시예에 따른 NoSQL 기반의 인덱스 데이터베이스를 포함한 서버에 대한 개념도이다.
도 7은 본 개시의 일 실시예에 따른 온체인 정보 수집 모듈에서 비동기 프로세스로 인덱싱 데이터베이스를 구축하는 과정을 설명하는 흐름도이다.
도 8는 본 개시의 일 실시예에 따른 블록체인 상의 지표에 대한 조건을 수신하고, 조건에 연관된 온체인 정보에 기초하여 알림을 생성하는 방법에 대한 순서도이다.
이하, 본 개시의 실시를 위한 구체적인 내용을 첨부된 도면을 참조하여 상세히 설명한다. 다만, 이하의 설명에서는 본 개시의 요지를 불필요하게 흐릴 우려가 있는 경우, 널리 알려진 기능이나 구성에 관한 구체적 설명은 생략하기로 한다.
첨부된 도면에서, 동일하거나 대응하는 구성요소에는 동일한 참조부호가 부여되어 있다. 또한, 이하의 실시예들의 설명에 있어서, 동일하거나 대응하는 구성요소를 중복하여 기술하는 것이 생략될 수 있다. 그러나 구성요소에 관한 기술이 생략되어도, 그러한 구성요소가 어떤 실시예에 포함되지 않는 것으로 의도되지는 않는다.
개시된 실시예의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 개시는 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 개시가 완전하도록 하고, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것일 뿐이다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 개시된 실시예에 대해 구체적으로 설명하기로 한다.
본 명세서에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 관련 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
본 명세서에서의 단수의 표현은 문맥상 명백하게 단수인 것으로 특정하지 않는 한, 복수의 표현을 포함한다. 또한 복수의 표현은 문맥상 명백하게 복수인 것으로 특정하지 않는 한, 단수의 표현을 포함한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다.
또한, 명세서에서 사용되는 "부" 또는 "모듈"이라는 용어는 소프트웨어 또는 하드웨어 구성요소를 의미하며, "부" 또는 "모듈"은 어떤 역할들을 수행한다. 그렇지만 "부" 또는 "모듈"은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. "부" 또는 "모듈"은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부" 또는 "모듈"은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 "부" 또는 "모듈"들은 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 "부" 또는 "모듈"들로 결합되거나 추가적인 구성요소들과 "부" 또는 "모듈"들로 더 분리될 수 있다.
본 개시의 일 실시예에 따르면 "부" 또는 "모듈"은 프로세서 및 메모리로 구현될 수 있다. 용어 "프로세서" 는 범용 프로세서, 중앙 처리 장치 (CPU), 마이크로프로세서, 디지털 신호 프로세서 (DSP), 제어기, 마이크로제어기, 상태 머신 등을 포함하도록 넓게 해석되어야 한다. 몇몇 환경에서는, "프로세서" 는 주문형 반도체 (ASIC), 프로그램가능 로직 디바이스 (PLD), 필드 프로그램가능 게이트 어레이 (FPGA) 등을 지칭할 수도 있다. 용어 "프로세서" 는, 예를 들어, DSP 와 마이크로프로세서의 조합, 복수의 마이크로프로세서들의 조합, DSP 코어와 결합한 하나 이상의 마이크로프로세서들의 조합, 또는 임의의 다른 그러한 구성들의 조합과 같은 처리 디바이스들의 조합을 지칭할 수도 있다.
또한, 본 명세서에서, 용어 "서버" 또는 "클라이언트"는 "서버 장치" 또는 "클라이언트 장치"를 각각 포함할 수 있다.
또한, 용어 "메모리" 는 전자 정보를 저장 가능한 임의의 전자 컴포넌트를 포함하도록 넓게 해석되어야 한다. 용어 메모리는 임의 액세스 메모리 (RAM), 판독-전용 메모리 (ROM), 비-휘발성 임의 액세스 메모리 (NVRAM), 프로그램가능 판독-전용 메모리 (PROM), 소거-프로그램가능 판독 전용 메모리 (EPROM), 전기적으로 소거가능 PROM (EEPROM), 플래쉬 메모리, 자기 또는 광학 데이터 저장장치, 레지스터들 등과 같은 프로세서-판독가능 매체의 다양한 유형들을 지칭할 수도 있다. 프로세서가 메모리로부터 정보를 판독하고/하거나 메모리에 정보를 기록할 수 있다면 메모리는 프로세서와 전자 통신 상태에 있다고 불린다. 프로세서에 집적된 메모리는 프로세서와 전자 통신 상태에 있다.
또한, 용어 "블록체인"은. 블록에 데이터를 포함하여 체인 형태로 연결하고, 복수의 컴퓨터가 동시에 이러한 블록을 복제하여 저장하는 분산형 데이터 저장 기술을 포함할 수 있으며, 블록체인과 연관된 전자 또는 암호화 화폐를 포함할 수 있다.
또한, 용어 "온체인"은 이하 실시예들의 상세한 설명에서 다르게 정의하지 않는 한, 공개된 복수의 블록체인(예를 들어, 복수의 블록체인 네트워크) 중 적어도 하나의 블록체인 상에 기록되거나 연관된 것을 지칭하거나, 적어도 하나의 블록체인 상에서의 정보를 기록하는 방식을 지칭할 수 있다. 일 실시예에 따르면, 온체인은 이더리움, 이오스 등과 같은 공개된 블록체인 네트워크 내에서 발생하여 블록체인 상의 블록에 기록되거나 연관된 정보 또는 데이터를 지칭할 수 있다. 예를 들어, "온체인 정보"는 토큰 소유자들의 토큰 이동현황 정보, 중앙화 또는 탈중앙화 거래소로 이동되거나 이동되어 나오는 토큰의 현황 정보, 신규 토큰 소유자 정보, 토큰 소유 말소자 정보, 스마트 컨트랙트 사용량 정보, 전체 유통되는 토큰의 현황 정보 및 토큰 소유자의 인증 및 비중에 대한 정보 중 하나 이상을 포함할 수 있으나, 이에 한정되지 않는다. 여기서, 토큰 소유자의 인증 및 비중에 대한 정보는 토큰 발행자의 보유량, 판매된 토큰 및 거래되는 토큰의 보유량 토큰 발행자의 재정현황 중 적어도 하나를 포함할 수 있다. 또한, 용어 "실시간(real time)"은 전자 교환 시스템이나 공통 제어시스템에서 계속하여 입력되는 정보를 중단시킴 없이 계속하여 처리해야 하며 입력처리를 감당하지 못할 경우에도 입력이 대기 또는 지연될 수 없다는 것을 포함할 수 있다. 또한, "실시간"은 컴퓨터에 의한 정보 처리 방식으로 데이터가 발생한 시점에서 필요한 계산 처리를 즉시 수행하여 그 결과를 데이터가 발생한 곳 또는 데이터가 필요한 곳에 되돌려 보내는 방식을 포함할 수 있다. 또한, "실시간"은, 물리적인 과정이 진행되는 실제의 시간으로 자료 발생과 동시에 그 자료를 처리하고 필요한 결과를 얻어내기까지 소요되는 시간을 의미하며 컴퓨터를 이용하는 형태의 하나로 사용자가 요구하는 자료를 처리하여 결과를 즉시 알려주는 방식을 포함할 수 있고, 데이터가 입력되는 즉시 처리하는 컴퓨터작업 처리 방식을 포함할 수 있다. 예를 들어, 블록체인 상의 암호화폐가 매매된 경우, 이러한 매매정보가 발생하는 즉시 블록체인 데이터베이스에 연결하여 거래 내역정보를 즉시 처리하는 작업처리 방식을 포함할 수 있다.
또한, 용어 "지표"는, 프로그램을 포함한 평가 대상의 속성이나 그로 인한 가치, 효과 등을 표현하고 지시하는 지수, 수식 또는 척도 중 적어도 하나를 포함할 수 있다. 예를 들어, 블록체인 상의 지표는 블록체인 상의 정보, 이벤트(예를 들어, 스마트 컨트랙트 등), 트랜잭션에 연관된 지수 또는 기호를 포함할 수 있다.
도 1은 본 개시의 일 실시예에 따른 블록체인의 정보를 실시간으로 제공하도록 구성된 사용자 단말기(100)를 보여주는 예시도이다.
사용자 단말기(100)는 입출력 장치를 구비한 임의의 컴퓨팅 장치를 포함할 수 있다. 일 실시예에 따르면, 도 1에 도시된 바와 같이, 사용자 단말기(100)는 터치 입력이 가능한 디스플레이(110)를 포함한 스마트폰, 태블릿 컴퓨터, 웨어러블 컴퓨터 중 어느 하나를 포함할 수 있으나, 이에 한정되지 않는다.
사용자 단말기(100)는 사용자로부터 블록체인(도 1에서, "XX 토큰")에 대한 분석보고서 요청을 수신하고, 요청받은 블록체인에 대한 분석보고서(115)를 출력하도록 구성될 수 있다. 일 실시예에 따르면, 이러한 분석보고서(115)를 제공하는 애플리케이션이 사용자 단말기(100) 상에 실행됨으로써 출력될 수 있다. 예를 들어, 도시된 바와 같이, "XX 토큰"에 대한 분석보고서(115)는 디스플레이(110) 상에 표시될 수 있다. 여기서, 분석보고서(115)는 블록체인 상의 온체인 정보와 연관된 정보를 포함할 수 있으며, 자산 분석 보고서를 포함하나, 이에 한정되지 않는다. 예를 들어, 블록체인으로부터 수집된 온체인 정보는 분석보고서(115)에 그대로 제공되거나 분석보고서(115)에서 제공하는 콘텐츠에 맞추어 가공되어 제공될 수 있다. 사용자 단말기(100)의 요청에 따라, 이러한 분석보고서(115)는 후술하는 서버에 의해 가공되어 사용자 단말기(100)에 제공될 수 있다.
사용자 단말기(100)는 블록체인 상의 지표에 대한 조건을 수신하도록 구성될 수 있다. 일 실시예에 따르면, 사용자 요청에 따라 블록체인 상의 지표에 대한 조건을 수신받을 수 있는 인터페이스를 제공하도록 구성된 애플리케이션이 사용자 단말기(100) 상에 실행될 수 있다. 예를 들어, 블록체인 상의 지표에 대한 조건은 블록체인에 대한 분석 보고서의 지표에 대한 조건을 포함할 수 있다. 예를 들어, 이러한 인터페이스는, 도 1에 도시된 바와 같이, 온체인 정보와 연관된 블록체인(즉, 암호화폐)의 명칭 "XX 토큰"(120), 암호화폐의 실시간 차트(130), 암호화폐의 실시간 데이터(140) 및 사용자가 블록체인 상의 지표에 대한 조건을 설정할 수 있도록 구성된 조건설정 탭(150)을 포함할 수 있다. 여기서, 블록체인 상의 온체인 정보는 암호화폐 "XX 토큰"의 실시간 차트(130) 및 암호화폐 "XX 토큰"의 실시간 데이터(140)를 포함할 수 있다. 예를 들어, 도 1에 도시된 바와 같이, 암호화폐의 실시간 데이터(140)는 암호화폐 "XX 토큰"으로부터 수신되거나 추출된 스마트 컨트랙트 사용량, 신규 토큰 소유자 수, 토큰 이동 현황 및 토큰 유통량 정보 등의 온체인 정보를 포함하고 있으나, 이에 한정되지 않는다. 예를 들어, 온체인 정보는 암호화폐 XX 토큰과 연관된 블록체인 상에 동작되는 스마트 컨트랙트의 함수 실행 데이터, 스마트 컨트랙트의 생성 정보, 블록체인 상의 어카운트 정보, 블록체인 상의 트랜잭션 정보, 블록체인과 연관된 토큰의 소유 정보 및 블록체인과 연관된 토큰의 identity 정보 중 적어도 하나의 정보를 포함할 수 있다. 관리자 설정 추가 또는 변경에 따라 미리 지정된 항목이 온체인 정보로서 암호화폐의 실시간 데이터(140)에 추가되거나, 사용자에 의한 조건 설정 탭(150)의 설정 또는 입력에 대응하는 항목이 온체인 정보로서 암호화폐의 실시간 데이터(140)에 추가될 수 있다. 예를 들어, 도시된 바와 같이, 조건 설정 탭(150)은 스마트컨트랙트 사용량, 거래소로의 이동 현황(즉, 거래소로 들어가고 나오는 토큰의 현황), 신규 토큰 소유자 수에 대한 입력을 수신할 수 있는 인터페이스를 포함하고 있으나, 이에 한정되지 않으며, 수집될 수 있는 온체인 정보와 연관된 임의의 지표에 대한 임의의 조건을 포함할 수 있다.
일 실시예에서, 사용자 단말기(100)로부터 블록체인 상의 지표에 대한 조건을 수신하고, 수신된 지표에 대한 조건이 만족되었음을 알리는 제1 알림(160)이 사용자 단말기(100)로 통지될 수 있다. 일 실시예에서, 조건 설정탭(150)에서 설정한 블록체인에 상의 지표에 대한 조건을 만족하였을 때 알림이 통지될 수 있다. 예를 들어, 도시된 바와 같이, 사용자 단말기(100)으로부터 "XX 토큰"에 대한 신규 토큰 소유자 수가 100명 이상인 경우 알림이 통지되도록 설정된 경우, 그러한 정보 및 시간 정보를 포함한 제1 알림(160)이 통지될 수 있다. 여기서, 알림이 통지되는 방법은 사용자 인터페이스마다 다를 수 있으며, 이러한 알림은 사용자 단말기(100) 상의 팝업 메시지 또는 연동된 스마트폰 등의 문자 메시지로 통지되거나 연동된 이메일로 수신될 수 있다. 이와 달리, 조건 설정탭(150)을 제공한 애플리케이션 자체의 알림 메시지 형태로 수신될 수 있다.
일 실시예에 따르면, 제1 알림(160)은 블록체인에 대한 자산 분석 보고서의 지표에 대한 조건을 만족되었음을 통지하는 제2 알림을 포함할 수 있다. 예를 들어, 제2 알림을 통지하는 방법은 제1 알림을 통지하는 방법과 동일할 수 있다.
일 실시예에 따르면, 사용자 단말기(100)는 블록체인 상의 지표에 대한 이상 감지가 발생되었다는 제3 알림을 통지받도록 구성될 수 있다. 제3 알림(170)은, 블록체인 상의 지표 혹은 블록체인에 대한 자산 분석 보고서의 지표에 대해 이상 감지가 있었다고 판단되는 경우, 사용자 단말기(100)로 지표에 대한 이상 감지가 발생되었다는 제3 알림, 즉 이상 알림을 통지할 수 있다. 예를 들어, 도시된 바와 같이, XX 토큰에 대한 거래소로부터 빠져나오는 토큰이 일정 이상(예시: 3프로)인 경우 그러한 이상 토큰 이동 정보 또는 이상 토큰 이동 정보에 대한 분석 정보 중 적어도 하나의 정보를 포함한 제3 알림(170)이 통지될 수 있다.
도 2은 본 개시의 일 실시예에 따른 블록체인의 정보를 제공하도록 구성된 온체인 정보 제공 시스템(200)을 설명하기 위한 블록도이다.
일 실시예에 따르면, 시스템(200)은, 사용자 단말기(100), 서버(220) 및 복수의 블록체인 노드(212)를 포함한 노드 그룹(210)을 포함할 수 있다. 서버(220)는 노드 그룹(210) 및 사용자 단말기(100)와 유선 또는 무선으로 네트워크(미도시)를 거쳐 통신할 수 있도록 구성된다. 도 2는 사용자 단말기(100)가 서버(220)와 통신가능하도록 도시되어 있으나, 사용자 단말기(10)가 노드 그룹(210)과 네트워크를 거쳐 통신하도록 구성될 수 있다.
노드 그룹(210)는 블록체인 관련 정보 또는 데이터를 기록, 유지 및 업데이트하도록 구성된 블록체인을 저장한 복수의 노드(212)를 포함할 수 있다. 여기서, 블록체인은 블록체인 네트워크로 지칭될 수 있다. 여기서, 블록체인은 현재 블록체인의 트랜잭션을 기록하는 하나 이상의 블록이 연결되어 구성되고, 복수의 노드(212)의 각각은 블록의 생성 및 검증을 실행할 수 있는 계산 처리 능력을 가진 컴퓨팅 장치를 포함할 수 있다. 블록체인 네트워크에 포함된 블록들은 복수의 노드(212)에 동일하게 저장 및 유지될 수 있다.
일 실시예에 따르면, 사용자 또는 네트워크 참여자가 블록의 생성 및 검증을 실행할 수 있는 복수의 노드(212)의 각각에 해당될 수 있다. 사용자 또는 네트워크 참여자들 사이에서 트랜잭션이 생성되면, 해당 블록체인의 정보가 포함된 거래 정보가 생성된다. 거래 정보가 생성되면 근접한 이웃 노드들부터 순차적으로 트랜잭션이 공유되며, 거래 정보를 받은 노드도 다른 모든 노드에게 거래 정보를 전파한다. 거래 정보를 전파 받은 노드들은, 해당 거래의 중요한 정보 내용에 대해 검증을 실시하여 승인하는 과정을 거쳐 블록체인 또는 블록체인 네트워크에 해당 블록이 저장될 수 있다. 사용자 또는 네트워크 참여자는, 블록체인 관련 정보 또는 데이터, 즉 온체인 정보를 제공할 수 있고, 제공받을 수 있다. 본 개시에 있어서, 서버(220) 또는 사용자 단말기(100) 중 적어도 하나는 사용자 또는 네트워크 참여자일 수 있다.
서버(220)는 노드 그룹(210) 내의 적어도 하나의 노드(212)와 통신하여 블록체인 상의 온체인 정보를 수집하고, 수집된 정보를 기초로 블록체인에 대한 분석 보고서(예를 들어, 암호화폐에 대한 자산 분석 보고서)를 자동적으로 생성하도록 구성될 수 있다. 또한, 서버(220)는 사용자 단말기(100)으로부터 블록체인 상의 지표에 대한 조건을 수신하도록 구성될 수 있다. 일 실시예에 따르면, 수신된 조건을 기초로 노드 그룹(210) 중 하나의 노드(212)에 포함된 블록체인을 검색하여 이러한 조건과 연관된 정보를 수집할 수 있다. 이와 달리, 서버(220)는 자신이 구축한 데이터베이스에 이러한 조건을 쿼리로서 전달하여 관련된 정보를 수집하도록 구성될 수 있다. 수신된 조건과 관련된 정보는 분석 보고서에 자동적으로 업데이트될 수 있다. 이러한 분석 보고서는 사용자 단말기(100)에 제공될 수 있다. 다른 실시예에 따르면, 서버(220)는 수신된 지표에 대한 조건이 만족되었는지 여부를 결정할 수 있다. 수신된 지표에 대한 조건이 만족된 경우, 서버(220)는 이러한 조건이 만족되었음을 알리는 제1 알림을 사용자 단말기(100)에 통지할 수 있다.
사용자 단말기(100)는 서버로부터 자동적으로 생성된 블록체인에 대한 분석 보고서를 수신하도록 구성될 수 있다. 수신된 분석보고서는 디스플레이(110)를 통해 표시되어 사용자에게 제공될 수 있다. 사용자 단말기(100)는 블록체인 상의 지표에 대한 조건을 수신하고, 수신된 조건을 서버(220)에 제공하도록 구성될 수 있다. 예를 들어, 블록체인 상의 지표에 대한 조건은 수신된 분석 보고서의 지표에 대한 조건을 포함할 수 있다. 일 실시예에 따르면, 사용자 단말기(100)는 서버(220)으로부터 조건과 연관된 정보를 포함한 분석보고서를 수신할 수 있다. 다른 실시예에 따르면, 사용자 단말기(100)는 서버(220)으로부터 조건이 만족하였음을 알리는 제1 알림을 수신하도록 구성될 수 있다. 이러한 제1 알림은 사용자 단말기(100)에 출력되어 사용자에게 실시간으로 제공될 수 있다.
도 3은 본 개시의 일 실시예에 따른 서버(220)의 상세 구성을 나타내는 블록도이다.
서버(220)는, 데이터베이스(310), 프로세서(320) 및 통신부(340)를 포함하도록 구성될 수 있다. 데이터베이스(310)는 온체인 데이터베이스(312) 및 인덱싱 데이터베이스(314)를 포함하도록 구성될 수 있다. 프로세서(320)는 온체인 정보 수집 모듈(322), 구성요소 매칭 모듈(324), 분석 보고서 생성 모듈(326), 이상 감지 모듈(328) 및 알림 제공 모듈(330)를 포함하도록 구성될 수 있다. 통신부(340)는 사용자 단말기(100) 또는 노드(212) 중 적어도 하나와 네트워크(미도시)를 거쳐 유선 또는 무선으로 통신하도록 구성될 수 있다. 도 2에서는 데이터베이스(310)가 서버(220)에 포함되도록 도시되어 있지만, 데이터베이스(310)는 서버(220)와 통신가능한 별도의 외부 장치에 저장되도록 구성될 수 있다. 도 3에서는 서버(220)가 하나의 블록도로 표시되어 있지만, 서버(220)는 단일의 서버 장치 또는 복수의 서버 장치로 구성될 수 있다. 또한, 도 3에서는 데이터베이스(310)는 하나의 블록도로 표시되어 있지만, 단일의 장치에 저장되거나 복수의 장치에 분산되어 저장될 수 있다.
프로세서(320)는 통신부(340)를 통하여 사용자 단말기(100) 또는 복수의 노드(212) 중 적어도 하나와 유선 또는 무선으로 송수신하도록 구성될 수 있다. 또한, 프로세서(320)는 데이터베이스(310)와 유선 또는 무선으로 연결되어 데이터베이스(310) 내의 온체인 데이터베이스(312) 및/또는 인덱싱 데이터베이스(314)의 구축, 유지, 갱신, 검색, 접근, 추출 업무 등을 진행할 수 있다.
일 실시예에 따르면, 프로세서(320)의 온체인 정보 수집 모듈(322)은 통신부를 통해 복수의 노드(212) 중 적어도 하나로부터 온체인 정보를 실시간으로 수집하고, 수집된 온체인 정보를 기초로 온체인 데이터베이스(312)를 구축할 수 있다. 또한, 온체인 정보 수집 모듈(322)은 수신된 온체인 정보를 검색이 가능하도록 인덱싱하여 인덱싱 데이터베이스(314)를 구축할 수 있다. 예를 들어, 온체인 정보 수집 모듈(322)은 수집된 온체인 정보를 작업 큐를 사용하여 스케줄링하고 비동기로 인덱싱하도록 구성될 수 있다. 이러한 인덱싱 방식은 도 7을 참조하여 상세히 설명된다.
온체인 정보 수집 모듈(322)은 사용자 단말기(100)로부터 통신부(340)를 통해 블록체인 상의 지표에 대한 조건을 수신하도록 구성될 수 있다. 일 실시예에 따르면, 조건에 해당하는 쿼리를 생성하여 생성된 쿼리를 이용하여 데이터베이스(310)를 검색하여 조건과 연관된 정보를 실시간으로 추출하도록 구성될 수 있다. 다른 실시예에 따르면, 온체인 정보 수집 모듈(322)은 수신된 조건에 기초하여 복수의 노드(212)로부터 조건과 관련된 정보를 수신하도록 구성될 수 있다. 예를 들어, 온체인 정보 수집 모듈(322)은 블록체인에서 제공되는 이벤트 로그에 후킹하여, 복수의 노드(212) 중 어느 하나로부터 블록에 대한 이벤트 발생 시 블록체인의 정보를 수집하도록 구성될 수 있다. 수집된 정보는 온체인 데이터베이스(312) 또는 인덱싱 데이터베이스(314)를 갱신하는데 사용될 수 있다. 이와 달리, 수집된 정보는 구성요소 매칭 모듈(324), 분석 보고서 생성 모듈(326) 및/또는 알림 제공 모듈(330)에 실시간으로 제공될 수 있다.
구성 요소 매칭 모듈(324)은 데이터베이스(310) 또는 온체인 정보 수집 모듈(322) 중 적어도 하나로부터 온체인 정보를 수신하고, 수신된 온체인 정보가 블록체인에 대한 분석 보고서와 연관 또는 매칭되는지 결정하도록 구성될 수 있다. 수신된 온체인 정보가 분석 보고서 상에 연관된 정보인 경우, 분석 보고서 생성 모듈(326)에 제공될 수 있다. 일 실시예에 따르면, 구성 요소 매칭 모듈(324)은, 블록체인에 대한 요청 또는 분석보고서에 대한 요청을 수신하고, 수신된 사용자의 요청을 분석하여 사용자가 원하는 블록체인의 항목을 판별하도록 구성될 수 있다. 예를 들어, 사용자가 블록체인의 거래량에 대한 정보만을 알기를 원할 경우, 구성 요소 매칭 모듈(324)은 수신된 온체인 정보 중 거래량에 관한 정보만 추출하여 사용자의 요청과 연관시키거나 매칭시킬 수 있으며, 연관되거나 매칭된 정보는 분석 보고서 생성 모듈(326), 이상 감지 모듈(328) 및/또는 알림 제공 모듈(330)에 제공될 수 있다.
일 실시예에 따르면, 분석보고서 생성 모듈(326)은 분석 보고서 상에 연관된 온체인 정보를 구성요소 매칭 모듈(324)로부터 수신하도록 구성될 수 있다. 분석보고서 생성 모듈(326)은 수신된 온체인 정보를 기초로 블록체인에 대한 분석 보고서를 자동적으로 생성할 수 있다. 다른 실시예에 따르면, 분석보고서 생성 모듈(326)은 데이터베이스(310) 또는 온체인 정보 수집 모듈(322) 중 적어도 하나로부터 온체인 정보를 수집하고, 분석 보고서 내 구성 요소와 매칭되는지 검증하고, 매칭되는 경우 분석 보고서를 생성하거나 업데이트할 수 있다. 또한, 분석 보고서 생성부는 수신된 온체인 정보를 기초로 실시간으로 분석 보고서를 생성하거나, 기존에 생성된 분석 보고서를 갱신하도록 구성될 수 있다. 또한, 분석보고서 생성 모듈(326)은 사용자 단말기(100)로부터 분석 보고서의 송부를 요청받을 수 있고, 이에 응답하여, 생성 또는 갱신된 분석 보고서는 통신부(340)를 통해 사용자 단말기(100)에 제공될 수 있다.
일 실시예에 따르면, 이상 감지 모듈(328)은 온체인 정보에 대응되는 학습 정보를 인공신경망에 입력하여 기계학습을 수행함으로써 이상 감지(anomaly detection) 모델을 생성하도록 구성될 수 있다. 온체인 정보에 대응되는 학습 정보는 온체인 상의 실제 정보뿐만 아니라, 실제 정보를 가공한 정보를 포함할 수 있다. 여기서, 인공신경망은 단일 또는 복수의 인공신경망을 포함하도록 구성될 수 있다. 또한, 기계 학습은, 교사 학습(supervised learning), 비교사 학습, 또는 준교사 학습(semi-supervised learning) 중 적어도 하나의 학습을 지칭할 수 있다.
일 실시예에 따르면, 이상 감지 모듈(328)은 구성 요소 매칭 모듈(324) 및/또는 온체인 정보 수집 모듈(322)로부터 블록체인 상의 지표에 연관된 온체인 정보를 이상 감지 모델에 입력하여 평소 패턴과 상이한 패턴이 나타내는 이상 감지가 있었는지 여부를 판정하도록 구성될 수 있다. 이러한 판정된 이상 감지이 있었는지 여부는 알림 제공 모듈(330)에 제공될 수 있다.
일 실시예에 따르면, 알림 제공 모듈(330)은 온체인 정보 수집 모듈(322) 또는 구성요소 매칭 모듈(324) 중 적어도 하나로부터 블록체인 상의 지표에 대한 조건 및 그러한 조건과 관련된 온체인 정보를 수신할 수 있다. 알림 제공 모듈(330)은 수신된 온체인 정보가 수신된 지표에 대한 조건을 만족하는지 결정하고, 만족하는 경우 수신된 지표에 대한 조건이 만족되었음을 알리는 제1 알림을 생성하고, 생성된 제1 알림은 통신부(340)를 통해 사용자 단말기(100)로 제공될 수 있다.
다른 실시예에 따르면, 알림 제공 모듈(330)은 온체인 정보 수집 모듈(322) 또는 구성요소 매칭 모듈(324) 중 적어도 하나로부터 블록체인에 대한 분석보고서의 지표에 대한 조건을 수신하도록 구성될 수 있다. 이러한 조건은 사용자 단말기(100)으로부터 통신부(340)를 통해 프로세서(320)에 제공될 수 있다. 알림 제공 모듈(330)은 블록체인에 대한 분석 보고서의 지표에 대한 조건을 만족하는 지 결정하고, 만족하는 경우 블록체인에 대한 분석 보고서의 지표에 대한 조건이 만족되었음을 알리는 제2 알림을 사용자 단말기로 통지하도록 구성될 수 있다.
또 다른 실시예에서, 알림 제공 모듈(330)은 이상 감지 모듈(328)로부터 수신된 블록체인 상의 지표에 대한 이상 감지가 있었는지 여부를 수신할 수 있다. 이상 감지가 있었다고 판정되는 경우, 알림 제공 모듈(330)은 이러한 지표에 대한 이상감지가 발생되었다는 제3 알림을 사용자 단말기(100)로 통지하도록 구성될 수 있다. 예를 들어, 이에 한정되지 않으나, 블록체인의 거래가가 폭등 또는 폭락하거나, 블록체인의 차트 그래프의 기울기가 일정 각도 이상으로 도시되거나, 에어드랍 혹은 상장폐지로 인한 급등락 등이 있었던 경우, 이상 감지로 판단되어 제3 알림이 생성 및 통지될 수 있다.
통신부(340)는, 사용자 단말기(100)로부터 블록체인의 정보 요청(예를 들어, 분석 보고서, 제1, 2 또는 3 알림 요청) 및/또는 블록체인의 지표에 대한 조건을 수신하도록 구성될 수 있다. 이렇게 수신된 정보 요청 및/또는 지표에 대한 조건은 프로세서(320)에 전달될 수 있다. 또한, 통신부(340)는 프로세서(320)의 요청을 받아 복수의 노드(212) 중 어느 하나와 통신하여 온체인 정보를 수신하도록 구성될 수 있다. 수신된 온체인 정보는 프로세서(320) 및/또는 데이터베이스(310)에 제공될 수 있다. 또한, 프로세서(320)에 의해 생성된 블록체인에 대한 분석 보고서, 제1 알림, 제2 알림 및/또는 제3 알림은 통신부(340)를 통해 사용자 단말기(100)에 제공될 수 있다.
데이터베이스(310)는 블록체인 상의 온체인 정보를 저장하도록 구성된 온체인 데이터베이스 (312) 및 온체인 정보를 인덱싱하여 정보 검색이 가능하도록 가공된 정보를 저장한 인덱싱 데이터베이스(314)를 포함할 수 있다. 도 3에서는 데이터베이스(310)가 온체인 데이터베이스(312) 및 인덱싱 데이터베이스(314)를 모두 포함하도록 도시되어 있으나, 두 데이터베이스 중 일부가 외부 장치에 저장되도록 구성될 수 있다. 예를 들어, 데이터베이스(310)는 인덱싱 데이터베이스(314)만을 포함하도록 구성될 수 있다.
일 실시예에 있어서, 데이터베이스(310)는 블록체인 상의 온체인 정보를 저장하고 유지하는 장치이며, 관계형 데이터 베이스(RDBMS) 또는 비관계형 데이터베이스(NoSQL)중 적어도 하나를 포함할 수 있으며, 이에 한정되지 않는다. 또한, 이러한 데이터베이스(310)는 프로세서(320)에 의해 조회, 추출, 생성, 삭제 및/또는 갱신될 수 있다.
도 4는 본 개시의 일 실시예에 따른 블록체인 상의 정보를 제공하는 방법을 나타내는 순서도(400)이다.
먼저, S410에서, 서버(220)는 사용자 단말기(100)로부터 블록체인에 대한 분석 보고서 요청을 수신하도록 구성될 수 있다. 서버(220)는, S420에서, 블록체인 상의 온체인 정보를 수집하도록 구성될 수 있다. 일 실시예에 따르면, 블록체인 상의 온체인 정보는 블록체인을 저장하는 복수의 노드 중 어느 하나로부터 수집될 수 있다. 다른 실시예에 따르면, 블록체인 상의 온체인 정보는 구축된 데이터베이스(310)으로부터 검색 및 추출하여 수집될 수 있다. 이러한 블록체인 상의 온체인 정보는 실시간으로 수집될 수 있다. S430에서, 서버(220)는 수신된 블록체인 상의 온체인 정보를 블록체인에 대한 분석 보고서에 정보에 연관시키도록 구성될 수 있다. 예를 들어, 서버(220)는 수신된 블록체인 상의 온체인 정보 중, 분석 보고서에 포함된 구성 요소에 해당되는 정보를 추출함으로써, 추출된 온체인 정보와 분석보고서에 포함된 정보를 연관시킬 수 있다.
서버(220)는 연관된 온체인 정보를 기초로 블록체인에 대한 분석 보고서를 자동적으로 생성하는 단계를 S440에서 실행할 수 있다. 이를 위해, 서버(220)는 미리 정해진 구성요소를 가진 분석 보고서에 연관된 정보를 연동시킴으로써 자동적으로 분석 보고서를 생성하도록 구성된 애플리케이션 또는 툴을 포함하도록 구성될 수 있다. 예를 들어, 이러한 애플리케이션 또는 툴을 통해 미리 정해진 구성요소는 추가, 삭제 및/또는 수정되도록 구성될 수 있다. S450에서, 이렇게 생성된 분석 보고서는 외부 장치(예시: 사용자 단말기)에 제공될 수 있다.
도 5는 본 개시의 일 실시예에 서버(220)에 의해 블록체인 상의 온체인 정보를 수집하고, 수집된 온체인 정보를 기초로 분석보고서를 사용자 단말기(100)에 전송하거나 사용자 단말기(100)로의 알림을 전송하는 방법을 나타내는 블록도이다. 일 실시예에 따르면, 도 5에 도시된 바와 같이, 서버(220)의 각 구성요소는 인덱싱 서버(530) 및 필터 서버(540)로 분산되어 구현될 수 있다. 도 5에서 인덱싱 서버(530)는 하나의 서버로서 도시되었으나, 복수의 서버군으로 이루어질 수 있다.
일 실시예에 따르면, 인덱싱 서버(530)는 노드 그룹(210)의 어느 하나의 노드(212)로부터 블록체인 상의 온체인 정보를 직접 수집하도록 구성될 수 있다. 다른 실시예에 따르면, 인덱싱 서버(530)는 분석 보고서(240)으로부터 블록체인 상의 지표에 대한 조건을 수신하도록 구성되고, 블록체인 상의 지표에 대한 조건을 기초로 쿼리를 생성하여 필터 서버(540)에 제공할 수 있다. 필터 서버(540)는 수신된 쿼리를 이용하여 인덱싱 데이터베이스로부터 블록체인 상의 지표에 대한 조건과 연관된 정보를 추출할 수 있다. 이와 달리 필터 서버(540)는 블록체인에서 제공하는 이벤트 로그에 후킹하여 블록체인 상의 블록에 대한 이벤트 통지 시 관련 정보 또는 통지 중 적어도 하나를 노드(212)로부터 수신할 수 있다. 이러한 정보는 인덱싱 서버(530)에서 수집한 온체인 정보는 분석 보고서(240)를 생성 또는 업데이트하는데 사용될 수 있다.
일 실시예에서, 분석 보고서(240)는, 블록체인 상의 거래되는 토큰형태의 자산들에 대해 다양한 지표 및 수식을 기초로 분석을 실시한 보고서를 포함할 수 있다. 또한, 모든 데이터가 익명화되어 공개되는 블록체인 기술의 장점을 활용하여, 인덱싱 서버(530)는 분석 보고서 내에 블록체인 상의 온체인 정보가 열람시점에 실시간으로 연동하여, 분석보고서를 실시간으로 생성하거나 업데이트할 수 있다. 분석 보고서(240)에는, 기본 정보와 같은 블록체인의 명칭, 최초 발행일, 블록체인의 방식이나 시장정보와 같은 거래 현황, 수익률, 총 시가, 유통 공급량, 최대 공급량, 거래량, 일일 변동가 및 일일 변동률 등과 같은 블록체인 상의 지표, 블록체인의 기술적 특징, 블록체인에 대한 종합 검토의견 중 어느 하나를 포함할 수 있으나, 이에 한정되지 않는다. 사용자는 분석 보고서(240)를 실시간으로 수신할 수 있으므로, 블록체인 대한 최신 정보를 파악할 수 있으며, 이에 따라 이러한 분석 보고서(240)는 추후 투자 계획을 세우는 데 효과적으로 이용될 수 있다.
일 실시예에 따르면, 필터 서버(540)는 분석 보고서(240)의 지표에 대한 조건을 수신하고, 이러한 수신된 지표에 대한 조건에 연관된 온체인 정보를 노드 그룹(210)의 어느 하나의 노드(212)로부터 수신할 수 있다. 예를 들어, 수집된 온체인 정보가 수신된 지표에 대한 조건을 만족하는 경우, 사용자 단말기로 분석 보고서(240)의 지표에 대한 조건이 만족되었음을 알리는 제2 알림을 사용자 단말기(100)로 통지할 수 있다. 또 다른 예로서, 수집된 온체인 정보가 수신된 지표에 연관된 온체인 정보로부터 이상 감지가 발생되었다고 판단되는 경우, 필터 서버(540)는 사용자 단말기로 지표에 대한 이상 감지가 발생되었다는 제3 알림을 제공할 수 있다.
도 6은 본 개시의 일 실시예에 따른 nosql 기반의 인덱싱 데이터베이스(610)를 포함한 서버(600)에 대한 개념도이다. 일 실시예에서, nosql 인덱스 서버(600)는, 도시된 바와 같이, 복수개의 샤드(612, 614, 616)를 포함하는 데이터베이스(610), 복수개의 라우터(620) 및 복수개의 config 서버(630)를 포함할 수 있다. nosql 기반의 데이터베이스(610)는, SQL만을 사용하지 않는 데이터베이스를 포함할 수 있다. 예를 들어, nosql 인덱스 서버(600)에서 관계형 데이터베이스를 사용하지 않는 것이 아니라 여러 유형의 데이터베이스가 사용될 수 있다. nosql 데이터베이스(610)는 여러 대의 컴퓨터에 데이터를 분산 저장하여 많은 데이터와 트래픽을 처리할 수 있다. 여기서, 데이터베이스(610)는 도 3의 인덱싱 데이터베이스(314)의 구성과 동일 또는 유사한 구성을 포함할 수 있다. 또한, 복수 개의 라우터(620)는 도 3의 통신부(340)의 구성과 동일 또는 유사한 구성을 포함할 수 있다. 이와 달리, 라우터(620)는 서버(600)의 외부에 배치되어 서버(220)의 통신부와 함께 연동되도록 구성될 수 있다. 복수 개의 config 서버(630)는 도 3의 프로세서(320)의 구성과 동일 또는 유사한 구성을 포함할 수 있다.
일 실시예 따르면, 복수의 샤드(612-616)는 공통된 부분이 없는 부분집합으로 분리 설계하여 스케일-아웃(scale-out) 방식을 지원되도록 구성된 데이터베이스를 포함할 수 있다. 통상적으로 스케일-아웃 방식의 서버 확장성을 위해 데이터 중복이 발생하더라도 가능한 한 테이블을 쪼개지 않고 하나의 큰 테이블에 담아 저장하는데, 큰 테이블은 샤딩(sharding)을 통해 여러 서버에 나누어 저장될 수 있다. 예를 들어, 샤딩(sharding)은 샤드 키(shard key)를 기준으로 하나의 테이블을 수평 분할하여 서로 다른 클러스터에 분산 저장하고 질의할 수 있는 방법을 지칭할 수 있다. 도 6에서는 인덱싱 데이터베이스를 nosql 서버를 이용하여 nosql 기반의 서버로 구축될 수 있다고 도시되어 있으나, 이에 한정하지 않으며, 관계형 데이터베이스를 기초로 인덱싱 데이터베이스가 구축될 수 있다. 이 경우, 예를 들어, 서버는 마스터 데이터베이스에 온체인 정보를 기록할 수 있으며, 이러한 정보는 슬래브 데이터베이스에 공유되고 마스터 데이터베이스 및/또는 슬래브 데이터베이스로부터 기록된 정보가 조회 또는 검색될 수 있다.
도 7은 본 개시의 일 실시예에 따른 온체인 정보 수집 모듈(322)에서 비동기 프로세스로 인덱싱 데이터베이스를 구축하는 과정을 설명하는 흐름도이다. 서버(220)의 온체인 정보 수집 모듈(322)은 블록체인 상의 대규모 온체인 정보를 인덱싱하여 인덱싱 데이터베이스(314)를 구축하도록 구성될 수 있다. 도시된 바와 같이, 온체인 정보 수집 모듈(322)은 작업 스케줄러(730), 작업 큐(740) 및 작업자(worker) 1-N(750)을 포함하도록 구성될 수 있다. 예를 들어, 이러한 온체인 정보 수집 모듈(3220)의 구성은 인덱싱 서버(530)에 포함될 수 있다. 또한, 작업자 1-N(750)의 각각은 가속기(예를 들어, GPU, Intel Xeon Phi 코프로세서, FPGA 등) 각각에 대응되도록 구성될 수 있다.
일 실시예에 따르면, 작업 스케줄러(730)는 복수의 노드 그룹(210) 중 어느 하나의 노드(212)로부터 처리해야 하는 블록체인 상의 블록의 리스트를 수신하고 처리해야 하는 작업들을 생성할 수 있다. 예를 들어, 이러한 작업은 블록에 대해 작업 시작, 작업 시간, 종료 시간 및/또는 작업 간격 등의 조건이 지정될 수 있다. 작업 스케줄러(730)로 인하여 작업(job)이 생성되면, 작업 큐(740)에 제공되어 작업의 순서화된 리스트로 저장될 수 있다.
일 실시예에 따르면, 작업 스케줄러(730)는 생성된 작업들을 작업자 1-N(750)에 배정하도록 구성될 수 있다. 작업 큐(740)에 가장 먼저 입력된 작업이 각각의 작업자 1-N(750) 중 비어 있는 작업자에 배정될 수 있다. 또한, 그 다음 입력된 작업이 또 다른 비어 있는 작업자에 배정될 수 있다. 이에 따라, 작업 스케줄러(730)는 작업자 서로 간의 동기 또는 연동됨 없이, 작업자 사이의 동기 없이, 즉 비동기로 작업들을 배정할 수 있다.
일 실시예에 따르면, 작업 스케줄러(730)는, 작업을 큐에 올리거나 큐에서 작업을 제거하는 일을 하는 유일한 컴포넌트일 수 있다. 또한 작업 스케줄러(730)는, 작업자의 작업들을 보류하거나 취소하도록 구성될 수 있다. 또한 작업 스케줄러(730)는 작업이 처리되는 순서에 대해 결정할 수 있다.
일 실시예에 따르면, 작업 스케줄러(730)에서 동작되는 작업 스케줄링은 비선점 스케줄링인 우선순위 알고리즘, 기한부 스케줄링, FIFO(First In First Out) 스케줄링, SJF(Shortest Job First) 스케줄링, HRN(Highest response ratio next) 스케줄링 또는 선점 스케줄링인 RR(Round Robin) 스케줄링, 다단계 큐 스케줄링 또는 다단계 피드백 큐 스케줄링 등 중 어느 하나의 방식을 포함할 수 있지만, 이에 한정되지 않는다. 비선점 스케줄링은 한 프로세스가 CPU 또는 가속기를 할당받으면 CPU 또는 가속기는 그 프로세스가 끝날때까지 빠져나올 수 없는 스케줄링 기법이고, 선점 스케줄링은 한 프로세스가 CPU 또는 가속기를 할당 받고 있을 때 다른 프로세스가 현재 프로세스를 중지시키고 자신이 CPU 또는 가속기를 사용할 수 있는 스케줄링 기법을 지칭할 수 있다. 비선점 스케줄링 중 우선순위 알고리즘은 각 프로세스마다 우선순위를 정해 정한 순서대로 실행하는 스케줄링이며, 기한부 스케줄링은 각 프로세스마다 처리될 시간, 기한 등을 주면서 처리하게 되는 스케줄링을 지칭할 수 있다. FIFO 스케줄링은 대기 큐 안에 먼저 들어온 프로세스부터 먼저 처리하는 스케줄링이며, SJF 스케줄링은 대기중인 작업 중 수행시간이 가장 짧다고 판정된 것을 먼저 실행하는 스케줄링을 지칭할 수 있다. 비선점 스케줄링 중 RR 스케줄링은 주어진 시간 안에 완료하면 통과하고 아니면 다시 대기 큐로 돌아가는 스케줄링이며, 다단계 큐 스케줄링은 우선순위별로 큐가 나누어지고 제일 앞의 큐부터 실행되며 중간에 2순위 큐보다 앞선 1순위 큐가 프로세스에 들어오면 1순위 큐 프로세스가 먼저 실행되는 스케줄링을 지칭할 수 있다. 또한, 다단계 피드백 큐 스케줄링은 다단계 큐 스케줄링에서 각 단계별로 서로 다른 할당시간을 부여하는 스케줄링 방식을 포함할 수 있다.
작업 큐(740)는 작업의 순서화된 리스트로 저장되는데, 여기서, 순서화된 리스트는 작업 큐(740)에 표시되는 순서를 포함할 수 있다. 예를 들어, 작업 큐에 표시되는 순서는 가용성, 우선순위, 날짜 및/또는 시간 값을 통해 정해질 수 있다.
일 실시예에서, 작업자 1-N(750)의 각각은, 작업 스케줄러(730)로부터 생성된 작업을 수행하기 위해 노드 그룹(210)의 어느 하나의 노드(212)로부터 그 작업에 해당되는 블록 상의 온체인 정보를 추출하도록 구성될 수 있다. 작업자 1-N (750)의 각각은 작업에 할당된 블록 상의 온체인 정보를 비동기로 추출할 수 있다. 블록체인의 블록의 크기가 작업자의 수보다 큰 경우, 작업자 1-N(750)는 한 번 이상의 작업을 처리할 수 있다. 각각의 작업자 1-N(750)는 배정된 작업을 처리함에 있어서, 작업자 상태에 대한 정보가 표시될 수 있다. 예를 들어, 작업자 상태는 대기상태, 동작상태, 보류상태 또는 보류미결상태일 수 있다. 이러한 작업자 상태를 고려하여, 작업 스케줄러(730)는 생성된 작업을 작업 수행이 가능한 작업자로 송부할 수 있다. 작업이 완료된 온체인 정보는 인덱싱 데이터베이스(314)에 인덱싱되어 저장될 수 있다.
도 8는 본 개시의 일 실시예에 따른 블록체인 상의 지표에 대한 조건을 수신하고, 조건에 연관된 온체인 정보에 기초하여 알림을 생성하는 방법에 대한 순서도(800)이다.
먼저, S810에서, 서버(220)는 사용자 단말기(100)로부터 블록체인 상의 지표에 대한 조건을 수신하도록 구성될 수 있다. 일 실시예에 따르면, 블록체인 상의 지표에 대한 조건은 분석 보고서의 지표에 대한 조건을 포함할 수 있다.
서버(220)는 수신된 조건에 연관된 온라인 정보를 수집하는 단계를 S820에서 실행할 수 있다. 일 실시예에 따르면, 서버(220)는 인덱싱 데이터베이스(314)에 저장된 수신된 조건에 연관된 온체인 정보를 수집할 수 있다. 다른 실시예에 따르면, 서버(220)는 노드 그룹(210)의 어느 하나 노드(212)로부터 수신된 조건에 연관된 온체인 정보를 수집할 수 있다. 그리고 나서, 서버(220)는 수집된 온체인 정보가 수신된 조건에 만족하는지 결정하도록 구성될 수 있다(S830). 조건이 만족되지 않은 경우에는, 수신된 조건에 연관된 온체인 정보를 계속해서 또는 주기적으로 수신할 수 있다. 조건이 만족되는 경우에는, 수집된 온체인 정보가 수신된 조건에 만족되었음을 알리는 제1 알림을 사용자 단말기(100)에 통지할 수 있다(S850). 이와 달리, 수집된 조건이 분석보고서 내의 지표에 연관된 경우, 분석 보고서의 지표에 대한 조건을 만족되었음을 알리는 제2 알림이 사용자 단말기(100)에 통지될 수 있다(S850).
이에 더하여, 서버(220)는 수신된 온체인 정보에 평소 패턴과 상이한 패턴을 나타내는 이상 감지가 있었는지 여부를 결정할 수 있다(S840). 이상감지가 발생되지 않은 경우, 수신된 조건에 연관된 온체인 정보를 계속해서 또는 주기적으로 수신할 수 있다. 이와 달리, 이상 감지가 있었다고 판단되는 경우, 서버(220)는 지표에 대한 이상 감지가 발생되었다는 제3 알림을 통지할 수 있다(S850).
일반적으로, 본원에 설명된 서버 또는 사용자 단말기는, 무선 전화기, 셀룰러 전화기, 랩탑 컴퓨터, 무선 멀티미디어 디바이스, 무선 통신 PC (personal computer) 카드, PDA, 외부 모뎀이나 내부 모뎀, 무선 채널을 통해 통신하는 디바이스 등과 같은 다양한 타입들의 디바이스들을 나타낼 수도 있다. 디바이스는, 액세스 단말기 (access terminal; AT), 액세스 유닛, 가입자 유닛, 이동국, 모바일 디바이스, 모바일 유닛, 모바일 전화기, 모바일, 원격국, 원격 단말, 원격 유닛, 유저 디바이스, 유저 장비 (user equipment), 핸드헬드 디바이스 등과 같은 다양한 이름들을 가질 수도 있다. 본원에 설명된 임의의 디바이스는 명령들 및 데이터를 저장하기 위한 메모리, 뿐만 아니라 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 조합들을 가질 수도 있다.
본원에 기술된 기법들은 다양한 수단에 의해 구현될 수도 있다. 예를 들어, 이러한 기법들은 하드웨어, 펌웨어, 소프트웨어, 또는 이들의 조합으로 구현될 수도 있다. 본원의 개시와 연계하여 설명된 다양한 예시적인 논리적 블록들, 모듈들, 회로들, 및 알고리즘 단계들은 전자 하드웨어, 컴퓨터 소프트웨어, 또는 양자의 조합들로 구현될 수도 있음을 당업자들은 더 이해할 것이다. 하드웨어 및 소프트웨어의 이러한 상호교환성을 명확하게 설명하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들, 및 단계들이 그들의 기능성의 관점에서 일반적으로 위에서 설명되었다. 그러한 기능이 하드웨어로서 구현되는지 또는 소프트웨어로서 구현되는지의 여부는, 특정 애플리케이션 및 전체 시스템에 부과되는 설계 제약들에 따라 달라진다. 당업자들은 각각의 특정 애플리케이션을 위해 다양한 방식들로 설명된 기능을 구현할 수도 있으나, 그러한 구현 결정들은 본 개시의 범위로부터 벗어나게 하는 것으로 해석되어서는 안된다.
하드웨어 구현에서, 기법들을 수행하는 데 이용되는 프로세싱 유닛들은, 하나 이상의 ASIC들, DSP들, 디지털 신호 프로세싱 디바이스들 (digital signal processing devices; DSPD들), 프로그램가능 논리 디바이스들 (programmable logic devices; PLD들), 필드 프로그램가능 게이트 어레이들 (field programmable gate arrays; FPGA들), 프로세서들, 제어기들, 마이크로제어기들, 마이크로프로세서들, 전자 디바이스들, 본원에 설명된 기능들을 수행하도록 설계된 다른 전자 유닛들, 컴퓨터, 또는 이들의 조합 내에서 구현될 수도 있다.
따라서, 본원의 개시와 연계하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 및 회로들은 범용 프로세서, DSP, ASIC, FPGA나 다른 프로그램 가능 논리 디바이스, 이산 게이트나 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 또는 본원에 설명된 기능들을 수행하도록 설계된 것들의 임의의 조합으로 구현되거나 수행될 수도 있다. 범용 프로세서는 마이크로프로세서일 수도 있지만, 대안에서, 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수도 있다. 프로세서는 또한 컴퓨팅 디바이스들의 조합, 예를 들면, DSP와 마이크로프로세서, 복수의 마이크로프로세서들, DSP 코어와 연계한 하나 이상의 마이크로프로세서들, 또는 임의의 다른 그러한 구성의 조합으로서 구현될 수도 있다.
펌웨어 및/또는 소프트웨어 구현에 있어서, 기법들은 랜덤 액세스 메모리 (random access memory; RAM), 판독 전용 메모리 (read-only memory; ROM), 불휘발성 RAM (non-volatile random access memory; NVRAM), PROM (programmable read-only memory), EPROM (erasable programmable read-only memory), EEPROM (electrically erasable PROM), 플래시 메모리, 컴팩트 디스크 (compact disc; CD), 자기 또는 광학 데이터 스토리지 디바이스 등과 같은 컴퓨터 판독가능 매체 상에 저장된 명령들로서 구현될 수도 있다. 명령들은 하나 이상의 프로세서들에 의해 실행가능할 수도 있고, 프로세서(들)로 하여금 본원에 설명된 기능의 특정 양태들을 수행하게 할 수도 있다.
소프트웨어로 구현되면, 상기 기능들은 하나 이상의 명령들 또는 코드로서 컴퓨터 판독 가능한 매체 상에 저장되거나 또는 컴퓨터 판독 가능한 매체를 통해 전송될 수도 있다. 컴퓨터 판독가능 매체들은 한 장소에서 다른 장소로 컴퓨터 프로그램의 전송을 용이하게 하는 임의의 매체를 포함하여 컴퓨터 저장 매체들 및 통신 매체들 양자를 포함한다. 저장 매체들은 컴퓨터에 의해 액세스될 수 있는 임의의 이용 가능한 매체들일 수도 있다. 비제한적인 예로서, 이러한 컴퓨터 판독가능 매체는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 스토리지, 자기 디스크 스토리지 또는 다른 자기 스토리지 디바이스들, 또는 소망의 프로그램 코드를 명령들 또는 데이터 구조들의 형태로 이송 또는 저장하기 위해 사용될 수 있으며 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 또한, 임의의 접속이 컴퓨터 판독가능 매체로 적절히 칭해진다.
예를 들어, 소프트웨어가 동축 케이블, 광섬유 케이블, 연선, 디지털 가입자 회선 (DSL), 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들을 사용하여 웹사이트, 서버, 또는 다른 원격 소스로부터 전송되면, 동축 케이블, 광섬유 케이블, 연선, 디지털 가입자 회선, 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들은 매체의 정의 내에 포함된다. 본원에서 사용된 디스크 (disk) 와 디스크(disc)는, CD, 레이저 디스크, 광 디스크, DVD (digital versatile disc), 플로피디스크, 및 블루레이 디스크를 포함하며, 여기서 디스크들 (disks) 은 보통 자기적으로 데이터를 재생하고, 반면 디스크들 (discs) 은 레이저를 이용하여 광학적으로 데이터를 재생한다. 위의 조합들도 컴퓨터 판독가능 매체들의 범위 내에 포함되어야 한다.
소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터들, 하드 디스크, 이동식 디스크, CD-ROM, 또는 공지된 임의의 다른 형태의 저장 매체 내에 상주할 수도 있다. 예시적인 저장 매체는, 프로세가 저장 매체로부터 정보를 판독하거나 저장 매체에 정보를 기록할 수 있도록, 프로세서에 커플링될 수 있다. 대안으로, 저장 매체는 프로세서에 통합될 수도 있다. 프로세서와 저장 매체는 ASIC 내에 존재할 수도 있다. ASIC은 유저 단말 내에 존재할 수도 있다. 대안으로, 프로세서와 저장 매체는 유저 단말에서 개별 컴포넌트들로서 존재할 수도 있다.
본 개시의 앞선 설명은 당업자들이 본 개시를 행하거나 이용하는 것을 가능하게 하기 위해 제공된다. 본 개시의 다양한 수정예들이 당업자들에게 쉽게 자명할 것이고, 본원에 정의된 일반적인 원리들은 본 개시의 취지 또는 범위를 벗어나지 않으면서 다양한 변형예들에 적용될 수도 있다. 따라서, 본 개시는 본원에 설명된 예들에 제한되도록 의도된 것이 아니고, 본원에 개시된 원리들 및 신규한 특징들과 일관되는 최광의의 범위가 부여되도록 의도된다.
비록 예시적인 구현예들이 하나 이상의 독립형 컴퓨터 시스템의 맥락에서 현재 개시된 주제의 양태들을 활용하는 것을 언급할 수도 있으나, 본 주제는 그렇게 제한되지 않고, 오히려 네트워크나 분산 컴퓨팅 환경과 같은 임의의 컴퓨팅 환경과 연계하여 구현될 수도 있다. 또 나아가, 현재 개시된 주제의 양상들은 복수의 프로세싱 칩들이나 디바이스들에서 또는 그들에 걸쳐 구현될 수도 있고, 스토리지는 복수의 디바이스들에 걸쳐 유사하게 영향을 받게 될 수도 있다. 이러한 디바이스들은 PC들, 네트워크 서버들, 및 핸드헬드 디바이스들을 포함할 수도 있다.
비록 본 주제가 구조적 특징들 및/또는 방법론적 작용들에 특정한 언어로 설명되었으나, 첨부된 청구항들에서 정의된 주제가 위에서 설명된 특정 특징들 또는 작용들로 반드시 제한되는 것은 아님이 이해될 것이다. 오히려, 위에서 설명된 특정 특징들 및 작용들은 청구항들을 구현하는 예시적인 형태로서 설명된다.
이 명세서에서 언급된 방법은 특정 실시예들을 통하여 설명되었지만, 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 실시예들을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
본 명세서에서는 본 개시가 일부 실시예들과 관련하여 설명되었지만, 본 발명이 속하는 기술분야의 통상의 기술자가 이해할 수 있는 본 개시의 범위를 벗어나지 않는 범위에서 다양한 변형 및 변경이 이루어질 수 있다는 점을 알아야 할 것이다. 또한, 그러한 변형 및 변경은 본 명세서에 첨부된 특허청구의 범위 내에 속하는 것으로 생각되어야 한다.
100 : 사용자 단말기 210 : 온체인 정보
212 : 블록체인 블록 220 : 서버
240 : 분석 보고서 310 : 데이터베이스
320 : 프로세서 340 : 통신부
530 : 인덱싱 서버 540 : 필터 서버

Claims (11)

  1. 블록체인 상의 정보를 제공하는 방법으로서,
    상기 블록체인 상의 온체인(on-chain) 정보를 수집하는 단계;
    상기 블록체인 상의 온체인 정보와 상기 블록체인에 대한 분석 보고서에 포함된 정보와 연관시키는 단계; 및
    상기 연관된 온체인 정보를 기초로 상기 블록체인에 대한 분석 보고서를 자동적으로 생성하는 단계를 포함하는
    를 포함하는, 블록체인 상의 정보 제공 방법.
  2. 제1항에 있어서,
    상기 블록체인 상의 온체인(on-chain) 정보를 수집하는 단계는, 상기 블록체인에 대한 분석보고서에 포함된 정보와 연관된 온체인 정보를 실시간으로 수집하는 단계를 포함하는, 블록체인 상의 정보 제공 방법.
  3. 제1항에 있어서,
    사용자 단말기로부터 상기 블록체인 상의 지표에 대한 조건을 수신하는 단계를 더 포함하고,
    상기 블록체인 상의 온체인(on-chain) 정보를 수집하는 단계는 상기 수신된 조건을 상기 블록체인으로부터 검색하여 상기 조건과 연관된 정보를 수집하는 단계를 포함하는,
    블록체인 상의 정보 제공 방법.
  4. 제1항에 있어서,
    상기 블록체인 상의 온체인(on-chain) 정보를 수집하는 단계는 상기 블록체인에서 제공되는 이벤트 로그에 후킹하여 상기 블록체인 상의 블록에 대한 이벤트 발생 시 통지받는 단계를 포함하는,
    블록체인 상의 정보 제공 방법.
  5. 제1항에 있어서,
    상기 블록체인 상의 온체인 정보를 수집하는 단계는 상기 블록체인의 온체인 정보를 검색이 가능하도록 인덱싱하여 데이터베이스를 구축하는 단계를 포함하는,
    블록체인 상의 정보 제공 방법.
  6. 제5항에 있어서,
    상기 인덱싱하여 데이터베이스를 구축하는 단계는,
    상기 수집된 온체인 정보를 작업 큐(job queue)를 사용하여 스케줄링하고, 비동기로 인덱싱을 실행하는 단계를 포함하는, 블록체인 상의 정보 제공 방법.
  7. 제1항에 있어서,
    사용자 단말기로부터 상기 블록체인 상의 지표에 대한 조건을 수신하는 단계; 및
    상기 수집된 온체인 정보가 상기 수신된 지표에 대한 조건을 만족하는 경우 상기 수신된 지표에 대한 조건이 만족되었음을 알리는 제1 알림을 상기 사용자 단말기로 통지하는 단계를 더 포함하는,
    블록체인 상의 정보 제공 방법.
  8. 제7항에 있어서,
    상기 사용자 단말기로부터 상기 블록체인 상의 지표에 대한 조건을 수신하는 단계는 상기 블록체인에 대한 분석 보고서의 지표에 대한 조건을 수신하는 단계를 포함하고,
    상기 제1 알림을 상기 사용자 단말기로 통지하는 단계는 상기 수집된 온체인 정보가 상기 블록체인에 대한 분석 보고서의 지표에 대한 조건을 만족하는 경우, 상기 블록체인에 대한 분석 보고서의 지표에 대한 조건이 만족되었음을 알리는 제2 알림을 상기 사용자 단말기로 통지하는 단계를 포함하는,
    블록체인 상의 정보 제공 방법.
  9. 제7항에 있어서,
    상기 온체인 정보에 대응되는 학습 정보를 인공신경망에 입력하여 기계학습을 수행함으로써 이상 감지 모델을 생성하는 단계;
    상기 수집된 온체인 정보 중, 상기 사용자로부터 수신된 상기 블록체인 상의 지표에 연관된 온체인 정보를 상기 이상 감지 모델에 입력하여 평소 패턴과 상이한 패턴을 나타내는 이상 감지가 있었는지 여부를 판정하는 단계; 및
    상기 이상 감지가 있었다고 판단되는 경우, 상기 사용자 단말기로 상기 지표에 대한 이상 감지가 발생되었다는 제3 알림을 통지하는 단계
    를 포함하는, 블록체인 상의 정보 제공 방법.
  10. 제1항에 있어서,
    상기 온체인 정보는,
    상기 블록체인 상에 동작되는 스마트 컨트랙트의 함수 실행 데이터, 상기 스마트 컨트랙트의 생성 정보, 상기 블록체인 상의 어카운트 정보, 상기 블록체인 상의 트랜잭션 정보, 상기 블록체인과 연관된 토큰의 소유 정보 및 상기 블록체인과 연관된 토큰의 identity 정보 중 적어도 하나를 포함하는, 블록체인 상의 정보 제공 방법.
  11. 제1항에 있어서,
    블록체인 상의 정보를 제공하는 방법에 따른 각각의 단계를 수행하는 명령어를 포함하는 프로그램이 기록된, 컴퓨터 판독가능 저장매체.
KR1020190011470A 2019-01-29 2019-01-29 블록체인 상의 정보를 제공하는 방법 및 장치 KR102170454B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190011470A KR102170454B1 (ko) 2019-01-29 2019-01-29 블록체인 상의 정보를 제공하는 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190011470A KR102170454B1 (ko) 2019-01-29 2019-01-29 블록체인 상의 정보를 제공하는 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20200101504A true KR20200101504A (ko) 2020-08-28
KR102170454B1 KR102170454B1 (ko) 2020-10-28

Family

ID=72265781

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190011470A KR102170454B1 (ko) 2019-01-29 2019-01-29 블록체인 상의 정보를 제공하는 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102170454B1 (ko)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101628005B1 (ko) * 2015-02-05 2016-06-13 주식회사 코인플러그 블록체인을 기반으로 하는 디지털 콘텐츠의 저작권리 위변조 감지시스템
KR101814989B1 (ko) * 2017-07-06 2018-01-05 주식회사 케이뱅크은행 블록 체인을 이용한 이상 금융 거래 탐지 방법 및 이를 실행하는 서버
KR20180010467A (ko) * 2016-07-21 2018-01-31 주식회사 케이티 가상화폐 관리 방법 및 이를 위한 장치
KR20180022335A (ko) * 2016-08-24 2018-03-06 김진오 중앙분산 블록체인 기반의 디지털 가상화폐를 이용한 거래 시스템, 거래 단말 장치 및 거래 서버 장치, 이를 이용한 거래 방법
KR20180037851A (ko) * 2016-10-05 2018-04-13 한전케이디엔주식회사 블록체인을 이용한 스마트 그리드 시스템의 보안 방법
KR20180046930A (ko) * 2018-04-18 2018-05-09 클레이웍스 주식회사 블록체인 기반 원산지증명시스템, 방법 및 프로그램
KR20180060044A (ko) * 2016-11-28 2018-06-07 주식회사 나라시스템 클라우드 환경에서 개인정보 보호를 지원하는 p2p 중개 보안 시스템
JP2018525952A (ja) * 2015-11-30 2018-09-06 サム グ チョン ブロックチェーン認証を利用したIoT基盤の事物の管理システムおよび方法
KR20180113145A (ko) * 2017-04-05 2018-10-15 삼성에스디에스 주식회사 블록체인 기반 실시간 거래 처리 방법 및 그 시스템
US20180309569A1 (en) * 2017-04-25 2018-10-25 Entit Software Llc Format preserving encryption of object code
KR101934444B1 (ko) * 2018-04-04 2019-01-02 대한민국 문서 및 유가증권의 무결성 데이터 관리 방법

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101628005B1 (ko) * 2015-02-05 2016-06-13 주식회사 코인플러그 블록체인을 기반으로 하는 디지털 콘텐츠의 저작권리 위변조 감지시스템
JP2018525952A (ja) * 2015-11-30 2018-09-06 サム グ チョン ブロックチェーン認証を利用したIoT基盤の事物の管理システムおよび方法
KR20180010467A (ko) * 2016-07-21 2018-01-31 주식회사 케이티 가상화폐 관리 방법 및 이를 위한 장치
KR20180022335A (ko) * 2016-08-24 2018-03-06 김진오 중앙분산 블록체인 기반의 디지털 가상화폐를 이용한 거래 시스템, 거래 단말 장치 및 거래 서버 장치, 이를 이용한 거래 방법
KR20180037851A (ko) * 2016-10-05 2018-04-13 한전케이디엔주식회사 블록체인을 이용한 스마트 그리드 시스템의 보안 방법
KR20180060044A (ko) * 2016-11-28 2018-06-07 주식회사 나라시스템 클라우드 환경에서 개인정보 보호를 지원하는 p2p 중개 보안 시스템
KR20180113145A (ko) * 2017-04-05 2018-10-15 삼성에스디에스 주식회사 블록체인 기반 실시간 거래 처리 방법 및 그 시스템
US20180309569A1 (en) * 2017-04-25 2018-10-25 Entit Software Llc Format preserving encryption of object code
KR101814989B1 (ko) * 2017-07-06 2018-01-05 주식회사 케이뱅크은행 블록 체인을 이용한 이상 금융 거래 탐지 방법 및 이를 실행하는 서버
KR101934444B1 (ko) * 2018-04-04 2019-01-02 대한민국 문서 및 유가증권의 무결성 데이터 관리 방법
KR20180046930A (ko) * 2018-04-18 2018-05-09 클레이웍스 주식회사 블록체인 기반 원산지증명시스템, 방법 및 프로그램

Also Published As

Publication number Publication date
KR102170454B1 (ko) 2020-10-28

Similar Documents

Publication Publication Date Title
CN108628929A (zh) 用于智能存档和分析的方法和装置
US11301136B2 (en) Capacity forecasting based on capacity policies and transactions
CN109716320A (zh) 用于分布式事件处理系统的图生成
US8924328B1 (en) Predictive models for configuration management of data storage systems
US7574379B2 (en) Method and system of using artifacts to identify elements of a component business model
CN110717825B (zh) 一种基于区块链的分布式数据交易记账系统
CN107077476A (zh) 利用动态类型的大数据对事件进行丰富以用于事件处理
US7730024B2 (en) Distributed data mining using analysis services servers
US20080222086A1 (en) Live profile
JP2016100005A (ja) リコンサイル方法、プロセッサ及び記憶媒体
CN112883116A (zh) 基于区块链的供应链金融AI DaaS算法仓库平台
US20190050435A1 (en) Object data association index system and methods for the construction and applications thereof
CN109684161A (zh) 数据分析方法、装置、服务器及存储介质
CN107408281A (zh) 数字资产管理供应
CN110162407A (zh) 一种资源管理方法及装置
CN103365946A (zh) 数据库性能分析
Tsai et al. Decentralized digital-asset exchanges: issues and evaluation
JP6409115B1 (ja) 自動仕訳サーバおよび自動仕訳プログラム
KR102170454B1 (ko) 블록체인 상의 정보를 제공하는 방법 및 장치
JP2003050806A (ja) 知識管理のシステムと方法
KR102140325B1 (ko) 블록체인 기반의 팩트체킹과 검색 기능이 있는 컨텐츠 관리 방법 및 그 시스템
US20070198465A1 (en) Live profile
CN110162521A (zh) 一种支付系统交易数据处理方法及系统
Ahmad K-Mean and K-Prototype Algorithms Performance Analysis
US20140149186A1 (en) Method and system of using artifacts to identify elements of a component business model

Legal Events

Date Code Title Description
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant