KR102142688B1 - Method and Apparatus for Creating Smart Contract in Blockchain Using Natural language - Google Patents

Method and Apparatus for Creating Smart Contract in Blockchain Using Natural language Download PDF

Info

Publication number
KR102142688B1
KR102142688B1 KR1020200001218A KR20200001218A KR102142688B1 KR 102142688 B1 KR102142688 B1 KR 102142688B1 KR 1020200001218 A KR1020200001218 A KR 1020200001218A KR 20200001218 A KR20200001218 A KR 20200001218A KR 102142688 B1 KR102142688 B1 KR 102142688B1
Authority
KR
South Korea
Prior art keywords
smart contract
document
template
cnl
predicate
Prior art date
Application number
KR1020200001218A
Other languages
Korean (ko)
Other versions
KR20200086224A (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 PCT/KR2020/000175 priority Critical patent/WO2020145591A1/en
Publication of KR20200086224A publication Critical patent/KR20200086224A/en
Application granted granted Critical
Publication of KR102142688B1 publication Critical patent/KR102142688B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/50Service provisioning or reconfiguring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/009Security arrangements; Authentication; Protecting privacy or anonymity specially adapted for networks, e.g. wireless sensor networks, ad-hoc networks, RFID networks or cloud networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W16/00Network planning, e.g. coverage or traffic planning tools; Network deployment, e.g. resource partitioning or cells structures
    • H04W16/14Spectrum sharing arrangements between different networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/18Service support devices; Network management devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 실시예는 자연어에 기반한 블록체인 스마트 계약을 제안하고, 협상 및 수정한 후 자동생성 및 자동실행을 하는 자연 언어 기반 블록 체인 스마트 계약 생성방법 및 그를 위한 장치에 관한 것이다.The present embodiment relates to a method for generating a block chain smart contract based on a natural language and a device therefor that proposes a block chain smart contract based on natural language, auto-generates and automatically executes it after negotiation and modification.

Description

자연 언어 기반 블록 체인 스마트 계약 생성방법 및 그를 위한 장치{Method and Apparatus for Creating Smart Contract in Blockchain Using Natural language}Method and Apparatus for Creating Smart Contract in Blockchain Using Natural language}

본 실시예는 자연 언어 기반 블록 체인 스마트 계약 생성방법 및 그를 위한 장치에 관한 것이다. 더욱 상세하게는, 자연어에 기반한 블록체인 스마트 계약을 제안하고, 협상 및 수정한 후 자동생성 및 자동실행을 하는 자연 언어 기반 블록 체인 스마트 계약 생성방법 및 그를 위한 장치에 관한 것이다.The present embodiment relates to a method for generating a blockchain smart contract based on natural language and an apparatus therefor. More specifically, the present invention relates to a method for generating a block chain smart contract based on natural language and a device therefor for auto-generation and auto-execution after proposal, negotiation and modification of a block chain smart contract based on natural language.

이 부분에 기술된 내용은 단순히 본 실시예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.The contents described in this section merely provide background information for this embodiment, and do not constitute a prior art.

스마트 계약은 계약당사자들이 합의한 계약의 내용을 소프트웨어로 구현하여 블록체인에서 실행하도록 한 프로그램이다. 인간 사이의 계약은 일반적으로 자연어로 기록되는데, 이를 스마트 계약으로 만들기 위해서는 이 계약의 상세 내용을 잘 이해하는 프로그래머가 프로그래밍 언어로 코딩을 한 후 컴파일 등의 과정을 거쳐 기계에서 실행이 가능한 소프트웨어를 만드는 것이 일반적인 절차이다.The smart contract is a program that implements the contents of the contract agreed by the contract parties in software and executes it on the blockchain. The contract between humans is generally written in natural language, and in order to make it a smart contract, programmers who understand the details of this contract code in a programming language, and then compile and create software that can run on the machine. This is the general procedure.

여기에서 프로그래머는 계약의 상세 내용은 물론 계약 당사자들의 의도까지 파악하고 있어야 하며 또 프로그래밍, 즉 코딩 과정에서 오류를 범하지 않아야 한다는 전제 조건이 깔려 있다. 그렇다 하더라도 프로그래머가 아닌 일반 계약 당사자들은 이렇게 만들어진 스마트 계약 소프트웨어를 읽고, 이해하고, 검증하여, 계약의 상세 내역과 의도가 제대로 구현되었는지 확인하기 어렵다는 문제가 있다.Here, the prerequisite is that the programmer must understand the details of the contract as well as the intentions of the contracting parties, and should not make errors in programming or coding. Even so, the general contracting party, not the programmer, has a problem that it is difficult to read, understand, and verify the smart contract software thus created, to confirm whether the details and intent of the contract are properly implemented.

특히 많은 생태계 참여자가 모여 다양한 관련 당사자들끼리 다양한 비즈니스 계약을 체결해야 하는 경우 블록체인에서 이를 지원하기 위해서는 많은 스마트 계약을 만들고 블록체인에 업로드하여 실행해야 할 부담이 크게 늘어나게 된다. 이 경우 프로그래머에 의존하여 전통적인 방법으로 스마트 계약을 생성하고 업로드 하는 방식은 시간과 노력을 필요로 할 뿐 아니라 스마트 계약의 이해 및 검증 등의 문제를 포함할 수밖에 없다.In particular, if many ecosystem participants have to gather and sign various business contracts between various related parties, the burden of creating and uploading many smart contracts and executing them on the blockchain will greatly increase in order to support them in the blockchain. In this case, the method of creating and uploading a smart contract in a traditional way relying on a programmer not only takes time and effort, but also involves problems such as understanding and verification of the smart contract.

이러한 이유로 많은 생태계 참여자가 모여 다양한 관련 당사자들끼리 다양한 비즈니스 계약을 합의하고 체결 및 운영을 지원하는 블록체인에서는 아래와 같은 기능을 제공할 필요가 있다. For this reason, it is necessary to provide the following functions in a blockchain where many ecosystem participants gather and agree on various business contracts between various related parties and support the conclusion and operation.

- 스마트 계약 다량 생성(Mass generation of smart contracts)-Mass generation of smart contracts

- 프로그래밍 없이 스마트 계약 생성(Generation of smart contract with no programming)-Generation of smart contract with no programming

- 스마트 계약 자동 업로드 및 실행(Automatic uploading and execution of smart contract)-Automatic uploading and execution of smart contract

- 자연어 기반 스마트 계약 협상 및 수정(Natural Language-based negotiation and modification of smart contract)-Natural Language-based negotiation and modification of smart contract

본 발명은 자연어에 기반한 블록체인 스마트 계약을 제안하고, 협상 및 수정한 후 자동생성 및 자동실행을 하는 자연 언어 기반 블록 체인 스마트 계약 생성방법 및 그를 위한 장치를 제공하고자 하는 데 그 목적이 있다.An object of the present invention is to propose a block chain smart contract based on natural language, and to provide a method for generating a block chain smart contract based on natural language that automatically generates and automatically executes after negotiation and modification, and an apparatus therefor.

본 실시예는, 스마트 계약(Smart Contract)과 관련하여 상기 스마트 계약을 구성할 수 있는 기 정의된 템플릿을 저장하는 저장부; 사용자 선택에 따라 적어도 하나의 상기 템플릿을 조합하여 문서 템플릿을 생성하고, 사용자 협약결과에 따라 상기 문서 템플릿 상의 변수 값들을 확정하여 상기 스마트 계약에 상응하는 확정 문서를 생성하는 문서 템플릿 편집부; 및 상기 확정 문서를 기반으로 블록체인 상에서 실행되는 상기 스마트 계약을 생성하는 메타 스마트 계약부를 포함하는 것을 특징으로 하는 스마트 계약 생성장치를 제공한다.This embodiment includes a storage unit for storing a predefined template that can configure the smart contract with respect to a smart contract (Smart Contract); A document template editing unit for generating a document template by combining at least one of the templates according to a user's selection, and determining variable values on the document template according to a user agreement result to generate a confirmation document corresponding to the smart contract; And a meta smart contract unit for generating the smart contract executed on the blockchain based on the confirmed document.

또한, 본 실시예의 다른 측면에 의하면, 스마트 계약 생성장치의 스마트 계약 생성방법에 있어서, 스마트 계약과 관련하여 상기 스마트 계약을 구성할 수 있는 기 정의된 템플릿을 기반으로 사용자 선택에 따라 적어도 하나의 상기 템플릿을 조합하여 문서 템플릿을 생성하는 과정; 사용자 협약결과에 따라 상기 문서 템플릿 상의 변수 값들을 확정하여 상기 스마트 계약에 상응하는 확정 문서를 생성하는 과정; 및 상기 확정 문서를 기반으로 블록체인 상에서 실행되는 상기 스마트 계약을 생성하는 과정을 포함하는 것을 특징으로 하는 스마트 계약 생성장치의 스마트 계약 생성방법을 제공한다.In addition, according to another aspect of the present embodiment, in the smart contract generating method of the smart contract generating device, based on a predefined template that can configure the smart contract in relation to the smart contract, at least one of the Creating a document template by combining the templates; Determining variable values on the document template according to a user agreement result to generate a confirmation document corresponding to the smart contract; And generating the smart contract executed on a blockchain based on the confirmed document.

또한, 본 실시예의 다른 측면에 의하면, 컴퓨터로 읽을 수 있는 기록매체에 저장된 컴퓨터프로그램으로서, 상기 컴퓨터프로그램은 적어도 하나의 프로세서에 의해 수행될 때, 스마트 계약과 관련하여 상기 스마트 계약을 구성할 수 있는 기 정의된 템플릿을 기반으로 사용자 선택에 따라 적어도 하나의 상기 템플릿을 조합하여 문서 템플릿을 생성하는 과정; 사용자 협약결과에 따라 상기 문서 템플릿 상의 변수 값들을 확정하여 상기 스마트 계약에 상응하는 확정 문서를 생성하는 과정; 및 상기 확정 문서를 기반으로 블록체인 상에서 실행되는 상기 스마트 계약을 생성하는 과정을 수행하기 위한 코드들을 포함하는 컴퓨터프로그램을 제공한다.In addition, according to another aspect of the present embodiment, as a computer program stored in a computer-readable recording medium, the computer program, when executed by at least one processor, can configure the smart contract in relation to the smart contract Generating a document template by combining at least one of the templates according to a user selection based on a predefined template; Determining variable values on the document template according to a user agreement result to generate a confirmation document corresponding to the smart contract; And a code for performing the process of generating the smart contract executed on the blockchain based on the confirmed document.

본 발명의 실시예들에 의하면, 자연어에 기반한 블록체인 스마트 계약을 제안하고, 협상 및 수정한 후 자동생성 및 자동실행을 하는 자연 언어 기반 블록 체인 스마트 계약 생성방법을 제공함으로써 스마트 계약의 다량 생성, 프로그래밍 없이 스마트 계약의 생성, 스마트 계약 자동 업로드 및 실행, 자연어 기반 스마트 계약 협상 및 수정 등의 효과를 제공할 수 있다.According to embodiments of the present invention, a large amount of smart contracts is generated by providing a method for generating a block chain smart contract based on natural language, which proposes a block chain smart contract based on natural language, auto-generates and executes automatically after negotiation and modification, It can provide effects such as creation of smart contracts without programming, automatic upload and execution of smart contracts, and negotiation and modification of natural language-based smart contracts.

도 1은 본 실시예에 따른 스마트 계약 생성장치를 개략적으로 나타낸 블록 구성도이다.
도 2는 본 실시예에 따른 스마트 계약의 생성, 수정 및 실행방법을 설명하기 위한 개념도이다.
도 3은 본 실시예에 따른 스마트 계약 생성방법을 설명하기 위한 순서도이다.
도 4는 본 실시예에 따른 모듈 컬렉션을 설명하기 위한 예시도이다.
도 5 내지 도 8은 본 실시예에 따른 스마트 계약 실행을 위한 각 수행 시나리오를 설명하기 위한 흐름도이다.
1 is a block diagram schematically showing an apparatus for generating a smart contract according to the present embodiment.
2 is a conceptual diagram illustrating a method for generating, modifying, and executing a smart contract according to the present embodiment.
3 is a flow chart for explaining a smart contract generation method according to the present embodiment.
4 is an exemplary diagram for describing a module collection according to the present embodiment.
5 to 8 are flowcharts for explaining each execution scenario for executing a smart contract according to the present embodiment.

이하, 본 발명의 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

블록 체인(Blockchain)은 트랜잭션들로 구성된 블록들로 이루어진 컴퓨터 기반의 분산형 분산 시스템으로 구현되는 전자 원장(Ledgers)이다. 각 트랜잭션은 적어도 하나의 입력과 적어도 하나의 출력을 포함한다. 각 블록은 이전 블록의 해시를 포함하여 처음부터 블록 체인에 기록된 모든 트랜잭션에 대하여 영구적이며 변경 불가능한 기록을 생성하도록 해당 블록들이 함께 연결된다.Blockchains are electronic ledgers implemented as a computer-based decentralized distributed system composed of blocks composed of transactions. Each transaction includes at least one input and at least one output. Each block is concatenated together to create a permanent and immutable record for every transaction recorded on the blockchain from the beginning, including the hash of the previous block.

스마트 계약은 계약 또는 합의 조건의 실행을 자동화하도록 설계된 컴퓨터 프로그램이다. 자연어로 기재된 전통적인 계약과는 달리, 스마트 계약은 결과를 산출하기 위해 입력을 처리할 수 있는 규칙을 포함하는 기계가 실행할 수 있는 프로그램으로, 그 결과들에 따라 수행되어야 하는 액션들이 유발될 수 있다.Smart contracts are computer programs designed to automate the execution of contract or agreement terms. Unlike traditional contracts written in natural language, smart contracts are machine-executable programs that contain rules that can process input to produce results, and actions that must be performed based on the results can be triggered.

본 발명은 자연어에 기반한 블록체인 스마트 계약을 제안하고, 협상 및 수정한 후 자동생성 및 자동실행을 하는 자연 언어 기반 블록 체인 스마트 계약 생성방법을 제안한다.The present invention proposes a block chain smart contract based on natural language, and proposes a method for generating a block chain smart contract based on natural language that automatically generates and automatically executes after negotiation and modification.

보다 자세하게는, 본 실시예에 따른 자연 언어 기반 블록 체인 스마트 계약 생성방법을 통해 해결하고자 하는 과제 및 그 효과는 다음과 같다.More specifically, the problems to be solved through the natural language-based blockchain smart contract generation method according to this embodiment and its effects are as follows.

(1) 스마트 계약 다량 생성(Mass generation of smart contracts)(1) Mass generation of smart contracts

블록체인 생태계 참여자가 많고 또 그 사이에 많은 스마트 계약이 빈번하게 일어나는 경우 이 많은 계약을 모두 일일이 프로그래밍 한다는 것은 여러가지 문제점을 야기할 수 있다. 특히 이런 많은 계약들이 공통적 요소를 가지고 이의 다양한 변형이나 여러가지 경우의 수 중 하나의 선택으로 이루어지는 경우 공통의 핵심부로부터 다양한 스마트 계약을 생성하는 것이 더 효율적이다. 본 발명에서는 이러한 방식으로 많은 스마트 계약을 다량으로 생성하는 기술을 제시한다.If there are many participants in the blockchain ecosystem and many smart contracts frequently occur in the meantime, programming all these contracts individually can cause various problems. In particular, it is more efficient to generate various smart contracts from a common core when many of these contracts have a common element and a variety of variations or one of a number of cases. The present invention proposes a technique for generating a large number of smart contracts in this manner.

(2) 프로그래밍 없이 스마트 계약 생성(Generation of smart contract with no programming)(2) Generation of smart contract with no programming

스마트 계약은 일반적으로 프로그래머가 정해진 프로그래밍 언어에 따라 소스코드를 만들고 이를 컴퓨터가 실행할 수 있는 실행코드로 바꾸는 방식으로 생성된다. 그러나 이 경우 프로그래밍 시간과 비용, 특히 프로그래머 오류의 우려 때문에 검증 과정에서 많은 노력과 시간이 들기 때문에 다량의 스마트 계약을 빠른 속도로 생성할 수 없다는 단점이 있다. 본 발명에서 이러한 문제를 해결할 수 있는 기술을 제시한다.Smart contracts are usually created by a programmer creating source code according to a set programming language and turning it into executable code that can be executed by a computer. However, in this case, there is a disadvantage in that a large amount of smart contracts cannot be generated at a high speed because of the time and cost of programming, in particular, because of the concern of programmer errors, the verification process takes a lot of effort and time. The present invention proposes a technique to solve this problem.

(3) 스마트 계약 자동 업로드 및 실행(Automatic uploading and execution of smart contract)(3) Automatic uploading and execution of smart contract

스마트 계약을 프로그래밍 없이 생성하는 경우에도 이를 실행하려면 블록체인에 업로드해서 실행하도록 해야 한다. 통상의 경우 이 작업은 시스템 운영자가 수행한다. 본 발명에서는 이러한 추가 작업 없이 상기 프로그래밍 없이 생성된 스마트 계약을 자동으로 업로드하고 실행되게 하는 기술을 제시한다. Even if a smart contract is created without programming, it must be uploaded to the blockchain and executed. Normally, this is done by the system operator. The present invention proposes a technique for automatically uploading and executing a smart contract created without the programming without such additional work.

(4) 자연어 기반 스마트 계약 협상 및 수정(Natural Language-based negotiation and modification of smart contract)(4) Natural Language-based negotiation and modification of smart contract

통상의 경우 비즈니스 계약은 일반적으로 비즈니스 영역에 따라 사용하는 계약의 틀을 기반으로 쌍방이 수정, 삭제, 추가 등의 협상 과정을 거쳐 계약을 완성하는 프로세스를 따른다. 블록체인 상에서 실행되는 비즈니스 계약도 실제로 이러한 과정을 밟아 만들어진다. 이 계약은 물론 쌍방이 이해할 수 있는 자연어로 작성되며, 이를 기반으로 프로그래머가 스마트 계약을 코딩하는 것이 통상의 방식이다. 본 발명에서는 이러한 방식을 지양하고 자연어 상태에서 협상하고, 계약 내용, 추가, 삭제 및 변경하는 기술을 제시한다. 또한 이렇게 완성된 자연어 상태의 계약을 추가 작업 없이 자동으로 업로드하고 실행하는 기술도 제시한다.In the general case, the business contract generally follows the process of completing the contract through negotiation processes such as modification, deletion, and addition, based on the framework of the contract used according to the business area. Business contracts executed on the blockchain are actually created through this process. This contract, of course, is written in natural language that can be understood by both parties, and based on this, it is common for programmers to code smart contracts. In the present invention, a technique for avoiding such a method, negotiating in a natural language state, and contracting, adding, deleting, and changing is proposed. It also presents a technique for automatically uploading and executing a contract in natural language completed without additional work.

이하, 본 발명에서 사용하는 용어 중 특수한 의미를 가지고 사용하는 것들을 아래에 리스트하고 설명한다.Hereinafter, those used with a special meaning among terms used in the present invention are listed and described below.

(1) 술어논리(Predicate Logic)(1) Predicate Logic

본 발명에서 사용하는 용어인 술어논리(Predicate logic)는 논리학의 한 분야인 술어논리학(Predicate logic)에서 사용하는 방식(convention)을 따른다. 이러한 술어논리학의 방식에 따라 기술된 문장을 술어논리문장(Predicate logic statement) 또는 줄여서 술어문장(Predicate statement)이라 부른다. 술어문장의 예를 들면 아래와 같다The term used in the present invention, predicate logic, follows a convention used in predicate logic, which is a field of logic. The sentence described according to this method of predicate logic is called a predicate logic statement or abbreviated as a predicate statement. Examples of predicates are:

(예) service_contract (x, y)(Example) service_contract (x, y)

이때 x와 y가 각각 “Horizon Telecom”과 “Smith WiFi”로 특정 지어질 경우 이 문장은 아래와 같이 된다.At this time, if x and y are specified as “Horizon Telecom” and “Smith WiFi” respectively, this sentence will be as follows.

(예) service_contract (Horizon Telecom, Smith WiFi)(Example) service_contract (Horizon Telecom, Smith WiFi)

(2) 한정 자연어(CNL: Controlled Natural Language)(2) Controlled Natural Language (CNL)

본 발명에서 사용하는 계약은 자연어를 사용하여 체결된다. 이 문서는 일반인이 이해할 수 있는 자연어를 사용하지만 모든 자연어 문장을 허용할 경우 이를 자동으로 스마트 계약으로 변경할 때 모호함과 같은 문제점을 내포할 수 있기 때문에 본 발명에서 사용하는 자연어 문장은 술어논리학(Predicate logic)에서 사용하는 술어논리문장(predicate logic statement)을 자연어로 표현한 문장에 한정하여 사용한다. 이러한 자연어를 한정 자연어 (CNL: Controlled Natural Language)라 부르고 한정 자연어로 표현된 자연어 문장을 한정 자연어 문장 또는 CNL 문장이라 부른다. 위에 예를 든 술어문장 “service_contract (x, y)”에 대응하는 CNL 문장은 아래와 같다The contract used in the present invention is concluded using natural language. This document uses natural language that can be understood by the general public, but if all natural language sentences are allowed, it can have problems such as ambiguity when it is automatically changed to a smart contract. Therefore, natural language sentences used in the present invention are predicate logic. Predicate logic statements used in) are limited to sentences expressed in natural language. These natural languages are called Controlled Natural Languages (CNL) and natural language sentences expressed in limited natural languages are called limited natural language sentences or CNL sentences. The CNL statement corresponding to the predicate sentence “service_contract (x, y)” in the example above is as follows.

(예) x and y enter into a service contract (Example) x and y enter into a service contract

마찬가지로 x와 y값이 특징지어질 경우 이 문장은 아래와 같이 된다.Likewise, if the x and y values are characterized, the sentence would look like this:

(예) Horizon Telecom and Smith WiFi enter into a service contract(Example) Horizon Telecom and Smith WiFi enter into a service contract

(3) 템플릿(Template)(3) Template

술어논리문장(predicate logic statement) 또는 한정 자연어 문장이 값이 확정되지 않는 변수를 포함하고 있는 경우 이를 총칭해서 템플릿이라 부른다. 이때 변수는 예를 들어 숫자, 문자열, 객체(object), 엔티티(entity) 등 다양한 형태의 값을 가질 수 있다. 수학식에 비유한다면 템플릿은 수학 함수에서 변수에 특정 값이 대입되지 않은 경우와 유사하다고 할 수 있다. 위에서 예를 든 “service_contract (x, y)”나 “x and y enter into a service contract”는 모두 템플릿들이다.If a predicate logic statement or a qualified natural language statement contains a variable whose value is not determined, it is collectively called a template. In this case, the variable may have various types of values, such as numbers, strings, objects, and entities. In the analogy with equations, a template can be said to be similar to the case where a specific value is not assigned to a variable in a mathematical function. The “service_contract (x, y)” or “x and y enter into a service contract” examples above are all templates.

(4) 술어 템플릿(Predicate Template)(4) Predicate Template

술어논리(predicate logic) 문장이 값이 확정되지 않는 변수를 적어도 하나 이상 포함하고 있는 템플릿을 총칭해서 술어 템플릿(Predicate template)이라 부른다. A template in which a predicate logic statement contains at least one variable whose value is not determined is collectively called a predicate template.

(예) service_contract (x, y)(Example) service_contract (x, y)

(5) CNL 템플릿(CNL Template)(5) CNL Template

템플릿이 CNL 문장으로 구성된 경우 이를 CNL 템플릿(CNL template)이라 부른다. 이 경우 CNL 템플릿은 값이 확정되지 않는 변수를 적어도 하나 이상 포함하고 있다. When a template consists of CNL sentences, it is called a CNL template. In this case, the CNL template includes at least one variable whose value is not determined.

(예) x and y enter into a service contract. (Example) x and y enter into a service contract.

이 CNL 템플릿은 위에 있는 술어 템플릿 “service_contract (x, y)”에 대응하는 CNL 템플릿이다.This CNL template is a CNL template corresponding to the predicate template “service_contract (x, y)” above.

(6) 확정/확정된(Assigned)(6) Confirmed/Assigned

템플릿의 모든 변수의 값이 확정된 경우 이를 확정 템플릿(Assigned template)이라 부른다. 특히 술어 템플릿의 모든 변수 값이 확정된 경우 이를 확정 술어 템플릿(Assigned predicate template) 또는 줄여서 확정 술어(Assigned predicate)라 부르고, CNL 템플릿의 변수 값이 모두 확정된 경우 이를 확정 CNL 템플릿(Assigned CNL Template)이라 부른다.When the values of all the variables in the template are confirmed, it is called an assigned template. In particular, when all variable values of a predicate template are confirmed, this is called an assigned predicate template or abbreviated as an assigned predicate. This is called.

(예)“service_contract (x, y)”는 술어 템플릿이고 이에 대응하는 CNL 버전“x and y enter into a service contract”은 CNL 템플릿이다. 여기에 x와 y값이 확정된 경우인“service_contract (Horizon Telecom, Smith WiFi)”은 확정 술어 템플릿이고“Horizon Telecom and Smith WiFi enter into a service contract”은 확정 CNL 템플릿이다. (Example) “service_contract (x, y)” is a predicate template, and the corresponding CNL version “x and y enter into a service contract” is a CNL template. Here, if the values of x and y are confirmed, “service_contract (Horizon Telecom, Smith WiFi)” is a confirmed predicate template and “Horizon Telecom and Smith WiFi enter into a service contract” is a confirmed CNL template.

(7) 문서 템플릿(Document Template)(7) Document Template

한 개 이상의 템플릿을 포함하고 있는 문서의 일부 또는 전부를 총칭하여 문서 템플릿 (Document Template)이라 부른다. 이때 문서가 술어 템플릿으로 구성되어 있으면 술어 문서 템플릿(Predicate Document Template)이라 부르고 CNL 템플릿으로 구성되어 있으면 CNL 문서 템플릿(CNL Document Template)이라 부른다. 이 경우 값이 확정되지 않는 변수를 적어도 하나 이상 포함하고 있다.A part or all of a document including one or more templates is collectively called a document template. At this time, if the document is composed of predicate templates, it is called a Predicate Document Template, and if it is composed of CNL templates, it is called a CNL Document Template. In this case, at least one variable whose value is not determined is included.

(8) 확정문서 템플릿(Assigned Document Template)(8) Assigned Document Template

문서 템플릿 (Document Template)의 모든 변수의 값이 확정된 경우 이를 확정문서 템플릿(Assigned Document Template) 또는 줄여서 확정문서(Assigned Document)라 부른다. 이때 확정문서가 술어 템플릿으로 구성되어 있으면 확정 술어 문서(Assigned Predicate Document)이라 부르고 CNL 템플릿으로 구성되어 있으면 확정 CNL 문서(Assigned CNL Document)라 부른다. 확정문서의 경우 값이 확정되지 않는 변수는 하나도 없다는 것이 중요한 특징이다.When the values of all the variables in the document template are confirmed, this is called an assigned document template or an abbreviated document. At this time, if the definitive document is composed of a predicate template, it is called an Assigned Predicate Document, and if it is composed of a CNL template, it is called an Assigned CNL Document. In the case of a definitive document, it is an important feature that none of the variables have no fixed value.

(9) 모듈(Module) 및 모듈 컬렉션(Collection of Modules):(9) Module and Collection of Modules:

대응하는 CNL 템플릿과 술어 템플릿 쌍 중에서 같은 기능을 하는 템플릿이지만 조건이나 실행 방식이 조금씩 상이한 템플릿을 한 그룹으로 모아 놓은 것을 모듈이라 부르고 이 모듈들의 집합(컬렉션)을 모듈 컬렉션(Collection of Modules)이라 부른다.Among the pair of corresponding CNL templates and predicate templates, templates that have the same function but are slightly different in terms of conditions and execution methods are grouped together as a group, and these modules are called collections of modules. .

도 1은 본 실시예에 따른 스마트 계약 생성장치를 개략적으로 나타낸 블록 구성도이며, 도 2는 본 실시예에 따른 스마트 계약의 생성, 수정 및 실행방법을 설명하기 위한 개념도이다.1 is a block diagram schematically showing a smart contract generating device according to the present embodiment, and FIG. 2 is a conceptual diagram illustrating a method of generating, modifying, and executing a smart contract according to the present embodiment.

이하, 도 1 및 도 2를 함께 참조하여, 본 실시예에 따른 스마트 계약 생성장치에 대하여 설명하도록 한다.Hereinafter, a smart contract generating device according to this embodiment will be described with reference to FIGS. 1 and 2 together.

도 1에 도시하듯이, 본 실시예에 따른 스마트 계약 생성장치(100)는 저장부(110), 템플릿 편집부(120), 문서 템플릿 편집부(130), 메타 스마트 계약부(140) 및 블록체인(150)을 포함한다. 이때, 본 실시예에 따른 스마트 계약 생성장치(100)에 포함되는 구성요소는 반드시 이에 한정되는 것은 아니다. 예컨대, 다른 실시예에 있어서, 스마트 계약 생성장치(100) 내 저장부(110) 및 블록체인(150)은 각각 별개의 구성요소로서 구현될 수 있다.As shown in FIG. 1, the smart contract generating device 100 according to the present embodiment includes a storage unit 110, a template editing unit 120, a document template editing unit 130, a meta smart contract unit 140, and a blockchain ( 150). At this time, the components included in the smart contract generating device 100 according to the present embodiment are not necessarily limited thereto. For example, in another embodiment, the storage unit 110 and the block chain 150 in the smart contract generating device 100 may be implemented as separate components, respectively.

저장부(110)는 스마트 계약(Smart Contract)과 관련하여 기 정의된 CNL 템플릿 및 CNL 템플릿에 대응하는 술어(Predicate) 템플릿의 집합으로 이루어진 복수 개의 CNL-술어 템플릿 쌍을 저장한다.The storage unit 110 stores a plurality of CNL-predicate template pairs consisting of a set of pre-defined CNL templates and predicate templates corresponding to the CNL templates in relation to a smart contract.

본 실시예에 따른 스마트 계약 생성방법에 의하는 경우 프로그래머가 스마트 계약을 코딩하는 통상의 방식이 아닌 자연어 상태에서 협상하고, 계약 내용을 추가, 삭제 및 변경하는 과정을 거쳐 계약이 이루어진다.In the case of the smart contract generation method according to the present embodiment, the programmer negotiates in the natural language state rather than the normal way of coding the smart contract, and the contract is made through the process of adding, deleting, and changing the contract content.

이로 인해, 본 실시예에 따른 스마트 계약 프로그램과 관계되는 문장은 모두 자연어 기반으로 이루어진다. 즉, 본 실시예의 경우 스마트 계약 프로그램과 관계되는 문장은 CNL 자연어 문장과 술어문장의 쌍으로 구현되어지며, 보다 자세하게는 CNL 템플릿과 술어 템플릿 쌍의 집합으로 표현될 수 있다. 이때, 술어 템플릿은 값이 확정되지 않은 적어도 하나 이상의 변수를 포함하는 술어 논리학 기반의 술어문장으로 구성된다. CNL 템플릿은, 술어문장을 자연어로 표현한 문장인 한정 자연어 문장으로 구성된다.For this reason, all sentences related to the smart contract program according to the present embodiment are based on natural language. That is, in the present embodiment, the sentences related to the smart contract program are implemented as a pair of CNL natural language sentences and predicate sentences, and more specifically, may be expressed as a set of CNL templates and predicate template pairs. At this time, the predicate template is composed of a predicate logic-based predicate sentence including at least one variable whose value is not determined. The CNL template is composed of limited natural language sentences, which are sentences in which a predicate sentence is expressed in natural language.

예를 들어,“x and y enter into a service contract”라는 CNL 템플릿과 이에 대응하는“service_contract (x, y)”라는 술어 템플릿의 쌍이 그 예이다. 저장부(110)는 이러한 쌍들을 모두 저장하고 있다.For example, a pair of CNL templates “x and y enter into a service contract” and corresponding predicate templates “service_contract (x, y)”. The storage unit 110 stores all of these pairs.

이러한 CNL 템플릿과 술어 템플릿 쌍은 서비스 제공자가 계약과 관련하여 사용 가능한 모든 쌍을 미리 만들어 제공하는 것이 일반적이나 반드시 이에 한정되는 것은 아니다. 다른 실시예에서, 일반 사용자도 편집 수단 예컨대, 템플릿 편집부(120) 등을 통해 이러한 쌍을 추가할 수도 있다.These CNL template and predicate template pairs are generally provided by the service provider in advance, but not necessarily limited to all available pairs in connection with the contract. In other embodiments, the general user may also add these pairs through editing means, such as the template editing unit 120.

한편, 저장부(110) 상에 저장된 CNL-술어 템플릿 쌍의 경우 계약과 관련하여 사용 가능한 모든 쌍이 제공됨에 따라 CNL-술어 템플릿 쌍 내 술어 문장들 중 서로 상충하는 문장이 있을 수 있다.On the other hand, in the case of a pair of CNL-predicate templates stored on the storage 110, there may be conflicting sentences among the predicate sentences in the CNL-predicate template pair as all available pairs related to the contract are provided.

예컨대,“If delivery of goods from x to y is not done by the promised date, the payment from y to x shall be forfeited”와“If delivery of goods from x to y is not done by the promised date, the penalty shall be 5 percent (%) of the amount of the payment from y to x”는 서로 상충되는 문장으로서 이 두 문장이 동시에 계약 문서에 들어가서는 안된다. 이러한 문제를 방지하기 위하여 상충되는 실행 방식을 표현하는 문장들을 하나의 그룹으로 묶어 그 중의 하나만 계약문서에 포함되도록 제약을 가할 필요가 있다.For example, “If delivery of goods from x to y is not done by the promised date, the payment from y to x shall be forfeited” and “If delivery of goods from x to y is not done by the promised date, the penalty shall be 5 percent (%) of the amount of the payment from y to x” is a conflicting statement, and these two statements should not be included in the contract document at the same time. In order to prevent such a problem, it is necessary to group sentences expressing conflicting execution methods into a group, and restrict the restriction so that only one of them is included in the contract document.

이를 위하여 본 실시예에 따른 저장부(110)는 저장부(110) 내 저장된 술어 템플릿 중 동일 기능을 수행하나 서로 상충되는 실행 방식을 갖는 템플릿들을 하나의 그룹으로 그룹화하여 모듈 컬렉션으로서 저장한다.To this end, the storage unit 110 according to this embodiment performs the same function among the predicate templates stored in the storage unit 110, but groups templates having conflicting execution methods into one group and stores them as a module collection.

예컨대, 도 4를 참조하면, 모듈 컬렉션의 한 예시로, 배달 지체 페널티 조항들을 묶은“Delay Penalty”모듈의 형태를 확인할 수 있다. 이러한, 모듈 컬렉션에 의하는 경우 제시되는 여러 페널티 중 한가지만 선택될 수 있도록 하는 제약이 가해지게 된다.For example, referring to FIG. 4, as an example of a module collection, a form of a “Delay Penalty” module that bundles delivery delay penalty provisions may be confirmed. In the case of such a module collection, a constraint is imposed so that only one of several proposed penalties can be selected.

템플릿 편집부(120)는 스마트 계약 실행 과정에서 이용되는 템플릿에 대한 편집 기능을 제공한다.The template editing unit 120 provides an editing function for a template used in the process of executing a smart contract.

본 실시예에 있어서, 템플릿 편집부(120)는 저장부(110) 상에 저장되는 CNL-술어 템플릿 쌍의 생성, 변경 및 삭제 등의 편집 기능을 제공한다.In the present embodiment, the template editing unit 120 provides editing functions such as creation, change, and deletion of CNL-predicate template pairs stored on the storage unit 110.

또한, 템플릿 편집부(120)는 CNL-술어 템플릿 쌍 내 술어 템플릿의 변수 값에 치환될 숫자, 문자열, 객체, 엔티티 중 적어도 하나의 대상정보를 정의할 수 있다.In addition, the template editor 120 may define at least one target information among numbers, strings, objects, and entities to be substituted for variable values of the predicate templates in the CNL-predicate template pair.

문서 템플릿 편집부(130)는 저장부(110) 상에 저장된 CNL-술어 템플릿 쌍을 활용하여 CNL 문서 템플릿을 생성하고, 이를 기반으로 자연어 기반 블록 체인 스마트 계약을 생성 및 수정하는 기능을 수행한다.The document template editing unit 130 performs a function of generating a CNL document template using a pair of CNL-predicate templates stored on the storage unit 110 and generating and modifying a natural language-based blockchain smart contract based on the CNL document template.

문서 템플릿 편집부(130)는 저장부(110) 상에 저장된 CNL-술어 템플릿 쌍을 기반으로 CNL 템플릿을 선택하고, 선택된 CNL 템플릿을 배치하는 과정을 통해 CNL 문서 템플릿을 생성할 수 있다.The document template editing unit 130 may generate a CNL document template through a process of selecting a CNL template based on a pair of CNL-predicate templates stored on the storage unit 110 and arranging the selected CNL template.

한편, 본 실시예에 있어서, 문서 템플릿 편집부(130)는 CNL 문서 템플릿을 서비스 제공자가 서비스하려는 비즈니스의 요구 사항에 맞게 미리 만들어진 다양한 초벌 문서로 사전 제공할 수 있다. 예컨대, 서비스 제공자는 사용자의 편의를 위해 일종의 계약 문서의 틀을 만들고 그에 포함되어 있는 조항들에 해당하는 CNL 템플릿을 삽입하여 계약 문서 템플릿을 제공할 수 있다.On the other hand, in the present embodiment, the document template editing unit 130 may provide the CNL document template in advance as a variety of preliminary documents that are pre-made to meet the needs of the business that the service provider wants to service. For example, the service provider may provide a contract document template by creating a frame of a contract document for user convenience and inserting a CNL template corresponding to provisions included therein.

이를 통해, 본 실시예에 따른 사용자는 서비스 제공자와 같이 직접 CNL 문서 템플릿을 만들 수 있지만, 대부분의 경우 서비스 제공자가 제공하는 초벌 문서를 기반으로 CNL 템플릿을 삭제, 추가, 변경하는 방법으로 원하는 최종 CNL 문서 템플릿을 생성할 수 있다. 즉, 문서 템플릿 편집부(130)는 초벌 문서로서 제공되는 계약 문서 템플릿 내 각 조항들을 사용자에 의해 선택된 CNL 템플릿을 기초로 변경, 추가 삭제하여 CNL 문서 템플릿을 생성할 수 있다. 이러한 CNL 문서 템플릿은 실제로 계약서에 준하는 양식으로 만들어지지만, 여기에 포함되어 있는 템플릿의 변수 값은 확정되지 않은 상태이다.Through this, the user according to the present embodiment can create a CNL document template directly like a service provider, but in most cases, a final CNL desired by deleting, adding, or changing a CNL template based on a draft document provided by a service provider You can create document templates. In other words, the document template editing unit 130 may create a CNL document template by changing and adding and deleting each provision in the contract document template provided as a first document based on the CNL template selected by the user. These CNL document templates are actually made in a form conforming to the contract, but the variable values of the templates included therein have not been confirmed.

문서 템플릿 편집부(130)는 계약 당사자 간 협약결과에 따라 CNL 문서 템플릿 상의 변수 값들을 확정하여 스마트 계약에 상응하는 확정 CNL 문서를 생성한다. 즉, 계약의 주체인 일반 사용자들이 CNL 문서 템플릿을 가지고 변수 값들을 확정함으로써 최종적으로 확정 CNL 문서가 생성될 수 있다. 한편, 본 실시예에서는 이러한 확정 CNL 문서가 일반 사용자가 보는 계약 문서에 해당될 수 있다.The document template editing unit 130 determines variable values on the CNL document template according to the agreement result between the contracting parties to generate a confirmed CNL document corresponding to the smart contract. That is, the final CNL document can be generated by the general users who are the subject of the contract confirming the variable values with the CNL document template. On the other hand, in this embodiment, such a confirmed CNL document may correspond to a contract document viewed by a general user.

문서 템플릿 편집부(130)는 확정 CNL 문서를 복수의 계약 당사자에게 제공하며, 확정 CNL 문서에 대한 복수의 계약 당사자들 간 합의결과에 기반하여 스마트 계약을 생성한다.The document template editing unit 130 provides the definitive CNL document to a plurality of contracting parties, and generates a smart contract based on the agreement result between the plurality of contracting parties for the definitive CNL document.

예컨대, 문서 템플릿 편집부(130)는 계약 당사자들 간 합의결과에 따라 계약 당사자 각각으로부터 획득되는 디지털 서명을 기반으로 확정 CNL 문서와 관련한 계약을 최종 확정하고, 확정 결과를 블록체인(150) 상에 기록시켜 스마트 계약을 생성한다.For example, the document template editing unit 130 finalizes the contract related to the confirmed CNL document based on the digital signature obtained from each of the contracting parties according to the result of the agreement between the contracting parties, and records the confirmed result on the blockchain 150 To create a smart contract.

한편, 본 실시예에의 경우, 스마트 계약 프로그램 입장에서 보면 프로그램이 다루는 대상이 CNL 문서 자체가 아니고 이와 대응하는 술어 템플릿이기 때문에, 스마트 계약 프로그램 실행 입장에서는 확장 술어 문서가 가장 중요한 기본 문서가 된다.On the other hand, in the present embodiment, from the standpoint of the smart contract program, since the object covered by the program is not the CNL document itself, but a predicate template corresponding thereto, the extended predicate document is the most important basic document in terms of executing the smart contract program.

이에, 문서 템플릿 편집부(130)는 저장부(110)에 저장된 CNL-술어 템플릿 쌍을 기반으로 하여 CNL 문서 템플릿에 상응하는 술어 문서 템플릿 및 확정 CNL 문서에 대응하는 확정 술어 문서를 순차적으로 생성하고, 생성한 확정 술어 문서를 확정 CNL 문서와 함께 블록체인(150) 상에 기록시킨다.Accordingly, the document template editing unit 130 sequentially generates a predicate document template corresponding to the CNL document template and a confirmed predicate document corresponding to the confirmed CNL document based on the pair of CNL-predicate templates stored in the storage 110, The generated predicate document is recorded on the blockchain 150 together with the confirmed CNL document.

메타 스마트 계약부(140)는 확정 CNL 문서 및 블록체인(150) 상에 기 등록된 메타 스마트 계약 수단에 기반하여 스마트 계약을 실행하는 기능을 수행한다.The meta smart contract unit 140 performs a function of executing a smart contract based on the confirmed CNL document and the meta smart contract means previously registered on the blockchain 150.

본 실시예에 있어서, 메타 스마트 계약부(140)는 확정 CNL 문서에 대응하는 확정 술어 문서로부터 실행 정보 데이터를 산출하고, 산출한 실행 정보 데이터 및 스마트 계약 수단에 기반하여 스마트 계약을 실행한다. 이때, 실행 정보 데이터는 확정 술어 문서와 관련하여 선택된 템플릿의 종류, 해당 템플릿에 대하여 확정된 변수 값, 전자서명 등의 다양한 정보들이 포함될 수 있다. 이러한, 실행 정보 데이터는 스마트 계약을 실행시키기 위한 조건정보로서 활용되며, 실행 정보 데이터에 따라 스마트 계약의 실행 내용이 결정될 수 있다.In the present embodiment, the meta smart contract unit 140 calculates execution information data from the determined predicate document corresponding to the determined CNL document, and executes the smart contract based on the calculated execution information data and smart contract means. At this time, the execution information data may include various types of information, such as the type of the template selected with respect to the final predicate document, the variable value determined for the corresponding template, and the digital signature. The execution information data is used as condition information for executing the smart contract, and execution contents of the smart contract may be determined according to the execution information data.

메타 스마트 계약 수단은 그 자체를 블록체인에서 실행하기 위한 단순한 절차적 프로그램이 아니고, 모든 가능성을 수용할 수 있는 일종의 메타 프로그램을 의미한다. 즉, 메타 스마트 계약 수단은 어떠한 확정 술어 문서가 주어지더라도, 이를 실행할 수 있는 프로그램일 수 있다. 이러한, 메타 스마트 계약 수단은 Java, JavaScript, Python. Go, Ruby 등 다양한 프로그래밍 언어를 사용하여 구현할 수 있다.The meta smart contract means is not a simple procedural program for executing itself on the blockchain, but a kind of meta program that can accommodate all possibilities. That is, the meta smart contract means may be a program that can execute any given predicate document. These, meta smart contract means are Java, JavaScript, Python. It can be implemented using various programming languages such as Go and Ruby.

본 실시예에 있어서, 메타 스마트 계약 수단은 저장부(110) 내 술어 템플릿을 실행할 수 있으며, 이를 기반으로 스마트 계약의 실행을 위한 조건정보가 주어지는 경우 해당 조건정보에 기반하여 스마트 계약을 실행하도록 구현된다.In the present embodiment, the meta-smart contract means can execute a predicate template in the storage unit 110, and implements a smart contract based on the condition information when the condition information for execution of the smart contract is given based on the predicate template in the storage unit 110 do.

메타 스마트 계약부(140)는 실행 정보 데이터를 메타 스마트 계약 수단 상에 조건정보로서 입력시켜 스마트 계약이 실행되도록 한다. 즉, 메타 스마트 계약 수단은 실행 정보 데이터에 따라 실제 실행 내용이 결정되며, 이를 통해 스마트 계약을 실행시킨다.The meta smart contract unit 140 inputs execution information data as condition information on the meta smart contract means to execute the smart contract. That is, the meta-smart contract means determines the actual execution content according to the execution information data, thereby executing the smart contract.

메타 스마트 계약부(140)는 스마트 계약 실행 시 블록체인(150) 상에 기록된 확정 술어 문서로부터 실행 정보 데이터를 산출할 수도 있지만, 산출된 실행 정보 데이터를 스마트 계약 실행과 관련하여 별도로 블록체인(150) 상에 기록시킴으로써 이후, 이를 기반으로 스마트 계약이 실행되도록 할 수 있다. 즉, 메타 스마트 계약부(140)는 스마트 계약 실행 시 블록체인(150) 상에 기록된 실행 정보 데이터 및 스마트 계약 수단을 호출시킴으로써 스마트 계약이 자동 실행되도록 할 수 있다.The meta smart contract unit 140 may calculate the execution information data from the determined predicate document recorded on the blockchain 150 when the smart contract is executed, but the calculated execution information data is separately related to the execution of the smart contract. 150), the smart contract can be executed based on this. That is, the meta smart contract unit 140 may automatically execute the smart contract by calling the execution information data and the smart contract means recorded on the block chain 150 when the smart contract is executed.

한편, 메타 스마트 계약 수단은 버전업에 따라 대응되는 버전정보가 부여되며, 메타 스마트 계약부(140)는 스마트 계약 실행 시 실행 정보 데이터 상에 포함되는 버전정보에 기반하여 블록체인(150) 내 실행 정보 데이터에 대응하는 메타 스마트 계약 수단을 산출할 수 있다.On the other hand, the meta smart contract means is provided with corresponding version information according to the version up, and the meta smart contract unit 140 executes in the blockchain 150 based on the version information included in the execution information data when the smart contract is executed. It is possible to calculate the meta smart contract means corresponding to the information data.

한편, 메타 스마트 계약 수단은 저장부(110) 내 모든 술어 템플릿을 실행할 수 있으며, 이는, 자칫 서로 상충되는 술어 템플릿이 동시에 확정 CNL 문서 상에 들어가는 경우 잘못된 스마트 계약을 실행시킬 수 있다는 문제가 존재한다.On the other hand, the meta smart contract means can execute all the predicate templates in the storage unit 110, which is problematic in that if the predicate templates that conflict with each other simultaneously enter on the confirmed CNL document, the wrong smart contract can be executed. .

이 점에 기인하여, 메타 스마트 계약부(140)는 앞서 저장부(110)에 저장된 모듈 컬렉션에 기반한 필터링 절차를 수행할 수 있다. 즉, 메타 스마트 계약부(140)는 서로 상충되는 계약 조건이 하나의 스마트 계약 상에서 실행되지 않도록 제약을 가한다. 이러한, 모듈 컬렉션에 기반한 필터링 절차는 문서 템플릿 편집부(130)가 CNL 문서 템플릿을 생성하는 과정에서 수행될 수도 있다.Due to this point, the meta-smart contract unit 140 may perform a filtering procedure based on a collection of modules previously stored in the storage unit 110. That is, the meta smart contract unit 140 applies constraints so that conflicting contract conditions are not executed on one smart contract. The filtering procedure based on the module collection may be performed while the document template editing unit 130 generates a CNL document template.

도 3은 본 실시예에 따른 스마트 계약 생성방법을 설명하기 위한 순서도이다.3 is a flow chart for explaining a smart contract generation method according to the present embodiment.

스마트 계약 생성장치(100)는 복수 개의 CNL-술어 템플릿 쌍을 기반으로 사용자 선택에 따라 적어도 하나의 CNL 템플릿을 조합하여 CNL 문서 템플릿을 생성한다(S302). 단계 S302에서 초벌 문서로서 제공되는 계약 문서 템플릿 내 각 조항들을 사용자에 의해 선택된 CNL 템플릿을 기초로 변경, 추가 삭제하여 CNL 문서 템플릿을 생성할 수 있다.The smart contract generating apparatus 100 generates a CNL document template by combining at least one CNL template according to a user selection based on a plurality of CNL-predicate template pairs (S302). In step S302, each provision in the contract document template provided as a draft document may be changed or deleted based on the CNL template selected by the user to generate a CNL document template.

스마트 계약 생성장치(100)는 사용자 협약결과에 따라 단계 S302의 CNL 문서 템플릿 상의 변수 값들을 확정하여 스마트 계약에 상응하는 확정 CNL 문서를 생성한다(S304). 단계 S304에서 스마트 계약 생성장치(100)는 계약 당사자들 간 합의결과에 따라 계약 당사자 각각으로부터 획득되는 디지털 서명을 기반으로 확정 CNL 문서와 관련한 계약을 최종 확정하고, 확정 결과를 블록체인 상에 기록시켜 스마트 계약을 생성한다.The smart contract generating device 100 determines variable values on the CNL document template in step S302 according to the result of the user agreement to generate a confirmed CNL document corresponding to the smart contract (S304). In step S304, the smart contract generating device 100 finally finalizes the contract related to the confirmed CNL document based on the digital signature obtained from each of the contracting parties according to the result of the agreement between the contracting parties, and records the confirmation result on the blockchain Create a smart contract.

스마트 계약 생성장치(100)는 저장부(110)에 저장된 CNL-술어 템플릿 쌍을 기반으로 하여 CNL 문서 템플릿에 상응하는 술어 문서 템플릿 및 확정 CNL 문서에 대응하는 확정 술어 문서를 순차적으로 생성하고, 생성한 확정 술어 문서를 확정 CNL 문서와 함께 블록체인 상에 기록시킨다.The smart contract generating device 100 sequentially generates and generates a predicate document template corresponding to the CNL document template and a confirmed predicate document corresponding to the confirmed CNL document based on the pair of CNL-predicate templates stored in the storage 110. A definitive predicate document is recorded on the blockchain with the definitive CNL document.

스마트 계약 생성장치(100)는 단계 S304의 확정 CNL 문서 및 블록체인 상에 기 등록된 메타 스마트 계약에 기반하여 스마트 계약을 실행한다(S306). 단계 S306에서 스마트 계약 생성장치(100)는 확정 CNL 문서에 대응하는 확정 술어 문서로부터 실행 정보 데이터를 산출하고, 산출한 실행 정보 데이터 및 스마트 계약 수단에 기반하여 스마트 계약을 실행한다.The smart contract generating device 100 executes the smart contract based on the confirmed CNL document of step S304 and the meta smart contract previously registered on the blockchain (S306). In step S306, the smart contract generating device 100 calculates execution information data from the determined predicate document corresponding to the determined CNL document, and executes the smart contract based on the calculated execution information data and smart contract means.

스마트 계약 생성장치(100)는 실행 정보 데이터를 메타 스마트 계약 수단 상에 조건정보로서 입력시켜 스마트 계약을 실행시킨다.The smart contract generating device 100 executes the smart contract by inputting execution information data as condition information on the meta smart contract means.

도 3에서는 각각의 과정을 순차적으로 실행하는 것으로 기재하고 있으나, 반드시 이에 한정되는 것은 아니다. 다시 말해, 도 3에 기재된 과정을 변경하여 실행하거나 하나 이상의 과정을 병렬적으로 실행하는 것으로 적용 가능할 것이므로, 도 2는 시계열적인 순서로 한정되는 것은 아니다.Although FIG. 3 describes that each process is executed sequentially, the present invention is not limited thereto. In other words, since the process described in FIG. 3 may be changed or executed or one or more processes may be executed in parallel, FIG. 2 is not limited to the time series order.

전술한 바와 같이 도 3에 기재된 스마트 계약 생성방법은 프로그램으로 구현되고 컴퓨터의 소프트웨어를 이용하여 읽을 수 있는 기록매체(CD-ROM, RAM, ROM, 메모리 카드, 하드 디스크, 광자기 디스크, 스토리지 디바이스 등)에 기록될 수 있다.As described above, the smart contract generation method described in FIG. 3 is implemented as a program and can be read using a computer software (CD-ROM, RAM, ROM, memory card, hard disk, magneto-optical disk, storage device, etc.) ).

도 5 내지 도 8은 본 실시예에 따른 스마트 계약 실행을 위한 각 수행 시나리오를 설명하기 위한 흐름도이다. 한편, 도 5 내지 도 8에서는 저장부(110) 및 블록체인(150)이 스마트 계약 생성장치(100)와 별개의 장치로 구현된 것으로 도시하였으나, 이는, 수행 시나리오의 각 과정을 보다 명확하게 설명하기 위함이며, 실질적으로 하나의 장치로 구현될 수 있다.5 to 8 are flowcharts for explaining each execution scenario for executing a smart contract according to the present embodiment. On the other hand, in FIGS. 5 to 8, the storage unit 110 and the block chain 150 are illustrated as being implemented as separate devices from the smart contract generating device 100, but this clearly explains each process of the execution scenario. It is for the following reasons, and may be implemented as one device.

도 5는 본 실시예에 따른 스마트 계약 생성과 관련한 수행 시나리오를 설명하기 위한 흐름도이다.5 is a flowchart illustrating a performance scenario related to smart contract generation according to the present embodiment.

단계 S502 내지 단계 S508는 스마트 계약 생성장치(100)가 저장소 내 초벌 문서로서 제공되는 계약 문서 템플릿 내 각 조항들을 사용자에 의해 선택된 CNL 템플릿을 기초로 변경, 추가 삭제하여 CNL 문서 템플릿을 생성하고, 이를 계약 문서로 사용자에게 제공하는 과정에 해당된다.In step S502 to step S508, the smart contract generation device 100 generates and converts the CNL document template by changing and deleting each provision in the contract document template provided as the first document in the repository based on the CNL template selected by the user. It corresponds to the process of providing to the user as a contract document.

단계 S510 내지 단계 S518은 스마트 계약 생성장치(100)가 계약 당사자 간 협약결과에 따라 CNL 문서 템플릿 상의 변수 값들을 확정하여 스마트 계약에 상응하는 확정 CNL 문서를 생성하고, 계약 당사자들 간 합의결과에 따라 계약 당사자 각각으로부터 획득되는 디지털 서명을 기반으로 확정 CNL 문서와 관련한 계약을 최종 확정하는 과정에 해당된다. In step S510 to step S518, the smart contract generating device 100 determines variable values on the CNL document template according to the agreement result between the contracting parties to generate a confirmed CNL document corresponding to the smart contract, and according to the agreement result between the contracting parties. This is the process of final confirmation of a contract related to a confirmed CNL document based on a digital signature obtained from each of the contracting parties.

단계 S520 내지 단계 S524는 확정 CNL 문서에 대응하는 확정 술어 문서로부터 실행 정보 데이터를 산출하고, 이를 블록체인 상에 등록하여 스마트 계약이 생성 및 실행되도록 하는 과정에 해당된다.Steps S520 to S524 correspond to a process of calculating execution information data from a confirmed predicate document corresponding to the confirmed CNL document and registering it on the blockchain to generate and execute a smart contract.

도 6은 본 실시예에 따른 계약 당사자 간의 협상과 관련한 수행 시나리오를 설명하기 위한 흐름도이다.6 is a flowchart illustrating a performance scenario related to negotiation between contracting parties according to the present embodiment.

단계 S602 내지 단계 S614는 스마트 계약 생성장치(100)가 저장소 내 초벌 문서로서 제공되는 계약 문서 템플릿을 제1 계약 당사자로 전달하여 계약 문서 템플릿 내 각 조항들을 사용자에 의해 선택된 CNL 템플릿을 기초로 변경, 추가 삭제하도록 하는 과정에 해당한다.In step S602 to step S614, the smart contract generating device 100 transfers the contract document template provided as the first document in the repository to the first contracting party, and changes each of the terms in the contract document template based on the CNL template selected by the user. Corresponds to the process of deleting additional.

단계 S616 내지 단계 S620은 스마트 계약 생성장치(100)가 제1 계약 당사자로부터 전달받은 수정 문서 템플릿을 제2 계약 당사자로 전달하여 마찬가지로, 계약 문서 템플릿 내 각 조항들을 사용자에 의해 선택된 CNL 템플릿을 기초로 변경, 추가 삭제하도록 하는 과정에 해당한다.Steps S616 to S620, the smart contract generating device 100 delivers the modified document template received from the first contracting party to the second contracting party, similarly, based on the CNL template selected by the user for each clause in the contract document template This corresponds to the process of making changes or deletions.

단계 S622 내지 단계 S632는 스마트 계약 생성장치(100)가 계약 당사자 간 협약결과에 따라 스마트 계약에 상응하는 확정 CNL 문서를 생성하고, 계약 당사자들 간 합의결과에 따라 계약 당사자 각각으로부터 획득되는 디지털 서명을 기반으로 확정 CNL 문서와 관련한 계약을 최종 확정하는 과정에 해당된다. In steps S622 to S632, the smart contract generating device 100 generates a definitive CNL document corresponding to the smart contract according to the agreement result between the contracting parties, and digitally obtains a digital signature obtained from each of the contracting parties according to the agreement result between the contracting parties. Based on the final CNL document, the contract is finalized.

도 7은 본 실시예에 따른 서비스 제공자의 CNL-술어 템플릿 쌍 제공과 관련한 수행 시나리오를 설명하기 위한 흐름도이다.7 is a flowchart illustrating a performance scenario related to providing a CNL-predicate template pair of a service provider according to the present embodiment.

단계 S702 내지 S708은 서비스 제공자가 계약과 관련하여 사용 가능한 CNL 문서 템플릿 및 이에 대응하는 술어 문서 템플릿을 생성하여 등록함으로써 사용 가능한 모든 CNL-술어 템플릿 쌍을 만들어 제공하는 과정에 해당한다.Steps S702 to S708 correspond to a process in which a service provider creates and provides all available CNL-predicate template pairs by generating and registering a CNL document template usable in connection with a contract and a corresponding predicate document template.

단계 S710 내지 S714는 스마트 계약 생성장치(100)가 생성된 CNL-술어 템플릿 쌍에 대한 유효성을 검증하고, 이를 저장소 내 최종 등록하는 과정에 해당한다.Steps S710 to S714 correspond to a process in which the smart contract generation device 100 verifies the validity of the generated CNL-predicate template pair and finally registers it in the repository.

도 8은 본 실시예에 따른 모듈 컬렉션에 기반한 필터링 절차 수행 시나리오를 설명하기 위한 흐름도이다.8 is a flowchart illustrating a scenario for performing a filtering procedure based on a module collection according to the present embodiment.

단계 S802 내지 S808은 스마트 계약 생성장치(100)가 대응하는 CNL 템플릿과 술어 템플릿 쌍 중에서 같은 기능을 하는 템플릿이지만 조건이나 실행 방식이 조금씩 상이한 템플릿을 한 그룹으로 모아 놓은 모듈 컬렉션을 계약 당사자에게 전달하는 과정에 해당한다.Steps S802 to S808 are templates in which the smart contract generator 100 performs the same function among the corresponding CNL templates and predicate template pairs, but delivers a module collection in which groups with slightly different conditions or execution methods are grouped together as a group. Corresponds to the course.

단계 S810 내지 S812 계약 당사자가 서로 상충되는 계약 조건이 하나의 스마트 계약 상에서 실행되지 않도록 모듈 컬렉션에 기반하여 여러 페널티 중 한가지만을 선택하여 제공하는 필터링 절차에 해당한다.Steps S810 to S812 correspond to a filtering procedure in which only one of several penalties is selected and provided based on the module collection so that contract terms that are in conflict with each other are not executed on one smart contract.

단계 S810 내지 S818은 스마트 계약 생성장치(100)가 계약 당사자 간 협약결과에 따라 CNL 문서 템플릿 상의 변수 값들을 확정하여 스마트 계약에 상응하는 확정 CNL 문서를 생성하고, 계약 당사자들 간 합의결과에 따라 계약 당사자 각각으로부터 획득되는 디지털 서명을 기반으로 확정 CNL 문서와 관련한 계약을 최종 확정하는 과정에 해당된다.In steps S810 to S818, the smart contract generating device 100 determines variable values on the CNL document template according to the agreement result between the contracting parties to generate a confirmed CNL document corresponding to the smart contract, and contracts according to the agreement between the contracting parties. This is the process of final confirmation of a contract related to a confirmed CNL document based on a digital signature obtained from each of the parties.

단계 S820 내지 S824는 확정 CNL 문서에 대응하는 확정 술어 문서로부터 실행 정보 데이터를 산출하고, 이를 블록체인 상에 등록하여 스마트 계약이 생성 및 실행되도록 하는 과정에 해당된다.Steps S820 to S824 correspond to a process of calculating execution information data from the determined predicate document corresponding to the confirmed CNL document and registering it on the blockchain to generate and execute the smart contract.

이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The above description is merely illustrative of the technical idea of the present embodiment, and those skilled in the art to which this embodiment belongs will be capable of various modifications and variations without departing from the essential characteristics of the present embodiment. Therefore, the present embodiments are not intended to limit the technical spirit of the present embodiment, but to explain, and the scope of the technical spirit of the present embodiment is not limited by these embodiments. The protection scope of the present embodiment should be interpreted by the claims below, and all technical spirits within the equivalent range should be interpreted as being included in the scope of the present embodiment.

100: 스마트 계약 생성장치 110: 저장부
120: 템플릿 편집부 130: 문서 템플릿 편집부
140: 메타 스마트 계약부 150: 블록체인
100: smart contract generation device 110: storage unit
120: template editing unit 130: document template editing unit
140: meta smart contract unit 150: blockchain

Claims (17)

스마트 계약(Smart Contract)과 관련하여 상기 스마트 계약을 구성할 수 있는 기 정의된 템플릿을 저장하는 저장부;
사용자 선택에 따라 적어도 하나의 상기 템플릿을 조합하여 문서 템플릿을 생성하고, 사용자 협약결과에 따라 상기 문서 템플릿 상의 변수 값들을 확정하여 상기 스마트 계약에 상응하는 확정 문서를 생성하는 문서 템플릿 편집부; 및
상기 확정 문서를 기반으로 블록체인 상에서 실행되는 상기 스마트 계약을 생성하는 메타 스마트 계약부
를 포함하는 것을 특징으로 하는 스마트 계약 생성장치.
A storage unit for storing a predefined template capable of constructing the smart contract in connection with a smart contract;
A document template editing unit for generating a document template by combining at least one of the templates according to a user's selection, and determining variable values on the document template according to a user agreement result to generate a confirmation document corresponding to the smart contract; And
Meta smart contract unit that generates the smart contract executed on the blockchain based on the confirmed document
Smart contract generation device comprising a.
제 1항에 있어서,
상기 저장부는,
상기 기 정의된 템플릿으로서 CNL(Controlled Natural Language) 템플릿 및 상기 CNL 템플릿에 대응하는 술어(Predicate) 템플릿 쌍의 집합으로 이루어진 복수 개의 CNL-술어 템플릿 쌍을 저장하는 것을 특징으로 하는 스마트 계약 생성장치.
According to claim 1,
The storage unit,
A smart contract generating apparatus characterized by storing a plurality of pairs of CNL-predicate templates consisting of a set of CNL (Controlled Natural Language) templates and a pair of Predicate templates corresponding to the CNL templates.
제 2항에 있어서,
상기 문서 템플릿 편집부는,
상기 CNL 템플릿을 조합하여 CNL 문서 템플릿을 생성하고, 상기 사용자 협약결과에 따라 상기 CNL 문서 템플릿 상의 변수 값들을 확정하여 상기 스마트 계약에 상응하는 확정 CNL 문서를 생성하는 것을 특징으로 하는 스마트 계약 생성장치.
According to claim 2,
The document template editing unit,
The CNL document template is generated by combining the CNL template, and the determined CNL document corresponding to the smart contract is generated by determining variable values on the CNL document template according to the result of the user agreement.
제 3항에 있어서,
상기 메타 스마트 계약부는,
상기 확정 CNL 문서 및 상기 블록체인 상에 기 등록된 메타 스마트 계약 수단에 기반하여 상기 스마트 계약을 생성하는 것을 특징으로 하는 스마트 계약 생성장치.
According to claim 3,
The meta smart contract unit,
A smart contract generating device, characterized in that the smart contract is generated based on the confirmed CNL document and the meta smart contract means previously registered on the blockchain.
제 2항에 있어서,
상기 술어 템플릿은, 값이 확정되지 않은 적어도 하나 이상의 변수를 포함하는 술어 논리학 기반의 술어문장으로 구성되며,
상기 CNL 템플릿은, 상기 술어문장을 자연어로 표현한 문장인 한정 자연어 문장으로 구성되는 것을 특징으로 하는 스마트 계약 생성장치.
According to claim 2,
The predicate template is composed of predicate logic-based predicate sentences including at least one variable whose value is not determined,
The CNL template, the smart contract generation device characterized in that it consists of a limited natural language sentence that is a sentence expressing the predicate sentence in natural language.
제 2항에 있어서,
상기 저장부 상에 저장되는 CNL-술어 템플릿 쌍 및 상기 술어 템플릿 상의 변수 값에 치환될 숫자, 문자열, 객체, 엔티티 중 적어도 하나의 대상정보를 정의하는 템플릿 편집부를 더 포함하는 것을 특징으로 하는 스마트 계약 생성장치.
According to claim 2,
A smart contract further comprising a template editing unit defining target information of at least one of a number, a character string, an object, and an entity to be substituted for a CNL-predicate template pair stored in the storage unit and a variable value on the predicate template. Generator.
제 3항에 있어서,
상기 문서 템플릿 편집부는,
서비스 제공자가 서비스하려는 비지니스의 요구 사항에 대응하여 기 생성된 계약 문서 템플릿을 초벌 문서로 제공하며, 상기 계약 문서 템플릿 내 각 조항들을 상기 사용자에 의해 선택된 상기 CNL 템플릿을 기초로 변경, 추가, 삭제하여 상기 CNL 문서 템플릿을 생성하는 것을 특징으로 하는 스마트 계약 생성장치.
According to claim 3,
The document template editing unit,
The service provider provides a pre-generated contract document template in response to the requirements of the business to be serviced, and changes, adds, and deletes each provision in the contract document template based on the CNL template selected by the user. Smart contract generating device, characterized in that for generating the CNL document template.
제 3항에 있어서,
상기 문서 템플릿 편집부는,
상기 확정 CNL 문서를 계약 문서로 복수의 계약 당사자에게 제공하며, 상기 확정 CNL 문서에 대한 복수의 계약 당사자들 간 합의결과에 기반하여 상기 스마트 계약을 생성하는 것을 특징으로 하는 스마트 계약 생성장치.
According to claim 3,
The document template editing unit,
A smart contract generating apparatus comprising providing the confirmed CNL document as a contract document to a plurality of contracting parties, and generating the smart contract based on an agreement result between a plurality of contracting parties for the confirmed CNL document.
제 8항에 있어서,
상기 문서 템플릿 편집부는,
상기 합의결과에 따라 상기 복수의 계약 당사자 각각으로부터 획득되는 디지털 서명을 기반으로 상기 확정 CNL 문서와 관련한 계약을 최종 확정하고, 확정 결과를 상기 블록체인 상에 기록시켜 상기 스마트 계약을 생성하는 것을 특징으로 하는 스마트 계약 생성장치.
The method of claim 8,
The document template editing unit,
According to the result of the agreement, based on the digital signature obtained from each of the plurality of contract parties, the contract related to the confirmed CNL document is finally confirmed, and the result of the determination is recorded on the blockchain to generate the smart contract. Smart contract generator.
제 4항에 있어서,
상기 문서 템플릿 편집부는,
상기 저장부에 저장된 상기 CNL-술어 템플릿 쌍을 기반으로 하여 상기 CNL 문서 템플릿에 상응하는 술어 문서 템플릿 및 상기 확정 CNL 문서에 대응하는 확정 술어 문서를 순차적으로 생성하고, 상기 확정 술어 문서를 상기 확정 CNL 문서와 함께 상기 블록체인 상에 기록시키는 것을 특징으로 하는 스마트 계약 생성장치.
The method of claim 4,
The document template editing unit,
Based on the pair of CNL-predicate templates stored in the storage unit, a predicate document template corresponding to the CNL document template and a confirmation predicate document corresponding to the confirmation CNL document are sequentially generated, and the confirmation predicate document is the confirmation CNL Smart contract generation device characterized in that it is recorded on the blockchain together with the document.
제 10항에 있어서,
상기 메타 스마트 계약부는,
상기 확정 술어 문서로부터 상기 확정 술어 문서와 관련하여 선택된 템플릿의 종류 및 선택된 템플릿에 대하여 확정된 변수 값을 포함하는 실행 정보 데이터를 산출하고, 상기 실행 정보 데이터 및 상기 메타 스마트 계약 수단에 기반하여 상기 스마트 계약을 실행하는 것을 특징으로 하는 스마트 계약 생성장치.
The method of claim 10,
The meta smart contract unit,
Calculating execution information data including variable types determined for a selected template type and a selected template in relation to the determined predicate document from the determined predicate document, and based on the execution information data and the meta smart contract means Smart contract generation device characterized in that for executing the contract.
제 11항에 있어서,
상기 메타 스마트 계약부는,
상기 스마트 계약 실행과 관련하여 상기 실행 정보 데이터를 별로도 상기 블록체인 상에 기록시키는 것을 특징으로 하는 스마트 계약 생성장치.
The method of claim 11,
The meta smart contract unit,
Smart contract generating apparatus characterized in that the execution information data in relation to the execution of the smart contract is also recorded on the blockchain.
제 11항에 있어서,
상기 메타 스마트 계약 수단은 상기 저장부 내 상기 술어 템플릿을 실행할 수 있는 프로그램으로서, 상기 스마트 계약의 실행을 위한 조건정보가 주어지는 경우 상기 조건정보에 기반하여 상기 스마트 계약을 실행하도록 구현되며,
상기 메타 스마트 계약부는, 상기 실행 정보 데이터를 상기 메타 스마트 계약 수단 상에 상기 조건정보로서 입력시켜 상기 스마트 계약이 실행되도록 하는 것을 특징으로 하는 스마트 계약 생성장치.
The method of claim 11,
The meta smart contract means is a program capable of executing the predicate template in the storage unit, and is implemented to execute the smart contract based on the condition information when condition information for execution of the smart contract is given,
The smart contract contract unit, the smart contract generating apparatus characterized in that the smart contract is executed by inputting the execution information data as the condition information on the smart contract means.
제 13항에 있어서,
상기 메타 스마트 계약 수단은 버전업에 따라 대응되는 버전정보가 부여되며,
상기 메타 스마트 계약부는, 상기 실행 정보 데이터 상에 포함되는 버전정보에 기반하여 상기 블록체인 내 상기 실행 정보 데이터에 대응하는 메타 스마트 계약 수단을 산출하는 것을 특징으로 하는 스마트 계약 생성장치.
The method of claim 13,
The meta-smart contract means is provided with corresponding version information according to the version up,
The meta smart contract unit, the smart contract generating device, characterized in that for calculating the meta smart contract means corresponding to the execution information data in the blockchain based on the version information included in the execution information data.
제 2항에 있어서,
상기 저장부는, 상기 저장부 내 저장된 술어 템플릿 중 동일 기능을 수행하나 서로 상충되는 실행 방식을 갖는 템플릿들을 하나의 그룹으로 그룹화하여 모듈 컬렉션으로서 저장하며,
상기 문서 템플릿 편집부 및 상기 메타 스마트 계약부 중 적어도 하나는 상기 모듈 컬렉션에 기반한 필터링 절차를 수행하는 것을 특징으로 하는 스마트 계약 생성장치.
According to claim 2,
The storage unit, which performs the same function among the predicate templates stored in the storage unit, but stores the templates having conflicting execution methods into one group and stores them as a module collection,
At least one of the document template editing unit and the meta-smart contract unit performs a smart contract generation device, characterized in that for performing a filtering procedure based on the module collection.
스마트 계약 생성장치의 스마트 계약 생성방법에 있어서,
스마트 계약과 관련하여 상기 스마트 계약을 구성할 수 있는 기 정의된 템플릿을 기반으로 사용자 선택에 따라 적어도 하나의 상기 템플릿을 조합하여 문서 템플릿을 생성하는 과정;
사용자 협약결과에 따라 상기 문서 템플릿 상의 변수 값들을 확정하여 상기 스마트 계약에 상응하는 확정 문서를 생성하는 과정; 및
상기 확정 문서를 기반으로 블록체인 상에서 실행되는 상기 스마트 계약을 생성하는 과정
을 포함하는 것을 특징으로 하는 스마트 계약 생성장치의 스마트 계약 생성방법.
In the smart contract generation method of the smart contract generation device,
Generating a document template by combining at least one of the templates according to a user's selection based on a predefined template that can configure the smart contract in relation to a smart contract;
Determining variable values on the document template according to a user agreement result and generating a confirmation document corresponding to the smart contract; And
The process of generating the smart contract executed on the blockchain based on the confirmed document
Smart contract generation method of a smart contract generation device comprising a.
컴퓨터로 읽을 수 있는 기록매체에 저장된 컴퓨터프로그램으로서, 상기 컴퓨터프로그램은 적어도 하나의 프로세서에 의해 수행될 때,
스마트 계약과 관련하여 상기 스마트 계약을 구성할 수 있는 기 정의된 템플릿을 기반으로 사용자 선택에 따라 적어도 하나의 상기 템플릿을 조합하여 문서 템플릿을 생성하는 과정;
사용자 협약결과에 따라 상기 문서 템플릿 상의 변수 값들을 확정하여 상기 스마트 계약에 상응하는 확정 문서를 생성하는 과정; 및
상기 확정 문서를 기반으로 블록체인 상에서 실행되는 상기 스마트 계약을 생성하는 과정
을 수행하기 위한 코드들을 포함하는 컴퓨터프로그램.
A computer program stored in a computer-readable recording medium, when the computer program is executed by at least one processor,
Generating a document template by combining at least one of the templates according to a user's selection based on a predefined template that can configure the smart contract in relation to a smart contract;
Determining variable values on the document template according to a user agreement result to generate a confirmation document corresponding to the smart contract; And
The process of generating the smart contract executed on the blockchain based on the confirmed document
A computer program comprising code for performing a program.
KR1020200001218A 2019-01-08 2020-01-06 Method and Apparatus for Creating Smart Contract in Blockchain Using Natural language KR102142688B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/KR2020/000175 WO2020145591A1 (en) 2019-01-08 2020-01-06 Method for generating natural language-based blockchain smart contract and apparatus therefor

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20190002204 2019-01-08
KR1020190002204 2019-01-08
KR20190068222 2019-06-10
KR1020190068222 2019-06-10

Publications (2)

Publication Number Publication Date
KR20200086224A KR20200086224A (en) 2020-07-16
KR102142688B1 true KR102142688B1 (en) 2020-08-07

Family

ID=71839588

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200001218A KR102142688B1 (en) 2019-01-08 2020-01-06 Method and Apparatus for Creating Smart Contract in Blockchain Using Natural language

Country Status (1)

Country Link
KR (1) KR102142688B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101782754B1 (en) 2015-11-24 2017-09-27 시아오미 아이엔씨. Method and device for constructing a template, method and device for identifying information
US10158479B2 (en) 2017-02-06 2018-12-18 Northern Trust Corporation Systems and methods for generating, uploading and executing code blocks within distributed network nodes
US20180365686A1 (en) 2017-06-19 2018-12-20 Hitachi, Ltd. Smart contract lifecycle management

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017145019A1 (en) * 2016-02-23 2017-08-31 nChain Holdings Limited Registry and automated management method for blockchain-enforced smart contracts
KR101946235B1 (en) * 2017-02-16 2019-02-11 주식회사 인프라웨어 Method and apparatus for prividing templates in document creating program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101782754B1 (en) 2015-11-24 2017-09-27 시아오미 아이엔씨. Method and device for constructing a template, method and device for identifying information
US10158479B2 (en) 2017-02-06 2018-12-18 Northern Trust Corporation Systems and methods for generating, uploading and executing code blocks within distributed network nodes
US20180365686A1 (en) 2017-06-19 2018-12-20 Hitachi, Ltd. Smart contract lifecycle management

Also Published As

Publication number Publication date
KR20200086224A (en) 2020-07-16

Similar Documents

Publication Publication Date Title
US10810583B2 (en) Digital asset modeling
US20170236130A1 (en) Emulating Manual System of Filing Using Electronic Document and Electronic File
CN112650766A (en) Database data operation method, system and server
Anjorin et al. 20 years of triple graph grammars: A roadmap for future research
CN112417178B (en) Document template definition-based on-chain contract processing method and device and electronic equipment
US11886810B2 (en) System and method for electronic document interaction with external resources
CN112740214A (en) Digital contract generation with escrow security
Cai et al. A pattern-based code transformation approach for cloud application migration
KR102142688B1 (en) Method and Apparatus for Creating Smart Contract in Blockchain Using Natural language
CN110968307A (en) Micro-service construction method and device based on intelligent generation of basic codes
CN103377076A (en) Method and system for adjusting task execution plans during operation
Thalheim From Models_For_Programming to Modelling_To_Program and Towards Models_As_A_Program
KR100922526B1 (en) Method and system of managing data quality through provisioning of metadata in the execution of business process
CN113918198B (en) Model-code synchronization method
Pietsch et al. Delta-oriented development of model-based software product lines with DeltaEcore and SiPL: A comparison
WO2020145591A1 (en) Method for generating natural language-based blockchain smart contract and apparatus therefor
Roldán Pentaho Data Integration Beginner's Guide
US20220318209A1 (en) Computer mechanism for analytics outcome transparency
GB2528697A (en) Generating a database structure from a scanned drawing
JP6336922B2 (en) Business impact location extraction method and business impact location extraction device based on business variations
CN113761863A (en) List page configuration method, device and storage medium
JP5891201B2 (en) Design document management verification apparatus and method
CN116931896A (en) Chained execution method and device of business rules, computer equipment and storage medium
Rodríguez et al. Model‐based assisted migration of oracle forms applications: The overall process in an industrial setting
Gómez et al. GraCoT, a tool for co-creation of models and metamodels in specific domains

Legal Events

Date Code Title Description
GRNT Written decision to grant