KR102159431B1 - Method and apparatus for providing contract service based on blockchain - Google Patents

Method and apparatus for providing contract service based on blockchain Download PDF

Info

Publication number
KR102159431B1
KR102159431B1 KR1020180121569A KR20180121569A KR102159431B1 KR 102159431 B1 KR102159431 B1 KR 102159431B1 KR 1020180121569 A KR1020180121569 A KR 1020180121569A KR 20180121569 A KR20180121569 A KR 20180121569A KR 102159431 B1 KR102159431 B1 KR 102159431B1
Authority
KR
South Korea
Prior art keywords
contract
node
subscription
acceptance
blockchain
Prior art date
Application number
KR1020180121569A
Other languages
Korean (ko)
Other versions
KR20200041490A (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 KR1020180121569A priority Critical patent/KR102159431B1/en
Publication of KR20200041490A publication Critical patent/KR20200041490A/en
Application granted granted Critical
Publication of KR102159431B1 publication Critical patent/KR102159431B1/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
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • 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/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3827Use of message hashing
    • 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/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • 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
    • 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/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
    • 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 method and apparatus for providing a contract service based on a block chain. A blockchain network that provides contract services on a blockchain may include a plurality of nodes operating on the blockchain network and a blockchain that is mined by at least one of the plurality of nodes, but the blockchain network is a contract on the blockchain. A service is provided, and the plurality of nodes may include a contract service providing node, a contract subscription node, and a contract acceptance node.

Figure R1020180121569
Figure R1020180121569

Description

블록체인 기반의 계약 서비스 제공 방법 및 장치{Method and apparatus for providing contract service based on blockchain}Method and apparatus for providing contract service based on blockchain}

본 발명은 블록체인 기반의 계약 서비스 제공 방법 및 장치에 관한 것이다. 보다 상세하게는 계약에 대한 청약자 및 승낙자의 인증을 보다 편리하게 수행하고, 계약의 위조 및 변조를 막기 위한 블록체인 기반의 계약 서비스 제공 방법 및 이러한 방법을 수행하는 장치에 관한 것이다.The present invention relates to a method and apparatus for providing a contract service based on a block chain. In more detail, it relates to a method of providing a blockchain-based contract service and an apparatus for performing such a method in order to more conveniently perform authentication of subscribers and acceptors for a contract, and to prevent forgery and alteration of the contract.

블록체인은 퍼블릭 네트워크 또는 프라이빗 네트워크에서 일어나는 거래 정보가 암호화되어 해당 네트워크 구성원 간 공유되는 디지털 원장(ledger)일 수 있다.Blockchain can be a digital ledger that is shared between members of the network by encrypting transaction information occurring in a public or private network.

거래 원장의 복사본이 각 네트워크 구성원에게 분산되어(distributed) 새로운 거래가 발생할 때마다 구성원들의 동의를 통해 해당 거래에 대한 인증 절차가 진행될 수 있다.A copy of the transaction ledger is distributed to each network member so that each time a new transaction occurs, the authentication process for the transaction can proceed with the consent of the members.

블록체인에 기반한 거래 정보는 임의로 변경이 불가능하기 때문에 거래의 신뢰성이 높아지고 정보 추적이 용이하다. 특히 금융 서비스 분야에서는 블록체인 기술을 적용하여 업무 효율성을 높이고 새로운 서비스 기반을 구축하기 위한 노력이 진행 중이다.Since transaction information based on the blockchain cannot be arbitrarily changed, the reliability of transactions is increased and information tracking is easy. In particular, in the field of financial services, efforts are being made to increase work efficiency and establish a new service base by applying blockchain technology.

분산 장부 시스템을 통한 투명한 거래로 보안, 감독, 규제 비용 절감이 가능하다. 블록체인 기술은 금융 분야뿐만 아니라 물류, 유통, 나아가 정부 공공 행정 서비스에도 적용될 수 있다.It is possible to reduce security, supervision, and regulatory costs through transparent transactions through a distributed ledger system. Blockchain technology can be applied not only to the financial sector, but also to logistics, distribution, and even government public administration services.

블록체인을 기반으로 계약 기술에 대한 연구도 진행되고 있는데, 기존의 공인인증서를 필요로 하는 전자 계약 서비스를 대신하여 블록체인 상의 본인 인증을 통해 보다 간단하게 본인 인증 절차를 진행하고 계약을 진행할 수 있는 블록 체인 기반의 비대면 인증 전자계약 서비스에 대한 연구가 필요하다.Research on contract technology based on blockchain is also underway, and instead of the existing electronic contract service that requires an accredited certificate, it is possible to more simply proceed with the identity verification process and proceed with the contract through identity authentication on the blockchain. There is a need for research on blockchain-based non-face-to-face authentication electronic contract services.

본 발명은 상술한 문제점을 모두 해결하는 것을 그 목적으로 한다.An object of the present invention is to solve all of the above-described problems.

또한, 본 발명은, 기존의 계약시 발생하였던 계약에 대한 위조 및/또는 변조에 대한 확인 및 계약의 청약자, 계약의 승낙자에 대한 인증을 보다 투명하고 편리하게 수행하는 것을 목적으로 한다.In addition, it is an object of the present invention to more transparently and conveniently perform confirmation of forgery and/or alteration of a contract that occurred during an existing contract, and authentication of subscribers of contracts and consenters of contracts.

또한, 본 발명은, 계약 관련 정보에 대한 원본과 계약 관련 정보에 대한 해시값을 이용하여 원본에 대한 보안성을 높이고 해시값을 기반으로 한 계약 관련 정보의 위조/변조에 대해 정확하고 편리하게 판단하는 것을 목적으로 한다.In addition, the present invention increases the security of the original by using the original contract-related information and the hash value of the contract-related information, and accurately and conveniently judges forgery/falsification of contract-related information based on the hash value. It aims to do.

또한, 본 발명은, 계약 당사자의 계약 조항에 맞추어 보다 쉽게 스마트 컨트랙트(smart contract)(또는 블록체인 코드)를 블록체인 상의 블록에 생성함으로써 보다 편리하게 블록체인 기술을 이용하여 계약을 이행하는 것을 목적으로 한다.In addition, the present invention aims to more conveniently create a smart contract (or block chain code) in a block on the blockchain in accordance with the contract terms of the contracting party, thereby more conveniently implementing the contract using blockchain technology. To do.

상기 목적을 달성하기 위한 본 발명의 대표적인 구성은 다음과 같다.A typical configuration of the present invention for achieving the above object is as follows.

본 발명의 일 태양에 따르면, 블록체인 상에서 계약 서비스를 제공하는 블록체인 네트워크는 상기 블록체인 네트워크 상에서 동작하는 복수의 노드와 상기 복수의 노드 중 적어도 하나의 노드에 의해 마이닝되는 블록체인을 포함할 수 있되, 상기 블록체인 네트워크는 상기 블록체인 상에서 계약 서비스를 제공하고, 상기 복수의 노드는 계약 서비스 제공 노드, 계약 청약 노드 및 계약 승낙 노드를 포함할 수 있다.According to an aspect of the present invention, a blockchain network providing a contract service on a blockchain may include a plurality of nodes operating on the blockchain network and a block chain mined by at least one node among the plurality of nodes. However, the blockchain network provides a contract service on the blockchain, and the plurality of nodes may include a contract service providing node, a contract subscription node, and a contract acceptance node.

본 발명의 다른 태양에 따르면, 블록체인 상에서 계약 서비스를 제공하는 방법은 복수의 노드가 상기 블록체인 네트워크 상에서 상기 계약 서비스를 위한 동작을 수행하는 단계와 상기 복수의 노드 중 적어도 하나의 노드가 블록을 마이닝하여 상기 블록체인을 생성하는 단계를 포함할 수 있되, 상기 복수의 노드는 계약 서비스 제공 노드, 계약 청약 노드 및 계약 승낙 노드를 포함할 수 있다.According to another aspect of the present invention, a method of providing a contract service on a blockchain includes steps in which a plurality of nodes perform an operation for the contract service on the blockchain network, and at least one node among the plurality of nodes generates a block. It may include the step of generating the block chain by mining, and the plurality of nodes may include a contract service providing node, a contract subscription node, and a contract acceptance node.

본 발명에 의하면, 기존의 계약시 발생하였던 계약에 대한 위조 및/또는 변조에 대한 확인 및 계약의 청약자, 계약의 승낙자에 대한 인증이 보다 투명하고 편리하게 수행될 수 있다.According to the present invention, confirmation of forgery and/or alteration of a contract that occurred during an existing contract, and authentication of a subscriber of a contract and an acceptor of a contract can be performed more transparently and conveniently.

또한, 본 발명에 의하면, 계약 관련 정보에 대한 원본과 해시값을 이용하여 원본에 대한 보안성이 향상되고 해시값을 기반으로 한 계약 관련 정보의 위조 및/또는 변조가 정확하고 편리하게 판단될 수 있다.In addition, according to the present invention, the security of the original is improved by using the original and the hash value of the contract-related information, and the forgery and/or alteration of the contract-related information based on the hash value can be accurately and conveniently determined. have.

또한, 본 발명에 의하면, 계약 당사자의 계약 조항에 맞추어 보다 쉽게 스마트컨트랙트를 블록체인 상의 블록에 생성함으로써 보다 편리하게 블록체인 기술을 이용하여 계약이 투명하게 이행될 수 있다.In addition, according to the present invention, a smart contract can be more easily created in a block on the blockchain according to the contract terms of the contracting party, so that the contract can be transparently executed using the blockchain technology.

도 1은 본 발명의 실시예에 따른 블록체인 기반의 계약 시스템을 나타낸 개념도이다.
도 2 및 도 3은 본 발명의 실시예에 따른 블록체인 기반의 계약 시스템 및 계약 청약 노드에 의해 발생되는 트랜잭션을 나타낸 개념도이다.
도 4 및 도 5는 본 발명의 실시예에 따른 블록체인 기반의 계약 시스템 및 계약 승낙 노드에 의해 발생되는 트랜잭션을 나타낸 개념도이다.
도 6은 본 발명의 실시예에 따른 계약의 위조 또는 변조를 탐지하는 방법을 나타낸 개념도이다.
도 7은 본 발명의 실시예에 따른 블록체인 상에서 계약 이행을 수행하기 위한 방법을 나타낸 개념도이다.
도 8은 본 발명의 실시예에 따른 블록체인 상에 계약 조항을 설정하는 방법을 나타낸 개념도이다.
1 is a conceptual diagram showing a block chain-based contract system according to an embodiment of the present invention.
2 and 3 are conceptual diagrams showing transactions generated by a blockchain-based contract system and a contract subscription node according to an embodiment of the present invention.
4 and 5 are conceptual diagrams illustrating transactions generated by a blockchain-based contract system and a contract acceptance node according to an embodiment of the present invention.
6 is a conceptual diagram showing a method of detecting forgery or falsification of a contract according to an embodiment of the present invention.
7 is a conceptual diagram showing a method for performing contract execution on a blockchain according to an embodiment of the present invention.
8 is a conceptual diagram showing a method of setting a contract clause on a blockchain according to an embodiment of the present invention.

후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이러한 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 본 명세서에 기재되어 있는 특정 형상, 구조 및 특성은 본 발명의 정신과 범위를 벗어나지 않으면서 일 실시예로부터 다른 실시예로 변경되어 구현될 수 있다. 또한, 각각의 실시예 내의 개별 구성요소의 위치 또는 배치도 본 발명의 정신과 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 행하여 지는 것이 아니며, 본 발명의 범위는 특허청구범위의 청구항들이 청구하는 범위 및 그와 균등한 모든 범위를 포괄하는 것으로 받아들여져야 한다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 구성요소를 나타낸다.DETAILED DESCRIPTION OF THE INVENTION The detailed description of the present invention to be described below refers to the accompanying drawings, which illustrate specific embodiments in which the present invention may be practiced. These embodiments are described in detail sufficient to enable those skilled in the art to practice the present invention. It is to be understood that the various embodiments of the present invention are different from each other but need not be mutually exclusive. For example, specific shapes, structures, and characteristics described herein may be changed from one embodiment to another and implemented without departing from the spirit and scope of the present invention. In addition, it should be understood that the positions or arrangements of individual elements in each embodiment may be changed without departing from the spirit and scope of the present invention. Therefore, the detailed description to be described later is not intended to be limited, and the scope of the present invention should be taken as encompassing the scope claimed by the claims of the claims and all scopes equivalent thereto. Like reference numerals in the drawings indicate the same or similar elements over several aspects.

이하에서는, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 여러 바람직한 실시예에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.Hereinafter, various preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings in order to enable those skilled in the art to easily implement the present invention.

기존의 전자 계약 방법의 경우, 본인(계약의 청약자, 계약의 승낙자)의 인증을 위해 다양한 방법이 사용되었다. 예를 들어, 공인인증서를 이용한 본인 인증, 휴대폰을 이용한 인증 방법 등이 사용되어 계약의 청약자, 계약의 승낙자에 대한 인증 절차가 진행되었다. In the case of the existing electronic contract method, various methods were used to authenticate the person (subscriber of contract, acceptor of contract). For example, personal authentication using an accredited certificate and an authentication method using a mobile phone were used to proceed with the authentication process for the subscriber of the contract and the acceptor of the contract.

본 발명의 실시예에 따른 블록체인 기반의 계약 서비스 제공 방법 및 장치에서는 공인인증서 또는 휴대폰을 이용한 인증 절차 대신에 블록체인 기반의 본인 인증 절차가 개시된다.In the method and apparatus for providing a blockchain-based contract service according to an embodiment of the present invention, a blockchain-based identity authentication procedure is initiated instead of an authentication procedure using a public certificate or a mobile phone.

도 1은 본 발명의 실시예에 따른 블록체인 기반의 계약 시스템을 나타낸 개념도이다. 1 is a conceptual diagram showing a block chain-based contract system according to an embodiment of the present invention.

도 1에서는 블록체인 기반의 계약 시스템의 구성하는 블록체인, 전자 계약 서비스 제공 노드, 계약 청약 노드, 계약 승낙 노드가 개시된다. In FIG. 1, a block chain, an electronic contract service providing node, a contract subscription node, and a contract acceptance node, constituting a block chain-based contract system are disclosed.

도 1을 참조하면, 블록체인 기반의 계약 서비스를 위한 블록체인 시스템은 블록체인 네트워크(100), 계약 서비스 제공 노드(110), 계약 청약 노드 및 계약 승낙 노드를 포함할 수 있다.Referring to FIG. 1, a block chain system for a block chain-based contract service may include a block chain network 100, a contract service providing node 110, a contract subscription node, and a contract acceptance node.

블록체인 네트워크(100)는 블록체인 네트워크(100)를 구성하는 노드에 의해 발생되는 다양한 트랜잭션을 저장 및/또는 처리하는 블록체인을 생성할 수 있다. 블록체인에 포함되는 복수의 블록 각각 상에는 일정 시간(블록 생성 시기) 동안 발생되고 노드에 의해 검증된 트랜잭션 정보가 포함될 수 있다. 또한, 노드의 검증 후 블록체인에 연결된 블록에 대한 정보는 블록체인 네트워크(100)를 구성하는 노드들에게 전파될 수 있다. The blockchain network 100 may create a blockchain that stores and/or processes various transactions generated by nodes constituting the blockchain network 100. On each of the plurality of blocks included in the blockchain, transaction information generated for a certain period of time (block creation time) and verified by the node may be included. In addition, after verification of the node, information on the block connected to the block chain may be propagated to nodes constituting the block chain network 100.

블록체인에 연결되는 블록은 마이닝을 기반으로 생성될 수 있는데 마이닝 방식은 POW(proof of work), POS(proof of stake), DPOS(delegated proof of stake) 등과 같이 다양한 방식이 사용될 수 있다. 블록은 이전 블록의 정보를 포함하여 마이닝되고, 이러한 마이닝 방식은 블록 상에 기록된 트랙잭션 정보에 대한 변조를 막을 수 있다.Blocks connected to the blockchain can be created based on mining, and various methods such as proof of work (POW), proof of stake (POS), and delegated proof of stake (DPOS) can be used. Blocks are mined including information of a previous block, and this mining method can prevent modulation of transaction information recorded on the block.

블록체인을 구성하는 각 블록은 블록체인 상에서 발생되는 암호화 화폐의 이동에 대한 정보, 스마트 컨트랙트(smart contract)와 같은 블록체인을 기반으로 특정 알고리즘을 수행하기 위한 프로그래밍 코드(또는 블록체인 코드) 등을 포함할 수 있다. Each block constituting the blockchain contains information on the movement of cryptocurrency generated on the blockchain, programming code (or blockchain code) to perform a specific algorithm based on the blockchain such as a smart contract. Can include.

블록체인 네트워크(100)를 구성하는 노드는 계약 서비스 제공 노드(110), 계약 청약 노드 및 계약 승낙 노드를 포함할 수 있다. 이뿐만 아니라, 블록체인 네트워크(100)를 구성하는 노드는 다른 다양한 성격의 기타 노드(예를 들어, 마이닝 노드, 월렛 노드 등)를 포함할 수도 있다. 블록체인 네트워크(100)는 기존의 이더리움(ethereum) 블록체인 네트워크와 같은 다른 블록체인 기반 서비스들도 사용 가능한 플랫폼 역할을 하는 네트워크이거나 본 발명의 실시예에 따른 전자 계약 서비스를 제공하기 위한 자체 블록체인 네트워크일 수 있다.Nodes constituting the blockchain network 100 may include a contract service providing node 110, a contract subscription node, and a contract acceptance node. In addition, the nodes constituting the blockchain network 100 may include other nodes of various characteristics (eg, mining nodes, wallet nodes, etc.). The blockchain network 100 is a network that serves as a platform that can use other blockchain-based services such as an existing Ethereum blockchain network, or its own block for providing an electronic contract service according to an embodiment of the present invention. It can be a chain network.

블록체인 네트워크(100)를 구성하는 노드는 계약 서비스 제공 노드(110), 계약 청약 노드(120) 및 계약 승낙 노드(130)를 포함할 수 있다. 이뿐만 아니라, 블록체인 네트워크(100)를 구성하는 노드는 다른 다양한 성격의 기타 노드(예를 들어, 마이닝 노드, 월렛 노드 등)를 포함할 수도 있다. 각 노드는 통신부와 프로세서를 포함하고, 통신부는 블록체인 네트워크 및/또는 다른 노드와의 통신을 위해 구현되고, 프로세서는 통신부와 동작 가능하게(operatively) 연결될 수 있다.Nodes constituting the blockchain network 100 may include a contract service providing node 110, a contract subscription node 120, and a contract acceptance node 130. In addition, the nodes constituting the blockchain network 100 may include other nodes of various characteristics (eg, mining nodes, wallet nodes, etc.). Each node includes a communication unit and a processor, the communication unit is implemented for communication with a blockchain network and/or other nodes, and the processor may be operatively connected to the communication unit.

블록체인 네트워크(100)는 기존의 이더리움(ethereum) 블록체인 네트워크와 같은 다른 블록체인 기반 서비스들도 사용 가능한 플랫폼 역할을 하는 네트워크이거나 본 발명의 실시예에 따른 블록체인 기반의 계약 서비스만을 제공하기 위한 자체 블록체인 네트워크일 수 있다.The blockchain network 100 is a network that serves as a platform where other blockchain-based services such as an existing Ethereum blockchain network can also be used, or provides only a blockchain-based contract service according to an embodiment of the present invention. It can be its own blockchain network for

계약 서비스 제공 노드(110)는 블록체인 기반의 계약 서비스를 블록 체인 상에 구현하고 블록체인 기반의 계약 서비스를 제공하기 위해 구현될 수 있다. 예를 들어, 계약 서비스 제공 노드(110)는 이더리움 블록체인 네트워크를 통해 블록체인 상에 계약 서비스를 위한 스마트 컨트랙트를 저장할 수 있다. 업로드된 스마트 컨트랙트를 기반으로 계약 청약 노드(120), 계약 승낙 노드(130)에 의해 발생되는 트랜잭션이 처리되어 이하, 본 발명의 실시예에서 개시되는 블록체인 기반 계약 서비스가 제공될 수 있다. 계약 서비스 제공 노드(110)는 블록체인 기반 계약 서비스를 개발하고 서비스하는 파운데이션의 노드일 수 있다. 계약 서비스 제공 노드(110)에 의해 블록체인 상에 구현된 블록체인 기반 계약 서비스는 보다 구체적으로 후술된다.The contract service providing node 110 may be implemented to implement a block chain-based contract service on a block chain and provide a block chain-based contract service. For example, the contract service providing node 110 may store a smart contract for a contract service on the blockchain through the Ethereum blockchain network. Transactions generated by the contract subscription node 120 and the contract acceptance node 130 are processed based on the uploaded smart contract, so that the blockchain-based contract service disclosed in the embodiment of the present invention may be provided below. The contract service providing node 110 may be a node of a foundation that develops and services blockchain-based contract services. The blockchain-based contract service implemented on the blockchain by the contract service providing node 110 will be described in more detail later.

계약 청약 노드(120)는 계약 서비스 제공 노드에 의해 제공되는 블록 체인 기반 계약 서비스를 이용하여 계약의 청약을 요청하는 노드일 수 있다. 계약 청약 노드(120)는 청약을 요청하는 계약서를 블록체인 상에 업로드할 수 있다. 청약을 요청하는 계약서는 계약 서비스 제공 노드(110)에 의해 생성되어 블록체인 상에 업로드될 수도 있다. 예를 들어, 계약 청약 노드(120)는 계약 정보(예를 들어, 계약 조항)를 계약 서비스 제공 노드(110)로 전송하고, 계약 서비스 제공 노드(110)가 계약서를 생성하여 블록체인 상에 업로드할 수도 있다.The contract subscription node 120 may be a node that requests a contract subscription by using a blockchain-based contract service provided by a contract service providing node. The contract subscription node 120 may upload a contract requesting subscription on the blockchain. The contract requesting subscription may be generated by the contract service providing node 110 and uploaded on the blockchain. For example, the contract subscription node 120 transmits contract information (for example, a contract clause) to the contract service providing node 110, and the contract service providing node 110 creates a contract and uploads it on the blockchain. You may.

스마트 컨트랙트를 기반으로 계약 승낙 노드의 프라이빗 키 및 계약 청약 노드의 프라이빗 키를 사용한 계약서에 대한 인증 절차 및 변조 여부에 대한 확인을 통해 계약 절차가 진행될 수 있다.Based on the smart contract, the contract process can be carried out by verifying whether or not the contract using the private key of the contract acceptance node and the private key of the contract subscription node is used and whether it is tampered with.

계약 승낙 노드(130)는 계약 청약 노드(120)에 의해 생성된 계약서를 수신하고, 블록체인 상에서 프라이빗 키를 이용한 인증 절차를 수행하여 계약에 대해 승낙할 수 있다.The contract acceptance node 130 may receive the contract generated by the contract subscription node 120 and accept the contract by performing an authentication procedure using the private key on the blockchain.

이하, 본 발명의 실시예에서는 블록체인 상의 계약 절차를 위한 계약 서비스 제공 노드, 계약 승낙 노드, 계약 청약 노드의 동작이 구체적으로 개시된다.Hereinafter, in an embodiment of the present invention, operations of a contract service providing node, a contract acceptance node, and a contract subscription node for a contract procedure on a blockchain are specifically disclosed.

도 2 및 도 3은 본 발명의 실시예에 따른 블록체인 기반의 계약 시스템 및 계약 청약 노드에 의해 발생되는 트랜잭션을 나타낸 개념도이다.2 and 3 are conceptual diagrams showing transactions generated by a blockchain-based contract system and a contract subscription node according to an embodiment of the present invention.

도 2 및 도 3에서는 블록체인을 기반으로 계약을 진행하기 위한 과정이 개시된다. 특히, 계약 서비스 제공 노드가 블록체인 코드(스마트컨트랙트)를 업로드하고, 블록체인 코드를 기반으로 계약 청약 노드가 계약서를 생성하여 블록체인을 통해 계약 승낙 노드로 전송하는 과정이 개시된다. 이하, 블록체인 기반의 계약 서비스는 블록체인 코드(스마트 컨트랙트)를 기반으로 수행될 수 있다.In FIGS. 2 and 3, a process for proceeding with a contract based on a block chain is started. In particular, the process of uploading a block chain code (smart contract) by the contract service provider node, and the contract subscription node creating a contract based on the block chain code and transmitting it to the contract acceptance node through the block chain is initiated. Hereinafter, a blockchain-based contract service can be performed based on a blockchain code (smart contract).

도 2 및 도 3을 참조하면, 계약 서비스 제공 노드(250), 계약 청약 노드(260) 및 계약 승낙 노드(270) 각각은 퍼블릭 키(public key) 및 프라이빗 키(private key)를 할당받을 수 있다.2 and 3, each of the contract service providing node 250, the contract subscription node 260, and the contract acceptance node 270 may be assigned a public key and a private key. .

계약 서비스 제공 노드(250), 계약 청약 노드(260) 및 계약 승낙 노드(270) 각각의 퍼블릭 키(public key)(계약 서비스 제공 노드 퍼블릭 키, 계약 청약 노드 퍼블릭 키, 계약 승낙 노드 퍼블릭 키)는 공개되어 확인 가능하고, 계약 서비스 제공 노드(250), 계약 청약 노드(260) 및 계약 승낙 노드(270) 각각의 프라이빗 키(private key)(계약 서비스 제공 노드 프라이빗 키, 계약 청약 노드 프라이빗 키, 계약 승낙 노드 프라이빗 키)는 비공개되어 할당된 각 노드만이 알 수 있다.The public key (contract service providing node public key, contract subscription node public key, contract acceptance node public key) of each of the contract service providing node 250, contract subscription node 260, and contract acceptance node 270 The private key of each of the contract service providing node 250, the contract subscription node 260, and the contract acceptance node 270 (contract service providing node private key, contract subscription node private key, contract The consent node private key) is private and can only be known by each assigned node.

계약 청약 노드(260)는 계약 관련 정보(계약 청약 노드)를 생성할 수 있다.The contract subscription node 260 may generate contract-related information (contract subscription node).

계약 관련 정보(계약 청약 노드)는 계약 청약 노드 트랜잭션(원본)(200)에 포함되어 전송될 수 있고, 계약 관련 정보(계약 청약 노드)는 계약 정보(계약 청약 노드)(300), 계약 청약자 정보(계약 청약 노드)(310), 계약 승낙자 정보(계약 청약 노드)(320) 및 계약 승낙 노드 식별 정보(계약 청약 노드)(330)를 포함할 수 있다.Contract-related information (contract subscription node) may be included in the contract subscription node transaction (original) 200 and transmitted, and contract-related information (contract subscription node) is contract information (contract subscription node) 300, contract subscriber information It may include a (contract subscription node) 310, contract consenter information (contract subscription node) 320, and contract acceptance node identification information (contract subscription node) 330.

계약 관련 정보(계약 청약 노드)에 포함되는 각각의 정보는 아래와 같은 구체적인 정보를 포함할 수 있다.Each information included in the contract-related information (contract subscription node) may include detailed information as follows.

계약 정보(계약 청약 노드)(300)는 계약 청약 노드(260)에 의해 생성된 계약서에 포함될 계약 조항에 대한 정보를 포함할 수 있다.The contract information (contract subscription node) 300 may include information on a contract clause to be included in the contract generated by the contract subscription node 260.

계약 청약자 정보(계약 청약 노드)(310)는 계약 청약 노드(260)에 의해 생성된 계약을 청약하는 청약자의 정보(예를 들어, 이름, 주소 등)을 포함할 수 있다.The contract subscriber information (contract subscription node) 310 may include information (eg, name, address, etc.) of a subscriber who subscribes to a contract generated by the contract subscription node 260.

계약 승낙자 정보(계약 청약 노드)(320)는 계약 청약 노드(260)에 의해 생성된 계약을 승낙할 승낙자의 정보(예를 들어, 이름, 주소 등)를 포함할 수 있다. 계약 승낙자 정보(계약 청약 노드)(320)는 계약 승낙자를 특정하기 위한 정보일 수 있다.The contract acceptor information (contract subscription node) 320 may include information (eg, name, address, etc.) of an acceptor who will accept the contract generated by the contract subscription node 260. The contract acceptor information (contract subscription node) 320 may be information for specifying a contract acceptor.

계약 승낙 노드 식별 정보(계약 청약 노드)(330)는 계약 청약 노드(260)에 의해 생성된 계약서를 수신하고 계약을 승낙할 노드의 식별 정보를 포함할 수 있다. 계약 승낙 노드 식별 정보는 계약 서비스 제공 노드(250)에 의해 제공될 수도 있다.The contract acceptance node identification information (contract subscription node) 330 may include identification information of a node to receive the contract generated by the contract subscription node 260 and accept the contract. The contract acceptance node identification information may be provided by the contract service providing node 250.

계약 청약 노드(260)는 계약 관련 정보에 대해 1차로 계약 청약 노드의 프라이빗 키로 암호화하고, 2차로 계약 승낙 노드의 퍼블릭키로 암호화한 계약 청약 노드 트랜잭션(원본)(200)을 블록체인 상으로 전송할 수 있고, 스마트 컨트랙트를 기반으로 계약 청약 노드 트랜잭션(원본)(200)은 계약 서비스 제공 노드(250)로 전송될 수 있다.The contract subscription node 260 may first encrypt the contract-related information with the private key of the contract subscription node and secondly transmit the contract subscription node transaction (original) 200 encrypted with the public key of the contract acceptance node on the blockchain. In addition, the contract subscription node transaction (original) 200 may be transmitted to the contract service providing node 250 based on the smart contract.

계약 청약 노드(260)는 계약 승낙자 정보(계약 청약 노드)(320)는 제외하고, 계약 청약 노드 트랜잭션(원본)(200)을 생성할 수도 있다. 계약 승낙자 정보(계약 청약 노드)(320)는 해시값을 기반으로 향후 계약 승낙자의 확인을 위해서만 사용되고, 계약 청약 노드 트랜잭션(원본)(200) 상에는 계약 승낙자 정보(계약 청약 노드)(320)가 제외될 수 있다.The contract subscription node 260 may generate a contract subscription node transaction (original) 200 excluding the contract acceptor information (contract subscription node) 320. Contract acceptor information (contract subscription node) 320 is used only for confirmation of future contract acceptors based on the hash value, and contract acceptor information (contract subscription node) 320 on the contract subscription node transaction (original) 200 May be excluded.

계약 청약 노드 트랜잭션(원본)(200)은 계약 승낙 노드 퍼블릭키로 암호화되므로 계약 승낙 노드 프라이빗키로만 복호화될 수 있다. 따라서, 계약 승낙 노드(270) 외에 어떠한 노드도 계약 관련 정보(계약 청약 노드)를 확인할 수 없다. 또한, 계약 청약 노드 트랜잭션(원본)(200)은 계약 청약 노드 프라이빗 키로 암호화화되므로, 계약 청약 노드 퍼블릭키만으로 복호화될 수 있다. 따라서, 계약 청약 노드 퍼블릭키로 계약 청약 노드 트랜잭션(원본)(200)이 복호화되는 경우, 계약 관련 정보(계약 청약 노드)는 계약 청약 노드(260)만이 생성할 수 있는 트랜잭션이므로 계약 청약 노드(260)에 대한 인증일 수 있다.Since the contract subscription node transaction (original) 200 is encrypted with the contract acceptance node public key, it can be decrypted only with the contract acceptance node private key. Therefore, no node other than the contract acceptance node 270 can check contract-related information (contract subscription node). In addition, since the contract subscription node transaction (original) 200 is encrypted with the contract subscription node private key, it can be decrypted only with the contract subscription node public key. Therefore, when the contract subscription node transaction (original) 200 is decrypted with the contract subscription node public key, contract-related information (contract subscription node) is a transaction that can only be generated by the contract subscription node 260, so the contract subscription node 260 It may be authentication for.

이후, 계약 승낙 노드(270)는 계약 청약 노드 트랜잭션(원본)(200)을 수신 후 계약 청약 노드 트랜잭션(원본)(200)에 대해 1차로 계약 승낙 노드 프라이빗키로 복호화하고, 2차로 계약 청약 노드 퍼블릭키로 복호화하여 계약 관련 정보(계약 청약 노드)를 확인할 수 있다.Thereafter, the contract acceptance node 270 receives the contract subscription node transaction (original) 200, first decrypts the contract subscription node transaction (original) 200 with the contract acceptance node private key, and secondly decrypts the contract subscription node public It can be decrypted with a key to check contract-related information (contract subscription node).

또한, 계약 청약 노드(260)는 계약 관련 정보(계약 청약 노드) 각각에 대한 해시값에 대해 계약 청약 노드의 프라이빗 키로 암호화한 계약 청약 노드 트랜잭션(해시값)(220)을 블록체인 상으로 전송될 수 있다. 해시값은 제3자가 역으로 복원할 수 없으므로 해시값에 대해서는 별도의 퍼블릭키로의 암호화가 필요없다.In addition, the contract subscription node 260 transmits a contract subscription node transaction (hash value) 220 encrypted with the private key of the contract subscription node for each hash value for each contract-related information (contract subscription node) on the blockchain. I can. Since the hash value cannot be reversely restored by a third party, there is no need for encryption with a separate public key for the hash value.

이후, 계약 청약 노드 트랜잭션(해시값)(220)은 계약 승낙 노드(270)의 계약에 대한 승낙 이후, 계약 관련 정보(계약 청약 노드)의 위조 또는 변조를 검토하기 위해 사용될 수 있다.Thereafter, the contract subscription node transaction (hash value) 220 may be used to review forgery or falsification of contract-related information (contract subscription node) after the contract acceptance node 270 accepts the contract.

계약 청약 노드 트랜잭션(해시값)(220)은 계약 정보 해시값(계약 청약 노드)(350), 계약 청약자 정보 해시값(계약 청약 노드)(360), 계약 승낙자 정보 해시값(계약 청약 노드)(370), 계약 승낙 노드 식별 정보 해시값(계약 청약 노드)(380)을 포함할 수 있다.Contract subscription node transaction (hash value) 220 is a hash value of contract information (contract subscription node) 350, hash value of contract subscriber information (contract subscription node) 360, and hash value of contract acceptor information (contract subscription node). (370), the contract acceptance node identification information hash value (contract subscription node) 380 may be included.

도 2및 도 3에서 개시된 절차를 통해 계약 관련 정보(계약 청약 노드)는 제3자에 의한 탈취 위험없이 계약 청약 노드 트랜잭션(원본)(290)을 통해 계약 승낙 노드(270)로 전송될 수 있고, 계약 청약 노드(260)의 인증 및 향후 위조 및/또는 변조의 검증을 위한 해시값이 블록 체인 상에 기록될 수 있다.Through the procedure disclosed in FIGS. 2 and 3, contract-related information (contract subscription node) can be transmitted to the contract acceptance node 270 through the contract subscription node transaction (original) 290 without risk of being stolen by a third party. , A hash value for authentication of the contract subscription node 260 and verification of forgery and/or tampering in the future may be recorded on the blockchain.

도 4 및 도 5는 본 발명의 실시예에 따른 블록체인 기반의 계약 시스템 및 계약 승낙 노드에 의해 발생되는 트랜잭션을 나타낸 개념도이다.4 and 5 are conceptual diagrams illustrating transactions generated by a blockchain-based contract system and a contract acceptance node according to an embodiment of the present invention.

도 4 및 도 5에서는 블록체인 기반의 계약을 진행하기 위한 과정이 개시된다. 특히, 도 2 및 도 3에서 전술한 계약 청약 노드에 의한 계약 관련 정보의 등록 및 계약 청약 노드의 인증 이후, 계약 승낙 노드에서의 계약 승낙 절차가 개시된다.In FIGS. 4 and 5, a process for proceeding with a blockchain-based contract is initiated. In particular, after registration of contract-related information by the contract subscription node described above in FIGS. 2 and 3 and authentication of the contract subscription node, a contract acceptance procedure in the contract acceptance node is started.

도 4 및 도 5를 참조하면, 전술한 바와 같이 블록체인 상에 전송된 계약 청약 노드 트랜잭션(원본)(430)은 스마트 컨트랙트를 기반으로 계약 숭낙 노드(470)로 전송될 수 있다. 계약 청약 노드 트랜잭션(원본)(430)은 계약 승낙 노드 식별 정보를 기반으로 특정된 계약 승낙 노드(470)로 전송될 수 있다. 블록체인 상에서 계약 청약 노드 트랜잭션(원본)(430)를 전송한 계약 청약 노드 퍼블릭키에 대한 정보, 계약 청약 노드 식별 정보도 계약 승낙 노드(470)로 전송될 수 있다.4 and 5, the contract subscription node transaction (original) 430 transmitted on the blockchain as described above may be transmitted to the contract sungnak node 470 based on the smart contract. The contract subscription node transaction (original) 430 may be transmitted to the specified contract acceptance node 470 based on the contract acceptance node identification information. Information on the public key of the contract subscription node that transmitted the contract subscription node transaction (original) 430 on the blockchain, and information on the identification of the contract subscription node may also be transmitted to the contract acceptance node 470.

계약 승낙 노드(470)는 계약 청약 노드 트랜잭션(원본)(430)을 수신한 후 계약 청약 노드 트랜잭션(원본)(430)에 대해 1차로 계약 승낙 노드 프라이빗키로 복호화하고, 2차로 계약 청약 노드 퍼블릭키로 복호화하여 계약 관련 정보(계약 청약 노드)를 확인할 수 있다.After receiving the contract subscription node transaction (original) 430, the contract acceptance node 470 first decrypts the contract subscription node transaction (original) 430 with the contract acceptance node private key, and secondly uses the contract subscription node public key. It can be decrypted to check contract-related information (contract subscription node).

계약 승낙 노드(470)는 계약 관련 정보(계약 청약 노드)를 확인하고, 계약 관련 정보에 동의하는 경우, 계약 승낙자 정보(계약 승낙 노드)(520)를 입력할 수 있다. 계약 승낙자 정보(계약 승낙 노드)(520)는 계약자의 이름, 주소 등에 대한 정보를 포함할 수 있다. 계약 승낙자 정보(계약 승낙 노드)(520)는 미리 입력되어 있을 수도 있다.The contract acceptance node 470 may check contract-related information (contract subscription node) and, when agreeing to the contract-related information, input contract acceptor information (contract acceptance node) 520. The contract acceptor information (contract acceptance node) 520 may include information on the name and address of the contractor. Contract acceptor information (contract acceptance node) 520 may be input in advance.

계약 승낙 노드(470)는 계약 관련 정보(계약 청약 노드)의 확인 후 계약 승낙 노드 트랜잭션(원본)(400)을 생성하여 블록체인 상으로 전송할 수 있다.After confirming the contract-related information (contract subscription node), the contract acceptance node 470 may generate a contract acceptance node transaction (original) 400 and transmit it on the blockchain.

계약 승낙 노드 트랜잭션(원본)(400)은 계약 정보(계약 승낙 노드)(500), 계약 청약자 정보(계약 승낙 노드)(510) 및 계약 승낙자 정보(계약 승낙 노드)(520), 계약 청약 노드 식별 정보(계약 승낙 노드)(530)를 포함할 수 있다.Contract acceptance node transaction (original) 400 includes contract information (contract acceptance node) 500, contract subscriber information (contract acceptance node) 510 and contract acceptor information (contract acceptance node) 520, contract subscription node Identification information (contract acceptance node) 530 may be included.

계약 정보(계약 승낙 노드)(500)는 계약 승낙 노드(470)가 확인한 계약 정보일 수 있다. 계약 조항에 대한 위조 및/또는 변조가 없었다면, 계약 정보(계약 승낙 노드)(500)는 계약 정보(계약 청약 노드)와 동일할 수 있다. The contract information (contract acceptance node) 500 may be contract information confirmed by the contract acceptance node 470. If there was no forgery and/or tampering with the contract terms, the contract information (contract acceptance node) 500 may be the same as the contract information (contract subscription node).

계약 청약자 정보(계약 승낙 노드)(510)는 계약 승낙 노드(470)가 확인한 계약 청약자에 대한 정보일 수 있다. 위조 및/또는 변조가 없었다면, 계약 청약자 정보(계약 승낙 노드)(510)는 계약 청약자 정보(계약 청약 노드)와 동일할 수 있다. The contract subscriber information (contract acceptance node) 510 may be information on a contract subscriber identified by the contract acceptance node 470. If there is no forgery and/or alteration, the contract subscriber information (contract acceptance node) 510 may be the same as the contract subscriber information (contract subscription node).

계약 승낙자 정보(계약 승낙 노드)(520)는 계약 승낙 노드(470)가 입력한 계약 승낙자에 대한 정보일 수 있다. 계약 당사자가 맞다면, 계약 승낙자 정보(계약 승낙 노드)(520)는 계약 승낙자 정보(계약 청약 노드)와 동일할 수 있다. The contract acceptor information (contract acceptance node) 520 may be information on the contract acceptor input by the contract acceptance node 470. If the contract party is correct, the contract acceptor information (contract acceptance node) 520 may be the same as the contract acceptor information (contract subscription node).

계약 청약 노드 식별 정보(계약 승낙 노드)(530)는 계약 승낙 노드(470)에 의해 입력된 계약 청약 노드(460)를 식별하기 위한 정보일 수 있다.The contract subscription node identification information (contract acceptance node) 530 may be information for identifying the contract subscription node 460 input by the contract acceptance node 470.

계약 승낙 노드 트랜잭션(원본)(400)은 1차로 계약 승낙 노드 프라이빗 키로 암호화되고, 2차로 계약 청약 노드 퍼블릭키로 암호화될 수 있다. The contract acceptance node transaction (original) 400 may be firstly encrypted with the contract acceptance node private key, and secondly, the contract subscription node public key may be encrypted.

이러한 방법을 통해 계약 청약 노드(460)만이 계약 청약 노드 프라이빗키로 복호화 가능하여 제3 자(또는 제3 노드(계약 서비스 제공 노드 포함))의 계약 내용에 대한 탈취가 불가하고, 계약 승낙 노드(470)의 프라이빗 키로 암호화함으로써 계약 승낙 노드(470)에 의해 발생된 트랜잭션임이 인증되어, 계약 승낙 노드(470)가 인증될 수 있다.Through this method, only the contract subscription node 460 can decrypt the contract subscription node private key, so that third parties (or third nodes (including the contract service providing node)) cannot take over the contract contents, and the contract acceptance node 470 ) By encrypting with the private key of), the transaction is authenticated by the contract acceptance node 470, and the contract acceptance node 470 can be authenticated.

또한, 계약 승낙 노드(470)는 계약 관련 정보 각각에 대한 해시값에 대해 계약 승낙 노드(470)의 프라이빗 키로 암호화한 계약 승낙 노드 트랜잭션(해시값)(420)은 블록체인 상으로 전송될 수 있다. 해시값은 제3자가 역으로 복원할 수 없으므로 해시값에 대해서는 별도의 퍼블릭키로의 암호화가 필요없다.In addition, the contract acceptance node 470 may transmit a contract acceptance node transaction (hash value) 420 encrypted with the private key of the contract acceptance node 470 for the hash value for each contract-related information on the blockchain. . Since the hash value cannot be reversely restored by a third party, there is no need for encryption with a separate public key for the hash value.

이후, 계약 승낙 노드 트랜잭션(해시값)(420)은 계약 승낙 노드(470)의 계약에 대한 승낙 이후, 계약 관련 정보의 위조 또는 변조를 검토하기 위해 사용될 수 있다.Thereafter, the contract acceptance node transaction (hash value) 420 may be used to review forgery or alteration of contract-related information after the contract acceptance node 470 accepts the contract.

계약 승낙 노드 트랜잭션(해시값)(420)은 계약 정보 해시값(계약 승낙 노드)(550), 계약 청약자 정보 해시값(계약 승낙 노드)(560), 계약 승낙자 정보 해시값(계약 승낙 노드)(570), 계약 청약 노드 식별 정보 해시값(계약 승낙 노드)(580)을 포함할 수 있다.Contract acceptance node transaction (hash value) 420 is a hash value of contract information (contract acceptance node) 550, hash value of contract subscriber information (contract acceptance node) 560, hash value of contract acceptor information (contract acceptance node) 570, a hash value of the contract subscription node identification information (contract acceptance node) 580 may be included.

도 4및 도 5에서 개시된 절차를 통해 계약 관련 정보(계약 승낙 노드)는 제3자에 의한 탈취 위험없이 계약 청약 노드로 전송될 수 있고, 계약 청약 노드(470)의 인증 및 향후 위조 및/또는 변조의 검증을 위한 해시값이 블록체인 상에 기록될 수 있다.Through the procedure disclosed in FIGS. 4 and 5, contract-related information (contract acceptance node) can be transmitted to the contract subscription node without risk of being stolen by a third party, and authentication of the contract subscription node 470 and future forgery and/or A hash value for verification of tampering can be recorded on the blockchain.

이후, 블록체인 상에 계약 청약 노드 트랜잭션(해시값)과 계약 승낙 노드 트랜잭션(해시값)(420)이 동일한 경우, 계약의 위조 및/또는 변조가 없다고 판단하여 유효한 계약으로 성립하여 블록체인 상에 기록될 수 있다.Thereafter, if the contract subscription node transaction (hash value) and the contract acceptance node transaction (hash value) 420 are the same on the blockchain, it is determined that there is no forgery and/or alteration of the contract, and the contract is established as a valid contract. Can be recorded.

유효한 계약으로 성립되는 경우, 계약 이행 시점을 고려하여 계약 이행 시점에 해당하는 블록이 계약 트리거 블록으로 설정될 수 있다. 계약 트리거 블록의 생성 이후에는 계약에 따른 스마트 컨트랙트가 활성화되어 계약에 따른 계약 이행이 블록체인 상에서 강제될 수 있다. 계약 트리거 블록에 대한 정보는 계약 청약 노드 및 계약 승낙 노드로 전송될 수 있고, 계약 트리거 블록에 대한 별도의 합의를 위해 계약 청약 노드 및 계약 승낙 노드는 별도의 트랜잭션을 통해 계약 트리거 블록을 설정할 수도 있다. 예를 들어, 계약 청약 노드가 원하는 계약 트리거 블록의 설정 범위와 계약 승낙 노드가 원하는 계약 트리거 블록 설정 범위를 고려하여 최종적으로 계약 트리거 블록이 설정되어 계약이 활성화될 수 있다. 이러한 방법을 통해 계약 시점이 보다 일 단위보다 구체화되어 명확한 계약 시점이 블록 단위로 설정될 수 있다. 또한, 본 발명의 실시예에 따르면, 계약 조항 별로 별도의 계약 트리거 블록이 생성되어 계약 조항별 서로 다른 시점의 계약 트리거 블록이 설정될 수도 있다. 이러한 방법을 통해 하나의 계약서 내에서 복수의 계약 트리거 블록이 존재하고 계약 트리거 블록의 생성에 따라 개별적인 계약 조항이 활성화되어 스마트컨트랙트 기반으로 계약 이행이 강제될 수 있다.When a valid contract is established, a block corresponding to the contract execution time may be set as a contract trigger block in consideration of the contract execution time. After the creation of the contract trigger block, the smart contract according to the contract is activated, and the contract execution according to the contract can be forced on the blockchain. Information on the contract trigger block may be transmitted to the contract subscription node and the contract acceptance node, and the contract subscription node and the contract acceptance node may set the contract trigger block through separate transactions for separate agreement on the contract trigger block. . For example, in consideration of the setting range of the contract trigger block desired by the contract subscription node and the setting range of the contract trigger block desired by the contract acceptance node, the contract trigger block may be finally set to activate the contract. Through this method, the contract timing is more specific than the daily unit, so that a clear contract timing can be set in blocks. In addition, according to an embodiment of the present invention, a separate contract trigger block may be generated for each contract clause, so that contract trigger blocks at different times for each contract clause may be set. In this way, a plurality of contract trigger blocks exist within one contract, and individual contract clauses are activated according to the creation of the contract trigger block, so that contract execution can be enforced on a smart contract basis.

도 6은 본 발명의 실시예에 따른 계약의 위조 또는 변조를 탐지하는 방법을 나타낸 개념도이다.6 is a conceptual diagram showing a method of detecting forgery or falsification of a contract according to an embodiment of the present invention.

도 6에서는 계약 청약 노드 트랜잭션(해시값)과 계약 승낙 노드 트랜잭션(해시값)을 비교하여 계약의 유효성을 판단하기 위한 방법이 개시된다.In FIG. 6, a method for determining validity of a contract by comparing a contract subscription node transaction (hash value) and a contract acceptance node transaction (hash value) is disclosed.

도 6을 참조하면, 계약 청약 노드 트랜잭션(해시값)은 계약 정보 해시값(계약 청약 노드)(600), 계약 청약자 정보 해시값(계약 청약 노드)(620), 계약 승낙자 정보 해시값(계약 청약 노드)(640), 계약 승낙 노드 식별 정보 해시값(계약 청약 노드)(미도시)을 포함할 수 있다.6, a contract subscription node transaction (hash value) includes a contract information hash value (contract subscription node) 600, a hash value of contract subscriber information (contract subscription node) 620, and a hash value of contract acceptor information (contract It may include a subscription node 640 and a hash value of identification information of a contract acceptance node (a contract subscription node) (not shown).

계약 승낙 노드 트랜잭션(해시값)은 계약 정보 해시값(계약 승낙 노드)(650), 계약 청약자 정보 해시값(계약 승낙 노드)(670), 계약 승낙자 정보 해시값(계약 승낙 노드)(690), 계약 청약 노드 식별 정보 해시값(계약 승낙 노드)(미도시)을 포함할 수 있다.Contract acceptance node transaction (hash value) is the contract information hash value (contract acceptance node) 650, contract subscriber information hash value (contract acceptance node) 670, contract acceptor information hash value (contract acceptance node) 690 , Contract subscription node identification information may include a hash value (contract acceptance node) (not shown).

계약 조항의 위조 및/또는 변조가 없다면, 계약 정보 해시값(계약 청약 노드)(600)과 계약 정보 해시값(계약 승낙 노드)(650)가 동일해야 한다. 블록체인 상의 스마트컨트랙트를 기반으로 계약 정보 해시값(계약 청약 노드)(600)과 계약 정보 해시값(계약 승낙 노드)(650)가 비교되고, 동일한 경우, 계약 조항의 위조 및/또는 변조가 없다고 판단될 수 있다.If there is no forgery and/or tampering of the contract clause, the contract information hash value (contract subscription node) 600 and the contract information hash value (contract acceptance node) 650 must be the same. Based on the smart contract on the blockchain, the contract information hash value (contract subscription node) 600 and the contract information hash value (contract acceptance node) 650 are compared, and if they are the same, there is no forgery and/or alteration of the contract clause. Can be judged.

계약 주체인 계약 청약자에 대한 위조 및/또는 변조가 없다면, 계약 청약자 정보 해시값(계약 청약 노드)(620)와 계약 청약자 정보 해시값(계약 승낙 노드)(670)가 동일해야 한다. 블록체인 상의 스마트컨트랙트를 기반으로 계약 청약자 정보 해시값(계약 청약 노드)(620)과 계약 청약자 정보 해시값(계약 승낙 노드)(670)가 비교되고, 동일한 경우, 계약 청약자 정보에 대한 위조 및/또는 변조가 없다고 판단될 수 있다.If there is no forgery and/or falsification of the contract subscriber, the contract subject, the contract subscriber information hash value (contract subscription node) 620 and the contract subscriber information hash value (contract acceptance node) 670 must be the same. Based on the smart contract on the blockchain, the contract subscriber information hash value (contract subscription node) 620 and the contract subscriber information hash value (contract acceptance node) 670 are compared, and if they are the same, forgery of the contract subscriber information and/ Or it can be determined that there is no modulation.

또한, 계약 주체인 계약 승낙자에 대한 위조 및/또는 변조가 없다면, 계약 승낙자 정보 해시값(계약 청약 노드)(640)와 계약 승낙자 정보 해시값(계약 승낙 노드)(690)가 동일해야 한다. 블록체인 상의 스마트컨트랙트를 기반으로 계약 승낙자 정보 해시값(계약 청약 노드)(640)과 계약 승낙자 정보 해시값(계약 승낙 노드)(690)가 비교되고, 동일한 경우, 계약 승낙자 정보의 위조 및/또는 변조가 없다고 판단될 수 있다.In addition, if there is no forgery and/or tampering with the contract acceptor, the contract subject, the contract acceptor information hash value (contract subscription node) 640 and the contract acceptor information hash value (contract acceptance node) 690 must be the same. do. Based on the smart contract on the blockchain, the hash value of contract acceptor information (contract subscription node) 640 and the hash value of contract acceptor information (contract acceptance node) 690 are compared, and if they are identical, the contract acceptor information is forged. And/or it may be determined that there is no modulation.

위의 3개의 해시값의 비교를 통해 3개의 해시값이 모두 일치하는 것으로 판단되는 경우, 유효한 계약으로 판단되어 블록체인 상에 기록될 수 있다.If it is determined that all three hash values match through the comparison of the above three hash values, it is determined as a valid contract and can be recorded on the blockchain.

반대로 위의 3개의 해시값의 비교를 통해 3개의 해시값 중 적어도 하나의 해시값이라도 일치하지 않는 경우, 유효하지 않은 계약으로 판단되어 일치하지 않는 정보에 대해 계약 청약 노드 및 계약 승낙 노드로 알릴 수 있다.Conversely, if at least one of the three hash values does not match through the comparison of the three hash values above, it is determined as an invalid contract and the inconsistent information can be notified to the contract subscription node and the contract acceptance node. have.

계약 청약 노드 및 계약 승낙 노드는 일치하지 않는 정보에 대해 정정하기 위해 도 2 내지 도 5에서 전술한 절차를 다시 진행할 수 있다.The contract subscription node and the contract acceptance node may perform the procedure described above in FIGS. 2 to 5 again in order to correct inconsistent information.

구체적으로 계약 청약 노드는 불일치 정보를 포함하는 계약 청약 노드 트랜잭션(원본) 및 계약 청약 노드 트랜잭션(해시값)을 전송하고, 계약 승낙 노드는 불일치 정보를 포함하는 계약 승낙 노드 트랜잭션(원본) 및 계약 승낙 노드 트랜잭션(해시값)을 전송하여 블록체인 상에서 해시값에 대한 재비교를 통해 계약을 다시 한번 유효하게 생성할 수 있다. Specifically, the contract subscription node transmits the contract subscription node transaction (original) and the contract subscription node transaction (hash value) including inconsistency information, and the contract acceptance node transmits the contract acceptance node transaction (original) and contract acceptance including inconsistency information. By sending a node transaction (hash value), the contract can be effectively created once again through re-comparison of the hash value on the blockchain.

또는 본 발명의 실시예에 따르면, 불일치 정보가 존재하는 경우, 계약 서비스 제공 노드는 계약 청약 노드로부터 계약 청약 노드 트랙잭션(원본) 및 계약 승낙 노드 트랙잭션(원본)을 수신할 수 있다. Alternatively, according to an embodiment of the present invention, when inconsistent information exists, the contract service providing node may receive a contract subscription node transaction (original) and a contract acceptance node transaction (original) from the contract subscription node.

계약 청약 노드 트랙잭션(원본) 및 계약 승낙 노드 트랙잭션(원본)은 계약 서비스 제공 노드만이 복호화할 수 있도록 계약 서비스 제공 노드 퍼블릭키로 암호화될 수 있다. 계약 서비스 제공 노드는 계약 서비스 제공 노드 프라이빗키로 복호화를 수행한 이후, 계약 청약 노드 트랙잭션(원본)의 계약 정보, 계약 청약자 정보, 계약 승낙자 정보 각각의 해시값과 계약 승낙 노드 트랙잭션(원본)의 계약 정보, 계약 청약자 정보, 계약 승낙자 정보 각각의 해시값을 비교하여 어떠한 부분에 위조/변조가 있는지에 대해 판단할 수 있다. 계약 정보의 경우, 계약 조항 별로 분할하여 계약 조항별 해시값을 생성하여 계약 조항 별로 위조/변조된 부분에 대한 판단이 수행될 수 있다. The contract subscription node transaction (original) and the contract acceptance node transaction (original) can be encrypted with the contract service providing node public key so that only the contract service providing node can decrypt. After the contract service providing node decrypts with the contract service providing node private key, the hash value of the contract subscription node transaction (original), contract subscriber information, and contract acceptor information, and the contract of the contract acceptance node transaction (original) By comparing the hash values of the information, contract subscriber information, and contract acceptor information, it is possible to determine whether there is forgery or falsification in any part. In the case of contract information, a hash value for each contract clause is generated by dividing it for each contract clause, so that a judgment on the forged/modified part for each contract clause can be performed.

계약 서비스 제공 노드는 이러한 위조/변조 부분에 대한 정보를 추출하여 계약 청약자 노드 및 계약 승낙자 노드에게 전달할 수 있다.The contract service providing node may extract information on such a forgery/forgery part and deliver it to the contract subscriber node and the contract acceptor node.

도 7은 본 발명의 실시예에 따른 블록체인 상에서 계약 이행을 수행하기 위한 방법을 나타낸 개념도이다.7 is a conceptual diagram showing a method for performing contract execution on a blockchain according to an embodiment of the present invention.

도 7에서는 계약의 성립 이후 계약 조항을 기반으로 블록체인 상에서 계약을 이행하기 위한 방법이 개시된다.7 shows a method for executing a contract on a blockchain based on the contract clause after the contract is established.

도 7을 참조하면, 계약 서비스 제공 노드는 계약 조항을 기반으로 계약 사항을 이행하기 위한 스마트컨트랙트를 생성하여 제공할 수 있다. Referring to FIG. 7, a contract service providing node may generate and provide a smart contract for fulfilling a contract based on a contract clause.

예를 들어, 계약 조항 중 매월 1일에 3BTC(bitcoin)가 계약 승낙 노드 지갑에서 계약 청약 노드 지갑으로 전송되고, 만약, 해당 조항을 어긴 경우, 3개월 단위로 5%의 지연 이자가 추가된 3BTC가 청구된다고 가정할 수 있다. For example, 3BTC (bitcoin) is transferred from the contract acceptance node wallet to the contract subscription node wallet on the 1st of each month among the terms of the contract, and if the provision is violated, 3BTC with 5% delayed interest added every 3 months Can be assumed to be charged.

이러한 경우, 계약 조항에 따라 매월 1일에 해당하는 블록 상에서 위의 계약 조항을 반영하는 스마트컨트랙트가 트리거되어 3BTC가 계약 승낙 노드 지갑에서 계약 청약 노드 지갑으로 전송될 수 있다.In this case, according to the contract clause, a smart contract that reflects the above contract clause is triggered on the block corresponding to the first day of every month, so that 3BTC can be transferred from the contract acceptance node wallet to the contract subscription node wallet.

만약, 계약 승낙 노드 지갑에 3BTC에 해당하는 암호화 화폐암호화 화폐가 없다면, 계약 조항에 따라 3개월 단위로 3BTC 에 5%의 지연 이자가 추가된 암호화 화폐암호화 화폐가 계약 승낙 노드 지갑으로의 가상화폐 입금 이후, 계약 청약 노드 지갑으로 전송될 수 있다. 계약 승낙 노드 지갑에 3BTC에 해당하는 가상화폐가 존재하는 않는 경우, 스마트컨트랙트를 기반으로 계약 승낙 노드로 계약 승낙 노드 지갑에 계약에 따른 금액을 지불하기 위한 가상화폐가 존재하지 않음에 대한 메시지가 전송될 수 있다. 설명의 편의상 가상화폐를 예시로 들었으나, 법정화폐에 대해서도 법정화폐와 가상화폐 간의 환전 비율을 기반으로 동일한 절차가 수행될 수 있다.If there is no cryptocurrency cryptocurrency corresponding to 3BTC in the contract acceptance node wallet, the cryptocurrency cryptocurrency with 5% delayed interest added to 3BTC every 3 months according to the contract provisions is deposited into the contract acceptance node wallet Thereafter, it can be transmitted to the contract subscription node wallet. If there is no cryptocurrency equivalent to 3BTC in the contract acceptance node wallet, a message is sent to the contract acceptance node based on the smart contract indicating that there is no virtual currency to pay the contract amount to the contract acceptance node wallet. Can be. For convenience of explanation, we have taken virtual currency as an example, but the same procedure can be performed for fiat currency based on the exchange rate between fiat currency and virtual currency.

본 발명의 실시예에 따르면, 계약 서비스 제공 노드는 계약의 성립 이후 계약 조항을 기반으로 블록체인 상에서 계약을 이행하기 위한 스마트컨트랙트를 생성할 수 있다. According to an embodiment of the present invention, the contract service providing node may create a smart contract for executing the contract on the blockchain based on the contract clause after the contract is established.

우선 계약 서비스 제공 노드는 계약 조항을 기반으로 계약의 이행을 위한 계약 기간 정보(700) 및 지불 정보(720), 외부 정보(740) 등을 판단할 수 있다.First, the contract service providing node may determine contract term information 700, payment information 720, external information 740, and the like for execution of a contract based on the contract clause.

계약 서비스 제공 노드는 계약 기간 정보(700)를 기반으로 계약 이행 블록을 결정할 수 있다. 계약 서비스 제공 노드는 계약 기간이 절대 시간인지 블록 기반 시간인지 여부에 대해 판단할 수 있다. 절대 시간은 시/일/월/년과 같은 시간일 수 있고, 블록 기반 시간은 n개의 블록 생성 이후와 같은 블록체인 상의 블록의 생성을 기준으로 한 시간일 수 있다. 절대 시간을 기준으로 블록체인 상에서 생성되는 특정 블록이 계약 이행 블록(710)일 수 있고, 블록 기반 시간을 기준으로 미리 결정된 n번째 블록이 계약 이행 블록(710)일 수 있다. 계약 서비스 제공 노드는 절대 시간 또는 블록 기반 시간을 기준으로 결정된 계약 이행 블록(710)을 스마트컨트랙트 상에 정의할 수 있다. 절대 시간을 사용할 경우, 외부 시간 정보를 포함하는 트랜잭션을 활용하여 계약 이행 블록(710)이 결정될 수 있다. The contract service providing node may determine a contract fulfillment block based on the contract term information 700. The contract service providing node can determine whether the contract period is absolute time or block-based time. The absolute time may be a time such as hour/day/month/year, and the block-based time may be a time based on the creation of blocks on the blockchain, such as after the creation of n blocks. A specific block generated on the blockchain based on the absolute time may be the contract fulfillment block 710, and the n-th block predetermined based on the block-based time may be the contract fulfillment block 710. The contract service providing node may define a contract fulfillment block 710 determined based on an absolute time or a block-based time on the smart contract. When using the absolute time, the contract execution block 710 may be determined using a transaction including external time information.

설정에 따라 계약 이행 블록(710)을 기준으로 계약 이행 시간에 대한 정보가 계약 청약 노드, 계약 승낙 노드 등으로 실시간으로 업데이트되어 전송될 수 있다. 만약, 상대적인 시간에 따라 계약 이행 블록이 설정되는 경우, 상대적인 시간에 따른 계약 이행 블록은 블록의 생성 시간을 고려하여 조정될 수도 있다. 예를 들어, 1000블록 단위로 계약의 이행이 수행된다면, 스마트컨트랙트를 기반으로 1000블록 단위가 제1 임계 절대 시간 단위보다 작은 경우, 임계 절대 시간에 해당하는 블록이 계약 이행 블록으로 설정되도록 계약 이행 블록에 대한 조정이 수행될 수도 있다. 또한, 블록의 생성 속도에 대한 예상을 기반으로 1000블록 단위가 제2 임계 절대 시간 단위보다 길 것으로 예상되는 경우, 계약 이행 블록이 제2 임계 시간 이전에 위치하도록 1000블록 단위에 대한 조정일 수행될 수 있다. 이렇듯 상대적인 시간 및 절대적인 시간을 모두 고려하여 계약 이행 블록이 결정될 수도 있다.Depending on the setting, information on the contract fulfillment time based on the contract fulfillment block 710 may be updated and transmitted in real time to a contract subscription node, a contract acceptance node, and the like. If the contract execution block is set according to the relative time, the contract execution block according to the relative time may be adjusted in consideration of the generation time of the block. For example, if the contract is executed in units of 1000 blocks, if the unit of 1000 blocks is less than the first critical absolute time unit based on the smart contract, the block corresponding to the critical absolute time is set as the contract execution block. Adjustments to the block may be performed. In addition, if the 1000 block unit is expected to be longer than the second critical absolute time unit based on the prediction of the block generation rate, an adjustment day for 1000 block units may be performed so that the contract fulfillment block is located before the second threshold time. have. In this way, the contract fulfillment block may be determined by considering both relative and absolute time.

계약 서비스 제공 노드는 지불 정보(720)를 기반으로 노드 지갑을 설정할 수 있다. 계약에 따른 가상화폐가 전달되어야 하는 경우, 계약 서비스 제공 노드는 계약에 필요한 지갑을 설정할 수 있다. 전술한 바와 같이 계약 청약 노드 지갑 및 계약 승낙 노드 지갑을 설정하고 계약에 따른 금액이 가상화폐를 기준으로 정해진 블록 상에서 전달될 수 있다. 계약 서비스 제공 노드는 필요에 따라 복수개의 지갑을 설정하거나, 지갑 내 가상화폐에 대한 이동을 제한하는 락(lock)을 걸 수도 있다.The contract service providing node may set the node wallet based on the payment information 720. When cryptocurrency according to the contract needs to be delivered, the contract service providing node can set the wallet required for the contract. As described above, the contract subscription node wallet and the contract acceptance node wallet are set, and the amount according to the contract may be delivered on a block determined based on the virtual currency. The contract service providing node may set up a plurality of wallets as necessary or place a lock that restricts the movement of virtual currency in the wallet.

예를 들어, 계약 승낙 노드 지갑에서 월마다 10개의 BTC(bitcoin)이 전달되는 계약이 이루어져 있다면, 계약 서비스 제공 노드는 계약에 따라 계약 승낙 노드 지갑에 1년치에 해당하는 120개의 BTC(또는 120개의 BTC의 임계 퍼센트(예를 들어, 70%))가 미리 존재하는지 여부에 대해 검증하고, 전체 또는 일부 BTC에 대한 계약 기간 동안의 락(LOCK)을 통해 개인적인 이동을 불가능하게 하여 계약에 따른 금액의 이체가 강제되도록 설정할 수도 있다.For example, if there is a contract in which 10 BTC (bitcoin) is delivered every month in the contract acceptance node wallet, the contract service provider node will receive 120 BTC (or 120 BTC) equivalent to one year's worth of contract acceptance node wallet according to the contract. It verifies whether the threshold percentage of BTC (e.g., 70%) exists in advance, and disables personal movement through locks for the duration of the contract for all or some You can also set the transfer to be forced.

또는 계약 서비스 제공 노드는 별도의 계약의 이행을 보증할 수 있는 보증 계약 승낙 노드 지갑을 설정하고, 계약 서비스 제공 노드는 보증 계약 승낙 노드 지갑에 계약 금액의 임계 퍼센트에 해당하는 암호화 화폐를 넣은 이후 암호화 화폐의 이동에 대한 락을 걸고 계약을 활성화시킬 수도 있다. 또는 보증 계약 승낙 노드 지갑에 암호화 화폐의 계약 금액 이상이 존재하는지 여부를 주기적으로 판단하여 계약 금액 이상이 존재하지 않는 경우, 계약 청약 노드 및 계약 승낙 노드로 알릴 수 있다.Alternatively, the contract service provider node sets up a guarantee contract acceptance node wallet that can guarantee the performance of a separate contract, and the contract service provider node encrypts after inserting the cryptocurrency corresponding to the threshold percentage of the contract amount in the guarantee contract acceptance node wallet. You can also activate the contract by placing a lock on the movement of money. Alternatively, it is possible to periodically determine whether there is more than the contract amount of the cryptocurrency in the guarantee contract acceptance node wallet, and notify the contract subscription node and the contract acceptance node if there is no more than the contract amount.

계약 서비스 제공 노드는 외부 정보(740)를 기반으로 외부 서버를 설정할 수 있다. 계약 서비스 제공 노드는 계약 조항 상에서 외부 정보(740)를 필요로 하는지 여부를 판단하여 외부 서버를 설정할 수 있다. 예를 들어, 계약 상에 온도, 날씨에 대한 조항이 있다면, 온도, 날씨에 대한 정보를 얻기 위한 외부 서버를 설정할 수 있다. The contract service providing node may set an external server based on the external information 740. The contract service providing node may set an external server by determining whether external information 740 is required in the contract clause. For example, if there are provisions for temperature and weather in the contract, you can set up an external server to obtain information about temperature and weather.

이러한 외부 정보에 대한 트랜잭션이 필요한 경우, 계약 서비스 제공 노드는 계약 청약 노드 및 계약 승낙 노드로부터 외부 정보를 받아올 기관에 대한 동의를 요청할 수 있다. 예를 들어, 기상청에서 날씨 조건을 받아오려고 하는 경우, 기상청에서 날씨 조건을 받아오는 것에 대한 계약 청약 노드 및 계약 승낙 노드의 동의를 얻고 상호 동의가 된 경우, 외부 정보를 얻기 위한 외부 서버로서 기상청 서버를 설정할 수 있다.When a transaction for such external information is required, the contract service providing node may request consent from the contract subscription node and the contract acceptance node to an agency that will receive external information. For example, in the case of trying to obtain weather conditions from the Meteorological Agency, the Meteorological Agency server as an external server to obtain external information when the agreement of the contract subscription node and the contract acceptance node for obtaining weather conditions from the Meteorological Agency is mutually agreed Can be set.

우선 계약 서비스 제공 노드는 계약 조항을 기반으로 계약의 이행을 위한 계약 기간 정보 및 지불 정보, 외부 정보 등을 판단한 이후, 계약 조항에 따른 스마트 컨트랙트를 생성하고, 스마트 컨트랙트에 대응되는 그래픽 정보를 계약 청약 노드 및 계약 승낙 노드로 전송하여 확인을 수행할 수 있다.First, the contract service providing node determines contract term information, payment information, and external information for the execution of the contract based on the contract clause, then creates a smart contract according to the contract clause, and then subscribes for the graphic information corresponding to the smart contract. Confirmation can be performed by transmitting to the node and the contract acceptance node.

계약 서비스 제공 노드는 계약 조항을 시각화하여 블록 상에서 수행되는 계약에 따른 프로시져(procedure)에 대해 제공할 수 있고, 계약 청약 노드 및 계약 승낙 노드로부터 동의를 수신할 수 있다. 또한, 계약 서비스 제공 노드는 계약 청약 노드 및 계약 승낙 노드의 요청에 따라 블록체인 상에 스마트 컨트랙트를 추가할 수도 있다.The contract service providing node can visualize the terms of the contract to provide a procedure according to the contract executed on the block, and receive consent from the contract subscription node and the contract acceptance node. In addition, the contract service providing node may add a smart contract on the blockchain at the request of the contract subscription node and the contract acceptance node.

도 8은 본 발명의 실시예에 따른 블록체인 상에 계약 조항을 설정하는 방법을 나타낸 개념도이다.8 is a conceptual diagram showing a method of setting a contract clause on a blockchain according to an embodiment of the present invention.

도 8에서는 스마트 컨트랙트를 사용하여 계약 조항을 이행하기 위한 방법이 개시된다.In Fig. 8, a method for implementing a contract clause using a smart contract is disclosed.

도 8을 참조하면, 계약 조항 중 이행을 강제해야 할 부분이 있다면, 계약 조항 생성 노드(계약 청약 노드 또는 계약 수락 노드)는 계약 설정 툴을 이용하여 계약 이행을 설정할 수 있다. 계약 설정 툴에 의해 설정된 정보는 계약 서비스 노드에 의해 스마트 컨트랙트로 생성될 수 있다.Referring to FIG. 8, if there is a part of the contract clause to be enforced, the contract clause generation node (a contract subscription node or a contract acceptance node) may set the contract execution using a contract setting tool. The information set by the contract setting tool can be created as a smart contract by the contract service node.

계약 설정 툴은 계약 기간 설정 기능(800), 계약 이행 금액 설정 기능(820), 외부 정보 설정 기능(840) 등을 포함할 수 있다. 이러한 기능은 사용자 인터페이스 상에서 스마트 컨트랙트를 모르는 계약 당사자도 쉽게 설정할 수 있도록 그래픽으로 구현될 수 있다.The contract setting tool may include a contract period setting function 800, a contract fulfillment amount setting function 820, an external information setting function 840, and the like. These functions can be implemented graphically so that even contracting parties who do not know the smart contract can easily set them on the user interface.

계약 조항 생성 노드는 계약 조항을 생성하고, 계약 조항이 블록체인 상에서 강제되야 한다면, 계약 설정 툴을 활성화시킬 수 있다. 계약 설정 툴은 계약 기간 설정 기능(800), 계약 이행 금액 설정 기능(820), 외부 정보 설정 기능(840) 등을 포함할 수 있다. The contract clause creation node creates a contract clause, and if the contract clause needs to be enforced on the blockchain, it can activate the contract setting tool. The contract setting tool may include a contract period setting function 800, a contract fulfillment amount setting function 820, an external information setting function 840, and the like.

계약 기간 설정 기능(800)에서는 전술한 바와 같이 절대 시간, 블록 기반 시간이 설정되고, 선택된 시간에 따라 계약 이행 블록이 결정될 수 있다. 사용자의 선택에 따라 예상 블록 개수가 결정되고 예상 블록의 개수가 사용자 화면 상에 출력될 수 있다.In the contract period setting function 800, as described above, an absolute time and a block-based time are set, and a contract fulfillment block may be determined according to the selected time. The number of predicted blocks is determined according to the user's selection, and the number of predicted blocks may be displayed on the user screen.

계약 이행 금액 설정 기능(820)에서는 계약 금액, 계약 지갑, 지갑 락 설정, 서브 계약 지갑 설정, 계약 금액 송금 불가시 패널티 등에 대한 설정이 수행될 수 있다. In the contract execution amount setting function 820, a contract amount, a contract wallet, a wallet lock setting, a sub-contract wallet setting, and a penalty when remittance of the contract amount is impossible may be set.

외부 정보 설정 기능(840)에서는 외부 정보를 받을 외부 서버 및 외부 서버로부터 받을 정보에 대한 설정이 수행될 수 있다.In the external information setting function 840, setting of an external server to receive external information and information to be received from an external server may be performed.

계약 설정 툴의 계약 기간 설정 기능(800), 계약 이행 금액 설정 기능(820), 외부 정보 설정 기능(840) 등을 이용하여 스마트 컨트랙트가 자동적으로 생성되고, 계약에 따라 스마트 컨트랙트가 트리거되어 계약의 이행이 블록체인 상에서 수행될 수 있다.A smart contract is automatically created by using the contract period setting function 800, the contract fulfillment amount setting function 820, and the external information setting function 840 of the contract setting tool, and the smart contract is triggered according to the contract. Implementation can be done on the blockchain.

이러한 계약 설정 툴에 의해 생성된 계약 기간, 계약 이행 금액, 외부 정보 등에 대해서는 그래픽 기반으로 생성되어 계약 정보에 함께 포함되어 트랜잭션으로서 생성되어 계약 상대방 노드로 전달될 수 있다.The contract period, contract fulfillment amount, and external information generated by the contract setting tool may be generated on a graphic basis, included in the contract information, generated as a transaction, and transmitted to the contract counterparty node.

이상 설명된 본 발명에 따른 실시예는 다양한 컴퓨터 구성요소를 통하여 실행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위하여 하나 이상의 소프트웨어 모듈로 변경될 수 있으며, 그 역도 마찬가지이다.The embodiments according to the present invention described above may be implemented in the form of program instructions that can be executed through various computer components and recorded in a computer-readable recording medium. The computer-readable recording medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded in the computer-readable recording medium may be specially designed and configured for the present invention or may be known and usable to those skilled in the computer software field. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical recording media such as CD-ROMs and DVDs, and magnetic-optical media such as floptical disks. medium), and a hardware device specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of the program instructions include not only machine language codes such as those produced by a compiler but also high-level language codes that can be executed by a computer using an interpreter or the like. The hardware device can be changed to one or more software modules to perform the processing according to the present invention, and vice versa.

이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항과 한정된 실시예 및 도면에 의하여 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위하여 제공된 것일 뿐, 본 발명이 상기 실시예에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정과 변경을 꾀할 수 있다.In the above, the present invention has been described by specific matters such as specific elements and limited embodiments and drawings, but this is provided only to help a more general understanding of the present invention, and the present invention is not limited to the above embodiments. Anyone with ordinary knowledge in the technical field to which the invention belongs can make various modifications and changes from these descriptions.

따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 또는 이로부터 등가적으로 변경된 모든 범위는 본 발명의 사상의 범주에 속한다고 할 것이다.Accordingly, the spirit of the present invention is limited to the above-described embodiments and should not be defined, and all ranges equivalent to or equivalently changed from the claims to be described later as well as the claims to be described later are the scope of the spirit of the present invention. It will be said to belong to.

Claims (8)

블록체인 상에서 계약 서비스를 제공하는 블록체인 네트워크는,
상기 블록체인 네트워크 상에서 동작하는 복수의 노드; 및
상기 복수의 노드 중 적어도 하나의 노드에 의해 마이닝되는 상기 블록체인을 포함하되,
상기 블록체인 네트워크는 상기 블록체인 상에서 계약 서비스를 제공하고,
상기 복수의 노드는 계약 서비스 제공 노드, 계약 청약 노드 및 계약 승낙 노드를 포함하고,
상기 계약 서비스 제공 노드는 상기 계약 서비스를 위한 블록체인 코드를 상기 블록체인 상에 업로드하고,
상기 계약 청약 노드는 계약의 청약을 위해 계약 청약 노드 트랜잭션을 상기 블록체인 상에 전송하고,
상기 계약 승낙 노드는 상기 블록체인 코드를 기반으로 상기 청약 노드 트랜잭션을 수신하고, 상기 계약의 승낙을 위해 계약 승낙 노드 트랜잭션을 상기 블록체인 상에 전송하고,
상기 계약 청약 노드 트랜잭션은 계약 청약 노드 트랜잭션(원본) 및 계약 청약 노드 트랜잭션(해시값)을 포함하고,
계약 청약 노드 트랜잭션(원본)은 1차로 계약 청약 노드 프라이빗키로 암호화되고, 2차로 계약 승낙 노드의 퍼블릭키로 암호되고,
계약 청약 노드 트랜잭션(해시값)은 계약 청약 노드 프라이빗키로 암호화되고,
상기 계약 승낙 노드 트랜잭션은 계약 승낙 노드 트랜잭션(원본) 및 계약 승낙 노드 트랜잭션(해시값)을 포함하고,
계약 승낙 노드 트랜잭션(원본)은 1차로 계약 승낙 노드 프라이빗키로 암호화되고, 2차로 계약 청약 노드의 퍼블릭키로 암호되고,
계약 승낙 노드 트랜잭션(해시값)은 계약 승낙 노드 프라이빗키로 암호화되는 것을 특징으로 하는 블록체인 네트워크.
A blockchain network that provides contract services on a blockchain,
A plurality of nodes operating on the blockchain network; And
Including the blockchain mined by at least one of the plurality of nodes,
The blockchain network provides contract services on the blockchain,
The plurality of nodes includes a contract service providing node, a contract subscription node, and a contract acceptance node,
The contract service providing node uploads the blockchain code for the contract service on the blockchain,
The contract subscription node transmits a contract subscription node transaction on the blockchain for contract subscription,
The contract acceptance node receives the subscription node transaction based on the blockchain code, and transmits a contract acceptance node transaction on the blockchain to accept the contract,
The contract subscription node transaction includes a contract subscription node transaction (original) and a contract subscription node transaction (hash value),
The contract subscription node transaction (original) is first encrypted with the contract subscription node private key, and secondly encrypted with the contract acceptance node's public key,
The contract subscription node transaction (hash value) is encrypted with the contract subscription node private key,
The contract acceptance node transaction includes a contract acceptance node transaction (original) and a contract acceptance node transaction (hash value),
The contract acceptance node transaction (original) is firstly encrypted with the contract acceptance node private key, and secondly, the contract subscription node's public key is encrypted,
A blockchain network, characterized in that the contract acceptance node transaction (hash value) is encrypted with the contract acceptance node private key.
제1항에 있어서,
상기 계약 청약 노드 트랜잭션(해시값)과 상기 계약 승낙 노드 트랜잭션(해시값) 각각에 포함되는 하위 정보의 해시값의 일치 여부를 기반으로 상기 계약의 유효성이 판단되고,
상기 해시값이 일치하지 않는 경우, 상기 계약 서비스 제공 노드가 상기 계약 서비스 제공 노드의 퍼블릭키로 암호화된 계약 청약 노드 트랙잭션(원본) 및 계약 승낙 노드 트랙잭션(원본)을 수신하여 상기 계약의 위조 또는 변조된 부분을 판단하고,
상기 계약에 대한 정보는 상기 계약에 포함되는 복수의 계약 조항에 대한 정보 각각으로 분할되고,
상기 복수의 계약 조항 각각에 대한 위조 또는 변조의 판단은 상기 복수의 계약 조항 각각에 대한 해시값이 생성되어 상기 복수의 계약 조항 각각에 대해 수행되는 것을 특징으로 하는 블록체인 네트워크.
The method of claim 1,
The validity of the contract is determined based on whether the hash value of sub-information included in each of the contract subscription node transaction (hash value) and the contract acceptance node transaction (hash value) match,
If the hash values do not match, the contract service providing node receives a contract subscription node transaction (original) and a contract acceptance node transaction (original) encrypted with the public key of the contract service providing node, and the contract is forged or altered. Judge the part,
The information on the contract is divided into information on each of a plurality of contract terms included in the contract,
The determination of forgery or alteration of each of the plurality of contract terms is performed for each of the plurality of contract terms by generating a hash value for each of the plurality of contract terms.
제1항에 있어서,
상기 계약이 유효한 계약으로 성립되는 경우, 계약 이행 시점을 기반으로 상기 계약 이행 시점에 해당하는 블록이 계약 트리거 블록으로 설정되고,
상기 계약 트리거 블록의 생성 이후에는 상기 계약에 따른 스마트 컨트랙트가 활성화되어 계약에 따른 계약 이행이 블록체인 상에서 강제되고,
상기 계약 트리거 블록에 대한 정보는 상기 계약 청약 노드 및 상기 계약 승낙 노드로 전송될 수 있고,
상기 계약 청약 노드 및 상기 계약 승낙 노드는 별도의 트랜잭션을 통해 계약 트리거 블록을 설정하는 것을 특징으로 하는 블록체인 네트워크.
The method of claim 1,
When the contract is established as a valid contract, the block corresponding to the contract execution time is set as a contract trigger block based on the contract execution time,
After the contract trigger block is created, the smart contract according to the contract is activated, and the contract execution according to the contract is forced on the blockchain,
Information on the contract trigger block may be transmitted to the contract subscription node and the contract acceptance node,
The contract subscription node and the contract acceptance node set a contract trigger block through separate transactions.
제3항에 있어서,
상기 계약에 포함되는 상기 복수의 계약 조항에 대해 서로 다른 시점의 복수의 계약 트리거 블록이 설정되고,
상기 복수의 계약 트리거 블록 각각의 생성에 따라 상기 복수의 계약 조항 중 상기 복수의 계약 트리거 블록 각각에 대응되는 계약 조항이 활성화되어 스마트컨트랙트 기반으로 계약 이행이 강제되는 것을 특징으로 하는 블록체인 네트워크.
The method of claim 3,
A plurality of contract trigger blocks at different times are set for the plurality of contract terms included in the contract,
A blockchain network, characterized in that, according to the generation of each of the plurality of contract trigger blocks, a contract clause corresponding to each of the plurality of contract trigger blocks among the plurality of contract clauses is activated, and the contract execution is forced based on a smart contract.
블록체인 상에서 계약 서비스를 제공하는 방법은,
복수의 노드가 상기 블록체인 네트워크 상에서 상기 계약 서비스를 위한 동작을 수행하는 단계; 및
상기 복수의 노드 중 적어도 하나의 노드가 블록을 마이닝하여 상기 블록체인을 생성하는 단계를 포함하되,
상기 복수의 노드는 계약 서비스 제공 노드, 계약 청약 노드 및 계약 승낙 노드를 포함하고,
상기 계약 서비스 제공 노드는 상기 계약 서비스를 위한 블록체인 코드를 상기 블록체인 상에 업로드하고,
상기 계약 청약 노드는 계약의 청약을 위해 계약 청약 노드 트랜잭션을 상기 블록체인 상에 전송하고,
상기 계약 승낙 노드는 상기 블록체인 코드를 기반으로 상기 청약 노드 트랜잭션을 수신하고, 상기 계약의 승낙을 위해 계약 승낙 노드 트랜잭션을 상기 블록체인 상에 전송하고,
상기 계약 청약 노드 트랜잭션은 계약 청약 노드 트랜잭션(원본) 및 계약 청약 노드 트랜잭션(해시값)을 포함하고,
계약 청약 노드 트랜잭션(원본)은 1차로 계약 청약 노드 프라이빗키로 암호화되고, 2차로 계약 승낙 노드의 퍼블릭키로 암호되고,
계약 청약 노드 트랜잭션(해시값)은 계약 청약 노드 프라이빗키로 암호화되고,
상기 계약 승낙 노드 트랜잭션은 계약 승낙 노드 트랜잭션(원본) 및 계약 승낙 노드 트랜잭션(해시값)을 포함하고,
계약 승낙 노드 트랜잭션(원본)은 1차로 계약 승낙 노드 프라이빗키로 암호화되고, 2차로 계약 청약 노드의 퍼블릭키로 암호되고,
계약 승낙 노드 트랜잭션(해시값)은 계약 승낙 노드 프라이빗키로 암호화되는 것을 특징으로 하는 방법.
The method of providing contract services on the blockchain is:
Performing an operation for the contract service on the blockchain network by a plurality of nodes; And
At least one of the plurality of nodes comprises the step of generating the block chain by mining a block,
The plurality of nodes includes a contract service providing node, a contract subscription node, and a contract acceptance node,
The contract service providing node uploads the blockchain code for the contract service on the blockchain,
The contract subscription node transmits a contract subscription node transaction on the blockchain for contract subscription,
The contract acceptance node receives the subscription node transaction based on the blockchain code, and transmits a contract acceptance node transaction on the blockchain to accept the contract,
The contract subscription node transaction includes a contract subscription node transaction (original) and a contract subscription node transaction (hash value),
The contract subscription node transaction (original) is first encrypted with the contract subscription node private key, and secondly encrypted with the contract acceptance node's public key,
The contract subscription node transaction (hash value) is encrypted with the contract subscription node private key,
The contract acceptance node transaction includes a contract acceptance node transaction (original) and a contract acceptance node transaction (hash value),
The contract acceptance node transaction (original) is firstly encrypted with the contract acceptance node private key, and secondly, the contract subscription node's public key is encrypted,
A method, characterized in that the contract acceptance node transaction (hash value) is encrypted with the contract acceptance node private key.
제5항에 있어서,
상기 계약 청약 노드 트랜잭션(해시값)과 상기 계약 승낙 노드 트랜잭션(해시값) 각각에 포함되는 하위 정보의 해시값의 일치 여부를 기반으로 상기 계약의 유효성이 판단되고,
상기 해시값이 일치하지 않는 경우, 상기 계약 서비스 제공 노드가 상기 계약 서비스 제공 노드의 퍼블릭키로 암호화된 계약 청약 노드 트랙잭션(원본) 및 계약 승낙 노드 트랙잭션(원본)을 수신하여 상기 계약의 위조 또는 변조된 부분을 판단하고,
상기 계약에 대한 정보는 상기 계약에 포함되는 복수의 계약 조항에 대한 정보 각각으로 분할되고,
상기 복수의 계약 조항 각각에 대한 위조 또는 변조의 판단은 상기 복수의 계약 조항 각각에 대한 해시값이 생성되어 상기 복수의 계약 조항 각각에 대해 수행되는 것을 특징으로 하는 방법.
The method of claim 5,
The validity of the contract is determined based on whether the hash value of sub-information included in each of the contract subscription node transaction (hash value) and the contract acceptance node transaction (hash value) match,
If the hash values do not match, the contract service providing node receives a contract subscription node transaction (original) and a contract acceptance node transaction (original) encrypted with the public key of the contract service providing node, and the contract is forged or altered. Judge the part,
The information on the contract is divided into information on each of a plurality of contract terms included in the contract,
The determination of forgery or alteration of each of the plurality of contract terms is performed for each of the plurality of contract terms by generating a hash value for each of the plurality of contract terms.
제6항에 있어서,
상기 계약이 유효한 계약으로 성립되는 경우, 계약 이행 시점을 기반으로 상기 계약 이행 시점에 해당하는 블록이 계약 트리거 블록으로 설정되고,
상기 계약 트리거 블록의 생성 이후에는 상기 계약에 따른 스마트 컨트랙트가 활성화되어 계약에 따른 계약 이행이 블록체인 상에서 강제되고,
상기 계약 트리거 블록에 대한 정보는 상기 계약 청약 노드 및 상기 계약 승낙 노드로 전송될 수 있고,
상기 계약 청약 노드 및 상기 계약 승낙 노드는 별도의 트랜잭션을 통해 계약 트리거 블록을 설정하는 것을 특징으로 하는 방법.
The method of claim 6,
When the contract is established as a valid contract, the block corresponding to the contract execution time is set as a contract trigger block based on the contract execution time,
After the contract trigger block is created, the smart contract according to the contract is activated, and the contract execution according to the contract is forced on the blockchain,
Information on the contract trigger block may be transmitted to the contract subscription node and the contract acceptance node,
The contract subscription node and the contract acceptance node set a contract trigger block through separate transactions.
제7항에 있어서,
상기 계약에 포함되는 상기 복수의 계약 조항에 대해 서로 다른 시점의 복수의 계약 트리거 블록이 설정되고,
상기 복수의 계약 트리거 블록 각각의 생성에 따라 상기 복수의 계약 조항 중 상기 복수의 계약 트리거 블록 각각에 대응되는 계약 조항이 활성화되어 스마트컨트랙트 기반으로 계약 이행이 강제되는 것을 특징으로 하는 방법.
The method of claim 7,
A plurality of contract trigger blocks at different times are set for the plurality of contract terms included in the contract,
According to the generation of each of the plurality of contract trigger blocks, a contract clause corresponding to each of the plurality of contract trigger blocks among the plurality of contract clauses is activated, and the contract execution is forced based on a smart contract.
KR1020180121569A 2018-10-12 2018-10-12 Method and apparatus for providing contract service based on blockchain KR102159431B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180121569A KR102159431B1 (en) 2018-10-12 2018-10-12 Method and apparatus for providing contract service based on blockchain

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180121569A KR102159431B1 (en) 2018-10-12 2018-10-12 Method and apparatus for providing contract service based on blockchain

Publications (2)

Publication Number Publication Date
KR20200041490A KR20200041490A (en) 2020-04-22
KR102159431B1 true KR102159431B1 (en) 2020-09-23

Family

ID=70472983

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180121569A KR102159431B1 (en) 2018-10-12 2018-10-12 Method and apparatus for providing contract service based on blockchain

Country Status (1)

Country Link
KR (1) KR102159431B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102344118B1 (en) * 2021-07-01 2021-12-29 (주)코아메소드 Blockchain electronic contract system

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102652226B1 (en) * 2020-11-16 2024-03-28 옴니시스템 주식회사 System for providing power supply service for cost saving based on Time of Use (TOU) and method therefor
KR102548117B1 (en) * 2021-04-14 2023-06-27 아주대학교 산학협력단 Smart contract processing method and node for future events using blockchain

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160260171A1 (en) * 2015-03-02 2016-09-08 Dell Products L.P. Systems and methods for a commodity contracts market using a secure distributed transaction ledger
JP2017220710A (en) * 2016-06-03 2017-12-14 日本電信電話株式会社 Contract agreement method, agreement verification method, contract agreement device, and agreement verification device
CN108566395A (en) * 2018-04-20 2018-09-21 济南浪潮高新科技投资发展有限公司 A kind of document transmission method, apparatus and system based on block chain

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160260171A1 (en) * 2015-03-02 2016-09-08 Dell Products L.P. Systems and methods for a commodity contracts market using a secure distributed transaction ledger
JP2017220710A (en) * 2016-06-03 2017-12-14 日本電信電話株式会社 Contract agreement method, agreement verification method, contract agreement device, and agreement verification device
CN108566395A (en) * 2018-04-20 2018-09-21 济南浪潮高新科技投资发展有限公司 A kind of document transmission method, apparatus and system based on block chain

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102344118B1 (en) * 2021-07-01 2021-12-29 (주)코아메소드 Blockchain electronic contract system

Also Published As

Publication number Publication date
KR20200041490A (en) 2020-04-22

Similar Documents

Publication Publication Date Title
CN110692228B (en) Method and equipment for protecting transaction activity sensitive data based on intelligent contracts in blockchain
CN111062716B (en) Method and device for generating block chain signature data and block chain transaction initiating system
US10885501B2 (en) Accredited certificate issuance system based on block chain and accredited certificate issuance method based on block chain using same, and accredited certificate authentication system based on block chain and accredited certificate authentication method based on block chain using same
CN108765240B (en) Block chain-based inter-institution customer verification method, transaction supervision method and device
CN108418680B (en) Block chain key recovery method and medium based on secure multi-party computing technology
CN108604344B (en) Method and system for creating trusted digital asset transfers using digital signatures
KR101780636B1 (en) Method for issuing certificate information and blockchain-based server using the same
RU2710897C2 (en) Methods for safe generation of cryptograms
KR101544722B1 (en) Method for performing non-repudiation, payment managing server and user device therefor
US20180349894A1 (en) System of hardware and software to prevent disclosure of personally identifiable information, preserve anonymity and perform settlement of transactions between parties using created and stored secure credentials
CN110458560B (en) Method and apparatus for transaction verification
CN111080292B (en) Method and device for acquiring block chain transaction signature data
CN111147432B (en) KYC data sharing system with confidentiality and method thereof
CN109450843B (en) SSL certificate management method and system based on block chain
JP2005537559A (en) Secure record of transactions
KR102159431B1 (en) Method and apparatus for providing contract service based on blockchain
KR101976027B1 (en) Method for generating and backing up electric wallet and user terminal and server using the same
CN110888933B (en) Information providing method, device and system and information acquisition method and device
CN111538784A (en) Block chain-based digital asset transaction method and device and storage medium
CN111404900A (en) Geological work result data sharing method and system based on block chain technology
CN109873828B (en) Resource management method, device, equipment and storage medium
US20230259899A1 (en) Method, participant unit, transaction register and payment system for managing transaction data sets
KR20110124088A (en) Billing verifying apparatus, billing apparatus and method for cloud computing environment
KR102468511B1 (en) Method for paying with contactless payment card based on decentralized identifier of blockchain network, and mobile device using them
US20230267426A1 (en) Payment system, coin register, participant unit, transaction register, monitoring register and method for payment with electronic coin data sets

Legal Events

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