KR102572232B1 - Method for performing settlement according to contract based on smart contract and Apparatus for same - Google Patents

Method for performing settlement according to contract based on smart contract and Apparatus for same Download PDF

Info

Publication number
KR102572232B1
KR102572232B1 KR1020200179017A KR20200179017A KR102572232B1 KR 102572232 B1 KR102572232 B1 KR 102572232B1 KR 1020200179017 A KR1020200179017 A KR 1020200179017A KR 20200179017 A KR20200179017 A KR 20200179017A KR 102572232 B1 KR102572232 B1 KR 102572232B1
Authority
KR
South Korea
Prior art keywords
contract
data
server
content
sales
Prior art date
Application number
KR1020200179017A
Other languages
Korean (ko)
Other versions
KR20220088207A (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 KR1020200179017A priority Critical patent/KR102572232B1/en
Publication of KR20220088207A publication Critical patent/KR20220088207A/en
Application granted granted Critical
Publication of KR102572232B1 publication Critical patent/KR102572232B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0639Performance analysis of employees; Performance analysis of enterprise or organisation operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0633Workflow analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Operations Research (AREA)
  • General Physics & Mathematics (AREA)
  • Educational Administration (AREA)
  • Marketing (AREA)
  • Development Economics (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Game Theory and Decision Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Power Engineering (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

정산을 수행하기 위한 방법은 블록체인 네트워크의 복수의 노드의 블록체인에 계약 데이터를 분산하여 저장하는 단계와, 플랫폼서버가 업로드된 컨텐츠를 식별할 수 있는 정보인 컨텐츠 식별정보를 생성하여 계약서버로 전달하는 단계와, 계약서버가 상기 컨텐츠 식별정보를 포함하는 트랜잭션을 블록체인 네트워크로 전송하는 단계와, 상기 컨텐츠에 대한 시청 시 마다, 소비자장치가 시청기록로그를 저장하고, 상기 플랫폼서버가 시청기록로그를 저장하며, 상기 계약서버가 상기 플랫폼서버로부터 수신되는 시청기록로그를 저장하는 단계와, 상기 블록체인 네트워크의 어느 하나의 노드에서 실행되는 가상머신이 상기 컨텐츠 식별정보에 대응하여 검증 데이터를 수집하는 단계와, 정산일이 도래하면, 상기 가상머신이 계약서버로부터 매출 데이터를 수신하고, 수신된 매출 데이터와 상기 검증 데이터를 비교하여 매출 내역을 검증하는 단계와, 상기 검증 결과, 상기 매출 데이터에 이상이 없으면, 상기 가상머신이 상기 계약 데이터에 따라 정산을 수행하는 단계를 포함한다. The method for performing the settlement includes the step of distributing and storing the contract data in the blockchain of a plurality of nodes of the blockchain network, and generating content identification information, which is information that allows the platform server to identify the uploaded content, to the contract server. The step of transmitting, the step of transmitting the transaction including the content identification information by the contract server to the blockchain network, and the consumer device storing the viewing record log each time the content is viewed, and the platform server storing the viewing record Storing the log, and the contract server storing the viewing record log received from the platform server, and a virtual machine running on any one node of the blockchain network collecting verification data in response to the content identification information and when the settlement date arrives, the virtual machine receives sales data from the contract server and compares the received sales data with the verification data to verify sales details, and the verification result, the sales data and if there is no abnormality, the virtual machine performing settlement according to the contract data.

Description

스마트 컨트랙트 기반의 계약서에 따른 정산을 수행하기 위한 방법 및 이를 위한 장치{Method for performing settlement according to contract based on smart contract and Apparatus for same}Method for performing settlement according to smart contract based contract and apparatus therefor {Method for performing settlement according to contract based on smart contract and Apparatus for same}

본 발명은 정산 기술에 관한 것으로, 보다 상세하게는, 스마트 컨트랙트 기반의 계약서에 따른 정산을 수행하기 위한 방법 및 이를 위한 장치에 관한 것이다. The present invention relates to settlement technology, and more particularly, to a method for performing settlement according to a contract based on a smart contract and an apparatus therefor.

블록체인은 데이터를 특정 단위의 블록에 기록하고, 네트워크를 구성하는 각각의 노드는 블록을 체인처럼 연결하여 관리하는 데이터 관리 기술 또는 블록이 체인처럼 연결된 데이터 그 자체를 의미하며, 체인처럼 연결된 데이터는 중앙 시스템 없이 각각의 노드에서 분산 원장 형태로 운영된다. Blockchain is a data management technology that records data in blocks of a specific unit, and each node constituting the network connects and manages blocks like a chain, or data itself in which blocks are connected like a chain, and the data connected like a chain It is operated in the form of a distributed ledger on each node without a central system.

한국공개특허 제-2018-0011701호 2018년 02월 02일 공개 (명칭: 무선 충전 디바이스 및 이를 이용한 차량 무선 충전 방법)Korean Patent Publication No. 2018-0011701 published on February 2, 2018 (Name: wireless charging device and vehicle wireless charging method using the same)

본 발명의 목적은 스마트 컨트랙트 기반의 계약서에 따른 정산을 수행하기 위한 방법 및 이를 위한 장치를 제공함에 있다. An object of the present invention is to provide a method and an apparatus for performing settlement according to a contract based on a smart contract.

상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 정산을 수행하기 위한 방법은 블록체인 네트워크의 복수의 노드의 블록체인에 계약 데이터를 분산하여 저장하는 단계와, 플랫폼서버가 업로드된 컨텐츠를 식별할 수 있는 정보인 컨텐츠 식별정보를 생성하여 계약서버로 전달하는 단계와, 계약서버가 상기 컨텐츠 식별정보를 포함하는 트랜잭션을 블록체인 네트워크로 전송하는 단계와, 상기 컨텐츠에 대한 시청 시 마다, 소비자장치가 시청기록로그를 저장하고, 상기 플랫폼서버가 시청기록로그를 저장하며, 상기 계약서버가 상기 플랫폼서버로부터 수신되는 시청기록로그를 저장하는 단계와, 상기 블록체인 네트워크의 어느 하나의 노드에서 실행되는 가상머신이 상기 컨텐츠 식별정보에 대응하여 검증 데이터를 수집하는 단계와, 정산일이 도래하면, 상기 가상머신이 계약서버로부터 매출 데이터를 수신하고, 수신된 매출 데이터와 상기 검증 데이터를 비교하여 매출 내역을 검증하는 단계와, 상기 검증 결과, 상기 매출 데이터에 이상이 없으면, 상기 가상머신이 상기 계약 데이터에 따라 정산을 수행하는 단계를 포함한다. A method for performing settlement according to a preferred embodiment of the present invention for achieving the above object includes the steps of distributing and storing contract data in the blockchain of a plurality of nodes of a blockchain network, and the platform server is uploaded Generating and transmitting content identification information, which is information that can identify content, to the contract server, and transmitting the transaction including the content identification information to the blockchain network by the contract server, each time the content is viewed , the consumer device storing the viewing record log, the platform server storing the viewing record log, and the contract server storing the viewing record log received from the platform server, and any one node of the blockchain network Collecting verification data corresponding to the content identification information by a virtual machine executed in , and when a settlement date arrives, the virtual machine receives sales data from the contract server and compares the received sales data with the verification data and verifying sales details, and if there is no abnormality in the sales data as a result of the verification, the virtual machine performs settlement according to the contract data.

상기 검증 데이터를 수집하는 단계는 상기 가상머신이 정산 주기 내에서 무작위의 주기로, 무작위의 횟수로, 상기 계약서버, 상기 플랫폼서버 및 상기 소비자장치 중 적어도 하나의 무작위의 대상으로부터 시청기록로그를 수집하는 것을 특징으로 한다. In the step of collecting the verification data, the virtual machine collects a viewing record log from at least one random target among the contract server, the platform server, and the consumer device at a random period and at a random number of times within a settlement period. characterized by

상기 계약 데이터에 따라 정산을 수행하는 단계는 상기 계약 데이터를 기초로 매출에서 상기 플랫폼서버 측 사업자와 상기 공급자장치 측 컨텐츠 공급자 각각에 분배되는 수익과, 상기 계약서버의 블록체인 네트워크 기반의 정산 서비스를 이용한 수수료 및 상기 소비자장치가 제공한 검증 데이터에 대한 급부로 제공되는 비용을 정산하는 것을 특징으로 한다. The step of performing settlement according to the contract data includes revenues distributed to each of the platform server-side operator and the provider device-side content provider from sales based on the contract data, and settlement service based on the blockchain network of the contract server. It is characterized in that the used fee and the cost provided as a benefit for the verification data provided by the consumer device are settled.

상기 방법은 상기 계약 데이터를 분산하여 저장하는 단계 후, 상기 컨텐츠 식별정보를 생성하여 계약서버로 전달하는 단계 전, 상기 플랫폼서버가 공급자장치로부터 계약 내용 요청 메시지를 수신하면, 수신된 계약 내용 요청 메시지를 계약서버로 전달하는 단계와, 상기 계약서버가 상기 공급자장치의 주소를 인자로 하여 스마트 컨트랙트 코드의 계약내용제공함수를 호출하는 트랜잭션을 전송하는 단계와, 상기 트랜잭션에 대응한 작업증명이 완료되면, 복수의 노드 중 어느 하나의 노드에서 가상머신이 실행되는 단계와, 상기 가상머신이 상기 계약 데이터를 XML 형식 혹은 JSON 형식로 변환한 후, 상기 공급자장치의 주소로 전달하는 단계와, 상기 계약서버가 상기 공급자장치로부터 수락 메시지를 수신하면, 수락 메시지를 트랙잭션으로 전송하고, 트랜잭션에 대응한 작업증명이 완료되면, 계약 데이터와 동일한 계정으로 공급자장치의 주소를 저장하는 단계를 더 포함한다. In the method, after the step of distributing and storing the contract data and before the step of generating and transmitting the content identification information to the contract server, when the platform server receives a contract content request message from a provider device, the received contract content request message to the contract server, the contract server sending a transaction that calls the contract content providing function of the smart contract code with the address of the provider device as a factor, and when the proof of work corresponding to the transaction is completed , executing a virtual machine on any one node among a plurality of nodes, converting the contract data into XML format or JSON format by the virtual machine, and then transmitting the contract data to the address of the provider device; When receiving an acceptance message from the provider device, transmitting the acceptance message as a transaction, and when the proof of work corresponding to the transaction is completed, storing the address of the provider device as the same account as the contract data.

상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른정산을 수행하기 위한 장치는 블록체인에 계약 데이터를 분산하여 저장하는 블록체인 네트워크의 복수의 노드와, 업로드된 컨텐츠를 식별할 수 있는 정보인 컨텐츠 식별정보를 생성하여 계약서버로 전달하며, 상기 컨텐츠에 대한 시청 시 마다, 시청기록로그를 저장하는 플랫폼서버와, 상기 컨텐츠 식별정보를 포함하는 트랜잭션을 블록체인 네트워크로 전송하고, 상기 플랫폼서버로부터 수신되는 시청기록로그를 저장하는 계약서버와, 상기 컨텐츠를 시청하며, 상기 컨텐츠에 대한 시청 시 마다, 시청기록로그를 저장하는 소비자장치와, 상기 컨텐츠 식별정보에 대응하여 검증 데이터를 수집하고, 정산일이 도래하면, 상기 가상머신이 계약서버로부터 매출 데이터를 수신하고, 수신된 매출 데이터와 상기 검증 데이터를 비교하여 매출 내역을 검증하고, 상기 검증 결과, 상기 매출 데이터에 이상이 없으면, 상기 계약 데이터에 따라 정산을 수행하는 상기 블록체인 네트워크의 어느 하나의 노드에서 실행되는 가상머신을 포함한다. An apparatus for performing settlement according to a preferred embodiment of the present invention for achieving the above object can identify a plurality of nodes of a blockchain network that distributes and stores contract data in a blockchain and uploads content. Content identification information, which is information that exists, is generated and transmitted to the contract server, and each time the content is watched, a platform server that stores a viewing record log and a transaction including the content identification information is transmitted to a blockchain network, and the A contract server that stores the viewing record log received from the platform server, a consumer device that watches the content and stores the viewing record log each time the content is watched, and collects verification data in response to the content identification information And when the settlement date arrives, the virtual machine receives sales data from the contract server, compares the received sales data with the verification data to verify sales details, and as a result of the verification, if there is no abnormality in the sales data, and a virtual machine running on any one node of the blockchain network that performs settlement according to the contract data.

본 발명에 따르면, 표준계약서로부터 계약 내용만 추출한 계약 데이터에 따라 스마트 컨트랙트 코드를 실행시켜 계약의 체결을 자동화하고, 매출이 발생하는 경우, 계약 데이터를 기초로 매출에 따른 정산이 이익 당사자의 간섭 없이 이루어지게 함으로써, 정산에 따른 수익 분배의 신뢰도가 향상된다. According to the present invention, the smart contract code is executed according to the contract data extracted from the standard contract to automate the conclusion of the contract, and when sales are generated, the settlement according to the sales based on the contract data is performed without interference from the interested parties. By making it happen, the reliability of profit distribution according to settlement is improved.

도 1은 본 발명의 실시예에 따른 스마트 컨트랙트 기반의 표준계약서 변환을 위한 시스템을 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 따른 스마트 컨트랙트 기반의 계약서를 저장하는 방법을 설명하기 위한 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 스마트 컨트랙트 기반의 계약서에 따른 정산을 수행하기 위한 방법을 설명하기 위한 흐름도이다.
도 4 및 도 5는 본 발명의 다른 실시예에 따른 스마트 컨트랙트 기반의 계약서를 기초로 정산을 수행하기 위한 방법을 설명하기 위한 도면이다.
도 6은 본 발명의 실시예에 따른 컴퓨팅 장치를 나타내는 도면이다.
1 is a diagram for explaining a system for converting a standard contract based on a smart contract according to an embodiment of the present invention.
2 is a flowchart for explaining a method of storing a contract based on a smart contract according to an embodiment of the present invention.
3 is a flowchart for explaining a method for performing settlement according to a contract based on a smart contract according to an embodiment of the present invention.
4 and 5 are views for explaining a method for performing settlement based on a contract based on a smart contract according to another embodiment of the present invention.
6 is a diagram illustrating a computing device according to an embodiment of the present invention.

본 발명의 상세한 설명에 앞서, 이하에서 설명되는 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 실시예에 불과할 뿐, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다. Prior to the detailed description of the present invention, the terms or words used in this specification and claims described below should not be construed as being limited to a common or dictionary meaning, and the inventors should use their own invention in the best way. It should be interpreted as a meaning and concept corresponding to the technical idea of the present invention based on the principle that it can be properly defined as a concept of a term for explanation. Therefore, the embodiments described in this specification and the configurations shown in the drawings are only the most preferred embodiments of the present invention, and do not represent all of the technical ideas of the present invention, so various equivalents that can replace them at the time of the present application. It should be understood that there may be water and variations.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 이때, 첨부된 도면에서 동일한 구성 요소는 가능한 동일한 부호로 나타내고 있음을 유의해야 한다. 또한, 본 발명의 요지를 흐리게 할 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략할 것이다. 마찬가지의 이유로 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 또는 개략적으로 도시되었으며, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다. Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. At this time, it should be noted that the same components in the accompanying drawings are indicated by the same reference numerals as much as possible. In addition, detailed descriptions of well-known functions and configurations that may obscure the gist of the present invention will be omitted. For the same reason, some components in the accompanying drawings are exaggerated, omitted, or schematically illustrated, and the size of each component does not entirely reflect the actual size.

먼저, 본 발명의 실시예에 따른 스마트 컨트랙트 기반의 표준계약서 변환을 위한 시스템에 대해서 설명하기로 한다. 도 1은 본 발명의 실시예에 따른 스마트 컨트랙트 기반의 표준계약서 변환을 위한 시스템을 설명하기 위한 도면이다. 도 1을 참조하면, 본 발명의 실시예에 따른 스마트 컨트랙트 기반의 표준계약서 변환을 위한 시스템(이하, '계약시스템'으로 축약함)은 계약서버(10), 블록체인 네트워크(BCN)의 복수의 노드(20, 30) 및 플랫폼서버(40), 공급자장치(50) 및 소비자장치(60)를 포함한다. First, a system for converting a standard contract based on a smart contract according to an embodiment of the present invention will be described. 1 is a diagram for explaining a system for converting a standard contract based on a smart contract according to an embodiment of the present invention. Referring to FIG. 1, a smart contract-based standard contract conversion system (hereinafter, abbreviated as 'contract system') according to an embodiment of the present invention includes a contract server 10 and a plurality of blockchain networks (BCN). It includes nodes 20 and 30 and a platform server 40 , a provider device 50 and a consumer device 60 .

계약서버(10), 블록체인 네트워크(BCN)의 복수의 노드(20, 30) 및 플랫폼서버(40), 공급자장치(50) 및 소비자장치(60)는 상호 간에 네트워크를 통해 연결될 수 있다. 본 발명의 일 실시예에 따르면, 네트워크를 통해 유선 데이터 링크, 무선 데이터 링크, 또는 유선 및 무선 데이터 링크의 조합으로 링크된 로컬 및 원격 컴퓨터 시스템 모두가 태스크를 수행하는 분산형 시스템 환경에서 실행될 수 있다. 분산형 시스템 환경에서, 프로그램 모듈은 로컬 및 원격 메모리 저장 장치에 위치될 수 있다. The contract server 10, the plurality of nodes 20 and 30 of the blockchain network (BCN) and the platform server 40, the provider device 50 and the consumer device 60 may be connected to each other through a network. According to one embodiment of the invention, it can be implemented in a distributed system environment where both local and remote computer systems linked by wired data links, wireless data links, or a combination of wired and wireless data links through a network perform tasks. . In a distributed system environment, program modules may be located in local and remote memory storage devices.

다른 실시예에 따르면, 네트워크는 WLAN(Wireless LAN), 와이파이(Wi-Fi), 와이브로(Wibro), 와이맥스(Wimax), HSDPA(High Speed Downlink Packet Access) 등의 무선 통신망을 포함할 수 있으며, 시스템 구현 방식에 따라 이더넷(Ethernet), xDSL(ADSL, VDSL), HFC(Hybrid Fiber Coaxial Cable), FTTC(Fiber to The Curb), FTTH(Fiber To The Home) 등의 유선 통신망을 포함할 수도 있다. 또한, 본 발명의 네트워크는 예컨대, 다수의 접속망(미도시) 및 이들을 연결하는 코어망(미도시)으로 이루어진 이동통신망을 포함할 수 있다. 여기서, 접속망은 무선 구간 서비스를 제공하는 네트워크로, 예를 들어, BS(Base Station), BTS(Base Transceiver Station), NodeB, eNodeB 등과 같은 다수의 기지국과, BSC(Base Station Controller), RNC(Radio Network Controller)와 같은 기지국 제어기로 구현될 수 있다. 또한, 전술한 바와 같이, 기지국에 일체로 구현되어 있던 디지털 신호 처리부와 무선 신호 처리부를 각각 디지털 유니트(Digital Unit, 이하 DU라 함과 무선 유니트(Radio Unit, 이하 RU라 함)로 구분하여, 다수의 영역에 각각 다수의 RU(미도시)를 설치하고, 다수의 RU를 집중화된 DU와 연결하여 구성할 수도 있다. 또한, 접속망과 함께 모바일 망을 구성하는 코어망(미도시)은 접속망과 외부망, 예컨대, 인터넷망과 같은 다른 통신망을 연결하는 역할을 수행한다. 이러한 코어망은 앞서 설명한 바와 같이, 접속망 간의 이동성 제어 및 스위칭 등의 이동통신 서비스를 위한 주요 기능을 수행하는 네트워크 시스템으로서, 서킷 교환(circuit switching) 또는 패킷 교환(packet switching)을 수행하며, 모바일 망 내에서의 패킷 흐름을 관리 및 제어한다. 또한, 코어망은 주파수간 이동성을 관리하고, 접속망 및 코어망 내의 트래픽 및 다른 네트워크, 예컨대 인터넷망과의 연동을 위한 역할을 수행할 수도 있다. 이러한 코어망은 SGW(Serving GateWay), PGW(PDN GateWay), MSC(Mobile Switching Center), HLR(Home Location Register), MME(Mobile Mobility Entity)와 HSS(Home Subscriber Server) 등을 더 포함하여 구성될 수도 있다. 또한, 본 발명에 따른 네트워크는 인터넷망을 포함할 수 있다. 인터넷망은 TCP/IP 프로토콜에 따라서 정보가 교환되는 통상의 공개된 통신망, 즉 공용망을 의미한다. According to another embodiment, the network may include a wireless communication network such as WLAN (Wireless LAN), Wi-Fi, Wibro, Wimax, HSDPA (High Speed Downlink Packet Access), the system Depending on the implementation method, wired communication networks such as Ethernet, xDSL (ADSL, VDSL), HFC (Hybrid Fiber Coaxial Cable), FTTC (Fiber to The Curb), FTTH (Fiber To The Home) may be included. In addition, the network of the present invention may include, for example, a mobile communication network consisting of a plurality of access networks (not shown) and a core network (not shown) connecting them. Here, the access network is a network that provides a radio section service, for example, a plurality of base stations such as BS (Base Station), BTS (Base Transceiver Station), NodeB, eNodeB, etc., BSC (Base Station Controller), RNC (Radio Network Controller) may be implemented as a base station controller. In addition, as described above, the digital signal processing unit and the radio signal processing unit, which were integrally implemented in the base station, are divided into digital units (hereinafter referred to as DUs) and radio units (hereinafter referred to as RUs), and a plurality of It may be configured by installing a plurality of RUs (not shown) in each area of , and connecting the plurality of RUs to a centralized DU In addition, the core network (not shown) constituting the mobile network together with the access network is It serves to connect other communication networks such as a network, for example, the Internet. As described above, the core network is a network system that performs major functions for mobile communication services such as mobility control and switching between access networks, and is a circuit It performs circuit switching or packet switching, and manages and controls packet flow within the mobile network, and also manages inter-frequency mobility, traffic within the access network and the core network, and other networks. , For example, it may play a role for interworking with the Internet network Such a core network includes Serving GateWay (SGW), PDN GateWay (PGW), Mobile Switching Center (MSC), Home Location Register (HLR), and Mobile Mobility (MME). Entity) and HSS (Home Subscriber Server), etc. In addition, the network according to the present invention may include an Internet network, which is a conventional network in which information is exchanged according to the TCP/IP protocol. It means an open communication network, that is, a public network.

계약서버(10)는 네트워크상에 존재하는 엔티티이며, 컴퓨팅 연산을 수행하며, 네트워크를 통해 통신을 수행할 수 있는 장치이다. 계약서버(10)는 본 발명의 실시예에 따른 계약을 실행시키고 관리하기 위한 서버이다. The contract server 10 is an entity that exists on a network, and is a device capable of performing computing operations and communicating through a network. The contract server 10 is a server for executing and managing contracts according to an embodiment of the present invention.

복수의 노드(20, 30)는 클라이언트 노드(20) 및 일반 노드(30)를 포함한다. 노드(20, 30) 각각은 컴퓨팅 연산을 수행하고, 네트워크를 통해 통신을 수행할 수 있는 장치이다. 특히, 복수의 노드(20, 30)는 블록체인 네트워크를 구성한다. 노드(20, 30)는 컴퓨팅 연산을 수행하고, 컴퓨팅 연산을 통해 가상머신(VM)을 실행시키며, 데이터를 저장하며, 네트워크를 통해 통신을 수행하는 장치라면 어떠한 장치라도 무방하다. The plurality of nodes 20 and 30 include a client node 20 and a general node 30 . Each of the nodes 20 and 30 is a device capable of performing computing operations and communicating through a network. In particular, the plurality of nodes 20 and 30 constitute a blockchain network. The nodes 20 and 30 may be any device that performs computing operations, executes a virtual machine (VM) through computing operations, stores data, and performs communication through a network.

플랫폼서버(40)는 각 종 컨텐츠 기반 플랫폼 서비스를 제공하는 사업자가 운영하는 서버이다. 이러한 서비스는 UCC(User-created content) 서비스, OTT(Over-the-top media) 서비스 등을 예시할 수 있다. The platform server 40 is a server operated by an operator that provides various content-based platform services. Such a service may exemplify a user-created content (UCC) service, an over-the-top media (OTT) service, and the like.

공급자장치(50) 및 소비자장치(60) 양자 모두는 사용자가 사용하는 장치이며, 그 중 공급자장치(50)는 컨텐츠 공급자의 역할을 수행하는 사용자가 사용하는 장치이고, 소비자장치(60)는 컨텐츠를 시청, 즉, 소비하는 컨텐츠 소비자의 역할을 수행하는 사용자가 사용하는 장치이다. 물론, 한 명의 사용자가 컨텐츠 공급자와 소비자 양자의 역할을 모두 할 수 있지만, 발명의 요지를 명확하게 하기 위하여 구분하여 기재하기로 한다. 공급자장치(50) 및 소비자장치(60)는 모두 컴퓨팅 연산을 수행하고, 네트워크를 통해 통신을 수행할 수 있는 장치이다. Both the provider device 50 and the consumer device 60 are devices used by users, and among them, the provider device 50 is a device used by a user playing the role of a content provider, and the consumer device 60 is a device used by a user. It is a device used by a user who plays the role of a content consumer who watches, that is, consumes. Of course, a single user can play both roles of a content provider and a consumer, but to clarify the gist of the invention, it will be described separately. Both the supplier device 50 and the consumer device 60 are devices capable of performing computing calculations and communicating through a network.

특히, 노드(20, 30), 공급자장치(50) 및 소비자장치(60)는 모든 정보통신기기, 멀티미디어 단말기, 유선 단말기, 고정형 단말기 및 IP(Internet Protocol) 단말기 등의 다양한 단말기에 적용될 수 있다. 예컨대, 노드(20, 30), 공급자장치(50) 및 소비자장치(60)는 퍼스널컴퓨터, 노트북, 휴대폰, 스마트폰(Smart Phone), 태블릿, 패블릿 등을 예시할 수 있다. In particular, the nodes 20 and 30, the provider device 50, and the consumer device 60 can be applied to various terminals such as all information communication devices, multimedia terminals, wired terminals, fixed terminals, and IP (Internet Protocol) terminals. For example, the nodes 20 and 30, the provider device 50, and the consumer device 60 may exemplify a personal computer, a laptop computer, a mobile phone, a smart phone, a tablet, a phablet, and the like.

그러면, 본 발명의 실시예에 따른 스마트 컨트랙트 기반의 계약서에 따른 정산을 수행하기 위한 방법에 대해서 설명하기로 한다. 도 2는 본 발명의 일 실시예에 따른 스마트 컨트랙트 기반의 계약서를 저장하는 방법을 설명하기 위한 흐름도이다. Then, a method for performing settlement according to a contract based on a smart contract according to an embodiment of the present invention will be described. 2 is a flowchart for explaining a method of storing a contract based on a smart contract according to an embodiment of the present invention.

도 2를 참조하면, 플랫폼서버(40)의 사업자는 계약서 초안을 생성하고, 계약서를 생성하고, 생성된 계약서를 보관하고자 하는 사업자의 조작에 따라 플랫폼서버(40)는 네트워크를 통해 계약서버(10)에 접속한다. 계약서버(10)는 S110 단계에서 초안 작성 페이지를 플랫폼서버(40)에 제공할 수 있다. 이에 따라, 플랫폼서버(40)는 계약서 작성 페이지를 사용자가 열람할 수 있도록 표시할 수 있다. 계약서 작성 페이지는 표준 계약서 양식에 입력되어야 하는 필수 요소 및 선택 요소를 포함하는 입력 양식을 제공하며, 특히, 필수 요소는 정산 시, 수익 배분의 비율 등을 반드시 포함하며, 테이블 형태인 것이 바람직하다. Referring to FIG. 2, the operator of the platform server 40 creates a draft contract, creates a contract, and according to the operation of the operator who wants to store the generated contract, the platform server 40 transmits the contract server 10 through the network. ) to access. The contract server 10 may provide the drafting page to the platform server 40 in step S110. Accordingly, the platform server 40 may display the contract creation page so that the user can view it. The contract creation page provides an input form including mandatory and optional elements that must be entered in the standard contract form. In particular, the required elements must include the ratio of profit distribution at the time of settlement, and are preferably in the form of a table.

사업자는 입력 양식을 통해 자신이 입력하고자 하는 필수 요소 및 선택 요소에 대한 요소값을 입력할 수 있다. 사업자는 입력에 따라 플랫폼서버(40)는 요소값을 전송한다. 그러면, 계약서버(10)는 S120 단계에서 플랫폼서버(40)로부터 필수 요소 및 선택 요소에 대한 요소값을 수신하고, 수신한 요소값을 해당하는 필수 요소 및 선택 요소를 포함하는 요소에 맞춰 저장한다. 이때, 저장되는 요소값은 PDF(Portable Document Format) 형식으로 저장되는 것이 바람직하다. 또한, 계약서버(10)는 S130 단계에서 수신된 요소값을 기초로 표준 계약서 형식으로 계약서를 생성하고, 생성된 계약서를 저장한다. Business operators can input element values for mandatory elements and optional elements that they want to input through an input form. According to the operator's input, the platform server 40 transmits the element value. Then, the contract server 10 receives element values for essential elements and optional elements from the platform server 40 in step S120, and stores the received element values according to the elements including the corresponding required elements and optional elements. . In this case, it is preferable that the element values to be stored are stored in a PDF (Portable Document Format) format. In addition, the contract server 10 generates a contract in a standard contract format based on the element values received in step S130 and stores the generated contract.

다음으로, 계약서버(10)는 S140 단계에서 스마트 컨트랙트 코드를 생성하고, 생성된 스마트 컨트랙트 코드(소스 코드)를 컴파일하여 가상머신(예컨대, Ethereum Virtual Machine, EVM)에서 실행 가능한 바이트코드를 생성한다. 본 발명의 실시예에서 스마트 컨트랙트 코드(바이트코드)는 계약 데이터에 대한 저장 및 갱신, 계약 데이터를 기초로 계약서 발급 및 계약 내용에 따른 정산을 수행하는 프로그램을 생성한다. 이에 대해서는 아래에서 더 상세하게 설명될 것이다. Next, the contract server 10 generates smart contract code in step S140, compiles the generated smart contract code (source code), and generates bytecode executable in a virtual machine (e.g., Ethereum Virtual Machine, EVM). . In the embodiment of the present invention, the smart contract code (byte code) creates a program that stores and updates contract data, issues contracts based on contract data, and performs settlement according to contract details. This will be explained in more detail below.

다음으로, 계약서버(10)는 S150 단계에서 바이너리 인터페이스(예컨대, ABI(Application Binary Interface) 코드)를 획득한 후, S160 단계에서 바이너리 인터페이스(ABI)를 이용하여 가상머신에서 실행 가능한 바이트코드로 컴파일된 스마트 컨트랙트 코드를 포함하는 실행 컨트랙트 객체를 생성한다. Next, the contract server 10 obtains a binary interface (eg, ABI (Application Binary Interface) code) in step S150, and then compiles into bytecode executable in the virtual machine using the binary interface (ABI) in step S160. Create an execution contract object containing the smart contract code.

이어서, 계약서버(10)는 S170 단계에서 실행 컨트랙트 객체를 포함하는 트랜잭션을 생성하고, 생성된 트랜잭션을 블록체인 네트워크의 클라이언트 노드(CN)로 전송한다. Subsequently, the contract server 10 generates a transaction including an execution contract object in step S170 and transmits the generated transaction to the client node (CN) of the blockchain network.

그러면, 블록체인 네트워크의 클라이언트 노드(20)를 포함하는 복수의 노드(20, 30)는 S180 단계에서 트랜잭션의 유효성을 검증, 즉, 작업 증명을 수행하고 블록을 생성하여 배포한다. 즉, 클라이언트 노드(CN)에 제공된 트랜잭션에 포함된 바이트코드로 컴파일된 스마트 컨트랙트 코드를 포함하는 실행 컨트랙트 객체는 블록체인 네트워크의 복수의 노드 사이에서 작업증명 과정을 거쳐 블록체인에 저장될 수 있다. 작업 증명과정은 다음과 같다. 채굴자 노드는 블록체인 네트워크에서 생성된 트랜잭션들을 모아 블록에 포함시키고, 해당 블록을 블록체인에 등록하기 위해 이전 블록의 해시값과 머클 루트, 논스를 함께 해시함수를 이용해 암호화한다. 채굴자 노드는 암호화 결과로 도출된 해시값이 목표 값보다 작아질 때까지 논스 값을 변화시킨다. 목표값보다 작은 논스 값을 발견하면 n 번째 블록에 논스를 저장하여 생성된 블록을 블록체인 네트워크에 참여하고 있는 노드들에게 전파함으로써 트랜잭션이 포함된 블록을 블록체인에 저장한다. 이러한 블록 생성 시, 컨트랙트 주소가 생성된다. 컨트랙트 주소는 스마트 컨트랙트 코드에 부여되는 고유 주소이다. 블록체인 네트워크의 복수의 노드 중 채굴자 노드는 블록 생성 시 생성된 컨트랙트 주소를 계약서버(10)에 제공한다. 즉, 계약서버(10)는 S190 단계에서 컨트랙트 주소를 수신한다. Then, the plurality of nodes 20 and 30 including the client node 20 of the blockchain network verify the validity of the transaction in step S180, that is, perform proof-of-work and generate and distribute blocks. That is, the execution contract object including the smart contract code compiled into the bytecode included in the transaction provided to the client node (CN) can be stored in the blockchain through a proof-of-work process between a plurality of nodes in the blockchain network. The proof-of-work process is as follows. The miner node collects transactions generated in the blockchain network and includes them in a block, and encrypts the hash value of the previous block, the merkle root, and the nonce together using a hash function to register the block in the blockchain. The miner node changes the nonce value until the hash value derived from the encryption result is smaller than the target value. If a nonce value smaller than the target value is found, the nonce is stored in the n-th block and the generated block is propagated to nodes participating in the blockchain network to store the block containing the transaction in the blockchain. When creating these blocks, a contract address is created. The contract address is a unique address given to the smart contract code. Among the plurality of nodes in the blockchain network, the miner node provides the contract address created at the time of block generation to the contract server 10. That is, the contract server 10 receives the contract address in step S190.

컨트랙트 주소를 수신한 계약서버(10)는 S200 단계에서 계약 데이터를 추출하여 데이터 컨트랙트 객체를 생성한다. 즉, 계약서버(10)는 앞서(S130 단계) 생성된 계약서에서 개인 정보 등의 프라이버시에 관한 내용을 제외하고, 계약 자체의 내용만을 나타내는 계약 데이터를 추출한다. 예컨대, 계약 내용이 사용자가 특정 콘텐츠를 시청했을 때 발생하는 수익에 대한 수익 분배 비율이라고 가정하면, 수익자 A 및 B의 분배 비율만을 추출할 수 있다. 그런 다음, 계약서버(10)는 계약 데이터를 기초로 컨트랙트 주소의 스마트 컨트랙트 코드가 실행되도록 하는 데이터 컨트랙트 객체를 생성한다. Upon receiving the contract address, the contract server 10 extracts the contract data in step S200 and creates a data contract object. That is, the contract server 10 extracts contract data indicating only the contents of the contract itself, excluding contents related to privacy such as personal information from the previously created contract (step S130). For example, assuming that the content of the contract is a revenue distribution ratio for revenue generated when a user watches a specific content, only the distribution ratio of beneficiaries A and B can be extracted. Then, the contract server 10 creates a data contract object that allows the smart contract code of the contract address to be executed based on the contract data.

그러면, 계약서버(10)는 S210 단계에서 데이터 컨트랙트 객체를 포함하는 트랜잭션을 생성하고, 생성된 트랜잭션을 블록체인 네트워크의 클라이언트 노드(CN)로 전송한다. 그러면, 블록체인 네트워크의 클라이언트 노드(CN)를 포함하는 복수의 노드는 S220 단계에서 트랜잭션의 유효성을 검증, 즉, 작업 증명을 수행하고 블록을 생성하여 배포한다. 즉, 클라이언트 노드(CN)에 제공된 트랜잭션에 포함된 데이터 컨트랙트 객체는 블록체인 네트워크의 복수의 노드 사이에서 작업증명 과정을 거쳐 블록체인에 저장된다. 이러한 작업증명 과정은 앞서(S180 단계) 설명된 바와 같다. 이는 블록체인에 데이터 컨트랙트 객체의 계약 데이터가 저장됨을 의미한다. 또한, 블록체인 네트워크의 가상머신은 실행 컨트랙트 객체의 계약 데이터를 기초로 스마트 컨트랙트 코드(바이트코드)를 실행시킬 수 있다. Then, the contract server 10 creates a transaction including the data contract object in step S210 and transmits the generated transaction to the client node CN of the blockchain network. Then, a plurality of nodes including client nodes (CN) of the blockchain network verify the validity of the transaction, that is, perform proof-of-work, and generate and distribute blocks in step S220. That is, the data contract object included in the transaction provided to the client node (CN) is stored in the blockchain through a proof-of-work process between a plurality of nodes in the blockchain network. This proof-of-work process is as described above (step S180). This means that the contract data of the data contract object is stored in the blockchain. In addition, the virtual machine of the blockchain network can execute the smart contract code (byte code) based on the contract data of the execution contract object.

다음으로, 본 발명의 일 실시예에 따른 스마트 컨트랙트 기반의 계약서에 따른 정산을 수행하기 위한 방법을 설명하기로 한다. 도 3은 본 발명의 일 실시예에 따른 스마트 컨트랙트 기반의 계약서에 따른 정산을 수행하기 위한 방법을 설명하기 위한 흐름도이다. Next, a method for performing settlement according to a contract based on a smart contract according to an embodiment of the present invention will be described. 3 is a flowchart for explaining a method for performing settlement according to a contract based on a smart contract according to an embodiment of the present invention.

한편, 계약서버(10)는 S310 단계에서 플랫폼서버(40), 공급자장치(50) 및 소비자장치(60) 등의 계약 당사자로부터 계약 데이터를 요청받을 수 있다. 그러면, 계약서버(10)는 S320 단계에서 컨트랙트 주소와 바이너리 인터페이스를 이용하여 계약 데이터가 저장된 블록과, 블록 안의 트랜잭션을 찾아 계약 데이터를 로드한다. Meanwhile, the contract server 10 may receive a request for contract data from contracting parties such as the platform server 40 , the supplier device 50 and the consumer device 60 in step S310 . Then, the contract server 10 finds a block in which the contract data is stored and a transaction in the block using the contract address and the binary interface in step S320 and loads the contract data.

다음으로, 계약서버(10)는 S330 단계에서 계약 데이터를 XML 형식 혹은 JSON 형식으로 변환한다. Next, the contract server 10 converts the contract data into XML format or JSON format in step S330.

일 실시예에 따르면, 계약 데이터를 XML 형식으로 변경하는 경우, 계약처리부(140)는 자바 어노테이션(Java Annotations)을 설정하고, "XmlAccessorType"을 이용해 계약 데이터를 XML 형식으로 변환한다. 이때, 계약처리부(140)는 계약 데이터의 필수 요소 및 선택 요소를 포함하는 각 요소 별로 "rootElement" 명령어를 설정하여 루트를 설정할 수 있다. 다른 실시예에 따르면, 계약 데이터를 JSON 형식으로 변경하는 경우, 계약서버(10)는 Jaxson2 라이브러리를 참조로, 블록체인 네트워크로부터 수신되는 계약 데이터를 "HTTPMessageConvertor"를 통해 JSON 형식으로 변경할 수 있다. According to one embodiment, when changing the contract data into an XML format, the contract processing unit 140 sets Java Annotations and converts the contract data into an XML format using "XmlAccessorType". At this time, the contract processing unit 140 may set a root by setting a "rootElement" command for each element including essential elements and optional elements of the contract data. According to another embodiment, when changing the contract data to JSON format, the contract server 10 may change the contract data received from the blockchain network to JSON format through "HTTPMessageConvertor" with reference to the Jaxson2 library.

이어서, 계약서버(10)는 S340 단계에서 XML 형식 혹은 JSON 형식으로 변환된 계약 데이터를 플랫폼서버(40) 및 공급자장치(50) 등의 계약 당사자의 장치에 전송할 수 있다. 그러면, 계약 당사자들은 전송 받은 계약 데이터에 따라 정산을 수행할 수 있다. Subsequently, the contract server 10 may transmit the contract data converted into XML format or JSON format in step S340 to the device of the contracting party, such as the platform server 40 and the provider device 50. Then, the contracting parties can perform settlement according to the transmitted contract data.

다음으로, 본 발명의 다른 실시예에 따른 스마트 컨트랙트 기반의 계약서를 기초로 정산을 수행하기 위한 방법에 대해서 설명하기로 한다. 도 4 및 도 5는 본 발명의 다른 실시예에 따른 스마트 컨트랙트 기반의 계약서를 기초로 정산을 수행하기 위한 방법을 설명하기 위한 도면이다. Next, a method for performing settlement based on a contract based on a smart contract according to another embodiment of the present invention will be described. 4 and 5 are views for explaining a method for performing settlement based on a contract based on a smart contract according to another embodiment of the present invention.

도 4의 본격적인 설명에 앞서, 도 4의 실시예는 도 2의 S110 단계 내지 S220 단계에서 설명된 바와 같이, 플랫폼서버(40)는 계약서버(10)를 통해 표준계약서를 생성하고, 계약서버(10)는 계약 관리를 위한 스마트 컨트랙트 코드를 배포하고, 표준계약서에서 계약 데이터를 추출한 후, 트랜잭션을 통해 계약 데이터를 블록체인네트워크(BCN)로 전송하여 계약 데이터가 블록체인네트워크(BCN)에 저장되고, 블록체인네트워크(BCN)의 가상머신(EVM)이 계약 데이터를 기초로 스마트 컨트랙트 코드를 실행한다. Prior to the full-scale description of FIG. 4, the embodiment of FIG. 4, as described in steps S110 to S220 of FIG. 2, the platform server 40 generates a standard contract through the contract server 10, and the contract server ( 10) distributes the smart contract code for contract management, extracts contract data from the standard contract, and transmits the contract data to the blockchain network (BCN) through a transaction so that the contract data is stored in the blockchain network (BCN) , The virtual machine (EVM) of the blockchain network (BCN) executes the smart contract code based on the contract data.

한편, 플랫폼서버(40)에 콘텐츠를 공급하기를 원하는 컨텐츠 공급자의 조작에 따라 공급자장치(50)는 S410 단계에서 계약 내용의 열람을 요청하는 계약 내용 요청 메시지를 플랫폼서버(40)로 전송한다. 계약 내용 요청 메시지는 공급자장치(50)의 주소를 포함한다. 그러면, 플랫폼서버(40)는 S420 단계에서 계약 내용 요청 메시지를 계약서버(10)로 전달하고, 계약서버(10)는 S430 단계에서 공급자장치(50)의 주소를 인자로 하여 스마트 컨트랙트 코드(바이트코드)의 계약내용제공함수를 호출하는 트랜잭션을 전송한다. 이때, 트랜잭션은 컨트랙트 주소를 매개로 한다. On the other hand, according to the operation of the content provider who wants to supply the content to the platform server 40, the provider device 50 transmits a contract content request message requesting viewing of the contract content to the platform server 40 in step S410. The contract content request message includes the address of the provider device 50 . Then, the platform server 40 transmits the contract content request message to the contract server 10 in step S420, and the contract server 10 takes the address of the provider device 50 as a factor in step S430 and generates a smart contract code (byte Code) transmits a transaction that calls the contract details providing function. At this time, the transaction uses the contract address as a medium.

본 발명의 실시예에 따른 계약내용제공함수는 기본적으로, 블록체인에 저장된 계약 데이터를 XML 형식 혹은 JSON 형식로 변환한 후, 트랜잭션에서 지정한 목적 주소, 즉, 공급자장치(50)의 주소로 전달하는 역할을 수행한다. 이에 따라, 트랜잭션이 전달되고, 복수의 노드(20, 30) 사이에서 작업증명 과정이 완료되면, 복수의 노드(20, 30) 중 어느 하나의 노드(20, 30)에서 가상머신이 실행되고, 실행된 가상머신이 계약내용제공함수를 실행시킨다. 이에 따라, 해당 노드(20, 30)의 가상머신은 S440 단계에서 블록체인에 저장된 계약 데이터를 XML 형식 혹은 JSON 형식로 변환한 후, 트랜잭션에서 지정한 목적 주소, 즉, 공급자장치(50)의 주소로 전달하는 역할을 수행한다. 이에 따라, 공급자장치(50)는 계약 데이터를 수신하고, 수신된 계약 데이터를 화면으로 표시할 수 있다. 그러면, 공급자는 해당 계약 데이터의 내용을 검토하고 그 계약에 동의하는 경우, 공급자장치(50)를 통해 S450 단계에서 수락 메시지를 전송한다. The contract content providing function according to an embodiment of the present invention basically converts the contract data stored in the blockchain into XML format or JSON format, and then delivers it to the destination address specified in the transaction, that is, the address of the provider device 50 play a role Accordingly, when the transaction is transmitted and the proof-of-work process is completed between the plurality of nodes 20 and 30, a virtual machine is executed on any one node 20 or 30 among the plurality of nodes 20 or 30, The executed virtual machine executes the contract content providing function. Accordingly, the virtual machines of the nodes 20 and 30 convert the contract data stored in the blockchain into XML format or JSON format in step S440, and then return to the destination address specified in the transaction, that is, the address of the provider device 50. play a role in conveying Accordingly, the supplier device 50 may receive contract data and display the received contract data on the screen. Then, the provider reviews the contents of the contract data and, when agreeing to the contract, transmits an acceptance message through the provider device 50 in step S450.

그러면, 계약서버(10)는 S460 단계에서 수락 메시지를 수신하면, 수신한 수락 메시지를 전송한 공급자장치(50)의 주소를 포함하는 수락 메시지를 트랙잭션으로 전송한다. 이에 따라, 트랜잭션이 전달되고, 복수의 노드(20, 30) 사이에서 작업증명 과정이 완료되면, 블록체인 내에서 동일한 계정으로 계약 데이터에 매핑되어 공급자장치(50)의 주소가 저장된다. 이는 계약 상 컨텐츠 공급자의 지위가 인정되는 것을 의미한다. Then, upon receiving the acceptance message in step S460, the contract server 10 transmits an acceptance message including the address of the provider device 50 that transmitted the received acceptance message through a transaction. Accordingly, when the transaction is transferred and the proof-of-work process is completed between the plurality of nodes 20 and 30, the address of the supplier device 50 is stored by being mapped to contract data with the same account in the blockchain. This means that the status of the content provider under the contract is recognized.

한편, 플랫폼서버(40)에 콘텐츠를 시청하기를 원하는 컨텐츠 소비자 역시 S470 단계 내지 S520 단계를 통해 소비자장치(60)를 통해 계약 내용을 요청하고, 열람하고, 수락할 수 있다. 이러한 S470 단계 내지 S520 단계는 계약의 당사자가 콘텐츠 공급자가 아닌 콘텐츠 소비자인 점이 차이가 있을 뿐이며, S410 단계 내지 S460 단계와 동일하게 진행된다. 따라서 그 상세한 설명은 생략한다. Meanwhile, a content consumer who wants to view content on the platform server 40 can also request, view, and accept contract details through the consumer device 60 through steps S470 to S520. Steps S470 to S520 differ only in that the party to the contract is a content consumer rather than a content provider, and proceeds in the same way as steps S410 to S460. Therefore, detailed description thereof is omitted.

마지막으로 수락 메시지가 트랜잭션을 통해 블록체인 네트워크(BCN)로 전달되면, 복수의 노드(20, 30) 사이에서 작업증명 과정이 완료되고, 블록체인 내에서 계약 데이터와 동일한 계정으로 매핑되어 소비자장치(60)의 주소가 저장된다. 이는 계약 상 컨텐츠 소비자의 지위가 인정되는 것을 의미한다. Finally, when the acceptance message is delivered to the blockchain network (BCN) through a transaction, the proof-of-work process is completed between a plurality of nodes (20, 30), and it is mapped to the same account as the contract data within the blockchain to the consumer device ( 60) is stored. This means that the status of a content consumer is recognized under the contract.

도 5를 참조하면, 계약이 완료된 후, 컨텐츠 공급자의 조작에 의해 공급자장치(50)는 S570 단계에서 플랫폼서버(40)에 컨텐츠를 업로드 했다고 가정한다. 그러면, 플랫폼서버(40)는 S580 단계에서 업로드된 컨텐츠를 식별할 수 있는 정보인 컨텐츠 식별정보를 생성하고, 생성된 컨텐츠 식별정보를 계약서버(10)로 전송한다. 컨텐츠 식별정보는 예컨대, 컨텐츠 식별자, 컨텐츠가 저장된 주소, 해당 컨텐츠가 시청된 기록을 나타내는 시청기록로그에 대한 접근 정보 등을 포함한다. 그러면, 계약서버(10)는 S590 단계에서 컨텐츠 식별정보를 포함하는 트랜잭션을 생성하고, 생성된 트랜잭션을 블록체인 네트워크(BCN)로 전송한다. 이에 따라, 트랜잭션이 전달된 후, 복수의 노드(20, 30) 사이에서 작업증명 과정이 완료되면, 복수의 노드(20, 30) 중 어느 하나의 노드(20, 30)에서 가상머신이 실행되고, 실행된 가상머신은 컨텐츠 식별정보에 대응하여 정산 프로세스를 시작한다. 이때, 가상머신은 컨텐츠 식별정보에 대응하는 계약 데이터를 특정하여 동일한 계정으로 관리한다. Referring to FIG. 5 , after the contract is completed, it is assumed that the provider device 50 uploads the content to the platform server 40 in step S570 by manipulation of the content provider. Then, the platform server 40 generates content identification information, which is information capable of identifying the uploaded content in step S580, and transmits the generated content identification information to the contract server 10. The content identification information includes, for example, a content identifier, an address where the content is stored, access information on a viewing record log indicating a record of viewing the corresponding content, and the like. Then, the contract server 10 generates a transaction including content identification information in step S590 and transmits the generated transaction to the blockchain network (BCN). Accordingly, after the transaction is transferred, when the proof-of-work process is completed between the plurality of nodes 20 and 30, a virtual machine is executed on any one node 20 or 30 among the plurality of nodes 20 or 30. , the executed virtual machine starts the settlement process in response to the content identification information. At this time, the virtual machine specifies the contract data corresponding to the content identification information and manages the same account.

한편, 컨텐츠가 업로드되면, 컨텐츠 소비자의 조작에 의해 소비자장치(60)는 S600 단계에서 플랫폼서버(40)에 접속하여 스트리밍을 통해 해당 컨텐츠를 시청할 수 있다. 이와 같이, 컨텐츠를 시청할 때마다, 소비자장치(60)는 S610 단계에서 컨텐츠를 시청한 기록인 시청기록로그를 저장한다. 시청기록로그는 예컨대, 컨텐츠 식별자, 컨텐츠 주소, 시청 시간, 날짜 등을 포함한다. Meanwhile, when the content is uploaded, the consumer device 60 can view the corresponding content through streaming by accessing the platform server 40 in step S600 by manipulation of the content consumer. In this way, whenever content is viewed, the consumer device 60 stores a viewing record log, which is a record of content viewing, in step S610. The viewing record log includes, for example, a content identifier, a content address, a viewing time, and a date.

한편, 플랫폼서버(40) 역시 컨텐츠 시청이 이루질 때마다, S620 단계에서 시청기록로그를 생성한다. 플랫폼서버(40)의 시청기록로그는 소비자장치(60)의 시청기록로그에 해당 컨텐츠를 시청한 소비자장치(60)의 식별자를 더 포함한다. Meanwhile, the platform server 40 also creates a viewing record log in step S620 whenever content viewing is performed. The viewing record log of the platform server 40 further includes the identifier of the consumer device 60 that viewed the corresponding content in the viewing record log of the consumer device 60 .

또한, 플랫폼서버(40)는 시청기록로그를 생성할 때마다, S630 단계에서 시청기록로그를 계약서버(10)로 전달한다. 그러면, 계약서버(10)는 S640 단계에서 시청기록로그를 저장한다. In addition, whenever the platform server 40 generates a viewing record log, it transfers the viewing record log to the contract server 10 in step S630. Then, the contract server 10 stores the viewing record log in step S640.

한편, 블록체인네트워크(BCN)의 가상머신은 정산 프로세스를 시작한 후, 정산 주기 내에서 무작위의 주기로, 무작위의 횟수로, 계약서버(10), 플랫폼서버(40) 및 소비자장치(60) 중 적어도 하나의 무작위의 대상으로부터 검증 데이터를 수집한다. 여기서, 검증 데이터는 계약서버(10), 플랫폼서버(40) 및 소비자장치(60) 각각이 저장하고 있는 시청기록로그이다. On the other hand, after the virtual machine of the blockchain network (BCN) starts the settlement process, at least one of the contract server 10, the platform server 40 and the consumer device 60 is operated at a random cycle and a random number of times within the settlement cycle. Collect verification data from one random subject. Here, the verification data is a viewing record log stored in each of the contract server 10, the platform server 40, and the consumer device 60.

이러한 시청기록로그는 3개가 모두 일치하여야 한다. 따라서 지속적으로 수집하여 해당 시청기록로그를 모두 저장하면 가장 정확하겠지만, 저장 공간 및 부하의 문제가 있다. All three of these viewing record logs must match. Therefore, it would be most accurate to continuously collect and store all corresponding viewing record logs, but there is a problem of storage space and load.

따라서 본 발명은 정산 주기 내에서 무작위의 주기로, 무작위의 횟수로, 계약서버(10), 플랫폼서버(40) 및 소비자장치(60) 중 적어도 하나의 무작위의 대상으로부터 시청기록로그 중 일부인 검증 데이터를 수집한다. Therefore, the present invention collects verification data, which is part of the viewing record log, from at least one random object among the contract server 10, the platform server 40, and the consumer device 60 at random cycles and at random times within the settlement period. collect

이와 같이, 검증 데이터를 수집하는 중 정산일이 도래하면, 플랫폼서버(40)는 S660 단계에서 해당 공급자장치(50)가 업로드한 컨텐츠에 대해 매출 데이터를 전송한다. 매출 데이터는 기본적으로 시청기록로그를 포함하며, 시청기록로그에 대응하여 발생된 매출을 나타낸다. In this way, when the settlement date arrives while collecting verification data, the platform server 40 transmits sales data for the content uploaded by the corresponding provider device 50 in step S660. The sales data basically includes a viewing record log, and indicates sales generated in response to the viewing record log.

매출 데이터를 수신한 계약서버(10)는 S670 단계에서 매출 데이터를 포함하는 트랜잭션을 생성하고, 생성된 트랜잭션을 블록체인 네트워크(BCN)로 전송한다. 이에 따라, 트랜잭션이 전달되고, 복수의 노드(20, 30) 사이에서 작업증명 과정이 완료되면, 복수의 노드(20, 30) 중 어느 하나의 노드(20, 30)의 가상머신이 S680 단계에서 매출 내역을 검증한다. 즉, 가상머신은 매출 데이터와, 미리 수집된 검증 데이터를 비교하여 매출의 오류, 누락 등을 검증한다. The contract server 10 receiving the sales data generates a transaction including the sales data in step S670 and transmits the generated transaction to the blockchain network (BCN). Accordingly, when the transaction is transferred and the proof-of-work process is completed between the plurality of nodes 20 and 30, the virtual machine of any one node 20 or 30 among the plurality of nodes 20 or 30 operates at step S680. Verify sales history. That is, the virtual machine compares sales data with pre-collected verification data to verify errors or omissions in sales.

상기 검증 결과, 매출 데이터에 이상이 없으면, 가상머신은 S690 단계에서 계약 데이터를 기초로 매출 데이터의 매출에서 플랫폼서버(40) 측 사업자와 공급자장치(50) 측 컨텐츠 공급자 각각에 분배되는 수익과, 계약서버(10)의 블록체인 네트워크 기반의 정산 서비스를 이용한 수수료 및 소비자장치(60)가 제공한 검증 데이터에 대한 급부로 제공되는 비용을 포함한 정산을 수행한다. As a result of the verification, if there is no abnormality in the sales data, the virtual machine proceeds from sales of the sales data based on the contract data in step S690 to each of the platform server 40 side operator and the provider device 50 side content provider, Settlement is performed including a fee using the blockchain network-based settlement service of the contract server 10 and a cost provided as a benefit for the verification data provided by the consumer device 60.

그런 다음, 가상머신은 S700 단계에서 그 정산 결과를 계약서버(10), 플랫폼서버(40), 공급자장치(50) 및 소비자장치(60)로 전송한다. 이와 같이, 본 발명의 실시예에 따르면, 계약서를 기초로 하는 계약에 따라 블록체인 네트워크를 통해 정산이 이루어지게 함으로써, 정산에 따른 수익 분배의 신뢰도가 향상된다. Then, the virtual machine transmits the settlement result to the contract server 10, the platform server 40, the supplier device 50 and the consumer device 60 in step S700. In this way, according to an embodiment of the present invention, the reliability of profit distribution according to settlement is improved by making settlement through a blockchain network according to a contract based on a contract.

도 6은 본 발명의 실시예에 따른 컴퓨팅 장치를 나타내는 도면이다. 도 6의 컴퓨팅 장치(TN100)는 본 명세서에서 기술된 장치, 예컨대, 계약서버(10), 노드(20, 30) 및 플랫폼서버(40), 공급자장치(50) 혹은 소비자장치(60)가 될 수 있다. 6 is a diagram illustrating a computing device according to an embodiment of the present invention. The computing device TN100 of FIG. 6 may be a device described herein, for example, the contract server 10, the nodes 20 and 30, the platform server 40, the provider device 50, or the consumer device 60. can

도 6의 실시예에서, 컴퓨팅 장치(TN100)는 적어도 하나의 프로세서(TN110), 송수신 장치(TN120), 및 메모리(TN130)를 포함할 수 있다. 또한, 컴퓨팅 장치(TN100)는 저장 장치(TN140), 입력 인터페이스 장치(TN150), 출력 인터페이스 장치(TN160) 등을 더 포함할 수 있다. 컴퓨팅 장치(TN100)에 포함된 구성 요소들은 버스(bus)(TN170)에 의해 연결되어 서로 통신을 수행할 수 있다.In the embodiment of FIG. 6 , the computing device TN100 may include at least one processor TN110, a transceiver TN120, and a memory TN130. In addition, the computing device TN100 may further include a storage device TN140, an input interface device TN150, and an output interface device TN160. Elements included in the computing device TN100 may communicate with each other by being connected by a bus TN170.

프로세서(TN110)는 메모리(TN130) 및 저장 장치(TN140) 중에서 적어도 하나에 저장된 프로그램 명령(program command)을 실행할 수 있다. 프로세서(TN110)는 중앙 처리 장치(CPU: central processing unit), 그래픽 처리 장치(GPU: graphics processing unit), 또는 본 발명의 실시예에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다. 프로세서(TN110)는 본 발명의 실시예와 관련하여 기술된 절차, 기능, 및 방법 등을 구현하도록 구성될 수 있다. 프로세서(TN110)는 컴퓨팅 장치(TN100)의 각 구성 요소를 제어할 수 있다. The processor TN110 may execute program commands stored in at least one of the memory TN130 and the storage device TN140. The processor TN110 may mean a central processing unit (CPU), a graphics processing unit (GPU), or a dedicated processor on which methods according to embodiments of the present invention are performed. Processor TN110 may be configured to implement procedures, functions, methods, and the like described in relation to embodiments of the present invention. The processor TN110 may control each component of the computing device TN100.

메모리(TN130) 및 저장 장치(TN140) 각각은 프로세서(TN110)의 동작과 관련된 다양한 정보를 저장할 수 있다. 메모리(TN130) 및 저장 장치(TN140) 각각은 휘발성 저장 매체 및 비휘발성 저장 매체 중에서 적어도 하나로 구성될 수 있다. 예를 들어, 메모리(TN130)는 읽기 전용 메모리(ROM: read only memory) 및 랜덤 액세스 메모리(RAM: random access memory) 중에서 적어도 하나로 구성될 수 있다.Each of the memory TN130 and the storage device TN140 may store various information related to the operation of the processor TN110. Each of the memory TN130 and the storage device TN140 may include at least one of a volatile storage medium and a non-volatile storage medium. For example, the memory TN130 may include at least one of read only memory (ROM) and random access memory (RAM).

송수신 장치(TN120)는 유선 신호 또는 무선 신호를 송신 또는 수신할 수 있다. 송수신 장치(TN120)는 네트워크에 연결되어 통신을 수행할 수 있다. The transmitting/receiving device TN120 may transmit or receive a wired signal or a wireless signal. The transmitting/receiving device TN120 may perform communication by being connected to a network.

한편, 앞서 설명된 본 발명의 실시예에 따른 방법들은 다양한 컴퓨터수단을 통하여 판독 가능한 프로그램 형태로 구현되어 컴퓨터로 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광 기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 와이어뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 와이어를 포함할 수 있다. 이러한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다. Meanwhile, the methods according to the embodiments of the present invention described above may be implemented in a program form readable by various computer means and recorded on a computer readable recording medium. Here, the recording medium may include program commands, data files, data structures, etc. alone or in combination. Program instructions recorded on the recording medium may be those specially designed and configured for the present invention, or those known and usable to those skilled in computer software. For example, recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magneto-optical media such as floptical disks ( magneto-optical media), and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program commands may include high-level language wires that can be executed by a computer using an interpreter, as well as machine language wires such as those produced by a compiler. These hardware devices may be configured to act as one or more software modules to perform the operations of the present invention, and vice versa.

이상 본 발명을 몇 가지 바람직한 실시예를 사용하여 설명하였으나, 이들 실시예는 예시적인 것이며 한정적인 것이 아니다. 이와 같이, 본 발명이 속하는 기술분야에서 통상의 지식을 지닌 자라면 본 발명의 사상과 첨부된 특허청구범위에 제시된 권리범위에서 벗어나지 않으면서 균등론에 따라 다양한 변화와 수정을 가할 수 있음을 이해할 것이다. The present invention has been described above using several preferred examples, but these examples are illustrative and not limiting. As such, those skilled in the art to which the present invention belongs will understand that various changes and modifications can be made according to the doctrine of equivalents without departing from the spirit of the present invention and the scope of rights set forth in the appended claims.

10: 계약서버
20: 클라이언트 노드
30: 일반 노드
40: 플랫폼서버
50: 공급자장치
60: 소비자장치
10: contract server
20: client node
30: normal node
40: platform server
50: supplier device
60: consumer device

Claims (5)

정산을 수행하기 위한 방법에 있어서,
블록체인 네트워크의 복수의 노드가 상기 블록체인 네트워크의 복수의 노드의 블록체인에 계약 데이터를 분산하여 저장하는 단계;
플랫폼서버가 업로드된 컨텐츠를 식별할 수 있는 정보인 컨텐츠 식별정보를 생성하여 계약서버로 전달하는 단계;
계약서버가 상기 컨텐츠 식별정보를 포함하는 트랜잭션을 블록체인 네트워크로 전송하는 단계;
소비자장치가 상기 컨텐츠에 대한 시청 시 마다, 스트리밍을 통해 상기 컨텐츠를 시정한 기록인 시청기록로그를 저장하는 단계;
상기 플랫폼서버가 상기 컨텐츠에 대한 시청 시 마다, 시청기록로그를 저장하는 단계;
상기 계약서버가 상기 컨텐츠에 대한 시청 시 마다, 상기 플랫폼서버로부터 수신되는 시청기록로그를 저장하는 단계; 및
상기 블록체인 네트워크의 어느 하나의 노드에서 실행되는 가상머신이 상기 컨텐츠 식별정보에 대응하여 검증 데이터인 시청기록로그를 수집하는 단계;
정산일이 도래하면, 상기 가상머신이 계약서버로부터 매출 데이터를 수신하고, 수신된 매출 데이터와 상기 검증 데이터를 비교하여 매출 내역을 검증하는 단계; 및
상기 검증 결과, 상기 매출 데이터에 이상이 없으면, 상기 가상머신이 상기 계약 데이터에 따라 정산을 수행하는 단계;
를 포함하며,
상기 검증 데이터를 수집하는 단계는
상기 가상머신이
정산 주기 내에서 무작위의 주기로, 무작위의 횟수로,
상기 계약서버, 상기 플랫폼서버 및 상기 소비자장치 중 적어도 하나의 무작위의 대상으로부터 시청기록로그를 수집하며,
상기 매출 내역을 검증하는 단계는
상기 검증 데이터를 수집하는 중 정산일이 도래하면, 상기 플랫폼서버가 시청기록로그를 포함하며 시청기록로그에 대응하여 발생된 매출을 나타내는 매출 데이터를 상기 계약서버로 전송하는 단계;
상기 계약서버가 상기 매출 데이터를 포함하는 트랜잭션을 생성하고, 생성된 상기 매출 데이터를 포함하는 트랜잭션을 블록체인 네트워크로 전송하는 단계;
상기 블록체인 네트워크의 복수의 노드가 상기 매출 데이터를 포함하는 트랜잭션에 대해 작업증명을 수행하는 단계;
상기 블록체인 네트워크의 어느 하나의 노드에서 실행되는 가상머신이 상기 매출 데이터와 상기 검증 데이터를 비교하여 상기 매출 내역을 검증하는 단계;
를 포함하며,
상기 계약 데이터에 따라 정산을 수행하는 단계는
상기 가상머신이
상기 계약 데이터를 기초로
매출에서
상기 플랫폼서버를 운영하는 사업자와 공급자장치를 운영하는 컨텐츠 공급자 각각에 분배되는 수익과,
상기 계약서버의 블록체인 네트워크 기반의 정산 서비스를 이용한 수수료 및
상기 소비자장치가 제공한 검증 데이터에 대한 급부로 제공되는 비용
을 정산하는 것을 특징으로 하며,
상기 방법은
상기 계약 데이터를 분산하여 저장하는 단계 후,
상기 컨텐츠 식별정보를 생성하여 계약서버로 전달하는 단계 전,
상기 플랫폼서버가 공급자장치로부터 계약 내용 요청 메시지를 수신하면, 수신된 계약 내용 요청 메시지를 계약서버로 전달하는 단계;
상기 계약서버가 상기 공급자장치의 주소를 인자로 하여 스마트 컨트랙트 코드의 계약내용제공함수를 호출하는 트랜잭션을 전송하는 단계;
상기 트랜잭션에 대응한 작업증명이 완료되면, 공급자가 해당 계약 데이터의 내용을 검토할 수 있도록 복수의 노드 중 어느 하나의 노드에서 실행되는 가상머신이 상기 계약 데이터를 XML 형식 혹은 JSON 형식로 변환한 후, 상기 공급자장치의 주소로 전달하는 단계;
상기 계약서버가 상기 공급자장치로부터 수락 메시지를 수신하면, 수락 메시지를 트랙잭션으로 전송하고, 전송된 트랜잭션에 대응한 작업증명이 완료되면, 상기 공급자장치가 계약 상 컨텐츠 공급자의 지위가 인정되도록 상기 분산하여 저장된 계약 데이터와 동일한 계정으로 공급자장치의 주소를 저장하는 단계;
를 더 포함하는 것을 특징으로 하는
정산을 수행하기 위한 방법.
In a method for performing settlement,
A plurality of nodes of the blockchain network distributing and storing contract data in the blockchains of the plurality of nodes of the blockchain network;
Generating content identification information, which is information capable of identifying uploaded content by the platform server, and transmitting the content identification information to the contract server;
Transmitting, by the contract server, a transaction including the content identification information to a blockchain network;
storing a viewing record log, which is a record of correcting the content through streaming, whenever the consumer device views the content;
storing, by the platform server, a viewing record log each time the content is viewed;
storing a viewing record log received from the platform server whenever the contract server views the content; and
Collecting, by a virtual machine running on any one node of the blockchain network, a viewing record log that is verification data in response to the content identification information;
When a settlement date arrives, the virtual machine receiving sales data from the contract server and verifying sales details by comparing the received sales data with the verification data; and
As a result of the verification, if there is no abnormality in the sales data, the virtual machine performing settlement according to the contract data;
Including,
The step of collecting the verification data is
the virtual machine
At a random cycle within the settlement cycle, at a random number of times,
Collecting viewing record logs from at least one random target among the contract server, the platform server, and the consumer device;
The step of verifying the sales details is
When a settlement date arrives while collecting the verification data, the platform server transmitting sales data including a viewing record log and indicating sales generated in response to the viewing record log to the contract server;
generating, by the contract server, a transaction including the sales data, and transmitting the generated transaction including the sales data to a blockchain network;
performing proof-of-work on a transaction including the sales data by a plurality of nodes of the blockchain network;
verifying the sales details by comparing the sales data with the verification data by a virtual machine running on any one node of the blockchain network;
Including,
The step of performing settlement according to the contract data
the virtual machine
Based on the above contract data
in sales
Profits distributed to each of the business operator operating the platform server and the content provider operating the provider device;
Fees using the settlement service based on the blockchain network of the contract server and
Cost provided as payment for verification data provided by the consumer device
It is characterized in that it settles,
The above method
After distributing and storing the contract data,
Before the step of generating the content identification information and delivering it to the contract server,
When the platform server receives the contract content request message from the provider device, forwarding the received contract content request message to the contract server;
Transmitting, by the contract server, a transaction that calls a contract content providing function of a smart contract code with the address of the provider device as a factor;
When the proof-of-work corresponding to the transaction is completed, the virtual machine running on any one of the plurality of nodes converts the contract data into XML format or JSON format so that the provider can review the contents of the contract data. , forwarding to the address of the provider device;
When the contract server receives an acceptance message from the provider device, it transmits the acceptance message as a transaction, and when the proof of work corresponding to the transmitted transaction is completed, the provider device distributes the content provider's position under the contract to be recognized. Storing the address of the provider device with the same account as the stored contract data;
characterized in that it further comprises
Methods for performing settlements.
삭제delete 삭제delete 삭제delete 정산을 수행하기 위한 장치에 있어서,
블록체인에 계약 데이터를 분산하여 저장하는 블록체인 네트워크의 복수의 노드;
업로드된 컨텐츠를 식별할 수 있는 정보인 컨텐츠 식별정보를 생성하여 계약서버로 전달하며, 상기 컨텐츠에 대한 시청 시 마다, 스트리밍을 통해 컨텐츠를 시청한 기록인 시청기록로그를 저장하는 플랫폼서버;
상기 컨텐츠 식별정보를 포함하는 트랜잭션을 블록체인 네트워크로 전송하고, 상기 컨텐츠에 대한 시청 시 마다, 상기 플랫폼서버로부터 수신되는 시청기록로그를 저장하는 계약서버;
상기 컨텐츠를 시청하며, 상기 컨텐츠에 대한 시청 시 마다, 시청기록로그를 저장하는 소비자장치; 및
상기 컨텐츠 식별정보에 대응하여 검증 데이터인 시청기록로그를 수집하고, 정산일이 도래하면, 계약서버로부터 매출 데이터를 수신하고, 수신된 매출 데이터와 상기 검증 데이터를 비교하여 매출 내역을 검증하고, 상기 검증 결과, 상기 매출 데이터에 이상이 없으면, 상기 계약 데이터에 따라 정산을 수행하는 상기 블록체인 네트워크의 어느 하나의 노드에서 실행되는 가상머신;
을 포함하며,
상기 블록체인 네트워크의 어느 하나의 노드에서 실행되는 가상머신은
정산 주기 내에서 무작위의 주기로, 무작위의 횟수로,
상기 계약서버, 상기 플랫폼서버 및 상기 소비자장치 중 적어도 하나의 무작위의 대상으로부터 시청기록로그를 수집하며,
상기 플랫폼서버는
검증 데이터를 수집하는 중 정산일이 도래하면, 시청기록로그를 포함하며 시청기록로그에 대응하여 발생된 매출을 나타내는 매출 데이터를 전송하고,
상기 계약서버는
상기 매출 데이터를 포함하는 트랜잭션을 생성하고, 생성된 상기 매출 데이터를 포함하는 트랜잭션을 블록체인 네트워크로 전송하고,
상기 블록체인 네트워크의 복수의 노드는
상기 매출 데이터를 포함하는 트랜잭션에 대해 작업증명을 수행하고,
상기 블록체인 네트워크의 어느 하나의 노드에서 실행되는 가상머신은
상기 매출 데이터와, 상기 검증 데이터를 비교하여 상기 매출 내역을 검증하는 것을 특징으로 하며,
상기 가상머신이
상기 계약 데이터를 기초로
매출에서
상기 플랫폼서버를 운영하는 사업자와 공급자장치를 운영하는 컨텐츠 공급자 각각에 분배되는 수익과,
상기 계약서버의 블록체인 네트워크 기반의 정산 서비스를 이용한 수수료 및
상기 소비자장치가 제공한 검증 데이터에 대한 급부로 제공되는 비용
을 정산하는 것을 특징으로 하며,
상기 플랫폼서버는
상기 계약 데이터를 분산하여 저장한 후,
상기 컨텐츠 식별정보를 생성하여 계약서버로 전달하기 전,
공급자장치로부터 계약 내용 요청 메시지를 수신하면, 수신된 계약 내용 요청 메시지를 계약서버로 전달하고,
상기 계약서버는
상기 공급자장치의 주소를 인자로 하여 스마트 컨트랙트 코드의 계약내용제공함수를 호출하는 트랜잭션을 전송하고,
상기 트랜잭션에 대응한 작업증명이 완료되면, 공급자가 해당 계약 데이터의 내용을 검토할 수 있도록 복수의 노드 중 어느 하나의 노드에서 실행되는 가상머신이 상기 계약 데이터를 XML 형식 혹은 JSON 형식로 변환한 후, 상기 공급자장치의 주소로 전달하고,
상기 공급자장치로부터 수락 메시지를 수신하면, 수락 메시지를 트랙잭션으로 전송하고,
전송된 트랜잭션에 대응한 작업증명이 완료되면, 상기 공급자장치가 계약 상 컨텐츠 공급자의 지위가 인정되도록 상기 분산하여 저장된 계약 데이터와 동일한 계정으로 공급자장치의 주소를 저장하는 것을 특징으로 하는
정산을 수행하기 위한 장치.
In the apparatus for performing settlement,
A plurality of nodes of a blockchain network that distributes and stores contract data in a blockchain;
A platform server that generates and transmits content identification information, which is information for identifying uploaded content, to the contract server, and stores a viewing record log, which is a record of content viewed through streaming, every time the content is watched;
a contract server for transmitting a transaction including the content identification information to a blockchain network and storing a viewing record log received from the platform server whenever the content is watched;
a consumer device that watches the content and stores a viewing record log each time the content is viewed; and
In response to the content identification information, a viewing record log, which is verification data, is collected, and when the settlement date arrives, sales data is received from the contract server, and sales details are verified by comparing the received sales data with the verification data. As a result of the verification, if there is no abnormality in the sales data, a virtual machine running on any one node of the blockchain network that performs settlement according to the contract data;
Including,
A virtual machine running on any one node of the blockchain network
At a random cycle within the settlement cycle, at a random number of times,
Collecting viewing record logs from at least one random target among the contract server, the platform server, and the consumer device;
The platform server
When the settlement date arrives while collecting verification data, sales data including a viewing record log and indicating sales generated in response to the viewing record log is transmitted,
The contract server
Generating a transaction including the sales data, and transmitting the transaction including the generated sales data to a blockchain network;
A plurality of nodes of the blockchain network
Proof-of-work is performed on the transaction including the sales data;
A virtual machine running on any one node of the blockchain network
It is characterized in that the sales data is compared with the verification data to verify the sales details,
the virtual machine
Based on the above contract data
in sales
Profits distributed to each of the business operator operating the platform server and the content provider operating the provider device;
Fees using the settlement service based on the blockchain network of the contract server and
Cost provided as payment for verification data provided by the consumer device
It is characterized in that it settles,
The platform server
After distributing and storing the contract data,
Before generating and delivering the content identification information to the contract server,
Upon receiving the contract content request message from the provider device, the received contract content request message is transmitted to the contract server,
The contract server
Sending a transaction that calls the contract content providing function of the smart contract code with the address of the provider device as a factor;
When the proof-of-work corresponding to the transaction is completed, a virtual machine running on any one of the plurality of nodes converts the contract data into XML format or JSON format so that the provider can review the contents of the contract data. , forwarded to the address of the provider device,
When receiving an acceptance message from the provider device, transmitting the acceptance message as a transaction;
When the proof of work corresponding to the transmitted transaction is completed, the provider device stores the address of the provider device in the same account as the distributed and stored contract data so that the status of the content provider in the contract is recognized
A device for performing settlement.
KR1020200179017A 2020-12-18 2020-12-18 Method for performing settlement according to contract based on smart contract and Apparatus for same KR102572232B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200179017A KR102572232B1 (en) 2020-12-18 2020-12-18 Method for performing settlement according to contract based on smart contract and Apparatus for same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200179017A KR102572232B1 (en) 2020-12-18 2020-12-18 Method for performing settlement according to contract based on smart contract and Apparatus for same

Publications (2)

Publication Number Publication Date
KR20220088207A KR20220088207A (en) 2022-06-27
KR102572232B1 true KR102572232B1 (en) 2023-08-28

Family

ID=82246793

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200179017A KR102572232B1 (en) 2020-12-18 2020-12-18 Method for performing settlement according to contract based on smart contract and Apparatus for same

Country Status (1)

Country Link
KR (1) KR102572232B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102499947B1 (en) * 2022-08-09 2023-02-16 주식회사 스웹트파운데이션코리아 Encryption key and smart contract implementation management system using hardware security module
KR102663677B1 (en) * 2023-03-23 2024-05-14 제시아플랫폼 주식회사 method for safely moving virtual assets between blockchains

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201607477D0 (en) * 2016-04-29 2016-06-15 Eitc Holdings Ltd A method and system for controlling the performance of a contract using a distributed hash table and a peer to peer distributed ledger
KR101985490B1 (en) 2016-07-25 2019-06-03 최봉호 Wireless charging device and wireless charging method using the same
KR102142259B1 (en) * 2018-12-20 2020-08-10 주식회사 마크애니 System for distribution of content files using smart contract based on block chain and method thereof
KR102182849B1 (en) * 2019-01-23 2020-11-25 넷마블 주식회사 Technique for item transaction

Also Published As

Publication number Publication date
KR20220088207A (en) 2022-06-27

Similar Documents

Publication Publication Date Title
CN102573112B (en) Telecommunication network capability opening method, system and alliance support platform
US8230040B2 (en) Open mobile business supporting system and method
KR102572232B1 (en) Method for performing settlement according to contract based on smart contract and Apparatus for same
US8315920B2 (en) Method for automating onboarding of user generated ringback tones to sales distribution channel
US20110225636A1 (en) Method For Automating Onboarding Application Developers To Sales Distribution Channel
CN103339901A (en) Terminal and intermediate node in content oriented networking environment and communication method of terminal and intermediate node
AU2018385707A1 (en) Distributed ledger system for management and implementation of exchanges of wireless services between wireless service providers
US9124554B2 (en) Mobility network operator service delivery hub
KR102145578B1 (en) Method and Apparatus for Providing Roaming Service using Block Chain
US20120030478A1 (en) Dynamic Storage Enabler For Service Delivery HUB On A Mobility Network
US20140040461A1 (en) Method for mechanically generating content for messages
WO2021063030A1 (en) Blockchain-enhanced open internet of things access architecture
KR100578379B1 (en) Content-graded billing system and method for use of wireless data service
KR20090046006A (en) System and method for processing advertising unit price and recording medium
KR100706347B1 (en) Appratus for supporting utility and development of open mobile business supporting system
CN113014556B (en) Bank-enterprise communication system, communication method and electronic terminal
KR101042110B1 (en) Device for relaying open source using enterprise service bus, and method and system equipped therewith, and the recording media storing the program performing the said method
KR101576081B1 (en) Platform system and platform server for providing contents service and method for providing contents service
KR20220118143A (en) Method of provding contents and terminal device
KR102159550B1 (en) Method for Providing Neutral Host Network Service using Block Chain, System And Apparatus Therefor
US20170244771A1 (en) Agent-based passive streaming
JP5040761B2 (en) Mail transmission / reception program, mail transmission / reception device, and mail transmission / reception system
KR20160117967A (en) Distributed data collecting method and system
KR20220066708A (en) System for providing power supply service for cost saving based on Time of Use (TOU) and method therefor
KR100654536B1 (en) Contents provisioning system and method thereof

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant