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

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

Info

Publication number
WO2021085714A1
WO2021085714A1 PCT/KR2019/015331 KR2019015331W WO2021085714A1 WO 2021085714 A1 WO2021085714 A1 WO 2021085714A1 KR 2019015331 W KR2019015331 W KR 2019015331W WO 2021085714 A1 WO2021085714 A1 WO 2021085714A1
Authority
WO
WIPO (PCT)
Prior art keywords
terminal
server
servers
ethstat
port
Prior art date
Application number
PCT/KR2019/015331
Other languages
English (en)
French (fr)
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 주식회사 온더
Publication of WO2021085714A1 publication Critical patent/WO2021085714A1/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

Definitions

  • the present invention relates to a block chain management system and its method, in particular, by applying an error-correction code-based proof of work (ECCPoW) to Ethereum hard forked through the Ethereum private network manager puppeth. It relates to a blockchain management system and method for creating an Ethereum private network that can be used in.
  • ECCPoW error-correction code-based proof of work
  • the object of the present invention is to create an Ethereum private network that can be used in the DeSecure chain by applying an error-correction code-based proof of work (ECCPoW) to the hard forked Ethereum through the Ethereum private network manager puppeth. It is to provide a blockchain management system and its method.
  • ECCPoW error-correction code-based proof of work
  • a block chain management system includes a plurality of servers each installing a docker to establish a virtualization environment; And a public key for accessing the plurality of servers is registered in each of the plurality of servers, and when a pre-installed puppeth is executed, a menu selection screen according to the puppeth execution is displayed, and a preview included in the displayed menu selection screen For creating a DeSecure chain corresponding to the selected component management menu when the genesis file according to the user selection is loaded when the set Genesis file management menu is selected, and a preset component management menu included in the displayed menu selection screen is selected.
  • the component management screen is displayed, and the Ethstat distribution function, the Bootnode distribution function, and the sealer distribution function are sequentially performed according to the user's selection in the displayed component management screen by interlocking with the plurality of servers. It may include a terminal that generates a block.
  • the terminal selects a specific genesis file from among a plurality of genesis files pre-stored in the terminal according to user selection, or selects ECCPoW (Error-Correction Codes Proof-of-Work), which is a consensus algorithm. Accordingly, a new genesis file may be generated, the selected specific genesis file or the generated new genesis file loaded in a background state may be maintained, and the menu selection screen may be displayed.
  • ECCPoW Error-Correction Codes Proof-of-Work
  • the terminal interlocks with some of the plurality of servers, and among the functions of Explorer distribution, Wallet distribution, Faucet distribution, and Dashboard distribution function according to user selection in the component management screen displayed on the terminal.
  • the additional function may be applied to the created DeSecure chain.
  • Blockchain management method by a terminal, the steps of registering a public key for accessing a plurality of servers in each of the plurality of servers; Displaying, by the terminal, a menu selection screen according to the execution of the puppeth when the puppeth preinstalled in the terminal is executed; Loading, by the terminal, a genesis file according to a user selection when a preset genesis file management menu included in a menu selection screen displayed on the terminal is selected; Displaying, by the terminal, a component management screen for generating a DeSecure chain corresponding to the selected component management menu when a preset component management menu included in the menu selection screen displayed on the terminal is selected; And, by the terminal, in conjunction with the plurality of servers, the Ethstat distribution function, the Bootnode distribution function, and the sealer distribution function are sequentially performed according to the user's selection on the component management screen displayed on the terminal, thereby creating a block of the DeSecure chain. It may include the step of.
  • the loading of the genesis file may include selecting a specific genesis file from among a plurality of genesis files previously stored in the terminal according to a user selection, or ECCPoW (Error-Correction Codes Proof-of), which is a consensus algorithm. -Work) to create a new genesis file; And maintaining a state in which the selected specific genesis file or the generated new genesis file is loaded in a background state, and displaying the menu selection screen.
  • ECCPoW Error-Correction Codes Proof-of
  • the step of creating the block of the DeSecure chain includes an Ethstat distribution function for distributing a tool for network monitoring, a Bootnode distribution function for setting an entry point of the network, and a node for creating new blocks.
  • the block of the DeSecure chain can be created by sequentially performing the sealer distribution function.
  • the step of generating the block of the DeSecure chain is selected from the plurality of servers by the terminal when a preset Ethstat distribution menu included in the component management screen displayed on the terminal is selected.
  • Interworking with a first server distributing Ethstat to the first server; Distributing a bootnode to the second server by interworking with a second server selected from among the plurality of servers by the terminal when a preset Bootnode distribution menu included in the component management screen displayed on the terminal is selected;
  • a preset sealer distribution menu included in the component management screen displayed on the terminal is selected, by the terminal, the process of distributing the sealer to the third server in connection with a third server selected from the plurality of servers. It may include.
  • the process of distributing Ethstat to the first server is, when a preset Ethstat distribution menu included in the component management screen displayed on the terminal is selected, by the terminal, the selected Ethstat distribution menu. Displaying the Ethstat distribution screen corresponding to; Selecting, by the terminal, the first server to distribute Ethstat from among the plurality of servers displayed on the Ethstat distribution screen; Allocating, by the first server, a first port to service Ethstat; Determining, by the first server, whether a first port to service the allocated Ethstat is in use; Ending the entire process by the terminal and the plurality of servers when the first port for servicing the allocated Ethstat is in use as a result of the determination; Distributing Nginx to the first server by the terminal when the first port for servicing the allocated Ethstat is not in use as a result of the determination; Distributing Ethstat to the first server by the terminal; And displaying the component management screen by the terminal.
  • the process of distributing Bootnodes to the second server is, when a preset Bootnode distribution menu included in the component management screen displayed on the terminal is selected, by the terminal, to the plurality of servers.
  • the process of distributing the sealer to the third server is, when a preset sealer distribution menu included in the component management screen displayed on the terminal is selected, by the terminal, to the plurality of servers.
  • the present invention creates an Ethereum private network that can be used in the DeSecure chain by applying an error-correction code-based proof of work (ECCPoW) to the hard forked Ethereum through the Ethereum private network manager, puppeth, There is an effect of improving the operating efficiency of the entire system and enhancing the convenience of use.
  • ECCPoW error-correction code-based proof of work
  • FIG. 1 is a block diagram showing the configuration of a block chain management system according to an embodiment of the present invention.
  • FIG. 2 is a flowchart illustrating a method of managing a block chain according to an embodiment of the present invention.
  • 3 to 4 are diagrams showing example screens of a terminal according to an embodiment of the present invention.
  • FIG. 1 is a block diagram showing the configuration of a block chain management system 10 according to an embodiment of the present invention.
  • the block chain management system 10 is composed of a terminal 100 and a plurality of servers 200. Not all components of the block chain management system 10 shown in FIG. 1 are essential components, and the block chain management system 10 may be implemented by more components than those shown in FIG. 1, Blockchain management system 10 may be implemented by fewer components.
  • the terminal 100 may be applied to various terminals such as a personal computer and a notebook computer.
  • each of the terminal 100 and the plurality of servers 200 has a communication unit (not shown) for performing a communication function with other terminals, and a storage unit (not shown) for storing various information and programs (or applications). City), a display unit (not shown) for displaying various information and program execution results, an audio output unit (not shown) for outputting audio information corresponding to the various information and program execution results, various components of each terminal, and It may include a control unit (not shown) or the like for controlling the function.
  • the terminal 100 communicates with the plurality of servers 200 and the like.
  • the terminal 100 registers (or sets) a public key (or public key) for accessing a plurality of servers 200 in which a virtualization environment is built, to the plurality of servers 200, respectively.
  • the terminal 100 may be a terminal involved in creating an Ethereum private network that can be used in the DeSecure chain.
  • Ethereum is a web framework that implements the Programmable Blockchain proposed by Vitalik Buterin in 2013, and provides a platform for creating extended distributed applications. Like Bitcoin, the Ethereum has a function for executing programs as well as an exchange function as a currency, and some modified functions are included to improve the function.
  • Ethereum is an environment in which a program can be executed using Turing's complete computing function and its functions in addition to the basic transaction ledger record. Provides.
  • the terminal 100 executes a puppeth (hereinafter referred to as'puppeth') previously installed in the terminal 100 according to a user selection (or touch/control), and displays a menu selection screen according to the puppeth execution.
  • the menu selection screen includes a Genesis file management menu (or item/button), a component management menu, a network status management menu, a server status management menu, and the like.
  • the terminal 100 loads the genesis file according to the user selection.
  • the genesis file is a file that contains information on the 0th block (or the first block in the blockchain) on the index in the blockchain.
  • the terminal 100 is selected from among a plurality of genesis files previously stored in the terminal 100 according to the user selection.
  • a specific genesis file is selected, or a new genesis file is created by selecting the consensus algorithm, ECCPoW (or error-correction code-based proof of work).
  • the selected specific genesis file may be a file to which the ECCPoW is applied.
  • Error-Correction Codes are used to correct errors occurring in wireless communication.
  • One of the representative codes is the LDPC (low-density parity-check) code.
  • the implementation of ACIS for the LDPC decoder is poor in implementation flexibility due to structural/cost problems.
  • the ECCPoW Error-Correction Codes Proof-of-Work
  • the ECCPoW Error-Correction Codes Proof-of-Work
  • the output value of SHA256 becomes the input value of the decoder, and the output value of the decoder is used to determine whether the proof of work is completed.
  • the implementation of the ASIC0-LDPC decoder is practically very difficult, and therefore, the execution of the decoder is designed to be processed only by the CPU or GPU, thereby making it resistant to ASIC equipment.
  • the puppeth was introduced by Peter Szilagyi, chief developer of the Ethereum Foundation at Ethereum Devcon3, and is a tool (or application) that allows you to quickly and easily configure a private network through a command line interface (CLI).
  • CLI command line interface
  • the puppeth uses a method of distributing a docker container in the form of docker-compose network components to a remote server using SSH (Secure Shell).
  • SSH Secure Shell
  • the docker-compose may be a tool for managing multiple containers required to operate a single service.
  • the terminal 100 maintains a state in which the selected specific genesis file or the generated new genesis file is loaded in a background state, and displays the menu selection screen (or switches to the menu selection screen).
  • the terminal 100 displays a component management screen for creating a DeSecure chain corresponding to the selected component management menu.
  • the component management screen includes an Ethstat distribution menu, a bootnode distribution menu, a sealer distribution menu, an explorer distribution menu, a wallet distribution menu, a faucet distribution menu, a dashboard distribution menu, and the like.
  • the terminal 100 interlocks with the plurality of servers 200 and sequentially performs an Ethstat distribution function, a Bootnode distribution function, and a sealer distribution function according to a user's selection in the component management screen displayed on the terminal 100.
  • the Ethstat function (or the Ethstat distribution function) is a tool for network monitoring
  • the Bootnode function (or the Bootnode distribution function) is a function for setting a reference node (or entry point of the network)
  • the Sealer function ( Alternatively, the sealer distribution function) may be a function of distributing (or setting) a node in charge of block generation (or a node generating new blocks).
  • the terminal 100 displays an Ethstat distribution screen corresponding to the selected Ethstat distribution menu.
  • the terminal 100 selects any one server 200 to distribute Ethstat from among the plurality of servers 200 displayed on the Ethstat distribution screen.
  • the terminal 100 and the plurality of servers 200 terminate the entire process.
  • Nginx provides functions such as caching, traffic load balancing, TLS/SSL security, and mail proxy in addition to basic web server functions.
  • the terminal 100 distributes Ethstat to the selected server 200.
  • the terminal 100 After performing the Ethstat distribution function between the terminal 100 and the selected server 200, when a preset Bootnode distribution menu included in the component management screen displayed on the terminal 100 is selected, the terminal 100 ) Checks whether Ethstat is distributed to any one of the plurality of servers 200.
  • the terminal 100 selects any one other server 200 from among the plurality of servers 200 to distribute the Bootnode.
  • the terminal 100 and the plurality of servers 200 terminate the entire process.
  • the terminal 100 distributes the Bootnode to the selected other server 200.
  • the terminal 100 stores boot node information.
  • the terminal ( 100) After performing a Bootnode distribution function between the terminal 100 and the selected other server 200, when a preset sealer distribution menu included in the component management screen displayed on the terminal 100 is selected, the terminal ( 100) checks whether Ethstat has been distributed to any one of the plurality of servers 200.
  • the terminal 100 determines whether a bootnode is in a distributed state to any one of the plurality of servers 200.
  • the terminal 100 and the plurality of servers 200 terminate the entire process.
  • the terminal 100 selects another server 200 from among the plurality of servers 200 to distribute the sealer.
  • the terminal 100 registers a mining account with the selected another server 200.
  • the terminal 100 and the plurality of servers 200 terminate the entire process.
  • the terminal 100 distributes a sealer node to the selected another server 200.
  • the terminal 100 and the plurality of servers 200 interwork with each other to apply an error-correction code-based proof of work (ECCPoW) to the hard forked Ethereum to be used in the DeSecure chain.
  • ECCPoW error-correction code-based proof of work
  • It performs the Ethstat distribution function, Bootnode distribution function, and Sealer distribution function required to create the network to create a block of the DeSecure chain (or a private network or a test network of the DeSecure chain).
  • the terminal 100 interlocks with some of the plurality of servers 200, and according to the user's selection on the component management screen displayed on the terminal 100, the Explorer distribution function , Wallet distribution function, Faucet distribution function, and Dashboard distribution function by additionally performing at least one function, and applies (or reflects) a corresponding additional function to the created DeSecure chain.
  • the Explorer function (or the Explorer distribution function) is a function that manages the created block (or a block of the created DeSecure chain) (or provides a web service that analyzes the block chain), and the wallet function (or The wallet distribution function) is a function that manages wallet software (or provides a wallet service that makes it possible to send transactions easily), and the Faucet function (or the Faucet distribution function) provides a small amount of funds to be tested on a private network. It is a function, and the Dashboard function (or the Dashboard distribution function) may be a function of providing a web site that bundles the Ethstat service, the Bootnode service, the Sealer service, the Explorer service, the Wallet service, and the Faucet service. .
  • the terminal 100 transmits Ethstat to any one server 200 of the plurality of servers 200. Check whether it is deployed or not.
  • the terminal 100 determines whether a bootnode is in a distributed state to any one of the plurality of servers 200.
  • the terminal 100 and the plurality of servers 200 terminate the entire process.
  • the terminal 100 selects another server 200 from among the plurality of servers 200 to distribute the explorer.
  • the terminal 100 distributes Nginx to the selected another server 200.
  • the terminal 100 and the plurality of servers 200 terminate the entire process.
  • the The terminal 100 distributes the Explorer to the selected another server 200.
  • the terminal 100 interlocks with another server 200 selected from the plurality of servers 200.
  • the Explorer distribution function can be applied to the created DeSecure chain.
  • the terminal 100 transmits Ethstat to any one server 200 of the plurality of servers 200. Check whether it is deployed or not.
  • the terminal 100 determines whether a bootnode is in a distributed state to any one of the plurality of servers 200.
  • the terminal 100 and the plurality of servers 200 terminate the entire process.
  • the terminal 100 selects another server 200 to distribute the wallet from among the plurality of servers 200.
  • the terminal 100 and the plurality of servers 200 terminate the entire process.
  • the The terminal 100 distributes the wallet to the selected another server 200.
  • the terminal 100 interlocks with another server 200 selected from the plurality of servers 200.
  • the wallet distribution function can be applied to the created DeSecure chain.
  • the terminal 100 is It checks whether Ethstat has been distributed to (200).
  • the terminal 100 determines whether a bootnode is in a distributed state to any one of the plurality of servers 200.
  • the terminal 100 and the plurality of servers 200 terminate the entire process.
  • the terminal 100 selects another server 200 from among the plurality of servers 200 to distribute the Faucet.
  • the terminal 100 and the plurality of servers 200 terminate the entire process.
  • the terminal 100 inputs the private key of the account to be used for the Faucet into the another server 200 ( Or register).
  • the terminal 100 distributes the Faucet node to the selected another server 200.
  • the terminal 100 interlocks with another server 200 selected from the plurality of servers 200.
  • the Faucet distribution function can be applied to the created DeSecure chain.
  • the terminal 100 transmits Ethstat to any one server 200 of the plurality of servers 200. Check whether it is deployed or not.
  • the terminal 100 determines whether a bootnode is in a distributed state to any one of the plurality of servers 200.
  • the terminal 100 and the plurality of servers 200 terminate the entire process.
  • the terminal 100 selects another server 200 to distribute the dashboard from among the plurality of servers 200.
  • the terminal 100 and the plurality of servers 200 terminate the entire process.
  • the terminal 100 distributes the dashboard to the selected another server 200.
  • the terminal 100 interlocks with another server 200 selected from the plurality of servers 200.
  • the Dashboard distribution function can be applied to the created DeSecure chain.
  • the plurality of servers 200 communicate with the terminal 100 and other servers 200.
  • the server 200 may be an AWS instance.
  • the plurality of servers 200 builds (or sets) a virtualization environment using a preset image file.
  • the plurality of servers 200 are hard forked through Ethereum private network manager puppeth, and error-correction codes-based proof-of-work (ECCPoW) It may be a server involved in creating an Ethereum private network that can be used in the DeSecure chain by applying.
  • the DeSecure chain may be a chain in which ECCPoW is applied to the consensus algorithm of Bitcoin and Ethereum.
  • each of the plurality of servers 200 installs a preset docker.
  • the Docker is an open source project and software that automates the deployment of application programs in a software container, and is a container-based open source virtual platform that simplifies the distribution and management of programs by providing the same interface.
  • the container is one of the virtualization technologies, and is a technology that operates a process in an isolated space.
  • the plurality of servers 200 interwork with the terminal 100 to register (or set) a public key for accessing the server 200.
  • the terminal 100 may be a terminal involved in creating an Ethereum private network that can be used in the DeSecure chain.
  • the plurality of servers 200 interlock with the terminal 100 to sequentially perform an Ethstat distribution function, a Bootnode distribution function, and a sealer distribution function according to a user's selection in the component management screen displayed on the terminal 100.
  • an Ethstat distribution function e.g., a Bootnode distribution function
  • a sealer distribution function e.g., a sealer distribution function
  • Ethstat distribution among the plurality of servers 200 displayed on the Ethstat distribution screen displayed on the terminal 100 Ethstat distribution among the plurality of servers 200 displayed on the Ethstat distribution screen displayed on the terminal 100
  • the selected server 200 receives information indicating that it has been selected as a server to distribute Ethstat from the terminal 100.
  • the selected server 200 allocates a port to service Ethstat.
  • the selected server 200 determines whether a port to service the allocated Ethstat is in use.
  • the terminal 100 and the plurality of servers 200 terminate the entire process.
  • the selected server 200 interworks with the terminal 100 to distribute Nginx.
  • the selected server 200 distributes Ethstat in connection with the terminal 100.
  • the terminal 100 after selecting a preset Bootnode distribution menu included in the component management screen displayed on the terminal 100, the terminal 100 ), when any one other server 200 to distribute the Bootnode among the plurality of servers 200 is selected, the selected other server 200 is information indicating that it has been selected as a server to distribute the Bootnode. Is received from the terminal 100.
  • the selected other server 200 allocates a port to be used by the Bootnode.
  • the selected other server 200 determines whether a port to distribute the allocated Bootnode is in use.
  • the terminal 100 and the plurality of servers 200 terminate the entire process.
  • the selected other server 200 distributes the Bootnode in connection with the terminal 100.
  • the terminal After selecting a preset sealer distribution menu included in the component management screen displayed on the terminal 100, the terminal is in a state in which Ethstat and Bootnode are distributed to any one of the servers 200.
  • the terminal 100 When one of the plurality of servers 200 is selected by the terminal 100 displayed in (100), the selected other server 200 is itself Information indicating that the server to which the sealer is to be distributed is selected from the terminal 100 is received.
  • the selected another server 200 allocates a port to be used by the sealer.
  • the selected another server 200 registers a mining account in connection with the terminal 100.
  • the selected another server 200 determines whether a port to be used by the assigned sealer is in use.
  • the terminal 100 and the plurality of servers 200 terminate the entire process.
  • the selected another server 200 interworks with the terminal 100 to distribute a sealer node.
  • the selected another server 200 connects the sealer node (or sealer) to the boot node.
  • the terminal 100 and the plurality of servers 200 interwork with each other to apply an error-correction code-based proof of work (ECCPoW) to the hard forked Ethereum to be used in the DeSecure chain.
  • ECCPoW error-correction code-based proof of work
  • It performs the Ethstat distribution function, Bootnode distribution function, and Sealer distribution function required to create the network to create a block of the DeSecure chain (or a private network or a test network of the DeSecure chain).
  • the plurality of servers 200 interlock with the terminal 100, and according to the user's selection on the component management screen displayed on the terminal 100, an Explorer distribution function, a wallet
  • an Explorer distribution function By additionally performing at least one of a distribution function, a faucet distribution function, and a dashboard distribution function, a corresponding additional function is applied (or reflected) to the created DeSecure chain.
  • the Explorer function (or the Explorer distribution function) is a function that manages the created block (or a block of the created DeSecure chain) (or provides a web service that analyzes the block chain), and the wallet function (or The wallet distribution function) is a function that manages wallet software (or provides a wallet service that makes it possible to send transactions easily), and the Faucet function (or the Faucet distribution function) provides a small amount of funds to be tested on a private network. It is a function, and the Dashboard function (or the Dashboard distribution function) may be a function of providing a web site that bundles the Ethstat service, the Bootnode service, the Sealer service, the Explorer service, the Wallet service, the Faucet service, and the like. .
  • Ethstat and Bootnode are distributed to at least one server 200 among the plurality of servers 200 while the Explorer distribution menu is selected according to a user selection on the component management screen displayed on the terminal 100 .
  • the terminal 100 selects another server 200 from among the plurality of servers 200 to distribute the Explorer.
  • the selected another server 200 receives information indicating that it has been selected as a server to distribute the Explorer from the terminal 100.
  • the selected another server 200 allocates a port to service the Explorer page.
  • the selected another server 200 distributes Nginx in connection with the terminal 100.
  • the selected another server 200 determines whether a port to service the allocated Explorer page is in use.
  • the selected another server 200 allocates another port to be used by the Explorer node.
  • the selected another server 200 checks whether another port to be used by the assigned Explorer node is in use.
  • the terminal 100 distributes the Explorer to the selected another server 200.
  • the selected another server 200 connects the Explorer and the boot node.
  • Ethstat and Bootnode are distributed to at least one server 200 of the plurality of servers 200 while the wallet distribution menu is selected according to a user selection on the component management screen displayed on the terminal 100 .
  • the terminal 100 selects another server 200 to distribute the wallet from among the plurality of servers 200.
  • the selected another server 200 allocates a port to service the wallet page.
  • the selected another server 200 distributes Nginx in connection with the terminal 100.
  • the selected another server 200 determines whether a port to service the allocated wallet page is in use.
  • the terminal 100 and the plurality of servers 200 terminate the entire process.
  • the selected another server 200 allocates another port to be used by the wallet node.
  • the selected another server 200 checks whether another port to be used by the allocated wallet node is in use.
  • the terminal 100 distributes the wallet to the selected another server 200.
  • the selected another server 200 connects the wallet and the boot node.
  • Ethstat and Bootnode are distributed to at least one server 200 among the plurality of servers 200 .
  • the terminal 100 selects another server 200 to distribute Faucet among the plurality of servers 200.
  • the selected another server 200 allocates a port to service the faucet page.
  • the selected another server 200 distributes Nginx in connection with the terminal 100.
  • the selected another server 200 determines whether a port to service the allocated Faucet page is in use.
  • the terminal 100 and the plurality of servers 200 terminate the entire process.
  • the selected another server 200 interworks with the terminal 100 to input (or register) the private key of the account to be used for the faucet. do.
  • the selected another server 200 allocates another port to be used by the Faucet node.
  • the selected another server 200 checks whether another port to be used by the assigned Faucet node is in use.
  • the terminal 100 and the plurality of servers 200 terminate the entire process.
  • the selected another server 200 distributes the Faucet node in connection with the terminal 100.
  • the selected another server 200 connects the Faucet node and the boot node.
  • Ethstat and Bootnode are distributed to at least one server 200 among the plurality of servers 200.
  • the terminal 100 selects another server 200 to distribute the Dashboard from among the plurality of servers 200.
  • the selected another server 200 allocates a port to service the Dashboard page.
  • the selected another server 200 distributes Nginx in connection with the terminal 100.
  • the selected another server 200 determines whether a port to service the allocated dashboard page is in use.
  • the selected another server 200 distributes the Dashboard in connection with the terminal 100.
  • the server 200 related to the previously selected Ethstat collects information (or status) of nodes, and stores (or registers) information of the collected nodes in Ethstat, or outputs the information for a user to check through a monitoring function.
  • 7 kinds of Ethstat distribution function, Bootnode distribution function, Sealer distribution function, Explorer distribution function, Wallet distribution function, Faucet distribution function, and Dashboard distribution function are shared and performed respectively in a plurality of servers 200.
  • the description is not limited thereto, and the single server 200 selected from the plurality of servers 200 may perform all of the seven types of functions, or two selected from the plurality of servers 200 In the above server 200, some of the seven types of functions may be shared and performed.
  • the terminal 100 performs a block chain creation function, a management function, a use function, etc. through a web page provided by the server 200, but is limited thereto.
  • a block chain creation function, a management function, and a use function may be performed through a dedicated app provided by the server 200.
  • FIG. 2 is a flowchart illustrating a method of managing a block chain according to an embodiment of the present invention.
  • the plurality of servers 200 builds (or sets) a virtualization environment using a preset image file.
  • the plurality of servers 200 are hard forked through Ethereum private network manager puppeth, and error-correction codes-based proof-of-work (ECCPoW)
  • ECCPoW error-correction codes-based proof-of-work
  • It may be a server involved in creating an Ethereum private network that can be used in the DeSecure chain by applying.
  • the DeSecure chain may be a chain in which ECCPoW is applied to the consensus algorithm of Bitcoin and Ethereum.
  • each of the plurality of servers 200 installs a preset docker.
  • the Docker is an open source project and software that automates the deployment of application programs in a software container, and is a container-based open source virtual platform that simplifies the distribution and management of programs by providing the same interface.
  • the container is one of the virtualization technologies, and is a technology that operates a process in an isolated space.
  • the first server 200 to the seventh server 200 respectively install a preset docker (S210).
  • the terminal 100 registers (or sets) a public key (or public key) for accessing the plurality of servers 200 to the plurality of servers 200, respectively.
  • the terminal 100 may be a terminal involved in creating an Ethereum private network that can be used in the DeSecure chain.
  • the first terminal 100 registers a preset first public key for accessing the first to seventh servers to the first to seventh servers, respectively (S220).
  • the terminal 100 executes a puppeth (perpet) previously installed in the terminal 100 according to a user selection (or touch/control), and displays a menu selection screen according to the puppeth execution.
  • the menu selection screen includes a Genesis file management menu (or item/button), a component management menu, a network status management menu, a server status management menu, and the like.
  • the first terminal executes a puppeth command pre-installed in the corresponding first terminal according to a user selection, and displays a first menu selection screen 300 according to the execution of the puppeth command, as shown in FIG. 3. .
  • the first menu selection screen 300 is '1. Show network stats' (or network status management menu), '2. Manage Existing genesis' (or Genesis File Management menu), '3. Manage tracked machines' (or server status management menu), '4. Manage network components' (or component management menu) and the like are included (S230).
  • the terminal 100 loads the genesis file according to the user selection.
  • the genesis file is a file that contains information on the 0th block (or the first block in the blockchain) on the index in the blockchain.
  • the terminal 100 is selected from among a plurality of genesis files previously stored in the terminal 100 according to the user selection.
  • a specific genesis file is selected, or a new genesis file is created by selecting the consensus algorithm, ECCPoW (or error-correction code-based proof of work).
  • the selected specific genesis file may be a file to which the ECCPoW is applied.
  • the terminal 100 maintains a state in which the selected specific genesis file or the generated new genesis file is loaded in a background state, and displays the menu selection screen (or switches to the menu selection screen).
  • the first terminal is a plurality of genesis previously stored in the corresponding first terminal. Displays the genesis file selection screen to confirm whether to select a specific genesis file from among the files or to create a new genesis file.
  • the first terminal displays a list of a plurality of genesis files stored in the corresponding first terminal, and according to the user selection. Select the first genesis file.
  • the first terminal maintains a state in which the selected first genesis file is loaded, and displays the first menu selection screen 300 again.
  • the first terminal When a preset genesis file management menu 310 included in the first menu selection screen 300 displayed on the first terminal is selected, the first terminal The Genesis file selection screen is displayed to confirm whether to select a specific genesis file from among the genesis files or to create a new genesis file.
  • the first terminal displays a screen for creating a new genesis file, and generates a new second genesis file according to the user's selection. Generate.
  • the first terminal maintains a state in which the generated second genesis file is loaded, and displays the first menu selection screen 300 again (S240).
  • the terminal 100 displays a component management screen for creating a DeSecure chain corresponding to the selected component management menu.
  • the component management screen includes an Ethstat deployment menu, a bootnode deployment menu, a sealer deployment menu, an explorer deployment menu, a wallet deployment menu, a faucet deployment menu, a dashboard deployment menu, and the like.
  • the first terminal The component management screen 400 corresponding to the management menu is displayed.
  • the component management screen 400 is '1. Ethstats-Network monitoring tool' (or Ethstat distribution menu), '2. Bootnode-Entry point of the network' (or Bootnode distribution menu), '3. Sealer-Full node minting new blocks' (or Sealer distribution menu), '4. Explorer-Chaing analysis webservice' (or Explorer deployment menu), '5. Wallet-Browser wallet for quick sends' (or Wallet distribution menu), '6. Faucet-Crypto faucet to give away funds' (or Faucet distribution menu), '7. Dashboard-Website listing above web-services' (or Dashboard distribution menu), etc. are included (S250).
  • the terminal 100 interworks with the plurality of servers 200 to sequentially perform an Ethstat distribution function, a Bootnode distribution function, and a sealer distribution function according to a user's selection on the component management screen displayed on the terminal 100.
  • the Ethstat function (or the Ethstat distribution function) is a tool for network monitoring
  • the Bootnode function (or the Bootnode distribution function) is a function for setting a reference node (or entry point of the network)
  • the Sealer function ( Alternatively, the sealer distribution function) may be a function of distributing (or setting) a node in charge of block generation (or a node generating new blocks).
  • the terminal 100 displays an Ethstat distribution screen corresponding to the selected Ethstat distribution menu.
  • the terminal 100 selects any one server 200 to distribute Ethstat from among the plurality of servers 200 displayed on the Ethstat distribution screen.
  • the selected server 200 allocates a port to service Ethstat.
  • the selected server 200 determines whether a port to service the allocated Ethstat is in use. As a result of the determination, when a port to service the allocated Ethstat is in use, the terminal 100 and the plurality of servers 200 terminate the entire process.
  • the terminal 100 distributes Nginx to the selected server 200.
  • the terminal 100 distributes Ethstat to the selected server 200.
  • Nginx provides functions such as caching, traffic load balancing, TLS/SSL security, and mail proxy in addition to basic web server functions.
  • the terminal 100 After performing the Ethstat distribution function between the terminal 100 and the selected server 200, when a preset Bootnode distribution menu included in the component management screen displayed on the terminal 100 is selected, the terminal 100 ) Checks whether Ethstat is distributed to any one of the plurality of servers 200. As a result of the confirmation, when the Ethstat is not distributed, the terminal 100 and the plurality of servers 200 terminate the entire process. In addition, as a result of the check, if the Ethstat is in a distributed state, the terminal 100 selects any one other server 200 from among the plurality of servers 200 to distribute the Bootnode. In addition, the selected other server 200 allocates a port to be used by the Bootnode.
  • the selected other server 200 determines whether a port to distribute the allocated Bootnode is in use. As a result of the determination, when the port to distribute the Bootnode is in use, the terminal 100 and the plurality of servers 200 terminate the entire process. In addition, as a result of the determination, when the port to distribute the Bootnode is not in use, the terminal 100 distributes the Bootnode to the selected other server 200. In addition, the terminal 100 stores boot node information. In addition, the previously selected server 200 collects information (or status) of nodes, stores (or registers) the collected node information in Ethstat, or outputs the information for a user to check through a monitoring function.
  • the terminal ( 100) checks whether Ethstat has been distributed to any one of the plurality of servers 200. As a result of the confirmation, when the Ethstat is not distributed, the terminal 100 and the plurality of servers 200 terminate the entire process. In addition, as a result of the check, if the Ethstat is in a distributed state, the terminal 100 determines whether a bootnode is in a distributed state to any one of the plurality of servers 200. As a result of the determination, when the bootnode is not distributed, the terminal 100 and the plurality of servers 200 terminate the entire process.
  • the terminal 100 selects another server 200 from among the plurality of servers 200 to distribute the sealer.
  • the selected another server 200 allocates a port to be used by the sealer.
  • the terminal 100 registers a mining account with the selected another server 200.
  • the selected another server 200 determines whether a port to be used by the assigned sealer is in use.
  • the terminal 100 and the plurality of servers 200 terminate the entire process.
  • the terminal 100 distributes a sealer node to the selected another server 200.
  • the selected another server 200 connects the sealer node (or sealer) to the boot node.
  • the previously selected server 200 collects information (or status) of nodes, stores (or registers) the collected node information in Ethstat, or outputs the information for a user to check through a monitoring function.
  • the terminal 100 and the plurality of servers 200 interwork with each other to apply an error-correction code-based proof of work (ECCPoW) to the hard forked Ethereum to be used in the DeSecure chain.
  • ECCPoW error-correction code-based proof of work
  • It performs the Ethstat distribution function, Bootnode distribution function, and Sealer distribution function required to create the network to create a block of the DeSecure chain (or a private network or a test network of the DeSecure chain).
  • the first terminal displays an Ethstat distribution screen corresponding to the selected Ethstat distribution menu 410. Indicate.
  • the first terminal selects a first server to distribute Ethstat from among the first to seventh servers displayed on the Ethstat distribution screen according to a user selection.
  • the first server allocates a first port to service Ethstat.
  • the first server determines whether a first port to service the allocated Ethstat is in use. As a result of the determination, when the assigned first port is in use, the first terminal and the first to seventh servers terminate the entire process. Further, as a result of the determination, when the allocated first port is not in use, the first terminal distributes preset Nginx and Ethstat to the first server. Also, the first terminal displays the component management screen 400.
  • the bootnode distribution menu 420 is selected on the component management screen 400 displayed on the first terminal after the first terminal performs an Ethstat distribution function in connection with the first server
  • the first terminal Checks whether the Ethstat is distributed to any one of the first to seventh servers 200.
  • the first terminal selects a second server to distribute the Bootnode from among the first to seventh servers.
  • the selected second server allocates a second port to be used by the Bootnode.
  • the second server determines whether a second port to distribute the allocated Bootnode is in use. As a result of the determination, when the second port is in use, the first terminal and the first to seventh servers terminate the entire process. In addition, as a result of the determination, when the second port is not in use, the first terminal distributes a preset Bootnode to the second server. In addition, the first terminal stores boot node information. In addition, the first server collects information (or status) of nodes, and stores (or registers) the collected node information in Ethstat or displays it through a monitoring function. Also, the first terminal displays the component management screen 400.
  • the first terminal determines whether the Bootnode is distributed to any one of the first to seventh servers 200. As a result of the determination, when the Bootnode is not distributed, the first terminal and the first to seventh servers terminate the entire process.
  • the first terminal selects a third server from among the first to seventh servers to distribute the Sealer.
  • the selected third server allocates a third port to be used by the sealer.
  • the first terminal registers a mining account with the third server.
  • the third server determines whether a third port to be used by the assigned sealer is in use.
  • the first terminal and the first to seventh servers terminate the entire process.
  • the first terminal distributes a preset sealer node to the third server.
  • the third server connects the sealer node and the boot node.
  • the first server collects information (or status) of nodes, and stores (or registers) the collected node information in Ethstat or displays it through a monitoring function.
  • the terminal 100 interlocks with some of the plurality of servers 200, and according to the user's selection in the component management screen displayed on the terminal 100, the Explorer distribution function , Wallet distribution function, Faucet distribution function, and Dashboard distribution function by additionally performing at least one function, and applies (or reflects) a corresponding additional function to the created DeSecure chain.
  • the Explorer function (or the Explorer distribution function) is a function that manages the created block (or a block of the created DeSecure chain) (or provides a web service that analyzes the block chain), and the wallet function (or The wallet distribution function) is a function that manages wallet software (or provides a wallet service that makes it possible to send transactions easily), and the Faucet function (or the Faucet distribution function) provides a small amount of funds to be tested on a private network. It is a function, and the Dashboard function (or the Dashboard distribution function) may be a function of providing a web site that bundles the Ethstat service, the Bootnode service, the Sealer service, the Explorer service, the Wallet service, the Faucet service, and the like. .
  • the terminal 100 transmits Ethstat to any one server 200 of the plurality of servers 200. Check whether it is deployed or not. As a result of the confirmation, when the Ethstat is not distributed, the terminal 100 and the plurality of servers 200 terminate the entire process. In addition, as a result of the check, if the Ethstat is in a distributed state, the terminal 100 determines whether a bootnode is in a distributed state to any one of the plurality of servers 200. As a result of the determination, when the bootnode is not distributed, the terminal 100 and the plurality of servers 200 terminate the entire process.
  • the terminal 100 selects another server 200 from among the plurality of servers 200 to distribute the explorer.
  • the selected another server 200 allocates a port to service the Explorer page.
  • the terminal 100 distributes Nginx to the selected another server 200.
  • the selected another server 200 determines whether a port to service the allocated Explorer page is in use.
  • the terminal 100 and the plurality of servers 200 terminate the entire process.
  • the selected another server 200 allocates another port to be used by the Explorer node.
  • the selected another server 200 checks whether another port to be used by the assigned Explorer node is in use. As a result of the check, if another port to be used by the Explorer node is being used, the terminal 100 and the plurality of servers 200 terminate the entire process. In addition, as a result of the check, if another port to be used by the Explorer node is not in use, the terminal 100 distributes the Explorer to the selected another server 200. In addition, the selected another server 200 connects the Explorer and the boot node. In addition, the previously selected server 200 collects information (or status) of nodes, stores (or registers) the collected node information in Ethstat, or outputs the information for a user to check through a monitoring function.
  • the terminal 100 interlocks with another server 200 selected from the plurality of servers 200.
  • the Explorer distribution function can be applied to the created DeSecure chain.
  • the terminal 100 transmits Ethstat to any one server 200 of the plurality of servers 200. Check whether it is deployed or not. As a result of the confirmation, when the Ethstat is not distributed, the terminal 100 and the plurality of servers 200 terminate the entire process. In addition, as a result of the check, if the Ethstat is in a distributed state, the terminal 100 determines whether a bootnode is in a distributed state to any one of the plurality of servers 200. As a result of the determination, when the bootnode is not distributed, the terminal 100 and the plurality of servers 200 terminate the entire process.
  • the terminal 100 selects another server 200 to distribute the wallet from among the plurality of servers 200.
  • the selected another server 200 allocates a port to service the wallet page.
  • the terminal 100 distributes Nginx to the selected another server 200.
  • the selected another server 200 determines whether a port to service the allocated wallet page is in use.
  • the terminal 100 and the plurality of servers 200 terminate the entire process.
  • the selected another server 200 allocates another port to be used by the wallet node.
  • the selected another server 200 checks whether another port to be used by the allocated wallet node is in use. As a result of the check, if other ports to be used by the wallet node are being used, the terminal 100 and the plurality of servers 200 terminate the entire process. In addition, as a result of the check, if another port to be used by the wallet node is not in use, the terminal 100 distributes the wallet to the selected another server 200. In addition, the selected another server 200 connects the wallet and the boot node. In addition, the previously selected server 200 collects information (or status) of nodes, stores (or registers) the collected node information in Ethstat, or outputs the information for a user to check through a monitoring function.
  • the terminal 100 interlocks with another server 200 selected from the plurality of servers 200.
  • the wallet distribution function can be applied to the created DeSecure chain.
  • the terminal 100 is It checks whether Ethstat has been distributed to (200). As a result of the confirmation, when the Ethstat is not distributed, the terminal 100 and the plurality of servers 200 terminate the entire process. In addition, as a result of the check, if the Ethstat is in a distributed state, the terminal 100 determines whether a bootnode is in a distributed state to any one of the plurality of servers 200. As a result of the determination, when the bootnode is not distributed, the terminal 100 and the plurality of servers 200 terminate the entire process.
  • the terminal 100 selects another server 200 from among the plurality of servers 200 to distribute the Faucet.
  • the selected another server 200 allocates a port to service the faucet page.
  • the terminal 100 distributes Nginx to the selected another server 200.
  • the selected another server 200 determines whether a port to service the allocated Faucet page is in use. As a result of the determination, when a port to serve the Faucet page is in use, the terminal 100 and the plurality of servers 200 terminate the entire process.
  • the terminal 100 inputs (or registers) the private key of the account to be used for the Faucet into the another server 200.
  • the selected another server 200 allocates another port to be used by the Faucet node.
  • the selected another server 200 checks whether another port to be used by the assigned Faucet node is in use. As a result of the check, if another port to be used by the Faucet node is in use, the terminal 100 and the plurality of servers 200 terminate the entire process.
  • the terminal 100 distributes the Faucet node to the selected another server 200.
  • the selected another server 200 connects the Faucet node and the boot node.
  • the previously selected server 200 collects information (or status) of nodes, stores (or registers) the collected node information in Ethstat, or outputs the information for a user to check through a monitoring function.
  • the terminal 100 interlocks with another server 200 selected from the plurality of servers 200.
  • the Faucet distribution function can be applied to the created DeSecure chain.
  • the terminal 100 transmits Ethstat to any one server 200 of the plurality of servers 200. Check whether it is deployed or not. As a result of the confirmation, when the Ethstat is not distributed, the terminal 100 and the plurality of servers 200 terminate the entire process. In addition, as a result of the check, if the Ethstat is in a distributed state, the terminal 100 determines whether a bootnode is in a distributed state to any one of the plurality of servers 200. As a result of the determination, when the bootnode is not distributed, the terminal 100 and the plurality of servers 200 terminate the entire process.
  • the terminal 100 selects another server 200 to distribute the dashboard from among the plurality of servers 200.
  • the selected another server 200 allocates a port to service the Dashboard page.
  • the terminal 100 distributes Nginx to the selected another server 200.
  • the selected another server 200 determines whether a port to service the allocated dashboard page is in use.
  • the terminal 100 and the plurality of servers 200 terminate the entire process.
  • the terminal 100 distributes the Dashboard to the selected another server 200.
  • the terminal 100 interlocks with another server 200 selected from the plurality of servers 200.
  • the Dashboard distribution function can be applied to the created DeSecure chain.
  • the first terminal is the first server to the seventh server It is checked whether the Ethstat is distributed to any one of the servers 200. As a result of the confirmation, when the Ethstat is not distributed, the first terminal and the first to seventh servers terminate the entire process. In addition, as a result of the check, when the Ethstat is distributed, the first terminal determines whether the Bootnode is distributed to any one of the first to seventh servers 200. As a result of the determination, when the Bootnode is not distributed, the first terminal and the first to seventh servers terminate the entire process.
  • the first terminal selects a fourth server to distribute the Explorer from among the first to seventh servers.
  • the selected fourth server allocates a fourth port to serve the Explorer page.
  • the first terminal distributes a preset Nginx to the fourth server.
  • the fourth server determines whether a fourth port to service the allocated Explorer page is in use. As a result of the determination, when the fourth port is in use, the first terminal and the first to seventh servers terminate the entire process. Further, as a result of the determination, when the fourth port is not in use, the fourth server allocates a fifth port to be used by the Explorer node.
  • the fourth server checks whether a fifth port to be used by the assigned Explorer node is in use. As a result of the confirmation, when the fifth port is in use, the first terminal and the first to seventh servers terminate the entire process. Further, as a result of the confirmation, when the fifth port is not in use, the first terminal distributes the Explorer to the fourth server. In addition, the fourth server connects the Explorer and a boot node managed by the second server. In addition, the first server collects information (or status) of nodes, and stores (or registers) the collected node information in Ethstat or displays it through a monitoring function.
  • the first terminal determines whether the Bootnode is distributed to any one of the first to seventh servers 200. As a result of the determination, when the bootnode is not distributed, the first terminal and the first to seventh servers terminate the entire process.
  • the first terminal selects a fifth server to distribute the wallet from among the first to seventh servers.
  • the selected fifth server allocates a sixth port to distribute the wallet.
  • the first terminal distributes a preset Nginx to the fifth server.
  • the fifth server determines whether a sixth port to distribute the allocated wallet is in use.
  • the sixth port to distribute the wallet is in use, the first terminal and the first to seventh servers terminate the entire process.
  • the fifth server allocates a seventh port to be used by the wallet node.
  • the fifth server checks whether a seventh port to be used by the allocated wallet node is in use. As a result of the check, when the seventh port is in use, the first terminal and the first to seventh servers terminate the entire process. In addition, as a result of the confirmation, when the seventh port is not in use, the first terminal distributes the wallet to the fifth server. In addition, the fifth server connects the wallet and a boot node managed by the second server. In addition, the first server collects information (or status) of nodes, and stores (or registers) the collected node information in Ethstat or displays it through a monitoring function.
  • the first terminal is one of the first to seventh servers. It is checked whether the Ethstat has been deployed to the server 200 of. As a result of the confirmation, when the Ethstat is not distributed, the first terminal and the first to seventh servers terminate the entire process. In addition, as a result of the check, when the Ethstat is distributed, the first terminal determines whether the Bootnode is distributed to any one of the first to seventh servers 200. As a result of the determination, when the Bootnode is not distributed, the first terminal and the first to seventh servers terminate the entire process.
  • the first terminal selects a sixth server from among the first to seventh servers to distribute the Faucet.
  • the selected sixth server allocates an eighth port to service the Faucet page.
  • the first terminal distributes a preset Nginx to the sixth server.
  • the sixth server determines whether an eighth port to service the allocated faucet page is in use. As a result of the determination, when the eighth port to serve the Faucet page is in use, the first terminal and the first to seventh servers terminate the entire process.
  • the first terminal registers the private key of the account to be used for Faucet in the sixth server.
  • the sixth server allocates a ninth port to be used by the Faucet node.
  • the sixth server checks whether a ninth port to be used by the assigned Faucet node is in use. As a result of the check, when the ninth port is in use, the first terminal and the first to seventh servers terminate the entire process. Further, as a result of the check, when the ninth port is not in use, the first terminal distributes a Faucet node to the sixth server.
  • the sixth server connects the Faucet node and a boot node managed by the second server.
  • the first server collects information (or status) of nodes, and stores (or registers) the collected node information in Ethstat or displays it through a monitoring function.
  • the first terminal is one of the first to seventh servers. It is checked whether the Ethstat has been deployed to the server 200 of. As a result of the confirmation, when the Ethstat is not distributed, the first terminal and the first to seventh servers terminate the entire process. In addition, as a result of the check, when the Ethstat is distributed, the first terminal determines whether the Bootnode is distributed to any one of the first to seventh servers 200. As a result of the determination, when the Bootnode is not distributed, the first terminal and the first to seventh servers terminate the entire process.
  • the first terminal selects a seventh server to deploy the dashboard from among the first to seventh servers.
  • the selected seventh server allocates a tenth port to service the Dashboard page.
  • the first terminal distributes a preset Nginx to the seventh server.
  • the seventh server determines whether a tenth port to service the allocated dashboard page is in use.
  • the first terminal and the first to seventh servers terminate the entire process.
  • the first terminal distributes the Dashboard to the seventh server (S270).
  • the embodiment of the present invention can be used in the DeSecure chain by applying the error-correction code-based proof of work (ECCPoW) to the hard forked Ethereum through the Ethereum private network manager, puppeth, as described above.
  • ECCPoW error-correction code-based proof of work

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)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

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

Description

블록체인 관리 시스템 및 그 방법
본 발명은 블록체인 관리 시스템 및 그 방법에 관한 것으로서, 특히 이더리움 프라이빗 네트워크 매니저인 퍼페쓰(puppeth)를 통해 하드포크한 이더리움에 오류-정정 부호 기반의 작업증명(ECCPoW)을 적용하여 DeSecure 체인에서 사용할 수 있는 이더리움 프라이빗 네트워크를 생성하는 블록체인 관리 시스템 및 그 방법에 관한 것이다.
2017년 암호화폐 붐 이전부터 많은 블록체인 프로젝트들이 런칭되어 왔고, 암호화폐 붐 이후에는 더욱더 많은 프로젝트가 런칭되고 있다. 블록체인 프로젝트의 종류는 크게 두 가지로 나눌 수 있다. 첫 번째는 기존에 있던 블록체인의 네트워크를 활용한 프로젝트고, 두 번째는 독자적인 메인넷을 런칭하려는 프로젝트이다. 독자적인 메인넷을 런칭하기 위해서는 클라이언트 개발을 설계부터 구현까지 모든 것을 직접해야하는데 이는 비효율적인 작업이다.
또한, 해당 블록체인과 관련한 메인넷 이외에 프라이빗 네트워크, 테스트넷 등을 운영하고자 하는 경우, 테스트를 진행하면서 코드 수정이 있을 때마다 네트워크를 새로 구성해야 하는 번거로움이 존재한다.
본 발명의 목적은 이더리움 프라이빗 네트워크 매니저인 퍼페쓰(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은 본 발명의 실시예에 따른 블록체인 관리 시스템(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 체인에서 사용할 수 있는 이더리움 프라이빗 네트워크를 생성하여, 전체 시스템의 운영 효율을 향상시키고, 사용상의 편의성을 높일 수 있다.

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 포트가 사용 중일 때, 상기 단말 및 상기 복수의 서버에 의해, 전체 과정을 종료하는 과정;
    상기 판단 결과, 할당된 Ethstat를 서비스할 제 1 포트가 사용 중이 아닐 때, 상기 단말에 의해, Nginx를 상기 제 1 서버에 배포하는 과정;
    상기 단말에 의해, Ethstat를 상기 제 1 서버에 배포하는 과정; 및
    상기 단말에 의해, 상기 컴포넌트 관리 화면을 표시하는 과정을 포함하는 것을 특징으로 하는 블록체인 관리 방법.
  9. 제 8 항에 있어서,
    상기 제 2 서버에 Bootnode를 배포하는 과정은,
    상기 단말에 표시되는 컴포넌트 관리 화면에 포함된 미리 설정된 Bootnode 배포 메뉴가 선택될 때, 상기 단말에 의해, 상기 복수의 서버에 상기 Ethstat이 배포된 상태인지 여부를 확인하는 과정;
    상기 확인 결과, 상기 Ethstat이 배포되지 않은 상태일 때, 상기 단말 및 상기 복수의 서버에 의해, 전체 과정을 종료하는 과정;
    상기 확인 결과, 상기 Ethstat이 배포된 상태일 때, 상기 단말에 의해, 상기 복수의 서버 중에서 Bootnode를 배포할 제 2 서버를 선택하는 과정;
    상기 제 2 서버에 의해, Bootnode가 사용할 제 2 포트를 할당하는 과정;
    상기 제 2 서버에 의해, 상기 할당된 Bootnode를 배포할 제 2 포트가 사용 중인지 여부를 판단하는 과정;
    상기 판단 결과, 상기 제 2 포트가 사용 중일 때, 상기 단말 및 상기 복수의 서버에 의해, 전체 과정을 종료하는 과정;
    상기 판단 결과, 상기 제 2 포트가 사용 중이지 않을 때, 상기 제 1 단말에 의해, 미리 설정된 Bootnode를 상기 제 2 서버에 배포하는 과정;
    상기 제 1 단말에 의해, 부트노드 정보를 저장하는 과정;
    상기 제 1 서버에 의해, 노드들의 정보를 수집하고, 수집된 노드들의 정보를 표시하는 과정; 및
    상기 단말에 의해, 상기 컴포넌트 관리 화면을 표시하는 과정을 포함하는 것을 특징으로 하는 블록체인 관리 방법.
  10. 제 9 항에 있어서,
    상기 제 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 서버에 의해, 노드들의 정보를 수집하고, 수집된 노드들의 정보를 표시하는 과정을 포함하는 것을 특징으로 하는 블록체인 관리 방법.
PCT/KR2019/015331 2019-10-31 2019-11-12 블록체인 관리 시스템 및 그 방법 WO2021085714A1 (ko)

Applications Claiming Priority (2)

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

Publications (1)

Publication Number Publication Date
WO2021085714A1 true WO2021085714A1 (ko) 2021-05-06

Family

ID=71832312

Family Applications (1)

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

Country Status (2)

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

Families Citing this family (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 (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170089795A (ko) 2017-07-17 2017-08-04 강정헌 중앙 관리형 블록체인 인증을 적용한 자율적 군집통신 보안 시스템 및 방법

Patent Citations (4)

* 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 소니 주식회사 블록체인 기반의 디지털 권리 관리
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
HEUNG-NO LEE: "Scalable DeSecure ECCPoW Blockchains", JCCI 2019, 1 May 2019 (2019-05-01), pages 1 - 32, XP055931820, Retrieved from the Internet <URL:https://infonet.gist.ac.kr/wp-content/uploads/2012/08/JCCI-2019-확장가능한-탈중앙화-보안성-ECCPoW.pdf> [retrieved on 20220615] *

Also Published As

Publication number Publication date
KR102135403B1 (ko) 2020-07-17

Similar Documents

Publication Publication Date Title
WO2020017843A1 (ko) 클라우드 플랫폼에서의 클러스터 리소스 할당 및 관리 방법
WO2021085714A1 (ko) 블록체인 관리 시스템 및 그 방법
WO2017003051A1 (ko) 랜덤하면서 유일한 코드를 생성하는 전자 장치 및 방법
WO2014032262A1 (zh) 一种平台间迁移应用的实现方法及系统
WO2013065915A1 (ko) 보안 영역과 비보안 영역 사이의 보안 연동 방법 및 보안 어플리케이션 다운로드 관리방법, 관리서버, 단말기, 및 이를 적용한 관리시스템
WO2022050652A1 (en) Method, apparatus, and computer readable storage medium for controlling account
WO2021070983A1 (ko) Vr 훈련 시스템 및 방법
WO2015137641A2 (ko) 계층적인 룰 구조를 가지고 있는 비즈니스 룰 관리 시스템 및 그 표현 방법
WO2021261728A1 (ko) 다기능을 가지는 보안 연결을 제공하는 보안 통신 장치 및 그 동작 방법
WO2018166098A1 (zh) 数据稽核方法、装置、移动终端及计算机可读存储介质
WO2021187818A1 (ko) 전자 장치 및 전자 장치의 테마를 부분적으로 운용하는 방법
WO2020189800A1 (ko) 블록체인에서 생성된 데이터를 인증하는 방법 및 시스템
WO2021070984A1 (ko) Vr 훈련 시스템 및 방법
WO2018076870A1 (zh) 数据处理方法、装置、存储介质、服务器及数据处理系统
WO2022265262A1 (ko) 빅데이터 기반의 인공지능 학습용 데이터 추출 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
WO2020130331A1 (ko) 블록체인에서 노드들간 블록 및 전자 문서를 공유 및 검증하는 방법
WO2020222347A1 (ko) 가상 머신 배치 방법 및 이를 구현하는 가상 머신 배치 장치
WO2020149500A1 (ko) 공유된 키를 등록하기 위한 방법 및 장치
WO2015009046A1 (ko) 배타적 분자 오비탈 분포를 갖는 분자 오비탈 라이브러리 및 이를 이용한 분자 오비탈 분포 영역 평가 방법 및 이를 이용한 시스템
WO2021054619A1 (ko) 확장함수를 이용한 복수의 묵시적 인증서 발급 시스템 및 그 발급 방법
WO2017126715A1 (ko) 나눗셈 연산을 처리하는 방법, 장치 및 기록매체
WO2020149536A1 (ko) 공유된 디지털 키를 관리하기 위한 장치 및 방법
WO2020222448A1 (ko) 결제 기반 장치 이용 서비스를 제공하는 단말기 및 서비스 서버
WO2017071448A1 (zh) 一种移动网络注册方法及相关设备、系统
WO2019112193A1 (ko) 블록 체인 시스템 아키텍쳐 및 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19950289

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19950289

Country of ref document: EP

Kind code of ref document: A1