KR102505911B1 - 정책기반 스마트 계약을 생성하기 위한 방법 및 그 장치 - Google Patents

정책기반 스마트 계약을 생성하기 위한 방법 및 그 장치 Download PDF

Info

Publication number
KR102505911B1
KR102505911B1 KR1020200153800A KR20200153800A KR102505911B1 KR 102505911 B1 KR102505911 B1 KR 102505911B1 KR 1020200153800 A KR1020200153800 A KR 1020200153800A KR 20200153800 A KR20200153800 A KR 20200153800A KR 102505911 B1 KR102505911 B1 KR 102505911B1
Authority
KR
South Korea
Prior art keywords
information
previous
smart contract
policy
basic information
Prior art date
Application number
KR1020200153800A
Other languages
English (en)
Other versions
KR20210065852A (ko
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 US17/102,916 priority Critical patent/US11620722B2/en
Publication of KR20210065852A publication Critical patent/KR20210065852A/ko
Application granted granted Critical
Publication of KR102505911B1 publication Critical patent/KR102505911B1/ko

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
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0635Risk analysis of enterprise or organisation activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06315Needs-based resource requirements planning or analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0637Strategic management or analysis, e.g. setting a goal or target of an organisation; Planning actions based on goals; Analysis or evaluation of effectiveness of goals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management

Abstract

본 발명은 블록 체인 기반의 스마트 계약의 오류 및 기존 스마트 계약과의 연동과정에서 발생하는 오류를 방지할 수 있고, 스마트 계약 템플릿을 활용하기 때문에, 스마트 계약 작성의 편의성을 향상시킬 수 있다.

Description

정책기반 스마트 계약을 생성하기 위한 방법 및 그 장치{Method and device for generation policy-based smart contract}
본 발명은 블록체인 기반의 스마트 계약과 관련된 기술이다.
블록 체인 기반의 스마트 계약(smart contract)은, 서면으로 작성되는 기존의 계약서와 달리, 컴퓨터 프로그래밍 언어로 작성되고, 계약 이행 요청 시, 미리 프로그램된 계약 조건에 따라 계약 내용을 수행한다.
스마트 계약은 개발자 혹은 사용자가 직접 계약 조건과 계약 내용을 프로그래밍 언어로 작성할 수 있는 장점이 있다. 그러나 기존 프로그래밍 환경과는 다르게 한 번에 작성이 되고, 패치 적용이 불가능하다는 문제가 있다. 이러한 문제로 인하여 재진입성 문제, 트랜젝션 순서 문제, 타임스탬프 의존 문제, 오버 플로우 문제, 중요 정보 노출 문제 등이 있다.
본 발명의 목적은 상술한 바와 같이 스마트 계약을 실행하는 과정에서 발생하는 재진입성 문제, 트랜젝션 순서 문제, 타임스탬프 의존 문제, 오버 플로우 문제, 중요 정보 노출 문제 등을 스마트 계약을 구성(또는 생성)하는 과정에서 해결하고, 외부의 악의적인 공격으로부터 방어할 수 있는 정책기반 스마트 계약을 수행하기 위한 방법 및 그 장치를 제공하는 데 있다.
본 발명의 전술한 목적 및 그 이외의 목적과 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부된 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다.
상술한 목적을 달성하기 위한 본 발명의 일면에 따른 정책기반 스마트 계약을 생성하기 위한 방법은, 제1 파싱 모듈이, 상기 사용자 단말로부터 제공된 스마트 계약 정보를 파싱하여, 스마트 계약의 내용을 나타내는 기본 정보와 상기 스마트 계약의 실행 조건을 나타내는 정책 정보를 획득하는 단계; 스마트 계약 템플릿 생성 모듈이, 상기 획득된 기본 정보를 이용하여 스마트 계약 템플릿을 생성하는 단계; 제2 파싱 모듈이, 블록체인 또는 외부 저장소로부터 읽어온 이전 스마트 계약 정보를 파싱하여, 이전 스마트 계약의 내용을 나타내는 이전 기본 정보와 상기 이전 스마트 계약의 실행 조건을 나타내는 이전 정책 정보를 획득하는 단계; 검증 모듈이, 상기 이전 기본 정보 및 상기 이전 정책 정보를 이용하여 상기 기본 정보 및 상기 정책 정보를 검증하는 단계; 및 스마트 계약 생성 모듈이, 상기 검증 모듈에 의해 검증 완료된 상기 기본 정보 및 상기 정책 정보를 상기 생성한 스마트 계약 템플릿에 결합하여 상기 정책 기반 스마트 계약을 생성하는 단계를 포함한다.
본 발명의 다른 일면에 따른 정책기반 스마트 계약 생성 장치는, 사용자 단말로부터 사용자가 생성하고자 하는 스마트 계약의 생성에 필요한 스마트 계약 정보를 수신하는 통신 모듈; 상기 통신 모듈로부터 입력된 상기 스마트 계약 정보를 파싱하여, 상기 스마트 계약의 내용을 나타내는 기본 정보와 상기 스마트 계약의 실행 조건을 나타내는 정책 정보를 획득하는 제1 파싱 모듈; 상기 제1 파싱 모듈로부터 입력된 상기 기본 정보를 이용하여 스마트 계약 템플릿을 생성하는 스마트 계약 템플릿 생성 모듈; 제1 파싱 모듈로부터 입력된 상기 기본 정보를 이용하여 블록체인 또는 저장소에서 상기 스마트 계약 정보와 연계 가능한 이전 스마트 계약 정보를 검색하여 상기 검색된 이전 스마트 계약 정보를 읽어오는 검색 모듈; 상기 검색 모듈로부터 입력된 상기 이전 스마트 계약 정보를 파싱하여, 이전 스마트 계약의 내용을 나타내는 이전 기본 정보와 상기 이전 스마트 계약의 실행 조건을 나타내는 이전 정책 정보를 획득하는 제2 파싱 모듈; 상기 제2 파싱 모듈로부터 입력된 상기 이전 기본 정보와 상기 이전 정책 정보를 이용하여 상기 제1 파싱 모듈로부터 입력된 상기 기본 정보와 상기 정책 정보를 검증하는 검증 모듈; 및 상기 검증 모듈에 의해 검증 완료된 상기 기본 정보와 상기 정책 정보를 상기 스마트 예약 템플릿에 결합하여 정책 기반 스마트 계약을 생성하는 스마트 계약 생성 모듈을 포함한다.
실시 예에서, 상기 스마트 계약 템플릿 생성 모듈은, 상기 기본 정보에 포함된 판매자, 구매자, 중계자, 금액, 중계자, 계약 시작일 및 계약 종료일과 관련된 정보들 코드로 구현한 후, 상기 구현된 코드를 템플릿 형태로 변환하여, 상기 스마트 계약 템플릿을 생성한다.
실시 예에서, 상기 검증 모듈은, 상기 정책 정보 및 상기 이전 정책 정보를 이용하여 상기 기본 정보와 상기 이전 기본 정보를 연계시키는 상태도를 이용하여, 상기 스마트 계약의 생성 과정 및 상기 스마트 계약과 상기 이전 스마트 계약의 연계 과정에서 발생할 수 있는 오류를 검증한다.
실시 예에서, 상기 상태도는, 상기 이전 기본 정보의 상태를 나타내는 이전 상태 노드들; 상기 기본 정보의 상태를 나타내는 현재 상태 노드들; 상기 이전 정책 정보에 따라 상기 이전 상태 노드들과 상기 현재 상태 노드들을 연결하는 제1 연결선; 및 상기 정책 정보에 따라 상기 현재 상태 노드들을 연결하는 제2 연결선을 포함하도록 구성된 프로그램이다.
실시 예에서, 상기 검증 모듈은, 상기 입력값의 입력에 따라, 상기 이전 상태 노드들과 상기 현재 상태 노드들 모두에서 상기 상태 변화가 일어나는 경우, 상기 기본 정보와 상기 정책 정보에 오류가 없는 것으로 검증한다.
본 발명에 따르면, 블록 체인 기반의 스마트 계약의 오류 및 기존 스마트 계약과의 연동과정에서 발생하는 오류를 방지할 수 있고, 스마트 계약 템플릿을 활용하기 때문에, 스마트 계약 작성의 편의성을 향상시킬 수 있다.
도 1은 본 발명의 실시 예에 따른 스마트 계약 생성 장치의 내부 구성을 개략적으로 도시한 블록도이다.
도 2는 도 1에 도시한 정책 검증 모듈에 의해 수행되는 정책 검증 방법을 설명하기 위한 도면이다.
도 3 내지 5는 도 2에 도시한 상태도에서 입력값의 입력에 따라 구분되는 3개의 상태 흐름 확인 과정을 설명하기 위한 도면들이다.
도 6은 본 발명의 실시 예에 따른 스마트 계약 생성 방법을 설명하기 위한 흐름도이다.
본 발명의 다양한 실시 예는 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들이 도면에 예시되고 관련된 상세한 설명이 기재되어 있다. 그러나, 이는 본 발명의 다양한 실시 예를 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 다양한 실시예의 사상 및 기술 범위에 포함되는 모든 변경 및/또는 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용되었다.
본 발명의 다양한 실시 예에서 사용될 수 있는 "포함한다" 또는 "포함할 수 있다" 등의 표현은 개시(disclosure)된 해당 기능, 동작 또는 구성요소 등의 존재를 가리키며, 추가적인 하나 이상의 기능, 동작 또는 구성요소 등을 제한하지 않는다. 또한, 본 발명의 다양한 실시 예에서, "포함하다" 또는 "가지다" 등의 용어는 명세서에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
도 1은 본 발명의 실시 예에 따른 스마트 계약 생성 장치의 내부 구성을 개략적으로 도시한 블록도이다.
도 1은 참조하면, 스마트 계약 생성 장치(100)는 정책(policy) 기반의 스마트 계약을 생성(또는 구성)하고, 이러한 스마트 계약의 생성(또는 구성) 과정에서 발생할 수 있는 오류를 검증한다.
스마트 계약 생성 장치(100)는 유선 또는 무선 통신망을 통해 사용자 단말(200)과 통신한다. 여기서, 사용자 단말(200)은, 모바일 단말, 스마트폰, 태블릿 PC 등을 예로 들 수 있다.
사용자 단말(200)에는 월렛 앱(wallet apps)과 같은 사용자 앱(User Apps)이 설치되어 있을 수 있다.
사용자는, 사용자 단말(200) 또는 사용자 단말(200)에 설치된 사용자 앱을 통해, 사용자가 생성(또는 구성)하고자 하는 스마트 계약 생성(또는 구성)에 필요한 스마트 계약 정보(이하, '현재의 스마트 계약 정보'라 한다)를 스마트 계약 생성 장치(200)로 송신한다.
현재의 스마트 계약 정보는 사용자가 생성(구성)하고자 하는 스마트 계약에 필요한 '기본 정보'와 '정책 정보(policy information)'를 포함하도록 웹 기반의 파일 형태로 구성될 수 있다. 여기서, 웹 기반의 파일 형태는, 예를 들면, JSON(JavaScript Object Notation)일 수 있다.
이하, 다른 용어와의 혼돈을 피하기 위해, 현재의 스마트 계약 정보에 포함된 기본 정보와 정책 정보를 각각 '현재의 기본 정보'와 '현재의 정책 정보'라 지칭한다.
현재의 기본 정보는, 예를 들면, 스마트 계약 생성(또는 구성)에 필요한 판매자와 관련된 정보, 구매자와 관련된 정보, 중계자와 관련된 정보, 금액과 관련된 정보, 중계자에게 지급되는 수수료와 관련된 정보, 계약 시작일과 관련된 정보, 계약 종료일과 관련된 정보 등을 포함할 수 있다. 현재 정책 정보는 상기 현재 기본 정보를 기반으로 구성된 스마트 계약을 블록 체인(300) 상에서 실행시키기 위한 조건과 관련된 정보일 수 있다.
스마트 계약을 실행시키기 위한 조건은, 예를 들면, 특정 이벤트 발생일 수 있다. 여기서, 특정 이벤트는, 알림, 시간, 자원(코인, 저장 공간, 컴퓨팅 파워)일 수 있다. 이 경우, 정책 정보는 스마트 계약이 실행되기 위한 특정 시간, 특정 자원, 특정 알림 등을 정의한 것일 수 있다.
스마트 계약 생성 장치(100)는 사용자 단말(200)(또는 사용자 단말(200)에 설치된 사용자 앱)으로부터 송신된 상기 현재의 스마트 계약 정보를 이용하여 정책 기반의 스마트 계약을 생성(또는 구성)한다.
이를 위해, 스마트 계약 생성 장치(100)는, 예를 들면, 통신 모듈(110), 제1 파싱 모듈(a first parsing module, 120), 스마트 계약 템플릿(smart contract template) 생성 모듈(130), 검증 모듈(140), 검색 모듈(150), 제2 파싱 모듈(second parsing module, 160) 및 스마트 계약 생성 모듈(160)를 포함하도록 구성될 수 있다.
추가로, 스마트 계약 생성 장치(100)는, 도시하지는 않았으나, 프로세서(CPU, GPU), 휘발성 및 비휘발성 메모리 및 사용자 인터페이스 등과 같은 컴퓨팅 장치를 구성하는 기본적인 구성을 더 포함하도록 구성될 수 있다. 이러한 측면에서 스마트 계약 생성 장치(100)는 컴퓨팅 장치로 불릴 수도 있다.
특별히 언급하지 않는 한, 도 1에 도시한 스마트 계약 생성 장치(200) 내의 구성 요소들(110~160)은 도시하지 않은 상기 프로세서의 제어에 따라 동작(또는 실행)되는 소프트웨어 모듈, 하드웨어 모듈 또는 이들의 조합으로 이루어질 수 있으며, 통신 모듈(110)을 제외한 나머지 구성요소들(120~170) 또는 이 구성 요소들(120~170) 중의 일부 구성요소들은 하나의 프로세서 내에 통합되도록 로직 형태로 설계될 수 있다.
통신기(110)는 유무선 통신망(도시하지 않음)을 통해 사용자 단말(200)(또는 사용자 단말(200)에 설치된 사용자 앱)으로부터 현재 스마트 계약 정보를 수신하여, 이를 제1 파싱 모듈(120)로 입력한다.
제1 파싱 모듈(120)는 통신 모듈(110)로부터 입력된 상기 현재 스마트 계약 정보를 파싱(parsing)하여 상기 현재 스마트 계약 정보로부터 현재 기본 정보와 현재 정책 정보를 획득(추출)한다.
전술한 바와 같이, 현재 기본 정보는 스마트 계약 생성(또는 구성)에 필요한 판매자와 관련된 정보(이하, 현재 판매자 정보), 구매자와 관련된 정보(이하, 현재 구매자 정보), 중계자와 관련된 정보(현재 중계자 정보), 금액과 관련된 정보(이하, 현재 금액 정보), 중계자에게 지급되는 수수료와 관련된 정보(이하, 현재 수수료 정보), 계약 시작일과 관련된 정보, 계약 종료일과 관련된 정보 등을 포함하고, 현재 정책 정보는 스마트 계약을 블록 체인(300) 상에서 실행시키기 위한 조건과 관련된 정보일 수 있다.
제1 파싱 모듈(120)에 의해 획득된 기본 정보는 상기 스마트 계약 템플릿 생성 모듈(130), 상기 검증 모듈(140) 및 상기 검색 모듈(150)로 입력된다. 다만, 검증 모듈(140)에는 제1 파싱 모듈(120)에 의해 획득된 정책 정보가 더 입력된다.
스마트 계약 템플릿 생성 모듈(130)은 제1 파싱 모듈(120)로부터 입력된 현재의 기본 정보를 기반으로 스마트 계약 템플릿을 생성한다. 여기서, 스마트 계약 템플릿은 상기 현재의 기본 정보에 포함된 판매자, 구매자, 중계자, 금액, 중계자, 계약 시작일 및 계약 종료일과 관련된 정보들 코드(또는 프로그램 코드)로 구현하고, 그 구현된 코드를 템플릿 형태로 변환한 것일 수 있다.
정책 검증 모듈(140)은 제1 파싱 모듈(120)로부터 입력된 현재의 정책 정보와 현재의 기본 정보로 이루어진 현재의 스마트 계약 정보와 제2 파싱 모듈(160)로부터 입력된 이전의 정책 정보와 이전의 기본 정보로 이루어진 이전의 스마트 계약 정보의 연계 과정에서 발생하는 오류를 검증한다.
상기 연계 과정에서 발생하는 오류는, 재진입성 문제, 트랜젝션 순서와 관련된 오류, 타임스탬프 의존과 관련된 오류, 오버플로우와 관련된 오류, 중요 정보 노출과 관련된 오류 등을 포함하며, 이러한 오류 검증을 통해, 이전의 스마트 계약과 현재의 스마트 계약 간의 충돌을 방지할 수 있다. 정책 검증 방법에 대해서는 도 2를 참조하여 아래에서 상세히 설명하기로 한다.
검색 모듈(150)은 제1 파싱 모듈(120)로부터 입력된 현재의 기본 정보를 이용하여 블록체인(300) 또는 외부 저장소(400)에 저장된 이전의 스마트 계약과 관련된 정보(이하, 이전의 스마트 계약 정보라 함)를 검색한다.
일 예로, 검색 모듈(150)은 현재 기본 정보를 쿼리로 이용하여 블록 체인(300) 또는 저장소(400)에 저장된 이전 스마트 계약 정보를 검색한다. 이전 스마트 계약 정보가 검색된 경우, 검색된 이전 스마트 계약 정보는 현재 스마트 계약 정보로부터 획득한 현재 기본 정보를 쿼리로 이용하여 검색된 것이므로, 현재 스마트 계약 정보와 연계될 수 있는 정보이다.
검색 모듈(150)이 이전 스마트 계약 정보를 검색하면, 검색 모듈(150)은, 상기 검색된 이전 스마트 계약 정보를 블록체인(300) 또는 저장소(400)로부터 읽어와 제2 파싱 모듈(160)로 입력한다.
제2 파싱 모듈(160)은 상기 정책 검증 모듈(140)이 현재의 스마트 계약 정보와 이전의 스마트 계약 정보 사이의 연계 과정에서 발생하는 오류를 검증할 수 있도록 상기 이전 스마트 계약 정보를 파싱하여 이전의 스마트 계약 정보로부터 이전의 기본 정보와 이전의 기본 정보를 획득(추출)한다.
이전 기본 정보는, 전술한 현재 기본 정보와 유사하게, 이전 스마트 계약 생성(또는 구성)에 필요한 판매자와 관련된 정보, 구매자와 관련된 정보, 중계자와 관련된 정보, 금액과 관련된 정보, 중계자에게 지급되는 수수료와 관련된 정보, 계약 시작일과 관련된 정보, 계약 종료일과 관련된 정보 등을 포함할 수 있다. 마찬가지로, 이전의 정책 정보는 전술한 현재의 정책 정보와 유사하게, 상기 이전의 기본 정보를 기반으로 구성된 이전의 스마트 계약을 블록 체인(300) 상에서 실행시키기 위한 조건과 관련된 정보일 수 있다.
스마트 계약 생성 모듈(170)은 정책 검증 모듈(140)로부터 오류가 없는 것으로 검증 완료된 현재 정책 정보 및 현재 기본 정보를 스마트 계약 템플릿 생성 모듈(130)로부터 입력된 스마트 계약 템플릿에 결합하여(combining) 사용자가 생성(구성)하고자 하는 정책 기반의 스마트 계약을 생성하고, 그 생성된 정책 기반의 스마트 계약을 블록 체인(300) 또는 저장소(400)에 업로드(또는 저장)한다.
이하, 정책 검증 모듈(140)에 의해 수행되는 정책 검증 방법을 도 2를 참조하여 설명하기로 한다.
도 2는 도 1에 도시한 정책 검증 모듈에 의해 수행되는 정책 검증 방법을 설명하기 위한 도면이다.
도 2를 참조하면, 현재 스마트 계약 정보와 이전 스마트 계약 정보의 연계 과정에서 발생하는 오류를 검증하기 위해, 정책 검증 모듈(140)은, 제1 파싱 모듈(120)로부터 입력된 현재 기본 정보와 현재 정책 정보 및 제2 파싱 모듈(160)로부터 입력된 이전의 이전 기본 정보와 이전 정책 정보를 이용하여 구성한 상태도를 이용하여 정책 검증을 수행한다.
구체적으로, 먼저, 정책 검증 모듈(140)에 의해 구성된 상태도는, 이전 기본 정보의 상태를 나타내는 이전 상태 노드들(10, 20, 30), 현재 기본 정보의 상태를 나타내는 현재 상태 노드들(40, 50, 60) 및 이전 상태 노드들(10, 20, 30)과 현재 상태 노드들(40, 50, 60)을 연결하는 연결선들(11, 21, 31, 41, 42, 43)로 도식화될 수 있다.
이전 상태 노드(10)는, 예를 들면, 이전 기본 정보에 포함된 이전 판매자 정보의 상태를 나타내고, 다른 이전 상태 노드(20)는, 예를 들면, 이전 기본 정보에 포함된 이전 구매자 정보의 상태를 나타내고, 또 다른 이전 상태 노드(30)는 이전 기본 정보에 포함된 이전 중계자 정보의 상태를 나타낸다.
현재 상태 노드(40)는, 예를 들면, 현재 기본 정보에 포함된 현재 판매자 정보의 상태를 나타내고, 다른 현재 상태 노드(50)는 현재 기본 정보에 포함된 현재 구매자 정보의 상태를 나타내고, 또 다른 현재 상태 노드(60)는 현재 기본 정보에 포함된 현재 중계자 정보의 상태를 나타낸다.
연결선들(11, 21, 31)은 이전 정책 정보에 따라 이전 스마트 계약을 실행시키기 위한 조건을 단방향 화살표로 나타낸 것으로, 연결선(11)은 이전 판매자 정보에 대응하는 이전 상태 노드(10)와 현재 판매자 정보에 대응하는 현재 상태 노드(40)를 연결하고, 연결선(21)은 이전 구매자 정보에 대응하는 이전 상태 노드(20)와 현재 구매자 정보에 대응하는 현재 상태 노드(50)를 연결하고, 연결선(31)은 이전 중계자 정보에 대응하는 이전 상태 노드(30)와 현재 중계자 정보에 대응하는 현재 상태 노드(60)를 연결한다.
연결선들(41, 42, 43)은 현재 정책 정보에 따라 사용자가 구성하고자 하는 현재 스마트 계약을 실행시키기 위한 조건을 양방향 화살표로 나타낸 것으로, 연결선(41)은 현재 판매자 정보에 대응하는 현재 상태 노드(40)와 현재 구매자 정보에 대응하는 현재 상태 노드(50)를 연결하고, 연결선(42)은 현재 판매자 정보에 대응하는 현재 상태 노드(40)와 현재 중계자 정보에 대응하는 현재 상태 노드(60)를 연결하고, 연결선(43)은 현재 중계자 정보에 대응하는 현재 상태 노드(60)와 현재 구매자 정보에 대응하는 현재 상태 노드(50)를 연결한다.
상태도의 구성이 완료되면, 정책 검증 모듈(140)은 완료된 상태도를 기반으로 정책 검증 작업을 시작한다. 정책 검증 작업은 상태도에서 3개의 상태 흐름을 확인하는 작업일 수 있다.
도 3 내지 5는 도 2에 도시한 상태도에서 입력값의 입력에 따라 구분되는 3개의 상태 흐름 확인 과정을 설명하기 위한 도면들이다.
첫번째 상태 흐름 확인 작업은, 도 3에 도시된 바와 같이, 검증 위한 입력값(또는 테스트값)을 이전 판매자 정보에 대응하는 이전 상태 노드(10)에 입력하여 연결선들(11, 21, 31, 41, 42, 43)에 의해 연결된 모든 노드들(10, 20, 30, 40, 50, 60) 각각의 상태가 변화하였는지 확인하거나, 특정 노드에서 무한 루프가 발생하는지를 확인하는 과정일 수 있다.
두번째 상태 흐름 확인 작업은, 도 4에 도시된 바와 같이, 검증 위한 입력값을 이전 구매자 정보에 대응하는 이전 상태 노드(20)에 입력하여 모든 노드들(10, 20, 30, 40, 50, 60) 각각의 상태가 변화하였는지 확인하거나, 특정 노드에서 무한 루프가 발생하는지를 학인하는 과정일 수 있다.
제3 상태 흐름 확인은, 도 5에 도시된 바와 같이, 상기 입력값을 이전 중계자 정보에 대응하는 이전 상태 노드(30)에 입력하여 모든 노드들(10, 20, 30, 40, 50, 60) 각각의 상태가 변화하였는지 확인하거나, 특정 노드에서 무한 루프가 발생하는 지를 확인하는 과정일 수 있다.
여기서, 노드의 상태 변화는, 예를 들면, 정책 검증을 위해 입력되는 입력값(예를 들면, 금액 등)에 따라 이전 상태 노드(이전 판매자, 이전 구매자 및 이전 중계자)와 현재 상태 노드(현재 판매자, 현재 구매자 및 현재 중계자)가 보유한 자산(예를 들면, 금액, 잔액, 암호화 화폐, 코인) 또는 자원(자료, 데이터, 파일 등)의 변화를 의미한다.
3개의 상태 흐름 확인 과정은 개별적으로 수행되며, 모든 상태 흐름 확인 과정에서 모든 노드들의 상태 변화가 일어나는 경우, 사용자가 구성하고자 하는 현재 스마트 계약의 구성 과정에서 발생하는 오류 및 이전 스마트 계약과 사용자가 구성하고자 하는 현재 스마트 계약 사이의 연계과정에서 발생하는 오류는 없는 것으로 확인한다.
만일, 입력값의 입력에도 불구하고, 단 하나의 노드에서 상태가 변화가 일어나지 않는다면, 사용자가 구성하고자 하는 현재 스마트 계약의 구성 과정에서 발생하는 오류 및/또는 이전 스마트 계약과 사용자가 구성하고자 하는 현재 스마트 계약 사이의 연계과정에서 발생하는 오류가 있는 것으로 확인한다.
이와 같이, 정책 검증 모듈(140)은 연결선들(11, 21, 31)에 의해 이전 스마트 계약 정보와 관련된 이전 상태 노드와 현재 스마트 계약 정보와 관련된 현재 상태 노드를 연결하도록 상태도를 구성하고, 연결선들(41, 42, 43)에 의해 현재 스마트 계약 정보와 관련된 현재 상태 노드들을 연결하도록 구성하기 때문에, 이전 스마트 계약과 현재 스마트 계약 사이의 연계과정에서 발생하는 오류 확인은 물론 현재 스마트 계약의 구성 과정에서 발생하는 오류 확인이 가능하다.
도 6은 본 발명의 실시 예에 따른 스마트 계약 생성 방법을 설명하기 위한 흐름도이다.
도 6을 참조하면, 먼저, 본 발명의 실시 예에 따른 정책 기반 스마트 계약을 생성하기 위한 방법은, 먼저, S310에서, 통신 모듈(110)에서, 유무선 통신을 이용하여 사용자 단말(200)로부터 스마트 계약 생성(구성)에 필요한 스마트 계약 정보를 수신하는 과정이 수행된다.
이어, S320에서, 제1 파싱 모듈(120)에서, 상기 사용자 단말(200)로부터 수신된 상기 스마트 계약 정보를 파싱하여, 스마트 계약의 내용을 나타내는 기본 정보와 상기 스마트 계약의 실행 조건을 나타내는 정책 정보를 획득과정이 수행된다. 여기서, 기본 정보는, 예를 들면, 판매자와 관련된 판매자 정보, 구매자와 관련된 구매자 정보 및 상기 판매자와 상기 구매자를 중계하는 중계자와 관련된 중계자 정보를 포함한다.
이어, S330에서, 스마트 계약 템플릿 생성 모듈(130)에서, 상기 제1 파싱 모듈(120)에서 획득한 상기 기본 정보를 이용하여 스마트 계약 템플릿을 생성하는 과정이 수행된다.
실시 예에서, 상기 S330는 상기 기본 정보에 포함된 판매자, 구매자, 중계자, 금액, 중계자, 계약 시작일 및 계약 종료일과 관련된 정보들 코드로 구현하는 과정과 상기 구현된 코드를 템플릿 형태로 변환하여, 상기 스마트 계약 템플릿을 생성하는 과정을 포함할 수 있다.
이어, S340에서, 제2 파싱 모듈(160)에서, 블록체인 또는 외부 저장소로부터 읽어온 이전 스마트 계약 정보를 파싱하여, 이전 스마트 계약의 내용을 나타내는 이전 기본 정보와 상기 이전 스마트 계약의 실행 조건을 나타내는 이전 정책 정보를 획득하는 과정이 수행된다. 여기서, 이전 기본 정보는, 예를 들면, 이전 판매자와 관련된 이전 판매자 정보, 이전 구매자와 관련된 이전 구매자 정보 및 상기 이전 판매자와 상기 이전 구매자를 중계하는 이전 중계자와 관련된 이전 중계자 정보를 포함할 수 있다.
실시 예에서, 상기 S340는 검색 모듈에서, 제1 파싱 모듈(120)로부터 입력된 상기 기본 정보를 쿼리로 이용하여 블록체인(300) 또는 저장소(400)에서 상기 스마트 계약 정보와 연계 가능한 이전 스마트 계약 정보를 검색하고, 검색된 이전 스마트 계약 정보를 블록 체인(300) 또는 저장소(400)로부터 읽어온 후 상기 제2 파싱 모듈(160)로 입력하는 과정을 더 포함할 수 있다.
이어, S350에서, 검증 모듈(140)에서, 제1 파싱 모듈(120)로부터 입력된 기본 정보와 정책 정보를 검증하는 과정이 수행된다.
일 실시 예에서, 상기 S350는 상기 정책 정보 및 상기 이전 정책 정보를 이용하여 상기 기본 정보와 상기 이전 기본 정보를 연계시키는 상태도를 생성하는 과정과 상기 생성된 상태도를 이용하여, 상기 스마트 계약의 생성 과정 및 상기 스마트 계약과 상기 이전 스마트 계약의 연계 과정에서 발생하는 오류를 검증하는 과정을 포함할 수 있다.
다른 실시 예에서, 상기 S350는 상기 이전 기본 정보의 상태를 나타내는 이전 상태 노드들(도 2의 10, 20, 30)을 생성하는 과정, 상기 기본 정보의 상태를 나타내는 현재 상태 노드들(도 2의 40, 50, 60)을 생성하는 과정, 상기 이전 정책 정보를 나타내는 연결선(11, 21, 31)으로 상기 이전 상태 노드들(도 2의 10, 20, 30)과 상기 현재 상태 노드들(도 2의 40, 50, 60)을 연결하고, 상기 정책 정보를 나타내는 연결선(41, 42, 43)으로 상기 현재 상태 노드들(도 2의 40, 50, 60)을 연결하여, 상기 기본 정보와 상기 이전 기본 정보를 연계시키는 상태도를 생성하는 과정 및 상기 기본 정보 및 상기 정책 정보를 검증하기 위한 입력값을 상기 상태도에 입력하여, 상기 이전 상태 노드들과 상기 현재 상태 노드들 각각의 상태 변화가 일어나는지를 확인하는 방식으로 상기 정책 정보를 검증하는 과정을 포함할 수 있다. 여기서, 검증 모듈(140)은 상기 입력값의 입력에 따라, 상기 이전 상태 노드들과 상기 현재 상태 노드들 모두에서 상기 상태 변화가 일어나는 경우, 상기 기본 정보와 상기 정책 정보에 오류 없는 것으로 판정한다.
또 다른 실시 예에서, 상기 S350는 상기 이전 판매자 정보의 상태, 상기 이전 구매자 정보의 상태 및 상기 이전 중계자 정보의 상태를 각각 나타내는 다수의 이전 상태 노드들을 생성하는 과정, 상기 판매자 정보의 상태, 상기 구매자 정보의 상태 및 상기 중계자 정보의 상태를 각각 나타내는 다수의 현재 상태 노드들을 생성하는 과정, 상기 이전 정책 정보를 나타내는 연결선으로 상기 이전 상태 노드들과 상기 현재 상태 노드들을 연결하고, 상기 정책 정보를 나타내는 연결선으로 상기 현재 상태 노드들을 서로 연결하여, 상기 기본 정보와 상기 이전 기본 정보를 연계시키는 과정 및 상기 기본 정보와 상기 정책 정보를 검증하기 위한 입력값을 다수의 이전 상태 노드들 중 어느 하나의 이전 상태 노드에 입력하여, 상기 입력값의 입력에 따라 상기 이전 상태 노드들과 상기 현재 상태 노드들 각각의 상태 변화가 일어나는지를 확인하는 방식으로 상기 정책 정보를 검증하는 과정을 포함한다.
이어, S360에서, 스마트 계약 생성 모듈(170)에서, 검증 모듈(140)에 의해 검증 완료된 상기 기본 정보와 상기 정책 정보를 상기 스마트 예약 템플릿에 결합하여 정책 기반 스마트 계약을 생성하는 과정이 수행된다.
이상 설명된 정책기반 스마트 계약 생성 방법은 프로세서에 의해 실행되는 하드웨어, 소프트웨어 모듈, 또는 그 2 개의 결합으로 직접 구현될 수 있다.
소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, 착탈형 디스크, CD-ROM과 같은 저장 매체(즉, 메모리 및/또는 스토리지)에 상주할 수도 있다.
예시적인 저장 매체는 프로세서에 연결되며, 그 프로세서는 저장 매체로부터 정보를 판독할 수 있고 저장 매체에 정보를 기입할 수 있다. 다른 방법으로, 저장 매체는 프로세서와 일체형일 수도 있다.
프로세서 및 저장 매체는 주문형 집적회로(ASIC) 내에 상주할 수도 있다. ASIC는 사용자 단말기 내에 상주할 수도 있다. 다른 방법으로, 프로세서 및 저장 매체는 사용자 단말기 내에 개별 컴포넌트로서 상주할 수도 있다.
본 개시의 예시적인 방법들은 설명의 명확성을 위해서 동작의 시리즈로 표현되어 있지만, 이는 단계가 수행되는 순서를 제한하기 위한 것은 아니며, 필요한 경우에는 각각의 단계가 동시에 또는 상이한 순서로 수행될 수도 있다.
본 개시에 따른 방법을 구현하기 위해서, 예시하는 단계에 추가적으로 다른 단계를 포함하거나, 일부의 단계를 제외하고 나머지 단계를 포함하거나, 또는 일부의 단계를 제외하고 추가적인 다른 단계를 포함할 수도 있다.
본 개시의 다양한 실시 예는 모든 가능한 조합을 나열한 것이 아니고 본 개시의 대표적인 양상을 설명하기 위한 것이며, 다양한 실시 예에서 설명하는 사항들은 독립적으로 적용되거나 또는 둘 이상의 조합으로 적용될 수도 있다
또한, 본 개시의 다양한 실시 예는 하드웨어, 펌웨어(firmware), 소프트웨어, 또는 그들의 결합 등에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 하나 또는 그 이상의 ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), 범용프로세서(general processor), 컨트롤러, 마이크로 컨트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.
본 개시의 범위는 다양한 실시 예의 방법에 따른 동작이 장치 또는 컴퓨터 상에서 실행되도록 하는 소프트웨어 또는 머신-실행 가능한 명령들(예를 들어, 운영체제, 애플리케이션, 펌웨어(firmware), 프로그램 등), 및 이러한 소프트웨어 또는 명령 등이 저장되어 장치 또는 컴퓨터 상에서 실행 가능한 비-일시적 컴퓨터-판독가능 매체(non-transitory computer-readable medium)를 포함한다.
이상의 설명은 본 발명의 기술적 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면, 본 발명의 본질적 특성을 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능하다.
따라서, 본 발명에 표현된 실시예들은 본 발명의 기술적 사상을 한정하는 것이 아니라, 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 권리범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하고, 그와 동등하거나, 균등한 범위 내에 있는 모든 기술적 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (13)

  1. 사용자 단말과 통신하는 스마트 계약 생성 장치에서 정책 기반 스마트 계약을 생성하기 위한 방법에서,
    제1 파싱 모듈이, 상기 사용자 단말로부터 제공된 스마트 계약 정보를 파싱하여, 스마트 계약의 내용을 나타내는 기본 정보와 상기 스마트 계약의 실행 조건을 나타내는 정책 정보를 획득하는 단계;
    스마트 계약 템플릿 생성 모듈이, 상기 획득된 기본 정보를 이용하여 스마트 계약 템플릿을 생성하는 단계;
    제2 파싱 모듈이, 블록체인 또는 외부 저장소로부터 읽어온 이전 스마트 계약 정보를 파싱하여, 이전 스마트 계약의 내용을 나타내는 이전 기본 정보와 상기 이전 스마트 계약의 실행 조건을 나타내는 이전 정책 정보를 획득하는 단계;
    검증 모듈이, 상기 이전 기본 정보 및 상기 이전 정책 정보를 이용하여 상기 기본 정보 및 상기 정책 정보를 검증하는 단계; 및
    스마트 계약 생성 모듈이, 상기 검증 모듈에 의해 검증 완료된 상기 기본 정보 및 상기 정책 정보를 상기 스마트 계약 템플릿에 결합하여 상기 정책 기반 스마트 계약을 생성하는 단계를 포함하고,
    상기 스마트 계약의 실행 조건은 스마트 계약이 실행되기 위한 특정 시간, 특정 자원 및 특정 알림을 포함하는 특정 이벤트 발생 조건이고,
    상기 정책 정보를 검증하는 단계는,
    상기 이전 기본 정보의 상태를 나타내는 이전 상태 노드들을 생성하는 단계;
    상기 기본 정보의 상태를 나타내는 현재 상태 노드들을 생성하는 단계;
    상기 이전 정책 정보를 나타내는 연결선으로 상기 이전 상태 노드들과 상기 현재 상태 노드들을 연결하고, 상기 정책 정보를 나타내는 연결선으로 상기 현재 상태 노드들을 서로 연결하여, 상기 기본 정보와 상기 이전 기본 정보를 연계시키는 상태도를 생성하는 단계; 및
    상기 기본 정보 및 상기 정책 정보를 검증하기 위한 입력값을 상기 이전 상태 노드들에 입력하여, 상기 이전 상태 노드들과 상기 현재 상태 노드들 모두에서 상태 변화가 일어나는 경우 상기 기본 정보와 상기 정책 정보에 오류가 없는 것으로 검증하고, 상기 이전 상태 노드들과 상기 현재 상태 노드들 중에서 단 하나의 노드에서라도 상태 변화가 일어나지 않는 경우 상기 기본 정보와 상기 정책 정보에서 오류가 있는 것으로 검증하는 단계를 포함하는 정책 기반 스마트 계약을 생성하기 위한 방법.
  2. 제1항에서,
    상기 스마트 계약 템플릿을 생성하는 단계는,
    상기 기본 정보에 포함된 판매자, 구매자, 중계자, 금액, 중계자, 계약 시작일 및 계약 종료일과 관련된 정보들 코드로 구현하는 단계; 및
    상기 구현된 코드를 템플릿 형태로 변환하여, 상기 스마트 계약 템플릿을 생성하는 단계
    를 포함하는 것인 정책 기반 스마트 계약을 생성하기 위한 방법.
  3. 제1항에서,
    상기 기본 정보 및 상기 정책 정보를 검증하는 단계는,
    상기 정책 정보 및 상기 이전 정책 정보를 이용하여 상기 기본 정보와 상기 이전 기본 정보를 연계시키는 상태도를 이용하여, 상기 스마트 계약의 생성 과정 및 상기 스마트 계약과 상기 이전 스마트 계약의 연계 과정에서 발생하는 오류를 검증하는 단계인 것인 정책 기반 스마트 계약을 생성하기 위한 방법.
  4. 삭제
  5. 삭제
  6. 제1항에서,
    상기 기본 정보는, 판매자와 관련된 판매자 정보, 구매자와 관련된 구매자 정보 및 상기 판매자와 상기 구매자를 중계하는 중계자와 관련된 중계자 정보를 포함하고,
    상기 이전 기본 정보는, 이전 판매자와 관련된 이전 판매자 정보, 이전 구매자와 관련된 이전 구매자 정보 및 상기 이전 판매자와 상기 이전 구매자를 중계하는 이전 중계자와 관련된 이전 중계자 정보를 포함하는 것인 정책 기반 스마트 계약을 생성하기 위한 방법.
  7. 제6항에서,
    상기 정책 정보를 검증하는 단계는,
    상기 이전 판매자 정보의 상태, 상기 이전 구매자 정보의 상태 및 상기 이전 중계자 정보의 상태를 각각 나타내는 다수의 이전 상태 노드들을 생성하는 단계;
    상기 판매자 정보의 상태, 상기 구매자 정보의 상태 및 상기 중계자 정보의 상태를 각각 나타내는 다수의 현재 상태 노드들을 생성하는 단계;
    상기 이전 정책 정보를 나타내는 연결선으로 상기 이전 상태 노드들과 상기 현재 상태 노드들을 연결하고, 상기 정책 정보를 나타내는 연결선으로 상기 현재 상태 노드들을 서로 연결하여, 상기 기본 정보와 상기 이전 기본 정보를 연계시키는 단계; 및
    상기 기본 정보와 상기 정책 정보를 검증하기 위한 입력값을 다수의 이전 상태 노드들 중 어느 하나의 이전 상태 노드에 입력하여, 상기 입력값의 입력에 따라 상기 이전 상태 노드들과 상기 현재 상태 노드들 각각의 상태 변화가 일어나는지를 확인하는 방식으로 상기 정책 정보를 검증하는 단계
    를 포함하는 것인 정책 기반 스마트 계약을 생성하기 위한 방법.
  8. 스마트 계약 생성 장치에서,
    사용자 단말로부터 사용자가 생성하고자 하는 스마트 계약의 생성에 필요한 스마트 계약 정보를 수신하는 통신 모듈;
    상기 통신 모듈로부터 입력된 상기 스마트 계약 정보를 파싱하여, 상기 스마트 계약의 내용을 나타내는 기본 정보와 상기 스마트 계약의 실행 조건을 나타내는 정책 정보를 획득하는 제1 파싱 모듈;
    상기 제1 파싱 모듈로부터 입력된 상기 기본 정보를 이용하여 스마트 계약 템플릿을 생성하는 스마트 계약 템플릿 생성 모듈;
    제1 파싱 모듈로부터 입력된 상기 기본 정보를 이용하여 블록체인 또는 저장소에서 상기 스마트 계약 정보와 연계 가능한 이전 스마트 계약 정보를 검색하여 상기 검색된 이전 스마트 계약 정보를 읽어오는 검색 모듈;
    상기 검색 모듈로부터 입력된 상기 이전 스마트 계약 정보를 파싱하여, 이전 스마트 계약의 내용을 나타내는 이전 기본 정보와 상기 이전 스마트 계약의 실행 조건을 나타내는 이전 정책 정보를 획득하는 제2 파싱 모듈;
    상기 제2 파싱 모듈로부터 입력된 상기 이전 기본 정보와 상기 이전 정책 정보를 이용하여 상기 제1 파싱 모듈로부터 입력된 상기 기본 정보와 상기 정책 정보를 검증하는 검증 모듈; 및
    상기 검증 모듈에 의해 검증 완료된 상기 기본 정보와 상기 정책 정보를 상기 스마트 계약 템플릿에 결합하여 정책 기반 스마트 계약을 생성하는 스마트 계약 생성 모듈을 포함하고,
    상기 스마트 계약의 실행 조건은 스마트 계약이 실행되기 위한 특정 시간, 특정 자원 및 특정 알림을 포함하는 특정 이벤트 발생 조건이고,
    상기 검증 모듈은,
    상기 이전 기본 정보의 상태를 나타내는 이전 상태 노드들, 상기 기본 정보의 상태를 나타내는 현재 상태 노드들, 상기 이전 정책 정보에 따라 상기 이전 상태 노드들과 상기 현재 상태 노드들을 연결하는 제1 연결선 및 상기 정책 정보에 따라 상기 현재 상태 노드들을 연결하는 제2 연결선을 포함하는 상태도를 이용하여, 상기 스마트 계약의 생성 과정 및 상기 스마트 계약과 상기 이전 스마트 계약의 연계 과정에서 발생할 수 있는 오류를 검증하고,
    상기 이전 상태 노드들에 입력되는 입력값에 따라, 상기 이전 상태 노드들과 상기 현재 상태 노드들 모두에서 상태 변화가 일어나는 경우 상기 기본 정보와 상기 정책 정보에 오류가 없는 것으로 검증하고, 상기 이전 상태 노드들과 상기 현재 상태 노드들 중에서 단 하나의 노드에서라도 상태 변화가 일어나지 않는 경우 상기 기본 정보와 상기 정책 정보에 오류가 있는 것으로 검증하는 것인 스마트 계약 생성 장치.
  9. 제8항에서,
    상기 스마트 계약 템플릿 생성 모듈은,
    상기 기본 정보에 포함된 판매자, 구매자, 중계자, 금액, 중계자, 계약 시작일 및 계약 종료일과 관련된 정보들 코드로 구현한 후, 상기 구현된 코드를 템플릿 형태로 변환하여, 상기 스마트 계약 템플릿을 생성하는 것인 스마트 계약 생성 장치.
  10. 삭제
  11. 삭제
  12. 삭제
  13. 제8항에서,
    상기 검색 모듈은,
    제1 파싱 모듈로부터 입력된 상기 기본 정보를 쿼리로 이용하여 상기 블록체인 또는 상기 저장소에서 상기 이전 스마트 계약 정보를 검색하는 것인 스마트 계약 생성 장치.
KR1020200153800A 2019-11-27 2020-11-17 정책기반 스마트 계약을 생성하기 위한 방법 및 그 장치 KR102505911B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/102,916 US11620722B2 (en) 2019-11-27 2020-11-24 Method and apparatus of generating policy-based smart contract

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020190154591 2019-11-27
KR20190154591 2019-11-27

Publications (2)

Publication Number Publication Date
KR20210065852A KR20210065852A (ko) 2021-06-04
KR102505911B1 true KR102505911B1 (ko) 2023-03-06

Family

ID=76391891

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200153800A KR102505911B1 (ko) 2019-11-27 2020-11-17 정책기반 스마트 계약을 생성하기 위한 방법 및 그 장치

Country Status (1)

Country Link
KR (1) KR102505911B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102621022B1 (ko) * 2023-06-02 2024-01-05 쿠팡 주식회사 전자 상거래 서비스와 관련된 정책을 관리하는 전자 장치 및 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109003078A (zh) * 2018-06-27 2018-12-14 阿里巴巴集团控股有限公司 基于区块链的智能合约调用方法及装置、电子设备
KR101946196B1 (ko) * 2018-03-26 2019-02-08 그래프 블록체인 리미티드 프라이빗 블록체인 기반 시스템을 관제하는 관제시스템 및 관제방법
KR102008001B1 (ko) * 2019-02-21 2019-08-06 주식회사 모파스 블록체인을 이용하여 스마트 계약을 생성하는 시스템
KR102013527B1 (ko) 2018-08-28 2019-08-22 최은철 블록체인을 이용한 자재물품 거래 시스템 및 그 방법
WO2020041878A1 (en) 2018-08-30 2020-03-05 Neuralia Technologies Inc. System and method for improved blockchain-implemented smart contract

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6511201B1 (ja) * 2016-02-23 2019-05-15 エヌチェーン ホールディングス リミテッドNchain Holdings Limited ブロックチェーンにより施行される洗練された取引のためのレジストリ及び自動管理方法
US10715331B2 (en) * 2016-12-28 2020-07-14 MasterCard International Incorported Method and system for providing validated, auditable, and immutable inputs to a smart contract
CN107239479B (zh) * 2017-03-28 2020-03-13 创新先进技术有限公司 一种基于区块链的数据存储以及查询的方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101946196B1 (ko) * 2018-03-26 2019-02-08 그래프 블록체인 리미티드 프라이빗 블록체인 기반 시스템을 관제하는 관제시스템 및 관제방법
CN109003078A (zh) * 2018-06-27 2018-12-14 阿里巴巴集团控股有限公司 基于区块链的智能合约调用方法及装置、电子设备
KR102013527B1 (ko) 2018-08-28 2019-08-22 최은철 블록체인을 이용한 자재물품 거래 시스템 및 그 방법
WO2020041878A1 (en) 2018-08-30 2020-03-05 Neuralia Technologies Inc. System and method for improved blockchain-implemented smart contract
KR102008001B1 (ko) * 2019-02-21 2019-08-06 주식회사 모파스 블록체인을 이용하여 스마트 계약을 생성하는 시스템

Also Published As

Publication number Publication date
KR20210065852A (ko) 2021-06-04

Similar Documents

Publication Publication Date Title
CN111428462B (zh) 通讯协议模板构建的方法及终端设备
US9258669B2 (en) Registering a mobile application with a server
US8689177B2 (en) Integration environment generator
WO2019072110A1 (zh) 应用程序的生成方法、装置、系统、设备和介质
WO2017162024A1 (zh) 组件和模板的可视化开发方法及系统、存储介质、设备
WO2021135584A1 (zh) 前端项目框架的构建方法、装置、计算机设备及存储介质
US8756407B2 (en) Configuration rule prototyping tool
CN109669873B (zh) 用户界面自动测试方法及装置、电子设备及存储介质
EP3234851B1 (en) A system and method for facilitating static analysis of software applications
CN111475192B (zh) 对游戏服务器进行热更的方法、装置、存储介质和系统
WO2017101727A1 (zh) 调用应用编程接口的方法和系统
US20220391281A1 (en) System and method for community driven error handling system for platform users
US9582270B2 (en) Effective feature location in large legacy systems
KR102505911B1 (ko) 정책기반 스마트 계약을 생성하기 위한 방법 및 그 장치
US11620722B2 (en) Method and apparatus of generating policy-based smart contract
US11144314B2 (en) Systems and methods for software documentation and code generation management
US8407175B2 (en) Method, apparatus and product for SAT solving using templates clauses
US10606569B2 (en) Declarative configuration elements
CN113391809A (zh) 静态资源文件处理方法、装置、电子设备和存储介质
US11137988B2 (en) Program code generation device and computer readable medium
CN109995711B (zh) 智能机器人的应用开发方法、装置、终端设备及介质
WO2024078472A1 (zh) 一种调试云服务应用程序接口api的方法、装置以及相关设备
US20230131294A1 (en) Executable code blocks based on captured user interactions
CN108304188B (zh) 一种数据类型转换方法及终端
CN112631650A (zh) 插件版本信息校验方法、计算设备及存储介质

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