KR20210059182A - Node device constituting a block-chain network and an operation method of the node device - Google Patents

Node device constituting a block-chain network and an operation method of the node device Download PDF

Info

Publication number
KR20210059182A
KR20210059182A KR1020190146290A KR20190146290A KR20210059182A KR 20210059182 A KR20210059182 A KR 20210059182A KR 1020190146290 A KR1020190146290 A KR 1020190146290A KR 20190146290 A KR20190146290 A KR 20190146290A KR 20210059182 A KR20210059182 A KR 20210059182A
Authority
KR
South Korea
Prior art keywords
block
private
private block
post
transaction
Prior art date
Application number
KR1020190146290A
Other languages
Korean (ko)
Other versions
KR102274493B1 (en
Inventor
이형택
김성완
김동건
Original Assignee
주식회사 이노티움
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 이노티움 filed Critical 주식회사 이노티움
Priority to KR1020190146290A priority Critical patent/KR102274493B1/en
Publication of KR20210059182A publication Critical patent/KR20210059182A/en
Application granted granted Critical
Publication of KR102274493B1 publication Critical patent/KR102274493B1/en

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/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/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • 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
    • 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • 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
    • 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/46Secure multiparty computation, e.g. millionaire problem
    • H04L2209/463Electronic voting

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • General Health & Medical Sciences (AREA)
  • Economics (AREA)
  • Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Power Engineering (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The present invention relates to a node device constituting a blockchain network for resolving disputes on online postings and an operation method of the node device. According to the present invention, a representative node (121) stores postings (310) in a private block #1, and stores a processing result (e.g., author, posting time, title, etc.) of the postings in a public block #1. When a predetermined time elapses, the representative node (121) generates a random encryption key to encrypt the private block #1, divides the random encryption key into a predetermined number, and distributes and stores the divided pieces to other node devices. According to the present invention, it is possible to store important data for resolving disputes about the online postings using a multi-layered blockchain consisting of the public blockchain and the private blockchain.

Description

온라인 게시글에 대한 분쟁 해결을 위한 블록체인 네트워크를 구성하는 노드 장치 및 그 노드 장치의 동작 방법{Node device constituting a block-chain network and an operation method of the node device}Node device constituting a block-chain network and an operation method of the node device for resolving disputes on online posts

본 발명은 블록체인 기술에 관한 것으로서, 보다 구체적으로 온라인 상에 공개되는 게시글에 대한 분쟁 해결을 위한 다계층의 블록체인을 포함하는 블록체인 네트워크를 구성하는 노드 장치 및 그 노드 장치의 동작 방법에 관한 것이다. The present invention relates to a block chain technology, and more specifically, to a node device constituting a block chain network including a multi-layered block chain for resolving disputes on posts published online, and a method of operating the node device. will be.

일반적으로 전자 화폐는 인터넷에서 가상으로 존재하는 디지털 통화이다. 이와 같은 전자 화폐 중 대표적인 전자 화폐인 비트코인(Bitcoin)은 통화를 발행하고 관리하는 중앙 장치가 존재하지 않는 구조를 가지고 있으며, 비트코인의 거래는 블록체인을 기반으로 하고 있다. In general, electronic money is a digital currency that exists virtually on the Internet. Among these types of electronic money, Bitcoin, a representative electronic money, has a structure that does not have a central device for issuing and managing currencies, and the transaction of Bitcoin is based on a blockchain.

블록체인(blockchain)은 P2P(peer-to-peer) 네트워크에 의해 생성되고 관리되는 위변조 불가능한 분산 저장소이다. 블록체인은 트랜잭션(쌍방간의 쪼갤 수 없는 단위 작업)으로 생성된 데이터 블록들을 체인(chain) 형태로 잇따라 연결한 모음을 의미한다. 한번 기록된 데이터는 위조 또는 변조가 불가능하다. 블록체인에는 일정 시간 동안 사용자들 간에 발생되는 확정된 거래 내역이 저장될 수 있다. 블록체인 네트워크를 구성하는 많은 노드들은 블록체인 사본을 각자 갖고 있으며, 거래 내역은 모두에게 공개될 수 있다. Blockchain is a non-forgery distributed storage created and managed by a peer-to-peer (P2P) network. Blockchain refers to a collection of data blocks created by transactions (a unit operation that cannot be split between two parties) in succession in the form of a chain. Once recorded, data cannot be forged or altered. Blockchain can store confirmed transaction details that occur between users for a certain period of time. Many nodes that make up the blockchain network each have a copy of the blockchain, and transaction details can be disclosed to everyone.

블록체인은 화폐 유통에만 국한되어 활용되지 않고 다양한 분야에 활용되고 있다. 예를 들어 화물 운송, 문서 보관 등 다양한 분야가 활용되고 있다. 이와 같이 다양한 분야에 활용되기 위해서는 중요 데이터에 대한 보안이 중요한데, 현재까지 제안되고 있는 블록체인은 위변조가 불가능할 뿐 누구에게나 블록이 공개되어 이러한 점에서는 보안이 취약하다고 할 수 있다. 물론 중요 데이터 자체를 암호화하여 블록체인에 저장할 수 있으나, 암호화된 상태로 어쨌든 누구에게나 노출되기에 해킹의 가능성은 여전하다. Blockchain is used in various fields, not limited to currency circulation. For example, various fields such as cargo transportation and document storage are being used. In order to be used in such various fields, security for important data is important.However, the block chain proposed to date cannot be forged or altered, but the block is disclosed to anyone, so it can be said that the security is weak in this respect. Of course, important data itself can be encrypted and stored in the blockchain, but the possibility of hacking remains as it is encrypted and exposed to anyone anyway.

또한, 블록체인은 앞서 설명한 바와 같이 블록에 저장된 데이터에 대한 위변조가 불가능하다. 그러나 필요에 따라 블록체인의 블록에 저장된 데이터에 대한 삭제 또는 수정을 하면서 이전에 저장된 데이터에 대한 원천적인 삭제를 할 필요가 있다. 현재까지의 기술로는 블록체인에 저장된 데이터에 대한 삭제 또는 수정 등의 편집을 하면서 원본 데이터를 원천적으로 삭제할 수 있는 기술이 없는 실정이다.In addition, as described above, the block chain cannot forgery or alter the data stored in the block. However, it is necessary to fundamentally delete previously stored data while deleting or modifying the data stored in the block of the blockchain as needed. There is no technology that can fundamentally delete the original data while editing, such as deleting or modifying the data stored in the blockchain.

한편, 온라인 사회 관계망 서비스(SNS)가 활성화되어 감에 따라 익명을 이용한 가짜 뉴스가 온라인 상에 유포되고 있고, 다양한 종류의 대량의 정보가 빠르게 온라인 상에서 유통되고 있다. 악성 게시글에 의해 개인 명예훼손 사례가 증가하고 있고 유명 연예인의 경우 온라인 상의 악성 게시글에 상처 받아 극단적인 선택을 하는 경우도 있으며, 가짜 뉴스에 의해 금전적, 정신적 피해를 보는 사람도 늘어나고 있다. 이러한 가짜 뉴스나 악성 게시글 등에 대한 규제가 미비한 상태이다. 금칙어를 포함하는 게시글에 대해 자동으로 차단하는 기술이 적용되고 있기는 하나 이는 매우 제한된 차단이고 가짜 뉴스 등은 제어할 수 없다. Meanwhile, as the online social network service (SNS) becomes active, fake news using anonymity is spreading online, and a large amount of various types of information is rapidly circulating online. There are increasing cases of personal defamation caused by malicious posts, and in the case of famous celebrities, there are cases where they are hurt by malicious posts online and make extreme choices, and more and more people are suffering financial and mental damage by fake news. There are insufficient regulations on such fake news or malicious posts. Although a technology that automatically blocks postings containing banned words is being applied, this is a very limited blocking, and fake news, etc., cannot be controlled.

본 발명은 상술한 문제점을 해결하기 위해 제안된 것으로서, 공개 블록체인과 비공개 블록체인으로 이루어지는 다계층의 블록체인을 이용하여 온라인 상의 게시글에 대한 분쟁 해결을 위한 중요 데이터를 보관할 수 있고 또한 수정이나 삭제를 가능하게 하는, 블록체인 네트워크를 구성하는 노드 장치 및 그 노드 장치의 동작 방법을 제공하는데 목적이 있다.The present invention is proposed in order to solve the above-described problem, and by using a multi-layered block chain consisting of a public blockchain and a private blockchain, it is possible to store important data for resolving disputes on postings online, and to modify or delete them. It is an object of the present invention to provide a node device constituting a blockchain network and a method of operating the node device.

일 실시예에 따른 복수의 노드 장치를 포함하여 구성되는 블록체인 네트워크의 노드 장치는, 다른 노드 장치들과 통신하고, 사용자에 의해 작성된 게시글을 온라인상에 공개하는 웹 서버와 통신하는 통신 회로; 하나 이상의 프로세서; 및 상기 하나 이상의 프로세서에 의해 실행 가능한 인스트럭션을 저장하는 메모리를 포함하고, 상기 하나 이상의 프로세서는, 공개 블록체인과 비공개 블록체인을 각각 독립적으로 생성하고, 상기 웹 서버로부터 상기 게시글을 포함하는 제 1 트랜잭션을 수신하여 상기 비공개 블록체인의 비공개 블록에 저장하며, 상기 제 1 트랜잭션에 대한 처리 결과를 상기 공개 블록체인의 공개 블록에 저장하고, 제 1 랜덤 암호화 키를 생성하여 상기 제 1 트랜잭션이 저장된 비공개 블록을 암호화하고, 상기 제 1 랜덤 암호화 키를 소정의 개수로 분할하여 분할 조각들을 다른 노드 장치들로 분산하여 저장하며, 상기 게시글의 삭제 결정에 따라 상기 비공개 블록에 저장된 상기 게시글의 삭제를 위한 제 2 트랜잭션을 상기 웹 서버로부터 수신시, 상기 비공개 블록을 복사하여 메모리에 임시 로드한 후 다른 노드 장치들로부터 상기 분할 조각들을 수신하여 복호화하고 그 복호화된 비공개 블록에 저장된 상기 게시글을 삭제하고, 상기 게시글이 삭제된 상기 복호화된 비공개 블록을 복사하여 자식(child) 비공개 블록을 생성하며, 상기 메모리에 임시 로드된 비공개 블록을 삭제하고, 다른 노드 장치들로 상기 분할 조각들의 삭제를 요청하며, 제 2 랜덤 암호화 키를 생성하여 상기 자식 비공개 블록을 암호화하고, 상기 제 2 랜덤 암호화 키를 소정의 개수로 분할하여 분할 조각들을 다른 노드 장치들로 분산하여 저장한다.A node device of a blockchain network comprising a plurality of node devices according to an embodiment includes: a communication circuit that communicates with other node devices and communicates with a web server that publishes a post written by a user online; One or more processors; And a memory for storing instructions executable by the one or more processors, wherein the one or more processors independently create a public blockchain and a private blockchain, and a first transaction including the post from the web server Is received and stored in a private block of the private blockchain, the processing result of the first transaction is stored in the public block of the public blockchain, and a first random encryption key is generated to store the first transaction Is encrypted, the first random encryption key is divided by a predetermined number, the divided pieces are distributed to other node devices, and stored, and a second for deleting the post stored in the private block according to the decision to delete the post When a transaction is received from the web server, the private block is copied and temporarily loaded into memory, and the divided fragments are received from other node devices to be decrypted, and the post stored in the decrypted private block is deleted, and the post is Create a child private block by copying the deleted decrypted private block, delete the private block temporarily loaded in the memory, request deletion of the divided fragments to other node devices, and second random encryption A key is generated to encrypt the child private block, the second random encryption key is divided into a predetermined number, and the divided pieces are distributed to other node devices and stored.

상기 하나 이상의 프로세서는, 상기 공개 블록체인의 공개 블록 생성시 상기 비공개 블록체인의 비공개 블록을 동시에 생성하며, 상기 공개 블록의 헤더에 동시에 생성된 비공개 블록의 해쉬값 및 이전 공개 블록의 해쉬값을 기록할 수 있다.The one or more processors simultaneously generate the private block of the private block chain when generating the public block of the public block chain, and record the hash value of the private block simultaneously generated and the hash value of the previous public block in the header of the public block. can do.

상기 하나 이상의 프로세서는, 상기 비공개 블록체인의 비공개 블록 생성시 해당 비공개 블록의 헤더에 이전 비공개 블록의 해쉬값을 기록할 수 있다.The one or more processors may record a hash value of a previous private block in the header of the private block when generating the private block of the private blockchain.

상기 하나 이상의 프로세서는, 상기 제 2 트랜잭션을 상기 공개 블록체인의 공개 블록에 기록하고, 상기 자식 비공개 블록의 해쉬값을 상기 제 2 트랜잭션을 기록한 공개 블록과 함께 동시에 생성된 비공개 블록의 헤더에 기록할 수 있다.The one or more processors record the second transaction in the public block of the public blockchain, and record the hash value of the child private block in the header of the private block generated simultaneously with the public block recording the second transaction. I can.

상기 하나 이상의 프로세서는, 상기 제 2 트랜잭션을 공개 블록에 기록시, 상기 제 1 트랜잭션을 저장한 비공개 블록과 그 비공개 블록으로부터 생성된 자식 비공개 블록의 인덱스 정보를 함께 공개 블록에 기록할 수 있다.When recording the second transaction in the public block, the one or more processors may record the private block storing the first transaction and index information of the child private block generated from the private block together in the public block.

상기 제 2 트랜잭션은, 개인키를 이용한 서명값을 포함하고, 상기 하나 이상의 프로세서는, 상기 제 1 랜덤 암호화 키의 분할 조각을 다른 노드 장치들로 요청할 때 상기 서명값을 함께 전송하고 상기 다른 노드 장치들에서 상기 서명값의 검증 성공시에 상기 다른 노드 장치들로부터 상기 제 1 랜덤 암호화 키의 분할 조각을 수신할 수 잇다.The second transaction includes a signature value using a private key, and the at least one processor transmits the signature value together when requesting a split piece of the first random encryption key to other node devices, and the other node device Upon successful verification of the signature value, the divided pieces of the first random encryption key may be received from the other node devices.

상기 복수의 노드 장치는, 복수의 대표 노드 장치와 복수의 일반 노드 장치를 포함하고, 복수의 대표 노드 장치는 지분 증명에 의해 블록을 생성하여 블록을 동기화하고, 일반 노드 장치는 대표 노드 장치들의 블록들을 동기화하여 저장하며, 상기 블록체인 네트워크의 노드 장치는, 대표 노드 장치일 수 있다.The plurality of node devices include a plurality of representative node devices and a plurality of general node devices, and the plurality of representative node devices synchronize blocks by generating blocks by proof of stake, and the general node device is a block of representative node devices. They are stored in synchronization, and the node device of the blockchain network may be a representative node device.

상기 하나 이상의 프로세서는, 상기 게시글의 삭제를 요청하는 삭제 요청자에 의해 생성된 상기 게시글의 캡쳐 이미지와, 상기 삭제 요청자에 의해 상기 캡쳐 이미지의 일부분이 모자이크 처리된 모자이크 처리 이미지와, 상기 삭제 요청자에 의해 첨부된 삭제 이유 정보를 포함하는 제 3 트랜잭션을 상기 웹 서버로부터 수신하여 상기 비공개 블록체인의 다른 비공개 블록에 저장하고, 상기 제 3 트랜잭션에 대한 처리 결과를 상기 공개 블록체인의 다른 공개 블록에 저장하며, 제 3 랜덤 암호화 키를 생성하여 상기 제 3 트랜잭션이 저장된 상기 다른 비공개 블록을 암호화하고, 상기 제 3 랜덤 암호화 키를 소정의 개수로 분할하여 분할 조각들을 다른 노드 장치들로 분산하여 저장하며, 상기 게시글의 최종 삭제 결정에 따라 상기 캡쳐 이미지의 삭제를 위한 제 4 트랜잭션을 상기 웹 서버로부터 수신시, 상기 제 3 트랜잭션이 저장된 상기 다른 비공개 블록을 복사하여 메모리에 임시 로드한 후 다른 노드 장치들로부터 분할 조각들을 수신하여 복호화하고 그 복호화된 다른 비공개 블록에 저장된 상기 캡쳐 이미지를 삭제하고, 상기 캡쳐 이미지가 삭제된 상기 복호화된 다른 비공개 블록을 복사하여 자식(child) 비공개 블록을 생성하며, 상기 메모리에 임시 로드된 다른 비공개 블록을 삭제하고, 다른 노드 장치들로 분할 조각들의 삭제를 요청하며, 제 4 랜덤 암호화 키를 생성하여 상기 다른 비공개 블록으로부터 생성된 자식 비공개 블록을 암호화하고, 상기 제 4 랜덤 암호화 키를 소정의 개수로 분할하여 분할 조각들을 다른 노드 장치들로 분산하여 저장할 수 있다.The one or more processors may include a captured image of the post generated by a deletion requester requesting the deletion of the post, a mosaic-processed image in which a portion of the captured image is mosaic-processed by the deletion requestor, and the deletion requestor. A third transaction including attached deletion reason information is received from the web server and stored in another private block of the private blockchain, and the processing result of the third transaction is stored in another public block of the public blockchain. , Generate a third random encryption key to encrypt the other private block in which the third transaction is stored, divide the third random encryption key by a predetermined number, and distribute the divided fragments to other node devices and store the When a fourth transaction for deleting the captured image is received from the web server according to the final deletion decision of the post, the other private block in which the third transaction is stored is copied, temporarily loaded into memory, and then divided from other node devices. Fragments are received and decoded, the captured image stored in the decrypted other private block is deleted, and a child private block is created by copying the other decrypted private block from which the captured image is deleted, and temporary Delete another loaded private block, request deletion of divided fragments to other node devices, generate a fourth random encryption key to encrypt a child private block generated from the other private block, and the fourth random encryption key By dividing by a predetermined number, the divided pieces may be distributed and stored to other node devices.

상기 하나 이상의 프로세서는, 상기 게시글의 유지 결정에 따라 상기 게시글의 최초 작성자에 의해 작성된 유지 이유 정보를 포함하는 제 4 트랜잭션을 상기 웹 서버로부터 수신시, 상기 제 4 트랜잭션을 새로운 비공개 블록에 저장하고, 제 5 랜덤 암호화 키를 생성하여 상기 새로운 비공개 블록을 암호화하고, 상기 제 5 랜덤 암호화 키를 소정의 개수로 분할하여 분할 조각들을 다른 노드 장치들로 분산하여 저장할 수 있다.The one or more processors store the fourth transaction in a new private block when receiving from the web server a fourth transaction including maintenance reason information written by the first author of the post according to the decision to maintain the post, A fifth random encryption key may be generated to encrypt the new private block, and the fifth random encryption key may be divided into a predetermined number, and divided fragments may be distributed to other node devices and stored.

상기 최종 삭제 결정 및 상기 유지 결정은, 상기 게시글에 대한 불특정 사용자들의 투표 결과로 결정될 수 있다.The final deletion decision and the maintenance decision may be determined as a result of voting by unspecified users for the post.

일 실시예에 따른 복수의 노드 장치를 포함하여 구성되는 블록체인 네트워크의 노드 장치의 동작 방법은, 사용자에 의해 작성된 게시글을 온라인상에 공개하는 웹 서버로부터, 상기 게시글을 포함하는 제 1 트랜잭션을 수신하여 비공개 블록체인의 비공개 블록에 저장하며, 상기 제 1 트랜잭션에 대한 처리 결과를 공개 블록체인의 공개 블록에 저장하는 단계; 제 1 랜덤 암호화 키를 생성하여 상기 제 1 트랜잭션이 저장된 비공개 블록을 암호화하고, 상기 제 1 랜덤 암호화 키를 소정의 개수로 분할하여 분할 조각들을 다른 노드 장치들로 분산하여 저장하는 단계; 상기 게시글의 삭제 결정에 따라 상기 비공개 블록에 저장된 상기 게시글의 삭제를 위한 제 2 트랜잭션을 상기 웹 서버로부터 수신시, 상기 비공개 블록을 복사하여 메모리에 임시 로드한 후 다른 노드 장치들로부터 상기 분할 조각들을 수신하여 복호화하고 그 복호화된 비공개 블록에 저장된 상기 게시글을 삭제하고, 상기 게시글이 삭제된 상기 복호화된 비공개 블록을 복사하여 자식(child) 비공개 블록을 생성하는 단계; 및 상기 메모리에 임시 로드된 비공개 블록을 삭제하고, 다른 노드 장치들로 상기 분할 조각들의 삭제를 요청하며, 제 2 랜덤 암호화 키를 생성하여 상기 자식 비공개 블록을 암호화하고, 상기 제 2 랜덤 암호화 키를 소정의 개수로 분할하여 분할 조각들을 다른 노드 장치들로 분산하여 저장하는 단계를 포함한다.A method of operating a node device of a blockchain network comprising a plurality of node devices according to an embodiment receives a first transaction including the post from a web server that publishes a post written by a user online. Storing it in a private block of the private blockchain and storing the processing result of the first transaction in the public block of the public blockchain; Generating a first random encryption key to encrypt a private block in which the first transaction is stored, dividing the first random encryption key by a predetermined number, and distributing and storing the divided pieces to other node devices; When a second transaction for deleting the post stored in the private block is received from the web server according to the decision to delete the post, the private block is copied and temporarily loaded into memory, and the divided pieces are removed from other node devices. Receiving and decoding the post and deleting the post stored in the decrypted private block, and creating a child private block by copying the decrypted private block from which the post has been deleted; And deleting the private block temporarily loaded in the memory, requesting deletion of the divided fragments to other node devices, generating a second random encryption key to encrypt the child private block, and generating the second random encryption key. And storing the divided pieces by dividing them into a predetermined number and distributing them to other node devices.

본 발명은 다계층 블록체인을 비공개 블록체인과 공개 블록체인으로 구성하고 비공개 블록체인의 비공개 블록에는 온라인 상의 게시글 및 분쟁 해결을 위한 중요 데이터를 보관하고 공개 블록에는 일반 데이터를 저장함으로써 온라인 게시글에 대한 분쟁 증거 자료의 위변조를 방지하면서 외부 노출을 원천적으로 차단하여 보안을 강화하고 추후 온라인 게시글에 대한 법적 분쟁 발생시 증거자료로서 활용되도록 한다. The present invention consists of a multi-layered block chain with a private block chain and a public block chain, and the private block of the private block chain stores online posts and important data for dispute resolution, and the public block stores general data for online posts. It prevents forgery and alteration of the evidence of dispute, and strengthens security by fundamentally blocking external exposure, and in the event of a legal dispute over online posts in the future, it should be used as evidence.

본 발명은 상기 분쟁 해결을 위한 중요 데이터를 저장한 비공개 블록을 랜덤 암호화 키로 암호화한 후 블록체인 네트워크를 구성하는 노드 장치들에 그 랜덤 암호화 키를 분산하여 저장한 후 노드 장치들의 승인 하에서만 랜덤 암호화 키의 조각들을 수집하여 중요 데이터를 복호화할 수 있도록 하여 중요 데이터의 해킹을 방지하고 보안을 강화한다.The present invention encrypts the private block storing the important data for dispute resolution with a random encryption key, distributes the random encryption key to node devices constituting the blockchain network, and stores the random encryption key only under the approval of the node devices. It prevents hacking of important data and strengthens security by collecting key pieces to decrypt important data.

본 발명은 온라인 게시글에 대한 분쟁이 해소되는 경우 비공개 블록에 저장된 관련 중요 데이터 중 분쟁 대상이었던 온라인 게시글의 캡쳐 이미지를 원천적으로 삭제하는 효과를 제공하여 분쟁 대상이었던 온라인 게시글들이 재유통될 가능성을 원천적으로 차단할 수 있다. The present invention provides the effect of fundamentally deleting the captured image of the online post that was the subject of dispute among the relevant important data stored in the private block when the dispute over the online post is resolved, thereby preventing the possibility of re-distribution of the online post which was the subject of the dispute. Can be blocked.

도 1은 본 발명의 일 실시예에 따른 시스템을 나타낸 도면이다.
도 2는 도 1의 대표 노드의 블록체인을 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 따른 블록체인 네트워크에서 온라인 게시글의 분쟁 해결을 위한 데이터를 처리하는 과정을 설명하는 도면이다.
도 4는 본 발명의 일 실시예에 따른 삭제 요청자의 입력 데이터를 블록체인에 저장하는 방법을 설명하는 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 분쟁 대상의 온라인 게시글에 대한 투표 과정을 설명하는 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 비공개 블록에서 캡쳐 이미지를 삭제하는 방법을 설명하는 흐름도이다.
1 is a diagram showing a system according to an embodiment of the present invention.
FIG. 2 is a diagram showing a block chain of a representative node of FIG. 1.
3 is a diagram illustrating a process of processing data for dispute resolution of online postings in a blockchain network according to an embodiment of the present invention.
4 is a flowchart illustrating a method of storing input data of a deletion requester in a blockchain according to an embodiment of the present invention.
5 is a flowchart illustrating a voting process for an online post of a dispute object according to an embodiment of the present invention.
6 is a flowchart illustrating a method of deleting a captured image from a private block according to an embodiment of the present invention.

이하, 첨부된 도면을 참조하여, 본 발명에 대하여 보다 구체적으로 설명하기로 한다. 이하의 설명에서 본 발명에 대한 이해를 명확히 하기 위하여, 본 발명의 특징에 대한 공지의 기술에 대한 설명은 생략하기로 한다. 이하의 실시 예는 본 발명의 이해를 돕기 위한 상세한 설명이며, 본 발명의 권리 범위를 제한하는 것이 아님은 당연할 것이다. 따라서, 본 발명과 동일한 기능을 수행하는 균등한 발명 역시 본 발명의 권리 범위에 속할 것이다. 이하의 설명에서 동일한 식별 기호는 동일한 구성을 의미하며, 불필요한 중복적인 설명 및 공지 기술에 대한 설명은 생략하기로 한다.Hereinafter, with reference to the accompanying drawings, the present invention will be described in more detail. In the following description, in order to clarify an understanding of the present invention, a description of known techniques for features of the present invention will be omitted. The following examples are detailed descriptions to aid understanding of the present invention, and it will be natural that the scope of the present invention is not limited. Accordingly, an equivalent invention that performs the same function as the present invention will also fall within the scope of the present invention. In the following description, the same identification symbols mean the same configuration, and unnecessary redundant descriptions and descriptions of known technologies will be omitted.

도 1은 본 발명의 일 실시예에 따른 시스템을 나타낸 도면이고, 도 2는 도 1의 대표 노드의 블록체인을 나타낸 도면이다. 도 1을 참조한 본 실시예는, 웹 서버(110), 블록체인 네트워크(120), 사용자 단말(130)을 포함하고, 이들은 통신망(150)을 통해 통신하여 데이터를 송수신한다. 통신망(150)은, 유선 통신망 및 무선 통신망을 포함할 수 있다. 무선 통신망은 GSM(Global System for Mobile Communication), EDGE(Enhanced Data GSM Environment), WCDMA(wideband code division multiple access), CDMA(code division multiple access), TDMA(time division multiple access) 등의 통신망일 수 있다. 통신망(150)은 본 출원의 출원 시점에 아직 개발되지 않은 통신망을 포함한다.1 is a diagram illustrating a system according to an embodiment of the present invention, and FIG. 2 is a diagram illustrating a block chain of a representative node of FIG. 1. The present embodiment with reference to FIG. 1 includes a web server 110, a block chain network 120, and a user terminal 130, which communicate through a communication network 150 to transmit and receive data. The communication network 150 may include a wired communication network and a wireless communication network. The wireless communication network may be a communication network such as Global System for Mobile Communication (GSM), Enhanced Data GSM Environment (EDGE), wideband code division multiple access (WCDMA), code division multiple access (CDMA), and time division multiple access (TDMA). . The communication network 150 includes a communication network that has not yet been developed at the time of filing of the present application.

웹 서버(110)는 사용자 단말(130)이 접속하여 온라인 상에서 게시글을 작성할 수 있도록 하고 작성된 게시글을 온라인 상에 공개하는 서비스를 제공하는 컴퓨팅 장치이다. 이 서비스는 블로그 서비스, 카페 서비스, 또는 온라인 사회 관계망 서비스 등을 포함한다. 웹 서버(110)는 반드시 웹 기반으로 서비스를 제공하지 않아도 된다. 웹 서버(110)는 사용자들이 게시글을 작성하면 이에 관한 트랜잭션을 블록체인 네트워크(120)에 전송하여 게시글을 블록체인 네트워크(120)의 비공개 블록에 저장하고 게시글의 기본 정보, 예를 들어 작성자, 제목 등을 블록체인 네트워크(120)의 공개 블록에 저장한다. 웹 서버(110)는 게시글 전체를 온라인 상에 공개할 수 있고 또는 게시글의 제목이나 작성자만을 온라인 상에 공개하고 사용자의 선택에 따라 비공개 블록에 저장된 게시글을 온라인 상에 공개할 수 있다. 비공개 블록 및 공개 블록에 관해서는 이하에서 자세히 설명한다.The web server 110 is a computing device that allows the user terminal 130 to access and write posts online and provides a service for publishing the written posts online. These services include blog services, cafe services, or online social networking services. The web server 110 does not necessarily need to provide a web-based service. When users write a post, the web server 110 transmits a transaction related to it to the blockchain network 120, stores the post in a private block of the blockchain network 120, and provides basic information of the post, for example, author and title. And the like are stored in a public block of the blockchain network 120. The web server 110 may publish the entire post online, or publish only the title or author of the post online, and may open the post stored in the private block according to the user's selection online. The private block and the public block will be described in detail below.

웹 서버(110)는 온라인 게시글에 대한 분쟁 해결 서비스를 제공한다. 여기서 분쟁 해결 서비스는, 온라인 게시글에 대해 해당 게시글을 최초 작성한 작성자가 아닌 다른 사용자가 삭제 요청을 하면, 이를 최초 작성자에게 통지하고, 최초 작성자가 해당 게시글을 삭제하지 않을 경우 불특정 사용자의 참여에 의한 투표를 실시하여 투표 결과에 따라 해당 게시글을 삭제하거나 유지하는 것을 의미한다. 이 과정에서 웹 서버(110)는 블록체인 네트워크(120)와 통신하여 분쟁 해결 과정에서 생성된 데이터를 블록체인 네트워크(120)에 저장하고 분쟁이 해결되면 블록체인 네트워크(120)에 저장된 데이터 중 원본 게시글을 포함하는 일부 데이터를 삭제하는 트랜잭션을 발생시켜 블록체인 네트워크(120)로 전송한다. 웹 서버(110)는, 메모리, 하나 이상의 프로세서, 통신 회로를 포함하고 이들은 하나 이상의 통신 버스 또는 신호선을 통하여 통신한다. 메모리에는 운영 체제와 웹 서버(110)에서 제공하는 서비스를 위한 프로그램이 설치되고, 운영 체제 및 프로그램은 하나 이상의 프로세서에 의해 실행된다. 운영 체제는, 다윈(Darwin), RTXC, LINUX, UNIX, OS X, WINDOWS 또는 VxWorks, 안드로이드 등과 같은 내장 운영체제일 수 있다. The web server 110 provides a dispute resolution service for online postings. Here, the dispute resolution service is, when a user other than the author who originally wrote the post requests to delete the post, it notifies the original author, and if the original author does not delete the post, voting by participation of unspecified users It means to delete or keep the post according to the result of voting. In this process, the web server 110 communicates with the blockchain network 120 to store the data generated in the dispute resolution process in the blockchain network 120, and when the dispute is resolved, the original data stored in the blockchain network 120 A transaction for deleting some data including posts is generated and transmitted to the blockchain network 120. The web server 110 includes a memory, one or more processors, and communication circuits, which communicate through one or more communication buses or signal lines. Programs for services provided by the operating system and web server 110 are installed in the memory, and the operating system and programs are executed by one or more processors. The operating system may be a built-in operating system such as Darwin, RTXC, LINUX, UNIX, OS X, WINDOWS or VxWorks, Android, and the like.

웹 서버(110)의 프로세서는, 상기 프로그램에 따라, 사용자 단말(130)이 접속하면, 온라인 게시글을 작성할 수 있는 폼(form)을 웹 페이지를 통해 사용자 단말(130)로 제공하고, 사용자에 의해 작성된 게시글을 웹 사이트를 통해 공개한다. 웹 서버(110)의 프로세서는, 웹 사이트에 게시되는 게시글들 중에 일부 게시글에 대한 삭제 요청을 최초 작성자 이외 다른 사용자(이하, 삭제 요청자)로부터 수신할 수 있다. 웹 서버(110)의 프로세서는, 상기 삭제 요청에 대한 응답으로, 해당 게시글을 캡쳐하고. 캡쳐 이미지를 삭제 요청자의 사용자 단말(130)로 제공하면서, 모자이크를 처리할 수 있는 모자이크 입력 폼을 제공한다. 웹 서버(110)의 프로세서는, 모자이크 입력 폼을 통해 삭제 요청자로부터 상기 캡쳐 이미지에서 삭제가 필요한 부분에 대한 모자이크 처리 입력을 수신하여 상기 캡쳐 이미지의 일부분이 모자이크 처리된 모자이크 처리 이미지를 생성한다. 또한, 웹 서버(110)의 프로세서는, 삭제 요청자의 사용자 단말(130)로 삭제 이유를 입력할 수 있는 입력 폼을 제공하여 삭제 요청자로부터 구체적인 삭제 이유 및 증거를 포함하는 삭제 이유 정보를 수신한다. 웹 서버(110)의 프로세서는, 삭제 이유 정보의 입력까지 완료되면, 상기 캡쳐 이미지와, 상기 모자이크 처리 이미지와, 상기 삭제 이유 정보를 포함하는 트랜잭션을 블록체인 네트워크(120)로 전송한다. The processor of the web server 110, according to the above program, provides a form for creating an online post to the user terminal 130 through a web page when the user terminal 130 is connected, and The created post is published through the website. The processor of the web server 110 may receive a request for deletion of some of the posts posted on the web site from a user other than the original author (hereinafter, a deletion requester). The processor of the web server 110 captures the post in response to the deletion request. A mosaic input form capable of processing a mosaic is provided while providing the captured image to the user terminal 130 of the deletion requester. The processor of the web server 110 generates a mosaic-processed image in which a portion of the captured image is mosaic-processed by receiving a mosaic processing input for a portion of the captured image that needs to be deleted from a deletion requester through a mosaic input form. In addition, the processor of the web server 110 provides an input form for inputting a deletion reason to the user terminal 130 of the deletion requestor to receive deletion reason information including a specific reason for deletion and evidence from the deletion requester. When the input of the deletion reason information is completed, the processor of the web server 110 transmits a transaction including the captured image, the mosaic-processed image, and the deletion reason information to the blockchain network 120.

웹 서버(110)의 프로세서는, 상기 삭제 요청자에 의해 게시글에 대한 삭제 요청이 수신되면, 해당 게시글을 임시 잠금 처리를 하여 공개되지 않도록 처리하고, 최초 작성자에게 삭제 요청자로부터 수신된 상기 삭제 이유 정보를 전송하여 삭제할 것인지를 문의한다. 웹 서버(110)의 프로세서는, 최초 작성자가 삭제 요청된 게시글을 삭제할 경우, 블록체인 네트워크(120)로 해당 게시글 및 해당 게시글에 대한 캡쳐 이미지의 삭제를 위한 트랜잭션을 생성하여 블록체인 네트워크(120)로 전송한다. 만약, 블록체인 네트워크(120)에 캡쳐 이미지 등이 저장되기 전에, 삭제 요청자의 요청에 의해 최초 작성자가 게시글을 삭제하는 경우, 웹 서버(110)의 프로세서는, 원본 게시글만의 삭제를 위한 트랜잭션을 생성하여 블록체인 네트워크(120)로 전송할 수 있다.When a request for deletion of a post is received by the requester of deletion, the processor of the web server 110 processes the post to be temporarily locked so that it is not disclosed, and provides the first author with the information on the reason for deletion received from the requestor. Ask if you want to delete it by sending it. The processor of the web server 110, when the initial author deletes a post requested to be deleted, creates a transaction for the deletion of the post and the captured image for the post with the blockchain network 120, and the blockchain network 120 Transfer to. If the first author deletes the post at the request of the deletion requester before the captured image, etc. is stored in the blockchain network 120, the processor of the web server 110 performs a transaction for deleting only the original post. It can be created and transmitted to the blockchain network 120.

웹 서버(110)의 프로세서는, 최초 작성자가 게시글 삭제를 거부할 경우, 최초 작성자의 사용자 단말(130)로 해당 게시글의 유지에 대한 이유를 입력할 수 있는 입력 폼을 제공하고 그 입력 폼을 통해 유지 이유를 수신한다. 웹 서버(110)의 프로세서는, 수신된 유지 이유를 포함하는 트랜잭션을 블록체인 네트워크(120)로 전송한다. 그리고 웹 서버(110)의 프로세서는, 삭제 요청자에 의해 생성된 상기 모자이크 처리 이미지와 상기 유지 이유를 포함하는 토론 방을 개설하고, 불특정 사용자들을 대상으로 일정한 기간 동안 해당 게시글의 삭제 여부에 대한 투표를 시작한다. The processor of the web server 110 provides an input form for inputting the reason for the maintenance of the post to the user terminal 130 of the first author when the original author refuses to delete the post, and through the input form Receive reasons for maintenance. The processor of the web server 110 transmits a transaction including the received maintenance reason to the blockchain network 120. In addition, the processor of the web server 110 opens a discussion room including the mosaic-processed image generated by the deletion requester and the reason for maintaining, and votes on whether to delete the post for a certain period of time for unspecified users. Start.

투표 결과가 삭제로 결정된 경우, 웹 서버(110)의 프로세서는, 잠금 처리 되어 있는 해당 게시글을 삭제하고, 또한 해당 게시글에 대한 캡쳐 이미지의 삭제를 위한 트랜잭션을 생성하여 블록체인 네트워크(120)로 전송한다. 투표 결과가 유지로 결정된 경우, 웹 서버(110)의 프로세서는, 잠금 처리 되어 있는 해당 게시글을 다시 원 상태로 복구하여 온라인 상에 공개한다. 추후 해당 게시글로 인한 법률적 분쟁이 발생할 경우, 블록체인 네트워크(120)에 저장된 데이터들은 증거 자료로서 사용될 수 있다. 웹 서버(110)의 프로세서는, 투표에 참여한 사용자들에게는 소정의 포인트를 지급할 수 있다. 여기서 포인트는 전자 화폐일 수 있다.When the voting result is determined to be deleted, the processor of the web server 110 deletes the locked post, and creates a transaction for deleting the captured image for the post and transmits it to the blockchain network 120 do. When the voting result is determined to be maintained, the processor of the web server 110 restores the locked post to its original state and publishes it online. In the event of a legal dispute due to the post in the future, the data stored in the blockchain network 120 may be used as evidence. The processor of the web server 110 may pay predetermined points to users who participated in the voting. Here, the point may be electronic money.

블록체인 네트워크(120)는, 복수의 대표 노드(121)와 복수의 일반 노드(122)를 포함하여 구성된다. 여기서 노드(121, 122)들은, 데스크톱, 노트북, 스마트폰, 또는 기업의 서버 등일 수 있으며, 메모리와 프로세서를 포함하는 컴퓨팅 장치이다. 블록체인 네트워크(120)를 구성하는 대표 노드(121)들은, 웹 서버(110)로 API(Application Programmable Interface)를 제공하여 웹 서버(110)로부터 트랜잭션을 수신한다. 도 2에 도시된 바와 같이, 대표 노드(121)들은, 공개 블록들이 이어진 공개 블록체인(210)과 비공개 블록들이 이어진 비공개 블록체인(220)으로 구성되는 다계층의 블록체인을 운용 및 저장한다. The blockchain network 120 includes a plurality of representative nodes 121 and a plurality of general nodes 122. Here, the nodes 121 and 122 may be a desktop, a laptop computer, a smart phone, or a corporate server, and are computing devices including a memory and a processor. Representative nodes 121 constituting the blockchain network 120 receive a transaction from the web server 110 by providing an API (Application Programmable Interface) to the web server 110. As shown in FIG. 2, the representative nodes 121 operate and store a multi-layered blockchain consisting of a public blockchain 210 connected with public blocks and a private blockchain 220 connected with private blocks.

공개 블록체인(210)에는 공중에 공개되어도 되는 일반 데이터의 트랜잭션과 비공개 블록체인(220)에 대한 트랜잭션 처리 결과가 저장된다. 공개 블록체인(210)에 저장되는 각종 트랜잭션은 예를 들어 코인의 송금, 사용자들의 공개키 그리고 지갑 주소, 온라인 게시글의 기본 정보(예, 제목, 작성자, 게시 일자, 게시글이 저장된 비공개 블록의 정보) 등을 포함할 수 있다. 비공개 블록체인(220)에는 사용자들의 가입 정보와 사용자들의 개인키, 콘텐츠 암호화키, 특히 분쟁의 대상인 온라인 게시들에 대한 데이터 등의 외부에 노출되어서는 안 되는 중요 데이터, 즉 비공개 데이터의 트랜잭션이 저장된다. 비공개 블록체인(220)을 구성하는 비공개 블록은 랜덤 암호화 키로 암호화된다. 그리고 랜덤 암호화 키는 블록체인 네트워크(120)를 구성하는 노드들 중에서 일반 노드들(122)을 제외한 대표 노드들(121)에만 여러 조각으로 분할되어 분산 저장된다. 공개 블록체인(210)과 비공개 블록체인(220)에 적용되는 블록 생성 기술(예, 작업증명 또는 지분증명, 해쉬 연산)은 공지된 블록체인 기술이 적용될 수 있다. In the public blockchain 210, a transaction of general data that may be disclosed to the public and a transaction processing result for the private blockchain 220 are stored. Various transactions stored in the public blockchain 210 include, for example, remittance of coins, users' public keys and wallet addresses, basic information of online posts (e.g., title, author, posting date, information of the private block in which the posts are stored) And the like. The private blockchain 220 stores important data that should not be exposed to the outside, ie, transactions of private data, such as user subscription information, users' private keys, content encryption keys, and especially data on online publications that are subject to dispute. do. The private blocks constituting the private blockchain 220 are encrypted with a random encryption key. In addition, the random encryption key is divided into several pieces and distributedly stored only in the representative nodes 121 excluding the general nodes 122 among the nodes constituting the block chain network 120. Block generation technology (eg, proof-of-work or proof-of-stake, hash operation) applied to the public blockchain 210 and the private blockchain 220 may be applied to a known blockchain technology.

블록체인(210, 220)의 블록은 헤더(header)와 바디(body)로 구성된다. 헤더에는 이전 블록의 해쉬값, 난이도, 넌스(Nonce), 타임 스탬프, 머클 루트(Merkle Root)가 기록되고, 바디에는 각종 트랜잭션 정보와 블록의 인덱스가 기록된다. 여기서 블록의 인덱스는 비공개 블록의 인덱스를 포함한다. 즉, 비공개 블록에 특정 중요 데이터를 저장하는 트랜잭션이 발생하였을 때, 그 트랜잭션의 정보는 공개 블록의 바디에 기록되면서, 그 트랜잭션에 대응하는 중요 데이터가 기록된 비공개 블록에 대한 인덱스가 공개 블록의 바디에 기록된다. 따라서 특정 중요 데이터에 대한 검색이 요구될 때, 상기 인덱스를 참조하여 해당 특정 중요 데이터를 저장하고 있는 비공개 블록을 찾을 수 있다. 공개 블록체인(210)을 구성하는 공개 블록이 생성될 때, 비공개 블록체인(220)을 구성하는 비공개 블록도 동시에 생성된다. 그리고 공개 블록의 헤더에는 이전 블록의 해쉬값과 함께, 공개 블록과 함께 동시에 생성된 비공개 블록의 해쉬값이 기록된다. 따라서, 비공개 블록에 대한 위변조를 방지할 수 있다. 당연히 비공개 블록의 헤더에는 이전 비공개 블록의 해쉬값이 기록된다. Blocks of the blockchains 210 and 220 are composed of a header and a body. The hash value, difficulty, nonce, time stamp, and Merkle Root of the previous block are recorded in the header, and various transaction information and the index of the block are recorded in the body. Here, the block index includes the private block index. That is, when a transaction that stores specific important data in a private block occurs, the transaction information is recorded in the body of the public block, and the index for the private block in which the important data corresponding to the transaction is recorded is the body of the public block. Is written in. Therefore, when a search for specific important data is requested, a private block storing the specific important data can be found by referring to the index. When a public block constituting the public blockchain 210 is generated, a private block constituting the private blockchain 220 is also generated at the same time. In the header of the public block, the hash value of the previous block and the hash value of the private block generated simultaneously with the public block are recorded. Accordingly, forgery and alteration of the private block can be prevented. Naturally, the hash value of the previous private block is recorded in the header of the private block.

대표 노드(121)들은, 공개된 API를 통해 웹 서버(110)와 통신할 수 있고, 또한 블록을 생성하여 블록체인을 만들고 이를 다른 대표 노드(121)들과 동기화한다. 대표 노드(121)들은, 비공개 블록을 암호화된 랜덤 암호화 키의 분할된 조각을 나누어 분산 저장하고, 어느 한 대표 노드(121)의 요청시에 요청한 대표 노드(121)의 무결성을 검증한 후 자신이 보유하고 있는 랜덤 암호화 키의 분할 조각을 회신한다. 대표 노드들(121)은 랜덤 암호화 키의 분할 조각을 블록체인에 저장하지 않고 별도의 로컬 저장소에 저장하고, 랜덤 암호화 키와 비공개 블록 간의 관계 정보를 관리한다. 일반 노드들(122)은 대표 노드(121)의 동작 중에서 블록체인 서비스의 가입 처리, 그리고 지갑 생성, 그리고 랜덤 암호화 키의 생성 및 보관을 담당하지 않고, 블록체인의 복사본을 저장하는 역할만을 담당한다.The representative nodes 121 can communicate with the web server 110 through an open API, and create a block to create a block chain and synchronize it with other representative nodes 121. The representative nodes 121 distribute and store the private block by dividing the divided fragments of the encrypted random encryption key, and after verifying the integrity of the representative node 121 requested at the request of any one representative node 121, It returns the divided fragment of the held random encryption key. The representative nodes 121 do not store the divided pieces of the random encryption key in the blockchain, but store them in a separate local storage, and manage the relationship information between the random encryption key and the private block. The general nodes 122 are not responsible for the subscription processing of the blockchain service, the creation of the wallet, and the generation and storage of random encryption keys among the operations of the representative node 121, but only store a copy of the blockchain. .

랜덤 암호화 키는 앞서 설명한 바와 같이, 콘텐츠 암호화키, 분쟁 대상 온라인 게시글에 대한 데이터 등의 중요 데이터를 저장하는 비공개 블록을 암호화하는 키이다. 중요 데이터가 저장되는 각 비공개 블록마다 랜덤 암호화 키는 서로 다르다. 한편, 중요 데이터가 저장되는 각 비공개 블록의 식별정보는 공개 블록에 저장됨으로써, 대표 노드들(121)이 공개 블록에서 특정 중요 데이터가 저장되어 있는 비공개 블록의 정보를 식별할 수 있다.As described above, the random encryption key is a key for encrypting a private block that stores important data, such as a content encryption key and data on online postings subject to dispute. Each private block in which important data is stored has a different random encryption key. Meanwhile, identification information of each private block in which important data is stored is stored in the public block, so that the representative nodes 121 can identify information on the private block in which specific important data is stored in the public block.

대표 노드(121)들은, 메모리, 메모리 제어기, 하나 이상의 프로세서(CPU), 주변 인터페이스, 입출력(I/O) 서브시스템, 디스플레이 장치, 입력 장치 및 통신 회로를 포함한다. 이러한 구성요소는 하나 이상의 통신 버스 또는 신호선을 통하여 통신한다. 여러 구성요소는 하나 이상의 신호 처리 및/또는 애플리케이션 전용 집적 회로(application specific integrated circuit)를 포함하여, 하드웨어, 소프트웨어 또는 하드웨어와 소프트웨어 둘의 조합으로 구현될 수 있다.The representative nodes 121 include a memory, a memory controller, one or more processors (CPU), a peripheral interface, an input/output (I/O) subsystem, a display device, an input device, and a communication circuit. These components communicate via one or more communication buses or signal lines. The various components may be implemented in hardware, software, or a combination of both hardware and software, including one or more signal processing and/or application specific integrated circuits.

메모리는 고속 랜덤 액세스 메모리를 포함할 수 있고, 또한 하나 이상의 자기 디스크 저장 장치, 플래시 메모리 장치와 같은 불휘발성 메모리, 또는 다른 불휘발성 반도체 메모리 장치를 포함할 수 있다. 일부 실시예에서, 메모리는 하나 이상의 프로세서로부터 멀리 떨어져 위치하는 저장 장치, 예를 들어 통신 회로와, 인터넷, 인트라넷, LAN(Local Area Network), WLAN(Wide LAN), SAN(Storage Area Network) 등, 또는 이들의 적절한 조합과 같은 통신 네트워크(도시하지 않음)를 통하여 액세스되는 네트워크 부착형(attached) 저장 장치를 더 포함할 수 있다. 프로세서 및 주변 인터페이스와 같은 대표 노드의 다른 구성요소에 의한 메모리로의 액세스는 메모리 제어기에 의하여 제어될 수 있다. 비공개 블록체인과 공개 블록체인은 메모리에 저장될 수 있다.The memory may include high-speed random access memory, and may also include one or more magnetic disk storage devices, nonvolatile memory such as flash memory devices, or other nonvolatile semiconductor memory devices. In some embodiments, the memory is a storage device that is located remotely from one or more processors, such as a communication circuit, the Internet, an intranet, a local area network (LAN), a wide LAN (WLAN), a storage area network (SAN), and the like, Or a network attached storage device accessed through a communication network (not shown), such as a suitable combination thereof. Access to the memory by other components of the representative node, such as the processor and peripheral interfaces, can be controlled by the memory controller. Private blockchains and public blockchains can be stored in memory.

주변 인터페이스는 대표 노드(121)들의 입출력 주변 장치를 프로세서 및 메모리와 연결한다. 하나 이상의 프로세서는 다양한 소프트웨어 프로그램 및/또는 메모리에 저장되어 있는 인스트럭션(명령어) 세트를 실행하여 대표 노드(121)들을 위한 여러 기능을 수행하고 데이터를 처리한다. 일부 실시예에서, 주변 인터페이스, 프로세서 및 메모리 제어기는 칩과 같은 단일 칩 상에서 구현될 수 있다. 일부 다른 실시예에서, 이들은 별개의 칩으로 구현될 수 있다. I/O 서브시스템은 디스플레이 장치, 입력 장치와 같은 대표 노드의 입출력 주변장치와 주변 인터페이스 사이에 인터페이스를 제공한다. The peripheral interface connects the input/output peripheral devices of the representative nodes 121 to the processor and the memory. One or more processors execute various software programs and/or a set of instructions (instructions) stored in a memory to perform various functions for the representative nodes 121 and process data. In some embodiments, the peripheral interface, processor, and memory controller may be implemented on a single chip, such as a chip. In some other embodiments, they may be implemented as separate chips. The I/O subsystem provides an interface between the input/output peripherals of the representative node, such as display devices and input devices, and peripheral interfaces.

프로세서는 대표 노드(121)들에 연관된 동작을 수행하고 명령어들을 수행하도록 구성된 프로세서로서, 예를 들어, 메모리로부터 검색된 명령어들을 이용하여, 대표 노드(121)들의 컴포넌트 간의 입력 및 출력 데이터의 수신과 조작을 제어할 수 있다. 일부 실시예에서, 소프트웨어 구성요소는 운영 체제, 그래픽 모듈(명령어 세트) 및 이노코인 프로그램(명령어 세트)이 메모리에 탑재(설치)된다. 운영 체제는, 예를 들어, 다윈(Darwin), RTXC, LINUX, UNIX, OS X, WINDOWS 또는 VxWorks, 안드로이드 등과 같은 내장 운영체제일 수 있고, 일반적인 시스템 태스크(task)(예를 들어, 메모리 관리, 저장 장치 제어, 전력 관리 등)를 제어 및 관리하는 다양한 소프트웨어 구성요소 및/또는 장치를 포함하고, 다양한 하드웨어와 소프트웨어 구성요소 사이의 통신을 촉진시킨다. 그래픽 모듈은 디스플레이 장치 상에 그래픽을 제공하고 표시하기 위한 주지의 여러 소프트웨어 구성요소를 포함한다. "그래픽(graphics)"이란 용어는 텍스트, 웹 페이지, 아이콘(예컨대, 소프트 키를 포함하는 사용자 인터페이스 대상), 디지털 이미지, 비디오, 애니메이션 등을 제한 없이 포함하여, 사용자에게 표시될 수 있는 모든 대상을 포함한다. 메모리에 저장되는 프로그램에 따라 하나 이상의 프로세서는 이하의 도면을 참조하여 설명하는 동작을 수행한다. 바람직하게, 프로그램은 스마트 컨트랙트일 수 있다.The processor is a processor configured to perform an operation related to the representative nodes 121 and execute instructions, for example, receiving and manipulating input and output data between components of the representative nodes 121 by using instructions retrieved from the memory. Can be controlled. In some embodiments, the software component has an operating system, a graphics module (instruction set) and an Innocoin program (instruction set) mounted (installed) in a memory. The operating system may be, for example, a built-in operating system such as Darwin, RTXC, LINUX, UNIX, OS X, WINDOWS or VxWorks, Android, etc., and general system tasks (e.g., memory management, storage Device control, power management, etc.) to control and manage various software components and/or devices, and facilitate communication between the various hardware and software components. The graphics module includes several well-known software components for presenting and displaying graphics on a display device. The term “graphics” refers to any object that can be displayed to a user, including, without limitation, text, web pages, icons (eg, user interface objects including soft keys), digital images, videos, animations, etc. Includes. According to a program stored in the memory, one or more processors perform operations described with reference to the following drawings. Preferably, the program may be a smart contract.

통신 회로는 무선 또는 유선 통신을 수행할 수 있다. 통신 회로는 전기 신호를 전자파로 또는 그 반대로 변환하며 이 전자파를 통하여 통신 네트워크, 다른 이동형 게이트웨이 및 통신 장치와 통신할 수 있다. 통신 회로는 예를 들어 안테나 시스템, RF 트랜시버, 하나 이상의 증폭기, 튜너, 하나 이상의 오실레이터, 디지털 신호 처리기, CODEC 칩셋, 가입자 식별 모듈(subscriber identity module, SIM) 카드, 메모리 등을 포함하지만 이에 한정되지 않는 이러한 기능을 수행하기 위한 주지의 회로를 포함할 수 있다. 통신 회로는 월드 와이드 웹(World Wide Web, WWW)으로 불리는 인터넷, 인트라넷과 네트워크 및/또는, 셀룰러 전화 네트워크, 무선 LAN 및/또는 MAN(metropolitan area network)와 같은 무선 네트워크, 그리고 근거리 무선 통신에 의하여 다른 장치와 통신할 수 있다. 무선 통신은 GSM(Global System for Mobile Communication), EDGE(Enhanced Data GSM Environment), WCDMA(wideband code division multiple access), CDMA(code division multiple access), TDMA(time division multiple access), VoIP(voice over Internet Protocol), Wi-MAX, 블루투스(Bluetooth), 지그비(zigbee), 엔에프씨(NFC:Near Field Communication) 또는 본 출원의 출원 시점에 아직 개발되지 않은 통신 프로토콜을 포함하는 기타 다른 적절한 통신 프로토콜을 포함하지만 이에 한정되지 않는 복수의 통신 표준, 프로토콜 및 기술 중 어느 것을 이용할 수 있다.The communication circuit can perform wireless or wired communication. The communication circuit converts electrical signals into electromagnetic waves and vice versa, through which they can communicate with communication networks, other mobile gateways and communication devices. Communication circuits include, but are not limited to, antenna systems, RF transceivers, one or more amplifiers, tuners, one or more oscillators, digital signal processors, CODEC chipsets, subscriber identity module (SIM) cards, memory, etc. A well-known circuit for performing this function may be included. The communication circuit is by means of the Internet, intranet and network and/or wireless network such as cellular telephone network, wireless LAN and/or metropolitan area network (MAN), and short-range wireless communication called the World Wide Web (WWW). Can communicate with other devices. Wireless communication includes Global System for Mobile Communication (GSM), Enhanced Data GSM Environment (EDGE), wideband code division multiple access (WCDMA), code division multiple access (CDMA), time division multiple access (TDMA), voice over Internet (VoIP). Protocol), Wi-MAX, Bluetooth, Zigbee, Near Field Communication (NFC), or any other suitable communication protocol, including communication protocols not yet developed at the time of filing of this application. Any of a plurality of communication standards, protocols, and technologies that are not limited thereto may be used.

도 3은 본 발명의 일 실시예에 따른 블록체인 네트워크에서 온라인 게시글의 분쟁 해결을 위한 데이터를 처리하는 과정을 설명하는 도면이다. 3 is a diagram illustrating a process of processing data for dispute resolution of online postings in a blockchain network according to an embodiment of the present invention.

도 3에 도시된 바와 같이, 대표 노드(121)는 공개 블록으로 이루어지는 공개 블록체인과 비공개 블록으로 이루어지는 비공개 블록체인을 구성한다. 대표 노드(121)는 공개 블록의 생성시에 저장할 중요 데이터가 없더라도 비공개 블록을 동시에 생성하고, 비공개 블록의 해쉬값을 공개 블록의 헤더에 기록한다. 따라서, 다음 공개 블록의 헤더에는 이전 공개 블록의 해쉬값과 이전 비공개 블록의 해쉬값이 연관된다. 대표 노드(121)는 비공개 블록에 대해 랜덤 암호화 키를 생성하고 그 랜덤 암호화 키를 이용하여 비공개 블록을 암호화한 후, 그 랜덤 암호화 키를 분할하여 분할된 조각을 다른 대표 노드(121)들에게 분산하여 저장한다. As shown in FIG. 3, the representative node 121 constitutes a public blockchain made of public blocks and a private blockchain made of private blocks. The representative node 121 simultaneously generates the private block even if there is no important data to be stored when the public block is generated, and records the hash value of the private block in the header of the public block. Accordingly, the hash value of the previous public block and the hash value of the previous private block are associated with the header of the next public block. The representative node 121 generates a random encryption key for the private block, encrypts the private block using the random encryption key, and then divides the random encryption key to distribute the divided fragments to other representative nodes 121 And save it.

도 3을 참조하면, 대표 노드(121)는, 공개 블록 #1 및 비공개 블록 #1을 생성할 때, 웹 서버(110)로부터 게시글의 저장을 위한 트랜잭션을 수신할 수 있다. 대표 노드(121)는, 비공개 블록 #1에 게시글(310)을 저장하고, 공개 블록 #1에는 해당 게시글의 처리에 관한 결과(예, 작성자, 게시 시간, 제목 등)를 저장한다. 대표 노드(121)는 일정한 시간이 경과하면 랜덤 암호화 키를 생성하여 상기 비공개 블록 #1을 암호화하고, 그 랜덤 암호화 키를 소정의 개수로 분할하여 분할 조각들을 다른 노드 장치들로 분산하여 저장한다.Referring to FIG. 3, when generating the public block #1 and the private block #1, the representative node 121 may receive a transaction for storing a post from the web server 110. The representative node 121 stores the post 310 in the private block #1, and stores the result (eg, author, posting time, title, etc.) related to the processing of the post in the public block #1. The representative node 121 generates a random encryption key after a certain period of time to encrypt the private block #1, divides the random encryption key by a predetermined number, and distributes and stores the divided fragments to other node devices.

한편, 대표 노드(121)는 공개 블록 #N-M-1(N 및 M은 자연수이고 N>M) 및 비공개 블록 #N-M-1을 생성할 때, 웹 서버(110)로부터 상기 비공개 블록 #1에 저장된 온라인 게시글의 캡쳐 이미지와, 해당 온라인 게시글에 대해 삭제를 요청한 삭제 요청자에 의해 상기 캡쳐 이미지의 일부분이 모자이크 처리된 모자이크 처리 이미지와, 상기 삭제 요청자에 의해 첨부된 삭제 이유 정보를 포함하는 트랜잭션을 수신하여 비공개 블록 #N-M-1에 저장한다. 도 3에서 비공개 블록 #N-M-1에서 참조번호 320이 상기 캡쳐 이미지이고, 참조번호 330이 상기 모자이크 처리 이미지이며, 참조번호 340이 상기 삭제 이유 정보이다. 트랜잭션은 웹 서버(110)의 개인키를 이용한 서명값을 포함한다. 대표 노드(121)는 해당 트랜잭션의 처리 결과를 공개 블록 #N-M-1에 저장하여, 해당 트랜잭션이 비공개 블록 #N-M-1에 저장된 것을 알 수 있도록 한다. 대표 노드(121)는 일정한 시간이 경과하면 랜덤 암호화 키를 생성하여 상기 비공개 블록 #N-M-1을 암호화하고, 그 랜덤 암호화 키를 소정의 개수로 분할하여 분할 조각들을 다른 노드 장치들로 분산하여 저장한다.Meanwhile, the representative node 121 is stored in the private block #1 from the web server 110 when generating public block #NM-1 (N and M are natural numbers and N>M) and private block #NM-1. Receiving a transaction including a captured image of an online post, a mosaic-processed image in which a portion of the captured image was mosaic-processed by a deletion requester who requested deletion of the online post, and information about the reason for deletion attached by the deletion requester Stored in private block #NM-1. In FIG. 3, in the private block #N-M-1, reference number 320 is the captured image, reference number 330 is the mosaic-processed image, and reference number 340 is the deletion reason information. The transaction includes a signature value using the private key of the web server 110. The representative node 121 stores the processing result of the corresponding transaction in public block #N-M-1, so that it is possible to know that the corresponding transaction is stored in private block #N-M-1. The representative node 121 generates a random encryption key after a certain period of time to encrypt the private block #NM-1, divides the random encryption key by a predetermined number, and distributes the divided fragments to other node devices and stores it. do.

대표 노드(121)는, 공개 블록 #N-M 및 비공개 블록 #N-M을 생성할 때, 웹 서버(110)로부터 분쟁 대상인 상기 온라인 게시글의 최초 작성자에 의해 작성된 해당 게시글의 유지 이유를 포함하는 트랜잭션을 수신하고, 그 트랜잭션을 비공개 블록 #N-M에 저장한다. 도 3에서 참조번호 350이 상기 유지 이유이다. 대표 노드(121)는, 일정한 시간이 경과하면 비공개 블록 #N-M을 암호화하기 위한 랜덤 암호화 키를 새로 생성하여 상기 비공개 블록 #N-M을 암호화하고, 그 랜덤 암호화 키를 소정의 개수로 분할하여 분할 조각들을 다른 노드 장치들로 분산하여 저장한다.When generating the public block #NM and the private block #NM, the representative node 121 receives a transaction from the web server 110 that includes the reason for maintaining the post written by the first author of the online post that is the subject of dispute, and , Store the transaction in private block #NM. Reference numeral 350 in FIG. 3 is the reason for the maintenance. The representative node 121 encrypts the private block #NM by generating a new random encryption key for encrypting the private block #NM after a certain period of time elapses, and dividing the random encryption key into a predetermined number to divide the divided pieces. It is distributed and stored to other node devices.

도 3을 참조하면, 대표 노드(121)는 공개 블록 #N 및 비공개 블록 #N을 생성할 때, 비공개 블록 #N-M에 저장된 데이터 중 상기 최초 작성자에 의해 작성된 게시글의 유지 이유(350)에 대한 삭제 및 추가에 관한 수정 트랜잭션(Modify transaction)을 수신한다. 수정 트랜잭션도 마찬가지로 트랜잭션을 발생시킨 주체, 즉 웹 서버(110)의 서명값을 포함한다. 대표 노드(121)는, 비공개 블록 #N-M을 복사하여 메모리에 임시 로드한 후, 다른 대표 노드(121)들로부터 그 비공개 블록 #N-M을 복호화할 수 있는 랜덤 암호화 키의 분할 조각들을 수신한다. 마찬가지로 상기 서명값에 대한 검증 성공시에 분할 조각이 수신된다. 대표 노드(121)는, 수신된 분할 조각을 이용하여 메모리에 임시 로드한 비공개 블록 #N-M을 복호화한 후 그 복호화된 비공개 블록 #N-M에 저장된 데이터 중 삭제 요청된 데이터(350)를 삭제하고 추가 요청된 데이터(360)를 추가한 후, 그 비공개 블록 #N-M을 복사하여 자식(child) 비공개 블록 #N-M을 생성한다. 그리고 대표 노드(121)는, 상기 메모리에 임시 로드된 비공개 블록 #N-M을 삭제하고, 그 비공개 블록 #N-M에 대한 랜덤 암호화 키의 분할 조각의 삭제 요청을 다른 대표 노드(121)들로 전송한다. 따라서, 비공개 블록 #N-M에 대해서는 복호화를 위한 랜덤 암호화 키를 생성할 수 없으므로, 비공개 블록 #N-M은 원천적으로 삭제된 것과 같이 된다. 한편, 대표 노드(121)는 상기 자식 비공개 블록 #N-M에 대한 랜덤 암호화 키를 생성하여 그 자식 비공개 블록 #N-M을 암호화하고, 그 랜덤 암호화 키를 소정의 개수로 분할하여 분할 조각들을 다른 노드 장치들로 분산하여 저장한다. 상기 수정 트랜잭션은 공개 블록 #N 및 비공개 블록 #N이 생성될 때 발생하였으므로, 대표 노드(121)는 상기 수정 트랜잭션은 공개 블록 #N에 기록하고, 자식 비공개 블록 #N-M의 해쉬값은 비공개 블록 #N에 기록한다. 따라서, 공개 블록 #N의 헤더에는 이전 공개 블록 #N-1의 해쉬값, 비공개 블록 #N의 해쉬값, 그리고 자식 비공개 블록 #N-M의 해쉬값이 연관된다. Referring to FIG. 3, when the representative node 121 generates the public block #N and the private block #N, among data stored in the private block #NM, the reason for maintaining the post created by the original author 350 is deleted. And a Modify transaction related to the addition. Likewise, the modified transaction includes the signature value of the subject that generated the transaction, that is, the web server 110. The representative node 121 copies the private block #N-M and temporarily loads it into the memory, and then receives divided pieces of a random encryption key capable of decrypting the private block #N-M from other representative nodes 121. Likewise, when the signature value is successfully verified, the divided fragment is received. The representative node 121 decrypts the private block #NM temporarily loaded into the memory using the received divided fragment, and then deletes the requested data 350 among the data stored in the decrypted private block #NM, and requests additional After adding the created data 360, the private block #NM is copied to create a child private block #NM. In addition, the representative node 121 deletes the private block #N-M temporarily loaded in the memory, and transmits a request to delete the divided fragment of the random encryption key for the private block #N-M to the other representative nodes 121. Therefore, since a random encryption key for decryption cannot be generated for the private block #N-M, the private block #N-M is essentially deleted. Meanwhile, the representative node 121 generates a random encryption key for the child private block #NM, encrypts the child private block #NM, divides the random encryption key by a predetermined number, and divides the divided fragments to other node devices. Distributed and stored. Since the modification transaction occurred when the public block #N and the private block #N are generated, the representative node 121 records the modified transaction in the public block #N, and the hash value of the child private block #NM is the private block # Record in N. Accordingly, the hash value of the previous public block #N-1, the hash value of the private block #N, and the hash value of the child private block #N-M are associated with the header of the public block #N.

대표 노드(121)는, 공개 블록 #N+1 및 비공개 블록 #N+1을 생성할 때, 상기 분쟁 대상의 온라인 게시글의 최종 삭제 결정에 따라 비공개 블록 #1에 저장된 원본 게시글(310) 및 비공개 블록 #N-M-1에 저장된 캡쳐 이미지의 삭제를 위한 삭제 트랜잭션을 웹 서버(110)로부터 수신한다. 해당 삭제 트랜잭션은 삭제를 요청하는 주체, 즉 웹 서버(110)의 개인키를 이용한 서명값을 포함한다. The representative node 121, when generating the public block #N+1 and the private block #N+1, the original post 310 stored in the private block #1 and private according to the final deletion decision of the online post of the dispute object. A deletion transaction for deletion of the captured image stored in block #NM-1 is received from the web server 110. The deletion transaction includes the subject requesting deletion, that is, a signature value using the private key of the web server 110.

대표 노드(121)는, 비공개 블록 #1을 복사하여 메모리에 임시 로드(load)한 후, 다른 대표 노드들로부터 그 비공개 블록 #1을 복호화할 수 있는 랜덤 암호화 키의 분할 조각들을 수신한다. 마찬가지로, 대표 노드(121)는, 비공개 블록 #N-M-1을 복사하여 메모리에 임시 로드(load)한 후, 다른 대표 노드들로부터 그 비공개 블록 #N-M-1을 복호화할 수 있는 랜덤 암호화 키의 분할 조각들을 수신한다. 이때, 대표 노드(121)는, 분할 조각을 다른 대표 노드들로 요청할 때 상기 서명값을 함께 전송하고 상기 다른 대표 노드들에서 상기 서명값의 검증 성공시에 상기 다른 대표 노드들로부터 분할 조각을 수신한다. 이로써, 해킹 등에 의한 중요 데이터의 삭제를 방지할 수 있다. The representative node 121 copies the private block #1 and temporarily loads it into the memory, and then receives divided pieces of a random encryption key capable of decrypting the private block #1 from other representative nodes. Similarly, the representative node 121 copies the private block #NM-1 and temporarily loads it into the memory, and then divides a random encryption key capable of decrypting the private block #NM-1 from other representative nodes. Receive the pieces. At this time, the representative node 121 transmits the signature value together when requesting the segmentation fragment from other representative nodes, and receives the segmentation fragment from the other representative nodes upon successful verification of the signature value in the other representative nodes. do. Thus, it is possible to prevent deletion of important data due to hacking or the like.

대표 노드(121)는, 수신된 분할 조각을 이용하여 메모리에 임시 로드한 비공개 블록 #1 및 비공개 블록 #N-M-1을 복호화한 후 그 복호화된 비공개 블록 #1에 저장된 원본 게시글(310)과 비공개 블록 #N-M-1에 저장된 캡쳐 이미지(320)를 삭제하고, 원본 게시글(310)이 삭제된 상기 복호화된 비공개 블록 #1을 복사하여 자식(child) 비공개 블록 #1을 생성하고, 또한 캡쳐 이미지(320)가 삭제된 상기 복호화된 비공개 블록 #N-M-1을 복사하여 자식(child) 비공개 블록 #N-M-1을 생성한다. 그리고 대표 노드(121)는, 상기 메모리에 임시 로드된 비공개 블록 #1 및 비공개 블록 #N-M-1을 삭제하고, 그 비공개 블록 #1 및 #N-M-1 각각의 랜덤 암호화 키의 분할 조각의 삭제 요청을 다른 대표 노드(121)들로 전송한다. 따라서, 비공개 블록 #1 및 #N-M-1 각각에 대해서는 복호화를 위한 랜덤 암호화 키를 생성할 수 없으므로, 비공개 블록 #1 및 #N-M-1은 원천적으로 삭제된 것과 같이 된다. 따라서 비공개 블록체인에서 원본 게시글 및 원본 게시글의 캡쳐 이미지는 복구가 불가능하다. The representative node 121 decrypts the private block #1 and the private block #NM-1 temporarily loaded into the memory using the received divided fragment, and then the original post 310 stored in the decrypted private block #1 and private The captured image 320 stored in block #NM-1 is deleted, and the decrypted private block #1 from which the original post 310 is deleted is copied to create a child private block #1, and the captured image ( 320) is copied to the deleted decoded private block #NM-1 to generate a child private block #NM-1. In addition, the representative node 121 deletes the private block #1 and the private block #NM-1 temporarily loaded in the memory, and requests deletion of the divided fragments of the random encryption keys of the private blocks #1 and #NM-1, respectively. Is transmitted to the other representative nodes 121. Therefore, since a random encryption key for decryption cannot be generated for each of the private blocks #1 and #N-M-1, the private blocks #1 and #N-M-1 are essentially deleted. Therefore, it is impossible to recover the original post and the captured image of the original post on the private blockchain.

한편, 대표 노드(121)는 상기 자식 비공개 블록 #1 및 #N-M-1 각각에 대한 랜덤 암호화 키를 생성하여 그 자식 비공개 블록 #1 및 #N-M-1을 각각 암호화하고, 그 각 랜덤 암호화 키를 소정의 개수로 분할하여 분할 조각들을 다른 노드 장치들로 분산하여 저장한다. 상기 삭제 트랜잭션은 공개 블록 #N+1 및 비공개 블록 #N+1이 생성될 때 발생하였으므로, 대표 노드(121)는 상기 삭제 트랜잭션은 공개 블록 #N+1에 기록하고, 자식 비공개 블록 #1 및 #N-M-1 각각의 해쉬값은 비공개 블록 #N+1에 기록한다. 따라서, 공개 블록 #N+1의 헤더에는 이전 공개 블록 #N의 해쉬값, 비공개 블록 #N+1의 해쉬값, 그리고 자식 비공개 블록 #1 및 #N-M-1 각각의 해쉬값이 연관된다. 이와 같이 게시글에 대한 분쟁이 해결되어 상기 삭제 트랜잭션이 수신되면, 원본 게시글 및 이의 캡쳐 이미지는 비공개 블록에서 원천적으로 복구가 불가능하게 되어 비공개 상태가 된다. 만약 게시글에 대한 분쟁이 해결되지 않으면, 삭제 요청자에 의해 입력된 원본 게시글 및 이의 캡쳐 이미지, 모자이크 처리 이미지 및 삭제 이유 그리고 최초 작성자에 의해 작성된 유지 이유는 비공개 블록에 그대로 저장되어 추후 법적 분쟁 발생시 증거 자료로 활용될 수 있다. Meanwhile, the representative node 121 generates a random encryption key for each of the child private blocks #1 and #NM-1, encrypts the child private blocks #1 and #NM-1, respectively, and stores the random encryption keys. Divided into a predetermined number, the divided pieces are distributed to other node devices and stored. Since the deletion transaction occurred when the public block #N+1 and the private block #N+1 are generated, the representative node 121 records the deletion transaction in the public block #N+1, and the child private block #1 and Each hash value of #NM-1 is recorded in the private block #N+1. Accordingly, the hash value of the previous public block #N, the hash value of the private block #N+1, and the hash value of each of the child private blocks #1 and #N-M-1 are associated with the header of the public block #N+1. In this way, when the dispute over the post is resolved and the deletion transaction is received, the original post and its captured image cannot be restored from the private block at the source and thus become private. If the dispute over the post is not resolved, the original post entered by the requester, its captured image, the mosaic-processed image, the reason for the deletion, and the reason for maintaining it created by the original author are stored in a private block as evidence in case of a legal dispute in the future. Can be used as.

도 3을 참조한 실시예에서는, 원본 게시글의 캡쳐 이미지, 모자이크 처리된 이미지, 삭제 이유가 비공개 블록에 저장되고, 이후 원본 게시들의 삭제가 결정되면, 해당 데이터와 원본 게시글을 함께 삭제하는 것을 설명하지만, 여기에 제한되는 것은 아니다. 원본 게시글의 캡쳐 이미지, 모자이크 처리된 이미지, 삭제 이유가 비공개 블록에 저장되기 전에, 최초 작성자가 임의로 원본 게시글을 삭제할 수 있고, 또는 삭제 요청자의 요청에 따라 원본 게시글을 삭제할 수 있으며, 이 경우 비공개 블록에서 원본 게시글만이 삭제된다. In the embodiment with reference to FIG. 3, the captured image of the original post, the mosaic-processed image, and the reason for deletion are stored in a private block, and when the deletion of the original posts is determined, the corresponding data and the original post are deleted together. It is not limited to this. Before the captured image of the original post, the mosaic-processed image, and the reason for deletion are stored in the private block, the original author may delete the original post at will, or at the request of the deletion requester, the original post may be deleted. In this case, the private block Only the original post is deleted.

도 4는 본 발명의 일 실시예에 따른 삭제 요청자의 입력 데이터를 블록체인에 저장하는 방법을 설명하는 흐름도이다.4 is a flowchart illustrating a method of storing input data of a deletion requester in a blockchain according to an embodiment of the present invention.

도 4를 참조하면, 단계 S401에서, 웹 서버(110)는, 웹 사이트에 게시되는 게시글들 중에 일부 게시글에 대한 삭제 요청을 삭제 요청자의 단말(130)로부터 수신한다. 삭제 요청자는 최초 작성자 이외 다른 사용자이다. 단계 S402에서, 웹 서버(110)는 상기 삭제 요청에 대한 응답으로, 해당 게시글을 캡쳐하여 캡쳐 이미지를 생성하고 해당 게시글을 임시 잠금 처리한다.Referring to FIG. 4, in step S401, the web server 110 receives a request for deletion of some posts among posts posted on the web site from the terminal 130 of the deletion requestor. The requestor for deletion is a user other than the original author. In step S402, in response to the deletion request, the web server 110 captures the post to generate a captured image and temporarily locks the post.

단계 S403에서, 웹 서버(110)는, 상기 캡쳐 이미지와 모자이크 입력 폼을 삭제 요청자의 단말(130)로 제공하고, 단계 S404 및 단계 S405에서 웹 서버(110)는, 모자이크 입력 폼을 통해 삭제 요청자로부터 상기 캡쳐 이미지에서 삭제가 필요한 부분에 대한 모자이크 처리 입력을 수신하여 상기 캡쳐 이미지의 일부분이 모자이크 처리된 모자이크 처리 이미지를 생성한다. In step S403, the web server 110 provides the captured image and the mosaic input form to the terminal 130 of the deletion requester, and in steps S404 and S405, the web server 110, the deletion requestor through the mosaic input form A mosaic processing input for a portion of the captured image that needs to be deleted is received from and a mosaic processing image in which a portion of the captured image is mosaic-processed is generated.

단계 S406에서, 웹 서버(110)는, 삭제 요청자의 단말(130)로 삭제 이유를 입력할 수 있는 입력 폼을 제공하고, 단계 S407에서 웹 서버(110)는 삭제 요청자로부터 구체적인 삭제 이유 및 증거를 포함하는 삭제 이유 정보를 수신한다. 단계 S408에서, 웹 서버(110)는, 상기 캡쳐 이미지와, 상기 모자이크 처리 이미지와, 상기 삭제 이유 정보를 포함하는 트랜잭션을 블록체인 네트워크(120)의 제 1 대표 노드로 전송한다.In step S406, the web server 110 provides an input form for inputting a deletion reason to the terminal 130 of the deletion requestor, and in step S407, the web server 110 provides a specific reason and evidence for deletion from the deletion requestor. Receive information on the reason for deletion to be included. In step S408, the web server 110 transmits a transaction including the captured image, the mosaic-processed image, and the deletion reason information to the first representative node of the blockchain network 120.

단계 S409에서, 제 1 대표 노드는 상기 웹 서버(110)로부터 수신된 트랜잭션을 비공개 블록에 저장한다. 그리고 단계 S410에서, 제 1 대표 노드는 해당 비공개 블록을 암호화하기 위한 랜덤 암호화 키를 생성하고 랜덤 암호화 키로 상기 비공개 블록을 암호화한다. 단계 S411에서 제 1 대표 노드는 랜덤 암호화 키를 분할하고, 단계 S412에서 분할 조각들을 다른 대표 노드들로 전송하여 분산 저장한다. In step S409, the first representative node stores the transaction received from the web server 110 in a private block. Then, in step S410, the first representative node generates a random encryption key for encrypting the corresponding private block, and encrypts the private block with the random encryption key. In step S411, the first representative node divides the random encryption key, and in step S412 transmits the divided pieces to other representative nodes for distributed storage.

한편, 제1 대표 노드(121)는, 상기 트랜잭션의 처리 결과를 비공개 블록과 동시에 생성된 공개 블록에 저장한다. 여기서 처리 결과는, 트랜잭션의 ID, 게시글의 정보, 트랜잭션의 처리 시간 등을 포함할 수 있다. 또한 제 1 대표 노드(121)는 상기 생성한 비공개 블록에 이전 비공개 블록의 해시값을 기록하고, 상기 비공개 블록과 동시에 생성한 공개 블록에는 이전 공개 블록의 해시값과 상기 생성한 비공개 블록의 해시값을 기록한다. 따라서, 생성한 공개 블록/비공개 블록과 이전의 공개 블록/비공개 블록은 상호 연관된다.Meanwhile, the first representative node 121 stores the processing result of the transaction in a public block generated at the same time as the private block. Here, the processing result may include the ID of the transaction, the information of the posting, and the processing time of the transaction. In addition, the first representative node 121 records the hash value of the previous private block in the generated private block, and the hash value of the previous public block and the hash value of the generated private block in the public block created at the same time as the private block. Record. Accordingly, the generated public block/private block and the previous public block/private block are correlated.

도 5는 본 발명의 일 실시예에 따른 분쟁 대상의 온라인 게시글에 대한 투표 과정을 설명하는 흐름도이다. 5 is a flowchart illustrating a voting process for an online post of a dispute object according to an embodiment of the present invention.

상기 도 4를 참조하여 설명한 바와 같이 특정 온라인 게시글에 대해 삭제 요청이 수신되면, 단계 S501에서, 웹 서버(110)는 해당 게시글을 작성한 최초 작성자의 단말(130)로 삭제 요청자로부터 수신된 삭제 이유 정보를 전송하여 삭제할 것인지를 문의한다. As described with reference to FIG. 4, when a deletion request is received for a specific online post, in step S501, the web server 110 transmits the deletion reason information received from the requestor to the terminal 130 of the first author who wrote the post. It asks if you want to delete it by sending it.

단계 S502 및 단계 S503에서, 웹 서버(110)는, 최초 작성자의 단말(130)로부터 상기 문의에 대한 응답을 수신하여 최초 작성자가 게시글의 삭제에 동의하였는지를 확인한다. 최초 작성자가 게시글의 삭제에 동의하고 삭제한 경우, 단계 S504에서 웹 서버(110)는 블록체인 네트워크(120)로 해당 게시글에 대한 캡쳐 이미지의 삭제를 위한 트랜잭션을 생성하여 블록체인 네트워크(120)로 전송한다. 이후의 블록체인 네트워크(120)의 동작은 이하에서 도 6을 참조하여 자세히 설명한다.In steps S502 and S503, the web server 110 receives a response to the inquiry from the terminal 130 of the original author and checks whether the original author has agreed to delete the post. When the initial author agrees to delete the post and deletes it, in step S504, the web server 110 generates a transaction for deleting the captured image for the post to the block chain network 120 to the block chain network 120. send. Subsequent operations of the blockchain network 120 will be described in detail with reference to FIG. 6 below.

단계 S503에서 확인한 결과, 최초 작성자가 게시글의 삭제를 거부한 경우, 단계 S505에서 웹 서버(110)는, 최초 작성자의 단말(130)로 해당 게시글의 유지에 대한 이유를 입력할 수 있는 입력 폼을 제공하고 단계 S506에서 그 입력 폼을 통해 유지 이유를 수신한다. As a result of checking in step S503, if the first author rejects the deletion of the post, in step S505, the web server 110 provides an input form for inputting the reason for maintaining the post to the terminal 130 of the first author. Provides and receives the retention reason via its input form in step S506.

단계 S507에서, 웹 서버(110)는, 수신된 유지 이유를 포함하는 트랜잭션을 블록체인 네트워크(120)의 제 1 대표 노드로 전송한다. 단계 S508에서, 제 1 대표 노드는 상기 웹 서버(110)로부터 수신된 트랜잭션을 비공개 블록에 저장한다. 그리고 단계 S509에서, 제 1 대표 노드는 해당 비공개 블록을 암호화하기 위한 랜덤 암호화 키를 생성하고 랜덤 암호화 키로 상기 비공개 블록을 암호화한다. 단계 S510에서 제 1 대표 노드는 랜덤 암호화 키를 분할하고, 단계 S511에서 분할 조각들을 다른 대표 노드들로 전송하여 분산 저장한다. 제1 대표 노드(121)는, 상기 트랜잭션의 처리 결과를 비공개 블록과 동시에 생성된 공개 블록에 저장한다. 여기서 처리 결과는, 트랜잭션의 ID, 게시글의 정보, 트랜잭션의 처리 시간 등을 포함할 수 있다. 또한 제 1 대표 노드(121)는 상기 생성한 비공개 블록에 이전 비공개 블록의 해시값을 기록하고, 상기 비공개 블록과 동시에 생성한 공개 블록에는 이전 공개 블록의 해시값과 상기 생성한 비공개 블록의 해시값을 기록한다. 따라서, 생성한 공개 블록/비공개 블록과 이전의 공개 블록/비공개 블록은 상호 연관된다.In step S507, the web server 110 transmits a transaction including the received maintenance reason to the first representative node of the blockchain network 120. In step S508, the first representative node stores the transaction received from the web server 110 in a private block. And in step S509, the first representative node generates a random encryption key for encrypting the corresponding private block, and encrypts the private block with the random encryption key. In step S510, the first representative node divides the random encryption key, and in step S511, the divided pieces are transmitted to other representative nodes for distributed storage. The first representative node 121 stores the processing result of the transaction in a public block generated at the same time as the private block. Here, the processing result may include the ID of the transaction, the information of the posting, and the processing time of the transaction. In addition, the first representative node 121 records the hash value of the previous private block in the generated private block, and the hash value of the previous public block and the hash value of the generated private block in the public block created at the same time as the private block. Record. Accordingly, the generated public block/private block and the previous public block/private block are correlated.

한편, 단계 S513에서, 웹 서버(110)는, 최초 작성자가 삭제를 거부한 게시글에 대한 투표를 수행한다. 웹 서버(110)는, 삭제 요청자에 의해 생성된 모자이크 처리 이미지와 최초 작성자의 유지 이유를 포함하는 토론 방을 개설하고, 불특정 사용자들을 대상으로 일정한 기간 동안 해당 게시글의 삭제 여부에 대한 투표를 시작한다. On the other hand, in step S513, the web server 110, performs a vote on the posting rejected by the first author to delete. The web server 110 opens a discussion room including the mosaic-processed image generated by the deletion requester and the reason for maintaining the original author, and starts voting on whether to delete the post for a certain period of time for unspecified users. .

투표 기간이 경과하면, 단계 S514에서 웹 서버(110)는, 투표 결과를 확인한다. 투표 결과가 삭제로 결정된 경우, 단계 S503에서 웹 서버(110)는, 잠금 처리 되어 있는 해당 게시글을 삭제하고, 또한 해당 게시글에 대한 캡쳐 이미지의 삭제를 위한 트랜잭션을 생성하여 블록체인 네트워크(120)로 전송한다. 이 과정은 이하에서 도 6을 참조하여 자세히 설명한다.When the voting period has elapsed, the web server 110 checks the voting result in step S514. If the voting result is determined to be deleted, in step S503, the web server 110 deletes the locked post, and creates a transaction for deleting the captured image for the post to the blockchain network 120. send. This process will be described in detail below with reference to FIG. 6.

투표 결과가 유지로 결정된 경우, 단계 S515에서 웹 서버(110)는, 잠금 처리 되어 있는 해당 게시글을 다시 원 상태로 복구하여 온라인 상에 공개한다. 추후 해당 게시글로 인한 법률적 분쟁이 발생할 경우, 블록체인 네트워크(120)에 저장된 데이터들은 증거 자료로서 사용될 수 있다. 웹 서버(110)는, 투표에 참여한 사용자들에게는 소정의 포인트를 지급할 수 있다. 여기서 포인트는 전자 화폐일 수 있다.If the voting result is determined to be maintained, in step S515, the web server 110 restores the locked post to its original state and publishes it online. In the event of a legal dispute due to the post in the future, the data stored in the blockchain network 120 may be used as evidence. The web server 110 may provide predetermined points to users who participated in the voting. Here, the point may be electronic money.

도 6은 본 발명의 일 실시예에 따른 비공개 블록에서 캡쳐 이미지를 삭제하는 방법을 설명하는 흐름도이다. 6 is a flowchart illustrating a method of deleting a captured image from a private block according to an embodiment of the present invention.

도 6을 참조하면, 단계 S601에서, 제 1 대표 노드(121)는 특정 비공개 블록에 저장된 캡쳐 이미지에 대한 삭제 트랜잭션을 수신한다. 제 1 대표 노드(121)는, 수신된 삭제 트랜잭션은 해당 트랜잭션이 수신된 시점에서 생성하는 공개 블록에 기록한다. 삭제 트랜잭션에는 삭제을 요청한 주체인 웹 서버(110)의 개인키를 이용한 서명값이 포함된다. 6, in step S601, the first representative node 121 receives a deletion transaction for a captured image stored in a specific private block. The first representative node 121 records the received deletion transaction in a public block generated when the transaction is received. The deletion transaction includes a signature value using the private key of the web server 110 that is the subject of the deletion request.

단계 S602에서, 제 1 대표 노드(121)는, 삭제 트랜잭션에 포함된 정보를 이용하여 특정 비공개 블록을 검색한다. 예를 들어, 게시글의 번호, 저장 시간, 트랜잭션의 ID 등을 이용하여 검색할 수 있다. 제 1 대표 노드(121)는, 공개 블록에 기록되어 있는 데이터별 비공개 블록의 인덱스를 참조하여 삭제 대상의 데이터를 저장하고 있는 비공개 블록을 검색할 수 있다. In step S602, the first representative node 121 searches for a specific private block by using the information included in the deletion transaction. For example, you can search using the number of posts, storage time, and transaction ID. The first representative node 121 may search for a private block storing data to be deleted by referring to the index of the private block for each data recorded in the public block.

단계 S603에서, 제 1 대표 노드(121)는, 검색된 상기 특정 비공개 블록을 복사하여 메모리에 임시 로드하고, 단계 S604에서, 제 1 대표 노드(121)는 다른 대표 노드들로 그 특정 비공개 블록을 복호화할 수 있는 랜덤 암호화 키의 분할 조각들을 요청하여 수신한다. 이때, 다른 대표 노드들은 제 1 대표 노드(121)의 무결성을 검증한다. 제 1 대표 노드(121)는, 분할 조각을 다른 대표 노드들로 요청할 때 상기 서명값을 함께 전송하고 상기 다른 대표 노드들에서 상기 서명값의 검증 성공시에 상기 다른 대표 노드들로부터 분할 조각을 수신한다.In step S603, the first representative node 121 copies the searched specific private block and temporarily loads it into the memory, and in step S604, the first representative node 121 decrypts the specific private block with other representative nodes. Requests and receives fragments of a random encryption key that can be performed. At this time, other representative nodes verify the integrity of the first representative node 121. The first representative node 121 transmits the signature value together when requesting a segmentation fragment from other representative nodes, and receives the segmentation fragment from the other representative nodes upon successful verification of the signature value in the other representative nodes. do.

단계 S605에서, 제 1 대표 노드(121)는, 수신된 분할 조각을 이용하여 메모리에 임시 로드한 상기 특정 비공개 블록을 복호화하고, 단계 S606에서, 그 복호화된 특정 비공개 블록에 저장된 데이터 중 게시글의 캡쳐 이미지를 삭제한다. In step S605, the first representative node 121 decodes the specific private block temporarily loaded into the memory using the received divided fragment, and in step S606, captures a post among data stored in the decoded specific private block. Delete the image.

단계 S607에서, 제 1 대표 노드(121)는, 게시글의 켭채 이미지가 삭제된 상기 복호화된 특정 비공개 블록을 복사하여 자식(child) 비공개 블록을 생성한다. 그리고 단계 S608에서, 제 1 대표 노드(121)는, 임시 로드된 상기 특정 비공개 블록을 삭제하고, 단계 S609에서, 그 특정 비공개 블록에 대한 랜덤 암호화 키의 분할 조각의 삭제 요청을 다른 대표 노드들로 전송한다. 따라서, 상기 특정 비공개 블록에 대해서는 복호화를 위한 랜덤 암호화 키를 생성할 수 없으므로, 상기 특정 비공개 블록은 원천적으로 삭제된 것과 같이 된다. In step S607, the first representative node 121 creates a child private block by copying the decoded specific private block from which the image is deleted while the post is turned on. And in step S608, the first representative node 121 deletes the temporarily loaded specific private block, and in step S609, sends a request to delete the split fragment of the random encryption key for the specific private block to other representative nodes. send. Accordingly, since a random encryption key for decryption cannot be generated for the specific private block, the specific private block is essentially deleted.

단계 S610에서, 제 1 대표 노드(121)는 상기 자식 비공개 블록에 대한 랜덤 암호화 키를 생성하여 그 자식 비공개 블록을 암호화하고, 단계 S611에서, 그 랜덤 암호화 키를 소정의 개수로 분할하여 분할 조각들을 다른 대표 노드들로 분산하여 저장한다. In step S610, the first representative node 121 generates a random encryption key for the child private block to encrypt the child private block, and in step S611, divides the random encryption key by a predetermined number to divide the divided pieces. It is distributed and stored to other representative nodes.

단계 S612에서, 제 1 대표 노드(121)는, 자식 비공개 블록의 해쉬값을 현재 생성되는 비공개 블록에 기록한다. 따라서, 현재 생성되는 공개 블록의 헤더에는 이전 공개 블록의 해쉬값, 현재 생성되는 비공개 블록의 해쉬값, 그리고 상기 자식 비공개 블록의 해쉬값이 연관된다. In step S612, the first representative node 121 records the hash value of the child private block in the currently generated private block. Accordingly, a hash value of a previous public block, a hash value of a currently generated private block, and a hash value of the child private block are associated with the header of the currently generated public block.

도 6을 참조한 실시예에서는, 캡쳐 이미지의 삭제에 대해서만 설명하였으나, 비공개 블록에 저장된 원본 게시글의 삭제도 도 6을 참조하여 설명한 캡쳐 이미지의 삭제 방법과 동일한 방식으로 삭제된다. In the embodiment with reference to FIG. 6, only the deletion of the captured image has been described, but the deletion of the original post stored in the private block is also deleted in the same manner as the method of deleting the captured image described with reference to FIG. 6.

이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다. 상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 형태로 기록매체(시디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등)에 저장될 수 있다. 이러한 과정은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있으므로 더 이상 상세히 설명하지 않기로 한다.The above description is merely illustrative of the technical idea of the present invention, and those of ordinary skill in the art to which the present invention pertains will be able to make various modifications and variations without departing from the essential characteristics of the present invention. Accordingly, the embodiments disclosed in the present invention are not intended to limit the technical idea of the present invention, but to explain the technical idea, and the scope of the technical idea of the present invention is not limited by these embodiments. The scope of protection of the present invention should be construed by the following claims, and all technical ideas within the scope equivalent thereto should be construed as being included in the scope of the present invention. The method of the present invention as described above may be implemented as a program and stored in a recording medium (CD-ROM, RAM, ROM, floppy disk, hard disk, magneto-optical disk, etc.) in a form that can be read by a computer. This process can be easily performed by a person of ordinary skill in the art to which the present invention pertains, and thus will not be described in detail.

110 : 웹 서버
120 : 블록체인 네트워크
121 : 대표 노드
122 : 일반 노드
130 : 사용자 단말
150 : 인터넷망
210 : 공개 블록
220 : 비공개 블록
110: web server
120: Blockchain network
121: representative node
122: normal node
130: user terminal
150: Internet network
210: public block
220: private block

Claims (11)

복수의 노드 장치를 포함하여 구성되는 블록체인 네트워크의 노드 장치에 있어서,
다른 노드 장치들과 통신하고, 사용자에 의해 작성된 게시글을 온라인상에 공개하는 웹 서버와 통신하는 통신 회로;
하나 이상의 프로세서; 및
상기 하나 이상의 프로세서에 의해 실행 가능한 인스트럭션을 저장하는 메모리를 포함하고,
상기 하나 이상의 프로세서는,
공개 블록체인과 비공개 블록체인을 각각 독립적으로 생성하고, 상기 웹 서버로부터 상기 게시글을 포함하는 제 1 트랜잭션을 수신하여 상기 비공개 블록체인의 비공개 블록에 저장하며, 상기 제 1 트랜잭션에 대한 처리 결과를 상기 공개 블록체인의 공개 블록에 저장하고,
제 1 랜덤 암호화 키를 생성하여 상기 제 1 트랜잭션이 저장된 비공개 블록을 암호화하고, 상기 제 1 랜덤 암호화 키를 소정의 개수로 분할하여 분할 조각들을 다른 노드 장치들로 분산하여 저장하며,
상기 게시글의 삭제 결정에 따라 상기 비공개 블록에 저장된 상기 게시글의 삭제를 위한 제 2 트랜잭션을 상기 웹 서버로부터 수신시, 상기 비공개 블록을 복사하여 메모리에 임시 로드한 후 다른 노드 장치들로부터 상기 분할 조각들을 수신하여 복호화하고 그 복호화된 비공개 블록에 저장된 상기 게시글을 삭제하고, 상기 게시글이 삭제된 상기 복호화된 비공개 블록을 복사하여 자식(child) 비공개 블록을 생성하며,
상기 메모리에 임시 로드된 비공개 블록을 삭제하고, 다른 노드 장치들로 상기 분할 조각들의 삭제를 요청하며, 제 2 랜덤 암호화 키를 생성하여 상기 자식 비공개 블록을 암호화하고, 상기 제 2 랜덤 암호화 키를 소정의 개수로 분할하여 분할 조각들을 다른 노드 장치들로 분산하여 저장하는 노드 장치.
In the node device of a block chain network comprising a plurality of node devices,
A communication circuit that communicates with other node devices and communicates with a web server that publishes a post written by a user online;
One or more processors; And
Including a memory for storing instructions executable by the one or more processors,
The one or more processors,
Each independently creates a public blockchain and a private blockchain, receives a first transaction including the post from the web server and stores it in a private block of the private blockchain, and the processing result for the first transaction is stored in the Stored in a public block of a public blockchain,
Generates a first random encryption key to encrypt the private block in which the first transaction is stored, divides the first random encryption key by a predetermined number, and distributes and stores the divided fragments to other node devices,
When a second transaction for deleting the post stored in the private block is received from the web server according to the decision to delete the post, the private block is copied and temporarily loaded into memory, and the divided pieces are removed from other node devices. It receives and decrypts, deletes the post stored in the decrypted private block, and creates a child private block by copying the decrypted private block from which the post has been deleted,
Delete the private block temporarily loaded in the memory, request deletion of the divided fragments from other node devices, generate a second random encryption key to encrypt the child private block, and set the second random encryption key A node device that divides by the number of and distributes and stores the divided pieces to other node devices.
제 1 항에 있어서,
상기 하나 이상의 프로세서는,
상기 공개 블록체인의 공개 블록 생성시 상기 비공개 블록체인의 비공개 블록을 동시에 생성하며, 상기 공개 블록의 헤더에 동시에 생성된 비공개 블록의 해쉬값 및 이전 공개 블록의 해쉬값을 기록하는 것을 특징으로 하는 노드 장치.
The method of claim 1,
The one or more processors,
A node, characterized in that when the public block of the public block chain is created, a private block of the private block chain is simultaneously generated, and a hash value of the simultaneously generated private block and a hash value of a previous public block are recorded in the header of the public block. Device.
제 2 항에 있어서,
상기 하나 이상의 프로세서는,
상기 비공개 블록체인의 비공개 블록 생성시 해당 비공개 블록의 헤더에 이전 비공개 블록의 해쉬값을 기록하는 것을 특징으로 하는 노드 장치.
The method of claim 2,
The one or more processors,
When generating a private block of the private block chain, a hash value of a previous private block is recorded in a header of the corresponding private block.
제 1 항에 있어서,
상기 하나 이상의 프로세서는,
상기 제 2 트랜잭션을 상기 공개 블록체인의 공개 블록에 기록하고,
상기 자식 비공개 블록의 해쉬값을 상기 제 2 트랜잭션을 기록한 공개 블록과 함께 동시에 생성된 비공개 블록의 헤더에 기록하는 것을 특징으로 하는 노드 장치.
The method of claim 1,
The one or more processors,
Record the second transaction in a public block of the public blockchain,
And recording the hash value of the child private block in the header of the private block generated simultaneously with the public block recording the second transaction.
제 4 항에 있어서,
상기 하나 이상의 프로세서는,
상기 제 2 트랜잭션을 공개 블록에 기록시, 상기 제 1 트랜잭션을 저장한 비공개 블록과 그 비공개 블록으로부터 생성된 자식 비공개 블록의 인덱스 정보를 함께 공개 블록에 기록하는 것을 특징으로 하는 노드 장치.
The method of claim 4,
The one or more processors,
When recording the second transaction in the public block, the private block storing the first transaction and index information of the child private block generated from the private block are recorded together in the public block.
제 1 항에 있어서,
상기 제 2 트랜잭션은,
개인키를 이용한 서명값을 포함하고,
상기 하나 이상의 프로세서는,
상기 제 1 랜덤 암호화 키의 분할 조각을 다른 노드 장치들로 요청할 때 상기 서명값을 함께 전송하고 상기 다른 노드 장치들에서 상기 서명값의 검증 성공시에 상기 다른 노드 장치들로부터 상기 제 1 랜덤 암호화 키의 분할 조각을 수신하는 것을 특징으로 하는 노드 장치.
The method of claim 1,
The second transaction,
Includes a signature value using a private key,
The one or more processors,
When requesting a split piece of the first random encryption key to other node devices, the signature value is transmitted together, and the first random encryption key from the other node devices when the signature value is successfully verified by the other node devices. Node device, characterized in that receiving the divided pieces of.
제 1 항에 있어서,
상기 복수의 노드 장치는, 복수의 대표 노드 장치와 복수의 일반 노드 장치를 포함하고, 복수의 대표 노드 장치는 지분 증명에 의해 블록을 생성하여 블록을 동기화하고, 일반 노드 장치는 대표 노드 장치들의 블록들을 동기화하여 저장하며,
상기 블록체인 네트워크의 노드 장치는, 대표 노드 장치인 것을 특징으로 하는 노드 장치.
The method of claim 1,
The plurality of node devices include a plurality of representative node devices and a plurality of general node devices, and the plurality of representative node devices synchronize blocks by generating blocks by proof of stake, and the general node device is a block of representative node devices. Synchronize and store them,
The node device of the block chain network is a node device, characterized in that the representative node device.
제 1 항에 있어서,
상기 하나 이상의 프로세서는,
상기 게시글의 삭제를 요청하는 삭제 요청자에 의해 생성된 상기 게시글의 캡쳐 이미지와, 상기 삭제 요청자에 의해 상기 캡쳐 이미지의 일부분이 모자이크 처리된 모자이크 처리 이미지와, 상기 삭제 요청자에 의해 첨부된 삭제 이유 정보를 포함하는 제 3 트랜잭션을 상기 웹 서버로부터 수신하여 상기 비공개 블록체인의 다른 비공개 블록에 저장하고, 상기 제 3 트랜잭션에 대한 처리 결과를 상기 공개 블록체인의 다른 공개 블록에 저장하며,
제 3 랜덤 암호화 키를 생성하여 상기 제 3 트랜잭션이 저장된 상기 다른 비공개 블록을 암호화하고, 상기 제 3 랜덤 암호화 키를 소정의 개수로 분할하여 분할 조각들을 다른 노드 장치들로 분산하여 저장하며,
상기 게시글의 최종 삭제 결정에 따라 상기 캡쳐 이미지의 삭제를 위한 제 4 트랜잭션을 상기 웹 서버로부터 수신시, 상기 제 3 트랜잭션이 저장된 상기 다른 비공개 블록을 복사하여 메모리에 임시 로드한 후 다른 노드 장치들로부터 분할 조각들을 수신하여 복호화하고 그 복호화된 다른 비공개 블록에 저장된 상기 캡쳐 이미지를 삭제하고, 상기 캡쳐 이미지가 삭제된 상기 복호화된 다른 비공개 블록을 복사하여 자식(child) 비공개 블록을 생성하며,
상기 메모리에 임시 로드된 다른 비공개 블록을 삭제하고, 다른 노드 장치들로 분할 조각들의 삭제를 요청하며, 제 4 랜덤 암호화 키를 생성하여 상기 다른 비공개 블록으로부터 생성된 자식 비공개 블록을 암호화하고, 상기 제 4 랜덤 암호화 키를 소정의 개수로 분할하여 분할 조각들을 다른 노드 장치들로 분산하여 저장하는 노드 장치.
The method of claim 1,
The one or more processors,
A captured image of the post created by a deletion requester requesting the deletion of the post, a mosaic-processed image in which a portion of the captured image has been mosaic-processed by the deletion requester, and information about the reason for deletion attached by the deletion requester. Receiving a third transaction including from the web server and storing it in another private block of the private blockchain, and storing the processing result of the third transaction in another public block of the public blockchain,
Generates a third random encryption key to encrypt the other private block in which the third transaction is stored, divides the third random encryption key by a predetermined number, and distributes and stores the divided fragments to other node devices,
When a fourth transaction for deleting the captured image is received from the web server according to the final deletion decision of the post, the other private block in which the third transaction is stored is copied and temporarily loaded into memory, and then from other node devices. Receive and decode the divided fragments, delete the captured image stored in the other decoded private block, and create a child private block by copying the other decoded private block from which the captured image has been deleted,
Delete another private block temporarily loaded in the memory, request deletion of divided fragments to other node devices, generate a fourth random encryption key to encrypt a child private block generated from the other private block, and 4 A node device that divides the random encryption key into a predetermined number and distributes and stores the divided pieces to other node devices.
제 8 항에 있어서,
상기 하나 이상의 프로세서는,
상기 게시글의 유지 결정에 따라 상기 게시글의 최초 작성자에 의해 작성된 유지 이유 정보를 포함하는 제 4 트랜잭션을 상기 웹 서버로부터 수신시, 상기 제 4 트랜잭션을 새로운 비공개 블록에 저장하고, 제 5 랜덤 암호화 키를 생성하여 상기 새로운 비공개 블록을 암호화하고, 상기 제 5 랜덤 암호화 키를 소정의 개수로 분할하여 분할 조각들을 다른 노드 장치들로 분산하여 저장하는 것을 특징으로 하는 노드 장치.
The method of claim 8,
The one or more processors,
When a fourth transaction including maintenance reason information written by the first author of the post is received from the web server according to the decision to maintain the post, the fourth transaction is stored in a new private block, and a fifth random encryption key is Generating and encrypting the new private block, dividing the fifth random encryption key by a predetermined number, and distributing and storing the divided fragments to other node devices.
제 9 항에 있어서,
상기 최종 삭제 결정 및 상기 유지 결정은,
상기 게시글에 대한 불특정 사용자들의 투표 결과로 결정되는 것을 특징으로 하는 노드 장치.
The method of claim 9,
The final deletion decision and the maintenance decision,
Node device, characterized in that it is determined as a result of voting by unspecified users for the post.
복수의 노드 장치를 포함하여 구성되는 블록체인 네트워크의 노드 장치의 동작 방법으로서,
사용자에 의해 작성된 게시글을 온라인상에 공개하는 웹 서버로부터, 상기 게시글을 포함하는 제 1 트랜잭션을 수신하여 비공개 블록체인의 비공개 블록에 저장하며, 상기 제 1 트랜잭션에 대한 처리 결과를 공개 블록체인의 공개 블록에 저장하는 단계;
제 1 랜덤 암호화 키를 생성하여 상기 제 1 트랜잭션이 저장된 비공개 블록을 암호화하고, 상기 제 1 랜덤 암호화 키를 소정의 개수로 분할하여 분할 조각들을 다른 노드 장치들로 분산하여 저장하는 단계;
상기 게시글의 삭제 결정에 따라 상기 비공개 블록에 저장된 상기 게시글의 삭제를 위한 제 2 트랜잭션을 상기 웹 서버로부터 수신시, 상기 비공개 블록을 복사하여 메모리에 임시 로드한 후 다른 노드 장치들로부터 상기 분할 조각들을 수신하여 복호화하고 그 복호화된 비공개 블록에 저장된 상기 게시글을 삭제하고, 상기 게시글이 삭제된 상기 복호화된 비공개 블록을 복사하여 자식(child) 비공개 블록을 생성하는 단계; 및
상기 메모리에 임시 로드된 비공개 블록을 삭제하고, 다른 노드 장치들로 상기 분할 조각들의 삭제를 요청하며, 제 2 랜덤 암호화 키를 생성하여 상기 자식 비공개 블록을 암호화하고, 상기 제 2 랜덤 암호화 키를 소정의 개수로 분할하여 분할 조각들을 다른 노드 장치들로 분산하여 저장하는 단계를 포함하는 동작 방법.
A method of operating a node device of a block chain network comprising a plurality of node devices,
From a web server that publishes a post written by a user online, a first transaction including the post is received and stored in a private block of a private blockchain, and the processing result of the first transaction is disclosed in the public blockchain. Storing in a block;
Generating a first random encryption key to encrypt the private block in which the first transaction is stored, dividing the first random encryption key by a predetermined number, and distributing and storing the divided pieces to other node devices;
When a second transaction for deleting the post stored in the private block is received from the web server according to the decision to delete the post, the private block is copied and temporarily loaded into memory, and the divided pieces are removed from other node devices. Receiving and decoding the post and deleting the post stored in the decrypted private block, and creating a child private block by copying the decrypted private block from which the post has been deleted; And
Delete the private block temporarily loaded in the memory, request deletion of the divided fragments from other node devices, generate a second random encryption key to encrypt the child private block, and set the second random encryption key The operation method comprising the step of dividing by the number of and distributing and storing the divided pieces to other node devices.
KR1020190146290A 2019-11-15 2019-11-15 Node device constituting a block-chain network and an operation method of the node device KR102274493B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190146290A KR102274493B1 (en) 2019-11-15 2019-11-15 Node device constituting a block-chain network and an operation method of the node device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190146290A KR102274493B1 (en) 2019-11-15 2019-11-15 Node device constituting a block-chain network and an operation method of the node device

Publications (2)

Publication Number Publication Date
KR20210059182A true KR20210059182A (en) 2021-05-25
KR102274493B1 KR102274493B1 (en) 2021-07-07

Family

ID=76145517

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190146290A KR102274493B1 (en) 2019-11-15 2019-11-15 Node device constituting a block-chain network and an operation method of the node device

Country Status (1)

Country Link
KR (1) KR102274493B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190036948A (en) * 2017-09-28 2019-04-05 주식회사 케이티 System and Method for Managing Original Data in Block-Chain
KR101984254B1 (en) * 2018-09-21 2019-05-30 김성완 Node device constituting a block-chain network and an operation method of the node device
KR20190097623A (en) * 2018-02-12 2019-08-21 박성배 Node device, operation method baed on block chain and system for processing data
KR102026225B1 (en) * 2017-01-19 2019-09-27 주식회사 케이티 Apparatus for managing data using block chain and method thereof

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102026225B1 (en) * 2017-01-19 2019-09-27 주식회사 케이티 Apparatus for managing data using block chain and method thereof
KR20190036948A (en) * 2017-09-28 2019-04-05 주식회사 케이티 System and Method for Managing Original Data in Block-Chain
KR20190097623A (en) * 2018-02-12 2019-08-21 박성배 Node device, operation method baed on block chain and system for processing data
KR101984254B1 (en) * 2018-09-21 2019-05-30 김성완 Node device constituting a block-chain network and an operation method of the node device

Also Published As

Publication number Publication date
KR102274493B1 (en) 2021-07-07

Similar Documents

Publication Publication Date Title
CN110462621B (en) Managing sensitive data elements in a blockchain network
US11176226B2 (en) Secure messaging service with digital rights management using blockchain technology
US11238543B2 (en) Payroll based blockchain identity
KR101984254B1 (en) Node device constituting a block-chain network and an operation method of the node device
EP3695339B1 (en) Method and system for asynchronous traceable data sharing in a communication network
CN110720204B (en) Block chain storage method, storage medium and system based on shared secret
KR102248270B1 (en) Node device constituting a block-chain network and an operation method of the node device
KR102125042B1 (en) Node device constituting a block-chain network and an operation method of the node device
Tackmann Secure event tickets on a blockchain
KR101993293B1 (en) System and method for processing expense data based on blockchain and computer program for the same
JP2022511393A (en) Privacy protection supported by blockchain MaaS (Mobility as a Service)
US11663595B1 (en) Blockchain transactional identity verification
US11347877B2 (en) Methods and systems for facilitating sharing of digital documents between a sharing party and a relying party
US20210029121A1 (en) System for selective mapping of distributed resources across network edge framework for authorized user access
JP7462903B2 (en) User terminal, authenticator terminal, registrant terminal, management system and program
Hameed Blockchain and Cryptocurrencies Technology: a survey
KR102083757B1 (en) Node device constituting a block-chain network and an operation method of the node device
US20220303121A1 (en) Blockchain data segregation
US20230308276A1 (en) Creating non-fungible token shards
KR102274493B1 (en) Node device constituting a block-chain network and an operation method of the node device
US20230179424A1 (en) Compressible blockchains
US20220399988A1 (en) Linking blockchain operations
KR102051454B1 (en) A decision-making system using blockchains by verifying conditions
Ratnawat et al. Optimizing the KYC Process using a Blockchain based approach
Antoni et al. Use of Blockchain for Designing Digital Documents in Public Services

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant