KR20220071084A - 정형명세를 기반으로 하는 블록체인의 리카르디안 컨트랙트 생성 방법, 이를 수행하기 위한 기록 매체 및 장치 - Google Patents

정형명세를 기반으로 하는 블록체인의 리카르디안 컨트랙트 생성 방법, 이를 수행하기 위한 기록 매체 및 장치 Download PDF

Info

Publication number
KR20220071084A
KR20220071084A KR1020210013438A KR20210013438A KR20220071084A KR 20220071084 A KR20220071084 A KR 20220071084A KR 1020210013438 A KR1020210013438 A KR 1020210013438A KR 20210013438 A KR20210013438 A KR 20210013438A KR 20220071084 A KR20220071084 A KR 20220071084A
Authority
KR
South Korea
Prior art keywords
contract
block
ricardian
programming language
block chain
Prior art date
Application number
KR1020210013438A
Other languages
English (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/KR2021/017207 priority Critical patent/WO2022108412A1/ko
Publication of KR20220071084A publication Critical patent/KR20220071084A/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/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/02Reservations, e.g. for tickets, services or events
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Tourism & Hospitality (AREA)
  • Human Resources & Organizations (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • Data Mining & Analysis (AREA)
  • Development Economics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

정형명세를 기반으로 하는 블록체인의 리카르디안 컨트랙트 생성 방법은, 입력된 계약서를 프로그래밍 언어로 변환하는 단계; 프로그래밍 언어로부터 계약서에 포함된 계약 내용을 정형명세하여 논리 구조가 블록의 형태 및 색상에 의해 정의되는 프로그래밍 언어의 문법 블록으로 변환하는 단계; 변환된 블록을 블록 메뉴 리스트에 배치하는 단계; 상기 블록 메뉴 리스트리스트에서 블록을 워크스페이스로 드래그앤드롭(Drag-and-Drop)하여 논리 편집하는 단계; 및 드래그앤드롭된 블록을 자연어 및 스마트 컨트랙트 소스로 생성하는 단계;를 포함한다. 이에 따라, 사용자들은 사용성 및 안정성이 향상된 리카르디안 컨트랙트 수행이 가능하다.

Description

정형명세를 기반으로 하는 블록체인의 리카르디안 컨트랙트 생성 방법, 이를 수행하기 위한 기록 매체 및 장치{METHOD FOR RICARDIAN CONTRACT CREATION OF BLOCK CHAIN BASED ON FORMAL SPECIFICATION, RECORDING MEDIUM AND DEVICE FOR PERFORMING THE METHOD}
본 발명은 정형명세를 기반으로 하는 블록체인의 리카르디안 컨트랙트 생성 방법, 이를 수행하기 위한 기록 매체 및 장치에 관한 것으로서, 더욱 상세하게는 각종 거래 당사자들이 블록체인을 기반으로 신뢰성 있는 거래를 수행할 수 있도록 스마트 컨트랙트 코드의 생성 및 수행을 구현하는 기술에 관한 것이다.
리카르디안 컨트랙트(Ricardian Contract)는 둘 이상의 계약 당사자들의 행동 조건 및 내용을 정의하고, 인간과 동시에 기계가 읽기에 용이한 디지털 문서로, 블록체인 기반의 키쌍 알고리즘을 이용한 암호화 서명을 통해 구속력을 가진다. Ian Grigg에 의해 개념이 제시되었으며, 현재는 EOS, OpenBazaar, 매직리프에서 이를 이용하고 있다.
스마트 컨트랙트는 프로그래밍 언어를 이용하여 계약 조건 및 결과를 작성하고 이를 자동으로 이행하도록 만든다. 하지만, 이와 같은 프로그래밍 언어는 프로그래밍 지식이 없는 사용자라면 이해할 수 없으며, 이와 같은 계약 조건 및 이행 내용 등을 시각화하여 사용자에게 이해하는 것 또한 불가능한 일이다.
리카르디안 컨트랙트는 이와 같은 한계를 보완하여, 프로그램뿐만 아니라 인간 또한 해독이 용이한 일반 문서와 같은 형태로 계약 조건 및 이행 내용을 작성한 뒤, 이를 법적 근거로 마련하고자 스마트 컨트랙트의 한계점을 보완하고 발전된 형태로 개발한 기술이다.
이는 리카르디안 컨트랙트가 계약 당사자들의 계약 조건 및 이행 내용을 정의하고, 암호에 의해 서명 및 승인된 디지털 문서, XML이나 JSON과 같이 인간 및 프로그램 모두 해독이 용이한 형태의 파일을 이용하기 때문이다.
즉, 계약서의 규격을 가진 뒤 사용자 간의 암호화 된 서명을 담은 채 암호화 된 XML, JSON 파일을 이용하여 스마트 컨트랙트를 수행하므로, 일반인 입장에서의 사용성이 향상되고, 보다 법적 구속력을 가지는 것이다.
스마트 컨트랙트가 보다 영리한 형태의 계약을 진행하여 자동화된 효율성을 추구하였다면, 리카르디안 컨트랙트는 이에 사용자 입장의 사용성 또한 추구한 형태인 것이다.
이와 같이, 블록체인과 이를 기반으로 프로그래밍을 수행하는 스마트 컨트랙트는 블록체인의 무결성을 기반으로 신뢰성을 가지는 계약을 수행하도록 한다. 또한, 조건에 따라 자동 실행될 수 있으므로 당사자들은 보다 안전하고 확실한 계약이 가능하다는 장점이 있다.
그러나, 블록체인과 스마트 컨트랙트는 각종 컴퓨터 공학 지식 및 프로그래밍 언어 활용 능력을 요구하므로, 실세계에서 계약을 수행하는 일반인들이 이를 이용하는 것은 매우 어렵다는 단점이 존재한다.
KR 10-214268 B1 KR 10-2020-0120015 A
이에, 본 발명의 기술적 과제는 이러한 점에서 착안된 것으로 본 발명의 목적은 정형명세를 기반으로 하는 블록체인의 리카르디안 컨트랙트 생성 방법을 제공하는 것이다.
본 발명의 다른 목적은 상기 정형명세를 기반으로 하는 블록체인의 리카르디안 컨트랙트 생성 방법을 수행하기 위한 컴퓨터 프로그램이 기록된 기록 매체를 제공하는 것이다.
본 발명의 또 다른 목적은 상기 정형명세를 기반으로 하는 블록체인의 리카르디안 컨트랙트 생성 방법을 수행하기 위한 장치를 제공하는 것이다.
상기한 본 발명의 목적을 실현하기 위한 일 실시예에 따른 정형명세를 기반으로 하는 블록체인의 리카르디안 컨트랙트 생성 방법은, 입력된 계약서를 프로그래밍 언어로 변환하는 단계; 프로그래밍 언어로부터 계약서에 포함된 계약 내용을 정형명세하여 논리 구조가 블록의 형태 및 색상에 의해 정의되는 프로그래밍 언어의 문법 블록으로 변환하는 단계; 변환된 블록을 블록 메뉴 리스트에 배치하는 단계; 상기 블록 메뉴 리스트리스트에서 블록을 워크스페이스로 드래그앤드롭(Drag-and-Drop)하여 논리 편집하는 단계; 및 드래그앤드롭된 블록을 자연어 및 스마트 컨트랙트 소스로 생성하는 단계;를 포함한다.
본 발명의 실시예에서, 상기 프로그래밍 언어는, XML 파일, JSON 파일 및 디지털 문서 중 하나일 수 있다.
본 발명의 실시예에서, 상기 프로그래밍 언어의 문법 블록으로 변환하는 단계는, XML을 기초로 계약서의 형태 및 계약서 상 계약인들의 이름과 계약 내용을 스마트 컨트랙트 코드에 삽입 및 변환할 수 있다.
본 발명의 실시예에서, 상기 정형명세를 기반으로 하는 블록체인의 리카르디안 컨트랙트 생성 방법은, 블록 메뉴 리스트, 워크 스페이스, 제어 툴 바, 자연어 및 소스 코드를 제공하는 화면을 사용자에게 제공하는 단계;를 더 포함할 수 있다.
본 발명의 실시예에서, 상기 정형명세를 기반으로 하는 블록체인의 리카르디안 컨트랙트 생성 방법은, 생성된 자연어 및 스마트 컨트랙트 소스를 통해 스마트 컨트랙트를 수행하는 단계; 및 수행된 스마트 컨트랙트의 계약 내용을 블록 체인에 저장하는 단계;를 더 포함할 수 있다.
상기한 본 발명의 다른 목적을 실현하기 위한 일 실시예에 따른 컴퓨터로 판독 가능한 저장 매체에는, 상기 정형명세를 기반으로 하는 블록체인의 리카르디안 컨트랙트 생성 방법을 수행하기 위한 컴퓨터 프로그램이 기록되어 있다.
상기한 본 발명의 또 다른 목적을 실현하기 위한 일 실시예에 따른 정형명세를 기반으로 하는 블록체인의 리카르디안 컨트랙트 생성 장치는, 입력된 계약서를 프로그래밍 언어로 변환하는 데이터 변환부; 프로그래밍 언어로부터 계약서에 포함된 계약 내용을 정형명세하여 논리 구조가 블록의 형태 및 색상에 의해 정의되는 프로그래밍 언어의 문법 블록으로 변환하는 블록 생성부; 변환된 블록을 블록 메뉴 리스트에 배치하는 블록 배치부; 상기 블록 메뉴 리스트리스트에서 블록을 워크스페이스로 드래그앤드롭(Drag-and-Drop)하는 논리 편집부; 및 드래그앤드롭된 블록을 자연어 및 스마트 컨트랙트 소스로 생성하는 코드 생성부;를 포함한다.
본 발명의 실시예에서, 상기 프로그래밍 언어는, XML 파일, JSON 파일 및 디지털 문서 중 하나일 수 있다.
본 발명의 실시예에서, 상기 블록 생성부는, XML을 기초로 계약서의 형태 및 계약서 상 계약인들의 이름과 계약 내용을 스마트 컨트랙트 코드에 삽입 및 변환할 수 있다.
본 발명의 실시예에서, 상기 논리 편집부는, 블록 메뉴 리스트, 워크 스페이스, 제어 툴 바, 자연어 및 소스 코드를 제공하는 화면을 사용자에게 제공할 수 있다.
본 발명의 실시예에서, 상기 정형명세를 기반으로 하는 블록체인의 리카르디안 컨트랙트 생성 장치는, 생성된 자연어 및 스마트 컨트랙트 소스를 통해 스마트 컨트랙트를 수행하는 스마트 컨트랙트 수행부; 및 수행된 스마트 컨트랙트의 계약 내용을 블록 체인에 저장하는 블록 체인 저장부;를 더 포함할 수 있다.
이와 같은 정형명세를 기반으로 하는 블록체인의 리카르디안 컨트랙트 생성 방법에 따르면, 사용자들이 실제로 계약 중 사용하는 계약 성격 및 관련 자연어를 정형명세하여 쉽게 계약을 맺을 수 있는 블록을 만들고, 이를 다양한 블록체인 스마트 컨트랙트 코드의 언어로 변환할 수 있다.
이를 통해, 인간이 이해하기 용이한 형태의 자연어를 이용하는 정형명세 된 블록을 통해 컴퓨터 및 블록체인 비전문가들이 이에 대한 개념이 없어도 사용성 및 안정성이 향상된 스마트 컨트랙트를 생성하고 수행할 수 있다.
따라서, 실세계에서 발생할 수 있는 모호한 계약을 방지할 수 있으며, 계약 내용은 블록체인에 기록되므로 스마트 컨트랙트를 통해 단순한 계약 내용만 주고 받더라도 사용자들은 블록체인에 의해 훼손되지 않는 계약서를 작성할 수 있다.
또한, 훼손되지 않는 온라인의 계약서는 인터넷이 연결된 기기만 있다면 언제든 조회 가능하여, 계약 당사자 및 관계자들이 사실 관계를 확인하기에 용이하다.
도 1은 본 발명에 따른 정형명세를 기반으로 하는 블록체인의 리카르디안 컨트랙트 생성을 설명하기 위한 개념도이다.
도 2는 본 발명의 일 실시예에 따른 정형명세를 기반으로 하는 블록체인의 리카르디안 컨트랙트 생성 장치의 블록도이다.
도 3은 본 발명에 따라 제공하는 블록 기반 코드 생성기의 예시 화면이다.
도 4는 본 발명의 다른 실시예에 따른 정형명세를 기반으로 하는 블록체인의 리카르디안 컨트랙트 생성 장치의 블록도이다.
도 5는 본 발명의 일 실시예에 따른 정형명세를 기반으로 하는 블록체인의 리카르디안 컨트랙트 생성 방법의 흐름도이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
이하, 도면들을 참조하여 본 발명의 바람직한 실시예들을 보다 상세하게 설명하기로 한다.
도 1은 본 발명에 따른 정형명세를 기반으로 하는 블록체인의 리카르디안 컨트랙트 생성을 설명하기 위한 개념도이다. 도 2는 본 발명의 일 실시예에 따른 정형명세를 기반으로 하는 블록체인의 리카르디안 컨트랙트 생성 장치의 블록도이다.
도 1을 참조하면, 본 발명은 XML로 변환된 계약서를 기반으로 리카르디안 컨트랙트 자동으로 생성하고 편집하는 기술을 제공한다.
리카르디안 컨트랙트의 핵심은 인간 및 기계가 해독하기 용이한 계약서 등을 스마트 컨트랙트를 통해 실행하고, 구속력을 보장받는다는 것에 있다.
즉, 해독이 용이한 계약서를 스마트 컨트랙트로 변환하는 것이 핵심으로, 본 발명에서는 사용자들에 의해 정의된 XML 형태의 데이터를 스마트 컨트랙트로 실행하는 리카르디안 컨트랙트 자동 생성 기술을 제공한다. 이는 본 발명에 따른 정형명세를 기반으로 하는 블록체인의 리카르디안 컨트랙트 생성 장치에 의해 수행된다.
본 발명에 따른 정형명세를 기반으로 하는 블록체인의 리카르디안 컨트랙트 생성 장치(10, 이하 장치)는 입력된 XML 기반 계약서에 포함된 계약 내용을 인식하여 계약 내용을 블록의 형태 및 색상에 의해 정의하는 컨트랙트 자동 생성기이다.
도 2를 참조하면, 본 발명에 따른 장치(10)는 데이터 변환부(110), 블록 생성부(130), 블록 배치부(150), 논리 편집부(170) 및 코드 생성부(190)를 포함한다.
본 발명의 상기 장치(10)는 정형명세를 기반으로 하는 블록체인의 리카르디안 컨트랙트 생성을 수행하기 위한 소프트웨어(애플리케이션)가 설치되어 실행될 수 있으며, 상기 데이터 변환부(110), 상기 블록 생성부(130), 상기 블록 배치부(150), 상기 논리 편집부(170) 및 상기 코드 생성부(190)의 구성은 상기 장치(10)에서 실행되는 상기 정형명세를 기반으로 하는 블록체인의 리카르디안 컨트랙트 생성을 수행하기 위한 소프트웨어에 의해 제어될 수 있다.
상기 장치(10)는 별도의 단말이거나 또는 단말의 일부 모듈일 수 있다. 또한, 상기 데이터 변환부(110), 상기 블록 생성부(130), 상기 블록 배치부(150), 상기 논리 편집부(170) 및 상기 코드 생성부(190)의 구성은 통합 모듈로 형성되거나, 하나 이상의 모듈로 이루어 질 수 있다. 그러나, 이와 반대로 각 구성은 별도의 모듈로 이루어질 수도 있다.
상기 장치(10)는 이동성을 갖거나 고정될 수 있다. 상기 장치(10)는, 서버(server) 또는 엔진(engine) 형태일 수 있으며, 디바이스(device), 기구(apparatus), 단말(terminal), UE(user equipment), MS(mobile station), 무선기기(wireless device), 휴대기기(handheld device) 등 다른 용어로 불릴 수 있다.
상기 장치(10)는 운영체제(Operation System; OS), 즉 시스템을 기반으로 다양한 소프트웨어를 실행하거나 제작할 수 있다. 상기 운영체제는 소프트웨어가 장치의 하드웨어를 사용할 수 있도록 하기 위한 시스템 프로그램으로서, 안드로이드 OS, iOS, 윈도우 모바일 OS, 바다 OS, 심비안 OS, 블랙베리 OS 등 모바일 컴퓨터 운영체제 및 윈도우 계열, 리눅스 계열, 유닉스 계열, MAC, AIX, HP-UX 등 컴퓨터 운영체제를 모두 포함할 수 있다.
상기 데이터 변환부(110)는 입력된 계약서를 프로그래밍 언어로 변환한다.
상기 데이터 변환부(110)는 사용자들이 실제로 계약 중 사용하는 계약 성격 및 관련 자연어의 계약서를 입력받아, XML 기반 데이터로 변환한다.
XML과 JSON의 경우, 포맷의 규격을 이해하지 못한 채 읽게 되면 <> 및 {}와 같은 기호에 의해 전문 지식이 요구되는 컴퓨터 언어처럼 보이지만, 이를 상세하게 읽었을 때 문서의 내용이 인간의 언어로 순차적으로 담겨있으며, 이는 프로그래밍 언어에 의해 쉽게 파싱(Parsing)되므로 인간 및 프로그램 모두 해독이 용이하다.
하지만, 위 포맷은 어떠한 데이터 등을 정의하는 포맷일 뿐, 컴퓨터 상에서 논리 구현 및 작동을 구현하는 프로그래밍 언어는 아니다. 즉, 문서에 구속력을 더할 스마트 컨트랙트가 추가로 요구된다. 즉, 리카르디안 컨트랙트의 핵심은 해당 문서를 이용하여 스마트 컨트랙트 및 이에 의한 구속력을 이용하여 인간이 쉽게 해독 가능한 스마트 컨트랙트를 수행한다는 점에 있다.
상기 블록 생성부(130)는 프로그래밍 언어로부터 계약서에 포함된 계약 내용을 정형명세하여 논리 구조가 블록의 형태 및 색상에 의해 정의되는 프로그래밍 언어의 문법 블록으로 변환한다.
상기 블록 생성부(130)는 생성된 XML 기반 데이터(계약서)를 받게 되면, XML을 토대로 계약서의 형태 및 계약서 상 계약인들의 이름과 계약 내용을 인식하여 이와 같은 내용을 스마트 컨트랙트 코드에 삽입 및 변환한다. 이와 같은 코드 변환 기능은 리카르디안 컨트랙트 자동 생성기에 포함되어 있어, 아래의 단에서 상세히 서술한다.
상기 블록 배치부(150)는 변환된 블록을 블록 메뉴 리스트에 배치한다. 상기 논리 편집부(170)는 상기 블록 메뉴 리스트리스트에서 블록을 워크스페이스로 드래그앤드롭(Drag-and-Drop)한다.
본 발명에서는 리카르디안 컨트랙트 자동 생성을 위한 XML 형태의 문서를 블록 기반 코드 생성기로 수행한다. 블록 기반 코드 생성기는 드래그앤드롭(Drag-and-Drop) 기반의 프로그래밍 논리 편집(언어 작성)을 통해 실제로 작성하고자 하는 코드를 작성하는 기법으로, 프로그래밍 언어의 문법 블록으로 정의되고 논리 구조가 블록의 형태 및 색상에 의해 정의되므로, 보다 직관적이고 편리하게 코드를 개발을 지원한다.
사용자가 이를 이용하여 코드를 개발하며 블록의 형태를 완벽하게 갖춘다면, 일반적인 코드 개발에 의해 다양한 형태의 오류를 적게 접할 수 있으며, 문법이 블록에 의해 한층 더 자연어에 가깝게 표현되므로 일반인도 직관적인 코드 이해가 가능하다.
도 3을 참조하면, 본 발명의 블록 기반 코드 생성기의 예시 화면으로, 타이틀(31), 제어 툴 바(32), 블록 메뉴 리스트(33), 워크 스페이스(34), 자연어 및 소스 코드를 제공하는 화면(35, 36)을 사용자에게 제공할 수 있다.
본 발명의 블록 기반 코드 생성기는 블록 메뉴 리스트에 존재하는 블록을 워크스페이스로 드래그앤드롭하여, 자연어 및 스마트 컨트랙트 소스를 자동으로 생성할 수 있다.
상기 코드 생성부(190)는 드래그앤드롭된 블록을 자연어 및 스마트 컨트랙트 소스로 생성한다.
도 4는 본 발명의 다른 실시예에 따른 정형명세를 기반으로 하는 블록체인의 리카르디안 컨트랙트 생성 장치의 블록도이다.
도 4의 장치(20)는 스마트 컨트랙트 수행부(210) 및 블록 체인 저장부(230)를 더 포함하는 것을 제외하고 도 2의 장치(10)와 동일하므로, 반복되는 구성 및 그에 대한 설명은 생략한다.
상기 스마트 컨트랙트 수행부(210)는 생성된 생성된 자연어 및 스마트 컨트랙트 소스를 통해 스마트 컨트랙트를 수행한다. 상기 블록 체인 저장부(230)는 수행된 스마트 컨트랙트의 계약 내용을 블록 체인에 저장하여 무결성을 보장할 수 있다.
본 발명의 코드 생성기는 블록 메뉴 리스트에 존재하는 블록을 워크스페이스로 드래그앤드롭하여, 자연어 및 스마트 컨트랙트 소스를 자동으로 생성할 수 있다. 개발 된 블록들은 정형명세 기반으로 작성되어, 보다 명확한 계약을 수행할 수 있다.
본 발명에서는 리카르디안 컨트랙트를 일반인도 사용이 가능하도록 사용성 향상과 동시에 스마트 컨트랙트의 오버플로우 등으로 발생하는 안정성 문제를 동시에 해결하였다. 이를 위해 사용자가 리카르디안 컨트랙트를 생성하는 프레임워크를 개발하였으며, 리카르디안 컨트랙트를 스마트 컨트랙트로 변환하고 검증하는 기술을 개발하였다.
본 발명을 통해, 사용자들은 스마트 컨트랙트에 대한 인지 없이도 리카르디안 컨트랙트를 생성하고, 이를 스마트 컨트랙트로 실행하여 사용성 및 안정성이 향상된 리카르디안 컨트랙트 수행이 가능하다.
도 5는 본 발명의 일 실시예에 따른 정형명세를 기반으로 하는 블록체인의 리카르디안 컨트랙트 생성 방법의 흐름도이다.
본 실시예에 따른 정형명세를 기반으로 하는 블록체인의 리카르디안 컨트랙트 생성 방법은, 도 2의 장치(10)와 실질적으로 동일한 구성에서 진행될 수 있다. 따라서, 도 2의 장치(10)와 동일한 구성요소는 동일한 도면부호를 부여하고, 반복되는 설명은 생략한다.
또한, 본 실시예에 따른 정형명세를 기반으로 하는 블록체인의 리카르디안 컨트랙트 생성 방법은 정형명세를 기반으로 하는 블록체인의 리카르디안 컨트랙트 생성을 수행하기 위한 소프트웨어(애플리케이션)에 의해 실행될 수 있다.
본 발명에 따른 정형명세를 기반으로 하는 블록체인의 리카르디안 컨트랙트 생성 방법은 사용자들에 의해 정의된 XML 형태의 데이터를 스마트 컨트랙트로 실행하는 리카르디안 컨트랙트 자동 생성 기술을 제공한다. 리카르디안 컨트랙트 자동 생성은 드래그앤드롭(Drag-and-Drop) 기반의 프로그래밍 논리 편집(언어 작성)을 통해 실제로 작성하고자 하는 코드를 작성할 수 있다.
이에 따라, 프로그래밍 언어의 문법 블록으로 정의되고 논리 구조가 블록의 형태 및 색상에 의해 정의되므로, 보다 직관적이고 편리하게 코드를 개발을 지원할 수 있다.
도 5를 참조하면, 본 실시예에 따른 정형명세를 기반으로 하는 블록체인의 리카르디안 컨트랙트 생성 방법은, 입력된 계약서를 프로그래밍 언어로 변환한다(단계 S10).
상기 프로그래밍 언어는, XML 파일, JSON 파일 및 디지털 문서 등일 수 있다.
프로그래밍 언어로부터 계약서에 포함된 계약 내용을 정형명세하여 논리 구조가 블록의 형태 및 색상에 의해 정의되는 프로그래밍 언어의 문법 블록으로 변환한다(단계 S20).
상기 프로그래밍 언어의 문법 블록으로 변환하는 단계는, XML을 기초로 계약서의 형태 및 계약서 상 계약인들의 이름과 계약 내용을 스마트 컨트랙트 코드에 삽입 및 변환한다.
변환된 블록을 블록 메뉴 리스트에 배치한다(단계 S30).
블록 기반 코드 생성은 드래그앤드롭(Drag-and-Drop) 기반의 프로그래밍 논리 편집(언어 작성)을 통해 실제로 작성하고자 하는 코드를 작성할 수 있다.
이에 따라, 프로그래밍 언어의 문법 블록으로 정의되고 논리 구조가 블록의 형태 및 색상에 의해 정의되므로, 보다 직관적이고 편리하게 코드를 개발을 지원할 수 있다.
사용자가 이를 이용하여 코드를 개발하며 블록의 형태를 완벽하게 갖춘다면, 일반적인 코드 개발에 의해 다양한 형태의 오류를 적게 접할 수 있으며, 문법이 블록에 의해 한층 더 자연어에 가깝게 표현되므로 일반인도 직관적인 코드 이해가 가능하다.
본 발명의 블록 기반 코드 생성을 위해 블록 메뉴 리스트, 워크 스페이스, 제어 툴 바, 자연어 및 소스 코드를 제공하는 화면을 사용자에게 제공할 수 있다.
상기 블록 메뉴 리스트리스트에서 블록을 워크스페이스로 드래그앤드롭(Drag-and-Drop)하여 논리 편집한다(단계 S40). 본 발명은 블록 메뉴 리스트에 존재하는 블록을 워크스페이스로 드래그앤드롭하여, 자연어 및 스마트 컨트랙트 소스를 자동으로 생성할 수 있다.
드래그앤드롭된 블록을 자연어 및 스마트 컨트랙트 소스로 생성한다(단계 S50).
본 실시예에 따른 정형명세를 기반으로 하는 블록체인의 리카르디안 컨트랙트 생성 방법은, 생성된 자연어 및 스마트 컨트랙트 소스를 통해 스마트 컨트랙트를 수행하는 단계 및 수행된 스마트 컨트랙트의 계약 내용을 블록 체인에 저장하는 단계를 더 포함할 수 있다.
이와 같은 정형명세를 기반으로 하는 블록체인의 리카르디안 컨트랙트 생성 방법에 따르면, 사용자들이 실제로 계약 중 사용하는 계약 성격 및 관련 자연어를 정형명세하여 쉽게 계약을 맺을 수 있는 블록을 만들고, 이를 다양한 블록체인 스마트 컨트랙트 코드의 언어로 변환할 수 있다.
이를 통해, 인간이 이해하기 용이한 형태의 자연어를 이용하는 정형명세 된 블록을 통해 컴퓨터 및 블록체인 비전문가들이 이에 대한 개념이 없어도 사용성 및 안정성이 향상된 스마트 컨트랙트를 생성하고 수행할 수 있다.
따라서, 실세계에서 발생할 수 있는 모호한 계약을 방지할 수 있으며, 계약 내용은 블록체인에 기록되므로 스마트 컨트랙트를 통해 단순한 계약 내용만 주고 받더라도 사용자들은 블록체인에 의해 훼손되지 않는 계약서를 작성할 수 있다.
또한, 훼손되지 않는 온라인의 계약서는 인터넷이 연결된 기기만 있다면 언제든 조회 가능하여, 계약 당사자 및 관계자들이 사실 관계를 확인하기에 용이하다.
이와 같은, 정형명세를 기반으로 하는 블록체인의 리카르디안 컨트랙트 생성 방법은 애플리케이션으로 구현되거나 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다.
상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거니와 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다.
프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서는 실시예들을 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
본 발명은 부동산 등의 전자계약 관련 시장에서 사용성 및 안정성이 향상된 리카르디안 컨트랙트 수행을 가능하게 한다. 또한, 시스템 변형 및 추가를 통해 다양한 계약을 지원할 수 있다.
10, 20: 블록체인의 리카르디안 컨트랙트 생성 장치
110: 데이터 변환부
130: 블록 생성부
150: 블록 배치부
170: 논리 편집부
190: 코드 생성부
210: 스마트 컨트랙트 수행부
230: 블록 체인 저장부

Claims (11)

  1. 입력된 계약서를 프로그래밍 언어로 변환하는 단계;
    프로그래밍 언어로부터 계약서에 포함된 계약 내용을 정형명세하여 논리 구조가 블록의 형태 및 색상에 의해 정의되는 프로그래밍 언어의 문법 블록으로 변환하는 단계;
    변환된 블록을 블록 메뉴 리스트에 배치하는 단계;
    상기 블록 메뉴 리스트리스트에서 블록을 워크스페이스로 드래그앤드롭(Drag-and-Drop)하여 논리 편집하는 단계; 및
    드래그앤드롭된 블록을 자연어 및 스마트 컨트랙트 소스로 생성하는 단계;를 포함하는, 정형명세를 기반으로 하는 블록체인의 리카르디안 컨트랙트 생성 방법.
  2. 제1항에 있어서,
    상기 프로그래밍 언어는, XML 파일, JSON 파일 및 디지털 문서 중 하나인, 정형명세를 기반으로 하는 블록체인의 리카르디안 컨트랙트 생성 방법.
  3. 제1항에 있어서, 상기 프로그래밍 언어의 문법 블록으로 변환하는 단계는,
    XML을 기초로 계약서의 형태 및 계약서 상 계약인들의 이름과 계약 내용을 스마트 컨트랙트 코드에 삽입 및 변환하는, 정형명세를 기반으로 하는 블록체인의 리카르디안 컨트랙트 생성 방법.
  4. 제1항에 있어서,
    블록 메뉴 리스트, 워크 스페이스, 제어 툴 바, 자연어 및 소스 코드를 제공하는 화면을 사용자에게 제공하는 단계;를 더 포함하는, 정형명세를 기반으로 하는 블록체인의 리카르디안 컨트랙트 생성 방법.
  5. 제1항에 있어서,
    생성된 자연어 및 스마트 컨트랙트 소스를 통해 스마트 컨트랙트를 수행하는 단계; 및
    수행된 스마트 컨트랙트의 계약 내용을 블록 체인에 저장하는 단계;를 더 포함하는, 정형명세를 기반으로 하는 블록체인의 리카르디안 컨트랙트 생성 방법.
  6. 제1항 내지 제5항 중 어느 하나의 항에 따른 상기 정형명세를 기반으로 하는 블록체인의 리카르디안 컨트랙트 생성 방법을 수행하기 위한 컴퓨터 프로그램이 기록된 컴퓨터로 판독 가능한 저장 매체.
  7. 입력된 계약서를 프로그래밍 언어로 변환하는 데이터 변환부;
    프로그래밍 언어로부터 계약서에 포함된 계약 내용을 정형명세하여 논리 구조가 블록의 형태 및 색상에 의해 정의되는 프로그래밍 언어의 문법 블록으로 변환하는 블록 생성부;
    변환된 블록을 블록 메뉴 리스트에 배치하는 블록 배치부;
    상기 블록 메뉴 리스트리스트에서 블록을 워크스페이스로 드래그앤드롭(Drag-and-Drop)하는 논리 편집부; 및
    드래그앤드롭된 블록을 자연어 및 스마트 컨트랙트 소스로 생성하는 코드 생성부;를 포함하는, 정형명세를 기반으로 하는 블록체인의 리카르디안 컨트랙트 생성 장치.
  8. 제7항에 있어서,
    상기 프로그래밍 언어는, XML 파일, JSON 파일 및 디지털 문서 중 하나인, 정형명세를 기반으로 하는 블록체인의 리카르디안 컨트랙트 생성 장치.
  9. 제7항에 있어서, 상기 블록 생성부는,
    XML을 기초로 계약서의 형태 및 계약서 상 계약인들의 이름과 계약 내용을 스마트 컨트랙트 코드에 삽입 및 변환하는, 정형명세를 기반으로 하는 블록체인의 리카르디안 컨트랙트 생성 장치.
  10. 제7항에 있어서, 상기 논리 편집부는,
    블록 메뉴 리스트, 워크 스페이스, 제어 툴 바, 자연어 및 소스 코드를 제공하는 화면을 사용자에게 제공하는, 정형명세를 기반으로 하는 블록체인의 리카르디안 컨트랙트 생성 장치.
  11. 제7항에 있어서,
    생성된 자연어 및 스마트 컨트랙트 소스를 통해 스마트 컨트랙트를 수행하는 스마트 컨트랙트 수행부; 및
    수행된 스마트 컨트랙트의 계약 내용을 블록 체인에 저장하는 블록 체인 저장부;를 더 포함하는, 정형명세를 기반으로 하는 블록체인의 리카르디안 컨트랙트 생성 장치.
KR1020210013438A 2020-11-23 2021-01-29 정형명세를 기반으로 하는 블록체인의 리카르디안 컨트랙트 생성 방법, 이를 수행하기 위한 기록 매체 및 장치 KR20220071084A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/KR2021/017207 WO2022108412A1 (ko) 2020-11-23 2021-11-23 정형명세를 기반으로 하는 블록체인의 리카르디안 컨트랙트 생성 방법, 이를 수행하기 위한 기록 매체 및 장치

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020200157754 2020-11-23
KR20200157754 2020-11-23

Publications (1)

Publication Number Publication Date
KR20220071084A true KR20220071084A (ko) 2022-05-31

Family

ID=81785895

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210013438A KR20220071084A (ko) 2020-11-23 2021-01-29 정형명세를 기반으로 하는 블록체인의 리카르디안 컨트랙트 생성 방법, 이를 수행하기 위한 기록 매체 및 장치

Country Status (1)

Country Link
KR (1) KR20220071084A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102529826B1 (ko) * 2022-12-12 2023-05-08 주식회사 78리서치랩 난독화 장치 및 방법
KR20240016845A (ko) 2022-07-29 2024-02-06 명지대학교 산학협력단 미디어 사물 인터넷 기반의 스마트 컨트랙트를 생성하기 위한 장치 및 이를 위한 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100214268B1 (ko) 1996-05-01 1999-08-02 김영환 반도체 소자의 층간절연막 형성방법
KR20200120015A (ko) 2019-04-11 2020-10-21 황성재 인스턴트 메세지의 자연어 인식을 통한 스마트 계약 장치 및 그 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100214268B1 (ko) 1996-05-01 1999-08-02 김영환 반도체 소자의 층간절연막 형성방법
KR20200120015A (ko) 2019-04-11 2020-10-21 황성재 인스턴트 메세지의 자연어 인식을 통한 스마트 계약 장치 및 그 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240016845A (ko) 2022-07-29 2024-02-06 명지대학교 산학협력단 미디어 사물 인터넷 기반의 스마트 컨트랙트를 생성하기 위한 장치 및 이를 위한 방법
KR102529826B1 (ko) * 2022-12-12 2023-05-08 주식회사 78리서치랩 난독화 장치 및 방법
WO2024128533A1 (ko) * 2022-12-12 2024-06-20 주식회사 78리서치랩 난독화 장치 및 방법

Similar Documents

Publication Publication Date Title
CN111241454B (zh) 一种生成网页代码的方法、系统和装置
JP6705099B2 (ja) ソフトウェアコードの視覚的実現方法及び装置
WO2015078343A1 (zh) 用于web开发系统的开发方法和web开发系统
CN108351764B (zh) 数据处理方法和系统
CN110058856A (zh) 页面配置方法及装置
US20060168557A1 (en) Methods and apparatus for implementing model-based software solution development and integrated change management
CN113076096B (zh) 一种桌面应用程序开发方法、装置、设备及存储介质
CN106547681B (zh) 数据自动加载并复用模拟服务测试的方法和装置
CN105302545A (zh) 一种组态软件的自定义控件开发方法及装置
CN104714788A (zh) 一种软件安装包自动生成的方法及装置
US20130144920A1 (en) Creating a configuration file template
CN115495069B (zh) 基于模型驱动的煤炭工业软件流程实现方法、装置及设备
KR101408280B1 (ko) 개발도구의 로직생성장치 및 방법과, 그 방법을 실행하기 위한 프로그램이 기록된 저장매체
KR20220071084A (ko) 정형명세를 기반으로 하는 블록체인의 리카르디안 컨트랙트 생성 방법, 이를 수행하기 위한 기록 매체 및 장치
KR20150066377A (ko) Devs 기반의 시뮬레이션 프레임워크 시스템 및 이를 이용한 시뮬레이션 방법
KR101709186B1 (ko) 인터랙티브 멀티미디어 전자책 저작 장치 및 방법
JP5031098B2 (ja) 3次元cadモデル作成装置およびプログラム
Gómez et al. Co-creation of models and metamodels for enterprise architecture projects
Shonle et al. Aspectbrowser for eclipse: a case study in plug-in retargeting
JP4889338B2 (ja) 画面プログラムレイアウト変更方法および情報処理装置およびプログラムおよび記録媒体
JP2009211622A (ja) 契約定義関数検証装置、その方法及びそのプログラム
JP2006285754A (ja) プログラムソースコード自動生成装置
JP2001273125A (ja) ソースプログラム自動生成方法およびシステム、ならびにそのプログラム記録媒体
WO2022108412A1 (ko) 정형명세를 기반으로 하는 블록체인의 리카르디안 컨트랙트 생성 방법, 이를 수행하기 위한 기록 매체 및 장치
Aplevich M4 Macros for Electric Circuit Diagrams in LATEX Documents

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E601 Decision to refuse application