KR20200022273A - Method for performing mining in parallel with machine learning and method for supproting the mining, in a distributed computing resource shring system based on block chain - Google Patents

Method for performing mining in parallel with machine learning and method for supproting the mining, in a distributed computing resource shring system based on block chain Download PDF

Info

Publication number
KR20200022273A
KR20200022273A KR1020180098199A KR20180098199A KR20200022273A KR 20200022273 A KR20200022273 A KR 20200022273A KR 1020180098199 A KR1020180098199 A KR 1020180098199A KR 20180098199 A KR20180098199 A KR 20180098199A KR 20200022273 A KR20200022273 A KR 20200022273A
Authority
KR
South Korea
Prior art keywords
present disclosure
predetermined
resource
resource sharing
distributed computing
Prior art date
Application number
KR1020180098199A
Other languages
Korean (ko)
Other versions
KR102221925B1 (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 KR1020180098199A priority Critical patent/KR102221925B1/en
Publication of KR20200022273A publication Critical patent/KR20200022273A/en
Application granted granted Critical
Publication of KR102221925B1 publication Critical patent/KR102221925B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Development Economics (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Mathematical Physics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • General Business, Economics & Management (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

Provided is a mining method performed in nodes on a distributed computing resource sharing system based on a block chain, wherein a distributed computing resource sharing system includes a server and a plurality of nodes. The method of the present disclosure comprises the steps of: receiving an instruction to perform a predetermined operation; notifying a server of completion of the operation according to the received instruction; receiving a predetermined nonce value from the server in response to the notification; applying the nonce value to a predetermined hash function; determining whether a hash result obtained by applying the nonce value to the predetermined hash function satisfies a predetermined criterion; and notifying the nonce value and the hash result to a block chain when it is determined that the hash result satisfies the predetermined criterion.

Description

블록체인에 기반한 분산형 컴퓨팅 자원 공유 시스템 상에서, 머신러닝과 병행하여 채굴을 수행하는 방법 및 그러한 채굴을 지원하는 방법{METHOD FOR PERFORMING MINING IN PARALLEL WITH MACHINE LEARNING AND METHOD FOR SUPPROTING THE MINING, IN A DISTRIBUTED COMPUTING RESOURCE SHRING SYSTEM BASED ON BLOCK CHAIN}METHODO FOR PERFORMING MINING IN PARALLEL WITH MACHINE LEARNING AND METHOD FOR SUPPROTING THE MINING, IN A DISTRIBUTED COMPUTING RESOURCE SHRING SYSTEM BASED ON BLOCK CHAIN}

본 개시는, 분산형 컴퓨팅 자원 공유 시스템에 관한 것이며, 보다 구체적으로는 블록체인에 기반하여, 머신러닝에 이용될 수 있는 분산형 컴퓨팅 자원을 공유하도록 구성된 분산형 컴퓨팅 자원 공유 시스템 상에서 위 블록체인을 위한 채굴을 수행하는 방법 및 그러한 채굴을 지원하는 방법 등에 관한 것이다.The present disclosure relates to a distributed computing resource sharing system, and more specifically, based on the blockchain, the blockchain on a distributed computing resource sharing system configured to share distributed computing resources that can be used for machine learning. The present invention relates to a method of performing mining and a method of supporting such a mining.

근래, 머신러닝에 기초한 인공지능 연구에 관한 관심이 점점 더 높아져가고 있다. 머신러닝에 기초한 인공지능이, 인류의 미래를 이전과는 다른 차원의 것으로 발전시킬 것이라는 기대가 팽배하다. 이러한 머신러닝에 기초한 인공지능 연구는, 기본적으로, 대량의 연산을 지원할 수 있는 하드웨어 자원, 머신러닝에 활용될 수 있는 학습용 데이터, 및 머신러닝 모델(알고리즘)의 세 가지를 필수 요소로 한다. 그런데, 주지하듯이, 페이스북, 아마존, 구글, 마이크로소프트 등을 비롯한 일부 거대 기업들은, 저마다의 방식으로 위 인공지능 연구를 위한 각 요소들을 독점하고 있으며, 상대적으로 열악한 환경의 개별 연구자들이나 소규모 기업들은 인공지능 연구에 참여할 기회를 박탈당하고 있는 바, 이는 인공지능 및 그에 따른 각종 개발 부산물들이 이들 거대 기업의 사유물이 될 것이라는 우려를 만들어내고 있다.Recently, there has been a growing interest in artificial intelligence research based on machine learning. The expectation is that AI based on machine learning will develop the future of mankind to a different level than before. The AI study based on such machine learning basically consists of three elements: hardware resources that can support a large amount of computation, learning data that can be used for machine learning, and machine learning models (algorithms). By the way, some big companies, including Facebook, Amazon, Google, Microsoft, etc., monopolize each element of the above artificial intelligence research in their own way, and individual researchers or small companies in relatively poor environment They are deprived of the opportunity to participate in AI research, which raises concern that AI and the resulting developmental by-products will be private property of these giants.

한편, 2009년 나카모토 사토시가 암호화폐 비트코인을 통해 블록체인 기술을 세상에 선보인 이래 다양한 형태의 암호화폐들과 이들을 뒷받침하는 블록체인 기술에 관한 관심이 점점 더 뜨거워지고 있다. 블록체인 기술은, 탈 중앙화된 분산형 공유 원장 방식에 기초한 거래를 가능하게 하여, 높은 개방성, 신뢰성, 투명성, 및 상호작용성 등을 제공한다는 점에서, 다양한 분야에서 그 응용 가능성이 검토되고 있다. 특히, 비트코인에 뒤 이은 이더리움 등의 새로운 블록체인 기술은, 스마트 계약, 즉 블록체인 상에 계약 조건을 명시하고 그 조건이 충족되면 계약 내용이 자동으로 이행되도록 하는 디지털 계약 기능을 지원함에 따라, 더욱 다양한 산업 분야에서 이러한 블록체인 기술의 응용이 시도되고 있다. On the other hand, since Satoshi Nakamoto introduced the blockchain technology to the world through cryptocurrency bitcoin in 2009, interest in various forms of cryptocurrencies and the blockchain technology that supports them is getting hotter. Blockchain technology is being investigated in various fields in that it enables transactions based on a decentralized distributed shared ledger scheme and provides high openness, reliability, transparency, and interactivity. In particular, new blockchain technologies such as Bitcoin and Ethereum support smart contracts, that is, digital contracts that specify contract terms on the blockchain and automatically execute the contract contents when the conditions are met. As a result, the application of such blockchain technology is being attempted in a wider variety of industries.

그런데, 비트코인을 비롯한 기존의 많은 암호화폐들은, 거래 기록을 블록에 저장하고 이를 암호화하여 기존의 블록체인(공유 장부)에 추가하는 작업을 완료했음을 증명(이른바 채굴)하면 그에 대한 보상으로서 소정의 코인을 지급하는 방식(즉, 작업 증명(Proof of Work; PoW))을 통해 운영/유지된다. 새로운 블록을 추가하는 과정은 상당한 연산을 필요로 하는데, 이 연산을 수행하기 위해 하드웨어를 구동시키는 과정에 많은 양의 전력 소비가 일어나게 된다. 많은 수의 하드웨어 자원이 채굴에 경쟁적으로 참여함에 따라, 채굴에 실패할 때마다 많은 양의 전력 낭비가 발생하고 있는데, 근래에는 이러한 전력 낭비의 문제가 기존 PoW 방식에 기초한 암호화폐 시스템에 대한 문제점의 하나로 지적되고 있다.By the way, many existing cryptocurrencies, including Bitcoin, have proven that they have completed the task of storing transaction records in blocks, encrypting them, and adding them to the existing blockchain (shared ledger). It is operated / maintained through the method of paying coins (ie Proof of Work (PoW)). The process of adding a new block requires significant computation, which requires a large amount of power consumption to drive the hardware to perform this computation. As a large number of hardware resources compete competitively in mining, each time a mining failure occurs, a large amount of power is wasted. In recent years, the problem of power waste has been found to be a problem for the cryptocurrency system based on the existing PoW method. It is pointed out as one.

특허문헌: 한국 등록특허 제10-1852079호Patent Literature: Korean Patent Registration No. 10-1852079

머신러닝에 기초한 인공지능 연구를 위한 자원, 예컨대 연산 및 저장을 위한 하드웨어 자원, 머신러닝에 활용될 양질의 학습용 데이터, 및 다양한 머신러닝 모델(알고리즘)의 효율적 공유 네트워크를 구축하고 이들 자원의 공유 제공 및 사용에 대한 객관적이고 합당한 보상 체계를 지원할 수 있는 플랫폼을 제공하고자 한다. 특히, 블록체인을 위한 채굴과 관련하여,기존의 PoW 방식에 따르는 채굴이 야기하는 자원 및 전기 낭비 등의 문제점을 해결하고 한정된 자원을 보다 효율적으로 사용하게 할 수 있는 채굴 기술을 제공하고자 한다.Build resources for artificial intelligence research based on machine learning, such as hardware resources for computation and storage, high quality learning data to be used for machine learning, and efficient sharing network of various machine learning models (algorithms) and provide sharing of these resources. And to provide a platform that can support an objective and reasonable compensation system for use. In particular, with respect to mining for blockchain, it is to provide a mining technology that can solve the problems such as resources and electricity waste caused by the mining according to the existing PoW method and to use limited resources more efficiently.

본 개시의 일 특징에 의하면, 서버와 복수의 노드를 포함하는, 블록체인에 기반한 분산형 컴퓨팅 자원 공유 시스템 상의 노드에서 수행되는 채굴 방법이 제공된다. 본 개시의 방법은, 소정의 연산을 실행하도록 하는 지시를 수신하는 단계; 수신된 지시에 따른 연산의 실행 완료를 서버에 통지하는 단계; 통지에 응답하여, 서버로부터 소정의 넌스(nonce) 값을 수신하는 단계; 넌스 값을 소정의 해시함수에 적용하는 단계; 넌스 값을 소정의 해시함수에 적용하여 얻어진 해시결과가 소정의 기준을 충족하는지 판정하는 단계; 및 해시결과가 소정의 기준을 충족하는 것으로 판정된 경우, 넌스 값과 해시 결과를 블록체인 상에 통지하는 단계를 포함한다.According to one aspect of the present disclosure, there is provided a mining method performed at a node on a blockchain-based distributed computing resource sharing system, including a server and a plurality of nodes. The method of the present disclosure includes receiving an instruction to perform a predetermined operation; Notifying the server of completion of the operation according to the received instruction; In response to the notification, receiving a predetermined nonce value from the server; Applying a nonce value to a predetermined hash function; Determining whether a hash result obtained by applying a nonce value to a predetermined hash function satisfies a predetermined criterion; And if it is determined that the hash result satisfies a predetermined criterion, notifying the nonce value and the hash result on the blockchain.

본 개시의 일 실시예에 의하면, 연산은, 소정의 머신러닝 코드의 소정 횟수의 실행의 연산을 포함할 수 있다.According to one embodiment of the present disclosure, the operation may include an operation of a predetermined number of executions of a predetermined machine learning code.

본 개시의 일 실시예에 의하면, 노드가, 복수의 노드 중 다른 노드로부터 넌스 값과 해시 결과를 수신하는 단계; 및 다른 노드로부터 수신된 넌스 값 및 해시 결과를, 해시 함수에 적용하여 검증하는 단계를 포함할 수 있다.According to an embodiment of the present disclosure, a node may include receiving a nonce value and a hash result from another node of a plurality of nodes; And verifying the nonce value and the hash result received from the other node by applying the hash function.

본 개시의 일 실시예에 의하면, 소정의 기준은, 블록체인 상에서 소정 시간 간격으로 새로운 블록이 생성될 수 있도록 정해진 것일 수 있다.According to one embodiment of the present disclosure, the predetermined criterion may be determined so that new blocks may be generated at predetermined time intervals on the blockchain.

본 개시의 다른 특징에 의하면, 서버와 복수의 노드를 포함하는, 블록체인에 기반한 분산형 컴퓨팅 자원 공유 시스템 상에서 서버에 의해 수행되는 채굴 지원 방법이 제공된다. 본 개시의 방법은, 외부로부터, 하나 이상의 작업의 요청- 하나 이상의 작업 각각은 각각 소정의 연산의 소정 횟수의 실행을 포함함 -을 수신하는 단계; 하나 이상의 작업에 따른 연산들의 실행을, 복수의 노드 상에 할당하는 단계; 복수의 노드 중 임의의 하나의 노드로부터, 하나의 노드에 대한 할당된 연산들의 실행을 완료하였음을 알리는 통지를 수신하는 단계; 및 통지의 수신에 응답하여, 하나의 노드에 대하여, 소정의 넌스 값을 전송하는 단계- 넌스 값은, 서버 상에서 생성된 복수의 값들 중 하나이며, 하나의 노드에 의하여 해시함수의 입력으로 사용됨 - 를 포함한다.According to another aspect of the present disclosure, there is provided a mining support method performed by a server on a blockchain-based distributed computing resource sharing system including a server and a plurality of nodes. The method of the present disclosure includes receiving, from the outside, a request for one or more tasks, each of the one or more tasks including a predetermined number of executions of a predetermined operation; Allocating execution of operations according to one or more tasks on the plurality of nodes; Receiving, from any one of the plurality of nodes, a notification indicating completion of execution of assigned operations for one node; And in response to receiving the notification, sending a nonce value to one node, wherein the nonce value is one of a plurality of values generated on the server and used by one node as input to the hash function. It includes.

본 개시의 일 실시예에 의하면, 연산들의 실행을 복수의 노드 상에 할당하는 단계는, 복수의 노드 상에서 연산들의 실행에 걸리는 시간이 균등하게 되도록 할당하는 단계를 포함할 수 있다.According to one embodiment of the present disclosure, allocating execution of operations on the plurality of nodes may include allocating such that the time taken to execute the operations on the plurality of nodes is equalized.

본 개시의 일 실시예에 의하면, 연산 각각은, 소정의 머신러닝 코드의 실행을 포함할 수 있다.According to one embodiment of the present disclosure, each of the operations may include execution of predetermined machine learning code.

본 개시의 일 실시예에 의하면, 넌스 값은, 하나의 노드 상에서 해시함수의 입력으로 사용될 경우, 그에 대응하여 해시함수로부터 획득되는 해시결과가 소정의 기준을 충족하도록 할 수 있다.According to an embodiment of the present disclosure, when the nonce value is used as an input of a hash function on one node, a hash result obtained from the hash function corresponding thereto may satisfy a predetermined criterion.

본 개시의 일 실시예에 의하면, 소정의 기준은, 블록체인 상에서 소정 시간 간격으로 새로운 블록이 생성될 수 있도록 정해진 것일 수 있다.According to one embodiment of the present disclosure, the predetermined criterion may be determined so that new blocks may be generated at predetermined time intervals on the blockchain.

본 개시의 또 다른 특징에 의하면, 컴퓨터에 의해 실행 가능한 명령어들이 기록된 컴퓨터 판독가능 기록매체로서, 명령어들은, 컴퓨터에 의해 실행될 경우, 컴퓨터로 하여금, 전술한 방법들 중 어느 하나의 방법을 수행하도록 하는, 컴퓨터 판독가능 기록매체가 제공된다.According to yet another aspect of the present disclosure, a computer readable recording medium having recorded thereon instructions executable by a computer, wherein the instructions, when executed by the computer, cause the computer to perform any one of the methods described above. A computer readable recording medium is provided.

본 개시의 실시예들에 의하면, 머신러닝에 기초한 인공지능 연구를 위한 자원, 예컨대 연산을 위한 하드웨어 자원, 머신러닝에 활용될 양질의 학습용 데이터, 및 다양한 머신러닝 모델(알고리즘)의 효율적 공유 사용 및 자원 제공에 대한 객관적이고 합당한 보상의 제공이 이루어질 수 있다.According to embodiments of the present disclosure, resources for artificial intelligence based on machine learning, such as hardware resources for computation, high quality learning data to be used for machine learning, and efficient sharing of various machine learning models (algorithms) and The provision of objective and reasonable compensation for the provision of resources may be made.

개개인이 보유한 하드웨어 자원(예컨대, GPU 등 처리 장치 및 각종 저장 공간 장치)이 항상 100% 활용되는 것은 아니며, 많은 수의 하드웨어 자원이 많은 시간 유휴 상태에 놓여 있다. 본 개시의 실시예들에 의하면, 개개인이 보유한 유휴 하드웨어 자원이 인공지능 기술의 발전에 이바지한다고 하는 가치 있는 목적을 위하여 유용한 형태로 활용될 수 있게 된다. 또, 본 개시의 실시예들에 의하면, 개개인이 개발 및/또는 보유한 소프트웨어 자원, 예컨대 머신러닝을 위한 데이터 및 다양한 학습 모델 등의 공유 사용이 활발하게 이루어지게 되고, 각각의 창작자나 보유자 등은 자원의 공유 제공에 대한 정당한 수익을 얻을 수 있게 되며, 연구자들은 동일한 작업을 위해 자원을 중복 소비하는 대신에 새로운 작업에 자원들을 활용할 수 있게 되어, 궁극적으로 인공지능 발전이 가속화될 수 있다. Individual hardware resources (eg, processing devices such as GPUs and various storage space devices) are not always 100% utilized, and a large number of hardware resources are idle for many hours. According to embodiments of the present disclosure, an idle hardware resource held by an individual may be utilized in a useful form for the valuable purpose of contributing to the development of artificial intelligence technology. In addition, according to embodiments of the present disclosure, shared use of software resources developed and / or possessed by individuals, such as data for machine learning and various learning models, is actively performed, and each creator or holder is a resource. The right to profit from a shared share of the project will be available, and researchers will be able to use the resources for new tasks instead of consuming duplicates for the same task, ultimately accelerating AI development.

본 개시의 실시예들에 의하면, 플랫폼 상에서의 각종 자원의 제공 및 활용과 그에 따른 대가의 지불이 블록체인 기술에 기초하여 이루어질 수 있으며, 이로써 개방적이고 투명하며 신뢰할 만한 거래가 가능하게 되고, 구성원들의 자발적이고 적극적인 참여를 유도할 수 있다.According to embodiments of the present disclosure, the provision and utilization of various resources on the platform and the payment thereof can be made based on blockchain technology, thereby enabling open, transparent and reliable transactions, and voluntary participation of members. And encourage active participation.

본 개시의 실시예들에 의하면, 블록체인을 위한 채굴과 관련하여, 소정의 머신러닝 연산의 수행 완료를 조건으로 각 노드에 넌스 값을 획득할 기회를 갖도록 하는 한편 그에 상응하는 만큼 해시함수의 난이도를 낮추어 줌으로써, 기존의 PoW 방식에 따르는 채굴이 야기하는 자원 및 전기 낭비 등의 문제점을 야기하지 않으면서, 한정된 하드웨어 및/또는 에너지 자원을 보다 효율적으로 사용할 수 있는 채굴 기술이 제공될 수 있다.According to embodiments of the present disclosure, in connection with mining for a blockchain, each node has an opportunity to obtain a nonce value on the completion of a predetermined machine learning operation while correspondingly having a difficulty level of a hash function. By lowering the mining, a mining technique that can more efficiently use the limited hardware and / or energy resources without causing problems such as resources and electricity waste caused by the mining according to the existing PoW method can be provided.

도 1은, 본 개시의 일 실시예에 따른, 스마트 계약을 지원하는 블록체인 기반의 분산형 컴퓨팅 자원 공유 시스템(100)의 전체 구성을 개념적으로 도시한 도면이다.
도 2는, 본 개시의 일 실시예에 따른, 도 1의 자원 공유 노드(130)의 기능적 구성을 개략적으로 도시한 기능 블록도이다.
도 3은, 본 개시의 일 실시예에 따른, 도 2의 자원 공유 노드(130)에 포함된 블록체인 분산원장 저장 모듈(208)에 저장될 수 있는, 블록체인 및 그에 포함된 각 블록(300)의 구성을 개념적으로 도시한 도면이다.
도 4는, 본 개시의 일 실시예에 따른, 도 3의 블록(300)에 포함될 수 있는 트랜잭션 정보(304)의 일예로서, 분산형 컴퓨팅 자원 공유 시스템(100) 상에 공유 자원을 제공하기 위한 트랜잭션 정보를 예시적으로 도시한 도면이다.
도 5는, 본 개시의 일 실시예에 따른, 도 1의 자원 공유 노드(130)에 의해서 생성된, 분산형 컴퓨팅 자원 공유 시스템(100) 상에서 소정의 공유 자원을 검색하기 위한 쿼리를 예시적으로 도시한 도면이다.
도 6은, 본 개시의 일 실시예에 따른, 도 3의 블록(300)에 포함된 트랜잭션 정보(304)의 일예로서, 분산형 컴퓨팅 자원 공유 시스템(100) 상의 공유 자원의 이용을 요청하기 위한 트랜잭션 정보를 예시적으로 도시한 도면이다.
도 7은, 본 개시의 일 실시예에 따른, 도 1의 플랫폼 서버(140)의 기능적 구성을 개략적으로 도시한 도면이다.
도 8은, 본 개시의 일 실시예에 따른, 도 1의 자원 공유 노드(130)를 통해 분산형 컴퓨팅 자원 공유 시스템(100) 상으로 공유 자원의 제공이 이루어지는 과정의 일 예를 개략적으로 도시한 동작 흐름도이다.
도 9는, 본 개시의 일 실시예에 따른, 분산형 컴퓨팅 자원 공유 시스템(100) 상에서 수행되는, 데이터 자원의 공유 요청, 제공 및 이용의 과정의 일 예를 개략적으로 도시한 동작 흐름도이다.
1 is a diagram conceptually illustrating an overall configuration of a blockchain-based distributed computing resource sharing system 100 supporting smart contracts according to an embodiment of the present disclosure.
FIG. 2 is a functional block diagram schematically illustrating a functional configuration of the resource sharing node 130 of FIG. 1, according to an embodiment of the present disclosure.
3 is a blockchain and each block 300 included therein, which may be stored in the blockchain distributed ledger storage module 208 included in the resource sharing node 130 of FIG. 2, according to an embodiment of the present disclosure. It is a diagram conceptually showing the configuration of.
4 is an example of transaction information 304 that may be included in block 300 of FIG. 3, in accordance with an embodiment of the present disclosure, for providing shared resources on a distributed computing resource sharing system 100. Illustrates transaction information by way of example.
5 exemplarily illustrates a query for searching for a predetermined shared resource on the distributed computing resource sharing system 100, generated by the resource sharing node 130 of FIG. 1, according to one embodiment of the disclosure. The figure is shown.
FIG. 6 is an example of transaction information 304 included in block 300 of FIG. 3, in accordance with an embodiment of the present disclosure, for requesting the use of shared resources on distributed computing resource sharing system 100. Illustrates transaction information by way of example.
7 is a diagram schematically illustrating a functional configuration of the platform server 140 of FIG. 1, according to an embodiment of the present disclosure.
FIG. 8 schematically illustrates an example of a process of providing shared resources onto the distributed computing resource sharing system 100 through the resource sharing node 130 of FIG. 1, according to an embodiment of the present disclosure. This is a flow chart.
9 is an operational flow diagram schematically illustrating an example of a process of requesting, providing and using a data resource, performed on the distributed computing resource sharing system 100, according to an embodiment of the present disclosure.

이하, 첨부 도면을 참조하여 본 개시의 실시예에 관하여 상세히 설명한다. 이하에서는, 본 개시의 요지를 불필요하게 흐릴 우려가 있다고 판단되는 경우, 이미 공지된 기능 및 구성에 관한 구체적인 설명을 생략한다. 또한, 이하에서 설명하는 내용은 어디까지나 본 개시의 일 실시예에 관한 것일 뿐 본 개시가 이로써 제한되는 것은 아님을 알아야 한다.Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings. In the following, when it is determined that there is a risk of unnecessarily obscuring the subject matter of the present disclosure, a detailed description of already known functions and configurations will be omitted. In addition, it should be understood that what is described below is only related to an embodiment of the present disclosure, but the present disclosure is not limited thereto.

본 개시에서 사용되는 용어는 단지 특정한 실시예를 설명하기 위해 사용되는 것으로 본 개시를 한정하려는 의도에서 사용된 것이 아니다. 예를 들면, 단수로 표현된 구성요소는 문맥상 명백하게 단수만을 의미하지 않는다면 복수의 구성요소를 포함하는 개념으로 이해되어야 한다. 본 개시에서 사용되는 "및/또는"이라는 용어는, 열거되는 항목들 중 하나 이상의 항목에 의한 임의의 가능한 모든 조합들을 포괄하는 것임이 이해되어야 한다. 본 개시에서 사용되는 '포함하다' 또는 '가지다' 등의 용어는 본 개시 상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것일 뿐이고, 이러한 용어의 사용에 의해 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 배제하려는 것은 아니다.The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the present disclosure. For example, a component expressed in the singular should be understood as a concept including a plurality of components unless the context clearly indicates the singular. It is to be understood that the term "and / or" as used in this disclosure encompasses all possible combinations by one or more of the listed items. The terms "comprise" or "having" as used in the present disclosure are merely intended to designate that there exists a feature, number, step, operation, component, part, or combination thereof described on the present disclosure. It is not intended to exclude the possibility of the presence or the addition of one or more other features or numbers, steps, actions, components, parts or combinations thereof by use.

본 개시의 실시예에 있어서 '모듈' 또는 '부'는 적어도 하나의 기능이나 동작을 수행하는 기능적 부분을 의미하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 '모듈' 또는 '부'는, 특정한 하드웨어로 구현될 필요가 있는 '모듈' 또는 '부'를 제외하고는, 적어도 하나의 소프트웨어 모듈로 일체화되어 적어도 하나의 프로세서에 의해 구현될 수 있다.In an embodiment of the present disclosure, the module or unit refers to a functional part that performs at least one function or operation, and may be implemented in hardware or software, or in a combination of hardware and software. Also, a plurality of 'modules' or 'units' may be integrated by at least one software module and implemented by at least one processor, except for 'modules' or 'units', which need to be implemented by specific hardware. have.

덧붙여, 달리 정의되지 않는 한 기술적 또는 과학적인 용어를 포함하여, 본 개시에서 사용되는 모든 용어들은 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의된 용어들은, 관련 기술의 문맥상 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 개시에서 명백하게 달리 정의하지 않는 한 과도하게 제한 또는 확장하여 해석되지 않는다는 점을 알아야 한다.In addition, all terms used in this disclosure, including technical or scientific terms, unless otherwise defined, have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure belongs. It is to be understood that the terms used in the dictionary, which are generally used, should be interpreted to have a meaning consistent with the contextual meaning of the related art, and shall not be construed as being excessively limited or extended unless clearly defined otherwise in the present disclosure. .

이하, 첨부된 도면을 참조하여, 본 개시의 실시예에 대해 구체적으로 설명하기로 한다.Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings.

도 1은, 본 개시의 일 실시예에 따른, 스마트 계약을 지원하는 블록체인 기반의 분산형 컴퓨팅 자원 공유 시스템(100)의 전체 구성을 개념적으로 도시한 도면이다. 도시된 바에 의하면, 분산형 컴퓨팅 자원 공유 시스템(100)은, 블록체인 네트워크(110), 복수의 공유 컴퓨팅 자원 영역(120), 복수의 자원 공유 노드(130), 및 플랫폼 서버(140)를 포함한다.1 is a diagram conceptually illustrating an overall configuration of a blockchain-based distributed computing resource sharing system 100 supporting a smart contract according to an embodiment of the present disclosure. As shown, the distributed computing resource sharing system 100 includes a blockchain network 110, a plurality of shared computing resource regions 120, a plurality of resource sharing nodes 130, and a platform server 140. do.

본 개시의 일 실시예에 의하면, 블록체인 네트워크(110)는, 분산형 컴퓨팅 자원 공유 시스템(100) 상의 각 공유 컴퓨팅 자원 영역(120), 각 자원 공유 노드(130), 및 플랫폼 서버(140) 간의 통신이 가능하게 하는 임의의 유선 또는 무선 통신망일 수 있다. 본 개시의 일 실시예에 의하면, 블록체인 네트워크(110)는, 예컨대 TCP/IP 통신망 상에 구현된 P2P 분산 네트워크를 포함할 수 있다. 본 개시의 일 실시예에 의하면, 블록체인 네트워크(110)는, 예컨대 Wi-Fi망, LAN망, WAN망, 인터넷망 등에 구현된 순수 P2P 네트워크 또는 하이브리드 P2P 네트워크일 수 있으며, 다만 본 개시가 이로써 제한되는 것은 아니다. 본 개시의 일 실시예에 의하면, 블록체인 네트워크(110)를 통하여 각 자원 공유 노드(130)에 의해 생성 및 배포된 각 트랜잭션이 분산형 컴퓨팅 자원 공유 시스템(100)을 위한 블록체인에 포함되어 다른 자원 공유 노드들(130) 및 플랫폼 서버(140)와 공유될 수 있다. According to an embodiment of the present disclosure, the blockchain network 110 may include each shared computing resource region 120, each resource sharing node 130, and a platform server 140 on the distributed computing resource sharing system 100. It may be any wired or wireless communication network that enables communication between them. According to an embodiment of the present disclosure, the blockchain network 110 may include, for example, a P2P distributed network implemented on a TCP / IP communication network. According to an embodiment of the present disclosure, the blockchain network 110 may be, for example, a pure P2P network or a hybrid P2P network implemented on a Wi-Fi network, a LAN network, a WAN network, an Internet network, and the like. It is not limited. According to one embodiment of the present disclosure, each transaction created and distributed by each resource sharing node 130 through the blockchain network 110 is included in the blockchain for the distributed computing resource sharing system 100 and is thus different. It may be shared with the resource sharing nodes 130 and the platform server 140.

구체적으로 도시되지는 않았으나, 본 개시의 일 실시예에 의하면, 분산형 컴퓨팅 자원 공유 시스템(100)은, 복수의 사용자 계정과, 공유 컴퓨팅 자원의 이용 및 보상 등의 관리를 위한 자원 관리 계정(예컨대, 분산형 컴퓨팅 자원 공유 시스템(100)의 블록체인의 스마트 계약 계정)을 포함할 수 있다. 본 개시의 일 실시예에 의하면, 분산형 자원 공유 시스템(100)의 각 사용자는 각각 자신의 사용자 계정(및 클라이언트)을 통하여 블록체인 네트워크(110)에 액세스할 수 있고, 후술하는 자원 공유 노드(130)를 통하여 트랜잭션을 생성 및/또는 배포함으로써, 자신의 컴퓨팅 자원을 분산형 컴퓨팅 자원 공유 시스템(100) 상에 제공하거나 분산형 컴퓨팅 자원 공유 시스템(100) 상에 제공된 컴퓨팅 자원을 이용할 수 있다. 본 개시의 일 실시예에 의하면, 분산형 자원 공유 시스템(100)의 각 사용자 계정은, 자신이 보유한 하드웨어 및/또는 소프트웨어 자원을 분산형 자원 공유 시스템(100) 상에서 다른 사용자에 의해 공유 사용될 수 있도록 제공하는 자원 제공자를 위한 계정일 수 있다. 본 개시의 일 실시예에 의하면, 분산형 자원 공유 시스템(100)의 각 사용자 계정은, 소정의 알고리즘에 따라 머신러닝을 수행하고자 하는 개발자로서, 분산형 자원 공유 시스템(100) 상에서 공유 사용에 제공된 하드웨어 및/또는 소프트웨어 자원을, 정당한 대가를 지불하고서 이용하고자 하는 개발자를 위한 계정일 수 있다. 본 개시의 일 실시예에 의하면, 분산형 자원 공유 시스템(100)의 각 사용자 계정은, 소정의 서비스 개발자로서, 분산형 컴퓨팅 자원 공유 시스템(100) 상에 공유 제공된 GPU 자원, 데이터 세트, 및 학습 모델에 따라 수행된 머신러닝의 결과를 위 서비스에 이용하고자 하는 서비스 개발자를 위한 계정일 수 있다. 본 개시의 일 실시예에 의하면, 분산형 자원 공유 시스템(100)의 각 사용자 계정은, 자원 제공자이자 개발자인 사용자를 위한 계정일 수 있다.Although not specifically illustrated, according to an exemplary embodiment of the present disclosure, the distributed computing resource sharing system 100 may include a plurality of user accounts and resource management accounts (eg, management of use and compensation of shared computing resources). , A smart contract account of the blockchain of the distributed computing resource sharing system 100). According to one embodiment of the present disclosure, each user of the distributed resource sharing system 100 can access the blockchain network 110 through their user account (and client), respectively, and the resource sharing node (described below) By creating and / or distributing a transaction through 130, it is possible to provide its computing resources on the distributed computing resource sharing system 100 or to use the computing resources provided on the distributed computing resource sharing system 100. According to one embodiment of the present disclosure, each user account of the distributed resource sharing system 100 may share and use hardware and / or software resources owned by other users on the distributed resource sharing system 100. It may be an account for providing a resource provider. According to one embodiment of the present disclosure, each user account of the distributed resource sharing system 100 is a developer who wants to perform machine learning according to a predetermined algorithm, and is provided for shared use on the distributed resource sharing system 100. It may be an account for a developer who wants to use hardware and / or software resources at a reasonable cost. According to one embodiment of the present disclosure, each user account of the distributed resource sharing system 100, as a predetermined service developer, is provided with shared GPU resources, data sets, and learning provided on the distributed computing resource sharing system 100. It may be an account for a service developer who wants to use the result of machine learning performed according to the model for the above service. According to one embodiment of the present disclosure, each user account of the distributed resource sharing system 100 may be an account for a user who is a resource provider and a developer.

본 개시의 일 실시예에 의하면, 복수의 공유 컴퓨팅 자원 영역(120) 각각은, 분산형 컴퓨팅 자원 공유 시스템(100) 상에서 복수의 사용자들 간에 공유 사용이 이루어질 수 있는 하나 또는 일군의 컴퓨팅 자원을 포함할 수 있다. 본 개시의 일 실시예에 의하면, 공유 컴퓨팅 자원 영역(120)은, 머신러닝에 이용될 수 있는 컴퓨팅 자원, 예컨대 GPU 등의 처리 장치 유닛이나 저장 유닛 등의 하드웨어 자원 및/또는 머신러닝을 위한 학습 데이터 세트나 학습 모델 등의 소프트웨어 자원을 포함할 수 있다. 본 개시의 일 실시예에 의하면, 공유 컴퓨팅 자원 영역(120) 상의 각 컴퓨팅 자원은, 대응하는 소정 자원 공유 노드(130)와 연관될 수 있다. 본 개시의 일 실시예에 의하면, 공유 컴퓨팅 자원 영역(120)의 각 컴퓨팅 자원은, 분산형 컴퓨팅 자원 공유 시스템(100) 상의 일 사용자(즉, 제공자)에 의해 제공되고 다른 사용자들에 의해 이용될 수 있는데, 이러한 공유 컴퓨팅 자원 영역(120)의 각 자원의 제공 및 이용은, 분산형 컴퓨팅 자원 공유 시스템(100)을 위한 블록체인(구체적으로, 해당 블록체인에 의한 스마트 계약 및 그에 따른 스마트 계약 계정)을 통하여 운영 및 관리될 수 있다.According to one embodiment of the present disclosure, each of the plurality of shared computing resource regions 120 includes one or a group of computing resources on which distributed usage may be made among a plurality of users on the distributed computing resource sharing system 100. can do. According to an embodiment of the present disclosure, the shared computing resource region 120 may be a computing resource that may be used for machine learning, for example, a hardware resource such as a processing unit unit or a storage unit such as a GPU and / or learning for machine learning. It can include software resources such as data sets or learning models. According to one embodiment of the present disclosure, each computing resource on the shared computing resource area 120 may be associated with a corresponding predetermined resource sharing node 130. According to one embodiment of the present disclosure, each computing resource of the shared computing resource area 120 is provided by one user (ie, a provider) on the distributed computing resource sharing system 100 and may be used by other users. The provision and use of each resource in the shared computing resource area 120 may include a blockchain for the distributed computing resource sharing system 100 (specifically, a smart contract and corresponding smart contract account by the blockchain). Can be operated and managed.

본 개시의 일 실시예에 의하면, 공유 컴퓨팅 자원 영역(120)의 컴퓨팅 자원 가운데 처리 장치 유닛(예컨대, GPU)은, 해당 자원과 연관된 자원 공유 노드(130)를 통하여 소정의 연산(예컨대, 소정의 머신러닝 코드의 소정 횟수의 실행 연산 등) 수행을 위한 지시를 수신할 수 있다. 본 개시의 일 실시예에 의하면, 처리 장치 유닛은, 위 수신된 지시에 따른 연산(예컨대, 머신러닝 연산)을 수행한 후 그러한 연산 수행의 완료를 해당 자원과 연관된 자원 공유 노드(130)에게 알릴 수 있다.According to an embodiment of the present disclosure, a processing unit (eg, a GPU) among computing resources of the shared computing resource area 120 may perform a predetermined operation (eg, a predetermined operation) through a resource sharing node 130 associated with the corresponding resource. Instructions for performing a predetermined number of execution operations, etc. of the machine learning code) may be received. According to one embodiment of the present disclosure, the processing unit may perform an operation (eg, a machine learning operation) according to the received instructions above and then inform the resource sharing node 130 associated with the resource of completion of performing such an operation. Can be.

본 개시의 일 실시예에 의하면, 공유 컴퓨팅 자원 영역(120)의 컴퓨팅 자원 가운데 데이터 세트 자원은, 한 세트의 데이터 세트 자원이 복수 개의 부분으로 분할되어 복수의 공유 컴퓨팅 자원 영역(120)에 분산되어 저장될 수 있다. 이러한 경우, 머신러닝의 수행을 위하여 데이터 세트 자원의 이동이 필요한 때, 그 필요한 데이터 세트 자원의 각 부분이 병렬적으로 전송될 수 있고 이로써 대량의 데이터 이동의 전송 시간 지역이나 대역폭 부족의 문제를 해결할 수 있다. 또한, 전술한 바와 같이, 한 세트의 데이터 세트 자원이 복수 개의 부분으로 분할되어 복수의 공유 컴퓨팅 자원 영역(120)에 분산되어 저장되는 경우에는, 시스템(100)의 전체 공유 컴퓨팅 자원 영역들(120)에 걸쳐 위 데이터 세트 자원의 각 분할된 부분이 적어도 2개는 존재(즉, 전체 영역에 걸쳐 동일한 내용의 데이터가 적어도 2개는 존재)하도록 중복하여 저장될 수 있다. 이로써, 데이터 세트 자원의 일 부분이 저장된 공유 컴퓨팅 자원 영역(120)이 차단되는 경우에도, 전체 시스템(100) 내에서는 그 전체 데이터 세트 자원의 완전성이 손상되지 않도록 할 수 있다.According to an embodiment of the present disclosure, a data set resource among the computing resources of the shared computing resource region 120 is divided into a plurality of portions of the data set resource and distributed to the plurality of shared computing resource regions 120. Can be stored. In this case, when the movement of data set resources is required to perform machine learning, each part of the necessary data set resources can be transmitted in parallel, thereby solving the problem of a transmission time region or a lack of bandwidth of a large amount of data movement. Can be. In addition, as described above, when a set of data set resources is divided into a plurality of parts and distributed and stored in the plurality of shared computing resource areas 120, all the shared computing resource areas 120 of the system 100 are stored. ), Each partitioned portion of the above data set resources may be stored redundantly (ie, at least two pieces of data having the same contents over the entire area). Thus, even when the shared computing resource area 120 in which a portion of the data set resource is stored is blocked, the integrity of the entire data set resource in the entire system 100 may not be impaired.

본 개시의 다른 실시예에 의하면, 공유 컴퓨팅 자원 영역(120)의 컴퓨팅 자원 가운데 데이터 세트 자원은, 해당 데이터 세트 자원 전체가 하나의 공유 컴퓨팅 자원 영역(120)에 저장될 수 있는데, 원시 데이터로서의 해당 데이터 세트 자원이, 그 원시 데이터를, 머신러닝을 위한 소정의 트레이닝 코드에 부합하도록 인코딩함으로써 획득된, 전처리 데이터(preprocessed data) 세트와 함께, 해당 공유 컴퓨팅 자원 영역(120)에 저장될 수 있다. 이로써, 머신러닝의 수행을 위하여 데이터 세트 자원의 이동이 필요한 경우, 용량이 큰 원시 데이터로서의 데이터 세트 자원 대신에, 그에 상응하는 전처리 데이터 세트가 전송되도록 함으로써 데이터 이동의 전송 시간 지연이나 대역폭 부족의 문제를 해결할 수 있다.According to another embodiment of the present disclosure, a data set resource among the computing resources of the shared computing resource area 120 may be stored in one shared computing resource area 120 in its entirety. Data set resources may be stored in the corresponding shared computing resource region 120, along with a set of preprocessed data, obtained by encoding the raw data to conform to a predetermined training code for machine learning. Thus, when the movement of data set resources is required to perform machine learning, instead of data set resources as large raw data, a corresponding preprocessing data set is transmitted so that there is a problem of delay of transmission time or lack of bandwidth in data movement. Can be solved.

본 개시의 일 실시예에 의하면, 복수의 자원 공유 노드(130) 각각은, 분산형 컴퓨팅 자원 공유 시스템(100)의 블록체인 네트워크(110)에 접속된 각 컴퓨팅 장치일 수 있다. 본 개시의 일 실시예에 의하면, 자원 공유 노드(130)는, ERC 20 등(그러나 이로써 제한되는 것은 아님)의 블록체인 프로토콜에 따라, 소정의 트랜잭션을 생성하고, 그 생성된 트랜잭션을 블록체인 네트워크(110)를 통해 분산형 컴퓨팅 자원 공유 시스템(100)을 위한 블록체인 상에 배포하는데 이용될 수 있다. 본 개시의 일 실시예에 의하면, 각각의 자원 공유 노드(130)로부터 생성 및 배포될 수 있는 트랜잭션은, 예컨대 소정의 하드웨어 또는 소프트웨어 자원이 분산형 컴퓨팅 자원 공유 시스템(100) 상에서 공유 사용될 수 있도록 제공(예컨대, 공유 사용을 위한 등록)하기 위한 것일 수 있다. 본 개시의 일 실시예에 의하면, 각각의 자원 공유 노드(130)로부터 생성 및 배포될 수 있는 트랜잭션은, 예컨대 분산형 컴퓨팅 자원 공유 시스템(100) 상에서 사용자들 간 공유 사용을 위하여 제공된 소정의 하드웨어 또는 소프트웨어 자원을 머신러닝에 이용하고자 하는 요청을 포함하는 것일 수 있다. 본 개시의 일 실시예에 의하면, 각 사용자는, 자신의 사용자 계정(및 클라이언트)을 이용하여 자원 공유 노드(130)를 통해 소정의 트랜잭션(예컨대, 자원의 제공 또는 이용을 위한 트랜잭션 등)이 생성되어 블록체인 네트워크(110) 상에 배포되도록 할 수 있다.According to one embodiment of the present disclosure, each of the plurality of resource sharing nodes 130 may be each computing device connected to the blockchain network 110 of the distributed computing resource sharing system 100. According to one embodiment of the present disclosure, the resource sharing node 130 generates a predetermined transaction according to the blockchain protocol of ERC 20 or the like, but is not limited thereto, and generates the generated transaction and transfers the generated transaction to the blockchain network. Via 110 may be used to distribute on the blockchain for the distributed computing resource sharing system 100. According to one embodiment of the present disclosure, a transaction that may be created and distributed from each resource sharing node 130 may be provided such that certain hardware or software resources may be shared and used on distributed computing resource sharing system 100, for example. (Eg, register for shared use). According to one embodiment of the present disclosure, a transaction that may be created and distributed from each resource sharing node 130 may include, for example, any hardware provided for shared use among users on a distributed computing resource sharing system 100 or It may include a request to use software resources for machine learning. According to one embodiment of the present disclosure, each user may create a predetermined transaction (eg, a transaction for providing or using a resource) through the resource sharing node 130 using his or her user account (and client). To be distributed on the blockchain network 110.

본 개시의 일 실시예에 의하면, 각각의 자원 공유 노드(130)는, 다른 자원 공유 노드(130)로부터 생성되어 블록체인 상에 배포된 각 트랜잭션을 수신 및 처리할 수 있다. 본 개시의 일 실시예에 의하면, 각각의 자원 공유 노드(130)는, 수신된 트랜잭션 상의 프로그램 코드(예컨대, 분산형 컴퓨팅 자원 공유 시스템(100) 상에서의 하드웨어 및/또는 소프트웨어 자원의 공유 사용에 관한 스마트 계약에 관한 프로그램 코드)를 실행할 수 있다. 본 개시의 일 실시예에 의하면, 각각의 자원 공유 노드(130)는, 소정의 하드웨어 및/또는 소프트웨어 자원의 공유 제공에 관한 트랜잭션을 수신한 경우, 수신된 트랜잭션 상의 스마트 계약에 관한 프로그램 코드를 실행하고, 그 제공된 자원에 관한 정보(예컨대, 자원의 유형, 위치, 속성 등을 비롯한 다양한 정보)를, 공유 컴퓨팅 자원의 관리를 위한 스마트 계약 계정(예컨대, 자원 관리 계정)과 연관시켜 저장할 수 있다. 본 개시의 일 실시예에 의하면, 각각의 자원 공유 노드(130)는, 소정의 하드웨어 및/또는 소프트웨어 자원의 이용 요청을 포함하는 트랜잭션을 수신한 경우, 수신된 트랜잭션 상의 스마트 계약에 관한 프로그램 코드를 실행하고, 해당 자원의 이용에 관한 정보(예컨대, 해당 자원을 이용하려는 사용자 계정, 해당 자원의 유형, 위치, 속성, 이용량 등을 비롯한 다양한 정보)를, 공유 컴퓨팅 자원의 관리를 위한 스마트 계약 계정(예컨대, 자원 관리 계정)과 연관시켜 저장할 수 있다. According to one embodiment of the present disclosure, each resource sharing node 130 may receive and process each transaction generated from another resource sharing node 130 and distributed on the blockchain. According to one embodiment of the present disclosure, each resource sharing node 130 is directed to shared use of program code (eg, on hardware and / or software resources on distributed computing resource sharing system 100) on a received transaction. Program code for smart contracts). According to one embodiment of the present disclosure, each resource sharing node 130 executes program code for a smart contract on the received transaction upon receiving a transaction relating to the sharing provision of predetermined hardware and / or software resources. And store information related to the provided resource (e.g., various information including resource type, location, attributes, etc.) in association with a smart contract account (e.g., resource management account) for management of shared computing resources. According to one embodiment of the present disclosure, each resource sharing node 130, upon receiving a transaction that includes a request to use a given hardware and / or software resource, receives program code for a smart contract on the received transaction. Smart contract accounts for the management of shared computing resources, including information about usage of the resources, such as various information, including user accounts, types, locations, attributes, and usage of the resources. (E.g., resource management account).

본 개시의 일 실시예에 의하면, 복수의 자원 공유 노드(130) 각각은, 플랫폼 서버(130)의 제어 하에 또는 분산형 컴퓨팅 자원 공유 시스템(100) 상의 미리 정해진 알고리즘에 따라, 분산형 컴퓨팅 자원 공유 시스템(100) 상의 각 트랜잭션의 기록을 위한 블록을 생성(또는 채굴) 및/또는 검증할 수 있다. 본 개시의 일 실시예에 의하면, 전술한 바와 같이, 공유 컴퓨팅 자원 영역(120) 상의 각 컴퓨팅 자원(예컨대, 처리 장치 유닛)은, 대응하는 소정 자원 공유 노드(130)와 연관될 수 있다. 본 개시의 일 실시예에 의하면, 전술한 바와 같이, 공유 컴퓨팅 자원 영역(120)의 컴퓨팅 자원 중 처리 장치 유닛은, 외부로부터 소정의 연산(예컨대, 소정의 머신러닝 코드의 소정 횟수의 실행 연산 등) 수행을 위한 지시를 수신할 수 있고, 그 수신된 지시에 따른 연산(예컨대, 머신러닝 연산)을 수행한 후 연산 수행의 완료를 해당 자원과 연관된 자원 공유 노드(130)에게 알릴 수 있다. 본 개시의 일 실시예에 의하면, 전술한 연산 수행의 완료의 통지를 수신한 자원 공유 노드(130)는, 그 수신된 연산 수행의 완료를 후술하는 플랫폼 서버(140)(또는 블록 생성을 위한 넌스(nonce) 값을 생성 또는 보유한 임의의 서버)에 통지할 수 있다. 본 개시의 일 실시예에 의하면, 공유 자원 노드(130)는, 플랫폼 서버(140)로부터 소정의 넌스 값을 수신할 수 있고, 수신된 넌스 값을 소정의 해시함수에 적용할 수 있다. 본 개시의 일 실시예에 의하면, 자원 공유 노드(130)는, 그 넌스 값을 해시함수에 적용하여 얻어진 해시결과가 소정의 기준(예컨대, 블록 생성을 위하여 미리 정해진 소정의 난이도 조건)을 충족하는지 판정할 수 있다. 본 개시의 일 실시예에 의하면, 자원 공유 노드(130)는, 해시 결과가 위 소정의 기준을 충족하는 것으로 판정된 경우, 해당 넌스 값과 해시 결과를 블록체인 상에 통지할 수 있다. 본 개시의 일 실시예에 의하면, 전술한 소정의 기준은, 종래의 비트코인 블록체인 등에서 사용되는 통상적인 PoW 방식에서의 해시함수의 난이도에 비해 크게 낮은 난이도의 기준(예컨대, 해시 결과에 포함되는 0의 수를 크게 줄인 것 등)일 수 있다. 본 개시의 일 실시예에 의하면, 전술한 소정의 기준은, 예컨대 해당 블록체인 상에서 소정 시간 간격으로 새로운 블록이 생성될 수 있도록 정해진 것일 수 있다. 본 개시의 일 실시예에 의하면, 각 자원 공유 노드(130)는, 또한, 블록체인 상의 다른 자원 공유 노드가 블록체인 상에 통지한 넌스 값과 해시 결과를 수신할 수 있고, 수신된 넌스 값과 해시 결과를 해시함수에 적용함으로써 검증할 수 있다. 본 개시의 일 실시예에 의하면, 임의의 자원 공유 노드(130)에 의하여 블록체인 상에 제공된 넌스 값 및 해시 결과에 대한 다른 자원 공유 노드들(130)에 의한 검증이 완료될 경우, 새로운 블록이 생성될 수 있다. 본 개시의 일 실시예에 의하면, 소정의 시간 간격 동안에 각 공유 자원 노드(130)에 의해 생성되어 분산형 컴퓨팅 자원 공유 시스템(100)을 위한 블록체인 네트워크(110) 상에 배포된 트랜잭션들이, 새로이 생성된 블록에 함께 저장될 수 있다. According to one embodiment of the present disclosure, each of the plurality of resource sharing nodes 130, under the control of the platform server 130 or in accordance with a predetermined algorithm on the distributed computing resource sharing system 100, distributed computing resource sharing Blocks for recording each transaction on system 100 may be generated (or mined) and / or verified. According to one embodiment of the present disclosure, as described above, each computing resource (eg, processing unit) on the shared computing resource area 120 may be associated with a corresponding predetermined resource sharing node 130. According to an embodiment of the present disclosure, as described above, the processing unit of the computing resources of the shared computing resource area 120 may be a predetermined operation (eg, a predetermined number of execution operations of a predetermined machine learning code, etc.) from the outside. ) May receive an instruction for performing the operation, and after performing an operation (eg, a machine learning operation) according to the received instruction, inform the resource sharing node 130 associated with the resource of completion of the operation. According to an embodiment of the present disclosure, the resource sharing node 130 that has received the notification of the completion of the calculation operation described above is the platform server 140 (or nonce for block generation) which describes the completion of the received calculation operation. (nonce) can be informed of any server that created or retained the value. According to an embodiment of the present disclosure, the shared resource node 130 may receive a predetermined nonce value from the platform server 140 and apply the received nonce value to a predetermined hash function. According to an embodiment of the present disclosure, the resource sharing node 130 applies the hash value obtained by applying the nonce value to the hash function to satisfy a predetermined criterion (eg, predetermined difficulty condition predetermined for block generation). It can be determined. According to one embodiment of the present disclosure, if it is determined that the hash result satisfies the predetermined criteria, the resource sharing node 130 may notify the nonce value and the hash result on the blockchain. According to one embodiment of the present disclosure, the predetermined criteria described above are significantly lower than the difficulty of the hash function in the conventional PoW method used in the conventional Bitcoin blockchain, etc. (eg, included in the hash result). Such as greatly reducing the number of zeros). According to one embodiment of the present disclosure, the predetermined criterion described above may be determined such that new blocks may be generated at predetermined time intervals on the corresponding blockchain, for example. According to an embodiment of the present disclosure, each resource sharing node 130 may also receive a nonce value and a hash result that another resource sharing node on the blockchain notifies on the blockchain, and receives the nonce value. You can verify this by applying the hash result to the hash function. According to one embodiment of the present disclosure, when verification by the other resource sharing nodes 130 for the nonce value and the hash result provided on the blockchain by any resource sharing node 130 is completed, the new block is generated. Can be generated. According to one embodiment of the present disclosure, transactions generated by each shared resource node 130 during a predetermined time interval and distributed on the blockchain network 110 for the distributed computing resource sharing system 100 are newly generated. The generated blocks can be stored together.

본 개시의 일 실시예에 의하면, 자원 공유 노드(130) 각각은, 플랫폼 서버(140)의 제어 하에 또는 분산형 컴퓨팅 자원 공유 시스템(100) 상의 미리 정해진 알고리즘에 따라, 분산형 컴퓨팅 자원 공유 시스템(100)을 위한 블록체인(즉, 블록체인 분산 원장)의 적어도 일부를 저장할 수 있다(다만, 본 개시가 이로써 제한되는 것은 아님). 본 개시의 일 실시예에 의하면, 자원 공유 노드(130) 각각은, 플랫폼 서버(140)의 제어 하에 또는 분산형 컴퓨팅 자원 공유 시스템(100) 상의 미리 정해진 알고리즘에 따라, 분산형 컴퓨팅 자원 공유 시스템(100)을 위한 블록체인에 의해 유지 및 관리되는 스마트 계약(예컨대, 분산형 컴퓨팅 자원 공유 시스템(100) 상에서의 하드웨어 및/또는 소프트웨어 자원의 공유 사용을 관리하는 스마트 계약 계정 등)에 관한 정보의 적어도 일부를 저장할 수 있다(다만, 본 개시가 이로써 제한되는 것은 아님).According to one embodiment of the present disclosure, each of the resource sharing nodes 130 is a distributed computing resource sharing system (under the control of the platform server 140 or in accordance with a predetermined algorithm on the distributed computing resource sharing system 100). At least a portion of the blockchain (ie, blockchain distributed ledger) for 100), although the present disclosure is not so limited. According to one embodiment of the present disclosure, each of the resource sharing nodes 130 is a distributed computing resource sharing system (under the control of the platform server 140 or in accordance with a predetermined algorithm on the distributed computing resource sharing system 100). At least information about smart contracts maintained and managed by the blockchain for 100 (eg, smart contract accounts, etc. that manage the shared use of hardware and / or software resources on distributed computing resource sharing system 100). Some may be stored (though the present disclosure is not so limited).

본 개시의 일 실시예에 의하면, 각 사용자는 자신의 사용자 계정 및 자원 공유 노드(130)를 이용해서, 소정의 프로토콜에 따른 쿼리(예컨대, 소정의 자원 검색을 위한 자원 관리 계정에 대한 쿼리)를 생성 및 처리할 수 있다. 본 개시의 일 실시예에 의하면, 자원 공유 노드(130)는, 소정의 사용자 계정에 관련된 쿼리를 스스로 처리하거나 블록체인 네트워크(110)를 통해 전송할 수 있다. 본 개시의 일 실시예에 의하면, 각 사용자 계정 및 자원 공유 노드(130)를 통해 생성되는 쿼리는, 예컨대 분산형 컴퓨팅 자원 공유 시스템(100) 상에서의 공유 사용에 제공된 하드웨어 및/또는 소프트웨어 자원의 상태(예컨대, 소정의 스펙을 갖춘 데이터 세트 자원이 분산형 컴퓨팅 자원 공유 시스템(100)의 공유 컴퓨팅 자원 영역들(120) 중에 존재하는가 등을 포함하며, 이로써 제한되는 것은 아님)의 조회를 위한 것일 뿐이며, 그 자체로서는 새로운 스마트 계약을 생성 또는 변경하는 것이 아닐 수 있다. 그러므로, 본 개시의 일 실시예에 의하면, 각 사용자 계정 및 자원 공유 노드(130)를 통해 생성되는 쿼리는, 분산형 컴퓨팅 자원 공유 시스템(100)의 블록체인 상에 저장되지는 않을 수 있다. 본 개시의 일 실시예에 의하면, 자원 공유 노드(130)는, 스스로 쿼리에 대한 응답을 생성하거나 블록체인 네트워크(110)로부터 그 쿼리에 대한 응답을 수신하고, 해당 쿼리에 대응하는 사용자(쿼리 요청자) 계정 상에 위 응답을 제공할 수 있다.According to one embodiment of the present disclosure, each user uses his or her user account and resource sharing node 130 to make a query according to a predetermined protocol (eg, a query for a resource management account for searching for a predetermined resource). Can be created and processed. According to an embodiment of the present disclosure, the resource sharing node 130 may process a query related to a predetermined user account by itself or transmit it through the blockchain network 110. According to one embodiment of the present disclosure, a query generated through each user account and resource sharing node 130 may, for example, state of hardware and / or software resources provided for shared use on the distributed computing resource sharing system 100. (E.g., is there a data set resource having a predetermined specification among the shared computing resource regions 120 of the distributed computing resource sharing system 100, etc., but is not limited thereto) , By itself, may not be creating or modifying a new smart contract. Therefore, according to one embodiment of the present disclosure, a query generated through each user account and resource sharing node 130 may not be stored on the blockchain of the distributed computing resource sharing system 100. According to an embodiment of the present disclosure, the resource sharing node 130 generates a response to the query by itself or receives a response to the query from the blockchain network 110, and corresponds to a user (query requester) corresponding to the query. ) You can provide the above response on your account.

본 개시의 일 실시예에 의하면, 자원 공유 노드(130)는 또한 분산형 컴퓨팅 자원 공유 시스템(100) 상에서의 자원 공유에 따른 각 사용자에 대한 보상의 지급 및 수령에 따라 해당 분산형 컴퓨팅 자원 공유 시스템(100)과 연관된 사용자 계정(들)의 디지털 지갑을 유지 및 관리할 수 있다(다만, 본 개시가 이로써 제한되는 것은 아님). 본 개시의 일 실시예에 의하면, 분산형 컴퓨팅 자원 공유 시스템(100) 상에서의 자원 공유에 따른 각 사용자(예컨대, 자원 제공자)에 대한 보상은, 분산형 컴퓨팅 자원 공유 시스템(100)과 연관된 소정의 디지털 화폐에 의해 이루어질 수 있다. 본 개시의 일 실시예에 의하면, 분산형 컴퓨팅 자원 공유 시스템(100) 상에서의 자원 공유에 따른 보상은, 각 자원 별로 사용량에 비례하여 이루어질 수 있다. 본 개시의 일 실시예에 의하면, 분산형 컴퓨팅 자원 공유 시스템(100) 상에서의 자원 공유에 따른 보상은, 이용된 각 자원에 대한 소정의 기준에 따른 평가(예컨대, 각 자원의 분산형 컴퓨팅 자원 공유 시스템(100)에 대한 기여도 등에 관한 평가)에 따라 이루어질 수 있다.According to one embodiment of the present disclosure, the resource sharing node 130 is also configured to distribute the distributed computing resource sharing system in accordance with the payment and receipt of a reward for each user according to the resource sharing on the distributed computing resource sharing system 100. Maintain and manage a digital wallet of user account (s) associated with 100 (although this disclosure is not so limited). According to one embodiment of the present disclosure, a reward for each user (eg, a resource provider) due to resource sharing on the distributed computing resource sharing system 100 may be a predetermined value associated with the distributed computing resource sharing system 100. It can be done by digital money. According to one embodiment of the present disclosure, compensation for resource sharing on the distributed computing resource sharing system 100 may be made in proportion to the amount of usage for each resource. According to one embodiment of the present disclosure, the reward for sharing resources on the distributed computing resource sharing system 100 is evaluated according to a predetermined criterion for each resource used (eg, distributed computing resource sharing of each resource). Assessment of contributions to system 100, etc.).

본 개시의 일 실시예에 의하면, 플랫폼 서버(140)는, 각각의 자원 공유 노드(130)로부터 분산형 컴퓨팅 자원 공유 시스템(100) 상에 제공된, 소정의 자원 이용 요청을 포함하는 트랜잭션을 수신할 수 있다. 본 개시의 일 실시예에 의하면, 플랫폼 서버(140)는, 소정의 자원(예컨대, GPU 자원)에 대한 이용 요청을 포함하는 트랜잭션을 수신하고, 수신된 트랜잭션을 처리하여, 해당 트랜잭션으로부터 획득된 정보에 따라, 소정의 알고리즘에 기초하여, 분산형 컴퓨팅 자원 공유 시스템(100)의 각 공유 컴퓨팅 자원 영역(120) 상에서 이용 가능한 자원들 가운데 적절한 자원을 할당할 수 있다. 본 개시의 일 실시예에 의하면, 플랫폼 서버(140)는, 소정의 연산(예컨대, 머신러닝 연산)을 공유 컴퓨팅 자원 영역(120)의 각 처리 장치 유닛 자원에 할당하는 것과 관련하여, 각 처리 장치 유닛 자원에 할당되는 연산의 실행에 걸리는 시간이 균등하게 되도록 할당할 수 있다. 본 명세서에서는, 주로, 분산형 컴퓨팅 자원 공유 시스템(100)의 플랫폼 서버(140)가 공유 컴퓨팅 자원 영역(120) 상의 각 자원의 할당을 제어하는 것처럼 설명되어 있으나, 본 개시가 이로써 제한되는 것은 아니다. 본 개시의 다른 실시예에 의하면, 분산형 컴퓨팅 자원 공유 시스템(100) 상에서, 공유 컴퓨팅 자원 영역(120) 상의 각 자원의 이용의 할당 등은, 플랫폼 서버(140)에 의한 개입 없이, 블록체인 네트워크(110) 상의 미리 정해진 알고리즘에 따라 자동으로 이루어질 수 있음을 알아야 한다. According to one embodiment of the present disclosure, the platform server 140 may receive a transaction from each resource sharing node 130, including a predetermined resource usage request, provided on the distributed computing resource sharing system 100. Can be. According to an embodiment of the present disclosure, the platform server 140 receives a transaction including a use request for a predetermined resource (eg, GPU resource), processes the received transaction, and obtains information obtained from the transaction. According to an algorithm, an appropriate resource may be allocated among the resources available on each shared computing resource area 120 of the distributed computing resource sharing system 100. According to one embodiment of the present disclosure, the platform server 140, in connection with assigning a predetermined operation (eg, a machine learning operation) to each processing unit unit resource of the shared computing resource area 120, each processing device. It can be allocated so that the time taken to execute the operation allocated to the unit resource is equalized. Although primarily described herein as platform server 140 of distributed computing resource sharing system 100 controls the allocation of each resource on shared computing resource region 120, the present disclosure is not so limited. . According to another embodiment of the present disclosure, on the distributed computing resource sharing system 100, the allocation of the use of each resource on the shared computing resource area 120, etc., is performed by the block server network without intervention by the platform server 140. It should be appreciated that this can be done automatically according to a predetermined algorithm on 110.

본 개시의 일 실시예에 의하면, 플랫폼 서버(140)는, 자원 공유 노드(130)들이, 분산형 컴퓨팅 자원 공유 시스템(100) 상의 각 트랜잭션의 기록을 위한 블록을 생성(또는 채굴) 및/또는 검증하도록, 관리할 수 있다. 본 개시의 일 실시예에 의하면, 플랫폼 서버(140)는, 임의의 자원 공유 노드(130)로부터 그 자원 공유 노드(130)에 연관된 소정의 처리 유닛에 의한 미리 정해진 연산의 수행 완료의 통지를 수신할 수 있다. 본 개시의 일 실시예에 의하면, 전술한 통지를 수신한 플랫폼 서버(140)는, 소정의 넌스 값을 해당 자원 공유 노드(130)로 전송할 수 있다. 본 개시의 일 실시예에 의하면, 넌스 값은, 전술한 바와 같이, 해당 자원 공유 노드(130) 상에서 소정의 해시함수에 대한 입력으로 사용될 수 있다. According to one embodiment of the present disclosure, the platform server 140, the resource sharing node 130, generates (or mining) and / or block for the recording of each transaction on the distributed computing resource sharing system 100 Can be managed to verify. According to one embodiment of the present disclosure, platform server 140 receives a notification of completion of a predetermined operation by a predetermined processing unit associated with the resource sharing node 130 from any resource sharing node 130. can do. According to an embodiment of the present disclosure, the platform server 140 receiving the aforementioned notification may transmit a predetermined nonce value to the corresponding resource sharing node 130. According to one embodiment of the present disclosure, as described above, the nonce value may be used as an input for a predetermined hash function on the corresponding resource sharing node 130.

본 개시의 일 실시예에 의하면, 플랫폼 서버(140)는 또한 분산형 컴퓨팅 자원 공유 시스템(100) 상에 공유를 위하여 제공된 각 자원의 이용과 관련하여, 각 자원의 제공자에게 정당한 보상이 이루어지는 것을 돕도록 관리할 수 있다. 본 개시의 일 실시예에 의하면, 플랫폼 서버(140)는, 분산형 컴퓨팅 자원 공유 시스템(100) 상에 공유를 위하여 제공된 각 자원의 이용과 관련하여, 소정의 기준에 따라, 각 자원에 대한 평가(예컨대, 각 자원의 분산 자원 고유 시스템(100)에 대한 기여도 등에 관한 평가)를 수행하고, 그 평가 결과에 따라, 각 자원의 제공자에게 그에 부합하는 합당한 보상이 이루어지도록 관리할 수 있다. 본 명세서에서는, 주로, 분산형 컴퓨팅 자원 공유 시스템(100)의 플랫폼 서버(140)가 각 자원에 대한 평가 및 그에 따른 보상을 수행하는 것처럼 설명되어 있으나, 본 개시가 이로써 제한되는 것은 아니다. 본 개시의 다른 실시예에 의하면, 분산형 컴퓨팅 자원 공유 시스템(100) 상에서, 각 자원에 대한 평가 및 그에 따른 보상의 수행 등은, 플랫폼 서버(140)에 의한 개입 없이, 블록체인 네트워크(110) 상의 미리 정해진 알고리즘에 따라 자동으로 이루어질 수 있음을 알아야 한다.According to one embodiment of the present disclosure, the platform server 140 also assists in providing a fair reward to the provider of each resource with respect to the use of each resource provided for sharing on the distributed computing resource sharing system 100. Can be managed. According to an embodiment of the present disclosure, the platform server 140, in accordance with a predetermined criterion, in relation to the use of each resource provided for sharing on the distributed computing resource sharing system 100, for each resource (E.g., evaluating the contribution of each resource to the distributed resource specific system 100, etc.), and according to the evaluation result, the provider of each resource can be managed to make a reasonable compensation accordingly. In the present specification, the platform server 140 of the distributed computing resource sharing system 100 is mainly described as performing evaluation and corresponding compensation for each resource, but the present disclosure is not limited thereto. According to another embodiment of the present disclosure, on the distributed computing resource sharing system 100, the evaluation of each resource and the performance of the rewards thereof may be performed by the blockchain network 110 without intervention by the platform server 140. It should be understood that this can be done automatically according to a predetermined algorithm on the top.

본 도면에서는, 분산형 컴퓨팅 자원 공유 시스템(100)이 플랫폼 서버(140)를 포함하는 것으로 도시되어 있으나, 본 개시가 이로써 제한되는 것은 아니다. 본 개시의 다른 실시예에 의하면, 분산형 컴퓨팅 자원 공유 시스템(100)은 플랫폼 서버(140)를 포함하지 않을 수도 있음을 알아야 한다.In the figure, the distributed computing resource sharing system 100 is shown to include a platform server 140, but the present disclosure is not limited thereto. According to another embodiment of the present disclosure, it should be understood that the distributed computing resource sharing system 100 may not include the platform server 140.

도 2는, 본 개시의 일 실시예에 따른, 도 1의 자원 공유 노드(130)의 기능적 구성을 개략적으로 도시한 기능 블록도이다. 도시된 바에 의하면, 자원 공유 노드(130)는, 트랜잭션 처리/생성 모듈(202), 통신 모듈(204), 블록 생성/검증 모듈(206), 블록체인 분산원장 저장 모듈(208), 및 디지털 지갑 관리 모듈(210)을 포함한다.FIG. 2 is a functional block diagram schematically illustrating a functional configuration of the resource sharing node 130 of FIG. 1, according to an embodiment of the present disclosure. As shown, the resource sharing node 130 includes a transaction processing / generation module 202, a communication module 204, a block generation / verification module 206, a blockchain distributed ledger storage module 208, and a digital wallet. Management module 210.

본 개시의 일 실시예에 의하면, 분산형 컴퓨팅 자원 공유 시스템(100)의 각 사용자(클라이언트)는, 분산형 컴퓨팅 자원 공유 시스템(100) 상에서 다른 사용자와의 공유 이용을 위하여 소정의 자원을 제공하고 이를 등록하고자 할 경우, 해당 자원 공유 노드(위 사용자 또는 클라이언트에 연관된 자원 공유 노드)(130)의 트랜잭션 처리/생성 모듈(202)를 통해, 그 자원 등록에 관한 트랜잭션을 생성할 수 있다. 본 개시의 일 실시예에 의하면, 분산형 컴퓨팅 자원 공유 시스템(100)의 사용자(클라이언트)는, 분산형 컴퓨팅 자원 공유 시스템(100) 상에 제공된 소정의 자원을 이용하고자 할 경우, 해당 자원 공유 노드(위 사용자 또는 클라이언트에 연관된 자원 공유 노드)(130)의 트랜잭션 처리/생성 모듈(202)을 통해, 그 자원 이용에 관한 트랜잭션을 생성할 수 있다. 본 개시의 일 실시예에 의하면, 자원 공유 노드(130)의 트랜잭션 처리/생성 모듈(202)은, 자원의 등록 및 이용에 관한 트랜잭션들 이외에도, 블록체인 네트워크(110)를 통하여 수행될 기타 다양한 트랜잭션(예컨대, 디지털 화폐의 거래 등을 포함하며, 이로써 제한되지 않음)을 생성할 수 있다. According to an embodiment of the present disclosure, each user (client) of the distributed computing resource sharing system 100 may provide a predetermined resource for sharing use with other users on the distributed computing resource sharing system 100. If you want to register it, through the transaction processing / generation module 202 of the corresponding resource sharing node (resource sharing node associated with the user or client) 130, it is possible to create a transaction for the resource registration. According to an embodiment of the present disclosure, when a user (client) of the distributed computing resource sharing system 100 wants to use a predetermined resource provided on the distributed computing resource sharing system 100, a corresponding resource sharing node Through the transaction processing / generation module 202 (a resource sharing node associated with the user or client above) 130, a transaction regarding the resource usage may be generated. According to one embodiment of the present disclosure, the transaction processing / generation module 202 of the resource sharing node 130, in addition to transactions relating to the registration and use of resources, various other transactions to be performed through the blockchain network 110 (Such as, but not limited to, trading of digital currency, etc.).

본 개시의 일 실시예에 의하면, 각 자원 공유 노드(130)의 트랜잭션 처리/생성 모듈(202)은, 다른 자원 공유 노드(130)에 의해서 생성되어 블록체인 상에 배포된 트랜잭션을 수신 및 처리할 수 있다. 본 개시의 일 실시예에 의하면, 트랜잭션 처리/생성 모듈(202)은, 수신된 트랜잭션 상의 스마트 계약(예컨대, 공유 자원의 제공 및 이용 등에 관한 스마트 계약)에 관한 프로그램 코드를 실행할 수 있다. 본 개시의 일 실시예에 의하면, 트랜잭션 처리/생성 모듈(202)은, 수신된 트랜잭션 상의 스마트 계약에 관한 프로그램 코드를 실행함으로써, 수신된 트랜잭션 상의 정보에 기초하여 스마트 계약 계정(예컨대, 자원 관리 계정)의 정보를 갱신할 수 있다.According to one embodiment of the present disclosure, the transaction processing / generation module 202 of each resource sharing node 130 may receive and process a transaction generated by another resource sharing node 130 and distributed on the blockchain. Can be. According to one embodiment of the present disclosure, transaction processing / generation module 202 may execute program code related to a smart contract (eg, a smart contract regarding the provision and use of shared resources, etc.) on a received transaction. According to one embodiment of the present disclosure, transaction processing / generation module 202 executes program code relating to a smart contract on a received transaction, thereby executing a smart contract account (eg, resource management account) based on the information on the received transaction. Information can be updated.

본 개시의 일 실시예에 의하면, 통신 모듈(204)은, 자원 공유 노드(130)가 블록체인 네트워크(110)와 소정의 프로토콜에 따라 통신할 수 있도록 동작할 수 있다. 본 개시의 일 실시예에 의하면, 통신 모듈(204)은, 트랜잭션 처리/생성 모듈(202)에 의해 생성된 블록체인 트랜잭션을 소정의 프로토콜에 따라 블록체인 네트워크(110) 상에 배포할 수 있고, 아울러 블록체인 네트워크(110)를 통하여 수신되는 각종 정보(예컨대, 해당 자원 공유 노드(130)에 연관된 공유 컴퓨팅 영역(120) 상의 처리 장치 유닛으로부터의 연산 수행 완료의 통지, 다른 자원 공유 노드(130)에 의해 생성 및 배포된 트랜잭션, 플랫폼 서버(140) 등에 의한 넌스 값 및 각종 제어 신호 등)를 수신할 수 있다.According to an embodiment of the present disclosure, the communication module 204 may operate so that the resource sharing node 130 may communicate with the blockchain network 110 according to a predetermined protocol. According to one embodiment of the present disclosure, the communication module 204 may distribute the blockchain transaction generated by the transaction processing / generation module 202 on the blockchain network 110 according to a predetermined protocol, In addition, a variety of information received through the blockchain network 110 (for example, notification of completion of computation from the processing unit unit on the shared computing region 120 associated with the corresponding resource sharing node 130, other resource sharing node 130) Transaction generated and distributed by the server, a nonce value by the platform server 140, various control signals, etc.) may be received.

본 개시의 일 실시예에 의하면, 블록 생성/검증 모듈(206)은, 블록체인 네트워크(110)를 위한 블록을 생성하고, 소정의 시간 동안 분산형 컴퓨팅 자원 공유 시스템(100) 상에서 발생한 트랜잭션들을 모아서 적절한 헤더 정보와 함께 그 생성된 블록에 기록할 수 있다. 본 개시의 일 실시예에 의하면, 블록 생성/검증 모듈(206)은, 생성된 블록을 통신 모듈(204)을 통하여 블록체인 네트워크(110) 상에 공지할 수 있다. 본 개시의 일 실시예에 의하면, 블록 생성/검증 모듈(206)은, 블록체인 네트워크(110) 상에 공지된, 다른 자원 공유 노드(130)에 의하여 생성된 블록에 대한 검증을 수행할 수 있다. According to one embodiment of the present disclosure, the block generation / verification module 206 generates a block for the blockchain network 110 and collects transactions occurring on the distributed computing resource sharing system 100 for a predetermined time. The appropriate block information can be written to the generated block. According to one embodiment of the present disclosure, the block generation / verification module 206 may announce the generated block on the blockchain network 110 through the communication module 204. According to an embodiment of the present disclosure, the block generation / verification module 206 may perform verification on a block generated by another resource sharing node 130, which is known on the blockchain network 110. .

본 개시의 일 실시예에 의하면, 블록 생성/검증 모듈(206)은, 연관된 공유 컴퓨팅 자원(예컨대, 처리 장치 유닛)으로부터 주어진 머신러닝 연산의 완료의 통지를 수신하고, 통신 모듈(204) 및 블록체인 네트워크(110) 등을 통해, 이를 플랫폼 서버(140) 등에 통지할 수 있다. 본 개시의 일 실시예에 의하면, 블록 생성/검증 모듈(206)은, 블록체인 네트워크(110) 및 통신 모듈(204) 등을 통해, 플랫폼 서버(140)로부터 소정의 넌스 값을 수신할 수 있고, 수신된 넌스 값을 소정의 해시함수에 적용할 수 있다. 본 개시의 일 실시예에 의하면, 블록 생성/검증 모듈(206)은, 그 넌스 값을 해시함수에 적용하여 얻어진 해시결과가 소정의 기준(예컨대, 블록 생성을 위하여 미리 정해진 소정의 난이도 조건)을 충족하는지 판정할 수 있다. 본 개시의 일 실시예에 의하면, 블록 생성/검증 모듈(206)은, 해시 결과가 위 소정의 기준을 충족하는 것으로 판정된 경우, 해당 넌스 값과 해시 결과를 블록체인 상에 통지할 수 있다. 본 개시의 일 실시예에 의하면, 블록 생성/검증 모듈(206)은, 또한, 블록체인 상의 다른 자원 공유 노드가 블록체인 상에 통지한 넌스 값과 해시 결과를 수신할 수 있고, 수신된 넌스 값과 해시 결과를 해시함수에 적용함으로써 검증할 수 있다.According to one embodiment of the present disclosure, block generation / verification module 206 receives a notification of completion of a given machine learning operation from an associated shared computing resource (eg, a processing unit), and communicates with the communication module 204 and the block. This may be notified to the platform server 140 or the like through the chain network 110 or the like. According to an embodiment of the present disclosure, the block generation / verification module 206 may receive a predetermined nonce value from the platform server 140 through the blockchain network 110, the communication module 204, or the like. The received nonce value can be applied to a predetermined hash function. According to an embodiment of the present disclosure, the block generation / verification module 206 may apply a nonce value to a hash function to obtain a predetermined result (for example, a predetermined difficulty condition predetermined for block generation). Can be determined. According to an embodiment of the present disclosure, the block generation / verification module 206 may notify the nonce value and the hash result on the blockchain when the hash result is determined to satisfy the predetermined criteria. According to one embodiment of the present disclosure, the block generation / verification module 206 may also receive a nonce value and a hash result that another resource sharing node on the blockchain notifies on the blockchain, and receives the received nonce value. We can verify this by applying the hash result to the hash function.

본 개시의 일 실시예에 의하면, 블록체인 분산원장 저장 모듈(208)은, 플랫폼 서버(130)의 제어 하에 또는 분산형 컴퓨팅 자원 공유 시스템(100) 상의 미리 정해진 알고리즘에 따라, 분산형 컴퓨팅 자원 공유 시스템(100)을 위한 블록체인 데이터베이스(즉, 트랜잭션들의 이력을 모두 포함하는 분산 원장)의 적어도 일부를 저장할 수 있다. 본 개시의 일 실시예에 의하면, 블록체인 분산원장 저장 모듈(208)은, 또한, 플랫폼 서버(130)의 제어 하에 또는 분산형 컴퓨팅 자원 공유 시스템(100) 상의 미리 정해진 알고리즘에 따라, 블록체인 네트워크(110) 상의 블록체인에 의해 유지 및 관리되는 스마트 계약에 관한 정보(예컨대, 분산형 컴퓨팅 자원 공유 시스템(100) 상에서의 하드웨어 및/또는 소프트웨어 자원의 공유 사용에 관한 스마트 계약 계정에 관한 정보, 예컨대 각 자원의 위치, 형식, 제공자, 이용자, 이용 이력, 이용 빈도 등 각종 정보를 포함함)의 적어도 일부를 저장할 수 있으며, 다만 본 개시가 이로써 제한되는 것은 아니다.According to an embodiment of the present disclosure, the blockchain distributed ledger storage module 208 may share distributed computing resources under the control of the platform server 130 or according to a predetermined algorithm on the distributed computing resource sharing system 100. Store at least a portion of a blockchain database for the system 100 (ie, a distributed ledger containing all of the history of transactions). In accordance with one embodiment of the present disclosure, the blockchain distributed ledger storage module 208 is also a blockchain network, under the control of the platform server 130 or in accordance with a predetermined algorithm on the distributed computing resource sharing system 100. Information about smart contracts maintained and managed by the blockchain on 110 (eg, information about smart contract accounts regarding the shared use of hardware and / or software resources on distributed computing resource sharing system 100), such as At least a portion of each resource, including various information such as location, format, provider, user, usage history, and usage frequency, etc., but the present disclosure is not limited thereto.

본 개시의 일 실시예에 의하면, 디지털 지갑 관리 모듈(210)은, 자원 공유 노드(130)와 연관된 각 사용자 계정을 위한 지갑 정보를 저장 및 관리할 수 있다. 본 개시의 일 실시예에 의하면, 디지털 지갑 관리 모듈(210)은, 분산형 컴퓨팅 자원 공유 시스템(100) 상에서 지원되는 디지털 화폐에 관한 거래, 예컨대 분산형 컴퓨팅 자원 공유 시스템(100) 상에서의 자원 공유에 따른 보상의 지급 및 수령이나 기타 해당 디지털 화폐에 관한 거래의 정보를 반영하여, 해당 자원 공유 노드(130) 상의 각 사용자 계정을 위한 지갑 정보를 갱신할 수 있다.According to one embodiment of the present disclosure, the digital wallet management module 210 may store and manage wallet information for each user account associated with the resource sharing node 130. According to an embodiment of the present disclosure, the digital wallet management module 210 may perform transactions related to digital currency supported on the distributed computing resource sharing system 100, such as resource sharing on the distributed computing resource sharing system 100. The wallet information for each user account on the resource sharing node 130 may be updated by reflecting the payment and receipt of the reward according to the transaction information and other transaction information related to the digital currency.

도 3은, 본 개시의 일 실시예에 따른, 도 2의 자원 공유 노드(130)에 포함된 블록체인 분산원장 저장 모듈(208)에 저장될 수 있는, 블록체인 및 그에 포함된 각 블록(300)의 구성을 개념적으로 도시한 도면이다. 도시된 바에 의하면, 블록체인은 복수의 블록을 포함하며, 각 블록(300)은 블록 헤더(302)와 복수의 트랜잭션 정보(304a-304n)를 포함할 수 있다.3 is a blockchain and each block 300 included therein, which may be stored in the blockchain distributed ledger storage module 208 included in the resource sharing node 130 of FIG. 2, according to an embodiment of the present disclosure. It is a diagram conceptually showing the configuration of. As shown, the blockchain may include a plurality of blocks, and each block 300 may include a block header 302 and a plurality of transaction information 304a-304n.

본 개시의 일 실시예에 의하면, 블록 헤더(302)는, 이전 블록 헤더의 해시(hash) 값, 넌스(nonce) 값, 해당 블록(300)에 포함될 트랜잭션 정보들(304a-304n)의 머클루트, 블록(300)이 생성된 시간을 나타내는 타임스탬프, 해당 블록(300)의 채굴 난이도 등의 값을 포함할 수 있다. 본 개시의 일 실시예에 의하면, 블록(300)에 포함된 복수의 트랜잭션 정보(304a-304n)는, 소정의 시간 간격 동안, 도 1의 각 자원 공유 노드(130)로부터 분산형 컴퓨팅 자원 공유 시스템(100) 상에 배포된 복수의 트랜잭션 정보일 수 있다. 본 개시의 일 실시예에 의하면, 블록(300)의 트랜잭션 정보(304a-304n)는, 도 1의 자원 공유 노드(130)에 의해서 생성된, 분산형 컴퓨팅 자원 공유 시스템(100) 상에 공유 자원을 제공(즉, 등록)하기 위한 트랜잭션 정보일 수 있다. 본 개시의 일 실시예에 의하면, 트랜잭션 정보(304a-304n)은, 자원 공유 노드(130)에 의해서 생성된, 분산형 컴퓨팅 자원 공유 시스템(100) 상의 공유 자원을 이용하기 위한 트랜잭션 정보일 수 있다.According to an embodiment of the present disclosure, the block header 302 may include a hash value of a previous block header, a nonce value, and a merge of transaction information 304a-304n to be included in the corresponding block 300. , A timestamp indicating the time when the block 300 is generated, and a mining difficulty level of the corresponding block 300. According to one embodiment of the present disclosure, a plurality of transaction information 304a-304n included in block 300 is distributed computing resource sharing system from each resource sharing node 130 of FIG. 1 for a predetermined time interval. It may be a plurality of transaction information distributed on the (100). According to one embodiment of the present disclosure, the transaction information 304a-304n of block 300 is shared resources on the distributed computing resource sharing system 100, generated by the resource sharing node 130 of FIG. 1. Transaction information for providing (ie, registering). According to one embodiment of the present disclosure, transaction information 304a-304n may be transaction information for using shared resources on distributed computing resource sharing system 100, generated by resource sharing node 130. .

도 4는, 본 개시의 일 실시예에 따른, 도 3의 블록(300)에 포함될 수 있는 트랜잭션 정보(304)의 일예로서, 분산형 컴퓨팅 자원 공유 시스템(100) 상에 공유 자원의 제공하기 위한 트랜잭션 정보를 예시적으로 도시한 도면이다. 도시된 바에 의하면, 트랜잭션 정보(304)는, 자원 관리 계정(402), 자원 제공자 계정(404), 자원 등록 실행 명령(406), 및 자원 정보(408)를 포함할 수 있다.4 is an example of transaction information 304 that may be included in block 300 of FIG. 3, in accordance with an embodiment of the present disclosure, for providing shared resources on a distributed computing resource sharing system 100. Illustrates transaction information by way of example. As shown, transaction information 304 may include a resource management account 402, a resource provider account 404, a resource registration execution command 406, and resource information 408.

본 개시의 일 실시예에 의하면, 트랜잭션 정보(304)에 포함된 자원 관리 계정(402)은, 예컨대 분산형 컴퓨팅 자원 공유 시스템(100) 상의 공유 자원의 관리를 위한 스마트 계약 계정의 주소일 수 있다. 본 개시의 일 실시예에 의하면, 트랜잭션 정보(304)에 포함된 자원 제공자 계정(404)은, 해당 공유 자원의 제공을 위한 트랜잭션 생성을 야기한, 사용자(클라이언트)의 계정일 수 있다. 본 개시의 일 실시예에 의하면, 공유 자원의 제공을 위한 트랜잭션 정보(304)에 포함된 자원 등록 실행 명령은, 예컨대 ERC20에 따른 스마트 계약을 위한 프로그램 코드일 수 있으며, 자원 공유 노드(130)에 의해 실행될 경우, 자원 제공자 계정(404)에 의해 공유 제공된 자원의 자원 정보(408)가 자원 관리 계정(402)과 연관하여 저장되도록 할 수 있다. 본 개시의 일 실시예에 의하면, 자원 정보(408)는, 예컨대 해당 자원의 유형, 속성, 위치 등을 비롯한 다양한 정보를 포함할 수 있으며, 본 개시가 이로써 제한되는 것은 아니다.According to one embodiment of the present disclosure, the resource management account 402 included in the transaction information 304 may be, for example, an address of a smart contract account for managing shared resources on the distributed computing resource sharing system 100. . According to one embodiment of the present disclosure, the resource provider account 404 included in the transaction information 304 may be an account of the user (client) that caused the creation of a transaction for provision of the corresponding shared resource. According to an embodiment of the present disclosure, the resource registration execution command included in the transaction information 304 for providing a shared resource may be, for example, a program code for a smart contract according to ERC20, and may be transmitted to the resource sharing node 130. When executed, the resource information 408 of resources shared by the resource provider account 404 may be stored in association with the resource management account 402. According to one embodiment of the present disclosure, the resource information 408 may include various information including, for example, the type, attribute, location, etc. of the corresponding resource, and the present disclosure is not limited thereto.

도 5는, 본 개시의 일 실시예에 따른, 도 1의 자원 공유 노드(130)에 의해서 생성된, 분산형 컴퓨팅 자원 공유 시스템(100) 상에서 소정의 공유 자원을 검색하기 위한 쿼리(500)를 예시적으로 도시한 도면이다. 도시된 바에 의하면, 쿼리(500)는, 자원 관리 계정(502), 자원 검색 실행 명령(504), 및 요청자 계정(506)을 포함할 수 있다.5 illustrates a query 500 for retrieving a given shared resource on the distributed computing resource sharing system 100, generated by the resource sharing node 130 of FIG. 1, in accordance with an embodiment of the present disclosure. Illustrated as an example. As shown, the query 500 may include a resource management account 502, a resource search execution command 504, and a requester account 506.

본 개시의 일 실시예에 의하면, 쿼리(500)에 포함된 자원 관리 계정(502)은, 전술한 바와 같이, 분산형 컴퓨팅 자원 공유 시스템(100) 상의 공유 자원의 관리를 위한 스마트 계약 계정의 주소일 수 있다. 본 개시의 일 실시예에 의하면, 쿼리(500)에 포함된 자원 검색 실행 명령(504)은, 예컨대 ERC20에 따른 프로그램 코드일 수 있으며, 자원 공유 노드(130)에 의해 실행될 경우, 소정의 규격을 갖춘 자원에 대한 검색을 수행하고 그 검색에 대한 응답을 요청자 계정(506)으로 제공하도록 하는 명령일 수 있다. 본 개시의 일 실시예에 의하면, 쿼리(500)에 포함된 요청자 계정(506)은, 해당 쿼리가 생성되도록 한 사용자(클라이언트) 계정일 수 있다. 전술한 바와 같이, 쿼리(500)는, 본 개시의 일 실시예에 의하면, 예컨대 분산형 컴퓨팅 자원 공유 시스템(100) 상에서의 공유 사용에 제공된 하드웨어 및/또는 소프트웨어 자원의 상태의 조회를 위한 것일 뿐, 그 자체로서는 새로운 스마트 계약을 생성 또는 변경하는 것이 아닐 수 있다. 그러므로, 본 개시의 일 실시예에 의하면, 쿼리(500)는, 각 트랜잭션 정보(304)와 달리, 분산형 컴퓨팅 자원 공유 시스템(100)의 블록체인 상에 저장되지는 않을 수 있다.According to one embodiment of the present disclosure, the resource management account 502 included in the query 500 is, as described above, the address of the smart contract account for management of shared resources on the distributed computing resource sharing system 100. Can be. According to an embodiment of the present disclosure, the resource search execution instruction 504 included in the query 500 may be, for example, program code according to ERC20, and when executed by the resource sharing node 130, the predetermined specification may be determined. Command to perform a search for the available resources and provide a response to the search to requestor account 506. According to one embodiment of the present disclosure, the requestor account 506 included in the query 500 may be a user (client) account for generating the corresponding query. As noted above, the query 500 is, according to one embodiment of the present disclosure, for example only for querying the status of hardware and / or software resources provided for shared use on the distributed computing resource sharing system 100. , By itself, may not be creating or modifying a new smart contract. Therefore, according to one embodiment of the present disclosure, the query 500 may not be stored on the blockchain of the distributed computing resource sharing system 100, unlike each transaction information 304.

도 6은, 본 개시의 일 실시예에 따른, 도 3의 블록(300)에 포함된 트랜잭션 정보(304)의 일예로서, 분산형 컴퓨팅 자원 공유 시스템(100) 상의 공유 자원의 이용을 요청하기 위한 트랜잭션 정보를 예시적으로 도시한 도면이다. 도시된 바에 의하면, 트랜잭션 정보(304)는, 자원 관리 계정(602), 자원 이용자 계정(604), 자원 이용 실행 명령(606), 및 이용 자원 정보(608)를 포함할 수 있다.FIG. 6 is an example of transaction information 304 included in block 300 of FIG. 3, in accordance with an embodiment of the present disclosure, for requesting use of shared resources on distributed computing resource sharing system 100. Illustrates transaction information by way of example. As shown, the transaction information 304 may include a resource management account 602, a resource user account 604, a resource usage execution command 606, and a utilization resource information 608.

본 개시의 일 실시예에 의하면, 트랜잭션 정보(304)에 포함된 자원 관리 계정(602)은, 예컨대 분산형 컴퓨팅 자원 공유 시스템(100) 상의 공유 자원의 관리를 위한 스마트 계약 계정의 주소일 수 있다. 본 개시의 일 실시예에 의하면, 트랜잭션 정보(304)에 포함된 자원 이용자 계정(604)은, 해당 공유 자원의 이용 요청을 위한 트랜잭션의 생성을 야기한, 사용자(클라이언트)의 계정일 수 있다. 본 개시의 일 실시예에 의하면, 공유 자원의 이용 요청을 위한 트랜잭션 정보(304)에 포함된 자원 이용 실행 명령은, 예컨대 ERC20에 따른 스마트 계약을 위한 프로그램 코드일 수 있으며, 자원 공유 노드(130)에 의해 실행될 경우, 해당 요청에 따라 정해진 자원이 자원 이용자 계정(404)과 연관되어 이용(및 이용에 관한 정보가 저장)되도록 할 수 있다. 본 개시의 일 실시예에 의하면, 자원 정보(408)는, 해당 자원의 유형, 속성, 위치, 이용량 등을 비롯한 다양한 정보를 포함할 수 있으며, 본 개시가 이로써 제한되는 것은 아니다. According to one embodiment of the present disclosure, the resource management account 602 included in the transaction information 304 may be, for example, an address of a smart contract account for managing shared resources on the distributed computing resource sharing system 100. . According to one embodiment of the present disclosure, the resource user account 604 included in the transaction information 304 may be an account of the user (client) that caused the creation of a transaction for the use request of the shared resource. According to an embodiment of the present disclosure, the resource use execution command included in the transaction information 304 for requesting the use of the shared resource may be, for example, program code for a smart contract according to ERC20, and the resource sharing node 130 When executed by, the resource determined in accordance with the request may be associated with the resource user account 404 to be used (and information about usage is stored). According to one embodiment of the present disclosure, the resource information 408 may include various information including a type, an attribute, a location, a usage amount, and the like of the corresponding resource, and the present disclosure is not limited thereto.

도 7은, 본 개시의 일 실시예에 따른, 도 1의 플랫폼 서버(140)의 기능적 구성을 개략적으로 도시한 기능 블록도이다. 도시된 바에 의하면, 플랫폼 서버(140)는, 통신 모듈(702), 공유 자원 분배 모듈(704), 블록 생성/검증 관리 모듈(706), 및 평가/보상 모듈(708)을 포함한다.7 is a functional block diagram schematically illustrating the functional configuration of the platform server 140 of FIG. 1, according to an embodiment of the present disclosure. As shown, the platform server 140 includes a communication module 702, a shared resource distribution module 704, a block generation / validation management module 706, and an evaluation / reward module 708.

본 개시의 일 실시예에 의하면, 통신 모듈(702)은, 플랫폼 서버(140)가 블록체인 네트워크(110)와 소정의 프로토콜에 따라 통신할 수 있도록 동작할 수 있다. 본 개시의 일 실시예에 의하면, 통신 모듈(702)은, 블록체인 네트워크(110)를 통하여 각 자원 공유 노드들(130)로부터 배포된 각종 트랜잭션 등을 수신할 수 있다.According to an embodiment of the present disclosure, the communication module 702 may operate so that the platform server 140 may communicate with the blockchain network 110 according to a predetermined protocol. According to an embodiment of the present disclosure, the communication module 702 may receive various transactions and the like distributed from each resource sharing node 130 through the blockchain network 110.

본 개시의 일 실시예에 의하면, 소정의 자원 이용 요청을 포함하는 트랜잭션이 수신된 경우, 공유 자원 분배 모듈(704)은, 그 수신된 트랜잭션으로부터 획득된 정보에 따라, 소정의 알고리즘에 기초하여, 분산형 컴퓨팅 자원 공유 시스템(100) 상에서 이용 가능한 자원들 가운데 적절한 자원을 해당 요청에 할당할 수 있다. 본 개시의 일 실시예에 의하면, 공유 자원 분배 모듈(704)는, 소정의 연산(예컨대, 머신러닝 연산)을 공유 컴퓨팅 자원 영역(120)의 각 처리 장치 유닛 자원에 할당하는 것과 관련하여, 각 처리 장치 유닛 자원에 할당되는 연산의 실행에 걸리는 시간이 균등하게 되도록 할당할 수 있다.According to one embodiment of the present disclosure, when a transaction including a predetermined resource use request is received, the shared resource distribution module 704 may, based on a predetermined algorithm, according to information obtained from the received transaction, Appropriate resources among the resources available on the distributed computing resource sharing system 100 may be allocated to the request. According to one embodiment of the present disclosure, the shared resource distribution module 704 is further configured to assign a predetermined operation (eg, a machine learning operation) to each processing unit unit resource of the shared computing resource area 120. It can be allocated so that the time taken for the execution of the operation allocated to the processing unit unit resource is equalized.

본 개시의 일 실시예에 의하면, 공유 자원 분배 모듈(704)은, 수신된 트랜잭션 상의 자원 이용 요청과 그에 대응하여 이루어진 자원의 할당에 관한 정보를 반영하여, 자원 관리 계정에 연관된 해당 자원에 관한 정보가 갱신되도록 할 수 있다. 본 개시의 일 실시예에 의하면, 공유 자원 분배 모듈(704)은 또한 분산형 컴퓨팅 자원 공유 시스템(100)을 위한 블록체인 데이터베이스(즉, 분산 원장)의 적어도 일부를 저장하도록 각 자원 공유 노드(130)를 제어/관리할 수 있으며, 다만 본 개시가 이로써 제한되는 것은 아니다.According to one embodiment of the present disclosure, the shared resource distribution module 704 reflects information on resource usage requests on the received transactions and the allocation of resources made corresponding thereto, so as to provide information on the corresponding resources associated with the resource management account. Can be updated. According to one embodiment of the present disclosure, the shared resource distribution module 704 also stores each resource sharing node 130 to store at least a portion of a blockchain database (ie, a distributed ledger) for the distributed computing resource sharing system 100. ) May be controlled / managed, but the present disclosure is not limited thereto.

본 개시의 일 실시예에 의하면, 블록 생성/검증 관리 모듈(706)은, 소정의 기준에 따라, 일련의 넌스 값을 생성할 수 있다. 본 개시의 일 실시예에 의하면, 블록 생성/검증 관리 모듈(706)은, 임의의 자원 공유 노드(130)로부터 그 자원 공유 노드(130)에 연관된 소정의 처리 유닛에 의한 미리 정해진 연산의 수행 완료의 통지를 수신할 수 있다. 본 개시의 일 실시예에 의하면, 블록 생성/검증 관리 모듈(706)은, 생성된 일련의 넌스 값을 각 자원 공유 노드(130)에 순차적으로 할당 및 전송할 수 있다. 본 개시의 일 실시예에 의하면, 넌스 값은, 전술한 바와 같이, 해당 자원 공유 노드(130) 상에서 소정의 해시함수에 대한 입력으로 사용될 수 있다. According to one embodiment of the present disclosure, the block generation / verification management module 706 may generate a series of nonce values according to a predetermined criterion. According to one embodiment of the present disclosure, the block generation / verification management module 706 completes the execution of a predetermined operation by any processing unit associated with the resource sharing node 130 from any resource sharing node 130. Receive notification of. According to an embodiment of the present disclosure, the block generation / verification management module 706 may sequentially allocate and transmit the generated nonce value to each resource sharing node 130. According to an embodiment of the present disclosure, the nonce value may be used as an input to a predetermined hash function on the corresponding resource sharing node 130 as described above.

본 개시의 일 실시예에 의하면, 평가/보상 모듈(708)은, 분산형 컴퓨팅 자원 공유 시스템(100) 상에 공유를 위하여 제공된 각 자원과 관련하여, 소정의 기준에 따라 각 자원에 대한 평가(예컨대, 각 자원의 분산형 컴퓨팅 자원 공유 시스템(100)에 대한 기여도 등에 관한 평가)를 수행할 수 있다. 본 개시의 일 실시예에 의하면, 평가/보상 모듈(708)은, 위 평가 결과에 따라, 각 자원의 제공자에게 그에 부합하는 합당한 보상이 이루어지도록 관리할 수 있다. 본 명세서에서는, 분산형 컴퓨팅 자원 공유 시스템(100)이 플랫폼 서버(140)를 포함하고, 플랫폼 서버(140)를 통해 공유 자원의 할당(분배)과 블록 생성/검증의 관리를 수행하는 것으로 설명되었으나, 본 개시가 이로써 제한되는 것은 아니다. 본 개시의 다른 실시예에 의하면, 분산형 컴퓨팅 자원 공유 시스템(100)은 플랫폼 서버(140)를 포함하지 않을 수 있고, 공유 자원의 이용 요청에 따른 자원의 할당이나 블록의 생성 및 검증의 관리가 분산형 컴퓨팅 자원 공유 시스템(100) 상에 미리 정해진 알고리즘에 따라 자동으로 수행될 수도 있음을 알아야 한다.According to one embodiment of the present disclosure, the evaluation / compensation module 708 is configured to evaluate each resource according to a predetermined criterion in relation to each resource provided for sharing on the distributed computing resource sharing system 100. For example, evaluation of each resource's contribution to the distributed computing resource sharing system 100 may be performed. According to an embodiment of the present disclosure, the evaluation / compensation module 708 may manage the provider of each resource to make a reasonable compensation according to the evaluation result. In the present specification, the distributed computing resource sharing system 100 includes a platform server 140, and has been described as performing management of allocation (distribution) and block generation / verification of shared resources through the platform server 140. However, the present disclosure is not limited thereto. According to another exemplary embodiment of the present disclosure, the distributed computing resource sharing system 100 may not include the platform server 140, and management of resource allocation or block generation and verification according to a request for using a shared resource may be performed. It should be noted that the distributed computing resource sharing system 100 may be automatically performed according to a predetermined algorithm.

도 8은, 본 개시의 일 실시예에 따른, 도 1의 자원 공유 노드(130)를 통해 분산형 컴퓨팅 자원 공유 시스템(100) 상으로 공유 자원의 제공이 이루어지는 과정의 일 예를 개략적으로 도시한 동작 흐름도이다.FIG. 8 schematically illustrates an example of a process of providing shared resources on the distributed computing resource sharing system 100 through the resource sharing node 130 of FIG. 1, according to an embodiment of the present disclosure. This is a flow chart.

먼저, 단계(802)에서, 자원 공유 노드(130) 상의 자원 제공자(예컨대, 자신이 보유한 소정의 GPU 자원, 저장 유닛, 데이터 세트 또는 학습 모델 등의 자원이 분산형 컴퓨팅 자원 공유 시스템(100) 상에서 공유 이용될 수 있도록 제공하려는 사용자)가 해당 자원 공유 노드(130)를 통하여, 자원의 공유 제공을 위한 트랜잭션(즉, 자원 제공 등록 트랜잭션)을 생성할 수 있다. 그런 다음, 단계(804)에서는, 그 생성된 트랜잭션이 블록체인 네트워크(110) 상에 배포될 수 있다. 본 개시의 일 실시예에 의하면, 블록체인 네트워크(110) 상에 배포된 트랜잭션은 플랫폼 서버(140)와 기타 다른 자원 공유 노드들(130) 모두에 의해 수신될 수 있다. 본 개시의 일 실시예에 의하면, 자원 제공 등록 트랜잭션을 수신한 블록체인(예컨대, 블록체인 상의 자원 공유 노드들(130))은 그 수신된 트랜잭션을 처리하고, 새로이 생성된 블록에 자원 제공 등록 트랜잭션을 기록할 수 있다. 본 개시의 일 실시예에 의하면, 단계(806)에서, 블록체인(예컨대, 블록체인 상의 각 자원 공유 노드들(130))에 의해, 트랜잭션이 처리되고, 그에 따라 자원 관리 계정이 갱신(즉, 해당 자원의 등록)이 수행될 수 있다. First, in step 802, a resource provider (eg, a predetermined GPU resource, a storage unit, a data set, or a learning model) held by the resource provider on the resource sharing node 130 is distributed on the distributed computing resource sharing system 100. A user who wants to provide a shared use may generate a transaction (ie, a resource provision registration transaction) for sharing a resource through a corresponding resource sharing node 130. Then, in step 804, the generated transaction can be distributed on the blockchain network 110. According to one embodiment of the present disclosure, a transaction distributed on blockchain network 110 may be received by both platform server 140 and other resource sharing nodes 130. According to one embodiment of the present disclosure, a blockchain (eg, resource sharing nodes 130 on a blockchain) that receives a resource provision registration transaction processes the received transaction and provides a resource provision registration transaction to the newly created block. Can be recorded. According to one embodiment of the present disclosure, in step 806, a transaction is processed by the blockchain (eg, each resource sharing node 130 on the blockchain), thereby updating the resource management account (ie, Registration of the corresponding resource) may be performed.

도 9는, 본 개시의 일 실시예에 따른, 분산형 컴퓨팅 자원 공유 시스템(100) 상에서 수행되는, 데이터 자원의 공유 요청, 제공 및 이용의 과정의 일 예를 개략적으로 도시한 동작 흐름도이다.9 is an operational flow diagram schematically illustrating an example of a process of requesting, providing, and using data resources, performed on a distributed computing resource sharing system 100, according to an embodiment of the present disclosure.

도시된 바에 의하면, 먼저 단계(902)에서, 자원 공유 노드(130) 상의 자원 요청자(예컨대, 머신러닝을 위하여 소정의 데이터 세트를 활용하기 원하는 개발자로서의 사용자)가 해당 자원 공유 노드(130)를 통해 자신이 원하는 자원(예컨대, 소정의 데이터 세트)에 관한 이용 요청 트랜잭션(예컨대, 데이터 이용 요청 트랜잭션)을 생성할 수 있다. 본 개시의 일 실시예에 의하면, 소정의 데이터 세트에 관한 이용 요청 트랜잭션은, 요청되는 데이터 세트의 구체적인 스펙(예컨대, 데이터 내용, 포맷 등)을 포함할 수 있다. 그런 다음, 단계(904)에서 그 생성된 트랜잭션이 블록체인 네트워크(110) 상에 배포될 수 있다. 본 개시의 일 실시예에 의하면, 블록체인 네트워크(110) 상에 배포된 트랜잭션은 플랫폼 서버(140)와 기타 다른 자원 공유 노드들(130) 모두에 의해 수신될 수 있다. As shown, first at step 902, a resource requestor on a resource sharing node 130 (e.g., a user as a developer who wants to utilize a given data set for machine learning) is passed through the resource sharing node 130; It may create a use request transaction (eg, a data use request transaction) for a resource (eg, a given data set) that it desires. According to one embodiment of the present disclosure, the use request transaction for a given data set may include a specific specification (eg, data content, format, etc.) of the requested data set. Then, in step 904, the generated transaction can be distributed on the blockchain network 110. According to one embodiment of the present disclosure, a transaction distributed on blockchain network 110 may be received by both platform server 140 and other resource sharing nodes 130.

단계(906)에서는, 전술한 데이터 이용 요청 트랜잭션을 수신한 자원 공유 노드들(130) 가운데 하나의 자원 공유 노드가 그 트랜잭션의 요구에 부합하는 자원, 예컨대 데이터 세트를 생성할 수 있다. 그런 다음, 단계(908)에서 해당 자원 공유 노드는, 그 생성된 데이터 세트에 관한 공유 제공 트랜잭션을 생성하고 블록체인 네트워크(110)를 통해 이를 배포할 수 있다. 단계(910)에서는, 단계(908)에서 배포된 데이터 공유 제공 트랜잭션이 블록체인 상에서 처리되고 해당 데이터 자원이 자원 관리 계정과 연관되어 등록 및 저장될 수 있다. 단계(906) 내지 단계(910)의 과정은, 전술한 도 8에서의 동작 흐름에 대응하며 그에 관한 개시 내용을 참조할 수 있을 것이다.In step 906, one of the resource sharing nodes 130 that has received the aforementioned data use request transaction may generate a resource, such as a data set, that meets the needs of the transaction. Then, in step 908, the resource sharing node may create a share offer transaction for the generated data set and distribute it through the blockchain network 110. In step 910, the data sharing provision transaction distributed in step 908 may be processed on the blockchain and the corresponding data resource may be registered and stored in association with the resource management account. The process of steps 906 to 910 may correspond to and refer to the disclosure regarding the operational flow in FIG. 8 described above.

그런 다음, 단계(912)에서는, 앞서 수신된 데이터 이용 요청 트랜잭션(904)에 대응하여, 요청된 자원(예컨대, 소정의 데이터 세트 자원)이 해당 요청자를 위하여 할당되고, 해당 자원의 할당 및 이용에 관한 사항이 자원 관리 계정과 연관되어 저장될 수 있다. 이어서, 단계(914)에서는, 자원 요청자를 위하여, 해당 자원의 이용이 이루어질 수 있다. Then, in step 912, in response to the previously received data use request transaction 904, the requested resource (e.g., a given data set resource) is allocated for the requestor and is assigned to the allocation and use of that resource. May be stored in association with the resource management account. Subsequently, in step 914, the use of the resource may be made for the resource requester.

본 개시의 일 실시예에 의하면, 자원 이용 요청 트랜잭션에 부합하는 자원이 소정의 데이터 세트이고, 그 데이터 세트가 분산형 컴퓨팅 자원 공유 시스템(100) 상의 복수 위치의 저장 유닛(예컨대, 복수의 공유 컴퓨팅 자원 영역들(120))에 분산 저장된 경우, 자원 요청자를 위하여 해당 데이터 세트의 각 부분이 위 복수 위치의 저장 유닛(예컨대, 복수의 공유 컴퓨팅 자원 영역들(120))으로부터 병렬 전송될 수 있고, 이로써 대용량 데이터의 전송에 따른 전송 속도의 문제가 해결될 수 있다. 본 개시의 일 실시예에 의하면, 복수의 저장 유닛들 중 어느 저장 유닛으로부터 데이터 세트의 어떤 부분이 전송될 것인지의 구체적인 사항은, 예컨대 플랫폼 서버(140)의 공유 자원 분배 모듈(704)에 의해, 자원들 간의 거리(예컨대 연산에 관여하는 하드웨어 자원들과 연산에 이용될 데이터 세트의 저장 유닛 간의 거리 등) 또는 통신 시간 등을 고려하여 전체 시스템의 효율을 최대화할 수 있는 방향으로 수행될 수 있음을 알아야 한다(다만, 본 개시가 이로써 제한되는 것은 아님). 본 개시의 일 실시예에 의하면, 자원 이용 요청 트랜잭션에 부합하는 자원이 소정의 데이터 세트이고, 그 데이터 세트가 분산형 컴퓨팅 자원 공유 시스템(100) 상의 하나의 저장 유닛(예컨대, 하나의 공유 컴퓨팅 자원 영역(120))에 저장된 경우, 자원 요청자를 위한 머신러닝 연산이, 해당 저장 유닛과 같은 위치(즉, 그 저장 유닛이 속한 공유 컴퓨팅 자원 영역(120))의 GPU에 의해 수행될 수 있고, 이로써 대용량 데이터의 전송에 따른 전송 속도의 문제가 해결될 수 있다. According to an embodiment of the present disclosure, a resource corresponding to a resource use request transaction is a predetermined data set, and the data set is a storage unit of multiple locations on the distributed computing resource sharing system 100 (eg, a plurality of shared computings). When distributed and stored in the resource areas 120, each part of the corresponding data set may be transmitted in parallel from the above storage units (e.g., the plurality of shared computing resource areas 120) for the resource requester. This can solve the problem of the transmission speed due to the transmission of large data. According to one embodiment of the present disclosure, the details of which part of the data set is to be transmitted from which of the plurality of storage units, for example, by the shared resource distribution module 704 of the platform server 140, The distance between the resources (e.g., the distance between the hardware resources involved in the operation and the storage unit of the data set to be used in the operation) or the communication time, etc. It should be understood, however, that the present disclosure is not limited thereto. According to an embodiment of the present disclosure, a resource corresponding to a resource use request transaction is a predetermined data set, and the data set is one storage unit (eg, one shared computing resource on the distributed computing resource sharing system 100). When stored in region 120, machine learning operations for the resource requester may be performed by the GPU at the same location as the storage unit (ie, shared computing resource region 120 to which the storage unit belongs), thereby The problem of the transmission speed due to the transmission of a large amount of data can be solved.

단계(914)에서, 자원 요청자에 의한 자원의 이용이 이루어지고 나면, 단계(916)에서는 자원 요청자(의 디지털 지갑)로부터 해당 자원의 이용에 대한 정산이 이루어지고 아울러 해당 자원의 제공자에 대한 정당한 보상이 이루어질 수 있다. 본 개시의 일 실시예에 의하면, 단계(916)에서 수행되는 자원 이용에 대한 정산은, 자원 이용 요청 트랜잭션 상에 포함된 스마트 계약을 통하여 자동으로 이루어질 수 있다. 본 개시의 일 실시예에 의하면, 자원 이용 요청 트랜잭션 상의 스마트 계약을 통한 정산은, 소정의 사용료가 자원 요청자(이용자)의 디지털 지갑으로부터 플랫폼 서버(140)에 제공됨으로써 이루어질 수 있다(다만 본 개시가 이로써 제한되는 것은 아님). 본 개시의 일 실시예에 의하면, 각 자원 요청자(이용자)로부터 수신된 사용료 중 일부는, 플랫폼 서버(140)에 의해서, 분산형 컴퓨팅 자원 공유 시스템(100)에 제공된 각 자원의 자원 제공자에 대해 제공 자원의 양에 따라 분배되는 형태로 일부 정산될 수 있다(다만 본 개시가 이로써 제한되는 것은 아님). 본 개시의 일 실시예에 의하면, 각 자원 요청자(이용자)로부터 수신된 사용료 중 일부는, 플랫폼 서버(140)에 의해서, 그 제공된 자원에 대한 평가(예컨대, 해당 자원의 전체 분산형 컴퓨팅 자원 공유 시스템(100)에 대한 기여도 평가) 등에 기초하여, 각 자원의 자원 제공자에 대해 차등 분배되는 형태로 일부 정산될 수 있다(다만 본 개시가 이로써 제한되는 것은 아님).In step 914, after the use of the resource is made by the resource requester, in step 916 the settlement of the use of the resource is made from the resource requester (of the digital wallet) and the right reward for the provider of the resource. This can be done. According to one embodiment of the present disclosure, the settlement for resource usage performed in step 916 may be automatically made through a smart contract included in the resource usage request transaction. According to one embodiment of the present disclosure, settlement through a smart contract on a resource use request transaction may be made by a predetermined fee being provided to the platform server 140 from the digital wallet of the resource requester (user) (but the present disclosure Not limited thereto). According to one embodiment of the present disclosure, some of the fee received from each resource requester (user) is provided by the platform server 140 to the resource provider of each resource provided to the distributed computing resource sharing system 100. Some settlements may be made in the form of distribution depending on the amount of resources (although this disclosure is not so limited). According to one embodiment of the present disclosure, some of the royalties received from each resource requester (user) are evaluated by the platform server 140 for the provided resources (eg, the entire distributed computing resource sharing system of the corresponding resources). Based on the contribution evaluation to 100), etc., but may be partially settled in the form of differential distribution to the resource providers of each resource (though the present disclosure is not limited thereto).

본 명세서에서는, 주로, 공유되는 자원의 분배 및 할당, 블록의 생성 및 저장, 자원 이용에 정산 및 보상 등이 플랫폼 서버(140)의 개입 하에 이루어지는 것으로 설명되었으나, 본 개시가 이로써 제한되는 것은 아니다. 본 개시의 다른 실시예에 의하면, 분산형 컴퓨팅 자원 공유 시스템(100) 상에서 미리 정의된 알고리즘에 따라 그러한 동작이 플랫폼 서버(140)의 개입 없이 이루어질 수도 있음을 알아야 할 것이다. In the present specification, mainly, the distribution and allocation of shared resources, generation and storage of blocks, settlement and compensation for resource use, etc. have been described under the intervention of the platform server 140, but the present disclosure is not limited thereto. According to another embodiment of the present disclosure, it should be appreciated that such an operation may be performed without the intervention of the platform server 140 according to a predefined algorithm on the distributed computing resource sharing system 100.

당업자라면 알 수 있듯이, 본 개시가 본 명세서에 기술된 예시에 한정되는 것이 아니라 본 개시의 범주를 벗어나지 않는 범위 내에서 다양하게 변형, 재구성 및 대체될 수 있다. 본 명세서에 기술된 다양한 기술들은 하드웨어 또는 소프트웨어, 또는 하드웨어와 소프트웨어의 조합에 의해 구현될 수 있음을 알아야 한다.As will be appreciated by those skilled in the art, the present disclosure is not limited to the examples described herein but may be variously modified, reconfigured and replaced without departing from the scope of the present disclosure. It should be appreciated that the various techniques described herein may be implemented by hardware or software, or a combination of hardware and software.

본 개시의 일 실시예에 따른 컴퓨터 프로그램은, 컴퓨터 프로세서 등에 의해 판독 가능한 저장 매체, 예컨대 EPROM, EEPROM, 플래시 메모리장치와 같은 비휘발성 메모리, 내장형 하드 디스크와 착탈식 디스크 같은 자기 디스크, 광자기 디스크, 및 CDROM 디스크 등을 포함한 다양한 유형의 저장 매체에 저장된 형태로 구현될 수 있다. 또한, 프로그램 코드(들)는 어셈블리어나 기계어로 구현될 수 있다. 본 개시의 진정한 사상 및 범주에 속하는 모든 변형 및 변경을 이하의 특허청구범위에 의해 모두 포괄하고자 한다.A computer program according to an embodiment of the present disclosure may include a storage medium readable by a computer processor or the like, such as an EPROM, an EEPROM, a nonvolatile memory such as a flash memory device, a magnetic disk such as an internal hard disk and a removable disk, a magneto-optical disk, and It may be implemented in a form stored in various types of storage media, including a CDROM disk. In addition, the program code (s) may be implemented in assembly or machine language. All modifications and changes that fall within the true spirit and scope of this disclosure are intended to be covered by the following claims.

Claims (10)

서버와 복수의 노드를 포함하는, 블록체인에 기반한 분산형 컴퓨팅 자원 공유 시스템 상의 노드에서 수행되는 채굴 방법으로서,
소정의 연산을 실행하도록 하는 지시를 수신하는 단계;
상기 수신된 지시에 따른 상기 연산의 실행 완료를 상기 서버에 통지하는 단계;
상기 통지에 응답하여, 상기 서버로부터 소정의 넌스(nonce) 값을 수신하는 단계;
상기 넌스 값을 소정의 해시함수에 적용하는 단계;
상기 넌스 값을 상기 소정의 해시함수에 적용하여 얻어진 해시결과가 소정의 기준을 충족하는지 판정하는 단계; 및
상기 해시결과가 상기 소정의 기준을 충족하는 것으로 판정된 경우, 상기 넌스 값과 상기 해시 결과를 상기 블록체인 상에 통지하는 단계
를 포함하는, 채굴 방법.
A mining method performed at a node on a blockchain-based distributed computing resource sharing system including a server and a plurality of nodes,
Receiving an instruction to execute a predetermined operation;
Notifying the server of completion of execution of the operation according to the received instruction;
In response to the notification, receiving a predetermined nonce value from the server;
Applying the nonce value to a predetermined hash function;
Determining whether a hash result obtained by applying the nonce value to the predetermined hash function satisfies a predetermined criterion; And
If it is determined that the hash result satisfies the predetermined criteria, notifying the blockchain of the nonce value and the hash result.
Including, mining method.
제1항에 있어서,
상기 연산은, 소정의 머신러닝 코드의 소정 횟수의 실행의 연산을 포함하는, 채굴 방법.
The method of claim 1,
And said operation includes an operation of a predetermined number of executions of a predetermined machine learning code.
제1항에 있어서,
상기 노드가,
상기 복수의 노드 중 다른 노드로부터 넌스 값과 해시 결과를 수신하는 단계; 및
상기 다른 노드로부터 수신된 상기 넌스 값 및 상기 해시 결과를, 상기 해시 함수에 적용하여 검증하는 단계
를 포함하는, 채굴 방법.
The method of claim 1,
The node,
Receiving a nonce value and a hash result from another node of the plurality of nodes; And
Verifying the nonce value and the hash result received from the other node by applying the hash function.
Including, mining method.
제1항에 있어서,
상기 소정의 기준은, 상기 블록체인 상에서 소정 시간 간격으로 새로운 블록이 생성될 수 있도록 정해진 것인, 채굴 방법.
The method of claim 1,
The predetermined criterion is a mining method that is determined such that new blocks can be generated at predetermined time intervals on the blockchain.
서버와 복수의 노드를 포함하는, 블록체인에 기반한 분산형 컴퓨팅 자원 공유 시스템 상에서 상기 서버에 의해 수행되는 채굴 지원 방법으로서,
외부로부터, 하나 이상의 작업의 요청- 상기 하나 이상의 작업 각각은 각각 소정의 연산의 소정 횟수의 실행을 포함함 -을 수신하는 단계;
상기 하나 이상의 작업에 따른 연산들의 실행을, 상기 복수의 노드 상에 할당하는 단계;
상기 복수의 노드 중 임의의 하나의 노드로부터, 상기 하나의 노드에 대한 상기 할당된 연산들의 실행을 완료하였음을 알리는 통지를 수신하는 단계; 및
상기 통지의 수신에 응답하여, 상기 하나의 노드에 대하여, 소정의 넌스 값을 전송하는 단계- 상기 넌스 값은, 상기 서버 상에서 생성된 복수의 값들 중 하나이며, 상기 하나의 노드에 의하여 해시함수의 입력으로 사용됨 -
를 포함하는 채굴 지원 방법.
A mining support method performed by the server on a blockchain-based distributed computing resource sharing system including a server and a plurality of nodes,
Receiving, from the outside, a request for one or more tasks, each of the one or more tasks comprising a predetermined number of executions of a predetermined operation;
Allocating execution of operations according to the one or more tasks on the plurality of nodes;
Receiving, from any one of the plurality of nodes, a notification indicating completion of execution of the assigned operations for the one node; And
In response to receiving the notification, transmitting, to the one node, a predetermined nonce value, wherein the nonce value is one of a plurality of values generated on the server, the hash function of the one being of a hash function. Used as input-
Mining support method comprising a.
제5항에 있어서,
상기 연산들의 실행을 상기 복수의 노드 상에 할당하는 단계는, 상기 복수의 노드 상에서 상기 연산들의 실행에 걸리는 시간이 균등하게 되도록 할당하는 단계를 포함하는,
The method of claim 5,
Allocating execution of the operations on the plurality of nodes includes allocating such that the time taken to execute the operations on the plurality of nodes is equalized.
제5항에 있어서,
상기 연산 각각은, 소정의 머신러닝 코드의 실행을 포함하는, 채굴 지원 방법.
The method of claim 5,
Wherein each of the operations includes execution of predetermined machine learning code.
제5항에 있어서,
상기 넌스 값은, 상기 하나의 노드 상에서 상기 해시함수의 입력으로 사용될 경우, 그에 대응하여 상기 해시함수로부터 획득되는 해시결과가 소정의 기준을 충족하도록 하는, 채굴 지원 방법.
The method of claim 5,
And the nonce value, when used as an input of the hash function on the one node, causes a hash result obtained from the hash function correspondingly to satisfy a predetermined criterion.
제8항에 있어서,
상기 소정의 기준은, 상기 블록체인 상에서 소정 시간 간격으로 새로운 블록이 생성될 수 있도록 정해진 것인, 채굴 지원 방법.
The method of claim 8,
The predetermined criterion is that the new block is determined so that new blocks can be generated at predetermined time intervals on the blockchain.
컴퓨터에 의해 실행 가능한 명령어들이 기록된 컴퓨터 판독가능 기록매체로서, 상기 명령어들은, 상기 컴퓨터에 의해 실행될 경우, 상기 컴퓨터로 하여금, 제1항 내지 제9항 중 어느 한 항에 따른 방법을 수행하도록 하는, 컴퓨터 판독가능 기록매체.A computer readable recording medium having recorded thereon instructions executable by a computer, wherein the instructions, when executed by the computer, cause the computer to perform the method according to any one of claims 1 to 9. Computer-readable recording medium.
KR1020180098199A 2018-08-22 2018-08-22 Method for performing mining in parallel with machine learning and method for supproting the mining, in a distributed computing resource shring system based on block chain KR102221925B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180098199A KR102221925B1 (en) 2018-08-22 2018-08-22 Method for performing mining in parallel with machine learning and method for supproting the mining, in a distributed computing resource shring system based on block chain

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180098199A KR102221925B1 (en) 2018-08-22 2018-08-22 Method for performing mining in parallel with machine learning and method for supproting the mining, in a distributed computing resource shring system based on block chain

Publications (2)

Publication Number Publication Date
KR20200022273A true KR20200022273A (en) 2020-03-03
KR102221925B1 KR102221925B1 (en) 2021-03-04

Family

ID=69938277

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180098199A KR102221925B1 (en) 2018-08-22 2018-08-22 Method for performing mining in parallel with machine learning and method for supproting the mining, in a distributed computing resource shring system based on block chain

Country Status (1)

Country Link
KR (1) KR102221925B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102414702B1 (en) * 2021-10-08 2022-06-28 이온어스(주) Method, device and system for providing service of monitoring new and renewable energy based on artificial intelligence
CN116882522A (en) * 2023-09-07 2023-10-13 湖南视觉伟业智能科技有限公司 Distributed space-time mining method and system

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150116477A (en) * 2014-04-07 2015-10-16 그린캣소프트(주) Method and System for Mining Digital Currency at PC-Bang
KR20170040079A (en) * 2016-05-03 2017-04-12 안규태 Block chain supporting multiple one-way functions used for verification of blocks
KR101758870B1 (en) * 2017-02-13 2017-07-18 주식회사 온더 Mining Rig Monitoring System And Mining Rig Monitoring Method In Using Same
KR101837169B1 (en) * 2016-12-29 2018-03-09 주식회사 코인플러그 Method for providing secret electronic voting service on the basis of blockchain with merkle tree structure by using zero knowledge proof algorithm, and voting coin minter server, voting token distributor server and voting supporting server using the same
KR101852079B1 (en) 2018-03-16 2018-04-27 주식회사 미탭스플러스 Distributed Ledger Device and Distributed Ledger Method for Game Difficulty Control based on Block Chain
JP6345871B1 (en) * 2017-12-27 2018-06-20 株式会社グルーツ Virtual currency management device, virtual currency management method and program

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150116477A (en) * 2014-04-07 2015-10-16 그린캣소프트(주) Method and System for Mining Digital Currency at PC-Bang
KR20170040079A (en) * 2016-05-03 2017-04-12 안규태 Block chain supporting multiple one-way functions used for verification of blocks
KR101837169B1 (en) * 2016-12-29 2018-03-09 주식회사 코인플러그 Method for providing secret electronic voting service on the basis of blockchain with merkle tree structure by using zero knowledge proof algorithm, and voting coin minter server, voting token distributor server and voting supporting server using the same
KR101758870B1 (en) * 2017-02-13 2017-07-18 주식회사 온더 Mining Rig Monitoring System And Mining Rig Monitoring Method In Using Same
JP6345871B1 (en) * 2017-12-27 2018-06-20 株式会社グルーツ Virtual currency management device, virtual currency management method and program
KR101852079B1 (en) 2018-03-16 2018-04-27 주식회사 미탭스플러스 Distributed Ledger Device and Distributed Ledger Method for Game Difficulty Control based on Block Chain

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
인터넷기사 ‘인공지능 이용해 암호화폐 채굴’ (2018.07.04.) 1부. *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102414702B1 (en) * 2021-10-08 2022-06-28 이온어스(주) Method, device and system for providing service of monitoring new and renewable energy based on artificial intelligence
CN116882522A (en) * 2023-09-07 2023-10-13 湖南视觉伟业智能科技有限公司 Distributed space-time mining method and system
CN116882522B (en) * 2023-09-07 2023-11-28 湖南视觉伟业智能科技有限公司 Distributed space-time mining method and system

Also Published As

Publication number Publication date
KR102221925B1 (en) 2021-03-04

Similar Documents

Publication Publication Date Title
KR102107115B1 (en) Distributed computing resources sharing system and computing apparatus thereof based on block chain system supporting smart contract
KR102254809B1 (en) Distributed computing resources sharing system and computing apparatus thereof providing reward based on block chain
Prem Jacob et al. A multi-objective optimal task scheduling in cloud environment using cuckoo particle swarm optimization
CN109075988B (en) Task scheduling and resource issuing system and method
CN105074664A (en) Cost-minimizing task scheduler
US20110145153A1 (en) Negotiating agreements within a cloud computing environment
JP2021524100A (en) Task scheduling methods, devices, programs and equipment based on graph data
Salem et al. An artificial bee colony algorithm for data replication optimization in cloud environments
KR102206026B1 (en) System and method for transaction of work requests and products based on blockchain
JP7393426B2 (en) An intelligent, autonomous, decentralized marketplace for distributed computing and storage
Ghaemi et al. Chainfaas: An open blockchain-based serverless platform
US11487736B2 (en) Blockchain transaction processing systems and methods
Kijsipongse et al. A hybrid GPU cluster and volunteer computing platform for scalable deep learning
Heidari et al. Quality of Service (QoS)-driven resource provisioning for large-scale graph processing in cloud computing environments: Graph Processing-as-a-Service (GPaaS)
KR20190028210A (en) Cloud service method and system for deployment of artificial intelligence application using container
Rosa et al. Bionimbuz: A federated cloud platform for bioinformatics applications
Baranwal et al. Blockchain based resource allocation in cloud and distributed edge computing: A survey
KR20200022273A (en) Method for performing mining in parallel with machine learning and method for supproting the mining, in a distributed computing resource shring system based on block chain
KR102176128B1 (en) Method for providing encryption communication in a distributed computing resource shring system based on block chain
KR102193890B1 (en) Method for providing encryption communication using the same key within a working group in a distributed computing resource shring system based on block chain
Alyas et al. Optimizing Resource Allocation Framework for Multi-Cloud Environment.
Ghazali et al. CLQLMRS: improving cache locality in MapReduce job scheduling using Q-learning
WO2021223492A1 (en) Method and system for determining blockchain-based gridlock resolution
KR102056849B1 (en) Virtual private network system
Zhou et al. [Retracted] High‐Concurrency and High‐Performance Application of Microservice Order System Based on Big Data

Legal Events

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