KR102119611B1 - 스마트 컨트랙트의 분류 장치 및 분류 방법 - Google Patents

스마트 컨트랙트의 분류 장치 및 분류 방법 Download PDF

Info

Publication number
KR102119611B1
KR102119611B1 KR1020180134286A KR20180134286A KR102119611B1 KR 102119611 B1 KR102119611 B1 KR 102119611B1 KR 1020180134286 A KR1020180134286 A KR 1020180134286A KR 20180134286 A KR20180134286 A KR 20180134286A KR 102119611 B1 KR102119611 B1 KR 102119611B1
Authority
KR
South Korea
Prior art keywords
category
smart contract
query
query tree
user
Prior art date
Application number
KR1020180134286A
Other languages
English (en)
Other versions
KR20200051219A (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 KR1020180134286A priority Critical patent/KR102119611B1/ko
Publication of KR20200051219A publication Critical patent/KR20200051219A/ko
Application granted granted Critical
Publication of KR102119611B1 publication Critical patent/KR102119611B1/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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4016Transaction verification involving fraud or risk level assessment in transaction processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/316Indexing structures
    • G06F16/322Trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • G06F16/353Clustering; Classification into predefined classes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Finance (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 스마트 컨트랙트 분류 장치에 관한 것이다. 상기 스마트 컨트랙트 분류 장치는, 스마트 컨트랙트들을 분류하기 위하여 사전 설정된 복수 개의 카테고리 및 각 카테고리에 대응되는 질의 트리들을 구비하는 데이터베이스; 사용자로부터 카테고리를 선택받거나, 사용자로부터의 응답을 입력받을 수 있도록 구성된 입력부; 상기 입력부를 통해 선택된 카테고리에 대응되는 질의 트리를 상기 데이터베이스로부터 판독하고, 상기 판독된 질의 트리에 따라, 사용자에게 순차적으로 질의하고, 임의의 스마트 컨트랙트 코드에 따라 상기 순차적인 질의에 대응하는 사용자로부터의 응답들을 이용하여, 상기 스마트 컨트랙트가 상기 선택된 카테고리에 해당되는지 여부를 판단하고 상기 스마트 컨트랙트의 카테고리를 결정하는 분석부;를 구비하여, 스마트 컨트랙트에 대한 카테고리를 쉽게 확인 및 분류할 수 있게 된다.

Description

스마트 컨트랙트의 분류 장치 및 분류 방법{Device and method for classifying smart contract}
본 발명은 스마트 컨트랙트 분류 장치에 관한 것으로서, 더욱 구체적으로는, 사전에 분류할 카테고리들을 설정하고, 각 카테고리에 대응되는 스마트 컨트랙트 코드들을 일반화시켜 카테고리별로 작성된 질의 트리를 이용하여, 사용자에 의해 요청된 스마트 컨트랙트에 대한 카테고리를 결정하여 분류할 수 있도록 하는 스마트 컨트랙트의 분류 장치 및 방법에 관한 것이다.
2009년 비트코인의 출현으로 인해 새로운 분산 시스템의 패러다임이 시작되었다. 새로운 분산 시스템은 모든 내용을 각각의 사용자들이 공유한다는 점에서 투명성과 무결성이 보장되었으며, 각각의 내용을 블록 형태로 암호화시키고 블록체인에 저장하게 된다. 블록체인(Blockchain) 기술은 P2P 네트워크를 이루는 노드들이 네트워크에 전송하는 트랜잭션들을 블록에 저장하고, 각 노드들에 전술한 블록들을 체인 형태로 저장하는 기술이다.
비트코인의 뒤를 이은 이더리움 재단에서 스마트 컨트랙트를 특화시킨 새로운 블록체인 시스템을 제안하였다. 2013년 러시아 출신 캐나다 개발자인 비탈릭 부테린이 "차세대 스마트 컨트랙트 & 분산 응용 애플리케이션 플랫폼"이라는 제목으로 이더리움 백서를 발간했고, 차세대 스마트 컨트랙트는 이더리움의 가장 중요한 특징 중 하나이다.
이미 1994년에 Nick Szabo에 의해 스마트 컨트랙트가 정의되었는데, Nick Szabo에 의하면, 기존 계약서는 계약 조건을 이행하려면 실제 사람이 계약서대로 수행을 해야 하나, 디지털 명령어로 계약서를 작성하면 조건에 따라 계약 내용을 자동으로 실행시킬 수 있다고 주장하였다. 하지만, 1994년 당시에는 디지털로 된 자료들은 쉽게 복사되고 조작이 쉬워서 개념으로만 존재하고 구체적인 서비스에 이용될 수 없었다.
하지만, 블록체인의 투명성과 무결성을 이용한 스마트 컨트랙트가 이더리움 재단을 통해서 구현됨에 따라, 스마트 컨트랙트의 잠재력이 높이 평가되었다. 또한, 이더리움 재단에서는 스마트 컨트랙트를 작성하기 위한 언어인 솔리디티(Solidity)를 개발하였으며, 개발자가 아닌 일반인도 작성이 가능한 언어인 Vyper를 개발중에 있다. 스마트 컨트랙트는 블록체인 기술을 기반으로 계약 조건을 기록하고, 조건이 충족될 경우 자동으로 계약이 실행되게 하는 프로그램으로 금융 거래 등의 다양한 계약에 활용될 수 있다.
이더리움 네트워크에 저장되어 있는 모든 스마트 컨트랙트는 웹사이트 'Etherscan'에서 확인이 가능하다. 이와 같이, 모든 스마트 컨트랙트 코드 및 주소가 공개되어 있기는 하나, 스마트 컨트랙트가 카테고리별로 분류가 되어 있지 않기 때문에, 사용자가 스마트 컨트랙트를 참고하거나 재사용하기 위해서는 스마트 컨트랙트 코드를 일일이 분석해야 하는 어려움이 있다.
한국등록특허공보 제 10-1849912호
전술한 문제점을 해결하기 위한 본 발명의 목적은 질의 트리를 이용하여 스마트 컨트랙트를 사전 설정된 카테고리별로 분류할 수 있도록 하는 스마트 컨트랙트 분류 장치 및 분류 방법을 제공하는 것이다.
전술한 기술적 과제를 달성하기 위한 본 발명의 제1 특징에 따른 스마트 컨트랙트 분류 장치는, 스마트 컨트랙트들을 분류하기 위하여 사전 설정된 복수 개의 카테고리 및 각 카테고리에 대응되는 질의 트리들을 구비하는 데이터베이스; 사용자로부터 카테고리를 선택받거나, 사용자로부터의 응답을 입력받을 수 있도록 구성된 입력부; 상기 입력부를 통해 선택된 카테고리에 대응되는 질의 트리를 상기 데이터베이스로부터 판독하고, 상기 판독된 질의 트리에 따라, 사용자에게 순차적으로 질의하고, 임의의 스마트 컨트랙트 코드에 따라 상기 순차적인 질의에 대응하는 사용자로부터의 응답들을 이용하여, 상기 스마트 컨트랙트가 상기 선택된 카테고리에 해당되는지 여부를 판단하고 상기 스마트 컨트랙트의 카테고리를 결정하는 분석부;를 구비하여, 스마트 컨트랙트를 카테고리별로 분류한다.
전술한 제1 특징에 따른 스마트 컨트랙트 분류 장치는, 각 카테고리별로 사전에 준비된 복수 개의 스마트 컨트랙트 코드들을 이용하여 각 카테고리에 대응되는 질의 트리를 생성하여 상기 데이터베이스에 저장하는 질의 트리 생성부;를 더 구비하는 것이 바람직하다.
전술한 제1 특징에 따른 스마트 컨트랙트 분류 장치에 있어서, 상기 질의 트리 생성부는, 각 카테고리별로 사전에 준비된 복수 개의 스마트 컨트랙트들의 코드 패턴들로부터 특징점을 추출하고, 각 카테고리별로 상기 추출된 특징점들을 이용하여 각 카테고리에 대한 스마트 컨트랙트들을 일반화시켜 시퀀스 다이어그램을 생성하고, 각 카테고리별로 상기 일반화된 시퀀스 다이어그램을 이용하여 각 카테고리에 대한 질의 트리를 생성하고, 상기 생성된 각 카테고리에 대한 질의 트리들은 상기 데이터베이스에 저장하는 것이 바람직하다.
본 발명의 제2 특징에 따른 스마트 컨트랙트 분류 방법은, 스마트 컨트랙트들을 분류하기 위하여 사전 설정된 복수 개의 카테고리 및 각 카테고리에 대응되는 질의 트리들을 구비하는 데이터베이스를 이용하여 스마트 컨트랙트를 분류하는 방법으로서, (a) 사용자로부터 카테고리를 선택받는 단계; (b) 사용자에 의해 선택된 카테고리에 대응되는 질의 트리를 상기 데이터베이스로부터 판독하는 단계; (c) 상기 판독된 질의 트리에 따라, 사용자에게 순차적으로 질의하고, 임의의 스마트 컨트랙트 코드에 따라 상기 순차적인 질의에 대응하여 사용자로부터 응답들을 입력받는 단계; (d) 상기 질의에 대응하는 응답들을 이용하여, 상기 스마트 컨트랙트가 상기 선택된 카테고리에 해당되는지 여부를 판단하고 상기 스마트 컨트랙트의 카테고리를 결정하는 단계;를 구비하여, 스마트 컨트랙트를 카테고리별로 분류한다.
전술한 제2 특징에 따른 스마트 컨트랙트 분류 방법은, 각 카테고리별로 사전에 준비된 복수 개의 스마트 컨트랙트 코드들을 이용하여 각 카테고리에 대응되는 질의 트리를 생성하여 상기 데이터베이스에 저장하는 질의 트리 생성 단계;를 더 구비하는 것이 바람직하다.
전술한 제2 특징에 따른 스마트 컨트랙트 분류 방법에 있어서, 상기 질의 트리 생성 단계는, 각 카테고리별로 사전에 준비된 복수 개의 스마트 컨트랙트들의 코드 패턴들로부터 특징점을 추출하는 단계; 각 카테고리별로 상기 추출된 특징점들을 이용하여 각 카테고리에 대한 스마트 컨트랙트들을 일반화시켜 시퀀스 다이어그램을 생성하는 단계; 각 카테고리별로 일반화된 시퀀스 다이어그램을 이용하여 각 카테고리에 대한 질의 트리를 생성하는 단계; 및 상기 생성된 각 카테고리에 대한 질의 트리들은 상기 데이터베이스에 저장하는 단계;를 구비하는 것이 바람직하다.
본 발명에 따른 스마트 컨트랙트 분류 장치는, 사용자가 카테고리를 선택하면, 카테고리에 대응되는 질의 트리에 따라 사용자에게 순차적으로 질의를 하게 되고, 이에 대응하여 사용자는 스마트 컨트랙트 코드에 따라 응답을 하게 된다. 질의에 따른 응답에 따라 최종적으로 해당 스마트 컨트랙트의 카테고리를 결정하여 제공할 수 있게 된다.
따라서, 사용자는 참고 혹은 재사용의 목적으로 스마트 컨트랙트 코드를 볼 때, 스마트 컨트랙트 코드를 일일이 직접 확인하거나 분석하지 않더라도, 질의 트리에 의해 스마트 컨트랙트의 큰 흐름만 파악함으로써, 스마트 컨트랙트의 카테고리를 쉽게 확인할 수 있게 되고, 그 결과 원하는 분야의 스마트 컨트랙트를 찾을 수 있게 된다.
도 1은 본 발명의 바람직한 실시예에 따른 스마트 컨트랙트 분류 장치를 도시한 블록도이다.
도 2는 본 발명의 바람직한 실시예에 따른 스마트 컨트랙트 분류 장치에 있어서, 스마트 컨트랙트 분류 방법을 도시한 흐름도이다.
도 3은 ICO로 분류된 스마트 컨트랙트 주소들을 예시적으로 도시한 것이다.
도 4는 복권으로 분류된 스마트 컨트랙트 주소들을 예시적으로 도시한 것이다.
도 5는 게임으로 분류된 스마트 컨트랙트 주소들을 예시적으로 도시한 것이다.
도 6은 지갑으로 분류된 스마트 컨트랙트 주소들을 예시적으로 도시한 것이다.
도 7는 투표로 분류된 스마트 컨트랙트 주소들을 예시적으로 도시한 것이다.
도 8은 분류 불가능한 스마트 컨트랙트 주소들을 예시적으로 도시한 것이다.
도 9는 도 3 내지 도 8에 따라 분류된 스마트 컨트랙트들의 개수를 도시한 표이다.
도 10은 ICO로 분류된 스마트 컨트랙트를 일반화시킨 시퀀스 다이어그램이다.
도 11은 지갑으로 분류된 스마트 컨트랙트를 일반화시킨 시퀀스 다이어그램이다.
도 12는 게임으로 분류된 스마트 컨트랙트를 일반화시킨 시퀀스 다이어그램이다.
도 13은 도 10의 시퀀스 다이어그램을 이용하여 만들어진 ICO에 대한 질의 트리이다.
도 14는 도 11의 시퀀스 다이어그램을 이용하여 만들어진 지갑에 대한 질의 트리이다.
도 15는 도 12의 시퀀스 다이어그램을 이용하여 만들어진 게임에 대한 질의 트리이다.
본 발명에 따른 스마트 컨트랙트 분류 장치 및 방법은, 사전에 각 카테고리에 대한 질의 트리들을 준비하고, 사용자로부터 카테고리가 선택되면, 이에 대응되는 질의 트리를 이용하여 질의-응답 과정을 거쳐, 임의의 스마트 컨트랙트에 대한 카테고리를 확인할 수 있도록 한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 따른 스마트 컨트랙트 분류 장치 및 방법에 대하여 구체적으로 설명한다.
도 1은 본 발명의 바람직한 실시예에 따른 스마트 컨트랙트 분류 장치를 도시한 블록도이다.
도 1을 참조하면, 본 발명에 따른 스마트 컨트랙트 분류 장치(10)는, 데이터 베이스(100), 질의 트리 생성부(110), 입력부(120) 및 분석부(130)를 구비하여, 각 카테고리별로 사전에 마련된 질의 트리들을 이용하여 스마트 컨트랙트의 카테고리를 쉽게 확인 및 분류할 수 있다.
상기 데이터베이스(100)는, 스마트 컨트랙트들을 분류하기 위하여 사전 설정된 복수 개의 카테고리들 및 각 카테고리에 대응되는 질의 트리들을 구비한다.
상기 질의 트리 생성부(110)는 각 카테고리별로 사전에 준비된 복수 개의 스마트 컨트랙트 코드들을 이용하여 각 카테고리에 대응되는 질의 트리를 생성하여 상기 데이터베이스에 저장한다. 상기 질의 트리 생성부(110)는, 좀 더 구체적으로 설명하면, 각 카테고리별로 사전에 준비된 복수 개의 스마트 컨트랙트들의 코드 패턴들로부터 특징점을 추출하고, 각 카테고리별로 상기 추출된 특징점들을 이용하여 각 카테고리에 대한 스마트 컨트랙트들을 일반화시켜 시퀀스 다이어그램들을 생성하고, 각 카테고리별로 상기 일반화된 시퀀스 다이어그램들을 이용하여 각 카테고리에 대한 질의 트리를 생성하고, 상기 생성된 각 카테고리에 대한 질의 트리들은 상기 데이터베이스에 저장하게 된다.
상기 입력부(120)는 사용자로부터 카테고리를 선택받거나, 사용자로부터의 응답을 입력받을 수 있도록 구성된다. 이 때, 사용자는 상기 입력부를 통해, 참고 혹은 재사용의 목적으로 찾고 싶어하는 스마트 컨트랙트의 카테고리를 선택할 수 있게 된다.
상기 분석부(130)는, 상기 입력부를 통해 선택된 카테고리에 대응되는 질의 트리를 상기 데이터베이스로부터 판독하고, 상기 판독된 질의 트리에 따라, 사용자에게 순차적으로 질의하고, 임의의 스마트 컨트랙트 코드에 따라 상기 순차적인 질의에 대응하여 사용자로부터 입력된 응답들을 이용하여, 상기 스마트 컨트랙트가 상기 선택된 카테고리에 해당되는지 여부를 판단하고 상기 스마트 컨트랙트의 카테고리를 결정하게 된다.
본 발명에 따른 전술한 구성들에 의하여, 사용자가 자신이 확인하고자 하는 스마트 컨트랙트의 카테고리를 선택하게 되면, 선택된 카테고리에 대응되는 질의 트리가 선택되고, 선택된 질의 트리에 따라 질의하면 사용자가 이에 대해 응답하고, 질의 응답에 따라 최종적으로 해당 스마트 컨트랙트가 상기 선택된 카테고리에 해당될 확률값을 제공하게 된다. 그 결과, 본 발명에 따른 분류 장치는 사전 마련된 질의 트리를 이용한 질의-응답에 따라, 스마트 컨트랙트의 카테고리를 쉽게 확인 및 분류할 수 있게 된다.
이하, 본 발명에 따른 질의 트리 생성부가 질의 트리를 생성하는 과정을 보다 구체적으로 설명한다.
도 3 내지 도 8은, 질의 트리 생성을 위하여 사용된 무작위 100개의 스마트 컨트랙트들을 카테고리별로 분류한 것으로서, 각각 ICO(Initial Coin Offering), 복권, 게임, 지갑, 투표 및 분류 불가능한 것들로 분류된 스마트 컨트랙트 주소들이며, 도 9는 도 3 내지 도 8에서 각 카테고리별로 분류된 스마트 컨트랙트의 개수를 도시한 표이다.
도 3 내지 도 8에 각 카테고리별로 분류된 스마트 컨트랙트들의 주소는, 스마트 컨트랙트 코드 및 주소가 기재된 웹사이트 'EtherScan'을 통해서 이더리움 네트워크에 등록된 스마트 컨트랙트들을 무작위로 100개를 뽑아서 코드를 분석하여 일반화시키고 카테고리별로 분류한 결과들이다. 도 3 내지 도 8에 도시된 바와 같이, 크게 ICO, 복권, 게임, 지갑, 투표, 분류 불가능한 것을 포함하여 총 6가지의 카테고리로 분류하였다.
본 발명에서는 위에서 분류된 6개의 카테고리들 중 ICO, 게임, 지갑에 대해서만 질의 트리를 예시적으로 생성하여 분류 장치에 적용하였다. 도 10 내지 도 12는 각각 ICO, 지갑, 게임에 대한 스마트 컨트랙트들을 일반화시킨 시퀀스 다이어그램들을 예시적으로 도시한 것이며, 도 13 내지 도 15는 도 10 내지 도 12의 시퀀스 다이어그램들을 이용하여 생성된 ICO, 지갑, 게임에 대한 질의 트리들을 예시적으로 도시한 것이다.
도 10은 카테고리가 ICO인 스마트 컨트랙트 코드를 시퀀스 다이어그램으로 일반화시킨 것으로서, ICO 스마트 컨트랙트 코드들이 가지고 있는 특징점들을 시퀀스 다이어그램의 형태로 표현하고 있다. 도 10을 참조하면, 이더리움의 토큰을 주고 받는 과정이 ICO 스마트 컨트랙트에서 가장 핵심인 특징들로서, ICO에 참여하고 싶은 참여자가 토큰 전송을 요청하게 되고, 토큰 전송 요청을 받은 스마트 컨트랙트 소유자는 토큰 잔액이 얼마인지 확인 요청을 이더리움 네트워크에 보내게 된다. 이더리움 네트워크는 토큰 잔액을 소유자에게 다시 알려주고, 그 후 토큰 잔액이 참여자가 요청한 액수보다 많이 남았을 경우 컨트랙트 소유자가 이더리움 네트워크에 토큰 전송 요청을 승인하고, 참여자는 토큰을 이더리움 네트워크를 통해 받게 된다. 도 13은, 도 10의 시퀀스 다이어그램을 질의 트리 형태로 변환시킨 것으로서, 이렇게 생성된 질의 트리는 ICO 에 대한 질의 트리로서, 데이터베이스(100)에 저장된다.
도 11은 카테고리가 지갑인 스마트 컨트랙트 코드를 시퀀스 다이어그램으로 일반화시킨 것으로서, 지갑 스마트 컨트랙트 코드들이 가지고 있는 특징점들을 시퀀스 다이어그램의 형태로 표현하고 있다. 도 11을 참조하면, 지갑 스마트 컨트랙트에서는 지갑에 등록된 사용자가 송금 및 입금을 할 수 있도록 하기 위하여, 이더리움 네트워크를 통해서 작동하는 방식이 핵심적인 부분이다. 도 14는 도 11의 시퀀스 다이어그램을 질의 트리 형태로 변환시킨 것으로서, 이렇게 생성된 질의 트리는 지갑에 대한 질의 트리로서, 데이터베이스(100)에 저장된다.
도 12는 카테고리가 게임인 스마트 컨트랙트 코드를 시퀀스 다이어그램으로 일반화시킨 것으로서, 게임 스마트 컨트랙트 코드들이 가지고 있는 특징점들을 시퀀스 다이어그램의 형태로 표현하고 있다. 도 12를 참조하면, 게임 스마트 컨트랙트에서는 게임 인터페이스가 포함되어 스마트 컨트랙트가 작동되며, 참여자는 본인을 이더리움 네트워크에 등록하고 게임 인터페이스를 통해 게임에 연결한다. 참여자는 게임을 하기 위해서 게임 인터페이스에 접속하게 되고, 게임 인터페이스는 이더리움 네트워크를 통해서 접속하려는 사용자가 이더리움 네트워크에 등록된 사용자인지를 판별하는 과정을 거치게 된다. 그 후 참여자는 게임을 하면서 특정한 이벤트를 수행할 때마다 이더리움 네트워크를 통해서 이벤트 보상을 받게 되는 특징을 갖는다. 도 15는 도 12의 시퀀스 다이어그램을 질의 트리 형태로 변환시킨 것으로서, 이렇게 생성된 질의 트리는 게임에 대한 질의 트리로서, 데이터베이스(100)에 저장된다.
이하, 도 2를 참조하여 본 발명에 따른 스마트 컨트랙트 분류 장치에 의해 스마트 컨트랙트에 대한 카테고리를 확인하는 과정을 보다 구체적으로 설명한다.
도 2는 본 발명의 바람직한 실시예에 따른 스마트 컨트랙트 분류 장치에 있어서, 스마트 컨트랙트 분류 방법을 도시한 흐름도이다.
도 2를 참조하면, 본 발명에 따른 스마트 컨트랙트 분류 방법은, 먼저, 스마트 컨트랙트들을 분류하기 위하여 사전 설정된 복수 개의 카테고리들을 설정하고, 각 카테고리에 대응되는 질의 트리들을 생성하여 데이터베이스에 저장한다(단계 200). 단계 200의 질의 트리를 생성하는 단계를 보다 구체적으로 설명하면, 각 카테고리별로 사전에 준비된 복수 개의 스마트 컨트랙트들의 코드 패턴들로부터 특징점을 추출하며, 각 카테고리별로 상기 추출된 특징점들을 이용하여 각 카테고리에 대한 스마트 컨트랙트들을 일반화시켜 시퀀스 다이어그램을 생성하고, 각 카테고리별로 상기 일반화된 시퀀스 다이어그램들을 이용하여 각 카테고리에 대한 질의 트리를 생성하며, 상기 생성된 각 카테고리에 대한 질의 트리들은 상기 데이터베이스에 저장하게 된다.
다음, 사용자로부터 찾고자 하는 스마트 컨트랙트의 카테고리를 선택받는다(단계 210).
다음, 사용자에 의해 선택된 카테고리에 대응되는 질의 트리를 상기 데이터베이스로부터 판독한다(단계 220).
다음, 상기 판독된 질의 트리에 따라, 사용자에게 순차적으로 질의하고, 임의의 스마트 컨트랙트 코드에 따라 상기 순차적인 질의에 대응하여 사용자로부터 응답들을 순차적으로 입력받는다(단계 230).
다음, 상기 질의에 대응하는 응답들을 이용하여, 최종적으로 질의 트리로부터 확률값을 도출하고, 상기 확률값을 통해 상기 스마트 컨트랙트가 상기 선택된 카테고리에 해당되는지 여부를 판단하고 상기 스마트 컨트랙트의 카테고리를 결정한다(단계 240).
전술한 과정을 거쳐, 스마트 컨트랙트에 대한 카테고리를 쉽게 확인 및 분류하게 된다.
이상에서 본 발명에 대하여 그 바람직한 실시예를 중심으로 설명하였으나, 이는 단지 예시일 뿐 본 발명을 한정하는 것이 아니며, 본 발명이 속하는 분야의 통상의 지식을 가진 자라면 본 발명의 본질적인 특성을 벗어나지 않는 범위에서 이상에 예시되지 않은 여러 가지의 변형과 응용이 가능함을 알 수 있을 것이다. 그리고, 이러한 변형과 응용에 관계된 차이점들은 첨부된 청구 범위에서 규정하는 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다.
10 : 스마트 컨트랙트 분류 장치
100 : 데이터 베이스
110 : 질의 트리 생성부
120 : 입력부
130 : 분석부

Claims (8)

  1. 스마트 컨트랙트들을 분류하기 위하여 사전 설정된 복수 개의 카테고리 및 각 카테고리에 대응되는 질의 트리들을 구비하는 데이터베이스;
    사용자로부터 카테고리를 선택받거나, 사용자로부터의 응답을 입력받을 수 있도록 구성된 입력부;
    상기 입력부를 통해 선택된 카테고리에 대응되는 질의 트리를 상기 데이터베이스로부터 판독하고, 상기 판독된 질의 트리에 따라, 사용자에게 순차적으로 질의하고, 임의의 스마트 컨트랙트 코드에 따라 상기 순차적인 질의에 대응하는 사용자로부터의 응답들을 이용하여, 상기 스마트 컨트랙트가 상기 선택된 카테고리에 해당되는지 여부를 판단하고 상기 스마트 컨트랙트의 카테고리를 결정하는 분석부; 및
    각 카테고리별로 사전에 준비된 복수 개의 스마트 컨트랙트 코드들을 이용하여 각 카테고리에 대응되는 질의 트리를 생성하여 상기 데이터베이스에 저장하는 질의 트리 생성부;
    를 구비하여 스마트 컨트랙트에 대한 카테고리를 확인 및 분류하는 것을 특징으로 하며,
    상기 질의 트리 생성부는,
    각 카테고리별로 사전에 준비된 복수 개의 스마트 컨트랙트들의 코드 패턴들로부터 특징점을 추출하고,
    각 카테고리별로 상기 추출된 특징점들을 이용하여 각 카테고리에 대한 스마트 컨트랙트들을 일반화시켜 시퀀스 다이어그램을 생성하고,
    각 카테고리별로 생성된 시퀀스 다이어그램을 이용하여 각 카테고리에 대한 질의 트리를 생성하고,
    상기 생성된 각 카테고리에 대한 질의 트리들은 상기 데이터베이스에 저장하는 것을 특징으로 하는 스마트 컨트랙트 분류 장치.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 스마트 컨트랙트들을 분류하기 위하여 사전 설정된 복수 개의 카테고리 및 각 카테고리에 대응되는 질의 트리들을 포함하는 데이터베이스를 구비하는 스마트 컨트랙트 분류 장치에 의해 수행되는 스마트 컨트랙트 분류 방법에 있어서,
    (a) 각 카테고리별로 사전에 준비된 복수 개의 스마트 컨트랙트 코드들을 이용하여 각 카테고리에 대응되는 질의 트리를 생성하여 상기 데이터베이스에 저장하는 질의 트리 생성 단계;
    (b) 사용자로부터 카테고리를 선택받는 단계;
    (c) 사용자에 의해 선택된 카테고리에 대응되는 질의 트리를 상기 데이터베이스로부터 판독하는 단계;
    (d) 상기 판독된 질의 트리에 따라, 사용자에게 순차적으로 질의하고, 임의의 스마트 컨트랙트 코드에 따라 상기 순차적인 질의에 대응하여 사용자로부터 응답들을 입력받는 단계;
    (e) 상기 질의에 대응하는 응답들을 이용하여, 상기 스마트 컨트랙트가 상기 선택된 카테고리에 해당되는지 여부를 판단하고 상기 스마트 컨트랙트의 카테고리를 결정하는 단계;
    를 구비하여, 스마트 컨트랙트의 카테고리를 쉽게 확인 및 분류하는 것을 특징으로 하며,
    상기 (a) 질의 트리 생성 단계는,
    각 카테고리별로 사전에 준비된 복수 개의 스마트 컨트랙트들의 코드 패턴들로부터 특징점을 추출하는 단계;
    각 카테고리별로 상기 추출된 특징점들을 이용하여 각 카테고리에 대한 스마트 컨트랙트들을 일반화시켜 시퀀스 다이어그램을 생성하는 단계;
    각 카테고리별로 상기 시퀀스 다이어그램을 이용하여 각 카테고리에 대한 질의 트리를 생성하는 단계; 및
    상기 생성된 각 카테고리에 대한 질의 트리들을 상기 데이터베이스에 저장하는 단계;를 구비하는 것을 특징으로 하는 스마트 컨트랙트 분류 방법.

  6. 삭제
  7. 삭제
  8. 삭제
KR1020180134286A 2018-11-05 2018-11-05 스마트 컨트랙트의 분류 장치 및 분류 방법 KR102119611B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180134286A KR102119611B1 (ko) 2018-11-05 2018-11-05 스마트 컨트랙트의 분류 장치 및 분류 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180134286A KR102119611B1 (ko) 2018-11-05 2018-11-05 스마트 컨트랙트의 분류 장치 및 분류 방법

Publications (2)

Publication Number Publication Date
KR20200051219A KR20200051219A (ko) 2020-05-13
KR102119611B1 true KR102119611B1 (ko) 2020-06-05

Family

ID=70729815

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180134286A KR102119611B1 (ko) 2018-11-05 2018-11-05 스마트 컨트랙트의 분류 장치 및 분류 방법

Country Status (1)

Country Link
KR (1) KR102119611B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240030063A (ko) 2022-08-29 2024-03-07 부산대학교 산학협력단 스마트 컨트랙트 재사용성 향상을 위한 블록체인 기반 중개 시스템 및 방법

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112307765B (zh) * 2020-09-15 2022-03-29 中国石油天然气股份有限公司 咸化湖相细粒沉积岩分类命名确定方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014206960A (ja) * 2013-03-19 2014-10-30 株式会社日本デジタル研究所 帳簿作成システム、方法およびプログラム、並びに印刷伝票
KR101849912B1 (ko) 2017-05-25 2018-04-19 주식회사 코인플러그 스마트 컨트랙트 기반의 인증서 서비스를 제공하는 방법 및 이를 이용한 서버

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5774985B2 (ja) * 2008-06-06 2015-09-09 トムソン ライセンシングThomson Licensing 画像の類似検索システム及び方法
US8516301B2 (en) * 2011-04-08 2013-08-20 Ca, Inc. Visualizing transaction traces as flows through a map of logical subsystems

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014206960A (ja) * 2013-03-19 2014-10-30 株式会社日本デジタル研究所 帳簿作成システム、方法およびプログラム、並びに印刷伝票
KR101849912B1 (ko) 2017-05-25 2018-04-19 주식회사 코인플러그 스마트 컨트랙트 기반의 인증서 서비스를 제공하는 방법 및 이를 이용한 서버

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
서중원 외 3명, 규칙 기반 스마트 컨트렉트 통합 개발 환경, 한국정보과학회 학술발표논문집, 2018.6, 1229-1231(3 pages)*

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240030063A (ko) 2022-08-29 2024-03-07 부산대학교 산학협력단 스마트 컨트랙트 재사용성 향상을 위한 블록체인 기반 중개 시스템 및 방법

Also Published As

Publication number Publication date
KR20200051219A (ko) 2020-05-13

Similar Documents

Publication Publication Date Title
KR102578410B1 (ko) 온라인 서비스의 제공 방법
KR102062896B1 (ko) 네트워크 내의 분산 데이터베이스를 위한 방법 및 장치
Ibrishimova et al. A machine learning approach to fake news detection using knowledge verification and natural language processing
KR102569751B1 (ko) 블록 체인을 사용하여 구현된 기계 실행 가능한 계약의 상태를 결정하기 위한 컴퓨터 구현 시스템 및 방법
Hadgu et al. Identifying and analyzing researchers on twitter
Liu et al. A graph learning based approach for identity inference in dapp platform blockchain
KR102119611B1 (ko) 스마트 컨트랙트의 분류 장치 및 분류 방법
CN111125118B (zh) 关联数据查询方法、装置、设备及介质
CN112235429B (zh) 一种中心记账式去中心化分布式数据处理方法及***
CN109918375A (zh) 一种基于区块链和分布式存储的大文本存储、索引及检索方法
Ruoti et al. SoK: Blockchain technology and its potential use cases
KR20210125164A (ko) 블록체인 기반의 학습자 경진대회 플랫폼 시스템
KR102042796B1 (ko) 전문가에 의해 생성되는 프로젝트 결과물을 빅데이터 기반으로 관리하는 방법 및 시스템
Ko et al. Survey on blockchain‐based non‐fungible tokens: History, technologies, standards, and open challenges
Maragatham Movie rating system based on blockchain
KR102240888B1 (ko) 전문가에 의해 생성되는 프로젝트 결과물을 블록체인에 저장된 빅데이터 기반으로 관리하는 방법 및 시스템
CN113918149A (zh) 接口开发方法、装置、计算机设备和存储介质
KR102319870B1 (ko) 전문가에 의해 생성되는 프로젝트 결과물을 빅데이터 기반으로 관리하여 가상화폐를 제공하기 위한 방법 및 시스템
KR102248890B1 (ko) 공개 블록체인에 기초한 추첨 및 그것의 검증을 위한 시스템 및 방법
CN114254617A (zh) 一种修订条款的方法、装置、计算设备及存储介质
CN110135804A (zh) 数据处理方法及装置
Bai et al. Internet rumor reporting system based on the blockchain incentive mechanism
Veskus et al. Ethereum versus Fabric-A comparative analysis
Dalinger et al. The blockchain technology in state institutions
CN112434677B (zh) 一种合同审核方法、装置、设备和存储介质

Legal Events

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