KR20200064546A - 블록체인 기반 분산 신뢰 서비스 제공 방법 및 장치 - Google Patents

블록체인 기반 분산 신뢰 서비스 제공 방법 및 장치 Download PDF

Info

Publication number
KR20200064546A
KR20200064546A KR1020180150761A KR20180150761A KR20200064546A KR 20200064546 A KR20200064546 A KR 20200064546A KR 1020180150761 A KR1020180150761 A KR 1020180150761A KR 20180150761 A KR20180150761 A KR 20180150761A KR 20200064546 A KR20200064546 A KR 20200064546A
Authority
KR
South Korea
Prior art keywords
service
consumer
resource
information
distributed
Prior art date
Application number
KR1020180150761A
Other languages
English (en)
Other versions
KR102524515B1 (ko
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 KR1020180150761A priority Critical patent/KR102524515B1/ko
Publication of KR20200064546A publication Critical patent/KR20200064546A/ko
Application granted granted Critical
Publication of KR102524515B1 publication Critical patent/KR102524515B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • 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
    • 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/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

본 발명은 블록체인 기반 분산 신뢰 서비스 제공 시스템에서 서비스 제공자가 서비스 소비자에게 서비스를 제공하는 방법을 개시하고 있다. 이때, 서비스를 제공하는 방법은 서비스 컨트랙트에 기초하여 제 1 원장에 서비스 소비자로 제공하는 서비스에 대한 액세스 권한을 기록하는 단계, 서비스 컨트랙트에 기초하여 서비스 리소스를 생성하는 단계 및 생성된 서비스 리소스를 서비스 소비자가 위치하는 도메인의 마스터 노드에게 전송하는 단계를 포함할 수 있다.

Description

블록체인 기반 분산 신뢰 서비스 제공 방법 및 장치 {Method and Apparatus for providing distribution trust service based on block chain}
본 발명은 블록체인 기반 분산 신뢰 서비스를 제공하는 방법 및 장치를 제공할 수 있다.
보다 상세하게는, 서비스 맴버쉽 관리 및 서비스 리소스 관리를 분리하여 분산 신뢰 서비스를 제공하는 방법 및 장치를 제공할 수 있다.
인터넷의 등장으로 미디어는 생산자에서 소비자로의 일방적인 전달이 아닌, 생산자와 소비자간의 거대한 양방향 연결이 가능하게 되었다. 이때, 미디어는 누구나 생산하고 누구나 유통하고 누구나 소비할 수 있으며, 여기에 새롭게 등장한 디지털 플랫폼은 이 새로운 생산자와 새로운 소비자가 직접 만나는 좀 더 동적으로 돌아가는 자유시장 형태일 수 있다. 또한, 기존 매스 미디어의 시대에서 소규모 마이크로 커뮤니티를 중심으로 하는 참여적 미디어인 마이크로 미디어의 시대로 전환되고 있다. 이때, 누구든 손쉽게 미디어를 제작할 수 있지만, 해당 미디어가 유통되는 구조는 여전히 중앙 집중적인 형태이다. 대중이 스스로 생산하고 공유하는 것의 가치를 대중 스스로가 온전히 소유할 수 있는 구조인 탈중앙화 기술이 이러한 미디어 시대의 근본적 문제를 해결할 수 있는 핵심이다. 완전한 탈중앙화를 달성하려면 물리적 인프라도 소수의 서버에 집중되지 않도록 최대한 분산되어야 한다. 이는 단순한 데이터의 분산 저장만을 의미하는 것이 아니라, 기존의 서버-클라이언트 방식에서 완전히 탈피한 방식을 따라야 할 수 있으며, 이를 해결하기 위한 방안에 대해서 서술한다.
한편, 블록체인은 누군가의 보증이 없어도 내용을 신뢰할 수 있게 해주는 기술로서 사토시 나가모토(Satoshi Nakamoto)에 의해 비트코인(Bitcoin: A Peer-to-Peer Electronic Cash System)을 통해 처음 제안되었다. 비트코인에서 블록체인은 네트워크의 수많은 노드들이 거래 내역을 복제하고 올바른지 검증하기 때문에 거래 무결성과 거래 내역이 위변조 되지 않음을 보장한다. 블록 데이터 해시 연결을 위해 블록에는 블록 헤더 데이터를 해시 함수로 계산한 블록 해시가 들어가고 이를 통해 해시 연결성을 검증해 블록체인 데이터가 중간에 위변조가 되지 않았음을 확인할 수 있으며, 하기에서는 이에 기초하여 관련 내용을 서술한다.
본 발명은 블록체인 기반 분산 신뢰 서비스를 제공하는데 목적이 있다.
본 발명은 서비스 리소스를 서비스 소비자(Service Consumer) 주변 저장 장치에 분산 저장하여 효율적인 서비스를 제공하는데 목적이 있다.
본 발명은 블록체인 기술을 활용하여 네트워크 상에 분산 저장된 서비스 데이터에 대한 접근 권한과 그에 따른 정보의 무결성을 지원해주는 신뢰 기법을 제공하는데 목적이 있다.
본 발명은 주변 저장장치를 공유 활용한 서비스 데이터 복제 분배 전략을 통해 전체 네트워크 트래픽 사용량을 줄이는 방법을 제공하는데 목적이 있다.
본 발명은 분산 형태의 서비스 제어로 인해 중계 비용을 감소시키는 방법을 제공하는데 목적이 있다.
본 발명은 지리적으로 분산되어 있는 노드들에 서비스 데이터 복제본을 분산 저장함으로써, 단일 지점에서 발생하는 해킹이나 서비스 중단 측면에서 안정성과 확장성을 향상시키는 방법을 제공하는데 목적이 있다.
본 발명의 일 실시예에 따르면, 블록체인 기반 분산 신뢰 서비스 제공 시스템에서 서비스 제공자가 서비스 소비자에게 서비스를 제공할 수 있다. 이때, 서비스를 제공하는 방법은 서비스 컨트랙트에 기초하여 제 1 원장에 서비스 소비자로 제공하는 서비스에 대한 액세스 권한을 기록하는 단계, 서비스 컨트랙트에 기초하여 서비스 리소스를 생성하는 단계 및 생성된 서비스 리소스를 서비스 소비자가 위치하는 도메인의 마스터 노드에게 전송하는 단계를 포함할 수 있다. 이때, 서비스 리소스는 서비스 소비자가 위치하는 도메인에 포함된 복수의 노도들에서 분산 저장되고, 분산 저장된 서비스 리소스에 대한 검증이 수행되며, 분산 저장된 서비스 리소스에 대한 검증이 완료되면 분산 저장된 서비스 리소스에 대한 정보가 제 2 원장에 기록될 수 있다.
또한, 본 발명의 일 실시예에 따라, 서비스 제공자 및 서비스 소비자를 포함하는 블록체인 기반 분산 신뢰 서비스 제공 시스템을 제공할 수 있다. 이때, 블록체인 기반 분산 신뢰 서비스 제공 시스템에서 서비스 제공자는 서비스 컨트랙트에 기초하여 서비스 리소스를 생성하고, 서비스 제공자는 생성된 서비스 리소스를 서비스 소비자가 위치하는 도메인의 마스터 노드로 전송할 수 있다. 이때, 서비스 컨트랙트에 기초하여 제 1 원장에 서비스 소비자로 제공하는 서비스에 대한 액세스 권한이 기록되고, 서비스 리소스는 서비스 소비자가 위치하는 도메인에 포함된 복수의 노도들에서 분산 저장되고, 분산 저장된 서비스 리소스에 대한 검증이 수행되며, 분산 저장된 서비스 리소스에 대한 검증이 완료되면 분산 저장된 서비스 리소스에 대한 정보가 제 2 원장에 기록될 수 있다.
또한, 본 발명의 일 실시예에 따라, 블록체인 기반 분산 신뢰 서비스 제공 시스템의 서비스 제공자를 제공할 수 있다. 이때, 정보를 저장하는 메모리, 신호를 송수신하는 송수신부 및 메모리와 상기 송수신부를 제어하는 프로세서를 포함할 수 있다. 이때, 프로세서는 서비스 컨트랙트에 기초하여 서비스 리소스를 생성하고, 생성된 서비스 리소스를 서비스 소비자가 위치하는 도메인의 마스터 노드로 전송하되, 서비스 컨트랙트에 기초하여 제 1 원장에 서비스 소비자로 제공하는 서비스에 대한 액세스 권한이 기록되고, 서비스 리소스는 서비스 소비자가 위치하는 도메인에 포함된 복수의 노도들에서 분산 저장되고, 분산 저장된 서비스 리소스에 대한 검증이 수행되며, 분산 저장된 서비스 리소스에 대한 검증이 완료되면 분산 저장된 서비스 리소스에 대한 정보가 제 2 원장에 기록될 수 있다.
또한, 본 발명의 일 실시예에 따라, 블록체인 기반 분산 신뢰 서비스 제공 시스템의 서비스 소비자를 제공할 수 있다. 이때, 서비스 소비자는 정보를 저장하는 메모리, 신호를 송수신하는 송수신부 및 메모리와 송수신부를 제어하는 프로세서를 포함할 수 있다. 이때, 프로세서는 서비스 소비자가 포함된 도메인의 마스터 노드로부터 서비스 리소스에 대한 분산 저장 형태 정보를 수신하고, 분산 저장 형태 정보에 기초하여 서비스 소비자가 포함된 도메인의 다른 노드들에게 서비스 리소스에 대한 요청을 전송하고, 요청에 기초하여 서비스를 제공 받을 수 있다. 이때, 서비스 리소스는 서비스 컨트랙트에 기초하여 서비스 제공자에 의해 생성되어 서비스 소비자가 위치하는 도메인의 마스터 노드로 전송되고, 서비스 컨트랙트에 기초하여 제 1 원장에 서비스 소비자로 제공하는 서비스에 대한 액세스 권한이 기록되고, 서비스 리소스는 서비스 소비자가 위치하는 도메인에 포함된 복수의 노도들에서 분산 저장되고, 분산 저장된 서비스 리소스에 대한 검증이 수행되며, 분산 저장된 서비스 리소스에 대한 검증이 완료되면 분산 저장된 서비스 리소스에 대한 정보가 제 2 원장에 기록될 수 있다.
다음의 사항들은 블록체인 기반 분산 신뢰 서비스 제공 시스템 및 블록체인 기반 분산 신뢰 서비스 제공 시스템에 기초하여 동작하는 서비스 제공자와 서비스 소비자에 공통으로 적용될 수 있다.
또한, 본 발명의 일 실시예에 따라, 마스터 노드는 서비스 리소스의 분산 저장 형태 정보를 서비스 소비자로 전송할 수 있다.
또한, 본 발명의 일 실시예에 따라, 서비스 소비자는 마스터 노드로부터 수신한 서비스 리소스의 분산 저장 형태 정보에 기초하여 서비스 리소스를 서비스 소비자가 포함된 도메인 내의 노드들로 요청하고, 요청된 서비스 리소스에 기초하여 서비스를 제공받을 수 있다.
또한, 본 발명의 일 실시예에 따라, 서비스 소비자가 서비스 제공자와 다른 도메인에 위치하는 경우에만 서비스 소비자가 마스터 노드로부터 수신한 서비스 리소스의 분산 저장 형태 정보에 기초하여 서비스 리소스를 서비스 소비자가 포함된 도메인 내의 노드들로 요청하여 서비스를 제공받을 수 있다.
이때, 본 발명의 일 실시예에 따라, 서비스 제공자 및 서비스 소비자가 동일한 도메인에 위치하는 경우, 서비스 제공자는 생성된 서비스 리소스에 기초하여 서비스 소비자로 서비스를 직접 제공할 수 있다.
또한, 본 발명의 일 실시예에 따라, 제 1 원장에 기록된 서비스에 대한 액세스 권한에 대한 정보는 서비스 제공자에 대한 정보, 서비스 소비자에 대한 정보, 서비스 컨트랙트에 대한 정보, QoS 정책 정보, 프라이빗 ACL 정보 및 서비스 리소스를 위한 암호화 키 정보 중 적어도 어느 하나 이상을 포함할 수 있다.
이때, 본 발명의 일 실시예에 따라, QoS 정책에 기초하여 서비스 소비자의 서비스 트랜잭션 처리에 대한 우선 순위가 결정될 수 있다.
또한, 본 발명의 일 실시예에 따라, 우선 순위에 기초하여 서비스 소비자에 대한 트랜잭션 분류 및 블록 생성 크기가 다르게 결정될 수 있다.
또한, 본 발명의 일 실시예에 따라, 생성된 서비스 리소스의 복사본이 서비스 소비자가 위치하는 도메인의 마스터 노드에게 전송될 수 있다.
또한, 본 발명의 일 실시예에 따라, 제 1 원장은 서비스 맴버쉽 원장이고, 제 2 원장은 서비스 리소스 원장일 수 있다.
본 발명에 따르면, 본 발명은 블록체인 기반 분산 신뢰 서비스를 제공할 수 있다.
본 발명에 따르면, 서비스 리소스를 서비스 소비자(Service Consumer) 주변 저장 장치에 분산 저장하여 효율적인 서비스를 제공할 수 있다.
본 발명에 따르면, 블록체인 기술을 활용하여 네트워크 상에 분산 저장된 서비스 데이터에 대한 접근 권한과 그에 따른 정보의 무결성을 지원해주는 신뢰 기법을 제공할 수 있다.
본 발명에 따르면, 주변 저장장치를 공유 활용한 서비스 데이터 복제 분배 전략을 통해 전체 네트워크 트래픽 사용량을 줄이는 방법을 제공할 수 있다.
본 발명에 따르면, 분산 형태의 서비스 제어로 인해 중계 비용을 감소시키는 방법을 제공할 수 있다.
본 발명에 따르면, 지리적으로 분산되어 있는 노드들에 서비스 데이터 복제본을 분산 저장함으로써, 단일 지점에서 발생하는 해킹이나 서비스 중단 측면에서 안정성과 확장성을 향상시키는 방법을 제공할 수 있다.
본 개시에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 트랜잭션(Transactions)을 나타낸 도면이다.
도 2는 트랜잭션 보관 데이터베이스를 나타낸 도면이다.
도 3은 블록체인에 기초하여 암호화 화폐 송금 방법을 나타낸 도면이다.
도 4는 블록체인 기반 분산 신뢰 서비스 제공 시스템을 나타낸 도면이다.
도 5는 블록체인 기반 체결 서비스 계약에 따른 서비스 리소스 제공 프로세싱 방법을 나타낸 도면이다.
도 6은 PoW (Proof of Work) 메카니즘을 활용한 서비스 노드 등록 및 서비스 가입 프로세싱 방법을 나타낸 도면이다.
도 7은 서비스 리소스가 분산 저장되는 형태를 나타낸 도면이다.
도 8은 분산 신뢰 서비스 제공을 위한 블록체인 시스템을 나타낸 도면이다.
도 9는 서비스 리소스 복제본을 분할하는 방법을 나타낸 도면이다.
도 10은 서비스 리소스 복제본을 분산 저장하는 방법을 나타낸 도면이다.
도 11은 서비스 리소스 복제본의 분산 저장 정보를 기록하는 방법을 나타낸 도면이다.
도 12는 서비스 리소스 제공을 위한 프로토콜 흐름도를 나타낸 도면이다.
도 13은 새로운 서비스 리소스를 추가하는 방법을 나타낸 도면이다.
도 14는 블록체인 기반 분산 신뢰 서비스를 제공하는 방법을 나타낸 순서도이다.
도 15는 블록체인 기반 분산 신뢰 서비스를 제공하는 노드에 대한 장치 구성을 나타낸 도면이다.
이하에서 는 첨부한 도면을 참고로 하여 본 개시의 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나, 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다.
본 개시의 실시 예를 설명함에 있어서 공지 구성 또는 기능에 대한 구체적인 설명이 본 개시의 요지를 흐릴 수 있다고 판단되는 경우에는 그에 대한 상세한 설명은 생략한다. 그리고, 도면에서 본 개시에 대한 설명과 관계없는 부분은 생략하였으며, 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
본 개시에 있어서, 어떤 구성요소가 다른 구성요소와 "연결", "결합" 또는 "접속"되어 있다고 할 때, 이는 직접적인 연결관계뿐만 아니라, 그 중간에 또 다른 구성요소가 존재하는 간접적인 연결관계도 포함할 수 있다. 또한 어떤 구성요소가 다른 구성요소를 "포함한다" 또는 "가진다"고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 배제하는 것이 아니라 또 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 개시에 있어서, 제1, 제2 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용되며, 특별히 언급되지 않는 한 구성요소들간의 순서 또는 중요도 등을 한정하지 않는다. 따라서, 본 개시의 범위 내에서 일 실시 예에서의 제1 구성요소는 다른 실시 예에서 제2 구성요소라고 칭할 수도 있고, 마찬가지로 일 실시 예에서의 제2 구성요소를 다른 실시 예에서 제1 구성요소라고 칭할 수도 있다.
본 개시에 있어서, 서로 구별되는 구성요소들은 각각의 특징을 명확하게 설명하기 위함이며, 구성요소들이 반드시 분리되는 것을 의미하지는 않는다. 즉, 복수의 구성요소가 통합되어 하나의 하드웨어 또는 소프트웨어 단위로 이루어질 수도 있고, 하나의 구성요소가 분산되어 복수의 하드웨어 또는 소프트웨어 단위로 이루어질 수도 있다. 따라서, 별도로 언급하지 않더라도 이와 같이 통합된 또는 분산된 실시 예도 본 개시의 범위에 포함된다.
본 개시에 있어서, 다양한 실시 예에서 설명하는 구성요소들이 반드시 필수적인 구성요소들을 의미하는 것은 아니며, 일부는 선택적인 구성요소일 수 있다. 따라서, 일 실시 예에서 설명하는 구성요소들의 부분집합으로 구성되는 실시 예도 본 개시의 범위에 포함된다. 또한, 다양한 실시 예에서 설명하는 구성요소들에 추가적으로 다른 구성요소를 포함하는 실시 예도 본 개시의 범위에 포함된다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 제시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다.
블록 체인은 블록으로 이루어진 원장(또는 장부)에 기초하여 동작하는 시스템일 수 있다. 블록체인은 중개인 없이 신뢰를 담보할 수 있는 기술을 제공할 수 있다. 이때, 각각의 블록은 서로 다른 사용자들에게 분산될 수 있고, 이러한 블록들이 체인 구조를 이루면서 신뢰를 담보하도록 할 수 있다. 이러한 블록체인 기술의 등장 전까지 우리는 온라인에서 누군가와 데이터를 주고받거나 어떤 거래를 수행하는 경우, 상대방에 대한 신뢰를 확신할 수 없었다. 이때, 블록체인은 같은 거래 장부에 네트워크에서 일어나는 모든 거래 기록을 기록하여 네트워크 참여자들이 다 같이 공증할 수 있는 분산원장 시스템을 가능하게 할 수 있다. 블록체인은 개인간 공유 플랫폼으로 정의할 수 있으며, 참여자인 노드가 정보를 공유하는 형태일 수 있다. 따라서 블록체인은 신뢰성을 제공하면서 시스템이 중앙화되어 발생하는 문제를 방지할 수 있다. (탈중앙화) 이는 기존 서비스의 구조를 바꿈으로써, 중개 비용과 공유 비용을 감소시키고 개인 권리 강화를 수행할 수 있다. 즉, 블록체인은 중앙 집중형인 클라우드에 대비되는 새로운 네트워크 플랫폼을 형성하고 있다.
일 예로, 블록체인에 기초하는 경우, 조작되지 않은 정보를 모든 노드들과 공유될 수 있다. 이때, 블록체인 내의 노드가 서로 믿을 수 있게 하여 신뢰가 형성될 수 있으며, 이러한 신뢰 특성에 기초하여 다양한 서비스 분야에서 블록체인의 보안기술이 이용될 수 있다.
이때, 도 1은 트랜잭션(Transactions)을 나타낸 도면이다. 일 예로, 스마트 컨트랙트(Smart Contract)는 계약 조건을 실행하는 트랜잭션 프로토콜을 의미할 수 있다. 즉, 블록체인 기술을 기반으로 계약 조건이 설정되고, 계약 조간이 만족하면 계약 내용이 자동으로 이행되도록 하는 시스템이 스마트 컨트랙트일 수 있다. 이때, 스마트 컨트랙트는 블록체인을 응용한 서비스를 하는데 꼭 필요한 기술일 수 있다. 이때, 스마트 컨트랙트 지원 블록체인을 위해서는 트랜잭션 보관 데이터베이스 및 스마트 컨트랙트 데이터베이스가 필요할 수 있다. 일 예로, 트랜잭션 보관 데이터베이스는 스마트 컨트랙트의 상태를 변경시킬 수 있다. 또한, 스마트 컨트랙트 데이터 베이스는 스마트 컨트랙트의 최신 상태 정보를 보관할 수 있다. 이때, 일 예로, 트랜잭션은 하나의 작업을 수행하기 위해 필요한 데이터베이스의 연산들을 모아 놓은 것일 수 있다. 일 예로, 트랜잭서은 도 1과 같이 일정한 작업을 위한 정보 및 연산들을 정의할 수 있다. 한편, 클라이언트가 새로운 트랜잭션을 발생시키는 경우, 블록체인 참여 노드들은 트랜잭션을 분산합의 과정을 통해 공유하여 트랜잭션 데이터베이스에 저장시킬 수 있다. 이때, 스마트 컨트랙트의 상태(State)를 변경시키면서 트랜잭션을 실행할 수 있으며, 이러한 결과를 클라이언트가 확인 가능하도록 할 수 있다.
이때, 일 예로 도 2는 트랜잭션 보관 데이터베이스를 나타낸 도면이다. 도 2를 참조하면, 참여 노드가 가지고 있는 트랜잭션 보관 데이터베이스는 블록으로 연결된 구조일 수 있다. 이때, 각각의 블록들(210, 220, 230)은 순서가 정해진 트랜잭션 리스트에 기초하여 시간의 순서대로 연결되어 있을 수 있다. 이때, 블록체인 자료구조를 이용하면 모든 트랜잭션의 순서를 확정 지을 수 있다. 일 예로, 블록 2(Block 2, 210)의 블록 해시(Block hash)는 블록 3(Block 3, 220)의 이전 해시(previous hash)에 대응될 수 있다. 또한, 일 예로, 블록 3(220)의 블록 해시(Block hash)는 블록 4(Block 4, 220)의 이전 해시(previous hash)에 대응될 수 있다. 즉, 각각의 블록들은 연결을 위한 정보들을 포함하고 있으며, 이에 기초하여 각각의 블록들을 시간의 순서대로 연결할 수 있으며, 모든 트랜잭션의 순서를 확정할 수 있다.
한편, 일 예로, 도 3은 블록체인에 기초하여 암호화 화폐 송금 방법을 나타낸 도면이다. 도 3을 참조하면, A가 B에게 돈을 보내기 위해 트랜잭션을 생성하여 블록체인 네트워크에 전파하면 블록을 생성하는 노드는 트랜잭션을 모아 블록에 저장할 수 있다. 이때, A가 B에게 암호화 화폐를 송금하는 경우, 클라이언트 A는 A의 비밀키로 서명하여 노드에게 전송할 수 있다. 이후, 노드는 트랜잭션을 다른 노드들과 공유하고, 트랜잭션을 모아 블록을 생성할 수 있다. 이때, A의 잔액이 충분한지, 중복으로 사용하지 않는지 등 거래에 대한 검증은 별도로 이루어지며 이러한 검증 방법은 거래에 따라 달라질 수 있다. 이후 해당 트랜잭션들을 적용해 자신의 잔액 데이터베이스를 갱신하고 다른 노드들에 블록을 전파할 수 있다. 다른 노드들은 전파된 블록 데이터에 따라 자신의 잔액 데이터베이스를 갱신하고 블록을 저장할 수 있다. 이제 모든 노드의 잔액 데이터베이스와 트랜잭션 내역 데이터베이스가 갱신되어, 장부 갱신과 함께 송금이 완료되면서 거래가 완료될 수 있다. 이때, 블록 생성 노드를 정하는 과정이나 동시에 블록이 생성되었을 때 올바른 블록을 선택하는 과정은 분산합의 알고리즘에 따라 달라질 수 있다. 한편, 현재 제공되는 네트워크 서비스에서는 인프라 중앙에 서비스 제어와 관리를 위한 특정 서버들을 두는 방식의 중앙화된 아키텍처가 사용되고 있다. 하지만 다양한 디바이스와 센서들이 존재하는 초 연결 시대가 향후에 도래하게 되면, 인프라에 연결될 디바이스가 폭발적으로 증가하고 그로 인한 네트워크 부하 폭주 현상이 발생할 가능성도 높아진다. 그래서, 인프라 중앙에 존재하는 인증서버에 의존하지 않고 자체적으로 신뢰할 수 있으면서 자율성이 높은 분산화된 초 연결 네트워크 서비스를 제공할 수 있도록, 블록체인 기술을 활용한 분산화된 서비스 아키텍처 방안이 필요할 수 있다.
도 4는 블록체인 기반 분산 신뢰 서비스 제공 시스템을 나타낸 도면이다.
서비스 제공자(Service Provider)와 서비스 소비자(Service Consumer) 간에 체결된 서비스 계약에 따라 서비스 리소스에 대한 액세스 권한을 제어할 수 있다. 이때, 하기에서는 블록체인 기반 분산 신뢰 서비스 제공 방법 및 장치로서 각각의 서비스에 대한 서비스 리소스를 암호화하여 서비스 소비자 근처에 분산 저장 형태로 안전하고 효율적인 서비스를 제공하는 방법에 대해서 서술한다. 이때, 본 발명의 블록체인 기반 분산 신뢰 서비스 제공 시스템은 체결된 서비스 계약의 QoS(Quality of Service) 정책(Policy)에 따라 다양한 서비스들이 효율적으로 제공되도록 할 수 있다. 이때, 블록체인 기반 분산 신뢰 서비스 제공 시스템은 서비스 계약의 QoS 정책이나 서비스 특성에 따른 트랜잭션 배칭(batching) 우선처리와 차별화된 서비스 리소스를 제공할 수 있다.
이때, 도 4(a)를 참조하면, 블록체인 기반 분산 신뢰 서비스 제공 시스템에서는 서로 다른 도메인별로 클러스터가 구성될 수 있다. 이때, 각각의 클러스터는 수퍼 피어노드들(410, 420, 430) 간의 상호연결 오버레이 네트워크를 통해 모든 도메인 클러스터들과 연결될 수 있다. 계층적 오버레이 네크워크 아키텍처에서 관리되는 노드 아이디(Node ID)는 두 필드로 구성될 수 있다. 이때, 각각의 필드는 Prefix ID(n-bits) 및 Suffix ID(m-bits)일 수 있다. Prefix ID는 도메인 클러스터 ID의 역할을 수행할 수 있다. 즉, Prefix ID에 기초하여 도메인 클러스트가 식별될 수 있다. 또한, Suffix ID는 피어노드 ID 역할을 수행할 수 있다. 즉, Suffix ID에 기초하여 각각의 피어노드들이 식별될 수 있으며, 수퍼 피어 오버레이 네크워크를 사용하여 다른 도메인을 상호 연결할 수 있다.
따라서, 피어노드가 자신의 도메인 클러스터와 다른 Prefix ID를 가진 피어노드를 찾아야 하는 경우, 쿼리가 해당 수퍼 피어노드로 보내질 수 있다. 이때, 수퍼 피어노드는 대상 피어노드가 있는 도메인 클러스터를 관리하는 수퍼 피어노드로 쿼리를 라우팅할 수 있다.
보다 상세하게는, 도 4(b)를 참조하면, DHT(Distribute Hash Table)에 기초하여 계층적 오버레이 네트워크로 구성된 도메인 클러스터 환경을 제공할 수 있다. 이때, 중앙 제어 서버의 도움 없이 블록체인에 기초하여 서비스가 제공될 수 있다. 보다 상세하게는, 특정 서비스를 제공하고자 하는 서비스 제공자(Service Provider)가 서비스 요구사항과 가격을 서비스 컨트랙트(Service Contract)를 통해 제시할 수 있다. 이때, 해당 서비스를 제공받고자 하는 서비스 소비자(Service Consumer)가 해당 서비스 컨트랙트에 가입하게 되어 서로 합의가 결정되면 원하는 서비스의 공급과 수요가 이루어질 수 있다. 즉, 서비스 제공자는 서비스 소비자에게 서비스를 제공할 수 있다. 이때, 블록체인 기반 분산 신뢰 서비스 제공 시스템은 서비스 제공자 및 서비스 소비자 사이의 서비스 계약인 서비스 컨트랙트에 대한 서비스 합의과정에서 블록체인 기술을 활용한 서비스 트랜잭션을 처리하는 작업을 수행할 수 있다.
일 예로, 블록체인 기반 분산 신뢰 서비스 제공 시스템은 서비스 컨트랙트에 의한 해당 서비스 액세스 권한에 대한 제어와 해당 액세스 권한에 따른 서비스 리소스 저장 및 제공 기능을 분리하여 운영할 수 있다. 이때, 서비스 멤버쉽 원장(ledger for proof-of-service-membership)에서는 다양한 서비스 배포와 가입으로 인해 해당 서비스들의 제공자와 액세스 권한을 갖게 되는 소비자들에 대한 정보가 기록될 수 있다. 이때, 서비스 맴버쉽 원장의 정보가 공유될 수 있고, 공유된 서비스 맴버쉽 원장에 기초하여 서비스 제어에 대한 분산 데이터베이스 정보가 제공될 수 있다. 여기서, 서비스 멤버쉽 원장에는 서비스 제공자의 노드 정보 및 도메인 위치 정보가 기록될 수 있다. 또한, 일 예로, 서비스 맴버쉽 원장에는 서비스 소비자들의 가입자 노드 정보 및 도메인 위치정보가 기록될 수 있다. 또한, 서비스 맴버쉽 원장에는 서비스 제공자가 배포하는 서비스 컨트랙트의 어카운트 (Account) 정보 및 해당 서비스에 대한 서비스 아이디(Service ID) 정보도 기록될 수 있다.
또한, 일 예로, 서비스 맴버쉽 원장에는 업데이트되는 서비스 제공자 및 서비스 소비자에 대한 정보가 더 기록될 수 있다. 보다 상세하게는, 해당 서비스로서 특정 서비스 아이디에 대응하는 서비스에 대한 서비스 제공자 및 서비스 소비자는 시간에 따라 업데이트될 수 있다. 일 예로, 특정 서비스 소비자가 더 이상 서비스를 제공받기를 원하지 않는 경우, 서비스 맴버쉽 원장에서 특정 서비스 소비자가 삭제되어 기록될 수 있다. 또 다른 일 예로, 서비스 제공자가 해당 서비스를 제공하지 못하는 경우가 발생할 수 있다. 이때, 서비스 맴버쉽 원장에서 특정 서비스 제공자는 삭제되고, 이에 기초한 서비스 액세스 제어 권한 정보도 삭제될 수 있다. 또한, 일 예로, 서비스 컨트랙트는 트랜잭션에 기초하여 업데이트될 수 있으며, 업데이트에 대한 정보 역시 서비스 맴버쉽 원장에 기록될 수 있다. 즉, 서비스 맴버쉽 원장은 서비스 제공자 및 서비스 소비자 사이에서 서비스 컨트랙트에 기초하여 서비스 접근에 대한 정보가 기록될 수 있다.
이때, 상술한 바와 같이, 서비스 맴버쉽 원장에 기초하여 서비스 계약이 체결되면 해당 서비스를 가입한 서비스 소비자가 위치한 도메인별로 서비스 리소스 원장(ledger for proof-of-service-resource)이 생성되어 관리될 수 있다. 이때, 서비스 리소스 원장은 서비스 멤버쉽 원장에 기록된 서비스 컨트랙트의 어카운트와 서비스 아이디 정보에 기초하여 연결고리를 형성할 수 있다. 서비스 리소스 원장은 상술한 연결고리를 통해 해당 서비스 리소스에 대한 액세스 권한 정보와 암호화 키(encrypted key) 정보 등을 확인(lookup)할 수 있게 된다. 즉, 서비스 컨트랙트의 어카운트와 서비스 아이디에 기초하여 서비스 맴버쉽 원장에 기록된 정보를 서비스 리소스 원장이 확인할 수 있다. 이때, 서비스 리소스는 액세스 권한을 가진 서비스 소비자들이 위치한 도메인으로 전달될 수 있다. 일 예로, 서비스 리소스 복제본이 서비스 소비자들이 위치한 도메인으로 전달될 수 있다. 이때, 해당 도메인 클러스터의 마스터 노드는 암호화된 서비스 리소스가 해당 도메인의 임의의 노드 집합들에게 분산 저장될 수 있도록 제공할 수 있다. 이때, 서비스 리소스 원장에서는 해당 도메인에 전달된 서비스 리소스 복제본이 분산 저장된 데이터 조각들의 키 인덱스를 기록하고 해당 조각들의 머클루트에 대한 관리 정보가 기록될 수 있다. 이를 통해, 서비스 소비자는 키 인덱스와 매핑되어 저장된 노드 위치를 관리하는 DHT를 활용하여 서비스 리소스 데이터를 가까운 위치에서 제공받을 수 있다. 즉, 서비스 소비자는 상술한 바를 통해 해당 서비스 리소스 데이터의 무결성을 보장받을 수 있다. 이때, 일 예로, 서비스 맴버쉽 원장에서 관리하는 서비스 컨트랙트와 도메인별로 관리하는 서비스 리소스 원장의 리소스 컨트랙트는 분할된 원장의 상태정보 조회 및 업데이트를 가능하게 하는 연계통로 역할을 수행할 수 있다. 즉, 서로 분리된 원장에 기초하여 서비스가 제공되도록 할 수 있으며, 각각의 원장에서 관리하는 서비스 컨트랙트 및 리소스 컨트랙트를 통해 상호 연계될 수 있도록 하여 서비스 제공자가 서비스를 서비스 소비자에게 제공할 수 있다.
상술한 바를 통해, 블록체인 기반 분산 신뢰 서비스 제공 시스템은 블록체인 기술과 연계하여 다양한 디바이스들의 서비스 수요와 공급에 대한 서비스 계약을 동적으로 체결시키고 해당 서비스 리소스를 수요자 위치에 가깝게 배포할 수 있다. 이를 통해, 단말 이동성(device mobility)과 글로벌 확장성(global scalability)을 고려한 분산 신뢰 서비스를 제공할 수 있고, 네트워크 혼잡 트래픽을 분산시킬 수 있다.
도 5는 블록체인 기반 체결 서비스 계약에 따른 서비스 리소스 제공 프로세싱 방법을 나타낸 도면이다.
일 예로, 도 5를 참조하면, 서비스 제공자와 서비스 소비자 간의 서비스 컨트랙트 합의를 암호 퍼즐 방식으로 수행할 수 있다. (S510) 즉, 블록체인 기반 분산 신뢰 서비스 제공 시스템은 서비스 제공자와 서비스 소비자가 일정한 조건으로서 서비스 컨트랙트 합의를 수행할 수 있도록 암호 퍼즐 방식을 통해 제공할 수 있다. 그 후, 서비스 제공자가 서비스를 요청 받거나 새로운 리소스가 발생함을 디텍트할 수 있다.(S520) 이때, 서비스 제공자는 해당 서비스 컨트랙트로 체결된 서비스 리소스를 서비스 소비자가 존재하는 도메인으로 서비스 리소스 복제본을 인코딩하여 분배할 수 있다.(S530) 이때, 일 예로, 상술한 바와 같이, 서비스 제공자와 서비스 소비자에 대한 서비스 컨트랙트에 기초한 액세스 권한에 대한 정보는 서비스 맴버쉽 원장에 기록될 수 있으며, 이는 상술한 바와 같다.
다음으로, 상술한 도메인에서 서비스 리소스 복제본을 획득한 경우, 해당 도메인의 마스터 노드는 서비스 리소스 복제본을 노드 집합들을 통해 분산 저장을 수행할 수 있다. 그 후, 마스터 노드는 분산 저장 상태에 대한 검증을 요청할 수 있다.(S540) 이때, 검증 요청을 받은 배칭 노드(Batching node)는 검증 노드(Validating node)들과 함께 해당 서비스 리소스 복제본 조각들을 정상적으로 저장하고 있는지 여부를 검증할 수 있다. 이때, 검증은 해당 대상 노드들 중에 랜덤으로 선택된 노드에 기초하여 수행될 수 있으며, 이에 대해서는 후술한다.(S550) 그 후, 서비스 리소스 복제본의 분산 저장 상태에 대한 검증이 완료되면(S560) 해당 도메인의 마스터 노드는 서비스 소비자들에게 해당 서비스 리소스 데이터의 분산 저장 형태 정보를 알려줄 수 있다. (S570) 그 후, 서비스 소비자는 체결된 서비스 컨트랙트의 서비스 리소스를 직접 서비스 제공자로부터 제공받거나 해당 도메인의 마스터 노드가 알려준 분산 저장 형태의 서비스 리소스 복제본을 요청하여 서비스를 제공 받을 수 있다.
일 예로, 서비스 소비자가 서비스 제공자와 동일한 도메인에 위치하고 직접 서비스를 제공받을 수 있는 경우, 서비스 소비자는 서비스 제공자로부터 직접 서비스 리소스를 제공 받을 수 있다. 반면, 상술한 바와 같이, 서비스 소비자와 서비스 제공자의 도메인이 서로 다른 경우에는 서비스 소비자는 해당 도메인의 마스터 노드가 알려준 분산 저장 형태의 서비스 리소스 복제본을 요청하여 서비스를 제공받을 수 있다. 즉, 서비스 소비자는 도메인 위치에 따라 서비스 리소스를 다른 방법으로 획득할 수 있다.
한편, 일 예로, 상술한 도 5에서 서비스 수요와 공급 체결을 수행하는 경우, 서비스 제공자와 서비스 소비자 간의 서비스 컨트랙트 합의를 위해서 도 6의 PoW 메커니즘 상의 암호퍼즐 방식으로 서비스 노드 등록 및 서비스 가입 트랜잭션을 처리할 수 있으며, 이에 대해서는 후술한다.
또한, 서비스 컨트랙트로 체결된 서비스 리소스를 서비스 소비자가 존재하는 도메인 클러스터로 전달하는 경우, 일정 간격으로 청크된 서비스 리소스 인코딩 스트림의 복제복을 분배할 수 있다. 상술한 바를 통해 해당 도메인의 마스터 노드가 서비스 리소스 복제본에 대해 분산저장을 수행한 후에 분산저장 상태에 대해 검증을 요청할 수 있다. 이때, 상술한 바와 같이, 검증 요청을 받은 배칭 노드는 검증 노드들과 함께 해당 서비스 리소스 복제본 조각들을 정상적으로 저장하고 있는지 해당 대상 노드들 중에 랜덤 노드 집합으로 선택하여 검증을 수행할 수 있다.
한편, 서비스 리소스 원장에 기록되어 있는 분산 저장 형태의 서비스 리소스 복제본 조각들에 대한 머클트리는 데이터의 간편하고 확실한 인증을 체크하기 위해 사용될 수 있다. 이때, 머클트리 자료구조는 서비스 리소스 복제본 조각들에 대한 트랜잭션 해시트리를 구성한 것으로, 트리를 구성하는 모든 트랜잭션이 없어도 일부 트랜잭션의 내용이 변조되었는지에 대한 유효성을 간편하게 검사할 수 있다.
한편, 일 예로, 도 6은 PoW(Proof of Work) 메카니즘을 활용한 서비스 노드 등록 및 서비스 가입 프로세싱 방법을 나타낸 도면이다.
도 6을 참조하면, 서비스 제공자 및 서비스 소비자에 대한 노드 등록(node register) 및 서비스 조인(service join)이 수행될 수 있다.(S610) 이때, 서비스 제공자 및 서비스 소비자의 노드 아이디(nodeID)과 위치 정보 등록 요청을 통해 노드 등록이 수행될 수 있다.(S610-1) 즉, 각각의 노드에 대한 식별 정보 및 위치 정보에 기초하여 노드 등록이 수행될 수 있다. 또한, 서비스 소비자는 서비스 컨트랙트에 기초하여 원하는 서비스에 조인할 수 있다.(S610-2) 즉, 서비스 컨트랙트는 일정한 조건을 제공할 수 있으며, 서비스 소비자는 원하는 서비스 컨트랙트에 가입 요청을 통해 서비스에 조인하고, 서비스 제공자로부터 서비스를 제공받고자 할 수 있다. 다음으로, 노드 등록 및 서비스 조인에 기초하여 PoW에 의한 암호 퍼즐이 계산될 수 있다.(S620) 이때, 암호 퍼즐의 사용은 신뢰할 수 없는 완전히 분산된 환경에서 이클립스(Eclipse)와 시빌(Sybil) 공격을 최대한 어렵도록 하기 위해 사용하는 퍼즐일 수 있다. 일 예로, PoW는 암호 퍼즐을 해시 값에 기초하여 맞춰가는 과정을 의미할 수 있다.
다음으로, PoW에 의한 암호 퍼즐을 계산함에 있어서 퍼블릭 및 프라이빗에 대한 키 페어를 발생시킨 후 해당 수식을 계산하여 노드 등록을 수행할 수 있다.(S630-1) 또한, 랜덤 값 X를 선택 후에 노드 아이디 및 서비스 아이디에 기초한 수학식을 계산하여 서비스 조인을 수행할 수 있으며, 구체적인 수학식은 도 6의 S630-2와 같다.(S630-2) 다음으로, “preceding c bits in P zero”인지 여부를 확인할 수 있으며(S640), 이에 기초하여 노드 등록 및 서비스 조인이 완료되고, 해당 정보가 블록체인 원장에 기록될 수 있다.(S650) 즉, 상술한 방법에 기초하여 서비스 제공자와 서비스 소비자는 서비스 컨트랙트에 기초하여 서비스 맴버쉽 원장에 기록되는 액세스 권한을 획득할 수 있으며, 이에 기초하여 서비스가 제공될 수 있다.
또한, 상술한 바와 같이, 서비스 소비자가 포함된 도메인의 마스터 노드는 서비스 리소스 복제본을 분산 저장할 수 있으며, 이는 상술한 바와 같다. 이때, 일 예로, 도 7은 서비스 리소스가 분산 저장되는 형태를 나타낸 도면이다. 서비스 리소스 복제본이 분산 저장된 후, 서비스 리소스 복제본의 분산 저장 상태에 대한 검증이 수행될 수 있다. 이때, 서비스 리소스 복제본에 대한 검증이 완료되는 경우, 서비스 소비자들에게 해당 서비스 리소스 데이터의 분산 저장형태 정보를 알려줄 수 있다. 이를 통해, 서비스 소비자들은 근처의 서비스 리소스 스토리지를 이용해서 서비스를 제공받을 수 있다.
도 8은 분산 신뢰 서비스 제공을 위한 블록체인 시스템을 나타낸 도면이다. 이때, 도 8을 참조하면, 블록체인 네트워크 구조에서 서비스 맴버쉽 원장과 도메인 클러스터 단위 서비스 리소스 원장을 관리하는 노드들의 역할이 구분될 수 있다. 이때, 발생된 트랜잭션들을 검증하고 해당 트랜잭션을 모아서 블록을 생성하여 합의하는 배칭 노드(batching node)와 검증 노드(validating node)들의 대표 노드들 집합이 존재할 수 있다. 또한, 상술한 바와 같이 합의된 블록을 원장에 기록하는 커미팅 노드(committing node)들은 도메인 클러스터 단위로 존재할 수 있다. 여기서, 블록 합의에 참여하는 배칭 노드와 검증 노드들의 대표 노드들 집합은 외부 공격에 방해를 받지 않도록 랜덤하게 선정될 수 있다. 일 예로, 블록 합의에 참여하는 배칭 노드와 검증 노드들의 대표 노드들 집합은 일정 수의 PoW 퍼즐을 찾은 노드들의 집합으로 구성할 수 있다. 이때, 복수 개의 노드들 중 투표에 기초하여 배칭 노드가 선정되고 운영될 수 있다. 한편, 일정 간격으로 멀티 홉 검증 메커니즘의 작업증명을 수행하여 폴트 노드(fault node)나 비잔틴 노드(byzantine node)가 아님을 확인하는 작업을 수행할 수 있다. 이때, 일 예로, 검증 노드(validating node) 집합의 노드들로부터 전달받은 입력(input)을 기반으로 랜덤하게 모아진 넌스(aggregated nonce) 값을 만들 수 있다. 이때, 상술한 값에 대해서 현재 서비스 중인 서비스 컨트랙들의 서비스 아이디 정보를 포함시킨 퍼즐을 수행하는 멀티 홉 검증 메커니즘을 통해 검증을 수행할 수 있다.
이때, 합의에 참여하는 배칭 노드와 검증 노드들의 대표 노드들 집합의 노드는 주기적으로 다른 노드들에게 핑(ping)을 보내서 동작여부를 확인할 수 있다. 여기서 핑 메시지에는 시퀀스 넘버(sequence number)와 챌린지(challenge)가 포함될 수 있다. 챌린지는 주변 노드들로부터 받은 핑 메시지 정보를 집계해서 하기 수학식 1과 같이 새로운 챌린지를 만들 수 있다. 이때, 새롭게 만들어진 챌린지는 현재 서비스 중인 서비스 컨트랙트들의 서비스 아이디 정보가 포함된 퍼즐을 계산할 수 있다. 각각의 검증 노드는 암호화 집계 단계(cryptographic aggregation step)를 수행하여 주변 노드가 받은 챌린지를 결합하고, 이 집계를 퍼즐의 입력값으로 사용하여 주변 노드로 보낼 자체 챌린지를 만들 수 있다. 상술한 과정이 반복되면 노드들의 챌린지가 네트워크 전체에 분산될 수 있다. 이때, 각각의 대표 검증 노드들은 자신의 챌린지가 원격 노드에 의해 간접적으로 통합되었는지 여부를 확인할 수 있게 해주는 멀티 홉 검증 메커니즘을 수행할 수 있다. 이를 통해, 검증 노드와 비 인접 노드간에 간접적인 작업 증명이 수행될 수 있다. 한편, 대표 검증 노드들 집합에서 주기적으로 다수의 투표 결과를 얻은 배칭 노드가 선발될 수 있다. 이때, 선발된 배칭 노드는 서비스 트랜잭션 처리를 위한 블록 생성 및 검증 작업을 수행할 수 있다. 그 후, 체결된 서비스 컨트랙트의 QoS 정책과 가격(Price)에 따라 서비스 트랜잭션 처리에 대한 우선순위를 결정할 수 있다. 이를 통해, 해당 QoS 정책에 대한 트랜잭션 분류 및 블록 생성 크기를 조정할 수 있다.
[수학식 1]
Figure pat00001
보다 상세하게는, 도 8을 참조하면, 서비스 제공자, 서비스 소비자 및 서비스 컨트랙트에 대한 정보가 서비스 맴버쉽 원장에 기록되고 서비스 액세스 제어 상태 정보가 공유될 수 있다. 일 예로, 서비스 제공자는 상술한 바와 같이, 노드 아이디 및 등록 위치에 기초하여 클러스터 이름에 대한 정보가 제공될 수 있다. 또한, 서비스 컨트랙트는 서비스 아이디 및 어카운트에 기초하여 제공될 수 있다. 또한, 서비스 소비자는 노드 아이디 및 등록 위치에 기초하여 클러스터 이름이 제공될 수 있으며, 도 8과 같다. 이때, 서비스 액세스 제어 상태 정보에는 QoS 정책 정보, 프라이빗 ACL 정보 및 서비스 리소스를 위한 암호화 키 정보가 더 포함될 수 있으며, 상술한 실시예로 한정되지 않는다. 이때, 서비스 컨트랙트의 서비스 타입으로서 QoS 정책에 따라 트랜잭션이 분류되고 블록 크기가 조정될 수 있다. 일 예로, 서비스 소비자 1(SC1)은 도메인 B에 위치하고, 배칭 우선 순위 2(Batching Priority 2)에 기초하여 서비스를 제공 받을 수 있다. 또한, 서비스 소비자 2(SC2)는 도메인 A에 위치하고, 배칭 우선 순위 1(Batching Priority 1)에 기초하여 서비스를 제공 받을 수 있다. 즉, 각각의 서비스 소비자에 대해서 QoS 정책에 따라 서로 다른 배칭 우선 순위가 할당될 수 있다. 이때, 배칭 우선 순위에 기초하여 트랜잭션이 분류되고, 블록 크기가 다르게 설정될 수 있다.
또한, 일 예로, 상술한 바와 같이, 블록 합의에 참여하는 검증 노드들의 대표 노드들 집합은 일정 수의 PoW 퍼즐을 찾은 노드들의 집합으로 구성될 수 있다. 이때, 검증 노드들 중에서 투표에 기초하여 배칭 노드가 선정되어 운영될 수 있다. 배칭 노드는 대표 검증 노드 집합의 노드들로부터 인풋을 전달 받을 수 있고, 이에 기초하여 랜덤하게 모아진 넌스 값을 생성할 수 있다. 이후, 배칭 노드는 현재 서비스 중인 서비스 컨트랙트들의 서비스 아이디 정보를 포함시킨 퍼즐을 수행하는 멀티 홉 검증 메커니즘의 작업 증명을 수행하고, 이에 기초하여 서비스 트랜잭션 처리를 위한 블록 생성 및 검증 작업을 수행할 수 있다. 이때, 체결된 서비스 컨트랙트의 QoS 정책 및 가격에 따라 서비스 트랜잭션 처리에 대한 우선 순위를 결정함으로서 해당 QoS 정책에 따른 트랜잭션 분류 및 블록 생성 크기를 조절할 수 있으며, 이를 통해 제공되는 서비스에 대해서 소비자별로 우선 순위를 설정할 수 있다.
또한, 도 9 내지 도 11은 서비스 리소스 복제본을 분산 저장하는 방법을 나타낸 도면이다.
상술한 바와 같이, 도메인 클러스터의 마스터 노드는 서비스 리소스 복제본을 전달 받을 수 있다. 이때, 일 예로, 도 9를 참조하면, 마스터 노드는 일정 간격으로 청크된 서비스 리소스 인코딩 스트림에 대한 복제본을 잔달 받을 수 있다. 한편, 일 예로, 도 9에서처럼 서비스 리소스 복제본이 미디어 데이터 타입인 경우, Base Media Layer와 Enhanced Media Layer의 특성을 고려하여 분할 그룹을 생성하고 Base Media Layer 그룹 데이터는 Erasure Coding 기법을 적용한 Parity Code를 생성함으로써, 분산 저장되어 있는 미디어 조각들이 일부 손실되더라도 복원이 가능하도록 할 수 있다. 다만, 상술한 도 9는 하나의 일 예일 뿐, 서비스 리소스가 다른 데이터 타입인 경우에는 다른 기법에 기초하여 분산 저장될 수 있으며, 상술한 실시예로 한정되지 않는다.
한편, 도 10을 참조하면, 상술한 분산 저장 형태의 서비스 리소스 복제본 조각들 각각의 저장위치를 관리하기 위해 DHT을 활용할 수 있다. 이때, 데이터 조각들의 해시 값을 서비스 리소스 원장에 기록하는 트랜잭션 키 인덱스로 사용하면서 해당 키 인덱스와 매핑된 데이터 조각이 저장된 노드 위치 정보를 DHT로 관리함으로써 분산 저장된 데이터 조각의 위치정보를 알 수 있게 할 수 있다. 즉, 도 10에서처럼 서비스 리소스 복제본 조각들에 대한 트랜잭션 해시 트리를 구성한 머클트리 자료구조를 사용하여, 트리를 구성하는 모든 트랜잭션이 없어도 일부 트랜잭션의 내용이 변조되었는지에 대한 유효성을 간편하게 검사할 수 있다. 또한, 도 11에서처럼 상술한 데이터 조각들의 해시 값이 트랜잭션 키 인덱스에 기초하여 서비스 리소스 원장에 기록될 수 있다. 이를 통해 해당 키 인덱스와 매핑된 데이터 조각이 저장된 노드 위치 정보를 DHT에 기초하여 확인할 수 있다.
또한, 도 12는 서비스 리소스 제공을 위한 프로토콜 흐름도를 나타낸 도면이다.
도 12를 참조하면, 상술한 바와 같이, 서비스 소비자(1210) 및 서비스 제공자(1250)에 기초하여 동작할 수 있다. 또한, 상술한 바처럼 검증 노드들(1230)이 존재할 수 있다. 이때, 서비스 컨트랙트 합의에 기초하여 서비스 제공자(1250)와 서비스 소비자(1210) 간에 서비스 제공을 위한 계약이 체결될 수 있다. 일 예로, 서비스 컨트랙트에 가입한 서비스 소비자들은 체결된 계약인 서비스 컨트랙트의 SID를 서브스크립션 리스트(subscription list)로 사용하여 서비스 제공자(1250)나 해당 도메인 클러스터의 마스터 노드에게 요청메시지를 보내서 서비스 리소스를 제공받을 수 있다. 이때, 서비스 소비자(1210)가 서비스 리소스를 제공 받거나, 서비스 제공자(1250)가 해당 서비스 리소스를 전달하는 경우, 서비스 세션 개념이 없이 서비스 소비자(1210)가 요청한 인코딩 스트림 조각만 서비스 제공자(1250)가 제공하기 때문에 상호 간에 가지고 있는 인코딩 스트림 조각에 대한 상태정보를 알려줘야 할 필요성이 있다. 따라서, IBF bloom filer를 사용해서 서비스 제공자(1250)는 최근에 가지고 있는 인코딩 스트림 조각들의 셋 정보를 알려줄 수 있다. 또한, 서비스 소비자(1210)는 상술한 정보를 바탕으로 새로운 인코딩 스트림 조각이 존재함을 인지하여 해당 인코딩 스트림 조각을 요청하여 서비스 리소스를 제공받을 수 있으며, 도 13에 기초하여 수행될 수 있다.
한편, 일 예로, 해당 서비스의 액세스 권한에 대한 정보는 상술한 바와 같이, 서비스 맴버쉽 원장에 기록될 수 있다. 이때, 서비스 제공자(1250)는 해당 서비스에 대한 액세스 권한이 있는 서비스 소비자(1210)가 존재하는 도메인 클러스터로 서비스 리소스 복제복을 분배하고 분산 저장시킬 수 있다. 이때, 서비스 소비자(1210)가 포함된 도메인 클러스터의 마스터 노드(1220)는 서비스 리소스 복제본을 도메인 클러스터의 노드 각각에 분산 저장될 수 있다. 이때, 마스터 노드(1220)는 검증 노드들(1230)로부터 분산 저장된 조각들에 대한 검증을 수행할 수 있다. 상술한 바를 통해, 서비스 소비자(1210)는 주변 저장장치의 공유스토리지로부터 가깝게 서비스 리소스를 제공받을 수 있다.
도 14는 본 발명에 따라 서비스 제공자가 서비스 소비자에게 서비스를 제공하는 방법을 나타낸 도면이다.
도 14를 참조하면, 서비스 제공자는 서비스 컨트랙트에 기초하여 서비스 소비자로 제공할 서비스에 대한 서비스 리소스를 생성할 수 있다.(S1410) 이때, 도 1 내지 도 13에서 상술한 바와 같이, 서비스 맴버쉽 원장에는 서비스 제공자 및 서비스 소비자와 관련된 서비스에 대한 서비스 액세스 권한 정보가 기록될 수 있다. 이때, 일 예로, 서비스 액세스 권한 정보는 서비스 제공자, 서비스 소비자, 서비스 컨트랙트, QoS 정책, 프라이빗 ACL 및 암호 키 정보 중 적어도 어느 하나를 포함할 수 있다.
다음으로, 서비스 제공자는 생성된 서비스 리소스를 서비스 소비자가 위치하는 도메인의 마스터 노드로 전송할 수 있다.(S1420) 이때, 도 1 내지 도 13에서 상술한 바와 같이, 서비스 제공자는 서비스 리소스 복사본을 마스터 노드에게 제공할 수 있다. 이때, 마스터 노드는 서비스 소비자가 위치하는 도메인에 포함된 복수의 노드들에 서비스 리소스를 분산 저장할 수 있다.(S1430) 또한, 분산 저장된 서비스 리소스에 대한 검증이 수행될 수 있으며, 이는 상술한 바와 같다. 이때, 분산 저장된 서비스 리소스에 대한 검증이 완료되면 상술한 정보는 서비스 리소스 원장에 기록될 수 있다. 즉, 서비스 맴버쉽 원장과 서비스 리소스 원장은 별도로 관리될 수 있다. 이때, 서비스 소비자는 마스터 노드로부터 분산 저장 형태 정보를 수신할 수 있다.(S1440) 그 후, 서비스 소비자는 분산 저장 형태 정보에 기초하여 서비스 소비자가 위치하는 도메인에서 복수의 노드들로 분산된 서비스 리소스를 요청할 수 있다.(S1450) 이를 통해, 서비스 소비자는 주변에 위치하는 노드들로부터 서비스 리소스를 획득하고, 서비스를 제공받을 수 있으며, 이는 상술한 바와 같다.
도 15는 본 발명에 따라 각 노드의 구성을 나타낸 도면이다.
상술한 바와 같이, 블록체인 시스템에는 복수 개의 원장이 존재할 수 있고, 블록체인 시스템에 기초하여 서비스 제공자는 서비스 소비자에게 서비스를 제공할 수 있다. 또한, 일 예로, 블록체인 시스템은 블록체인 장치일 수 있다. 즉, 블록체인 장치 내에서 복수 개의 노드들이 존재하는 것도 가능할 수 있으며, 상술한 바와 동일하게 적용될 수 있다. 또한, 일 예로, 도 15의 장치 구성은 서비스 제공자, 서비스 소비자, 또는 각각의 도메인에 포함된 노드 중 적어도 어느 하나 이상에 대한 장치 구성일 수 있다. 즉, 각각의 대상이 되는 주체들은 도 15와 같은 구성을 포함할 수 있으며, 이에 기초하여 상술한 바와 같이 동작할 수 있다.
일 예로, 각각의 장치(1500)들은 도 15와 같이, 메모리(1510), 프로세서(1520) 및 송수신부(1530) 중 적어도 어느 하나를 더 포함할 수 있다. 이때, 일 예로, 메모리(1510)는 블록에 대한 정보, 스마트 컨트랙트에 대한 정보, 서비스 맴버쉽 원장에 대한 정보, 서비스 리소스 원장에 대한 정보 및 그 밖에 블록체인과 관련된 정보들을 저장할 수 있다. 이때, 프로세서(1520)는 상술한 바에 기초하여 메모리(1510)에 포함된 정보들을 제어할 수 있다. 또한, 프로세서(1520)는 송수신부(1530)를 통해 서비스 제공을 위해 필요한 정보, 블록에 대한 합의 정보 및 그 밖에 블록체인과 관련된 정보를 다른 노드 또는 장치로 전송할 수 있으며, 상술한 실시예로 한정되지 않는다.
즉, 블록체인 시스템에 기초하여 동작하는 장치들은 상술한 구성들을 포함할 수 있으며, 이에 기초하여 분산 신뢰 서비스를 제공할 수 있으며, 이는 상술한 바와 같다.
본 개시에 따른 방법을 구현하기 위해서, 예시하는 단계에 추가적으로 다른 단계를 포함하거나, 일부의 단계를 제외하고 나머지 단계를 포함하거나, 또는 일부의 단계를 제외하고 추가적인 다른 단계를 포함할 수도 있다.
본 개시의 다양한 실시 예는 모든 가능한 조합을 나열한 것이 아니고 본 개시의 대표적인 양상을 설명하기 위한 것이며, 다양한 실시 예에서 설명하는 사항들은 독립적으로 적용되거나 또는 둘 이상의 조합으로 적용될 수도 있다.
또한, 본 개시의 다양한 실시 예는 하드웨어, 펌웨어(firmware), 소프트웨어, 또는 그들의 결합 등에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 하나 또는 그 이상의 ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), 범용 프로세서(general processor), 컨트롤러, 마이크로 컨트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.
본 개시의 범위는 다양한 실시 예의 방법에 따른 동작이 장치 또는 컴퓨터 상에서 실행되도록 하는 소프트웨어 또는 머신-실행가능한 명령들(예를 들어, 운영체제, 애플리케이션, 펌웨어(firmware), 프로그램 등), 및 이러한 소프트웨어 또는 명령 등이 저장되어 장치 또는 컴퓨터 상에서 실행 가능한 비-일시적 컴퓨터-판독가능 매체(non-transitory computer-readable medium)를 포함한다.
1510 : 메모리
1520 : 프로세서
1530 : 송수신부

Claims (20)

  1. 블록체인 기반 분산 신뢰 서비스 제공 시스템에서 서비스 제공자(Service Provider)가 서비스 소비자(Service Consumer)에게 서비스를 제공하는 방법에 있어서,
    서비스 컨트랙트(Service Contract)에 기초하여 제 1 원장에 상기 서비스 소비자로 제공하는 서비스에 대한 액세스 권한을 기록하는 단계;
    상기 서비스 컨트랙트에 기초하여 서비스 리소스를 생성하는 단계; 및
    상기 생성된 서비스 리소스를 상기 서비스 소비자가 위치하는 도메인의 마스터 노드(Master node)에게 전송하는 단계;를 포함하되,
    상기 서비스 리소스는 상기 서비스 소비자가 위치하는 도메인에 포함된 복수의 노도들에서 분산 저장되고, 상기 분산 저장된 서비스 리소스에 대한 검증이 수행되며,
    상기 분산 저장된 서비스 리소스에 대한 검증이 완료되면 상기 분산 저장된 서비스 리소스에 대한 정보가 제 2 원장에 기록되는, 서비스 제공 방법.
  2. 제 1 항에 있어서,
    상기 마스터 노드는 상기 서비스 리소스의 분산 저장 형태 정보를 상기 서비스 소비자로 전송하는, 서비스 제공 방법.
  3. 제 2 항에 있어서,
    상기 서비스 소비자는 상기 마스터 노드로부터 수신한 상기 서비스 리소스의 분산 저장 형태 정보에 기초하여 상기 서비스 리소스를 상기 서비스 소비자가 포함된 상기 도메인 내의 노드들로 요청하고, 상기 요청된 서비스 리소스에 기초하여 서비스를 제공받는, 서비스 제공 방법.
  4. 제 3 항에 있어서,
    상기 서비스 소비자가 상기 서비스 제공자와 다른 도메인에 위치하는 경우에만 상기 서비스 소비자가 상기 마스터 노드로부터 수신한 상기 서비스 리소스의 분산 저장 형태 정보에 기초하여 상기 서비스 리소스를 상기 서비스 소비자가 포함된 상기 도메인 내의 노드들로 요청하여 상기 서비스를 제공받는, 서비스 제공 방법.
  5. 제 3 항에 있어서,
    상기 서비스 제공자 및 상기 서비스 소비자가 동일한 도메인에 위치하는 경우, 상기 서비스 제공자는 상기 생성된 서비스 리소스에 기초하여 상기 서비스 소비자로 상기 서비스를 직접 제공하는, 서비스 제공 방법.
  6. 제 1 항에 있어서,
    상기 제 1 원장에 기록된 서비스에 대한 액세스 권한에 대한 정보는 상기 서비스 제공자에 대한 정보, 상기 서비스 소비자에 대한 정보, 상기 서비스 컨트랙트에 대한 정보, QoS(Quality of Service) 정책 정보, 프라이빗 ACL(Access Control List) 정보 및 서비스 리소스를 위한 암호화 키 정보 중 적어도 어느 하나 이상이 포함되는, 서비스 제공 방법.
  7. 제 6 항에 있어서,
    상기 QoS 정책에 기초하여 상기 서비스 소비자의 서비스 트랜잭션 처리에 대한 우선 순위가 결정되는, 서비스 제공 방법.
  8. 제 7항에 있어서,
    상기 우선 순위에 기초하여 상기 서비스 소비자에 대한 트랜잭션 분류 및 블록 생성 크기가 다르게 결정되는, 서비스 제공 방법.
  9. 제 1 항에 있어서,
    상기 생성된 서비스 리소스의 복사본이 상기 서비스 소비자가 위치하는 도메인의 마스터 노드에게 전송되는, 서비스 제공 방법.
  10. 제 1 항에 있어서,
    상기 제 1 원장은 서비스 맴버쉽 원장이고,
    상기 제 2 원장은 서비스 리소스 원장인, 서비스 제공 방법.
  11. 서비스 제공자(Service Provider) 및 서비스 소비자(Service Consumer)를 포함하는 블록체인 기반 분산 신뢰 서비스 제공 시스템에 있어서,
    상기 서비스 제공자는 서비스 컨트랙트에 기초하여 서비스 리소스를 생성하고,
    상기 서비스 제공자는 생성된 서비스 리소스를 상기 서비스 소비자가 위치하는 도메인의 마스터 노드로 전송하되,
    상기 서비스 컨트랙트에 기초하여 제 1 원장에 상기 서비스 소비자로 제공하는 서비스에 대한 액세스 권한이 기록되고,
    상기 서비스 리소스는 상기 서비스 소비자가 위치하는 도메인에 포함된 복수의 노도들에서 분산 저장되고, 상기 분산 저장된 서비스 리소스에 대한 검증이 수행되며,
    상기 분산 저장된 서비스 리소스에 대한 검증이 완료되면 상기 분산 저장된 서비스 리소스에 대한 정보가 제 2 원장에 기록되는, 블록체인 기반 분산 신뢰 서비스 제공 시스템.
  12. 제 11 항에 있어서,
    상기 서비스 소비자는 상기 서비스 리소스의 분산 저장 형태 정보를 상기 마스터 노드로부터 수신하는, 블록체인 기반 분산 신뢰 서비스 제공 시스템.
  13. 제 12 항에 있어서,
    상기 서비스 소비자는 상기 마스터 노드로부터 수신한 상기 서비스 리소스의 분산 저장 형태 정보에 기초하여 상기 서비스 리소스를 상기 서비스 소비자가 포함된 상기 도메인 내의 노드들로 요청하고, 상기 요청된 서비스 리소스에 기초하여 서비스를 제공받는, 블록체인 기반 분산 신뢰 서비스 제공 시스템.
  14. 제 13 항에 있어서,
    상기 서비스 소비자가 상기 서비스 제공자와 다른 도메인에 위치하는 경우에만 상기 서비스 소비자가 상기 마스터 노드로부터 수신한 상기 서비스 리소스의 분산 저장 형태 정보에 기초하여 상기 서비스 리소스를 상기 서비스 소비자가 포함된 상기 도메인 내의 노드들로 요청하여 상기 서비스를 제공받는, 블록체인 기반 분산 신뢰 서비스 제공 시스템.
  15. 제 13 항에 있어서,
    상기 서비스 제공자 및 상기 서비스 소비자가 동일한 도메인에 위치하는 경우, 상기 서비스 제공자는 상기 생성된 서비스 리소스에 기초하여 상기 서비스 소비자로 상기 서비스를 직접 제공하는, 블록체인 기반 분산 신뢰 서비스 제공 시스템.
  16. 제 11 항에 있어서,
    상기 제 1 원장에 기록된 서비스에 대한 액세스 권한에 대한 정보는 상기 서비스 제공자에 대한 정보, 상기 서비스 소비자에 대한 정보, 상기 서비스 컨트랙트에 대한 정보, QoS(Quality of Service) 정책 정보, 프라이빗 ACL(Access Control List) 정보 및 서비스 리소스를 위한 암호화 키 정보 중 적어도 어느 하나 이상이 포함되는, 블록체인 기반 분산 신뢰 서비스 제공 시스템.
  17. 제 16 항에 있어서,
    상기 QoS 정책에 기초하여 상기 서비스 소비자의 서비스 트랜잭션 처리에 대한 우선 순위가 결정되는, 블록체인 기반 분산 신뢰 서비스 제공 시스템.
  18. 제 17항에 있어서,
    상기 우선 순위에 기초하여 상기 서비스 소비자에 대한 트랜잭션 분류 및 블록 생성 크기가 다르게 결정되는, 블록체인 기반 분산 신뢰 서비스 제공 시스템.
  19. 블록체인 기반 분산 신뢰 서비스 제공 시스템의 서비스 제공자에 있어서,
    정보를 저장하는 메모리;
    신호를 송수신하는 송수신부; 및
    상기 메모리와 상기 송수신부를 제어하는 프로세서;를 포함하되,
    상기 프로세서는,
    서비스 컨트랙트에 기초하여 서비스 리소스를 생성하고,
    상기 생성된 서비스 리소스를 상기 서비스 소비자가 위치하는 도메인의 마스터 노드로 전송하되,
    상기 서비스 컨트랙트에 기초하여 제 1 원장에 상기 서비스 소비자로 제공하는 서비스에 대한 액세스 권한이 기록되고,
    상기 서비스 리소스는 상기 서비스 소비자가 위치하는 도메인에 포함된 복수의 노도들에서 분산 저장되고, 상기 분산 저장된 서비스 리소스에 대한 검증이 수행되며,
    상기 분산 저장된 서비스 리소스에 대한 검증이 완료되면 상기 분산 저장된 서비스 리소스에 대한 정보가 제 2 원장에 기록되는, 블록체인 기반 분산 신뢰 서비스 제공 시스템의 서비스 제공자.
  20. 블록체인 기반 분산 신뢰 서비스 제공 시스템의 서비스 소비자에 있어서,
    정보를 저장하는 메모리;
    신호를 송수신하는 송수신부; 및
    상기 메모리와 상기 송수신부를 제어하는 프로세서;를 포함하되,
    상기 프로세서는,
    상기 서비스 소비자가 포함된 도메인의 마스터 노드로부터 서비스 리소스에 대한 분산 저장 형태 정보를 수신하고,
    상기 분산 저장 형태 정보에 기초하여 상기 서비스 소비자가 포함된 상기 도메인의 다른 노드들에게 상기 서비스 리소스에 대한 요청을 전송하고,
    상기 요청에 기초하여 서비스를 제공받되,
    상기 서비스 리소스는 서비스 컨트랙트에 기초하여 서비스 제공자에 의해 생성되어 상기 서비스 소비자가 위치하는 도메인의 마스터 노드로 전송되고,
    상기 서비스 컨트랙트에 기초하여 제 1 원장에 상기 서비스 소비자로 제공하는 서비스에 대한 액세스 권한이 기록되고,
    상기 서비스 리소스는 상기 서비스 소비자가 위치하는 도메인에 포함된 복수의 노도들에서 분산 저장되고, 상기 분산 저장된 서비스 리소스에 대한 검증이 수행되며,
    상기 분산 저장된 서비스 리소스에 대한 검증이 완료되면 상기 분산 저장된 서비스 리소스에 대한 정보가 제 2 원장에 기록되는, 서비스 소비자.
KR1020180150761A 2018-11-29 2018-11-29 블록체인 기반 분산 신뢰 서비스 제공 방법 및 장치 KR102524515B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180150761A KR102524515B1 (ko) 2018-11-29 2018-11-29 블록체인 기반 분산 신뢰 서비스 제공 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180150761A KR102524515B1 (ko) 2018-11-29 2018-11-29 블록체인 기반 분산 신뢰 서비스 제공 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20200064546A true KR20200064546A (ko) 2020-06-08
KR102524515B1 KR102524515B1 (ko) 2023-04-24

Family

ID=71090186

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180150761A KR102524515B1 (ko) 2018-11-29 2018-11-29 블록체인 기반 분산 신뢰 서비스 제공 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102524515B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008294626A (ja) * 2007-05-23 2008-12-04 Brother Ind Ltd コンテンツ分散保存システム、コンテンツ保存方法、ノード装置、及びノード処理プログラム
KR20140143778A (ko) * 2012-03-10 2014-12-17 헤드워터 파트너스 투 엘엘씨 콘텐츠 브로커의 콘텐츠 분배 보조
KR101868029B1 (ko) * 2017-03-10 2018-06-18 현대카드 주식회사 블록체인 기반의 파일 공유 방법 및 시스템

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008294626A (ja) * 2007-05-23 2008-12-04 Brother Ind Ltd コンテンツ分散保存システム、コンテンツ保存方法、ノード装置、及びノード処理プログラム
KR20140143778A (ko) * 2012-03-10 2014-12-17 헤드워터 파트너스 투 엘엘씨 콘텐츠 브로커의 콘텐츠 분배 보조
KR101868029B1 (ko) * 2017-03-10 2018-06-18 현대카드 주식회사 블록체인 기반의 파일 공유 방법 및 시스템

Also Published As

Publication number Publication date
KR102524515B1 (ko) 2023-04-24

Similar Documents

Publication Publication Date Title
TWI725655B (zh) 用於在可信執行環境中執行子邏輯代碼的程式執行和資料證明的方法、設備和系統
US11153290B2 (en) Advanced security protocol for broadcasting and synchronizing shared folders over local area network
US20230023857A1 (en) Data processing method and apparatus, intelligent device, and storage medium
WO2019237796A1 (zh) 资源获取、分发、下载方法、装置、设备及存储介质
Guan et al. Data security and privacy in fog computing
JP6370016B2 (ja) 階層型ネットワークシステム、これに用いられるノード及びプログラム
CN107770115B (zh) 在对等网络中分发数字内容的方法和系统
Misra et al. Secure content delivery in information-centric networks: Design, implementation, and analyses
Liu et al. Research on information security technology based on blockchain
CN109327481B (zh) 一种基于区块链的全网统一在线认证方法及系统
TW202038221A (zh) 使用可信執行環境檢索區塊鏈網路的公開資料
CN113328997B (zh) 联盟链跨链系统及方法
Yang et al. Secure identifier management based on blockchain technology in NDN environment
Baldi et al. Certificate Validation Through Public Ledgers and Blockchains.
JP2020516108A (ja) グローバル加速ノードを用いたブロックチェーントランザクション速度の改善
KR20080085846A (ko) 콘텐츠 배포 제어 방법, 콘텐츠 수신 방법, 콘텐츠 발행방법 및 컴퓨터 프로그램
CN111147460A (zh) 一种基于区块链的协同细粒度访问控制方法
JP2020516109A (ja) トランザクションの再送信を使用してブロックチェーンネットワークにおけるトランザクション配信の加速化
Asaf et al. Blockchain technology in named data networks: A detailed survey
WO2021154157A1 (en) Blockchain-based data exchange
US20230164121A1 (en) Autonomic distribution of hyperlinked hypercontent in a secure peer-to-peer data network
Li et al. MACT: A multi-channel anonymous consensus based on Tor
Li et al. Cloudshare: towards a cost-efficient and privacy-preserving alliance cloud using permissioned blockchains
Labbi et al. Blockchain-based PKI for content-centric networking
CN114982195A (zh) 利用区块链事务的请求和响应协议

Legal Events

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