KR102315226B1 - Block chain system based on consensus algorithm of proof-of-rule and method thereof - Google Patents

Block chain system based on consensus algorithm of proof-of-rule and method thereof Download PDF

Info

Publication number
KR102315226B1
KR102315226B1 KR1020200031791A KR20200031791A KR102315226B1 KR 102315226 B1 KR102315226 B1 KR 102315226B1 KR 1020200031791 A KR1020200031791 A KR 1020200031791A KR 20200031791 A KR20200031791 A KR 20200031791A KR 102315226 B1 KR102315226 B1 KR 102315226B1
Authority
KR
South Korea
Prior art keywords
transaction
decision maker
block
nodes
round
Prior art date
Application number
KR1020200031791A
Other languages
Korean (ko)
Other versions
KR20210115675A (en
Inventor
이정우
Original Assignee
이정우
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 이정우 filed Critical 이정우
Priority to KR1020200031791A priority Critical patent/KR102315226B1/en
Publication of KR20210115675A publication Critical patent/KR20210115675A/en
Application granted granted Critical
Publication of KR102315226B1 publication Critical patent/KR102315226B1/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/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • H04L67/1093Some peer nodes performing special functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • H04L67/2847
    • H04L67/2852
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5681Pre-fetching or pre-delivering data based on network characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • H04L2209/38

Abstract

규칙 증명 방식의 합의 알고리즘 기반 블록체인 시스템 및 그 방법이 제공된다. 본 발명의 실시예에 따른 규칙 증명 방식의 합의 알고리즘 기반 블록체인 시스템은 상호간에 통신을 수행하고, 사용자 노드와 통신을 수행하는 복수의 결정자 노드를 포함하는 블록체인 시스템으로서, 복수의 결정자 노드 각각은 사용자 노드에 의해 발행된 트랜잭션을 처리하고 처리된 트랜잭션을 일정 시간 단위로 청크(chunk)로 묶어 합의를 위한 해당 라운딩을 수행하고, 라운드 동기화된 다른 결정자 노드로부터 해당 라운드에 대응하는 청크를 요청하여 수신하고, 수신된 청크와 자신의 청크에 포함된 트랜잭션을 각 트랜잭션에 포함된 표준 타임스탬프를 기초로 재배열하여 가설을 생성하고, 각 트랜잭션의 해시를 연산하여 자신이 연산한 해시 정보와 해당 트랜잭션의 해시 정보가 일치하면, 가설을 해당 라운드의 블록으로 사전 확정하며, 블록의 상태를 변경하고 사전 확정된 블록을 저장한다.A blockchain system based on a consensus algorithm of a proof-of-rule method and a method thereof are provided. A block chain system based on a consensus algorithm of a rule proof method according to an embodiment of the present invention is a block chain system including a plurality of determinant nodes that communicate with each other and communicate with a user node, and each of the plurality of determinant nodes is Processes the transaction issued by the user node, bundles the processed transaction into chunks for a certain time unit, performs the corresponding round for consensus, and requests and receives the chunk corresponding to the round from other round-synchronized decision maker nodes , generates a hypothesis by rearranging the received chunk and the transactions included in the own chunk based on the standard timestamp included in each transaction, and computes the hash of each transaction to obtain the hash information calculated by the transaction and the If the hash information matches, the hypothesis is pre-confirmed as the block of the corresponding round, the state of the block is changed, and the pre-confirmed block is stored.

Description

규칙 증명 방식의 합의 알고리즘 기반 블록체인 시스템 및 그 방법{Block chain system based on consensus algorithm of proof-of-rule and method thereof} A block chain system based on consensus algorithm of proof-of-rule and method thereof

본 발명은 규칙 증명 방식의 합의 알고리즘 기반 블록체인 시스템 및 그 방법에 관한 것이다. The present invention relates to a blockchain system based on a consensus algorithm of a rule proof method and a method therefor.

일반적으로 블록체인은 네트워크 기록 등을 위변조 불가능한 블록 형태로 저장하는 데이터 전송/보관 기술이다. 이러한 블록체인 시스템은 모든 정보가 무작위의 네트워크 참여자에 의해 검증되며, 데이터 또한 분산된 다수의 노드가 주기적으로 동기화하며 보관하므로 데이터의 위변조와 파괴로부터 안전하다. In general, blockchain is a data transmission/storage technology that stores network records, etc. in the form of blocks that cannot be forged or tampered with. In this blockchain system, all information is verified by random network participants, and data is also periodically synchronized and stored by a number of distributed nodes, so it is safe from forgery and destruction of data.

그러나 블록체인 시스템에 대부분 이용되는 작업 증명(PoW; proof-of-work) 방식은 느리고, 연산 능력(computing power)을 너무 많이 사용한다. 따라서 네트워크에 참여하는 노드의 수가 많을수록 블록을 확정하여 저장하는데 장시간이 소요된다. However, the proof-of-work (PoW) method, which is mostly used in blockchain systems, is slow and uses too much computing power. Therefore, the greater the number of nodes participating in the network, the longer it takes to confirm and store the block.

KRUS 2019-00924832019-0092483 AA

상기와 같은 종래 기술의 문제점을 해결하기 위해, 본 발명의 일 실시예는 블록에 대한 합의를 단순한 과정에 의해 신속하게 확정할 수 있는 규칙 증명 방식의 합의 알고리즘 기반 블록체인 시스템 및 그 방법을 제공하고자 한다.In order to solve the problems of the prior art as described above, an embodiment of the present invention is to provide a block chain system based on a consensus algorithm of a rule proof method that can quickly confirm a block agreement by a simple process and a method thereof do.

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

위와 같은 과제를 해결하기 위한 본 발명의 일 측면에 따르면, 상호간에 통신을 수행하고, 사용자 노드와 통신을 수행하는 복수의 결정자 노드를 포함하는 블록체인 시스템으로서, 상기 복수의 결정자 노드 각각은, 사용자 노드에 의해 발행된 트랜잭션을 처리하고 처리된 트랜잭션을 일정 시간 단위로 청크(chunk)로 묶어 합의를 위한 해당 라운딩을 수행하고, 라운드 동기화된 다른 결정자 노드로부터 해당 라운드에 대응하는 청크를 요청하여 수신하고, 상기 수신된 청크와 자신의 청크에 포함된 트랜잭션을 각 트랜잭션에 포함된 표준 타임스탬프를 기초로 재배열하여 가설을 생성하고, 각 트랜잭션의 해시를 연산하여 자신이 연산한 해시 정보와 해당 트랜잭션의 해시 정보가 일치하면, 상기 가설을 해당 라운드의 블록으로 사전 확정하며, 블록의 상태를 변경하고 사전 확정된 블록을 저장하는 규칙 증명 방식의 합의 알고리즘 기반 블록체인 시스템이 제공된다. According to one aspect of the present invention for solving the above problems, as a block chain system including a plurality of decision-making nodes that communicate with each other and communicate with a user node, each of the plurality of decision-maker nodes is a user It processes the transaction issued by the node, bundles the processed transaction into chunks for a certain time unit, performs the corresponding round for consensus, and requests and receives the chunk corresponding to the round from other decision maker nodes that are round-synchronized. , generate a hypothesis by rearranging the received chunk and the transaction included in its own chunk based on the standard timestamp included in each transaction, and calculating the hash of each transaction to obtain the hash information calculated by the transaction and the corresponding transaction. If the hash information matches, the hypothesis is pre-confirmed as the block of the corresponding round, the state of the block is changed, and the consensus algorithm-based block chain system of the rule proof method is provided to store the pre-confirmed block.

일 실시예에서, 상기 복수의 결정자 노드 각각은 상기 다른 결정자 노드로 최신 라운드 정보를 요청하고, 상기 복수의 결정자 노드 중 가장 앞선 라운드 상태인 결정자 노드의 블록으로 동기화할 수 있다.In an embodiment, each of the plurality of decision maker nodes may request the latest round information from the other decision maker node, and may synchronize with the block of the decision maker node in the most advanced round state among the plurality of decision maker nodes.

일 실시예에서, 상기 복수의 결정자 노드 각각은 자신의 라운드 보다 앞선 라운드 상태인 결정자 노드가 없는 경우, 상기 합의를 위한 라운드를 진행할 수 있다.In an embodiment, each of the plurality of decision maker nodes may proceed with the round for consensus when there is no decision maker node in a round state prior to its own round.

일 실시예에서, 상기 복수의 결정자 노드 각각은 해당 트랜잭션에 대한 연산된 해시와 해당 트랜잭션에 포함된 해시가 일치하지 않으면, 해당 트랜잭션의 결정자 노드를 차단할 수 있다.In one embodiment, each of the plurality of decision maker nodes may block the decision maker node of the corresponding transaction if the hash calculated for the transaction and the hash included in the transaction do not match.

일 실시예에서, 상기 트랜잭션은 유형, 타임스탬프 및 계약 정보를 포함할 수 있다.In one embodiment, the transaction may include type, timestamp and contract information.

일 실시예에서, 상기 계약 정보는 트랜잭션의 구조 검사, 트랜잭션의 유효성 검사, 블록의 상태 설정, 수락 결정을 수행하는 함수로 정의된 코드를 포함할 수 있다.In an embodiment, the contract information may include code defined as a function for checking the structure of a transaction, checking the validity of a transaction, setting a state of a block, and determining an acceptance.

본 발명의 다른 측면에 따르면, 상호간에 통신을 수행하고, 사용자 노드와 통신을 수행하는 복수의 결정자 노드를 포함하는 블록체인 시스템의 합의 방법으로서, 사용자 노드에 의해 발행된 트랜잭션을 처리하고 처리된 트랜잭션을 일정 시간 단위로 청크(chunk)로 묶어 합의를 위한 해당 라운딩을 수행하는 단계; 라운드 동기화된 다른 결정자 노드로부터 해당 라운드에 대응하는 청크를 요청하여 수신하는 단계; 상기 수신된 청크와 자신의 청크에 포함된 트랜잭션을 각 트랜잭션에 포함된 표준 타임스탬프를 기초로 재배열하여 가설을 생성하고, 각 트랜잭션의 해시를 연산하여 자신이 연산한 해시 정보와 해당 트랜잭션의 해시 정보가 일치하면, 상기 가설을 해당 라운드의 블록으로 사전 확정하는 단계; 및 블록의 상태를 변경하고 사전 확정된 블록을 저장하는 단계;를 포함하는 블록체인 시스템의 규칙 증명 방식의 합의 방법이 제공된다. According to another aspect of the present invention, as a consensus method of a blockchain system including a plurality of decision maker nodes that communicate with each other and communicate with a user node, a transaction issued by a user node is processed and the transaction processed performing a corresponding rounding for consensus by tying them into chunks in a predetermined time unit; requesting and receiving a chunk corresponding to the round from another decision maker node synchronized with the round; A hypothesis is generated by rearranging the received chunk and the transactions included in its own chunk based on the standard timestamp included in each transaction, and calculating the hash of each transaction to obtain the hash information calculated by itself and the hash of the transaction if the information matches, pre-confirming the hypothesis as a block of the corresponding round; and changing the state of the block and storing the pre-confirmed block; is provided a consensus method of the rule proof method of the block chain system, including.

일 실시예에서, 상기 블록체인 시스템의 규칙 증명 방식의 합의 방법은 상기 다른 결정자 노드로 최신 라운드 정보를 요청하고, 상기 복수의 결정자 노드 중 가장 앞선 라운드 상태인 결정자 노드의 블록으로 동기화하는 단계를 더 포함할 수 있다. In one embodiment, the consensus method of the rule proof method of the block chain system further includes the steps of requesting the latest round information from the other decision maker node, and synchronizing with the block of the decision maker node in the most advanced round state among the plurality of decision maker nodes. may include

일 실시예에서, 상기 동기화하는 단계는 자신의 라운드 보다 앞선 라운드 상태인 결정자 노드가 없는 경우, 상기 합의를 위한 라운드를 진행할 수 있다.In an embodiment, in the step of synchronizing, when there is no decision maker node in a round state prior to its own round, the round for consensus may be performed.

일 실시예에서, 상기 확정하는 단계는 해당 트랜잭션에 대한 연산된 해시와 해당 트랜잭션에 포함된 해시가 일치하지 않으면, 해당 트랜잭션의 결정자 노드를 차단할 수 있다.In an embodiment, the determining may block the decision maker node of the transaction if the hash calculated for the transaction and the hash included in the transaction do not match.

일 실시예에서, 상기 트랜잭션은 유형, 타임스탬프 및 계약 정보를 포함할 수 있다.In one embodiment, the transaction may include type, timestamp and contract information.

일 실시예에서, 상기 계약 정보는 트랜잭션의 구조 검사, 트랜잭션의 유효성 검사, 블록의 상태 설정, 수락 결정을 수행하는 함수로 정의된 코드를 포함할 수 있다.In an embodiment, the contract information may include code defined as a function for checking the structure of a transaction, checking the validity of a transaction, setting a state of a block, and determining an acceptance.

본 발명의 일 실시예에 따른 규칙 증명 방식의 합의 알고리즘 기반 블록체인 시스템 및 그 방법은 모든 결정자 노드에서 생성된 트랜잭션을 각 결정자 노드별로 풀링하여 표준 타임스탬프에 따라 재배열하고 해시를 연산하여 원본 트랜잭션의 해시와 비교하여 블록을 확정함으로써, 합의를 단순한 과정에 의해 신속하게 확정할 수 있으므로 시스템의 안정성은 물론 신속성을 보장할 수 있다. In accordance with an embodiment of the present invention, a block chain system based on a consensus algorithm of a rule proof method and a method thereof pools the transactions generated in all the decision nodes for each decision node, rearranges them according to a standard timestamp, and calculates a hash to generate the original transaction By confirming the block by comparing it with the hash of

도 1은 본 발명의 일 실시예에 따른 규칙 증명 방식의 합의 알고리즘 기반 블록체인 시스템의 개략적 구성도,
도 2는 본 발명의 일 실시예에 따른 규칙 증명 방식의 합의 알고리즘 기반 블록체인 시스템의 데이터 구조를 나타낸 도면,
도 3은 본 발명의 일 실시예에 따른 규칙 증명 방식의 합의 알고리즘 기반 블록체인 시스템의 트랜잭션 구조를 나타낸 도면,
도 4는 본 발명의 일 실시예에 따른 규칙 증명 방식의 합의 알고리즘 기반 블록체인 시스템의 스마트 계약의 구조 및 처리 순서를 나타낸 도면,
도 5는 본 발명의 일 실시예에 따른 규칙 증명 방식의 합의 알고리즘 기반 블록체인 시스템에서 저장되는 블록데이터의 구조를 나타낸 도면,
도 6은 본 발명의 일 실시예에 따른 규칙 증명 방식의 합의 방법을 나타낸 순서도,
도 7은 본 발명의 일 실시예에 따른 규칙 증명 방식의 합의 방법에서 라운드 동기화를 설명하기 위한 도면,
도 8은 본 발명의 일 실시예에 따른 규칙 증명 방식의 합의 방법에서 프리-커밋을 설명하기 위한 도면, 그리고,
도 9는 본 발명의 일 실시예에 따른 규칙 증명 방식의 합의 방법에서 특정 노드의 차단을 설명하기 위한 도면이다.
1 is a schematic configuration diagram of a block chain system based on a consensus algorithm of a rule proof method according to an embodiment of the present invention;
2 is a diagram showing a data structure of a block chain system based on a consensus algorithm of a rule proof method according to an embodiment of the present invention;
3 is a view showing a transaction structure of a block chain system based on a consensus algorithm of a rule proof method according to an embodiment of the present invention;
4 is a diagram showing the structure and processing sequence of a smart contract of a block chain system based on a consensus algorithm of a rule proof method according to an embodiment of the present invention;
5 is a diagram showing the structure of block data stored in a block chain system based on a consensus algorithm of a rule proof method according to an embodiment of the present invention;
6 is a flowchart illustrating a method of consensus of a rule proof method according to an embodiment of the present invention;
7 is a diagram for explaining round synchronization in a method of agreement of a rule proof method according to an embodiment of the present invention;
8 is a diagram for explaining a pre-commit in a method of agreement of a rule proof method according to an embodiment of the present invention;
FIG. 9 is a diagram for explaining blocking of a specific node in a method for agreeing a rule proof method according to an embodiment of the present invention.

이하, 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 동일 또는 유사한 구성요소에 대해서는 동일한 참조부호를 붙였다.Hereinafter, with reference to the accompanying drawings, the embodiments of the present invention will be described in detail so that those of ordinary skill in the art to which the present invention pertains can easily implement them. The present invention may be embodied in many different forms and is not limited to the embodiments described herein. In order to clearly explain the present invention in the drawings, parts irrelevant to the description are omitted, and the same reference numerals are assigned to the same or similar components throughout the specification.

본 발명의 실시예들은 당해 기술 분야에서 통상의 지식을 가진 자에게 본 발명을 더욱 완전하게 설명하기 위해 제공되는 것이며, 아래에 설명되는 실시예들은 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 아래의 실시예들로 한정되는 것은 아니다. 오히려, 이들 실시예는 본 발명을 더욱 충실하고 완전하게 하며 당업자에게 본 발명의 사상을 완전하게 전달하기 위하여 제공되는 것이다.The embodiments of the present invention are provided to more completely explain the present invention to those of ordinary skill in the art, and the embodiments described below may be modified in various other forms, The scope is not limited to the following examples. Rather, these examples are provided so as to more fully and complete the present invention, and to fully convey the spirit of the present invention to those skilled in the art.

도 1은 본 발명의 일 실시예에 따른 규칙 증명 방식의 합의 알고리즘 기반 블록체인 시스템의 개략적 구성도이다. 1 is a schematic configuration diagram of a block chain system based on a consensus algorithm of a rule proof method according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 일 실시예에 따른 규칙 증명 방식의 합의 알고리즘 기반 블록체인 시스템(10)은 복수의 결정자 노드(V1~V5)를 포함한다. Referring to FIG. 1 , a block chain system 10 based on a consensus algorithm of a rule proof method according to an embodiment of the present invention includes a plurality of determinant nodes V1 to V5.

본 발명의 일 실시예에 따른 블록체인 시스템(10)은 스마트 계약(smart contract)을 이용한 규칙 증명 방식(PoR; Proof-of-Rule)의 합의(consensus) 알고리즘을 기반으로 한다. 본 명세서에서 제안하는 합의 알고리즘은 HAP(Hypothesis Acceptance Protocol)(가설 수락 프로토콜)라고 명명된다. 또한, HAP 알고리즘을 기반으로 한 블록체인 엔진(Blockchain Engine)은 SASEUL이라고 명명된다. The blockchain system 10 according to an embodiment of the present invention is based on a consensus algorithm of a Proof-of-Rule (PoR) using a smart contract. The consensus algorithm proposed in this specification is named HAP (Hypothesis Acceptance Protocol). In addition, the Blockchain Engine based on the HAP algorithm is named SASEUL.

여기서, 블록체인 시스템(10)은 단순한 화폐 시스템 또는 플랫폼으로 사용하는 것이 아니라 다양한 인프라로 사용될 수 있다. 즉, 합의 알고리즘 기반 블록체인 시스템(10)에 접속되는 사용자 노드(L11~L52)에 의해 발행되는 트랜잭션(Tr)은 송금 등과 같은 거래 정보에 한정되지 않는다. 일례로, 트랜잭션(Tr)은 공유 기록 정보일 수 있다. 이때, 트랜잭션(Tr)은 후술하는 바와 같은 스마트 계약에 의해 정의될 수 있다. Here, the block chain system 10 may be used as a variety of infrastructure, not as a simple monetary system or platform. That is, the transaction Tr issued by the user nodes L11 to L52 connected to the consensus algorithm-based blockchain system 10 is not limited to transaction information such as remittance. For example, the transaction Tr may be shared record information. In this case, the transaction Tr may be defined by a smart contract as described below.

또한, 규칙 증명 방식의 합의 알고리즘 기반 블록체인 시스템(10)은 사설 네트워크 및 공중 네트워크를 형성할 수 있다. 여기서, 공중 네트워크는 네트워크 자체의 공개된 규칙을 기반으로 누구나 결정자 노드(Validator Node)(V1~V5)를 생성할 수 있는 구조의 네트워크일 수 있다. 처음으로 네트워크를 생성하는 결정자 노드가 네트워크의 규칙을 설정할 수 있다. 설정된 규칙은 모든 결정자 노드(V1~V5) 및 사용자 노드(L11~L52)에게 공유될 수 있다.In addition, the blockchain system 10 based on the consensus algorithm of the rule proof method can form a private network and a public network. Here, the public network may be a network having a structure in which anyone can create validator nodes (V1 to V5) based on the public rules of the network itself. The decision maker node that creates the network for the first time can set the rules of the network. The set rule may be shared by all decision maker nodes V1 to V5 and user nodes L11 to L52.

사설 네트워크는 서비스 운영자가 결정하는 규칙을 기반으로 결정자 노드(V1~V5)를 생성할 수 있는 구조의 네트워크이다. 서비스 운영자가 모든 결정자 노드(V1~V5)를 소유할 수도 있으며, 일부를 일반 유저에게 참여할 수 있도록 전환할 수도 있다.The private network is a network with a structure in which decision-making nodes (V1 to V5) can be created based on the rules determined by the service operator. A service operator may own all decision maker nodes (V1~V5), and some may be converted to participate in general users.

이때, 공중 네트워크의 경우, 최초로 네트워크를 개설하고 제네시스 블록(genesis block)을 커밋(commit)한 노드가 결정자 노드(V1~V5)가 된다. 사설 네트워크의 경우, 네트워크 관리자(서비스 운영 주체)가 지정하는 노드가 결정자 노드(V1~V5)가 된다. At this time, in the case of a public network, the node that first establishes the network and commits the genesis block becomes the determinant nodes V1 to V5. In the case of a private network, the node designated by the network manager (service operating subject) becomes the decision maker node (V1 to V5).

여기서, HAP의 처리에 필요한 계약 및 상태는 시스템 계약 및 시스템 상태로 정의하며, 시스템 계약은 네트워크 생성(제네시스, Genesis), 코드 등록(RegisterCode), 코드 수정(ModifyCode)으로 이루어진다. 또한, 시스템 상태는 블록(Block), 권한(Authority), 트랙커(Tracker)로 이루어진다. Here, the contract and state necessary for HAP processing are defined as system contract and system state, and the system contract consists of network creation (Genesis, Genesis), code registration (RegisterCode), and code modification (ModifyCode). In addition, the system state consists of a block (Block), authority (Authority), and a tracker (Tracker).

제네시스를 선언한 결정자 노드는 네트워크 관리자(Network Manager)의 권한을 갖고, 코드를 등록하고 수정할 수 있다. 이때, 해당 결정자 노드는 네트워크를 운영하기 위한 맞춤형 계약(Custom Contract)을 등록한다. 다른 결정자 노드는 최초에 어떤 결정자 노드를 제네시스로 인정할 것인지에 대한 결정을 내리면, 그 다음부터는 네트워크에 생성된 맞춤형 계약을 자신의 규칙(Rule)으로 정의하고, 네트워크의 블록 데이터를 수신하다. The decision maker node that declared Genesis has the authority of the network manager and can register and modify code. At this time, the decision maker node registers a custom contract for operating the network. Other decision maker nodes first decide which decision maker node to recognize as Genesis, and from then on, they define the customized contract created in the network as their own rule and receive block data from the network.

결정자 노드(V1~V5)는 사용자 노드(L11~L52)가 발생시키는 트랜잭션(Tr)에 대한 수락(Accept)/거절(Reject) 합의와 블록 생성 절차를 수행한다.The decision maker nodes V1 to V5 perform accept/reject agreements and block generation procedures for the transaction Tr generated by the user nodes L11 to L52.

이때, 사용자 노드(L11~L52)에서 발행되는 모든 트랜잭션은 해당 결정자 노드(V1~V5)에서 처리될 수 있다. 이때, 결정자 노드(V1~V5)는 사전에 정의된 계약에 의해 발행된 트랜잭션(Tr)을 처리하며, 처리 결과는 수락/거절로 결정된다. 수락된 트랜잭션(Tr)은 상태(Status)에 변화를 주며, 거절된 트랜잭션(Tr)은 상태에 변화를 주지 않는다. In this case, all transactions issued by the user nodes L11 to L52 may be processed by the corresponding decision maker nodes V1 to V5. At this time, the decision maker nodes V1 to V5 process the transaction Tr issued by the contract defined in advance, and the processing result is determined as acceptance/rejection. The accepted transaction (Tr) changes the status, and the rejected transaction (Tr) does not change the status.

또한, 각 결정자 노드(V1~V5)는 프로세서 및 메모리를 포함할 수 있다. 여기서, 프로세서는 각 결정자 노드(V1~V5)에서 의해 수행되는 합의 알고리즘을 실행할 수 있다. 메모리는 프로세서에서 실행되는 합의 알고리즘에 의해 필요한 입력 또는 처리 결과를 저장할 수 있다.In addition, each determinant node V1 to V5 may include a processor and a memory. Here, the processor may execute a consensus algorithm performed by each determinant node V1 to V5. The memory may store inputs or processing results required by a consensus algorithm running in the processor.

사용자 노드(L11~L52)는 네트워크에 별도의 네트워크 기여가 없는 노드로서 라이트 노드(Light Node)로 명명될 수 있다. 사용자 노드(L11~L52)는 고유한 개인키 및 트랙커를 가지며, 트랜잭션(Tr) 생성 및 요청, 결과 조회가 가능하다.The user nodes L11 to L52 are nodes without a separate network contribution to the network and may be referred to as light nodes. User nodes (L11 to L52) have their own private key and tracker, and it is possible to create and request a transaction (Tr), and to inquire the result.

도 1에서, 사용자 노드(L11~L13)는 결정자 노드(V1)에 접속된 트랜잭션(Tr)을 요청할 수 있다. 사용자 노드(L21~L23)는 결정자 노드(V2)에 접속되어 트랜잭션(Tr)을 요청할 수 있다. 사용자 노드(L31~L33)는 결정자 노드(V3)에 접속되어 트랜잭션(Tr)을 요청할 수 있다. 사용자 노드(L41~L42)는 결정자 노드(V4)에 접속된다. 사용자 노드(L51~L52)는 결정자 노드(V5)에 접속될 수 있다.In FIG. 1 , user nodes L11 to L13 may request a transaction Tr connected to a decision maker node V1. The user nodes L21 to L23 may be connected to the decision maker node V2 to request a transaction Tr. The user nodes L31 to L33 may be connected to the decision maker node V3 to request a transaction Tr. The user nodes L41 to L42 are connected to the decision maker node V4. The user nodes L51 to L52 may be connected to the decision maker node V5.

한편, 본 발명의 실시예에서, HAP 알고리즘의 핵심은 SASEUL의 모든 결정자 노드가 자신의 블록을 만드는 데 집중하는 매우 이기적인 의사 결정자라는 것이다. 각 결정자 노드(V1~V5)는 다른 결정자 노드로부터 모든 트랜잭션(Tr)을 수집 및 병합하고 타임스탬프별로 다시 정렬한 후 가상 블록(가설)을 작성한다. 결정자 노드(V1~V5)는 이 가상 블록의 해시를 연산하여 비교하고 마지막으로 이기적으로 연결 및 차단을 결정할 수 있다.On the other hand, in the embodiment of the present invention, the core of the HAP algorithm is that all decision maker nodes in SASEUL are very selfish decision makers who focus on making their own blocks. Each determinant node (V1~V5) collects and merges all transactions (Tr) from other determinant nodes, rearranges them by timestamp, and creates a virtual block (hypothesis). Determining nodes (V1 to V5) can compute and compare hashes of these virtual blocks, and finally decide selfishly to connect and disconnect.

이때, 각 결정자 노드(V1~V5)는 가상 블록을 정해진 계약에 따라 순서대로 처리하여 결과가 자신과 같으면 해당 블록을 확정할 수 있다. In this case, each decision-making node (V1 to V5) processes the virtual blocks in order according to a set contract, and if the result is the same as itself, the corresponding block can be determined.

여기서, 복수의 결정자 노드(V1~V5)는 HAP 알고리즘을 기반으로 트랜잭션(Tr)의 수락 및 거절에 대한 합의를 생성한다. 복수의 결정자 노드(V1~V5)는 각각의 트랜잭션(Tr)에 대한 수락 및 거절 여부를 자체적으로 판단한 뒤, 일정 개수의 트랜잭션(Tr)을 모아 다른 결정자 노드와 판단 결과를 비교한다. 즉, 모든 개별 트랜잭션(Tr) 요청에 대하여 판단 결과를 공유하고 동기화하는 대신 네트워크에서 정한 단위의 트랜잭션(Tr)을 한 번에 비교한다. 이러한 트랜잭션(Tr)의 묶음을 청크(chunk)라고 명명하며, 청크의 비교는 해시 값 비교를 통해 이루어진다. 여기서, 해시값이 다른 경우는 트랜잭션(Tr)이 다르거나 처리 결과가 다른 것을 의미한다.Here, the plurality of decision maker nodes V1 to V5 generate a consensus on acceptance and rejection of the transaction Tr based on the HAP algorithm. The plurality of decision maker nodes V1 to V5 independently determine whether to accept or reject each transaction Tr, and then collect a certain number of transactions Tr and compare the decision result with other decision maker nodes. That is, instead of sharing and synchronizing judgment results for all individual transaction (Tr) requests, transactions (Tr) of a unit determined by the network are compared at once. A bundle of such transactions Tr is called a chunk, and comparison of the chunks is performed through hash value comparison. Here, when the hash value is different, it means that the transaction Tr is different or the processing result is different.

도 2는 본 발명의 일 실시예에 따른 규칙 증명 방식의 합의 알고리즘 기반 블록체인 시스템의 데이터 구조를 나타낸 도면이다. 2 is a diagram illustrating a data structure of a block chain system based on a consensus algorithm of a rule proof method according to an embodiment of the present invention.

도 2를 참조하면, 합의 알고리즘 기반 블록체인 시스템(10)에서 데이터는 상태와 트랜잭션의 두 종류로 구분된다. 합의 알고리즘 기반 블록체인 시스템(10)은 트랜잭션(Tr)에 의해 상태를 변화시킬 수 있다. 상태가 변화하는 시점은 블록이 확정되는 시점과 동일하다. 이때, 블록 내에서 트랜잭션(Tr)들은 시간 순서대로 배열된다. Referring to FIG. 2 , in the consensus algorithm-based blockchain system 10, data is divided into two types: state and transaction. The consensus algorithm-based blockchain system 10 can change the state by a transaction (Tr). The time at which the state changes is the same as the time at which the block is confirmed. At this time, the transactions Tr in the block are arranged in chronological order.

여기서, 아직 승인되지 않은 트랜잭션(Tr)의 집합은 확정되지 않은 블록(가성 블록)을 이루며, 이는 가설(Hypothesis)로 명명된다. 이 가설에 대하여 각 결정자 노드(V1~V5) 마다 해시를 연산하여 일치하면 해당 블록의 확정이 이루어진다. 즉, 연산 결과가 일치하면, 미승인된 가설은 온전한 블록으로 저장될 수 있다. Here, a set of transactions Tr that have not yet been approved constitutes an unconfirmed block (pseudoblock), which is called a hypothesis. With respect to this hypothesis, if a hash is calculated for each determinant node (V1 to V5) and matched, the corresponding block is confirmed. That is, if the operation results match, the unapproved hypothesis may be stored as a complete block.

도 3은 본 발명의 일 실시예에 따른 규칙 증명 방식의 합의 알고리즘 기반 블록체인 시스템의 트랜잭션 구조를 나타낸 도면이다. 3 is a diagram illustrating a transaction structure of a block chain system based on a consensus algorithm of a rule proof method according to an embodiment of the present invention.

도 3을 참조하면, 트랜잭션(Tr)은 유형(type) 및 타임스탬프(timestamp)를 포함한다. 여기서, 유형은 트랜잭션(Tr)에서 처리할 계약을 지정하기 위한 것이고, 타임스탬프는 트랜잭션(Tr)을 시간 순서대로 처리 또는 재배열하기 위한 것이다. Referring to FIG. 3 , a transaction Tr includes a type and a timestamp. Here, the type is for designating a contract to be processed in the transaction (Tr), and the timestamp is for processing or rearranging the transaction (Tr) in chronological order.

이때, 각 사용자 노드(L11~L52)는 자신이 발생시킨 트랜잭션(Tr)임을 증명하기 위해 트랜잭션(Tr)을 해싱한(hashing) 뒤, 개인키(Private Key)를 이용하여 서명(Signature)을 생성하고, 공개키(Public Key)와 서명을 같이 제공한다. 여기서, 공개키는 개인키로 만든 서명의 위변조를 확인할 수 있다. 모든 사용자 노드(L11~L52)는 공개키를 기반으로 어드레스를 생성하므로, 트랜잭션(Tr)을 생성하고 전송한 사용자 노드(L11~L52)의 어드레스를 기반으로 공개키를 신뢰할 수 있다.At this time, each user node (L11 ~ L52) hashes the transaction (Tr) to prove that it is the transaction (Tr) that it has generated, and then generates a signature using the private key. and provide the public key and signature together. Here, the public key can check forgery of the signature created by the private key. Since all user nodes L11 to L52 generate addresses based on the public key, the public key can be trusted based on the addresses of the user nodes L11 to L52 that have generated and transmitted the transaction Tr.

또한, 유형과 타임스탬프를 제외한 나머지 정보(기타)는 계약에서 사용될 정보이다. 여기서, 기타 정보는 트랜잭션이 수행해야할 동작에 대한 명세를 포함할 수 있다. 일례로, 송금 트랜잭션의 경우, 트랜잭션 데이터는 보낼 계좌, 받을 계좌, 금액 등이 포함될 수 있다.In addition, the information (other) other than the type and timestamp is information to be used in the contract. Here, the other information may include a specification of an operation to be performed by the transaction. For example, in the case of a remittance transaction, the transaction data may include an account to be sent, an account to receive, an amount, and the like.

한편, 각 결정자 노드(V1~V5)는 지리적 차이 등에 의해 정확한 시각적 동기화가 용이하지 않다. 따라서 후술하는 바와 같이, 블록의 확정 과정에서 사용되는 표준 타임스탬프를 정의한다. 여기서, 표준 타임스탬프는 블록이 생성되는 기준이 되는 시간일 수 있다. 이때, 표준 타임스탬프는 단위 시간(Interval)의 약수이며, 단위 시간은 블록 확정의 최소 시간이다. 즉, 단위 시간은 표준 타임스탬프의 배수일 수 있다. On the other hand, accurate visual synchronization of each determinant node (V1 ~ V5) is not easy due to geographic differences or the like. Therefore, as will be described later, a standard timestamp used in the block confirmation process is defined. Here, the standard timestamp may be a reference time at which a block is generated. In this case, the standard timestamp is a divisor of the unit time (Interval), and the unit time is the minimum time for block confirmation. That is, the unit time may be a multiple of a standard timestamp.

각 결정자 노드(V1~V5)는 블록을 생성하기 위해 가설을 생성할 기준 시간대를 표준 타임스탬프로 정의할 수 있다. 즉, 각 결정자 노드(V1~V5)는 트랜잭션(Tr) 내의 타임스탬프를 표준 타임스탬프로 처리한다. 이때, 표준 타임스탬프는 해당 트랜잭션(Tr) 요청이 생성된 시간일 수 있다. Each determinant node (V1 ~ V5) may define a reference time period for generating a hypothesis to generate a block as a standard timestamp. That is, each determinant node (V1 ~ V5) processes the timestamp in the transaction (Tr) as a standard timestamp. In this case, the standard timestamp may be a time when the corresponding transaction (Tr) request is generated.

도 4는 본 발명의 일 실시예에 따른 규칙 증명 방식의 합의 알고리즘 기반 블록체인 시스템의 스마트 계약의 구조 및 처리 순서를 나타낸 도면이다. 4 is a diagram illustrating the structure and processing sequence of a smart contract of a block chain system based on a consensus algorithm of a rule proof method according to an embodiment of the present invention.

계약은 트랜잭션(Tr)의 구조(Structure), 유효성(Validity), 블록의 상태 및 수락 결정(Make Decision)이 정의된다. 따라서 도 4에 도시된 바와 같이, 계약에 포함된 프로그램 코드는 트랜잭션의 구조 검사, 유효성 검사, 상태 지정(Get Status), 수락 결정, 수락에 의한 상태 설정(Set Status)을 수행하는 함수로 정의될 수 있다. 즉, 계약에 포함된 프로그램 코드에 의해 계약에서 정의된 기능을 수행할 수 있다.In the contract, the structure (Structure) of the transaction (Tr), the validity (Validity), the state of the block, and the acceptance decision (Make Decision) are defined. Therefore, as shown in Fig. 4, the program code included in the contract is to be defined as a function that performs the structure check of the transaction, validation check, status designation (Get Status), acceptance decision, and status setting by acceptance (Set Status). can In other words, the function defined in the contract can be performed by the program code included in the contract.

도 5는 본 발명의 일 실시예에 따른 규칙 증명 방식의 합의 알고리즘 기반 블록체인 시스템에서 저장되는 블록데이터의 구조를 나타낸 도면이다. 5 is a diagram illustrating the structure of block data stored in a block chain system based on a consensus algorithm of a rule proof method according to an embodiment of the present invention.

도 5에 도시된 바와 같이, 확정되어 저장되는 블록 데이터는 블록 헤더, 및 트랜잭션을 포함할 수 있다. 여기서, 블록 데이터에 포함되는 트랜잭션은 원본 트랜잭션에 포함된 유형, 타임스탬프, 공개키, 서명 외에 결정 결과(Decision Result)를 추가로 포함할 수 있다.As shown in FIG. 5 , block data that is confirmed and stored may include a block header and a transaction. Here, the transaction included in the block data may additionally include a decision result in addition to the type, timestamp, public key, and signature included in the original transaction.

이하, 도 6 내지 도 9를 참조하여 본 발명의 규칙 증명 방식의 합의 방법을 설명한다.Hereinafter, a consensus method of the rule proof method of the present invention will be described with reference to FIGS. 6 to 9 .

도 6은 본 발명의 일 실시예에 따른 규칙 증명 방식의 합의 방법을 나타낸 순서도이고, 도 7은 본 발명의 일 실시예에 따른 규칙 증명 방식의 합의 방법에서 라운드 동기화를 설명하기 위한 도면이며, 도 8은 본 발명의 일 실시예에 따른 규칙 증명 방식의 합의 방법에서 프리-커밋을 설명하기 위한 도면이고, 도 9는 본 발명의 일 실시예에 따른 규칙 증명 방식의 합의 방법에서 특정 노드의 차단을 설명하기 위한 도면이다. 6 is a flowchart illustrating a method of agreement of a rule proof method according to an embodiment of the present invention, and FIG. 7 is a diagram for explaining round synchronization in a method of agreement of a rule proof method according to an embodiment of the present invention, FIG. 8 is a diagram for explaining pre-commit in the method of agreement of the rule proof method according to an embodiment of the present invention, and FIG. 9 is a block of a specific node in the method of agreement of the rule proof method according to an embodiment of the present invention. It is a drawing for explanation.

규칙 증명 방식의 합의 방법(20)은 블록에 대한 합의를 위한 라운딩을 수행하는 단계(S21), 다른 결정자 노드로부터 청크를 풀링하는 단계(S22), 풀링된 청크를 재배열하여 가설을 생성하고 해시 비교를 통해 사전 확정하는 단계(S23) 및 블록의 상태를 변경하여 저장하는 단계(S24)를 포함한다.The consensus method 20 of the rule proof method includes the steps of performing rounding for consensus on the block (S21), pooling chunks from other determinant nodes (S22), rearranging the pooled chunks to generate a hypothesis and hash It includes a step of pre-determining through comparison (S23) and a step of changing and storing the state of the block (S24).

여기서, 이와 같은 합의 방법은 각 결정자 노드(V1~V5)에서 수행되기 때문에, 설명의 편의를 위해서, 예시적으로 어느 하나의 결정자 노드로 설명하지만, 다른 결정자 노드에서도 동일하게 수행될 수 있음을 물론이다. Here, since such a consensus method is performed at each determinant node (V1 to V5), for convenience of explanation, any one determinant node is exemplarily described, but of course, the same may be performed in other determinant nodes as well. am.

보다 상세히 설명하면, 도 6에 도시된 바와 같이, 먼저, 합의 알고리즘 기반 블록체인 시스템(10)에서 각 결정자 노드(V1~V5)는 블록에 대한 합의를 위한 라운딩을 수행한다(단계 S21). 이때, 각 결정자 노드(V1~V5)는 정기적으로 다른 결정자 노드의 상태에 대한 정보를 수집한다. 이러한 과정은 정기적인 핑(ping)을 통하여 정보를 수집할 수 있다.More specifically, as shown in FIG. 6 , first, in the consensus algorithm-based blockchain system 10, each determinant node (V1 to V5) performs rounding for consensus on the block (step S21). At this time, each determinant node (V1 to V5) periodically collects information on the state of other determinant nodes. In this process, information can be collected through regular pings.

각 결정자 노드(V1~V5)는 이전 블록 정보로부터 자신이 다음에 할 행동을 정의한다. 여기서, 다음 블록의 확정을 위한 과정을 라운딩(Rounding)으로 명명한다.Each decision maker node (V1~V5) defines its next action from the previous block information. Here, the process for determining the next block is called rounding.

먼저, 결정자 노드(V1)는 다른 결정자 노드(V2~V5)들의 상태를 모니터링한다. 이때, 결정자 노드(V1)는 다른 결정자 노드(V2~V5)로 최신 라운드 정보를 요청한다. First, the decision maker node V1 monitors the states of other decision maker nodes V2 to V5. At this time, the decision maker node V1 requests the latest round information from other decision maker nodes V2 to V5.

각 결정자 노드(V1~V5)는 자신이 연산중인 블록체인의 현재 길이를 저장하고 있으며 이를 라운드(round)로 명명한다. 즉, 각 결정자 노드(V1~V5)는 해당 체인 라이프사이클(chain lifecycle)의 시작으로부터 몇 번째 블록에 대한 연산이 수행중인가를 나타내는 상태를 라운드로 저장한다. 각각의 결정자 노드(V1~V5)는 다른 결정자 노드와의 합의를 위해, 서로가 몇 번째 라운드를 연산 중인지 확인한다. 확인은 현재 자신의 라운드를 브로드캐스팅하는 방식이 아니라, 자신을 제외한 다른 결정자 노드의 라운드를 요청한다. Each determinant node (V1 ~ V5) stores the current length of the block chain it is operating on, and it is called a round. That is, each determinant node (V1 to V5) stores the state indicating the number of blocks from the start of the corresponding chain lifecycle in which the operation is being performed as a round. Each determinant node (V1 to V5) checks how many rounds each other is operating in order to agree with other determinant nodes. Confirmation does not currently broadcast its own round, but requests a round of decision-making nodes other than itself.

여기서, 라운드 정보는 이전 블록 정보, 다음 표준 타임스탬프 정보, 공개키 및 서명을 포함할 수 있다. 이때, 라운드를 제공하는 결정자 노드로부터의 응답을 신뢰할 수 없기 때문에 반드시 서명 절차를 포함한다. 또한, 표준 타임스탬프는 제시된 값중 이전 블록의 표준 타임스탬프보다 크고, 단위 시간의 약수이며, 가장 작은 값을 선택한다. Here, the round information may include previous block information, next standard timestamp information, a public key, and a signature. At this time, since the response from the decision maker node providing the round is not reliable, a signature procedure is necessarily included. In addition, the standard timestamp is larger than the standard timestamp of the previous block among the suggested values, is a divisor of the unit time, and the smallest value is selected.

모니터링 결과, 결정자 노드(V3)가 가장 앞선 라운드 상태인 경우, 도 7의 (a)에 도시된 바와 같이, 결정자 노드(V1)는 결정자 노드(V3)로 라운드 동기화를 요청한다. 결정자 노드(V3)보다 후행하는 라운드 상태의 다른 결정자 노드(V2, V4)도 동일하게 라운드 동기화를 수행함은 물론이다. As a result of monitoring, when the decision maker node V3 is in the most advanced round state, as shown in FIG. 7A , the decision maker node V1 requests the decision maker node V3 for round synchronization. Of course, the other decision maker nodes V2 and V4 in a round state following the decision maker node V3 also perform round synchronization.

여기서, 네트워크 상의 정보적/시간적 거리는 무시할 수 없으므로 모든 결정자 노드(V1~V5)의 완벽한 실시간 동기는 불가능하다. 이러한 네트워크 상황 속에서 결정자 노드(V1~V5)가 각자 라운드 종료 시마다 라운드 정보를 브로드캐스팅한다면 결정자 노드(V1~V5)는 서로의 라운드 완료를 인지하는 시점이 모두 달라질 수밖에 없으며, 결과적으로는 특정한 라운드에 대한 합의를 할 시간과 라운드를 특정할 수 없게 된다. 결정자 노드(V1~V5)가 라운드의 합의에 있어 실시간 동기를 이루지 못한다는 것은 곧 모든 결정자 노드(V1~V5)가 합의를 생성할 시간이 특정될 수 없음을 뜻한다. Here, since the informational/temporal distance on the network cannot be ignored, perfect real-time synchronization of all the decision maker nodes V1 to V5 is impossible. In such a network situation, if the decision maker nodes V1 to V5 broadcast round information at the end of each round, the decision point nodes V1 to V5 must all recognize each other's round completion at different times, and as a result, a specific round It will be impossible to specify the time and round to agree on. The fact that the decision-making nodes (V1~V5) do not achieve real-time synchronization in the consensus of the round means that the time for all the decision-making nodes (V1~V5) to generate consensus cannot be specified.

이를 해결하기 위하여, 본 발명의 실시예는 모든 결정자 노드(V1~V5)가 서로의 데이터를 공유하고 합의를 진행하는 대신, 각자 다른 결정자 노드의 상황을 확인하고 자신이 인정하는 결정자 노드(V1~V5)만 팔로업(follow-up)하는 형식을 취한다. In order to solve this problem, the embodiment of the present invention confirms the situation of each other decision maker node and acknowledges the decision maker nodes V1 ~ V5) takes the form of following-up.

각 결정자 노드(V1~V5)는 자신의 라운드 정보를 브로드캐스팅하는 대신 다른 결정자 노드의 라운드 정보를 요청함으로써, 자신보다 앞서서 블록을 생성한 결정자 노드를 발견하는 경우에는 선행된 데이터의 타당성을 검증하여 같은 네트워크상에 존속할지의 여부를 결정한다. 여기서, 첫번째 블록은 반드시 제네시스 블록을 포함하며, 이후 블록에는 등록(Register) 및 수정 계약(Modify Contract)이 존재한다. 따라서 순서대로 블록은 연산하면 네트워크에서 인정된 스마트 계약을 획득하게 되고, 해당 계약에 의해 이후 트랜잭션의 처리 결과가 적합한지를 판단할 수 있다. Each decision maker node (V1 ~ V5) requests the round information of other decision maker nodes instead of broadcasting its own round information. Determines whether or not to remain on the same network. Here, the first block must include the genesis block, and there are register and modify contracts in subsequent blocks. Therefore, if the blocks are calculated in order, a smart contract recognized in the network is obtained, and it can be determined whether the processing result of the subsequent transaction is appropriate by the contract.

또한, 각 결정자 노드(V1~V5)는 같은 단계를 합의하는 경우, 의견이 동일한지를 확인하여 같은 네트워크상에 존속할지의 여부를 결정한다. 따라서 어떤 결정자 노드(V1~V5)가 계약에 근거하지 않은 잘못된 결과를 만든 경우, 다른 결정자 노드(V1~V5)는 해당 데이터를 받아들이지 않게 되므로 자연스럽게 네트워크로부터 차단된다.In addition, each decision-making node (V1-V5) determines whether or not to remain on the same network by checking whether opinions are the same when agreeing on the same step. Therefore, if a decision maker node (V1 ~ V5) makes an incorrect result that is not based on the contract, other decision maker nodes (V1 ~ V5) will not accept the data, so it is naturally blocked from the network.

이때, 도 7의 (b)에 도시된 바와 같이, 결정자 노드(V1)는 결정자 노드(V3)의 블록 데이터에 의해 라운드 동기화할 수 있다. At this time, as shown in (b) of FIG. 7 , the decision maker node V1 may perform round synchronization by the block data of the decision maker node V3.

결정자 노드(V1)는 이와 같은 라운드 동기화에 의해 또는 자신이 최신 라운드 상태인 경우, 다음 블록의 확정을 위한 라운드를 진행한다. The decision maker node V1 proceeds a round for confirmation of the next block by the round synchronization or when it is in the latest round state.

해당 라운드를 진행하는 동안, 각 결정자 노드(V1~V5)는 각각에 접속된 사용자 노드(L11~L52)에 의해 발행된 트랜잭션을 처리할 수 있다. During the corresponding round, each decision maker node (V1 ~ V5) can process the transaction issued by the user nodes (L11 ~ L52) connected to each.

이때, 각 결정자 노드(V1~V5)는 트랜잭션(Tr)을 수락할지 거절할지를 개별적으로 결정하여 합의를 위한 처리 결과를 생성한다. 여기서, 트랜잭션(Tr)에는 개인키로 생성한 서명이 포함되어 있기 때문에, 공개키를 이용하면 서명의 위변조 여부를 확인할 수 있다. 공개키의 신뢰가능 여부는 해당 트랜잭션(Tr)을 생성하고 요청한 사용자 노드(L11~L52)의 주소로부터 확인할 수 있다. 이러한 과정을 통해 각 결정자 노드(V1~V5)는 자신이 생성한 트랜잭션(Tr)이 맞는지를 확인할 수 있다.At this time, each decision maker node V1 to V5 individually decides whether to accept or reject the transaction Tr to generate a processing result for consensus. Here, since the transaction Tr includes the signature generated by the private key, it is possible to check whether the signature is forged or falsified by using the public key. Whether the public key is trustworthy can be confirmed from the addresses of the user nodes (L11 to L52) that generate and request the corresponding transaction (Tr). Through this process, each decision maker node (V1 ~ V5) can check whether the transaction (Tr) it created is correct.

다음으로, 각 결정자 노드(V1~V5)는 자신이 만든 트랜잭션(Tr)이 맞는 경우, 해당 트랜잭션(Tr)이 유효한지를 검증한다. 이때, 각 결정자 노드(V1~V5)는 계약을 통하여 트랜잭션(Tr)의 유효성을 검증할 수 있다. 일례로, 가장 범용적인 암호 화폐(Cryptocurrency network)에서의 트랜잭션(Tr)의 경우, 보내는 사람의 잔액이 트랜잭션을 수행하기에 충분한지, 받는 사람의 지갑 주소가 유효한지를 확인할 수 있다.Next, each determinant node (V1 ~ V5) verifies whether the transaction (Tr) is valid when the transaction (Tr) created by it is correct. At this time, each decision maker node (V1 ~ V5) may verify the validity of the transaction (Tr) through the contract. For example, in the case of a transaction (Tr) in the most general cryptocurrency (Cryptocurrency network), it is possible to check whether the sender's balance is sufficient to perform the transaction, and whether the recipient's wallet address is valid.

이때, 각 결정자 노드(V1~V5)는 일정 시간 단위로 처리된 트랜잭션을 청크로 묶는다. At this time, each determinant node (V1 ~ V5) bundles transactions processed in a predetermined time unit into chunks.

다음으로, 각 결정자 노드(V1~V5)는 다른 결정자 노드로 해당 라운드에 응하는 청크를 요청하여 수신한다(단계 S22). 이때, 다른 결정자 노드는 라운드 동기화된 결정자 노드일 수 있다. 여기서, 각 결정자 노드(V1~V5)는 다른 결정자 노드로부터 데이터를 가져오므로 이러한 과정은 데이터 풀링(data pulling)로 명명된다. Next, each decision maker node V1 to V5 requests and receives a chunk corresponding to the corresponding round from another decision maker node (step S22). In this case, the other decision maker node may be a round-synchronized decision maker node. Here, since each determinant node (V1 to V5) brings data from other determinant nodes, this process is called data pulling.

이때, 각 결정자 노드(V1~V5)는 다른 결정자 노드로 제공한 트랜잭션의 서명들을 모아 해싱하여 다시 서명할 수 있다. 여기서, 이러한 서명을 청크 서명으로 정의한다. 하나의 결정자 노드가 동일 라운드에서 두 개 이상의 서명을 제공하는 경우, 더 작은 값을 갖는 서명을 선택할 수 있다.At this time, each decision maker node V1 to V5 may collect and hash signatures of transactions provided to other decision maker nodes and re-sign them. Here, such a signature is defined as a chunk signature. If one decision maker node provides two or more signatures in the same round, the signature with the smaller value may be selected.

도 8을 참조하면, 결정자 노드(V3)는 결정자 노드(V1) 및 결정자 노드(V2)로부터 청크를 수신할 수 있다. 일례로, 결정자 노드(V1)는 3개의 트랜잭션(a, d, e)을 포함하는 청크를 제공하고, 결정자 노드(V2)는 2개의 트랜잭션(b, f)을 포함하는 청크를 제공할 수 있다. Referring to FIG. 8 , a decision maker node V3 may receive a chunk from a decision maker node V1 and a decision maker node V2 . As an example, the determinant node V1 may provide a chunk including three transactions (a, d, e), and the determinant node V2 may provide a chunk including two transactions (b, f). .

이때, 결정자 노드(V3)는 자신의 트랜잭션(c)을 포함하는 청크와 결정자 노드(V1) 및 결정자 노드(V2)로부터 풀링한 청크를 표준 타임스탬프를 기초로 재배열한다. 여기서, a~f는 표준 타임스탬프를 의미한다. 결과적으로 결정자 노드(V3)는 트랜잭션(a)부터 트랜잭션(f)까지 순차적으로 재배열할 수 있다. At this time, the decision maker node V3 rearranges the chunk including its own transaction c and the chunks pooled from the decision maker node V1 and the decision maker node V2 based on the standard timestamp. Here, a to f mean standard timestamps. As a result, the decision maker node V3 can sequentially rearrange from the transaction (a) to the transaction (f).

다음으로, 결정자 노드(V3)는 각 트랜잭션을 정해진 계약에 따라 처리하고 블록 해시를 생성한다. 최종적으로 해시 정보는 청크 서명 정보, 표준 타임스탬프, 블록 해시, 공개키 및 서명 정보를 포함한다. 여기서, 블록 해시는 이전 블록을 해싱한 값으로서, 트랜잭션의 해시와 처리 결과의 합이다. Next, the decision maker node V3 processes each transaction according to a set contract and generates a block hash. Finally, the hash information includes chunk signature information, standard timestamp, block hash, public key, and signature information. Here, the block hash is a hashed value of the previous block, and is the sum of the transaction hash and the processing result.

이때, 결정자 노드(V3)는 자신이 연산한 해시 정보와 해당 트랜잭션의 해시 정보가 일치하면 해당 라운드의 블록을 사전 확정한다(단계 S23). 이러한 과정은 프리-커밋(pre-commit)으로 명명된다. At this time, when the hash information calculated by the decision maker node V3 matches the hash information of the transaction, the block of the corresponding round is pre-determined (step S23). This process is called pre-commit.

한편, 각 결정자 노드(V1~V5)가 연산한 해시 정보와 해당 트랜잭션의 해시 정보가 일치하지 않으면 해당 트랜잭션에 대응하는 결정자 노드를 차단할 수 있다.On the other hand, if the hash information calculated by each decision maker node V1 to V5 does not match the hash information of the transaction, the decision maker node corresponding to the transaction may be blocked.

도 9를 참조하면, 결정자 노드(V3)가 연산한 해시 정보와 해당 트랜잭션의 해시 정보가 일치하지 않으면, 해당 트랜잭션을 제공한 결정자 노드(V5)는 불법 참여자로 간주할 수 있다. 결정자 노드(V3)는 결정자 노드(V5)를 차단할 수 있다. Referring to FIG. 9 , if the hash information calculated by the decision maker node V3 does not match the hash information of the transaction, the decision maker node V5 providing the transaction may be regarded as an illegal participant. The decision maker node V3 may block the decision maker node V5.

이와 유사하게, 각 결정자 노드(V1~V4)는 결정자 노드(V5)를 차단할 수 있다. 따라서 불법 참여자인 결정자 노드(V5)는 합의 알고리즘 기반 블록체인 시스템(10)으로부터 고립되어 차단될 수 있다.Similarly, each determinant node V1 to V4 may block the determinant node V5. Therefore, the decision maker node V5, which is an illegal participant, can be isolated and blocked from the consensus algorithm-based blockchain system 10 .

이와 같이, 각 결정자 노드(V1~V5)는 서로의 의견을 하나로 모으기 위해 다른 결정자 노드에게 압력이나 처벌을 가하는 것이 아니라, 자신과 다른 결정자 노드를 자신의 네트워크로부터 차단하게 된다. 이러한 방식을 사용하는 경우, 선한 결정자 노드가 소수인 경우에도 해당 결정자 노드가 살아남을 수 있게 된다.In this way, each decision maker node (V1 ~ V5) does not apply pressure or punishment to other decision maker nodes to gather each other's opinions, but blocks itself and other decision maker nodes from their network. If this method is used, even if there are few good determinant nodes, the determinant node can survive.

종래의 합의 방식(일례, PoS(Proof-of-Stake), PoW)은 합의에 동참한 결정자 노드의 수 (혹은 지분)에 의존하여 옳고 그름을 판단하였다. 따라서 종래의 합의 방식은 비잔틴 문제(byzantine generals' problem)와 동치였으며 51% 공격에 마땅한 대책을 찾을 수 없다. Conventional consensus methods (for example, PoS (Proof-of-Stake), PoW) judged right and wrong depending on the number (or stake) of decision maker nodes participating in the consensus. Therefore, the conventional consensus method was equivalent to the Byzantine generals' problem, and there was no suitable countermeasure for the 51% attack.

그러나 본 발명의 실시예의 합의 방법은 하나의 합의를 만드는 것이 아니라 다른 결정자 노드를 각자 검증하는 형태를 취함으로써, 하나의 순간에 데이터가 동기되어야 하는 비잔틴 문제와는 다른 논리적 스킴(scheme)을 갖는다. 그렇기 때문에, 본 발명의 실시예의 HAP 기반 네트워크에서는 비악의적(non-evil) 결정자 노드가 51% 이하의 소수 그룹이 되더라도 각자 살아남을 수 있다. 또한, 사용자 노드(L11~L52)는 해시 비교 등을 통해 소수의 비악의적 결정자 노드(V1~V5)를 팔로업할 수 있다. However, the consensus method of the embodiment of the present invention has a logical scheme different from the Byzantine problem in which data must be synchronized at a single moment by taking the form of verifying each other determinant node rather than making one consensus. Therefore, in the HAP-based network according to the embodiment of the present invention, each non-evil determinant node can survive even if it becomes a minority group of 51% or less. In addition, the user nodes L11 to L52 may follow up a small number of non-malicious determinant nodes V1 to V5 through hash comparison or the like.

선택적으로, 각 결정자 노드(V1~V4)는 결정자 노드(V5)를 제외하고 해당 라운드에 대하여 재수행할 수도 있다.Optionally, each of the decision maker nodes V1 to V4 may re-perform the corresponding round except for the decision maker node V5.

다음으로, 각 결정자 노드(V1~V4)는 해당 라운드의 블록을 최종적으로 확정하여 저장한다(단계 S24). 이러한 과정은 커밋(commit)으로 명명된다. Next, each decision maker node V1 to V4 finally determines and stores the block of the corresponding round (step S24). This process is called commit.

이때, 각 결정자 노드(V1~V4)는 블록의 상태를 변화시키고 확정된 블록을 저장하며 라운딩 단계로 복귀할 수 있다.In this case, each of the decision maker nodes V1 to V4 may change the state of the block, store the confirmed block, and return to the rounding step.

상기와 같은 방법들은 도 1에 도시된 바와 같은 규칙 증명 방식의 합의 알고리즘 기반 블록체인 시스템(10)에 의해 구현될 수 있고, 특히, 이러한 단계들을 수행하는 소프트웨어 프로그램으로 구현될 수 있으며, 이 경우, 이러한 프로그램들은 컴퓨터 판독가능한 기록 매체에 저장되거나 전송 매체 또는 통신망에서 반송파와 결합된 컴퓨터 데이터 신호에 의하여 전송될 수 있다. 이때, 컴퓨터 판독가능한 기록 매체는 컴퓨터 시스템에 의해 판독가능한 데이터가 저장되는 모든 종류의 기록 장치를 포함할 수 있다.The above methods may be implemented by the consensus algorithm-based blockchain system 10 of the rule proof method as shown in FIG. 1, and in particular, may be implemented as a software program performing these steps, in this case, These programs may be stored in a computer-readable recording medium or transmitted by a computer data signal combined with a carrier wave in a transmission medium or a communication network. In this case, the computer-readable recording medium may include any type of recording device in which data readable by a computer system is stored.

이상에서 본 발명의 일 실시예에 대하여 설명하였으나, 본 발명의 사상은 본 명세서에 제시되는 실시예에 제한되지 아니하며, 본 발명의 사상을 이해하는 당업자는 동일한 사상의 범위 내에서, 구성요소의 부가, 변경, 삭제, 추가 등에 의해서 다른 실시예를 용이하게 제안할 수 있을 것이나, 이 또한 본 발명의 사상범위 내에 든다고 할 것이다.Although one embodiment of the present invention has been described above, the spirit of the present invention is not limited to the embodiments presented herein, and those skilled in the art who understand the spirit of the present invention can add components within the scope of the same spirit. , changes, deletions, additions, etc. may easily suggest other embodiments, but this will also fall within the scope of the present invention.

10 : 규칙 증명 방식의 합의 알고리즘 기반 블록체인 시스템
V1~V5 : 결정자 노드 L11~L52 : 사용자 노드
10 : Consensus Algorithm-based Blockchain System of Proof-of-Rule Method
V1~V5 : Determinant node L11~L52 : User node

Claims (12)

상호간에 통신을 수행하고, 사용자 노드와 통신을 수행하는 복수의 결정자 노드를 포함하는 블록체인 시스템으로서,
상기 복수의 결정자 노드 각각은,
사용자 노드에 의해 발행된 트랜잭션을 처리하고 처리된 트랜잭션을 일정 시간 단위로 청크(chunk)로 묶어 합의를 위한 해당 라운딩을 수행하고,
상기 복수의 결정자 노드 각각은 다른 결정자 노드에 최신 라운드 정보를 요청하고, 상기 최신 라운드 정보의 표준 타임스탬프를 확인하여, 상기 복수의 결정자 노드 중 가장 앞선 라운드 상태인 결정자 노드의 블록으로 동기화하되, 타당성을 검증하여 타당한 경우에만 동기화하고, 타당하지 않으면 네트워크 연결을 차단하고,
라운드 동기화된 다른 결정자 노드로부터 해당 라운드에 대응하는 청크를 요청하여 수신하고,
상기 수신된 청크와 자신의 청크에 포함된 트랜잭션을 각 트랜잭션에 포함된 표준 타임스탬프를 기초로 재배열하여 가설을 생성하고, 각 트랜잭션의 해시를 연산하여 자신이 연산한 해시 정보와 해당 트랜잭션의 해시 정보가 일치하면, 상기 가설을 해당 라운드의 블록으로 사전 확정하며,
블록의 상태를 변경하고 사전 확정된 블록을 저장하는 규칙 증명 방식의 합의 알고리즘 기반 블록체인 시스템.
A blockchain system comprising a plurality of decision maker nodes that communicate with each other and communicate with user nodes,
Each of the plurality of decision maker nodes,
The transaction issued by the user node is processed and the processed transaction is bundled into chunks in a certain time unit to perform the corresponding rounding for consensus,
Each of the plurality of decision maker nodes requests the latest round information from another decision maker node, checks the standard timestamp of the latest round information, and synchronizes it with the block of the decision maker node that is in the most advanced round state among the plurality of decision maker nodes, Validate and synchronize only when it is valid, and block the network connection if not valid,
Request and receive chunks corresponding to the round from other decision maker nodes synchronized with the round,
A hypothesis is generated by rearranging the received chunk and the transactions included in the own chunk based on the standard timestamp included in each transaction, and calculating the hash of each transaction to obtain the hash information calculated by the user and the hash of the transaction. If the information matches, the hypothesis is pre-confirmed as a block of the round,
A blockchain system based on a consensus algorithm with a proof-of-rule method that changes the state of a block and stores a pre-confirmed block.
삭제delete 제1항에 있어서,
상기 복수의 결정자 노드 각각은 자신의 라운드 보다 앞선 라운드 상태인 결정자 노드가 없는 경우, 상기 합의를 위한 라운드를 진행하는 규칙 증명 방식의 합의 알고리즘 기반 블록체인 시스템.
According to claim 1,
Each of the plurality of decision maker nodes is a block chain system based on a consensus algorithm of a rule proof method that proceeds the round for the consensus when there is no decision maker node in a round state prior to its own round.
제1항에 있어서,
상기 복수의 결정자 노드 각각은 해당 트랜잭션에 대한 연산된 해시와 해당 트랜잭션에 포함된 해시가 일치하지 않으면, 해당 트랜잭션의 결정자 노드를 차단하는 규칙 증명 방식의 합의 알고리즘 기반 블록체인 시스템.
According to claim 1,
In each of the plurality of decision maker nodes, if the hash calculated for the transaction and the hash included in the transaction do not match, the rule proof method consensus algorithm-based blockchain system that blocks the decision maker node of the transaction.
제1항에 있어서,
상기 트랜잭션은 유형, 타임스탬프 및 계약 정보를 포함하는 규칙 증명 방식의 합의 알고리즘 기반 블록체인 시스템.
According to claim 1,
The transaction is a rule proof-based consensus algorithm-based blockchain system that includes type, timestamp, and contract information.
제5항에 있어서,
상기 계약 정보는 트랜잭션의 구조 검사, 트랜잭션의 유효성 검사, 블록의 상태 설정, 수락 결정을 수행하는 함수로 정의된 코드를 포함하는 규칙 증명 방식의 합의 알고리즘 기반 블록체인 시스템.
6. The method of claim 5,
The contract information is a block chain system based on a consensus algorithm of a proof-of-rule method that includes a code defined as a function to check the structure of a transaction, check the validity of the transaction, set the state of the block, and decide to accept it.
삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete
KR1020200031791A 2020-03-16 2020-03-16 Block chain system based on consensus algorithm of proof-of-rule and method thereof KR102315226B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200031791A KR102315226B1 (en) 2020-03-16 2020-03-16 Block chain system based on consensus algorithm of proof-of-rule and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200031791A KR102315226B1 (en) 2020-03-16 2020-03-16 Block chain system based on consensus algorithm of proof-of-rule and method thereof

Publications (2)

Publication Number Publication Date
KR20210115675A KR20210115675A (en) 2021-09-27
KR102315226B1 true KR102315226B1 (en) 2021-10-20

Family

ID=77925612

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200031791A KR102315226B1 (en) 2020-03-16 2020-03-16 Block chain system based on consensus algorithm of proof-of-rule and method thereof

Country Status (1)

Country Link
KR (1) KR102315226B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116846916B (en) * 2023-09-01 2023-12-08 武汉趣链数字科技有限公司 Data synchronization method, device, electronic equipment and computer readable storage medium

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102012400B1 (en) * 2018-11-27 2019-08-20 안종현 IoT CERTIFICATION SYSTEM BASED ON BLOCK CHAIN

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170137388A (en) * 2016-06-03 2017-12-13 (주) 블록체인오에스 A method for ensuring integrity by using a blockchain technology
CN106980649B (en) * 2017-02-28 2020-07-10 创新先进技术有限公司 Method and device for writing block chain service data and service subset determining method
CN107395665B (en) 2017-05-22 2020-04-24 创新先进技术有限公司 Block chain service acceptance and service consensus method and device
WO2019235864A1 (en) * 2018-06-05 2019-12-12 주식회사 네트워크디파인즈 Method and apparatus for proving data delivery in untrusted network
KR20190141576A (en) * 2018-06-14 2019-12-24 삼성전자주식회사 Apparatus for controlling swarm devices using dynamic rule based blockchain and method thereof

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102012400B1 (en) * 2018-11-27 2019-08-20 안종현 IoT CERTIFICATION SYSTEM BASED ON BLOCK CHAIN

Also Published As

Publication number Publication date
KR20210115675A (en) 2021-09-27

Similar Documents

Publication Publication Date Title
CN112039964B (en) Node reputation consensus method based on block chain
US11907174B2 (en) Systems and methods for managing data generation, storage, and verification in a distributed system having a committee of validator nodes
EP3465481B1 (en) Method and system for desychronization recovery for permissioned blockchains using bloom filters
US11177939B2 (en) Blockchain system including a distributed network of a plurality of nodes and a method for achieving an agreement between the plurality of nodes executed by processors of the block chain system
CN109842606B (en) Block chain consensus algorithm and system based on consistent Hash algorithm
US20200134578A1 (en) Blockchain consensus systems and methods involving a time parameter
Estevam et al. Accurate and decentralized timestamping using smart contracts on the Ethereum blockchain
CN114048517B (en) Dual channel consensus system and method for blockchains, computer readable storage medium
WO2021135934A1 (en) Blockchain accounting method and apparatus, node and storage medium
EP3857850A1 (en) High throughput blockchain consensus systems and methods with low finalization time
CN111818181B (en) Data processing method and device based on block chain and computer readable storage medium
CN112597241A (en) Block chain-based distributed database storage method and system
CN113132401A (en) Data processing method and device based on block chain
CN113014635A (en) Node type division method and device of block chain system and block chain system
CN112468255A (en) Block link point time synchronization method based on network consensus and VRF algorithm
KR102315226B1 (en) Block chain system based on consensus algorithm of proof-of-rule and method thereof
CN113568972A (en) Mixed consensus realization device and method for schema block chain
CN112749968A (en) Service data recording method and device based on block chain
Wang et al. A node rating based sharding scheme for blockchain
CN110505084B (en) Block chain packing node consensus electing method
CN114422146A (en) Anonymous sorting method for block chain main nodes
CN113452747B (en) Extensible and safe consensus method, system, storage medium and intelligent terminal
CN113992526A (en) Credibility calculation-based alliance chain cross-chain data fusion method
CN112039837B (en) Electronic evidence preservation method based on block chain and secret sharing
CN115086049B (en) Block chain medical data sharing system and method based on verifiable delay function

Legal Events

Date Code Title Description
GRNT Written decision to grant