KR102135403B1 - 블록체인 관리 시스템 및 그 방법 - Google Patents

블록체인 관리 시스템 및 그 방법 Download PDF

Info

Publication number
KR102135403B1
KR102135403B1 KR1020190137290A KR20190137290A KR102135403B1 KR 102135403 B1 KR102135403 B1 KR 102135403B1 KR 1020190137290 A KR1020190137290 A KR 1020190137290A KR 20190137290 A KR20190137290 A KR 20190137290A KR 102135403 B1 KR102135403 B1 KR 102135403B1
Authority
KR
South Korea
Prior art keywords
terminal
server
servers
ethstat
bootnode
Prior art date
Application number
KR1020190137290A
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 KR1020190137290A priority Critical patent/KR102135403B1/ko
Priority to PCT/KR2019/015331 priority patent/WO2021085714A1/ko
Application granted granted Critical
Publication of KR102135403B1 publication Critical patent/KR102135403B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45537Provision of facilities of other operating environments, e.g. WINE
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/22Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]
    • 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/1031Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests
    • 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/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 발명은 블록체인 관리 시스템 및 그 방법을 개시한다. 즉, 본 발명은 이더리움 프라이빗 네트워크 매니저인 퍼페쓰(puppeth)를 통해 하드포크한 이더리움에 오류-정정 부호 기반의 작업증명(ECCPoW)을 적용하여 DeSecure 체인에서 사용할 수 있는 이더리움 프라이빗 네트워크를 생성함으로써, 전체 시스템의 운영 효율을 향상시키고, 사용상의 편의성을 높일 수 있다.

Description

블록체인 관리 시스템 및 그 방법{System for managing blockchain and method thereof}
본 발명은 블록체인 관리 시스템 및 그 방법에 관한 것으로서, 특히 이더리움 프라이빗 네트워크 매니저인 퍼페쓰(puppeth)를 통해 하드포크한 이더리움에 오류-정정 부호 기반의 작업증명(ECCPoW)을 적용하여 DeSecure 체인에서 사용할 수 있는 이더리움 프라이빗 네트워크를 생성하는 블록체인 관리 시스템 및 그 방법에 관한 것이다.
2017년 암호화폐 붐 이전부터 많은 블록체인 프로젝트들이 런칭되어 왔고, 암호화폐 붐 이후에는 더욱더 많은 프로젝트가 런칭되고 있다. 블록체인 프로젝트의 종류는 크게 두 가지로 나눌 수 있다. 첫 번째는 기존에 있던 블록체인의 네트워크를 활용한 프로젝트고, 두 번째는 독자적인 메인넷을 런칭하려는 프로젝트이다. 독자적인 메인넷을 런칭하기 위해서는 클라이언트 개발을 설계부터 구현까지 모든 것을 직접해야하는데 이는 비효율적인 작업이다.
또한, 해당 블록체인과 관련한 메인넷 이외에 프라이빗 네트워크, 테스트넷 등을 운영하고자 하는 경우, 테스트를 진행하면서 코드 수정이 있을 때마다 네트워크를 새로 구성해야 하는 번거로움이 존재한다.
한국공개특허 제10-2017-0089795호 [제목: 중앙 관리형 블록체인 인증을 적용한 자율적 군집통신 보안 시스템 및 방법]
본 발명의 목적은 이더리움 프라이빗 네트워크 매니저인 퍼페쓰(puppeth)를 통해 하드포크한 이더리움에 오류-정정 부호 기반의 작업증명(ECCPoW)을 적용하여 DeSecure 체인에서 사용할 수 있는 이더리움 프라이빗 네트워크를 생성하는 블록체인 관리 시스템 및 그 방법을 제공하는 데 있다.
본 발명의 실시예에 따른 블록체인 관리 시스템은 도커(docker)를 각각 설치하여 가상화 환경을 각각 구축하는 복수의 서버; 및 상기 복수의 서버에 접근할 수 있는 공개키를 상기 복수의 서버에 각각 등록하고, 미리 설치된 puppeth가 실행될 때 상기 puppeth 실행에 따른 메뉴 선택 화면을 표시하고, 상기 표시되는 메뉴 선택 화면에 포함된 미리 설정된 제네시스 파일 관리 메뉴가 선택될 때 사용자 선택에 따른 제네시스 파일을 로딩하고, 상기 표시되는 메뉴 선택 화면에 포함된 미리 설정된 컴포넌트 관리 메뉴가 선택될 때 상기 선택된 컴포넌트 관리 메뉴에 대응하는 DeSecure 체인 생성을 위한 컴포넌트 관리 화면을 표시하고, 상기 복수의 서버와 연동하여 상기 표시되는 컴포넌트 관리 화면에서 사용자 선택에 따라 Ethstat 배포 기능, Bootnode 배포 기능 및 Sealer 배포 기능을 순차로 수행하여, DeSecure 체인(decentralized secure chain)의 블록을 생성하는 단말을 포함할 수 있다.
본 발명과 관련된 일 예로서 상기 단말은, 사용자 선택에 따라 상기 단말에 미리 저장된 복수의 제네시스 파일 중에서 특정 제네시스 파일을 선택하거나 또는, 합의알고리즘인 ECCPoW(Error-Correction Codes Proof-of-Work)를 선택하여 새로운 제네시스 파일을 생성하고, 상기 선택된 특정 제네시스 파일 또는 상기 생성된 새로운 제네시스 파일을 백그라운드 상태로 로딩한 상태를 유지하고, 상기 메뉴 선택 화면을 표시할 수 있다.
본 발명과 관련된 일 예로서 상기 단말은, 상기 복수의 서버 중 일부와 연동하여, 상기 단말에 표시되는 컴포넌트 관리 화면에서 사용자 선택에 따른 Explorer 배포 기능, Wallet 배포 기능, Faucet 배포 기능 및 Dashboard 배포 기능 중 적어도 하나의 기능을 부가적으로 수행하여, 상기 생성된 DeSecure 체인에 상기 부가 기능을 적용할 수 있다.
본 발명의 실시예에 따른 블록체인 관리 방법은 단말에 의해, 복수의 서버에 접근할 수 있는 공개키를 상기 복수의 서버에 각각 등록하는 단계; 상기 단말에 의해, 상기 단말에 미리 설치된 puppeth가 실행될 때, 상기 puppeth 실행에 따른 메뉴 선택 화면을 표시하는 단계; 상기 단말에 표시되는 메뉴 선택 화면에 포함된 미리 설정된 제네시스 파일 관리 메뉴가 선택될 때, 상기 단말에 의해, 사용자 선택에 따른 제네시스 파일을 로딩하는 단계; 상기 단말에 표시되는 메뉴 선택 화면에 포함된 미리 설정된 컴포넌트 관리 메뉴가 선택될 때, 상기 단말에 의해, 상기 선택된 컴포넌트 관리 메뉴에 대응하는 DeSecure 체인 생성을 위한 컴포넌트 관리 화면을 표시하는 단계; 및 상기 단말에 의해, 상기 복수의 서버와 연동하여, 상기 단말에 표시되는 컴포넌트 관리 화면에서 사용자 선택에 따라 Ethstat 배포 기능, Bootnode 배포 기능 및 Sealer 배포 기능을 순차로 수행하여, DeSecure 체인의 블록을 생성하는 단계를 포함할 수 있다.
본 발명과 관련된 일 예로서 상기 제네시스 파일을 로딩하는 단계는, 사용자 선택에 따라 상기 단말에 미리 저장된 복수의 제네시스 파일 중에서 특정 제네시스 파일을 선택하거나 또는, 합의알고리즘인 ECCPoW(Error-Correction Codes Proof-of-Work)를 선택하여 새로운 제네시스 파일을 생성하는 과정; 및 상기 선택된 특정 제네시스 파일 또는 상기 생성된 새로운 제네시스 파일을 백그라운드 상태로 로딩한 상태를 유지하고, 상기 메뉴 선택 화면을 표시하는 과정을 포함할 수 있다.
본 발명과 관련된 일 예로서 상기 DeSecure 체인의 블록을 생성하는 단계는, 네트워크 모니터링을 위한 도구를 배포하는 Ethstat 배포 기능, 네트워크의 엔트리 포인트를 설정하는 Bootnode 배포 기능 및 새로운 블록들을 생성하는 노드를 설정하는 Sealer 배포 기능을 순차로 수행하여 상기 DeSecure 체인의 블록을 생성할 수 있다.
본 발명과 관련된 일 예로서 상기 DeSecure 체인의 블록을 생성하는 단계는, 상기 단말에 표시되는 컴포넌트 관리 화면에 포함된 미리 설정된 Ethstat 배포 메뉴가 선택될 때, 상기 단말에 의해, 상기 복수의 서버 중에서 선택된 제 1 서버와 연동하여, 상기 제 1 서버에 Ethstat를 배포하는 과정; 상기 단말에 표시되는 컴포넌트 관리 화면에 포함된 미리 설정된 Bootnode 배포 메뉴가 선택될 때, 상기 단말에 의해, 상기 복수의 서버 중에서 선택된 제 2 서버와 연동하여, 상기 제 2 서버에 Bootnode를 배포하는 과정; 및 상기 단말에 표시되는 컴포넌트 관리 화면에 포함된 미리 설정된 Sealer 배포 메뉴가 선택될 때, 상기 단말에 의해, 상기 복수의 서버 중에서 선택된 제 3 서버와 연동하여, 상기 제 3 서버에 Sealer를 배포하는 과정을 포함할 수 있다.
본 발명과 관련된 일 예로서 상기 제 1 서버에 Ethstat를 배포하는 과정은, 상기 단말에 표시되는 컴포넌트 관리 화면에 포함된 미리 설정된 Ethstat 배포 메뉴가 선택될 때, 상기 단말에 의해, 상기 선택된 Ethstat 배포 메뉴에 대응하는 Ethstat 배포 화면을 표시하는 과정; 상기 단말에 의해, 상기 Ethstat 배포 화면에 표시되는 상기 복수의 서버 중에서 Ethstat를 배포할 상기 제 1 서버를 선택하는 과정; 상기 제 1 서버에 의해, Ethstat를 서비스할 제 1 포트를 할당하는 과정; 상기 제 1 서버에 의해, 상기 할당된 Ethstat를 서비스할 제 1 포트가 사용 중인지 여부를 판단하는 과정; 상기 판단 결과, 상기 할당된 Ethstat를 서비스할 제 1 포트가 사용 중일 때, 상기 단말 및 상기 복수의 서버에 의해, 전체 과정을 종료하는 과정; 상기 판단 결과, 할당된 Ethstat를 서비스할 제 1 포트가 사용 중이 아닐 때, 상기 단말에 의해, Nginx를 상기 제 1 서버에 배포하는 과정; 상기 단말에 의해, Ethstat를 상기 제 1 서버에 배포하는 과정; 및 상기 단말에 의해, 상기 컴포넌트 관리 화면을 표시하는 과정을 포함할 수 있다.
본 발명과 관련된 일 예로서 상기 제 2 서버에 Bootnode를 배포하는 과정은, 상기 단말에 표시되는 컴포넌트 관리 화면에 포함된 미리 설정된 Bootnode 배포 메뉴가 선택될 때, 상기 단말에 의해, 상기 복수의 서버에 상기 Ethstat이 배포된 상태인지 여부를 확인하는 과정; 상기 확인 결과, 상기 Ethstat이 배포되지 않은 상태일 때, 상기 단말 및 상기 복수의 서버에 의해, 전체 과정을 종료하는 과정; 상기 확인 결과, 상기 Ethstat이 배포된 상태일 때, 상기 단말에 의해, 상기 복수의 서버 중에서 Bootnode를 배포할 제 2 서버를 선택하는 과정; 상기 제 2 서버에 의해, Bootnode가 사용할 제 2 포트를 할당하는 과정; 상기 제 2 서버에 의해, 상기 할당된 Bootnode를 배포할 제 2 포트가 사용 중인지 여부를 판단하는 과정; 상기 판단 결과, 상기 제 2 포트가 사용 중일 때, 상기 단말 및 상기 복수의 서버에 의해, 전체 과정을 종료하는 과정; 상기 판단 결과, 상기 제 2 포트가 사용 중이지 않을 때, 상기 제 1 단말에 의해, 미리 설정된 Bootnode를 상기 제 2 서버에 배포하는 과정; 상기 제 1 단말에 의해, 부트노드 정보를 저장하는 과정; 상기 제 1 서버에 의해, 노드들의 정보를 수집하고, 수집된 노드들의 정보를 표시하는 과정; 및 상기 단말에 의해, 상기 컴포넌트 관리 화면을 표시하는 과정을 포함할 수 있다.
본 발명과 관련된 일 예로서 상기 제 3 서버에 Sealer를 배포하는 과정은, 상기 단말에 표시되는 컴포넌트 관리 화면에 포함된 미리 설정된 Sealer 배포 메뉴가 선택될 때, 상기 단말에 의해, 상기 복수의 서버에 상기 Ethstat이 배포된 상태인지 여부를 확인하는 과정; 상기 확인 결과, 상기 Ethstat이 배포되지 않은 상태일 때, 상기 단말 및 상기 복수의 서버에 의해, 전체 과정을 종료하는 과정; 상기 확인 결과, 상기 Ethstat이 배포된 상태일 때, 상기 단말에 의해, 상기 복수의 서버 중 어느 하나의 서버에 상기 Bootnode가 배포된 상태인지 여부를 판단하는 과정; 상기 판단 결과, 상기 Bootnode가 배포되지 않은 상태일 때, 상기 단말 및 상기 복수의 서버에 의해, 전체 과정을 종료하는 과정; 상기 판단 결과, 상기 Bootnode가 배포된 상태일 때, 상기 단말에 의해, 상기 복수의 서버 중에서 Sealer를 배포한 제 3 서버를 선택하는 과정; 상기 제 3 서버에 의해, Sealer가 사용할 제 3 포트를 할당하는 과정; 상기 단말에 의해, 마이닝 계정을 상기 제 3 서버에 등록하는 과정; 상기 제 3 서버에 의해, 상기 할당된 Sealer가 사용할 제 3 포트가 사용 중인지 여부를 판단하는 과정; 상기 판단 결과, 상기 제 3 포트가 사용 중일 때, 상기 제 1 단말 및 상기 제 1 서버 내지 제 7 서버는 전체 과정을 종료하는 과정; 상기 판단 결과, 상기 제 3 포트가 사용 중이지 않을 때, 상기 제 1 단말에 의해, 미리 설정된 Sealer 노드를 상기 제 3 서버에 배포하는 과정; 상기 제 3 서버에 의해, 상기 Sealer 노드와 상기 제 2 서버에서 관리하는 부트노드를 연결하는 과정; 및 상기 제 1 서버에 의해, 노드들의 정보를 수집하고, 수집된 노드들의 정보를 표시하는 과정을 포함할 수 있다.
본 발명은 이더리움 프라이빗 네트워크 매니저인 퍼페쓰(puppeth)를 통해 하드포크한 이더리움에 오류-정정 부호 기반의 작업증명(ECCPoW)을 적용하여 DeSecure 체인에서 사용할 수 있는 이더리움 프라이빗 네트워크를 생성함으로써, 전체 시스템의 운영 효율을 향상시키고, 사용상의 편의성을 높일 수 있는 효과가 있다.
도 1은 본 발명의 실시예에 따른 블록체인 관리 시스템의 구성을 나타낸 블록도이다.
도 2는 본 발명의 실시예에 따른 블록체인 관리 방법을 나타낸 흐름도이다.
도 3 내지 도 4는 본 발명의 실시예에 따른 단말의 화면 예를 나타낸 도이다.
본 발명에서 사용되는 기술적 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 발명에서 사용되는 기술적 용어는 본 발명에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 발명에서 사용되는 기술적인 용어가 본 발명의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는 당업자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 발명에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.
또한, 본 발명에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함한다. 본 발명에서 "구성된다" 또는 "포함한다" 등의 용어는 발명에 기재된 여러 구성 요소들 또는 여러 단계를 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.
또한, 본 발명에서 사용되는 제 1, 제 2 등과 같이 서수를 포함하는 용어는 구성 요소들을 설명하는데 사용될 수 있지만, 구성 요소들은 용어들에 의해 한정되어서는 안 된다. 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성 요소는 제 2 구성 요소로 명명될 수 있고, 유사하게 제 2 구성 요소도 제 1 구성 요소로 명명될 수 있다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
또한, 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 발명의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 발명의 사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다.
도 1은 본 발명의 실시예에 따른 블록체인 관리 시스템(10)의 구성을 나타낸 블록도이다.
도 1에 도시한 바와 같이, 블록체인 관리 시스템(10)은 단말(100) 및 복수의 서버(200)로 구성된다. 도 1에 도시된 블록체인 관리 시스템(10)의 구성 요소 모두가 필수 구성 요소인 것은 아니며, 도 1에 도시된 구성 요소보다 많은 구성 요소에 의해 블록체인 관리 시스템(10)이 구현될 수도 있고, 그보다 적은 구성 요소에 의해서도 블록체인 관리 시스템(10)이 구현될 수도 있다.
상기 단말(100)은 개인용 컴퓨터(Personal Computer), 노트북 컴퓨터 등과 같은 다양한 단말기에 적용될 수 있다.
또한, 상기 단말(100) 및 상기 복수의 서버(200) 각각은 다른 단말들과의 통신 기능을 수행하기 위한 통신부(미도시), 다양한 정보 및 프로그램(또는 애플리케이션)을 저장하기 위한 저장부(미도시), 다양한 정보 및 프로그램 실행 결과를 표시하기 위한 표시부(미도시), 상기 다양한 정보 및 프로그램 실행 결과에 대응하는 음성 정보를 출력하기 위한 음성 출력부(미도시), 각 단말의 다양한 구성 요소 및 기능을 제어하기 위한 제어부(미도시) 등을 포함할 수 있다.
또한, 상기 단말(100)은 상기 복수의 서버(200) 등과 통신한다.
또한, 상기 단말(100)은 가상화 환경이 구축된 복수의 서버(200)에 접근할 수 있는 공개키(또는 퍼블릭 키)를 상기 복수의 서버(200)에 각각 등록(또는 설정)한다. 여기서, 상기 단말(100)은 상기 DeSecure 체인에서 사용할 수 있는 이더리움 프라이빗 네트워크를 생성하는데 관여하는 단말일 수 있다.
상기 이더리움(Ethereum)은 2013년 Vitalik Buterin에 의해서 제안된 프로그래밍이 가능한 블록체인(Programmable Blockchain)을 구현한 웹 프레임워크로써, 확장된 분산 애플리케이션을 만들 수 있는 플랫폼을 제공한다. 상기 이더리움은 비트코인과 같이 화폐로서의 교환 기능뿐만 아니라 프로그램 실행을 위한 기능이 추가되었으며, 또한 기능 개선을 위해 일부 수정된 기능이 포함된 상태이다.
또한, 1994년 암호학자 Nick Szabo에 의해 처음으로 제안된 스마트 컨트랙트를 블록체인에 접목시킴으로써, 이더리움은 기본적인 거래 장부(Ledger) 기록 외에 튜링 완전한 컴퓨팅 기능과 그 기능을 이용하여 프로그램을 실행할 수 있는 환경을 제공한다.
또한, 상기 단말(100)은 사용자 선택(또는 터치/제어)에 따라 해당 단말(100)에 미리 설치된 퍼페쓰(puppeth, 이하 'puppeth'라 함)를 실행하고, puppeth 실행에 따른 메뉴 선택 화면을 표시한다. 이때, 상기 메뉴 선택 화면은 제네시스 파일 관리 메뉴(또는 항목/버튼), 컴포넌트 관리 메뉴, 네트워크 상태 관리 메뉴, 서버 상태 관리 메뉴 등을 포함한다.
또한, 상기 단말(100)에 표시되는 메뉴 선택 화면에 포함된 미리 설정된 제네시스 파일 관리 메뉴가 선택되는 경우, 상기 단말(100)은 사용자 선택에 따른 제네시스 파일을 로딩한다. 여기서, 상기 제네시스 파일은 블록체인에서의 인덱스 상의 0번째 블록(또는 블록체인에서의 첫 번째 블록)에 대한 정보를 담고 있는 파일이다.
즉, 상기 단말(100)에 표시되는 메뉴 선택 화면에 포함된 미리 설정된 제네시스 파일 관리 메뉴가 선택되는 경우, 상기 단말(100)은 사용자 선택에 따라 해당 단말(100)에 미리 저장된 복수의 제네시스 파일 중에서 특정 제네시스 파일을 선택하거나 또는, 합의알고리즘인 ECCPoW(또는 오류-정정 부호 기반의 작업증명)를 선택하여 새로운 제네시스 파일을 생성한다. 여기서, 상기 선택된 특정 제네시스 파일은 상기 ECCPoW가 적용된 파일일 수 있다. 여기서, 오류-정정 부호(Error-Correction Codes)는 무선 통신에서 발생하는 오류를 정정하기 위해 사용된다. 대표적인 부호들 중 하나로 LDPC(low-density parity-check) 부호가 있다. 상기 LDPC 디코더에 대한 ACIS 구현은 구조적/비용적 문제로 인하여, 구현의 유연성이 떨어진다. 이러한 문제점을 개선한 상기 ECCPoW(Error-Correction Codes Proof-of-Work)는 상기 LDPC 디코더와 해쉬 함수를 결합한 형태이다. 상기 ECCPoW는 SHA256의 출력값이 디코더의 입력값이 되고, 상기 디코더의 출력값을 이용해 작업 증명의 완료 유무를 판단한다. 또한, 매 블록마다 새로운 패리티 체크 행렬을 무작위로 생성함으로써, ASIC0-LDPC 디코더의 구현을 현실적으로 매우 어렵게 만들고 그로 인해 디코더의 실행을 CPU 또는 GPU에 의해서만 처리되도록 설계하여 ASIC 장비에 대한 저항성을 갖게 한다.
상기 puppeth는 이더리움 Devcon3에서 이더리움 재단 수석 개발자 Peter Szilagyi에 의해 소개되었으며, CLI(Command Line Interface)를 통해, 쉽고 빠르게 프라이빗 네트워크를 구성할 수 있게 해주는 도구(또는 애플리케이션)이다.
상기 puppeth는 SSH(Secure Shell)를 사용해 원격 서버에 네트워크 컴포넌트들을 docker-compose 형태로 도커 컨테이너를 배포하는 방식을 사용한다. 여기서, 상기 docker-compose는 하나의 서비스를 운영하기 위해 필요한 여러 컨테이너들을 관리하기 위한 도구일 수 있다.
상기 puppeth를 사용하면, 프라이빗 네트워크를 위한 제네시스 파일부터 해당 네트워크를 위한 지갑, faucet, 블록 익스플로러와 대시보드까지 총 7개의 네트워크 관리에 필요한 모든 컴포넌트를 쉽게 설치하고 관리할 수 있다.
또한, 상기 단말(100)은 상기 선택된 특정 제네시스 파일 또는 상기 생성된 새로운 제네시스 파일을 백그라운드 상태로 로딩한 상태를 유지하고, 상기 메뉴 선택 화면을 표시(또는 상기 메뉴 선택 화면으로 전환)한다.
또한, 상기 단말(100)에 표시되는 메뉴 선택 화면에 포함된 미리 설정된 컴포넌트 관리 메뉴가 선택되는 경우, 상기 단말(100)은 상기 선택된 컴포넌트 관리 메뉴에 대응하는 DeSecure 체인 생성을 위한 컴포넌트 관리 화면을 표시한다. 이때, 상기 컴포넌트 관리 화면은 Ethstat 배포 메뉴, Bootnode 배포 메뉴, Sealer 배포 메뉴, Explorer 배포 메뉴, Wallet 배포 메뉴, Faucet 배포 메뉴, Dashboard 배포 메뉴 등을 포함한다.
또한, 상기 단말(100)은 상기 복수의 서버(200)와 연동하여, 상기 단말(100)에 표시되는 컴포넌트 관리 화면에서 사용자 선택에 따라 Ethstat 배포 기능, Bootnode 배포 기능 및 Sealer 배포 기능을 순차로 수행하여, DeSecure 체인(Decentralized Secure blockchain)의 블록을 생성한다. 여기서, 상기 Ethstat 기능(또는 상기 Ethstat 배포 기능)은 네트워크 모니터링을 위한 도구이고, 상기 Bootnode 기능(또는 상기 Bootnode 배포 기능)은 기준 노드(또는 네트워크의 엔트리 포인트)를 설정하는 기능이고, 상기 Sealer 기능(또는 상기 Sealer 배포 기능)은 블록 생성을 담당할 노드(또는 새로운 블록들을 생성하는 노드)를 배포(또는 설정)하는 기능일 수 있다.
즉, 상기 단말(100)에 표시되는 컴포넌트 관리 화면에 포함된 미리 설정된 Ethstat 배포 메뉴가 선택되는 경우, 상기 단말(100)은 상기 선택된 Ethstat 배포 메뉴에 대응하는 Ethstat 배포 화면을 표시한다. 또한, 상기 단말(100)은 상기 Ethstat 배포 화면에 표시되는 상기 복수의 서버(200) 중에서 Ethstat를 배포할 어느 하나의 서버(200)를 선택한다.
또한, 상기 선택된 서버(200)에서 할당한 Ethstat를 서비스할 포트가 사용 중인 경우, 상기 단말(100) 및 상기 복수의 서버(200)는 전체 과정을 종료한다.
또한, 상기 선택된 서버(200)에서 할당한 Ethstat를 서비스할 포트가 사용 중이 아닌 경우, 상기 단말(100)은 상기 선택된 서버(200)에 Nginx를 배포한다. 여기서, 상기 Nginx는 기본적인 웹 서버 기능 외에 추가로 캐싱(caching), 트래픽 부하 균형(load balancing), TLS/SSL 보안, 메일 프록시 등의 기능을 제공한다.
또한, 상기 단말(100)은 상기 선택된 서버(200)에 Ethstat를 배포한다.
또한, 상기 단말(100)과 상기 선택된 서버(200) 간에 Ethstat 배포 기능을 수행한 후 상기 단말(100)에 표시되는 컴포넌트 관리 화면에 포함된 미리 설정된 Bootnode 배포 메뉴가 선택되는 경우, 상기 단말(100)은 상기 복수의 서버(200) 중 어느 하나의 서버(200)에 Ethstat이 배포된 상태인지 여부를 확인한다.
상기 확인 결과, 상기 Ethstat이 배포되지 않은 상태인 경우, 상기 단말(100) 및 상기 복수의 서버(200)는 전체 과정을 종료한다.
또한, 상기 확인 결과, 상기 Ethstat이 배포된 상태인 경우, 상기 단말(100)은 상기 복수의 서버(200) 중에서 Bootnode를 배포할 어느 하나의 다른 서버(200)를 선택한다.
또한, 상기 선택된 서버(200)에서 할당한 Bootnode를 배포할 포트가 사용 중인 경우, 상기 단말(100) 및 상기 복수의 서버(200)는 전체 과정을 종료한다.
또한, 상기 선택된 서버(200)에서 할당한 Bootnode를 배포할 포트가 사용 중이지 않은 경우, 상기 단말(100)은 상기 선택된 다른 서버(200)에 Bootnode를 배포한다.
또한, 상기 단말(100)은 부트노드 정보를 저장한다.
또한, 상기 단말(100)과 상기 선택된 다른 서버(200) 간에 Bootnode 배포 기능을 수행한 후 상기 단말(100)에 표시되는 컴포넌트 관리 화면에 포함된 미리 설정된 Sealer 배포 메뉴가 선택되는 경우, 상기 단말(100)은 상기 복수의 서버(200) 중 어느 하나의 서버(200)에 Ethstat이 배포된 상태인지 여부를 확인한다.
상기 확인 결과, 상기 Ethstat이 배포되지 않은 상태인 경우, 상기 단말(100) 및 상기 복수의 서버(200)는 전체 과정을 종료한다.
또한, 상기 확인 결과, 상기 Ethstat이 배포된 상태인 경우, 상기 단말(100)은 상기 복수의 서버(200) 중 어느 하나의 다른 서버(200)에 Bootnode가 배포된 상태인지 여부를 판단한다.
상기 판단 결과, 상기 Bootnode가 배포되지 않은 상태인 경우, 상기 단말(100) 및 상기 복수의 서버(200)는 전체 과정을 종료한다.
또한, 상기 판단 결과, 상기 Bootnode가 배포된 상태인 경우, 상기 단말(100)은 상기 복수의 서버(200) 중에서 Sealer를 배포할 어느 하나의 또 다른 서버(200)를 선택한다.
또한, 상기 단말(100)은 상기 선택된 또 다른 서버(200)에 마이닝 계정을 등록한다.
또한, 상기 선택된 또 다른 서버(200)에서 할당한 Sealer가 사용할 포트가 사용 중인 경우, 상기 단말(100) 및 상기 복수의 서버(200)는 전체 과정을 종료한다.
또한, 상기 선택된 또 다른 서버(200)에서 할당한 Sealer가 사용할 포트가 사용 중이지 않은 경우, 상기 단말(100)은 상기 선택된 또 다른 서버(200)에 Sealer 노드를 배포한다.
이와 같이, 상기 단말(100) 및 상기 복수의 서버(200)는 서로 연동하여, 하드포크한 이더리움에 오류-정정 부호 기반의 작업증명(ECCPoW)을 적용하여 DeSecure 체인에서 사용할 수 있는 이더리움 프라이빗 네트워크를 생성하기 위해 필요한 Ethstat 배포 기능, Bootnode 배포 기능 및 Sealer 배포 기능을 수행하여, DeSecure 체인의 블록(또는 DeSecure 체인의 프라이빗 네트워크 또는 테스트 네트워크)을 생성한다.
또한, 상기 DeSecure 체인이 생성된 상태에서, 상기 단말(100)은 상기 복수의 서버(200) 중 일부와 연동하여, 상기 단말(100)에 표시되는 컴포넌트 관리 화면에서 사용자 선택에 따라, Explorer 배포 기능, Wallet 배포 기능, Faucet 배포 기능 및 Dashboard 배포 기능 중 적어도 하나의 기능을 부가적으로 수행하여, 상기 생성된 DeSecure 체인에 해당 부가 기능을 적용(또는 반영)한다. 여기서, 상기 Explorer 기능(또는 상기 Explorer 배포 기능)은 상기 생성된 블록(또는 상기 생성된 DeSecure 체인의 블록)을 관리(또는 블록체인을 분석하는 웹 서비스를 제공)하는 기능이고, 상기 Wallet 기능(또는 상기 Wallet 배포 기능)은 지갑 소프트웨어를 관리(또는 트랜잭션을 간편하게 보낼 수 있게 해주는 지갑 서비스를 제공)하는 기능이고, 상기 Faucet 기능(또는 상기 Faucet 배포 기능)은 프라이빗 네트워크에서 테스트할 소량의 자금을 제공하는 기능이고, 상기 Dashboard 기능(또는 상기 Dashboard 배포 기능)은 상기 Ethstat 서비스, 상기 Bootnode 서비스, 상기 Sealer 서비스, 상기 Explorer 서비스, 상기 Wallet 서비스, 상기 Faucet 서비스 등을 묶어놓은 웹 사이트를 제공하는 기능일 수 있다.
즉, 상기 단말(100)에 표시되는 컴포넌트 관리 화면에서 사용자 선택에 따라 Explorer 배포 메뉴가 선택되는 경우, 상기 단말(100)은 상기 복수의 서버(200) 중 어느 하나의 서버(200)에 Ethstat이 배포된 상태인지 여부를 확인한다.
상기 확인 결과, 상기 Ethstat이 배포되지 않은 상태인 경우, 상기 단말(100) 및 상기 복수의 서버(200)는 전체 과정을 종료한다.
또한, 상기 확인 결과, 상기 Ethstat이 배포된 상태인 경우, 상기 단말(100)은 상기 복수의 서버(200) 중 어느 하나의 다른 서버(200)에 Bootnode가 배포된 상태인지 여부를 판단한다.
상기 판단 결과, 상기 Bootnode가 배포되지 않은 상태인 경우, 상기 단말(100) 및 상기 복수의 서버(200)는 전체 과정을 종료한다.
또한, 상기 판단 결과, 상기 Bootnode가 배포된 상태인 경우, 상기 단말(100)은 상기 복수의 서버(200) 중에서 Explorer를 배포할 어느 하나의 또 다른 서버(200)를 선택한다.
또한, 상기 단말(100)은 상기 선택된 또 다른 서버(200)에 Nginx를 배포한다.
또한, 상기 선택된 또 다른 서버(200)에서 할당한 Explorer 페이지를 서비스할 포트가 사용 중인 경우, 상기 단말(100) 및 상기 복수의 서버(200)는 전체 과정을 종료한다.
또한, 상기 선택된 또 다른 서버(200)에서 할당한 Explorer 페이지를 서비스할 포트가 사용 중이지 않고, 상기 선택된 또 다른 서버(200)에서 할당한 Explorer 노드가 사용할 다른 포트가 사용 중이지 않은 경우, 상기 단말(100)은 상기 선택된 또 다른 서버(200)에 Explorer를 배포한다.
이와 같이, 상기 단말(100)에 표시되는 컴포넌트 관리 화면에서 사용자 선택에 따라 Explorer 배포 메뉴가 선택되는 경우, 상기 단말(100)은 상기 복수의 서버(200) 중에서 선택된 또 다른 서버(200)와 연동하여, 상기 생성된 DeSecure 체인에 해당 Explorer 배포 기능을 적용할 수 있다.
또한, 상기 단말(100)에 표시되는 컴포넌트 관리 화면에서 사용자 선택에 따라 Wallet 배포 메뉴가 선택되는 경우, 상기 단말(100)은 상기 복수의 서버(200) 중 어느 하나의 서버(200)에 Ethstat이 배포된 상태인지 여부를 확인한다.
상기 확인 결과, 상기 Ethstat이 배포되지 않은 상태인 경우, 상기 단말(100) 및 상기 복수의 서버(200)는 전체 과정을 종료한다.
또한, 상기 확인 결과, 상기 Ethstat이 배포된 상태인 경우, 상기 단말(100)은 상기 복수의 서버(200) 중 어느 하나의 다른 서버(200)에 Bootnode가 배포된 상태인지 여부를 판단한다.
상기 판단 결과, 상기 Bootnode가 배포되지 않은 상태인 경우, 상기 단말(100) 및 상기 복수의 서버(200)는 전체 과정을 종료한다.
또한, 상기 판단 결과, 상기 Bootnode가 배포된 상태인 경우, 상기 단말(100)은 상기 복수의 서버(200) 중에서 Wallet을 배포할 또 다른 서버(200)를 선택한다.
또한, 상기 선택된 또 다른 서버(200)에서 할당한 Wallet 페이지를 서비스할 포트가 사용 중인 경우, 상기 단말(100) 및 상기 복수의 서버(200)는 전체 과정을 종료한다.
또한, 상기 선택된 또 다른 서버(200)에서 할당한 Wallet 페이지를 서비스할 포트가 사용 중이지 않고, 상기 선택된 또 다른 서버(200)에서 할당한 Wallet 노드가 사용할 다른 포트가 사용 중이지 않은 경우, 상기 단말(100)은 상기 선택된 또 다른 서버(200)에 Wallet을 배포한다.
이와 같이, 상기 단말(100)에 표시되는 컴포넌트 관리 화면에서 사용자 선택에 따라 Wallet 배포 메뉴가 선택되는 경우, 상기 단말(100)은 상기 복수의 서버(200) 중에서 선택된 또 다른 서버(200)와 연동하여, 상기 생성된 DeSecure 체인에 해당 Wallet 배포 기능을 적용할 수 있다.
또한, 상기 단말(100)에 표시되는 컴포넌트 관리 화면에서 사용자 선택에 따라 Faucet 배포 메뉴가 선택되는 경우, 상기 단말(100)은 상기 단말(100)은 상기 복수의 서버(200) 중 어느 하나의 서버(200)에 Ethstat이 배포된 상태인지 여부를 확인한다.
상기 확인 결과, 상기 Ethstat이 배포되지 않은 상태인 경우, 상기 단말(100) 및 상기 복수의 서버(200)는 전체 과정을 종료한다.
또한, 상기 확인 결과, 상기 Ethstat이 배포된 상태인 경우, 상기 단말(100)은 상기 복수의 서버(200) 중 어느 하나의 다른 서버(200)에 Bootnode가 배포된 상태인지 여부를 판단한다.
상기 판단 결과, 상기 Bootnode가 배포되지 않은 상태인 경우, 상기 단말(100) 및 상기 복수의 서버(200)는 전체 과정을 종료한다.
또한, 상기 판단 결과, 상기 Bootnode가 배포된 상태인 경우, 상기 단말(100)은 상기 복수의 서버(200) 중에서 Faucet을 배포할 어느 하나의 또 다른 서버(200)를 선택한다.
또한, 상기 선택된 또 다른 서버(200)에서 할당한 Faucet 페이지를 서비스할 포트가 사용 중인 경우, 상기 단말(100) 및 상기 복수의 서버(200)는 전체 과정을 종료한다.
또한, 상기 선택된 또 다른 서버(200)에서 할당한 Faucet 페이지를 서비스할 포트가 사용 중이지 않은 경우, 상기 단말(100)은 Faucet에 사용할 계정의 개인키를 상기 또 다른 서버(200)에 입력(또는 등록)한다.
또한, 상기 선택된 또 다른 서버(200)에서 할당한 Faucet 노드가 사용할 다른 포트가 사용 중이지 않은 경우, 상기 단말(100)은 상기 선택된 또 다른 서버(200)에 Faucet 노드를 배포한다.
이와 같이, 상기 단말(100)에 표시되는 컴포넌트 관리 화면에서 사용자 선택에 따라 Faucet 배포 메뉴가 선택되는 경우, 상기 단말(100)은 상기 복수의 서버(200) 중에서 선택된 또 다른 서버(200)와 연동하여, 상기 생성된 DeSecure 체인에 해당 Faucet 배포 기능을 적용할 수 있다.
또한, 상기 단말(100)에 표시되는 컴포넌트 관리 화면에서 사용자 선택에 따라 Dashboard 배포 메뉴가 선택되는 경우, 상기 단말(100)은 상기 복수의 서버(200) 중 어느 하나의 서버(200)에 Ethstat이 배포된 상태인지 여부를 확인한다.
상기 확인 결과, 상기 Ethstat이 배포되지 않은 상태인 경우, 상기 단말(100) 및 상기 복수의 서버(200)는 전체 과정을 종료한다.
또한, 상기 확인 결과, 상기 Ethstat이 배포된 상태인 경우, 상기 단말(100)은 상기 복수의 서버(200) 중 어느 하나의 다른 서버(200)에 Bootnode가 배포된 상태인지 여부를 판단한다.
상기 판단 결과, 상기 Bootnode가 배포되지 않은 상태인 경우, 상기 단말(100) 및 상기 복수의 서버(200)는 전체 과정을 종료한다.
또한, 상기 판단 결과, 상기 Bootnode가 배포된 상태인 경우, 상기 단말(100)은 상기 복수의 서버(200) 중에서 Dashboard를 배포할 어느 하나의 또 다른 서버(200)를 선택한다.
또한, 상기 선택된 또 다른 서버(200)에서 할당한 Dashboard 페이지를 서비스할 포트가 사용 중인 경우, 상기 단말(100) 및 상기 복수의 서버(200)는 전체 과정을 종료한다.
또한, 상기 선택된 또 다른 서버(200)에서 할당한 Dashboard 페이지를 서비스할 포트가 사용 중이지 않은 경우, 상기 단말(100)은 상기 선택된 또 다른 서버(200)에 Dashboard를 배포한다.
이와 같이, 상기 단말(100)에 표시되는 컴포넌트 관리 화면에서 사용자 선택에 따라 Dashboard 배포 메뉴가 선택되는 경우, 상기 단말(100)은 상기 복수의 서버(200) 중에서 선택된 또 다른 서버(200)와 연동하여, 상기 생성된 DeSecure 체인에 해당 Dashboard 배포 기능을 적용할 수 있다.
상기 복수의 서버(200)는 상기 단말(100), 다른 서버(200) 등과 통신한다. 이때, 상기 서버(200)는 AWS 인스턴스일 수 있다.
또한, 상기 복수의 서버(200)는 미리 설정된 이미지 파일을 이용해서 가상화 환경을 구축(또는 설정)한다. 이때, 상기 복수의 서버(200)는 이더리움 프라이빗 네트워크 매니저인 퍼페쓰(puppeth)를 통해 하드포크한 이더리움에 오류-정정 부호 기반의 작업증명(Error-Correction Codes Proof-of-Work: ECCPoW)을 적용하여 DeSecure 체인에서 사용할 수 있는 이더리움 프라이빗 네트워크를 생성하는데 관여하는 서버일 수 있다. 여기서, 상기 DeSecure 체인은 비트코인과 이더리움의 합의 알고리즘에 ECCPoW를 적용한 체인일 수 있다.
즉, 상기 복수의 서버(200)는 미리 설정된 도커(docker)를 각각 설치한다. 이때, 상기 도커는 소프트웨어 컨테이너 안에 응용 프로그램들을 배치하는 일을 자동화해 주는 오픈 소스 프로젝트이자 소프트웨어로, 동일한 인터페이스를 제공하여 프로그램의 배포 및 관리를 단순하게 해주는 컨테이너 기반의 오픈 소스 가상 플랫폼이다. 여기서, 상기 컨테이너는 가상화 기술의 하나로, 격리된 공간에서 프로세스를 동작시키는 기술이다.
또한, 상기 복수의 서버(200)는 상기 단말(100)과 연동하여, 해당 서버(200)에 접근할 수 있는 공개키를 등록(또는 설정)한다. 여기서, 상기 단말(100)은 상기 DeSecure 체인에서 사용할 수 있는 이더리움 프라이빗 네트워크를 생성하는데 관여하는 단말일 수 있다.
또한, 상기 복수의 서버(200)는 상기 단말(100)과 연동하여, 상기 단말(100)에 표시되는 컴포넌트 관리 화면에서 사용자 선택에 따라 Ethstat 배포 기능, Bootnode 배포 기능 및 Sealer 배포 기능을 순차로 수행하여, DeSecure 체인의 블록을 생성한다.
즉, 상기 단말(100)에 표시되는 컴포넌트 관리 화면에 포함된 미리 설정된 Ethstat 배포 메뉴가 선택된 후 상기 단말(100)에 표시되는 Ethstat 배포 화면에 표시되는 상기 복수의 서버(200) 중에서 Ethstat를 배포할 어느 하나의 서버(200)가 선택되는 경우, 상기 선택된 서버(200)는 자신이 Ethstat를 배포할 서버로 선정된 상태임을 나타내는 정보를 상기 단말(100)로부터 수신한다.
또한, 상기 선택된 서버(200)는 Ethstat를 서비스할 포트를 할당한다.
또한, 상기 선택된 서버(200)는 상기 할당된 Ethstat를 서비스할 포트가 사용 중인지 여부를 판단한다.
상기 판단 결과, 상기 할당된 Ethstat를 서비스할 포트가 사용 중인 경우, 상기 단말(100) 및 상기 복수의 서버(200)는 전체 과정을 종료한다.
또한, 상기 판단 결과, 상기 할당된 Ethstat를 서비스할 포트가 사용 중이지 않은 경우, 상기 선택된 서버(200)는 상기 단말(100)과 연동하여 Nginx를 배포한다.
또한, 상기 선택된 서버(200)는 상기 단말(100)과 연동하여 Ethstat를 배포한다.
또한, 상기 단말(100)에 표시되는 컴포넌트 관리 화면에 포함된 미리 설정된 Bootnode 배포 메뉴가 선택된 후 상기 복수의 서버(200) 중 어느 하나의 서버(200)에 Ethstat이 배포된 상태에서 상기 단말(100)에 의해 상기 복수의 서버(200) 중에서 Bootnode를 배포할 어느 하나의 다른 서버(200)가 선택되는 경우, 상기 선택된 다른 서버(200)는 자신이 Bootnode를 배포할 서버로 선정된 상태임을 나타내는 정보를 상기 단말(100)로부터 수신한다.
또한, 상기 선택된 다른 서버(200)는 Bootnode가 사용할 포트를 할당한다.
또한, 상기 선택된 다른 서버(200)는 상기 할당된 Bootnode를 배포할 포트가 사용 중인지 여부를 판단한다.
상기 판단 결과, 상기 Bootnode를 배포할 포트가 사용 중인 경우, 상기 단말(100) 및 상기 복수의 서버(200)는 전체 과정을 종료한다.
또한, 상기 판단 결과, 상기 Bootnode를 배포할 포트가 사용 중이지 않은 경우, 상기 선택된 다른 서버(200)는 상기 단말(100)과 연동하여 Bootnode를 배포한다.
또한, 상기 단말(100)에 표시되는 컴포넌트 관리 화면에 포함된 미리 설정된 Sealer 배포 메뉴가 선택된 후 상기 복수의 서버(200) 중 어느 하나의 서버(200)에 Ethstat 및 Bootnode가 배포된 상태에서 상기 단말(100)에 표시되는 상기 단말(100)에 의해 상기 복수의 서버(200) 중에서 Sealer를 배포할 어느 하나의 또 다른 서버(200)가 선택되는 경우, 상기 선택된 또 다른 서버(200)는 자신이 Sealer를 배포할 서버로 선정된 상태임을 나타내는 정보를 상기 단말(100)로부터 수신한다.
또한, 상기 선택된 또 다른 서버(200)는 Sealer가 사용할 포트를 할당한다.
또한, 상기 선택된 또 다른 서버(200)는 상기 단말(100)과 연동하여 마이닝 계정을 등록한다.
또한, 상기 선택된 또 다른 서버(200)는 상기 할당된 Sealer가 사용할 포트가 사용 중인지 여부를 판단한다.
상기 판단 결과, 상기 Sealer가 사용할 포트가 사용 중인 경우, 상기 단말(100) 및 상기 복수의 서버(200)는 전체 과정을 종료한다.
또한, 상기 판단 결과, 상기 Sealer가 사용할 포트가 사용 중이지 않은 경우, 상기 선택된 또 다른 서버(200)는 상기 단말(100)과 연동하여 Sealer 노드를 배포한다.
또한, 상기 선택된 또 다른 서버(200)는 상기 Sealer 노드(또는 Sealer)와 상기 부트노드를 연결한다.
이와 같이, 상기 단말(100) 및 상기 복수의 서버(200)는 서로 연동하여, 하드포크한 이더리움에 오류-정정 부호 기반의 작업증명(ECCPoW)을 적용하여 DeSecure 체인에서 사용할 수 있는 이더리움 프라이빗 네트워크를 생성하기 위해 필요한 Ethstat 배포 기능, Bootnode 배포 기능 및 Sealer 배포 기능을 수행하여, DeSecure 체인의 블록(또는 DeSecure 체인의 프라이빗 네트워크 또는 테스트 네트워크)을 생성한다.
또한, 상기 DeSecure 체인이 생성된 상태에서, 상기 복수의 서버(200)는 상기 단말(100)과 연동하여, 상기 단말(100)에 표시되는 컴포넌트 관리 화면에서 사용자 선택에 따라, Explorer 배포 기능, Wallet 배포 기능, Faucet 배포 기능 및 Dashboard 배포 기능 중 적어도 하나의 기능을 부가적으로 수행하여, 상기 생성된 DeSecure 체인에 해당 부가 기능을 적용(또는 반영)한다. 여기서, 상기 Explorer 기능(또는 상기 Explorer 배포 기능)은 상기 생성된 블록(또는 상기 생성된 DeSecure 체인의 블록)을 관리(또는 블록체인을 분석하는 웹 서비스를 제공)하는 기능이고, 상기 Wallet 기능(또는 상기 Wallet 배포 기능)은 지갑 소프트웨어를 관리(또는 트랜잭션을 간편하게 보낼 수 있게 해주는 지갑 서비스를 제공)하는 기능이고, 상기 Faucet 기능(또는 상기 Faucet 배포 기능)은 프라이빗 네트워크에서 테스트할 소량의 자금을 제공하는 기능이고, 상기 Dashboard 기능(또는 상기 Dashboard 배포 기능)은 상기 Ethstat 서비스, 상기 Bootnode 서비스, 상기 Sealer 서비스, 상기 Explorer 서비스, 상기 Wallet 서비스, 상기 Faucet 서비스 등을 묶어놓은 웹 사이트를 제공하는 기능일 수 있다.
즉, 상기 단말(100)에 표시되는 컴포넌트 관리 화면에서 사용자 선택에 따라 Explorer 배포 메뉴가 선택된 상태에서 상기 복수의 서버(200) 중 적어도 하나의 서버(200)에 Ethstat 및 Bootnode가 배포된 상태인 경우, 상기 단말(100)은 상기 복수의 서버(200) 중에서 Explorer를 배포할 어느 하나의 또 다른 서버(200)를 선택한다.
또한, 상기 선택된 또 다른 서버(200)는 자신이 Explorer를 배포할 서버로 선정된 상태임을 나타내는 정보를 상기 단말(100)로부터 수신한다.
또한, 상기 선택된 또 다른 서버(200)는 Explorer 페이지를 서비스할 포트를 할당한다.
또한, 상기 선택된 또 다른 서버(200)는 상기 단말(100)과 연동하여 Nginx를 배포한다.
또한, 상기 선택된 또 다른 서버(200)는 상기 할당된 Explorer 페이지를 서비스할 포트가 사용 중인지 여부를 판단한다.
상기 판단 결과, 상기 Explorer 페이지를 서비스할 포트가 사용 중인 경우, 상기 단말(100) 및 상기 복수의 서버(200)는 전체 과정을 종료한다.
또한, 상기 판단 결과, 상기 Explorer 페이지를 서비스할 포트가 사용 중이지 않은 경우, 상기 선택된 또 다른 서버(200)는 Explorer 노드가 사용할 다른 포트를 할당한다.
또한, 상기 선택된 또 다른 서버(200)는 상기 할당된 Explorer 노드가 사용할 다른 포트가 사용 중인지 여부를 확인한다.
상기 확인 결과, 상기 Explorer 노드가 사용할 다른 포트가 사용 중인 경우, 상기 단말(100) 및 상기 복수의 서버(200)는 전체 과정을 종료한다.
또한, 상기 확인 결과, 상기 Explorer 노드가 사용할 다른 포트가 사용 중이지 않은 경우, 상기 단말(100)은 상기 선택된 또 다른 서버(200)에 Explorer를 배포한다.
또한, 상기 선택된 또 다른 서버(200)는 상기 Explorer와 상기 부트노드를 연결한다.
또한, 상기 단말(100)에 표시되는 컴포넌트 관리 화면에서 사용자 선택에 따라 Wallet 배포 메뉴가 선택된 상태에서 상기 복수의 서버(200) 중 적어도 하나의 서버(200)에 Ethstat 및 Bootnode가 배포된 상태인 경우, 상기 단말(100)은 상기 복수의 서버(200) 중에서 Wallet을 배포할 또 다른 서버(200)를 선택한다.
또한, 상기 선택된 또 다른 서버(200)는 Wallet 페이지를 서비스할 포트를 할당한다.
또한, 상기 선택된 또 다른 서버(200)는 상기 단말(100)과 연동하여 Nginx를 배포한다.
또한, 상기 선택된 또 다른 서버(200)는 상기 할당된 Wallet 페이지를 서비스할 포트가 사용 중인지 여부를 판단한다.
상기 판단 결과, 상기 Wallet 페이지를 서비스할 포트가 사용 중인 경우, 상기 단말(100) 및 상기 복수의 서버(200)는 전체 과정을 종료한다.
또한, 상기 판단 결과, 상기 Wallet을 배포할 포트가 사용 중이지 않은 경우, 상기 선택된 또 다른 서버(200)는 Wallet 노드가 사용할 다른 포트를 할당한다.
또한, 상기 선택된 또 다른 서버(200)는 상기 할당된 Wallet 노드가 사용할 다른 포트가 사용 중인지 여부를 확인한다.
상기 확인 결과, 상기 Wallet 노드가 사용할 다른 포트가 사용 중인 경우, 상기 단말(100) 및 상기 복수의 서버(200)는 전체 과정을 종료한다.
또한, 상기 확인 결과, 상기 Wallet 노드가 사용할 다른 포트가 사용 중이지 않은 경우, 상기 단말(100)은 상기 선택된 또 다른 서버(200)에 Wallet을 배포한다.
또한, 상기 선택된 또 다른 서버(200)는 상기 Wallet과 상기 부트노드를 연결한다.
또한, 상기 단말(100)에 표시되는 컴포넌트 관리 화면에서 사용자 선택에 따라 Faucet 배포 메뉴가 선택된 상태에서 상기 복수의 서버(200) 중 적어도 하나의 서버(200)에 Ethstat 및 Bootnode가 배포된 상태인 경우, 상기 단말(100)은 상기 복수의 서버(200) 중에서 Faucet을 배포할 어느 하나의 또 다른 서버(200)를 선택한다.
또한, 상기 선택된 또 다른 서버(200)는 Faucet 페이지를 서비스할 포트를 할당한다.
또한, 상기 선택된 또 다른 서버(200)는 상기 단말(100)과 연동하여 Nginx를 배포한다.
또한, 상기 선택된 또 다른 서버(200)는 상기 할당된 Faucet 페이지를 서비스할 포트가 사용 중인지 여부를 판단한다.
상기 판단 결과, 상기 Faucet 페이지를 서비스할 포트가 사용 중인 경우, 상기 단말(100) 및 상기 복수의 서버(200)는 전체 과정을 종료한다.
또한, 상기 판단 결과, 상기 Faucet 페이지를 서비스할 포트가 사용 중이지 않은 경우, 상기 선택된 또 다른 서버(200)는 상기 단말(100)과 연동하여 Faucet에 사용할 계정의 개인키를 입력(또는 등록)한다.
또한, 상기 선택된 또 다른 서버(200)는 Faucet 노드가 사용할 다른 포트를 할당한다.
또한, 상기 선택된 또 다른 서버(200)는 상기 할당된 Faucet 노드가 사용할 다른 포트가 사용 중인지 여부를 확인한다.
상기 확인 결과, 상기 Faucet 노드가 사용할 다른 포트가 사용 중인 경우, 상기 단말(100) 및 상기 복수의 서버(200)는 전체 과정을 종료한다.
또한, 상기 확인 결과, 상기 Faucet 노드가 사용할 다른 포트가 사용 중이지 않은 경우, 상기 선택된 또 다른 서버(200)는 상기 단말(100)과 연동하여 Faucet 노드를 배포한다.
또한, 상기 선택된 또 다른 서버(200)는 상기 Faucet 노드와 상기 부트노드를 연결한다.
또한, 상기 단말(100)에 표시되는 컴포넌트 관리 화면에서 사용자 선택에 따라 Dashboard 배포 메뉴가 선택된 상태에서 상기 복수의 서버(200) 중 적어도 하나의 서버(200)에 Ethstat 및 Bootnode가 배포된 상태인 경우, 상기 단말(100)은 상기 복수의 서버(200) 중에서 Dashboard를 배포할 어느 하나의 또 다른 서버(200)를 선택한다.
또한, 상기 선택된 또 다른 서버(200)는 Dashboard 페이지를 서비스할 포트를 할당한다.
또한, 상기 선택된 또 다른 서버(200)는 상기 단말(100)과 연동하여 Nginx를 배포한다.
또한, 상기 선택된 또 다른 서버(200)는 상기 할당된 Dashboard 페이지를 서비스할 포트가 사용 중인지 여부를 판단한다.
상기 판단 결과, 상기 Dashboard 페이지를 서비스할 포트가 사용 중인 경우, 상기 단말(100) 및 상기 복수의 서버(200)는 전체 과정을 종료한다.
또한, 상기 판단 결과, 상기 Dashboard 페이지를 서비스할 포트가 사용 중이지 않은 경우, 상기 선택된 또 다른 서버(200)는 상기 단말(100)과 연동하여 Dashboard를 배포한다.
또한, 앞서 선택된 Ethstat와 관련한 서버(200)는 노드들의 정보(또는 상태)를 수집하고, 수집된 노드들의 정보를 Ethstat에 저장(또는 등록)하거나 또는 모니터링 기능을 통해 사용자가 확인할 수 있도록 출력한다.
본 발명의 실시예에서는, 복수의 서버(200)에서 7 종류의 Ethstat 배포 기능, Bootnode 배포 기능, Sealer 배포 기능, Explorer 배포 기능, Wallet 배포 기능, Faucet 배포 기능 및 Dashboard 배포 기능을 분담하여 각각 수행하는 것을 설명하고 있으나, 이에 한정되는 것은 아니며, 상기 복수의 서버(200) 중에서 선택된 단일 서버(200)에서 상기 7 종류의 기능을 모두 수행할 수도 있고 또는, 상기 복수의 서버(200) 중에서 선택된 2개 이상의 서버(200)에서 상기 7 종류의 기능 중 일부를 분담하여 수행할 수도 있다.
또한, 본 발명의 실시예에서는, 상기 단말(100)에서 상기 서버(200)에서 제공하는 웹 페이지를 통해 블록체인 생성 기능, 관리 기능, 이용 기능 등을 수행하는 것을 설명하고 있으나, 이에 한정되는 것은 아니며, 상기 웹 페이지 이외에도 상기 서버(200)에서 제공하는 전용 앱을 통해 블록체인 생성 기능, 관리 기능, 이용 기능 등을 수행할 수도 있다.
이와 같이, 이더리움 프라이빗 네트워크 매니저인 퍼페쓰(puppeth)를 통해 하드포크한 이더리움에 오류-정정 부호 기반의 작업증명(ECCPoW)을 적용하여 DeSecure 체인에서 사용할 수 있는 이더리움 프라이빗 네트워크를 생성할 수 있다.
이하에서는, 본 발명에 따른 블록체인 관리 방법을 도 1 내지 도 4를 참조하여 상세히 설명한다.
도 2는 본 발명의 실시예에 따른 블록체인 관리 방법을 나타낸 흐름도이다.
먼저, 복수의 서버(200)는 미리 설정된 이미지 파일을 이용해서 가상화 환경을 구축(또는 설정)한다. 이때, 상기 복수의 서버(200)는 이더리움 프라이빗 네트워크 매니저인 퍼페쓰(puppeth)를 통해 하드포크한 이더리움에 오류-정정 부호 기반의 작업증명(Error-Correction Codes Proof-of-Work: ECCPoW)을 적용하여 DeSecure 체인에서 사용할 수 있는 이더리움 프라이빗 네트워크를 생성하는데 관여하는 서버일 수 있다. 여기서, 상기 DeSecure 체인은 비트코인과 이더리움의 합의 알고리즘에 ECCPoW를 적용한 체인일 수 있다.
즉, 상기 복수의 서버(200)는 미리 설정된 도커(docker)를 각각 설치한다. 이때, 상기 도커는 소프트웨어 컨테이너 안에 응용 프로그램들을 배치하는 일을 자동화해 주는 오픈 소스 프로젝트이자 소프트웨어로, 동일한 인터페이스를 제공하여 프로그램의 배포 및 관리를 단순하게 해주는 컨테이너 기반의 오픈 소스 가상 플랫폼이다. 여기서, 상기 컨테이너는 가상화 기술의 하나로, 격리된 공간에서 프로세스를 동작시키는 기술이다.
일 예로, 제 1 서버(200) 내지 제 7 서버(200)는 미리 설정된 도커를 각각 설치한다(S210).
이후, 단말(100)은 상기 복수의 서버(200)에 접근할 수 있는 공개키(또는 퍼블릭 키)를 상기 복수의 서버(200)에 각각 등록(또는 설정)한다. 여기서, 상기 단말(100)은 상기 DeSecure 체인에서 사용할 수 있는 이더리움 프라이빗 네트워크를 생성하는데 관여하는 단말일 수 있다.
일 예로, 제 1 단말(100)은 상기 제 1 서버 내지 제 7 서버에 접근할 수 있는 미리 설정된 제 1 공개키를 상기 제 1 서버 내지 제 7 서버에 각각 등록한다(S220).
이후, 상기 단말(100)은 사용자 선택(또는 터치/제어)에 따라 해당 단말(100)에 미리 설치된 puppeth(퍼페쓰)를 실행하고, puppeth 실행에 따른 메뉴 선택 화면을 표시한다. 이때, 상기 메뉴 선택 화면은 제네시스 파일 관리 메뉴(또는 항목/버튼), 컴포넌트 관리 메뉴, 네트워크 상태 관리 메뉴, 서버 상태 관리 메뉴 등을 포함한다.
일 예로, 상기 제 1 단말은 사용자 선택에 따라 해당 제 1 단말에 미리 설치된 puppeth 명령어를 실행하고, 도 3에 도시된 바와 같이, 상기 puppeth 명령어 실행에 따른 제 1 메뉴 선택 화면(300)을 표시한다. 여기서, 상기 제 1 메뉴 선택 화면(300)은 '1. Show network stats'(또는 네트워크 상태 관리 메뉴), '2. Manage Existing genesis'(또는 제네시스 파일 관리 메뉴), '3. Manage tracked machines'(또는 서버 상태 관리 메뉴), '4. Manage network components'(또는 컴포넌트 관리 메뉴) 등을 포함한다(S230).
이후, 상기 단말(100)에 표시되는 메뉴 선택 화면에 포함된 미리 설정된 제네시스 파일 관리 메뉴가 선택되는 경우, 상기 단말(100)은 사용자 선택에 따른 제네시스 파일을 로딩한다. 여기서, 상기 제네시스 파일은 블록체인에서의 인덱스 상의 0번째 블록(또는 블록체인에서의 첫 번째 블록)에 대한 정보를 담고 있는 파일이다.
즉, 상기 단말(100)에 표시되는 메뉴 선택 화면에 포함된 미리 설정된 제네시스 파일 관리 메뉴가 선택되는 경우, 상기 단말(100)은 사용자 선택에 따라 해당 단말(100)에 미리 저장된 복수의 제네시스 파일 중에서 특정 제네시스 파일을 선택하거나 또는, 합의알고리즘인 ECCPoW(또는 오류-정정 부호 기반의 작업증명)를 선택하여 새로운 제네시스 파일을 생성한다. 여기서, 상기 선택된 특정 제네시스 파일은 상기 ECCPoW가 적용된 파일일 수 있다.
또한, 상기 단말(100)은 상기 선택된 특정 제네시스 파일 또는 상기 생성된 새로운 제네시스 파일을 백그라운드 상태로 로딩한 상태를 유지하고, 상기 메뉴 선택 화면을 표시(또는 상기 메뉴 선택 화면으로 전환)한다.
일 예로, 상기 제 1 단말에 표시되는 제 1 메뉴 선택 화면(300)에 포함된 미리 설정된 제네시스 파일 관리 메뉴(310)가 선택될 때, 상기 제 1 단말은 해당 제 1 단말에 미리 저장된 복수의 제네시스 파일 중에서 특정 제네시스 파일을 선택할지 또는 새로운 제네시스 파일을 생성할지를 확인하기 위한 제네시스 파일 선택 화면을 표시한다.
또한, 상기 제 1 단말에 표시되는 제네시스 파일 선택 화면에서 기존 파일 중에서 선택 메뉴가 선택될 때, 상기 제 1 단말은 해당 제 1 단말에 저장된 복수의 제네시스 파일에 대한 목록을 표시하고, 사용자 선택에 따른 제 1 제네시스 파일을 선택한다.
또한, 상기 제 1 단말은 상기 선택된 제 1 제네시스 파일을 로딩한 상태를 유지하고, 상기 제 1 메뉴 선택 화면(300)을 다시 표시한다.
다른 일 예로, 상기 제 1 단말에 표시되는 제 1 메뉴 선택 화면(300)에 포함된 미리 설정된 제네시스 파일 관리 메뉴(310)가 선택될 때, 상기 제 1 단말은 해당 제 1 단말에 미리 저장된 복수의 제네시스 파일 중에서 특정 제네시스 파일을 선택할지 또는 새로운 제네시스 파일을 생성할지를 확인하기 위한 제네시스 파일 선택 화면을 표시한다.
또한, 상기 제 1 단말에 표시되는 제네시스 파일 선택 화면에서 신규 파일 생성 메뉴가 선택될 때, 상기 제 1 단말은 새로운 제네시스 파일을 생성하기 위한 화면을 표시하고, 사용자 선택에 따른 신규 제 2 제네시스 파일을 생성한다.
또한, 상기 제 1 단말은 상기 생성된 제 2 제네시스 파일을 로딩한 상태를 유지하고, 상기 제 1 메뉴 선택 화면(300)을 다시 표시한다(S240).
이후, 상기 단말(100)에 표시되는 메뉴 선택 화면에 포함된 미리 설정된 컴포넌트 관리 메뉴가 선택되는 경우, 상기 단말(100)은 상기 선택된 컴포넌트 관리 메뉴에 대응하는 DeSecure 체인 생성을 위한 컴포넌트 관리 화면을 표시한다. 이때, 상기 컴포넌트 관리 화면은 Ethstat 배포(deploy) 메뉴, Bootnode 배포 메뉴, Sealer 배포 메뉴, Explorer 배포 메뉴, Wallet 배포 메뉴, Faucet 배포 메뉴, Dashboard 배포 메뉴 등을 포함한다.
일 예로, 상기 제 1 단말에 표시되는 제 1 메뉴 선택 화면(300)에 포함된 미리 설정된 컴포넌트 관리 메뉴(320)가 선택될 때, 도 4에 도시된 바와 같이, 상기 제 1 단말은 상기 선택된 컴포넌트 관리 메뉴에 대응하는 컴포넌트 관리 화면(400)을 표시한다. 여기서, 상기 컴포넌트 관리 화면(400)은 '1. Ethstats - Network monitoring tool'(또는 Ethstat 배포 메뉴), '2. Bootnode - Entry point of the network'(또는 Bootnode 배포 메뉴), '3. Sealer - Full node minting new blocks'(또는 Sealer 배포 메뉴), '4. Explorer - Chaing analysis webservice'(또는 Explorer 배포 메뉴), '5. Wallet - Browser wallet for quick sends'(또는 Wallet 배포 메뉴), '6. Faucet - Crypto faucet to give away funds'(또는 Faucet 배포 메뉴), '7. Dashboard - Website listing above web-services'(또는 Dashboard 배포 메뉴) 등을 포함한다(S250).
이후, 상기 단말(100)은 상기 복수의 서버(200)와 연동하여, 상기 단말(100)에 표시되는 컴포넌트 관리 화면에서 사용자 선택에 따라 Ethstat 배포 기능, Bootnode 배포 기능 및 Sealer 배포 기능을 순차로 수행하여, DeSecure 체인의 블록을 생성한다. 여기서, 상기 Ethstat 기능(또는 상기 Ethstat 배포 기능)은 네트워크 모니터링을 위한 도구이고, 상기 Bootnode 기능(또는 상기 Bootnode 배포 기능)은 기준 노드(또는 네트워크의 엔트리 포인트)를 설정하는 기능이고, 상기 Sealer 기능(또는 상기 Sealer 배포 기능)은 블록 생성을 담당할 노드(또는 새로운 블록들을 생성하는 노드)를 배포(또는 설정)하는 기능일 수 있다.
즉, 상기 단말(100)에 표시되는 컴포넌트 관리 화면에 포함된 미리 설정된 Ethstat 배포 메뉴가 선택되는 경우, 상기 단말(100)은 상기 선택된 Ethstat 배포 메뉴에 대응하는 Ethstat 배포 화면을 표시한다. 또한, 상기 단말(100)은 상기 Ethstat 배포 화면에 표시되는 상기 복수의 서버(200) 중에서 Ethstat를 배포할 어느 하나의 서버(200)를 선택한다. 또한, 상기 선택된 서버(200)는 Ethstat를 서비스할 포트를 할당한다. 또한, 상기 선택된 서버(200)는 상기 할당된 Ethstat를 서비스할 포트가 사용 중인지 여부를 판단한다. 상기 판단 결과, 상기 할당된 Ethstat를 서비스할 포트가 사용 중인 경우, 상기 단말(100) 및 상기 복수의 서버(200)는 전체 과정을 종료한다. 또한, 상기 판단 결과, 상기 할당된 Ethstat를 서비스할 포트가 사용 중이지 않은 경우, 상기 단말(100)은 상기 선택된 서버(200)에 Nginx를 배포한다. 또한, 상기 단말(100)은 상기 선택된 서버(200)에 Ethstat를 배포한다. 여기서, 상기 Nginx는 기본적인 웹 서버 기능 외에 추가로 캐싱(caching), 트래픽 부하 균형(load balancing), TLS/SSL 보안, 메일 프록시 등의 기능을 제공한다.
또한, 상기 단말(100)과 상기 선택된 서버(200) 간에 Ethstat 배포 기능을 수행한 후 상기 단말(100)에 표시되는 컴포넌트 관리 화면에 포함된 미리 설정된 Bootnode 배포 메뉴가 선택되는 경우, 상기 단말(100)은 상기 복수의 서버(200) 중 어느 하나의 서버(200)에 Ethstat이 배포된 상태인지 여부를 확인한다. 상기 확인 결과, 상기 Ethstat이 배포되지 않은 상태인 경우, 상기 단말(100) 및 상기 복수의 서버(200)는 전체 과정을 종료한다. 또한, 상기 확인 결과, 상기 Ethstat이 배포된 상태인 경우, 상기 단말(100)은 상기 복수의 서버(200) 중에서 Bootnode를 배포할 어느 하나의 다른 서버(200)를 선택한다. 또한, 상기 선택된 다른 서버(200)는 Bootnode가 사용할 포트를 할당한다. 또한, 상기 선택된 다른 서버(200)는 상기 할당된 Bootnode를 배포할 포트가 사용 중인지 여부를 판단한다. 상기 판단 결과, 상기 Bootnode를 배포할 포트가 사용 중인 경우, 상기 단말(100) 및 상기 복수의 서버(200)는 전체 과정을 종료한다. 또한, 상기 판단 결과, 상기 Bootnode를 배포할 포트가 사용 중이지 않은 경우, 상기 단말(100)은 상기 선택된 다른 서버(200)에 Bootnode를 배포한다. 또한, 상기 단말(100)은 부트노드 정보를 저장한다. 또한, 앞서 선택된 서버(200)는 노드들의 정보(또는 상태)를 수집하고, 수집된 노드들의 정보를 Ethstat에 저장(또는 등록)하거나 또는 모니터링 기능을 통해 사용자가 확인할 수 있도록 출력한다.
또한, 상기 단말(100)과 상기 선택된 다른 서버(200) 간에 Bootnode 배포 기능을 수행한 후 상기 단말(100)에 표시되는 컴포넌트 관리 화면에 포함된 미리 설정된 Sealer 배포 메뉴가 선택되는 경우, 상기 단말(100)은 상기 복수의 서버(200) 중 어느 하나의 서버(200)에 Ethstat이 배포된 상태인지 여부를 확인한다. 상기 확인 결과, 상기 Ethstat이 배포되지 않은 상태인 경우, 상기 단말(100) 및 상기 복수의 서버(200)는 전체 과정을 종료한다. 또한, 상기 확인 결과, 상기 Ethstat이 배포된 상태인 경우, 상기 단말(100)은 상기 복수의 서버(200) 중 어느 하나의 다른 서버(200)에 Bootnode가 배포된 상태인지 여부를 판단한다. 상기 판단 결과, 상기 Bootnode가 배포되지 않은 상태인 경우, 상기 단말(100) 및 상기 복수의 서버(200)는 전체 과정을 종료한다. 또한, 상기 판단 결과, 상기 Bootnode가 배포된 상태인 경우, 상기 단말(100)은 상기 복수의 서버(200) 중에서 Sealer를 배포할 어느 하나의 또 다른 서버(200)를 선택한다. 또한, 상기 선택된 또 다른 서버(200)는 Sealer가 사용할 포트를 할당한다. 또한, 상기 단말(100)은 상기 선택된 또 다른 서버(200)에 마이닝 계정을 등록한다. 또한, 상기 선택된 또 다른 서버(200)는 상기 할당된 Sealer가 사용할 포트가 사용 중인지 여부를 판단한다. 상기 판단 결과, 상기 Sealer가 사용할 포트가 사용 중인 경우, 상기 단말(100) 및 상기 복수의 서버(200)는 전체 과정을 종료한다. 또한, 상기 판단 결과, 상기 Sealer가 사용할 포트가 사용 중이지 않은 경우, 상기 단말(100)은 상기 선택된 또 다른 서버(200)에 Sealer 노드를 배포한다. 또한, 상기 선택된 또 다른 서버(200)는 상기 Sealer 노드(또는 Sealer)와 상기 부트노드를 연결한다. 또한, 앞서 선택된 서버(200)는 노드들의 정보(또는 상태)를 수집하고, 수집된 노드들의 정보를 Ethstat에 저장(또는 등록)하거나 또는 모니터링 기능을 통해 사용자가 확인할 수 있도록 출력한다.
이와 같이, 상기 단말(100) 및 상기 복수의 서버(200)는 서로 연동하여, 하드포크한 이더리움에 오류-정정 부호 기반의 작업증명(ECCPoW)을 적용하여 DeSecure 체인에서 사용할 수 있는 이더리움 프라이빗 네트워크를 생성하기 위해 필요한 Ethstat 배포 기능, Bootnode 배포 기능 및 Sealer 배포 기능을 수행하여, DeSecure 체인의 블록(또는 DeSecure 체인의 프라이빗 네트워크 또는 테스트 네트워크)을 생성한다.
일 예로, 상기 제 1 단말에 표시되는 컴포넌트 관리 화면(400)에 포함된 Ethstat 배포 메뉴(410)가 선택될 때, 상기 제 1 단말은 상기 선택된 Ethstat 배포 메뉴(410)에 대응하는 Ethstat 배포 화면을 표시한다. 또한, 상기 제 1 단말은 상기 Ethstat 배포 화면에 표시되는 상기 제 1 서버 내지 제 7 서버 중에서 사용자 선택에 따라 Ethstat를 배포할 제 1 서버를 선택한다. 또한, 상기 제 1 서버는 Ethstat를 서비스할 제 1 포트를 할당한다. 또한, 상기 제 1 서버는 상기 할당된 Ethstat를 서비스할 제 1 포트가 사용 중인지 여부를 판단한다. 상기 판단 결과, 상기 할당된 제 1 포트가 사용 중일 때, 상기 제 1 단말 및 상기 제 1 서버 내지 제 7 서버는 전체 과정을 종료한다. 또한, 상기 판단 결과, 상기 할당된 제 1 포트가 사용 중이지 않을 때, 상기 제 1 단말은 상기 제 1 서버에 미리 설정된 Nginx 및 Ethstat를 배포한다. 또한, 상기 제 1 단말은 상기 컴포넌트 관리 화면(400)을 표시한다.
또한, 상기 제 1 단말이 상기 제 1 서버와 연동하여 Ethstat 배포 기능을 수행한 후 상기 제 1 단말에 표시되는 컴포넌트 관리 화면(400)에서 Bootnode 배포 메뉴(420)가 선택될 때, 상기 제 1 단말은 상기 제 1 서버 내지 제 7 서버 중 어느 하나의 서버(200)에 상기 Ethstat이 배포된 상태인지 여부를 확인한다. 상기 확인 결과, 상기 Ethstat이 배포되지 않은 상태일 때, 상기 제 1 단말 및 상기 제 1 서버 내지 제 7 서버는 전체 과정을 종료한다. 또한, 상기 확인 결과, 상기 Ethstat이 배포된 상태일 때, 상기 제 1 단말은 상기 제 1 서버 내지 제 7 서버 중에서 Bootnode를 배포할 제 2 서버를 선택한다. 또한, 상기 선택된 제 2 서버는 Bootnode가 사용할 제 2 포트를 할당한다. 또한, 상기 제 2 서버는 상기 할당된 Bootnode를 배포할 제 2 포트가 사용 중인지 여부를 판단한다. 상기 판단 결과, 상기 제 2 포트가 사용 중일 때, 상기 제 1 단말 및 상기 제 1 서버 내지 제 7 서버는 전체 과정을 종료한다. 또한, 상기 판단 결과, 상기 제 2 포트가 사용 중이지 않을 때, 상기 제 1 단말은 상기 제 2 서버에 미리 설정된 Bootnode를 배포한다. 또한, 상기 제 1 단말은 부트노드 정보를 저장한다. 또한, 상기 제 1 서버는 노드들의 정보(또는 상태)를 수집하고, 수집된 노드들의 정보를 Ethstat에 저장(또는 등록)하거나 또는 모니터링 기능을 통해 표시한다. 또한, 상기 제 1 단말은 상기 컴포넌트 관리 화면(400)을 표시한다.
또한, 상기 제 1 단말과 상기 제 2 서버 간에 Bootnode 배포 기능을 수행한 후 상기 제 1 단말에 표시되는 컴포넌트 관리 화면(400)에서 Sealer 배포 메뉴(430)가 선택될 때, 상기 제 1 단말은 상기 제 1 서버 내지 제 7 서버 중 어느 하나의 서버(200)에 상기 Ethstat이 배포된 상태인지 여부를 확인한다. 상기 확인 결과, 상기 Ethstat이 배포되지 않은 상태일 때, 상기 제 1 단말 및 상기 제 1 서버 내지 제 7 서버는 전체 과정을 종료한다. 또한, 상기 확인 결과, 상기 Ethstat이 배포된 상태일 때, 상기 제 1 단말은 상기 제 1 서버 내지 제 7 서버 중 어느 하나의 서버(200)에 상기 Bootnode가 배포된 상태인지 여부를 판단한다. 상기 판단 결과, 상기 Bootnode가 배포되지 않은 상태일 때, 상기 제 1 단말 및 상기 제 1 서버 내지 제 7 서버는 전체 과정을 종료한다. 또한, 상기 판단 결과, 상기 Bootnode가 배포된 상태일 때, 상기 제 1 단말은 상기 제 1 서버 내지 제 7 서버 중에서 Sealer를 배포할 제 3 서버를 선택한다. 또한, 상기 선택된 제 3 서버는 Sealer가 사용할 제 3 포트를 할당한다. 또한, 상기 제 1 단말은 상기 제 3 서버에 마이닝 계정을 등록한다. 또한, 상기 제 3 서버는 상기 할당된 Sealer가 사용할 제 3 포트가 사용 중인지 여부를 판단한다. 상기 판단 결과, 상기 제 3 포트가 사용 중일 때, 상기 제 1 단말 및 상기 제 1 서버 내지 제 7 서버는 전체 과정을 종료한다. 또한, 상기 판단 결과, 상기 제 3 포트가 사용 중이지 않을 때, 상기 제 1 단말은 상기 제 3 서버에 미리 설정된 Sealer 노드를 배포한다. 또한, 상기 제 3 서버는 상기 Sealer 노드와 상기 부트노드를 연결한다. 또한, 상기 제 1 서버는 노드들의 정보(또는 상태)를 수집하고, 수집된 노드들의 정보를 Ethstat에 저장(또는 등록)하거나 또는 모니터링 기능을 통해 표시한다.
이와 같이, 상기 제 1 단말, 상기 제 1 서버, 상기 제 2 서버 및 상기 제 3 서버가 연동하여, 상기 Ethstat 배포 기능, 상기 Bootnode 배포 기능 및 상기 Sealer 배포 기능을 정상적으로 수행한 상태일 때, DeSecure 체인의 블록이 생성된다(S260).
이후, 상기 DeSecure 체인이 생성된 상태에서, 상기 단말(100)은 상기 복수의 서버(200) 중 일부와 연동하여, 상기 단말(100)에 표시되는 컴포넌트 관리 화면에서 사용자 선택에 따라, Explorer 배포 기능, Wallet 배포 기능, Faucet 배포 기능 및 Dashboard 배포 기능 중 적어도 하나의 기능을 부가적으로 수행하여, 상기 생성된 DeSecure 체인에 해당 부가 기능을 적용(또는 반영)한다. 여기서, 상기 Explorer 기능(또는 상기 Explorer 배포 기능)은 상기 생성된 블록(또는 상기 생성된 DeSecure 체인의 블록)을 관리(또는 블록체인을 분석하는 웹 서비스를 제공)하는 기능이고, 상기 Wallet 기능(또는 상기 Wallet 배포 기능)은 지갑 소프트웨어를 관리(또는 트랜잭션을 간편하게 보낼 수 있게 해주는 지갑 서비스를 제공)하는 기능이고, 상기 Faucet 기능(또는 상기 Faucet 배포 기능)은 프라이빗 네트워크에서 테스트할 소량의 자금을 제공하는 기능이고, 상기 Dashboard 기능(또는 상기 Dashboard 배포 기능)은 상기 Ethstat 서비스, 상기 Bootnode 서비스, 상기 Sealer 서비스, 상기 Explorer 서비스, 상기 Wallet 서비스, 상기 Faucet 서비스 등을 묶어놓은 웹 사이트를 제공하는 기능일 수 있다.
즉, 상기 단말(100)에 표시되는 컴포넌트 관리 화면에서 사용자 선택에 따라 Explorer 배포 메뉴가 선택되는 경우, 상기 단말(100)은 상기 복수의 서버(200) 중 어느 하나의 서버(200)에 Ethstat이 배포된 상태인지 여부를 확인한다. 상기 확인 결과, 상기 Ethstat이 배포되지 않은 상태인 경우, 상기 단말(100) 및 상기 복수의 서버(200)는 전체 과정을 종료한다. 또한, 상기 확인 결과, 상기 Ethstat이 배포된 상태인 경우, 상기 단말(100)은 상기 복수의 서버(200) 중 어느 하나의 다른 서버(200)에 Bootnode가 배포된 상태인지 여부를 판단한다. 상기 판단 결과, 상기 Bootnode가 배포되지 않은 상태인 경우, 상기 단말(100) 및 상기 복수의 서버(200)는 전체 과정을 종료한다. 또한, 상기 판단 결과, 상기 Bootnode가 배포된 상태인 경우, 상기 단말(100)은 상기 복수의 서버(200) 중에서 Explorer를 배포할 어느 하나의 또 다른 서버(200)를 선택한다. 또한, 상기 선택된 또 다른 서버(200)는 Explorer 페이지를 서비스할 포트를 할당한다. 또한, 상기 단말(100)은 상기 선택된 또 다른 서버(200)에 Nginx를 배포한다. 또한, 상기 선택된 또 다른 서버(200)는 상기 할당된 Explorer 페이지를 서비스할 포트가 사용 중인지 여부를 판단한다. 상기 판단 결과, 상기 Explorer 페이지를 서비스할 포트가 사용 중인 경우, 상기 단말(100) 및 상기 복수의 서버(200)는 전체 과정을 종료한다. 또한, 상기 판단 결과, 상기 Explorer 페이지를 서비스할 포트가 사용 중이지 않은 경우, 상기 선택된 또 다른 서버(200)는 Explorer 노드가 사용할 다른 포트를 할당한다. 또한, 상기 선택된 또 다른 서버(200)는 상기 할당된 Explorer 노드가 사용할 다른 포트가 사용 중인지 여부를 확인한다. 상기 확인 결과, 상기 Explorer 노드가 사용할 다른 포트가 사용 중인 경우, 상기 단말(100) 및 상기 복수의 서버(200)는 전체 과정을 종료한다. 또한, 상기 확인 결과, 상기 Explorer 노드가 사용할 다른 포트가 사용 중이지 않은 경우, 상기 단말(100)은 상기 선택된 또 다른 서버(200)에 Explorer를 배포한다. 또한, 상기 선택된 또 다른 서버(200)는 상기 Explorer와 상기 부트노드를 연결한다. 또한, 앞서 선택된 서버(200)는 노드들의 정보(또는 상태)를 수집하고, 수집된 노드들의 정보를 Ethstat에 저장(또는 등록)하거나 또는 모니터링 기능을 통해 사용자가 확인할 수 있도록 출력한다.
이와 같이, 상기 단말(100)에 표시되는 컴포넌트 관리 화면에서 사용자 선택에 따라 Explorer 배포 메뉴가 선택되는 경우, 상기 단말(100)은 상기 복수의 서버(200) 중에서 선택된 또 다른 서버(200)와 연동하여, 상기 생성된 DeSecure 체인에 해당 Explorer 배포 기능을 적용할 수 있다.
또한, 상기 단말(100)에 표시되는 컴포넌트 관리 화면에서 사용자 선택에 따라 Wallet 배포 메뉴가 선택되는 경우, 상기 단말(100)은 상기 복수의 서버(200) 중 어느 하나의 서버(200)에 Ethstat이 배포된 상태인지 여부를 확인한다. 상기 확인 결과, 상기 Ethstat이 배포되지 않은 상태인 경우, 상기 단말(100) 및 상기 복수의 서버(200)는 전체 과정을 종료한다. 또한, 상기 확인 결과, 상기 Ethstat이 배포된 상태인 경우, 상기 단말(100)은 상기 복수의 서버(200) 중 어느 하나의 다른 서버(200)에 Bootnode가 배포된 상태인지 여부를 판단한다. 상기 판단 결과, 상기 Bootnode가 배포되지 않은 상태인 경우, 상기 단말(100) 및 상기 복수의 서버(200)는 전체 과정을 종료한다. 또한, 상기 판단 결과, 상기 Bootnode가 배포된 상태인 경우, 상기 단말(100)은 상기 복수의 서버(200) 중에서 Wallet을 배포할 또 다른 서버(200)를 선택한다. 또한, 상기 선택된 또 다른 서버(200)는 Wallet 페이지를 서비스할 포트를 할당한다. 또한, 상기 단말(100)은 상기 선택된 또 다른 서버(200)에 Nginx를 배포한다. 또한, 상기 선택된 또 다른 서버(200)는 상기 할당된 Wallet 페이지를 서비스할 포트가 사용 중인지 여부를 판단한다. 상기 판단 결과, 상기 Wallet 페이지를 서비스할 포트가 사용 중인 경우, 상기 단말(100) 및 상기 복수의 서버(200)는 전체 과정을 종료한다. 또한, 상기 판단 결과, 상기 Wallet을 배포할 포트가 사용 중이지 않은 경우, 상기 선택된 또 다른 서버(200)는 Wallet 노드가 사용할 다른 포트를 할당한다. 또한, 상기 선택된 또 다른 서버(200)는 상기 할당된 Wallet 노드가 사용할 다른 포트가 사용 중인지 여부를 확인한다. 상기 확인 결과, 상기 Wallet 노드가 사용할 다른 포트가 사용 중인 경우, 상기 단말(100) 및 상기 복수의 서버(200)는 전체 과정을 종료한다. 또한, 상기 확인 결과, 상기 Wallet 노드가 사용할 다른 포트가 사용 중이지 않은 경우, 상기 단말(100)은 상기 선택된 또 다른 서버(200)에 Wallet을 배포한다. 또한, 상기 선택된 또 다른 서버(200)는 상기 Wallet과 상기 부트노드를 연결한다. 또한, 앞서 선택된 서버(200)는 노드들의 정보(또는 상태)를 수집하고, 수집된 노드들의 정보를 Ethstat에 저장(또는 등록)하거나 또는 모니터링 기능을 통해 사용자가 확인할 수 있도록 출력한다.
이와 같이, 상기 단말(100)에 표시되는 컴포넌트 관리 화면에서 사용자 선택에 따라 Wallet 배포 메뉴가 선택되는 경우, 상기 단말(100)은 상기 복수의 서버(200) 중에서 선택된 또 다른 서버(200)와 연동하여, 상기 생성된 DeSecure 체인에 해당 Wallet 배포 기능을 적용할 수 있다.
또한, 상기 단말(100)에 표시되는 컴포넌트 관리 화면에서 사용자 선택에 따라 Faucet 배포 메뉴가 선택되는 경우, 상기 단말(100)은 상기 단말(100)은 상기 복수의 서버(200) 중 어느 하나의 서버(200)에 Ethstat이 배포된 상태인지 여부를 확인한다. 상기 확인 결과, 상기 Ethstat이 배포되지 않은 상태인 경우, 상기 단말(100) 및 상기 복수의 서버(200)는 전체 과정을 종료한다. 또한, 상기 확인 결과, 상기 Ethstat이 배포된 상태인 경우, 상기 단말(100)은 상기 복수의 서버(200) 중 어느 하나의 다른 서버(200)에 Bootnode가 배포된 상태인지 여부를 판단한다. 상기 판단 결과, 상기 Bootnode가 배포되지 않은 상태인 경우, 상기 단말(100) 및 상기 복수의 서버(200)는 전체 과정을 종료한다. 또한, 상기 판단 결과, 상기 Bootnode가 배포된 상태인 경우, 상기 단말(100)은 상기 복수의 서버(200) 중에서 Faucet을 배포할 어느 하나의 또 다른 서버(200)를 선택한다. 또한, 상기 선택된 또 다른 서버(200)는 Faucet 페이지를 서비스할 포트를 할당한다. 또한, 상기 단말(100)은 상기 선택된 또 다른 서버(200)에 Nginx를 배포한다. 또한, 상기 선택된 또 다른 서버(200)는 상기 할당된 Faucet 페이지를 서비스할 포트가 사용 중인지 여부를 판단한다. 상기 판단 결과, 상기 Faucet 페이지를 서비스할 포트가 사용 중인 경우, 상기 단말(100) 및 상기 복수의 서버(200)는 전체 과정을 종료한다. 또한, 상기 판단 결과, 상기 Faucet 페이지를 서비스할 포트가 사용 중이지 않은 경우, 상기 단말(100)은 Faucet에 사용할 계정의 개인키를 상기 또 다른 서버(200)에 입력(또는 등록)한다. 또한, 상기 선택된 또 다른 서버(200)는 Faucet 노드가 사용할 다른 포트를 할당한다. 또한, 상기 선택된 또 다른 서버(200)는 상기 할당된 Faucet 노드가 사용할 다른 포트가 사용 중인지 여부를 확인한다. 상기 확인 결과, 상기 Faucet 노드가 사용할 다른 포트가 사용 중인 경우, 상기 단말(100) 및 상기 복수의 서버(200)는 전체 과정을 종료한다. 또한, 상기 확인 결과, 상기 Faucet 노드가 사용할 다른 포트가 사용 중이지 않은 경우, 상기 단말(100)은 상기 선택된 또 다른 서버(200)에 Faucet 노드를 배포한다. 또한, 상기 선택된 또 다른 서버(200)는 상기 Faucet 노드와 상기 부트노드를 연결한다. 또한, 앞서 선택된 서버(200)는 노드들의 정보(또는 상태)를 수집하고, 수집된 노드들의 정보를 Ethstat에 저장(또는 등록)하거나 또는 모니터링 기능을 통해 사용자가 확인할 수 있도록 출력한다.
이와 같이, 상기 단말(100)에 표시되는 컴포넌트 관리 화면에서 사용자 선택에 따라 Faucet 배포 메뉴가 선택되는 경우, 상기 단말(100)은 상기 복수의 서버(200) 중에서 선택된 또 다른 서버(200)와 연동하여, 상기 생성된 DeSecure 체인에 해당 Faucet 배포 기능을 적용할 수 있다.
또한, 상기 단말(100)에 표시되는 컴포넌트 관리 화면에서 사용자 선택에 따라 Dashboard 배포 메뉴가 선택되는 경우, 상기 단말(100)은 상기 복수의 서버(200) 중 어느 하나의 서버(200)에 Ethstat이 배포된 상태인지 여부를 확인한다. 상기 확인 결과, 상기 Ethstat이 배포되지 않은 상태인 경우, 상기 단말(100) 및 상기 복수의 서버(200)는 전체 과정을 종료한다. 또한, 상기 확인 결과, 상기 Ethstat이 배포된 상태인 경우, 상기 단말(100)은 상기 복수의 서버(200) 중 어느 하나의 다른 서버(200)에 Bootnode가 배포된 상태인지 여부를 판단한다. 상기 판단 결과, 상기 Bootnode가 배포되지 않은 상태인 경우, 상기 단말(100) 및 상기 복수의 서버(200)는 전체 과정을 종료한다. 또한, 상기 판단 결과, 상기 Bootnode가 배포된 상태인 경우, 상기 단말(100)은 상기 복수의 서버(200) 중에서 Dashboard를 배포할 어느 하나의 또 다른 서버(200)를 선택한다. 또한, 상기 선택된 또 다른 서버(200)는 Dashboard 페이지를 서비스할 포트를 할당한다. 또한, 상기 단말(100)은 상기 선택된 또 다른 서버(200)에 Nginx를 배포한다. 또한, 상기 선택된 또 다른 서버(200)는 상기 할당된 Dashboard 페이지를 서비스할 포트가 사용 중인지 여부를 판단한다. 상기 판단 결과, 상기 Dashboard 페이지를 서비스할 포트가 사용 중인 경우, 상기 단말(100) 및 상기 복수의 서버(200)는 전체 과정을 종료한다. 또한, 상기 판단 결과, 상기 Dashboard 페이지를 서비스할 포트가 사용 중이지 않은 경우, 상기 단말(100)은 상기 선택된 또 다른 서버(200)에 Dashboard를 배포한다.
이와 같이, 상기 단말(100)에 표시되는 컴포넌트 관리 화면에서 사용자 선택에 따라 Dashboard 배포 메뉴가 선택되는 경우, 상기 단말(100)은 상기 복수의 서버(200) 중에서 선택된 또 다른 서버(200)와 연동하여, 상기 생성된 DeSecure 체인에 해당 Dashboard 배포 기능을 적용할 수 있다.
일 예로, 상기 제 1 단말에 표시되는 컴포넌트 관리 화면(400)에서 사용자 선택에 따라 Explorer 배포 메뉴(440)가 선택될 때, 상기 제 1 단말은 상기 제 1 단말은 상기 제 1 서버 내지 제 7 서버 중 어느 하나의 서버(200)에 상기 Ethstat이 배포된 상태인지 여부를 확인한다. 상기 확인 결과, 상기 Ethstat이 배포되지 않은 상태일 때, 상기 제 1 단말 및 상기 제 1 서버 내지 제 7 서버는 전체 과정을 종료한다. 또한, 상기 확인 결과, 상기 Ethstat이 배포된 상태일 때, 상기 제 1 단말은 상기 제 1 서버 내지 제 7 서버 중 어느 하나의 서버(200)에 상기 Bootnode가 배포된 상태인지 여부를 판단한다. 상기 판단 결과, 상기 Bootnode가 배포되지 않은 상태일 때, 상기 제 1 단말 및 상기 제 1 서버 내지 제 7 서버는 전체 과정을 종료한다. 또한, 상기 판단 결과, 상기 Bootnode가 배포된 상태일 때, 상기 제 1 단말은 상기 제 1 서버 내지 제 7 서버 중에서 Explorer를 배포할 제 4 서버를 선택한다. 또한, 상기 선택된 제 4 서버는 Explorer 페이지를 서비스할 제 4 포트를 할당한다. 또한, 상기 제 1 단말은 상기 제 4 서버에 미리 설정된 Nginx를 배포한다. 또한, 상기 제 4 서버는 상기 할당된 Explorer 페이지를 서비스할 제 4 포트가 사용 중인지 여부를 판단한다. 상기 판단 결과, 상기 제 4 포트가 사용 중일 때, 상기 제 1 단말 및 상기 제 1 서버 내지 제 7 서버는 전체 과정을 종료한다. 또한, 상기 판단 결과, 상기 제 4 포트가 사용 중이 아닐 때, 상기 제 4 서버는 Explorer 노드가 사용할 제 5 포트를 할당한다. 또한, 상기 제 4 서버는 상기 할당된 Explorer 노드가 사용할 제 5 포트가 사용 중인지 여부를 확인한다. 상기 확인 결과, 상기 제 5 포트가 사용 중일 때, 상기 제 1 단말 및 상기 제 1 서버 내지 제 7 서버는 전체 과정을 종료한다. 또한, 상기 확인 결과, 상기 제 5 포트가 사용 중이 아닐 때, 상기 제 1 단말은 상기 제 4 서버에 Explorer를 배포한다. 또한, 상기 제 4 서버는 상기 Explorer와 상기 제 2 서버에서 관리하는 부트노드를 연결한다. 또한, 상기 제 1 서버는 노드들의 정보(또는 상태)를 수집하고, 수집된 노드들의 정보를 Ethstat에 저장(또는 등록)하거나 또는 모니터링 기능을 통해 표시한다.
다른 일 예로, 상기 제 1 단말에 표시되는 컴포넌트 관리 화면(400)에서 사용자 선택에 따라 Wallet 배포 메뉴(450)가 선택될 때, 상기 제 1 단말은 상기 제 1 서버 내지 제 7 서버 중 어느 하나의 서버(200)에 상기 Ethstat이 배포된 상태인지 여부를 확인한다. 상기 확인 결과, 상기 Ethstat이 배포되지 않은 상태일 때, 상기 제 1 단말 및 상기 제 1 서버 내지 제 7 서버는 전체 과정을 종료한다. 또한, 상기 확인 결과, 상기 Ethstat이 배포된 상태일 때, 상기 제 1 단말은 상기 제 1 서버 내지 제 7 서버 중 어느 하나의 서버(200)에 상기 Bootnode가 배포된 상태인지 여부를 판단한다. 상기 판단 결과, 상기 Bootnode가 배포되지 않은 상태일 때, 상기 제 1 단말 및 상기 제 1 서버 내지 제 7 서버는 전체 과정을 종료한다. 또한, 상기 판단 결과, 상기 Bootnode가 배포된 상태일 때, 상기 제 1 단말은 상기 제 1 서버 내지 제 7 서버 중에서 Wallet을 배포할 제 5 서버를 선택한다. 또한, 상기 선택된 제 5 서버는 Wallet을 배포할 제 6 포트를 할당한다. 또한, 상기 제 1 단말은 상기 제 5 서버에 미리 설정된 Nginx를 배포한다. 또한, 상기 제 5 서버는 상기 할당된 Wallet을 배포할 제 6 포트가 사용 중인지 여부를 판단한다. 상기 판단 결과, 상기 Wallet을 배포할 제 6 포트가 사용 중일 때, 상기 제 1 단말 및 상기 제 1 서버 내지 제 7 서버는 전체 과정을 종료한다. 또한, 상기 판단 결과, 상기 Wallet을 배포할 제 6 포트가 사용 중이 아닐 때, 상기 제 5 서버는 Wallet 노드가 사용할 제 7 포트를 할당한다. 또한, 상기 제 5 서버는 상기 할당된 Wallet 노드가 사용할 제 7 포트가 사용 중인지 여부를 확인한다. 상기 확인 결과, 상기 제 7 포트가 사용 중일 때, 상기 제 1 단말 및 상기 제 1 서버 내지 제 7 서버는 전체 과정을 종료한다. 또한, 상기 확인 결과, 상기 제 7 포트가 사용 중이 아닐 때, 상기 제 1 단말은 상기 제 5 서버에 Wallet을 배포한다. 또한, 상기 제 5 서버는 상기 Wallet과 상기 제 2 서버에서 관리하는 부트노드를 연결한다. 또한, 상기 제 1 서버는 노드들의 정보(또는 상태)를 수집하고, 수집된 노드들의 정보를 Ethstat에 저장(또는 등록)하거나 또는 모니터링 기능을 통해 표시한다.
또 다른 일 예로, 상기 제 1 단말에 표시되는 컴포넌트 관리 화면(400)에서 사용자 선택에 따라 Faucet 배포 메뉴(460)가 선택될 때, 상기 제 1 단말은 상기 제 1 서버 내지 제 7 서버 중 어느 하나의 서버(200)에 상기 Ethstat이 배포된 상태인지 여부를 확인한다. 상기 확인 결과, 상기 Ethstat이 배포되지 않은 상태일 때, 상기 제 1 단말 및 상기 제 1 서버 내지 제 7 서버는 전체 과정을 종료한다. 또한, 상기 확인 결과, 상기 Ethstat이 배포된 상태일 때, 상기 제 1 단말은 상기 제 1 서버 내지 제 7 서버 중 어느 하나의 서버(200)에 상기 Bootnode가 배포된 상태인지 여부를 판단한다. 상기 판단 결과, 상기 Bootnode가 배포되지 않은 상태일 때, 상기 제 1 단말 및 상기 제 1 서버 내지 제 7 서버는 전체 과정을 종료한다. 또한, 상기 판단 결과, 상기 Bootnode가 배포된 상태일 때, 상기 제 1 단말은 상기 제 1 서버 내지 제 7 서버 중에서 Faucet을 배포할 제 6 서버를 선택한다. 또한, 상기 선택된 제 6 서버는 Faucet 페이지를 서비스할 제 8 포트를 할당한다. 또한, 상기 제 1 단말은 상기 제 6 서버에 미리 설정된 Nginx를 배포한다. 또한, 상기 제 6 서버는 상기 할당된 Faucet 페이지를 서비스할 제 8 포트가 사용 중인지 여부를 판단한다. 상기 판단 결과, 상기 Faucet 페이지를 서비스할 제 8 포트가 사용 중일 때, 상기 제 1 단말 및 상기 제 1 서버 내지 제 7 서버는 전체 과정을 종료한다. 또한, 상기 판단 결과, 상기 Faucet 페이지를 서비스할 제 8 포트가 사용 중이 아닐 때, 상기 제 1 단말은 상기 제 6 서버에 Faucet에 사용할 계정의 개인키를 등록한다. 또한, 상기 제 6 서버는 Faucet 노드가 사용할 제 9 포트를 할당한다. 또한, 상기 제 6 서버는 상기 할당된 Faucet 노드가 사용할 제 9 포트가 사용 중인지 여부를 확인한다. 상기 확인 결과, 상기 제 9 포트가 사용 중일 때, 상기 제 1 단말 및 상기 제 1 서버 내지 제 7 서버는 전체 과정을 종료한다. 또한, 상기 확인 결과, 상기 제 9 포트가 사용 중이 아닐 때, 상기 제 1 단말은 상기 제 6 서버에 Faucet 노드를 배포한다. 또한, 상기 제 6 서버는 상기 Faucet 노드와 상기 제 2 서버에서 관리하는 부트노드를 연결한다. 또한, 상기 제 1 서버는 노드들의 정보(또는 상태)를 수집하고, 수집된 노드들의 정보를 Ethstat에 저장(또는 등록)하거나 또는 모니터링 기능을 통해 표시한다.
또 다른 일 예로, 상기 제 1 단말에 표시되는 컴포넌트 관리 화면(400)에서 사용자 선택에 따라 Dashboard 배포 메뉴(470)가 선택될 때, 상기 제 1 단말은 상기 제 1 서버 내지 제 7 서버 중 어느 하나의 서버(200)에 상기 Ethstat이 배포된 상태인지 여부를 확인한다. 상기 확인 결과, 상기 Ethstat이 배포되지 않은 상태일 때, 상기 제 1 단말 및 상기 제 1 서버 내지 제 7 서버는 전체 과정을 종료한다. 또한, 상기 확인 결과, 상기 Ethstat이 배포된 상태일 때, 상기 제 1 단말은 상기 제 1 서버 내지 제 7 서버 중 어느 하나의 서버(200)에 상기 Bootnode가 배포된 상태인지 여부를 판단한다. 상기 판단 결과, 상기 Bootnode가 배포되지 않은 상태일 때, 상기 제 1 단말 및 상기 제 1 서버 내지 제 7 서버는 전체 과정을 종료한다. 또한, 상기 판단 결과, 상기 Bootnode가 배포된 상태일 때, 상기 제 1 단말은 상기 제 1 서버 내지 제 7 서버 중에서 Dashboard를 배포할 제 7 서버를 선택한다. 또한, 상기 선택된 제 7 서버는 Dashboard 페이지를 서비스할 제 10 포트를 할당한다. 또한, 상기 제 1 단말은 상기 제 7 서버에 미리 설정된 Nginx를 배포한다. 또한, 상기 제 7 서버는 상기 할당된 Dashboard 페이지를 서비스할 제 10 포트가 사용 중인지 여부를 판단한다. 상기 판단 결과, 상기 Dashboard 페이지를 서비스할 제 10 포트가 사용 중일 때, 상기 제 1 단말 및 상기 제 1 서버 내지 제 7 서버는 전체 과정을 종료한다. 또한, 상기 판단 결과, 상기 Dashboard 페이지를 서비스할 제 10 포트가 사용 중이 아닐 때, 상기 제 1 단말은 상기 제 7 서버에 Dashboard를 배포한다(S270).
본 발명의 실시예는 앞서 설명된 바와 같이, 이더리움 프라이빗 네트워크 매니저인 퍼페쓰(puppeth)를 통해 하드포크한 이더리움에 오류-정정 부호 기반의 작업증명(ECCPoW)을 적용하여 DeSecure 체인에서 사용할 수 있는 이더리움 프라이빗 네트워크를 생성하여, 전체 시스템의 운영 효율을 향상시키고, 사용상의 편의성을 높일 수 있다.
전술된 내용은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
10: 블록체인 관리 시스템 100: 단말
200: 복수의 서버

Claims (10)

  1. 도커(docker)를 각각 설치하여 가상화 환경을 각각 구축하는 복수의 서버; 및
    상기 복수의 서버에 접근할 수 있는 공개키를 상기 복수의 서버에 각각 등록하고, 미리 설치된 puppeth가 실행될 때 상기 puppeth 실행에 따른 메뉴 선택 화면을 표시하고, 상기 표시되는 메뉴 선택 화면에 포함된 미리 설정된 제네시스 파일 관리 메뉴가 선택될 때 사용자 선택에 따른 제네시스 파일을 로딩하고, 상기 표시되는 메뉴 선택 화면에 포함된 미리 설정된 컴포넌트 관리 메뉴가 선택될 때 상기 선택된 컴포넌트 관리 메뉴에 대응하는 DeSecure 체인 생성을 위한 컴포넌트 관리 화면을 표시하고, 상기 복수의 서버와 연동하여 상기 표시되는 컴포넌트 관리 화면에서 사용자 선택에 따라 Ethstat 배포 기능, Bootnode 배포 기능 및 Sealer 배포 기능을 순차로 수행하여, DeSecure 체인(decentralized secure chain)의 블록을 생성하는 단말을 포함하는 블록체인 관리 시스템.
  2. 제 1 항에 있어서,
    상기 단말은,
    사용자 선택에 따라 상기 단말에 미리 저장된 복수의 제네시스 파일 중에서 특정 제네시스 파일을 선택하거나 또는, 합의알고리즘인 ECCPoW(Error-Correction Codes Proof-of-Work)를 선택하여 새로운 제네시스 파일을 생성하고, 상기 선택된 특정 제네시스 파일 또는 상기 생성된 새로운 제네시스 파일을 백그라운드 상태로 로딩한 상태를 유지하고, 상기 메뉴 선택 화면을 표시하는 것을 특징으로 하는 블록체인 관리 시스템.
  3. 제 1 항에 있어서,
    상기 단말은,
    상기 복수의 서버 중 일부와 연동하여, 상기 단말에 표시되는 컴포넌트 관리 화면에서 사용자 선택에 따른 Explorer 배포 기능, Wallet 배포 기능, Faucet 배포 기능 및 Dashboard 배포 기능 중 적어도 하나의 기능을 부가적으로 수행하여, 상기 생성된 DeSecure 체인에 상기 부가 기능을 적용하는 것을 특징으로 하는 블록체인 관리 시스템.
  4. 단말에 의해, 복수의 서버에 접근할 수 있는 공개키를 상기 복수의 서버에 각각 등록하는 단계;
    상기 단말에 의해, 상기 단말에 미리 설치된 puppeth가 실행될 때, 상기 puppeth 실행에 따른 메뉴 선택 화면을 표시하는 단계;
    상기 단말에 표시되는 메뉴 선택 화면에 포함된 미리 설정된 제네시스 파일 관리 메뉴가 선택될 때, 상기 단말에 의해, 사용자 선택에 따른 제네시스 파일을 로딩하는 단계;
    상기 단말에 표시되는 메뉴 선택 화면에 포함된 미리 설정된 컴포넌트 관리 메뉴가 선택될 때, 상기 단말에 의해, 상기 선택된 컴포넌트 관리 메뉴에 대응하는 DeSecure 체인 생성을 위한 컴포넌트 관리 화면을 표시하는 단계; 및
    상기 단말에 의해, 상기 복수의 서버와 연동하여, 상기 단말에 표시되는 컴포넌트 관리 화면에서 사용자 선택에 따라 Ethstat 배포 기능, Bootnode 배포 기능 및 Sealer 배포 기능을 순차로 수행하여, DeSecure 체인의 블록을 생성하는 단계를 포함하는 블록체인 관리 방법.
  5. 제 4 항에 있어서,
    상기 제네시스 파일을 로딩하는 단계는,
    사용자 선택에 따라 상기 단말에 미리 저장된 복수의 제네시스 파일 중에서 특정 제네시스 파일을 선택하거나 또는, 합의알고리즘인 ECCPoW(Error-Correction Codes Proof-of-Work)를 선택하여 새로운 제네시스 파일을 생성하는 과정; 및
    상기 선택된 특정 제네시스 파일 또는 상기 생성된 새로운 제네시스 파일을 백그라운드 상태로 로딩한 상태를 유지하고, 상기 메뉴 선택 화면을 표시하는 과정을 포함하는 것을 특징으로 하는 블록체인 관리 방법.
  6. 제 4 항에 있어서,
    상기 DeSecure 체인의 블록을 생성하는 단계는,
    네트워크 모니터링을 위한 도구를 배포하는 Ethstat 배포 기능, 네트워크의 엔트리 포인트를 설정하는 Bootnode 배포 기능 및 새로운 블록들을 생성하는 노드를 설정하는 Sealer 배포 기능을 순차로 수행하여 상기 DeSecure 체인의 블록을 생성하는 것을 특징으로 하는 블록체인 관리 방법.
  7. 제 4 항에 있어서,
    상기 DeSecure 체인의 블록을 생성하는 단계는,
    상기 단말에 표시되는 컴포넌트 관리 화면에 포함된 미리 설정된 Ethstat 배포 메뉴가 선택될 때, 상기 단말에 의해, 상기 복수의 서버 중에서 선택된 제 1 서버와 연동하여, 상기 제 1 서버에 Ethstat를 배포하는 과정;
    상기 단말에 표시되는 컴포넌트 관리 화면에 포함된 미리 설정된 Bootnode 배포 메뉴가 선택될 때, 상기 단말에 의해, 상기 복수의 서버 중에서 선택된 제 2 서버와 연동하여, 상기 제 2 서버에 Bootnode를 배포하는 과정; 및
    상기 단말에 표시되는 컴포넌트 관리 화면에 포함된 미리 설정된 Sealer 배포 메뉴가 선택될 때, 상기 단말에 의해, 상기 복수의 서버 중에서 선택된 제 3 서버와 연동하여, 상기 제 3 서버에 Sealer를 배포하는 과정을 포함하는 것을 특징으로 하는 블록체인 관리 방법.
  8. 제 7 항에 있어서,
    상기 제 1 서버에 Ethstat를 배포하는 과정은,
    상기 단말에 표시되는 컴포넌트 관리 화면에 포함된 미리 설정된 Ethstat 배포 메뉴가 선택될 때, 상기 단말에 의해, 상기 선택된 Ethstat 배포 메뉴에 대응하는 Ethstat 배포 화면을 표시하는 과정;
    상기 단말에 의해, 상기 Ethstat 배포 화면에 표시되는 상기 복수의 서버 중에서 Ethstat를 배포할 상기 제 1 서버를 선택하는 과정;
    상기 제 1 서버에 의해, Ethstat를 서비스할 제 1 포트를 할당하는 과정;
    상기 제 1 서버에 의해, 상기 할당된 Ethstat를 서비스할 제 1 포트가 사용 중인지 여부를 판단하는 과정;
    상기 판단 결과, 상기 할당된 Ethstat를 서비스할 제 1 포트가 사용 중일 때, 상기 단말 및 상기 복수의 서버에 의해, 상기 제 1 서버에 Ethstat를 배포하는 과정을 종료하는 과정;
    상기 판단 결과, 할당된 Ethstat를 서비스할 제 1 포트가 사용 중이 아닐 때, 상기 단말에 의해, Nginx를 상기 제 1 서버에 배포하는 과정;
    상기 단말에 의해, Ethstat를 상기 제 1 서버에 배포하는 과정; 및
    상기 단말에 의해, 상기 컴포넌트 관리 화면을 표시하는 과정을 포함하는 것을 특징으로 하는 블록체인 관리 방법.
  9. 제 8 항에 있어서,
    상기 제 2 서버에 Bootnode를 배포하는 과정은,
    상기 단말에 표시되는 컴포넌트 관리 화면에 포함된 미리 설정된 Bootnode 배포 메뉴가 선택될 때, 상기 단말에 의해, 상기 복수의 서버에 상기 Ethstat이 배포된 상태인지 여부를 확인하는 과정;
    상기 확인 결과, 상기 Ethstat이 배포되지 않은 상태일 때, 상기 단말 및 상기 복수의 서버에 의해, 상기 제 2 서버에 Bootnode를 배포하는 과정을 종료하는 과정;
    상기 확인 결과, 상기 Ethstat이 배포된 상태일 때, 상기 단말에 의해, 상기 복수의 서버 중에서 Bootnode를 배포할 제 2 서버를 선택하는 과정;
    상기 제 2 서버에 의해, Bootnode가 사용할 제 2 포트를 할당하는 과정;
    상기 제 2 서버에 의해, 상기 할당된 Bootnode를 배포할 제 2 포트가 사용 중인지 여부를 판단하는 과정;
    상기 판단 결과, 상기 제 2 포트가 사용 중일 때, 상기 단말 및 상기 복수의 서버에 의해, 상기 제 2 서버에 Bootnode를 배포하는 과정을 종료하는 과정;
    상기 판단 결과, 상기 제 2 포트가 사용 중이지 않을 때, 상기 제 1 단말에 의해, 미리 설정된 Bootnode를 상기 제 2 서버에 배포하는 과정;
    상기 제 1 단말에 의해, 부트노드 정보를 저장하는 과정;
    상기 제 1 서버에 의해, 노드들의 정보를 수집하고, 수집된 노드들의 정보를 표시하는 과정; 및
    상기 단말에 의해, 상기 컴포넌트 관리 화면을 표시하는 과정을 포함하는 것을 특징으로 하는 블록체인 관리 방법.
  10. 제 9 항에 있어서,
    상기 제 3 서버에 Sealer를 배포하는 과정은,
    상기 단말에 표시되는 컴포넌트 관리 화면에 포함된 미리 설정된 Sealer 배포 메뉴가 선택될 때, 상기 단말에 의해, 상기 복수의 서버에 상기 Ethstat이 배포된 상태인지 여부를 확인하는 과정;
    상기 확인 결과, 상기 Ethstat이 배포되지 않은 상태일 때, 상기 단말 및 상기 복수의 서버에 의해, 상기 제 3 서버에 Sealer를 배포하는 과정을 종료하는 과정;
    상기 확인 결과, 상기 Ethstat이 배포된 상태일 때, 상기 단말에 의해, 상기 복수의 서버 중 어느 하나의 서버에 상기 Bootnode가 배포된 상태인지 여부를 판단하는 과정;
    상기 판단 결과, 상기 Bootnode가 배포되지 않은 상태일 때, 상기 단말 및 상기 복수의 서버에 의해, 상기 제 3 서버에 Sealer를 배포하는 과정을 종료하는 과정;
    상기 판단 결과, 상기 Bootnode가 배포된 상태일 때, 상기 단말에 의해, 상기 복수의 서버 중에서 Sealer를 배포한 제 3 서버를 선택하는 과정;
    상기 제 3 서버에 의해, Sealer가 사용할 제 3 포트를 할당하는 과정;
    상기 단말에 의해, 마이닝 계정을 상기 제 3 서버에 등록하는 과정;
    상기 제 3 서버에 의해, 상기 할당된 Sealer가 사용할 제 3 포트가 사용 중인지 여부를 판단하는 과정;
    상기 판단 결과, 상기 제 3 포트가 사용 중일 때, 상기 제 1 단말 및 상기 제 1 서버 내지 제 7 서버는 상기 제 3 서버에 Sealer를 배포하는 과정을 종료하는 과정;
    상기 판단 결과, 상기 제 3 포트가 사용 중이지 않을 때, 상기 제 1 단말에 의해, 미리 설정된 Sealer 노드를 상기 제 3 서버에 배포하는 과정;
    상기 제 3 서버에 의해, 상기 Sealer 노드와 상기 제 2 서버에서 관리하는 부트노드를 연결하는 과정; 및
    상기 제 1 서버에 의해, 노드들의 정보를 수집하고, 수집된 노드들의 정보를 표시하는 과정을 포함하는 것을 특징으로 하는 블록체인 관리 방법.
KR1020190137290A 2019-10-31 2019-10-31 블록체인 관리 시스템 및 그 방법 KR102135403B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190137290A KR102135403B1 (ko) 2019-10-31 2019-10-31 블록체인 관리 시스템 및 그 방법
PCT/KR2019/015331 WO2021085714A1 (ko) 2019-10-31 2019-11-12 블록체인 관리 시스템 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190137290A KR102135403B1 (ko) 2019-10-31 2019-10-31 블록체인 관리 시스템 및 그 방법

Publications (1)

Publication Number Publication Date
KR102135403B1 true KR102135403B1 (ko) 2020-07-17

Family

ID=71832312

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190137290A KR102135403B1 (ko) 2019-10-31 2019-10-31 블록체인 관리 시스템 및 그 방법

Country Status (2)

Country Link
KR (1) KR102135403B1 (ko)
WO (1) WO2021085714A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102435357B1 (ko) * 2021-11-23 2022-08-23 주식회사 스마트엠투엠 블록체인 네트워크 트윈을 이용한 블록체인 통합 개발 및 관리 방법 및 시스템
KR20240031858A (ko) 2022-09-01 2024-03-08 경기대학교 산학협력단 작업증명 합의 알고리즘을 사용하는 블록체인에서의 최적 합의 도출 장치 및 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170089795A (ko) 2017-07-17 2017-08-04 강정헌 중앙 관리형 블록체인 인증을 적용한 자율적 군집통신 보안 시스템 및 방법
KR20190045344A (ko) * 2016-10-20 2019-05-02 소니 주식회사 블록체인 기반의 디지털 권리 관리
JP2019512909A (ja) * 2016-02-23 2019-05-16 エヌチェーン ホールディングス リミテッドNchain Holdings Limited セキュアな投票及び配布に利用されるブロックチェーンが実装された計数システム及び方法
KR102012757B1 (ko) * 2019-04-05 2019-08-21 (주)이지팜 웹 세션 기반의 블록체인 연동 서비스 제공 시스템 및 그 방법
US20190266650A1 (en) * 2018-02-28 2019-08-29 Disney Enterprises, Inc. Configuration for authenticating a virtual item

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019512909A (ja) * 2016-02-23 2019-05-16 エヌチェーン ホールディングス リミテッドNchain Holdings Limited セキュアな投票及び配布に利用されるブロックチェーンが実装された計数システム及び方法
KR20190045344A (ko) * 2016-10-20 2019-05-02 소니 주식회사 블록체인 기반의 디지털 권리 관리
KR20170089795A (ko) 2017-07-17 2017-08-04 강정헌 중앙 관리형 블록체인 인증을 적용한 자율적 군집통신 보안 시스템 및 방법
US20190266650A1 (en) * 2018-02-28 2019-08-29 Disney Enterprises, Inc. Configuration for authenticating a virtual item
KR102012757B1 (ko) * 2019-04-05 2019-08-21 (주)이지팜 웹 세션 기반의 블록체인 연동 서비스 제공 시스템 및 그 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
이흥노, 'Scalable DeSecure ECCPoW Blockchains'. JCCI 2019 특별세션, 2019.05.01. *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102435357B1 (ko) * 2021-11-23 2022-08-23 주식회사 스마트엠투엠 블록체인 네트워크 트윈을 이용한 블록체인 통합 개발 및 관리 방법 및 시스템
KR20240031858A (ko) 2022-09-01 2024-03-08 경기대학교 산학협력단 작업증명 합의 알고리즘을 사용하는 블록체인에서의 최적 합의 도출 장치 및 방법

Also Published As

Publication number Publication date
WO2021085714A1 (ko) 2021-05-06

Similar Documents

Publication Publication Date Title
US10447770B2 (en) Blockchain micro-services framework
US11093232B2 (en) Microservice update system
US8595824B2 (en) Task-based access control in a virtualization environment
CN111386523B (zh) 用于基于区块链的去中心化应用开发的系统和方法
JP2020526810A (ja) ブロックチェーン上で高レベル演算を提供する方法及びシステム
KR102135403B1 (ko) 블록체인 관리 시스템 및 그 방법
CA3040887A1 (en) Fpga platform as a service (paas)
KR102134491B1 (ko) 보호된 데이터 세트의 네트워크 기반 관리 기법
CN114089975B (zh) 计算软件的扩展方法、装置、非易失性存储介质及处理器
KR20190067819A (ko) 가상 보안 환경에서 호스팅되는 보안 서비스
US20080282242A1 (en) Simulation management within a grid infrastructure
CN108347472A (zh) Ip地址的配置方法、云服务器、云平台及可读存储介质
Elrom et al. Blockchain nodes
EP3918750B1 (en) Turing-complete smart contracts for cryptocurrencies
US9519566B2 (en) Modeling memory use of applications
JP5962671B2 (ja) 情報処理装置、情報処理方法およびコンピュータプログラム
Kaur et al. Docker and its features
CN108520025B (zh) 一种服务节点确定方法、装置、设备及介质
CN108139950B (zh) 分布式扩展执行的方法及计算系统
CN110730959A (zh) 用于执行由区块链请求的动作的方法和系统
CN114398082B (zh) 一种框架式区块链应用的兼容运行方法及装置
US11379125B1 (en) Trusted field programmable gate array
Cai et al. Fundamentals of ethereum: Application development
US20240193653A1 (en) Programming verification rulesets visually
Varshney et al. Novel framework for secured bulk creation of virtual machine in IaaS platform

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant