KR20210077135A - 블록 체인 동작 프로그램 기록매체 - Google Patents

블록 체인 동작 프로그램 기록매체 Download PDF

Info

Publication number
KR20210077135A
KR20210077135A KR1020190168429A KR20190168429A KR20210077135A KR 20210077135 A KR20210077135 A KR 20210077135A KR 1020190168429 A KR1020190168429 A KR 1020190168429A KR 20190168429 A KR20190168429 A KR 20190168429A KR 20210077135 A KR20210077135 A KR 20210077135A
Authority
KR
South Korea
Prior art keywords
network
block
neural
information
node
Prior art date
Application number
KR1020190168429A
Other languages
English (en)
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 KR1020190168429A priority Critical patent/KR20210077135A/ko
Publication of KR20210077135A publication Critical patent/KR20210077135A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • H04L67/1051Group master selection mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0637Strategic management or analysis, e.g. setting a goal or target of an organisation; Planning actions based on goals; Analysis or evaluation of effectiveness of goals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1034Reaction to server failures by a load balancer

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • General Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Finance (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Signal Processing (AREA)
  • Economics (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Educational Administration (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Tourism & Hospitality (AREA)
  • Marketing (AREA)
  • Development Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명의 실시 예에 따른 블록 체인 네트워크에 접속되는 노드 단말 장치는, 상기 블록 체인 네트워크에 포함된 뉴럴 블록 클러스터 네트워크를 식별하고, 식별된 뉴럴 블록 클러스터 네트워크 내에서의 투표 합의 프로세스에 의해 선정된 노드 단말을 상기 뉴럴 블록 클러스터의 신규 뉴럴 블록을 생성할 수 있는 마스터 노드로 활성화하며, 상기 마스터 노드가 아닌 단말은 상기 마스터 노드의 뉴럴 블록을 공유받는 팔로워 노드로 활성화하는 뉴럴 블록 모듈; 및 상기 활성화에 따라 신규 뉴럴 블록 모듈을 생성 전파하거나, 뉴럴 블록 클러스터 네트워크 내 공유된 뉴럴 블록의 갱신을 처리하는 블록 체인 서비스부를 포함하며, 상기 뉴럴 블록 모듈은 상기 마스터 노드에 장애가 발생된 경우, 상기 뉴럴 블록 클러스터 내 포함된 팔로워 노드 단말 중 어느 하나를 마스터 노드로 활성화시키는 투표 합의 프로세스를 수행한다.

Description

블록 체인 동작 프로그램 기록매체{A Recording medium on which blockchain network operation program is recorded}
본 발명은 동작 프로그램 기록매체에 관한 것이다. 보다 구체적으로, 본 발명은 뉴럴 블록 클러스터 기반의 안전한 블록 체인 네트워크를 구축하기 위한 블록체인 네트워크의 동작방법을 컴퓨터에서 실행시키기 위한 프로그램이 기록된 기록매체에 관한 것이다.
일반적으로, 블록체인(blockchain)은 분산 데이터베이스의 하나로 P2P(Peer to Peer) 네트워크를 활용한다. 분산 데이터베이스는 데이터를 물리적으로 분산시켜 다수의 이용자가 대규모의 데이터베이스를 공유하게 만드는 기술이다. 블록체인은 인터넷으로 연결된 가상화폐 사용자들의 P2P 네트워크를 만든다. 이를 통해 가상화폐의 거래 내역(블록, block)이 사용자의 컴퓨터에 저장된다. 그중 사용자 과반수의 데이터와 일치하는 거래 내역은 정상 장부(ledger)로 확인되어 블록으로 묶여 보관한다. 만일 특정 사용자의 장부에서 누락 등의 오류가 발견된다면, 정상 장부를 복제해 대체하는 방식으로 수정한다. 새로운 거래 내역을 담은 블록이 만들어지면 앞의 블록뒤에 덧붙이는 과정이 반복된다. 블록체인이란 이름도 거래 내역(블록, block)을 연결(chain)했다는 뜻이다. 거래할 때는 각 사용자가 가진 거래 내역을 대조한다. 이를 통해 거래 내역의 진위를 파악할 수 있어 데이터 위조가 방지된다. 블록체인의 보안 안정성은 데이터를 공유하는 이용자가 많을 수록 커진다. 블록체인은 비트코인 이외에도 클라우드 컴퓨팅 서비스 등 다양한 온라인 서비스에 활용되고 있다.
프라이빗(private) 블록체인의 경우, 권한을 부여 받은 일부 노드들의 분산합의에 의해 블록이 유지되고 있다.
그러나 이러한 권한 위임 기반 기술은 퍼블릭(public) 블록 체인에 비해 많은 거래를 처리 가능하지만, 권한 위임된 노드에 대한 네트워크 접속 문제가 발생되거나, 노드 단말 시스템이 정지되거나, 물리적으로 다운되는 경우, 거래 및 결제 프로세스가 중단 또는 지연되는 문제점이 발생할 수 있다. 이는 블록 체인 데이터의 모순 거래 발생으로 인한 리오그(reorganaization)를 발생시킬 수 있으며, 하드 포크, 소프트포크 등을 이용한 정보의 백업도 잦아지게 된다.
한편, 이러한 블록 체인 시스템을 도입하는 기관 시스템은 폭발적으로 늘어나는 추세이나, 상기한 바와 같은 거래 및 결제 프로세스의 문제점들을 분석 검증하기 위한 품질 검증 솔루션은 그 개발이 미비한 실정이다.
특히, 블록 체인 기반의 소프트웨어 솔루션의 경우 분산 소프트웨어의 특성상 정보 수집의 한계로 인해, 상세한 분석 및 평가가 매우 어려운 문제점이 있다.
본 발명은 상기한 바와 같은 문제점을 해결하고자 안출된 것으로, 권한 위임된 노드의 장애 영향을 최소화하고, 블록의 유지 및 안정성을 보장할 수 있도록 뉴럴 블록 클러스터 기반의 안전한 블록 체인을 구축하는 장치와 그 동작 방법 및 그 동작방법 프로그램을 제공하는데 그 목적이 있다.
또한, 본 발명은 뉴럴 블록 클러스터 기반 내 단말 장치에 블록 체인 모니터링 서비스를 제공 가능한 뉴럴 블록 모듈을 구비시켜, 블록 체인 내 거래 및 결제 프로세스의 문제점 또는 취약점들을 분석 및 검증하여 관련 품질 정보를 제공할 수 있는 관리 장치 및 그 동작 방법을 제공하는 데 그 목적이 있다.
상기한 바와 같은 과제를 해결하기 위한 본 발명의 실시 예에 따른 블록체인 네트워크의 동작방법은, 뉴럴 블록 모듈과, 블록체인 서비스부를 구비한 노드 단말장치들에 의해 블록체인 네트워크를 구성하고, 관리 서비스 장치가 상기 뉴럴블록의 모니터링 정보에 의거하여 가시화된 블록체인 네트워크의 관리 정보를 제공하는 블록체인 네트워크 시스템의 동작방법 프로그램으로서,
상기 뉴럴 블록 모듈이, 상기 블록 체인 네트워크에 포함된 뉴럴 블록 클러스터 네트워크를 식별하는 단계; 상기 뉴럴 블록 모듈이, 식별된 뉴럴 블록 클러스터 네트워크 내에서의 투표 합의 프로세스에 의해 선정된 노드 단말을 상기 뉴럴 블록 클러스터의 신규 뉴럴 블록을 생성할 수 있는 마스터 노드로 활성화하고, 상기 마스터 노드가 아닌 단말은 상기 마스터 노드의 뉴럴 블록을 공유받는 팔로워 노드로 활성화하는 단계; 블록 체인 서비스부가, 상기 활성화에 따라 신규 뉴럴 블록 모듈을 생성 전파하거나, 뉴럴 블록 클러스터 네트워크 내 공유된 뉴럴 블록의 갱신을 처리하는 단계; 상기 뉴럴 블록 모듈이, 상기 마스터 노드에 장애가 발생된 경우, 상기 뉴럴 블록 클러스터 내 포함된 팔로워 노드 단말 중 어느 하나를 마스터 노드로 활성화시키는 투표 합의 프로세스를 수행하는 단계; 상기 뉴럴 블록 모듈이 상기 마스터 노드의 장애 여부를 모니터링하며, 블록 체인 네트워크 소프트웨어 품질 평가를 위한 검증 정보의 모니터링을 수행하고, 모니터링 정보를 관리 서비스 장치로 전달하는 단계; 상기 관리 서비스 장치가 상기 검증 정보에 기초한 소프트웨어 가시화, 아키텍쳐 가시화 및 문서 가시화 서비스 중 적어도 하나를 제공하고, 가시화된 정보에 기초한 소프트웨어 검증 및 분석 인터페이스를 관리자 단말로 제공하는 단계;를 포함한다.
한편, 본 발명의 실시예에 따른 블록 체인 네트워크에 접속되는 노드 단말 장치는, 상기 블록 체인 네트워크에 포함된 뉴럴 블록 클러스터 네트워크를 식별하고, 식별된 뉴럴 블록 클러스터 네트워크 내에서의 투표 합의 프로세스에 의해 선정된 노드 단말을 상기 뉴럴 블록 클러스터의 신규 뉴럴 블록을 생성할 수 있는 마스터 노드로 활성화하며, 상기 마스터 노드가 아닌 단말은 상기 마스터 노드의 뉴럴 블록을 공유받는 팔로워 노드로 활성화하는 뉴럴 블록 모듈; 및 상기 활성화에 따라 신규 뉴럴 블록 모듈을 생성 전파하거나, 뉴럴 블록 클러스터 네트워크 내 공유된 뉴럴 블록의 갱신을 처리하는 블록 체인 서비스부를 포함하며, 상기 뉴럴 블록 모듈은 상기 마스터 노드에 장애가 발생된 경우, 상기 뉴럴 블록 클러스터 내 포함된 팔로워 노드 단말 중 어느 하나를 마스터 노드로 활성화시키는 투표 합의 프로세스를 수행한다.
본 발명의 실시 예에 따르면, 프라이빗 블록 체인 네트워크를 구성하는 권한 노드들을 뉴럴 블록 클러스터로 구성하고, 뉴럴 블록 클러스터 내 팔로우 노드로부터 마스터 노드로의 권한 위임을 이용한 블록 생성을 처리하되, 상기 마스터 노드에 장애가 발생되는 경우 상기 뉴럴 블록 클러스터 내 다른 팔로워 노드가 마스터 노드로 대체되도록 하는 뉴럴 블록 클러스터 내 선정 합의 프로세스를 수행할 수 있는 뉴럴 블록 모듈들을 구비시킴으로써, 블록 클러스터 기반의 안전한 블록 체인을 구축하는 노드 단말 장치 및 그 동작 방법을 제공할 수 있다.
이에 따라, 본 발명의 실시 예에 따르면 권한 위임된 노드에 대한 네트워크 접속 문제가 발생되거나, 노드 단말 시스템이 정지되거나, 물리적으로 다운되는 경우에도 거래 및 결제 프로세스가 중단 또는 지연되지 않도록 할 수 있으며, 블록 체인 데이터의 모순 거래 발생으로 인한 리오그(reorganaization)를 방지하고, 하드 포크, 소프트포크 등을 이용한 정보의 백업도 최소화할 수 있다.
또한, 본 발명의 실시 예에 따르면, 상기 뉴럴 블록 모듈은 블록 체인 모니터링 서비스를 제공하여, 관련 모니터링 정보를 관리 장치로 전달하고, 관리 장치는 블록 체인 내 거래 및 결제 프로세스의 문제점 또는 취약점들을 하나 이상의 가시화 알고리즘 프로세스에 따라 분석 및 검증하여 관련 품질 정보를 시각적이고 효과적으로 제공할 수 있는 관리 장치 및 그 동작 방법을 제공할 수 있다.
도 1은 본 발명의 실시 예에 따른 전체 시스템을 개략적으로 도시한 도면이뎌, 도 2는 본 발명의 실시 예에 따른 뉴럴 블록 클러스터 및 뉴럴 블록 생성과정을 설명하기 위한 도면이다.
도 3은 본 발명의 실시 예에 따른 뉴럴 블록 모듈을 보다 구체적으로 도시한 블록도이다.
도 4는 본 발명의 실시 예에 따른 뉴럴 블록 모듈의 동작 방법을 설명하기 위한 흐름도이다.
도 5는 본 발명의 실시 예에 따른 관리 서비스 장치를 설명하기 위한 블록도이다.
도 6은 본 발명의 실시 예에 따른 관리 서비스 장치의 동작 방법을 설명하기 위한 흐름도이다.
도 7은 본 발명의 실시 예에 따른 관리 서비스 장치의 블록 체인 기반 소프트웨어 품질 분석 인터페이스를 설명하기 위한 예시도이다.
이하의 내용은 단지 본 발명의 원리를 예시한다. 그러므로 당업자는 비록 본 명세서에 명확히 설명되거나 도시되지 않았지만 본 발명의 원리를 구현하고 본 발명의 개념과 범위에 포함된 다양한 장치를 발명할 수 있는 것이다. 또한, 본 명세서에 열거된 모든 조건부 용어 및 실시예들은 원칙적으로, 본 발명의 개념이 이해되도록 하기 위한 목적으로만 명백히 의도되고, 이와 같이 특별히 열거된 실시예들 및 상태들에 제한적이지 않는 것으로 이해되어야 한다.
또한, 본 발명의 원리, 관점 및 실시예들 뿐만 아니라 특정 실시예를 열거하는 모든 상세한 설명은 이러한 사항의 구조적 및 기능적 균등물을 포함하도록 의도되는 것으로 이해되어야 한다. 또한 이러한 균등물들은 현재 공지된 균등물뿐만 아니라 장래에 개발될 균등물 즉 구조와 무관하게 동일한 기능을 수행하도록 발명된 모든 소자를 포함하는 것으로 이해되어야 한다.
따라서, 예를 들어, 본 명세서의 블록도는 본 발명의 원리를 구체화하는 예시적인 회로의 개념적인 관점을 나타내는 것으로 이해되어야 한다. 이와 유사하게, 모든 흐름도, 상태 변환도, 의사 코드 등은 컴퓨터가 판독 가능한 매체에 실질적으로 나타낼 수 있고 컴퓨터 또는 프로세서가 명백히 도시되었는지 여부를 불문하고 컴퓨터 또는 프로세서에 의해 수행되는 다양한 프로세스를 나타내는 것으로 이해되어야 한다.
또한 프로세서, 제어 또는 이와 유사한 개념으로 제시되는 용어의 명확한 사용은 소프트웨어를 실행할 능력을 가진 하드웨어를 배타적으로 인용하여 해석되어서는 아니되고, 제한 없이 디지털 신호 프로세서(DSP) 하드웨어, 소프트웨어를 저장하기 위한 롬(ROM), 램(RAM) 및 비 휘발성 메모리를 암시적으로 포함하는 것으로 이해되어야 한다. 주지관용의 다른 하드웨어도 포함될 수 있다.
상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명하기로 한다.
도 1은 본 발명의 실시 예에 따른 전체 시스템을 개략적으로 도시한 도면이뎌, 도 2는 본 발명의 실시 예에 따른 뉴럴 블록 클러스터 및 뉴럴 블록 생성과정을 설명하기 위한 도면이다.
먼저, 도 1에 도시된 바와 같이, 본 발명의 실시 예에 따른 블록 체인 네트워크 시스템(1000)은, 네트워크를 통해 유선 또는 무선으로 연결된 하나 이상의 노드 단말(100)들에 의해 형성된 블록체인 메쉬 네트워크로 구성될 수 있다.
그리고, 노드 단말(100)들은 입출력 장치를 통하여 블록 체인 네트워크에 연결되고, 데이터를 교환할 수 있다. 블록체인 생성 장치(1000)는 이동 전화, 스마트 폰, PDA, 태블릿 컴퓨터, 랩톱 컴퓨터 등 모바일 장치, 퍼스널 컴퓨터, 태블릿 컴퓨터, 넷북 등 컴퓨팅 장치, 혹은 텔레비전, 스마트 텔레비전, 게이트 제어를 위한 보안 장치 등 전자 제품 등 다양한 전자 시스템을 포함할 수 있다.
그리고, 각 노드 단말(100)들은 블록 체인 네트워크에 접속하기 위한 통신 모듈을 구비할 수 있다. 블록 체인 네트워크는 예를 들어, 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network;WAN) 또는 부가가치 통신망(Value Added Network; VAN) 등과 같은 유선 네트워크로 구현될 수 있다. 또한, 블록 체인 네트워크는 이동 통신망(mobile radio communication network), 위성 통신망, 블루투스(Bluetooth), Wibro(Wireless Broadband Internet), HSDPA(High Speed Downlink Packet Access), 와이파이(Wi-Fi), LTE(Long Term Evolution) 등과 같은 모든 종류의 무선 네트워크로 구현될 수 있다. 필요에 따라서, 블록 체인 네트워크는 유선 및 무선이 혼용된 네트워크일 수 있다.
그리고, 각 노드 단말은 자신의 노드 접속에 따른 계정 정보를 네트워크를 통해 클라우드 방식으로 공유되는 거래 장부 데이터에 등록할 수 있다. 그리고, 블록 체인을 생성하기 위한 암호화 정보의 거래가 필요한 경우, 각 거래자 단말은 상기 거래 장부 데이터에 기록될 거래 정보를 각 거래자 단말에게 전파할 수 있다.
그리고, 이에 대응하는 상호 검증 처리에 따라, 예를 들어 일정 비율 이상의 노드 단말로부터의 승인이 처리된 경우 상기 거래 장부 데이터가 업데이트되고, 그 정보가 공유됨으로써, 블록 체인을 생성하기 위한 암호화 정보의 거래가 처리될 수 있다.
여기서, 상기 거래 장부 데이터는 일정 시간 또는 단위에 대응하는 블록별로 현재의 블록이 이전에 생성된 블록에 대한 해시값을 포함하도록 하여 복수의 블록이 생성 순서에 따라 순차적으로 연결된 구조를 갖는 블록 체인(block chain) 데이터와 연동될 수 있다.
이에 따라, 거래 장부 데이터의 위변조 여부 검증은 상기 블록 체인의 해시값 검증에 따라 용이하게 처리될 수 있다. 이를 위해, 각 거래자 단말에서는 다음 블록의 해시값을 산출하기 위한 연산 및 검증 처리를 수행하는 컴퓨팅 파워를 제공하고, 이에 대응하는 보상을 획득할 수도 있다.
이러한 블록 체인의 보안 안정성은 데이터를 공유하는 공유자들의 시스템 참여에 의해 형성될 수 있다. 따라서, 블록체인 네트워크에 접속된 각 공유자 단말 사이의 공유에 대한 내역 및 블록 체인을 생성하기 위한 암호화 정보 발급/거래 내역 등을 포함하는 거래 정보 블록이 순차적으로 저장될 수 있으며, 그 위변조 방지를 위한 해시값을 순차적으로 블록 체인화하기 위한 거래 검증(작업증명) 처리가 각 거래자 단말에서 분산 수행될 수 있다.
이러한 거래 검증 처리는 다양한 분산합의 알고리즘이 사용될 수 있으며, 대표적으로서, PoW(Proof-of-Work), PoS(Proof-of-Stake) 등이 사용될 수 있다. 작업증명(PoW, Proof-of-Work)은 작업을 위해 리소스(ex. 컴퓨팅 파워 등)를 투입했다는 것을 증명하여 부정을 억제하는 방법으로 예시되고, PoS(Proof-of-Stake)는 노드의 보유 지분에 비례하여 증명이 가능하도록, PoS는 블록을 생성할 수 있는 확률을 각 노드가 갖고 있는 토큰의 지분에 비례하도록 제어하는 프로세스를 제공하고 있다.
특히, 본 발명의 실시 예에 따른 노드 단말(100)들은 프라이빗 블록 체인 네트워크를 구축할 수 있으며, 프라이빗 블록 체인 네트워크의 경우에는 권한 위임된 특정 노드 단말에서만 블록의 생성 및 검증이 가능하도록 제어된다.
다만, 프라이빗 블록 체인 네트워크는 분산 합의를 빠르게 처리할 수 있는 장점은 있으나 전술한 바와 같이 권한 위임된 단말 그 자체에 장애가 발생하는 경우 그 노드 단말 뿐만 아니라 권한을 위임한 모든 단말들이 실질적으로 합의에 참여할 수 없게 되는 문제점이 발생된다. 이는 결과적으로 블록 체인 데이터의 분화를 일으킬 수 있으며, 상호 일치되지 않는 데이터들로 인해 리오그(reorganization)가 발생되고, 나아가 잦은 포크(fork) 프로세스로 인한 시스템 안정성을 저하시킬 수 있다.
이를 해결하기 위해, 도 2를 참조하면, 본 발명의 실시 예에 따른 블록 체인 시스템(1000)의 노드 단말(100)들은, 프라이빗 블록 체인의 블록 생성에 대한 권한 위임에 따라 전술한 일반적 블록 체인 생성 및 공유 프로세스의 처리가 가능한 블록 체인 서비스부(120)를 포함한다. 여기서, 본 발명의 실시 예에서 노드 단말(100)들은 프라이빗 블록 체인 네트워크에 참여하고, 각 블록의 생성 가능한 권한이 부여된 노드 단말(100)들일 수 있다. 프라이빗 블록 체인 네트워크에 참여하는 단말(100)들에는 시스템(1000)에서 설정되는 권한 정보가 부여될 수 있다. 상기 권한 정보는 블록 생성, 마이닝, 거래 및 합의 노드 참여 기능별 각각의 세부 권한으로 구분될 수 있고, 상기 권한 정보는 블록 체인 서비스부(120)에 의해 식별되어 네트워크를 통해 수행 가능한 프로세스들이 제어될 수 있다.
그리고, 노드 단말(100)들은 자신이 속한 사전 설정된 개수의 노드들을 포함하는 뉴럴 블록 클러스터를 식별하고, 상기 뉴럴 블록 클러스터 내에서 투표 합의 프로세스에 의해 선정되는 노드 단말(100)을 마스터 노드로 활성화하는 뉴럴 블록 모듈(110)을 포함할 수 있다.
그리고, 상기 마스터 노드가 아닌 뉴럴 블록 모듈(110)은 팔로워 노드로 활성화될 수 있으며, 상기 마스터 노드인 노드 단말 주소로의 블록 생성 권한을 위임하고, 마스터 노드인 노드 단말에서 생성된 신규 블록 및 검증된 체인 데이터를 상기 마스터 노드인 노드 단말로부터 수신할 수 있다.
그리고, 상기 마스터 노드의 노드 단말 주소에 장애가 발생한 경우에는, 각 뉴럴 블록 모듈(110)은 상기 뉴럴 블록 클러스터 내 포함된 팔로워 노드 단말 중 어느 하나를 마스터 노드로 활성화시키는 투표 합의 프로세스를 수행할 수 있다.
이러한 투표 합의 프로세스에 의해 다시 마스터 노드 단말(100)이 선정되면, 마스터 노드 단말(100)은 다시 전술한 바와 같은 팔로워 노드 단말로부터의 블록 생성 권한 위임 정보를 획득하고, 자신이 생성한 신규 블록 및 검증된 체인 데이터를 상기 팔로워 노드 단말들로 전파할 수 있다.
이러한 뉴럴 블록 클러스터 네트워크는 일정 개수 이내의 노드 단말(100)들 간에 형성될 수 있으며, 관련 설정 정보 및 설정 조건은 사전 구축된 스마트 컨트랙트의 형태 등에 명시되어 블록 체인 데이터 내에 저장될 수 있다. 예를 들어, 지역적 조건, 네트워크 거리 조건 또는 네트워크 속도 조건에 따라 인접한 일정 개수 이내의 노드 단말(100)들은 하나의 뉴럴 블록 클러스터 네트워크로 형성될 수 있다.
이러한 뉴럴 블록 클러스터 네트워크는 각 노드간 정보 교환을 통해 P2P(peer to peer) 네트워크를 구축할 수 있으며, 뉴럴 블록 모듈(110)은 각 뉴럴 블록 클러스터 내 노드 단말(100)을 식별하기 위한 장치 정보, 노드 네임 및 P2P 네트워크 주소 정보를 미리 색인하여 저장할 수 있다.
또한, 뉴럴 블록 모듈(110)은 뉴럴 블록 클러스터 내에서 마스터 노드의 단말 정보를 모니터링할 수 있으며, 마스터 노드가 존재하지 않거나, 마스터 노드 단말의 응답이 일정 시간 이상이거나, 마스터 노드로부터 정상 블록을 수신하지 못하는 등의 장애가 발생하는 경우, 상기 마스터 노드의 노드 단말은 뉴럴 블록 클러스터 네트워크에서 배제될 수 있으며, 마스터 노드 단말을 재선정하기 위한 투표 합의 프로세스를 수행할 수 있다.
여기서, 투표 합의 프로세스는 사전 설정된 조건에 따라, 뉴럴 블록 클러스터 내 포함된 노드 단말(100)들 중 가장 안정성 또는 신뢰성 있는 노드 단말(100)을 선정하는 프로세스일 수 있으며, 예를 들어, 사전 수집된 장치 정보 또는 네트워크 응답 속도 정보 등에 기초하여 각 노드 단말(100)의 뉴럴 블록 모듈(110)들은 선정 투표 정보를 공유하고, 과반 또는 가장 높은 투표수를 득표한 노드 단말(100)이 마스터 노드로 결정될 수 있다. 만약 마스터 노드가 결정되지 못하는 경우, 뉴럴 블록 모듈(110)은 일정 시간 이후 재투표를 수행할 수 있으며, 재투표 이후에도 마스터 노드가 결정되지 못하는 경우, 현재의 뉴럴 블록 클러스터 네트워크를 해제하고, 접속가능한 다른 뉴럴 블록 클러스터를 색인하여 다른 뉴럴 블록 클러스터 네트워크에 참여할 수도 있다.
또한, 전술한 뉴럴 블록 모듈(110)은 블록 체인 서비스부(120)와 결합된 플랫폼 소프트웨어 개발 키트(SDK)로 구현될 수 있으며, SDK는 상기 SDK가 설치 가능한 다양한 플랫폼상에 설치되어 노드 단말(100)의 기능을 실행할 수 있다. 또한, 뉴럴 블록 모듈(110)은 이러한 소프트웨어 개발 키트의 품질 평가를 위한 처리 정보의 모니터링을 수행하고, 모니터링 정보를 별도의 관리 서비스 장치로 전달할 수 있는 바, 이에 대하여는 도 5 내지 도 7등을 참조하여 보다 구체적으로 후술하도록 한다.
도 3은 본 발명의 실시 예에 따른 뉴럴 블록 모듈을 보다 구체적으로 도시한 블록도이다.
도 3을 참조하면, 본 발명의 실시 예에 따른 뉴럴 블록 모듈(110)은, 장치 정보 설정부(111), 클라이언트 설정부(112), P2P 주소 설정부(113), 클러스터 설정부(114), 마스터 노드 기능부(115), 팔로워 노드 기능부(116) 및 모니터링부(117)를 포함한다.
장치 정보 설정부(111)는, 뉴럴 블록 모듈(110)이 설치된 단말(100)의 장치 정보를 획득 및 저장 관리한다. 여기서, 장치 정보는 단말(100)의 노드 네임 정보, 장치 주소 정보, 장치 성능 정보, 장치 신뢰성 정보, 사용 네트워크 정보 중 적어도 하나를 포함할 수 있다. 이러한 장치 정보는, 뉴럴 블록 클러스터의 식별 또는 구축, 마스터 노드의 결정, 마스터 노드 투표 합의 프로세스의 수행 등에 이용될 수 있다.
클라이언트 설정부(112)는 뉴럴 블록 클러스터 네트워크를 포함하는 블록 체인 네트워크에 접속할 클라이언트 정보를 설정한다. 설정된 클라이언트 정보는LISTEN-CLIENT-URL과 같은 블록체인 네트워크 클라이언트 주소 정보를 포함할 수 있으며, 단말(100)은 상기 블록체인 네트워크 클라이언트 주소 정보를 통해 블록 체인 네트워크에 접속하여 블록 정보를 획득하거나 공유할 수 있다.
그리고, P2P 주소 설정부(113)는, 뉴럴 블록 클러스터 네트워크를 구성하는 각 뉴럴 블록 노드간 블록 정보를 전파하기 위한 자신의 뉴럴 블록 클러스터 네트워크 내 P2P 주소 정보를 설정한다.
그리고, 클러스터 설정부(114)는, 클라이언트 설정 정보에 따른 블록 체인 네트워크에 접속하고, 현재 단말(100)이 속한 뉴럴 블록 클러스터 네트워크를 구성하는 하나 이상의 노드 단말들을 식별하며, 식별된 단말들의 P2P 주소 정보를 수집하여 저장하며, 각 P2P 주소 정보를 이용한 뉴럴 블록 클러스터 네트워크 내 내부 네트워크 설정을 수행한다.
전술한 바와 같이, 뉴럴 블록 클러스터 네트워크는, 지역적 또는 네트워크 속도 등에 따라 상호 인접한 일정 개수 이내의 블록 생성 권한이 위임된 노드 단말(100)들이 연결되어 구성될 수 있다. 이러한 연결 설정을 위해, 클러스터 설정부(114)는 자신이 속한 뉴럴 블록 클러스터 네트워크를 식별하거나, 신규 뉴럴 블록 클러스터 네트워크를 식별할 수 있으며, 식별된 뉴럴 블록 클러스터 네트워크 내 상기 P2P 주소 정보로 공유된 마스터 노드 정보에 따라, 마스터 노드 기능부(115) 또는 팔로워 노드 기능부(116)가 활성화될 수 있다. 이를 위해, 모니터링부(117)는 뉴럴 블록 클러스터 네트워크 내 마스터 노드 정보를 수집하고, 장애 여부 발생 등을 주기적으로 모니터링할 수 있다.
마스터 노드 정보는 클러스터 설정부(114)를 통해 각 뉴럴 블록 클러스터 네트워크 내에서 공유될 수 있으며, 마스터 노드가 선정되지 않은 경우 클러스터 설정부(114)는 마스터 노드 단말(100)의 설정을 위한 투표 합의 프로세스를 수행할 수있다. 여기서 투표 합의 프로세스는 장치 정보 설정부(111)에서 설정된 장치 정보에 기초한 마스터 노드의 선정 투표 정보를 상기 뉴럴 블록 클러스터 네트워크를 구성하는 각 노드 단말들로 공유하는 프로세스를 포함할 수 있다.
이를 위해, 클러스터 설정부(114)는 뉴럴 블록 클러스터 네트워크를 구성하는 노드 단말들의 장치 정보를 수집할 수 있으며, 장치 정보와 사전 설정된 조건 정보에 기초한 우선 순위에 따라 특정 노드 단말을 마스터 노드로 결정하기 위한 자신의 선정 투표 정보를 상기 P2P 주소 정보로 공유할 수 있다. 만약 우선 순위가 동일한 노드 단말이 복수인 경우, 클러스터 설정부(114)는 우선 순위가 동일한 복수의 노드 단말 중 랜덤하게 선정된 노드 단말을 상기 특정 노드 단말로 결정할 수 있다.
이에 따라, 각 노드 단말(100)들 중 가장 투표 수가 높거나 과반수 이상의 투표 수를 획득한 어느 하나의 단말(100)은 마스터 노드 단말로 활성화될 수 있다.
보다 구체적으로, 마스터 노드 기능부(115)는 클러스터 설정부(114)에서의 선정 투표 프로세스 결과 정보를 참조하여, 단말(100)의 마스터 노드 기능 수행여부를 식별하고, 단말(100)이 마스터 노드로 선정된 경우 마스터 노드 기능을 수행한다. 여기서, 마스터 노드 기능부(115)가 활성화된 경우, 후술할 팔로워 노드 기능부(116)는 비활성화로 제어될 수 있다.
그리고, 마스터 노드 기능부(115)는 거래(트랜잭션) 정보 수집에 따른 블록 생성 및 공유 갱신 프로세스를 수행하고, 팔로워 노드 기능이 활성화된 뉴럴 블록 네트워크 내 다른 단말들로 상기 마스터 노드 단말의 블록 생성 및 공유 갱신 정보를 상기 P2P 주소 정보를 통해 전달한다.
이에 따라, 마스터 노드 기능부(115)는 뉴럴 블록 클러스터를 대표하는 블록 정보를 생성, 검증 및 전파할 수 있으며, 그 결과 정보는 뉴럴 블록 클러스터 내에 P2P 네트워크를 통해 다른 팔로워 노드 기능 활성화된 단말들로 브로드캐스팅될 수 있다.
한편, 팔로워 노드 기능부(116)는 마스터 노드로 선정되지 않은 단말에서 활성화될 수 있으며, 상기 마스터 노드 기능이 활성화된 단말로부터 상기 뉴럴 블록 클러스터 네트워크를 통해 브로드캐스팅된 블록 정보를 수신하여 블록 체인 서비스부(120)로 전달하고, 블록 체인 서비스부(120)는 마스터 노드로부터 수신된 블록 정보에 따른 블록 생성 및 갱신 처리를 수행할 수 있다.
한편, 전술한 모니터링부(117)는, 뉴럴 블록 네트워크 내 마스터 노드 정보를 수집 및 모니터링하며, 마스터 노드 단말의 장애 여부 발생을 판단하여 클러스터 설정부(114)로 전달할 수있다. 마스터 노드 단말의 장애는 블록 정보가 일정 시간 이내 수신되지 않거나, 마스터 노드 정보로 요청된 확인 정보에 대응하는 응답이 수신되지 않거나, 수신된 정보가 비정상인 경우 판단될 수 있다.
또한, 모니터링부(117)는 뉴럴 블록 클러스터 네트워크 및 전체 블록 체인 네트워크로부터 소프트웨어 품질 검증을 위한 검증 정보를 수집할 수 있으며, 수집된 검증 정보는 관리 서비스 장치(200)로 전달될 수 있다. 관리 서비스 장치(200)는 검증 정보에 기초한 소프트웨어 가시화, 아키텍쳐 가시화 및 문서 가시화 서비스를 제공할 수 있으며, 가시화된 정보에 기초한 소프트웨어 검증 및 분석 인터페이스를 관리자 단말로 제공할 수 있다.
그리고, 모니터링부(117)는 블록 체인 정보의 위변조 감지를 처리하여 관리 서비스 장치(200)로 전달할 수 있으며, 특히 모니터링부(117)는 뉴럴 블록 클러스터 내로 마스터 노드로부터 공유되는 뉴럴 블록과, 전체 블록 체인 네트워크로 공유되는 블록 체인 데이터를 비교하여, 위변조 여부를 탐지할 수 있고, 마스터 노드의 위변조 행위가 탐지되는 경우에는 상기 마스터 노드의 권한 제외 등을 뉴럴 블록 클러스터 네트워크 내 다른 단말들로 요청할 수도 있다.
한편, 도시되지는 않았으나, 단말(100) 장치는, 전술한 블록 체인 서비스부(120) 및 뉴럴 블록 모듈(110)이 활용 가능한 메모리를 포함할 수 있다. 메모리는 컴퓨터에서 읽을 수 있는 명령어(instruction)를 포함할 수 있으며, 블록 체인 서비스부(120) 및 뉴럴 블록 모듈(110)은 메모리에 저장된 명령어가 프로세서에서 실행됨에 따라 앞서 언급된 동작들을 수행할 수 있다. 메모리는 휘발성 메모리 혹은 비휘발성 메모리일 수 있다.
메모리는 사용자의 데이터를 저장하도록 저장 장치를 포함할 수 있다. 저장 장치는 eMMC(embeddedmultimedia card), SSD(solid state drive), UFS(universal flash storage) 등 일 수 있다. 저장 장치는 적어도 하나의 비휘발성 메모리 장치를 포함할 수 있다. 비휘발성 메모리 장치는, 낸드 플래시 메모리(NAND FlashMemory), 수직형 낸드 플래시 메모리(Vertical NAND; VNAND), 노아 플래시 메모리(NOR Flash Memory), 저항성 램(Resistive Random Access Memory: RRAM), 상변화 메모리(Phase-Change Memory: PRAM), 자기저항 메모리(Magnetoresistive Random Access Memory: MRAM), 강유전체 메모리(Ferroelectric Random Access Memory: FRAM), 스핀주입 자화반전 메모리(Spin Transfer Torque Random Access Memory: STT-RAM) 등이 될 수 있다.
도 4는 본 발명의 실시 예에 따른 뉴럴 블록 모듈의 동작 방법을 설명하기 위한 흐름도이다.
도 4를 참조하면, 본 발명의 실시 예에 따른 뉴럴 블록 모듈(110)은, 먼저 장치 정보 설정부(111)를 이용한 장치 설정 정보 및 클라이언트 설정부(112)를 이용한 클라이언트 설정 정보를 구성하고, 클러스터 설정부(114)를 통해 뉴럴 블록 클러스터 네트워크에 대응하는 클러스터 정보를 획득한다(S101).
그리고, 뉴럴 블록 모듈(110)은 뉴럴 블록 클러스터 내 다른 마스터 노드가 존재하는지 판단한다(S103).
마스터 노드가 존재하지 않는 경우, 뉴럴 블록 모듈(110)은 클러스터 설정부(114)를 통해 결정된 마스터 노드 선정 투표 정보를 클러스터 P2P 네트워크로 전달 공유한다(S105).
그리고, 뉴럴 블록 모듈(110)은 선정 투표 결과, 단말(100) 자신이 마스터 노드로 선정되었는지 확인한다(S107).
만약 마스터 노드로 선정된 경우, 뉴럴 블록 모듈(110)은 마스터 노드 위임 정보를 뉴럴 블록 네트워크 내 다른 노드 단말들로부터 수집하고(S109), 마스터 노드 기능부(115)의 활성화 및 블록 체인 네트워크로의 등록 프로세스를 수행할 수 있다(S111).
이후, 마스터 노드 기능부(115)는 신규 블록을 생성하여 블록 체인을 갱신할 수 있으며, 신규 블록 및 갱신 정보는 뉴럴 네트워크 내 다른 단말들로 전달될 수있다(S113).
본 발명의 실시 예에 따르면, 이와 같이 마스터 노드에서 생성된 신규 블록 정보는 뉴럴 블록이라고 할 수 있으며, 뉴럴 블록은 블록 체인 네트워크를 통해 공유 및 검증되고, 검증된 뉴럴 블록은 뉴럴 블록 클러스터 네트워크 내 브로드캐스팅 될 수 있다.
한편, 마스터 노드로 선정되지 않은 경우, 뉴럴 블록 모듈(110)은 마스터 노드로 선정된 단말을 식별하며, 선정된 단말로 마스터 노드 위임 정보를 제공하며(S115), 팔로워 노드 기능부(116)의 활성화 및 블록체인 네트워크로의 등록 프로세스를 수행할 수 있다(S117).
이후, 팔로워 노드 기능부(116)가 활성화된 뉴럴 블록 모듈(110)은 마스터 노드의 뉴럴 블록 정보를 수신하여, 저장 관리되는 블록 체인 데이터를 갱신할 수 있다.
한편, 뉴럴 블록 모듈(110)은 모니터링부(117)를 통해, 마스터 노드의 장애 발생을 판단한다(S121).
장애가 발생되지 않은 경우 뉴럴 블록 모듈(110)은 각 노드의 기존 프로세스를 지속적으로 수행한다(S123).
그러나, 장애가 발생된 경우, 뉴럴 블록 모듈(110)은 전술한 마스터 노드 선정 투표 단계(S105)의 프로세스를 재수행하여, 뉴럴 블록 클러스터의 뉴럴 블록 생성 프로세스는 안정적으로 유지되도록 한다.
이에 따라, 분산 합의를 뉴럴 블록 클러스터별로 수행시킴에 의한 빠른 거래 프로세스는 유지되면서, 특정 마스터 노드에 장애가 발생하더라도 안정적으로 다른 노드 단말로 뉴럴 블록 생산자를 대체시킴으로써, 시스템 신뢰성을 향상시킬 수 있으며, 리오그(REORG.) 발생을 방지하고, 포크의 필요성을 최소화시킬 수 있다.
도 5는 본 발명의 실시 예에 따른 관리 서비스 장치를 설명하기 위한 블록도이다.
도 5를 참조하면, 본 발명의 실시 예에 따른 관리 서비스 장치(200)는, 뉴럴 블록 모듈(110)의 모니터링부(117)로부터 수신되는 검증 정보에 기초하여, 소프트웨 품질 검증 및 취약점 등의 분석 서비스를 제공할 수 있다.
보다 구체적으로, 관리 서비스 장치(200)는 소프트웨어 가시화부(210), 아키텍쳐 가시화부(220), 문서 가시화부(230), 취약점 분석부(240) 및 인터페이스 제공부(250)를 포함한다.
소프트웨어 가시화부(210)는, 모니터링부(117)로부터 수집되는 블록 체인 정보에 기초하여, 소프트웨어 품질 점검을 위한 검증 프로세스를 가시화 처리할 수 있다.
이를 위해, 소프트웨어 가시화부(210)는, 프로젝트 관리 툴, 소프트웨어 버전 관리, 지속적 통합 툴을 포함할 수 있으며, 모니터링부(117)로부터 수집된 정보에 기초한 블록 체인 시스템 소프트웨어의 소스 코드 정보를 파싱함으로써, 소프트웨어의 요구 사항 충족 여부를 검사하고, 이에 따른 품질 검증 정보를 인터페이스 제공부(250)로 전달할 수 있다.
소프트웨어 가시화부(210)는 모니터링부(117)로부터 수집된 모니터링 정보에 따라, 블록 체인 네트워크 내 구축된 소프트웨어의 요구사항으로부터 테스트까지의 상호 추적, 설계 및 코드의 연관성 감지, 품질 점수 측정 등의 정량적 결과 정보를 산출할 수 있으며, 산출된 결과 정보는 품질 검증 정보로서 인터페이스 제공부(250)로 전달될 수 있다.
그리고, 아키텍쳐 가시화부(220)는 소프트웨어의 내부 구조 정보를 가시화 처리하여, 인터페이스 제공부(250)로 전달할 수 있다.
이를 위해, 아키텍쳐 가시화부(220)는, 소프트웨어 제품 정보 추출부, 문맥 분석부, 정보 베이스부, 구조 시각화부를 포함할 수 있다. 이러한 아키텍쳐 가시화부(220)는 각 구성요소를 이용하여, 모니터링부(117)로부터 수집된 소스 코드 정보의 파싱을 처리하고, 파싱된 정보를 이용하여 소프트웨어 구조 정보를 시각화된 아키텍쳐 정보로서 가시화 처리하고, 시각화된 아키텍쳐 정보는 인터페이스 제공부(250)로 전달될 수 있다.
한편, 문서 가시화부(230)는 별도 구축된 요구사항 정보 관리 데이터베이스로부터 수집된 소프트웨어 프로젝트 템플릿 정보를 이용하여, 소프트웨어 문서 정보로의 변환을 통해 가시화 처리하고, 가시화된 문서 정보는 인터페이스 제공부(250)로 전달될 수 있다. 여기서, 변환 방식으로는 XSLT(A LANGUAGE FOR TRANSFORMING XML DOCUMENTS) 방식이 예시될 수 있으며, 소프트웨어 개발 사이클 내 입력된 데이터들을 기반으로 하는 자동화 처리를 통해 소프트웨어 문서 정보를 획득하여 인터페이스 제공부(250)로 전달할 수 있다.
그리고, 취약점 분석부(240)는, 모니터링부(117)로부터 수집되는 검증 정보와 전술한 소프트웨어 가시화부(210), 아키텍쳐 가시화부(220) 및 문서 가시화부(230)로부터 구축된 가시화 정보를 이용하여, 블록 체인 소프트웨어의 취약점을 분석 검증하며, 검증 결과를 인터페이스 제공부(250)로 전달한다.
취약점 분석부(240)는 모니터링부(117)로부터 수집되는 검증 메시지와, 전술한 가시화 정보로부터, 솔리디티, LUA와 같이 예시되는 다양한 소프트웨어 언어의 취약점을 분석 및 검증하고 검증결과를 인터페이스 제공부(250)로 제공할 수 있다. 또한, 취약점 분석부(240)는 소프트웨어의 취약점 및 검증 모니터링 정보를 생성하여 인터페이스 제공부(250)로 제공할 수 있다.
한편, 인터페이스 제공부(250)는 소프트웨어 가시화부(210), 아키텍쳐 가시화부(220), 문서 가시화부(230) 및 취약점 분석부(240)의 처리 결과 정보를 수집하고, 전체 블록 체인 소프트웨어 정보와 취약점 정보를 시각화한 분석 인터페이스를 생성할 수 있으며, 생성된 분석 정보는 관리 서비스 장치(200)의 디스플레이부(미도시)를 통해 출력되거나, 별도의 관리자 단말로 제공되어 디스플레이되거나, 다른 노드 단말들 중 관리 권한이 설정된 단말로 제공될 수 있다.
도 6은 본 발명의 실시 예에 따른 관리 서비스 장치의 동작 방법을 설명하기 위한 흐름도이다.
도 6을 참조하면, 본 발명의 실시 예에 따른 관리 서비스 장치(200)는, 소프트웨어 요구사항 정보와, 프로젝트 제품 정보가 입력되면(S201, 203), 현재 블록 체인 네트워크에 적용된 소스 코드 분석에 따라, 소프트웨어 가시화, 아키텍쳐 가시화 및 문서 가시화 처리를 수행한다(S205).
여기서, 각 가시화 처리에 따른 결과 정보는 인터페이스 제공부(250) 및 취약점 분석부(240)로 전달될 수 있다.
이후, 관리 서비스 장치(200)는 취약점 분석부(240)를 통해, 가시화 정보와 모니터링부(117)로부터 수집되는 모니터링 정보에 기초하여, 프로젝트 내 소프트웨어 요구사항 대비 품질 점수 및 취약점 검증 처리를 수행한다(S207).
이후, 관리 서비스 장치(200)는 인터페이스 제공부(250)를 통해, 검증 및 가시화 처리된 분석 결과 정보를 분석 인터페이스 포맷으로 출력한다(S209).
도 7은 본 발명의 실시 예에 따른 관리 장치의 블록 체인 기반 소프트웨어 분석 인터페이스를 설명하기 위한 예시도이다.
도 7을 참조하면, 본 발명의 실시 예에 따른 분석 인터페이스는, 전술한 바와 같은 가시화 정보와 취약점 검증에 따른 블록 체인 네트워크 소프트웨어의 품질 정보를 종합적으로 제공할 수 있다.
도 7에 도시된 바와 같이, 본 발명의 실시 예에 따라 인터페이스 제공부(250)를 통해 제공되는 분석 인터페이스는 소프트웨어 가시화 및 아키텍쳐 가시화에 의해 획득된 구조 인터페이스(취약점 트리)와, 구동 시뮬레이션에 의해 노드 단말(100)에서 출력되는 사용자 서비스 화면 정보와, 문서 가시화에 따라 획득된 소스 코드 문서 정보와, 취약점 분석부(240)의 분석에 따라 획득되는 취약점 설명 및 회피 방안 안내 정보가 출력될 수 있다.
이와 같은 분석 서비스 장치(200)의 품질 검증 프로세스 및 분석 결과 인터페이스 제공에 의해, 블록 체인 네트워크 소프트웨어 개발의 효율성과 관리 비용 절감 효과를 높일 수 있으며, 다양한 평가 기준과 시각화 툴 도입을 통해 보다 안정적이고 높은 성능의 블록 체인 소프트웨어 개발을 용이하게 할 수 있다.
상술한 본 발명의 일실시예에 따른 방법들은 컴퓨터에서 실행되기 위한 프로그램으로 제작될 수 있다. 또한, 상기 프로그램은 컴퓨터가 읽을 수 있는 기록 매체에 저장될 수 있으며, 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있을 수 있다.
컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 상기 방법을 구현하기 위한 기능적인(function) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형 실시가 가능한 것은 물론이고, 이러한 변형 실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안 될 것이다.

Claims (7)

  1. 뉴럴 블록 모듈과, 블록체인 서비스부를 구비한 노드 단말장치들에 의해 블록체인 네트워크를 구성하고, 관리 서비스 장치가 상기 뉴럴블록의 모니터링 정보에 의거하여 가시화된 블록체인 네트워크의 관리 정보를 제공하는 블록체인 네트워크 시스템의 동작방법을 컴퓨터에서 실행시키기 위한 프로그램이 기록된 기록매체으로서,
    상기 뉴럴 블록 모듈이, 상기 블록 체인 네트워크에 포함된 뉴럴 블록 클러스터 네트워크를 식별하는 단계;
    상기 뉴럴 블록 모듈이, 식별된 뉴럴 블록 클러스터 네트워크 내에서의 투표 합의 프로세스에 의해 선정된 노드 단말을 상기 뉴럴 블록 클러스터의 신규 뉴럴 블록을 생성할 수 있는 마스터 노드로 활성화하고, 상기 마스터 노드가 아닌 단말은 상기 마스터 노드의 뉴럴 블록을 공유받는 팔로워 노드로 활성화하는 단계;
    블록 체인 서비스부가, 상기 활성화에 따라 신규 뉴럴 블록 모듈을 생성 전파하거나, 뉴럴 블록 클러스터 네트워크 내 공유된 뉴럴 블록의 갱신을 처리하는 단계;
    상기 뉴럴 블록 모듈이, 상기 마스터 노드에 장애가 발생된 경우, 상기 뉴럴 블록 클러스터 내 포함된 팔로워 노드 단말 중 어느 하나를 마스터 노드로 활성화시키는 투표 합의 프로세스를 수행하는 단계;
    상기 뉴럴 블록 모듈이 상기 마스터 노드의 장애 여부를 모니터링하며, 블록 체인 네트워크 소프트웨어 품질 평가를 위한 검증 정보의 모니터링을 수행하고, 모니터링 정보를 관리 서비스 장치로 전달하는 단계;
    상기 관리 서비스 장치가 상기 검증 정보에 기초한 소프트웨어 가시화, 아키텍쳐 가시화 및 문서 가시화 서비스 중 적어도 하나를 제공하고, 가시화된 정보에 기초한 소프트웨어 검증 및 분석 인터페이스를 관리자 단말로 제공하는 단계;를 포함하는 블록체인 네트워크의 동작방법을 컴퓨터에서 실행시키기 위한 프로그램이 기록된 기록매체.
  2. 제1항에 있어서,
    상기 뉴럴 블록 클러스터 네트워크는 상기 블록 체인 네트워크를 구성하는 노드 단말들 중 사전 결정된 조건에 따라 일정 개수 이내의 노드 단말들로 형성되는 블록체인 네트워크의 동작방법을 컴퓨터에서 실행시키기 위한 프로그램이 기록된 기록매체.
  3. 제2항에 있어서,
    상기 사전 결정된 조건은, 지역적 조건, 네트워크 거리 조건 또는 네트워크 속도 조건에 따라 결정되는 인접 조건이며, 사전 저장된 상기 블록 체인 네트워크 내 스마트 컨트랙트 정보에 의해 명시되는 블록체인 네트워크의 동작방법을 컴퓨터에서 실행시키기 위한 프로그램이 기록된 기록매체.
  4. 제1항에 있어서,
    상기 뉴럴 블록 모듈은, 마스터 노드가 존재하지 않거나, 마스터 노드 단말의 응답이 일정 시간 이상이거나, 마스터 노드로부터 정상 블록을 수신하지 못하는 경우, 상기 마스터 노드 단말을 재선정하기 위한 투표 합의 프로세스를 수행하는 블록체인 네트워크의 동작방법을 컴퓨터에서 실행시키기 위한 프로그램이 기록된 기록매체.
  5. 제1항에 있어서,
    상기 뉴럴 블록 모듈은, 상기 뉴럴 블록 클러스터 네트워크 설정을 위한 P2P(peer to peer) 네트워크를 구축하는 블록체인 네트워크의 동작방법을 컴퓨터에서 실행시키기 위한 프로그램이 기록된 기록매체.
  6. 제5항에 있어서,
    상기 뉴럴 블록 모듈은, 상기 뉴럴 블록 클러스터 네트워크 설정을 위해, 각 뉴럴 블록 클러스터 내 노드 단말들을 식별하기 위한 장치 정보, 노드 네임 및 P2P 네트워크 주소 정보를 미리 색인하여 저장하는 블록체인 네트워크의 동작방법을 컴퓨터에서 실행시키기 위한 프로그램이 기록된 기록매체.
  7. 제1항에 있어서,
    상기 투표 합의 프로세스는,
    사전 수집된 장치 정보에 기초하여, 상기 뉴럴 블록 클러스터 네트워크 내 각 노드 단말의 선정 투표 정보가 공유되고, 과반 또는 가장 높은 투표수를 득표한 노드 단말이 마스터 노드로 결정되는 네트워크 프로세스를 포함하는 블록체인 네트워크의 동작방법을 컴퓨터에서 실행시키기 위한 프로그램이 기록된 기록매체.
KR1020190168429A 2019-12-17 2019-12-17 블록 체인 동작 프로그램 기록매체 KR20210077135A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190168429A KR20210077135A (ko) 2019-12-17 2019-12-17 블록 체인 동작 프로그램 기록매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190168429A KR20210077135A (ko) 2019-12-17 2019-12-17 블록 체인 동작 프로그램 기록매체

Publications (1)

Publication Number Publication Date
KR20210077135A true KR20210077135A (ko) 2021-06-25

Family

ID=76629013

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190168429A KR20210077135A (ko) 2019-12-17 2019-12-17 블록 체인 동작 프로그램 기록매체

Country Status (1)

Country Link
KR (1) KR20210077135A (ko)

Similar Documents

Publication Publication Date Title
Huang et al. A survey of state-of-the-art on blockchains: Theories, modelings, and tools
JP6775086B2 (ja) ブロックチェーン監視及び管理
US20210255995A1 (en) PROOF OF LOTTERY (PoL) BLOCKCHAIN
EP3655905B1 (en) Distributed ledger technology
JP7165148B2 (ja) ブロックチェーンネットワークにおける整合性のある分散型メモリプールのための方法及びシステム
US10693646B2 (en) Event execution using a blockchain approach
CN110602217B (zh) 基于区块链的联盟管理方法、装置、设备及存储介质
EP4216077A1 (en) Blockchain network-based method and apparatus for data processing, and computer device
KR20210077176A (ko) 뉴럴 블록 클러스터 기반의 안전한 블록 체인 네트워크 시스템
CN111383021A (zh) 基于区块链网络的节点管理方法、装置、设备及介质
CN111782551B (zh) 针对区块链项目的测试方法、装置及计算机设备
KR102610532B1 (ko) 블록 체인 네트워크 시스템의 동작 방법
CN110738783A (zh) 投票数据的更新系统、方法、装置、设备及可读存储介质
CN110807209A (zh) 一种数据处理方法、设备及存储介质
KR20210077133A (ko) 블록 체인 네트워크 동작 프로그램
KR102535980B1 (ko) 뉴럴 블록 기반 블록 체인 시스템의 관리 장치
La Salle et al. Joint modeling of hyperledger fabric and sybil attack: petri net approach
KR20210066348A (ko) 뉴럴 블록 클러스터 기반의 안전한 블록 체인을 구축하는 장치 및 그 동작 방법
KR20210077135A (ko) 블록 체인 동작 프로그램 기록매체
KR20210077177A (ko) 뉴럴 블록 클러스터 기반의 안전한 블록 체인 네트워크 시스템의 동작방법
KR20210077141A (ko) 블록 체인 네트워크의 동작 프로그램
KR20210077151A (ko) 프로그램 기록매체
KR20210077125A (ko) 뉴럴 블록 클러스터 기반의 블록 체인 네트워크 시스템
KR20210077163A (ko) 블록체인 네트워크 관리 프로그램
KR20210077165A (ko) 관리 프로그램 기록매체