KR20190070163A - 네트워크를 통해 서로 통신하는 노드들 각각의 자원 운영 방법, 그리고 그러한 노드들 중 어느 하나로 동작하는 컴퓨터 장치 - Google Patents

네트워크를 통해 서로 통신하는 노드들 각각의 자원 운영 방법, 그리고 그러한 노드들 중 어느 하나로 동작하는 컴퓨터 장치 Download PDF

Info

Publication number
KR20190070163A
KR20190070163A KR1020170170721A KR20170170721A KR20190070163A KR 20190070163 A KR20190070163 A KR 20190070163A KR 1020170170721 A KR1020170170721 A KR 1020170170721A KR 20170170721 A KR20170170721 A KR 20170170721A KR 20190070163 A KR20190070163 A KR 20190070163A
Authority
KR
South Korea
Prior art keywords
block
proof
nodes
receiving
transaction
Prior art date
Application number
KR1020170170721A
Other languages
English (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 KR1020170170721A priority Critical patent/KR20190070163A/ko
Priority to JP2018228315A priority patent/JP6689946B2/ja
Priority to US16/217,047 priority patent/US11240002B2/en
Publication of KR20190070163A publication Critical patent/KR20190070163A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3827Use of message hashing
    • 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
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0207Discounts or incentives, e.g. coupons or rebates
    • G06Q30/0217Discounts or incentives, e.g. coupons or rebates involving input on products or services in exchange for incentives or rewards
    • 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
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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/12Transmitting and receiving encryption devices synchronised or initially set up in a particular manner
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • General Business, Economics & Management (AREA)
  • Development Economics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Mathematical Physics (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Game Theory and Decision Science (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Computation (AREA)
  • Power Engineering (AREA)
  • Technology Law (AREA)
  • Educational Administration (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Computer Hardware Design (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

본 발명의 실시예에 따른 네트워크를 통해 서로 통신하는 복수의 노드들 중 어느 하나에서 자원을 운영하는 방법은, 마이닝 프로그램을 통해 문제를 수신하여 작업증명을 수행하는 단계와, 트랜잭션을 생성하여 복수의 노드들로 전송하는 단계와, 복수의 노드들로부터 트랜잭션, 블록 해시(block hash)값을 수신하는 단계와, 작업증명의 수행을 중단하고, 블록 해시값을 이용하여 생성되거나 수신한 트랜잭션에 대한 유효성을 검사하여 인증되면 블록을 생성하는 단계와, 마이닝 프로그램을 통해 수행한 작업증명에 해당하는 보상을 수신하는 단계와, 블록을 블록 체인에 연결시키는 단계를 포함한다.

Description

네트워크를 통해 서로 통신하는 노드들 각각의 자원 운영 방법, 그리고 그러한 노드들 중 어느 하나로 동작하는 컴퓨터 장치{RESOURCES OPERATING METHOD OF EACH OF NODES COMMUNICATING ONE ANOTHER AND COMPUTER DEVICE OPERATING AS ONE OF NODES}
본 발명은 전자 장치에 관한 것으로, 좀 더 구체적으로는 네트워크를 통해 서로 통신하는 노드들 각각의 자원 운영 방법, 그리고 그러한 노드들 중 어느 하나로 동작하는 컴퓨터 장치에 관한 것이다.
블록 체인은 다수의 참여자들에게 데이터를 공유하여 데이터의 위조를 막는 방식을 사용한다. 블록 체인은 대표적인 온라인 가상 화폐인 비트코인에 적용될 수 있다. 비트코인은 누구나 열람할 수 있는 장부에 거래 내역을 기록하며, 비트코인을 사용하는 다수의 참여자들이 정해진 시간 간격으로 거래 내역을 검증하여 해킹을 막는다. 즉, 블록 체인은 모든 네트워크 참여자가 거래 내역을 공유 및 보관하는 분권형(decentralized) 구조를 포함한다. 2008년에 공개된 사토시 나카모토(Satoshi Nakamoto)의 논문 “비트코인: 피어-투-피어 전자화폐 시스템(Bitcoin: A Peer-to-Peer Electronic Cash System)”에는 중앙의 금융 기관이 개입되지 않은 P2P 방식의 전자 화폐가 제시되어 있으며, 암호학적 기능(cryptographic function)을 이용한 화폐의 중복 사용(double spending) 문제를 해결하고, 이에 참여하는 분권화된 노드들이 마이닝(mining) 과정을 통해 인센티브를 지급 받는 방식이 제시되어 있다.
블록 체인을 만들때 작업증명(Proof Of Work)를 따르는 블록 체인은 마이닝(Mining)을 통해 트랜잭션(Transaction)과 트랜잭션의 집합인 블록(Block)을 검증하고 승인하게 된다. 참여자, 즉 노드들은 네트워크에 컴퓨터 자원을 제공하고 무수한 컴퓨팅 파워로 문제를 풀어야 블록을 생성할 수 있는 권한이 있다.
즉, 작업증명 방식은 고성능의 컴퓨터를 사용하여 가장 빨리 승인된 마이닝자가 보상을 받을 수 있다. 결국 더 고성능의 그래픽카드와 전기요금이 투입되어야만 다른 마이닝자를 따라잡아 더 많은 코인을 얻을 수 있는 구조다. 그리고 이러한 시스템이 과다한 전기요금과 함께 마이닝자 간의 경쟁을 격화시키고 있으며, 에너지 낭비와 환경 문제까지 거론되고 있다.
위 기재된 내용은 오직 본 발명의 기술적 사상들에 대한 배경 기술의 이해를 돕기 위한 것이며, 따라서 그것은 본 발명의 기술 분야의 당업자에게 알려진 선행 기술에 해당하는 내용으로 이해될 수 없다.
본 발명의 실시예는 작업증명 방식의 블록 체인의 마이닝 과정에서 사용되는 컴퓨팅 파워를 머신 러닝에 사용하고 이를 보상해주어 컴퓨터 자원의 낭비를 방지하는 네트워크를 통해 서로 통신하는 노드들 각각의 자원 운영 방법, 그리고 그러한 노드들 중 어느 하나로 동작하는 컴퓨터 장치를 제공함을 목적으로 한다.
상기 목적을 달성하기 위하여 본 발명의 실시예에 따른 네트워크를 통해 서로 통신하는 복수의 노드들 중 어느 하나에서 자원을 운영하는 방법은, 마이닝(mining) 프로그램을 통해 문제를 수신하여 작업증명을 수행하는 단계와; 트랜잭션(transaction)을 생성하여 상기 복수의 노드들로 전송하는 단계와; 상기 복수의 노드들로부터 트랜잭션, 블록 해시(block hash)값을 수신하는 단계와; 상기 작업증명의 수행을 중단하고, 상기 블록 해시값을 이용하여 상기 생성되거나 수신한 트랜잭션에 대한 유효성을 검사하여 인증되면 블록을 생성하는 단계와; 상기 마이닝 프로그램을 통해 상기 수행한 작업증명에 해당하는 보상(reward)을 수신하는 단계와; 상기 블록을 블록 체인에 연결시키는 단계를 포함한다.
상기 방법은 블록 해시값을 포함하는 블록들로 이루어진 블록 체인을 저장하는 단계를 더 포함할 수 있다.
상기 마이닝 프로그램을 통해 문제를 수신하여 작업증명을 수행하는 단계는, 상기 마이닝 프로그램을 통해 머신 러닝(machine learning)에 해당하는 문제를 해결하기 위해 머신 러닝을 수행하는 단계를 포함할 수 있다.
상기 마이닝 프로그램을 통해 상기 수행한 작업증명에 해당하는 보상을 수신하는 단계는, 상기 작업증명의 수행을 중단할 때까지 수행한 작업증명 작업량에 비례하여 보상을 수신하는 단계를 포함할 수 있다.
상기 마이닝 프로그램을 통해 상기 수행한 작업증명에 해당하는 보상을 수신하는 단계는, 상기 작업증명의 수행을 중단할 때까지 수행한 작업증명 작업량이 미리 정해진 최소작업량보다 큰 경우 보상을 수신하는 단계를 포함할 수 있다.
상기 최소작업량은 상기 복수의 노드들 중 가장 먼저 블록해시값을 생성한 노드가 수행한 작업증명 작업량의 1/2일 수 있다.
상기 마이닝 프로그램을 통해 상기 수행한 작업증명에 해당하는 보상을 수신하는 단계는, 상기 마이닝 프로그램을 통해 상기 수행한 작업증명에 해당하는 암호화 화폐를 수신하는 단계를 포함할 수 있다.
상기 마이닝 프로그램을 통해 문제를 수신하여 작업증명을 수행하는 단계는, 이전 블록을 생성한 후 마이닝 프로그램을 통해 문제를 수신하여 작업증명을 수행하는 단계를 포함할 수 있다.
상기 마이닝 프로그램을 통해 문제를 수신하여 작업증명을 수행하는 단계는, 일정 시간 간격으로 마이닝 프로그램을 통해 문제를 수신하여 작업증명을 수행하는 단계를 포함할 수 있다.
본 발명의 실시예에 따른 네트워크를 통해 서로 통신하는 복수의 노드들 중 어느 하나에서 자원을 운영하는 방법은, 마이닝(mining) 프로그램을 통해 머신 러닝(machine learning)에 해당하는 문제를 해결하기 위해 머신 러닝을 수행하는 단계와; 트랜잭션(transaction)을 생성하여 상기 복수의 노드들로 전송하는 단계와; 상기 복수의 노드들로부터 트랜잭션을 수신하는 단계와; 블록 해시값을 생성하고, 이를 이용하여 상기 생성되거나 수신한 트랜잭션의 정보들에 대하여 블록을 생성하는 단계와; 상기 블록 해시값을 상기 복수의 노드들로 전송하는 단계와; 상기 마이닝 프로그램을 통해 상기 수행한 머신 러닝에 해당하는 보상(reward)을 수신하는 단계와; 상기 블록을 블록 체인에 연결시키는 단계를 포함한다.
상기 방법은 블록 해시값을 포함하는 블록들로 이루어진 블록 체인을 저장하는 단계를 더 포함할 수 있다.
상기 마이닝 프로그램을 통해 상기 수행한 머신 러닝에 해당하는 보상을 수신하는 단계는, 상기 마이닝 프로그램을 통해 상기 수행한 머신 러닝에 해당하는 암호화 화폐를 수신하는 단계를 포함할 수 있다.
본 발명의 실시예에 따른 네트워크를 통해 서로 통신하는 복수의 노드들 중 어느 하나로서 동작하는 컴퓨터 장치는, 상기 네트워크와 통신하는 통신기와; 상기 통신기와 연결되는 적어도 하나의 프로세서를 포함하되, 상기 적어도 하나의 프로세서는, 마이닝 프로그램을 통해 문제를 수신하여 작업증명을 수행하고; 트랜잭션을 생성하여 상기 복수의 노드들로 전송하고; 상기 복수의 노드들로부터 트랜잭션, 블록 해시값을 수신하고; 상기 작업증명의 수행을 중단하고, 상기 블록 해시값을 이용하여 상기 생성되거나 수신한 트랜잭션에 대한 유효성을 검사하여 인증되면 블록을 생성하고; 상기 마이닝 프로그램을 통해 상기 수행한 작업증명에 해당하는 보상을 수신하고; 상기 블록을 블록 체인에 연결하도록 구성된다.
상기 문제는 머신 러닝에 해당하는 문제를 포함하고, 상기 작업증명은 머신 러닝을 포함할 수 있다.
상기 수행한 작업증명에 해당하는 보상은 암호화 화폐를 포함할 수 있다.
본 발명의 실시예에 따른 네트워크를 통해 서로 통신하는 복수의 노드들 중 어느 하나로서 동작하는 컴퓨터 장치는, 상기 네트워크와 통신하는 통신기와; 상기 통신기와 연결되는 적어도 하나의 프로세서를 포함하되, 상기 적어도 하나의 프로세서는, 마이닝 프로그램을 통해 머신 러닝에 해당하는 문제를 해결하기 위해 머신 러닝을 수행하고; 트랜잭션을 생성하여 상기 복수의 노드들로 전송하고; 상기 복수의 노드들로부터 트랜잭션을 수신하고; 블록 해시값을 생성하고, 이를 이용하여 상기 생성되거나 수신한 트랜잭션의 정보들에 대하여 블록을 생성하고; 상기 블록 해시값을 상기 복수의 노드들로 전송하고; 상기 마이닝 프로그램을 통해 상기 수행한 머신 러닝에 해당하는 보상(reward)을 수신하고; 상기 블록을 블록 체인에 연결하도록 구성된다.
상기 수행한 머신 러닝에 해당하는 보상은 암호화 화폐를 포함할 수 있다.
이와 같은 본 발명의 실시예에 따른 네트워크를 통해 서로 통신하는 노드들 각각의 자원 운영 방법, 그리고 그러한 노드들 중 어느 하나로 동작하는 컴퓨터 장치에 의하면, 작업증명 방식의 블록 체인의 마이닝 과정에서 사용되는 컴퓨팅 파워를 머신 러닝에 사용하고 이를 보상해주어 컴퓨터 자원의 낭비를 방지할 수 있다.
도 1은 본 발명의 실시 예들이 적용될 수 있는 블록 체인 시스템을 보여주는 블록도이다.
도 2는 본 발명의 실시 예에 따른 블록 체인을 보여주는 개념도이다.
도 3은 도 2의 블록 체인의 데이터 블록들 중 일부를 좀 더 구체적으로 보여주는 개념도이다.
도 4는 본 발명의 실시예에 따른 복수의 노드들 중 어느 하나에서 블록 체인을 업데이트하는 방법을 보여주는 순서도이다.
도 5는 도 4의 S130단계의 실시예를 보여주는 순서도이다.
도 6은 도 1의 복수의 노드들 중 어느 하나에 적합한 예시적인 컴퓨터 장치를 보여주는 블록도이다.
위 발명의 배경이 되는 기술 란에 기재된 내용은 오직 본 발명의 기술적 사상에 대한 배경 기술의 이해를 돕기 위한 것이며, 따라서 그것은 본 발명의 기술 분야의 당업자에게 알려진 선행 기술에 해당하는 내용으로 이해될 수 없다.
아래의 서술에서, 설명의 목적으로, 다양한 실시예들의 이해를 돕기 위해 많은 구체적인 세부 내용들이 제시된다. 그러나, 다양한 실시예들이 이러한 구체적인 세부 내용들 없이 또는 하나 이상의 동등한 방식으로 실시될 수 있다는 것은 명백하다. 다른 예시들에서, 잘 알려진 구조들과 장치들은 장치는 다양한 실시예들을 불필요하게 이해하기 어렵게 하는 것을 피하기 위해 블록도로 표시된다. 도면에서, 구성 요소들의 크기 또는 상대적인 크기는 명확한 설명을 위해 과장될 수 있다. 또한, 동일한 참조 번호는 동일한 구성 요소를 나타낸다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "간접적으로 연결"되어 있는 경우도 포함한다. 명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
도 1은 본 발명의 실시예들이 적용될 수 있는 블록 체인 시스템(100)을 보여주는 블록도이다.
도 1을 참조하면 블록 체인 시스템(100)은 복수의 노드들(110-170)로 이루어진 분권형 네트워크(decentralized network) 시스템이다. 분권형 네트워크를 구성하는 노드들(110-170)은 컴퓨터, 이동 단말기, 전용 전자 장치 등 계산 능력을 갖는 전자 장치들이다. 실시예로서, 노드들(110-170)은 블록 체인을 배포하는 소프트웨어를 가지고 블록 체인을 다운받는 사람 또는 컴퓨터 일 수 있다.
블록 체인 시스템(100)은 블록 체인(block chain)이라 불리는 데이터 블록들의 연결 묶음 내에 모든 노드들(110~170)에 공통으로 알려진 정보를 저장할 수 있다. 복수의 노드들(110~170) 각각은 상호간 통신을 수행하여 동일한 데이터 블록들을 포함하는 동일한 블록 체인을 저장할 수 있다. 복수의 노드들(110-170)은 블록 체인을 저장하고, 신규 데이터 블록을 생성 및 전파하고, 수신된 신규 데이터 블록을 검증하고, 신규 데이터 블록을 블록 체인에 포함시켜 블록 체인을 업데이트하는 완전 노드(full node)일 수 있다. 예를 들어, 완전 노드는 블록 체인 전체를 전부 저장하고 다른 노드와의 연결을 통해 자신이 가진 블록 정보를 남에게 줄 수 있는 노드이다.
위에서 노드들(110~170)이 완전 노드들이라고 설명되었으나, 본 발명의 실시예들은 여기에 한정되지 않는다. 복수의 노드들(110~170) 중 적어도 일부는 간이 노드(lightweight node)일 수 있다. 예를 들어, 간이 노드는 사용자의 지갑을 저장하긴 하지만 블록 체인 네트워크에 접근하기 위해서는 제3자가 소유한 서버에 의존하고 블록 체인 복제본을 저장하지 않는다.
복수의 노드들(110~170) 각각은 데이터 블록을 생성할 때마다 생성된 신규 데이터 블록을 다른 노드들에 공유하며, 이에 따라 복수의 노드들(110~170)은 동일한 데이터 블록들을 포함하는 동일한 블록 체인을 저장할 수 있다. 신규 데이터 블록을 수신한 데이터 블록들은 해당 데이터 블록을 검증하여 신규 데이터 블록을 블록 체인에 포함시킬지 여부를 합의할 수 있다. 검증 결과에 따라, 복수의 노드들(110~170)은 블록 체인을 업데이트할 수 있다. 이러한 방식으로 복수의 노드들(110~170)은 동일한 블록 체인을 저장할 수 있다.
도 2는 본 발명의 실시예에 따른 블록 체인(200)을 보여주는 개념도이다.
도 2를 참조하면 블록 체인(200)은 순차적으로 연결된 데이터 블록들(210~230)을 포함한다. 블록 체인(200)은, 블록 체인 시스템(100)에 포함된 각 노드가 신규 데이터 블록을 생성하고, 생성된 신규 데이터 블록을 공유하고, 공유된 데이터 블록을 블록 체인(200)에 링크함으로써 생성된다. 도 2에는 3개의 데이터 블록들(210~230)이 예시적으로 도시되어 있으나, 블록 체인(100)에 포함될 수 있는 데이터 블록들의 수는 이에 제한되지 않는다.
데이터 블록들(210~230) 각각은 블록 헤더(BH)와 블록 바디(BB)를 포함한다. 블록 헤더(BH)에는 이전 블록 헤더(BH)의 해시값이 들어있어 일종의 체인처럼 링크드리스트 방식으로 모든 블록이 연결되어 있고, 합의 알고리즘에 이용하는 임의의 논스(nonce)값과 블록 생성의 난이도를 조정하는 난이도 목표(nBits)값 등이 포함되어 있을 수 있다. 블록 헤더(BH)는 데이터 블록들 사이의 연결 관계를 나타내기 위해 이전 데이터 블록의 해시값을 포함할 수 있다. 예를 들면, 제 N-1 데이터 블록(220)의 블록 헤더(BH)는 이전 데이터 블록(210)의 블록 헤더(BH)에 포함된 해시값을 포함한다. 블록 체인(200)이 유효한지 검증하는 과정에서 블록 헤더(BH) 내에 포함된 해시값이 사용될 수 있다. 블록 바디(BB)에는 지원하는 서비스에 따라 다른 값이 들어갈 수 있다. 예를 들어, 디지털 암호 통화 시스템인 비트코인에서는 10분 동안 발생한 사용자들 간의 거래가 블록 바디(BB)에 포함된다.
도 3은 도 2의 블록 체인(200)의 데이터 블록들 중 일부를 좀 더 구체적으로 보여주는 개념도이다.
도 2 및 도 3을 참조하면, 각 데이터 블록의 블록 헤더(BH)는 이전 데이터 블록의 해시값(221, 231), 현재 데이터 블록의 해시값(222, 232), 및 바디의 해시값(223, 233)를 포함할 수 있다.
데이터 블록들(210~230)은 해시값들에 기초하여 연결된다. 제 N 데이터 블록(230)의 블록 헤더(BH)에 포함된 이전 데이터 블록의 해시값은 이전 데이터 블록인 제 N-1 데이터 블록(220)의 블록 헤더(BH)에 포함된 현재 데이터 블록의 해시값과 동일한 값이다. 이와 같이, 각 데이터 블록은 블록 헤더(BH) 내에 이전 데이터 블록의 해시값을 포함함으로써 연쇄적으로 연결된다. 블록 체인 시스템(100)에 참여하는 노드들(110~170)은 데이터 블록들(210~230) 각각에 포함된 이전 데이터 블록의 해시값에 기반하여 데이터 블록들(210~230)의 유효성을 검증할 수 있다. 이에 따라, 이미 생성되어 블록 체인(200)에 포함되어 있는 데이터 블록의 내용을 위조 또는 변조하기는 상당히 어렵다.
블록 헤더(BH)의 바디의 해시값(223, 233)은 해당 블록 바디(BB)의 헤더를 나타낼 수 있다.
블록 헤더(BH)는 추가 데이터(224, 234) 필드를 더 포함할 수 있다. 예를 들면, 추가 데이터(224, 234)는 해당 데이터 블록이 생성된 시점을 나타내는 타임 스탬프를 포함할 수 있다.
블록 바디(BB)는 트랜잭션들에 대한 정보들을 포함한다. 복수의 노드들(110~170)은 동일한 데이터 블록들(210~230)을 저장하고 있다. 복수의 노드들(110~170) 중 임의의 노드(예를 들면 110)에 저장된 데이터 블록들(210~230)이 위조 또는 변조된다 하더라도, 해당 노드에 저장된 데이터 블록들(210~230)은 다른 노드들의 데이터 블록들(210~230)과 다르므로, 위조 또는 변조는 쉽게 판별될 수 있다. 이에 따라, 데이터 블록들(210~230)의 블록 바디들(BB) 내 트랜잭션들에 대한 정보들은 임의로 변경되기 어렵고, 그러므로 상대적으로 높은 신뢰성을 갖는다.
만약 특정 관리자에 의해 관리되는 중앙 서버에 트랜잭션들에 대한 정보들이 저장된다면, 해당 관리자의 필요에 따라 임의로 또는 해킹으로 인해 트랜잭션들에 대응하는 정보들이 조작될 수 있다. 반면, 본 발명의 실시예에 따르면, 블록 체인(200)에 트랜잭션들에 대한 정보들을 저장함으로써 그 정보들이 복수의 노드들(110~170)에 의해 공유되고, 따라서 누군가에 의해 트랜잭션데 대응하는 정보들이 자의적으로 변경될 가능성은 감소할 수 있다. 나아가, 앞서 설명된 바와 같이, 복수의 노드들(110~170) 각각은 데이터 블록들(210~230) 각각에 포함된 이전 데이터 블록의 해시값에 기반하여 각 데이터 블록의 유효성을 검증할 수 있으므로, 누군가에 의해 이미 생성된 데이터 블록의 내용, 즉 블록 바디(BB) 내 트랜잭션들에 관한 정보들이 위조 또는 변조되기는 어렵다. 이에 따라, 블록 체인(200)에 저장된 정보들은 높은 신뢰성을 가질 수 있다.
도 4는 본 발명의 실시예에 따른 복수의 노드들 중 어느 하나에서 블록 체인을 업데이트하는 방법을 보여주는 순서도이다.
도 4를 참조하면, S110단계에서, 마이닝 프로그램을 통해 마이닝을 위한 문제를 수신한다. 실시예로서, 마이닝을 위한 문제는 머신 러닝을 필요로 하는 문제일 수 있고, 해당 노드에서는 특정 머신 러닝을 위한 입력 데이터들을 수신할 수 있다. 머신 러닝은 인공 지능(AI)의 접근방식의 하나로 복잡한 알고리즘을 이용해 대량의 데이터를 분석해 그 중 패턴을 인식하고, 그것을 바탕으로 예측을 하는 것으로 딥러닝을 포함할 수 있다. 본 발명의 다른 실시예에 따르면, 마이닝을 위한 문제는 해당 노드에서의 컴퓨팅 파워, 즉 프로세스 파워를 제공하여 해결하는 문제일 수 있다. 예를 들어, 다수의 목표물에 대한 동시교전 능력과 무기관제, 탄도계산 등을 위한 군사 분야, 지국과학, 생물학, 화학, 물리학 등의 과학연산 분야, 지구과학, 물리학, 수학 등 모든 분야를 망라한 미분방정식의 계산이 필요한 날씨예측 분야, 및 주가예측 분야 등 슈퍼컴퓨터가 필요한 분야의 문제가 마이닝을 위한 문제로 수신될 수 있다.
본 발명의 실시예에 따르면, 해당 노드는 블록 해시값을 포함하는 블록들로 이루어진 블록 체인을 저장하고 있는 완전 노드일 수 있다.
S120단계에서, 수신한 문제를 해결하기 위해 작업증명을 수행한다. 실시예로서 작업증명은 머신 러닝일 수 있다. 예를 들어, 해당 노드에서 음성 인식(인공지능 가상 비서 등), 안면 인식(SNS에서 많이 사용되고 있는 필터 기능 등), 혹은 사물 인식(사과나 오렌지와 같은 사물의 이미지로 검색하는 기능 등)과 같은 인공지능(AI) 기술을 위해 다양한 음성, 안면, 사물의 경험적 데이터를 기반으로 학습을 하고 예측을 수행하고 스스로의 성능을 향상시키는 머신 러닝이 수행될 수 있다. 본 발명의 다른 실시예에 따르면, 작업증명은 해당 노드에서의 컴퓨팅 파워, 즉 프로세스 파워를 제공하여 군사 분야, 과학연산 분야, 날씨예측 분야 및 주가예측 분야의 문제에 대한 연산 또는 계산을 수행하는 것일 수 있다.
해당 노드에서는 작업증명을 수행하는 것과 동시에 트랜잭션을 생성하여 다른 노드들로 전송한다. 실시예로서, 해당 노드에서 생성된 트랜잭션이 일정 이상 쌓이면, 그 트랜잭션 정보 다른 노드들로 전송하여 트랜잭션 정보를 공유할 수 있다. 마찬가지로, 다른 노드들에서 생성된 트랜잭션 역시 해당 노드로 수신될 수 있다.
해당 노드에서 작업증명을 성공하면, 블록 해시값을 생성한다. 본 발명의 실시예에 따르면, 해당 노드가 아닌 다른 노드들 중 하나에서 작업증명을 성공하는 경우, 작업증명 성공 노드로부터 블록 해시값을 수신한다. S130단계에서, 해당 노드에서는 유효성 검증 알고리즘을 이용하여 트랜잭션과 블록 해시값에 대하여 유효성을 판단한 후, 유효성 검증이 완료되는 트랜잭션과 블록 해시값을 이용하여 블록을 생성한다.
S140단계에서, 마이닝 프로그램을 통해 해당 노드에서 수행한 작업증명에 해당하는 보상을 수신한다. 본 발명의 실시예에 따르면, 해당 노드에서 가장 먼저 작업증명을 성공하였는지에 관계없이 해당 노드에서 수행한 작업증명 작업량에 대해 보상을 받을 수 있다. 보상은 암호화 화폐일 수 있고, 비트코인, 이더리움, 라이트코인, 리플, ACOIN, 대시, 보스코인 중 적어도 어느 하나일 수 있다.
S150단계에서, 블록 체인에 생성된 블록을 연결시켜, 블록 체인이 업데이트된다. 본 발명의 실시예에 따르면, 마이닝 프로그램을 통해 문제를 수신하는 S110단계는 이전 블록을 생성한 후 또는 일정 시간 간격으로 수행될 수 있다. 예를 들어 비트코인의 경우 현재 10분 간격으로 문제를 수신한다.
도 5는 도 4의 S130단계의 실시예를 보여주는 순서도이다.
도 5를 참조하면, S131단계에서, 다른 노드들로부터 블록 해시값을 수신하였는지 여부가 판별된다. 즉, 해당 노드가 아닌 다른 노드들 중 하나에서 작업증명을 성공하였는지 여부가 판별된다. 만약 그렇다면, S133단계에서 가장 먼저 작업증명을 성공한 작업증명 성공 노드로부터 블록 해시값을 수신하고, 유효성 검증 알고리즘을 이용하여 트랜잭션과 블록 해시값에 대하여 유효성을 검증한다. 이후, S134단계에서, 트랜잭션과 블록 해시값을 이용하여 블록을 생성한다.
S131단계에서 그렇지 않다면, S132단계에서 블록 해시값을 생성하였는지 여부가 판별된다. 즉, 해당 노드에서 가장 먼저 작업증명을 성공하였는지 여부가 판별된다. 만약 그렇다면, S134단계에서, 트랜잭션과 블록 해시값을 이용하여 블록을 생성한다.
S132단계에서 그렇지 않다면, 이는 어느 노드에서도 작업증명을 성공하지 못한 상태이므로 다시 S131단계로 돌아간다.
도 4에서 설명한 바와 같이, S134단계에서 블록이 생성되면 마이닝 프로그램을 통해 해당 노드에서 수행한 작업증명에 해당하는 보상을 수신한다. 본 발명의 실시예에 따르면, 해당 노드가 아닌 다른 노드에서 작업증명을 가장 먼저 성공하더라도 해당 노드에서 수행한 작업증명 작업량에 대해 보상을 받을 수 있다. 예를 들어, 보상은 작업증명의 수행을 중단할 때까지 수행한 작업 증명 작업량에 비례하여 수신될 수 있다. 실시예로서, 작업증명에 성공 노드가 아닌 노드가 다수일 수 있기 때문에, 보상은 작업증명 작업량이 미리 정해진 최소 작업량보다 큰 노드들에게만 수신될 수 있다. 이 때, 최소작업량은 작업증명 성공 노드 작업량의 1/2일 수 있다. 보상은 암호화 화폐일 수 있고, 비트코인, 이더리움, 라이트코인, 리플, ACOIN, 대시, 보스코인 중 적어도 어느 하나일 수 있다.
도 6은 도 1의 복수의 노드들 중 어느 하나에 적합한 예시적인 컴퓨터 장치를 보여주는 블록도이다.
도 5를 참조하면, 컴퓨터 장치(600)는 프로세서(610), 메모리(620), 데이터베이스(630), 및 통신기(640)를 포함한다.
메모리(620)는 프로세서(610)에 의해 실행될 때 다양한 기능들을 제공하는 프로그램 코드들을 저장할 수 있다. 컴퓨터 장치(600)가 복수의 노드들(110~170) 중 어느 하나에 채용될 때, 그러한 프로그램 코드들은 프로세서(610)에 의해 실행될 때 도 3과 4를 참조하여 설명된 동작들 및/또는 기능들을 제공할 수 있다. 이 밖에도, 프로그램 코드들은 프로세서(610)에 의해 실행될 때 하나 또는 그 이상의 추가적인 동작들 및/또는 기능들을 제공할 수 있다. 이러한 프로그램 코드들은 드라이브 메커니즘을 이용하여 메모리(620)와는 별도의 컴퓨터에 의해 판독 가능한 기록 매체로부터 로딩될 수 있다. 이러한 별도의 컴퓨터에 의해 판독 가능한 기록 매체는 플로피 디스크 드라이브, DVD/CD-ROM 드라이브, 하드 디스크 드라이브, 메모리 카드 등 다양한 저장 매체들 중 적어도 하나를 포함할 수 있다. 또는, 프로그램 코드들은 외부 장치로부터 통신기(640)을 통해 메모리(620)에 로딩될 수도 있다.
데이터베이스(630)는 도 2를 참조하여 설명된 블록 체인을 저장할 수 있다. 프로세서(610)는 데이터베이스(630)와 통신하여 블록 체인을 저장 및 업데이트하고, 블록 체인에 저장된 정보를 읽고, 읽어진 정보를 처리할 수 있다. 도 12에서, 데이터베이스(630)는 컴퓨터 장치(600)의 구성 요소로서 도시되어 있다. 그러나, 본 발명의 실시 예들은 여기에 한정되지 않는다. 예를 들면, 데이터베이스(630)는 컴퓨터 장치(600) 외부의 구성 요소일 수 있고, 컴퓨터 장치(600)는 통신기(640)를 통해 데이터베이스(630)와 통신할 수 있다.
통신기(640)는 네트워크와 통신하도록 구성된다. 통신기(640)는 네트워크를 통해 도 1에 도시된 복수의 노드들(110~170) 중 적어도 하나와 통신할 수 있다.
전술한 바와 같은 본 발명의 실시예들에 따르면, 본 발명의 일 실시예에 따른 네트워크를 통해 서로 통신하는 복수의 노드들 중 어느 하나에서 자원을 운영하는 방법 및 컴퓨터 장치는 작업증명 방식의 블록 체인의 마이닝 과정에서 사용되는 컴퓨팅 파워를 머신 러닝에 사용하고 이를 보상해주어 컴퓨터 자원의 낭비를 방지할 수 있다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.

Claims (17)

  1. 네트워크를 통해 서로 통신하는 복수의 노드들 중 어느 하나에서 자원을 운영하는 방법에 있어서:
    마이닝(mining) 프로그램을 통해 문제를 수신하여 작업증명을 수행하는 단계;
    트랜잭션(transaction)을 생성하여 상기 복수의 노드들로 전송하는 단계;
    상기 복수의 노드들로부터 트랜잭션, 블록 해시(block hash)값을 수신하는 단계;
    상기 작업증명의 수행을 중단하고, 상기 블록 해시값을 이용하여 상기 생성되거나 수신한 트랜잭션에 대한 유효성을 검사하여 인증되면 블록을 생성하는 단계;
    상기 마이닝 프로그램을 통해 상기 수행한 작업증명에 해당하는 보상(reward)을 수신하는 단계; 및
    상기 블록을 블록 체인에 연결시키는 단계를 포함하는 방법.
  2. 제 1항에 있어서, 상기 방법은 블록 해시값을 포함하는 블록들로 이루어진 블록 체인을 저장하는 단계를 더 포함하는 방법.
  3. 제 1항에 있어서, 상기 마이닝 프로그램을 통해 문제를 수신하여 작업증명을 수행하는 단계는,
    상기 마이닝 프로그램을 통해 머신 러닝(machine learning)에 해당하는 문제를 해결하기 위해 머신 러닝을 수행하는 단계를 포함하는 방법.
  4. 제 1항에 있어서, 상기 마이닝 프로그램을 통해 상기 수행한 작업증명에 해당하는 보상을 수신하는 단계는,
    상기 작업증명의 수행을 중단할 때까지 수행한 작업증명 작업량에 비례하여 보상을 수신하는 단계를 포함하는 방법.
  5. 제 1항에 있어서, 상기 마이닝 프로그램을 통해 상기 수행한 작업증명에 해당하는 보상을 수신하는 단계는,
    상기 작업증명의 수행을 중단할 때까지 수행한 작업증명 작업량이 미리 정해진 최소작업량보다 큰 경우 보상을 수신하는 단계를 포함하는 방법.
  6. 제 5항에 있어서, 상기 최소작업량은 상기 복수의 노드들 중 가장 먼저 블록해시값을 생성한 노드가 수행한 작업증명 작업량의 1/2인 방법.
  7. 제 1항에 있어서, 상기 마이닝 프로그램을 통해 상기 수행한 작업증명에 해당하는 보상을 수신하는 단계는,
    상기 마이닝 프로그램을 통해 상기 수행한 작업증명에 해당하는 암호화 화폐를 수신하는 단계를 포함하는 방법.
  8. 제 1항에 있어서, 상기 마이닝 프로그램을 통해 문제를 수신하여 작업증명을 수행하는 단계는,
    이전 블록을 생성한 후 마이닝 프로그램을 통해 문제를 수신하여 작업증명을 수행하는 단계를 포함하는 방법.
  9. 제 1항에 있어서, 상기 마이닝 프로그램을 통해 문제를 수신하여 작업증명을 수행하는 단계는,
    일정 시간 간격으로 마이닝 프로그램을 통해 문제를 수신하여 작업증명을 수행하는 단계를 포함하는 방법.
  10. 네트워크를 통해 서로 통신하는 복수의 노드들 중 어느 하나에서 자원을 운영하는 방법에 있어서:
    마이닝(mining) 프로그램을 통해 머신 러닝(machine learning)에 해당하는 문제를 해결하기 위해 머신 러닝을 수행하는 단계;
    트랜잭션(transaction)을 생성하여 상기 복수의 노드들로 전송하는 단계;
    상기 복수의 노드들로부터 트랜잭션을 수신하는 단계;
    블록 해시값을 생성하고, 이를 이용하여 상기 생성되거나 수신한 트랜잭션의 정보들에 대하여 블록을 생성하는 단계;
    상기 블록 해시값을 상기 복수의 노드들로 전송하는 단계;
    상기 마이닝 프로그램을 통해 상기 수행한 머신 러닝에 해당하는 보상(reward)을 수신하는 단계; 및
    상기 블록을 블록 체인에 연결시키는 단계를 포함하는 방법.
  11. 제 10항에 있어서, 상기 방법은 블록 해시값을 포함하는 블록들로 이루어진 블록 체인을 저장하는 단계를 더 포함하는 방법.
  12. 제 10항에 있어서, 상기 마이닝 프로그램을 통해 상기 수행한 머신 러닝에 해당하는 보상을 수신하는 단계는,
    상기 마이닝 프로그램을 통해 상기 수행한 머신 러닝에 해당하는 암호화 화폐를 수신하는 단계를 포함하는 방법.
  13. 네트워크를 통해 서로 통신하는 복수의 노드들 중 어느 하나로서 동작하는 컴퓨터 장치에 있어서:
    상기 네트워크와 통신하는 통신기; 및
    상기 통신기와 연결되는 적어도 하나의 프로세서를 포함하되,
    상기 적어도 하나의 프로세서는,
    마이닝 프로그램을 통해 문제를 수신하여 작업증명을 수행하고;
    트랜잭션을 생성하여 상기 복수의 노드들로 전송하고;
    상기 복수의 노드들로부터 트랜잭션, 블록 해시값을 수신하고;
    상기 작업증명의 수행을 중단하고, 상기 블록 해시값을 이용하여 상기 생성되거나 수신한 트랜잭션에 대한 유효성을 검사하여 인증되면 블록을 생성하고;
    상기 마이닝 프로그램을 통해 상기 수행한 작업증명에 해당하는 보상을 수신하고;
    상기 블록을 블록 체인에 연결하도록 구성되는 컴퓨터 장치.
  14. 제 13항에 있어서,
    상기 문제는 머신 러닝에 해당하는 문제를 포함하고,
    상기 작업증명은 머신 러닝을 포함하는 컴퓨터 장치.
  15. 제 13항에 있어서, 상기 수행한 작업증명에 해당하는 보상은 암호화 화폐를 포함하는 컴퓨터 장치.
  16. 네트워크를 통해 서로 통신하는 복수의 노드들 중 어느 하나로서 동작하는 컴퓨터 장치에 있어서:
    상기 네트워크와 통신하는 통신기; 및
    상기 통신기와 연결되는 적어도 하나의 프로세서를 포함하되,
    상기 적어도 하나의 프로세서는,
    마이닝 프로그램을 통해 머신 러닝에 해당하는 문제를 해결하기 위해 머신 러닝을 수행하고;
    트랜잭션을 생성하여 상기 복수의 노드들로 전송하고;
    상기 복수의 노드들로부터 트랜잭션을 수신하고;
    블록 해시값을 생성하고, 이를 이용하여 상기 생성되거나 수신한 트랜잭션의 정보들에 대하여 블록을 생성하고;
    상기 블록 해시값을 상기 복수의 노드들로 전송하고;
    상기 마이닝 프로그램을 통해 상기 수행한 머신 러닝에 해당하는 보상(reward)을 수신하고;
    상기 블록을 블록 체인에 연결하도록 구성되는 컴퓨터 장치.
  17. 제 16항에 있어서, 상기 수행한 머신 러닝에 해당하는 보상은 암호화 화폐를 포함하는 컴퓨터 장치.
KR1020170170721A 2017-12-12 2017-12-12 네트워크를 통해 서로 통신하는 노드들 각각의 자원 운영 방법, 그리고 그러한 노드들 중 어느 하나로 동작하는 컴퓨터 장치 KR20190070163A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020170170721A KR20190070163A (ko) 2017-12-12 2017-12-12 네트워크를 통해 서로 통신하는 노드들 각각의 자원 운영 방법, 그리고 그러한 노드들 중 어느 하나로 동작하는 컴퓨터 장치
JP2018228315A JP6689946B2 (ja) 2017-12-12 2018-12-05 ネットワークを介して互いに通信する複数のノードのいずれか1つで資源を運営する方法、および、ネットワークを介して互いに通信する複数のノードのいずれか1つとして動作するコンピュータ装置
US16/217,047 US11240002B2 (en) 2017-12-12 2018-12-12 Resource operating method for each of nodes communicating through network and computer device operating as one of nodes

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170170721A KR20190070163A (ko) 2017-12-12 2017-12-12 네트워크를 통해 서로 통신하는 노드들 각각의 자원 운영 방법, 그리고 그러한 노드들 중 어느 하나로 동작하는 컴퓨터 장치

Publications (1)

Publication Number Publication Date
KR20190070163A true KR20190070163A (ko) 2019-06-20

Family

ID=66696507

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170170721A KR20190070163A (ko) 2017-12-12 2017-12-12 네트워크를 통해 서로 통신하는 노드들 각각의 자원 운영 방법, 그리고 그러한 노드들 중 어느 하나로 동작하는 컴퓨터 장치

Country Status (3)

Country Link
US (1) US11240002B2 (ko)
JP (1) JP6689946B2 (ko)
KR (1) KR20190070163A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102054410B1 (ko) * 2019-07-30 2019-12-10 주식회사 바스랩 블록체인 서비스 운영을 위해 위탁된 컴퓨팅 파워에 대한 보상을 제공하는 방법
KR102538350B1 (ko) * 2021-12-24 2023-05-30 한국항공대학교산학협력단 인공지능 문제 해결을 병행하는 작업증명 방법 및 시스템

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11412383B2 (en) * 2018-01-03 2022-08-09 Helium Systems , Inc. Systems and methods for providing and using a decentralized wireless network
EP3565218B1 (en) 2018-04-30 2023-09-27 Hewlett Packard Enterprise Development LP System and method of decentralized management of multi-owner nodes using blockchain
EP3564883B1 (en) 2018-04-30 2023-09-06 Hewlett Packard Enterprise Development LP System and method of decentralized management of device assets outside a computer network
EP3564873B1 (en) 2018-04-30 2022-11-30 Hewlett Packard Enterprise Development LP System and method of decentralized machine learning using blockchain
US11399284B1 (en) 2018-09-28 2022-07-26 Helium Systems, Inc. Systems and methods for providing and using proof of coverage in a decentralized wireless network
KR20200050150A (ko) * 2018-11-01 2020-05-11 현대자동차주식회사 블록체인 기반의 교통 정보 처리 방법 및 시스템
US11966818B2 (en) 2019-02-21 2024-04-23 Hewlett Packard Enterprise Development Lp System and method for self-healing in decentralized model building for machine learning using blockchain
US10939405B1 (en) 2019-04-08 2021-03-02 Helium Systems, Inc. Systems and methods for implementing permissionless network consensus using blockchain
CN110233722B (zh) * 2019-06-17 2020-10-30 北京瑞策科技有限公司 在区块链上的出块方法及装置
CN110245950B (zh) * 2019-06-17 2020-08-04 北京瑞策科技有限公司 涉及区块链的出块方法及装置
US11520904B2 (en) * 2019-08-27 2022-12-06 Accenture Global Solutions Limited AI-based blockchain hybrid consensus
US11748835B2 (en) * 2020-01-27 2023-09-05 Hewlett Packard Enterprise Development Lp Systems and methods for monetizing data in decentralized model building for machine learning using a blockchain
US11218293B2 (en) 2020-01-27 2022-01-04 Hewlett Packard Enterprise Development Lp Secure parameter merging using homomorphic encryption for swarm learning
US20230104585A1 (en) 2020-05-20 2023-04-06 New H3C Technologies Co., Ltd. Method and Apparatus for Monitoring Software License Information, and Server and Storage Medium
CN112511619B (zh) * 2020-11-26 2022-11-18 北京工业大学 无线边缘区块链场景中的资源节点间交易匹配方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101120059B1 (ko) * 2010-05-10 2012-03-22 한국과학기술원 클라우드 컴퓨팅 과금 공증장치, 과금 시스템 및 과금방법
US20160342977A1 (en) * 2015-05-20 2016-11-24 Vennd.io Pty Ltd Device, method and system for virtual asset transactions
JP6636058B2 (ja) * 2015-07-02 2020-01-29 ナスダック, インコーポレイテッドNasdaq, Inc. 分散トランザクションデータベースにおける出所保証のシステムおよび方法
US20170103458A1 (en) * 2015-10-13 2017-04-13 Chicago Mercantile Exchange Inc. Derivative Contracts that Settle Based on a Virtual Currency Difficulty Factor or an Index of Virtual Currency Generation Yield
KR102050129B1 (ko) * 2016-05-03 2019-11-28 안규태 블록 검증을 위한 복수의 일방향 함수를 지원하는 블록 체인
US10291627B2 (en) * 2016-10-17 2019-05-14 Arm Ltd. Blockchain mining using trusted nodes
CN106571925B (zh) * 2016-10-24 2020-07-10 北京云图科瑞科技有限公司 对区块链***中的区块进行工作量证明的方法及装置
US20170285720A1 (en) * 2017-05-07 2017-10-05 Jigar Jayesh Shah Method and system for mitigating transmission congestion via distributed computing and blockchain technology
EP3622447A1 (en) * 2017-05-08 2020-03-18 British Telecommunications Public Limited Company Interoperation of machine learning algorithms

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102054410B1 (ko) * 2019-07-30 2019-12-10 주식회사 바스랩 블록체인 서비스 운영을 위해 위탁된 컴퓨팅 파워에 대한 보상을 제공하는 방법
KR102538350B1 (ko) * 2021-12-24 2023-05-30 한국항공대학교산학협력단 인공지능 문제 해결을 병행하는 작업증명 방법 및 시스템

Also Published As

Publication number Publication date
US20190182030A1 (en) 2019-06-13
US11240002B2 (en) 2022-02-01
JP2019106180A (ja) 2019-06-27
JP6689946B2 (ja) 2020-04-28

Similar Documents

Publication Publication Date Title
JP6689946B2 (ja) ネットワークを介して互いに通信する複数のノードのいずれか1つで資源を運営する方法、および、ネットワークを介して互いに通信する複数のノードのいずれか1つとして動作するコンピュータ装置
Khanh et al. The role of artificial intelligence in blockchain applications
Shrimali et al. Blockchain state-of-the-art: architecture, use cases, consensus, challenges and opportunities
Zhao et al. Veriml: Enabling integrity assurances and fair payments for machine learning as a service
AU2018347190B2 (en) Blockchain data protection based on account note model with zero-knowledge proof
KR102595998B1 (ko) 블록체인을 사용해서 데이터 레코드를 분산하기 위한 시스템 및 방법
JP2024073535A (ja) ブロックチェーンを用いる論理ゲート機能の実装
Liu et al. Distributed ledger technology
Cash et al. Two-tier permission-ed and permission-less blockchain for secure data sharing
Panda et al. Bitcoin and blockchain: history and current applications
Sarode et al. Blockchain for committing peer-to-peer transactions using distributed ledger technologies
KR20180089670A (ko) 키 관리가 필요없는 블록체인을 기반한 전자서명 또는 메시지 인증 코드를 생성 및 검증 방법
US20220036346A1 (en) Systems and methods for re-organizing blockchains for efficient operations
Zhang et al. Deconstructing Blockchains: Concepts, Systems, and Insights.
Swarnkar et al. Security, privacy, trust management and performance optimization of blockchain technology
Zanardo Learningchain. A novel blockchain-based meritocratic marketplace for training distributed machine learning models
Gaikwad Overview of blockchain
Fiorentino et al. Blockchain: Enabling trust on the internet of things
Yu et al. MeHLDT: A multielement hash lock data transfer mechanism for on-chain and off-chain
Kumar et al. Blockchain technology and applications
Mardiansyah et al. Multi-state merkle patricia trie (msmpt): High-performance data structures for multi-query processing based on lightweight blockchain
Mohapatra et al. A brief overview of blockchain algorithm and its impact upon cloud-connected environment
Bharimalla et al. ANN based block chain security threat mechanism
Ikbal Nacer et al. TheCoin: Privacy and security considerations within blockchain transactions
Ferraro et al. Distributed ledger technologies and the collaborative economy

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment