KR102193890B1 - Method for providing encryption communication using the same key within a working group in a distributed computing resource shring system based on block chain - Google Patents

Method for providing encryption communication using the same key within a working group in a distributed computing resource shring system based on block chain Download PDF

Info

Publication number
KR102193890B1
KR102193890B1 KR1020180131119A KR20180131119A KR102193890B1 KR 102193890 B1 KR102193890 B1 KR 102193890B1 KR 1020180131119 A KR1020180131119 A KR 1020180131119A KR 20180131119 A KR20180131119 A KR 20180131119A KR 102193890 B1 KR102193890 B1 KR 102193890B1
Authority
KR
South Korea
Prior art keywords
resource
resource sharing
present disclosure
information
peer
Prior art date
Application number
KR1020180131119A
Other languages
Korean (ko)
Other versions
KR20200048722A (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 KR1020180131119A priority Critical patent/KR102193890B1/en
Publication of KR20200048722A publication Critical patent/KR20200048722A/en
Application granted granted Critical
Publication of KR102193890B1 publication Critical patent/KR102193890B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • H04L2209/38

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

스마트 계약을 지원하는 블록체인에 기반한, 분산형 컴퓨팅 자원 공유 시스템 상의 컴퓨팅 장치에서 수행되는 보안 통신 제공 방법이 제공된다. 본 개시의 방법은 리소스를 요청하는 제1 요청을 생성하여 전송하는 단계; 상기 제1 요청에 대한 응답을 적어도 하나의 자원 공유 노드로부터 수신하는 단계; 상기 적어도 하나의 자원 공유 노드 중 적어도 하나의 노드를 선택하여 워커-피어-그룹을 생성하고 워커-피어-그룹 정보를 전송하는 단계; 및 인증 서버로부터 상기 컴퓨팅 장치의 공개 키(public key) 정보와 개인 키(private key) 정보 및 상기 워커-피어-그룹의 공개 키 정보를 수신하는 단계를 포함한다.A method of providing secure communication performed in a computing device on a distributed computing resource sharing system is provided based on a blockchain supporting smart contracts. The method of the present disclosure includes the steps of generating and transmitting a first request for requesting a resource; Receiving a response to the first request from at least one resource sharing node; Generating a worker-peer-group by selecting at least one node from among the at least one resource sharing node and transmitting worker-peer-group information; And receiving public key information and private key information of the computing device and public key information of the worker-peer-group from the authentication server.

Figure R1020180131119
Figure R1020180131119

Description

블록체인에 기반한, 분산형 컴퓨팅 자원 공유 시스템 상에서의 워킹 그룹별 동일한 키를 사용하는 보안 통신 제공 방법{METHOD FOR PROVIDING ENCRYPTION COMMUNICATION USING THE SAME KEY WITHIN A WORKING GROUP IN A DISTRIBUTED COMPUTING RESOURCE SHRING SYSTEM BASED ON BLOCK CHAIN }A method of providing secure communication using the same key for each working group on a blockchain-based, distributed computing resource sharing system {METHOD FOR PROVIDING ENCRYPTION COMMUNICATION USING THE SAME KEY WITHIN A WORKING GROUP 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 a blockchain supporting smart contracts, security on a resource sharing system to share distributed computing resources that can be used for machine learning. It's about communication.

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

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

블록체인 상에서 데이터 송수신을 공개키 기반 구조(Public Key Infrastructure)의 송/수신 방법으로 제공함으로써 안전하면서도 부담이 적은 통신 방법이 사용되고 있다. 공개키 기반 구조를 근간으로 하는 암호화 알고리즘에는 다양한 종류가 있지만 블록체인에는 '타원 곡선 암호 알고리즘(ECC)'이 주로 사용된다. 타원 곡선 암호 알고리즘은 쉽게 말해 '특정한 비밀키를 입력했을 때 타원 곡선을 이용해 그에 상응하는 공개키를 생성해주는 알고리즘'이다. 이 또한 당연히 공개키 기반 구조이므로 공개키를 가지고 원래의 비밀키가 무엇이었는지 알 수 없다는 점에서 강력하다.By providing data transmission and reception on the blockchain as a transmission/reception method of a public key infrastructure, a secure and low-cost communication method is being used. There are various types of encryption algorithms based on public key infrastructure, but the'elliptic curve encryption algorithm (ECC)' is mainly used in the blockchain. The elliptic curve encryption algorithm is, in simple terms,'an algorithm that generates a corresponding public key by using an elliptic curve when a specific secret key is input'. Of course, this is also a public key-based structure, so it is powerful in that you cannot know what the original secret key was with the public key.

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

머신러닝에 기초한 인공지능 연구를 위한 자원, 예컨대 연산 및 저장을 위한 하드웨어 자원, 머신러닝에 활용될 양질의 학습용 데이터, 및 다양한 머신러닝 모델(알고리즘)의 효율적 공유 네트워크를 구축하고 이들 자원의 공유 제공 및 사용에 대한 객관적이고 합당한 보상 체계를 지원할 수 있는 플랫폼을 제공하고자 한다. 특히, 블록체인 기술을 활용하여, 인공지능 연구를 위한 각종 하드웨어 및 소프트웨어 자원의 정당한 공유 사용 등을 지원하는 탈 중앙화된 신뢰할 만한 플랫폼을 제공하고 아울러 그러한 플랫폼의 활성화를 도모할 수 있는 방안을 제공하고자 한다.Establish an efficient sharing network of 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 various machine learning models (algorithms), and provide sharing of these resources And a platform that can support an objective and reasonable compensation system for use. In particular, to provide a decentralized and reliable platform that supports the fair share use of various hardware and software resources for artificial intelligence research by utilizing blockchain technology, and also to provide a plan to promote such platform activation. do.

분산형 컴퓨팅 자원을 공유하도록 하는 자원 공유 시스템 상에서는 자원을 공유하는 피어(peer) 들 간의 그룹이 생성되는데, 그룹 간의 통신이 이루어지는 경우 보다 효율적인 보안 통신 방안을 제공하고자 한다.In a resource sharing system for sharing distributed computing resources, groups between peers sharing resources are created. In the case of communication between groups, a more efficient security communication method is provided.

본 개시의 일 특징에 의하면, 스마트 계약을 지원하는 블록체인에 기반한, 분산형 컴퓨팅 자원 공유 시스템 상의 컴퓨팅 장치에서 수행되는 보안 통신 제공 방법이 제공된다. 본 개시의 방법은 리소스를 요청하는 제1 요청을 생성하여 전송하는 단계; 상기 제1 요청에 대한 응답을 적어도 하나의 자원 공유 노드로부터 수신하는 단계; 상기 적어도 하나의 자원 공유 노드 중 적어도 하나의 노드를 선택하여 워커-피어-그룹을 생성하고 워커-피어-그룹 정보를 전송하는 단계; 및 상인증 서버로부터 상기 컴퓨팅 장치의 공개 키(public key) 정보와 개인 키(private key) 정보 및 상기 워커-피어-그룹의 공개 키 정보를 수신하는 단계를 포함할 수 있다. According to one feature of the present disclosure, a method for providing secure communication performed in a computing device on a distributed computing resource sharing system based on a blockchain supporting smart contracts is provided. The method of the present disclosure includes the steps of generating and transmitting a first request for requesting a resource; Receiving a response to the first request from at least one resource sharing node; Generating a worker-peer-group by selecting at least one node from among the at least one resource sharing node and transmitting worker-peer-group information; And receiving public key information and private key information of the computing device, and public key information of the worker-peer-group from the award authentication server.

본 개시의 일 실시예에 따르면, 상기 워커-피어-그룹의 공개 키와 상기 컴퓨팅 장치의 공개 키가 동일하고, 상기 워커-피어-그룹의 개인 키와 상기 컴퓨팅 장치의 개인 키가 동일할 수 있다. According to an embodiment of the present disclosure, the public key of the worker-peer-group and the public key of the computing device may be the same, and the private key of the worker-peer-group and the private key of the computing device may be the same. .

본 개시의 일 실시예에 따르면, 상기 인증 서버로부터 상기 컴퓨팅 장치의 공개 키(public key) 정보와 개인 키(private key) 정보 및 상기 워커-피어-그룹에 대한 공개 키 정보를 수신하는 단계는 상기 워커-피어-그룹의 공개 키의 유효기간 정보를 수신하는 단계를 더 포함할 수 있다. According to an embodiment of the present disclosure, receiving public key information and private key information of the computing device and public key information for the worker-peer-group from the authentication server includes the It may further include the step of receiving information about the validity period of the public key of the worker-peer-group.

본 개시의 일 실시예에 따르면, 상기 워커-피어-그룹의 공개 키의 유효기간이 만료된 경우, 상기 워커-피어-그룹의 공개 키(public key) 정보를 삭제하는 단계를 더 포함할 수 있다. According to an embodiment of the present disclosure, when the validity period of the public key of the worker-peer-group has expired, the step of deleting the public key information of the worker-peer-group may be further included. .

본 개시의 다른 특징에 의하면, 스마트 계약을 지원하는 블록체인에 기반한, 분산형 컴퓨팅 자원 공유 시스템 상의 컴퓨팅 장치에서 수행되는 보안 통신 제공 방법이 제공된다. 본 개시의 방법은 자원 공유 노드(요청자)로부터 워커-피어-그룹에 포함되었다는 정보를 수신하는 단계; 인증 서버로부터 상기 컴퓨팅 장치의 공개 키(public key)와 개인 키(private key) 정보를 수신하는 단계; 및 상기 자원 공유 노드(요청자)로부터 제1 요청을 수신하고, 상기 제1 요청에 따른 절차를 수행하고, 절차가 완료되는 경우 상기 인증 서버로 상기 컴퓨팅 장치의 공개 키(public key)와 개인 키(private key)에 대한 사용 종료 요청을 전송하는 단계를 포함할 수 있다. According to another feature of the present disclosure, a method of providing secure communication performed in a computing device on a distributed computing resource sharing system based on a blockchain supporting smart contracts is provided. The method of the present disclosure includes receiving information indicating that a worker-peer-group has been included from a resource sharing node (requester); Receiving information on a public key and a private key of the computing device from an authentication server; And receiving a first request from the resource sharing node (requester), performing a procedure according to the first request, and when the procedure is completed, the authentication server sends a public key and a private key of the computing device ( Private key) may include transmitting a request for termination of use.

본 개시의 또 다른 특징에 의하면, 스마트 계약을 지원하는 블록체인에 기반한, 분산형 컴퓨팅 자원 공유 시스템 상의 컴퓨팅 장치에서 수행되는 보안 통신 제공 방법이 제공될 수 있다. 본 개시의 방법은 자원 공유 노드(요청자)로부터 리소스를 요청하는 제1 요청을 수신하는 단계; 상기 워커-피어-그룹 정보를 수신하는 단계; 상기 자원 공유 노드(요청자)로 상기 자원 공유 노드(요청자)의 공개 키(public key) 정보와 개인 키(private key) 정보를 전송하는 단계; 및 상기 워커-피어-그룹에 포함된 자원 공유 노드(제공자)로 워커-피어-그룹의 공개 키 정보와 개인 키 정보를 전송하는 단계를 포함할 수 있다. According to another feature of the present disclosure, a method of providing secure communication performed in a computing device on a distributed computing resource sharing system based on a blockchain supporting smart contracts may be provided. The method of the present disclosure includes: receiving a first request for requesting a resource from a resource sharing node (requester); Receiving the worker-peer-group information; Transmitting public key information and private key information of the resource sharing node (requester) to the resource sharing node (requester); And transmitting public key information and private key information of the worker-peer-group to a resource sharing node (provider) included in the worker-peer-group.

본 개시의 일 실시예에 따르면, 상기 워커-피어-그룹의 공개 키와 상기 자원 공유 노드(요청자)의 공개 키가 동일하고, 상기 워커-피어-그룹의 개인 키와 상기 자원 공유 노드(요청자)의 개인 키가 동일할 수 있다. According to an embodiment of the present disclosure, the public key of the worker-peer-group and the public key of the resource sharing node (requester) are the same, and the private key of the worker-peer-group and the resource sharing node (requester) May have the same private key.

본 개시의 일 실시예에 따르면, 상기 자원 공유 노드(요청자)로 공개 키(public key) 정보와 개인 키(private key) 정보 및 상기 워커-피어-그룹 각각으로 워커-피어-그룹의 공개 키 정보와 개인 키 정보를 전송하는 단계는 유효기간 정보를 전송하는 단계를 더 포함할 수 있다.According to an embodiment of the present disclosure, public key information and private key information as the resource sharing node (requester), and worker-peer-group public key information as each of the worker-peer-groups The step of transmitting the private key information and may further include transmitting the expiration date information.

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

개개인이 보유한 하드웨어 자원(예컨대, GPU 등 처리 장치 및 각종 저장 공간 장치)이 항상 100% 활용되는 것은 아니며, 많은 수의 하드웨어 자원이 많은 시간 유휴 상태에 놓여 있다. 본 개시의 실시예들에 의하면, 개개인이 보유한 유휴 하드웨어 자원이 인공지능 기술의 발전에 이바지한다고 하는 가치 있는 목적을 위하여 유용한 형태로 활용될 수 있게 된다. 또, 본 개시의 실시예들에 의하면, 개개인이 개발 및/또는 보유한 소프트웨어 자원, 예컨대 머신러닝을 위한 데이터 및 다양한 학습 모델 등의 공유 사용이 활발하게 이루어지게 되고, 각각의 창작자나 보유자 등은 자원의 공유 제공에 대한 정당한 수익을 얻을 수 있게 되며, 연구자들은 동일한 작업을 위해 자원을 중복 소비하는 대신에 새로운 작업에 자원들을 활용할 수 있게 되어, 궁극적으로 인공지능 발전이 가속화될 수 있다. Hardware resources possessed by individuals (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 a long time. According to the embodiments of the present disclosure, idle hardware resources held by individuals can be utilized in a useful form for a valuable purpose of contributing to the development of artificial intelligence technology. In addition, according to the embodiments of the present disclosure, software resources developed and/or possessed by individuals, such as data for machine learning and various learning models, are actively shared and used, and each creator or holder is a resource It will be possible to obtain a legitimate return for the shared provision of the company, and researchers will be able to use resources for new work instead of redundantly consuming resources for the same work, ultimately accelerating the development of artificial intelligence.

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

도 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) 상에서 수행되는, 데이터 자원의 공유 요청, 제공 및 이용의 과정의 일 예를 개략적으로 도시한 동작 흐름도이다.
도 10은, 본 개시의 일 실시예에 따른, 분산형 컴퓨팅 자원 공유 시스템(100) 상에서 수행되는, 워킹 그룹별 동일한 키를 사용하는 보안 통신 제공 방법의 일 예를 개략적으로 도시한 동작 흐름도이다.
FIG. 1 is a diagram conceptually showing the overall configuration of a blockchain-based distributed computing resource sharing system 100 supporting a smart contract according to an embodiment of the present disclosure.
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 block chain and each block 300 included therein, which may be stored in the block chain distributed ledger storage module 208 included in the resource sharing node 130 of FIG. 2 according to an embodiment of the present disclosure. ) Is a diagram conceptually showing the configuration.
FIG. 4 is an example of transaction information 304 that may be included in block 300 of FIG. 3, according to an embodiment of the present disclosure, for providing shared resources on the distributed computing resource sharing system 100 This is a diagram illustrating transaction information as an example.
5 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 an embodiment of the present disclosure. It is a drawing shown.
6 is an example of the transaction information 304 included in the block 300 of FIG. 3, according to an embodiment of the present disclosure, for requesting use of shared resources on the distributed computing resource sharing system 100 This is a diagram illustrating transaction information as an 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 in which a shared resource is provided 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 an operation flow chart.
9 is an operation flowchart schematically illustrating an example of a process of requesting, providing, and using data resource sharing, performed on the distributed computing resource sharing system 100 according to an embodiment of the present disclosure.
10 is an operation flowchart schematically illustrating an example of a method of providing secure communication using the same key for each working group, performed on the distributed computing resource sharing system 100 according to an embodiment of the present disclosure.

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

본 개시에서 사용되는 용어는 단지 특정한 실시예를 설명하기 위해 사용되는 것으로 본 개시를 한정하려는 의도에서 사용된 것이 아니다. 예를 들면, 단수로 표현된 구성요소는 문맥상 명백하게 단수만을 의미하지 않는다면 복수의 구성요소를 포함하는 개념으로 이해되어야 한다. 본 개시에서 사용되는 "및/또는"이라는 용어는, 열거되는 항목들 중 하나 이상의 항목에 의한 임의의 가능한 모든 조합들을 포괄하는 것임이 이해되어야 한다. 본 개시에서 사용되는 '포함하다' 또는 '가지다' 등의 용어는 본 개시 상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것일 뿐이고, 이러한 용어의 사용에 의해 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 배제하려는 것은 아니다.The terms used in the present disclosure are only used to describe specific embodiments, and are not intended to limit 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 means only the singular. It is to be understood that the term "and/or" as used in this disclosure encompasses any and all possible combinations by one or more of the listed items. The terms "comprise" or "have" used in the present disclosure are only intended to designate the existence of features, numbers, steps, actions, components, parts, or a combination thereof described in the present disclosure. It is not intended to exclude the possibility of the presence or 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, a'module' or'unit' means a functional part that performs at least one function or operation, and may be implemented as hardware or software, or a combination of hardware and software. In addition, a plurality of'modules' or'units' may be integrated into at least one software module and implemented by at least one processor, except for'modules' or'units' that need to be implemented with specific hardware. have.

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

이하, 첨부된 도면을 참조하여, 본 개시의 실시예에 대해 구체적으로 설명하기로 한다.Hereinafter, exemplary 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 showing the overall configuration of a blockchain-based distributed computing resource sharing system 100 that supports smart contracts 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 areas 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 includes each shared computing resource area 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 block chain network 110 may be, for example, a pure P2P network or a hybrid P2P network implemented in a Wi-Fi network, a LAN network, a WAN network, an Internet network, etc. It is not limited. According to an embodiment of the present disclosure, each transaction generated and distributed by each resource sharing node 130 through the block chain network 110 is included in the block chain for the distributed computing resource sharing system 100 and 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 shown, according to an embodiment of the present disclosure, the distributed computing resource sharing system 100 includes a plurality of user accounts, and a resource management account for managing the use and compensation of shared computing resources, etc. , May include a smart contract account of the blockchain of the distributed computing resource sharing system 100). According to an embodiment of the present disclosure, each user of the distributed resource sharing system 100 may each access the blockchain network 110 through their user account (and client), and a resource sharing node (to be described later) ( By generating and/or distributing a transaction through (130), the computing resource of the user may be provided on the distributed computing resource sharing system 100 or the computing resource provided on the distributed computing resource sharing system 100 may be used. According to an 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 it by other users on the distributed resource sharing system 100. It may be an account for the providing resource provider. According to an 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 fair price. According to an embodiment of the present disclosure, each user account of the distributed resource sharing system 100 is a predetermined service developer, and GPU resources, data sets, and training provided shared 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 an 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 developer.

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

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

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

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

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

본 개시의 일 실시예에 의하면, 복수의 자원 공유 노드(130) 각각은, 플랫폼 서버(130)의 제어 하에 또는 분산형 컴퓨팅 자원 공유 시스템(100) 상의 미리 정해진 알고리즘에 따라, 분산형 컴퓨팅 자원 공유 시스템(100) 상의 각 트랜잭션의 기록을 위한 블록을 생성(또는 채굴) 및/또는 검증할 수 있다. 본 개시의 일 실시예에 의하면, 소정의 시간 간격 동안에 각 공유 자원 노드(130)에 의해 생성되어 분산형 컴퓨팅 자원 공유 시스템(100)을 위한 블록체인 네트워크(110) 상에 배포된 트랜잭션들이, 새로이 생성된 블록에 함께 저장될 수 있다. According to an embodiment of the present disclosure, each of the plurality of resource sharing nodes 130 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 Blocks for recording each transaction on the system 100 may be generated (or mined) and/or verified. According to an 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 It can be stored together in the generated block.

본 개시의 일 실시예에 의하면, 자원 공유 노드(130) 각각은, 플랫폼 서버(140)의 제어 하에 또는 분산형 컴퓨팅 자원 공유 시스템(100) 상의 미리 정해진 알고리즘에 따라, 분산형 컴퓨팅 자원 공유 시스템(100)을 위한 블록체인(즉, 블록체인 분산 원장)의 적어도 일부를 저장할 수 있다. 본 개시의 일 실시예에 의하면, 자원 공유 노드(130) 각각은, 플랫폼 서버(140)의 제어 하에 또는 분산형 컴퓨팅 자원 공유 시스템(100) 상의 미리 정해진 알고리즘에 따라, 분산형 컴퓨팅 자원 공유 시스템(100)을 위한 블록체인에 의해 유지 및 관리되는 스마트 계약(예컨대, 분산형 컴퓨팅 자원 공유 시스템(100) 상에서의 하드웨어 및/또는 소프트웨어 자원의 공유 사용을 관리하는 스마트 계약 계정 등)에 관한 정보의 적어도 일부를 저장할 수 있다.According to an embodiment of the present disclosure, each of the resource sharing nodes 130, under the control of the platform server 140 or according to a predetermined algorithm on the distributed computing resource sharing system 100, is a distributed computing resource sharing system ( 100) can store at least part of the blockchain (i.e., blockchain distributed ledger). According to an embodiment of the present disclosure, each of the resource sharing nodes 130, under the control of the platform server 140 or according to a predetermined algorithm on the distributed computing resource sharing system 100, is a distributed computing resource sharing system ( 100) maintained and managed by the blockchain for at least a smart contract (e.g., a smart contract account that manages the shared use of hardware and/or software resources on the distributed computing resource sharing system 100) You can save some.

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

본 개시의 일 실시예에 의하면, 자원 공유 노드(130)는 또한 분산형 컴퓨팅 자원 공유 시스템(100) 상에서의 자원 공유에 따른 각 사용자에 대한 보상의 지급 및 수령에 따라 해당 분산형 컴퓨팅 자원 공유 시스템(100)과 연관된 사용자 계정(들)의 디지털 지갑을 유지 및 관리할 수 있다. 본 개시의 일 실시예에 의하면, 분산형 컴퓨팅 자원 공유 시스템(100) 상에서의 자원 공유에 따른 각 사용자(예컨대, 자원 제공자)에 대한 보상은, 분산형 컴퓨팅 자원 공유 시스템(100)과 연관된 소정의 디지털 화폐에 의해 이루어질 수 있다. 본 개시의 일 실시예에 의하면, 분산형 컴퓨팅 자원 공유 시스템(100) 상에서의 자원 공유에 따른 보상은, 각 자원 별로 사용량에 비례하여 이루어질 수 있다. 본 개시의 일 실시예에 의하면, 분산형 컴퓨팅 자원 공유 시스템(100) 상에서의 자원 공유에 따른 보상은, 이용된 각 자원에 대한 소정의 기준에 따른 평가(예컨대, 각 자원의 분산형 컴퓨팅 자원 공유 시스템(100)에 대한 기여도 등에 관한 평가)에 따라 이루어질 수 있다.According to an embodiment of the present disclosure, the resource sharing node 130 is also the distributed computing resource sharing system according to the payment and receipt of compensation for each user according to the resource sharing on the distributed computing resource sharing system 100 It is possible to maintain and manage digital wallets of user account(s) associated with 100. According to an embodiment of the present disclosure, compensation for each user (eg, resource provider) according to resource sharing on the distributed computing resource sharing system 100 is a predetermined amount associated with the distributed computing resource sharing system 100. It can be done by digital currency. According to an embodiment of the present disclosure, compensation according to resource sharing in the distributed computing resource sharing system 100 may be performed in proportion to the amount used for each resource. According to an embodiment of the present disclosure, compensation for resource sharing in the distributed computing resource sharing system 100 is evaluated according to a predetermined criterion for each used resource (eg, distributed computing resource sharing of each resource). It can be made according to the evaluation on the contribution to the system 100).

본 개시의 일 실시예에 의하면, 플랫폼 서버(140)는, 각각의 자원 공유 노드(130)로부터 분산형 컴퓨팅 자원 공유 시스템(100) 상에 제공된, 소정의 자원 이용 요청을 포함하는 트랜잭션을 수신할 수 있다. 본 개시의 일 실시예에 의하면, 플랫폼 서버(140)는, 소정의 자원(예컨대, GPU 자원)에 대한 이용 요청을 포함하는 트랜잭션을 수신하고, 수신된 트랜잭션을 처리하여, 해당 트랜잭션으로부터 획득된 정보에 따라, 소정의 알고리즘에 기초하여, 분산형 컴퓨팅 자원 공유 시스템(100)의 각 공유 컴퓨팅 자원 영역(120) 상에서 이용 가능한 자원들 가운데 적절한 자원을 할당할 수 있다. According to an embodiment of the present disclosure, the platform server 140 receives a transaction including a predetermined resource use request provided on the distributed computing resource sharing system 100 from each resource sharing node 130. I can. According to an embodiment of the present disclosure, the platform server 140 receives a transaction including a request for use of a predetermined resource (eg, a GPU resource), processes the received transaction, and obtains information from the transaction. Accordingly, it is possible to allocate an appropriate resource among the resources available on each shared computing resource region 120 of the distributed computing resource sharing system 100 based on a predetermined algorithm.

본 개시의 일 실시예에 의하면, 플랫폼 서버(140)는, 분산형 컴퓨팅 자원 공유 시스템(100) 상에서, 각각의 자원 공유 노드(130)의 공개 키(public key) 및/또는 개인 키(private key)의 요청을 수신하고, 그에 따른 정보를 생성하여 응답할 수 있다. 본 개시의 일 실시예에 의하면, 플랫폼 서버(140)는, 예컨대 인증 기관(Certificate Authority) 및 등록기관(Register Authority)으로서 보안적격 여부와 그리고 메시지의 암호화와 복원을 위한 공개키들을 발급하고 관리할 수 있다. 본 개시의 일 실시예에 의하면, 플랫폼 서버(140)는 공개키 기반구조의 일부로서, 디지털 인증서 요구자에 의해 제공되는 정보를 검증하고 안전성 등을 검사할 수 있고, 요구자의 정보를 입증하고, 인증기관은 인증서를 발급할 수 있다. 여기서, 인증서는, 공개키 기반구조 구현에 따라 조금씩 다르지만, 일반적으로 소유자의 공개키, 인증서의 유효기간, 소유자의 이름 및 기타 공개키 소유자에 관한 다른 정보들을 포함할 수 있다. According to an embodiment of the present disclosure, the platform server 140 is, on the distributed computing resource sharing system 100, a public key and/or a private key of each resource sharing node 130. ), you can respond by generating information accordingly. According to an embodiment of the present disclosure, the platform server 140 may issue and manage public keys for encryption and restoration of messages and whether or not security is eligible as, for example, a Certificate Authority and a Register Authority. I can. According to an embodiment of the present disclosure, the platform server 140 is a part of the public key infrastructure, and can verify information provided by a digital certificate requester, check safety, etc., verify information of the requestor, and authenticate. Authorities can issue certificates. Here, the certificate is slightly different depending on the implementation of the public key infrastructure, but generally may include the owner's public key, the validity period of the certificate, the owner's name, and other information about the owner of the public key.

본 개시의 일 실시예에 의하면, 플랫폼 서버(140)는, 자원 공유 노드(130)들이, 분산형 컴퓨팅 자원 공유 시스템(100) 상의 각 트랜잭션의 기록을 위한 블록을 생성(또는 채굴) 및/또는 검증하도록, 관리할 수 있다. 본 명세서에서는, 주로, 분산형 컴퓨팅 자원 공유 시스템(100)의 플랫폼 서버(140)가 블록의 생성/검증 및/또는 블록체인 분산 원장의 저장에 대한 제어 및 관리를 수행하는 것처럼 설명되어 있으나, 본 개시가 이로써 제한되는 것은 아니다. 본 개시의 다른 실시예에 의하면, 분산형 컴퓨팅 자원 공유 시스템(100) 상에서, 블록의 생성/검증과 블록체인 분산 원장의 저장 등은, 플랫폼 서버(140)에 의한 개입 없이, 블록체인 네트워크(110) 상의 미리 정해진 알고리즘에 따라 자동으로 이루어질 수 있음을 알아야 한다.According to an embodiment of the present disclosure, the platform server 140, the resource sharing nodes 130, generate (or mine) a block for recording each transaction on the distributed computing resource sharing system 100 and/or You can manage, to verify. In this specification, it is mainly described as if the platform server 140 of the distributed computing resource sharing system 100 performs control and management of the generation/verification of blocks and/or the storage of the blockchain distributed ledger. The disclosure is not limited thereto. According to another embodiment of the present disclosure, on the distributed computing resource sharing system 100, the creation/verification of blocks and storage of the blockchain distributed ledger, etc. are performed without intervention by the platform server 140, and the blockchain network 110 It should be noted that this can be done automatically according to a predetermined algorithm on the top.

본 개시의 일 실시예에 의하면, 플랫폼 서버(140)는 또한 분산형 컴퓨팅 자원 공유 시스템(100) 상에 공유를 위하여 제공된 각 자원의 이용과 관련하여, 각 자원의 제공자에게 정당한 보상이 이루어지는 것을 돕도록 관리할 수 있다. 본 개시의 일 실시예에 의하면, 플랫폼 서버(140)는, 분산형 컴퓨팅 자원 공유 시스템(100) 상에 공유를 위하여 제공된 각 자원의 이용과 관련하여, 소정의 기준에 따라, 각 자원에 대한 평가(예컨대, 각 자원의 분산 자원 고유 시스템(100)에 대한 기여도 등에 관한 평가)를 수행하고, 그 평가 결과에 따라, 각 자원의 제공자에게 그에 부합하는 합당한 보상이 이루어지도록 관리할 수 있다.According to an embodiment of the present disclosure, the platform server 140 also helps to make a fair compensation to the provider of each resource in relation 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 evaluates each resource according to a predetermined criterion in relation to the use of each resource provided for sharing on the distributed computing resource sharing system 100 (For example, evaluation of the contribution of each resource to the distributed resource-specific system 100, etc.), and according to the evaluation result, it is possible to manage such that appropriate compensation is provided to the provider of each resource.

도 2는, 본 개시의 일 실시예에 따른, 도 1의 자원 공유 노드(130)의 기능적 구성을 개략적으로 도시한 기능 블록도이다. 도시된 바에 의하면, 자원 공유 노드(130)는, 트랜잭션 처리/생성 모듈(202), 통신 모듈(204), 블록 생성/검증 모듈(206), 블록체인 분산원장 저장 모듈(208), 및 디지털 지갑 관리 모듈(210)을 포함한다.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. It includes a 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 provides a predetermined resource for sharing use with other users on the distributed computing resource sharing system 100 To register this, through the transaction processing/generation module 202 of the corresponding resource sharing node (resource sharing node associated with the user or client) 130, a transaction related to the resource registration may be generated. 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 of the (resource sharing node associated with the user or client) 130, a transaction related to the resource use may be generated. According to an embodiment of the present disclosure, the transaction processing/generating module 202 of the resource sharing node 130 is, in addition to transactions related to registration and use of resources, various other transactions to be performed through the blockchain network 110 (For example, including, but not limited to, transactions of digital currency) can be created.

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

본 개시의 일 실시예에 의하면, 통신 모듈(204)은, 자원 공유 노드(130)가 블록체인 네트워크(110)와 소정의 프로토콜에 따라 통신할 수 있도록 동작할 수 있다. 본 개시의 일 실시예에 의하면, 통신 모듈(204)은, 트랜잭션 처리/생성 모듈(202)에 의해 생성된 블록체인 트랜잭션을 소정의 프로토콜에 따라 블록체인 네트워크(110) 상에 배포할 수 있고, 아울러 블록체인 네트워크(110)를 통하여 수신되는 각종 정보(예컨대, 다른 자원 공유 노드(130)에 의해 생성 및 배포된 트랜잭션, 플랫폼 서버(140) 등에 의한 각종 제어 신호 등)를 수신할 수 있다.According to an embodiment of the present disclosure, the communication module 204 may operate to allow the resource sharing node 130 to communicate with the blockchain network 110 according to a predetermined protocol. According to an embodiment of the present disclosure, the communication module 204 may distribute a blockchain transaction generated by the transaction processing/generation module 202 on the blockchain network 110 according to a predetermined protocol, In addition, various information received through the blockchain network 110 (eg, transactions generated and distributed by other resource sharing nodes 130, various control signals by the platform server 140, etc.) may be received.

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

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

본 개시의 일 실시예에 의하면, 디지털 지갑 관리 모듈(210)은, 자원 공유 노드(130)와 연관된 각 사용자 계정을 위한 지갑 정보를 저장 및 관리할 수 있다. 본 개시의 일 실시예에 의하면, 디지털 지갑 관리 모듈(210)은, 분산형 컴퓨팅 자원 공유 시스템(100) 상에서 지원되는 디지털 화폐에 관한 거래, 예컨대 분산형 컴퓨팅 자원 공유 시스템(100) 상에서의 자원 공유에 따른 보상의 지급 및 수령이나 기타 해당 디지털 화폐에 관한 거래의 정보를 반영하여, 해당 자원 공유 노드(130) 상의 각 사용자 계정을 위한 지갑 정보를 갱신할 수 있다.According to an 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 is a transaction related to digital currency supported on the distributed computing resource sharing system 100, for example, 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 compensation according to the corresponding digital currency or other transaction information.

도 3은, 본 개시의 일 실시예에 따른, 도 2의 자원 공유 노드(130)에 포함된 블록체인 분산원장 저장 모듈(208)에 저장될 수 있는, 블록체인 및 그에 포함된 각 블록(300)의 구성을 개념적으로 도시한 도면이다. 도시된 바에 의하면, 블록체인은 복수의 블록을 포함하며, 각 블록(300)은 블록 헤더(302)와 복수의 트랜잭션 정보(304a-304n)를 포함할 수 있다.3 is a block chain and each block 300 included therein, which may be stored in the block chain distributed ledger storage module 208 included in the resource sharing node 130 of FIG. 2 according to an embodiment of the present disclosure. ) Is a diagram conceptually showing the configuration. As shown, the block chain includes 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 includes a hash value of a previous block header, a nonce value, and a Merkle root of transaction information 304a-304n to be included in the corresponding block 300. , A timestamp indicating the time when the block 300 was generated, and a value such as a mining difficulty level of the block 300 may be included. According to an embodiment of the present disclosure, a plurality of transaction information 304a-304n included in the block 300 is distributed from each resource sharing node 130 of FIG. 1 for a predetermined time interval. It may be a plurality of transaction information distributed on (100). According to an embodiment of the present disclosure, the transaction information 304a-304n of the block 300 is a shared resource on the distributed computing resource sharing system 100, which is generated by the resource sharing node 130 of FIG. It may be transaction information for providing (ie, registration). According to an embodiment of the present disclosure, the transaction information 304a-304n may be transaction information for using a shared resource on the distributed computing resource sharing system 100, generated by the 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, according to an embodiment of the present disclosure, for providing shared resources on the distributed computing resource sharing system 100 This is a diagram illustrating transaction information as an example. As illustrated, the 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 an 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 an embodiment of the present disclosure, the resource provider account 404 included in the transaction information 304 may be an account of a user (client) who has caused the creation of a transaction for providing a corresponding shared resource. According to an embodiment of the present disclosure, the resource registration execution command included in the transaction information 304 for providing shared resources may be, for example, a program code for a smart contract according to ERC20, and the resource sharing node 130 When executed by the resource provider account 404, the resource information 408 of the resource shared by the resource provider account 404 may be stored in association with the resource management account 402. According to an embodiment of the present disclosure, the resource information 408 may include various types of information including, for example, a type, attribute, and location of a corresponding resource, and the present disclosure is not limited thereto.

도 5는, 본 개시의 일 실시예에 따른, 도 1의 자원 공유 노드(130)에 의해서 생성된, 분산형 컴퓨팅 자원 공유 시스템(100) 상에서 소정의 공유 자원을 검색하기 위한 쿼리(500)를 예시적으로 도시한 도면이다. 도시된 바에 의하면, 쿼리(500)는, 자원 관리 계정(502), 자원 검색 실행 명령(504), 및 요청자 계정(506)을 포함할 수 있다.5 is a query 500 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 an embodiment of the present disclosure. This is an exemplary diagram. As shown, the query 500 may include a resource management account 502, a resource search execution command 504, and a requestor account 506.

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

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

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

본 개시의 일 실시예에 의하면, 통신 모듈(702)은, 플랫폼 서버(140)가 블록체인 네트워크(110)와 소정의 프로토콜에 따라 통신할 수 있도록 동작할 수 있다. 본 개시의 일 실시예에 의하면, 통신 모듈(702)은, 블록체인 네트워크(110)를 통하여 각 자원 공유 노드들(130)로부터 배포된 각종 트랜잭션 등을 수신할 수 있다.According to an embodiment of the present disclosure, the communication module 702 may operate to allow the platform server 140 to 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 distributed from the resource sharing nodes 130 through the block chain network 110.

본 개시의 일 실시예에 의하면, 소정의 자원 이용 요청을 포함하는 트랜잭션이 수신된 경우, 공유 자원 분배 모듈(704)은, 그 수신된 트랜잭션으로부터 획득된 정보에 따라, 소정의 알고리즘에 기초하여, 분산형 컴퓨팅 자원 공유 시스템(100) 상에서 이용 가능한 자원들 가운데 적절한 자원을 해당 요청에 할당할 수 있다. 본 개시의 일 실시예에 의하면, 공유 자원 분배 모듈(704)은, 수신된 트랜잭션 상의 자원 이용 요청과 그에 대응하여 이루어진 자원의 할당에 관한 정보를 반영하여, 자원 관리 계정에 연관된 해당 자원에 관한 정보가 갱신되도록 할 수 있다. 본 개시의 일 실시예에 의하면, 공유 자원 분배 모듈(704)은 또한 분산형 컴퓨팅 자원 공유 시스템(100)을 위한 블록체인 데이터베이스(즉, 분산 원장)의 적어도 일부를 저장하도록 각 자원 공유 노드(130)를 제어/관리할 수 있으며, 다만 본 개시가 이로써 제한되는 것은 아니다.According to an embodiment of the present disclosure, when a transaction including a predetermined resource use request is received, the shared resource distribution module 704, based on a predetermined algorithm, according to information obtained from the received transaction, An appropriate resource among resources available on the distributed computing resource sharing system 100 may be allocated to the request. According to an embodiment of the present disclosure, the shared resource distribution module 704 reflects the received transactional resource use request and information on resource allocation made in response thereto, and information on the resource related to the resource management account Can be updated. According to an embodiment of the present disclosure, the shared resource distribution module 704 also includes each resource sharing node 130 to store at least a portion of a blockchain database (ie, distributed ledger) for the distributed computing resource sharing system 100. ) Can be controlled/managed, but the present disclosure is not limited thereto.

본 개시의 일 실시예에 의하면, 블록 생성 관리 모듈(706)은, 소정의 기준에 따라, 분산형 컴퓨팅 자원 공유 시스템(100) 상의 자원 공유 노드(130)들 중에, 각 트랜잭션의 기록을 위한 블록을 생성(또는 채굴) 또는 검증할 노드를 선택하고 그에 관한 지시를 내릴 수 있으며, 다만 본 개시가 이로써 제한되는 것은 아니다. 본 개시의 다른 실시예에 의하면, 분산형 컴퓨팅 자원 공유 시스템(100) 상에서의 각 블록의 생성 및 검증은 블록체인 네트워크(110) 상에서 미리 정해진 알고리즘에 따라 플랫폼 서버(140)의 개입 없이 자동으로 행하여 질 수 있음을 알아야 한다. According to an embodiment of the present disclosure, the block generation management module 706 is, according to a predetermined criterion, a block for recording each transaction among the resource sharing nodes 130 on the distributed computing resource sharing system 100 You can select a node to generate (or mine) or verify and give an instruction, but the present disclosure is not limited thereto. According to another embodiment of the present disclosure, the generation and verification of each block on the distributed computing resource sharing system 100 is automatically performed on the blockchain network 110 without the intervention of the platform server 140 according to a predetermined algorithm. Know that you can lose.

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

도 8은, 본 개시의 일 실시예에 따른, 도 1의 자원 공유 노드(130)를 통해 분산형 컴퓨팅 자원 공유 시스템(100) 상으로 공유 자원의 제공이 이루어지는 과정의 일 예를 개략적으로 도시한 동작 흐름도이다.FIG. 8 schematically illustrates an example of a process in which a shared resource is provided 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 an operation flow chart.

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

도 9는, 본 개시의 일 실시예에 따른, 분산형 컴퓨팅 자원 공유 시스템(100) 상에서 수행되는, 데이터 자원의 공유 요청, 제공 및 이용의 과정의 일 예를 개략적으로 도시한 동작 흐름도이다.9 is an operation flowchart schematically illustrating an example of a process of requesting, providing, and using data resource sharing, performed on the 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, in step 902, a resource requester on the resource sharing node 130 (eg, a user as a developer who wants to use a predetermined data set for machine learning) through the corresponding resource sharing node 130 A use request transaction (eg, a data use request transaction) for a resource desired by the user (eg, a predetermined data set) may be generated. According to an embodiment of the present disclosure, the use request transaction for a predetermined data set may include specific specifications (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 an embodiment of the present disclosure, a transaction distributed on the blockchain network 110 may be received by both the 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 above-described data use request transaction may generate a resource, for example, a data set that meets the request of the transaction. Then, in step 908, the resource sharing node may generate a sharing provision 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 is processed on the blockchain, and the corresponding data resource may be registered and stored in association with a resource management account. The processes of steps 906 to 910 correspond to the operation flow in FIG. 8 described above, and reference may be made to the disclosure thereof.

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

본 개시의 일 실시예에 의하면, 자원 이용 요청 트랜잭션에 부합하는 자원이 소정의 데이터 세트이고, 그 데이터 세트가 분산형 컴퓨팅 자원 공유 시스템(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 at a plurality of locations on the distributed computing resource sharing system 100 (eg, a plurality of shared computing When distributed and stored in the resource regions 120, each part of the data set may be transmitted in parallel from the storage units (eg, a plurality of shared computing resource regions 120) in the above multiple locations for the resource requestor, This can solve the problem of transmission speed due to transmission of large amounts of data. According to an embodiment of the present disclosure, specific details of which part of the data set is to be transmitted from which storage unit among the plurality of storage units is, for example, by the shared resource distribution module 704 of the platform server 140, Considering the distance between resources (e.g., the distance between the hardware resources involved in the operation and the storage unit of the data set to be used for the operation) or communication time, it is possible to maximize the efficiency of the entire system. It should be understood (but the 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 the region 120, the machine learning operation for the resource requestor may be performed by the GPU in the same location as the storage unit (ie, the shared computing resource region 120 to which the storage unit belongs), thereby The problem of transmission speed due to transmission of large amounts of data can be solved.

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

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

도 10은, 본 개시의 일 실시예에 따른, 분산형 컴퓨팅 자원 공유 시스템(100) 상에서 수행되는, 워킹 그룹별 동일한 키를 사용하는 보안 통신 제공 방법의 일 예를 개략적으로 도시한 동작 흐름도이다. 10 is an operation flowchart schematically illustrating an example of a method of providing secure communication using the same key for each working group, performed on the distributed computing resource sharing system 100 according to an embodiment of the present disclosure.

도시된 바에 의하면, 먼저 단계(S1010)에서, 자원 공유 노드(130) 상의 자원 요청자(예컨대, 머신러닝을 위하여 소정의 데이터 세트를 활용하기 원하는 개발자로서의 사용자: 요청자: 130)가 자신이 원하는 자원에 관한 이용 요청 트랜잭션(예컨대, 데이터 이용 요청 트랜잭션)을 생성할 수 있다. 본 개시의 일 실시예에 의하면, 소정의 데이터 세트에 관한 이용 요청 트랜잭션은, 요청되는 데이터 세트의 구체적인 스펙(예컨대, 리소스, 데이터 내용, 포맷 등)을 포함할 수 있다. 그런 다음, 그 생성된 트랜잭션이 블록체인 네트워크(110) 상에 배포될 수 있다. 본 개시의 일 실시예에 의하면, 블록체인 네트워크(110) 상에 배포된 트랜잭션은 다른 자원 공유 노드들(제공자: 130) 모두에 의해 수신될 수 있다.As shown, first, in step S1010, a resource requester on the resource sharing node 130 (for example, a user as a developer who wants to use a predetermined data set for machine learning: requestor: 130) A related usage request transaction (eg, a data usage request transaction) may be generated. According to an embodiment of the present disclosure, the use request transaction for a predetermined data set may include a specific specification (eg, resource, data content, format, etc.) of the requested data set. Then, the generated transaction can be distributed on the blockchain network 110. According to an embodiment of the present disclosure, a transaction distributed on the blockchain network 110 may be received by all other resource sharing nodes (provider: 130).

전술한 데이터 이용 요청 트랜잭션을 수신한 자원 공유 노드들(제공자) 가운데 적어도 하나의 자원 공유 노드가 그 트랜잭션의 요구에 대한 응답을 생성하여 전송하고, 자원 공유 노드(요청자: 130) 응답을 수신할 수 있다. At least one resource sharing node among the resource sharing nodes (providers) that has received the above-described data use request transaction generates and transmits a response to the request of the transaction, and receives a response from the resource sharing node (requester: 130). have.

그 후에, 자원 요청자(130)는 트랜잭션의 요구에 대한 응답한 자원 공유 노드들(제공자) 중 적어도 하나의 노드를 선택하여 워커-피어-그룹을 생성하고, 자원 요청자(130)는 워커-피어-그룹에 관한 정보 트랜잭션(예컨대, 워커-피어-그룹에 속한 자원 공유 노드의 식별자, 공유되는 자원 등)을 생성하여, 생성된 트랜잭션이 블록체인 네트워크(110) 상에 배포될 수 있다. 본 개시의 일 실시예에 의하면, 블록체인 네트워크(110) 상에 배포된 트랜잭션은 다른 자원 공유 노드들(130) 모두에 의해 수신될 수 있다. 본 발명의 다른 실시예에 있어서, 자원 요청자는 워커-피어-그룹에 속한 자원 공유 노드(제공자: 130)에만 워커-피어-그룹 정보를 전송할 수도 있다. 이러한 과정을 통해서, 자원 공유 노드(제공자)는 자신이 워킹-피어-그룹의 멤버라는 것을 인식할 수 있다.After that, the resource requestor 130 creates a worker-peer-group by selecting at least one node among resource sharing nodes (providers) responding to the request of the transaction, and the resource requester 130 is a worker-peer- By creating an information transaction about a group (eg, an identifier of a resource sharing node belonging to a worker-peer-group, a shared resource, etc.), the generated transaction may be distributed on the blockchain network 110. According to an embodiment of the present disclosure, a transaction distributed on the blockchain network 110 may be received by all other resource sharing nodes 130. In another embodiment of the present invention, the resource requestor may transmit the worker-peer-group information only to the resource sharing node (provider: 130) belonging to the worker-peer-group. Through this process, the resource sharing node (provider) can recognize that it is a member of the working-peer-group.

본 발명의 일 실시예에 있어서, 스마트 계약을 지원하는 블록체인에 기반한, 분산형 컴퓨팅 자원 공유 시스템 상의 컴퓨팅 장치에서 수행되는 경우, 블록체인은 복수의 사용자 계정과, 공유 컴퓨팅 자원의 관리를 위한 스마트 계약 계정을 포함할 수 있고, 워커-피어-그룹에 관한 정보를 스마트 계약 계정과 연관시켜 저장할 수 있다. In an embodiment of the present invention, when executed in a computing device on a distributed computing resource sharing system based on a blockchain supporting smart contracts, the blockchain is a smart device for managing a plurality of user accounts and shared computing resources. A contract account may be included, and information about a worker-peer-group may be stored in association with a smart contract account.

그런 다음, 단계(S1012)에서, 자원 공유 노드(요청자)는 인증 서버(140)로부터 자신의 공개 키(public key) 정보와 개인 키(private key) 정보 및 상기 워커-피어-그룹에 대한 공개 키 정보를 수신할 수 있다. Then, in step (S1012), the resource sharing node (requester) has its own public key (public key) information and private key (private key) information from the authentication server 140, and the public key for the worker-peer-group You can receive information.

본 개시의 일 실시예에 따르면, 자원 공유 노드(요청자)의 공개키와 워커-피어-그룹의 공개 키가 동일하고, 자원 공유 노드(요청자)의 개인 키와 워커-피어-그룹의 개인 키가 동일하여 그룹 간의 동일한 개인 키와 공개 키를 사용하여 통신할 수 있다. According to an embodiment of the present disclosure, the public key of the resource sharing node (requester) and the public key of the worker-peer-group are the same, and the private key of the resource sharing node (requester) and the private key of the worker-peer-group are the same. It is the same so that groups can communicate using the same private key and public key.

본 개시의 일 실시예에 따르면, 자원 공유 노드(요청자)가 인증 서버(140)로부터 자신의 공개 키(public key) 정보와 개인 키(private key) 정보 및 상기 워커-피어-그룹에 대한 공개 키 정보를 수신할 때 자원 공유 노드(요청자)는 해당 키의 유효 기간 정보를 함께 수신할 수 있다. 본 발명의 일 실시예에서, 공개 키의 유효기간은 해당 공개 키가 사용될 수 있는 기간으로, 키 유효기간은 사용자 또는 관리자가 암호키를 사용할 수 있는 기간 또는 특정 시스템에 주어진 암호키의 유효성이 유지되는 기간이다. According to an embodiment of the present disclosure, a resource sharing node (requestor) has its own public key information and private key information from the authentication server 140, and the public key for the worker-peer-group. When receiving the information, the resource sharing node (requester) may also receive information on the validity period of the corresponding key. In one embodiment of the present invention, the validity period of the public key is a period in which the corresponding public key can be used, and the key validity period is the period during which the user or administrator can use the encryption key or the validity of the encryption key given to a specific system It is the period of becoming.

다음으로, 단계(S1014)에서, 암호키의 유효기간이 만료되는 등으로 더 이상 사용되지 않는 경우, 자원 공유 노드(요청자)는 해당 암호키를 더 이상 저장하지 않고 삭제할 수 있다. 본 발명의 일 실시예에 있어서, 자원 공유 노드(요청자)는 워커-피어-그룹에 속한 자원 공유 노드(제공자: 130)의 공개 키의 유효기간이 만료된 경우, 해당 공개 키를 삭제할 수 있다. Next, in step S1014, when the encryption key is no longer used due to the expiration of the valid period, the resource sharing node (requester) may delete the encryption key without storing any more. In one embodiment of the present invention, when the validity period of the public key of the resource sharing node (provider: 130) belonging to the worker-peer-group has expired, the resource sharing node (requester) may delete the corresponding public key.

도시된 바에 의하면, 단계(S1020)에서, 자원 공유 노드(제공자)는 워커-피어-그룹의 멤버임을 인식할 수 있다. 예컨대, 자원 공유 노드(제공자)는 자원 요청자(요청자: 130)의 요구에 대한 응답을 생성하여 전송할 수 있다. 본 발명의 일 실시예에서, 응답 메시지는 자원 공유 노드의 식별자, 공유되는 자원(리소스) 정보 등을 포함할 수 있다. 다음으로, 자원 공유 노드(제공자)는 자원 요청자(요청자)가 워커-피어-그룹에 관한 정보 트랜잭션(예컨대, 워커-피어-그룹에 속한 자원 공유 노드의 식별자, 공유되는 자원 등)을 생성하여, 생성된 트랜잭션이 블록체인 네트워크(110) 상에 배포한 트랜잭션을 수신할 수 있다. 본 개시의 일 실시예에 의하면, 블록체인 네트워크(110) 상에 배포된 트랜잭션은 다른 자원 공유 노드들(130) 모두에 의해 수신될 수 있다. 본 발명의 다른 실시예에 있어서, 자원 공유 노드(130)는 자원 요청자(130) 로부터 워커-피어-그룹에 관한 정보를 수신할 수 있다. As illustrated, in step S1020, the resource sharing node (provider) may recognize that the worker-peer-group is a member. For example, the resource sharing node (provider) may generate and transmit a response to the request of the resource requestor (requester: 130). In an embodiment of the present invention, the response message may include an identifier of a resource sharing node, shared resource (resource) information, and the like. Next, the resource sharing node (provider) creates an information transaction about the worker-peer-group by the resource requester (requester) (e.g., the identifier of the resource sharing node belonging to the worker-peer-group, shared resources, etc.), The generated transaction may receive a transaction distributed on the blockchain network 110. According to an embodiment of the present disclosure, a transaction distributed on the blockchain network 110 may be received by all other resource sharing nodes 130. In another embodiment of the present invention, the resource sharing node 130 may receive information about a worker-peer-group from the resource requestor 130.

그런 다음, 단계(S1022)에서 자원 공유 노드(제공자)는 자원 요청자(130)의 공개 키 정보와 해당 공개 키의 유효기간 정보를 함께 수신할 수 있다. 본 발명의 일 실시예에서, 공개 키의 유효기간은 해당 공개 키가 사용될 수 있는 기간으로, 키 유효기간은 사용자 또는 관리자가 암호키를 사용할 수 있는 기간 또는 특정 시스템에 주어진 암호키의 유효성이 유지되는 기간이다. Then, in step S1022, the resource sharing node (provider) may receive the public key information of the resource requestor 130 and the validity period information of the corresponding public key together. In one embodiment of the present invention, the validity period of the public key is a period in which the corresponding public key can be used, and the key validity period is the period during which the user or administrator can use the encryption key or the validity of the encryption key given to a specific system is maintained. It is the period of becoming.

단계(S1024)에서 암호키의 유효기간이 만료되는 등으로 더 이상 사용되지 않는 경우, 자원 공유 노드(제공자: 130)는 해당 암호키를 더 이상 저장하지 않고 삭제할 수 있다. 본 발명의 일 실시예에 있어서, 자원 공유 노드(제공자: 130)는 자원 요청자(130)의 공개 키의 유효기간이 만료된 경우, 해당 공개 키를 삭제할 수 있다. When the encryption key is no longer used due to the expiration of the encryption key in step S1024, the resource sharing node (provider: 130) may delete the encryption key without storing any more. In one embodiment of the present invention, when the validity period of the public key of the resource requestor 130 has expired, the resource sharing node (provider: 130) may delete the corresponding public key.

선택적으로, 단계(S1026)에서, 자원 공유 노드(제공자)는 자원 요청자(130)의 요청에 따른 절차를 수행하고, 절차가 완료되는 경우, 요청자(130)의 공개 키 정보의 삭제 요청을 전송할 수 있다. Optionally, in step S1026, the resource sharing node (provider) performs a procedure according to the request of the resource requestor 130, and when the procedure is completed, may transmit a request to delete the public key information of the requestor 130 have.

본 발명의 일 실시예에서, 자원 공유 노드의 공개 키(public key)와 개인 키(private key)는 각 자원 공유 노드들간 서로 동일할 수 있다. In an embodiment of the present invention, a public key and a private key of a resource sharing node may be the same between each resource sharing node.

본 개시의 일 실시예에 따르면, 인증 서버(140-2)는 자원 공유 노드(요청자)로부터 리소스를 요청하는 제1 요청을 수신하고, 자원 공유 노드(요청자)로부터 상기 워커-피어-그룹 정보를 수신한 후, 상기 자원 공유 노드(요청자)로 상기 자원 공유 노드(요청자)의 공개 키(public key) 정보와 개인 키(private key) 정보를 전송하고, 상기 워커-피어-그룹에 포함된 자원 공유 노드(제공자)로 워커-피어-그룹의 공개 키 정보와 개인 키 정보를 전송할 수 있다. According to an embodiment of the present disclosure, the authentication server 140-2 receives a first request for requesting a resource from a resource sharing node (requester), and receives the worker-peer-group information from the resource sharing node (requester). After receiving, transmits the public key information and private key information of the resource sharing node (requester) to the resource sharing node (requester), and the resource sharing included in the worker-peer-group The public key information and private key information of the worker-peer-group can be transmitted to the node (provider).

당업자라면 알 수 있듯이, 본 개시가 본 명세서에 기술된 예시에 한정되는 것이 아니라 본 개시의 범주를 벗어나지 않는 범위 내에서 다양하게 변형, 재구성 및 대체될 수 있다. 본 명세서에 기술된 다양한 기술들은 하드웨어 또는 소프트웨어, 또는 하드웨어와 소프트웨어의 조합에 의해 구현될 수 있음을 알아야 한다.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 substituted without departing from the scope of the present disclosure. It should be understood 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 includes a storage medium readable by a computer processor, such as EPROM, 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 can 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 language or machine language. It is intended to cover all modifications and changes belonging to the true spirit and scope of the present disclosure by the following claims.

Claims (8)

스마트 계약을 지원하는 블록체인에 기반한, 분산형 컴퓨팅 자원 공유 시스템 상의 컴퓨팅 장치에서 수행되는 보안 통신 제공 방법으로서,
리소스를 요청하는 제1 요청을 생성하여 전송하는 단계;
상기 제1 요청에 대한 응답을 적어도 하나의 자원 공유 노드로부터 수신하는 단계;
상기 적어도 하나의 자원 공유 노드 중 적어도 하나의 노드를 선택하여 워커-피어-그룹을 생성하고 워커-피어-그룹 정보를 전송하는 단계; 및
인증 서버로부터 상기 컴퓨팅 장치의 공개 키(public key) 정보와 개인 키(private key) 정보 및 상기 워커-피어-그룹의 공개 키 정보를 수신하는 단계;
를 포함하고,
상기 워커-피어-그룹의 공개 키와 상기 컴퓨팅 장치의 공개 키가 동일하고,
상기 워커-피어-그룹의 개인 키와 상기 컴퓨팅 장치의 개인 키가 동일한 보안 통신 제공 방법.
As a method of providing secure communication performed in a computing device on a distributed computing resource sharing system based on a blockchain supporting smart contracts,
Generating and transmitting a first request for requesting a resource;
Receiving a response to the first request from at least one resource sharing node;
Generating a worker-peer-group by selecting at least one node from among the at least one resource sharing node, and transmitting worker-peer-group information; And
Receiving public key information and private key information of the computing device and public key information of the worker-peer-group from an authentication server;
Including,
The public key of the worker-peer-group and the public key of the computing device are the same,
The method of providing secure communication in which the private key of the worker-peer-group and the private key of the computing device are the same.
삭제delete 제1항에 있어서,
상기 인증 서버로부터 상기 컴퓨팅 장치의 공개 키(public key) 정보와 개인 키(private key) 정보 및 상기 워커-피어-그룹에 대한 공개 키 정보를 수신하는 단계는
상기 워커-피어-그룹의 공개 키의 유효기간 정보를 수신하는 단계를 더 포함하는 보안 통신 제공 방법.
The method of claim 1,
Receiving public key information, private key information, and public key information for the worker-peer-group of the computing device from the authentication server
The method of providing a secure communication further comprising the step of receiving validity period information of the public key of the worker-peer-group.
제3항에 있어서,
상기 워커-피어-그룹의 공개 키의 유효기간이 만료된 경우, 상기 워커-피어-그룹의 공개 키(public key) 정보를 삭제하는 단계를 더 포함하는 보안 통신 제공 방법.
The method of claim 3,
When the validity period of the public key of the worker-peer-group has expired, the method of providing a secure communication further comprises deleting information of the public key of the worker-peer-group.
스마트 계약을 지원하는 블록체인에 기반한, 분산형 컴퓨팅 자원 공유 시스템 상의 컴퓨팅 장치에서 수행되는 보안 통신 제공 방법으로서,
자원 공유 노드(요청자)로부터 워커-피어-그룹에 포함되었다는 정보를 수신하는 단계;
인증 서버로부터 상기 컴퓨팅 장치의 공개 키(public key)와 개인 키(private key) 정보를 수신하는 단계; 및
상기 자원 공유 노드(요청자)로부터 제1 요청을 수신하고, 상기 제1 요청에 따른 절차를 수행하고, 절차가 완료되는 경우 상기 인증 서버로 상기 컴퓨팅 장치의 공개 키(public key)와 개인 키(private key)에 대한 사용 종료 요청을 전송하는 단계;
를 포함하는 보안 통신 제공 방법.
As a method of providing secure communication performed in a computing device on a distributed computing resource sharing system based on a blockchain supporting smart contracts,
Receiving information indicating that a worker-peer-group has been included from a resource sharing node (requester);
Receiving information on a public key and a private key of the computing device from an authentication server; And
When a first request is received from the resource sharing node (requester), a procedure according to the first request is performed, and the procedure is completed, a public key and a private key of the computing device are sent to the authentication server. transmitting a request for termination of use for key);
Secure communication providing method comprising a.
스마트 계약을 지원하는 블록체인에 기반한, 분산형 컴퓨팅 자원 공유 시스템 상의 컴퓨팅 장치에서 수행되는 보안 통신 제공 방법으로서,
자원 공유 노드(요청자)로부터 리소스를 요청하는 제1 요청을 수신하는 단계;
워커-피어-그룹 정보를 수신하는 단계;
상기 자원 공유 노드(요청자)로 상기 자원 공유 노드(요청자)의 공개 키(public key) 정보와 개인 키(private key) 정보를 전송하는 단계;
상기 워커-피어-그룹에 포함된 자원 공유 노드(제공자)로 워커-피어-그룹의 공개 키 정보와 개인 키 정보를 전송하는 단계;
를 포함하는 보안 통신 제공 방법.
As a method of providing secure communication performed in a computing device on a distributed computing resource sharing system based on a blockchain supporting smart contracts,
Receiving a first request for requesting a resource from a resource sharing node (requester);
Receiving worker-peer-group information;
Transmitting public key information and private key information of the resource sharing node (requester) to the resource sharing node (requester);
Transmitting public key information and private key information of the worker-peer-group to a resource sharing node (provider) included in the worker-peer-group;
Secure communication providing method comprising a.
제6항에 있어서,
상기 워커-피어-그룹의 공개 키와 상기 자원 공유 노드(요청자)의 공개 키가 동일하고,
상기 워커-피어-그룹의 개인 키와 상기 자원 공유 노드(요청자)의 개인 키가 동일한 보안 통신 제공 방법.
The method of claim 6,
The public key of the worker-peer-group and the public key of the resource sharing node (requester) are the same,
The method of providing secure communication in which the private key of the worker-peer-group and the private key of the resource sharing node (requester) are the same.
제6항에 있어서,
상기 자원 공유 노드(요청자)로 공개 키(public key) 정보와 개인 키(private key) 정보 및 상기 워커-피어-그룹 각각으로 워커-피어-그룹의 공개 키 정보와 개인 키 정보를 전송하는 단계는
유효기간 정보를 전송하는 단계를 더 포함하는 보안 통신 제공 방법.
The method of claim 6,
Transmitting public key information and private key information to the resource sharing node (requester) and public key information and private key information of the worker-peer-group to each of the worker-peer-groups
The method of providing a secure communication further comprising the step of transmitting the validity period information.
KR1020180131119A 2018-10-30 2018-10-30 Method for providing encryption communication using the same key within a working group in a distributed computing resource shring system based on block chain KR102193890B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180131119A KR102193890B1 (en) 2018-10-30 2018-10-30 Method for providing encryption communication using the same key within a working group in a distributed computing resource shring system based on block chain

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180131119A KR102193890B1 (en) 2018-10-30 2018-10-30 Method for providing encryption communication using the same key within a working group in a distributed computing resource shring system based on block chain

Publications (2)

Publication Number Publication Date
KR20200048722A KR20200048722A (en) 2020-05-08
KR102193890B1 true KR102193890B1 (en) 2020-12-22

Family

ID=70677378

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180131119A KR102193890B1 (en) 2018-10-30 2018-10-30 Method for providing encryption communication using the same key within a working group in a distributed computing resource shring system based on block chain

Country Status (1)

Country Link
KR (1) KR102193890B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109345389A (en) * 2018-09-25 2019-02-15 阿里巴巴集团控股有限公司 A kind of resource sharing method, device and equipment
CN115174188A (en) * 2022-06-29 2022-10-11 蚂蚁区块链科技(上海)有限公司 Message transmission method and device, electronic equipment and storage medium

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017079046A (en) * 2015-10-22 2017-04-27 京セラドキュメントソリューションズ株式会社 Image forming system and program for image forming system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080033584A (en) * 2006-10-12 2008-04-17 삼성전자주식회사 Apparatus and method for supporting news service using multicast and broadcast service in broadband wireless access system
KR100957121B1 (en) * 2008-02-22 2010-05-13 성균관대학교산학협력단 Key distribution method and authentication server
KR101067720B1 (en) 2010-03-26 2011-09-28 국방과학연구소 Communication apparatus and method using a public key encryption algorithm and a group key
KR101852079B1 (en) 2018-03-16 2018-04-27 주식회사 미탭스플러스 Distributed Ledger Device and Distributed Ledger Method for Game Difficulty Control based on Block Chain

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017079046A (en) * 2015-10-22 2017-04-27 京セラドキュメントソリューションズ株式会社 Image forming system and program for image forming system

Also Published As

Publication number Publication date
KR20200048722A (en) 2020-05-08

Similar Documents

Publication Publication Date Title
KR102254809B1 (en) Distributed computing resources sharing system and computing apparatus thereof providing reward based on block chain
CN110235410B (en) Method for substituting user's login by PKI-based authentication using blockchain database of UTXO-based protocol and server using the same
KR102107115B1 (en) Distributed computing resources sharing system and computing apparatus thereof based on block chain system supporting smart contract
CN110268678B (en) PKI-based login method for authentication agent user and server using same
US11182787B2 (en) System and method for scaling blockchain networks with secure off-chain payment hubs
Biswas et al. A scalable blockchain framework for secure transactions in IoT
US10924285B2 (en) Method and server for providing notary service with respect to file and verifying file recorded by the notary service
US11348097B2 (en) Digital contracts in blockchain environments
CN109636492B (en) Tax administration method, device, medium and electronic equipment based on block chain system
CN109493050B (en) Transfer method based on block chain main chain and parallel multiple sub-chains
Sabry et al. The road to the blockchain technology: Concept and types
CN110912707B (en) Block chain-based digital certificate processing method, device, equipment and storage medium
CN112235420B (en) Data synchronization method, system and related equipment based on block chain
CN110770770A (en) Method and system for mining blockchain transactions provided by verifier nodes
JP2020523813A (en) Credential generation and distribution method for blockchain networks
CN109493051B (en) Main chain and parallel multi-subchain system architecture capable of dynamically allocating and migrating accounts
CN110910110A (en) Data processing method and device and computer storage medium
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
KR102176128B1 (en) Method for providing encryption communication in a distributed computing resource shring system based on block chain
CN107302524A (en) A kind of ciphertext data-sharing systems under cloud computing environment
CN112231415B (en) Data synchronization method and system of block chain network, electronic device and readable medium
KR102221925B1 (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
KR102169299B1 (en) Method for providing encryption communication in a distributed computing resource shring system using group management server based on block chain
CN112150157B (en) Method and device for issuing receivable certificate through block chain
KR102332503B1 (en) Apparatus and method for creating a virtual currency account using a telephone number

Legal Events

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