KR102041720B1 - Implementing system of flexible blockchain framework and p2p network constructing method thereof, recording medium for performing the method - Google Patents

Implementing system of flexible blockchain framework and p2p network constructing method thereof, recording medium for performing the method Download PDF

Info

Publication number
KR102041720B1
KR102041720B1 KR1020180084923A KR20180084923A KR102041720B1 KR 102041720 B1 KR102041720 B1 KR 102041720B1 KR 1020180084923 A KR1020180084923 A KR 1020180084923A KR 20180084923 A KR20180084923 A KR 20180084923A KR 102041720 B1 KR102041720 B1 KR 102041720B1
Authority
KR
South Korea
Prior art keywords
blockchain
node
white
network
module
Prior art date
Application number
KR1020180084923A
Other languages
Korean (ko)
Inventor
김명호
하현수
정구익
Original Assignee
숭실대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 숭실대학교산학협력단 filed Critical 숭실대학교산학협력단
Priority to KR1020180084923A priority Critical patent/KR102041720B1/en
Application granted granted Critical
Publication of KR102041720B1 publication Critical patent/KR102041720B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • H04L67/1048Departure or maintenance mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/443Optimisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1065Discovery involving distributed pre-established resource-based relationships among peers, e.g. based on distributed hash tables [DHT] 

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

The present invention relates to a flexible blockchain framework creation system and a P2P network design method, capable of building an exclusive blockchain network proper for a service to be provided with high efficiency and a low cost, and a recording medium therefor. The present invention includes: a transaction module storing information related with cryptocurrencies; a block module decoding the forgery or falsification of a cryptocurrency, identifying a user who is going to get a reward for mining the cryptocurrency, and storing a transaction ID (TxHash) in a list; a peer-to-peer (P2P) network module changing an address value setting of a seed node; a blockchain network module synchronizing each node with an external node or process, or starting the generation of a block through a consensus algorithm; and a code optimizing module collecting blockchain properties, which are diffuse in the source code, into one single config file.

Description

플렉서블 블록체인 프레임워크 구현 시스템 및 P2P 네트워크 설계 방법, 상기 방법을 수행하기 위한 기록 매체{IMPLEMENTING SYSTEM OF FLEXIBLE BLOCKCHAIN FRAMEWORK AND P2P NETWORK CONSTRUCTING METHOD THEREOF, RECORDING MEDIUM FOR PERFORMING THE METHOD}Flexible blockchain framework implementation system and P2P network design method, recording medium for performing the above method {IMPLEMENTING SYSTEM OF FLEXIBLE BLOCKCHAIN FRAMEWORK AND P2P NETWORK CONSTRUCTING METHOD THEREOF, RECORDING MEDIUM FOR PERFORMING THE METHOD}

본 발명은 플렉서블 블록체인 프레임워크 구현 시스템 및 P2P 네트워크 설계 방법, 상기 방법을 수행하기 위한 기록 매체에 관한 것으로, 더욱 상세하게는 제공하고자 하는 서비스에 알맞은 자체 블록체인 네트워크를 고효율 저비용으로 구축할 수 있도록 구현한 플렉서블 블록체인 프레임워크 구현 시스템 및 P2P 네트워크 설계 방법, 상기 방법을 수행하기 위한 기록 매체에 관한 것이다.The present invention relates to a flexible blockchain framework implementation system, a P2P network design method, and a recording medium for performing the method. More particularly, the present invention provides a high-efficiency low-cost blockchain network suitable for a service to be provided. The present invention relates to a flexible blockchain framework implementation system, a P2P network design method, and a recording medium for performing the method.

블록체인이란, 다양한 노드가 P2P 네트워크를 통해 모든 거래정보를 분산화하여 저장하고, 합의 알고리즘(Consensus Algorithm)을 통해 각 노드가 합의를 진행함으로써 트랜잭션을 진행하도록 하는 신뢰 기반 네트워크이다.A blockchain is a trust-based network in which various nodes decentralize and store all transaction information through a P2P network, and allow each node to proceed with a transaction through a consensus algorithm.

비트코인 또는 라이트코인 등의 기존 블록체인 플랫폼의 경우, 블록 생성 시간 또는 블록 사이즈 등의 블록체인 속성값들이 코드 전역에 분산되어 있을뿐더러, 수정을 고려하지 않고 Assert문 등의 컴파일 제한 구문을 사용하여 고정되어 있어 수정 시 코드 의존성 등의 문제가 발생할 수 있기 때문에 효율적인 개발이 어렵다는 단점을 가지고 있는데, 이는 가벼운 속성값을 수정하는 것만으로도 다량의 컴파일 에러가 발생하기 때문이다.In existing blockchain platforms such as Bitcoin or Litecoin, blockchain property values such as block creation time or block size are distributed throughout the code, and using compilation restriction syntax such as Assert statement without considering modification It is fixed, which can cause problems such as code dependency when modifying, which makes it difficult to develop efficiently, because a large amount of compilation errors are generated even by modifying light property values.

또한, P2P 네트워크의 구조를 피어에게 알려주는 역할을 하는 시드 노드의 IP주소와 포트 또한 고정되어 있어 블록체인의 속성값을 바꾸더라도 자체 네트워크로 분리시키기 어렵다는 단점이 있다.In addition, since the IP address and port of the seed node, which informs the peer of the structure of the P2P network, are also fixed, it is difficult to separate it into its own network even if the property value of the blockchain is changed.

뿐만 아니라, 비트코인 등의 플랫폼은 자체 네트워크를 구축하려는 목적에서 개발된 아키텍처가 아니기 때문에 유지 보수과정에서 추가된 다양한 기능이 모듈화되어 있지 않고 섞여 있어 코드 분석이 어렵고 코드 의존성 문제를 더욱 심화시킨다는 단점도 가지고 있다.In addition, since the platform such as Bitcoin is not an architecture developed to build its own network, various functions added during the maintenance process are not modularized and mixed, which makes code analysis difficult and deepens the code dependency problem. Have.

한국공개특허 제10-2018-0075450호Korean Patent Publication No. 10-2018-0075450 한국등록특허 제10-1673073호Korea Patent Registration No. 10-1673073

본 발명의 일측면은, 기존 블록체인 코드를 기능 단위로 모듈화하고, 블록체인 속성값들을 설정 파일 한 곳으로 통합시켜 보다 효율적인 수정을 할 수 있도록 하며, 시드 노드(Seednode)의 주소값 또한 수정 가능할 수 있도록 구현함으로써 블록체인 네트워크를 보다 쉽게 분리시킬 수 있도록 구현한 플렉서블 블록체인 프레임워크 구현 시스템 및 P2P 네트워크 설계 방법, 상기 방법을 수행하기 위한 기록 매체를 제공한다.One aspect of the present invention is to modularize existing blockchain code into functional units, integrate blockchain attribute values into one configuration file for more efficient modification, and modify the address value of a seednode. The present invention provides a flexible blockchain framework implementation system, a P2P network design method, and a recording medium for performing the method.

본 발명의 기술적 과제는 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The technical problem of the present invention is not limited to the technical problem mentioned above, and other technical problems not mentioned will be clearly understood by those skilled in the art from the following description.

본 발명의 일 실시예에 따른 플렉서블 블록체인 프레임워크 구현 시스템 은, 가상화폐의 트랜잭션(Transaction) 구조로 형성되며, 가상화폐와 관련된 정보를 저장해 두는 트랜잭션 모듈; 가상화폐의 위조 또는 변조를 판독하고, 가상화폐 채굴에 대한 보상을 받을 사용자를 식별하며, 상기 트랜잭션 모듈의 트랜잭션 구조를 통해 형성된 블록(Block)에 포함된 트랜잭션들의 트랜잭션 아이디(TxHash)를 리스트 형태로 저장해 두는 블록 모듈; 블록체인 네트워크를 분리해낼 수 있도록 블록체인 네트워크에 참여하는 시드 노드(Seed Node)의 주소값 설정을 변경하는 P2P(Peer to Peer) 네트워크 모듈; 상기 P2P 네트워크 모듈을 구성하는 각 노드들을 외부의 노드 또는 프로세스와 동기화 시키거나, 합의 알고리즘(Consensus Algorithm)을 통해 블록 생성을 진행시키는 블록체인 네트워크 모듈; 및 가상화폐의 소스코드의 수정이 가능하도록 상기 소스코드에 흩어져 있던 블록체인의 인자값(Blockchain Property)들을 하나의 설정파일(Config File)에 모으는 코드 최적화 모듈을 포함한다.A flexible blockchain framework implementation system according to an embodiment of the present invention includes a transaction module which is formed of a transaction structure of a virtual currency and stores information related to the virtual currency; Read forgery or tampering of cryptocurrency, identify users to be compensated for cryptocurrency mining, and list the transaction IDs (TxHash) of the transactions included in the block formed through the transaction structure of the transaction module in the form of a list. A block module for storing; A peer to peer (P2P) network module for changing an address value setting of a seed node participating in the blockchain network so as to separate the blockchain network; A blockchain network module for synchronizing each node constituting the P2P network module with an external node or a process or performing block generation through a consensus algorithm; And a code optimization module for collecting blockchain properties of blockchains scattered in the source code in one configuration file so that the source code of the virtual currency can be modified.

일 실시예에서, 상기 P2P 네트워크 모듈은, 블록체인 네트워크의 첫 번째 노드로서, 새로운 노드가 블록체인 네트워크에 처음 연결되는 경우 현재 블록체인 네트워크에 참여하고 있는 화이트 노드(White Node)들의 리스트인 화이트 리스트 정보를 전달받아 블록체인 네트워크에 참여하고 있는 모든 화이트 노드들에 연결되는 시드 노드들의 집합으로 구성되는 시드 노드부; 현재 블록체인 네트워크에 P2P(Peer to Peer) 연결되어 참여하고 있는 화이트 노드들의 집합으로 구성되며, 새로운 노드가 연결되는 경우 상기 화이트 노드들로 구성되는 화이트 리스트 정보를 생성시켜 상기 시드 노드부로 전달하는 화이트 리스트부; 및 블록체인 네트워크에 참여하였지만 현재는 연결이 종료된 노드인 그레이 노드(Gray Node)들의 집합으로 구성되는 그레이 리스트부를 포함할 수 있다.In one embodiment, the P2P network module is a first list of a blockchain network, and a white list is a list of white nodes currently participating in the blockchain network when a new node is first connected to the blockchain network. A seed node unit comprising a seed node connected to all white nodes participating in the blockchain network by receiving information; It is composed of a set of white nodes participating in a peer-to-peer (P2P) connection to the current blockchain network, and when a new node is connected, white is generated to generate white list information consisting of the white nodes and delivers it to the seed node unit. A list unit; And a gray list unit configured as a set of gray nodes that are nodes that have participated in the blockchain network but are currently disconnected.

일 실시예에서, 상기 그레이 노드는, 종료 당시의 블록체인 네트워크에 참여하고 있던 화이트 노드들의 화이트 리스트 정보를 포함할 수 있다.In one embodiment, the gray node may include white list information of the white nodes participating in the blockchain network at the time of termination.

일 실시예에서, 상기 P2P 네트워크 모듈은, 새로운 노드가 블록체인 네트워크에 참여하고자 할 경우, 상기 시드 노드에 연결되며, 상기 화이트 리스트부로부터 화이트 리스트 정보를 전달받는 제1 동작, 상기 새로운 노드가 상기 화이트 리스트부에 새로운 화이트 노드로서 추가되는 제2 동작 및 새롭게 화이트 노드가 된 노드를 포함한 모든 화이트 노드들과 상기 시드 노드가 연결되는 제3 동작을 수행할 수 있다.In one embodiment, the P2P network module, when a new node wants to participate in the blockchain network, is connected to the seed node, and receives a white list information from the white list unit, wherein the new node is the first node. The second operation may be performed as a new white node added to the white list unit, and a third operation may be performed in which all the white nodes including the newly white node are connected to the seed node.

일 실시예에서, 상기 코드 최적화 모듈은, 블록체인 네트워크를 구성하기 위한 스타트 킷(Start Kit)의 역할을 할 수 있도록 소스코드를 블록체인 코어 소스(Blockchain Core Source)만으로 구성되도록 하고, 사용자의 필요에 따라 기능을 추가할 수 있다.In one embodiment, the code optimization module, so that the source code is composed of only Blockchain Core Source (Blockchain Core Source) to serve as a start kit (Start Kit) for configuring a blockchain network, the user's needs You can add more features.

일 실시예에서, 상기 블록 모듈은, 버전(Version)정보, 타임스탬프(Timestamp), 이전 블록의 해시값 및 작업증명을 위한 논스(Nonce)로 구성되어 가상화폐의 위조 또는 변조를 판독하는 블록 헤더부; 해당 블록에서 생성된 최초 트랜잭션인 블록 생성 트랜잭션 정보를 저장하며, 저장된 블록 생성 트랜잭션 정보를 이용하여 가상화폐 채굴에 대한 보상을 받을 사용자를 식별하는 베이스 트랜잭션부; 및 해당 블록에 포함된 트랜잭션들의 트랜잭션 아이디(TxHash)를 리스트 형태로 저장해 두는 트랜잭션 리스트부를 포함할 수 있다.In one embodiment, the block module is composed of version information, a timestamp, a hash value of the previous block, and a nonce for proof of work to read a counterfeit or a modulation of a cryptocurrency. part; A base transaction unit for storing block generation transaction information which is the first transaction generated in the corresponding block, and identifying a user to be compensated for mining cryptocurrency using the stored block generation transaction information; And a transaction list unit for storing transaction IDs (TxHash) of the transactions included in the block in the form of a list.

일 실시예에서, 상기 블록체인 네트워크 모듈은, 원격 절차 호출 서버(Remote Procedure Call Server, RPC 서버)를 이용하여 외부 노드 및 프로세스와 통신하는 경우, 가상화폐의 JSON_API 오픈 소스를 이용하여 구현되며, 외부 노드와 프로세스 간의 통신 시 요청 측에서 JSON 방식으로 작성된 시그널과 메소드 실행 요청을 전달하고, 전달된 시그널과 실행 요청에 따른 스테이트(State)값 또는 JSON 결과를 반환할 수 있다.In one embodiment, when the blockchain network module communicates with external nodes and processes using a remote procedure call server (RPC server), the blockchain network module is implemented using JSON_API open source of cryptocurrency. When communicating between a node and a process, the request side can transmit a signal and method execution request written in JSON, and return a state value or JSON result according to the transmitted signal and execution request.

일 실시예에서, 상기 블록체인 네트워크 모듈은, 임의의 논스값을 해시함수에 대입하여 채굴 난이도에 따른 숫자보다 작은 블록 해시값인지를 확인하여, 채굴 난이도 조건을 만족하는 논스가 확인되면 블록을 생성한 뒤 채굴에 대한 보상을 받고, 채굴 난이도 조건을 만족하지 못하면 또 다른 임의의 논스값을 해시함수에 차례로 대입하면서 채굴 난이도 조건을 만족하는 블록 해시값을 찾도록 구현되는 작업증명(Proof-Of-Work, POW)의 합의 알고리즘을 사용할 수 있다.In one embodiment, the blockchain network module substitutes a random nonce value into the hash function to determine whether the block hash value is smaller than the number according to the mining difficulty, and generates a block if the nonce satisfying the mining difficulty condition is identified. Proof-Of-Proof is implemented to find a block hash value that meets the mining difficulty condition by receiving another reward for mining and then substituting another random nons value into the hash function if the mining difficulty condition is not satisfied. Work, POW) consensus algorithm can be used.

본 발명의 일 실시예에 따른 플렉서블 블록체인 프레임워크 구현 시스템의 P2P 네트워크 설계 방법은, 새로운 노드가 블록체인 네트워크에 참여하고자 할 경우 시드 노드부를 구성하는 시드 노드(Seed Node)에 연결되는 단계; 현재 블록체인 네트워크에 참여하고 있는 화이트 노드(White Node)들의 리스트인 화이트 리스트 정보를 상기 화이트 노드들의 집합으로 구성되는 화이트 리스트부로부터 상기 시드 노드부로 전달하는 단계; 상기 새로운 노드가 상기 화이트 리스트부에 새로운 화이트 노드로서 추가되는 단계; 및 새롭게 화이트 노드가 된 노드를 포함한 모든 화이트 노드들과 상기 시드 노드가 연결되는 단계를 포함한다.According to an embodiment of the present invention, a method for designing a P2P network of a flexible blockchain framework implementation system includes: connecting a seed node constituting a seed node unit when a new node wants to participate in a blockchain network; Transferring white list information, which is a list of white nodes currently participating in the blockchain network, from the white list unit consisting of the set of white nodes to the seed node unit; Adding the new node as a new white node to the white list portion; And connecting the white node with all the white nodes including the newly white node.

본 발명의 다른 실시예에 따른 컴퓨터로 판독 가능한 기록 매체에는, 플렉서블 블록체인 프레임워크 구현 시스템의 P2P 네트워크 설계 방법을 수행하기 위한 컴퓨터 프로그램이 기록되어 있다.In a computer-readable recording medium according to another embodiment of the present invention, a computer program for performing a P2P network design method of a flexible blockchain framework implementation system is recorded.

상술한 본 발명의 일측면에 따르면, 곳곳에 흩어져 있던 블록 생성 속도 또는 블록 사이즈 등의 블록체인 속성값들을 하나의 설정 파일로 통합함으로써 속성값의 변경을 보다 간편하게 수행할 수 있으며, 시드 노드를 통한 P2P 네트워크 접속 방식을 통해 단순히 시드 노드의 IP를 수정하는 것만으로도 간편하게 블록체인 네트워크 분리를 수행할 수 있다.According to one aspect of the present invention, by changing the block chain attribute values, such as block generation speed or block size, scattered around, into a single configuration file, it is possible to change the attribute values more easily, and through the seed node With P2P network access, blockchain network separation can be performed simply by modifying the IP of the seed node.

이에 따라, 자체 서비스에 알맞은 블록체인 네트워크를 보다 편리하게 구성 및 구현할 수 있으며, 일종의 스타트 킷 역할을 수행함으로써 저비용 고효율의 블록체인 코어 개발이 가능하도록 할 수 있다.Accordingly, it is possible to more conveniently configure and implement a blockchain network suitable for its own service, and it is possible to develop a low-cost, high-efficiency blockchain core by performing a kind of start kit.

도 1은 본 발명의 일 실시예에 따른 플렉서블 블록체인 프레임워크 구현 시스템의 개략적인 구성이 도시된 도면이다.
도 2는 도 1의 트랜잭션 모듈을 설명하는 도면이다.
도 3은 도 1의 블록체인 네트워크 모듈을 설명하는 도면이다.
도 4 및 도 5는 도 1의 코드 최적화 모듈을 설명하는 도면들이다.
도 6은 본 발명에 의한 블록체인의 송금 트랜잭션의 실험 과정을 설명하는 도면이다.
도 7은 본 발명에 의한 송금 트랜잭션 실험 결과를 설명하는 도면이다.
도 8은 도 1의 P2P 네트워크 모듈을 설명하는 도면이다.
도 9는 도 1의 블록 모듈을 설명하는 도면이다.
도 10은 본 발명의 일 실시예에 따른 플렉서블 블록체인 프레임워크 구현 시스템의 P2P 네트워크 설계 방법을 설명하는 도면이다.
1 is a diagram illustrating a schematic configuration of a flexible blockchain framework implementation system according to an embodiment of the present invention.
FIG. 2 is a diagram illustrating a transaction module of FIG. 1.
FIG. 3 is a diagram illustrating a blockchain network module of FIG. 1.
4 and 5 illustrate the code optimization module of FIG. 1.
6 is a view for explaining the experimental process of the transfer transaction of the blockchain according to the present invention.
7 is a view for explaining the results of the remittance transaction experiment according to the present invention.
FIG. 8 is a diagram illustrating a P2P network module of FIG. 1.
FIG. 9 is a diagram illustrating a block module of FIG. 1.
FIG. 10 is a diagram illustrating a P2P network design method of a flexible blockchain framework implementation system according to an embodiment of the present invention.

후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예와 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.DETAILED DESCRIPTION The following detailed description of the invention refers to the accompanying drawings that show, by way of illustration, specific embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention. It should be understood that the various embodiments of the present invention are different but need not be mutually exclusive. For example, certain shapes, structures, and characteristics described herein may be embodied in other embodiments without departing from the spirit and scope of the invention in connection with one embodiment. In addition, it is to be understood that the location or arrangement of individual components within each disclosed embodiment may be changed without departing from the spirit and scope of the invention. The following detailed description, therefore, is not to be taken in a limiting sense, and the scope of the present invention, if properly described, is defined only by the appended claims, along with the full range of equivalents to which such claims are entitled. Like reference numerals in the drawings refer to the same or similar functions throughout the several aspects.

암호화폐(crypto currency) 또는 가상화폐(virtual currency)란, 교환 수단으로서 기능하도록 고안된 디지털 자산(digital asset)으로서, 암호화 방법을 사용하여 거래의 안전을 확보하고, 추가적 단위의 생성을 통제하며, 그 자산의 이전을 인증하는 것으로서, 디지털화폐의 일종이다.Crypto currency or virtual currency is a digital asset that is designed to function as an exchange, using cryptographic methods to secure transactions, control the creation of additional units, It is a kind of digital currency that certifies the transfer of assets.

2009년 최초의 암호화폐인 Bitcoin(비트코인)이 출현했고, 이후 이더리움, 라이트코인, 리플, 모네로, Zcash, Dash 및 에이코인 등의 수많은 암호화폐가 등장했는데, 대표적인 암호화폐는 다음과 같다.Bitcoin, the first cryptocurrency, appeared in 2009. Since then, numerous cryptocurrencies such as Ethereum, Litecoin, Ripple, Monero, Zcash, Dash and Acoin have been introduced.

먼저, Bitcoin은, 2008년 사토시 나카모토의 논문 "Bitcoin: A Peer to Peer Electronic Cash System"에 최초 기술됐던 블록체인 기술을 이용하여 2009년 개발된 최초의 암호화폐로서, 오픈 소스로 공개되어 있지만, 상수와 변수값의 수정이 제한되어 있어 수정 시 Assert에 의해 컴파일 에러가 발생하기 때문에 유연한 수정이 어렵다.First, Bitcoin is the first cryptocurrency developed in 2009 using the blockchain technology first described in Satoshi Nakamoto's article "Bitcoin: A Peer to Peer Electronic Cash System" in 2008, but it is open source. Modification of constants and variables is limited, and as a result, compilation error is caused by Assert.

또한, 모듈화가 잘 되어있지 않아 소스 코드 분석에 시간이 오래 걸린다는 단점이 있지만, 그럼에도 불구하고 가장 많은 블록체인들의 모체가 되었다.It also has the disadvantage that it takes a long time to analyze the source code because it is not well modularized, but it has nevertheless been the mother of most blockchains.

Litecoin은, MIT의 Charlie Lee가 개발한 Bitcoin 기반의 암호화폐로 해싱함수를 SHA-256에서 Scrypt로 바꾸고, 블록사이즈와 최대 발행 수량을 늘린 블록체인 프로젝트이다.Litecoin is a Bitcoin-based cryptocurrency developed by Charlie Lee of MIT that changes the hashing function from SHA-256 to Scrypt and increases the block size and the maximum number of issues.

블록체인 속성값 수정을 위해 Bitcoin의 Assert문장을 제거하여 최대 발행량, 해싱 방식, 블록사이즈 및 블록 생성 시간 등의 블록체인 속성값을 비교적 플렉서블하게 수정할 수 있게 되었다는 의의가 있다.It is meaningful that the blockchain attribute values such as maximum issue amount, hashing method, block size, and block creation time can be modified relatively flexibly by removing the Assert statement of Bitcoin to modify the blockchain attribute value.

하지만, 모듈화가 충분히 진행되지 않아 컨센서스 방식과 같은 큰 틀에서의 변화를 위해서는 기존 소스 코드를 새롭게 고치고 의존성을 검사하며 수정해야 한다는 점에서 여전히 Bitcoin 기반 방식의 한계점이 존재한다However, the limitations of the Bitcoin-based approach still exist in that the modularization is not sufficiently progressed, so that changes in a large framework such as a consensus approach require renovation of existing source code, dependency checking, and modification.

Peercoin은, Bitcoin을 모체로 하며 기존 Bitcoin의 합의 알고리즘인 작업증명(POW)을 지분증명(POS) 방식으로 변경한 프로젝트이다.Peercoin is a project in which Bitcoin is used as a parent and proof of work (POW), a consensus algorithm of Bitcoin, is changed to proof of equity (POS) method.

수많은 POS방식 블록체인들의 모체가 되고 있으며, Bitcoin 기반 프로젝트 중 최초로 가장 많은 부분에서 변화가 나타난 프로젝트이다.It has become the parent of numerous POS-type blockchains, and it is the first project that showed the most changes in the Bitcoin-based project.

합의 알고리즘의 의존성을 모두 고려하면서 Bitcoin의 코드를 수정하여 구현하였지만 모듈화가 진행되지 않아 기존 Bitcoin의 코드와 Peercoin의 새로운 코드가 난잡하게 섞여 있어 블록체인 구축을 위해 사용하기에는 여전히 유연성과 모듈화가 부족하다.Although Bitcoin's code has been modified and implemented considering all the dependencies of the consensus algorithm, the modularity has not been progressed and the existing Bitcoin code and Peercoin's new code are clutteredly mixed.

마지막으로, Bytecoin은, Cryptonote 기술 기반의 최초 익명성 코인으로 Cryptonight 알고리즘을 사용하였으며, 링 서명을 이용하여 익명성과 정보 보호를 강조하며 등장하였으며, Bitcoin 기반 블록체인과 전혀 관련이 없는 최초의 독립 블록체인이기도 하다.Finally, Bytecoin is the first anonymous coin based on Cryptonote technology, using the Cryptonight algorithm, emphasizing anonymity and information protection using ring signatures, and the first independent blockchain that has nothing to do with Bitcoin based blockchain. It is also.

Cryptonote라고 하는 자체 블록체인 코어 기술을 통해 만들어졌으며, 비교적 쉽게 블록체인 속성값을 수정할 수 있지만, 소스코드 길이가 Bitcoin보다 훨씬 방대하고 모듈화가 진행되지 않아 소스 분석이 아주 복잡하며, 블록체인의 속성값 변경은 간단하더라도 자체 블록체인의 P2P 네트워크를 분리해내는 것이 어렵다는 단점이 있다.Created through its own blockchain core technology called Cryptonote, it is relatively easy to modify blockchain property values, but the source code length is much larger than Bitcoin and the modularity is not very complicated, so source analysis is very complicated. Even if the change is simple, it is difficult to separate the P2P network of its own blockchain.

이하, 도면들을 참조하여 본 발명의 바람직한 실시예들을 보다 상세하게 설명하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the drawings.

도 1은 본 발명의 일 실시예에 따른 플렉서블 블록체인 프레임워크 구현 시스템의 개략적인 구성이 도시된 도면이다.1 is a diagram illustrating a schematic configuration of a flexible blockchain framework implementation system according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 일 실시예에 따른 플렉서블 블록체인 프레임워크 구현 시스템(10)은, 트랜잭션 모듈(100), 블록 모듈(200), P2P 네트워크 모듈(300), 블록체인 네트워크 모듈(400) 및 코드 최적화 모듈(500)을 포함한다.Referring to FIG. 1, the flexible blockchain framework implementation system 10 according to an embodiment of the present invention may include a transaction module 100, a block module 200, a P2P network module 300, and a blockchain network module ( 400 and code optimization module 500.

트랜잭션 모듈(100)은, 가상화폐의 트랜잭션(Transaction) 구조로 형성되며, 가상화폐와 관련된 정보를 저장해 둔다.The transaction module 100 is formed of a transaction structure of a virtual currency, and stores information related to the virtual currency.

도 2를 참조하면, 트랜잭션 모듈(100)은, 호환성을 높일 수 있도록 가장 일반적으로 사용되는 비트코인의 트랜잭션 구조로 설계되며, Unlock Time에는 UNIX의 시간정보인 Timestamp가 기록되며, Inputs에는 트랜잭션 소유권에 대한 키 정보와 Block Height가 기록되며, Outputs에는 전송될 코인의 수량과 송금 주소정보가 기록될 수 있다.Referring to FIG. 2, the transaction module 100 is designed with a transaction structure of Bitcoin which is most commonly used to increase compatibility. In Unlock Time, Timestamp, which is UNIX time information, is recorded. The key information and the block height are recorded, and the number of coins to be transmitted and the remittance address information can be recorded in the outputs.

블록 모듈(200)은, 가상화폐의 위조 또는 변조를 판독하고, 가상화폐 채굴에 대한 보상을 받을 사용자를 식별하며, 트랜잭션 모듈(100)의 트랜잭션 구조를 통해 형성된 블록(Block)에 포함된 트랜잭션들의 트랜잭션 아이디(TxHash, 가상화폐 및 토큰의 전송 현황 기록의 아이디)를 리스트 형태로 저장해 둔다.The block module 200 reads the counterfeit or modulation of the cryptocurrency, identifies a user to be compensated for the cryptocurrency mining, and checks the transactions included in the block formed through the transaction structure of the transaction module 100. Stores the transaction ID (TxHash, ID of virtual currency and token transfer status record) in list form.

P2P 네트워크 모듈(300)은, 자체적으로 블록체인 네트워크를 분리해낼 수 있도록 블록체인 네트워크에 참여하는 시드 노드(Seed Node)의 주소값 설정을 변경한다.The P2P network module 300 changes the address value setting of the seed node participating in the blockchain network so as to detach the blockchain network by itself.

즉, 사용자들은, P2P 네트워크 모듈(300)을 이용하여 보다 용이하게 블록체인 속성값을 수정할 수 있으며, 시드 노드의 주소값을 자체 블록체인에 맞는 IP 혹은 도메인으로 변경하여 손쉽게 독자적인 P2P 네트워크를 분리할 수 있게 된다.That is, users can more easily modify the blockchain attribute value using the P2P network module 300, and can easily separate the independent P2P network by changing the address value of the seed node to an IP or domain suitable for its own blockchain. It becomes possible.

블록체인 네트워크 모듈(400)은, P2P 네트워크 모듈을 구성하는 각 노드들을 외부의 노드 또는 프로세스와 동기화 시키거나, 합의 알고리즘(Consensus Algorithm)을 통해 블록 생성을 진행시킨다.The blockchain network module 400 synchronizes each node constituting the P2P network module with an external node or a process, or proceeds with block generation through a consensus algorithm.

도 3을 참조하면, 블록체인 네트워크 모듈(400)을 구성하는 각 노드들은 데몬(Daemon, 컴퓨터 시스템의 운영에 관련된 작업을 후선(background) 상태로 동작하면서 실행하는 상주 프로그램)과 지갑(Wallet)을 가지고 있으며, 이들은 원격 절차 호출 서버(Remote Procedure Call Server, RPC Server)와 HTTP 서버(HyperText Transfer Protocol Sever, HTTP Sever)를 사용하여 외부에 존재하는 노드 또는 프로세스와 통신하게 된다.Referring to FIG. 3, each node constituting the blockchain network module 400 includes a daemon (a resident program that runs while operating tasks related to the operation of a computer system in a background state) and a wallet. They communicate with external nodes or processes using a remote procedure call server (Remote®Procedure®Call Server, RPC Server) and an HTTP server (HyperText Transfer Protocol Sever, HTTP Sever).

블록체인 네트워크 모듈(400)은, 이러한 통신 방식을 통해 동기화 과정 및 합의를 통한 블록 생성 등의 과정을 진행할 수 있다.The blockchain network module 400 may proceed with a synchronization process and a block generation through consensus through such a communication method.

일 실시예에서, 블록체인 네트워크 모듈(400)은, 원격 절차 호출 서버를 이용하여 외부 노드 및 프로세스와 통신하는 경우, 가상화폐의 JSON_API 오픈 소스를 이용하여 구현되며, 외부 노드와 프로세스 간의 통신 시 요청 측에서 JSON 방식으로 작성된 시그널과 메소드 실행 요청을 전달하고, 전달된 시그널과 실행 요청에 따른 스테이트(State)값 또는 JSON 결과를 반환할 수 있다.In one embodiment, when the blockchain network module 400 communicates with an external node and a process using a remote procedure call server, the blockchain network module 400 is implemented using the JSON_API open source of a virtual currency, and requests for communication between the external node and the process. The side can pass the signal and method execution request written in JSON method and return the state value or JSON result according to the transmitted signal and execution request.

본 발명에서는 합의(Consensus) 방식으로 작업증명(POW)을 사용하는데, 여기서 작업증명 방식이란 컴퓨터의 연산력을 바탕으로 합의를 진행하는 방식을 지칭한다.In the present invention, the proof of work (POW) is used as a consensus method, where the proof of work refers to a method of consensus based on computing power of a computer.

작업증명을 통해 새로운 블록을 블록체인 네트워크에 추가하기 위해서는 채굴 난이도에 따른 특정 규격(즉, 채굴 난이도 조건)을 만족시키는 논스값과 그 해시값을 구해야 한다.In order to add a new block to the blockchain network through proof of work, it is necessary to obtain a nonce value and a hash value satisfying a specific specification (i.e., a mining difficulty condition) according to mining difficulty.

이를 위해, 본 발명의 블록체인 네트워크 모듈(400)은, 임의의 논스값을 해시함수에 대입하여 채굴 난이도에 따른 숫자보다 작은 블록 해시값인지를 확인(즉, 채굴 난이도 조건의 만족 여부를 확인)하여, 채굴 난이도 조건을 만족하는 논스가 확인되면 블록을 생성한 뒤 채굴에 대한 보상을 받고, 채굴 난이도 조건을 만족하지 못하면 또 다른 임의의 논스값을 해시함수에 차례로 대입하면서 채굴 난이도 조건을 만족하는 블록 해시값을 찾도록 구현되는 작업증명(Proof-Of-Work, POW)의 합의 알고리즘을 사용할 수 있다.To this end, the blockchain network module 400 of the present invention substitutes an arbitrary nonce value into the hash function to determine whether the block hash value is smaller than the number according to the mining difficulty (that is, whether the mining difficulty condition is satisfied). If a nonce is found that satisfies the mining difficulty condition, the block is generated and rewarded for mining. If the mining difficulty condition is not satisfied, another nonce value is substituted into the hash function to satisfy the mining difficulty condition. Proof-Of-Work (POW) consensus algorithm can be used to find the block hash value.

코드 최적화 모듈(500)은, 가상화폐의 소스코드의 수정이 가능하도록 기존 소스코드에 흩어져 있던 블록체인의 인자값(Blockchain Property)들을 하나의 설정파일(Config File)에 모은다.The code optimization module 500 collects blockchain properties scattered in the existing source code in one configuration file so that the source code of the virtual currency can be modified.

도 4를 참조하면, 코드 최적화 모듈(500)은, 기존 플랫폼의 소스코드 구조를 개선하여, 소스코드 곳곳에 흩어져 있던 블록체인의 인자값들을 설정파일(Config File)이라는 하나의 파일에 모아 보다 효율적이고 유동적인 수정이 가능하도록 한다.Referring to FIG. 4, the code optimization module 500 improves the source code structure of the existing platform and collects the parameter values of blockchains scattered around the source code into a single file called a config file. And allow for fluid modifications.

본 발명에서는, 모듈화를 통해 코드 의존성 문제를 해결하였기 때문에, 코드 최적화 모듈(500)에 의해 설정파일(Config File)에 있는 인자값을 변경하더라도 그 어떤 컴파일 에러가 발생하지 않는다는 장점을 가질 수 있다.In the present invention, since the code dependency problem is solved through the modularization, even if the parameter value in the configuration file is changed by the code optimization module 500, no compilation error occurs.

도 5를 참조하면, 기존 블록체인 플랫폼의 소스코드는, 보안을 위한 Multi Signature Wallet, 블록체인의 무결성을 체크하기 위한 Check Point 또는 각종 Anonymity Protocol(익명성 프로토콜) 등의 불필요한 기능이 섞여 있다는 단점을 가지고 있다.Referring to FIG. 5, the source code of the existing blockchain platform has a disadvantage in that unnecessary functions such as a multi signature wallet for security, a check point for checking the integrity of the blockchain, or various anonymity protocols are mixed. Have.

그러나, 본 발명의 코드 최적화 모듈(500)은, 블록체인 네트워크를 구성하기 위한 스타트 킷의 역할을 하고 사용자가 필요에 따라서 기능을 추가해 나가는 방식이므로, 불필요한 기능을 모두 제거하여 소스 분석을 용이하게 만들고 코드 의존성 문제를 해결할 수 있다.However, since the code optimization module 500 of the present invention serves as a start kit for configuring a blockchain network and a user adds functions as needed, the code optimization module 500 removes all unnecessary functions to facilitate source analysis. You can solve the code dependency problem.

일 실시예에서, 코드 최적화 모듈(500)은, 블록체인 네트워크를 구성하기 위한 스타트 킷(Start Kit)의 역할을 할 수 있도록 소스코드를 블록체인 코어 소스(Blockchain Core Source)만으로 구성되도록 하고, 사용자의 필요에 따라 기능을 추가할 수 있다.In one embodiment, the code optimization module 500, so that the source code to be composed of only the blockchain core source (Blockchain Core Source) to act as a start kit (Start Kit) for configuring the blockchain network, the user You can add features as needed.

이하, 본 발명을 사용하여 구현된 자체 블록체인의 시드 노드의 주소를 Google Cloud Instance의 IP주소로 대체한 뒤, 블록체인의 가장 기본적인 기능인 송금 기능을 실험하여 정상적으로 블록체인이 구현되었는지를 확인하기로 한다.Hereinafter, after replacing the address of the seed node of the own blockchain implemented using the present invention with the IP address of Google Cloud Instance, it is decided to check whether the blockchain is normally implemented by experimenting the remittance function, which is the most basic function of the blockchain. do.

도 6은 본 발명에 의한 블록체인의 송금 트랜잭션의 실험 과정을 설명하는 도면으로서, 본 발명의 플렉서블 블록체인 프레임워크를 이용하여 구현된 자체 블록체인의 지갑 A에서 지갑 B로 송금하는 과정이 나타나 있으며, 이때 각각의 지갑은 서로 다른 두대의 PC에서 동작하고 있는 상태로 실험하였다.FIG. 6 is a diagram illustrating an experimental process of a transfer transaction of a blockchain according to the present invention, and illustrates a process of transferring from a wallet A to a wallet B of an own blockchain implemented using the flexible blockchain framework of the present invention. In this case, each wallet was tested on two different PCs.

지갑 B의 터미널에서 "balance 명령어"를 통해 지갑에 존재하는 코인을 확인 후, 지갑 A의 터미널에서 "transfer 명령어"를 통해 지갑 B로 100개의 코인을 전송한다.After checking the coins existing in the wallet through the "balance command" in the wallet B terminal, 100 coins are sent to the wallet B through the "transfer command" in the wallet A terminal.

이후, 트랜잭션이 위치한 블록인 14번째 블록의 생성이 완료된 다음, 지갑 B의 터미널에서 다시 "balance 명령"을 호출한 결과, 자체 코인 100개가 성공적으로 지갑 A에서 지갑 B로 전송된 것을 확인할 수 있다.After the completion of the 14th block, the block in which the transaction is located, the "balance command" is called again from the terminal of the wallet B. As a result, it can be seen that 100 coins have been successfully transferred from the wallet A to the wallet B.

도 7은 본 발명에 의한 송금 트랜잭션 실험 결과를 설명하는 도면으로서, 실제 트랜잭션의 결과로 나온 JSON 값을 확인할 수 있는데, amount값이 송금을 요청한 코인의 개수인 100임을 확인할 수 있으며, 송금 목적지인 지갑 B의 주소를 address에서 확인할 수 있다.7 is a view illustrating the results of a remittance transaction experiment according to the present invention, it is possible to check the JSON value resulting from the actual transaction, it can be confirmed that the amount value is 100 that is the number of coins requesting a remittance, the wallet is a transfer destination You can check the address of B in address.

또한, 도 7의 블록체인의 가장 기본적인 기능인 송금을 실험한 결과에 의해서, 복잡한 과정 없이 설정 파일에서 블록체인 속성값과 시드 노드의 주소값을 변경한 것만으로 블록체인 네트워크가 독립적으로 분리되었다는 것을 확인 할 수 있다.In addition, the results of the remittance test, which is the most basic function of the blockchain of FIG. 7, confirm that the blockchain network was separated independently by changing the blockchain attribute value and the seed node address value in the configuration file without any complicated process. can do.

도 6 및 도 7을 통해, 본 발명에 의해 독립적인 블록체인 네트워크를 손쉽게 구현할 수 있다는 것을 블록체인의 가장 기본적인 기능인 코인 송금 실험을 통해 검증하였다.6 and 7, through the coin transfer experiment, which is the most basic function of the blockchain, it is verified that the independent blockchain network can be easily implemented by the present invention.

이에 따라, 본 발명을 적용함으로써, 기존 프로젝트에선 곳곳에 흩어져 있던 블록의 생성 속도 또는 블록 사이즈 등의 블록체인 속성값들을 하나의 설정 파일로 통합하여 속성값 변경을 보다 간편하게 수행할 수 있다.Accordingly, by applying the present invention, property value changes can be more easily performed by integrating blockchain property values such as the generation speed or block size of blocks scattered in existing projects into one configuration file.

뿐만 아니라, 시드 노드를 통한 P2P 네트워크 접속 방식을 통해 단순히 시드 노드의 IP를 수정하는 것만으로도 블록체인 네트워크 분리가 가능하도록 하는 플렉서블 블록체인 프레임워크를 간편하게 개발 및 구현할 수 있다.In addition, through the P2P network access through the seed node, it is easy to develop and implement a flexible blockchain framework that enables the blockchain network separation by simply modifying the IP of the seed node.

다양한 기업과 재단들이 블록체인을 활용한 서비스를 제공하기 위해 블록체인 시장으로 뛰어들고 있지만, 아직까지도 대부분의 서비스는 이미 구현된 플랫폼인 이더리움 기반의 블록체인 서비스이거나, 비트코인의 소스코드를 포크하여 사용되곤 한다.Although various companies and foundations are moving into the blockchain market to provide services using blockchain, most of the services are still Ethereum-based blockchain services that are already implemented platforms, or fork bitcoin source code. It is used.

그러나, 상술한 바와 같은 구성을 가지는 본 발명의 일 실시예에 따른 플렉서블 블록체인 프레임워크 구현 시스템(10)을 적용함으로써, 자체 블록체인 네트워크 구축을 위한 일종의 스타트 킷 역할을 수행할 수 있는 프레임워크를 보다 효율적이고 빠르게 제공할 수 있다.However, by applying the flexible blockchain framework implementation system 10 according to an embodiment of the present invention having the configuration as described above, a framework capable of serving as a kind of start kit for building its own blockchain network You can deliver more efficiently and quickly.

상술한 바와 같은 구성을 가지는 플렉서블 블록체인 프레임워크 구현 시스템(10)은, 운영체제(Operation System; OS), 즉 시스템을 기반으로 다양한 소프트웨어를 실행하거나 제작할 수 있다. 상기 운영체제는 소프트웨어가 장치의 하드웨어를 사용할 수 있도록 하기 위한 시스템 프로그램으로서, 안드로이드 OS, iOS, 윈도우 모바일 OS, 바다 OS, 심비안 OS, 블랙베리 OS 등 모바일 컴퓨터 운영체제 및 윈도우 계열, 리눅스 계열, 유닉스 계열, MAC, AIX, HP-UX 등 컴퓨터 운영체제를 모두 포함할 수 있다.The flexible blockchain framework implementation system 10 having the configuration as described above may execute or manufacture various software based on an operating system (OS), that is, a system. The operating system is a system program for enabling the software to use the hardware of the device, and the mobile computer operating system such as Android OS, iOS, Windows Mobile OS, Sea OS, Symbian OS, Blackberry OS, Windows, Linux, Unix, It can include any computer operating system, such as MAC, AIX, or HP-UX.

도 8은 도 1의 P2P 네트워크 모듈을 설명하는 도면이다.FIG. 8 is a diagram illustrating a P2P network module of FIG. 1.

도 8을 참조하면, P2P 네트워크 모듈(300)은, 시드 노드부(310), 화이트 리스트부(320) 및 그레이 리스트부(330)를 포함한다.Referring to FIG. 8, the P2P network module 300 includes a seed node unit 310, a white list unit 320, and a gray list unit 330.

시드 노드부(310)는, 블록체인 네트워크의 첫 번째 노드로서, 새로운 노드(340)가 블록체인 네트워크에 처음 연결되는 경우 현재 블록체인 네트워크에 참여하고 있는 화이트 노드(321)(White Node)들의 리스트인 화이트 리스트 정보를 화이트 리스트부(320)로부터 전달받아 블록체인 네트워크에 참여하고 있는 모든 화이트 노드(321)들에 연결되는 시드 노드(311)들의 집합으로 구성된다.The seed node unit 310 is a first node of the blockchain network, and a list of white nodes 321 currently participating in the blockchain network when a new node 340 is first connected to the blockchain network. It is composed of a set of seed nodes 311 connected to all the white nodes 321 participating in the blockchain network by receiving the in-white list information from the white list unit 320.

화이트 리스트부(320)는, 현재 블록체인 네트워크에 P2P(Peer to Peer) 연결되어 참여하고 있는 화이트 노드(321)들의 집합으로 구성되며, 새로운 노드(340)가 연결되는 경우 화이트 노드(321)들로 구성되는 화이트 리스트 정보를 생성시켜 시드 노드부(310)로 전달한다.The white list unit 320 is composed of a set of white nodes 321 currently participating in a peer-to-peer (P2P) connection to the blockchain network, and the white nodes 321 when the new node 340 is connected. It generates white list information consisting of and transmits to the seed node 310.

그레이 리스트부(330)는, 블록체인 네트워크에 참여하였지만 현재는 연결이 종료된 노드인 그레이 노드(331)(Gray Node)들의 집합으로 구성된다.The gray list unit 330 is composed of a set of gray nodes 331 (gray nodes), which are nodes that have participated in the blockchain network but are currently disconnected.

일 실시예에서, 그레이 노드(331)는, 종료 당시의 블록체인 네트워크에 참여하고 있던 화이트 노드(321)들의 화이트 리스트 정보를 포함할 수 있다.In one embodiment, the gray node 331 may include white list information of the white nodes 321 participating in the blockchain network at the time of termination.

상술한 바와 같은 구성을 가지는 P2P 네트워크 모듈(300)은, 새로운 노드(340)가 블록체인 네트워크에 참여하고자 할 경우, 우선 새로운 노드(340)가 시드 노드(311)에 연결되고, 화이트 리스트부(320)로부터 화이트 리스트 정보를 전달받는 제1 동작을 수행한다.In the P2P network module 300 having the above-described configuration, when the new node 340 wants to participate in the blockchain network, the new node 340 is first connected to the seed node 311, and the white list unit ( In operation 320, a first operation of receiving white list information is performed.

제1 동작의 수행이 완료되면, 새로운 노드(340)가 화이트 리스트부(320)에 새로운 화이트 노드(321)로서 추가되는 제2 동작을 수행하게 된다.When the execution of the first operation is completed, the new node 340 performs the second operation of adding the new white node 321 to the white list unit 320.

제2 동작의 수행이 완료되면, 새롭게 화이트 노드(321)가 된 노드(즉, 새로운 노드(340))를 포함한 모든 화이트 노드(321)들과 시드 노드(311)가 연결되는 제3 동작을 수행하게 된다.When the execution of the second operation is completed, the third operation is performed in which all the white nodes 321 and the seed node 311 are connected to each other, including the node (ie, the new node 340) that has become a new white node 321. Done.

본 발명의 P2P 네트워크 구조(즉, P2P 네트워크 모듈(300))는, 새로운 노드(340)가 P2P에 접속 시 최초로 접속하게 되는 노드인 시드 노드(311)와 그 집합인 시드 노드부(310), 현재 접속되어 있는 활성 노드인 화이트 노드(321)와 그 집합인 화이트 리스트부(320) 및 비활성 노드인 그레이 노드(331)와 그 집합인 그레이 리스트부(330)(도 8 참조)로 형성되며, 새로운 노드(340)는 시드 노드(311)를 통해 P2P 네트워크에 참여하게 된다.The P2P network structure (that is, the P2P network module 300) of the present invention includes a seed node 311, which is a node to which a new node 340 first connects when connecting to P2P, and a seed node unit 310 which is a set thereof. It is formed of a white node 321 which is the currently connected active node, a white list unit 320 which is a set thereof, a gray node 331 which is an inactive node, and a gray list unit 330 which is a set thereof (see FIG. 8). The new node 340 joins the P2P network through the seed node 311.

이를 통해, 최초로 접속되게 되는 시드 노드(311)의 Port와 IP값을 설정파일에서 변경할 경우, 완전히 분리된 독자적인 P2P 네트워크를 구성함으로써, P2P 네트워크 기반의 블록체인 네트워크를 구성할 수 있도록 한다.Through this, when changing the port and IP value of the seed node 311 to be connected for the first time in the configuration file, by configuring a completely separate and independent P2P network, it is possible to configure a blockchain network based on P2P network.

도 9는 도 1의 블록 모듈을 설명하는 도면이다.FIG. 9 is a diagram illustrating a block module of FIG. 1.

도 9를 참조하면, 블록 모듈(200)은, 블록 헤더부(210), 베이스 트랜잭션부(220) 및 트랜잭션 리스트부(230)를 포함한다.Referring to FIG. 9, the block module 200 may include a block header unit 210, a base transaction unit 220, and a transaction list unit 230.

블록 헤더부(210)는, 버전(Version)정보, UNIX 기반의 타임스탬프(Timestamp), 이전 블록의 해시값 및 작업증명을 위한 논스(Nonce)로 구성되어 가상화폐의 위조 또는 변조를 판독한다.The block header unit 210 is composed of version information, a UNIX-based timestamp, a hash value of a previous block, and a nonce for proof of work to read a counterfeit or a modulation of a virtual currency.

베이스 트랜잭션부(220)는, 해당 블록에서 생성된 최초 트랜잭션인 블록 생성 트랜잭션 정보를 저장하며, 저장된 블록 생성 트랜잭션 정보를 이용하여 가상화폐 채굴에 대한 보상을 받을 사용자를 식별한다.The base transaction unit 220 stores block generation transaction information, which is the first transaction generated in the block, and identifies a user to be compensated for mining cryptocurrency using the stored block generation transaction information.

트랜잭션 리스트부(230)는, 해당 블록에 포함된 트랜잭션들의 트랜잭션 아이디(TxHash)를 리스트 형태로 저장해 둔다.The transaction list unit 230 stores the transaction IDs (TxHash) of the transactions included in the block in the form of a list.

도 10은 본 발명의 일 실시예에 따른 플렉서블 블록체인 프레임워크 구현 시스템의 P2P 네트워크 설계 방법을 설명하는 도면이다.FIG. 10 is a diagram illustrating a P2P network design method of a flexible blockchain framework implementation system according to an embodiment of the present invention.

도 10을 참조하면, 본 발명의 일 실시예에 따른 플렉서블 블록체인 프레임워크 구현 시스템의 P2P 네트워크 설계 방법은, 우선 새로운 노드(340)가 블록체인 네트워크에 참여하고자 할 경우, 시드 노드부(310)를 구성하는 시드 노드(311)(Seed Node)에 연결된다(S100).Referring to FIG. 10, in the P2P network design method of the flexible blockchain framework implementation system according to an embodiment of the present invention, when a new node 340 intends to participate in a blockchain network, the seed node unit 310 may be used. It is connected to the seed node (311) (Seed Node) constituting the (S100).

도 8에서 상술한 바와 같이, 여기서, 시드 노드부(310)는, 블록체인 네트워크의 첫 번째 노드로서, 새로운 노드(340)가 블록체인 네트워크에 처음 연결되는 경우 현재 블록체인 네트워크에 참여하고 있는 화이트 노드(321)(White Node)들의 리스트인 화이트 리스트 정보를 화이트 리스트부(320)로부터 전달받아 블록체인 네트워크에 참여하고 있는 모든 화이트 노드(321)들에 연결되는 시드 노드(311)들의 집합으로 구성된다.As described above with reference to FIG. 8, here, the seed node unit 310 is the first node of the blockchain network, and when a new node 340 is first connected to the blockchain network, white currently participates in the blockchain network. Consists of a set of seed nodes 311 connected to all white nodes 321 participating in the blockchain network by receiving white list information, which is a list of nodes 321, from the white list unit 320. do.

그리고, 화이트 리스트부(320)는, 현재 블록체인 네트워크에 P2P(Peer to Peer) 연결되어 참여하고 있는 화이트 노드(321)들의 집합으로 구성되며, 새로운 노드(340)가 연결되는 경우 화이트 노드(321)들로 구성되는 화이트 리스트 정보를 생성시켜 시드 노드부(310)로 전달한다.In addition, the white list unit 320 is configured as a set of white nodes 321 participating in a peer-to-peer (P2P) connection to the current blockchain network, and the white node 321 when the new node 340 is connected. It generates white list information consisting of the ()) and transmits to the seed node (310).

상술한 단계 S100에서 새로운 노드(340)가 시드 노드(311)에 연결되면, 현재 블록체인 네트워크에 참여하고 있는 화이트 노드(321)(White Node)들의 리스트인 화이트 리스트 정보를 화이트 노드(321)들의 집합으로 구성되는 화이트 리스트부(320)로부터 시드 노드부(310)로 전달한다(S200).When the new node 340 is connected to the seed node 311 in step S100 described above, the white list information, which is a list of the white nodes 321 participating in the blockchain network, is displayed. The transfer from the white list unit 320 formed as a set to the seed node unit 310 (S200).

상술한 단계 S200에서 화이트 리스트 정보가 시드 노드부(310)로 전달되면, 새로운 노드(340)가 화이트 리스트부(320)에 새로운 화이트 노드(321)로서 추가한다(S300).When the white list information is transferred to the seed node unit 310 in step S200, a new node 340 is added to the white list unit 320 as a new white node 321 (S300).

상술한 단계 S300에서 화이트 리스트부(320)에 새로운 화이트 노드(321)가 추가되면, 새롭게 화이트 노드(321)가 된 노드를 포함한 모든 화이트 노드(321)들과 시드 노드(311)가 연결된다(S400).When a new white node 321 is added to the white list unit 320 in step S300 described above, all the white nodes 321 including the node that has become a white node 321 and the seed node 311 are connected ( S400).

본 발명의 P2P 네트워크는, 새로운 노드(340)가 P2P에 접속 시 최초로 접속하게 되는 노드인 시드 노드(311)와 그 집합인 시드 노드부(310), 현재 접속되어 있는 활성 노드인 화이트 노드(321)와 그 집합인 화이트 리스트부(320) 및 비활성 노드인 그레이 노드(331)와 그 집합인 그레이 리스트부(330)(도 8 참조)로 형성되며, 새로운 노드(340)는 시드 노드(311)를 통해 P2P 네트워크에 참여하게 된다.The P2P network of the present invention includes a seed node 311, which is a node to which a new node 340 is initially connected when connecting to P2P, a seed node unit 310, which is a set thereof, and a white node 321, which is an active node currently connected. ), The set white list 320 and the inactive node gray node 331 and the set gray list 330 (see FIG. 8), and the new node 340 is the seed node 311. Participate in P2P network through.

이를 통해, 새로운 노드(340)가 최초로 접속되게 되는 시드 노드(311)의 Port와 IP값을 설정파일에서 변경할 경우, 완전히 분리된 독자적인 P2P 네트워크를 구성함으로써, P2P 네트워크 기반의 블록체인 네트워크를 구성할 수 있도록 한다.Through this, when the port and IP value of the seed node 311 to which the new node 340 is first connected are changed in the configuration file, a P2P network-based blockchain network can be configured by configuring a completely separate and independent P2P network. To be able.

상술한 바와 같은 본 발명의 일 실시예에 따른 플렉서블 블록체인 프레임워크 구현 시스템의 P2P 네트워크 설계 방법은, 애플리케이션으로 구현되거나 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다.The P2P network design method of the flexible blockchain framework implementation system according to an embodiment of the present invention as described above is implemented in the form of program instructions that can be implemented as an application or executed through various computer components, thereby being computer readable. It can be recorded on the recording medium. The computer-readable recording medium may include program instructions, data files, data structures, etc. alone or in combination.

상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거니와 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다.The program instructions recorded on the computer-readable recording medium are those specially designed and configured for the present invention, and may be known and available to those skilled in the computer software arts.

컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CDROM, DVD 와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다.Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tape, optical recording media such as CDROMs and DVDs, and magneto-optical media such as floptical disks. And hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like.

프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like. The hardware device may be configured to operate as one or more software modules to perform the process according to the invention, and vice versa.

이상에서는 실시예들을 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although described above with reference to the embodiments, those skilled in the art can be variously modified and changed within the scope of the present invention without departing from the spirit and scope of the invention described in the claims below. I can understand.

본 발명에 따르면, Reverse ICO(Initial Coin Offering)를 진행하고자 하는 기업 및 재단, 또는 이미 이더리움 기반의 탈중앙화 어플리케이션(Decentralized Application)에서 자체 블록체인을 구성하여 전환하려는 기업 및 재단으로 하여금 기존에 운용하던 서비스를 자체 블록체인으로 구현하도록 함으로써, 블록체인 네트워크를 빠르고 간편하게 구성할 수 있도록 하고, 이러한 과정에서 이용료를 부과할 수 있을 것으로 예상된다.According to the present invention, companies and foundations that wish to proceed with Reverse ICO (Initial Coin Offering), or companies and foundations who want to form and switch their own blockchains in an Ethereum-based decentralized application are already operating. By implementing the service on its own blockchain, it is expected that the blockchain network can be quickly and easily configured, and a fee may be charged in the process.

10: 플렉서블 블록체인 프레임워크 구현 시스템
100: 트랜잭션 모듈 200: 블록 모듈
210: 블록 헤더부 220: 베이스 트랜잭션부
230: 트랜잭션 리스트부 300: P2P 네트워크 모듈
310: 시드 노드부 311: 시드 노드
320: 화이트 리스트부 321: 화이트 노드
330: 그레이 리스트부 331: 그레이 노드
340: 새로운 노드 400: 블록체인 네트워크 모듈
500: 코드 최적화 모듈
10: Flexible Blockchain Framework Implementation System
100: transaction module 200: block module
210: block header portion 220: base transaction portion
230: transaction list unit 300: P2P network module
310: seed node portion 311: seed node
320: white list unit 321: white node
330: gray list unit 331: gray node
340: new node 400: blockchain network module
500: code optimization module

Claims (10)

가상화폐의 트랜잭션(Transaction) 구조로 형성되며, 가상화폐와 관련된 정보를 저장해 두는 트랜잭션 모듈;
가상화폐의 위조 또는 변조를 판독하고, 가상화폐 채굴에 대한 보상을 받을 사용자를 식별하며, 상기 트랜잭션 모듈의 트랜잭션 구조를 통해 형성된 블록(Block)에 포함된 트랜잭션들의 트랜잭션 아이디(TxHash)를 리스트 형태로 저장해 두는 블록 모듈;
블록체인 네트워크를 분리해낼 수 있도록 블록체인 네트워크에 참여하는 시드 노드(Seed Node)의 주소값 설정을 변경하는 P2P(Peer to Peer) 네트워크 모듈;
상기 P2P 네트워크 모듈을 구성하는 각 노드들을 외부의 노드 또는 프로세스와 동기화 시키거나, 합의 알고리즘(Consensus Algorithm)을 통해 블록 생성을 진행시키는 블록체인 네트워크 모듈; 및
가상화폐의 소스코드의 수정이 가능하도록 상기 소스코드에 흩어져 있던 블록체인의 인자값(Blockchain Property)들을 하나의 설정파일(Config File)에 모으는 코드 최적화 모듈을 포함하는, 플렉서블 블록체인 프레임워크 구현 시스템.
A transaction module formed of a transaction structure of a virtual currency and storing information related to the virtual currency;
Read forgery or tampering of cryptocurrency, identify users to be compensated for cryptocurrency mining, and list the transaction IDs (TxHash) of the transactions included in the block formed through the transaction structure of the transaction module in the form of a list. A block module for storing;
A peer to peer (P2P) network module for changing an address value setting of a seed node participating in the blockchain network so as to separate the blockchain network;
A blockchain network module for synchronizing each node constituting the P2P network module with an external node or a process or performing block generation through a consensus algorithm; And
Flexible blockchain framework implementation system, including a code optimization module that collects blockchain properties scattered in the source code into a single config file so that the source code of a virtual currency can be modified .
제1항에 있어서, 상기 P2P 네트워크 모듈은,
블록체인 네트워크의 첫 번째 노드로서, 새로운 노드가 블록체인 네트워크에 처음 연결되는 경우 현재 블록체인 네트워크에 참여하고 있는 화이트 노드(White Node)들의 리스트인 화이트 리스트 정보를 전달받아 블록체인 네트워크에 참여하고 있는 모든 화이트 노드들에 연결되는 시드 노드들의 집합으로 구성되는 시드 노드부;
현재 블록체인 네트워크에 P2P(Peer to Peer) 연결되어 참여하고 있는 화이트 노드들의 집합으로 구성되며, 새로운 노드가 연결되는 경우 상기 화이트 노드들로 구성되는 화이트 리스트 정보를 생성시켜 상기 시드 노드부로 전달하는 화이트 리스트부; 및
블록체인 네트워크에 참여하였지만 현재는 연결이 종료된 노드인 그레이 노드(Gray Node)들의 집합으로 구성되는 그레이 리스트부를 포함하는, 플렉서블 블록체인 프레임워크 구현 시스템.
The method of claim 1, wherein the P2P network module,
As the first node of the blockchain network, when a new node is connected to the blockchain network for the first time, it receives white list information, which is a list of white nodes participating in the blockchain network, and participates in the blockchain network. A seed node unit comprising a set of seed nodes connected to all white nodes;
It is composed of a set of white nodes participating in a peer-to-peer (P2P) connection to the current blockchain network. A list unit; And
A flexible blockchain framework implementation system comprising a gray list portion consisting of a set of gray nodes, which are nodes that have participated in the blockchain network but are currently disconnected.
제2항에 있어서, 상기 그레이 노드는,
종료 당시의 블록체인 네트워크에 참여하고 있던 화이트 노드들의 화이트 리스트 정보를 포함하는, 플렉서블 블록체인 프레임워크 구현 시스템.
The method of claim 2, wherein the gray node,
A flexible blockchain framework implementation system comprising white list information of white nodes participating in the blockchain network at the time of termination.
제2항에 있어서, 상기 P2P 네트워크 모듈은,
새로운 노드가 블록체인 네트워크에 참여하고자 할 경우, 상기 시드 노드에 연결되며, 상기 화이트 리스트부로부터 화이트 리스트 정보를 전달받는 제1 동작, 상기 새로운 노드가 상기 화이트 리스트부에 새로운 화이트 노드로서 추가되는 제2 동작 및 새롭게 화이트 노드가 된 노드를 포함한 모든 화이트 노드들과 상기 시드 노드가 연결되는 제3 동작을 수행하는, 플렉서블 블록체인 프레임워크 구현 시스템.
The method of claim 2, wherein the P2P network module,
When a new node wants to participate in the blockchain network, the first operation is connected to the seed node and receives white list information from the white list unit, and the new node is added as a new white node to the white list unit. And a second operation of connecting the seed node with all white nodes including the second operation and the newly white node.
제1항에 있어서, 상기 코드 최적화 모듈은,
블록체인 네트워크를 구성하기 위한 스타트 킷(Start Kit)의 역할을 할 수 있도록 소스코드를 블록체인 코어 소스(Blockchain Core Source)만으로 구성되도록 하고, 사용자의 필요에 따라 기능을 추가하는, 플렉서블 블록체인 프레임워크 구현 시스템.
The method of claim 1, wherein the code optimization module,
Flexible blockchain frame, which allows the source code to be composed only of Blockchain Core Source, and adds functions according to the user's needs so that it can serve as a start kit for configuring a blockchain network. Work implement system.
제1항에 있어서, 상기 블록 모듈은,
버전(Version)정보, 타임스탬프(Timestamp), 이전 블록의 해시값 및 작업증명을 위한 논스(Nonce)로 구성되어 가상화폐의 위조 또는 변조를 판독하는 블록 헤더부;
해당 블록에서 생성된 최초 트랜잭션인 블록 생성 트랜잭션 정보를 저장하며, 저장된 블록 생성 트랜잭션 정보를 이용하여 가상화폐 채굴에 대한 보상을 받을 사용자를 식별하는 베이스 트랜잭션부; 및
해당 블록에 포함된 트랜잭션들의 트랜잭션 아이디(TxHash)를 리스트 형태로 저장해 두는 트랜잭션 리스트부를 포함하는, 플렉서블 블록체인 프레임워크 구현 시스템.
The method of claim 1, wherein the block module,
A block header portion configured to read version information, a timestamp, a hash value of a previous block, and a nonce for proof of work to read forgery or modulation of a virtual currency;
A base transaction unit for storing block generation transaction information which is the first transaction generated in the corresponding block, and identifying a user to be compensated for mining cryptocurrency using the stored block generation transaction information; And
Flexible block chain framework implementation system including a transaction list unit for storing the transaction ID (TxHash) of the transactions included in the block in the form of a list.
제1항에 있어서, 상기 블록체인 네트워크 모듈은,
원격 절차 호출 서버(Remote Procedure Call Server, RPC 서버)를 이용하여 외부 노드 및 프로세스와 통신하는 경우, 가상화폐의 JSON_API 오픈 소스를 이용하여 구현되며, 외부 노드와 프로세스 간의 통신 시 요청 측에서 JSON 방식으로 작성된 시그널과 메소드 실행 요청을 전달하고, 전달된 시그널과 실행 요청에 따른 스테이트(State)값 또는 JSON 결과를 반환하는, 플렉서블 블록체인 프레임워크 구현 시스템.
The method of claim 1, wherein the blockchain network module,
When communicating with external nodes and processes using a remote procedure call server (RPC server), it is implemented using the JSON_API open source of cryptocurrency. A flexible blockchain framework implementation system that delivers a written signal and method execution request, and returns a state value or JSON result according to the signal and the execution request.
제1항에 있어서, 상기 블록체인 네트워크 모듈은,
임의의 논스값을 해시함수에 대입하여 채굴 난이도에 따른 숫자보다 작은 블록 해시값인지를 확인하여, 채굴 난이도 조건을 만족하는 논스가 확인되면 블록을 생성한 뒤 채굴에 대한 보상을 받고, 채굴 난이도 조건을 만족하지 못하면 또 다른 임의의 논스값을 해시함수에 차례로 대입하면서 채굴 난이도 조건을 만족하는 블록 해시값을 찾도록 구현되는 작업증명(Proof-Of-Work, POW)의 합의 알고리즘을 사용하는, 플렉서블 블록체인 프레임워크 구현 시스템.
The method of claim 1, wherein the blockchain network module,
By assigning a random nonce value to the hash function, it is checked whether the block hash value is smaller than the number according to the difficulty level.If the nonce that satisfies the difficulty level is confirmed, the block is generated and the reward is obtained for the mining difficulty. If it is not satisfied, flexible using consensus algorithm of Proof-Of-Work (POW), which is implemented to find a block hash value that satisfies mining difficulty conditions while assigning another random nons value to the hash function. Blockchain framework implementation system.
새로운 노드가 블록체인 네트워크에 참여하고자 할 경우 시드 노드부를 구성하는 시드 노드(Seed Node)에 연결되는 단계;
현재 블록체인 네트워크에 참여하고 있는 화이트 노드(White Node)들의 리스트인 화이트 리스트 정보를 상기 화이트 노드들의 집합으로 구성되는 화이트 리스트부로부터 상기 시드 노드부로 전달하는 단계;
상기 새로운 노드가 상기 화이트 리스트부에 새로운 화이트 노드로서 추가되는 단계; 및
새롭게 화이트 노드가 된 노드를 포함한 모든 화이트 노드들과 상기 시드 노드가 연결되는 단계를 포함하는, 플렉서블 블록체인 프레임워크 구현 시스템의 P2P 네트워크 설계 방법.
Connecting to a seed node constituting the seed node unit when a new node intends to participate in the blockchain network;
Transferring white list information, which is a list of white nodes currently participating in the blockchain network, from the white list unit consisting of the set of white nodes to the seed node unit;
Adding the new node as a new white node to the white list portion; And
A method of designing a peer-to-peer network of a flexible blockchain framework implementation system, comprising: connecting all the white nodes including the newly white node and the seed node.
제9항에 따른 플렉서블 블록체인 프레임워크 구현 시스템의 P2P 네트워크 설계 방법을 수행하기 위한, 컴퓨터 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체.

A computer-readable recording medium having a computer program recorded thereon for performing a P2P network design method of a flexible blockchain framework implementing system according to claim 9.

KR1020180084923A 2018-07-20 2018-07-20 Implementing system of flexible blockchain framework and p2p network constructing method thereof, recording medium for performing the method KR102041720B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180084923A KR102041720B1 (en) 2018-07-20 2018-07-20 Implementing system of flexible blockchain framework and p2p network constructing method thereof, recording medium for performing the method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180084923A KR102041720B1 (en) 2018-07-20 2018-07-20 Implementing system of flexible blockchain framework and p2p network constructing method thereof, recording medium for performing the method

Publications (1)

Publication Number Publication Date
KR102041720B1 true KR102041720B1 (en) 2019-11-06

Family

ID=68541729

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180084923A KR102041720B1 (en) 2018-07-20 2018-07-20 Implementing system of flexible blockchain framework and p2p network constructing method thereof, recording medium for performing the method

Country Status (1)

Country Link
KR (1) KR102041720B1 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110798535A (en) * 2019-11-12 2020-02-14 金蝶软件(中国)有限公司 Method for realizing P2P communication in block chain, block chain application system and related equipment
CN111698244A (en) * 2020-06-08 2020-09-22 杭州溪塔科技有限公司 Method and device for rapidly participating in consensus of newly added nodes and electronic equipment
KR102204428B1 (en) * 2019-12-11 2021-01-18 다이브 주식회사 Blockchain system for personal information management
CN112860786A (en) * 2019-11-27 2021-05-28 阿里健康信息技术有限公司 Data processing method and device, computing node and storage medium
CN111651977B (en) * 2020-05-26 2021-07-06 中南民族大学 Language-independent legal contract and intelligent contract consistency measuring method
KR20220058270A (en) * 2020-10-30 2022-05-09 주식회사 블록오디세이 Method of providing platform for mobile blockchain network, Mobile device and Recording medium

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101673073B1 (en) 2015-02-25 2016-11-04 이진희 Dealing method of Crypto-currency base on Blockchain System
KR101781583B1 (en) * 2016-08-31 2017-09-27 서강대학교산학협력단 File management and search system based on block chain and file management and search method
CN107231239A (en) * 2017-06-27 2017-10-03 中国联合网络通信集团有限公司 Create generation block method for anti-counterfeit and device
WO2017200483A1 (en) * 2016-05-19 2017-11-23 Cheong, Siah Chong Applied cryptographic ip management method and system
KR20170137388A (en) * 2016-06-03 2017-12-13 (주) 블록체인오에스 A method for ensuring integrity by using a blockchain technology
KR20180014534A (en) * 2016-08-01 2018-02-09 서강대학교산학협력단 Verification system and method for transaction based block chain
KR20180075450A (en) 2018-06-15 2018-07-04 정기영 Peer to peer transmission based data marketplace with cryptocurrency payment, building method of the same

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101673073B1 (en) 2015-02-25 2016-11-04 이진희 Dealing method of Crypto-currency base on Blockchain System
WO2017200483A1 (en) * 2016-05-19 2017-11-23 Cheong, Siah Chong Applied cryptographic ip management method and system
KR20170137388A (en) * 2016-06-03 2017-12-13 (주) 블록체인오에스 A method for ensuring integrity by using a blockchain technology
KR20180014534A (en) * 2016-08-01 2018-02-09 서강대학교산학협력단 Verification system and method for transaction based block chain
KR101781583B1 (en) * 2016-08-31 2017-09-27 서강대학교산학협력단 File management and search system based on block chain and file management and search method
CN107231239A (en) * 2017-06-27 2017-10-03 中国联合网络通信集团有限公司 Create generation block method for anti-counterfeit and device
KR20180075450A (en) 2018-06-15 2018-07-04 정기영 Peer to peer transmission based data marketplace with cryptocurrency payment, building method of the same

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110798535A (en) * 2019-11-12 2020-02-14 金蝶软件(中国)有限公司 Method for realizing P2P communication in block chain, block chain application system and related equipment
CN112860786A (en) * 2019-11-27 2021-05-28 阿里健康信息技术有限公司 Data processing method and device, computing node and storage medium
KR102204428B1 (en) * 2019-12-11 2021-01-18 다이브 주식회사 Blockchain system for personal information management
CN111651977B (en) * 2020-05-26 2021-07-06 中南民族大学 Language-independent legal contract and intelligent contract consistency measuring method
CN111698244A (en) * 2020-06-08 2020-09-22 杭州溪塔科技有限公司 Method and device for rapidly participating in consensus of newly added nodes and electronic equipment
CN111698244B (en) * 2020-06-08 2022-05-10 杭州溪塔科技有限公司 Method and device for rapidly participating in consensus of newly added nodes and electronic equipment
KR20220058270A (en) * 2020-10-30 2022-05-09 주식회사 블록오디세이 Method of providing platform for mobile blockchain network, Mobile device and Recording medium
KR102431379B1 (en) * 2020-10-30 2022-08-10 주식회사 블록오디세이 Method of providing platform for mobile blockchain network, Mobile device and Recording medium

Similar Documents

Publication Publication Date Title
KR102041720B1 (en) Implementing system of flexible blockchain framework and p2p network constructing method thereof, recording medium for performing the method
US20190172026A1 (en) Cross blockchain secure transactions
CN113438289B (en) Block chain data processing method and device based on cloud computing
CN109327528B (en) Node management method and device based on block chain
CN110443704B (en) Method and device for sending resources in cross-link mode
Pustišek et al. Approaches to front-end IoT application development for the ethereum blockchain
ES2932500T3 (en) Select and secure test delegates for cryptographic functions
US20220237600A1 (en) Blockchain-based resource transfer method, apparatus, node device, and storage medium
CN109003185B (en) Intelligent contract establishing method and device, computing equipment and storage medium
CN111541552B (en) Block chain all-in-one machine and automatic node adding method and device thereof
Panda et al. Bitcoin and blockchain: History and current applications
CN111262866B (en) Cloud service access method, device, equipment and medium
WO2020112029A1 (en) System and method for facilitating participation in a blockchain environment
JP2023542681A (en) Integrating device identity into blockchain permission frameworks
WO2019142884A1 (en) Block verification device, block verification method and program
KR20200063595A (en) IoT DATA INTERMEDIATING METHOD USING THE BLOCKCHAIN AND INTERMEDIATING SERVER THEREFOR
US20220121466A1 (en) System and method for facilitating participation in a blockchain environment
Kumar et al. Front-End IoT application for the bitcoin based on proof of elapsed time (PoET)
TW202139127A (en) Compute services for a platform of services associated with a blockchain
Creer et al. Proving Ethereum for the clearing use case
KR20190068886A (en) Blockchain based Method and system for supporting open source software license compliance
CN117882416A (en) Blockchain key generation
CN116028982A (en) Processing method, device and system based on non-homogeneous general evidence
Mulár Blockchain technology in the enterprise environment
CN112041834A (en) System and method for data exchange using distributed ledger

Legal Events

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