KR20190136245A - 블록체인 기반 컨텐츠 관리 방법 및 상기 방법을 수행하는 시스템 - Google Patents

블록체인 기반 컨텐츠 관리 방법 및 상기 방법을 수행하는 시스템 Download PDF

Info

Publication number
KR20190136245A
KR20190136245A KR1020180061686A KR20180061686A KR20190136245A KR 20190136245 A KR20190136245 A KR 20190136245A KR 1020180061686 A KR1020180061686 A KR 1020180061686A KR 20180061686 A KR20180061686 A KR 20180061686A KR 20190136245 A KR20190136245 A KR 20190136245A
Authority
KR
South Korea
Prior art keywords
data
blockchain
content
node
storage
Prior art date
Application number
KR1020180061686A
Other languages
English (en)
Other versions
KR102084674B1 (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 KR1020180061686A priority Critical patent/KR102084674B1/ko
Priority to US16/163,761 priority patent/US20190372756A1/en
Publication of KR20190136245A publication Critical patent/KR20190136245A/ko
Application granted granted Critical
Publication of KR102084674B1 publication Critical patent/KR102084674B1/ko

Links

Images

Classifications

    • 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
    • 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/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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
    • 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
    • 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/1873Versioning file systems, temporal file systems, e.g. file system supporting different historic versions of files
    • H04L67/2804
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/561Adding application-functional data or data for application control, e.g. adding metadata
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • 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/3226Cryptographic 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 a predetermined code, e.g. password, passphrase or PIN
    • 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/3263Cryptographic 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 involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • 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
    • H04L2209/38

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Power Engineering (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

실시예들은 하나 이상의 노드를 포함한 블록체인 네트워크를 이용하는 블록체인 기반 컨텐츠 관리 방법 및 상기 방법을 수행하는 시스템에 관한 것으로서, 각 노드는 오프라인 스토리지; 및 블록체인을 저장하는 블록체인 분산 스토리지를 포함하고, 상기 방법은, 제1 노드에서 상기 오프라인 스토리지의 폴더를 상기 블록체인 분산 스토리지에 동기화하는 단계; 상기 폴더에 저장된 컨텐츠 파일의 컨텐츠에 대응하는 원시 데이터(raw data)를 검출하여 상기 컨텐츠의 버전 데이터를 결정하는 단계; 상기 버전 데이터에 기초하여 상기 컨텐츠 파일에 대한 메타 데이터 세트를 생성하는 단계; 상기 버전 데이터와 메타 데이터 세트에 기초하여 블록체인 저장용 데이터를 결정하고, 상기 블록체인 저장용 데이터를 암호화하는 단계; 및 암호화된 데이터를 포함한 트랜잭션을 상기 블록체인에 저장하는 단계를 포함한다.

Description

블록체인 기반 컨텐츠 관리 방법 및 상기 방법을 수행하는 시스템{METHOD FOR MANAGING CONTENT BASED ON BLOCKCHAIN AND SYSTEM PERFORMING THE METHOD}
본 발명은 블록체인에 기반하여 컨텐츠를 관리하는 기술에 관한 것으로서, 보다 상세하게는 컨텐츠(예를 들어, 연구노트(research note)와 같은 연구 관련 컨텐츠)를 데이터화한 컨텐츠 파일에 일 회 이상 수정을 적용하는 과정에 있어서 상기 컨텐츠 파일을 블록체인에 저장하고 관리하는 블록체인 기반 컨텐츠 관리 방법 및 상기 방법을 수행하는 시스템에 관한 것이다.
특정한 연구를 수행하는 연구자는 상기 연구 과정에서 얻어지는 결과를 기록으로 정리한 연구 노트를 작성할 수 있다. 최근에는 연구 노트를 작성하는 것이 연구자에게 매우 도움이 되기 때문에, 연구 수행에 있어서 연구 노트를 작성하고 관리하는 것이 필수적으로 요구된다.
상기 연구 노트를 작성하고 관리하는 것은 다양한 이점이 있다. 예를 들어, 연구 내용의 망각을 방지하는 연구 효율성 제고 측면, 연구를 지원하는 지원자(예컨대, 고용주, 투자자, 정부 등)에게 연구 과정을 보고하기 위한 보고 측면, 미래의 분쟁(예컨대, 부정경쟁방지와 영업비밀의 보호, 직무발명 증명 등)에 대비하기 위한 분쟁 방지 예방 측면, 연구 결과에 대한 진실성 검증을 위한 연구 윤리 검증 측면에서 이점을 가진다.
따라서, 연구 노트를 작성하고 관리하는 것은 매우 중요하며 대한민국 정부는 2008년부터 법률, 행정 규제, 기술적 내용, 과학적 요구를 모두 충족할 수 있는 예시적인 가이드 라인을 제공하는 한국형 전자연구노트 사업을 개발 및 보급하고 있다. 예시적인 가이드 라인은 전자 연구노트의 조건, 전자 연구노트의 사용, 전자 연구노트가 증거로서 활용되기 위한 기준 등에 관련된다. 상기 전자 연구노트의 조건은 전자 연구노트의 기록자와 점검자의 서명이 인증가능해야 할 것, 연구 기록 입력일 및 시간이 자동으로 기록될 것, 입력기록에 대한 수정내역이 영구적으로 기록될 것 등을 포함한다. 전자 연구노트의 사용은 연구내용 및 데이터가 전자문서 형태로 기록 및 저장될 것, 공유 필요성이 높을 경우 사용될 것, 연구 및 성과 관리 시스템과 연동되어 사용될 것, 항목별 작성법과 작성원칙 등이 서면 연구노트와 동일할 것 등을 포함한다. 증거로서 활용되기 위한 기준은 연구기록이 연구가 이루어진 시점 혹은 시간이 얼마 경과하지 않은 시점에 입력될 것, 연구에 대한 지식이 있는자가 입력 또는 전송을 하여 기록될 것, 기관의 전자 연구노트 기록 입력 소프트웨어 또는 하드웨어 관리자가 전술한 사항들을 증명할 수 있을 것 등을 포함한다.
도 1은 연구노트를 작성하는데 사용되는 예시적인 화면을 도시한 도면이다. 도 1에 도시된 바와 같이, 현재 상기 가이드 라인을 따르는 다양한 솔루션들을 통해 전자 연구 노트 서비스들이 제공되고 있다. 그러나, 현재의 전자 연구 노트 서비스는 모든 기능이 연구 노트 서비스 제공자에게 종속적인 문제가 있다. 때문에 서비스 제공자의 전자 연구노트 서비스의 버전 관리가 소홀할 경우 사용자의 불편이 야기될 수 있다. 또한, 서비스 제공자의 시스템 장애 발생시 사용자가 대처하는데 제한적이고, 데이터가 영구적으로 손상될 가능성이 있다.
또한, 첨부 파일을 별도로 등록해야 하므로, 이 과정에서 필수 내용이 누락될 가능이 있고 매번 반복될 경우 사용자가 불편함을 느낄 수 있다. 논문 및 보고서 작성 등을 위해서는 동일 내용을 다른 문서 프로그램을 사용하여 다시 작성해야 한다.
나아가, 외부 연구 기관의 외부 연구원과 공동으로 연구노트를 작성하는 것과 같은 협업이 제한적이다. 특히, 한국형 공인 인증 등을 필요로 하는 전자 연구노트 서비스의 경우 외국 연구원의 참여가 거의 불가능한 한계가 있었다.
특허공개공보 제10-2013-0120734호
본 발명은 일 회 이상 수정이 적용되는 컨텐츠를 블록체인에 저장하고 관리하는 블록체인 기반 컨텐츠 관리 방법 및 상기 방법을 수행하는 시스템을 제공할 수 있다.
본 발명의 일 측면에 따른 하나 이상의 노드를 포함한 블록체인 네트워크를 이용하는 블록체인 기반 컨텐츠 관리 방법에 있어서, 각 노드는 오프라인 스토리지; 및 블록체인을 저장하는 블록체인 분산 스토리지를 포함하고, 상기 블록체인은 블록들이 연결되어 이루어지며, 상기 방법은 제1 노드에서 상기 오프라인 스토리지의 폴더를 상기 블록체인 분산 스토리지에 동기화하는 단계; 상기 폴더에 저장된 컨텐츠 파일의 컨텐츠에 대응하는 원시 데이터(raw data)를 검출하여 상기 컨텐츠의 버전 데이터를 결정하는 단계; 상기 버전 데이터에 기초하여 상기 컨텐츠 파일에 대한 메타 데이터 세트를 생성하는 단계; 상기 버전 데이터와 메타 데이터 세트에 기초하여 블록체인 저장용 데이터를 결정하고, 상기 블록체인 저장용 데이터를 암호화하는 단계; 및 암호화된 데이터를 포함한 트랜잭션을 상기 블록체인에 저장하는 단계를 포함할 수 있다.
일 실시예에서, 상기 버전 데이터를 결정하는 단계는 상기 컨텐츠 파일에 대한 소정의 명령이 수신되는 경우 명령 전후의 컨텐츠 파일을 비교하는 단계 - 상기 비교하는 단계는 명령 전의 컨텐츠에 대응하는 제1 원시 데이터와 명령 후의 컨텐츠에 대응하는 제2 원시 데이터를 비교하여 수행됨; 상기 제1 원시 데이터와 제2 원시 데이터에 차이가 없는 경우, 상기 제1 원시 데이터를 검출하여 버전 데이터로 결정하는 단계; 및 상기 제1 원시 데이터와 제2 원시 데이터에 차이가 있는 경우, 상기 명령 전후의 원시 데이터 차이에 대응하는 데이터를 검출하여 버전 데이터로 결정하는 단계를 포함할 수 있다.
일 실시예에서, 상기 제1 원시 데이터와 제2 원시 데이터에 차이가 있는 경우, 상기 명령 후의 컨텐츠 파일에 대한 메타 데이터 세트는 상기 제1 원시 데이터와 제2 원시 데이터 차이의 버전 데이터에 기초하여 업데이트될 수 있다.
일 실시예에서, 상기 명령 전 버전 데이터에 연관된 트랜잭션을 포함한 블록과 상기 명령 후 버전 데이터에 연관된 트랜잭션을 포함한 블록은 서로 상이할 수 있다.
일 실시예에서, 상기 방법은 상기 컨텐츠 파일을 실행하기 위한 명령이 수신되면, 상기 컨텐츠 파일에 연관된 트랜잭션을 상기 블록체인에서 검색하는 단계(retrieving); 검색된 트랜잭션에 포함된 암호화된 데이터를 복호화하는 단계; 및 상기 복호화된 데이터를 사용하여 상기 컨텐츠 파일을 실행하는 단계를 더 포함할 수 있다.
일 실시예에서, 상기 컨텐츠 파일을 실행하는 단계는 검색된 트랜잭션이 하나 이상인 경우, 각 트랜잭션의 버전 데이터를 결합하여 상기 컨텐츠 파일을 실행하는 단계를 포함할 수 있다.
일 실시예에서, 상기 암호화하는 단계는 검증을 위해 암호화하는 단계를 포함할 수 있다.
일 실시예에서, 각 노드는 개인 키(private key) 및 공개 키(public key)를 구비하며, 상기 검증을 위해 암호화하는 단계는 상기 개인 키를 사용하여 블록체인 저장용 데이터를 암호화하는 단계를 포함할 수 있다.
일 실시예에서, 암호화하는 단계는 기밀을 위해 암호화하는 단계를 포함할 수 있다.
일 실시예에서, 상기 기밀을 위해 암호화하는 단계는 각 노드에 대하여 미리 설정된 비밀번호(password)를 사용하여 암호화하는 단계를 포함하는 포함할 수 있다.
일 실시예에서, 상기 방법은 상기 제1 노드는 기밀을 위해 암호화된 데이터를 사용할 수 있는 권한을 제2 노드에게 제공하는 단계를 더 포함할 수 있다.
일 실시예에서, 상기 제2 노드는 외국에 위치할 수 있다.
일 실시예에서, 상기 블록체인 저장용 데이터는 버전 데이터를 포함할 수 있다.
일 실시예에서, 상기 메타 데이터 세트는 기본 메타 데이터를 포함할 수 있다. 여기서, 기본 메타 데이터는 파일 소유자, 오프라인 스토리지 상의 파일 경로, 생성 시각, 및 접근 권한을 포함할 수 있다.
일 실시예에서, 상기 메타 데이터 세트는 컨텐츠 메타 데이터를 포함할 수 있다. 여기서, 컨텐츠 메타 데이터는 컨텐츠 분석 모델에 의해 상기 컨텐츠 파일의 컨텐츠로부터 검출된다.
일 실시예에서, 상기 컨텐츠 분석 모델은 RAKE(rapid automatic keyword extraction), 또는 TF-IDF(Term Frequency-Inverse Document Frequency) 등에 기반하여 구성된다.
일 실시예에서, 상기 블록체인에 저장하는 단계는 상기 블록체인에 포함된 이용가능한 블록에 상기 트랜잭션을 기록하는 단계; 및 제2 노드에 상기 트랜잭션을 전파하는 단계를 포함할 수 있다.
일 실시예에서, 상기 블록체인 저장용 데이터는 상기 버전 데이터에 접근할 수 있는 접근 데이터를 더 포함할 수 있다.
일 실시예에서, 상기 버전 데이터를 데이터베이스 노드에 업로드하는 단계를 더 포함할 수 있다.
본 발명의 다른 일 측면에 따른 컴퓨터 판독가능 기록매체는 컴퓨터에 의해 판독가능하고, 상기 컴퓨터에 의해 동작 가능한 프로그램 명령어를 저장할 수 있다. 여기서, 상기 프로그램 명령어는 상기 컴퓨터의 프로세서에 의해 실행되는 경우 상기 프로세서가 상술한 실시예들에 따른 방법을 수행하게 한다.
본 발명의 또 다른 일 측면에 따른 하나 이상의 노드를 포함한 블록체인 네트워크를 이용하는 블록체인 기반 컨텐츠 관리 시스템에 있어서, 각 노드는 데이터 처리 모듈, 블록체인 실행 모듈, 오프라인 스토리지, 및 블록체인을 저장하는 블록체인 분산 스토리지를 포함하고, 상기 블록체인은 블록들이 연결되어 이루어지며, 상기 데이터 처리 모듈에 의해 상기 폴더에 저장된 컨텐츠 파일의 컨텐츠에 대응하는 원시 데이터(raw data)를 검출하여 상기 컨텐츠의 버전 데이터를 결정하는 단계; 및 상기 버전 데이터에 기초하여 상기 컨텐츠 파일에 대한 메타 데이터 세트를 생성하는 단계를 수행하고, 상기 블록체인 실행 모듈에 의해 상기 버전 데이터와 메타 데이터 세트에 기초하여 블록체인 저장용 데이터를 결정하고, 상기 블록체인 저장용 데이터를 암호화하는 단계; 및 암호화된 데이터를 포함한 트랜잭션을 상기 블록체인에 저장하는 단계를 수행하도록 구성되될 수 있다.
본 발명의 일 측면에 따른 블록체인 기반 컨텐츠 관리 방법은 블록체인에 컨텐츠 관련 데이터를 저장하여 디지털 공증과 영구적인 데이터 보관이 가능하다. 특히, 데이터 보안의 측면에서 무결성 검증이 가능하다. 따라서, 작성자의 윤리적 검증, 작성 결과에 대한 분쟁 방지 역할을 하는 연구 관련 정보를 작성하는데 사용될 수 있다.
또한, 블록체인에 동기화된 폴더에 작성 결과를 저장하기 때문에 별도의 파일 업로드가 요구되지 않아 사용자 편의성이 극대화된다. 그리고, 기계학습을 활용하여 컨텐츠 파일에 대한 메타 데이터를 생성할 수 있다. 나아가, 블록체인의 분산 특성으로 인해 Single point of Failure의 문제점을 해결할 수 있다.
또한, 블록체인을 통한 트랜잭션의 전파로 인해 시스템 내의 참여자들이 컨텐츠를 공유할 수 있다. 만약, 컨텐츠가 기밀 처리된 경우, 권한이 부여되기만 하면 접근할 수 있다. 따라서, 작성자(또는 작성자가 소속된 그룹)의 외부 사용자와 공동으로 연구노트를 작성하는 것과 같은 협업이 쉽게 가능하다. 특히, 연구노트 사용시 마다 한국형 공인 인증 등을 요구하지 않기 때문에 외국 연구원의 참여가 매우 쉽다.
나아가, 연구 과정을 기록한 연구 관련 정보에 있어서 일정 부분은 노하우로 보존해야 하기 때문에 비밀성이 유지되도록 기밀 설정하고, 일정 부분은 논문 발표나 외부 기관에 보고해야 하여 공개되도록 선별적으로 설정할 수 있다. 따라서, 특정 컨텐츠 파일에 대해서는 결과물 공유를 통한 온라인 학술지 역할이 가능하다.
본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
본 발명 또는 종래 기술의 실시예의 기술적 해결책을 보다 명확하게 설명하기 위해, 실시예에 대한 설명에서 필요한 도면이 아래에서 간단히 소개된다. 아래의 도면들은 본 명세서의 실시예를 설명하기 목적일 뿐 한정의 목적이 아니라는 것으로 이해되어야 한다. 또한, 설명의 명료성을 위해 아래의 도면들에서 과장, 생략 등 다양한 변형이 적용된 일부 요소들이 도시될 수 있다.
도 1은 연구노트를 작성하는데 사용되는 예시적인 화면을 도시한 도면이다.
도 2는, 본 발명의 일 실시예에 따른, 블록체인 기반 컨텐츠 관리 방법을 수행하는 시스템의 개념적인 구성도이다.
도 3은, 본 발명의 일 실시예에 따른, 블록체인 기반 컨텐츠 관리 방법의 흐름도이다.
도 4는, 본 발명의 일 실시예에 따른, 동기화 폴더가 활용되는 예시를 설명하기 위한 도면이다.
도 5a 내지 도 5b는, 본 발명의 일 실시예에 따른, 수정되기 이전에 컨텐츠 파일이 블록체인에 저장되는 과정을 설명하기 위한 도면이다.
도 6a 내지 도 6b는, 본 발명의 일 실시예에 따른, 도5의 컨텐츠 파일이 수정된 이후 블록체인에 저장되는 과정을 설명하기 위한 도면이다.
도 7은, 본 발명의 일 실시예에 따른, 수정 전후의 컨텐츠 관련 데이터를 저장한 블록체인을 예시적으로 도시한 도면이다.
도 8은, 본 발명의 일 실시예에 따른, 블록체인에 저장된 컨텐츠 관련 데이터가 활용되는 일 예시를 설명하는 도면이다.
도 9는, 본 발명의 일 실시예에 따른, 블록체인에 저장된 파일을 공개하기 위해 활용되는 예시를 설명하기 위한 도면이다.
여기서 사용되는 전문 용어는 단지 특정 실시예를 언급하기 위한 것이며, 본 발명을 한정하는 것을 의도하지 않는다. 여기서 사용되는 단수 형태들은 문구들이 이와 명백히 반대의 의미를 나타내지 않는 한 복수 형태들도 포함한다. 명세서에서 사용되는 "포함하는"의 의미는 특정 특성, 영역, 정수, 단계, 동작, 요소 및/또는 성분을 구체화하며, 다른 특성, 영역, 정수, 단계, 동작, 요소 및/또는 성분의 존재나 부가를 제외시키는 것은 아니다.
다르게 정의하지는 않았지만, 여기에 사용되는 기술용어 및 과학용어를 포함하는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 일반적으로 이해하는 의미와 동일한 의미를 가진다. 보통 사용되는 사전에 정의된 용어들은 관련기술문헌과 현재 개시된 내용에 부합하는 의미를 가지는 것으로 추가 해석되고, 정의되지 않는 한 이상적이거나 매우 공식적인 의미로 해석되지 않는다.
본 명세서에서 "컨텐츠"는 컨테츠 파일이 실행되어 구현되는 것으로서, 텍스트, 이미지, 비디오, 오디오, 그래픽, 기타 컨텐츠 유형으로 구현된다. 이하, 설명의 명료성을 위해, 본 발명은 하루 이상의 기간 동안 수행되는 연구에 대하여 다수의 수정이 적용되고, 텍스트, 이미지 및/또는 비디오로 구현되는 "연구노트"를 컨텐츠의 예시로 적용한 실시예들에 기초하여 설명된다.
본 명세서에서 "노드"는 블록체인 네트워크의 참여자로서, 서버, 개인용 컴퓨터, 스마트 폰, 단말기 등 다양한 통신 가능한 전자장비를 포함한다.
이하에서, 도면을 참조하여 본 발명의 실시예들에 대하여 상세히 살펴본다.
도 2는, 본 발명의 일 실시예에 따른, 블록체인 기반 컨텐츠 관리 방법을 수행하는 시스템의 개념적인 구성도이다.
도 2를 참조하면, 블록체인 기반 컨텐츠 관리 방법을 수행하는 시스템(이하, "블록체인 기반 컨텐츠 관리 시스템")(1)은 하나 이상의 노드((100A), (100B), ? , 100N)를 포함한 블록체인 네트워크(10)를 이용하는 시스템으로서, 각 노드((100A), (100B), ?, 100N)는 분산 스토리지(110), 오프라인 스토리지(130), 데이터 처리 모듈(150), 및 블록체인 실행 모듈(170)를 포함한다.
실시예들에 따른 블록체인 기반 컨텐츠 관리 시스템(1)은 전적으로 하드웨어이거나, 전적으로 소프트웨어이거나, 또는 부분적으로 하드웨어이고 부분적으로 소프트웨어인 측면을 가질 수 있다. 예컨대, 신원확인 장치(1)는 데이터 처리 능력이 구비된 하드웨어 및 이를 구동시키기 위한 운용 소프트웨어를 통칭할 수 있다. 본 명세서에서 "부(unit)", "모듈(module)", "장치", 또는 "시스템" 등의 용어는 하드웨어 및 해당 하드웨어에 의해 구동되는 소프트웨어의 조합을 지칭하는 것으로 의도된다. 예를 들어, 하드웨어는 CPU(Central Processing Unit), GPU(Graphic Processing Unit) 또는 다른 프로세서(processor)를 포함하는 데이터 처리 기기일 수 있다. 또한, 소프트웨어는 실행중인 프로세스, 객체(object), 실행파일(executable), 실행 스레드(thread of execution), 프로그램(program) 등을 지칭할 수 있다.
여기서, 블록체인 네트워크(10)는 상기 블록체인을 분산 원장(distyributed ledger)으로 이용하고자 하는 노드로 구성된 네트워크로서, 상기 분산 원장은 거래정보를 기록한 원장을 특정 기관의 중앙 서버가 아닌, peer-to-peer 네트워크에 분산하여 구성원에 의해 공동으로 기록되고 관리된다. 블록체인 네트워크(10)의 각 구성원(즉, 노드)은 합의(consensus) 프로토콜을 사용하여 원장(ledger) 내용(일반적으로 트랜잭션으로 지칭됨)에 대해 동의 과정을 거친다. 블록체인 네트워크(10)는 모든 노드에서 합의된 트랜잭션을 시간 순서대로 기록하며, 한번 블록체인에 저장된 트랜잭션의 기록은 변경할 수 없다. 또한, 블록체인 네트워크(10)는 트랜잭션의 무결성을 보장하기 위해 PKI 알고리즘에 기반한 전자 서명(digital signature)을 사용한다.
여기서, 블록체인은 다수의 트랜잭션이 일정 시간 마다 그룹화되어 하나의 블록(block)을 생성하고, 기존에 생성된 블록에 상기 블록이 체인(chain)처럼 계속적으로 연결되는 데이터 구조를 나타낸다. 상기 블록들에는 다양한 정보들이 포함될 수 있다. 일부 실시예들에서, 상기 블록들은 해당 블록의 블록 해쉬(Hash) 값, 논스(Nonce) 값, 이전 블록의 블록 해쉬값 등을 포함할 수도 있다. 상기 해쉬값과 논스값은 사전 설정된 해쉬 함수(hash function)를 이용하여 구한 값들이다. 또한, 상기 시스템(1)을 실행하는 소프트웨어에 대한 정보, 블록 생성 시각, 노드(100)에 연관된 정보(예컨대, 노드(100)의 IP 주소 등) 등을 포함할 수도 있다.
이러한 블록체인은 블록체인 네트워크(10)에 포함된 각 노드의 블록체인 분산 스토리지(이하, "분산 스토리지")(170)에 저장된다. 각 노드의 분산 스토리지(110)는 블록체인 네트워크에 의해 생성된 블록체인 결과를 각 노드에 분산 저장하기 위한 소정의 저장 공간으로서, 블록체인 네트워크(10)의 전체 분산 스토리지를 구성하는 스토리지 컴포넌트를 의미한다. 블록체인에 저장되는 데이터는 블록체인 네트워크(10)를 통해 다른 노드들에 전파되며, 데이터의 전파 결과는 다시 상기 다른 노드들에 저장된다. 모든 노드들에게 전파된 결과, 각 노드의 분산 스토리지(110)에 저장된 블록체인은 실질적으로 동일하며, 전파된 데이터의 유효성을 검증하는데 충분하다. 본 명세서에서는 특별한 한정이 없는 한 각 노드(100)의 분산 스토리지(110)의 블록체인에 저장되는 것을 블록체인 네트워크(10)의 블록체인에 저장되는 것으로 설명한다.
오프라인 스토리지(130)는 노드(100)의 데이터 및/또는 파일을 오프라인 상태에서도 저장할 수 있는 메모리 모듈이다. 노드(100)에 수신(예컨대, 입력, 전파 등)된 데이터 및/또는 파일들은 오프라인 스토리지(130)에서 생성되고 저장된다.
노드(100)의 오프라인 스토리지(130)와 블록체인 분산 스토리지(110)는 반드시 물리적으로 구분되는 별개의 저장 구성요소를 지칭하는 것으로 의도되지 않는다. 즉, 이들이 구현된 장치(즉, 노드(100))에서 수행하는 동작에 따라 상기 장치를 기능적으로 구분한 것일 뿐, 반드시 각각의 스토리자가 독립적인 컴포넌트로 구비되어야 하는 것은 아니다.
상기 상기 시스템(1) 및/또는 노드(100)가 본 명세서에 서술되지 않은 다른 구성요소를 포함할 수도 있다는 것이 통상의 기술자에게 명백할 것이다. 예를 들어, 상기 상기 시스템(1) 및/또는 노드(100)는 네트워크 인터페이스, 데이터 엔트리를 위한 입력 장치, 및 디스플레이, 인쇄 또는 다른 데이터 표시를 위한 출력 장치를 포함하는, 본 명세서에 서술된 동작에 필요한 다른 하드웨어 요소를 포함할 수도 있다.
도 3은, 본 발명의 일 실시예에 따른, 블록체인 기반 컨텐츠 관리 방법의 흐름도이다.
도 3을 참조하면, 블록체인 네트워크(10)에 등록된 노드(100A)에서 상기 오프라인 스토리지(130)의 폴더를 상기 블록체인 분산 스토리지에 동기화한다(S310).
일 실시예에서, 노드(100A)의 데이터 처리 모듈(150)은 연구노트를 작성하려는 특정 폴더를 상기 시스템(1)의 동기화 폴더로 설정하여 오프라인 스토리지(130)의 특정 폴더를 스토리지(110)과 동기화한다. 이로 인해, 오프라인 스토리지(130)에 위치한 동기화 폴더에 데이터 또는 파일이 생성되어도, 해당 데이터 또는 파일을 별도로 스토리지(110)로 이동시킬 필요가 없다. 나아가, 노드(100A)는 동기화 폴더의 모든 변경 사항을 추적할 수 있고, 변경 사항은 블록체인에 자동으로 저장된다. 결국, 노드(100A)는 노드(100A)의 오프라인 스토리지(130)에 저장된 파일을 자동으로 블록체인 네트워크(10)에 제공할 수 있다.
상기 동기화는 동기화 폴더의 경로에 기초하여 수행된다. 따라서, 데이터 처리 모듈(150)에 의해 동기화 폴더 내에 서브 폴더가 생성되면, 서브 폴더 또한 분산 스토리지(110)에 동기화된다.
도 4는, 본 발명의 일 실시예에 따른, 동기화 폴더(sync folder)가 활용되는 예시를 설명하기 위한 도면이다.
도 4를 참조하면, 노드(100A)의 데이터 처리 모듈(150)은 Research 폴더(경로: /Research)(S1)를 동기화 폴더로 설정하고, 해당 폴더의 경로를 사용하여 Reasearch 폴더(S1)를 분산 스토리지(110) 에 동기화한다. 그 후, Research 폴더(S1)의 서브 폴더(예컨대, 도 4의 Figures 폴더(S2))가 생성되면 서브 폴더 역시 추가적으로 분산 스토리지(110)에 동기화된다. 동기화 설정 이후 Research 폴더(S1)에 위치한 파일(예컨대, 도 4의 Note 파일(S3))의 컨텐츠가 저장되면, 저장 명령에 응답하여 자동으로 분산 스토리지(110)의 블록체인에 상기 Note 파일의 컨텐츠에 대응하는 데이터가 저장된다. 이에 대해서는 아래의 도 5 내지 도 6을 참조하여 보다 상세하게 서술한다.
일 실시예에서, 노드(100A)는 동기화 이전에 블록체인 네트워크(10)에 등록할 것을 요구받을 수 있다. 예를 들어, 노드(100A)에 상기 시스템(1)을 실행하기 위한 애플리케이션을 설치하고, 다양한 본인 인증 방법(예를 들어, 이메일 인증, 휴대폰 인증, 신용카드 인증 등을 포함)을 사용하여 사용자 계정을 생성 및 등록한다. 일부 실시예에서, 상기 시스템(1)은 상기 등록을 위한 관리자 노드(미도시)를 포함할 수 있다. 다른 일부 실시예에서, 관리자 노드는 등록을 위한 관리자 기능과 동시에 사용자 노드로 기능할 수도 있다.
노드(100A)에 대한 등록이 완료되면, 노드(100A)는 공개 키, 개인 키, 비밀번호 등 연구노트를 암호화하기 위한 정보를 제공받을 수 있다. 또한, 노드(100A)는 자신의 계정에 대한 식별자를 제공받을 수 있다.
동기화(S310) 이후, 사용자는 동기화 폴더에 연구노트를 작성하고 파일로 저장할 수 있다(S320). 상기 파일은 수정가능하며, 연구노트를 작성하기에 적합한 작성 도구(예를 들어, MS 워드, 아래아한글, LaTex, Markdown 등)에 기반하여 연구노트 컨텐츠가 작성되고, 저장된다. 상기 컨텐츠 작성은 파일 생성 이후 사용자의 입력 명령, 또는 정보 수신에 의해 수행되며, 상기 작성 이후 파일은 작성된 컨텐츠에 대응하는 원시 데이터로 이루어진다.
일 실시예에서, 데이터 처리 모듈(150)은 생성된 동기화 폴더 및/또는 파일에 식별자를 할당할 수 있다. 이러한 식별자는 파일의 계속적인 수정에 대한 히스토리를 위해 사용될 수 있다.
연구노트 컨텐츠 저장 명령이 수신되면, 노드(100A)는 연구노트 파일의 연구노트 내용을 동기화 폴더에 저장한다. 상기 동기화 폴더의 저장에 응답하여 블록체인에 해당 연구노트 내용이 저장된다.
데이터 처리 모듈(150)은 상기 시스템(1)이 연구노트 내용을 블록체인에 저장하는 작업, 저장된 연구노트를 구현하는 작업 등을 효율적으로 수행할 수 있게 연구노트 내용에 대응하는 데이터를 블록체인에 저장하기 이전에 동기화 폴더에 저장된 컨텐츠의 데이터를 전처리한다.
일 실시예에서, 데이터 처리 모듈(150)은 동기화 폴더에 저장된 연구노트 파일의 연구노트 내용에 대응하는 원시 데이터(raw data)를 검출하여 상기 연구노트 내용의 버전 데이터를 결정한다.
상기 버전 데이터는 컨텐츠 파일이 저장되는 시점에 대응하여 생성된다. 데이터 처리 모듈(150)은 저장 전후의 원시 데이터를 비교하여, 원시 데이터의 변화가 발생한 경우 저장 후의 연구노트 파일에 대한 새로운 버전 데이터를 생성한다. 예를 들어, 제1 시각에 연구노트 파일에 대한 수정 및 저장 작업이 완료 수행되면, 제1 버전 데이터가 결정되고, 제2 시각에 동일한 파일에 대해 수정 및 저장 작업이 수행되면, 제2 버전 데이터가 결정된다.
이와 같이, 버전 데이터는 컨텐츠 파일이 수정 후 저장되는 시점에 관련이 있어, 상기 시스템(1)은 특정 시점에 대응하는 컨텐츠 파일을 구현하고자 하는 경우 (예를 들어, 제1 시점에 저장된 연구노트 파일을 구현하고자 하는 경우) 제1 시점 및/또는 그 이전 시점의 컨텐츠 파일에 기초하여 수행할 수 있다. 또한, 단순히 수정, 저장과 관련하여 컨텐츠 파일의 시점을 식별하는 것에 제한되지 않고, 상기 컨텐츠 파일의 수정, 저장에 연관된 다른 데이터의 생성 시점 등을 식별하기 위해 사용될 수 있다. 예를 들어, 특정 시점에 연관된 블록 데이터, 트랜잭션 등의 시점을 식별하기 위해 사용될 수 있다. 이에 대해서는 아래의 도 5 및 도 6을 참조하여 보다 상세히 서술한다.
데이터 처리 모듈(150)은 연구노트 파일에 대한 저장 명령을 수신하면 명령 전후의 연구노트 파일을 비교한다(S330). 상기 단계(S330)는 저장 전의 연구노트 내용에 대응하는 제1 원시 데이터와 명령 후의 연구노트 내용에 대응하는 제2 원시 데이터를 비교하여 제1 원시 데이터와 제2 원시 데이터의 차이가 존재하는지에 의해 수행된다.
블록체인에 연구노트 내용이 저장되는 이후 단계는, 연구노트 파일의 수정 여부에 따라 상이하게 수행된다. 이하 연구노트 파일에 수정이 적용되었는지 여부에 따른 노드(100A)의 데이터 처리 모듈(150)의 동작에 대해 도 5 내지 도 6을 참조하여 보다 상세하게 서술한다.
도 5a 내지 도 5b는, 본 발명의 일 실시예에 따른, 수정되기 이전에 컨텐츠 파일이 블록체인에 저장되는 과정을 설명하기 위한 도면이고, 도 6a 내지 도 6b는, 본 발명의 일 실시예에 따른, 도5의 컨텐츠 파일이 수정된 이후 블록체인에 저장되는 과정을 설명하기 위한 도면이다. 수정 적용에 따른 설명을 보다 명확하게 하기 위해, 연구노트 파일의 최초 생성 이후 도 5a에 도시된 컨텐츠를 입력하고 저장하는 과정에서 발생하는 수정은 무시한다. 결국, 도 5a는 수정이 없었던 것으로 간주된다.
도 5a를 참조하면, 데이터 처리 모듈(150)은 연구노트 파일에 '연구노트 시스템을 블록체인 기술을 활영하여 개선하기 위한 연구'이란 연구노트 내용이 작성하고 저장되면, 저장 명령에 따라 상기 연구노트 내용에 대응하는 원시 데이터(O)를 저장한다.
제1 시각에 저장 명령이 있는 경우 데이터 처리 모듈(150)은 저장 전후의 연구노트 파일을 비교한다(S330). 상기 단계(S330)는 명령 전의 컨텐츠에 대응하는 제1 원시 데이터와 명령 후의 컨텐츠에 대응하는 제2 원시 데이터를 비교한다. 상기 제1 원시 데이터와 제2 원시 데이터에 차이가 없는 경우, 상기 제1 원시 데이터를 검출하여 버전 데이터로 결정한다(S340).
도 5a의 연구노트 파일은 수정이 적용되지 않았으므로 변경사항이 없다. 따라서, 제1 원시 데이터인 원시 데이터(O)가 제1 버전 데이터로 결정된다(S340). 그 후, 데이터 처리 모듈(150)은 제1 시각에 저장된 연구노트 내용을 제1 버전 데이터에 기초하여 블록체인에 저장한다.
추가적으로, 데이터 처리 모듈(150)은 버전 데이터에 기초하여 상기 컨텐츠 파일에 대한 메타 데이터 세트를 생성한다. 상기 메타 데이터 세트는 기본 메타 데이터 및 컨텐츠 메타 데이터를 포함한다.
여기서, 기본 메타 데이터는 연구노트 파일의 기본적인 사항에 연관된 메타 데이터로서, 예를 들어, 도 5에 도시된 바와 같이 파일 소유자, 오프라인 스토리지 상의 파일 경로, 생성 시각, 및 접근 권한 등을 포함한다.
컨텐츠 메타 데이터는 컨텐츠 분야 관련 키워드, 예를 들어 연구노트의 경우 연구에 연관된 키워드 등을 포함한다. 일 실시예에서, 컨텐츠 메타 데이터는 컨텐츠 분석 모델에 의해 상기 컨텐츠 파일의 원시 데이터로부터 검출된다. 상기 컨텐츠 분석 모델은 연구 관련 키워드(즉, 해당 컨텐츠 분야와 관련된 키워드)에 대하여 기계학습된 자연어 처리 알고리즘에 기반한 것으로서, 상기 자연어 처리 알고리즘은 RAKE(rapid automatic keyword extraction), 또는 TF-IDF(Term Frequency-Inverse Document Frequency) 등을 포함한다. 그러나, 이에 제한되지 않으며 해당 컨텐츠 분야와 관련된 키워드에 대해 기계학습 가능한 다양한 자연어 처리 알고리즘이 사용될 수 있다. 다른 일 실시예에서, 컨텐츠 메타 데이터는 사용자 입력에 의해 생성될 수도 있다.
블록체인 실행 모듈(170)은 버전 데이터(즉, 원시 데이터(O)) 그리고 메타 데이터 세트에서 일부 또는 전부를 블록체인 저장용 데이터로 결정한다. 일 실시예에서, 원시 데이터(O), 및 메타 데이터 세트가 도 5b에 도시된 바와 같이 블록체인 저장용 데이터로 결정한다. 노드(100A)의 블록체인 실행 모듈(170)은 버전 데이터 및 메타 데이터 세트를 암호화하고(S350), 암호화된 데이터를 블록체인에 저장한다(S360).
일 실시예에서, 버전 데이터 자체, 버전 데이터에 기초한 메타 데이터 세트와 같은 블록체인 저장용 데이터를 암호화하는 단계(S350)는 검증을 위한 암호화를 포함한다. 또한, 다른 일 실시예에서, 기밀을 위한 암호화를 더 포함할 수 있다.
여기서 검증을 위한 암호화는 블록체인 저장용 데이터를 블록체인에 저장하는 과정의 유효성을 설명하는 것으로서, 예를 들어, 블록체인 저장용 데이터에 기초하여 PKI(public key infrastructure) 기반 디지털 서명(digital signature)을 추가로 생성하고, 이를 블록체인 저장용 데이터와 함께 블록체인에 저장하는 것을 나타낸다. 일 실시예에서, 상기 디지털 서명은 블록체인 저장용 데이터에 해쉬 함수를 적용하여 블록체인 저장용 데이터의 해쉬 값을 산출한 후 블록체인 저장용 데이터의 해쉬 값에 노드(100A)의 개인 키를 적용하여 노드(100A)의 블록체인 저장용 데이터에 대한 디지털 서명을 생성한다.
단계(S350)에서 검증을 위한 암호화가 수행된 이후, 블록체인 실행 모듈(170)은 디지털 서명과 상기 디지털 서명의 검증 대상인 블록체인 저장용 데이터를 블록체인에 저장한다.
반면, 기밀을 위한 암호화는 블록체인 저장용 데이터에 접근을 제한하는 암호화를 나타낸다. 예를 들어, 상기 기밀을 위한 암호화는 비밀번호(password)를 추가로 설정하여 수행될 수도 있다. 일 실시예에서, 상기 기밀을 위한 암호화는 AES(Advanced Encryption Standard) 방식에 의해 데이터 유출을 방지할 수도 있다. 다른 실시예들에서, 데이터 유출을 방지하여 기밀을 유지하는 다양한 암호화 방식이 사용될 수도 있다.
이러한 기밀을 위한 암호화가 특정 파일에 대하여 수행되지 않으면, 블록체인 네트워크(10)의 다른 노드의 사용자가 블록체인에 저장된 노드(100A)의 블록체인 저장용 데이터에 접근하여 해당 파일을 열람, 또는 사용할 수 있다. 따라서, 기밀을 위한 암호화는 특정 파일의 공개를 위해 선택적으로 적용될 수도 있다.
검증을 위한 암호화와 기밀을 위한 암호화가 상기 시스템(1)에서 활용되는 구체적인 예시는 아래의 도 7을 참조하여 보다 상세하게 서술한다.
반면, 도 6a에 도시된 바와 같이, 도 5a의 연구노트 파일이 제2 시각에 수정되어 저장된 경우, 연구노트 파일에 수정된 연구노트 내용에 대응하는 데이터가 추가된다. 그러면, 단계(S330)의 비교 결과 저장 전후의 데이터 차이가 발생하고, 저장 전후 연구노트 파일의 데이터 차이에 대응하는 (즉, 변화에 대응하는) 원시 데이터(D)가 검출되어 제2 버전 데이터로 결정된다(S370).
그 후, 데이터 처리 모듈(150)은 데이터 차이에 대응하는 제2 버전 데이터(D)에 더 기초하여 연구노트 파일의 메타 데이터 세트를 생성한다. 일 실시예에서, 데이터 처리 모듈(150)은 제1 버전 데이터(O)에 기초하여 생성된 메타 데이터 세트를 제2 버전 데이터(D)에 기초하여 업데이트하고, 제2 시각의 연구노트 파일에 대한 메타 데이터 세트가 수정된 연구노트 내용을 반영하도록 한다. 도 6a를 참조하면, 추가 작성 내용에 해당하는 원시 데이터(D)에 의해 파일 크기, 수정 일시, 키워드 등의 메타 데이터가 업데이트된다.
블록체인 실행 모듈(170)은 제2 버전 데이터(D), 그리고 업데이트된 메타 데이터 세트에서 일부 또는 전부를 블록체인 저장용 데이터로 결정한다. 일 실시예에서, 제2 버전 데이터(D,) 및 업데이트된 메타 데이터 세트가 도 6b에 도시된 바와 같이 블록체인 저장용 데이터로 블록체인에 저장될 수 있다. 노드(100A)의 블록체인 실행 모듈(170)은 제2 버전 데이터(D) 및 메타 데이터 세트를 암호화하고(S380), 암호화된 데이터를 블록체인에 저장한다(S390).
도 7은, 본 발명의 일 실시예에 따른, 수정 전후의 컨텐츠 관련 데이터를 저장한 블록체인을 예시적으로 도시한 도면이다.
암호화된 데이터의 저장(S360 및 S390)은 암호화된 데이터를 포함한 트랜잭션이 블록체인의 블록에 기록되는 것으로 수행된다. 여기서 트랜잭션이 기록되는 블록은 트랜잭션이 생성될 당시 추가적인 트랜잭션이 기록될 수 있는 블록을 나타낸다.
일 실시예에서, 상기 이용가능한 블록은 통상적으로 후보 블록이라고 지칭되는, 유효성 검증(proof of work)이 완료된 블록의 다음 블록을 나타낸다. 상기 유효성 검증은 노드들의 합의(consensus)에 의해 결정된다. 상기 합의는 다양한 합의 알고리즘에 의해 수행될 수 있다.
일 실시예에서, 상기 유효성 검증은 사전 설정된 해쉬 함수를 사용하여 수행되는 작업증명(Proof of Work, PoW) 방식에 의해 수행될 수 있다. 예를 들어, 상기 유효성 검증은 사전 설정된 해쉬 함수를 사용하여 랜덤한 논스값을 다른 노드로부터 수신된 트랜잭션과 연산하여 정해진 '0'의 개수를 충족시키는 16진수의 블록 해쉬값을 만들도록 수행될 수 있다. 상기 시스템(1)은 SHA 256 해쉬 함수를 사용하며, 그 외의 다른 해쉬 함수도 사용가능하다. 이와 같이 유효성 검증 작업을 수행하는 이유는, 블록 체인에 참여한 노드들 중 어떠한 노드가 블록을 생성할지 모르게 만들기 위한 것으로서, 악의적 노드가 현재 블록을 생성할 노드를 판단하지 못하게 하여 악의적 노드의 공격(attack)을 방지하게 된다. 예컨대, 비트 코인의 블록 체인의 높이는 417453개이고, 이 블록 해쉬값의 '0'의 개수는 17개인데, 비트 코인은 '0'의 개수를 늘리면서 블록 생성 난이도를 조절하는데, 현재 가장 높은 CPU 또는 GPU 성능을 갖는 시스템을 기준으로 하여 10분에 1개의 블록을 생성하는 '0'의 개수를 취하는 식으로 블록 생성 난이도를 설정하고 있다.
다른 실시예들에서, 상기 유효성 검증은 지분 증명(proof-of-stake, PoS), PAXOS, 또는 PBFT(Practical Byzantine Fault Tolerance) 등을 사용하여 수행될 수 있다.
상기 블록 체인 실행 모듈(170)은, 블록체인 네트워크(10)의 노드 중 하나의 노드가 유효성 검증을 가장 먼저 성공하면, 블록 해쉬값과 랜덤한 논스(Nonce) 값을 찾아내고, 이를 이용하여 블록을 생성하며, 블록 생성 사실과 상기 찾아낸 블록 해쉬값과 랜덤한 논스값을 전체 노드들에게 전송한다. 통상적으로, 가장 먼저 유효성 검증에 성공한 노드를 마이닝 노드로 지칭한다.
상기 블록 체인 실행 모듈(170)은, 상기 마이닝 노드로부터 블록 해쉬값과 논스값을 수신하면, 유효성 검증 알고리즘을 이용하여 트랜잭션과 상기 수신한 블록 해쉬값과 논스값에 대하여 유효성을 판단한 후, 유효성 검증이 완료되면 상기 수신한 블록 해쉬값과 논스값을 이용하여 추가의 블록을 생성하고 상기 블록 체인에 상기 추가의 블록을 연결시킨다. 상기 추가의 블록이 해당 노드의 이용가능한 블록이다.
도 7을 참조하면, 도 5a에서 작성된 연구노트 내용은 블록(Block 51)에 트랜잭션으로 기록되고, 도 6a에서 작성된 내용은 블록(Block 52) 에 트랜잭션으로 기록된다. 각 블록에는 다른 노드들(100B, ?, 100N)에서 작성된 연구노트 내용이 저장되어 기록될 수도 있다.
트랜잭션이 기록되면, 노드(100A)의 사용자(예컨대, 연구노트 작성자), 파일, 경로 등에 대한 식별자를 포함한 히스토리가 생성되고 업데이트될 수 있다.
노드(100A)는 해당 연구노트 파일에 관련된 블록체인 저장용 데이터를 사용하여 연구노트 파일을 실행하고 연구노트를 구현한다. 일 실시예에서, 노드(100A)에서 연구노트 파일을 실행하기 위한 명령이 수신되면, 해당 연구노트 파일에 연관된 트랜잭션을 블록체인에서 검색하고(retrieving), 검색된 트랜잭션에 포함된 데이터를 사용하여 연구노트 파일을 실행한다. 일 실시예에서, 검색된 트랜잭션에 포함된 데이터가 암호화된 경우, 실행 이전에 상기 암호화된 데이터를 복호화하는 작업이 수행된다.
상기 검색은 대표적인 블록체인 응용 기술인 비트코인 기술에서 비트코인 지갑의 잔액을 산출하는 과정과 유사하다. 비트코인 지갑에 기록된 거래 내역 히스토리에 기초하여 해당 비트코인 지갑의 계정에 연관된 거래 내역을 검색한 뒤, 거래 금액을 계산하여 잔액을 산출한다. 이와 같이, 상기 검색은 트랜잭션의 히스토리에 기초하여 해당 연구노트 파일에 관련된 트랜잭션을 검색한다.
이러한 검색 결과, 블록체인 실행 모듈(170)은 검색된 트랜잭션에 포함된 데이터, 또는 추가로 복호화된 관련 데이터를 얻을 수 있다. 실행 명령의 대상이 되는 연구노트 파일에 수정이 적용된 경우, 상기 복호화된 데이터는 제1 버전 데이터(즉, 제1 시점의 연구노트 파일 전체 원시 데이터), 제2 버전 데이터(즉, 연구노트의 수정 내용에 대응하는 원시 데이터)를 포함한다. 하나 이상의 수정이 적용된 경우, 제2 버전 데이터는 복수의 버전 데이터로 이루어질 것이다. 노드(100A)는 블록체인 실행 모듈(170)은 제1 버전 데이터 및 제2 버전 데이터를 결합하여 연구노트 파일을 실행하고, 제2 시각에 저장된 연구노트를 구현할 수 있다. 제2 시각이 최종 저장 시각인 경우, 구현되는 연구노트는 가장 마지막에 수정된 최종 연구노트 내용을 포함하도록 구현될 수 있다.
일부 실시예에서, 연구노트 파일을 실행하기 위한 명령은 특정 시점의 연구노트 파일을 실행하기 위한 명령일 수 있다. 예를 들어, 제1 시점과 제2 시점 사이의 제3 시점일 수 있다. 이 경우, 블록체인 실행 모듈(170)은 제1 시점과 제3 시점 범위 내에 포함된 버전 데이터를 사용하여 연구노트를 구현한다.
이와 같이, 상기 시스템(1)은 연구노트 관련 데이터를 암호화하여 블록체인에 저장하고, 필요할 경우 연구노트를 구현할 수 있다. 이로 인해, 상기 시스템(1)은 다양한 이점을 얻을 수 있다.
도 8은, 본 발명의 일 실시예에 따른, 블록체인에 저장된 컨텐츠 관련 데이터가 활용되는 일 예시를 설명하는 도면이다.
다시 도 7을 참조하면, 단계(S360 및 S390)에서 노드(100A)에서 새롭게 생성된 연구노트 관련 데이터가 트랜잭션으로 블록체인에 기록되고, 이어서 다른 노드((100B), ?, 100N)로 트랜잭션이 전파된다. 새로운 트랜잭션을 수신한 노드는 새로운 트랜잭션이 유효한지 검증한다. 이 검증을 통해 트랜잭션에 포함된 연구노트 관련 데이터의 유효성이 검증된다.
도 8에 도시된 바와 같이, 노드(100A)의 트랜잭션들이 노드((100B)) 등에 전파된다. 예를 들어, 노드(100A)의 트랜잭션이 노드((100B))에 전파?다고 가정하자. 노드((100B))는 전자 서명을 분석하여 노드(100A)의 트랜잭션들의 유효성을 검증한다.
일 실시예에서 PKI 기반의 전자 서명이 사용된 경우, 노드(100A)에서 생성된 전자 서명은 검증 대상 데이터(즉, 연구 관련 컨텐츠의 원시 데이터, 메타 데이터 세트)에 해시 함수를 적용하여 검증 대상의 해시 값을 산출한다. 노드(100A)의 블록체인 실행 모듈(170)은 상기 검증 대상의 해시 값을 노드(100A)의 개인 키를 사용하여 암호화하고 검증 대상 데이터에 대한 전자 서명을 생성한다. 상기 검증 대상 데이터와 전자 서명을 포함한 트랜잭션이 블록체인 저장되고, 저장 과정을 통해 노드((100B))에 전파된다. 검증 대상 데이터와 전자 서명을 수신한 노드((100B))는 전자 서명을 노드(100A)의 공개키로 복호화하여 전자 서명에 대한 복호화 해쉬 값을 산출한다. 노드(100B)의 블록체인 실행 모듈(170)은 노드(100A)의 검증 대상 데이터에 해쉬 함수를 적용하여 해쉬 값을 산출하고 상기 복호화 해쉬 값과 비교한다. 비교 결과, 노드(100B)가 산출한 두 해쉬 값이 일치하면 노드(100A)로부터 전파된 트랜잭션은 유효한 것으로 검증된다.
여기서, 전자 서명을 노드(100A)의 공개키로 복호화하는 것은 노드(100A)의 연구노트 파일을 열람, 사용할 수 있는 접근 권한에는 영향을 미치지 않는다. 도 8에 도시된 바와 같이 비밀번호에 의해 노드(100A)의 연구노트 파일의 접근 권한이 제한된 경우, 노드(100B)는 노드(100A)의 연구노트 파일을 열람, 또는 사용하기 위해 기밀을 위한 암호화를 복호화하는 작업을 추가로 수행할 수 있다. 이 경우, 상기 기밀을 위한 암호화를 복호화하는 작업은 검증 대상 데이터에 해쉬 함수를 적용하기 이전에 수행된다.
이와 같이, 블록체인에 연구노트 관련 데이터를 저장하면 저장된 연구노트 파일에 관련된 데이터의 유효성이 자동으로 검증되므로, 해당 연구노트 파일의 수행 대상인 연구와 관련하여 발생할 수 있는 법률적, 도덕적 분쟁에 상기 블록체인 저장 결과를 유용하게 활용할 수 있다.
또한, 상기 시스템(1)은 연구 관련 정보를 블록체인에 저장한 노드(100A)의 사용자는 물론, 상기 시스템(1)의 다른 사용자가 해당 연구노트를 보다 용이하게 열람, 사용하게 할 수 있다.
도 9는, 본 발명의 일 실시예에 따른, 블록체인에 저장된 파일을 공개하기 위해 활용되는 예시를 설명하기 위한 도면이다.
일 실시예에서, 노드(100A)는 연구노트 파일에 대하여 기밀을 위한 암호화를 수행하지 않을 수 있다. 이 경우, 해당 연구노트 파일에 관련된 데이터를 포함한 트랜잭션을 수신한 노드(100B)는 트랜잭션에 포함된 노드(100A)의 연구노트를 구현하여 열람, 수정 등의 사용 작업이 가능하다.
다른 일 실시예에서, 노드(100A)는 작업별로 차등적으로 복호화를 요구하는 기밀을 위한 암호화를 수행할 수 있다. 예를 들어, 다른 노드(100B)가 노드(100A)의 연구노트를 열람하는 작업에 대해서는 기밀을 위한 복호화가 요구되지 않으나, 수정과 같은 연구노트 파일의 사용 작업에 대해서는 기밀을 위한 복호화가 요구되도록 연구노트 관련 데이터를 암호화할 수도 있다.
전술한 암호화 작업은 동기화 폴더 내 파일별로 수행될 수 있다. 도 9에 도시된 바와 같이, 동기화 폴더(Research)에서 PDF 파일만이 다른 사용자가 열람 가능하도록 접근 권한이 설정될 수도 있다.
연구노트를 작성한 노드(100A) 이외의 노드(100B)는 위와 같이 권한 부여를 통해 조건을 만족하면, 해당 연구노트 파일을 실행할 수 있다. 노드(100B)에 의한 실행은 노드(100A)가 연구노트 파일을 실행하는 작업과 유사하므로 자세한 설명은 생략한다.
이와 같이, 상기 시스템(1)은 블록체인에 저장된 연구노트를 다른 사용자(들)에게 읽기/쓰기 등에 대한 권한을 차등, 평등하게 부여하여 연구노트를 공동 작성하는 등의 협업이 용이하게 한다. 특히, 사용자가 소속된 그룹(예컨대, 연구소, 회사와 같은 기관, 부서, 팀과 같은 서브 그룹 등)의 외부 사용자(예컨대, 외부 기관, 외국)와도 협업이 용이하게 한다.
추가적으로, 노드(100A)는 연구노트 파일의 컨텐츠 전체를 블록체인에 저장하는 것 대신에 다른 형태의 데이터를 블록체인에 저장하기 위해 사용할 수 있다.
일 실시예에서, 노드(100A)는 연구노트 파일의 원시 데이터는 데이터베이스 노드(200)에 업로드하고, 상기 업로드된 데이터에 접근할 수 있는 데이터(예를 들어, 업로드된 데이터의 URL 등)를 블록체인에 저장할 수 있다. 이 경우, 업로드된 데이터의 유효성을 검증하기 위한 데이터(예컨대, 업로드된 컨텐츠 파일의 해시 값)를 추가로 블록체인에 저장해야 한다.
여기서, 데이터베이스 노드(200)는 아마존닷컴(Amazon.Com, Inc.)이 제공하는 심플 스토리지 서비스(S3; Simple Storage Service)), 구글(Google Inc.)이 제공하는 구글 파일 시스템(GFS; Google File System)), 또는 마이크로소프트(Microsoft Corporation)가 제공하는 마이크로소프트 오피스 온라인(Microsoft Office Online)) 등과 같이, 애플리케이션 및 데이터가 원격 서버에 저장되는 클라우딩 데이터베이스 컴퓨팅 리소스를 나타낸다.
다른 일 실시예에서, 상기 방법은 연구노트 파일의 최초 생성 이후 처음으로 동기화 폴더에 파일이 저장된 경우 비교 단계(S330)는 수행되지 않도록 설계될 수도 있다.
이상에서 설명한 실시예들에 따른 시스템 및 방법에 의한 동작은 적어도 부분적으로 컴퓨터 프로그램으로 구현되어, 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다. 예를 들어, 프로그램 코드를 포함하는 컴퓨터-판독가능 매체로 구성되는 프로그램 제품과 함께 구현되고, 이는 기술된 임의의 또는 모든 단계, 동작, 또는 과정을 수행하기 위한 프로세서에 의해 실행될 수 있다.
상기 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록신원확인 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장신원확인 장치 등을 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수도 있다. 또한, 본 실시예를 구현하기 위한 기능적인 프로그램, 코드 및 코드 세그먼트(segment)들은 본 실시예가 속하는 기술 분야의 통상의 기술자에 의해 용이하게 이해될 수 있을 것이다.
이상에서 살펴본 본 발명은 도면에 도시된 실시예들을 참고로 하여 설명하였으나 이는 예시적인 것에 불과하며 당해 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 실시예의 변형이 가능하다는 점을 이해할 것이다. 그러나, 이와 같은 변형은 본 발명의 기술적 보호범위 내에 있다고 보아야 한다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해서 정해져야 할 것이다.
본 발명의 일 측면에 따른 측면 블록체인 기반 컨텐츠 관리 방법은 연속적인 수정이 가해지는 컨텐츠를 블록체인을 통해 저장, 관리할 수 있다. 특히, 블록체인에 저장된 데이터에 대해 수정이 불가능한 기존의 블록체인 선행 기술과 달리, 블록체인에 저장된 파일에 대해 변경 내역을 추가하는 형태로 내용 수정이 가능한 장점이 있다. 또한, 최근 4차 산업 기술 중 하나인 머신 러닝(machine learning)을 이용하여 블록체인에 저장된 파일의 메타 데이터를 검출할 수 있다.
블록체인을 이용한 기술(특히, 코인 관련 기술)이 각광을 받고 있는 현실에 비추어 볼 때, 블록체인 기술을 컨텐츠에 접목한 본 발명의 활용 가능성은 무궁무진할 것으로 판단된다.

Claims (21)

  1. 하나 이상의 노드를 포함한 블록체인 네트워크를 이용하는 블록체인 기반 컨텐츠 관리 방법으로서, 각 노드는 오프라인 스토리지; 및 블록체인을 저장하는 블록체인 분산 스토리지를 포함하고, 상기 블록체인은 블록들이 연결되어 이루어지며, 상기 방법은,
    제1 노드에서 상기 오프라인 스토리지의 폴더를 상기 블록체인 분산 스토리지에 동기화하는 단계;
    상기 폴더에 저장된 컨텐츠 파일의 컨텐츠에 대응하는 원시 데이터(raw data)를 검출하여 상기 컨텐츠의 버전 데이터를 결정하는 단계;
    상기 버전 데이터에 기초하여 상기 컨텐츠 파일에 대한 메타 데이터 세트를 생성하는 단계;
    상기 버전 데이터와 메타 데이터 세트에 기초하여 블록체인 저장용 데이터를 결정하고, 상기 블록체인 저장용 데이터를 암호화하는 단계; 및
    암호화된 데이터를 포함한 트랜잭션을 상기 블록체인에 저장하는 단계를 포함하는 방법.
  2. 제1항에 있어서, 상기 버전 데이터를 결정하는 단계는,
    상기 컨텐츠 파일에 대한 소정의 명령이 수신되는 경우 명령 전후의 컨텐츠 파일을 비교하는 단계 - 상기 비교하는 단계는 명령 전의 컨텐츠에 대응하는 제1 원시 데이터와 명령 후의 컨텐츠에 대응하는 제2 원시 데이터를 비교하여 수행됨;
    상기 제1 원시 데이터와 제2 원시 데이터에 차이가 없는 경우, 상기 제1 원시 데이터를 검출하여 버전 데이터로 결정하는 단계; 및
    상기 제1 원시 데이터와 제2 원시 데이터에 차이가 있는 경우, 상기 명령 전후의 원시 데이터 차이에 대응하는 데이터를 검출하여 버전 데이터로 결정하는 단계를 포함하는 방법.
  3. 제2항에 있어서,
    상기 제1 원시 데이터와 제2 원시 데이터에 차이가 있는 경우, 상기 명령 후의 컨텐츠 파일에 대한 메타 데이터 세트는 상기 제1 원시 데이터와 제2 원시 데이터 차이의 버전 데이터에 기초하여 업데이트되는 것을 특징으로 하는 방법.
  4. 제2항에 있어서,
    상기 명령 전 버전 데이터에 연관된 트랜잭션을 포함한 블록과 상기 명령 후 버전 데이터에 연관된 트랜잭션을 포함한 블록은 서로 상이한 것을 특징으로 하는 방법.
  5. 제1항에 있어서,
    상기 컨텐츠 파일을 실행하기 위한 명령이 수신되면, 상기 컨텐츠 파일에 연관된 트랜잭션을 상기 블록체인에서 검색하는 단계(retrieving);
    검색된 트랜잭션에 포함된 암호화된 데이터를 복호화하는 단계; 및
    상기 복호화된 데이터를 사용하여 상기 컨텐츠 파일을 실행하는 단계를 더 포함하는 방법.
  6. 제5항에 있어서, 상기 컨텐츠 파일을 실행하는 단계는,
    검색된 트랜잭션이 하나 이상인 경우, 각 트랜잭션의 버전 데이터를 결합하여 상기 컨텐츠 파일을 실행하는 단계를 포함하는 방법
  7. 제1항에 있어서, 상기 암호화하는 단계는,
    검증을 위해 암호화하는 단계를 포함하는 방법.
  8. 제7항에 있어서,
    각 노드는 개인 키(private key) 및 공개 키(public key)를 구비하며,
    상기 검증을 위해 암호화하는 단계는 상기 개인 키를 사용하여 블록체인 저장용 데이터를 암호화하는 단계를 포함하는 방법.
  9. 제6항에 있어서, 상기 암호화하는 단계는,
    기밀을 위해 암호화하는 단계를 포함하는 방법.
  10. 제9항에 있어서, 상기 기밀을 위해 암호화하는 단계는,
    각 노드에 대하여 미리 설정된 비밀번호(password)를 사용하여 암호화하는 단계를 포함하는 방법.
  11. 제10항에 있어서,
    상기 제1 노드는 기밀을 위해 암호화된 데이터를 사용할 수 있는 권한을 제2 노드에게 제공하는 단계를 더 포함하는 방법.
  12. 제11항에 있어서,
    상기 제2 노드는 외국에 위치하는 것을 특징으로 하는 방법.
  13. 제1항에 있어서, 상기 블록체인 저장용 데이터는,
    상기 컨텐츠의 수정 시점에 대응하는 버전 데이터를 포함하는 것을 특징으로 하는 방법.
  14. 제1항에 있어서,
    상기 메타 데이터 세트는 기본 메타 데이터를 포함하되,
    상기 기본 메타 데이터는 파일 소유자, 오프라인 스토리지 상의 파일 경로, 생성 시각, 및 접근 권한을 포함하는 것을 특징으로 하는 방법.
  15. 제1항에 있어서,
    상기 메타 데이터 세트는 컨텐츠 메타 데이터를 포함하되,
    상기 컨텐츠 메타 데이터는 컨텐츠 분석 모델에 의해 상기 컨텐츠 파일의 컨텐츠로부터 검출되는 방법.
  16. 제15항에 있어서, 상기 컨텐츠 분석 모델은 RAKE(rapid automatic keyword extraction), 또는 TF-IDF(Term Frequency-Inverse Document Frequency)에 기반한 것을 특징으로 하는 방법.
  17. 제1항에 있어서, 상기 블록체인에 저장하는 단계는,
    상기 블록체인에 포함된 이용가능한 블록에 상기 트랜잭션을 기록하는 단계; 및
    제2 노드에 상기 트랜잭션을 전파하는 단계를 포함하는 방법.
  18. 제1항에 있어서, 상기 블록체인 저장용 데이터는,
    상기 버전 데이터에 접근할 수 있는 접근 데이터를 더 포함하는 것을 특징으로 하는 방법.
  19. 제18항에 있어서,
    상기 버전 데이터를 데이터베이스 노드에 업로드하는 단계를 더 포함하는 방법.
  20. 컴퓨터에 의해 판독가능하고, 상기 컴퓨터에 의해 동작 가능한 프로그램 명령어를 저장하는 컴퓨터 판독가능 기록매체로서, 상기 프로그램 명령어가 상기 컴퓨터의 프로세서에 의해 실행되는 경우 상기 프로세서가 제1항 내지 제19항 중 어느 하나의 항에 따른 방법을 수행하게 하는 컴퓨터 판독가능 기록매체.
  21. 하나 이상의 노드를 포함한 블록체인 네트워크를 이용하는 블록체인 기반 컨텐츠 관리 시스템으로서, 각 노드는,
    데이터 처리 모듈, 블록체인 실행 모듈, 오프라인 스토리지, 및 블록체인을 저장하는 블록체인 분산 스토리지를 포함하고, 상기 블록체인은 블록들이 연결되어 이루어지며,
    상기 데이터 처리 모듈에 의해 상기 폴더에 저장된 컨텐츠 파일의 컨텐츠에 대응하는 원시 데이터(raw data)를 검출하여 상기 컨텐츠의 버전 데이터를 결정하는 단계; 및 상기 버전 데이터에 기초하여 상기 컨텐츠 파일에 대한 메타 데이터 세트를 생성하는 단계를 수행하고,
    상기 블록체인 실행 모듈에 의해 상기 버전 데이터와 메타 데이터 세트에 기초하여 블록체인 저장용 데이터를 결정하고, 상기 블록체인 저장용 데이터를 암호화하는 단계; 및 암호화된 데이터를 포함한 트랜잭션을 상기 블록체인에 저장하는 단계를 수행하도록 구성되는 것을 특징으로 하는 시스템.
KR1020180061686A 2018-05-30 2018-05-30 블록체인 기반 컨텐츠 관리 방법 및 상기 방법을 수행하는 시스템 KR102084674B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020180061686A KR102084674B1 (ko) 2018-05-30 2018-05-30 블록체인 기반 컨텐츠 관리 방법 및 상기 방법을 수행하는 시스템
US16/163,761 US20190372756A1 (en) 2018-05-30 2018-10-18 Method for managing content based on blockchain and system for performing the method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180061686A KR102084674B1 (ko) 2018-05-30 2018-05-30 블록체인 기반 컨텐츠 관리 방법 및 상기 방법을 수행하는 시스템

Publications (2)

Publication Number Publication Date
KR20190136245A true KR20190136245A (ko) 2019-12-10
KR102084674B1 KR102084674B1 (ko) 2020-03-05

Family

ID=68693279

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180061686A KR102084674B1 (ko) 2018-05-30 2018-05-30 블록체인 기반 컨텐츠 관리 방법 및 상기 방법을 수행하는 시스템

Country Status (2)

Country Link
US (1) US20190372756A1 (ko)
KR (1) KR102084674B1 (ko)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112052292A (zh) * 2020-09-14 2020-12-08 中钞信用卡产业发展有限公司杭州区块链技术研究院 一种网络内容存证方法、装置、设备及存储介质
KR102230471B1 (ko) * 2019-12-26 2021-03-23 주식회사 록스307 블록체인 네트워크 상에서 효율적인 트랜젝션을 수행하기 위한 그룹 증명 생성 방법
KR20210074980A (ko) * 2019-12-12 2021-06-22 (주)포뎁스 블록체인을 기반으로 응용 애플리케이션에 대한 업데이트 처리가 가능한 전자 단말 장치 및 그 동작 방법
KR20210115718A (ko) * 2020-03-16 2021-09-27 이화여자대학교 산학협력단 디지털 콘텐츠 거래를 위한 블록체인 네트워크 시스템 및 디지털 콘텐츠 거래 방법
WO2021215551A1 (ko) * 2020-04-20 2021-10-28 (주)사이버라인 블록체인 기반의 전자 연구노트 검증 방법 및 이를 이용한 전자 연구노트 관리 장치
KR20220001576A (ko) * 2020-06-30 2022-01-06 방재현 PoS 블록체인 문서 분산저장 서비스 제공 방법
KR20220028462A (ko) * 2020-08-28 2022-03-08 경일대학교산학협력단 블록체인 did를 이용한 콘텐츠 관리 장치 및 방법
KR20220045746A (ko) * 2020-10-06 2022-04-13 테크온미디어(주) 접근 제어 관리를 위한 콘텐츠 유통 서비스 방법과 이를 수행하기 위한 컴퓨팅 장치 및 시스템
KR20230150512A (ko) 2022-04-22 2023-10-31 최화인 피스 재조합이 가능하도록 하는 가상 아이템 발행 시스템
KR20230150513A (ko) 2022-04-22 2023-10-31 최화인 피스의 선택적 조합과 재구현을 통한 아이템 거래 중개 시스템
KR102646519B1 (ko) * 2023-09-14 2024-03-13 주식회사 호원소프트 전자 연구 노트 서비스를 제공하는 방법 및 장치
KR102673726B1 (ko) * 2023-07-28 2024-06-10 주식회사 워크스타일 분산 저장 자동 버전 관리 시스템

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020073277A1 (zh) * 2018-10-11 2020-04-16 合肥达朴汇联科技有限公司 资源流的交易方法和装置
WO2020089782A1 (en) 2018-10-29 2020-05-07 Sensormatic Electronics, LLC Systems and methods of enabling blockchain-based building automation systems
US11455380B2 (en) * 2018-11-20 2022-09-27 International Business Machines Corporation Chain-of-custody of digital content in a database system
CN110046156A (zh) 2018-12-20 2019-07-23 阿里巴巴集团控股有限公司 基于区块链的内容管理系统及方法、装置、电子设备
US11212347B2 (en) * 2019-02-05 2021-12-28 S&P Global Inc. Private content storage with public blockchain metadata
US11301459B2 (en) 2019-07-24 2022-04-12 Mastercard International Incorporated Method and system for data localization-compliant blockchain processing and storage
US11868339B2 (en) * 2019-10-23 2024-01-09 Hewlett Packard Enterprise Development Lp Blockchain based distributed file systems
US11907199B2 (en) 2019-10-23 2024-02-20 Hewlett Packard Enterprise Development Lp Blockchain based distributed file systems
US11803461B2 (en) 2019-10-30 2023-10-31 Hewlett Packard Enterprise Development Lp Validation of log files using blockchain system
CN111161081B (zh) * 2019-12-20 2023-09-22 湖南大学 基于区块链进行第三方担保的福费廷的方法、存储介质
US12099997B1 (en) 2020-01-31 2024-09-24 Steven Mark Hoffberg Tokenized fungible liabilities
CN113221157B (zh) * 2020-02-04 2023-09-26 北京京东振世信息技术有限公司 一种设备升级方法和装置
CN111447092B (zh) * 2020-03-26 2022-11-01 杭州复杂美科技有限公司 版本监测方法、设备和存储介质
CN112052033A (zh) * 2020-09-02 2020-12-08 江苏省电力试验研究院有限公司 一种基于流程及区块链的配电自动化主站版本管理方法及系统
CN112967042A (zh) * 2020-09-23 2021-06-15 周海婷 基于数字金融的离线支付验证方法及存储介质
CN112231397B (zh) * 2020-09-25 2023-06-30 标信智链(杭州)科技发展有限公司 基于区块链的交易文件传递方法及装置
KR20210043520A (ko) 2021-04-01 2021-04-21 강정헌 콜드 월렛 및 하이브리드 블록체인 플렛폼을 기반으로 하는 연구노트 애플리케이션
US11775664B2 (en) * 2021-08-02 2023-10-03 Nagravision Sarl Blockchain managed access system
CN113792349A (zh) * 2021-09-17 2021-12-14 上海万向区块链股份公司 基于区块链的数据存证校验方法及系统
US12010239B2 (en) * 2022-02-11 2024-06-11 Avaworks Incorporated Talking head digital identity authentication
US20240305473A1 (en) * 2022-02-11 2024-09-12 Avaworks Incorporated Talking Head Digital Identity Authentication
CN115499453B (zh) * 2022-06-28 2024-03-12 重庆邮电大学 面向联盟链的分片存储方法
WO2024085272A1 (ko) * 2022-10-19 2024-04-25 권오경 콘텐츠 월렛과, 이를 이용한 원본 데이터 발행 및 불법 데이터 공유 방지 시스템

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060190500A1 (en) * 2005-02-22 2006-08-24 Microsoft Corporation Synchronization with derived metadata
KR20130120734A (ko) 2012-04-26 2013-11-05 주식회사 씨드웍스 전자식 연구노트 처리방법
US20170091397A1 (en) * 2012-01-26 2017-03-30 Netspective Communications Llc Device-driven non-intermediated blockchain system over a social integrity network
KR101727525B1 (ko) * 2016-09-05 2017-04-17 주식회사 스케일체인 블록체인 기반 분산 저장 방법 및 이를 이용한 장치
KR20180037851A (ko) * 2016-10-05 2018-04-13 한전케이디엔주식회사 블록체인을 이용한 스마트 그리드 시스템의 보안 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060190500A1 (en) * 2005-02-22 2006-08-24 Microsoft Corporation Synchronization with derived metadata
US20170091397A1 (en) * 2012-01-26 2017-03-30 Netspective Communications Llc Device-driven non-intermediated blockchain system over a social integrity network
KR20130120734A (ko) 2012-04-26 2013-11-05 주식회사 씨드웍스 전자식 연구노트 처리방법
KR101727525B1 (ko) * 2016-09-05 2017-04-17 주식회사 스케일체인 블록체인 기반 분산 저장 방법 및 이를 이용한 장치
KR20180037851A (ko) * 2016-10-05 2018-04-13 한전케이디엔주식회사 블록체인을 이용한 스마트 그리드 시스템의 보안 방법

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210074980A (ko) * 2019-12-12 2021-06-22 (주)포뎁스 블록체인을 기반으로 응용 애플리케이션에 대한 업데이트 처리가 가능한 전자 단말 장치 및 그 동작 방법
KR102230471B1 (ko) * 2019-12-26 2021-03-23 주식회사 록스307 블록체인 네트워크 상에서 효율적인 트랜젝션을 수행하기 위한 그룹 증명 생성 방법
KR20210115718A (ko) * 2020-03-16 2021-09-27 이화여자대학교 산학협력단 디지털 콘텐츠 거래를 위한 블록체인 네트워크 시스템 및 디지털 콘텐츠 거래 방법
WO2021215551A1 (ko) * 2020-04-20 2021-10-28 (주)사이버라인 블록체인 기반의 전자 연구노트 검증 방법 및 이를 이용한 전자 연구노트 관리 장치
KR20220001576A (ko) * 2020-06-30 2022-01-06 방재현 PoS 블록체인 문서 분산저장 서비스 제공 방법
KR20220028462A (ko) * 2020-08-28 2022-03-08 경일대학교산학협력단 블록체인 did를 이용한 콘텐츠 관리 장치 및 방법
CN112052292A (zh) * 2020-09-14 2020-12-08 中钞信用卡产业发展有限公司杭州区块链技术研究院 一种网络内容存证方法、装置、设备及存储介质
KR20220045746A (ko) * 2020-10-06 2022-04-13 테크온미디어(주) 접근 제어 관리를 위한 콘텐츠 유통 서비스 방법과 이를 수행하기 위한 컴퓨팅 장치 및 시스템
WO2022075519A1 (ko) * 2020-10-06 2022-04-14 테크온미디어(주) 접근 제어 관리를 위한 콘텐츠 유통 서비스 방법과 이를 수행하기 위한 컴퓨팅 장치 및 시스템
KR20230150512A (ko) 2022-04-22 2023-10-31 최화인 피스 재조합이 가능하도록 하는 가상 아이템 발행 시스템
KR20230150513A (ko) 2022-04-22 2023-10-31 최화인 피스의 선택적 조합과 재구현을 통한 아이템 거래 중개 시스템
KR102673726B1 (ko) * 2023-07-28 2024-06-10 주식회사 워크스타일 분산 저장 자동 버전 관리 시스템
KR102646519B1 (ko) * 2023-09-14 2024-03-13 주식회사 호원소프트 전자 연구 노트 서비스를 제공하는 방법 및 장치

Also Published As

Publication number Publication date
KR102084674B1 (ko) 2020-03-05
US20190372756A1 (en) 2019-12-05

Similar Documents

Publication Publication Date Title
KR102084674B1 (ko) 블록체인 기반 컨텐츠 관리 방법 및 상기 방법을 수행하는 시스템
KR102243754B1 (ko) 블록체인 네트워크에서의 데이터 격리
CA3058013C (en) Managing sensitive data elements in a blockchain network
US11238543B2 (en) Payroll based blockchain identity
JP6514831B1 (ja) 分散型ハッシュテーブル及びピア・ツー・ピア分散型台帳を利用してデジタルアセットのオーナシップを検証する方法及びシステム
US10917249B2 (en) Processing data elements stored in blockchain networks
US11121876B2 (en) Distributed access control
JP2012518330A (ja) 高信頼なクラウド・コンピューティングおよびクラウド・サービスのフレームワーク
US12050667B2 (en) Cryptographically managing license compatibility
JP6965463B2 (ja) 台帳システムにおけるトラストポイントの管理
US11621858B2 (en) Anonymity mechanisms in permissioned blockchain networks
US8972732B2 (en) Offline data access using trusted hardware
US12010226B2 (en) Blockchain data segregation
WO2023099357A1 (en) Compressible blockchains
KR102199967B1 (ko) 위변조 데이터가 네트워크에 저장되는 것을 방지하는 방법 및 상기 방법을 수행하는 시스템
KR102501004B1 (ko) 블록체인 기반의 데이터 관리 방법 및 장치
US12047507B2 (en) Creating non-fungible token shards
CN116263834A (zh) 许可区块链的多发布者匿名证书
US20220399988A1 (en) Linking blockchain operations
Piechotta et al. A secure dynamic collaboration environment in a cloud context
US12126716B2 (en) Anonymous private shared partitions in a global total order broadcast domain networks using random symmetric encryption keys
US20230081416A1 (en) Anonymous private shared partitions in blockchain networks
Zhang et al. Secure Data Provenance
US20230412403A1 (en) Secret smart operations in blockchain
US20220067028A1 (en) Trustless operations for blockchain networks

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right