KR102288045B1 - 블록 체인 기반 대상 데이터 관리 방법 및 장치 - Google Patents

블록 체인 기반 대상 데이터 관리 방법 및 장치 Download PDF

Info

Publication number
KR102288045B1
KR102288045B1 KR1020190058756A KR20190058756A KR102288045B1 KR 102288045 B1 KR102288045 B1 KR 102288045B1 KR 1020190058756 A KR1020190058756 A KR 1020190058756A KR 20190058756 A KR20190058756 A KR 20190058756A KR 102288045 B1 KR102288045 B1 KR 102288045B1
Authority
KR
South Korea
Prior art keywords
target data
contract
information
block
block chain
Prior art date
Application number
KR1020190058756A
Other languages
English (en)
Other versions
KR20190132938A (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 성신여자대학교 연구 산학협력단
Publication of KR20190132938A publication Critical patent/KR20190132938A/ko
Application granted granted Critical
Publication of KR102288045B1 publication Critical patent/KR102288045B1/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/382Payment protocols; Details thereof insuring higher security of transaction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1065Discovery involving distributed pre-established resource-based relationships among peers, e.g. based on distributed hash tables [DHT] 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1834Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/275Synchronous replication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • H04L67/1082Resource delivery mechanisms involving incentive schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • 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
    • 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
    • G06Q2220/00Business processing using cryptography
    • H04L2209/38
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • H04L2209/805Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/121Timestamp

Abstract

본 발명의 실시예에 따른 블록 체인 기반 대상 데이터 관리 방법 및 장치가 제공된다. 대상 데이터 관리 장치의 프로세서에 의해서 수행되는 블록 체인 기반 대상 데이터 관리 방법은, 사용자 장치의 요청에 따라 대상 데이터를 생성하는 단계; 상기 대상 데이터에 관련된 제1 메타 데이터를 생성하는 단계; 상기 생성된 제1 메타 데이터를 포함하는 제1 블록을 생성하여 상기 제1 블록을 상기 대상 데이터 관리 장치에 포함된 블록 체인에 저장하는 단계; 상기 제1 블록에 포함된 정보에 기반하여 제1 코드 정보를 생성하는 단계; 및 상기 생성된 제1 코드 정보 및 상기 대상 데이터를 데이터베이스에 저장하는 단계를 포함하고, 상기 제1 코드 정보는 상기 대상 데이터가 저장된 상기 데이터베이스의 주소 정보로 사용된다.

Description

블록 체인 기반 대상 데이터 관리 방법 및 장치{METHOD AND APPARATUS FOR MANAGING SUBJECT DATA BASED ON BLOCKCHAIN}
본 발명은 블록 체인 기반 대상 데이터를 관리하기 위한 방법 및 장치에 관한 것이다.
일반적으로, 블록 체인(Blockchain) 기술은 특정 데이터나 거래 내역 등을 중앙 집중형 데이터베이스가 아닌 네트워크를 구성하는 다수의 참여 노드에 분산 저장하여 공동으로 관리하는 기술이다. 이러한 블록 체인 기술은 특정 데이터나 거래 내역 등의 위조 또는 변조를 방지하고, 저장된 정보의 무결성, 기밀성 및 가용성 등이 보장될 수 있다는 이점이 있다.
그러나, 기존의 블록 체인 기술은 네트워크의 모든 참여 노드가 분산 원장을 저장 및 검증해야 하고, 각 노드가 저장할 수 있는 블록 사이즈가 제한되므로, 저장 속도 및 저장 크기의 확장성이 제한되는 한계가 있다.
따라서, 기존의 중앙 집중형 데이터베이스 및 블록 체인 기술을 상호보완적으로 이용하여 대용량의 데이터를 저장 및 관리하기 위한 방법이 요구된다.
본 발명이 해결하고자 하는 과제는 블록 체인 기반 대상 데이터 관리 방법 및 장치를 제공하는 것이다.
구체적으로, 본 발명이 해결하고자 하는 과제는 중앙 집중형 데이터베이스와 블록 체인 기술을 상호보완적으로 활용하여 대상 데이터를 관리하기 위한 방법 및 장치를 제공하는 것이다.
본 발명의 과제들은 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
전술한 바와 같은 과제를 해결하기 위하여 본 발명의 실시예에 따른 블록 체인 기반 대상 데이터 관리 방법 및 장치가 제공된다. 대상 데이터 관리 장치의 프로세서에 의해서 수행되는 블록 체인 기반 대상 데이터 관리 방법은, 사용자 장치의 요청에 따라 대상 데이터를 생성하는 단계; 상기 대상 데이터에 관련된 제1 메타 데이터를 생성하는 단계; 상기 생성된 제1 메타 데이터를 포함하는 제1 블록을 생성하여 상기 제1 블록을 상기 대상 데이터 관리 장치에 포함된 블록 체인에 저장하는 단계; 상기 제1 블록에 포함된 정보에 기반하여 제1 코드 정보를 생성하는 단계; 및 상기 생성된 제1 코드 정보 및 상기 대상 데이터를 데이터베이스에 저장하는 단계를 포함하고, 상기 제1 코드 정보는 상기 대상 데이터가 저장된 상기 데이터베이스의 주소 정보로 사용된다.
본 발명의 실시예에 따른 블록 체인 기반 대상 데이터 관리 장치는, 통신부; 블록 체인을 저장하도록 구성된 저장부; 및 상기 통신부 및 상기 저장부와 동작 가능하게 연결되도록 구성된 프로세서를 포함하고, 상기 프로세서는, 사용자 장치의 요청에 따라 대상 데이터를 생성하고, 상기 대상 데이터에 관련된 제1 메타 데이터를 생성하고, 상기 생성된 제1 메타 데이터를 포함하는 제1 블록을 생성하여 상기 제1 블록을 상기 블록 체인에 저장하고, 상기 제1 블록에 포함된 정보에 기반하여 제1 코드 정보를 생성하고, 상기 생성된 제1 코드 정보 및 상기 대상 데이터를 데이터베이스에 저장하도록 구성되고, 상기 제1 코드 정보는 상기 대상 데이터가 저장된 상기 데이터베이스의 주소 정보로 사용된다.
기타 실시예의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명은 데이터 저장 및 관리를 위해 중앙 집중형 데이터베이스 및 블록체인 기술을 상호 보완적으로 활용함으로써, 데이터에 대한 무결성, 기밀성 및 가용성 등이 보장될 수 있다.
또한, 본 발명은 대상 데이터의 생성, 변경, 거래 또는 계약 등에 관련된 주요 정보를 블록 체인에 저장하고, 실제 대상 데이터를 중앙 집중형 데이터베이스에 저장함으로써, 데이터의 투명성 및 보안성이 보장될 수 있다.
또한, 본 발명은 스마트 컨트랙트를 이용한 사용자 간의 P2P(Peer to peer) 거래 또는 계약이 가능하므로, 데이터 처리 속도가 빠르면서 관리 비용을 절감시킬 수 있다.
본 발명에 따른 효과는 이상에서 예시된 내용에 의해 제한되지 않으며, 더욱 다양한 효과들이 본 명세서 내에 포함되어 있다.
도 1은 본 발명의 실시예에 따른 블록 체인 기반 대상 데이터 관리 시스템을 설명하기 위한 개략도이다.
도 2는 본 발명의 실시예에 따른 노드에 대한 개략적인 블록도이다.
도 3은 본 발명의 실시예에 따른 사용자 장치에 대한 개략적인 블록도이다.
도 4는 본 발명의 실시예에 따른 노드의 시스템 구조를 나타내는 개략도이다.
도 5는 본 발명의 실시예에 따른 블록 체인 기반 어플리케이션에서 대상 데이터를 관리하기 위한 방법을 설명하는 개략적인 흐름도이다.
도 6은 본 발명의 실시예에 따른 블록 체인 기반 어플리케이션에서 대상 데이터에 관한 계약을 수행하기 위한 방법을 설명하는 개략적인 흐름도이다.
도 7은 본 발명의 실시예에 따른 디앱에서 대상 데이터를 관리하기 위한 동작을 설명하기 위한 예시도이다.
도 8은 본 발명의 실시예에 따른 사물 인터넷 데이터 관리 시스템의 구조를 나타내는 개략도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
비록 제1, 제2 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.
명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
본 발명의 여러 실시예들의 각각 특징들이 부분적으로 또는 전체적으로 서로 결합 또는 조합 가능하며, 당업자가 충분히 이해할 수 있듯이 기술적으로 다양한 연동 및 구동이 가능하며, 각 실시예들이 서로에 대하여 독립적으로 실시 가능할 수도 있고 연관관계로 함께 실시 가능할 수도 있다.
본 명세서에서, 분산 원장에 기록하는 동작은 블록을 생성하고, 생성된 블록을 블록 체인에 저장하는 동작을 의미할 수 있다.
본 명세서에서, 블록을 생성하는 동작은 임시 블록이 생성되고, 작업 증명 등과 같은 행위에 의해서 검증이 이루어진 이후에 실제 블록이 생성되는 동작을 의미할 수 있다.
본 명세서에서, 블록 체인의 블록은 일정 시간에 따라 생성될 수 있고, 특정 데이터에 관련된 정보가 동일한 블록에 포함되거나, 서로 다른 블록에 포함될 수 있으며, 이에 한정되지 않는다.
본 명세서에서, 블록에 포함되는 동작은 블록의 헤더 또는 블록의 바디에 기록되는 동작을 의미할 수 있다.
본 명세서에서, 사용자 또는 다른 사용자의 전자 지갑은 블록 체인 분산 네트워크에 미리 등록될 수 있다.
본 명세서에서, 스마트 컨트랙트를 생성하는 동작은 스마트 컨트랙트에 대한 전자 서명이 이루어진 동작이 포함된 것을 의미할 수 있다.
본 명세서에서, 스마트 컨트랙트의 실행에 의해서 이루어지는 모든 트랜잭션은 분산 원장에 기록되어 저장될 수 있다.
이하, 첨부된 도면을 참조하여 본 발명의 다양한 실시예들을 상세히 설명한다.
도 1은 본 발명의 실시예에 따른 블록 체인 기반 대상 데이터 관리 시스템을 설명하기 위한 개략도이다.
도 1을 참조하면, 블록 체인 기반 대상 데이터 관리 시스템(10)은 블록 체인(blockchain) 또는 이더리움(ethereum)을 기반으로 한 대상 데이터(subject data) 및 대상 데이터에 관련된 메타 데이터(meta data)를 관리하기 위한 시스템으로서, 블록 체인 분산 네트워크(100), 대상 데이터를 저장하는 저장 서버(300) 및 대상 데이터에 대한 생성, 변경, 거래 또는 계약 등을 요청하는 사용자 장치(200)를 포함할 수 있다. 여기서, 대상 데이터는 지적 재산 문서 데이터, 공공 행정 문서 데이터, 대외비 문서 데이터 또는 사물 인터넷 데이터 등을 포함하지만, 이에 한정되지 않으며, 다양한 데이터가 포함될 수 있다.
먼저, 블록 체인 분산 네트워크(100)는 분산 원장을 저장하는 복수의 노드로 구성된 P2P(Peer to peer) 분산 네트워크일 수 있다. 복수의 노드는 상호간의 통신이 가능하고, 대상 데이터에 관련된 분산 원장을 저장할 수 있다. 복수의 노드 중 적어도 하나에서 분산 원장이 생성되면 생성된 분산 원장이 복수의 노드에 공유될 수 있다.
블록 체인 분산 네트워크(100)에 연결되는 노드(110)에는 블록 체인 또는 이더리움을 기반으로 하는 다양한 서비스를 제공하기 위한 블록 체인 또는 이더리움 기반 분산 어플리케이션(이하, '분산 어플리케이션'이라 함)이 구현될 수 있다. 여기서, 다양한 서비스는 대상 데이터의 생성, 변경 또는 거래 등을 수행하기 위한 서비스를 포함하며, 이러한 서비스는 지적 재산 문서 데이터의 생성, 출원, 등록 및 소유권 이전 등을 위한 서비스, 공공 행정 문서 데이터 또는 대외비 문서 데이터의 생성, 저장, 변경, 삭제 및 권한 이전 등을 위한 서비스 또는 사물 인터넷 데이터의 수집 및 접근 등을 위한 서비스를 포함할 수 있으나, 이에 한정되지 않는다. 소유권 이전 또는 권한 이전과 같은 거래 또는 계약 서비스를 위해 스마트 컨트랙트(Smart contract)가 이용될 수 있다.
노드(110)에 구현되는 블록 체인 또는 이더리움 기반 어플리케이션은 이더리움과 같은 퍼블릭 블록 체인 플랫폼 상에서 동작하는 디앱(Decentralized Application, Dapp)일 수 있으나, 이에 한정되지 않으며, 블록 체인 플랫폼 상에서 동작하는 다양한 어플리케이션 또는 프로그램 등이 이용될 수 있다.
이러한 노드(110)는 블록 체인 또는 이더리움에 관련된 활동에 참여 가능한 복수의 참여 노드 중 어느 하나일 수 있다.
노드(110)에 구현된 분산 어플리케이션(120)은 사용자 장치(200)에 의해(또는 요청에 따라) 대상 데이터를 생성하고, 생성된 대상 데이터에 기반하여 메타 데이터(이하, '제1 메타 데이터'라 함)를 생성할 수 있다. 여기서, 제1 메타 데이터는 대상 데이터에 대한 소유자, 명칭, 번호, 키워드, 카테고리 및 대상 데이터가 생성된 시간 정보 등 중 적어도 일부를 포함할 수 있으나, 이에 한정되지 않으며, 대상 데이터에 관련된 주요 데이터가 포함될 수 있다.
분산 어플리케이션(120)은 생성된 제1 메타 데이터를 분산 원장에 기록하여 노드(110)의 저장부에 저장할 수 있다. 예를 들어, 분산 어플리케이션(120)은 제1 메타 데이터를 포함하는 블록(이하, '제1 블록'이라 함)을 생성하고, 생성된 제1 블록을 노드(110)의 저장부에 저장할 수 있다. 예를 들어, 제1 블록은 노드(110)의 저장부에 저장된 블록 체인에 저장될 수 있다.
분산 어플리케이션(120)은 제1 블록에 포함된 정보에 기반하여 코드 정보(이하, '제1 코드 정보'라 함)를 생성하고, 생성된 제1 코드 정보를 대상 데이터가 저장된 저장 서버(300)의 데이터베이스(310)의 주소 정보로서 사용하도록 제1 코드 정보 및 대상 데이터를 저장 서버(300)로 전달할 수 있다. 다양한 실시예에서 분산 어플리케이션(120)은 대상 데이터를 저장 서버(300)로 전달하고, 제1 코드 정보를 대상 데이터가 저장되는 데이터베이스(310)의 주소정보로서 지정할 수 있다. 예를 들어, 제1 코드 정보를 생성하기 위해 분산 어플리케이션(120)은 해시 함수 또는 해시 알고리즘을 이용하여 산출된, 대상 데이터의 해시값과 대상 데이터가 생성된 시간 정보(예: 타임스탬프(Timestamp))를 이용할 수 있다. 이러한 제1 코드 정보는 제1 코드 정보와 매핑되는 주소 래퍼에 의해 메타 데이터가 기록되는 분산 원장과 대상 데이터가 저장되는 데이터베이스(310)를 연결(Link)하는 역할을 할 수 있다.
분산 어플리케이션(120)은 해당 제1 코드 정보를 분산 원장에 기록하여 노드(110)의 저장부에 저장할 수 있다.
이러한 분산 원장 또는 블록은 노드(110)와 블록 체인 분산 네트워크(100)로 연결되는 다른 노드들의 작업 증명(Proof of Work) 등을 통해 공유될 수 있다.
다양한 실시예에서 분산 어플리케이션(120)은 메타 데이터를 블록체인에 저장하기 전에 일정 기간 동안 저장 유보 상태를 유지하고, 저장 조건을 만족되었을 경우 블록 체인에 저장할 수도 있다. 해당 기간 동안 메타 데이터에 대한 수정 또는 삭제 사유가 발생되면 분산 어플리케이션(120)은 저장 유보된 메타 데이터를 수정 또는 삭제할 수 있다.
다양한 실시예에서 분산 어플리케이션(120)은 사용자 장치(200)에 의해 대상 데이터가 변경(또는 업데이트)되면 변경된 대상 데이터에 기반하여 메타 데이터(이하, '제2 메타 데이터'라 함)를 생성할 수 있다. 여기서, 제2 메타 데이터는 변경된 대상 데이터에 대한 명칭, 번호, 키워드, 카테고리 및 대상 데이터가 변경된 시간 정보 등 중 적어도 일부를 포함할 수 있으나, 이에 한정되지 않는다.
분산 어플리케이션(120)은 생성된 제2 메타 데이터를 분산 원장에 기록하여 노드(110)의 저장부에 저장할 수 있다. 예를 들어, 분산 어플리케이션(120)은 제2 메타 데이터를 포함하는 블록(이하, '제2 블록'이라 함)을 생성하고, 생성된 제2 블록을 노드(110)의 저장부에 저장된 블록 체인에 저장할 수 있다.
분산 어플리케이션(120)은 제2 블록에 포함된 정보에 기반하여 코드 정보(이하, '제2 코드 정보'라 함)를 생성하고, 생성된 제2 코드 정보를 변경된 대상 데이터가 저장되는 저장 서버(300)의 데이터베이스(310)의 주소 정보로서 사용하도록 할 수 있다. 예를 들어, 분산 어플리케이션(120)은 해시 함수 또는 해시 알고리즘을 이용하여 산출된, 변경된 대상 데이터의 해시값과 대상 데이터가 변경된 시간 정보를 이용하여 제2 코드 정보를 생성할 수 있다. 분산 어플리케이션(120)은 제2 코드 정보를 포함하는 주소 정보를 변경된 대상 데이터가 저장되는 데이터베이스(310)의 주소 정보로 변경하거나 제2 코드 정보를 포함하는 주소 정보를 데이터베이스(310)에 변경되어 저장된 공공 행정 문서 데이터와 연결시킬 수 있다. 분산 어플리케이션(120)은 해당 제2 코드 정보를 분산 원장에 기록하여 노드(110)의 저장부에 저장할 수 있다.
이러한 분산 원장 또는 블록은 노드(110)와 블록 체인 분산 네트워크(100)로 연결되는 다른 노드들에게 공유될 수 있다.
이와 같이 블록 체인에 저장된 메타 데이터는 코드 정보를 통해 데이터베이스(310)에 저장된 대상 데이터와 연결되어 있으므로, 사용자는 분산 어플리케이션(120)을 통해 블록 체인에 저장된 메타 데이터 또는 메타 데이터에 관련된 대상 데이터를 검색 또는 관리할 수 있다.
다양한 실시예에서 분산 어플리케이션(120)은 사용자 장치(200)의 요청에 따라 대상 데이터에 관련된 스마트 컨트랙트를 생성하고, 생성된 스마트 컨트랙트를 포함하는 블록을 생성하여 노드(110)의 저장부에 저장할 수 있다. 여기서, 스마트 컨트랙트는 대상 데이터에 관련된 거래 또는 계약 조건에 따라 거래 또는 계약을 수행하도록 구성된 프로그램으로서, 설정된 거래 또는 계약 조건이 만족되면 조건에 따른 거래 또는 계약 내용에 해당하는 동작이 자동으로 실행될 수 있다. 예를 들어, 거래 또는 계약 조건은 거래 또는 계약을 성사하기 위한 암호 화폐(또는 가상 화폐)를 지급하는 조건일 수 있으나, 이에 한정되지 않으며, 암호 화폐 거래 이외의 다양한 거래 또는 계약 조건이 이용될 수도 있다. 이와 같이 생성된 스마트 컨트랙트는 대상 데이터에 관련된 거래 또는 계약을 생성한 사용자의 전자 지갑 주소, 거래 또는 계약 조건 및 거래 또는 계약 조건을 만족하는 경우 수행되는 거래 또는 계약 내용에 대한 정보를 포함할 수 있다. 일반적으로 스마트 컨트랙트는 거래 또는 계약 대상자에 대한 주소 정보를 포함하지 않으나, 본 발명의 실시예에서는 거래 또는 계약 대상자에 대한 주소 정보를 포함할 수 있다. 이러한 경우 특정 사용자들 간의 프라이빗 거래 또는 계약이 이루어질 수 있다.
거래 또는 계약 조건에 해당하는 동작이 수행되면 분산 어플리케이션(120)은 스마트 컨트랙트의 거래 또는 계약 내용에 해당하는 동작을 수행하고, 계약 이행 이력 또는 계약 이행 결과에 대한 정보를 분산 원장에 기록하여 노드(110)의 저장부에 저장할 수 있다.
예를 들어, 사용자 장치(200)의 요청에 따라 분산 어플리케이션(120)은 다른 사용자와의 대상 데이터에 대한 소유권 이전 계약을 위한 스마트 컨트랙트를 생성하고, 생성된 스마트 컨트랙트를 포함하는 블록을 생성하여 노드(110)의 저장부에 저장할 수 있다. 여기서, 생성된 스마트 컨트랙트는 대상 데이터에 대한 소유권 이전을 요청한 사용자 'A'의 전자 지갑 주소, 대상 데이터에 대한 소유권을 이전하고자 하는 다른 사용자인 'B'로부터 특정 금액의 암호 화폐가 지급되는 계약 조건 및 이러한 계약 조건을 만족하는 경우 대상 데이터에 대한 소유권을 'B'에게 이전한다는 계약 내용에 대한 정보를 포함할 수 있다. 이러한 경우, 스마트 컨트랙트는 다른 사용자인 'B'의 전자 지갑 주소 정보를 더 포함할 수 있다.
다른 사용자 'B'로부터 특정 금액의 암호 화폐 지급이 수행되면 분산 어플리케이션(120)은 저장 서버(300)의 데이터베이스(310)에 저장된 대상 데이터에 대한 소유권 정보를 변경할 수 있다. 구체적으로, 분산 어플리케이션(120)은 사용자 'A'의 전자 지갑에 다른 사용자 'B'로부터의 특정 금액의 암호 화폐가 지급되었는지를 확인하고, 다른 사용자 'B'로부터의 특정 금액의 암호 화폐가 지급된 경우 계약 내용에 따른 동작을 수행할 수 있다.
분산 어플리케이션(120)은 변경된 소유권 정보에 기반하여 메타 데이터를 생성하고, 생성된 메타 데이터를 포함하는 블록을 생성하여 생성된 블록을 노드(110)의 저장부에 저장할 수 있다. 예를 들어, 분산 어플리케이션(120)은 대상 데이터에 대한 소유권 문서 데이터에서 소유권자에 대한 정보를 'B'에 대한 정보로 변경할 수 있다.
분산 어플리케이션(120)은 생성된 블록에 포함된 정보에 기반하여 코드 정보를 생성하고, 생성된 코드 정보를 변경된 소유권 정보가 저장되는 데이터베이스(310)의 주소 정보로 지정하거나, 생성된 코드 정보를 저장 서버(300)로 전달하여 저장 서버(300)가 해당 코드 정보를 변경된 소유권 정보의 주소 정보로 지정하도록 할 수 있다. 분산 어플리케이션(120)은 해당 코드 정보를 분산 원장에 기록하여 노드(110)의 저장부에 저장할 수 있다. 제시된 실시예에서는 대상 데이터에 대한 소유권을 변경하는 동작을 설명하였으나, 이에 한정되지 않으며, 대상 데이터에 대한 권한 이전 또는 사용 실시권 허여 등과 같은 동작에 대해서도 상술한 바와 같이 유사하게 수행될 수 있다.
다양한 실시예에서 사용자 장치(200)로부터 대상 데이터에 관련된 거래 또는 계약 요청이 수신되면 분산 어플리케이션(120)은 거래 또는 계약 대상자에 해당하는 거래 또는 계약 대상 장치(미도시)로 대상 데이터에 관련된 스마트 컨트랙트 생성을 요청할 수 있다. 거래 또는 계약 대상자의 장치에 의해 스마트 컨트랙트가 생성되면 분산 어플리케이션(120)은 생성된 스마트 컨트랙트를 포함하는 블록을 생성하여 노드(110)의 저장부에 저장할 수 있다.
해당 스마트 컨트랙트의 계약 조건에 해당하는 동작이 수행되면 분산 어플리케이션(120)은 스마트 컨트랙트의 계약 내용에 해당하는 동작을 수행하고, 계약 이행 이력 또는 계약 이행 결과에 대한 정보를 분산 원장에 기록하여 노드(110)의 저장부에 저장할 수 있다.
예를 들어, 사용자 장치(200)로부터 출원 문서 데이터에 대한 출원 요청이 수신되면 분산 어플리케이션(120)은 출원을 위한 스마트 컨트랙트에 대한 생성을 특허청 서버(미도시)로 요청할 수 있다. 제시된 실시예에서 대상 데이터 관리 시스템(10)은 특허청 서버를 더 포함할 수 있다.
특허청 서버에 의해서 출원을 위한 스마트 컨트랙트가 생성되면 분산 어플리케이션(120)은 생성된 스마트 컨트랙트를 포함하는 블록을 생성하여 노드(110)의 저장부에 저장할 수 있다. 여기서, 특허청 서버에 의해 생성된 스마트 컨트랙트는 특허청의 전자 지갑 주소, 사용자 장치(200)의 사용자로부터 출원 비용에 해당하는 암호 화폐가 지급되는 계약 조건 및 계약 조건을 만족하는 경우 출원 문서 데이터에 대한 출원을 수행하는 계약 내용에 대한 정보를 포함할 수 있다. 이때, 스마트 컨트랙트는 사용자의 전자 지갑 주소에 대한 정보를 더 포함할 수 있다.
사용자로부터 출원 비용에 해당하는 암호 화폐가 지급되면 분산 어플리케이션(120)은 출원 문서 데이터에 기반하여 메타 데이터를 생성하고, 생성된 메타 데이터를 포함하는 블록을 생성하여 노드(110)의 저장부에 저장할 수 있다. 여기서, 메타 데이터는 출원 문서 데이터의 명칭, 카테고리, 키워드, 출원 번호, 출원 날짜, 출원인 정보, 발명자 정보, 출원 비용, 발명 요약, 발명 특징 등 중 적어도 일부를 포함할 수 있다. 분산 어플리케이션(120)은 사용자의 전자 지갑 주소 정보 또는 특허청의 전자 지갑 주소 정보를 이용하여 사용자의 전자 지갑 또는 특허청의 전자 지갑을 확인함으로써, 출원 비용에 해당하는 암호 화폐의 지급을 확인할 수 있다.
분산 어플리케이션(120)은 생성된 블록에 포함된 정보에 기반하여 지적 재산 문서 데이터가 저장되는 데이터베이스(310)의 주소 정보로 사용하기 위한 코드 정보를 생성하고, 생성된 코드 정보 및 출원 문서 데이터를 저장 서버(300)로 전달함으로써, 코드 정보가 데이터베이스(310)에 저장된 출원 문서 데이터의 주소 정보로 지정되도록 할 수 있다. 예를 들어, 분산 어플리케이션(120)은 해시 함수 또는 해시 알고리즘에 의해서 생성된 출원 문서 데이터의 해시값 및 출원 문서 데이터의 출원 시간(예: 타임 스탬프)을 이용하여 코드 정보를 생성할 수 있다. 분산 어플리케이션(120)은 생성된 코드 정보를 분산 원장에 기록하여 노드(110)의 저장부에 저장할 수 있다.
다양한 실시예에서 대상 데이터의 수요자가 대상 데이터를 매매하거나 실시권 계약을 위한 요청이 수신되면 분산 어플리케이션(120)은 대상 데이터의 평가 정보에 기초하여 대상 데이터의 가치를 산정하고, 산정된 가치에 따른 스마트 컨트랙트를 생성할 수 있다. 예를 들어, 분산 어플리케이션(120)은 대상 데이터의 평가 정보에 따라 대상 데이터를 매매하거나 실시권 계약을 위한 비용을 결정할 수 있다. 여기서, 평가 정보는 대상 데이터의 공급자, 수요자, 심사관 또는 참여자들에 의해서 대상 데이터를 평가한 정보일 수 있다.
수요자 및 공급자에 의해서 생성된 스마트 컨트랙트에 대한 전자 서명이 완료되면 분산 어플리케이션(120)은 스마트 컨트랙트를 포함하는 블록을 생성하고, 생성된 블록을 블록 체인에 저장할 수 있다. 수요자에 의해 스마트 컨트랙트의 거래 조건이 이행되면 분산 어플리케이션(120)은 대상 데이터에 대한 매매 또는 실시권 계약에 대한 동작을 수행할 수 있다. 예를 들어, 분산 어플리케이션(120)은 대상 데이터에 대한 매매 계약 문서 데이터를 생성하고, 생성된 매매 계약 문서 데이터에 기반하여 메타 데이터를 생성한 후 생성된 메타 데이터를 포함하는 블록을 생성하여 생성된 블록을 블록 체인에 저장할 수 있다. 분산 어플리케이션(120)은 생성된 블록에 포함된 정보에 기반하여 코드 정보를 생성하고, 생성된 코드 정보를 매매 계약 문서 데이터가 저장되는 데이터베이스(310)의 주소 정보로 지정하도록 코드 정보 및 매매 계약 문서 데이터를 저장 서버(300)로 전달할 수 있다.
다양한 실시예에서 대상 데이터에 대한 평가 정보는 대상 데이터의 전 생명 주기에 걸쳐서 대상 데이터의 공급자, 수요자, 심사관 및 참여자들에 의해서 결정될 수 있다. 이와 같이 결정된 평가 정보는 신뢰할 수 있는 전문가와 평판이 우수한 참여자로 구성된 전문가 그룹에 의해서 재평가될 수 있다. 대상 데이터를 평가하는 참여자들은 평판에 의해 인센티브(예: 암호 화폐 지급 등) 또는 패널티(예: 참여 제한 등)를 받을 수 있다.
이와 같이 분산 어플리케이션을 이용한 대상 데이터를 관리하는 방법은 스마트 컨트랙트와 같이 다중 서명 키를 이용하여 영업 비밀에 접근할 수 있는 최소 정족수가 만족되었을 때만 영업 비밀에 대한 접근 권한이 발생하도록 스마트 컨트랙트를 생성함으로써, 암호화된 영업 비밀을 관리할 수 있다. 또한, 대상 데이터에 대한 계약을 위해 P2P로 스마트 컨트랙트가 생성되고, 대상 데이터의 이전 또는 사용 실시권에 대한 허여를 실시간으로 수행할 수 있다. 이를 통해 계약 조건과 시기에 따라 대상 데이터의 정당한 사용료가 확실하게 보장되고, 데이터베이스와 블록 체인을 관리하는 신뢰 기관(예: 특허청)에서 정해진 스마트 컨트랙트에 의해 대상 데이터의 유지료 및 등록료가 지급될 수 있다. 또한, 대상 데이터가 출원 문서 데이터인 경우 출원부터 말소까지 표준화된 스마트 컨트랙트를 이용하여 출원 문서 데이터의 생명 주기를 관리할 수 있다. 예를 들어, 출원인이 스마트컨트랙트의 계약 조건대로 출원료를 입금해야 그 다음 생명 주기로 상태 전이되어 출원 문서 데이터에 대한 권리가 유지될 수 있다.
다양한 실시예에서 대상 데이터가 클라이언트-서버 웹 구조로 서비스되는 공공 행정 문서 데이터인 경우 분산 어플리케이션(120)을 통해 이를 관리하는 방법에 대해서 하기에서 구체적으로 설명하도록 한다. 이러한 경우, 하기에서 설명하는 실시예는 상술한 실시예와, 관리 대상 및 시스템이 적용되는 환경에 대한 차이가 있을 뿐, 기본적인 관리 방법은 상술한 실시예와 동일할 수 있다. 제시된 실시예에서 대상 데이터 관리 시스템(10)은 공공 행정 서비스를 제공하는 공공 행정 서버(미도시)를 더 포함할 수 있다.
분산 어플리케이션(120)은 공공 행정 문서 데이터를 생성하고, 생성된 공공 행정 문서 데이터에 관련된 메타 데이터를 생성한 후 생성된 메타 데이터를 포함하는 블록을 생성하여 생성된 블록을 블록 체인에 저장할 수 있다. 분산 어플리케이션(120)은 블록에 포함된 정보에 기반하여 코드 정보를 생성하고, 생성된 코드 정보를 공공 행정 문서 데이터가 저장되는 중앙 집중형 데이터베이스(예: 데이터베이스(310))의 주소 정보로 사용되도록 생성된 코드 정보 및 공공 행정 문서 데이터를 공공 행정 서버로 전달할 수 있다. 이러한 경우 코드 정보는 이와 매핑되는 주소 래퍼를 통해 데이터베이스(310)에 저장된 공공 행정 문서 데이터와 연결될 수 있다. 이를 통해서 사용자는 사용자 장치(200)를 이용하여 분산 어플리케이션(120)에 접속하여 분산 어플리케이션(120)을 통해 공공 행정 문서 데이터의 등록, 권한 이전, 평가 등의 동작을 수행할 수 있다.
구체적으로, 분산 어플리케이션(120)은 사용자 장치(200)에 의해 공공 행정 문서 데이터를 생성하고, 생성된 공공 행정 문서 데이터를 데이터베이스(310)에 저장하며, 저장된 공공 행정 문서 데이터를 평가할 수 있다. 공공 행정 문서 데이터의 평가는 공공 행정 문서의 서식을 준수하였는지, 공공 행정 문서가 올바른 문장으로 작성되었는지 등의 평가 항목에 의해서 수행될 수 있다. 다시 말해서, 분산 어플리케이션(120)은 이와 같은 평가 항목 정보에 기반하여 공공 행정 문서 데이터를 평가할 수 있다.
사용자 장치(200)에 의해 공공 행정 문서 데이터가 변경(또는 업데이트)되면 분산 어플리케이션(120)은 변경된 공공 행정 문서 데이터에 대한 메타 데이터를 생성하고, 생성된 메타 데이터를 포함하는 블록을 생성하여 생성된 블록을 블록 체인에 저장할 수 있다. 여기서, 메타 데이터는 공공 행정 문서 데이터의 문서 번호, 키워드 또는 카테고리 등을 포함할 수 있으며, 이에 한정되지 않는다.
분산 어플리케이션(120)은 블록에 포함된 정보에 기반하여 코드 정보를 생성하고, 생성된 코드 정보를 변경된 공공 행정 문서 데이터가 저장되는 데이터베이스(310)의 주소 정보로 연결시킬 수 있다. 여기서, 코드 정보는 변경된 공공 행정 문서 데이터에 대한 해시값 및 공공 행정 문서 데이터가 변경된 시간 정보(예: 타임스탬프)를 이용하여 생성될 수 있다. 예를 들어, 분산 어플리케이션(120)은 생성된 코드 정보를 포함하는 주소 정보를 변경된 공공 행정 문서 데이터가 저장되는 데이터베이스(310)의 주소 정보로 변경하거나, 생성된 코드 정보를 포함하는 주소 정보를 데이터베이스(310)에 저장된 공공 행정 문서 데이터와 퍼블릭 네트워크(public network)를 통해 연결시킬 수 있다.
다양한 실시예에서 사용자 장치(200)로부터 공공 행정 문서 데이터에 대한 등록이 요청되면 분산 어플리케이션(120)은 공공 행정 문서 데이터에 관련된 메타 데이터를 생성하고, 생성된 메타 데이터를 포함하는 블록을 생성하여 생성된 블록을 블록 체인에 저장할 수 있다. 분산 어플리케이션(120)은 공공 행정 문서 데이터를 공공 행정 서버로 전달할 수 있다. 이때, 분산 어플리케이션(120)은 블록에 포함된 정보에 기반하여 코드 정보를 생성하고, 생성된 코드 정보를 공공 행정 문서 데이터가 저장되는 데이터베이스(310)의 주소 정보로 사용하도록 할 수 있다.
공공 행정 시스템의 참여자들의 심사(예: 문서 서식 준수 여부, 올바른 문장 작성 여부 등)를 통해 등록이 결정되면 분산 어플리케이션(120)은 공공 행정 문서 데이터에 대한 상태 정보를 업데이트할 수 있다. 여기서, 상태 정보를 업데이트하는 동작은 분산 어플리케이션(120)이 공공 행정 문서 데이터에 대한 등록 정보를 업데이트하고, 등록 정보를 분산 원장에 기록하는 동작을 포함할 수 있다.
분산 어플리케이션(120)은 공공 행정 문서 데이터를 등록하기 위한 계약에 대한 스마트컨트랙트를 생성하고, 생성된 스마트컨트랙트의 계약 조건이 만족되면 공공 행정 문서 데이터에 대한 등록 절차를 수행할 수 있다.
다양한 실시예에서 기존 공공 행정 문서 데이터의 작성 권한자를 통해 작성 권한 이전이 요청되면 분산 어플리케이션(120)은 공공 행정 문서 데이터의 작성 권한 이전을 위한 스마트컨트랙트를 생성할 수 있다. 기존 작성 권한자와 새로운 권한 부여 대상자의 전자 서명이 완료되면 분산 어플리케이션(120)은 생성된 스마트 컨트랙트를 포함하는 블록을 생성하여 생성된 블록을 블록 체인에 저장할 수 있다. 이 후 작성 권한 이전을 위한 승인이 완료되면 분산 어플리케이션(120)은 권한 이전에 대한 동작을 수행할 수 있다. 예를 들어, 권한 이전을 위한 승인은 기존 작성 권한자와 새로운 권한 부여 대상자 간의 사전에 합의된 메시지 또는 값의 교환을 통해 성립될 수 있다.
구체적으로, 분산 어플리케이션(120)은 권한 이전 문서 데이터를 생성하고, 생성된 권한 이전 문서 데이터에 대한 메타 데이터를 생성한 후 생성된 메타 데이터를 포함하는 블록을 생성하여 생성된 블록을 블록 체인에 저장할 수 있다. 분산 어플리케이션(120)은 생성된 블록에 포함된 정보에 기반하여 코드 정보를 생성하고, 생성된 코드 정보를 권한 이전 문서 데이터가 저장되는 데이터베이스(310)의 주소 정보로 사용되도록 코드 정보 및 권한 이전 문서 데이터를 저장 서버(300)에 전달할 수 있다. 이를 통해서 사용자는 사용자 장치(200)를 통해 분산 어플리케이션(120)에 접속하여 분산 어플리케이션(120)을 통해 블록 체인에 저장된 메타 데이터 또는 데이터베이스(310)에 저장된 공공 행정 문서 데이터를 자유롭게 검색 또는 이용하거나, P2P 방식으로 행정 서비스 이용, 이용에 대한 품질 평가 및 의견 개진을 수행할 수 있다.다양한 실시예에서 분산 어플리케이션(120)은 공공 행정 문서 데이터의 전 생명 주기에 걸쳐서 공공 행정 문서 데이터의 작성자, 등록자 및 참여자들에 의해서 공공 행정 문서 데이터의 평가 정보를 결정할 수 있다. 이와 같이 결정된 평가 정보는 신뢰할 수 있는 전문가와 평판이 우수한 참여자로 구성된 전문가 그룹에 의해서 재평가될 수 있다. 이와 같이 대상 데이터를 평가하는 참여자들은 평판에 의해 인센티브 또는 패널티를 받을 수 있다.
다양한 실시예에서 공공 행정 서비스를 이용하는 사용자는 분산 어플리케이션(120)를 통해 공공 행정 서비스에 대한 평가 정보(또는 평판 정보)를 생성할 수 있다. 이를 통해, 공공 행정 시스템의 참여자들은 사용자의 평가 정보(또는 평판 정보)에 의해 인센티브 또는 패널티를 받을 수 있다.
이와 같이 본 발명은 공공 행정 서비스 및 공공 행정 문서 데이터에 대한 인센티브와 패널티 평가 체계를 도입하여 공공 행정 서비스 및 공공 행정 문서 데이터에 대한 품질을 향상시킬 수 있다.
다양한 실시예에서 대상 데이터가 사내에서 보안과 보호를 요구하는 대외비 문서 데이터인 경우 분산 어플리케이션(120)을 통해 이를 관리하는 방법에 대해서 하기에서 구체적으로 설명하도록 한다. 이러한 경우, 하기에서 설명하는 실시예는 상술한 실시예와, 관리 대상 및 시스템이 적용되는 환경에 대한 차이가 있을 뿐, 기본적인 관리 방법은 상술한 실시예와 동일할 수 있다. 제시된 실시예에서 대상 데이터 관리 시스템(10)은 대외비 관리 서비스를 제공하는 대외비 관리 서버(미도시)를 더 포함할 수 있다.
분산 어플리케이션(120)은 대외비 문서 데이터를 생성하고, 생성된 대외비 문서 데이터에 관련된 메타 데이터를 생성한 후 생성된 메타 데이터를 포함하는 블록을 생성하여 생성된 블록을 블록 체인에 저장할 수 있다. 분산 어플리케이션(120)은 블록에 포함된 정보에 기반하여 코드 정보를 생성하고, 생성된 코드 정보를 대외비 문서 데이터가 저장되는 중앙 집중형 데이터베이스(예: 데이터베이스(310))의 주소 정보로 사용되도록 생성된 코드 정보 및 대외비 문서 데이터를 대외비 관리 서버로 전달할 수 있다. 이러한 경우 코드 정보는 이와 매핑되는 주소 래퍼를 통해 데이터베이스(310)에 저장된 대외비 문서 데이터와 연결될 수 있다. 이를 통해서 사용자는 사용자 장치(200)를 이용하여 분산 어플리케이션(120)에 접속하여 분산 어플리케이션(120)을 통해 대외비 문서 데이터의 등록, 열람, 평가 등의 동작을 수행할 수 있다.
구체적으로, 분산 어플리케이션(120)은 사용자 장치(200)에 의해 대외비 문서 데이터를 생성하고, 생성된 대외비 문서 데이터를 데이터베이스(310)에 저장하며, 열람 권한을 가지는 경우 부여된 권한 내에서 저장된 대외비 문서 데이터를 열람 및 평가할 수 있다. 대외비 문서 데이터의 평가는 대외비 문서의 보호 기간이 명시되었는지, 보관 장보가 명시되었는지 등의 평가 항목에 의해서 수행될 수 있다. 다시 말해서, 분산 어플리케이션(120)은 이와 같은 평가 항목 정보에 기반하여 대외비 문서 데이터를 평가할 수 있다.
사용자 장치(200)에 의해 대외비 문서 데이터가 변경(또는 업데이트)되면 분산 어플리케이션(120)은 변경된 대외비 문서 데이터에 대한 메타 데이터를 생성하고, 생성된 메타 데이터를 포함하는 블록을 생성하여 생성된 블록을 블록 체인에 저장할 수 있다. 여기서, 메타 데이터는 대외비 문서 데이터의 문서 번호, 키워드 또는 카테고리 등을 포함할 수 있으며, 이에 한정되지 않는다.
분산 어플리케이션(120)은 블록에 포함된 정보에 기반하여 코드 정보를 생성하고, 생성된 코드 정보를 변경된 대외비 문서 데이터가 저장되는 데이터베이스(310)의 주소 정보로 연결시킬 수 있다. 여기서, 코드 정보는 변경된 대외비 문서 데이터에 대한 해시값 및 대외비 문서 데이터가 변경된 시간 정보(예: 타임스탬프)를 이용하여 생성될 수 있다. 예를 들어, 분산 어플리케이션(120)은 생성된 코드 정보를 포함하는 주소 정보를 변경된 대외비 문서 데이터가 저장되는 데이터베이스(310)의 주소 정보로 변경하거나, 생성된 코드 정보를 포함하는 주소 정보를 데이터베이스(310)에 변경되어 저장된 대외비 문서 데이터와 프라이빗 네트워크(private network)를 통해 연결시킬 수 있다.
예를 들어, 사용자 장치(200)에 의해 대외비 문서 데이터에 대한 재분류가 발생되면 분산 어플리케이션(120)은 대외비 문서의 재분류가 발생한 시간 정보(예: 년월일) 및 재분류에 대한 근거를 포함하는 스마트컨트랙트를 생성할 수 있다. 대외비 관리 참여자들에 의해 대외비 문서 데이터에 대한 재분류가 승인되면 분산 어플리케이션(120)은 해당 대외비 문서 데이터에 대한 재분류 정보를 업데이트할 수 있다. 여기서, 재분류 정보를 업데이트하는 동작은 분산 어플리케이션(120)이 데이터베이스에 저장된 대외비 문서 데이터에 대한 재분류 정보를 업데이트하고, 업데이트된 재분류 정보를 분산 원장에 기록하는 동작을 포함할 수 있다.
다양한 실시예에서 사용자 장치(200)로부터 대외비 문서 데이터에 대한 등록이 요청되면 분산 어플리케이션(120)은 대외비 문서 데이터에 관련된 메타 데이터를 생성하고, 생성된 메타 데이터를 포함하는 블록을 생성하여 생성된 블록을 블록 체인에 저장할 수 있다. 분산 어플리케이션(120)은 대외비 문서 데이터를 대외비 관리 서버로 전달할 수 있다. 이때, 분산 어플리케이션(120)은 블록에 포함된 정보에 기반하여 코드 정보를 생성하고, 생성된 코드 정보를 대외비 문서 데이터가 저장되는 데이터베이스(310)의 주소 정보로 사용하도록 할 수 있다.
대외비 관리 시스템의 참여자들의 심사(예: 보호 기간 작성 여부, 보관 장소 기재 여부 등)를 통해 등록이 결정되면 분산 어플리케이션(120)은 대외비 문서 데이터에 대한 상태 정보를 업데이트할 수 있다. 여기서, 상태 정보를 업데이트하는 동작은 분산 어플리케이션(120)이 대외비 문서 데이터에 대한 등록 정보를 업데이트하고, 등록 정보를 분산 원장에 기록하는 동작을 포함할 수 있다.
분산 어플리케이션(120)은 대외비 문서 데이터를 등록하기 위한 계약에 대한 스마트컨트랙트를 생성하고, 생성된 스마트컨트랙트의 계약 조건이 만족되면 대외비 문서 데이터에 대한 등록 절차를 수행할 수 있다.
다양한 실시예에서 사용자 장치(200)에 의해 대외비 문서 데이터의 열람이 요청되면 분산 어플리케이션(120)은 대외비 문서 데이터를 열람하기 위한 스마트컨트랙트를 생성하고, 생성된 스마트컨트랙트에 대한 접근 권한을 확인하여 열람을 요청한 사용자가 열람 권한이 있는지, 열람 및 작성 권한이 있는지 등을 결정할 수 있다. 예를 들어, 열람을 요청한 사용자가 열람 권한이 있으면 분산 어플리케이션(120)은 대외비 문서 데이터에 대한 열람을 대외비 권한 서버로 요청하거나, 데이터베이스(310)에 저장된 대외비 문서 데이터에 대한 열람을 수행할 수 있다.
다양한 실시예에서 분산 어플리케이션(120)은 대외비 문서 데이터를 생성할 시 생성된 대외비 문서 데이터의 보호 기간 및 파기 일자 등을 포함하는 스마트컨트랙트를 생성하고, 생성된 스마트컨트랙트를 블록 체인에 저장할 수 있다. 예를 들어, 생성된 스마트컨트랙트는 대외비 문서 데이터의 보호 기간 및 파기 일자를 포함하는 계약 조건 및 보호 기간이 만료되거나 보호 일자가 파기 일자에 도달하면 대외비 문서 데이터를 파기하거나 비(非)대외비 문서 데이터로 변환(또는 분류)하는 계약 내용을 포함할 수 있다. 보호 기간이 만료되어 보호 일자가 파기 일자와 일치하는 경우 분산 어플리케이션(120)은 대외비 문서 데이터를 파기하거나 비대외비 문서 데이터로 변환할 수 있다.
이를 통해서 본 발명은 대외비 문서의 생성부터 보호 기간 만료 및 파기까지 표준화된 스마트컨트랙트를 통해 대외비 문서의 생명 주기를 관리할 수 있다.
다음으로, 사용자 장치(200)는 노드(110)에 구현된 분산 어플리케이션(120)에 접속하기 위한 사용자 인터페이스를 제공하는 장치로서, PC(Personal Computer), 노트북 또는 휴대용 단말기(예: 스마트폰, 태블릿 PC) 등을 포함할 수 있다. 여기서, 사용자 인터페이스는 노드(110)에 구현된 분산 어플리케이션(120)에 접속하기 위한 웹 브라우저일 수 있으나, 이에 한정되지 않으며, 분산 어플리케이션(120)에 접속하기 위한 다양한 인터페이스가 이용될 수 있다.
사용자 장치(200)는 사용자 인터페이스를 통해 분산 어플리케이션(120)에 접속하여 대상 데이터에 대한 생성, 변경, 거래 또는 계약 등을 요청하거나, 거래 또는 계약을 위한 스마트 컨트랙트를 생성하거나, 스마트 컨트랙트에 따른 암호 화폐 거래 등을 수행할 수 있다.
예를 들어, 사용자 장치(200)는 분산 어플리케이션(120)을 통해 대상 데이터에 대한 생성 및 변경을 요청하거나, 대상 데이터에 대한 거래 또는 계약을 위한 스마트 컨트랙트를 생성할 수 있다. 다양한 실시예에서 사용자 장치(200)는 분산 어플리케이션(120)을 통해 다른 사용자에 의해서 생성된 스마트 컨트랙트에 대한 정보를 제공받거나, 스마트 컨트랙트의 거래 또는 계약 조건에 해당하는 동작을 수행할 수 있다. 이와 같이 본 발명은 분산 어플리케이션(120)을 이용하여 블록 체인 및 중앙 집중형 데이터베이스를 서로 연동함으로써, 대상 데이터를 관리하기 위해 사용되는 시간 및 비용을 줄일 수 있고, 스마트컨트랙트를 이용한 영업 비밀 보호, 대상 데이터의 권리 이전 및 사용 실시권 허여 등이 가능하다.
다음으로, 저장 서버(300)는 중앙 집중형 데이터베이스인 데이터베이스(310)를 포함하고, 노드(110)에 구현된 분산 어플리케이션(120)을 통해 대상 데이터를 수신하고, 수신된 대상 데이터를 데이터베이스(310)에 저장할 수 있다. 구체적으로, 분산 어플리케이션(120)을 통해 대상 데이터 및 코드 정보가 수신되면 저장 서버(300)는 대상 데이터를 데이터베이스(310)에 저장하고, 코드 정보를 대상 데이터가 저장되는 데이터베이스(310)의 주소 정보로 지정할 수 있다.
분산 어플리케이션(120)을 통해 대상 데이터가 변경되면 저장 서버(300)는 변경된 대상 데이터를 데이터베이스(310)에 저장할 수 있다. 분산 어플리케이션(120)을 통해 변경된 대상 데이터에 대한 코드 정보가 수신되면 저장 서버(300)는 수신된 코드 정보를 데이터베이스(310)에 저장된, 변경된 대상 데이터의 주소 정보로 지정할 수 있다.
다양한 실시예에서 저장 서버(300)는 특정 서비스를 제공하기 위한 서비스 제공 서버로서 구현되어 이를 위한 데이터베이스를 구비하거나, 데이터베이스만으로 구성될 수도 있으며, 이에 한정되지 않는다. 예를 들어, 특정 서비스를 제공하기 위한 서비스 제공 서버로서 구현된 경우 저장 서버(300)는 지적 재산에 관련된 서비스를 제공하는 특허청 서버, 공공 행정 서비스를 제공하는 공공 행정 서버, 대외비 관련 서비스를 제공하는 대외비 관리 서버 또는 사물 인터넷 관련 서비스를 제공하는 사물 인터넷 관리 서버 등을 포함할 수 있으며, 이에 한정되지 않는다. 이러한 경우 서비스 제공 서버는 중앙 집중형 데이터베이스를 포함하거나, 별도로 구현된 중앙 집중형 데이터베이스를 이용할 수도 있다. 저장 서버(300)가 데이터베이스만으로 구현되는 경우 데이터베이스(310)는 노드(110)에 구현된 분산 어플리케이션(120)에 의해 제어될 수 있다.
이를 통해서 본 발명은 대상 데이터의 저장 및 관리를 위해 중앙 집중형 데이터베이스 및 블록 체인 기술을 상호 보완적으로 활용함으로써, 데이터에 대한 무결성, 기밀성 및 가용성 등이 보장될 수 있고, 대상 데이터의 생성, 변경, 거래 또는 계약을 위한 처리 속도를 증가시키면서 관리 비용을 절감시킬 수 있다.
하기에서는 노드(110)에 대해서 도 2를 참조하여 구체적으로 설명하도록 한다.
도 2는 본 발명의 실시예에 따른 노드에 대한 개략적인 블록도이다.
도 2를 참조하면, 노드(110)는 통신부(112), 저장부(114) 및 프로세서(116)를 포함한다. 제시된 실시예에서 노드(110)는 참여자 노드를 구현하기 위한 하드웨어, 디앱을 구현하기 위한 하드웨어, 블록 체인 기반 분산 원장을 구현하기 위한 하드웨어 또는 중앙 집중형 데이터베이스(예: 데이터베이스(310))를 관리하기 위한 하드웨어 등이 포함될 수 있다. 또한, 이들을 구현하기 위해 도 2의 모든 구성이 포함되지 않을 수 있으며, 이하에서 언급되지 않은 일반적인 구성 요소들이 추가될 수도 있다.
통신부(112)는 노드(110)가 블록 체인 네트워크(100)의 다른 노드 및 저장 서버(300)와 통신 가능하도록 연결한다. 통신부(112)는 블록 체인 네트워크(100)에 연결된 다른 노드와 다양한 데이터를 송수신할 수 있다. 구체적으로, 통신부(112)는 대상 데이터 및 대상 데이터가 저장되는 데이터베이스(310)의 주소 정보로서 사용할 수 있는 코드 정보를 저장 서버(300)로 전달할 수 있다.
저장부(114)는 대상 데이터의 생성, 변경, 거래 또는 계약 등과 같은 블록 체인 기반 서비스를 제공하기 위해 사용되는 다양한 데이터를 저장할 수 있다. 구체적으로, 저장부(114)는 대상 데이터의 생성, 변경, 거래 또는 계약 등과 같은 블록 체인 기반 서비스를 제공하기 위한 분산 어플리케이션, 거래 또는 계약을 위한 스마트 컨트랙트, 분산 원장 또는 블록을 저장하는 블록 체인을 저장할 수 있다.
프로세서(116)는 대상 데이터의 생성, 변경, 거래 또는 계약 등과 같은 블록 체인 기반 서비스를 제공하기 위한 다양한 명령들을 수행할 수 있다. 하기에서 프로세서(116)에 의해서 수행되는 동작들은 블록 체인 기반 어플리케이션을 통해서 이루어질 수 있다.
블록 체인 기반 어플리케이션에 접속한 사용자 장치(200)로부터 대상 데이터를 생성하기 위한 요청이 수신되면 프로세서(116)는 대상 데이터를 생성하고, 생성된 대상 데이터에 기반하여 메타 데이터를 생성할 수 있다.
프로세서(116)는 생성된 메타 데이터를 포함하는 블록을 생성하고, 생성된 블록을 저장부(114)에 저장된 블록 체인에 저장할 수 있다. 프로세서(116)는 생성된 블록에 포함된 정보에 기반하여 코드 정보를 생성할 수 있다. 예를 들어, 생성된 블록의 블록 헤더는 대상 데이터의 해시값, 대상 데이터에 관한 이벤트가 발생된 타임스탬프(예: 대상 데이터가 생성된 시간 정보), 넌스값(nounce) 또는 이전 블록에 대한 해시값 등을 포함할 수 있다. 프로세서(116)는 블록 헤더에 포함된 대상 데이터의 해시값 및 대상 데이터에 관한 이벤트가 발생된 타임스탬프를 이용하여 코드 정보를 생성할 수 있다. 생성된 코드 정보는 해시값과 타임 스탬프를 연결 또는 결합한 값일 수 있으며, 이에 한정되지 않는며, 해시값 및 타임 스탬프 이외에 다른 정보를 더 포함시켜 생성될 수 있다.
프로세서(116)는 생성된 코드 정보 및 대상 데이터를 저장 서버(300)로 전달할 수 있다. 예를 들어, 프로세서(116)는 코드 정보를 대상 데이터가 저장되는 저장 서버(300)의 데이터베이스(310)의 주소 정보로서 지정하거나, 이를 지정하기 위한 요청을 저장 서버(300)로 전달할 수 있다.
프로세서(116)는 생성된 코드 정보를 분산 원장에 기록하여 저장부(114)에 저장할 수 있다. 예를 들어, 프로세서(116)는 생성된 코드 정보를 임시 블록에 기록하고, 검증에 의해서 블록이 생성되면 생성된 블록을 저장부(114)에 저장된 블록 체인에 저장할 수 있다.
다양한 실시예에서 분산 어플리케이션에 접속한 사용자 장치(200)로부터 대상 데이터를 변경하기 위한 요청이 수신되면 프로세서(116)는 저장 서버(300)의 데이터베이스(310)에 저장된 대상 데이터의 적어도 일부를 변경하거나, 변경하기 위한 요청을 저장 서버(300)로 전달할 수 있다.
프로세서(116)는 변경된 대상 데이터에 기반하여 메타 데이터를 생성하고, 생성된 메타 데이터를 포함하는 블록을 생성하여 생성된 블록을 저장부(114)에 저장된 블록 체인에 저장할 수 있다. 프로세서(116)는 생성된 블록에 포함된 정보에 기반하여 코드 정보를 생성할 수 있다. 예를 들어, 생성된 블록의 블록 헤더는 변경된 대상 데이터의 해시값, 변경된 대상 데이터에 관한 이벤트가 발생된 타임스탬프(예: 대상 데이터가 변경된 시간 정보), 넌스값 또는 이전 블록에 대한 해시값 등을 포함할 수 있다. 프로세서(116)는 블록 헤더에 포함된 변경된 대상 데이터의 해시값 및 변경된 대상 데이터에 관한 이벤트가 발생된 타임스탬프를 이용하여 코드 정보를 생성할 수 있다.
프로세서(116)는 생성된 코드 정보 및 변경된 대상 데이터를 저장 서버(300)에 전달할 수 있다. 예를 들어, 프로세서(116)는 코드 정보를 변경된 대상 데이터가 저장되는 저장 서버(300)의 데이터베이스(310)의 주소 정보로서 지정할 수 있다.
프로세서(116)는 생성된 코드 정보를 분산 원장에 기록하여 저장부(114)에 저장할 수 있다.
다양한 실시예에서 분산 어플리케이션에 접속한 사용자 장치(200)를 통해서 대상 데이터에 관련된 거래 또는 계약을 위한 스마트 컨트랙트가 생성되면 프로세서(116)는 생성된 스마트 컨트랙트를 포함하는 블록을 생성하고, 생성된 블록을 저장부(114)에 저장된 블록 체인에 저장할 수 있다. 예를 들어, 생성된 블록은 대상 데이터에 관련된 거래 또는 계약을 생성한 사용자의 전자 지갑 주소, 대상 데이터에 관련된 거래 조건 또는 계약 조건 및 거래 조건 또는 계약 조건을 만족하는 경우 수행되는 대상 데이터에 관련된 거래 내용 또는 계약 내용을 포함할 수 있다. 이와 같이 블록이 생성됨에 따라 스마트 컨트랙트는 블록 체인 분산 네트워크(100)에 연결된 다른 노드에게 배포될 수 있다.
분산 어플리케이션을 통해서 사용자 장치(200)에 의해 대상 데이터에 관련된 거래 조건 또는 계약 조건에 해당하는 동작이 수행되면 프로세서(116)는 대상 데이터에 관련된 거래 내용 또는 계약 내용에 해당하는 동작을 수행하고, 계약 이행 이력 또는 계약 이행 결과에 대한 정보를 분산 원장에 기록하여 저장부(114)에 저장할 수 있다.
예를 들어, 생성된 스마트 컨트랙트가 대상 데이터의 소유권 이전을 위한 계약에 관한 스마트 컨트랙트인 경우 해당 스마트 컨트랙트는 계약을 생성한 사용자의 전자 지갑 주소, 사용자의 전자 지갑 주소로 계약 대상자가 특정 금액의 암호 화폐를 지급하는 계약 조건 및 계약 조건을 만족하는 경우 대상 데이터의 소유권을 계약 대상자로 변경하는 계약 내용을 포함할 수 있다.
분산 어플리케이션을 통해서 사용자 장치(200)에 의해 계약 대상자의 계약 조건에 해당하는 동작이 수행되면 프로세서(116)는 저장 서버(300)의 데이터베이스(310)에 저장된 대상 데이터에 관련된 소유권 정보를 업데이트하고, 업데이트된 소유권 정보에 기반하여 메타 데이터를 생성할 수 있다. 여기서, 계약 조건에 해당하는 동작은 계약 대상자가 사용자의 전자 지갑 주소로 특정 금액에 해당하는 암호 화폐를 지급한 동작일 수 있다.
프로세서(116)는 생성된 메타 데이터를 포함하는 블록을 생성하여 생성된 블록을 저장부(114)에 저장된 블록 체인에 저장할 수 있다. 프로세서(116)는 생성된 블록에 포함된 정보에 기반하여 코드 정보를 생성하고, 생성된 코드 정보를 저장 서버(300)에 전달하여 코드 정보가 데이터베이스(310)에 저장된, 업데이트된 소유권 정보의 주소 정보로 지정되도록 할 수 있다. 프로세서(116)는 생성된 코드 정보를 분산 원장에 기록하여 저장부(114)에 저장할 수 있다.
다양한 실시예에서 분산 어플리케이션을 통해 사용자 장치(200)로부터 특정 사용자와의 대상 데이터에 관련된 거래 또는 계약 요청이 수신되면 프로세서(116)는 특정 사용자에게 대상 데이터에 관련된 스마트 컨트랙트 생성을 요청할 수 있다. 분산 어플리케이션을 통해 특정 사용자의 사용자 장치(200)에 의한 스마트 컨트랙트가 생성되면 프로세서(116)는 생성된 스마트 컨트랙트를 포함하는 블록을 생성하고, 생성된 블록을 저장부(114)에 저장된 블록 체인에 저장할 수 있다. 여기서, 생성된 스마트 컨트랙트는 특정 사용자의 전자 지갑 주소, 계약 조건 및 계약 조건을 만족하는 경우 수행되는 계약 내용을 포함할 수 있다. 이와 같이 블록이 생성되면 스마트 컨트랙트가 블록 체인 분산 네트워크(100)에 연결된 다른 노드로 배포될 수 있다.
분산 어플리케이션을 통해서 사용자 장치(200)에 의해 거래 또는 계약 조건에 해당하는 동작이 수행되면 프로세서(116)는 거래 또는 계약 내용에 해당하는 동작을 수행하고, 거래 또는 계약 이행 이력 또는 거래 또는 계약 이행 결과에 대한 정보를 분산 원장에 기록하여 저장부(114)에 저장할 수 있다. 예를 들어, 사용자가 분산 어플리케이션을 통해 거래 조건에 해당하는 특정 금액의 암호 화폐를 특정 사용자의 전자 지갑으로 지급한 경우 프로세서(116)는 계약 조건을 만족한 것으로 판단하고, 계약 내용에 해당하는 대상 데이터에 관련된 생성, 변경, 거래 또는 계약 등의 동작을 수행할 수 있다.
이와 같이 본 발명은 사용자가 분산 어플리케이션을 통해 대상 데이터의 생성, 변경, 거래 또는 계약을 수행하고, 대상 데이터에 대한 주요 정보인 메타 데이터를 블록 체인에 저장하고, 대상 데이터를 중앙 집중형 데이터베이스에 저장함으로써, 대상 데이터를 관리하기 위한 비용 절감, 처리 속도 증가 및 데이터 무결성, 보안성 및 가용성 보장이 가능하다.
하기에서는 사용자 장치에 대해서 도 3을 참조하여 구체적으로 설명하도록 한다.
도 3은 본 발명의 실시예에 따른 사용자 장치에 대한 개략적인 블록도이다.
도 3을 참조하면, 사용자 장치(200)는 통신부(210), 저장부(220), 표시부(230), 전자 지갑(240) 및 프로세서(250)를 포함할 수 있다.
통신부(210)는 사용자 장치(200)가 외부 장치와 통신이 가능하도록 연결한다. 통신부(210)는 유/무선 통신을 이용하여 블록 체인 분산 네트워크에 연결된 노드(110)와 연결되어 다양한 정보를 송수신할 수 있다. 구체적으로, 통신부(210)는 노드(110)로 대상 데이터의 생성, 변경, 거래 또는 계약 등과 같은 블록 체인 기반 서비스에 관한 제공을 요청하거나, 블록 체인 기반 서비스에 관련된 다양한 정보를 수신할 수 있다.
저장부(220)는 대상 데이터를 생성, 변경, 거래 또는 계약 등과 같은 블록 체인 기반 서비스를 이용하기 위해 사용되는 다양한 데이터를 저장할 수 있다. 구체적으로, 저장부(220)는 노드(110)에 구현된 분산 어플리케이션(120)에 접속하여 블록 체인 기반 서비스를 이용하기 위한 어플리케이션, 프로그램, 위젯 또는 웹 브라우저 등을 저장할 수 있다.
다양한 실시예에서 저장부(220)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(Random Access Memory, RAM), SRAM(Static Random Access Memory), 롬(Read-Only Memory, ROM), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. 사용자 장치(200)는 인터넷(internet)상에서 상기 저장부(220)의 저장 기능을 수행하는 웹 스토리지(web storage)와 관련되어 동작할 수도 있다.
표시부(230)는 사용자에게 각종 콘텐트(예: 텍스트, 이미지, 비디오, 아이콘, 배너 또는 심볼 등)를 표시할 수 있다. 구체적으로, 표시부(230)는 분산 어플리케이션(120)에 접속하기 위한 어플리케이션, 프로그램, 위젯 또는 웹 브라우저 등에 대한 인터페이스 화면을 표시할 수 있다. 구체적으로, 표시부(230)는 대상 데이터의 생성, 변경, 거래 또는 계약 등과 같은 블록 체인 기반 서비스에 대한 인터페이스 화면을 표시할 수 있다. 예를 들어, 표시부(230)는 다른 사용자와의 계약을 위한 스마트 컨트랙트를 생성하기 위한 인터페이스 화면을 표시할 수 있다.
다양한 실시예에서 표시부(230)는 터치스크린을 포함할 수 있으며, 예를 들면, 전자 펜 또는 사용자의 신체의 일부를 이용한 터치(touch), 제스처(gesture), 근접, 드래그(drag), 스와이프(swipe) 또는 호버링(hovering) 입력 등을 수신할 수 있다.
전자 지갑(240)는 암호 화폐를 보관 및 사용 등을 하기 위한 모듈로서, 사용자 장치(200)에 설치되는 프로그램일 수 있다. 이러한 전자 지갑(240)은 핫월렛(Hot wallet) 또는 콜드 월렛(Cold wallet)의 형태를 가질 수 있으며, 이에 한정되지 않는다.
프로세서(250)는 통신부(210), 저장부(220), 표시부(230) 및 전자 지갑(240)과 동작 가능하게 연결되며, 노드(110)에 구현된 분산 어플리케이션(120)에 접속하여 이를 통해 블록 체인 기반 서비스를 이용하기 위한 다양한 명령들을 수행할 수 있다.
프로세서(250)는 어플리케이션, 프로그램 또는 웹 브라우저를 이용하여 노드(110)에 구현된 분산 어플리케이션(120)에 접속하고, 분산 어플리케이션(120)을 통해 대상 데이터의 생성 또는 변경을 요청하거나, 대상 데이터에 관련된 거래 또는 계약을 위해 스마트 컨트랙트를 생성하거나, 대상 데이터에 대한 거래 또는 계약에 관련된 스마트 컨트랙트를 조회할 수 있다.
예를 들어, 분산 어플리케이션(120)이 출원을 위한 서비스를 제공하는 경우 프로세서(250)는 분산 어플리케이션(120)을 통해 출원 문서 데이터를 생성하고, 생성된 출원 문서 데이터에 대한 출원 요청을 노드(110)로 전달할 수 있다. 프로세서(250)는 분산 어플리케이션(120)을 통해 노드(110)로부터 특허청 서버에 의해서 생성된 출원을 위한 스마트 컨트랙트에 대한 정보를 수신하고, 수신된 정보를 나타내는 인터페이스 화면을 표시할 수 있다. 예를 들어, 인터페이스 화면은 특허청 서버의 전자 지갑 주소, 출원 비용에 해당하는 암호 화폐를 지급하는 계약 조건 및 계약 조건을 만족할 시 출원을 진행하는 계약 내용에 대한 정보를 포함할 수 있다. 프로세서(250)는 분산 어플리케이션(120)을 통해 특허청 서버의 전자 지갑 주소를 이용하여 출원 비용에 해당하는 암호 화폐를 지급할 수 있다. 다양한 실시예에서 프로세서(250)는 분산 어플리케이션(120)을 통해 노드(110)의 블록 체인에 저장된 계약 이행 이력 또는 결과에 대한 정보에 접근하여 이러한 정보를 나타내는 인터페이스 화면을 표시할 수도 있다.
다양한 실시예에서 분산 어플리케이션(120)을 통해 대상 데이터에 대한 거래 또는 계약에 관련된 스마트 컨트랙트를 검색하기 위해 프로세서(250)는 스마트 컨트랙트 검색을 위한 쿼리(Query)를 노드(110)로 전달하고, 노드(110)로부터 쿼리에 대한 응답을 수신할 수 있다. 여기서, 쿼리에 대한 응답은 사용자와 다른 사용자 간의 대상 데이터에 대한 거래 또는 계약에 대한 스마트 컨트랙트에 대한 정보를 포함할 수 있다. 이러한 스마트 컨트랙트는 노드(110)의 블록 체인에 저장된 스마트 컨트랙트 중 어느 하나일 수 있다.
프로세서(250)는 사용자 요청에 따라 분산 어플리케이션(120)을 통해 검색된 스마트 컨트랙트에 대한 계약 조건에 해당하는 동작을 수행하고, 계약 이행 이력 또는 계약 이행 결과에 대한 정보를 나타내는 인터페이스 화면을 표시할 수 있다. 예를 들어, 프로세서(250)는 사용자 요청에 따라 분산 어플리케이션(120)을 통해 다른 사용자의 전자 지갑 주소를 이용하여 계약 조건에 해당하는 특정 금액의 암호 화폐를 지급할 수 있다. 노드(110)에 의해서 계약 이행 이력 또는 계약 이행 결과에 대한 정보가 블록 체인에 저장되면 프로세서(250)는 분산 어플리케이션(120)을 통해 노드(110)의 블록 체인에 저장된 계약 이행 이력 또는 계약 이행 결과에 대한 정보에 접근하여 이러한 정보를 나타내는 인터페이스 화면을 표시할 수 있다.
다양한 실시예에서 프로세서(250)는 분산 어플리케이션(120)을 통해 다른 사용자와의 거래 또는 계약에 대한 스마트 컨트랙트를 생성하기 위한 인터페이스 화면을 표시할 수 있다. 예를 들어, 인터페이스 화면은 거래 또는 계약 조건 및 거래 또는 계약 내용을 입력하기 위한 입력 인터페이스를 포함할 수 있다. 이를 통해서 사용자로부터 계약 조건 및 계약 내용이 입력되면 프로세서(250)는 분산 어플리케이션(120)을 통해 입력된 계약 조건 및 계약 내용에 대한 정보를 노드(110)로 전달할 수 있다.
다양한 실시예에서 프로세서(250)는 사용자의 전자 지갑에 대한 인터페이스 화면을 표시할 수 있다. 이러한 인터페이스 화면은 전자 지갑에 대한 조회, 입출금 등에 대한 사용자 인터페이스를 포함할 수 있다.
하기에서는 블록 체인 기반 서비스를 제공하기 위해 노드(110)의 블록 체인 운영 체제 상에서 실행되는 다양한 모듈에 대해서 도 4를 참조하여 구체적으로 설명하도록 한다.
도 4는 본 발명의 실시예에 따른 노드의 시스템 구조를 나타내는 개략도이다.
도 4를 참조하면, 노드(110)는 블록 체인 운영 체제(400)를 포함하고, 블록 체인 운영 체제(400)는 블록 체인에 관련된 논리적인 모듈에 해당하는 블록 체인 모듈(410)을 포함할 수 있다.
블록 체인 모듈(410)은 대상 데이터에 관련된 블록 체인 기반 서비스를 제공하기 위한 디앱(Dapp)(412), 대상 데이터에 관련된 메타 데이터를 포함하는 각각의 블록들을 체인 형태로 연결한 블록 체인(414) 및 대상 데이터에 관련된 스마트 컨트랙트를 생성하기 위한 스마트 컨트랙트 모듈(416)을 포함할 수 있다.
먼저, 디앱(412)은 대상 데이터에 대한 생성, 변경, 거래 또는 계약 등과 같은 블록 체인 기반 서비스를 제공할 수 있다. 예를 들어, 디앱(412)은 출원 문서 데이터를 생성하거나, 출원 문서 데이터를 변경 또는 상태 정보를 변경하거나, 출원을 위한 스마트 컨트랙트를 생성, 조회 또는 실행 등을 위한 서비스를 제공할 수 있다.
사용자 장치(200)는 웹 브라우저를 통해 디앱(412)에 접속하고, 디앱(412)을 통해 대상 데이터를 생성하거나 업로드할 수 있다.
디앱(412)은 생성된 대상 데이터에 기반하여 제1 메타 데이터를 생성하고, 생성된 제1 메타 데이터를 포함하는 제1 블록을 생성하여 생성된 제1 블록을 블록 체인(414)에 저장할 수 있다.
디앱(412)은 생성된 제1 블록에 포함된 대상 데이터의 해시값과 타임스탬프를 이용하여 제1 코드 정보를 생성하고, 생성된 제1 코드 정보 및 대상 데이터를 데이터베이스(310)에 저장할 수 있다. 디앱(412)은 제1 코드 정보를 대상 데이터가 저장되는 데이터베이스(310)의 주소 정보로 지정할 수 있다. 디앱(412)은 제1 코드 정보를 포함하는 블록을 생성하여 생성된 블록을 블록 체인(414)에 저장할 수 있다.
웹 브라우저를 통해 디앱(412)에 접속한 사용자 장치(200)에 의해 데이터베이스(310)에 저장된 대상 데이터에 대한 변경이 요청되면 디앱(412)은 데이터베이스(310)에 접근하여 대상 데이터를 획득하고, 획득된 대상 데이터를 변경할 수 있다. 예를 들어, 대상 데이터의 변경은 출원 문서 데이터에 대한 문서 내용의 적어도 일부를 수행하는 동작을 의미할 수 있다.
디앱(412)은 변경된 대상 데이터에 기반하여 제2 메타 데이터를 생성하고, 생성된 제2 메타 데이터를 포함하는 제2 블록을 생성하여 생성된 제2 블록을 블록 체인(414)에 저장할 수 있다.
디앱(412)은 생성된 제2 블록에 포함된, 변경된 대상 데이터의 해시값 및 타임스탬프를 이용하여 제2 코드 정보를 생성하고, 생성된 제2 코드 정보 및 변경된 대상 데이터를 데이터베이스(310)에 저장할 수 있다. 디앱(412)은 제2 코드 정보를 변경된 대상 데이터가 저장되는 데이터베이스(310)의 주소 정보로 지정할 수 있다. 디앱(412)은 제2 코드 정보를 포함하는 블록을 생성하여 생성된 블록을 블록 체인(414)에 저장할 수 있다.
웹 브라우저를 통해 디앱(412)에 접속한 사용자 장치(200)에 의해 대상 데이터에 대한 스마트 계약을 생성하기 위한 요청이 수신되면 디앱(412)은 스마트 컨트랙트 모듈(416)을 통해 대상 데이터에 대한 스마트 컨트랙트를 생성할 수 있다. 스마트 컨트랙트 모듈(416)은 스마트 컨트랙트 코드를 생성하고, 생성된 스마트 컨트랙트 코드를 바이트 코드(Byte Code)로 컴파일(compile)할 수 있다. 여기서, 스마트 컨트랙트 모듈(416)은 스마트 컨트랙트 코드를 생성하기 위한 툴(tool) 및 스마트 컨트랙트 코드를 바이트 코드로 컴퍼일하는 컴파일러(compiler)를 포함할 수 있다.
디앱(412)은 바이트 코드를 트랜잭션으로서 블록에 기록하고, 마이너(Miner)에 의해 블록이 생성되면 생성된 블록을 블록 체인(414)에 저장함으로써, 생성된 스마트 컨트랙트를 배포할 수 있다.
다른 사용자에 의해 해당 스마트 컨트랙트에 대한 계약 조건에 해당하는 동작이 수행되면 디앱(412)은 스마트 컨트랙트의 계약 내용에 해당하는 동작을 수행할 수 있다.
예를 들어, 생성된 스마트 컨트랙트가 다른 사용자로부터 특정 금액의 암호 화폐를 입금하는 계약 조건 및 계약 조건을 만족하는 경우 입금한 다른 사용자로 대상 데이터의 소유권을 이전하는 계약 내용을 포함하는 경우를 설명하도록 한다. 다른 사용자로부터 스마트 컨트랙트의 계약 조건에 해당하는 특정 금액의 암호 화폐의 입금이 확인되면 디앱(412)은 스마트 컨트랙트의 계약 내용에 해당하는 소유권 이전을 위한 동작을 수행할 수 있다. 디앱(412)은 데이터베이스(310)에 저장된 소유권 관련 문서 데이터에서 소유권자의 정보를 업데이트하고, 업데이트된 소유권 관련 문서 데이터에 기반하여 메타 데이터를 생성할 수 있다. 디앱(412)은 생성된 메타 데이터를 포함하는 블록을 생성하여 생성된 블록을 블록 체인(414)에 저장하고, 생성된 블록에 포함된 업데이트된 소유권 관련 문서 데이터의 해시값 및 타임스탬프를 이용하여 코드 정보를 생성한다. 디앱(412)은 생성된 코드 정보를 업데이트된 소유권 관련 문서 데이터가 저장된 데이터베이스(310)의 주소 정보로 지정할 수 있다. 디앱(412)은 계약 이행 내역, 계약 이행 결과, 및/또는 생성된 코드 정보를 포함하는 블록을 생성하여 생성된 블록을 블록 체인(414)에 저장할 수 있다.
웹 브라우저를 통해 디앱(412)에 접속한 사용자 장치(200)에 의해 스마트 컨트랙트를 실행하기 위한 요청이 수신되면 디앱(412)은 해당 스마트 컨트랙트의 계약 조건을 만족하는지를 확인하고, 계약 조건을 만족하는 경우 해당 스마트 컨트랙트의 계약 내용에 해당하는 동작을 수행할 수 있다.
예를 들어, 스마트 컨트랙트가 특허청 서버의 전자 지갑 주소, 출원을 위한 출원 비용에 해당하는 암호 화폐가 특허청 서버의 전자 지갑에 입금되는 계약 조건 및 계약 조건을 만족하는 경우 출원을 진행하는 계약 내용을 포함하는 경우를 설명하도록 한다. 디앱(412)은 출원 비용에 해당하는 암호 화폐가 특허청 서버의 전자 지갑에 입금되는지를 확인하고, 암호 화폐가 입금되면 출원을 위한 동작을 수행할 수 있다.
제시된 실시예에서는 출원 문서 데이터에 대한 생성, 변경, 거래 또는 계약에 대한 디앱(412)의 동작을 설명하였으나, 이에 한정되지 않으며, 공공 행정 문서 데이터, 대외비 문서 데이터 또는 사물 인터넷 데이터 등을 이용한 블록 체인 기반 서비스에서도 유사하게 동작될 수 있다.
이와 같이 본 발명은 디앱을 통해 대상 데이터의 생성, 변경, 거래 또는 계약 등을 수행함으로써, 사용자가 보다 편리하게 대상 데이터를 생성 및 변경하거나, 다른 사용자와의 거래 또는 계약을 수행할 수 있고, 대상 데이터를 생성 및 변경하기 위한 처리 속도가 절감되며, 거래 또는 계약을 위한 비용을 절감할 수 있다.
도 5는 본 발명의 실시예에 따른 분산 어플리케이션에서 대상 데이터를 관리하기 위한 방법을 설명하는 개략적인 흐름도이다. 하기에서 설명하는 동작들은 노드(110)의 분산 어플리케이션(120)에 의해서 수행될 수 있다.
도 5를 참조하면, 분산 어플리케이션(120)은 사용자 장치(200)의 요청에 따라 대상 데이터를 생성하고(S500), 생성된 대상 데이터에 기반하여 메타 데이터를 생성한다(S510). 분산 어플리케이션(120)은 생성된 메타 데이터를 포함하는 블록을 생성하여 블록 체인에 저장한다(S520). 분산 어플리케이션(120)은 블록에 포함된 정보에 기반하여 대상 데이터가 저장되는 데이터베이스(310)의 주소 정보 사용하기 위한 코드 정보를 생성한다(S530). 여기서, 코드 정보는 블록에 포함된 대상 데이터의 해시값 및 대상 데이터에 관련된 이벤트의 타임 스탬프를 이용하여 생성될 수 있다. 분산 어플리케이션(120)은 생성된 코드 정보와 대상 데이터를 저장 서버(300)에 전달한다(S540). 이러한 코드 정보는 데이터베이스(310)에 저장된 대상 데이터의 주소 정보로 사용될 수 있다.
도 6은 본 발명의 실시예에 따른 분산 어플리케이션에서 대상 데이터에 관한 계약을 수행하기 위한 방법을 설명하는 개략적인 흐름도이다. 하기에서 설명하는 동작들은 노드(110)의 분산 어플리케이션(120)에 의해서 수행될 수 있다.
도 6을 참조하면, 분산 어플리케이션(120)은 사용자 장치(200)의 요청에 따라 다른 사용자와 대상 데이터에 관한 계약을 수행하기 위해 대상 데이터에 관련된 스마트 컨트랙트를 생성한다(S600). 생성된 스마트 컨트랙트는 사용자 장치(200)의 사용자에 대한 전자 지갑 주소, 다른 사용자에 대한 전자 지갑 주소, 대상 데이터에 관한 계약 조건 및 계약 조건에 만족하는 경우 수행되는 계약 내용 등에 대한 정보를 포함할 수 있다.
분산 어플리케이션(120)은 생성된 스마트 컨트랙트를 포함하는 블록을 생성하여 블록 체인에 저장한다(S610). 이를 통해서 스마트 컨트랙트는 블록 체인 분산 네트워크(100)에 연결된 다른 노드로 배포될 수 있다.
다른 사용자에 의해 스마트 컨트랙트의 계약 조건에 해당하는 동작이 수행되면 분산 어플리케이션(120)은 스마트 컨트랙트의 계약 내용에 해당하는 동작을 수행하고(S620), 계약 이행 내역 또는 계약 이행 결과에 대한 정보를 분산 원장에 기록하여 저장한다(S630). 예를 들어, 대상 데이터에 관한 소유권 이전 또는 권한 이전 등과 같은 계약에 대한 스마트 컨트랙트가 생성되면 분산 어플리케이션(120)은 생성된 스마트 컨트랙트를 포함하는 블록을 생성하여 블록 체인 분산 네트워크(100)에 연결된 다른 노드에 배포하고, 특정 사용자에 의해 계약 조건에 해당하는 동작이 수행되면 분산 어플리케이션(120)은 대상 데이터에 관한 소유권 이전 또는 권한 이전 등을 수행하여 소유권 정보 또는 권한 정보 등을 업데이트할 수 있다. 여기서, 특정 사용자는 스마트 컨트랙트에 포함된 계약 조건에 해당하는 사용자일 수 있다. 분산 어플리케이션(120)은 소유권 정보 또는 권한 정보 등에 기반하여 메타 데이터를 생성하고, 생성된 메타 데이터를 포함하는 블록을 생성하여 블록 체인에 저장할 수 있다. 분산 어플리케이션(120)은 생성된 블록에 포함된 정보에 기반하여 코드 정보를 생성하고, 생성된 코드 정보를 데이터베이스(310)에 저장된, 업데이트된 소유권 정보 또는 권한 정보의 주소 정보로 지정할 수 있다. 분산 어플리케이션(120)은 계약 이행 이력, 계약 이행 결과 및/또는 코드 정보를 포함하는 블록을 생성하고, 생성된 블록을 블록 체인에 저장할 수 있다.
하기에서는 디앱에서 분산 원장을 이용하여 대상 데이터를 관리하기 위한 방법을 도 7을 참조하여 설명하도록 한다.
도 7은 본 발명의 실시예에 따른 디앱에서 대상 데이터를 관리하기 위한 동작을 설명하기 위한 예시도이다. 제시된 실시예에서는 대상 데이터가 지적 재산 문서 데이터인 경우를 설명하도록 한다.
도 7을 참조하면, 지적 재산 문서 데이터는 기존의 중앙 집중형 데이터베이스(예: 데이터베이스(310))에서 저장 및 관리될 수 있다. 지적 재산 문서 데이터의 메타 데이터는 블록에 포함되어 블록 체인에 저장될 수 있다. 메타 데이터가 저장되는 블록의 헤더에는 이전 블록의 해시값, 일정 시간 동안 발생한 지적 재산 관련 정보(예: 출원/등록/이전/실시권 허여 등), 타임스탬프, 논스 값이 저장될 수 있다. 이러한 경우 분산 어플리케이션은 지적 재산 문서 데이터의 전자적 지문인 해시 정보 및 타임스탬프를 이용하여 코드 정보를 생성하고, 생성된 코드 정보를 지적 재산 문서 데이터가 저장되는 중앙 집중형 데이터베이스의 주소 정보로 지정함으로써, 블록 헤더와 중앙 집중형 데이터베이스에 저장된 지적 재산 문서 데이터가 네트워크를 통해 연결되도록 할 수 있다.
디앱은 종래의 인터넷 프로그래밍 언어인 HTML, CSS, JavaScript 등과 이더리움에 특화된 솔리디티(Solidity)를 이용해 프로그래밍될 수 있다. 디앱은 기존의 인터넷 프로토콜을 이용해 블록체인과 연결되고, HTTPS와 같은 보안 프로토콜을 이용해 데이터 통신을 수행할 수 있다. 이러한 디앱은 기존의 서버-클라이언트 중심의 통신 방식이 아니라 SWARM 이나 WHISPER를 이용한 P2P 통신을 수행할 수 있다.
디앱을 통해 블록체인의 블록 내에 지적 재산 문서 데이터에 대한 메타 데이터가 등록되면 사용자 장치는 이러한 디앱을 통해 블록체인의 정보를 추적 또는 관리할 수 있다.
구체적으로, 디앱은 메타 데이터를 포함하는 블록을 블록체인에 저장하고, 해당 블록과 중앙 집중형 데이터베이스에 저장된 지적 재산 문서 데이터를 하이퍼링크 방식으로 연결할 수 있다. 이러한 경우, 사용자는 디앱을 이용하여 블록체인에 저장된 메타 데이터의 검색 및 평가를 자유롭게 수행할 수 있고, P2P 방식으로 지적 재산 문서 데이터에 대한 이전 또는 관리를 수행할 수 있다. 또한, 지적 재산 문서 데이터의 등록, 이전, 관리, 평가 과정에서 인센티브 및 패널티 평가 체계가 도입되어 지적 재산 문서 데이터의 품질을 향상시킬 수 있다.
다양한 실시예에서 대상 데이터가 공공 행정 문서 데이터인 경우 디앱은 공공 행정 문서 데이터에 관련된 메타 데이터를 생성하고, 생성된 메타 데이터를 포함하는 블록을 생성하여 생성된 블록을 블록체인에 저장할 수 있다. 여기서, 메타 데이터는 공공 행정 문서 데이터의 문서 번호, 키워드 또는 카테고리 등을 포함할 수 있다.
디앱은 블록에 포함된 정보에 기반하여 코드 정보를 생성하고, 생성된 코드 정보 및 공공 행정 문서 데이터를 중앙 집중형 데이터베이스에 저장할 수 있다. 이러한 경우, 디앱은 코드 정보를 공공 행정 문서 데이터가 저장되는 중앙 집중형 데이터베이스의 주소 정보로 지정하여 메타 데이터가 저장된 블록과 중앙 집중형 데이터베이스에 저장된 공공 행정 문서 데이터가 서로 연결되도록 할 수 있다. 이를 통해서 사용자는 사용자 장치(200)를 통해 디앱에 접속하여 블록체인에 저장된 메타 데이터를 자유롭게 검색 또는 이용하고, P2P 방식으로 행정 서비스 이용 및 의견 개진을 수행할 수 있다. 또한, 행정 기관 서비스 및 행정 기간 문서 데이터에 대한 인센티브 및 패널티 평가 체계가 도입되어 행정 서비스 및 행정 기간 문서 데이터에 대한 품질을 향상시킬 수 있다.
다양한 실시예에서 사용자 'A'가 작성 및 등록한 공공 행정 문서 데이터를 참여자 'B'에서 작성 권한을 이전하는 경우 디앱은 해당 공공 행정 문서 데이터에 대하여 'A'에서 'B'로의 작성 권한을 이전하는 계약을 위한 스마트 컨트랙트를 생성할 수 있다. 'A'와 'B'에 의해 스마트 컨트랙트에 대한 전자 서명이 완료되면 디앱은 생성된 스마트 컨트랙트를 포함하는 블록을 생성하여 생성된 블록을 블록체인에 저장할 수 있다. 이 후 권한 이전을 위한 승인이 완료되면 디앱은 권한 이전에 대한 동작을 수행할 수 있다. 권한 이전을 위한 승인은 'A'와 'B'간의 사전에 합의된 메시지 또는 값의 교환을 통해 성립될 수 있다. 예를 들어, 권한 이전에 대한 동작은 디앱이 권한 이전 문서 데이터를 생성하고, 생성된 권한 이전 문서 데이터에 대한 메타 데이터를 생성한 후 생성된 메타 데이터를 포함하는 블록을 생성하여 생성된 블록을 블록체인에 저장하는 동작 및 디앱이 생성된 블록에 포함된 정보에 기반하여 코드 정보를 생성하고, 생성된 코드 정보를 권한 이전 문서 데이터가 저장되는 중앙 집중형 데이터베이스의 주소 정보로 사용되도록 코드 정보 및 권한 이전 문서 데이터를 공공 행정 서버로 전달하는 동작이 포함될 수 있다. 이를 통해서 사용자는 사용자 장치(200)를 통해 디앱에 접속하여 디앱을 통해 블록체인에 저장된 메타 데이터 또는 중앙 집중형 데이터베이스에 저장된 공공 행정 문서 데이터를 자유롭게 검색 또는 이용하거나, P2P 방식으로 행정 서비스 이용, 이용에 대한 품질 평가 및 의견 개진을 수행할 수 있다.
하기에서는 디앱에서 분산 원장을 이용하여 대상 데이터를 관리하기 위한 방법을 도 8을 참조하여 설명하도록 한다.
도 8은 본 발명의 실시예에 따른 사물 인터넷 데이터 관리 시스템의 구조를 나타내는 개략도이다.
도 8을 참조하면, 사물 인터넷 데이터 관리 시스템(800)은 사물 인터넷 기기(810), 사물 인터넷 기기(810)의 일부로 원시적인 센싱 데이터를 수집하는 센서(820), 블록체인과 사물 인터넷 기기(810) 사이의 데이터 통신을 지원하는 엣지 서버(edge server)(830), 사물 인터넷 데이터를 관리하기 위한 서비스를 제공하는 디앱(Dapp)(840), 사물 인터넷 데이터의 메터 데이터를 저장하는 분산 원장(예: 블록 체인)(850) 및 사물 인터넷 데이터를 저장하는 데이터베이스(860) 및 사물 인터넷 데이터를 분석하는 데이터 분석부(870)를 포함할 수 있다.
사물 인터넷 기기(810)는 사람, 사물, 공간 및 데이터 등과 같은 형태로 네트워크를 통해 서로 연결되어 데이터의 생성, 수집, 공유 및 활용을 위한 초연결 인터넷(hyper-connected internet)을 지원하는 디바이스를 의미할 수 있다. 이러한 사물 인터넷 기기(810)에서 다루는 데이터는 센서(820)를 통해 처리되는 데이터 및 사물 인터넷을 이용하는 사용자가 디앱(840)을 통해 발생시키는 데이터를 포함할 수 있다.
센서(820)는 사물 인터넷 기기(810)에서 발생되는 센싱 데이터(예: 사물 인터넷 데이터)를 수집할 수 있다. 예를 들어, 센서(820)는 사물의 유무를 판별하는 광학식 디지털 센서 및 아날로그 센서를 포함하고, 사물 인터넷 기기(810)에 탑재되거나 별도로 구비될 수 있다. 센서(820)를 통해서 수집되는 센싱 데이터는 사물과 사람 또는 사물과 사물이 주고 받는 데이터 등을 모두 포함할 수 있다. 이와 같이 사물 인터넷 기기(810)로부터 센서(820)를 통해서 수집되는 센싱 데이터는 활용 가치가 높은 원시 데이터이므로, 무결성이 보장된 안전한 통신에 의해서 송수신되거나, 저장되는 것이 바람직할 수 있다.
엣지 서버(830)는 디앱(840) 또는 데이터 분석부(870)로부터의 데이터 요청이 있을 경우 데이터베이스(860)에 저장된 센싱 데이터를 획득하여 디앱(840) 또는 데이터 분석부(870)로 전달하는 전송 서버를 의미할 수 있다. 분산 원장(850)에 메타 데이터가 저장되고, 데이터베이스(860)에 대용량의 센싱 데이터가 저장되므로, 엣지 서버(830)는 요청에 따른 데이터 접근을 신속하고 효율적으로 수행할 수 있다.
디앱(840)은 센싱 데이터에 대한 메타 데이터를 생성하고, 생성된 메타 데이터를 포함하는 블록을 생성하여 블록 체인에 저장할 수 있다. 디앱(840)은 생성된 블록에 포함된 정보에 기반하여 코드 정보를 생성하고, 생성된 코드 정보를 센싱 데이터가 저장되는 데이터베이스(860)의 주소 정보로 지정할 수 있다. 이를 통해서 블록 체인에 저장되는 코드 정보는 데이터베이스(860)에 저장된 센싱 데이터와 매핑되어 네트워크를 통해 연결될 수 있다.
디앱(840)은 사물 인터넷 기기(810)로부터 엣지 서버(830)를 통해 요청된 정보를 분산 원장(850)에 기록하고, 데이터 분석부(870)로부터 엣지 서버(830)를 통해 요청된 정보를 분산 원장(850)에 기록할 수 있다.
디앱(840)은 센싱 데이터에 대한 처리 요청, 센서(820)에 의한 데이터 처리 요청 또는 데이터 분석부(870)에 의한 데이터 처리 또는 데이터 전송 요청에 따른 다양한 처리 동작을 수행할 수 있다.
구체적으로, 사물 인터넷 기기(810)의 사용자로부터 센서(820)를 통해서 획득된 센싱 데이터에 대한 처리 요청이 수신되면 디앱(840)은 요청된 센싱 데이터에 대한 스마트컨트랙트를 생성하고, 생성된 스마트컨트랙트를 실행할 수 있다. 엣지 서버(830)를 통해 센싱 데이터가 수신되면 디앱(840)은 센싱 데이터를 데이터베이스(860)에 저장하고, 센싱 데이터에 대한 메타 데이터를 생성할 수 있다. 디앱(840)은 생성된 메타 데이터를 포함하는 블록을 생성하여 생성된 블록을 블록 체인에 저장할 수 있다. 디앱(840)은 블록에 포함된 정보에 기반하여 코드 정보를 생성하고, 생성된 코드 정보를 센싱 데이터가 저장된 데이터베이스(860)의 주소 정보로 지정할 수 있다.
다양한 실시예에서 센서(820)로부터 수집된 센싱 데이터를 주기적으로 일괄 전송하기 위해 디앱(840)은 일정 시간 마다 엣지 서버(830)를 통해 센서(820)로 데이터 전송을 요청할 수 있다. 엣지 서버(830)를 통해 일정 시간 마다 센서(820)로부터 센싱 데이터가 수신되면 디앱(840)은 센싱 데이터를 데이터베이스(860)에 저장하고, 센싱 데이터에 관련된 메타 데이터를 생성하여 생성된 메타 데이터를 분산 원장(850)에 기록할 수 있다.
다양한 실시예에서 디앱(840)은 데이터 분석부(870)를 통해 분산 원장에 기록된 메타 데이터 및 데이터베이스(860)에 저장된 센싱 데이터(예: 로우 데이터)를 수집하기 위한 일정 데이터에 대한 요청을 수신할 수 있다. 여기서, 일정 데이터는 센싱 데이터가 언제 수집되는지에 대한 정보를 포함할 수 있다. 디앱(840)은 일정 데이터에 기반하여 스마트 컨트랙트를 생성하고, 생성된 스마트 컨트랙트의 조건이 만족되면 엣지 서버(830)를 통해 센서(820)로 센싱 데이터를 요청할 수 있다. 센싱 데이터가 수신되면 디앱(840)은 수신된 센싱 데이터를 데이터베이스(860)에 저장하고, 센싱 데이터의 메타 데이터를 분산 원장(850)에 기록할 수 있다. 이를 통해서 데이터 분석부(870)는 엣지 서버(830)를 통해서 데이터베이스(860)에 저장된 센싱 데이터에 접근할 수 있다.
다양한 실시예에서 데이터 분석부(870)를 통해 분석된 데이터에 대한 처리 요청이 있으면 디앱(840)은 분석 데이터의 처리에 대한 스마트 컨트랙트를 생성할 수 있다. 스마트 컨트랙트의 조건이 만족되면 디앱(840)은 엣지 서버(830)를 통해 데이터 분석부(870)로 분석 데이터를 요청할 수 있다. 데이터 분석부(870)로부터 엣지 서버(830)를 통해 분석 데이터가 수신되면 디앱(840)은 수신된 분석 데이터를 데이터베이스(860)에 저장하고, 분석 데이터에 대한 메타 데이터를 분산 원장(850)에 기록할 수 있다. 구체적으로, 디앱(840)은 분석 데이터에 대한 메타 데이터를 생성하여 생성된 메타 데이터를 포함하는 블록을 생성한 후 생성된 블록을 블록 체인에 저장할 수 있다. 디앱(840)은 블록에 포함된 정보에 기반하여 코드 정보를 생성하고, 생성된 코드 정보를 분석 데이터가 저장된 데이터베이스(860)의 주소 정보로 지정할 수 있다.
분산 원장(850)은 블록 헤더가 연속적으로 연결된 블록 체인으로서, 센서(820)로부터 수집된 센싱 데이터에 대한 메타 데이터가 기록된 블록을 저장할 수 있다. 이러한 블록의 헤더에는 센싱 데이터에 대한 해시값과 타임스탬프 값을 포함하며, 해시값과 타임스탬프 값으로 이루어진 코드 값이 센싱 데이터가 저장되는 데이터베이스(860)의 주소 정보로 사용될 수 있다.
데이터베이스(860)는 대용량의 센싱 데이터를 저장하는 중앙 집중형 데이터베이스일 수 있다.
데이터 분석부(870)는 수집된 센싱 데이터를 분석하는 장치 또는 플랫폼일 수 있다. 이러한 데이터 분석부(870)는 데이터베이스(860)에 저장된 센싱 데이터에 접근하기 위해 엣지 서버(830)를 통해 디앱(840)에 접속하여 스마트컨트랙트를 생성할 수 있다. 이와 같이 생성된 스마트컨트랙트는 사물 인터넷 기기(810) 및 데이터 분석부(870), 또는 사물 인터넷 기기(810)와 분산 원장(850) 간의 정보 전송이 신속하고 빠르게 이루어지도록 하기 위한 거래를 수행하기 위해 사용될 수 있다.
데이터 분석부(870)는 엣지 서버(830)를 통해 데이터베이스(860)에 접근하여 센싱 데이터를 분석한 후 분석 데이터를 생성할 수 있다. 데이터 분석부(870)는 분석 데이터에 대한 처리 요청을 디앱(840)에 전달할 수 있다. 데이터 분석부(870)를 통해서 생성된 분석 데이터는 디앱(840)을 통해 데이터베이스(860)에 저장될 수 있다.
이와 같이 본 발명은 제시된 실시예에 의해서 다음과 같은 효과를 제공할 수 있다.
먼저, 모든 데이터에 대한 투명성을 제공할 수 있다. 대상 데이터에 대한 출원, 등록, 지분, 보상, 거래, 실시권 허여 등에 대한 정보를 블록 체인 분산 네트워크에 참여한 모든 노드가 공유하고 있기 때문에, 누구나 대상 데이터에 대한 권리 관계를 추적할 수 있고, 가치 평가와 보상을 투명하게 수행할 수 있다.
또한, 데이터 관리에 대한 비용 절감을 제공할 수 있다. 블록 체인 분산 네트워크는 누구나 참여할 수 있는 퍼블릭 블록 체인이거나 제한된 전문가 그룹이 참여하는 프라이빗 블록체인으로 구현될 수 있다. 이에 따라, 참여자들은 블록체인에 등록된 대상 데이터의 다양한 정보에 대해 자발적인 평가를 할 수 있다.
또한, 대상 데이터에 대한 양질의 평가를 수행할 수 있다. 블록 체인 분산 네트워크의 참여자들에 의해 대상 데이터에 대한 평가가 이루어지면 이는 제3자들에 의해서 재평가되어 참여자 각각의 평판으로 기록되고, 이러한 평판에 근거하여 참여자들은 인센티브 또는 패널티를 받을 수 있다. 이를 통해, 오픈 플랫폼 상에서 보상 및 벌칙에 의한 양질의 평가가 가능하다.
또한, 데이터에 대한 보안성을 향상시킬 수 있다. 대상 데이터에 대한 메타 데이터를 분산 원장에 기록하므로, DDoS (Distributed Denial of Service) 공격에 강하고, 블록체인에서 사용하는 비대칭키 알고리즘에 의해 블록 체인 분산 네트워크의 참여자들에 대한 개인 정보 기밀성이 보장될 수 있다. 뿐만 아니라, 블록과 블록 사이가 해시로 연결되어 블록이 쌓일수록 신뢰가 가능되며, 데이터 위변조가 불가능하므로, 지적 재산 문서 데이터에 대한 무결성을 제공할 수 있다.
또한, 데이터 처리에 대한 빠른 속도를 제공할 수 있다. 기존의 대상 데이터 거래는 중앙 집중적으로 운영되어 행정 절차에 의해 시간 지연이 발생할 수 없는 구조였다면 본 발명은 스마트 컨트랙트를 이용한 P2P 거래가 가능하므로, 거래가 빠르게 수행될 수 있다. 또한, 블록 체인과 연동되는 중앙 시스템에서 거래 정보를 업데이트하여 현재 시스템과의 호환성을 유지할 수 있다.
예를 들어, 지적 재산 문서 데이터에 대한 출원, 등록, 이전, 실시권 허여 등과 같은 이벤트가 발생되면 지적 재산 문서 데이터의 전자적 지문 정보인 해시 정보와 지적 재산 문서 데이터의 이벤트가 발생된 시간 정보인 타임 스탬프가 결합되어 코드 정보가 생성되며, 이러한 코드 정보를 통해 온체인(on-chain)(예: 블록 체인의 블록)과 오프체인(off-chain)(예: 특허청 서버의 데이터베이스)가 연결될 수 있다. 이를 통해, 공중은 블록 체인을 통해 P2P로 안전하고 편리하게 지적 재산 문서 데이터를 등록/관리/거래할 수 있다.
또한, 하이퍼링크 방식의 블록체인은 블록체인에 메타 데이터가 기록되고, 중앙 집중형 데이터베이스가 풀 데이터(즉, 대상 데이터)를 저장/관리하므로, 하이퍼링크 삭제를 통해 데이터 삭제가 수행될 수도 있다.
일반적으로, 블록체인은 투명성과 무결성을 제공하는 플랫폼이다. 이때, 무결성이란 모든 블록이 이전 블록의 정보를 포함하고, 동일한 블록체인 분산 네트워크에 참여하는 모든 참여자 노드에게 공개되어 한 번 입력된 데이터가 위변조될 수 없다는 특성을 의미한다. 즉, 블록체인은 각종 사이버 공격이 만연하는 정보화 사회에서 안전하고 무결한 신뢰성을 보장하는 P2P 네트워크 형태의 기술이다. 하지만 이러한 블록체인의 위변조 불가능성을 장점으로만 볼 수 없으며, 이는 단순한 실수로 입력한 정보의 수정 또한 불가능하고 한번 실행된 트랜잭션의 취소가 절대 불가하다는 것을 의미하기도 한다. 더욱이 블록체인은 참여자 노드들이 공개적으로 접근 가능하다는 측면에서 투명성을 보장하고 있으므로 이러한 과정에서 공개되지 않아야할 정보가 공개되는 피해가 발생할 수도 있다는 우려가 있다.
초연결을 중심으로 산업 혁명이 일어나는 정보화 사회에 각종 비즈니스 모델은 개방적인 정보 공유와 권한의 분산이 요구되며, 개방형 혁신을 통한 초연결 사회에서 블록체인은 최적화된 기술이라고 할 수 있다. 따라서, 블록체인에 기록되는 개인 정보와 민감 정보의 파기와 수정이 불가능하다는 한계점 극복이 블록체인 상용화의 최우선 과제가 되었다. 블록체인의 기술적 한계점은 개인정보 및 개인에게 민감한 정보를 다루는 산업 분야에서 블록체인을 쉽게 수용하기에는 어렵다는 것을 의미한다.
이러한 한계점은 프라이빗 블록체인이 아닌 중앙 통제 주체가 없는 퍼블릭 블록체인의 경우 더욱 심각한 문제로 여겨진다. 예컨대 허가형 블록체인의 경우 블록체인의 기능을 방해하지 않고 데이터를 지우는 시나리오가 확인된 바 있다. 그러나 노드별 권한과 역할이 평등하게 구성되어 있는 퍼블릭 블록체인은 이와 같은 시나리오를 무분별적으로 적용할 수 없다.
이에, 본 발명은 기존의 중앙 집중형 데이터베이스에서 풀 데이터를 관리하므로, 데이터의 수정이 가능하고, 데이터가 영구히 저장되는 블록체인에 검색을 위해 필요한 최소한의 정보인 메타 데이터만 기록하므로, 프라이버시 및 정보 침해 문제 등을 일차적으로 예방할 수 있다.
한편, 기존 중앙 집중형 데이터베이스 시스템은 클라이언트-서버 네트워크 구조로 이루어져 있으며, 클라이언트가 데이터 생성, 읽기, 업데이트 그리고 삭제의 기능을 수행할 수 있다. 이러한 클라이언트는 중앙 서버에 있는 데이터를 수정하기 위해서 서버의 통제권을 가진 관리자에게 자격을 인증받는다. 인증을 받은 클라이언트는 데이터에 접근할 수 있으며, 쿼리문을 통해 데이터를 갱신할 수 있다. 반면, 블록체인은 블록체인 상의 데이터를 검색하는 읽기 기능과 블록체인 상에 새로운 데이터를 추가하는 생성 기능만이 제공될 수 있다.
위와 같은 기존 체계의 특성 및 이에 따른 한계점을 블록체인을 이용하여 개선함으로써, 안전한 공유의 생태계를 구축할 수 있다. 다시 말해서, 본 발명은 블록체인 계층에서 메타 데이터만 다루며 이를 기반으로 오프 체인 형태로 풀 데이터를 관리할 수 있다.
이러한 경우, 블록체인은 오프 체인에 대한 포인터 역할을 하며, 권한이 있는 사용자는 즉시 각종 정보를 처리할 수 있다. 또한, 하이퍼링크 방식의 블록체인 상에 실제 각종 민감 정보가 직접 입력되지 않으므로, 종래의 블록체인의 데이터 수정/삭제 불가능성이 해결될 수 있다. 뿐만 아니라, 데이터의 파기는 데이터베이스 계층에서 해결될 수 있다.
블록체인은 안전이 보장된 통로로써 데이터베이스를 사용하는 주체들 간 정보를 공유 및 접근할 수 있도록 지원하는 체계이므로, 하나의 보안 시스템과 같이 개인정보를 포함한 각종 데이터를 담은 데이터베이스를 공유하는 트랜잭션 계층 역할을 수행할 수 있다. 이를 통해서, 오프 체인으로 유지되는 데이터베이스의 정보 조작 및 수정 사항은 블록체인 상으로 브로드케스팅하면서 중요 정보에 대한 유효성을 지속해서 증명하며 공유할 수 있게 된다.
다시 말해서, 본 발명은 블록체인의 한계점으로 지적받고 있는 확장성 문제를 해결하기 위해 메타데이터만 블록체인에 저장하고, 블록체인과 기존의 중앙 집중형 데이터베이스를 연결하여 언제 어디서든 투명하고 무결한 데이터 정보를 확인, 관리, 평가할 수 있는 오픈 플랫폼을 제공할 수 있다. 그러므로 공중이 블록체인 기반의 분산 네트워크에서 P2P 방식으로 대상 데이터의 관리 과정에 참여할 수 있고 시스템 효율성이 향상될 수 있다.
본 발명의 실시예에 따른 장치 및 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다.
컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media) 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 더욱 상세하게 설명하였으나, 본 발명은 반드시 이러한 실시예로 국한되는 것은 아니고, 본 발명의 기술사상을 벗어나지 않는 범위 내에서 다양하게 변형 실시될 수 있다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
10: 대상 데이터 관리 시스템
100: 블록 체인 분산 네트워크
110: 노드
112: 통신부
114: 저장부
116: 프로세서
120: 분산 어플리케이션
200: 사용자 장치
210: 통신부
220: 저장부
230: 표시부
240: 전자 지갑
250: 프로세서
300: 저장 서버
310: 데이터베이스
400: 블록 체인 운영체제
410: 블록 체인 모듈
412: Dapp
414: 블록 체인
416: 스마트 컨트랙트 모듈

Claims (16)

  1. 대상 데이터 관리 장치-상기 대상 데이터 관리 장치는 블록 체인 분산 네트워크를 구성하는 복수의 노드 중 어느 하나의 노드에 대응됨-의 프로세서에 의해서 수행되는 블록 체인 기반 대상 데이터 관리 방법에 있어서,
    상기 노드에 구현된 분산 어플리케이션에 접속한 사용자 장치의 요청에 따라 대상 데이터를 생성하는 단계;
    상기 대상 데이터에 관련된 제1 메타 데이터를 생성하는 단계;
    상기 생성된 제1 메타 데이터를 포함하는 제1 블록을 생성하여 상기 제1 블록을 상기 대상 데이터 관리 장치의 저장부에 저장된 블록 체인에 저장하는 단계;
    상기 제1 블록에 포함된 해시값 및 상기 대상 데이터가 생성된 시간 정보를 기반으로 제1 코드 정보를 생성하는 단계; 및
    상기 생성된 제1 코드 정보 및 상기 대상 데이터를 상기 대상 데이터 관리 장치와 연동된 저장 서버의 중앙 집중형 데이터베이스에 저장하는 단계를 포함하고,
    상기 제1 코드 정보는, 상기 대상 데이터가 저장된 상기 중앙 집중형 데이터베이스의 주소 정보로 사용되어,
    상기 중앙 집중형 데이터베이스에 저장된 대상 데이터는, 상기 주소 정보를 통해 액세스 가능한, 블록 체인 기반 대상 데이터 관리 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 대상 데이터가 변경되면 상기 변경된 대상 데이터에 관련된 제2 메타 데이터를 생성하는 단계;
    상기 생성된 제2 메타 데이터를 포함하는 제2 블록을 생성하여 상기 제2 블록을 상기 블록 체인에 저장하는 단계;
    상기 제2 블록에 포함된 정보에 기반하여 제2 코드 정보를 생성하는 단계;
    상기 생성된 제2 코드 정보 및 상기 변경된 대상 데이터를 상기 데이터베이스에 저장하는 단계를 더 포함하고,
    상기 제2 코드 정보는 상기 변경된 대상 데이터가 저장된 상기 데이터베이스의 주소 정보로 사용되는, 블록 체인 기반 대상 데이터 관리 방법.
  4. 제3항에 있어서, 상기 제2 블록에 포함된 정보는,
    상기 변경된 대상 데이터의 해시 정보 및 상기 대상 데이터가 변경된 시간 정보를 포함하는, 블록 체인 기반 대상 데이터 관리 방법.
  5. 제3항에 있어서,
    상기 대상 데이터가 변경되면 상기 변경된 대상 데이터가 저장된 데이터베이스의 주소 정보가 상기 제2 코드 정보를 포함하는 포함하는 주소 정보로 변경되는, 블록 체인 기반 대상 데이터 관리 방법.
  6. 제1항에 있어서,
    상기 대상 데이터에 대한 권리 이전 또는 소유권 이전에 관련된 제1 스마트 컨트랙트를 생성하는 단계;
    상기 생성된 제1 스마트 컨트랙트를 포함하는 제3 블록을 생성하여 상기 제3 블록을 상기 블록 체인에 저장하는 단계;
    상기 제1 스마트 컨트랙트의 계약 조건에 해당하는 동작이 수행되면 상기 스마트 컨트랙트의 계약 내용에 해당하는 권리 이전 또는 소유권 이전에 대한 동작을 수행하는 단계; 및
    상기 제1 스마트 컨트랙트의 계약 이행 내역 또는 계약 이행 결과에 대한 정보를 포함하는 제4 블록을 생성하여 상기 제4 블록을 상기 블록 체인에 저장하는 단계를 포함하는, 블록 체인 기반 대상 데이터 관리 방법.
  7. 제6항에 있어서, 상기 제1 스마트 컨트랙트는,
    사용자의 전자 지갑 주소, 상기 계약 조건 및 상기 계약 조건을 만족하는 경우 수행되는 계약 내용에 대한 정보를 포함하고,
    상기 제1 스마트 컨트랙트는, 계약 대상자의 전자 지갑 주소에 대한 정보를 더 포함하는, 블록 체인 기반 대상 데이터 관리 방법.
  8. 제1항에 있어서,
    상기 대상 데이터에 관련된 계약을 위한 제2 스마트 컨트랙트를 조회하는 단계;
    상기 조회된 제2 스마트 컨트랙트의 계약 조건에 해당하는 동작이 수행되면 상기 제2 스마트 컨트랙트의 계약 내용에 해당하는 동작을 수행하는 단계; 및
    상기 제2 스마트 컨트랙트의 계약 이행 내역 또는 계약 이행 결과에 대한 정보를 포함하는 제5 블록을 생성하여 상기 제5 블록을 상기 블록 체인에 저장하는 단계를 포함하는, 블록 체인 기반 대상 데이터 관리 방법.
  9. 블록 체인 분산 네트워크를 구성하는 복수의 노드 중 어느 하나의 노드로서,
    통신부;
    블록 체인을 저장하도록 구성된 저장부; 및
    상기 통신부 및 상기 저장부와 동작 가능하게 연결되도록 구성된 프로세서를 포함하고,
    상기 프로세서는,
    상기 노드에 구현된 분산 어플리케이션에 접속한 사용자 장치의 요청에 따라 대상 데이터를 생성하고,
    상기 대상 데이터에 관련된 제1 메타 데이터를 생성하고,
    상기 생성된 제1 메타 데이터를 포함하는 제1 블록을 생성하여 상기 제1 블록을 상기 저장부에 저장된 상기 블록 체인에 저장하고,
    상기 제1 블록에 포함된 해시값 및 상기 대상 데이터가 생성된 시간 정보를 기반으로 제1 코드 정보를 생성하고,
    상기 생성된 제1 코드 정보 및 상기 대상 데이터를 상기 통신부와 연동된 저장 서버의 중앙 집중형 데이터베이스에 저장하도록 구성되고,
    상기 제1 코드 정보는 상기 대상 데이터가 저장된 상기 중앙 집중형 데이터베이스의 주소 정보로 사용되고,
    상기 중앙 집중형 데이터베이스에 저장된 대상 데이터는, 상기 주소 정보를 통해 액세스 가능한, 블록 체인 기반 대상 데이터 관리 장치.
  10. 삭제
  11. 제9항에 있어서, 상기 프로세서는,
    상기 대상 데이터가 변경되면 상기 변경된 대상 데이터에 관련된 제2 메타 데이터를 생성하고,
    상기 생성된 제2 메타 데이터를 포함하는 제2 블록을 생성하여 상기 제2 블록을 상기 블록 체인에 저장하고,
    상기 제2 블록에 포함된 정보에 기반하여 제2 코드 정보를 생성하고,
    상기 생성된 제2 코드 정보 및 상기 변경된 대상 데이터를 상기 데이터베이스에 저장하도록 구성되고,
    상기 제2 코드 정보는 상기 변경된 대상 데이터가 저장된 상기 데이터베이스의 주소 정보로 사용되는, 블록 체인 기반 대상 데이터 관리 장치.
  12. 제11항에 있어서, 상기 제2 블록에 포함된 정보는,
    상기 변경된 대상 데이터의 해시 정보 및 상기 대상 데이터가 변경된 시간 정보를 포함하는, 블록 체인 기반 대상 데이터 관리 장치.
  13. 제11항에 있어서,
    상기 대상 데이터가 변경되면 상기 변경된 대상 데이터가 저장된 데이터베이스의 주소 정보가 상기 제2 코드 정보를 포함하는 포함하는 주소 정보로 변경되는, 블록 체인 기반 대상 데이터 관리 장치.
  14. 제9항에 있어서, 상기 프로세서는,
    상기 대상 데이터에 대한 권리 이전 또는 소유권 이전에 관련된 제1 스마트 컨트랙트를 생성하고,
    상기 생성된 제1 스마트 컨트랙트를 포함하는 제3 블록을 생성하여 상기 제3 블록을 상기 블록 체인에 저장하고,
    상기 제1 스마트 컨트랙트의 계약 조건에 해당하는 동작이 수행되면 상기 스마트 컨트랙트의 계약 내용에 해당하는 권리 이전 또는 소유권 이전에 대한 동작을 수행하고,
    상기 제1 스마트 컨트랙트의 계약 이행 내역 또는 계약 이행 결과에 대한 정보를 포함하는 제4 블록을 생성하여 상기 제4 블록을 상기 블록 체인에 저장하도록 구성된, 블록 체인 기반 대상 데이터 관리 장치.
  15. 제14항에 있어서,
    상기 제1 스마트 컨트랙트는,
    사용자의 전자 지갑 주소, 상기 계약 조건 및 상기 계약 조건을 만족하는 경우 수행되는 계약 내용에 대한 정보를 포함하고,
    상기 제1 스마트 컨트랙트는, 계약 대상자의 전자 지갑 주소에 대한 정보를 더 포함하는, 블록 체인 기반 대상 데이터 관리 장치.
  16. 제9항에 있어서, 상기 프로세서는,
    상기 대상 데이터에 관련된 계약을 위한 제2 스마트 컨트랙트를 조회하고,
    상기 조회된 제2 스마트 컨트랙트의 계약 조건에 해당하는 동작이 수행되면 상기 제2 스마트 컨트랙트의 계약 내용에 해당하는 동작을 수행하고,
    상기 제2 스마트 컨트랙트의 계약 이행 내역 또는 계약 이행 결과에 대한 정보를 포함하는 제5 블록을 생성하여 상기 제5 블록을 상기 블록 체인에 저장하도록 구성된, 블록 체인 기반 대상 데이터 관리 장치.
KR1020190058756A 2018-05-21 2019-05-20 블록 체인 기반 대상 데이터 관리 방법 및 장치 KR102288045B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020180057979 2018-05-21
KR20180057979 2018-05-21

Publications (2)

Publication Number Publication Date
KR20190132938A KR20190132938A (ko) 2019-11-29
KR102288045B1 true KR102288045B1 (ko) 2021-08-10

Family

ID=68532614

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190058756A KR102288045B1 (ko) 2018-05-21 2019-05-20 블록 체인 기반 대상 데이터 관리 방법 및 장치

Country Status (2)

Country Link
US (1) US11475437B2 (ko)
KR (1) KR102288045B1 (ko)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110827008B (zh) * 2018-08-08 2023-07-18 华为技术有限公司 一种区块链节点和交易方法
US10860659B1 (en) * 2018-09-06 2020-12-08 Amazon Technologies, Inc. Distributed verification of digital work product
US11182866B2 (en) 2019-02-20 2021-11-23 Aon Risk Services, Inc. Of Maryland Digital property authentication and management system
US11699203B2 (en) 2019-02-20 2023-07-11 Aon Risk Services, Inc. Of Maryland Digital property authentication and management system
US11469904B1 (en) * 2019-03-21 2022-10-11 NortonLifeLock Inc. Systems and methods for authenticating digital media content
JPWO2021124558A1 (ko) * 2019-12-20 2021-06-24
CN110912937B (zh) * 2019-12-23 2021-09-07 杭州中科先进技术研究院有限公司 一种基于区块链的数字存证平台和存证方法
KR102263692B1 (ko) * 2019-12-30 2021-06-14 충남대학교 산학협력단 이더리움 스마트계약 가상머신 바이트코드 보안성 향상 방법
US11144335B2 (en) * 2020-01-30 2021-10-12 Salesforce.Com, Inc. System or method to display blockchain information with centralized information in a tenant interface on a multi-tenant platform
KR102385702B1 (ko) * 2020-02-13 2022-04-11 동국대학교 경주캠퍼스 산학협력단 데이터 분석 서비스 방법 및 이를 이용한 데이터 분석 시스템
CN111596954B (zh) * 2020-05-12 2023-08-01 杭州溪塔科技有限公司 一种基于区块链的分布式版本控制方法及系统
CN111488388B (zh) * 2020-05-27 2023-10-13 支付宝(杭州)信息技术有限公司 一种数据存储合约的部署方法、装置及设备
KR102340881B1 (ko) * 2020-06-03 2021-12-20 주식회사 포멀웍스 블록체인 기반 IoT 서비스 플랫폼 제공 방법 및 시스템
SG11202102583UA (en) 2020-06-08 2021-04-29 Alipay Labs Singapore Pte Ltd Blockchain-based document registration for custom clearance
SG11202103081RA (en) 2020-06-08 2021-04-29 Alipay Labs Singapore Pte Ltd Distributed storage of custom clearance data
CN111989663A (zh) * 2020-06-08 2020-11-24 支付宝实验室(新加坡)有限公司 基于区块链的智能合约池
SG11202102402QA (en) 2020-06-08 2021-04-29 Alipay Labs Singapore Pte Ltd Blockchain-based import custom clearance data processing
EP3841507B1 (en) 2020-06-08 2023-04-26 Alipay Labs (Singapore) Pte. Ltd. User management of blockchain-based custom clearance service platform
WO2020169126A2 (en) 2020-06-08 2020-08-27 Alipay Labs (singapore) Pte. Ltd. Managing user authorizations for blockchain-based custom clearance services
JP7163351B2 (ja) * 2020-11-05 2022-10-31 株式会社日立製作所 電子取引システム、電子取引システムのデータ秘匿化方法
KR102267560B1 (ko) * 2020-11-13 2021-06-21 주식회사 케이사인 블록 체인에 저장되는 데이터 크기를 축소할 수 있는 데이터의 변경 이력 관리 방법
CN112508707B (zh) * 2021-02-03 2021-05-07 国网电子商务有限公司 一种基于标识和区块链的新能源数据汇聚方法及交易系统
KR20230004216A (ko) 2021-06-30 2023-01-06 주식회사 아티프렌즈 블록체인 기반의 미디어 콘텐츠용 토큰 발행 서비스 제공 장치 및 방법
US20230113941A1 (en) * 2021-10-07 2023-04-13 Dell Products L.P. Data confidence fabric view models
KR102499947B1 (ko) * 2022-08-09 2023-02-16 주식회사 스웹트파운데이션코리아 하드웨어보안모듈을 이용한 암호키 및 스마트컨트랙트 이행 관리시스템
KR102539908B1 (ko) * 2022-09-05 2023-06-13 주식회사 악시오홀딩스 블록체인 백오피스를 이용한 디지털화폐 청산장치
KR102589543B1 (ko) * 2023-02-08 2023-10-16 주식회사 인크립팅 하드웨어보안모듈을 이용하여 사용자인증을 수행하는 암호키 관리시스템

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2991211C (en) * 2015-07-02 2024-02-20 Nasdaq, Inc. Systems and methods of secure provenance for distributed transaction databases
US20170264428A1 (en) * 2016-03-08 2017-09-14 Manifold Technology, Inc. Data storage system with blockchain technology
US11188883B2 (en) * 2016-09-23 2021-11-30 International Business Machines Corporation Using ledger sensors to enable contextual contracts across various enterprise blockchain applications
US10990693B1 (en) * 2016-12-02 2021-04-27 Wells Fargo Bank, N.A. System of managing data across disparate blockchains
US10225078B2 (en) * 2017-02-09 2019-03-05 International Business Machines Corporation Managing a database management system using a blockchain database
US10944546B2 (en) * 2017-07-07 2021-03-09 Microsoft Technology Licensing, Llc Blockchain object interface
KR20180041055A (ko) * 2017-09-06 2018-04-23 주식회사 코인플러그 스마트 컨트랙트 기반의 인증서 서비스를 제공하는 방법 및 이를 이용한 서버
US10880071B2 (en) * 2018-02-23 2020-12-29 Samsung Electronics Co., Ltd. Programmable blockchain solid state drive and switch
US20190279241A1 (en) * 2018-03-12 2019-09-12 Joseph DiTomaso Content-based mining via blockchain

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Welcom to Hyberledger Fabric, Architecture Explained, https://hyperledger-fabric.readthedocs.io/en/release/arch-deep-dive.html(2017.) 1부.*
신다혜, 이종협. "핀테크를 위한 스마트 컨트랙트 보안." 정보처리학회지, Vol. 22, pp. 54-62(2015.) 1부.*

Also Published As

Publication number Publication date
KR20190132938A (ko) 2019-11-29
US11475437B2 (en) 2022-10-18
US20190354967A1 (en) 2019-11-21

Similar Documents

Publication Publication Date Title
KR102288045B1 (ko) 블록 체인 기반 대상 데이터 관리 방법 및 장치
Ocheja et al. Managing lifelong learning records through blockchain
US11588619B2 (en) Generating customized smart contracts
Joshi et al. A survey on security and privacy issues of blockchain technology.
US20210383377A1 (en) Decentralized identity verification platforms
Konashevych General concept of real estate tokenization on blockchain: The right to choose
US10142312B2 (en) System for establishing secure access for users in a process data network
US20200058023A1 (en) Decentralized Data Marketplace
US20170293898A1 (en) Static ctyptographic currency value
JP2022103306A (ja) ブロックチェーンに登録されたデジタルアセットを分配する方法及び自律計算エージェント
Liu et al. A survey for the application of blockchain technology in the media
US20170243222A1 (en) System for use of secure data from a process data network as secured access by users
CN116982033A (zh) 先进的不可替代令牌区块链架构
US11386232B2 (en) Distributed data management and verification
US20210365584A1 (en) Portable reputation brokering using linked blockchains and shared events
Menges et al. DEALER: decentralized incentives for threat intelligence reporting and exchange
US20220036323A1 (en) Electronic wallet allowing virtual currency expiration date
Anthony Jr Deployment of distributed ledger and decentralized technology for transition to smart industries
Waelbroeck An economic analysis of blockchains
Pouwelse et al. Laws for creating trust in the blockchain age
Dash et al. Artificial intelligence models for blockchain-based intelligent networks systems: Concepts, methodologies, tools, and applications
US20240086876A1 (en) Systems and methods for private network issuance of digital currency
US20230013949A1 (en) Interactive user interface systems and methods for analyzing transaction attributes and dispute information using blockchain
CN115099800A (zh) 基于区块链的用于对不良资产数据进行转让的方法及装置
KR102450412B1 (ko) 사물인터넷에서 서비스 수준 협약 기반 공유경제 서비스 제공시스템 및 제공방법

Legal Events

Date Code Title Description
A201 Request for examination
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