KR20200079877A - Blockchain system for delaying execution of smart contract - Google Patents

Blockchain system for delaying execution of smart contract Download PDF

Info

Publication number
KR20200079877A
KR20200079877A KR1020180169533A KR20180169533A KR20200079877A KR 20200079877 A KR20200079877 A KR 20200079877A KR 1020180169533 A KR1020180169533 A KR 1020180169533A KR 20180169533 A KR20180169533 A KR 20180169533A KR 20200079877 A KR20200079877 A KR 20200079877A
Authority
KR
South Korea
Prior art keywords
transaction
block
reservation
smart contract
time
Prior art date
Application number
KR1020180169533A
Other languages
Korean (ko)
Other versions
KR102192032B1 (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 KR1020180169533A priority Critical patent/KR102192032B1/en
Publication of KR20200079877A publication Critical patent/KR20200079877A/en
Application granted granted Critical
Publication of KR102192032B1 publication Critical patent/KR102192032B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0607Regulated
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/389Keeping log of transactions for guaranteeing non-repudiation of a transaction
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Abstract

The present invention relates to a blockchain system for delaying an execution of a smart contract. According to the present invention, the blockchain system for delaying the execution of the smart contract comprises: a plurality of nodes which receive an input of a process from a user, and generates a specific transaction; and a blockchain network which receives a block broadcast by a block generating node, which generates a block at every current point of time among the plurality of nodes, verifies the block, and distributes the block to the participating node. The node additionally generates a reservation transaction or a reservation smart contract to be executed at a reserved time which is preset by the user, and transfers the reserved transaction or the reserved smart contract to the block generating node. According to the present invention, the blockchain system provides the effects to store a reserved transaction or a reserved smart contract, which needs to be delayed, in a block generated at the current point of time, to make the stored reservation transaction or reservation smart contract processed at a point of time when the transaction is confirmed, and to make it possible to realize a smart contract or transaction which is necessarily delayed.

Description

스마트 컨트랙트를 지연 실행시키기 위한 블록체인 시스템{Blockchain system for delaying execution of smart contract}Blockchain system for delaying execution of smart contracts

본 발명은 스마트 컨트랙트를 지연 실행시키기 위한 블록체인 시스템에 관한 것으로서, 더욱 상세하게는 현재 시점에서 생성되는 블록에 저장된 예약 트랜잭션 또는 예약 스마트 컨트랙트를 지연된 시점에서 실행시키기 위한 스마트 컨트랙트를 지연 실행시키기 위한 블록체인 시스템에 관한 것이다.The present invention relates to a blockchain system for delayed execution of a smart contract, and more specifically, a block for delayed execution of a smart contract for executing a reservation transaction or a reservation smart contract stored in a block generated at the current time at a delayed time. It is about a chain system.

블록체인은 블록에 데이터를 담아 체인 형태로 연결하는 것으로, 수많은 컴퓨터에 동시에 이를 복제해 저장하는 분산형 데이터 저장 기술이다. 공공 거래 장부라고도 부르며, 중앙 집중형 서버에 거래 기록을 보관하지 않고 거래에 참여하는 모든 사용자에게 거래 내역을 보내 주며, 거래 때마다 모든 거래 참여자들이 정보를 공유하고 이를 대조해 데이터 위조나 변조를 할 수 없도록 한다.Blockchain is a distributed data storage technology that stores data in blocks and connects them in a chain, replicating and storing them simultaneously on numerous computers. It is also called a public transaction ledger, and sends transaction history to all users participating in the transaction without keeping transaction records on a centralized server, and every transaction participant can share information and collate data to counterfeit or falsify data. Do not.

블록체인에 저장하는 정보는 다양하므로 전자 결제나 디지털 인증뿐만 아니라 화물 추적 시스템, P2P 대출, 원산지부터 유통까지 전 과정을 추적하거나 예술품의 진품 감정, 위조화폐 방지, 전자투표, 전자시민권 발급, 차량 공유, 부동산 등기부, 병원 간 공유되는 의료기록 관리 등 신뢰성이 요구되는 다양한 분야에 활용할 수 있다.Since the information stored in the blockchain is diverse, not only electronic payment or digital authentication, but also tracking the entire process from cargo tracking system, P2P lending, origin to distribution, or authenticity of artwork, prevention of counterfeit money, electronic voting, issuing electronic citizenship, and sharing of vehicles , It can be used in various fields that require reliability, such as real estate registration, and management of medical records shared between hospitals.

한편, 블록체인은 퍼블릭 블록체인과 프라이빗 블록체인으로 나뉘어지며, 퍼블릭 블록체인은 비트코인이나 이더리움 등 모두에게 개방되어 누구나 참여할 수 있는 형태이고, 프라이빗 블록체인은 기관 또는 기업이 운영하며 사용하는 형태로 참여수가 제한된 만큼 상태적으로 속도가 빠른 장점이 있다. On the other hand, the blockchain is divided into a public blockchain and a private blockchain, and the public blockchain is open to everyone, such as Bitcoin or Ethereum, and anyone can participate, and the private blockchain is operated and used by institutions or companies. As the number of participants is limited, it has the advantage of being fast in a state.

일반적인 블록체인의 처리방법을 살펴보면, 하나의 노드에서 트랜잭션이 생성되면, 이를 현재 시점에서 블록을 생성할 수 있는 노드에게 전달하고, 이를 수신한 노드는 다른 노드들로부터 합의를 받아 트랜잭션에 대한 검증을 진행한다. 검증이 완료된 트랜잭션은 생성된 불록에 저장하고 저장된 블록은 해쉬값을 포함하여 다른 노드에 배포함으로써 모든 참여자의 컴퓨터에 분산 저장될 수 있도록 한다. Looking at the general blockchain processing method, when a transaction is created in one node, it is delivered to a node that can create a block at the current time, and the node that received it receives the agreement from other nodes to verify the transaction. To proceed. The verified transaction is stored in the generated block, and the stored block is distributed to other nodes by including the hash value so that it can be distributed and stored on all participants' computers.

그러나 종래의 방법은 검증이 완료되어 확정된 대상 트랜잭션에 스마트 컨트랙트를 실행할 경우, 대상 트랜잭션이 저장된 블록으로부터 대략 6개의 블록이 생성될 때까지 기다려야 하므로 대상 트랜잭션에 대한 누락이 발생될 수 있는 문제점이 있었다. However, in the conventional method, when the smart contract is executed in the target transaction that has been verified and confirmed, the target transaction has to wait until approximately 6 blocks are generated from the stored block, so that the target transaction may be omitted. .

본 발명의 배경이 되는 기술은 대한민국 공개특허공보 제2018-0014534호(2018. 02. 09. 공개)에 개시되어 있다.The technology that is the background of the present invention is disclosed in Korean Patent Publication No. 2018-0014534 (published Feb. 09, 2018).

본 발명이 이루고자 하는 기술적 과제는, 현재 시점에서 생성되는 블록에 저장된 예약 트랜잭션 또는 예약 스마트 컨트랙트를 지연된 시점에서 실행시키기 위한 스마트 컨트랙트를 지연 실행시키기 위한 블록체인 시스템을 제공하기 위한 것이다. The technical problem to be achieved by the present invention is to provide a blockchain system for delayed execution of a smart contract for executing a reservation transaction or a reservation smart contract stored in a block generated at the current time at a delayed time.

이러한 기술적 과제를 이루기 위한 본 발명의 실시예에 따르면, 스마트 컨트랙트를 지연 실행시키기 위한 블록체인 시스템에 있어서, 사용자에 의해 프로세스를 입력받아 특정 트랜잭션을 생성하는 복수의 노드, 상기 복수의 노드 중에서 현재의 시점마다 블록을 생성하는 블록 생성 노드에서 브로드캐스팅한 블록을 제공받아 검증을 하고 이를 참여하고 있는 노드에 배포하는 블록체인네트워크를 포함하며, According to an embodiment of the present invention for achieving such a technical problem, in a blockchain system for delayed execution of a smart contract, a plurality of nodes that receive a process by a user to generate a specific transaction, the current among the plurality of nodes Includes a block chain network that receives blocks broadcast from the block generation node that creates blocks at each point in time and verifies them and distributes them to participating nodes.

상기 노드는, 사용자에 의해 설정된 예약 시점에서 실행하고자 하는 예약 트랜잭션 또는 예약 스마트컨트랙트를 추가 생성하여 상기 블록 생성 노드에 전달한다. The node additionally generates a reservation transaction or a reservation smart contract to be executed at a reservation point set by the user, and transmits it to the block creation node.

상기 예약 트랜잭션 또는 예약 스마트컨트랙트는, 현재 시점에서 생성되는 블록에 다른 트랜잭션과 같이 저장되며, 현재 블록이 생성된 시점에서는 실행되지 않고, 상기 예약된 시점에서 처리되는 정보를 포함할 수 있다. The reservation transaction or the reservation smart contract may be stored in a block generated at the current time point, like other transactions, and may not be executed at the time when the current block is generated, but may include information processed at the reserved time.

상기 예약 트랜잭션은, 상기 예약된 시점에서 처리가 필요한 행위에 대한 정보를 포함할 수 있다. The reservation transaction may include information on an action that needs to be processed at the reserved time.

상기 예약 스마트컨트랙트는, 상기 예약된 시점에서 상기 트랜잭션에 대응하여 처리 수행될 수 있다. The reservation smart contract may be processed in response to the transaction at the reserved time.

상기 예약된 시점은, 상기 블록체인네트워크에 브로드캐스팅된 상기 트랜잭션을 검증하고, 검증이 완료하여 확정된 시점을 나타낼 수 있다. The reserved time point may verify the transaction broadcast on the blockchain network, and indicate a time point when verification is completed.

상기 트랜잭션은, 상기 현재의 시점에서 생성된 블록으로부터 추후 6번째의 블록이 생성되는 시점에 확정될 수 있다. The transaction may be confirmed at a time when a 6th block is later generated from the block generated at the current time.

상기 블록 생성 노드는, 현재 블록을 기준으로 6번째 전에 생성된 블록에 포함된 예약 트랜잭션 또는 예약 스마트컨트랙트를 실행될 수 있다. The block generation node may execute a reservation transaction or a reservation smart contract included in a block created sixth before the current block.

이와 같이 본 발명에 따르면, 블록체인 시스템은 지연처리가 필요한 예약 트랜잭션 또는 예약 스마트 컨트랙트를 현재 시점에서 생성하는 블록에 저장하고, 저장된 예약 트랜잭션 또는 예약 스마트 컨트랙크를 트랜잭션이 확정되는 시점에서 처리하도록 하여, 지연 처리가 필요한 스마트 컨트랙트 또는 트랜잭션의 구현을 가능하게 하는 효과가 있다. As described above, according to the present invention, the blockchain system stores a reservation transaction or reservation smart contract requiring delay processing in a block generated at the present time, and processes the stored reservation transaction or reservation smart contract at the time when the transaction is confirmed. In addition, it has the effect of enabling the implementation of smart contracts or transactions that require delay processing.

또한, 본 발명에 따르면, 대상 트랜잭션이 저장된 블록의 생성 시점에서부터 대상 트랜잭션이 확정되는 시간 동안에 생성된 트랜잭션의 누락을 미연에 방지할 수 있는 효과를 도모할 수 있다. In addition, according to the present invention, it is possible to prevent the omission of a transaction generated during a time when the target transaction is determined from the time of generation of the block in which the target transaction is stored.

도 1은 본 발명의 실시예에 따른 블록 체인 시스템을 개략적으로 도시한 구성도이다.
도 2는 본 발명의 실시예에 따른 블록체인 시스템을 이용한 스마트 컨트랙트 지연 실행 방법에 대한 순서도이다.
도 3은 S230단계에서 생성된 블록을 개략적으로 도시한 도면이다.
도 4는 도 2에 도시된 S250단계에서 예약 트랜잭션 및 예약 스마트 컨트랙트의 실행시점을 개략적으로 설명하기 위한 도면이다.
1 is a block diagram schematically showing a blockchain system according to an embodiment of the present invention.
2 is a flowchart of a method for executing a smart contract delay using a blockchain system according to an embodiment of the present invention.
3 is a diagram schematically showing a block generated in step S230.
FIG. 4 is a diagram schematically illustrating an execution time point of a reservation transaction and a reservation smart contract in step S250 illustrated in FIG. 2.

이하 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하기로 한다. 이 과정에서 도면에 도시된 선들의 두께나 구성요소의 크기 등은 설명의 명료성과 편의상 과장되게 도시되어 있을 수 있다. Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. In this process, the thickness of the lines or the size of components shown in the drawings may be exaggerated for clarity and convenience.

또한 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서, 이는 사용자, 운용자의 의도 또는 관례에 따라 달라질 수 있다. 그러므로 이러한 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.In addition, terms to be described later are terms defined in consideration of functions in the present invention, which may vary according to a user's or operator's intention or practice. Therefore, the definition of these terms should be made based on the contents throughout the specification.

이하에서는 도 1을 이용하여 본 발명의 실시예에 따른 블록 체인 시스템에 관하여 더욱 상세하게 설명한다. Hereinafter, a block chain system according to an embodiment of the present invention will be described in more detail with reference to FIG. 1.

도 1은 본 발명의 실시예에 따른 블록 체인 시스템을 개략적으로 도시한 구성도이다. 1 is a block diagram schematically showing a blockchain system according to an embodiment of the present invention.

도 1에 도시된 바와 같이, 블록 체인 시스템은 복수의 노드(100: 100-1, 100-2, …, 100-n)와, 블록체인 네트워크(200)를 포함한다. As shown in FIG. 1, the blockchain system includes a plurality of nodes 100: 100-1, 100-2, ..., 100-n, and a blockchain network 200.

먼저, 복수의 노드(100)는 개인 또는 기업에서 사용하는 서버 또는 단말기로서, 온라인 거래에 따라 트랜잭션을 생성하고, 생성된 트랜잭션을 블록에 저장한다. 그리고, 노드(100)는 트랜잭션이 저장된 블록을 블록체인 네트워크(200)에 브로드캐스팅한다. 즉, 노드(100)는 블록 생성, 배포, 저장의 역할을 한다. First, the plurality of nodes 100 is a server or terminal used by an individual or a company, and generates a transaction according to an online transaction, and stores the generated transaction in a block. Then, the node 100 broadcasts the block in which the transaction is stored to the blockchain network 200. That is, the node 100 serves to create, distribute, and store blocks.

한편, 노드(100)를 통해 생성되는 블록은 데이터를 저장하는 단위로서, 바디(body)와 헤더(header)로 구분되며 대략10분을 주기로 생성된다. 그러므로, 복수의 노드(100)는 현재의 시점에서 블록을 생성할 수 있는 노드와 블록을 생성하지 못하는 노드로 나뉘어진다. 이하에서는, 현재의 시점에서 블록을 생성할 수 있는 노드를 제1 노드(100-1)로 명명한다.Meanwhile, the block generated through the node 100 is a unit for storing data, and is divided into a body and a header, and is generated at a period of approximately 10 minutes. Therefore, the plurality of nodes 100 is divided into a node that can generate a block at a current time and a node that cannot generate a block. Hereinafter, a node capable of generating a block at the current point in time is referred to as a first node 100-1.

그 다음, 블록체인 네트워크(200)는 복수의 노드(100)들이 모여 생성된 네트워크로서, 노드(100)로부터 브로드캐스팅된 블록을 거래에 참여하는 모든 노드(100)에게 배포하여 분산형 원장을 생성한다. Next, the blockchain network 200 is a network created by gathering a plurality of nodes 100 and distributes blocks broadcast from the node 100 to all nodes 100 participating in the transaction to generate a distributed ledger. do.

따라서, 블록체인 네트워크(200)는 거래에 참여하는 복수의 노드(100)에게 거래 내역을 제공하며, 거래가 발생할 때마다 복수의 노드(100)들은 정보를 공유하고 이를 대조하여 데이터 위조나 변조를 미연에 방지하도록 한다. Therefore, the blockchain network 200 provides transaction details to a plurality of nodes 100 participating in a transaction, and whenever a transaction occurs, the plurality of nodes 100 share information and contrast it to prevent data forgery or tampering. To prevent.

이하에서는 도 2 내지 도 4를 이용하여 블록체인 시스템을 이용한 스마트 컨트랙트 지연 실행 방법에 대해 더욱 상세하게 설명한다. Hereinafter, a method of executing a smart contract delay using a blockchain system will be described in more detail with reference to FIGS. 2 to 4.

도 2는 본 발명의 실시예에 따른 블록체인 시스템을 이용한 스마트 컨트랙트 지연 실행 방법에 대한 순서도이다. 2 is a flowchart of a method for executing a smart contract delay using a blockchain system according to an embodiment of the present invention.

도 2에 도시된 바와 같이, 노드(100)는 사용자의 입력에 의해 트랜잭션을 생성한다(S210).As shown in FIG. 2, the node 100 creates a transaction by a user input (S210).

이때, 트랜잭션을 생성하는 노드(100)는 현재의 시점에서 블록을 생성할 수 있는 제1 노드(100-1)일 수도 있고, 제1 노드(100-1) 이외의 다른 노드일 수도 있다.At this time, the node 100 that generates a transaction may be the first node 100-1 that can generate a block at the current time, or a node other than the first node 100-1.

그 다음, 노드(100)는 사용자에 의해 설정된 예약 시점에서 실행하고자 하는 예약 트랜잭션 또는 예약 스마트컨트랙트를 추가 생성한다(S220).Next, the node 100 additionally generates a reservation transaction or a reservation smart contract to be executed at the reservation point set by the user (S220).

예를 들면, 사용자가 노드(100)를 통해 온라인 거래를 신청할 경우, 노드(100)는 거래에 대한 정보를 트랜잭션 형태로 생성한다. 그리고, 사용자는 노드(100)를 통해 앞서 생성된 트랜잭션과 별도로 추후에 처리가 필요한 행위에 대한 정보를 입력한다.For example, when a user requests an online transaction through the node 100, the node 100 generates transaction information in the form of a transaction. In addition, the user inputs information on an action that needs to be processed later, separately from the previously generated transaction through the node 100.

사용자에 의해 입력이 완료되면, 노드(100)는 온라인 거래에 따른 트랜잭션과, 추후에 처리가 필요한 예약 트랜잭션 또는 예약 스마트 컨트랙트를 생성한다. When the input is completed by the user, the node 100 generates a transaction according to the online transaction and a reservation transaction or reservation smart contract that needs to be processed later.

여기서, 예약 트랜잭션은 사용자에 의해 예약된 시점에서 처리가 필요한 행위에 대한 정보를 포함한다. Here, the reservation transaction includes information on an action that needs to be processed at a time reserved by the user.

또한, 예약 스마트컨트랙트는 예약된 시점에서 특정 트랜잭션에 적용되어 처리 수행되는 것으로, 예약 스마트컨트랙트를 처리한 결과는 원장에 등록된다. 즉, 노드(100)는 스마트컨트랙트를 예약된 시점에서 처리 수행하고, 수행된 결과에 대한 정보를 트랜잭션 형태로 생성하여 블록에 저장한다. In addition, the reservation smart contract is applied to a specific transaction at the time of reservation and is processed, and the result of processing the reservation smart contract is registered in the ledger. That is, the node 100 processes the smart contract at a reserved time and generates information on the performed result in a transaction form and stores it in a block.

S210 및 S220단계와 같이, 노드(100)는 생성된 트랜잭션과, 예약 트랜잭션 또는 예약 스마트 컨트랙트를 현재 시점에 생성된 블록에 저장한다(S230).As in steps S210 and S220, the node 100 stores the generated transaction and the reservation transaction or reservation smart contract in the block generated at the current time (S230).

이때, 현재의 시점에서 블록을 생성하지 않는 노드의 경우에는, 생성된 트랜잭션과, 예약 트랜잭션 또는 예약 스마트 컨트랙트를 제1 노드(100-1)에 전달한다. 그 다음, 제1 노드(100-1)는 전달받은 트랜잭션과, 예약 트랜잭션 또는 예약 스마트 컨트랙트를 하나의 블록에 저장한다. At this time, in the case of a node that does not generate a block at the current time, the generated transaction and a reservation transaction or a reservation smart contract are transmitted to the first node 100-1. Then, the first node 100-1 stores the received transaction and the reservation transaction or reservation smart contract in one block.

도 3은 S230단계에서 생성된 블록을 개략적으로 도시한 도면이다. 3 is a diagram schematically showing a block generated in step S230.

도 3에 도시된 바와 같이, 제1노드(100-1)에서 생성된 블록은 헤더(header)와 바디(body)로 구분된다. As shown in FIG. 3, the block generated in the first node 100-1 is divided into a header and a body.

먼저, 헤더(header)는 머클해시(머클루트)나 넌스(nounce, 암호화와 관련되는 임의의 수) 등에 따른 해쉬값이 포함되고, 바디(body)는 거래 내용이 포함된다. 해쉬값은 현재 시점에서 생성된 블록의 해쉬값과, 블록체인 형태로 연결된 이전 블록의 해쉬값을 포함한다. First, the header includes a hash value according to a Merkle hash (Mercult) or a nonce (an arbitrary number related to encryption), and the body includes a transaction content. The hash value includes the hash value of the block created at the current time and the hash value of the previous block connected in the form of a blockchain.

그 다음, 바디(body)에 저장되는 거래내용은 트랜잭션과, 예약 트랜잭션 또는 예약 스마트 컨트랙트를 포함한다. Then, the transaction information stored in the body includes a transaction, a reservation transaction, or a reservation smart contract.

S230단계와 같이, 제1노드(100-1)가 트랜잭션과, 예약 트랜잭션 또는 예약 스마트 컨트랙트를 포함한 블록을 생성한 다음에, 제1노드(100-1)는 생성된 블록을 블록체인 네트워크(200)에 브로드캐스팅한다(S240). As in step S230, after the first node 100-1 generates a block including a transaction, a reservation transaction, or a reservation smart contract, the first node 100-1 blocks the generated block from the blockchain network 200 ) Is broadcast (S240).

블록체인 네트워크(200)에 브로드캐스팅된 블록은 복수의 노드(100)들로부터 검증이 이루어지고, 검증이 완료된 블록은 복수의 노드(100)에게 배포된다. Blocks broadcast to the blockchain network 200 are verified from a plurality of nodes 100, and the verified blocks are distributed to the plurality of nodes 100.

그리고, 복수의 노드(100)는 배포받은 블록을 기존에 저장된 블록과 체인형태로 결합하여 저장한다(S250). Then, the plurality of nodes 100 stores the distributed block by combining it with a previously stored block and a chain (S250).

그 다음, 제1노드(100-1)에 의해 블록 내에 저장된 예약 트랜잭션 또는 예약 스마트 컨트랙트는 현재 시점에서부터 이후 6개의 블록이 생성될 때 실행된다(S260). Then, the reservation transaction or reservation smart contract stored in the block by the first node 100-1 is executed when six blocks are generated from the current time (S260).

여기서, 블록의 개수는 6개로 한정하지 않으며, 예약 트랜잭션 또는 예약 스마트 컨트랙트는 사용자에 의해 지정된 블록 생성 시점 또는 실행할 특정 노드에 따라 블록이 6개 생성되기 이전에 실행될 수도 있다 또한, 예약 트랜잭션 또는 예약 스마트 컨트랙트는 트랜잭션이 확정되는 시점 즉, 6개 블록이 생성된 이후에는 언제든지 실행이 가능하므로 예약 트랜잭션 또는 예약 스마트 컨트랙트를 실행하는 시점은 필요에 따라 변경 가능하다. Here, the number of blocks is not limited to 6, and the reservation transaction or the reservation smart contract may be executed before 6 blocks are generated according to a specific node to be executed or a block creation time specified by the user. The contract can be executed any time after the transaction is confirmed, that is, after 6 blocks are created, so the time to execute the reservation transaction or the reservation smart contract can be changed as needed.

도 4는 도 2에 도시된 S250단계에서 예약 트랜잭션 및 예약 스마트 컨트랙트의 실행시점을 개략적으로 설명하기 위한 도면이다. FIG. 4 is a diagram schematically illustrating an execution time point of a reservation transaction and a reservation smart contract in step S250 illustrated in FIG. 2.

도 4에 도시된 바와 같이, 예를 들어, "A"가 "B"에게 송금을 함으로써 트랜잭션이 발생되었다고 가정하면, 발생된 트랜잭션은 현재 시점에서 블록을 생성할 수 있는 제1노드(100-1)에 전달된다. As shown in FIG. 4, for example, assuming that a transaction has been generated by remitting "A" to "B", the generated transaction is a first node 100-1 capable of generating a block at a current time. ).

제1노드(100-1)는 전달받은 트랜잭션을 블록에 저장하고, 트랜잭션이 저장된 블록을 블록체인 네트워크(200)를 통해 브로드캐스팅한다. The first node 100-1 stores the received transaction in a block, and broadcasts the block in which the transaction is stored through the blockchain network 200.

이때, 제1노드(100-1)가"A"가 "B"에게 송금한 거래내역에 대한 트랜잭션 이외에 송금완료에 따른 정보 조회에 대한 예약 트랜잭션을 추가로 전달받으면, 제1노드(100-1)는 트랜잭션과 예약 트랜잭션을 하나의 블록에 저장한다. 예를 들어, "A"가 "B"에게 100만원을 9시에 송금하면서 "B가 송금된 거래내역을 10시 확인 조회 가능"이라고 추가로 입력하였다고 가정하면, 노드(100)는 사용자의 입력에 따라"A가 B에게 100만원을 9시에 송금함"이라는 트랜잭션과, "B는 송금된 거래내역을 10시에 확인 조회 가능"이라는 예약 트랜잭션을 생성한다. 그 다음, 노드(100)는 현재 시점인 9시에 블록을 생성하는 제1노드(100-1)에게 트랜잭션과 예약 트랜잭션을 전달하고, 제1노드(100-1)는 전달받은 트랜잭션과 예약 트랜잭션을 하나의 블록에 저장하여 브로드캐스팅한다. At this time, if the first node 100-1 receives a reservation transaction for information inquiry according to the transfer completion in addition to the transaction for the transaction history that "A" remitted to "B", the first node 100-1 ) Stores transaction and reserved transaction in one block. For example, assuming that "A" remitted 1 million won to "B" at 9 o'clock, and additionally inputs that "B can check and check the transferred transaction history at 10 o'clock", the node 100 inputs the user. In accordance with this, a transaction is created such as "A sends money of 1 million won to B at 9:00" and a reserved transaction called "B can confirm and check the transferred transaction history at 10". Then, the node 100 transmits a transaction and a reservation transaction to the first node 100-1, which creates a block at 9:00, which is the current time point, and the first node 100-1 receives the received transaction and the reservation transaction. It is stored and broadcast in one block.

그 다음, 블록체인 네트워크(200)는 브로드캐스팅된 블록을 거래에 참여하는 모든 노드(100)에게 배포하고, 노드(100)는 수신된 블록을 기 저장된 블록과 체인형태로 연결 저장한다. Next, the blockchain network 200 distributes the broadcasted block to all nodes 100 participating in the transaction, and the node 100 connects and stores the received block in a chain form with a previously stored block.

만약, 노드(100)가 8개의 블록을 저장한 상태에서, 현재의 시점에서 생성된 블록을 수신하였다고 가정하면, 현재 시점에 생성된 블록은 8번째 블록에 연결되어 9번째 블록이 된다. If it is assumed that the node 100 has received the block generated at the current time while the eight blocks are stored, the block created at the current time is connected to the 8th block and becomes the 9th block.

이때, 블록 9에 저장된 예약 트랜잭션은 현재의 시점에서는 실행되지 않고, "A"가 "B"에게 송금한 거래내역에 대한 트랜잭션이 확정될 때까지 지연된다. At this time, the reservation transaction stored in block 9 is not executed at the current time, and is delayed until the transaction for the transaction history that "A" remitted to "B" is confirmed.

트랜잭션이 확정될 때까지 걸리는 시간은 현재 시점에서 생성된 블록으로부터 추후 6개의 블록이 생성될 때까지 소요된다. The time it takes for the transaction to be confirmed is from the block created at the current time until the next 6 blocks are created.

따라서, 도 4에 도시된 바와 같이, "블록 9"에 저장된 예약 트랜잭션은 "블록 15"가 생성될 때 실행된다. 즉, "블록 15"를 생성한 노드(100)가 송금완료에 따른 정보 조회에 대한 예약 트랜잭션을 실행한다. Therefore, as shown in Fig. 4, the reservation transaction stored in "block 9" is executed when "block 15" is generated. That is, the node 100 that generated "block 15" executes a reservation transaction for information inquiry according to the completion of the transfer.

본 발명의 실시예에 따르면, 노드는 지연처리가 필요한 예약 트랜잭션 또는 예약 스마트 컨트랙트를 현재 시점에서 생성하는 블록에 저장하고, 저장된 예약 트랜잭션 또는 예약 스마트 컨트랙크를 트랜잭션이 확정되는 시점에서 처리하도록 하여, 지연 처리가 필요한 스마트 컨트랙트 또는 트랜잭션의 구현을 가능하게 하는 효과가 있다. According to an embodiment of the present invention, the node stores a reservation transaction or reservation smart contract requiring delay processing in a block that is generated at the current time, and processes the stored reservation transaction or reservation smart contract at the time when the transaction is confirmed, This has the effect of enabling the implementation of smart contracts or transactions that require delay processing.

또한, 본 발명의 실시예에 따르면, 대상 트랜잭션이 저장된 블록의 생성 시점에서부터 대상 트랜잭션이 확정되는 시간 동안에 생성된 트랜잭션의 누락을 미연에 방지할 수 있는 효과를 도모할 수 있다. In addition, according to an embodiment of the present invention, it is possible to prevent an omission of a transaction generated during a time when the target transaction is determined from the time of generation of the block in which the target transaction is stored.

본 발명은 도면에 도시된 실시예를 참고로 하여 설명되었으나 이는 예시적인 것에 불과하며, 당해 기술이 속하는 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호범위는 아래의 특허청구범위의 기술적 사상에 의하여 정해져야 할 것이다.The present invention has been described with reference to the embodiment shown in the drawings, but this is only exemplary, and those skilled in the art to which the art belongs understand that various modifications and other equivalent embodiments are possible therefrom. will be. Therefore, the true technical protection scope of the present invention should be determined by the technical spirit of the claims below.

100-1, 100-2, …, 100-n : 노드
200 : 블록체인 네트워크
100-1, 100-2,… , 100-n: node
200: blockchain network

Claims (7)

스마트 컨트랙트를 지연 실행시키기 위한 블록체인 시스템에 있어서,
사용자에 의해 프로세스를 입력받아 특정 트랜잭션을 생성하는 복수의 노드,
상기 복수의 노드 중에서 현재의 시점마다 블록을 생성하는 블록 생성 노드에서 브로드캐스팅한 블록을 제공받아 검증을 하고 이를 참여하고 있는 노드에 배포하는 블록체인네트워크를 포함하며,
상기 노드는,
사용자에 의해 설정된 예약 시점에서 실행하고자 하는 예약 트랜잭션 또는 예약 스마트컨트랙트를 추가 생성하여 상기 블록 생성 노드에 전달하는 블록체인 시스템.
In the blockchain system for delayed execution of smart contracts,
Multiple nodes that receive a process by a user and create a specific transaction,
A block chain network that receives a block broadcasted by a block generating node that generates a block at each current point of time among the plurality of nodes, verifies and distributes it to participating nodes,
The node,
A blockchain system that generates a reservation transaction or a reservation smart contract to be executed at the reservation point set by the user and delivers it to the block creation node.
제1항에 있어서,
상기 예약 트랜잭션 또는 예약 스마트컨트랙트는,
현재 시점에서 생성되는 블록에 다른 트랜잭션과 같이 저장되며,
현재 블록이 생성된 시점에서는 실행되지 않고, 상기 예약된 시점에서 처리되는 정보를 포함하는 블록체인 시스템.
According to claim 1,
The reservation transaction or reservation smart contract,
It is stored in the block created at the current time like other transactions,
Blockchain system that includes information that is not executed at the time the current block is created, but is processed at the reserved time.
제2항에 있어서,
상기 예약 트랜잭션은,
상기 예약된 시점에서 처리가 필요한 행위에 대한 정보를 포함하는 블록체인 시스템.
According to claim 2,
The reservation transaction,
Blockchain system that contains information about the action that needs to be processed at the reserved time.
제2항에 있어서,
상기 예약 스마트컨트랙트는,
상기 예약된 시점에서 상기 트랜잭션에 대응하여 처리 수행되는 블록체인 시스템.
According to claim 2,
The reservation smart contract,
Blockchain system that is processed in response to the transaction at the scheduled time.
제1항에 있어서,
상기 예약된 시점은,
상기 블록체인네트워크에 브로드캐스팅된 상기 트랜잭션을 검증하고, 검증이 완료하여 확정된 시점을 나타내는 블록체인 시스템.
According to claim 1,
The above scheduled times are:
A blockchain system that verifies the transaction broadcast on the blockchain network and indicates when the verification is completed and confirmed.
제5항에 있어서,
상기 트랜잭션은,
상기 현재의 시점에서 생성된 블록으로부터 추후 6번째의 블록이 생성되는 시점에 확정되는 블록체인 시스템.
The method of claim 5,
The transaction,
Blockchain system that is confirmed at the time when the 6th block is created from the block created at the current time.
제1항에 있어서,
상기 블록 생성 노드는,
현재 블록을 기준으로 6번째 전에 생성된 블록에 포함된 예약 트랜잭션 또는 예약 스마트컨트랙트를 실행하는 블록체인 시스템.
According to claim 1,
The block generation node,
Blockchain system that executes the reservation transaction or reservation smart contract included in the block created 6th ago based on the current block.
KR1020180169533A 2018-12-26 2018-12-26 Blockchain system for delaying execution of smart contract KR102192032B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180169533A KR102192032B1 (en) 2018-12-26 2018-12-26 Blockchain system for delaying execution of smart contract

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180169533A KR102192032B1 (en) 2018-12-26 2018-12-26 Blockchain system for delaying execution of smart contract

Publications (2)

Publication Number Publication Date
KR20200079877A true KR20200079877A (en) 2020-07-06
KR102192032B1 KR102192032B1 (en) 2020-12-16

Family

ID=71571368

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180169533A KR102192032B1 (en) 2018-12-26 2018-12-26 Blockchain system for delaying execution of smart contract

Country Status (1)

Country Link
KR (1) KR102192032B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112600664A (en) * 2020-12-09 2021-04-02 杭州复杂美科技有限公司 Delayed transaction generation method, delayed transaction execution device and storage medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018087836A1 (en) * 2016-11-09 2018-05-17 株式会社日立製作所 Blockchain transaction system and blockchain transaction method
KR20180115779A (en) * 2016-02-23 2018-10-23 엔체인 홀딩스 리미티드 How to Implement a Block Chain for Controlling and Distributing Digital Content

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180115779A (en) * 2016-02-23 2018-10-23 엔체인 홀딩스 리미티드 How to Implement a Block Chain for Controlling and Distributing Digital Content
WO2018087836A1 (en) * 2016-11-09 2018-05-17 株式会社日立製作所 Blockchain transaction system and blockchain transaction method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112600664A (en) * 2020-12-09 2021-04-02 杭州复杂美科技有限公司 Delayed transaction generation method, delayed transaction execution device and storage medium
CN112600664B (en) * 2020-12-09 2022-06-24 杭州复杂美科技有限公司 Delayed transaction generation method, delayed transaction execution device and storage medium

Also Published As

Publication number Publication date
KR102192032B1 (en) 2020-12-16

Similar Documents

Publication Publication Date Title
EP3610436B1 (en) Rapid distributed consensus on blockchain
Puthal et al. Everything you wanted to know about the blockchain: Its promise, components, processes, and problems
JP7472333B2 (en) METHOD AND SYSTEM FOR MINING BLOCKCHAIN TRANSACTIONS PROVIDED BY VALIDATOR NODES
TWI740423B (en) System and method for providing privacy and security protection in blockchain-based private transactions
US20210390161A1 (en) Content contract system, content contract method, rights holder terminal, alienee terminal, content accumulation server, rights holder program, alienee program, control program, and content accumulation program
JP7102425B2 (en) Computer-implemented systems and methods
WO2020082078A1 (en) Privacy preserving validation and commit architecture
KR20180115779A (en) How to Implement a Block Chain for Controlling and Distributing Digital Content
TW201935377A (en) Asset management method and device and electronic equipment
JP2020524925A (en) System and method for multi-round token distribution using blockchain network
US11386426B2 (en) Invoice invalidation method and apparatus based on blockchain, and electronic device
JP2023076628A (en) Computer-implemented systems and methods relating to binary blockchain comprising one pair of coupled blockchains
CN111416709A (en) Voting method, device, equipment and storage medium based on block chain system
US20210397678A1 (en) Right-holder terminal, user terminal, right-holder program, user program, content usage system, and content usage method
KR102260226B1 (en) Block chain system and method thereof
KR102192032B1 (en) Blockchain system for delaying execution of smart contract
KR102137641B1 (en) Transactional Batch Processing System and Method using Block Chain
CN112070498A (en) Ownership processing system and method
KR102084916B1 (en) Block chain creation system with sequence hash and method
JP2023106055A (en) Evidence management method, evidence management system, and node
KR102174228B1 (en) Blockchain connection system for connection between public block and private block

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant