KR20210013915A - Blockchain system for transaction scheduling and method for transaction scheduling using the same - Google Patents

Blockchain system for transaction scheduling and method for transaction scheduling using the same Download PDF

Info

Publication number
KR20210013915A
KR20210013915A KR1020190091719A KR20190091719A KR20210013915A KR 20210013915 A KR20210013915 A KR 20210013915A KR 1020190091719 A KR1020190091719 A KR 1020190091719A KR 20190091719 A KR20190091719 A KR 20190091719A KR 20210013915 A KR20210013915 A KR 20210013915A
Authority
KR
South Korea
Prior art keywords
transaction
blockchain
future
block
transactions
Prior art date
Application number
KR1020190091719A
Other languages
Korean (ko)
Other versions
KR102257368B1 (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 KR1020190091719A priority Critical patent/KR102257368B1/en
Publication of KR20210013915A publication Critical patent/KR20210013915A/en
Application granted granted Critical
Publication of KR102257368B1 publication Critical patent/KR102257368B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1865Transactional file systems
    • 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
    • G06Q10/00Administration; Management
    • G06Q10/02Reservations, e.g. for tickets, services or events
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • 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/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Tourism & Hospitality (AREA)
  • Computing Systems (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Operations Research (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • Development Economics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

The present invention relates to a blockchain system for transaction scheduling and a method for transaction scheduling using the same. According to one embodiment of the present invention, the blockchain system for transaction scheduling comprises a plurality of blockchain nodes. Each of the blockchain nodes includes: a communication module which performs data transmission/reception; a memory storing a blockchain management program; and a processor which executes the blockchain program. The blockchain management program includes: a logic for generating a plurality of transactions by a request of each blockchain node; and a logic for digging a block including the generated transaction. The transaction includes a reservation transaction defining a future transaction to be conducted in the future by a smart contract. The present invention is able to reserve a transaction in the blockchain system for processing smart contracts.

Description

트랜잭션의 스케줄링을 수행하는 블록체인 시스템 및 이를 이용한 트랜잭션 스케줄링 방법 {BLOCKCHAIN SYSTEM FOR TRANSACTION SCHEDULING AND METHOD FOR TRANSACTION SCHEDULING USING THE SAME}Blockchain system that performs transaction scheduling and transaction scheduling method using it {BLOCKCHAIN SYSTEM FOR TRANSACTION SCHEDULING AND METHOD FOR TRANSACTION SCHEDULING USING THE SAME}

본 발명은 트랜잭션의 스케줄링을 수행하는 블록체인 시스템과 이를 이용한 트랜잭션 스케줄링 방법에 관한 것이다.The present invention relates to a block chain system that performs transaction scheduling and a transaction scheduling method using the same.

분산형 디지털 화폐로서 블록체인이 개발된 이후 최근까지 다양한 형태로 연구가 진행되고 있다. 블록체인 기술은 P2P 방식을 기반으로 하여 소규모 데이터들이 연결리스트 또는 체인 형태로 연결되어 형성된 '블록'이라는 분산 데이터 저장 환경에 관리 대상이 되는 데이터를 저장하고, 임의로 수정할 수 없게 하면서, 누구나 해당 데이터를 검색할 수 있게 하는 기술이다. 최초의 블록체인 기반 어플리케이션인 비트코인(Bitcoin)을 시작으로 블록체인이 개발되었으며, 이후 이더리움(Ethereum)은 스마트 컨트랙트(contract)를 구현하였으며, 현재에도 여러 가지 기술들이 접목되어 여러 분야에서 블록체인을 활용하려는 시도가 계속되고 있다.Since the development of the blockchain as a decentralized digital currency, research has been conducted in various forms until recently. Blockchain technology is based on the P2P method and stores the data to be managed in a distributed data storage environment called'block' formed by connecting small data in the form of a linked list or chain, and makes it impossible for anyone to modify the data. It is a technology that makes it possible to search. Blockchain was developed starting with Bitcoin, the first blockchain-based application, and after that, Ethereum implemented a smart contract. Attempts to take advantage of

블록체인은 최초블록부터 연결리스트의 형태로 블록들을 연쇄적으로 저장하는 시스템으로, 블록체인을 이용하는 각 노드 또는 클라이언트마다 P2P방식으로 블록들을 동기화하여 보유한다. 블록체인에 트랜잭션 또는 거래(Transaction)는 각 주체간의 거래 단위로서, 공개키 암호 방식 기반으로 그 유효성을 증명한다. Blockchain is a system that sequentially stores blocks in the form of a linked list from the first block, and each node or client using the blockchain synchronizes and holds blocks in a P2P method. In the blockchain, a transaction or transaction is a unit of transaction between each subject, proving its validity based on public key cryptography.

스마트 컨트랙트는 블록체인 기반으로 체결하는 계약을 의미하며, 블록체인의 기본 데이터 단위인 트랜잭션의 실행 결과로 탬퍼링 방지 (tamper proof) 속성을 가진다. 이런 속성 덕분에 스마트 컨트랙트는 제 3 자없이 기존의 계약 방식을 대체할 수 있다. 스마트 컨트랙트는 제 3 자 없이 그 자체로 신뢰를 보장하므로, 신뢰 할 수 있을 뿐 만 아니라 비용 측면에서 효율적이다. 하지만 계약의 이행을 보장하는 제 3 자가 없기 때문에 퍼블릭 블록체인에서 계약이 이행되지 않을 수 있다. 사용자만이 트랜잭션을 생성할 수 있고, 트랜잭션이 실행되지 않으면 상태 기계(state machine) 를 수정할 수 없어 계약이 이행되지 않기 때문이다. 따라서 트랜잭션의 실행을 보장하는 트랜잭션을 스케줄링해야 할 필요가 있다. Smart contract refers to a contract concluded based on a blockchain, and has a tamper proof property as a result of execution of a transaction, which is the basic data unit of the blockchain. Thanks to these properties, smart contracts can replace the existing contract method without a third party. A smart contract guarantees trust by itself without a third party, so it is not only reliable but also cost-effective. However, since there is no third party to guarantee the execution of the contract, the contract may not be executed on the public blockchain. This is because only the user can create a transaction, and if the transaction is not executed, the state machine cannot be modified and the contract is not executed. Therefore, it is necessary to schedule a transaction that guarantees the execution of the transaction.

이러한 필요성에 따라 본 발명에서는 제 3 자의 개입없이 트랜잭션을 예약할 수 있는 트랜잭션 스케줄링 방법을 제안한다.In accordance with this need, the present invention proposes a transaction scheduling method that can reserve a transaction without the intervention of a third party.

대한민국 공개특허공보 제10-2018-0085570 호(발명의 명칭: 블록 체인을 이용하여 데이터를 관리하는 장치 및 방법)Republic of Korea Patent Publication No. 10-2018-0085570 (title of the invention: device and method for managing data using a block chain)

본 발명에서는 전술한 문제점을 해결하기 위하여, 스마트 컨트랙트를 처리하는 블록체인 시스템에서 트랜잭션을 예약 할 수 있는 기능을 가진 블록체인 시스템 및 이를 이용한 트랜잭션 스케줄링 방법을 제공하고자 한다.In order to solve the above-described problem, the present invention is to provide a block chain system having a function to reserve a transaction in a block chain system that processes smart contracts, and a transaction scheduling method using the same.

다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.However, the technical problem to be achieved by the present embodiment is not limited to the technical problem as described above, and other technical problems may exist.

본 발명의 일 실시예에 따른 트랜잭션의 스케줄링을 수행하는 블록체인 시스템은 복수의 블록체인 노드를 포함하고, 각각의 블록체인 노드는 데이터 송수신을 수행하는 통신모듈, 블록체인 관리 프로그램이 저장된 메모리, 상기 블록체인 프로그램을 실행하는 프로세서를 포함한다. 이때, 블록체인 관리 프로그램은 상기 각각의 블록체인 노드의 요청에 의하여 복수의 트랜잭션을 생성하는 로직 및 생성된 트랜잭션을 포함하는 블록을 채굴하는 로직을 포함하되, 상기 트랜잭션은 스마트 컨트랙트에 의해 미래에 수행될 미래 트랜잭션을 정의한 예약 트랜잭션을 포함하는 것이다.The blockchain system for scheduling transactions according to an embodiment of the present invention includes a plurality of blockchain nodes, each of which is a communication module for transmitting and receiving data, a memory storing a blockchain management program, and the It contains a processor that runs a blockchain program. At this time, the blockchain management program includes logic for generating a plurality of transactions at the request of each of the blockchain nodes and logic for mining blocks including the generated transaction, and the transaction is performed in the future by a smart contract. It contains a reservation transaction that defines future transactions to be made.

본 발명의 일 실시예에 따른 블록체인 시스템을 이용한 트랜잭션의 스케줄링 방법은 복수의 트랜잭션을 생성하는 단계; 및 생성된 트랜잭션을 포함하는 블록을 채굴하는 단계를 포함하되, 상기 복수의 트랜잭션은 스마트 컨트랙트에 의해 미래에 수행될 미래 트랜잭션을 정의한 예약 트랜잭션을 포함하는 것이다.A method of scheduling a transaction using a blockchain system according to an embodiment of the present invention includes the steps of: generating a plurality of transactions; And mining a block including the generated transaction, wherein the plurality of transactions includes a reservation transaction defining a future transaction to be performed in the future by the smart contract.

본 발명의 일 실시예에 따른 제안하는 방법은 스마트 컨트랙트에 트랜잭션을 예약 할 수 있는 기능을 추가한다. 한 노드가 트랜잭션을 예약하는 함수를 배포하면 모든 노드가 트랜잭션을 예약하는 함수 트랜잭션을 실행하여 예약된 트랜잭션을 자신의 로컬 DB에 기록한다. 이후, 채굴 노드들이 새로운 블록의 채굴을 시작할 때 마다 블록의 시간 정보와 예약된 트랜잭션의 시간 정보를 비교하여 예약된 트랜잭션을 새로운 블록에 추가 하도록 시도 한다.The proposed method according to an embodiment of the present invention adds a function to reserve a transaction to a smart contract. When one node distributes a function that reserves a transaction, all nodes execute a function that reserves the transaction and record the reserved transaction in its local DB. Thereafter, each time the mining nodes start mining a new block, the time information of the block and the time information of the reserved transaction are compared to attempt to add the reserved transaction to the new block.

이와 같이, 본 발명은 제 3자의 개입 없이 탈중앙화적으로 설계되어 있어, 시스템의 안정성을 보장한다. 또한, 제 3 자에게 비용을 지불하지 않으므로 비용 측면에서 효율적이어서, 더 많은 현실 세계의 계약이 스마트 컨트랙트로 구현되는 것을 돕는다. 특히, 규모가 작은 계약은 스케줄링 비용이 부담되지만, 본 발명에 따라 비용 절감이 가능하므로, 스마트 컨트랙트가 널리 보급되도록할 수 있고, 이를 통해 블록체인 기술이 보다 활성화되는데 기여할 수 있다.As described above, the present invention is designed decentralized without any third party intervention, thereby ensuring system stability. In addition, it is cost-effective because it does not pay third parties, helping more real-world contracts to be implemented as smart contracts. In particular, small-scale contracts are subject to scheduling costs, but since the cost can be reduced according to the present invention, smart contracts can be widely distributed, thereby contributing to further activation of blockchain technology.

도 1은 본 발명의 일 실시예에 따른 블록체인 시스템의 구성을 도시한 것이다.
도 2는 본 발명의 일 실시예에 따른 블록체인 노드를 도시한 도면이다.
도 3과 4는 종래의 트랜잭션 스케줄링 방법을 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 트랜잭션의 스케줄링 과정 중 예약 트랜잭션을 처리하는 과정을 도시한 순서도이다.
도 6은 본 발명의 일 실시예에 따른 트랜잭션의 스케줄링 과정 이후 블록 채굴 과정을 도시한 순서도이다.
도 7은 본 발명의 일 실시예에 따른 미래 트랜잭션의 구성을 도시한 도면이다.
1 shows the configuration of a block chain system according to an embodiment of the present invention.
2 is a diagram showing a block chain node according to an embodiment of the present invention.
3 and 4 are diagrams for explaining a conventional transaction scheduling method.
5 is a flowchart illustrating a process of processing a reservation transaction during a transaction scheduling process according to an embodiment of the present invention.
6 is a flowchart illustrating a block mining process after a transaction scheduling process according to an embodiment of the present invention.
7 is a diagram showing the configuration of a future transaction according to an embodiment of the present invention.

아래에서는 첨부한 도면을 참조하여, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나, 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고, 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those of ordinary skill in the art may easily implement the present invention. However, the present invention may be implemented in various different forms and is not limited to the embodiments described herein. Further, in the drawings, parts not related to the description are omitted in order to clearly describe the present invention, and similar reference numerals are attached to similar parts throughout the specification.

명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when a part is said to be "connected" with another part, this includes a case in which a part is "directly connected" and a case in which it is "electrically connected" with another element interposed therebetween. In addition, when a part "includes" a certain component, it means that other components may be further included rather than excluding other components unless specifically stated to the contrary.

도 1은 본 발명의 일 실시예에 따른 블록체인 시스템의 구성을 도시한 것이다.1 shows the configuration of a block chain system according to an embodiment of the present invention.

블록체인 시스템은 복수의 블록체인 노드(100)를 포함하여 이루어지며, 각각의 블록체인 노드는 블록체인 데이터를 각각 저장하고, 서로 네트워크를 구성하며, 각각의 블록체인 데이터와 동기화 상태를 유지한다. 이러한 블록체인 데이터에 포함된 각 블록에는 하나 이상의 트랜잭션이 저장되며, 이때 트랜잭션은 스마트 컨트랙트(30)에 대한 정보를 저장한다. 트랜잭션은 가상화폐를 교환하는데 사용될 뿐만 아니라, 스마트 컨트랙트를 배치하거나, 스마트 컨트랙트에 포함된 함수를 호출하는데 사용된다.The blockchain system includes a plurality of blockchain nodes 100, and each blockchain node stores blockchain data, forms a network with each other, and maintains synchronization with each blockchain data. One or more transactions are stored in each block included in the blockchain data, and the transaction stores information on the smart contract 30. Transactions are used not only to exchange cryptocurrency, but also to deploy smart contracts or to call functions contained in smart contracts.

일반 사용자(20)는 사용자 단말 또는 브라우저를 통해 블록체인 노드(100)에 접근하여, 블록체인 데이터에 저장된 트랜잭션에 대한 정보를 사용하거나, 스마트 컨트랙트를 사용할 수 있다.The general user 20 may access the blockchain node 100 through a user terminal or a browser, and use information about transactions stored in the blockchain data or use a smart contract.

예를 들어, 이더리움 블록체인 시스템은 EVM과 같은 가상머신에 기반하여 동작하며, 트랜잭션을 생성시키는 과정, 복수의 트랜잭션을 포함하는 블록을 채굴하는 과정, 스마트 컨트랙트를 생성하는 과정, 트랜잭션 또는 스마트 컨트랙트를 배포하는 과정, 트랜잭션 또는 스마트 컨트랙트를 실행하는 과정 등이 가상머신에 의하여 실행된다.For example, the Ethereum blockchain system operates based on a virtual machine such as an EVM, and the process of creating a transaction, the process of mining blocks containing multiple transactions, the process of creating a smart contract, a transaction or a smart contract The process of distributing and executing transactions or smart contracts is executed by the virtual machine.

스마트 컨트랙트는 지정된 코딩언어에 따라 작성되고 컴파일되며, 컴파일 결과로서 예를 들면, EVM 바이트 코드가 생성된다. 이와 같이 생성된, 스마트 컨트랙트는 각각의 트랜잭션에 포함되며, 블록체인 노드가 이러한 트랜잭션들을 포함하는 블록을 채굴하는 과정에서 블록에 포함되어, 다른 블록체인 노드에 배포된다.Smart contracts are written and compiled according to the designated coding language, and as a result of compilation, for example, EVM bytecode is generated. Smart contracts created in this way are included in each transaction, included in the block while the blockchain node mines the block containing these transactions, and distributed to other blockchain nodes.

도 2는 본 발명의 일 실시예에 따른 블록체인 노드를 도시한 도면이다.2 is a diagram showing a block chain node according to an embodiment of the present invention.

블록체인 노드(100)는, 통신 모듈(110), 메모리(120), 프로세서(130), 로컬 데이터베이스(DB: 140)를 포함할 수 있다.The blockchain node 100 may include a communication module 110, a memory 120, a processor 130, and a local database (DB: 140).

통신 모듈(110)은 통신망과 연동하여 블록체인 노드(100)에 통신 인터페이스를 제공하는데, 다른 블록체인 노드(100)와 접속상태를 유지하여 블록체인 데이터를 송수신하는데 사용된다. 또한, 블록체인 노드(100)에 접속하는 사용자 단말(20)과 데이터 통신을 수행하도록 한다. 여기서, 통신 모듈(110)은 다른 네트워크 장치와 유무선 연결을 통해 제어 신호 또는 데이터 신호와 같은 신호를 송수신하기 위해 필요한 하드웨어 및 소프트웨어를 포함하는 장치일 수 있다.The communication module 110 provides a communication interface to the blockchain node 100 by interworking with the communication network, and is used to transmit and receive blockchain data by maintaining a connection state with the other blockchain node 100. In addition, data communication is performed with the user terminal 20 connected to the block chain node 100. Here, the communication module 110 may be a device including hardware and software necessary for transmitting and receiving a signal such as a control signal or a data signal through a wired or wireless connection with another network device.

메모리(120)에는 블록체인 관리 프로그램이 저장된다. 이와 같은 블록체인 관리 프로그램은 앞서 설명한 복수의 블록체인 노드를 운영하는 가상머신 운영체제의 형태로 구현될 수 있다. 블록체인 관리 프로그램은 각각의 블록체인 노드의 요청에 의하여 복수의 트랜잭션을 생성하고, 생성된 트랜잭션을 포함하는 블록을 채굴하는 로직을 포함하되, 이때, 미래에 수행될 미래 트랜잭션을 정의한 예약 트랜잭션을 포함한다.A block chain management program is stored in the memory 120. Such a block chain management program can be implemented in the form of a virtual machine operating system that operates a plurality of block chain nodes described above. The blockchain management program generates a plurality of transactions at the request of each blockchain node, and includes logic to mine a block including the generated transaction, at this time, including a reservation transaction defining a future transaction to be performed in the future. do.

또한, 블록체인 관리 프로그램은 채굴이 완료된 블록에 포함된 트랜잭션들을 검증하기 위한 검증 로직을 포함하고, 검증 로직은 예약 트랜잭션에 의하여 정의된 미래 트랜잭션에 대한 내용을 각 블록체인 노드의 로컬 DB에 저장한다.In addition, the blockchain management program includes verification logic to verify transactions included in the block that has been mined, and the verification logic stores the details of future transactions defined by the reservation transaction in the local DB of each blockchain node. .

또한, 메모리(120)는 프로세서(130)가 처리하는 데이터를 일시적 또는 영구적으로 저장하는 기능을 수행할 수 있다. 여기서, 메모리(120)는 휘발성 저장 매체(volatile storage media) 또는 비휘발성 저장 매체(non-volatile storage media)를 포함할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.In addition, the memory 120 may perform a function of temporarily or permanently storing data processed by the processor 130. Here, the memory 120 may include a volatile storage medium or a non-volatile storage medium, but the scope of the present invention is not limited thereto.

프로세서(130)는 블록체인 관리 프로그램을 실행하여, 트랜잭션을 생성하는 로직, 블록을 채굴하는 로직 및 트랜잭션들을 검증하는 로직을 각각 수행한다. 여기서, 프로세서(130)는 프로세서(processor)와 같이 데이터를 처리할 수 있는 모든 종류의 장치를 포함할 수 있다. 여기서, '프로세서(processor)'는, 예를 들어 프로그램 내에 포함된 코드 또는 명령으로 표현된 기능을 수행하기 위해 물리적으로 구조화된 회로를 갖는, 하드웨어에 내장된 데이터 처리 장치를 의미할 수 있다. 이와 같이 하드웨어에 내장된 데이터 처리 장치의 일 예로서, 마이크로프로세서(microprocessor), 중앙처리장치(central processing unit: CPU), 프로세서 코어(processor core), 멀티프로세서(multiprocessor), ASIC(application-specific integrated circuit), FPGA(field programmable gate array) 등의 처리 장치를 망라할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.The processor 130 executes a block chain management program to perform logic for generating a transaction, a logic for mining blocks, and a logic for verifying transactions, respectively. Here, the processor 130 may include all types of devices capable of processing data, such as a processor. Here, the'processor' may refer to a data processing device embedded in hardware having a circuit physically structured to perform a function represented by a code or instruction included in a program. As an example of a data processing device built into the hardware as described above, a microprocessor, a central processing unit (CPU), a processor core, a multiprocessor, and an application-specific integrated (ASIC) circuit) and processing devices such as field programmable gate arrays (FPGAs), but the scope of the present invention is not limited thereto.

로컬 데이터베이스(140)는 블록체인 네트워크를 통해 교환되는 블록체인 데이터를 각각 저장한다. 블록체인 시스템의 특성에 의하여 각 로컬 데이터베이스(140)에 저장되는 블록체인 데이터는 동기화된다. 한편, 본 발명의 동작에 따라, 예약 트랜잭션에 의하여 정의된 미래 트랜잭션에 대한 내용이 각각의 로컬 데이터베이스(140)에 저장된다.The local database 140 stores each blockchain data exchanged through the blockchain network. Blockchain data stored in each local database 140 is synchronized according to the characteristics of the blockchain system. Meanwhile, according to the operation of the present invention, contents of future transactions defined by the reservation transaction are stored in each local database 140.

도 3과 4는 종래의 트랜잭션 스케줄링 방법을 설명하기 위한 도면이다. 3 and 4 are diagrams for explaining a conventional transaction scheduling method.

도 3에 도시된 바와 같이, 스마트 컨트랙트를 생성하는 트랜잭션이 실행되면, 신규 컨트랙트에 대한 주소가 할당되고, 컴파일된 소스 코드와 초기 변수값이 상태 머신에 저장된다. 이후, 스마트 컨트랙트의 주소와 함수의 식별자를 지정하여, 스마트 컨트랙트에 포함된 함수가 호출될 수 있으며, 함수 호출 이후 변수값이 변경될 수 있다. 그러나, 퍼블릭 블록체인에서의 스마트 컨트랙트의 이행 또는 상태 변화는 각각의 트랜잭션을 모두 실행하여야 이루어진다. 스마트 컨트랙트의 상태를 변경시키기 위해서는 상태 DB를 수정해야하는데, 이를 위해서는 각각의 트랜잭션이 블록체인에 포함되어 실행되어야 하기 때문이다. 다만, 이와 같은 트랜잭션을 실행하기 위해서는 각 블록체인 시스템에 의하여 정하여진 수수료(예를 들면, 이더리움의 경우 Gas)를 지불해야 하는데, 이 수수료 지불을 희망하지 않거나 낮은 수수료를 설정한 경우에는 스마트 컨트랙트를 실행할 트랜잭션이 실행되지 않는 경우가 발생할 수 있다.As shown in FIG. 3, when a transaction for creating a smart contract is executed, an address for a new contract is allocated, and the compiled source code and initial variable values are stored in the state machine. Thereafter, by specifying the address of the smart contract and the identifier of the function, the function included in the smart contract can be called, and the variable value can be changed after the function is called. However, the implementation or state change of smart contracts in the public blockchain is accomplished only after each transaction is executed. In order to change the state of the smart contract, the state DB must be modified, because each transaction must be included in the blockchain and executed. However, in order to execute such a transaction, a fee set by each blockchain system (for example, Gas in the case of Ethereum) must be paid.If you do not wish to pay this fee or set a low fee, the smart contract There may be a case where the transaction to execute is not executed.

예를 들어, 도 3에서 제 2 상태로 변경된 이후, 사용자에 의해 함수 호출 트랜잭션이 생성되지 않으면 해당 스마트 컨트랙트는 실행을 보장할 수 없다. 이를 해소하기 위해, 개인키가 아닌 랜덤으로 생성한 개인키를 이용하여 트랜잭션의 함수를 호출하는 경우를 고려해 볼 수 있으나, 랜덤으로 생성한 개인키에 수수료가 설정될 확률은 0에 가깝기 때문에, 해결책이 될 수 없다. For example, after changing to the second state in FIG. 3, if a function call transaction is not generated by the user, the smart contract cannot guarantee execution. In order to solve this problem, we can consider the case of calling a function of a transaction using a randomly generated private key rather than a private key, but since the probability of setting a fee for a randomly generated private key is close to zero, the solution Can't be

도 4와 같이, 제 3자(third party)가 참여하는 방법도 고려할 수 있다.As shown in FIG. 4, a method in which a third party participates may also be considered.

사용자는 내부에 스케줄링 함수를 포함하는 스마트 컨트랙트를 생성한다. 이때, 스케줄링 함수는 스마트 컨트랙트가 실행되는 시점을 설정된 시간만큼 지연시키는 기능을 수행한다. 이때, 스케줄링 함수는 제 3 자에 의하여 제공되는 서비스로서, 제 3자는 스케줄링 함수의 실행 상태를 지속적으로 모니터링한다. 이에 따라, 스케줄링 함수에 사용자가 설정한 시간이 경과하고 나면, 제 3 자는 스케줄링된 트랜잭션이 실행되도록 한다. 그러나, 이와 같이 제 3 자가 개입하는 경우 보안적으로 취약하다는 단점이 있다.Users create a smart contract that includes a scheduling function inside. At this time, the scheduling function performs a function of delaying the execution time of the smart contract by a set time. At this time, the scheduling function is a service provided by a third party, and the third party continuously monitors the execution state of the scheduling function. Accordingly, after the time set by the user in the scheduling function elapses, the third party causes the scheduled transaction to be executed. However, if a third party intervenes in this way, there is a disadvantage of being vulnerable in security.

도 5는 본 발명의 일 실시예에 따른 트랜잭션의 스케줄링 과정 중 예약 트랜잭션을 처리하는 과정을 도시한 순서도이다.5 is a flowchart illustrating a process of processing a reservation transaction during a transaction scheduling process according to an embodiment of the present invention.

먼저, 사용자 노드 또는 다른 노드들에 의하여 트랜잭션의 생성 요청이 발생하며, 이는 블록체인 노드들에 접수되어, 여러 트랜잭션들을 생성한다(S510). 이때, 이러한 트랜잭션은 블록체인 노드의 트랜잭션 풀에 저장되어 관리된다. 트랜잭션은 스마트 컨트랙트를 포함하는 것으로서, 스마트 컨트랙트의 내용에 따라 미래에 수행될 미래 트랜잭션을 정의한 예약 트랜잭션이 포함될 수 있다.First, a request to create a transaction is generated by the user node or other nodes, which are received by the blockchain nodes, and generate several transactions (S510). At this time, these transactions are stored and managed in the transaction pool of the blockchain node. Transactions include smart contracts and may include reservation transactions that define future transactions to be performed in the future according to the contents of the smart contract.

여러 트랜잭션이 순차적으로 축적된 이후, 각각의 블록체인 노드는 신규 블록을 채굴하기 위한 경쟁을 수행한다(S512). 신규 블록이 채굴되면 이는 블록체인 네트워크를 통해 각각의 블록체인 노드로 전파되고, 각 블록체인 노드에 의하여 검증되며, 이러한 과정을 통해 각 블록체인 노드의 블록체인 데이터는 동기화된다. 한편, 각 블록체인 시스템에 따라 채굴을 시작하는 조건이 다소 상기한데, 각각의 블록체인 노드는 블록에 들어갈 트랜잭션들을 기재한 트랜잭션 리스트를 생성한다. 비트코인의 경우 블록의 크기가 1MB를 초과하지 않도록 트랜잭션 리스트를 생성하고, 이더리음의 경우 가스가 소정 금액을 초과하지 않도록 트랜잭션 리스트를 생성한다.After several transactions are sequentially accumulated, each blockchain node competes for mining a new block (S512). When a new block is mined, it is propagated to each blockchain node through the blockchain network, and is verified by each blockchain node, and through this process, the blockchain data of each blockchain node is synchronized. On the other hand, the conditions for starting mining according to each blockchain system are somewhat above mentioned, and each blockchain node creates a transaction list that describes the transactions that will enter the block. In the case of Bitcoin, a transaction list is created so that the block size does not exceed 1 MB, and in the case of Ethereum, a transaction list is created so that gas does not exceed a predetermined amount.

신규 블록 채굴이 완료된 후, 다음 트랜잭션이 있는지 여부를 확인하고(S514), 추가 트랜잭션이 없으면 블록 채굴을 종료한다(S516).After the new block mining is completed, it is checked whether there is a next transaction (S514), and if there is no additional transaction, block mining is terminated (S516).

다음 트랜잭션이 있는 경우(S518), 해당 트랜잭션이 예약 트랜잭션인지 여부를 확인한다(S520). 예약 트랜잭션은 사용자에 의하여 정의된 시간만큼 지연된 이후에 수행될 스마트 컨트랙트를 포함하는 미래 트랜잭션을 정의한 것이다. If there is a next transaction (S518), it is checked whether the corresponding transaction is a reservation transaction (S520). The reservation transaction defines a future transaction that includes a smart contract to be executed after it is delayed by a time defined by the user.

예약 트랜잭션이 식별된 경우, 예약 트랜잭션에 의하여 정의된 미래 트랜잭션은 각각의 블록체인 노드의 로컬 DB에 저장된다(S524). 이때, 미래 트랜잭션 시간 정보에 기초하여 저장된다.When the reservation transaction is identified, the future transaction defined by the reservation transaction is stored in the local DB of each blockchain node (S524). At this time, it is stored based on future transaction time information.

도 6은 본 발명의 일 실시예에 따른 트랜잭션의 스케줄링 과정 이후 블록 채굴 과정을 도시한 순서도이다.6 is a flowchart illustrating a block mining process after a transaction scheduling process according to an embodiment of the present invention.

먼저, 각각의 블록체인 노드에 의하여 복수의 트랜잭션을 포함하는 트랜잭션 풀이 관리된다(S610).First, a transaction pool including a plurality of transactions is managed by each blockchain node (S610).

신규 블록이 채굴되면, 채굴된 블록이 각각의 블록체인 노드에 추가된다(S612).When a new block is mined, the mined block is added to each block chain node (S612).

신규 블록이 채굴되면, 이후에 새롭게 채굴할 블록을 위해 트랜잭션 리스트를 준비한다(S614). 트랜잭션 리스트는 새롭게 채굴할 블록에 포함될 복수의 트랜잭션을 정리한 것이다.When a new block is mined, a transaction list is prepared for a block to be newly mined later (S614). The transaction list is a list of multiple transactions to be included in the block to be newly mined.

트랜잭션 리스트를 준비하기 위해, 각각의 로컬 DB에 저장된 트랜잭션들을 수집하는데, 앞서 도 5의 과정을 통해 로컬 DB에 저장된 미래 트랜잭션이 포함되어 있는지를 확인하고(S616), 미래 트랜잭션이 있는 경우에는 로컬 DB에서 로딩하여 트랜잭션 리스트에 포함시킨다(S618, S620). 이때, 미래 트랜잭션은 그 실행 시점이 채굴 대상이 되는 신규 블록의 시점과 같거나 그 이전인 경우에 한해 해당 미래 트랜잭션을 신규 블록에 포함시키도록 한다. 즉, 블록이 채굴되는 것은 블록에 포함되는 트랜잭션의 실행을 의미하므로, 미래 트랜잭션이 실행되도록 설정된 시점에 맞게 블록에 포함되어 채굴되어야, 해당 스마트 컨트랙트가 실행될 수 있다. 적어도, 블록이 채굴되는 시점 이후에 실행되는 것으로 예정된 미래 트랜잭션은 트랜잭션 리스트에 포함되지 않도록 한다.In order to prepare a transaction list, transactions stored in each local DB are collected. Prior to the process of FIG. 5, it is checked whether future transactions stored in the local DB are included (S616), and if there is a future transaction, the local DB It is loaded from and included in the transaction list (S618, S620). At this time, the future transaction is included in the new block only when the execution time is the same as or before the time of the new block to be mined. That is, since a block is mined means the execution of a transaction included in the block, the smart contract can be executed only when it is included and mined in the block according to the time set to execute the future transaction. At the very least, make sure that future transactions scheduled to be executed after the block is mined are not included in the transaction list.

이와 같은 과정을 통해 트랜잭션 리스트가 완성되면, 각 블록체인 노드가 신규 블록의 채굴을 위한 경쟁을 수행하게 된다(S624). When the transaction list is completed through such a process, each blockchain node competes for mining a new block (S624).

도 7은 본 발명의 일 실시예에 따른 미래 트랜잭션의 구성을 도시한 도면이다.7 is a diagram showing the configuration of a future transaction according to an embodiment of the present invention.

미래 트랜잭션은 기본적으로 해당 트랜잭션을 수행하는 과정에서 지불하는 수수료에 대한 정보를 포함하는데, 예를 들면, 가스(Gas)의 가격과 한도에 대한 정보를 포함할 수 있다. 또한, 트랜잭션을 통해 처리되는 스마트 컨트랙트의 상세 정보로서 예를 들면, 금액의 총량(amount)과 관련 데이터를 포함할 수 있다. 또한, 미래 트랜잭션이 포함될 블록의 번호, 미래 트랜잭션을 지정한 스마트 컨트랙트의 주소 정보를 포함한다. 이때, 미래 트랜잭션이 포함될 블록의 번호는 예약 트랜잭션의 생성시에 미리 예측하여 지정된다. 예를 들어, 블록이 생성되는 시간은 미리 설정된 주기(비트코인의 경우 10분)마다 반복되므로, 예약 트랜잭션이 미래 트랜잭션의 실행 시점을 설정하였다면, 그 시점에 맞춰, 미래 트랜잭션이 포함될 블록의 번호를 미리 추정할 수 있다. 즉, 10000분 후의 시간에 미래 트랜잭션이 실행될 것으로 예약을 한다면, 가장 최근에 생성된 블록의 번호에 10000분/블록생성시간을 더하여 블록번호를 추정할 수 있다.The future transaction basically includes information on fees paid in the process of performing the transaction, and may include information on the price and limit of gas, for example. In addition, as detailed information of the smart contract processed through a transaction, for example, it may include an amount of money and related data. In addition, it includes the number of the block to be included in the future transaction, and the address information of the smart contract specifying the future transaction. At this time, the number of the block to be included in the future transaction is predicted and specified in advance when the reservation transaction is created. For example, the time at which a block is created is repeated every preset period (10 minutes in case of Bitcoin), so if the reservation transaction has set the execution time of the future transaction, the number of the block containing the future transaction will be selected according to that time. Can be estimated in advance. That is, if a reservation is made that a future transaction will be executed at a time after 10000 minutes, the block number can be estimated by adding 10000 minutes/block generation time to the number of the most recently generated block.

이와 같이, 예약 트랜잭션을 통해 미래에 수행될 미래 트랜잭션을 정의하고, 해당 미래 트랜잭션이 그 실행 시점에 맞춰 블록으로서 채굴되도록 하는 과정을 통해, 트랜잭션의 스케줄링을 수행할 수 있다. 또한, 미래 트랜잭션은 또 다른 미래 트랜잭션을 포함할 수 있으며, 이를 통해 보다 복잡한 형태의 스마트 컨트랙트를 구현할 수 있다.In this way, through a process of defining a future transaction to be performed in the future through a reservation transaction, and allowing the corresponding future transaction to be mined as a block according to the execution time, it is possible to perform transaction scheduling. In addition, future transactions can include other future transactions, and through this, a more complex form of smart contract can be implemented.

예를 들면, 임대인과 임차인 사이에 제 3자의 개입 없이 부동산 월세 계약을 체결하는 경우, 예약 트랜잭션을 통해 매월 주기적으로 실행되는 미래 트랜잭션을 설정할 수 있다. 미래 트랜잭션은 매월 주기적으로 실행되어, 최종 계약기간이 만료되었는지 여부를 확인하고, 계약 만료전이라면 월세를 지급하는 조건으로 설계될 수 있다. 이러한 미래 트랜잭션이 자동으로 블록에 포함되어 실행되므로, 트랜잭션의 스케줄링을 통해 제 3 자의 개입없이도, 스마트 컨트랙트가 자동으로 실행될 수 있다.For example, when a real estate rent contract is concluded between a landlord and a tenant without a third party's intervention, a future transaction that is periodically executed every month can be set through a reservation transaction. Future transactions are executed periodically every month, check whether the final contract period has expired, and if the contract is before expiration, it can be designed under the condition of paying monthly rent. Since these future transactions are automatically included in the block and executed, smart contracts can be automatically executed without the intervention of a third party through transaction scheduling.

한편, 본 발명의 일 실시예에 따른 블록체인 시스템에서의 트랜잭션 스케줄링 방법은 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 본 발명의 방법 및 시스템은 특정 실시예와 관련하여 설명되었지만, 그것들의 구성 요소 또는 동작의 일부 또는 전부는 범용 하드웨어 아키텍쳐를 갖는 컴퓨터 시스템을 사용하여 구현될 수 있다.Meanwhile, the method of scheduling a transaction in a blockchain system according to an embodiment of the present invention may be implemented in the form of a recording medium including instructions executable by a computer, such as a program module executed by a computer. Computer-readable media can be any available media that can be accessed by a computer, and includes both volatile and nonvolatile media, removable and non-removable media. Further, the computer-readable medium may include a computer storage medium. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Although the methods and systems of the present invention have been described in connection with specific embodiments, some or all of their components or operations may be implemented using a computer system having a general-purpose hardware architecture.

이상의 설명은 본 발명의 기술적 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다.The above description is merely illustrative of the technical idea of the present invention, and those of ordinary skill in the art to which the present invention pertains will be able to make various modifications and variations without departing from the essential characteristics of the present invention.

따라서, 본 발명에 개시된 실시예는 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술적 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.Accordingly, the embodiments disclosed in the present invention are not intended to limit the technical idea of the present invention, but to explain the technical idea, and the scope of the technical idea of the present invention is not limited by these embodiments. The scope of protection of the present invention should be interpreted by the claims below, and all technical ideas within the scope equivalent thereto should be interpreted as being included in the scope of the present invention.

100: 블록체인 노드
110: 통신 모듈
120: 메모리
130: 프로세서
140: 로컬 데이터베이스
100: Blockchain Node
110: communication module
120: memory
130: processor
140: local database

Claims (9)

트랜잭션의 스케줄링을 수행하는 블록체인 시스템에 있어서,
상기 블록체인 시스템은 복수의 블록체인 노드를 포함하고,
각각의 블록체인 노드는 데이터 송수신을 수행하는 통신모듈, 블록체인 관리 프로그램이 저장된 메모리, 상기 블록체인 프로그램을 실행하는 프로세서를 포함하되,
상기 블록체인 관리 프로그램은 상기 각각의 블록체인 노드의 요청에 의하여 복수의 트랜잭션을 생성하는 로직 및 생성된 트랜잭션을 포함하는 블록을 채굴하는 로직을 포함하되, 상기 트랜잭션은 스마트 컨트랙트에 의해 미래에 수행될 미래 트랜잭션을 정의한 예약 트랜잭션을 포함하는 것인 블록체인 시스템.
In a blockchain system that performs transaction scheduling,
The blockchain system includes a plurality of blockchain nodes,
Each blockchain node includes a communication module that performs data transmission/reception, a memory in which a blockchain management program is stored, and a processor that executes the blockchain program,
The blockchain management program includes logic for generating a plurality of transactions at the request of each of the blockchain nodes and logic for mining a block including the generated transaction, wherein the transaction will be executed in the future by a smart contract. A blockchain system that includes reservation transactions that define future transactions.
제 1 항에 있어서
상기 미래 트랜잭션은 해당 트랜잭션을 수행하는 과정에서 지불하는 수수료에 대한 정보, 상기 미래 트랜잭션에 의하여 수행되는 거래의 상세 정보, 상기 미래 트랜잭션이 포함될 블록의 번호 및 상기 미래 트랜잭션을 지정한 스마트 컨트랙트의 주소 정보를 포함하는 것인 블록체인 시스템.
The method of claim 1
The future transaction includes information on a fee paid in the process of executing a corresponding transaction, detailed information on a transaction performed by the future transaction, a block number in which the future transaction will be included, and address information of a smart contract specifying the future transaction. Blockchain system that includes.
제 1 항에 있어서
상기 블록체인 관리 프로그램은 채굴이 완료된 블록에 포함된 트랜잭션들을 검증하기 위한 검증 로직을 포함하고, 상기 검증 로직은 상기 블록에 예약 트랜잭션이 포함된 경우, 상기 예약 트랜잭션에 의하여 정의된 미래 트랜잭션에 대한 내용을 각 블록체인 노드의 로컬 DB에 저장하는 것인 블록체인 시스템.
The method of claim 1
The blockchain management program includes a verification logic for verifying transactions included in a block in which mining has been completed, and the verification logic is the content of a future transaction defined by the reservation transaction when the block contains a reservation transaction. Blockchain system that stores the data in the local DB of each blockchain node.
제 1 항에 있어서
상기 채굴 로직은 가장 최근에 채굴이 완료된 블록이 생성된 이후 각 블록체인 노드의 로컬 DB에 수집된 트랜잭션들을 포함하는 신규 블록을 채굴하도록 하되, 상기 로컬 DB에 미래 트랜잭션이 저장된 경우, 해당 미래 트랜잭션의 실행 시점이 채굴 대상이 되는 신규 블록의 시점과 같거나 그 이전인 경우에 한해 해당 미래 트랜잭션을 신규 블록에 포함시키는 것인 블록체인 시스템.
The method of claim 1
The mining logic is to mine a new block including transactions collected in the local DB of each blockchain node after the most recently mined block is created, but if a future transaction is stored in the local DB, the corresponding future transaction Blockchain system in which the future transaction is included in the new block only if the execution time is the same as or before the time of the new block to be mined.
블록체인 시스템을 이용한 트랜잭션의 스케줄링 방법에 있어서,
복수의 트랜잭션을 생성하는 단계; 및
생성된 트랜잭션을 포함하는 블록을 채굴하는 단계를 포함하되,
상기 복수의 트랜잭션은 스마트 컨트랙트에 의해 미래에 수행될 미래 트랜잭션을 정의한 예약 트랜잭션을 포함하는 것인 트랜잭션의 스케줄링 방법.
In the transaction scheduling method using a blockchain system,
Generating a plurality of transactions; And
Including the step of mining a block containing the generated transaction,
The plurality of transactions includes a reservation transaction defining a future transaction to be performed in the future by a smart contract.
제 5 항에 있어서
상기 미래 트랜잭션은 해당 트랜잭션을 수행하는 과정에서 지불하는 수수료에 대한 정보, 상기 미래 트랜잭션에 의하여 수행되는 거래의 상세 정보, 상기 미래 트랜잭션이 포함될 블록의 번호 및 상기 미래 트랜잭션을 지정한 스마트 컨트랙트의 주소 정보를 포함하는 트랜잭션의 스케줄링 방법.
The method of claim 5
The future transaction includes information on a fee paid in the process of executing a corresponding transaction, detailed information on a transaction performed by the future transaction, a block number in which the future transaction will be included, and address information of a smart contract specifying the future transaction. How to schedule the containing transaction.
제 5 항에 있어서
상기 채굴이 완료된 블록에 포함된 트랜잭션들을 검증하는 단계를 더 포함하고,
상기 검증하는 단계는 상기 블록에 예약 트랜잭션이 포함된 경우, 상기 예약 트랜잭션에 의하여 정의된 미래 트랜잭션에 대한 내용을 각 블록체인 노드의 로컬 DB에 저장하는 것인 트랜잭션의 스케줄링 방법.
The method of claim 5
Further comprising the step of verifying transactions included in the block in which the mining has been completed,
In the verifying step, if the block contains a reservation transaction, the transaction scheduling method is to store the contents of a future transaction defined by the reservation transaction in a local DB of each blockchain node.
제 5 항에 있어서
상기 블록을 채굴하는 단계는
가장 최근에 채굴이 완료된 블록이 생성된 이후 각 블록체인 노드의 로컬 DB에 수집된 트랜잭션들을 포함하는 신규 블록을 채굴하도록 하되, 상기 로컬 DB에 미래 트랜잭션이 저장된 경우, 해당 미래 트랜잭션의 실행 시점이 채굴 대상이 되는 신규 블록의 시점과 같거나 그 이전인 경우에 한해 해당 미래 트랜잭션을 신규 블록에 포함시키는 것인 트랜잭션의 스케줄링 방법.
The method of claim 5
The step of mining the block
After the most recently mined block is created, a new block including transactions collected in the local DB of each blockchain node is mined.If a future transaction is stored in the local DB, the execution point of the future transaction is mined A transaction scheduling method in which a corresponding future transaction is included in a new block only if it is the same as or before the target new block.
제 5 항 내지 제 8 항 중 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium storing a program for executing the method of claim 5 on a computer.
KR1020190091719A 2019-07-29 2019-07-29 Blockchain system for transaction scheduling and method for transaction scheduling using the same KR102257368B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190091719A KR102257368B1 (en) 2019-07-29 2019-07-29 Blockchain system for transaction scheduling and method for transaction scheduling using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190091719A KR102257368B1 (en) 2019-07-29 2019-07-29 Blockchain system for transaction scheduling and method for transaction scheduling using the same

Publications (2)

Publication Number Publication Date
KR20210013915A true KR20210013915A (en) 2021-02-08
KR102257368B1 KR102257368B1 (en) 2021-05-27

Family

ID=74560294

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190091719A KR102257368B1 (en) 2019-07-29 2019-07-29 Blockchain system for transaction scheduling and method for transaction scheduling using the same

Country Status (1)

Country Link
KR (1) KR102257368B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102510353B1 (en) * 2022-03-31 2023-03-15 주식회사 지골프메이커스 Method and system for providing golf service based blockchain

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004164450A (en) * 2002-11-15 2004-06-10 Hitachi Ltd Transaction reservation executing system
US20170161102A1 (en) * 2014-07-10 2017-06-08 Oracle International Corporation Process scheduling and execution in distributed computing environments
WO2018087836A1 (en) * 2016-11-09 2018-05-17 株式会社日立製作所 Blockchain transaction system and blockchain transaction method
KR20180085570A (en) 2017-01-19 2018-07-27 주식회사 케이티 Apparatus for managing data using block chain and method thereof
US20190108519A1 (en) * 2017-10-11 2019-04-11 International Business Machines Corporation Transaction scheduling for block space on a blockchain
KR20190067846A (en) * 2016-10-17 2019-06-17 에이알엠 리미티드 Block chain mining using trusted nodes

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004164450A (en) * 2002-11-15 2004-06-10 Hitachi Ltd Transaction reservation executing system
US20170161102A1 (en) * 2014-07-10 2017-06-08 Oracle International Corporation Process scheduling and execution in distributed computing environments
KR20190067846A (en) * 2016-10-17 2019-06-17 에이알엠 리미티드 Block chain mining using trusted nodes
WO2018087836A1 (en) * 2016-11-09 2018-05-17 株式会社日立製作所 Blockchain transaction system and blockchain transaction method
KR20180085570A (en) 2017-01-19 2018-07-27 주식회사 케이티 Apparatus for managing data using block chain and method thereof
US20190108519A1 (en) * 2017-10-11 2019-04-11 International Business Machines Corporation Transaction scheduling for block space on a blockchain

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102510353B1 (en) * 2022-03-31 2023-03-15 주식회사 지골프메이커스 Method and system for providing golf service based blockchain

Also Published As

Publication number Publication date
KR102257368B1 (en) 2021-05-27

Similar Documents

Publication Publication Date Title
US20190354518A1 (en) Chain mesh network for decentralized transaction systems
CN111445333B (en) Block generation method, device, computer equipment and storage medium
CN112686671B (en) Intelligent contract deployment method, device, equipment and medium based on block chain
CN111259078A (en) Block chain consensus method, block chain consensus device, computer equipment and storage medium
CN110060161B (en) Client service implementation method and service assembly for block chain transaction repetition prevention
CN110597916B (en) Data processing method and device based on block chain, storage medium and terminal
CN111818185B (en) Method and device for starting intelligent contract, electronic equipment and storage medium
CN111597567B (en) Data processing method, data processing device, node equipment and storage medium
CN112015823B (en) Block chain data deleting method and device
CN110599349A (en) Data processing method based on block chain network, related equipment and storage medium
CN112381543A (en) Multiple signature transaction method, device and storage medium
CN110599144A (en) Network access method and device for block link points
KR102257368B1 (en) Blockchain system for transaction scheduling and method for transaction scheduling using the same
CN112699136B (en) Cross-link certificate storage method and related device
CN113034137A (en) Data processing method and device based on block chain and related equipment
CN109391643B (en) Block chain lightweight processing method, block chain node and storage medium
CN111325586B (en) Bill generation method, device, server and medium based on block chain network
KR102272810B1 (en) Method and system for operating blockchain real time ecosystem
US11736299B2 (en) Data access control for edge devices using a cryptographic hash
CN110458541B (en) Object replacement method and device based on block chain
CN109492847B (en) Multi-resource platform based on block chain and multi-resource allocation method
CN117057913A (en) Block chain management method, device, computer, storage medium and program product
CN112417052B (en) Data synchronization method, device, equipment and storage medium in block chain network
CN113469811A (en) Block chain transaction processing method and device
CN114201206A (en) Intelligent contract dynamic upgrading method based on agent contracts in block chain

Legal Events

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