KR20210104604A - 블록체인 시스템을 통해 서비스를 사용하는 방법 및 장치 - Google Patents

블록체인 시스템을 통해 서비스를 사용하는 방법 및 장치 Download PDF

Info

Publication number
KR20210104604A
KR20210104604A KR1020210021444A KR20210021444A KR20210104604A KR 20210104604 A KR20210104604 A KR 20210104604A KR 1020210021444 A KR1020210021444 A KR 1020210021444A KR 20210021444 A KR20210021444 A KR 20210021444A KR 20210104604 A KR20210104604 A KR 20210104604A
Authority
KR
South Korea
Prior art keywords
service
node
provider
participant
network
Prior art date
Application number
KR1020210021444A
Other languages
English (en)
Inventor
유태환
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to US17/177,576 priority Critical patent/US20210342803A1/en
Publication of KR20210104604A publication Critical patent/KR20210104604A/ko
Priority to US18/242,792 priority patent/US20230419284A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/14Payment architectures specially adapted for billing systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/02Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • G06Q20/102Bill distribution or payments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3825Use of electronic signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3827Use of message hashing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1059Inter-group management mechanisms, e.g. splitting, merging or interconnection of groups
    • 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
    • H04L67/16
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • 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/085Secret sharing or secret splitting, e.g. threshold schemes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q2220/00Business processing using cryptography

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Engineering & Computer Science (AREA)
  • Finance (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Signal Processing (AREA)
  • Marketing (AREA)
  • Telephonic Communication Services (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

서비스를 제공하는 제공자 노드가 탈중앙 네트워크의 참여자인 것을 블록체인 시스템을 통해 확인하는 단계, 그리고 제공자 노드가 탈중앙 네트워크의 참여자인 것이 블록체인 시스템을 통해 확인되면, 제공자 노드에 의해 제공되는 서비스를 사용하는 단계를 통해 서비스를 사용하는 방법 및 장치가 제공된다.

Description

블록체인 시스템을 통해 서비스를 사용하는 방법 및 장치{METHOD AND APPARATUS FOR USING A SERVICE THROUGH BLOCKCHAIN SYSTEM}
본 기재는 블록체인 시스템을 통해 서비스를 사용하는 방법 및 장치에 관한 것이다.
통신 네트워크는 일반적으로 통신 사업자에 의해 중앙 집중식으로 운영된다. 분산 프로토콜로 동작하도록 설계된 IP망이 도입된 이후에도 통신 네트워크는 분산 프로토콜의 확장 한계에 의해 정의되는 AS(Autonomous System) 단위로 통신 사업자에 의해 운영되고 있다.
전화망은 서비스 세션 단위로 제어될 필요가 없기 때문에, 통신 사업자의 역할은 물리적 또는 논리적 연결 경로를 제공하는 네트워크 자원 제공자로 축소되었다. 이에 반해 이동 통신은 가입자 단말의 이동에 따라 서비스 세션을 지속적으로 제어하는 네트워크 서비스이기 때문에, 통신 사업자에 의한 중앙 지배 방식으로 운영되고 있다.
최근 이동 통신에 도입된 5G 네트워크는 대용량, 저지연, 대규모 단말 수 등 규모와 성능의 측면에서 확장되었고, 5G 네트워크의 이러한 특성을 가능하게 하기 위해 네트워크 구조도 근본적으로 변화하고 있다.
5G 네트워크에서는 네트워크 서비스 제어 기능이 서비스 기반 인터페이스(Service based Interface, SBI)로 동작하는 소규모의 소프트웨어 모듈(Network Function, NF)들의 조합으로 구현된다. 이때, NF는 네트워크 자원으로부터 완전히 분리되어 다양한 규모 및 형태로 다양한 위치에 배치될 수 있다. 네트워크 서비스가 클라우드를 위해 개발된 마이크로 서비스, 컨테이너, 자동 설치운영 등을 통해 실현될 수 있기 때문에, 네트워크 자원과 네트워크 서비스는 더 분명히 분리될 것이며, 이에 따라 네트워크 자원 제공과 네트워크 서비스 제공이 서로 독립적인 사업 영역으로 정의될 수 있다.
네트워크 자원과 네트워크 서비스가 분리됨에 따라서 다양한 형태의 5G 네트워크가 출현될 것이 예상되고, 이에 대응하기 위해 사설(비공용)(non-public) 5G 네트워크를 수용하는 표준이 3GPP Release 16에 포함되었다. 대용량을 실현하기 위해서, 마이크로 셀 기지국이 캠퍼스, 거리, 공장, 빌딩, 회사, 홈 내부 등 사유지 또는 공공지역 내에 밀집 배치될 필요가 있고, 이때 한 사업자가 종전과 같이 모든 네트워크 자원을 독점적으로 소유 및 운영하기 어려워질 수 있다. 네트워크 자원이 공유될 필요성이 높아졌기 때문에, 그 한 예시로서 개방 무선 액세스 네트워크(open-radio access network, ORAN) 연합 등 이동 통신 사업자간에 무선 자원과 기지국을 공유하기 위한 방안들이 논의되고 있다.
네트워크 분야에서 공유 또는 탈중앙화 수단으로서 블록체인을 이용하는 방안들이 제안 및 실행되고 있다. 통신 사업자가 종래 서비스를 개선하기 위해 블록체인을 이용하거나 또는 새로운 통신 사업자가 기존의 통신사업자와는 차별화된 서비스를 제공하기 위해 블록체인을 채용할 수 있다. 전자의 통신 사업자는 클리어링 하우스 없이 블록체인을 통해 통신사업자 간의 직접 거래를 수행하고, 다른 통신 사업자와 가입자에 대한 정보를 공유함으로써 가입자가 사업자 사이에서 로밍하는 것과 같은 수준의 서비스가 클리어링 하우스 없이도 가입자에게 제공될 수 있다. 후자의 통신 사업자는 블록체인을 이용하여 다른 통신 사업자와 가입자 정보를 공유하고, 비용을 정산함으로써, 로밍 서비스, 리치 통신 서비스(Rich Communication Service), 공유 WiFi 등 새로운 서비스를 실현할 수 있다.
한 실시예는, 블록체인 시스템을 통해 서비스를 사용하는 장치를 제공한다.
다른 실시예는 블록체인 시스템을 통해 서비스를 사용하는 방법을 제공한다.
또 다른 실시예는 참여자 간 서비스의 제공 및 사용을 중개하는 블록체인 시스템을 제공한다.
한 실시예에 따르면, 블록체인 시스템을 통해 서비스를 사용하는 장치가 제공된다. 상기 장치는 프로세서, 메모리, 및 통신 장치를 포함하고, 프로세서는 메모리에 저장된 프로그램을 실행하여, 서비스를 제공하는 제공자 노드가 탈중앙 네트워크의 참여자인 것을 통신 장치를 사용하여 블록체인 시스템을 통해 확인하는 단계, 그리고 제공자 노드가 탈중앙 네트워크의 참여자인 것이 통신 장치를 사용하여 블록체인 시스템을 통해 확인되면, 제공자 노드에 의해 제공되는 서비스를 사용하는 단계를 수행한다.
상기 장치에서 프로세서는 프로그램을 실행하여, 서비스를 사용하는 단계 이후에, 서비스의 사용에 대한 사용료를 통신 장치를 사용하여 블록체인 시스템을 통해 지불하는 단계를 더 수행할 수 있다.
상기 장치에서 프로세서는 서비스의 사용에 대한 사용료를 블록체인 시스템을 통해 지불하는 단계를 수행할 때, 제공자 노드로부터 사용료의 청구 내역 및 서비스 제공 증명을 통신 장치를 사용하여 수신하는 단계, 서비스 제공 증명을 사용하여 청구 내역을 검증하는 단계, 그리고 청구 내역이 검증되면, 사용료를 지불하기 위한 서비스 스마트 컨트랙트 트랜잭션을 통신 장치를 사용하여 블록체인 시스템에게 전송하는 단계를 수행할 수 있다.
상기 장치에서 프로세서는 프로그램을 실행하여, 통신 장치를 사용하여 탈중앙 네트워크의 부트 스트래핑 서버에 접속하고, 부트 스트래핑 서버의 제어에 따라 참여자 탈중앙 기능 모듈을 설치하는 단계, 그리고 참여자 탈중앙 기능 모듈을 사용하여 블록체인 계정을 생성하고, 블록체인 시스템의 등록 스마트 컨트랙트 모듈을 통해 사용자 노드를 블록체인 시스템에 등록하는 단계를 더 수행할 수 있다.
상기 장치에서 서비스가 네트워크 자원을 사용하여 제공되는 네트워크 서비스일 때, 사용자 노드는 단말이고, 제공자 노드는 네트워크 서비스 제공자일 수 있다.
상기 장치에서 서비스가 네트워크 자원을 제공하는 서비스일 때, 사용자 노드는 네트워크 자원을 사용하여 서비스를 제공하는 네트워크 서비스 제공자이고, 제공자 노드는 자원 제공자일 수 있다.
상기 장치에서 프로세서는 프로그램을 실행하여, 제공자 노드의 제공자 포털에서 제공자 모드가 제공할 수 있는 서비스를 선택하는 단계, 그리고 제공자 노드에 사용자 노드를 위한 가입자 계정을 생성하고, 서비스에 따른 보증금을 설정하는 단계를 더 수행할 수 있다.
상기 장치에서 프로세서는 프로그램을 실행하여, 통신 장치를 사용하여 사용자 포털을 통해 제공자 노드로부터 제공자 노드의 식별자 및 제공자 노드에 의해 선택된 서비스의 서비스 명세를 수신하는 단계를 더 수행할 수 있고, 프로세서는 서비스를 제공하는 제공자 노드가 탈중앙 네트워크의 참여자인 것을 블록체인 시스템을 통해 확인하는 단계를 수행할 때, 제공자 노드의 식별자를 사용하여 제공자 노드가 탈중앙 네트워크에 등록된 참여자인 것을 확인하는 단계를 수행할 수 있다.
상기 장치에서 프로세서는 제공자 노드에 의해 제공되는 서비스를 사용하는 단계를 수행하기 전에, 제공자 노드와 마스터 대칭키를 합의하는 단계, 그리고 마스터 대칭키로부터 암호키를 생성하고, 생성된 암호키를 사용하여 서비스에 필요한 채널을 암호화하는 단계를 더 수행할 수 있다.
다른 실시예에 따르면 블록체인 시스템을 통해 서비스를 사용하는 방법이 제공된다. 상기 방법은, 서비스를 제공하는 제공자 노드가 탈중앙 네트워크의 참여자인 것을 블록체인 시스템을 통해 확인하는 단계, 그리고 제공자 노드가 탈중앙 네트워크의 참여자인 것이 블록체인 시스템을 통해 확인되면, 제공자 노드에 의해 제공되는 서비스를 사용하는 단계를 포함한다.
상기 방법은 서비스를 사용하는 단계 이후에, 서비스의 사용에 대한 사용료를 블록체인 시스템을 통해 지불하는 단계를 더 포함할 수 있다.
상기 방법에서 서비스의 사용에 대한 사용료를 블록체인 시스템을 통해 지불하는 단계를 수행할 때, 제공자 노드로부터 사용료의 청구 내역 및 서비스 제공 증명을 수신하는 단계, 서비스 제공 증명을 사용하여 청구 내역을 검증하는 단계, 그리고 청구 내역이 검증되면, 사용료를 지불하기 위한 서비스 스마트 컨트랙트 트랜잭션을 통신 장치를 사용하여 블록체인 시스템에게 전송하는 단계를 포함할 수 있다.
상기 방법은 탈중앙 네트워크의 부트 스트래핑 서버에 접속하고, 부트 스트래핑 서버의 제어에 따라 참여자 탈중앙 기능 모듈을 설치하는 단계, 그리고 참여자 탈중앙 기능 모듈을 사용하여 블록체인 계정을 생성하고, 블록체인 시스템의 등록 스마트 컨트랙트 모듈을 통해 사용자 노드를 블록체인 시스템에 등록하는 단계를 더 포함할 수 있다.
상기 방법에서 서비스가 네트워크 자원을 사용하여 제공되는 네트워크 서비스일 때, 사용자 노드는 단말이고, 제공자 노드는 네트워크 서비스 제공자일 수 있다.
상기 방법에서 서비스가 네트워크 자원을 제공하는 서비스일 때, 사용자 노드는 네트워크 자원을 사용하여 서비스를 제공하는 네트워크 서비스 제공자이고, 제공자 노드는 자원 제공자일 수 있다.
상기 방법은, 제공자 노드의 제공자 포털에서 제공자 모드가 제공할 수 있는 서비스를 선택하는 단계, 그리고 제공자 노드에 사용자 노드를 위한 가입자 계정을 생성하고, 서비스에 따른 보증금을 설정하는 단계를 더 포함할 수 있다.
상기 방법은, 사용자 포털을 통해 제공자 노드로부터 제공자 노드의 식별자 및 제공자 노드에 의해 선택된 서비스의 서비스 명세를 수신하는 단계를 더 포함할 수 있고, 서비스를 제공하는 제공자 노드가 탈중앙 네트워크의 참여자인 것을 블록체인 시스템을 통해 확인하는 단계는, 제공자 노드의 식별자를 사용하여 제공자 노드가 탈중앙 네트워크에 등록된 참여자인 것을 확인하는 단계를 포함할 수 있다.
상기 방법은, 제공자 노드에 의해 제공되는 서비스를 사용하는 단계, 제공자 노드와 마스터 대칭키를 합의하는 단계, 그리고 마스터 대칭키로부터 암호키를 생성하고, 생성된 암호키를 사용하여 서비스에 필요한 채널을 암호화하는 단계를 더 포함할 수 있다.
또 다른 실시예에 따르면, 블록체인 시스템이 제공된다. 상기 블록체인 시스템은, 참여자가 생성한 등록 관련 트랜잭션을 처리함으로써 참여자를 탈중앙 네트워크에 등록하는 등록 스마트 컨트랙트 모듈, 참여자가 탈중앙 네트워크를 사용하여 서비스를 제공하거나 또는 참여자가 탈중앙 네트워크를 사용하여 서비스를 사용할 때의 트랜잭션을 처리하는 서비스 스마트 컨트랙트 모듈, 및 참여자가 서비스를 제공하거나 또는 서비스를 제공할 때 사용되는 암호화폐 자산을 처리하는 블록체인 데이터베이스를 포함하고, 참여자는 서비스를 사용하는 사용자 노드, 서비스를 제공하거나 또는 서비스를 위한 자원을 제공하는 제공자 노드 중 하나일 수 있다.
기존의 네트워크 시스템의 변경 없이, 블록체인 시스템을 사용하여 탈중앙화 기능을 추가함으로써, 탈중앙화와 관련된 기능과 네트워크 기능을 분리시킬 수 있다. 따라서, 현재의 표준과 향후 진화할 표준을 모두 만족하는 사용자 단말, 기지국, 코어 네트워크, 운영관리 등과 무관하게, 사용자 단말에 탈중앙화 기능의 소프트웨어를 추가하고, 탈중앙화 기능의 과금을 추가함으로써 탈중앙 네트워크를 실현시킬 수 있다.
또한, 사설 영역, 공공 영역, 통신사업자 영역 각각에 위치한 네트워크 자원을 통합하여 재구성할 수 있기 때문에, 중복 투자 없이, 비용 효율적이고, 친환경적으로 효율적 진화가 가능한 네트워크 환경을 구축할 수 있다. 또한, 상호 신뢰가 없는 거래 당사자 간의 과금과 지불이 탈중앙 방식으로 구현될 수 있다. 또한, 탈중앙 기능 관련 앱이 탑재된 기존의 단말이 탈중앙 네트워크의 참여자 식별자로 5G 시스템 등의 이동통신 시스템에 가입됨으로써 탈중앙화된 이동통신 서비스가 구현될 수 있다
도 1은 한 실시예에 따른 탈중앙 네트워크를 나타낸 블록도이다.
도 2는 한 실시예에 따른 탈중앙 네트워크를 통해 복수의 네트워크 서비스 제공자가 네트워크 서비스를 제공하는 방법을 나타낸 개념도이다.
도 3은 한 실시예에 따른 탈중앙 네트워크의 블록체인 시스템을 나타낸 블록도이다.
도 4는 한 실시예에 따른 탈중앙 네트워크의 탈중앙화 기능부를 나타낸 블록도이다.
도 5는 다른 실시예에 따른 탈중앙 네트워크의 탈중앙화 기능부를 나타낸 블록도이다.
도 6은 한 실시예에 따른 탈중앙화 기능부의 참여자 탈중앙 기능 모듈을 나타낸 블록도이다.
도 7은 한 실시예에 따른 탈중앙화 기능부의 부트 스트래핑 서버의 동작을 나타낸 개념도이다.
도 8은 한 실시예에 따른 탈중앙 네트워크의 동작을 나타낸 흐름도이다.
도 9a는 한 실시예에 따른 참여자 탈중앙 기능 모듈이 참여자 노드를 등록하는 방법을 나타낸 흐름도이다.
도 9b는 한 실시예에 따른 참여자 탈중앙 기능 모듈이 참여자 노드의 등록을 해제하는 방법을 나타낸 흐름도이다.
도 9c는 다른 실시예에 따른 참여자 탈중앙 기능 모듈이 참여자 노드의 등록을 해제하는 방법을 나타낸 흐름도이다.
도 10은 한 실시예에 따른 참여자 탈중앙 기능 모듈의 가입 관리 방법을 나타낸 흐름도이다.
도 11은 다른 실시예에 따른 참여자 탈중앙 기능 모듈의 가입 관리 방법을 나타낸 흐름도이다.
도 12는 한 실시예에 따른 서비스 사용 과정의 참여자 탈중앙 기능 모듈의 상호 인증, 키 합의, 및 권한 부여 방법을 나타낸 흐름도이다.
도 13은 다른 실시예에 따른 참여자 탈중앙 기능 모듈의 상호 인증, 키 합의, 및 권한 부여 방법을 나타낸 흐름도이다.
도 14는 또 다른 실시예에 따른 참여자 탈중앙 기능 모듈의 상호 인증, 키 합의, 및 권한 부여 방법을 나타낸 흐름도이다.
도 15는 한 실시예에 따른 참여자 탈중앙 기능 모듈의 과금, 청구, 및 지불 방법을 나타낸 흐름도이다.
도 16은 한 실시예에 따른 참여자 탈중앙 기능 모듈의 과금, 청구, 및 지불 방법을 나타낸 개념도이다.
도 17은 한 실시예에 따른 참여자 탈중앙 기능 모듈의 자동 지불 방법을 나타낸 흐름도이다.
도 18은 한 실시예에 따른 참여자 탈중앙 기능 모듈의 직접 과금 방법을 나타낸 흐름도이다.
도 19는 다른 실시예에 따른 참여자 탈중앙 기능 모듈의 과금, 청구, 및 지불 방법을 나타낸 흐름도이다.
도 20은 다른 실시예에 따른 참여자 탈중앙 기능 모듈의 과금, 청구, 및 지불 방법을 나타낸 개념도이다.
도 21은 한 실시예에 따른 과금 트리거 및 서비스 증명 방법을 나타낸 흐름도이다.
도 22는 또 다른 실시예에 따른 참여자 탈중앙 기능 모듈의 과금, 청구, 및 지불 방법을 나타낸 흐름도이다.
도 23은 한 실시예에 따른 탈중앙 네트워크의 제공자 노드의 동작을 나타낸 흐름도이다.
도 24는 한 실시예에 따른 탈중앙 네트워크의 사용자 노드의 동작을 나타낸 흐름도이다.
도 25는 다른 실시예에 따른 블록체인 시스템을 나타낸 블록도이다.
아래에서는 첨부한 도면을 참고로 하여 본 기재의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 기재는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 기재를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 노드(node)는, 사용자 장비(user equipment, UE), 단말(terminal), 이동국(mobile station, MS), 이동 단말(mobile terminal, MT), 진보된 이동국(advanced mobile station, AMS), 고신뢰성 이동국(high reliability mobile station, HR-MS), 가입자국(subscriber station, SS), 휴대 가입자국(portable subscriber station, PSS), 접근 단말(access terminal, AT), 기계형 통신 장비(machine type communication device, MTC device), 서버(server) 등의 장치를 지칭할 수도 있고, UE, MS, MT, AMS, HR-MS, SS, PSS, AT 등의 전부 또는 일부의 기능을 포함할 수도 있다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 명세서에서 단수로 기재된 표현은 "하나" 또는 "단일" 등의 명시적인 표현을 사용하지 않은 이상, 단수 또는 복수로 해석될 수 있다.
본 명세서에서 "및/또는"은 언급된 구성 요소들의 각각 및 하나 이상의 모든 조합을 포함한다.
본 명세서에서, 제1, 제2 등과 같이 서수를 포함하는 용어들은 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 개시의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
본 명세서에서 도면을 참고하여 설명한 흐름도에서, 동작 순서는 변경될 수 있고, 여러 동작들이 병합되거나, 어느 동작이 분할될 수 있고, 특정 동작은 수행되지 않을 수 있다.
도 1은 한 실시예에 따른 탈중앙 네트워크를 나타낸 블록도이다.
네트워크 서비스 제공자 및/또는 통신 사업자들은 한 실시예에 따른 탈중앙 네트워크(10)의 네트워크 자원을 사용하여 사용자에게 네트워크 서비스를 제공할 수 있다. 여기서 통신 사업자, 네트워크 자원의 제공자, 및 네트워크 서비스 제공자 등은 모두 블록체인 시스템이 제공되는 탈중앙 네트워크(10)의 참여자일 수 있다.
한 실시예에 따른 탈중앙 네트워크(10)의 참여자는, 자원 제공자, 자원 사용자, 네트워크 서비스 제공자, 최종 사용자(UE 등), 플랫폼 개발 및 관리자 등을 포함할 수 있다. 하나의 참여자는 하나 이상의 참여자 역할로 탈중앙 네트워크(10)에 참여할 수 있다. 예를 들어, 네트워크 서비스 제공자(20)는 네트워크 자원을 사용하는 사용자 역할로 참여하고, 또한 네트워크 자원을 활용하여 네트워크 서비스를 제공하는 네트워크 서비스 제공자 역할을 수행할 수 있다. 네트워크 자원 사용자는 자원 제공자에 의해 제공된 자원을 활용하여 상위 개념의 네트워크 자원을 구성하고 제공함으로써 네트워크 제공자의 역할을 수행할 수 있다. 탈중앙 네트워크(10)의 각 참여자 역할에는 하나 이상의 참여자가 역할을 수행할 수 있다.
네트워크 자원은 네트워크 서비스를 제공하기 위해 필요한 물리적 자원 및 가상 자원을 포함할 수 있다. 예를 들어, 네트워크 자원은, 무선 주파수, 기지국, 고정 무선 액세스 네트워크(WiFi 등), 유선 액세스 네트워크, 스위치, 라우터, 전송 시스템, 전송 링크, 가상화 기능, 컴퓨팅 자원, 스토리지 등을 포함할 수 있다.
네트워크 서비스는 소프트웨어에 의해 구현되는 이동통신 네트워크 서비스를 포함할 수 있다. 여기서 이동통신 네트워크 서비스(5G 네트워크 서비스 등)는 소프트웨어에 의해 구현됨으로써 효율적인 탈중앙화가 실현될 수 있다. 네트워크 서비스의 기능은 네트워크 서비스의 제어 평면 기능, 사용자 평면 기능 등을 포함하고, 제어 평면 기능 및 사용자 평면 기능 등의 동적 운영 관리 기능을 포함할 수 있다. 비즈니스 지원 시스템(Business Supporting System, BSS) 및 운영 지원 시스템(Operation Supporting System, OSS) 등은 네트워크 서비스 제공자의 기능에 포함될 수 있다.
네트워크 자원과 네트워크 서비스는 종래의 네트워크 자원 및 네트워크 서비스를 포함하고, 향후 실현될 네트워크 자원 및 네트워크 서비스를 포함할 수 있으며, 네트워크 자원 및 네트워크 서비스는 탈중앙 네트워크와 기능적으로 분리될 수 있다. 한 실시예에 따른 탈중앙 네트워크(10)에서 복수의 참여자에 의해 네트워크 자원과 네트워크 서비스가 제공되기 때문에, 네트워크 자원의 제공과 사용, 그리고 네트워크 서비스의 제공과 사용은 참여자 상호 간의 거래를 통해 이루어질 수 있다.
도 1을 참조하면, 한 실시예에 따른 탈중앙 네트워크(10)는 탈중앙화 기능부(100) 및 블록체인 시스템(200)을 포함할 수 있다.
탈중앙화 기능부(100)는 탈중앙화 네트워크를 구현하기 위한 복수의 기능 모듈을 포함할 수 있다. 네트워크 자원 및 네트워크 서비스를 제공하는 참여자 간의 거래는 탈중앙화 기능부(100)에 의해 실현될 수 있다.
블록체인 시스템(200)은 참여자 사이에서 서비스의 제공 및 서비스의 사용을 중개할 수 있다. 예를 들어, 블록체인 시스템(200)은 서비스의 제공 및 사용과 관련된 참여자 간의 거래를 처리 및 기록하고, 서비스의 제공 및 사용을 위한 암호화폐 자산을 처리 및 저장할 수 있다. 네트워크 자원 및 네트워크 서비스를 제공하는 참여자 간의 거래는 블록체인 시스템(200)를 통해 검증되고 기록됨으로써 거래의 신뢰가 보장될 수 있다.
한 실시예에 따르면, 탈중앙화와 관련된 기능은 탈중앙화 기능부(100) 및 블록체인 시스템(200)에 의해 실현될 수 있고, 네트워크 자원과 네트워크 서비스의 제공 및 사용은 탈중앙화와는 독립적으로 수행될 수 있다. 따라서, 네트워크 서비스와 네트워크 자원의 진화 및 발전은 한 실시예에 따른 탈중앙화 기능부(100) 및 블록체인 시스템(200)과 무관하게 이루어질 수 있다. 또한, 종래 이동통신 네트워크 내의 네트워크 기능 및 단말에는 탈중앙화 기능만이 추가됨으로써 기존 기능의 변경 없이 탈중앙화가 실현될 수 있다.
도 1을 참조하면, 본 발명에 의한 한 실시예에 따른 탈중앙 네트워크(10)는 규제자 및 응용 서비스 제공자와 연결될 수 있다.
규제자는 주파수와 같은 공공 자산이 중앙 정부 또는 지방 자치단체와의 계약에 따라 공정하게 이용되고 있는지 감시하고, 문제가 있을 경우에는 공공 자산의 사용에 제약을 줄 수 있다.
5G 네트워크는 응용 서비스에 특화된 네트워크 서비스를 제공하기 위하여, 응용 서비스 제공자에게 응용 서비스 흐름 단위로 네트워크 서비스 품질을 제어할 수 있는 통로를 제공할 수 있다. 예를 들어, 응용 서비스 제공자는 5G 네트워크의 응용 기능(Application Function, AF)을 정의하고, 응용 서비스 제공자는 AF를 사용하여 네트워크 개방 기능(Network Exposure Function, NEF)을 통해 5G 네트워크 서비스를 동적으로 제어할 수 있다. 한 실시예에 따른 응용 서비스 제공자는 탈중앙 네트워크(10)의 앞서 설명한 참여자와 구별되는 역할을 수행할 수 있고, 여기서 응용 서비스 제공자는 하나의 독립 참여자 역할로 정의될 수 있다. 응용 서비스 제공자와 탈중앙 네트워크(10) 사이의 연결을 제공하는 데이터 네트워크(data network, DN)는 응용 서비스가 제공되는 네트워크로서 인터넷, 전화망 등을 포함할 수 있다.
한 실시예에 따른 탈중앙 네트워크(10)는 플랫폼 개발 및 관리자와 또한 연결될 수 있다. 플랫폼 개발 및 관리자는 탈중앙 네트워크(10)의 개발, 운영 관리, 및 진화 기능을 담당할 수 있다. 즉, 플랫폼 개발 및 관리자는 탈중앙화 기능부(100)에 포함된 각 기능 모듈을 개발, 설치, 운영관리, 개선하는 등의 역할을 수행할 수 있다. 플랫폼 개발 및 관리자에 대한 보상과 그 외 비용은 탈중앙 네트워크(10)의 모든 거래에서 축적되는 기금으로 충당될 수 있다. 플랫폼 개발 및 관리자로서 하나 이상의 참여자가 참여될 수 있고, 각 참여자는 독립된 탈중앙화 기능부(100)와 연결될 수 있다. 플랫폼 개발 및 관리자로서의 역할을 수행하는 참여자는 참여자의 조직을 탈중앙 자율 조직(Decentralized Autonomous Organization, DAO)으로 구성하고, 참여자의 조직을 오픈소스 방식으로 개방함으로써 참여자 조직을 탈중앙화 할 수 있다. 이로써 하나의 참여자만이 플랫폼 개발 및 관리자로서 참여하더라도 탈중앙 네트워크 시스템의 독점을 방지될 수 있다.
도 2는 한 실시예에 따른 탈중앙 네트워크를 통해 복수의 네트워크 서비스 제공자가 네트워크 서비스를 제공하는 방법을 나타낸 개념도이다.
도 2를 참조하면, 복수의 네트워크 서비스 제공자는 탈중앙 네트워크(10)의 네트워크 자원을 사용하여 복수의 네트워크 서비스를 제공할 수 있다. 복수의 네트워크 서비스 제공자는 기존의 통신 사업자도 포함할 수 있다. 통신 사업자는 자체의 네트워크 자원을 사용하면서, 동시에 탈중앙 네트워크(10)의 공유 네트워크 자원도 사용하여 기존의 네트워크 서비스를 탈중앙 네트워크(10)의 영역에서 제공할 수 있다. 즉, 기존 통신 사업자에 가입된 최종 사용자(10)도 탈중앙 네트워크(10)의 영역에서 기존 통신 사업자의 네트워크 서비스를 사용할 수 있다. 최종 사용자(10)가 탈중앙 네트워크(10)의 식별자로 기존 통신 사업자의 네트워크에 가입한 경우, 최종 사용자(10)는 블록체인을 통해 사용료를 지불할 수 있다. 최종 사용자(10)가 기존 통신 사업자에 가입하지 않은 경우, 최종 사용자(10)는 기존 통신 사업자의 네트워크 서비스를 로밍 방식의 방문 네트워크 서비스로 간주함으로써 기존 통신 사업자의 네트워크 서비스를 이용할 수 있다.
도 3은 한 실시예에 따른 탈중앙 네트워크의 블록체인 시스템을 나타낸 블록도이다.
한 실시예에 따른 블록체인 시스템(200)은 블록체인 전단부(210) 및 복수의 블록체인 노드(220)를 포함할 수 있다. 복수의 블록체인 노드(220) 및 블록체인 전단부(210)는 Bn 인터페이스를 통해 연결될 수 있다.
블록체인 전단부(210)는 Fp 인터페이스를 통해 참여자에게 블록체인 기능을 제공할 수 있고 또는 Fs 인터페이스를 통해 서비스 엔티티에게 블록체인 기능을 제공할 수 있다. 블록체인 전단부(210)는 블록체인 노드(220) 내에 위치하거나 또는 도 3에 도시된 대로 독립적으로 설치될 수 있다. Bn 인터페이스는 블록체인 전단부(210)가 블록체인 노드(220) 내에 위치할 때 내부프로세스간 프로토콜을 사용하여 구현될 수 있고, 블록체인 노드(220)의 외부에 독립적으로 설치되면 원격 프로세스간 프로토콜 또는 HTTP 등을 사용하여 구현될 수 있다.
복수의 블록체인 노드(220) 및 블록체인 노드 간의 블록체인 전달 계층을 포함하는 블록체인 네트워크는 이더리움(Ethereum)과 같은 비허가형 블록체인 또는 하이퍼레저(Hyperledger)와 같은 허가형 블록체인 등으로 실현될 수 있다. 한 실시예에 따른 탈중앙 네트워크(10)에서 블록체인 네트워크의 유형은 구체적으로 특정되지 않는다. 탈중앙 네트워크(10)를 통해 IoT 네트워크 서비스가 제공될 때 현재의 인터넷보다 더 빈번한 서비스 거래가 발생할 것이 예상되고, 이에 따라 서비스 거래가 짧은 시간에 확정될 필요가 있다. 따라서, 블록체인 네트워크의 유형은 트랜잭션 처리량, 트랜잭션 확정 시간에 대한 탈중앙 네트워크(10)의 요구사항을 만족할 필요가 있다.
각 블록체인 노드(220)는 등록 스마트 컨트랙트 모듈(221), 서비스 스마트 컨트랙트 모듈(222), 및 블록체인 데이터베이스(223)를 포함할 수 있다.
등록 스마트 컨트랙트 모듈(221)은 참여자의 역할에 따라 참여자를 탈중앙 네트워크(10)에 등록하고, 참여자의 등록 상태를 관리할 수 있다. 즉, 등록 스마트 컨트랙트 모듈(221)은 상호 간 신뢰가 형성되어 있지 않은 참여자를 인증하기 위해 참여자 역할에 따른 활동 조건 및 보증금을 설정함으로써 참여자를 탈중앙 네트워크(10)에 등록할 수 있다. 한 실시예에 따른 등록 스마트 컨트랙트 모듈(221)은 블록체인 상의 모든 참여자가 확인할 수 있는 방법으로 참여자를 탈중앙 네트워크(10)에 등록하고, 등록 정보를 관리하고, 등록된 참여자에 대해 인증을 수행할 수 있다. 또한 등록 스마트 컨트랙트 모듈(221)은 참여자가 탈중앙 네트워크(10)의 신뢰성을 위협하는 악의적 행동을 하였을 때, 등록 스마트 컨트랙트 모듈(221)에 규정된 조건에 따라 해당 참여자의 보증금을 압수하고, 참여자 등록을 종료시킬 수 있다.
서비스 스마트 컨트랙트 모듈(222)은 등록된 참여자 간의 자원의 제공과 사용, 네트워크 서비스의 제공과 사용 등을 포함하는 참여자 간의 계약에 따른 트랜잭션을 실행하고, 트랜잭션의 신뢰성을 보장할 수 있다. 서비스 스마트 컨트랙트 모듈(222)의 변수들은 참여자 상호 간의 시장 논리에 의해서 정해질 수 있고, 한 실시예에 따른 서비스 스마트 컨트랙트 모듈(222)은 거래 패턴들을 제시할 수 있다.
블록체인 전단부(210)는 Fp, Fs 등의 블록체인 인터페이스를 통해 블록체인 네트워크의 서비스를 참여자 및 서비스 엔티티에게 제공할 수 있다. 예를 들어 블록체인 전단부(210)는 참여자의 블록체인 지갑 및 서비스 엔티티(50)에 대해 각각 블록체인 인터페이스 Fp, Fs를 제공할 수 있고, 블록체인 인터페이스를 통해 수신되는 서비스 요청과 관련된 서비스를 적어도 하나의 블록체인 노드(220)에 접속하여 처리할 수 있다. 또한 블록체인 전단부(210)는 참여자의 블록체인 지갑 또는 서비스 엔티티(50)에게 서비스 요청에 대한 처리 결과를 전달할 수 있다. 이를 위해, 블록체인 전단부(210)는 트랜잭션의 전달과 생성, 스마트 컨트랙트 모듈과의 연동, 블록체인의 데이터 검색과 추출 등의 기능을 수행할 수 있다.
예를 들어, 블록체인 전단부(210)는 블록체인 인터페이스 Fp, Fs를 통해 수신된 트랜잭션을 블록체인 노드(220)에게 전달하거나, 블록체인 인터페이스를 통해 수신된 트랜잭션 요청에 따라 트랜잭션을 생성하여 생성된 트랜잭션을 블록체인 노드(220)에게 전달하거나, 또는 트랜잭션의 완료를 감지하여 해당 블록체인 지갑 또는 서비스 엔티티에 트랜잭션의 완료를 통보할 수 있다. 블록체인 전단부(210)는 블록체인 인터페이스를 통해 스마트 컨트랙트에 대한 서비스 요청을 수신하여 처리하고, 서비스 요청의 처리 결과를 참여자 또는 서비스 엔티티에게 통보할 수 있다. 또는 블록체인 전단부(210)는 블록체인 인터페이스에 의해 수신된 요청에 따라 블록체인의 상태, 저장 기록들을 검색하고, 검색된 결과로부터 추출된 데이터를 참여자 또는 서비스 엔티티에게 전달할 수 있다.
도 4는 한 실시예에 따른 탈중앙 네트워크의 탈중앙화 기능부를 나타낸 블록도이다.
도 4를 참조하면, 한 실시예에 따른 탈중앙화 기능부(100)는 참여자 탈중앙 기능 모듈(110) 및 부트 스트래핑 서버(120)을 포함할 수 있다. 참여자 탈중앙 기능 모듈(110)은 부트 스트래핑 서버(120)에 의해 참여자 노드(20)(또는 참여자 단말)에 설치될 수 있다. 참여자 노드(20)는 탈중앙화 기능부(100)의 부트 스트래핑 서버(120)에 의해 설치된 참여자 탈중앙 기능 모듈(110)을 사용하여 탈중앙 네트워크(10) 내의 블록체인 시스템(200)에 참여할 수 있다.
도 5는 다른 실시예에 따른 탈중앙 네트워크의 탈중앙화 기능부를 나타낸 블록도이다.
도 5를 참조하면, 한 실시예에 따른 탈중앙화 기능부(100)는 제공자 포털(portal), 사용자 포털 등 참여자와 관련된 포털 기능을 더 포함할 수 있다. 포털 기능은 탈중앙 네트워크(10)의 네트워크 서비스로서 설치되거나, 또는 부트 스트래핑 서버(120)에 의해 참여자 탈중앙 기능 모듈(110)이 참여자 노드에 설치될 때, 참여자 탈중앙 기능 모듈(110)에 포함될 수 있다.
도 6은 한 실시예에 따른 탈중앙화 기능부의 참여자 탈중앙 기능 모듈을 나타낸 블록도이다.
도 6을 참조하면, 한 실시예에 따른 참여자 탈중앙 기능 모듈(110)은 블록체인 지갑(111), 등록 관리(112), 가입 관리(113), 인증, 키합의, 및 권한 부여(114), 과금 및 청구(115), 지불(116) 등의 기능을 수행할 수 있다.
참여자 노드(20)는 참여자 탈중앙 기능 모듈(110)의 블록체인 지갑(111) 기능을 통해 블록체인 네트워크에 접속하고, 블록체인 계정을 생성하고, 생성된 계정을 관리하고, 블록체인 트랜잭션을 발행하고, 블록체인 네트워크의 노드 상태를 확인할 수 있다. 탈중앙 네트워크(10)에 채용된 블록체인 네트워크의 유형에 따라 그에 맞는 블록체인 지갑이 참여자 노드를 위해 구성될 수 있다.
등록 관리(112)는 각 참여자 역할에 따른 참여자 등록을 위한 기능이다. 참여자 노드(20)는 참여자 탈중앙 기능 모듈(110)의 등록 관리(112) 기능을 통해 등록 스마트 컨트랙트 모듈(221)에 참여자 등록 트랜잭션을 송신함으로써 참여자 노드(20)를 블록체인 네트워크에 등록할 수 있다. 등록 관리(112) 기능을 통해 참여자 노드(20)를 탈중앙 네트워크(10) 내에서 유일하게 식별할 수 있는 식별자가 생성될 수 있고, 생성된 식별자는 참여자 노드(20)의 식별자로서 블록체인 시스템(200) 내에 등록될 수 있다. 또한 참여자 노드(20)는 참여자 탈중앙 기능 모듈(110)의 등록 관리(112) 기능을 사용하여, 등록 스마트 컨트랙트 모듈(221)에 대해 등록 트랜잭션을 발행할 때 참여자 역할에 대응하는 보증금을 설정할 수 있다. 참여자 역할에 대응하는 보증금은 참여자 노드의 정상적인 활동을 보장하고, 무분별한 참여자 등록으로 등록 기능을 마비시키는 시빌 공격(Sybil Attack)을 방지하기 위한 것이다.
참여자 노드(20)는 참여자 탈중앙 기능 모듈(110)의 가입 관리(113) 기능을 통해 자신을 다른 참여자 노드의 거래 관리 기능에 거래 상대방으로서 가입시킬 수 있다. 한 참여자 노드는 다른 참여자 노드의 거래 상대방으로서 가입된 후 참여자 노드 간의 거래를 수행할 수 있다. 다른 참여자는 거래 상대방으로서 가입된 참여자 노드에 대한 가입자 계정 관리를 수행할 수 있다. 가입자 계정 관리는 가입자 계정을 생성하고, 가입한 참여자의 정보(참여자 식별자를 포함함) 및 가입 내용을 저장하고, 저장된 정보를 최신 정보로 갱신하는 기능을 포함할 수 있다. 참여자 노드(20)는 거래 상대방으로 가입된 참여자와의 거래가 발생하면 가입자 계정에 저장된 정보를 기반으로 거래를 수행할 수 있다.
참여자 노드(20)는 참여자 탈중앙 기능 모듈(110)의 인증, 키합의, 및 권한 부여(114) 기능을 통해 거래 참여자(예를 들어, 서비스 제공자 및 서비스 사용자) 상호 간 인증을 수행하고, 상호 간의 서비스 제공 및 서비스 메시지 채널의 암호화에 사용되는 암호키를 합의하고, 서비스 사용자에게 서비스 사용 권한을 부여할 수 있다. 서비스 제공자는 자원 제공자 또는 네트워크 서비스 제공자 등을 포함할 수 있고, 서비스 사용자는 자원 사용자, 최종 사용자(10), 또는 응용 서비스 제공자 등을 포함할 수 있다.
서비스는 네트워크 자원을 제공하는 것, 또는 네트워크 서비스를 제공하는 것 등을 포함할 수 있다. 참여자 탈중앙 기능 모듈(110)은 인증, 키합의, 및 권한 부여(114) 기능을 통해 가입 관리 기능에 의해 가입된 참여자와 가입되지 않은 참여자를 구분할 수 있다.
참여자 노드(20)는 참여자 탈중앙 기능 모듈(110)의 과금 및 청구(115) 기능을 통해 사용자가 사용한 서비스에 대한 사용료를 산정하는 과금 기능 및 과금 기능에 의해 산정된 사용료를 사용자에게 청구하는 청구 기능을 수행할 수 있다. 한 실시예에 따른 참여자 탈중앙 기능 모듈(110)의 과금 및 청구(115) 기능은 기존 통신 사업자의 경우처럼 제공자가 과금 및 청구하는 방식 및 서비스 엔티티가 과금 및 청구하는 방식을 포함할 수 있다.
참여자 노드(20)는 참여자 탈중앙 기능 모듈(110)의 지불(116) 기능을 사용하여 사용자는 과금 및 청구 기능에 의해 청구된 요금을 지불할 수 있다. 한 실시예에 따른 참여자 탈중앙 기능 모듈(110)의 지불(115) 기능은 자동 지불 기능 및 수동 지불 기능을 포함할 수 있다. 자동 지불 기능은 서비스 제공 증명을 통해 청구된 요금의 내역을 확인하고, 확인된 청구 요금을 자동으로 블록체인 계정에 저장된 자산으로 지불하기 위한 기능이다. 수동 지불 기능은 청구서가 수신되면 서비스 사용자에게 청구 명세를 알릴 수 있다. 지불(116) 기능은 블록체인 노드(220)의 서비스 스마트 컨트랙트 모듈(222)를 통해 수행될 수 있다.
도 7은 한 실시예에 따른 탈중앙화 기능부의 부트 스트래핑 서버의 동작을 나타낸 개념도이다.
탈중앙화 기능부(100)의 부트 스트래핑 서버(120)은 탈중앙화 기능부(100)의 참여자 탈중앙 기능 모듈(110)을 참여자의 단말 또는 노드에 설치할 수 있다. 또한 부트 스트래핑 서버(120)은 참여자 탈중앙 기능 모듈(110)의 버전을 최신으로 갱신할 수 있다. 여기에서 참여자 노드(20)는 블록체인 시스템(200)에 참여하는 각 주체를 의미하고, 최종 사용자, 네트워크 서비스 제공자, 자원 사용자, 자원 제공자, 규제자, 응용 서비스 제공자, 및 플랫폼 개발 및 관리자 등을 포함할 수 있다.
1. 도 7을 참조하면, 참여자 노드(20)는 IP 패킷이 전달될 수 있는 액세스 네트워크를 통해 IP 네트워크 내의 부트 스트래핑 서버(120)에 접속할 수 있다. 액세스 네트워크는 3GPP 이동 무선 네트워크, WiFi 고정 무선 네트워크, 유선 액세스 네트워크, 또는 한 실시예에 따른 탈중앙 네트워크에 의해 제공되는 네트워크 서비스 등을 포함할 수 있다. IP 네트워크 내의 부트 스트래핑 서버(120)에 접속된 참여자 노드(20)는 블록체인 지갑 패키지 및 참여자 역할에 따른 탈중앙 기능 패키지 등의 소프트웨어 패키지를 부트 스트래핑 서버(120)에게 요청할 수 있다. 부트 스트래핑 서버(120)은 참여자 노드(20)가 소프트웨어 패키지를 선택할 수 있도록 참여자 역할 별로 요구되는 소프트웨어 패키지가 표시된 웹페이지를 참여자 노드(20)에게 제공할 수 있다.
2. 부트 스트래핑 서버(120)은 참여자 노드(20)에 의해 요청된 소프트웨어 패키지를 참여자 노드(20)에게 보낼 수 있다.
3. 참여자 노드(20)는 부트 스트래핑 서버(120)로부터 수신된 소프트웨어 패키지를 설치함으로써 참여자 탈중앙 기능 모듈(110)을 실행할 수 있는 상태가 될 수 있다.
4. 부트 스트래핑 서버(120)은 참여자 노드(20)가 탈중앙 네트워크(10)에 접속할 때 설치된 소프트웨어 패키지의 버전을 확인하고, 필요한 경우 소프트웨어를 갱신할 수 있도록 참여자 노드(20)에게 안내할 수 있다. 참여자 노드(20)는 탈중앙 네트워크(10)에서 유용한 도구를 부트 스트래핑 서버(120)을 통해 다운로드 후 설치할 수 있다. 유용한 도구의 설치, 갱신, 및 삭제는 필요에 따라 실행될 수 있다.
도 8은 한 실시예에 따른 탈중앙 네트워크의 동작을 나타낸 흐름도이다.
1. 도 8을 참조하면, 참여자 노드(20)의 참여자 탈중앙 기능 모듈(110)은 블록체인 지갑(111) 기능을 통해 트랜잭션 생성 프로세스를 실행함으로써 생성된 트랜잭션을 포함하는 트랜잭션 처리 요청을 탈중앙 네트워크(10)의 블록체인 시스템(200)에 송신할 수 있다(S210). 참여자 노드(20)에 의해 생성된 트랜잭션은 블록체인 시스템(200) 내의 복수의 블록체인 노드(220)에 전파될 수 있다.
2. 트랜잭션은 블록체인 인터페이스를 통해 블록체인 전단부(210)로 전달되고, 블록체인 전단부(210)는 복수의 블록체인 노드(220)로 트랜잭션을 전파할 수 있다(S220).
3. 각 블록체인 노드(220)의 스마트 컨트랙트 모듈(221, 222)은 요청된 트랜잭션을 처리하고(S230), 처리 완료 이벤트를 발생시킬 수 있다(S240). 트랜잭션에 의해 자산의 이동이 필요하면, 스마트 컨트랙트 모듈(221, 222)은 블록체인 데이터베이스(223)에게 암호화폐 자산의 처리와 관련된 메시지를 전달할 수 있다(S250).
4. 블록체인 전단부(210)는 처리 완료 이벤트가 탐지되면, 트랜잭션 처리 완료 메시지를 참여자 노드(20)의 블록체인 지갑(111) 기능에게 전달할 수 있다(S260).
5. 블록체인 지갑(111) 기능은 블록체인 전단부(210)로부터 트랜잭션 처리 완료 메시지를 수신하면 트랜잭션 프로세스를 종료할 수 있다(S270).
도 9a는 한 실시예에 따른 참여자 탈중앙 기능 모듈이 참여자 노드를 등록하는 방법을 나타낸 흐름도이고, 도 9b는 한 실시예에 따른 참여자 탈중앙 기능 모듈이 참여자 노드의 등록을 해제하는 방법을 나타낸 흐름도이며, 도 9c는 다른 실시예에 따른 참여자 탈중앙 기능 모듈이 참여자 노드의 등록을 해제하는 방법을 나타낸 흐름도이다.
1. 도 9a를 참조하면, 참여자 노드(20)는 부트 스트래핑 서버(120)을 통해 다운로드된 블록체인 지갑(111) 기능을 설치하고, 블록체인 지갑(111) 기능을 사용하여 블록체인 계정을 생성할 수 있다.
2. 참여자 노드(20)는 등록 프로세스를 시작하여 참여자 역할을 결정하고, 탈중앙 네트워크(10) 내에서의 참여자 노드(20)의 식별을 위한 참여자 식별자를 포함하는 등록 트랜잭션을 탈중앙 네트워크(10)의 블록체인 시스템(200)에게 송신할 수 있다(S310). 등록 트랜잭션은, 참여자의 블록체인 계정 식별자, 참여자 역할, 참여자 역할에 요구되는 보증금, 참여자의 공개키, 참여자의 접속 주소 등을 더 포함할 수 있다.
3. 블록체인 시스템(200)의 블록체인 전단부(210)는 등록 트랜잭션을 복수의 블록체인 노드(210)에게 전달할 수 있다(S320).
4. 블록체인 노드(220)는 트랜잭션 풀로부터 등록 트랜잭션이 수신되면, 등록 스마트 컨트랙트 모듈(221)를 실행하여 참여자 역할에 따른 보증금을 확인할 수 있다(S330). 보증금이 적절한 것으로 확인되면 블록체인 노드(220)는 등록 스마트 컨트랙트 모듈(221)를 통해 참여자 등록 계정을 생성할 수 있다(S340). 참여자 등록 계정에는 참여자 식별자마다, 블록체인 계정 식별자, 참여자 역할, 참여자 역할에 따른 부가 정보, 보증금, 참여자 공개키 등을 포함하는 데이터가 저장될 수 있다.
참여자 노드(20)는 참여자 노드(20)의 정보가 변경되면, 참여자 등록 계정 내의 관련 정보가 갱신되도록 할 수 있다. 참여자 노드(20)가 최종 사용자의 역할을 수행할 때, 참여자 등록 계정은 참여자 정보로 가입된 네트워크 서비스 제공자의 명세를 더 포함할 수 있다.
5. 블록체인 전단부(210)는 등록 트랜잭션 완료 이벤트가 감지되면(S350), 등록 트랜잭션 완료 메시지를 참여자 노드(20)에 송신할 수 있다(S360).
6. 참여자 노드(20)는 등록 트랜잭션 완료 메시지에 따라 등록 트랜잭션의 처리 성공이 확인되면 참여자 역할을 시작할 수 있고(S370), 등록 트랜잭션의 처리 성공이 확인되지 않으면 등록 프로세스를 종료할 수 있다.
아래에서는 도 9b를 참조하여 참여자 역할의 비정상 종료 프로세스를 설명한다.
1. 도 9b를 참조하면, 참여자 역할로 블록체인 시스템(200)에 참여한 참여자 노드(20)가 탈중앙 네트워크(10)의 신뢰성을 위협하는 행동(예를 들어, 악의적 행동)을 범하면, 감시 도구 또는 다른 참여자 노드는 참여자 노드(20)의 행동을 감지하고(S410), 블록체인 전단부(210)에게 감지된 행동에 관한 정보를 전달할 수 있다(S420).
2. 블록체인 전단부(210)는 악의적 행동의 감지 이벤트에 대한 처리를 요청하는 트랜잭션을 발행할 수 있다(S430). 여기서 트랜잭션은 감시 도구 또는 다른 참여자 노드에 의해 감지된 행동에 관한 정보를 포함할 수 있다.
3. 등록 스마트 컨트랙트 모듈(221)은 블록체인 전단부(210)에 의해 발행된 트랜잭션 내에 포함된 감지된 행동에 관한 정보를 바탕으로 악의적 행동을 검증할 수 있다(S440). 등록 스마트 컨트랙트 모듈(221)은 감지된 행동이 악의적 행동인 것으로 판단되면, 악의적 행동을 범한 참여자 노드(20)에게 등록 취소 메시지를 송신하고, 등록 취소 이벤트를 발생시키고, 보증금 처리 메시지를 블록체인 데이터베이스(223)에게 송신할 수 있다(S450).
4. 블록체인 데이터베이스(223)는 등록 스마트 컨트랙트 모듈(221)에 의해 생성된 보증금 처리 메시지에 따라 보증금을 처리할 수 있다(S460).
5. 블록체인 전단부(210)는 등록 취소 이벤트가 감지되면, 참여자 노드(20)에게 등록 취소를 통보할 수 있다(S470).
6. 참여자 노드(20)는 등록 취소 메시지가 수신되면, 참여자 역할로서의 참여를 종료할 수 있다(S480).
아래에서는 도 9c를 참조하여 참여자 역할의 정상 종료 프로세스를 설명한다.
1. 도 9c를 참조하면, 참여자 역할로 참여 중인 참여자 노드(20)는 참여자 역할에 대한 등록 종료 트랜잭션을 블록체인 전단부(210)에게 송신할 수 있다(S510).
2. 이후 블록체인 전단부(210)는 등록 종료 트랜잭션을 블록체인 노드(220)에게 전달할 수 있다.
3. 블록체인 노드(220)의 등록 스마트 컨트랙트 모듈(221)은 등록 종료 트랜잭션을 수신한 후, 참여자 노드(20)의 등록 상태를 종료하고(S520), 등록 종료 이벤트를 발생시킬 수 있다(S530). 등록 스마트 컨트랙트 모듈(221)은 보증금을 참여자 노드(20)에게 반환하기 위한 보증금 반환 메시지를 블록체인 데이터베이스(223)에게 송신할 수 있다(S540).
4. 블록체인 데이터베이스(223)는 등록 스마트 컨트랙트 모듈(221)로부터 보증금 반환 메시지가 수신되면, 보증금을 참여자 노드(20)에게 반환할 수 있다(S550).
5. 블록체인 전단부(210)는 등록 종료 이벤트가 탐지되면, 등록 종료 메시지를 참여자 노드(20)에 전달할 수 있다(S560).
6. 참여자 노드(20)는 등록 종료 메시지가 수신되면, 참여자 역할 프로세스를 정상적으로 종료할 수 있다(S570).
도 10은 한 실시예에 따른 참여자 탈중앙 기능 모듈의 가입 관리 방법을 나타낸 흐름도이다.
참여자 노드(20)는 다른 참여자 노드와의 상호 거래를 위해서, 참여자 탈중앙 기능 모듈(110)의 가입 관리(113) 기능을 통해 다른 참여자 노드의 계정에 가입하고, 가입 상태를 유지하고, 상호 거래를 종료할 수 있다. 예를 들어, 최종 사용자는 네트워크 서비스를 사용하기 위해 가입 관리(113) 기능을 통해 네트워크 서비스의 제공자의 계정에 가입할 수 있다. 또는 네트워크 서비스 제공자는 네트워크 자원을 사용하기 위해 네트워크 자원의 제공자의 계정에 가입할 수 있다. 도 10에는 사용자가 네트워크 서비스의 제공자의 계정에 가입할 때의 가입 관리 방법이 도시된다.
도 10을 참조하면, 가입 프로세스를 시작한 사용자 노드(30)는, 가입하고자 하는 계정을 제공하는 참여자 노드(도 10에서 '제공자 노드'라고 함)가 탈중앙 네트워크(10)의 정상 참여자인 것을 블록체인 시스템(200)의 등록 스마트 컨트랙트 모듈(221)을 통해 확인할 수 있다(S600). 구체적으로, 사용자 노드(30)의 참여자 탈중앙 기능 모듈(110)은 제공자 노드(40)의 인증 및 제공자 노드(40)의 공개키를 블록체인 시스템(200)에 요청할 수 있다. 블록체인 전단부(210)는 사용자 노드(30)로부터 제공자 노드(40)의 인증 및 제공자 노드(40)의 공개키에 대한 요청 메시지를 등록 스마트 컨트랙트 모듈(221)에게 전달할 수 있다. 등록 스마트 컨트랙트 모듈(221)은 인증 요청에 포함된 제공자 노드(40)의 식별자를 바탕으로 참여자 등록 계정을 조회하고, 제공자 노드(40)의 인증에 성공하면, 인증 결과 및 제공자 노드(40)의 공개키를 블록체인 전단부(210)를 거쳐 사용자 노드(30)에게 전달할 수 있다. 사용자 노드(30)에 의해 확보된 제공자 공개키는 상호인증의 목적으로 사용될 수 있다. 예를 들어, 제공자 노드(40)가 제공자 노드의 개인키로 암호화된 서명을 전달할 때 사용자 노드(40)는 제공자 노드(40)의 공개키를 사용하여 제공자 노드(40)의 서명임을 확인할 수 있다. 또한, 서비스 노드(30)가 서비스에 접속할 때, 서비스 노드(40)는 제공자 노드의 암호키을 사용하여 서비스 접속 데이터를 암호 함으로써 사용자 노드(30)에 의해 의도된 제공자 노드(40)만 서비스 접속 데이터를 확인할 수 있다. 사용자 노드의 식별자가 확인되면, 사용자 노드(30) 및 제공자 노드(40)는 미리 설정된 대칭키를 사용하여 네트워크 서비스에 관련된 메시지를 암호화할 수 있다.
1. 사용자 노드(30)는 제공자 노드(40)의 제공자 포털을 통해 서비스를 결정할 수 있다(S605).
2. 제공자 노드(40)는 사용자 노드(30)에 의해 선택된 서비스의 서비스 명세 및 사용자 노드의 식별자를 제공자 포털을 통해 수신할 수 있다(S610). 이후 제공자 노드(40)는 사용자 노드(30)의 식별자를 사용하여 사용자 노드(30)가 블록체인 시스템(200)을 통해 탈중앙 네트워크(10)에 등록된 참여자인 것을 확인할 수 있다(S615). 이후 사용자 노드(30)가 탈중앙 네트워크(10)의 사용자인 것이 확인되면, 제공자 노드(40)는 등록 스마트 컨트랙트 모듈(221)로부터 사용자 노드(30)의 공개키를 수신할 수 있다.
3. 제공자 노드(40)는 사용자 노드(30)의 가입자 계정에 관한 정보를 생성함으로써 사용자 노드(30)를 제공자 노드(40)의 가입자 계정에서 관리할 수 있다. 가입자 계정에 관한 정보는 가입자 정보 및 사용자 노드(30)에 의해 선택된 서비스의 서비스 명세를 포함할 수 있다. 가입자 정보는 사용자 식별자, 가입자 식별자, 가입자와 공유할 마스터 대칭키, 사용자 노드의 공개키 등을 포함할 수 있다. 이후 제공자 노드는 가입자 정보 및 서비스 명세를 사용자 노드(30)의 공개키로 암호화하고, 암호화된 가입자 정보 및 서비스 명세에 제공자 노드(40)의 서명을 첨부하여 사용자 노드(30)에게 송신할 수 있다(S620).
4. 사용자 노드(30)는 서비스 스마트 컨트랙트 트랜잭션 및 등록 스마트 컨트랙트 트랜잭션을 블록체인 시스템(200)에 전송할 수 있다(S625). 사용자 노드(30)에 의해 블록체인 시스템(200)에 전송되는 서비스 스마트 컨트랙트 트랜잭션은 서비스 사용에 요구되는 보증금과 서비스 초기 설치 비용을 지불하기 위한 것이다. 등록 스마트 컨트랙트 트랜잭션은 제공자 노드(40)를 사용자 노드(30)의 참여자 등록 계정 정보에 추가하기 위한 것이다.
5. 블록체인 전단부(210)는 수신된 서비스 스마트 컨트랙트 트랜잭션 및 등록 스마트 컨트랙트 트랜잭션을 블록체인 노드(220)에게 전달하고(S630), 이후 서비스 스마트 컨트랙트 트랜잭션 및 등록 스마트 컨트랙트 트랜잭션은 블록체인 노드(220) 내의 서비스 스마트 컨트랙트 모듈 및 등록 스마트 컨트랙트 모듈에 의해 각각 처리될 수 있다. 서비스 스마트 컨트랙트 모듈 및 등록 스마트 컨트랙트 모듈은 트랜잭션을 처리한 후 이벤트를 생성할 수 있다(S635). 블록체인 전단부(210)는 수신된 트랜잭션의 처리 이벤트가 감지되면, 트랜잭션의 처리가 완료되었음을 사용자 노드(30)에게 알릴 수 있다.
서비스 스마트 컨트랙트 모듈(222)은 서비스 스마트 컨트랙트 트랜잭션을 처리할 때 보증금을 보관하고(S640), 블록체인 데이터베이스(230)로 하여금 초기 비용을 지불하도록 할 수 있다(S645). 등록 스마트 컨트랙트 모듈(221)은 사용자 노드(30)의 참여자 등록 계정의 가입 참여자 명세에 제공자 노드(40)의 식별자를 추가할 수 있다(S650).
6. 사용자 노드(30)는 제공자 노드(40)에게 보증금 및 초기 비용의 지불을 완료하였음을 알릴 수 있다(S655).
7. 제공자 노드(40)는 블록체인 시스템(200)을 통해 사용자 노드(30)에 의해 보증금과 초기 비용이 지불된 것을 확인하고, 보증금 및 초기 비용의 지불의 확인 완료를 사용자 노드(30)에게 알릴 수 있다(S660).
제공자 노드(40)는 사용자 노드(30)를 위한 가입자 계정을 생성함으로써 사용자 노드(30)의 가입자 정보 및 서비스 명세를 관리할 수 있다(S665). 제공자 노드(40)는 블록체인 전단부(210)를 통해 사용자의 참여자 등록 상태 이벤트 알림 서비스에 가입함으로써(S670), 사용자 노드(30)의 참여자 등록 상태가 변경되면 가입자 계정에 관련 정보를 갱신할 수 있다.
8. 사용자 노드(30)는 제공자 노드(40)에 의해 전달된 가입자 정보 및 서비스 명세를 저장하고(S675), 제공자 노드(40)의 서비스를 사용할 수 있다(S680).
도 11은 다른 실시예에 따른 참여자 탈중앙 기능 모듈의 가입 관리 방법을 나타낸 흐름도이다.
도 11은 사용자 주도로 이루어지는 거래 관계에서 발생할 수 있는 가입 관리 방법을 도시한다. 네트워크 서비스 제공자는 네트워크 자원을 사용하는 측면에서 사용자 노드(30)가 될 수 있고, 네트워크 서비스 제공자인 사용자 노드(30)는 네트워크 자원 요구사항을 사용자 포털을 통해 공개하고 네트워크 자원의 제공자 노드를 모집할 수 있다. 네트워크 자원의 제공자 노드(40)는 사용자 포털을 통해 제공가능한 네트워크 자원을 제시하고, 네트워크 자원을 사용자 노드(30)에게 제공하기 위해 사용자 노드(30)의 계정에 가입할 수 있다. 이후, 사용자 노드(30)는 가입된 제공자 노드(40)에 의해 제공되는 네트워크 자원을 사용하여 네트워크 서비스를 제공할 수 있다.
1. 도 11을 참조하면, 제공자 노드(40)는 블록체인 시스템(200)을 통해 계정에 가입하려는 사용자 노드(30)를 인증함으로써 가입 프로세스를 시작할 수 있다(S700). 구체적으로, 제공자 노드(40)는 가입하려는 사용자 노드(30)가 탈중앙 네트워크(10)의 정상 참여자인 것을 블록체인 시스템(200) 내의 등록 스마트 컨트랙트 모듈(221)을 통해 확인할 수 있다. 등록 스마트 컨트랙트 모듈(221)에 의해 사용자 노드가 인증되면, 등록 스마트 컨트랙트 모듈(221)은 블록체인 데이터베이스(223)에 저장된 참여자 등록 정보 내의 사용자 노드(30)의 참여자 등록 계정에서 사용자 노드(30)의 공개키를 읽어들일 수 있다.
2. 제공자 노드(40)는 사용자 노드(30)의 사용자 포털을 통해 제공될 수 있는 서비스를 선택할 수 있다(S705).
3. 사용자 노드(30)는 사용자 포털을 통해 제공자 노드(40)의 식별자와 제공자 노드(40)에 의해 선택된 서비스의 서비스 명세를 수신할 수 있다(S710). 이후 사용자 노드(30)는 제공자 노드(40)의 식별자를 사용하여 제공자 노드(40)가 탈중앙 네트워크(10)에 등록된 참여자인 것을 확인할 수 있고, 블록체인 시스템(200)을 통해 제공자 노드(40)의 공개키를 수신할 수 있다(S715).
4. 사용자 노드(30)는 제공자 노드(40)의 가입자 계정 정보를 생성함으로써 제공자 노드(40)를 사용자 노드(30)의 가입자 계정에서 관리할 수 있다. 여기서 가입자 계정 정보는 가입자 정보 및 제공자 노드(40)에 의해 선택된 서비스의 서비스 명세를 포함할 수 있다. 가입자 정보는, 제공자 식별자, 가입자 식별자, 가입자와 공유할 마스터 대칭키, 제공자의 공개키 등을 포함할 수 있다.
그리고 사용자 노드(30)는 가입자 정보와 제공될 서비스의 서비스 명세를 제공자 노드(40)의 공개키로 암호화하고, 공개키를 사용하여 암호화된 가입자 정보 및 서비스 명세에 사용자 노드(30)의 서명을 첨부하여 제공자 노드(40)에게 전달할 수 있다(S720).
5. 제공자 노드(40)는 서비스 스마트 컨트랙트 트랜잭션 및 등록 스마트 컨트랙트 트랜잭션을 블록체인 시스템(200)에게 송신할 수 있다(S725). 서비스 스마트 컨트랙트 트랜잭션은 서비스 제공 과정에서 상호간 요구되는 보증금의 지불을 위한 것이다. 등록 스마트 컨트랙트 트랜잭션은 사용자 노드(30)를 제공자 노드(40)의 참여자 등록 계정 정보의 가입 참여자 명세에 추가하기 위한 것이다.
6. 블록체인 전단부(210)는 수신된 두 트랜잭션(서비스 스마트 컨트랙트 트랜잭션 및 등록 스마트 컨트랙트 트랜잭션)을 블록체인 노드(220)에 전달할 수 있다(S730). 블록체인 노드(220)에게 전달된 두 개의 트랜잭션은 등록 스마트 컨트랙트 모듈(221) 및 서비스 스마트 컨트랙트 모듈(222)에 의해 처리될 수 있다. 두 개의 트랜잭션이 각각 처리된 후 발생되는 이벤트를 모두 감지한 블록체인 전단부(210)는 트랜잭션의 처리 완료를 제공자 노드(40)에게 알릴 수 있다(S735). 서비스 스마트 컨트랙트 모듈(222)은 트랜잭션을 처리할 때, 보증금 보관을 완료할 수 있다(S740). 등록 스마트 컨트랙트 모듈(221)은 트랜잭션을 처리할 때, 제공자 노드(40)의 참여자 등록 계정 정보에 사용자 노드(30)의 식별자를 추가할 수 있다.
7. 이후 제공자 노드(40)는 사용자 노드(30)에게 보증금 지불의 완료를 알릴 수 있다(S745).
8. 사용자 노드(30)는 블록체인 시스템(200)을 통해 보증금의 지불 여부를 확인할 수 있다(S750). 이때 사용자 노드(30)의 참여자 탈중앙 기능 모듈(110)은 서비스의 사용에 요구되는 보증금과 제공될 서비스의 초기 설치 비용을 지불하기 위한 서비스 스마트 컨트랙트 트랜잭션을 블록체인 시스템(200)에 전달할 수 있다(S755).
9. 블록체인 전단부(210)는 사용자 노드(30)의 서비스 스마트 컨트랙트 트랜잭션을 블록체인 노드(220)에 전달할 수 있다. 블록체인 노드(220)의 서비스 스마트 컨트랙트 모듈(222)은 사용자 노드(30)의 서비스 스마트 컨트랙트 트랜잭션을 처리하고(S760), 트랜잭션을 처리한 후 트랜잭션 완료 이벤트를 발생시킬 수 있다(S765).
블록체인 전단부(210)는 트랜잭션 완료 이벤트가 감지되면 사용자 노드(30)에게 트랜잭션 완료 응답을 보낼 수 있다(S770). 트랜잭션이 처리될 때, 사용자 노드(30)의 보증금이 보관되고, 서비스의 실행을 위한 초기 비용이 지불될 수 있다(S775).
10. 사용자 노드(30)는 사용자 보증금과 초기 비용의 지불 완료를 제공자 노드(40)에 알릴 수 있다(S780).
11. 제공자 노드(40)는 사용자 노드에 의한 보증금 및 초기 비용의 지불 완료를 블록체인 시스템(200)을 통해 확인하고(S785), 제공자 노드(40)는 사용자 노드(30)에게 확인 완료를 알릴 수 있다(S790).
이후 제공자 노드(40)는 사용자 노드(30)의 가입자 정보 및 서비스 명세를 저장하고, 사용자 노드(30)의 계정(또는 서비스 사용 업무)에 가입된 서비스 제공자로서 역할을 수행할 수 있다.
12. 마찬가지로 사용자 노드(30)는 가입자 계정을 생성함으로써, 제공자 노드(40)의 가입자 정보 및 서비스 명세를 저장할 수 있다. 사용자 노드(30)는 블록체인 전단부(210)를 통해 제공자 노드의 참여자 등록 상태 이벤트 알림 서비스에 가입함으로써, 제공자 노드(40)의 참여자 등록 상태가 변경되면 가입자 계정과 관련 정보를 갱신할 수 있다.
도 12는 한 실시예에 따른 서비스 사용 과정의 참여자 탈중앙 기능 모듈의 상호 인증, 키 합의, 및 권한 부여 방법을 나타낸 흐름도이다.
사용자가 서비스 제공자의 서비스를 사용하기 위해, 상호 인증, 키 합의, 권한 부여의 과정이 완료될 필요가 있다. 탈중앙 네트워크(10)에서 상호 인증은 상대 참여자가 탈중앙 네트워크(10)에 등록되어 있는지 여부를 확인하는 프로세스이다. 키 합의는 사용자와 제공자 간에 공유될 마스터 대칭키를 합의하는 프로세스이다. 사용자와 제공자는 각각 독립적으로 마스터 대칭키로부터 암호키를 유도하고, 유도된 암호키를 사용하여 서비스 채널과 서비스를 위한 메시지 채널을 암호화할 수 있다. 암호화를 통해 사용자와 제공자의 개인정보가 보호되고, 허용된 사용자만이 서비스를 사용할 수 있게 된다. 제공자는 특정 사용자만 서비스를 사용할 수 있도록 서비스 사용 권한을 서비스 엔티티에 설정할 수 있다. 서비스 엔티티는 서비스 권한을 가진 사용자만 서비스를 사용하도록 서비스 채널을 암호화함으로써 서비스 사용 권한 부여를 실행할 수 있다. 탈중앙 네트워크(10)에서 인증 과정은 다른 시스템과는 다르며, 그에 따라 키합의, 권한 부여의 과정이 변화될 필요가 있다.
한 실시예에 따른 상호 인증, 키 합의, 및 권한 부여는 사용자가 상대방 참여자의 계정(또는 업무 영역)에 가입한 경우와 가입하지 않은 경우로 구분될 수 있다. 도 12는 사용자가 상대 참여자의 계정에 가입한 경우의 상호 인증, 키 합의, 및 권한 부여의 프로세스를 나타낼 수 있다.
1. 도 12를 참조하면, 사용자 노드(30)는 상호 인증 프로세스에서 서비스 엔티티(50)에 접속하여 제공자 노드(40)의 공개키로 암호화된 가입자 정보를 서비스 엔티티(50)에게 송신할 수 있다(S810).
2. 서비스 엔티티(50)는 암호화된 가입자 정보를 제공자 노드(40)에게 전달함으로써 사용자 노드(30)에 대한 인증 프로세스를 실행할 수 있다(S820).
3. 제공자 노드(40)는 암호화된 가입자 정보를 복호화하여 사용자 노드(30)의 인증을 수행하고(S830), 사용자 노드(30)를 가입자로 인증하기 위한 도전 메시지와 도전 메시지에 대응하는 기대 답변을 서비스 엔티티(50)에게 전달할 수 있다(S840). 제공자 노드(40)는 도전 메시지 및 도전 메시지에 대응하는 기대 답변과 함께 마스터 대칭키로부터 유도된 암호키도 서비스 엔티티(50)에게 전달할 수 있다.
4. 서비스 엔티티(50)를 통해 제공자 노드(40)의 도전 메시지를 수신한 사용자 노드(30)는 도전 메시지에 대한 답변 메시지를 서비스 엔티티(50)에게 송신할 수 있다(S850). 사용자 노드(30)는 도전 메시지에 대한 답변 메시지를 제공자 노드(40)와 사용자 노드(30)가 상호 공유하고 있는 사용자 가입 정보로부터 생성할 수 있다. 도전 메시지에 대한 답변 메시지는 가입 시에 사용자 노드(30)와 제공자 노드(40) 사이에서 미리 결정될 수 있고, 서로 약속한 상호 인증 수단을 포함할 수 있다. 예를 들어, 패스워드(password)가 답변 메시지일 수 있다. 따라서, 도전 메시지에 대한 답변 메시지는 사용자 노드(30)가 이미 저장하고 있을 수 있다.
5. 서비스 엔티티(50)는 사용자 노드(30)의 답변 메시지와 제공자 노드(40)의 기대 답변을 비교함으로써 사용자 노드(30)를 인증할 수 있다(S860).
6. 상호 인증에 성공하면, 사용자 노드(30)는 자신의 마스터 대칭키로부터 유도된 암호키를 바탕으로 필요한 암호 채널들을 구성함으로써 서비스 엔티티(50)에게 서비스를 요청할 수 있다(S870). 서비스 엔티티(50)는 제공자 노드가 제공한 유도 암호키를 사용하여 사용자 노드(30)에 의해 요청된 서비스를 해석하여 실행할 수 있다.
도 13은 다른 실시예에 따른 참여자 탈중앙 기능 모듈의 상호 인증, 키 합의, 및 권한 부여 방법을 나타낸 흐름도이다.
도 13은 제공자가 사용자의 가입자 계정에 가입되어 있는 경우의 상호 인증, 키 합의, 및 권한 부여의 프로세스를 나타낼 수 있다.
1. 도 13을 참조하면, 사용자 노드(30)는 서비스 엔티티(50)에 접속하여, 제공자 공개키로 암호화된 사용자 정보를 포함하는 서비스 제공 요청 메시지를 서비스 엔티티(50)에게 송신할 수 있다(S910).
2. 제공자 노드(40)는 서비스 엔티티(50)를 통해 수신한 사용자 노드(30)의 사용자 정보를 복호화하고, 복호화된 사용자 정보를 바탕으로 제공자 노드(40)가 사용자 노드(30)의 계정에 가입되어 있는지 여부를 확인할 수 있다(S920).
3. 제공자 노드(40)는 자신이 사용자 노드(30)의 계정이 가입된 경우, 서비스 제공 요청 메시지의 응하여 사용자 노드(30)의 공개키로 암호화된 가입자 정보가 포함된 요청 응답 메시지를 서비스 엔티티(50)를 거쳐 사용자 노드(30)에게 전달할 수 있다(S930).
서비스 엔티티(50)를 통해 암호화된 가입자 정보가 포함된 요청 응답 메시지를 수신한 사용자 노드(30)는 가입자 정보를 복호화하여 제공자 노드(40)가 자신의 계정의 가입자인 것을 확인하고(S940), 제공자 노드(40)를 가입자로 인증하기 위한 도전 메시지를 서비스 엔티티(50)를 거쳐 제공자 노드(40)에게 송신할 수 있다(S950).
4. 제공자 노드(40)는 서비스 엔티티(50)을 통해 수신된 도전 메시지에 대한 답변 메시지 및 마스터 대칭키로부터 유도한 암호키를 서비스 엔티티(50)에게 송신할 수 있다(S960).
5. 서비스 엔티티(50)는 도전 메시지에 대한 제공자 노드(40)의 답변 메시지를 사용자 노드(30)에게 전달하고, 사용자 노드(30)는 답변 메시지를 예상 답변과 비교함으로써 가입자 인증 프로세스를 완료할 수 있다(S970).
6. 위와 같이 상호 인증에 성공하면 사용자 노드(30) 및 서비스 엔티티(50)는 각각 암호키를 생성하고, 생성된 암호키를 사용하여 서비스를 요청하고, 요청된 서비스를 사용할 수 있다.
도 14는 또 다른 실시예에 따른 참여자 탈중앙 기능 모듈의 상호 인증, 키 합의, 및 권한 부여 방법을 나타낸 흐름도이다.
사용자가 제공자의 가입자 계정에 사전에 가입되어 있지 않을 때, 상호 인증, 서비스 사용에 따른 보증금 설정, 초기 비용 지불, 암호 키 합의, 암호 채널을 이용한 서비스 사용 권한 부여 등이 이루어진 후 서비스가 제공되고 사용될 수 있다. 도 14는 한 실시예에 따른 사전 가입이 없을 때의 상호 인증, 키 합의, 및 권한 부여 프로세스를 설명한다.
1. 도 14를 참조하면, 사용자 노드(30)는 블록체인 시스템(200)에 접속하여 제공자 노드(40)를 인증하고 제공자 노드(40)의 공개키를 획득할 수 있다(S1000).
2. 사용자 노드(30)는 제공자 노드(40)의 제공자 포털을 통해 서비스를 선택하거나, 또는 서비스를 합성할 수 있다(S1005).
3. 제공자 노드(40)는 제공자 포털로부터 사용자 노드(30)에 의해 선택된 서비스 및 사용자 노드(30)의 식별자를 수신할 수 있다(S1010). 이후 제공자 노드(40)는 사용자 노드(30)의 식별자를 바탕으로 블록체인 시스템(200)을 통해 사용자 노드(30)를 인증하고 사용자 노드(30)의 공개키를 획득할 수 있다(S1015). 블록체인 시스템(200)을 통해 사용자 노드(30)가 성공적으로 인증되면, 제공자 노드(40)는 사용자 노드(30)의 공개키로 암호화된 서비스 명세를 제공자 노드(40)의 서명과 함께 사용자 노드(30)에 전달할 수 있다(S1020).
4. 사용자 노드(30)는 블록체인 시스템(200)의 서비스 스마트 컨트랙트 모듈(222)를 통해 서비스 사용을 위해 사전에 요구되는 보증금을 설정하고 초기 설치 비용을 지불할 수 있다(S1025).
5. 이후 사용자 노드(30)는 보증금 설정과 초기 비용 지불이 완료되었음을 제공자 노드(40)에게 알릴 수 있다(S1030).
6. 제공자 노드(40)는 사용자 노드(30)의 보증금 설정과 초기 비용 지불을 확인하고(S1035), 블록체인 시스템(200) 내의 서비스 스마트 컨트랙트 모듈(222)를 통해 제공자 노드(40)의 보증금을 설정할 수 있다(S1040). 제공자 노드(40)는 제공자 보증금의 설정을 완료하였음을 사용자 노드(30)에게 알릴 수 있다(S1045).
7. 사용자 노드(30)는 제공자 노드(40)의 보증금이 설정된 것을 확인하고(S1050), 확인 완료를 제공자 노드(40)에게 알릴 수 있다(S1055).
8. 사용자 노드(30)와 제공자 노드(40)는 상호 간에 공유될 마스터 대칭키를 각각의 공개키와 개인키를 사용하여 합의할 수 있다(S1060).
9. 이후 사용자 노드(30) 및 제공자 노드(40는 공유된 마스터 대칭키로부터 유도한 암호키를 사용하여, 서비스 채널과 서비스 메시지 채널을 암호화하고, 서비스를 요청하고, 서비스를 사용할 수 있다(S1065).
도 15는 한 실시예에 따른 참여자 탈중앙 기능 모듈의 과금, 청구, 및 지불 방법을 나타낸 흐름도이다.
사용자와 제공자 간의 상호 신뢰가 형성되어 있지 않은 탈중앙 네트워크(10)에서 참여자 간의 과금, 청구, 지불 기능은 다음의 조건들을 만족할 필요가 있다.
- 각 참여자는 서비스 보증금을 근거로 상대방을 신뢰할 수 있다. 따라서, 누적된 사용료가 보증금을 초과하면 참여자는 사용료 지불을 요구할 수 있다.
- 사용자가 사용료의 청구 내역을 검증할 수 있도록 제공자는 서비스 제공 증명을 제시할 수 있다.
- 사용자는 서비스의 사용 사실을 제공자가 확인할 수 있도록 서비스 사용 증명을 제공할 수 있다.
한 실시예에 따른 과금, 청구, 지불 기능에서, 도 15는 자동 과금, 자동 청구, 및 자동 지불의 프로세스를 나타낼 수 있다. 도 15를 참조하면, 사용자 영역에 있는 자동 지불 기능은 사용자 계량, 요금 검증, 블록체인 지불 등의 기능을 포함할 수 있다. 제공자 영역에 있는 자동 과금 및 자동 청구 기능은 제공자 계량, 누적 비교, 과금 트리거, 온라인 과금, 사용료율 설정, 지불 확인 등의 기능을 포함할 수 있다. 사용자 영역 내의 서비스 사용 제어, 서비스 사용, 계량 센서는 사용자 노드(또는 사용자 단말) 내에 포함되는 기능으로서 지불 기능과 연동될 수 있다. 제공자 영역 내의 정책제어, 서비스 제공 제어, 계량 센서는 제공자의 서비스 엔티티에 포함되는 기능으로서 과금 기능 및 청구 기능과 연동될 수 있다.
1. 도 15를 참조하면, 사용자 노드(30)는 계량 센서를 사용하여 서비스 사용량을 측정할 수 있다(사용자 계량 기능)(S1100). 서비스 사용량은 데이터 양, 자원의 크기, 또는 서비스 사용시간 등을 포함할 수 있다. 사용자 노드(30)는 사용량을 표시한 계량 패킷 또는 계량 메시지에 사용자 서명을 첨부하여 서비스 엔티티(50)에게 송신할 수 있다. 사용자 노드(30)는 계량 패킷 또는 계량 메시지를 서비스 엔티티(50)에게 주기적 또는 비주기적으로 송신할 수 있다. 계량 패킷 또는 계량 메시지의 송신 주기는 서비스 시간, 측정된 데이터 양, 또는 자원 사용량 등에 따라 결정될 수 있다. 측정된 서비스 사용량은 서비스 사용을 제어하기 위한 정보로서 사용될 수 있다.
2. 제공자 노드(40)는 계량 센서를 사용하여 제공자 입장에서 서비스 사용량을 측정하고(제공자 계량 기능)(S1105), 측정된 서비스 사용량과 사용자로부터 수신된, 사용자가 측정한 서비스 사용량의 차이의 누적값을 비교하는 누적 비교 기능을 수행할 수 있다(S1110).
3. 제공자 노드(40)는 누적 비교 기능을 통해 사용자 노드(30)로부터 수신된 서비스 사용량과 제공자 계량 기능에서 측정된 서비스 사용량을 비교하고 두 사용량의 일치 여부를 판단할 수 있다. 사용자 노드(30)의 서비스 사용량과 제공자 노드(40)의 서비스 사용량이 일치하면, 제공자 노드(40)는 서비스 사용량에 관한 정보를 사용자 서명과 함께 과금 트리거 기능에게 송신할 수 있다(S1115). 사용자 노드(30)의 서비스 사용량과 제공자 노드(40)의 서비스 사용량이 일치하지 않으면, 제공자 노드(40)는 서비스 엔티티(50)에 포함된 서비스 제어 기능에게 서비스 제공 상태의 제어를 지시할 수 있다(S1120).
4. 제공자 노드(40)는 과금 트리거 기능을 통해 서비스 사용량을 누적하고, 누적된 서비스 사용량이 설정된 과금 기준을 초과하면 누적된 서비스 사용량에 관한 정보를 온라인 과금 기능에 사용자 서명과 함께 전달할 수 있다(S1125).
5. 제공자 노드(40)는 온라인 과금 기능을 통해 사용료율 설정 기능에 의해 설정된 사용료율에 따라 사용량에 따른 사용료를 계산하고, 사용료를 누적시킬 수 있다. 이후 누적된 사용료가 설정된 청구 조건을 만족하면 제공자 노드(40)는 사용자 영역 내의 사용료 검증 기능에게 서비스 제공 증명을 첨부하여 사용료 지불을 청구할 수 있다(S1130). 서비스 제공 증명은 계량 패킷 또는 계량 메시지에 첨부된 사용자 서명을 이용하여 생성될 수 있다.
6. 사용자 노드(30)는 사용료 검증 기능을 통해 서비스 사용료 청구 내역을 검증하고, 검증이 완료되면 사용료 지불 트랜잭션을 블록체인 시스템(200)에게 송신할 수 있다(S1135).
7. 블록체인 시스템(200)은 사용료 지불 트랜잭션에 의해 사용료가 지불되면 지불 내역을 생성하고, 생성된 지불 내역을 제공자 노드(40)의 지불 확인 기능에게 알릴 수 있다(S1140). 이를 위해, 제공자 노드(40)는 서비스의 시작 단계에서 블록체인 시스템(200)의 지불 내역 통보 이벤트에 가입할 수 있다.
8. 지불 확인 기능의 확인 결과에 따라 서비스 제공 상태가 제어될 수 있다(S1145). 정상 지불이면 제공자 노드(40)는 계속해서 서비스를 제공할 수 있고, 미지불이면 제공자 노드(40)는 계약에 따라 서비스 제공 상태를 변경할 수 있다. 지불 확인 기능이 제공자 노드(40)에 설치된 경우, 서비스 제어 기능은 서비스 엔티티(50)의 정책제어 기능을 통해 수행될 수 있다(S1150). 지불 확인 기능이 서비스 엔티티(50) 내에 직접 설치된 경우, 서비스 제어 기능은 지불 확인 기능에 의해 직접 수행될 수 있다.
탈중앙 네트워크(10)에서 온라인 과금 기능은 제공자 노드(40) 또는 서비스 엔티티(50) 상에 설치될 수 있다. 기존 통신 사업자의 네트워크 서비스에 대한 과금은 서비스 엔티티(50)와는 독립적인 BSS에 의해 이루어질 수 있다. 앞서 설명한 대로 탈중앙 네트워크(10)에서 네트워크 서비스의 BSS는 제공자 노드(40)에 포함될 수 있다. 따라서, 네트워크 서비스가 제공되는 경우, 과금 기능은 제공자 노드(40)에 설치될 수 있다. 그러나, 네트워크 자원이 제공되는 경우, 네트워크 자원에서 과금 기능이 수행되는 것이 효과적일 수 있다. 따라서, 한 실시예에 따른 과금, 청구, 및 지불 기능은 온라인 과금이 제공자 노드(40)에서 수행되는 경우와, 서비스 엔티티(50)에서 수행되는 경우 각각에 대해 제시될 수 있다.
도 16은 한 실시예에 따른 참여자 탈중앙 기능 모듈의 과금, 청구, 및 지불 방법을 나타낸 개념도이고, 도 17은 한 실시예에 따른 참여자 탈중앙 기능 모듈의 자동 지불 방법을 나타낸 흐름도이고, 도 18은 한 실시예에 따른 참여자 탈중앙 기능 모듈의 직접 과금 방법을 나타낸 흐름도이며, 도 19는 다른 실시예에 따른 참여자 탈중앙 기능 모듈의 과금, 청구, 및 지불 방법을 나타낸 흐름도이다.
도 16은 서비스 엔티티(50)에서 직접 과금하는 경우의 과금, 청구, 지불 기능을 나타낸다. 사용자 노드(30)는 자동 지불 기능 및 수동 지불 기능을 수행할 수 있다. 제공자 노드(40)는 사용료율 관리 기능 및 스마트 컨트랙트 계약조건 생성 및 구성 기능을 수행할 수 있다. 서비스 엔티티(50)는 서비스 직접 과금 기능을 수행할 수 있다.
도 17에는 한 실시예에 따른 서비스 직접 과금 기능이 도시된다. 서비스 직접 과금 기능은 제공자 계량, 누적 비교, 과금 트리거, 온라인 과금, 지불 확인 기능 등을 포함할 수 있다. 도 18에는 한 실시예에 따른 자동 지불 기능이 도시된다. 자동 지불 기능은 사용자 계량, 사용료 검증, 블록체인 지불 등의 기능을 포함할 수 있다.
아래에서는 도 16 및 도 19를 참조하여, 서비스 엔티티(50)가 사용자 노드(30)에게 직접 과금하는 경우, 과금, 청구, 지불 기능의 서비스 시작 단계를 설명한다.
1. 인증, 키합의, 및 권한부여 프로세스를 마친 사용자 노드(30)는 서비스 엔티티(50)에게 암호 채널을 통해 서비스 요청 메시지를 전송할 수 있다(S1200).
2. 서비스 엔티티(50)는 제공자 노드(40)에게 사용자 노드(30)의 서비스 요청 메시지를 전달하고, 사용료율의 설정을 요청할 수 있다(S1205).
3. 제공자 노드(40)는 사용자 노드(30)의 서비스 명세를 확인하여 서비스의 허용 여부를 결정하고, 상기 결정에 기반하여 서비스 엔티티(50)에게 서비스 요청 메시지에 대한 응답 메시지를 전달할 수 있다(S1210). 제공자 노드(40)는 서비스의 허용이 결정되면 사용료율을 서비스 엔티티(50)에게 전달하고, 서비스 스마트 컨트랙트 모듈(222)를 설정할 수 있다.
4. 서비스 엔티티(50)는 서비스 요청 메시지에 대한 응답 메시지를 사용자 노드(30)에게 전달할 수 있다. 서비스 엔티티(50)는 서비스가 허용된 경우 암호키를 사용하여 서비스와 서비스 메시지 채널을 암호화하고 서비스를 시작할 수 있다(S1215).
5. 사용자 노드(30)는 서비스 허용을 알리는 응답 메시지를 수신하면 암호키를 사용하여 서비스와 서비스 메시지 채널을 암호화하고 서비스를 사용할 수 있다(S1220).
서비스 엔티티(50)가 직접 과금하는 경우, 서비스 진행 상태에 따른 과금, 청구 지불 기능을 도 16 및 도 19를 참조하여 아래에서 설명한다.
1. 사용자 노드(30)는 자동 지불 기능을 사용하여 계량 패킷 또는 계량 메시지를 사용자의 서명과 함께 서비스 채널 또는 서비스 메시지 채널을 통해 서비스 엔티티(50)에게 송신할 수 있다(S1225). 계량 패킷 또는 계량 메시지는 사용자 노드(30)의 서비스 사용량을 증명하기 위해 사용될 수 있다. 계량 패킷 또는 계량 메시지가 주기적으로 서비스 엔티티(50)에게 송신될 때 그 주기는 서비스 시간 또는 서비스 사용량에 따라 결정될 수 있다.
2. 서비스 엔티티(50)는 서비스 직접 과금 기능을 사용하여 수신된 계량 패킷 또는 계량 메시지를 직접 측정된 서비스 사용량과 비교할 수 있다. 수신된 계량 패킷 또는 계량 메시지가 직접 측정된 사용량과 일치하지 않으면, 서비스 엔티티(50)는 서비스 계약에 따라 서비스 제공을 중단할 수 있다. 서비스 사용량에 따른 사용료가 설정 값을 초과하였을 경우, 서비스 엔티티(50)는 서비스 사용 증명이 첨부된 사용료를 온라인으로 사용자 노드(30)에게 청구할 수 있다(S1230).
3. 사용자 노드(30)는 자동 지불을 위해, 제공자 노드(40)로부터 수신된 서비스 제공 증명을 사용하여 사용료의 청구 내역을 사용료 검증 기능을 통해 검증하고, 청구 내역이 검증되면, 사용료를 지불하기 위한 서비스 스마트 컨트랙트 트랜잭션을 블록체인 시스템(200)에 송신할 수 있다(S1235).
4. 블록체인 시스템(200)의 블록체인 전단부(210), 서비스 스마트 컨트랙트 모듈(222), 및 블록체인 데이터베이스(223)는 사용자 노드(30)의 트랜잭션을 처리할 수 있다(S1240).
5. 블록체인 전단부(210)는 트랜잭션 처리 완료 이벤트가 감지되면, 트랜잭션의 처리 완료를 서비스 엔티티(50)에 알릴 수 있다(S1245). 제공자 노드(40)는 서비스 시작 단계에서 사용자 지불 완료 이벤트를 서비스 엔티티(50)에 알릴 수 있도록 블록체인 전단부(210)의 통지 서비스에 가입할 수 있다.
6. 서비스 엔티티(50)는 서비스 직접 과금 기능을 통해 지불을 요청하고, 지불 결과에 이상이 없으면 서비스 진행이 지속될 수 있다. 이후, 서비스가 진행되는 동안 서비스 엔터티(50)에서는 위의 S1230 내지 S1245 단계가 반복될 수 있다.
서비스 엔티티(50)가 직접 과금하는 경우, 과금, 청구, 지불 기능의 서비스가 진행 중일 때 사용자 계정은 아래와 같이 보충될 수 있다.
1. 블록체인 시스템(200)의 블록체인 전단부(210)는 사용자 노드(30)의 블록체인 계정의 잔고가 부족할 경우 이를 사용자 노드(30)에게 알릴 수 있다(S1310). 이를 위해, 사용자 노드(30)는 사전에 블록체인 전단부(210)의 잔고 부족 통지 이벤트에 가입하고 이벤트 발생 조건을 미리 설정할 수 있다.
2. 사용자 노드(30)는 수동 지불 기능을 통해 사용자 노드(30)의 블록체인 계정의 자산을 보충할 것을 블록체인 시스템(200)에 요청할 수 있다(S1320). 구체적으로, 사용자 노드(30)의 수동 지불 기능은 사용자 노드(30)의 계정에 자산을 보충하는 트랜잭션을 발생시킬 수 있고, 발생된 트랜잭션을 블록체인 전단부(210)에 송신할 수 있다.
3. 블록체인 전단부(210)는 트랜잭션을 블록체인 노드(210)에게 전달할 수 있다(S1330).
4. 이후 블록체인 시스템(20)은 트랜잭션을 처리할 수 있다(S1340).
5. 블록체인 전단부(210)는 트랜잭션의 처리 이벤트를 감지하고(S1350), 사용자의 계정의 보충된 잔고를 사용자 노드(30)의 수동 지불 기능에 알릴 수 있다. 잔고 보충 프로세스는 서비스가 진행되는 동안 S1310 내지 S1350의 순서로 반복될 수 있다.
서비스 엔티티(50)가 직접 과금하는 경우의 과금, 청구, 지불 기능의 서비스 종료가 아래에서 설명된다.
1. 사용자 노드(30)는 서비스 엔티티(50)에게 서비스 종료를 요청할 수 있다(S1410).
2. 서비스 엔티티(50)는 서비스 종료의 요청을 제공자 노드(40)에게 전달하고(S1420), 사용자 노드(30)에게 서비스 종료 요청에 대한 응답 메시지를 전송한 후(S1430), 서비스를 해제할 수 있다(S1440). 장시간 서비스가 비활성화되어 있을 때, 서비스 엔티티(50)는 서비스가 종료된 것으로, 사용자 노드(30)와의 교신없이 스스로 판단하고 서비스를 종료할 수 있다. 서비스 엔티티(50)는 이후 제공자 노드(40)에게 서비스 종료를 알릴 수 있다(S1450).
3. 제공자 노드(40)는 서비스에 따라 서비스 스마트 컨트랙트 모듈(214) 내에 설정된 사항을 해제할 수 있다(S1460).
4. 사용자 노드(30)는 서비스 종료 요청에 대한 응답 메시지가 수신되면 서비스 사용을 종료할 수 있다(S1470).
도 20은 다른 실시예에 따른 참여자 탈중앙 기능 모듈의 과금, 청구, 및 지불 방법을 나타낸 개념도이고, 도 21은 한 실시예에 따른 과금 트리거 및 서비스 증명 방법을 나타낸 흐름도이며, 도 22는 또 다른 실시예에 따른 참여자 탈중앙 기능 모듈의 과금, 청구, 및 지불 방법을 나타낸 흐름도이다.
도 20을 참조하면, 사용자 노드(또는 사용자 단말)(30)은 자동 지불 기능 및 수동 지불 기능을 포함할 수 있다. 제공자 노드(40)는 온라인 과금, 사용료율 관리, 스마트 컨트랙트 계약조건 생성 및 구성 등의 기능을 포함할 수 있다. 서비스 엔티티(50)는 과금 트리거 및 서비스 증명을 포함할 수 있다.
도 21을 참조하면, 한 실시예에 따른 과금 트리거 및 서비스 증명 프로세스는 제공자 계량, 누적 비교, 및 과금 트리거 등의 기능을 포함할 수 있다.
아래에서는 제공자 노드(40)가 과금하는 경우의 과금, 청구, 및 지불 기능의 서비스 시작 단계가 도 20 및 도 22를 참조하여 설명된다.
1. 인증, 키합의, 및 권한부여를 마친 사용자 노드(30)는 서비스 엔티티(50)에게 암호 채널을 통해 서비스를 요청할 수 있다(S1510).
2. 서비스 엔티티(50)는 제공자 노드(40)에게 사용자 노드(30)의 서비스 요청을 전달하고 과금 트리거 설정을 요청할 수 있다(S1520).
3. 제공자 노드(40)는 사용자 노드(30)의 서비스 명세를 확인함으로써 서비스의 허용 여부를 결정할 수 있다. 서비스가 허용될 때, 제공자 노드(40)는 서비스 엔티티(50)로부터 전달된 서비스 요청에 대한 응답 메시지를 서비스 엔티티(50)를 거쳐 사용자 노드(30)에게 전달하고(S1530), 과금 트리거 설정을 서비스 엔티티(50)에게 송신할 수 있다(S1540). 그리고 제공자 노드(40)는 블록체인 시스템(200)의 서비스 스마트 컨트랙트 모듈(222)를 설정할 수 있다(S1550). 서비스 스마트 컨트랙트 모듈(222)의 설정이 완료되면 제공자 노드(40)는 사용자 노드(30)에 대한 온라인 과금을 시작할 수 있다.
4. 서비스 엔티티(50)는 서비스 요청에 대한 응답 메시지를 사용자 노드(30)에게 전달하고, 서비스가 허용된 경우 암호키를 사용하여 서비스와 서비스 메시지 채널을 암호화하고 서비스를 시작할 수 있다(S1560).
5. 사용자 노드(30)는 서비스 허용을 포함하는 응답 메시지가 수신되면, 암호키를 사용하여 서비스와 서비스 메시지 채널을 암호화하고 서비스를 사용할 수 있다(S1570).
제공자 노드(40)가 온라인 과금 기능을 실행할 때, 서비스 진행 중의 과금, 청구 지불 기능이 도 20 및 도 22를 참조하여 아래에서 설명된다.
1. 사용자 노드(30)는 자동 지불 기능을 사용하여, 서비스 사용량을 증명하는 계량 패킷 또는 계량 메시지를 사용자의 서명과 함께 서비스 채널 또는 서비스 메시지 채널을 통해 주기적으로 서비스 엔티티(50)에게 송신할 수 있다(S1610). 이때 계량 패킷 또는 계량 메시지의 송신 주기는 서비스 시간 또는 서비스 사용량에 따라 미리 결정될 수 있다.
2. 서비스 엔티티(50)의 과금 트리거 및 서비스 증명 기능은 사용자 노드(30)로부터 계량 패킷 또는 계량 메시지를 수신하고, 수신된 계량 패킷 또는 계량 메시지를 서비스 엔티티(50)에 의해 측정된 서비스 사용량과 비교할 수 있다. 수신된 계량 패킷 또는 계량 메시지가 서비스 엔티티(50)에 의해 측정된 서비스 사용량과 다를 때, 서비스 엔티티(50)는 서비스 계약에 따라 사용자 노드(30)로의 서비스 제공을 중단할 수 있다. 수신된 계량 패킷 또는 계량 메시지가 서비스 엔티티(50)에 의해 측정된 서비스 사용량과 일치하면, 서비스 엔티티(50)는 서비스 사용량을 누적시킬 수 있다. 이후 누적된 서비스 사용량이 설정된 과금 트리거 기준을 만족하면, 서비스 엔티티(50)는 과금 요청을 사용량 및 사용자 서명과 함께 제공자 노드(40)에게 송신할 수 있다(S1620).
3. 제공자 노드(40)는 온라인 과금 기능을 통해, 사용료율 관리 기능에 의해 설정된 사용료율에 따라 사용량에 대한 사용료를 계산하고 누적시킬 수 있다. 누적된 사용료가 청구 조건을 만족하면 사용자 노드(30)에게 서비스 제공 증명을 첨부하여 사용료를 청구할 수 있다(S1630).
4. 사용자 노드(30)는 자동 지불 기능에서, 청구 내용을 서비스 제공 증명을 사용하여 사용료 검증 기능을 통해 검증할 수 있다. 청구 내용이 검증되면, 사용자 노드(30)는 사용료를 지불하기 위한 서비스 스마트 컨트랙트 트랜잭션을 블록체인 시스템(200)에 전송할 수 있다(S1640).
5. 블록체인 시스템(200)의 블록체인 전단부(210), 서비스 스마트 컨트랙트 모듈(222), 및 블록체인 데이터베이스(223)는 사용자 노드(30)의 트랜잭션을 처리할 수 있다(S1650).
6. 블록체인 전단부(210)는, 트랜잭션 처리 완료 이벤트가 감지되면, 트랜잭션의 처리 결과를 제공자 노드(40)에 알릴 수 있다(S1660). 이를 위해 제공자 노드(40)는 서비스 시작 단계에서 블록체인 전단부(210)의 사용자 지불 완료 이벤트에 미리 가입할 수 있다.
7. 제공자 노드(40)는 지불 결과를 확인하고(S1670), 지불 내역에 이상이 없다면 S1620 단계를 실행할 수 있다. 이후, 서비스가 진행되는 동안 S1620 내지 S1670 단계가 순서대로 반복될 수 있다.
서비스를 제공하는 제공자 노드(40)가 온라인 과금을 수행하는 경우, 과금, 청구, 지불 기능의 서비스가 진행 중일 때 사용자 계정의 보충과 서비스 종료는 도 20 및 도 22를 통해 설명된 프로세스에 도 16 및 도 19의 해당 절차가 추가될 수 있다. 여기서, 서비스 종료는 온라인 과금 종료 단계가 더 추가될 수 있다.
아래에서는 도 23 및 도 24를 참조하여 한 실시예에 따른 탈중앙 네트워크의 참여자 노드의 동작이 설명된다.
도 23은 한 실시예에 따른 탈중앙 네트워크의 제공자 노드의 동작을 나타낸 흐름도이다.
1. 도 23을 참조하면, 제공자는 제공자 기능을 갖는 노드를 통해 탈중앙 네트워크(10)에 참여할 수 있다(S1710).
2. 제공자 노드(40)는 탈중앙화 기능부(100)에 접속하여 부트 스트래핑 서버(120)을 사용함으로써 블록체인 지갑(111) 기능 등 제공자 역할의 참여자 탈중앙 기능 모듈(110)을 설치할 수 있다(S1720).
3. 제공자 노드(40)는 블록체인 계정을 생성하고, 거래 및 보증금 설정을 위해 탈중앙 네트워크(10)에서 사용될 암호화폐 자산을 블록체인 계정에 저장할 수 있다(S1730).
4. 제공자 노드(40)는 블록체인 시스템(200)의 등록 스마트 컨트랙트 모듈(221)을 통하여 제공자 역할(예를 들어, 네트워크 자원 제공자 또는 네트워크 서비스 제공자)로서 블록체인 시스템(200)에 등록하고, 제공자 역할에 요구되는 보증금을 설정할 수 있다(S1740). 탈중앙 네트워크(10)에 등록된 참여자는 시스템 전체에 걸쳐 유일한 값인 참여자 식별자로 인식될 수 있다. 등록 스마트 컨트랙트 모듈(221)은 참여자 등록 계정을 생성하고, 참여자 식별자, 참여자 공개키, 하나 또는 그 이상의 참여자의 블록체인 계정 식별자, 참여자의 역할, 참여자의 가입 정보, 참여자의 접속 주소, 참여자 보증금 등의 정보를 참여자 등록 계정에 저장하고, 갱신할 수 있다.
5. 이후 제공자 노드(40)는 다음 세 가지 동작 중에 하나를 실행할 수 있다.
5.1 제공자 노드(40)는 제공자 노드(40)의 제공자 포털을 통해 제공 가능한 서비스를 공개하고, 사용자 노드(30)를 가입자로 모집할 수 있다. 이후 제공자 노드(40)는 모집된 사용자 노드(30)를 위한 가입자 계정을 생성하고, 가입자 정보, 서비스 명세를 기록하고, 서비스에 따른 사용자의 보증금을 설정할 수 있다(S1751). 가입자 계정에 관한 정보는 제공자 노드(40)와 사용자 노드(30)가 공유할 수 있다(S1752). 사용자 노드(30)가 서비스 엔티티(50)에 접속하면, 제공자 노드(40)는 사용자 노드(30)의 가입자 계정에 관한 정보를 기반으로 사용자 노드(30)를 인증할 수 있다. 사용자 노드(30)의 인증에 성공하면, 제공자 노드(40)는 사용자 노드(30)와 공유하고 있는 마스터 대칭키로부터 암호키를 생성하고, 생성된 암호키를 사용하여 서비스에 필요한 채널을 암호화하며, 사용자 노드(30)에게 서비스 사용 권한을 부여할 수 있다(S1753).
5.2 제공자 노드(40)는 사용자 노드(30)의 사용자 포털을 통해 사용자 노드(30)에 제공자 노드(40)로서 가입할 수 있다. 제공자 노드(40)는 서비스 제공에 요구되는 보증금을 설정하고, 사용자 노드(30)에 의해 생성된 가입자 계정에 관한 정보를 사용자 노드(30)로부터 받아서 저장할 수 있다(S1754). 사용자 노드(30)가 서비스 엔티티(50)에 접속하면, 제공자 노드(40)는 가입자 계정에 관한 정보를 기반으로 사용자 노드(30)를 인증할 수 있다. 사용자 노드(30)의 인증에 성공하면, 제공자 노드(40)는 사용자 노드(30)와 공유하고 있는 마스터 대칭키로부터 암호키를 생성하고, 생성된 암호키를 사용하여 서비스 실행에 필요한 채널을 암호화하며, 사용자 노드(30)에게 서비스 사용 권한을 부여할 수 있다(S1755).
5.3 사용자 노드(30)의 서비스 사용 요청 또는 제공자 노드(40)의 서비스 제공 요청에 의해 사용자 노드(30)와 제공자 노드(40) 사이에 서비스 사용 및 제공에 대한 거래가 시작될 수 있다. 제공자 노드(40)는 참여자 등록 정보를 통해 사용자 노드(30)를 인증하고, 사용자 노드(30)와 마스터 대칭키에 대한 합의를 수행할 수 있다. 이후 제공자 노드(40)는 합의된 마스터 대칭키로부터 암호키를 생성하고 생성된 암호키를 서비스 사용 중에 필요한 채널의 암호화에 사용하고, 사용자 노드(30)에게 서비스 사용 권한을 부여할 수 있다(S1756).
6. 위에서 설명한 프로세스를 통해 인증, 키합의, 및 권한 부여된 사용자 노드(30)에게 서비스가 제공될 때, 과금, 청구, 지불 확인은 과금의 주체에 따라 달라질 수 있다.
6.1 제공자 노드(40)가 사용자 노드(30)에게 온라인 과금과 사용료 청구를 수행할 수 있다(S1761). 이때 제공자 노드(40)는 사용자 노드(30)에게 서비스 제공 증명을 함께 제공할 수 있다. 제공자 노드(40)는 블록체인 시스템(200)을 통해 지불 사실을 확인할 수 있다.
6.2 제공자 노드(40)의 서비스 엔티티(50)가 직접 온라인 과금과 사용료 청구를 수행할 수 있다(S1762). 이때 서비스 엔티티(50)는 사용자 노드(30)에게 사용료 지불 청구와 함께 서비스 제공 증명을 제공할 수 있다. 서비스 엔티티(50)는 블록체인 시스템(200)을 통해 사용자 노드(30)의 사용료 지불 사실을 확인할 수 있다.
도 24는 한 실시예에 따른 탈중앙 네트워크의 사용자 노드의 동작을 나타낸 흐름도이다.
1. 사용자는 사용자 기능을 갖는 노드 또는 단말을 통해 탈중앙 네트워크(10)에 참여할 수 있다(S1810).
2. 사용자 노드(30)는 탈중앙화 기능부(100)의 부트 스트래핑 서버(120)에 접속하여 블록체인 지갑(111) 기능 등 사용자 역할의 참여자 탈중앙 기능 모듈(110)을 설치할 수 있다(S1820).
3. 사용자 노드(30)는 참여자 탈중앙 기능 모듈(111)의 블록체인 지갑 기능을 통해 블록체인 계정을 생성하고, 거래와 보증금 설정을 위해 탈중앙 네트워크(10)에서 사용될 암호화폐 자산을 블록체인 계정에 저장할 수 있다(S1830).
4. 사용자 노드(30)는 블록체인 시스템(200)의 등록 스마트 컨트랙트 모듈(221)을 통하여 사용자 역할(예를 들어, 네트워크 자원의 사용자, 최종 사용자, 응용 서비스 제공자 등)로 블록체인 시스템(200)에 등록하고, 사용자 역할에 요구되는 보증금을 설정할 수 있다(S1840). 사용자 노드(30)는 유일한 참여자 식별자를 사용하여 인식될 수 있다.
5. 이후 사용자 노드(30)는 다음 두 가지 동작 중 하나를 실행할 수 있다.
5.1 사용자 노드(30)는 제공자 노드(40)의 제공자 포털을 통해 제공자 노드(40)에 사용자 노드(30)로 가입할 수 있다(S1851). 사용자 노드(30)는 서비스 사용에 요구되는 보증금을 설정하고, 제공자 노드(40)에 의해 생성된 제공자 노드(40)의 가입자 계정에 관한 정보를 제공자 노드(40)로부터 받아서 보관할 수 있다(S1852).
5.2 사용자 노드(30)는 사용자 포털을 통해 사용할 서비스의 요구사항을 공개하고, 제공자 노드(40)를 가입자로서 모집할 수 있다(S1853). 사용자 노드(30)는 제공자 노드(40)를 위한 가입자 계정을 생성하고, 가입자 정보, 서비스 명세를 기록하고, 서비스에 따른 보증금을 설정할 수 있다(S1854). 제공자 노드(40)의 가입자 계정에 관한 정보는 사용자 노드(30)와 제공자 노드(40)가 공유할 수 있다.
5.3 한편, 사용자 노드(30)의 서비스 사용 요청 또는 제공자 노드(40)의 서비스 제공 알림에 의해 사용자 노드(30)와 제공자 노드(40) 사이의 서비스 사용 및 제공에 대한 거래가 시작될 수 있다(S1855). 사용자 노드(30)는 참여자 등록 정보를 통해 제공자 노드(40)를 인증한 후, 제공자 노드(40)와 마스터 대칭키에 대한 합의를 수행할 수 있다. 이후 사용자 노드(30)는 합의된 마스터 대칭키로부터 암호키를 생성하고, 생성된 암호키를 사용하여 서비스 사용 중에 필요한 채널을 암호화할 수 있으며, 제공자 노드(40)로부터 서비스 사용 권한이 부여될 수 있다.
6. 서비스가 진행되는 동안, 사용자 노드(30)는 서비스 사용량을 확인하는 계량 패킷 또는 계량 메시지를 사용자의 서명과 함께 제공자 노드(40)에게 주기적으로 송신할 수 있다. 사용자 노드(30)는 서비스 제공 증명을 통해 계량 패킷 또는 계량 메시지를 바탕으로 결정된 사용료를 검증하고, 검증된 사용료를 블록체인 시스템(200)을 통해 지불할 수 있다(S1860). 사용자 노드(30)는 사용자의 블록체인 계정의 잔액이 부족할 경우 부족한 금액을 보충할 수 있다.
기존의 네트워크 시스템의 변경 없이, 블록체인 시스템을 사용하여 탈중앙화 기능을 추가함으로써, 탈중앙화와 관련된 기능과 네트워크 기능을 분리시킬 수 있다. 따라서, 현재의 표준과 향후 진화할 표준을 모두 만족하는 사용자 단말, 기지국, 코어 네트워크, 운영관리 등과 무관하게, 사용자 단말에 탈중앙화 기능의 소프트웨어를 추가하고, 탈중앙화 기능의 과금을 추가함으로써 탈중앙 네트워크를 실현시킬 수 있다.
또한, 사설 영역, 공공 영역, 통신사업자 영역 각각에 위치한 네트워크 자원을 통합하여 재구성할 수 있기 때문에, 중복 투자 없이, 비용 효율적이고, 친환경적으로 효율적 진화가 가능한 네트워크 환경을 구축할 수 있다. 또한, 상호 신뢰가 없는 거래 당사자 간의 과금과 지불이 탈중앙 방식으로 구현될 수 있다. 또한, 탈중앙 기능 관련 앱이 탑재된 기존의 단말이 탈중앙 네트워크의 참여자 식별자로 5G 시스템 등의 이동통신 시스템에 가입됨으로써 탈중앙화된 이동통신 서비스가 구현될 수 있다.
도 25는 다른 실시예에 따른 블록체인 시스템을 나타낸 블록도이다.
한 실시예에 따른 블록체인 시스템은, 컴퓨터 시스템, 예를 들어 컴퓨터 판독 가능 매체로 구현될 수 있다. 도 25를 참조하면, 컴퓨터 시스템(2500)은, 버스(2570)를 통해 통신하는 프로세서(2510), 메모리(2530), 입력 인터페이스 장치(2550), 출력 인터페이스 장치(2560), 및 저장 장치(2540) 중 적어도 하나를 포함할 수 있다. 컴퓨터 시스템(2500)은 또한 네트워크에 결합된 통신 장치(2520)를 포함할 수 있다. 프로세서(2510)는 중앙 처리 장치(central processing unit, CPU)이거나, 또는 메모리(2530) 또는 저장 장치(2540)에 저장된 명령을 실행하는 반도체 장치일 수 있다. 메모리(2530) 및 저장 장치(2540)는 다양한 형태의 휘발성 또는 비휘발성 저장 매체를 포함할 수 있다. 예를 들어, 메모리는 ROM(read only memory) 및 RAM(random access memory)를 포함할 수 있다. 본 기재의 실시예에서 메모리는 프로세서의 내부 또는 외부에 위치할 수 있고, 메모리는 이미 알려진 다양한 수단을 통해 프로세서와 연결될 수 있다. 메모리는 다양한 형태의 휘발성 또는 비휘발성 저장 매체이며, 예를 들어, 메모리는 읽기 전용 메모리(read-only memory, ROM) 또는 랜덤 액세스 메모리(random access memory, RAM)를 포함할 수 있다.
따라서, 실시예는 컴퓨터에 구현된 방법으로서 구현되거나, 컴퓨터 실행 가능 명령이 저장된 비일시적 컴퓨터 판독 가능 매체로서 구현될 수 있다. 한 실시예에서, 프로세서에 의해 실행될 때, 컴퓨터 판독 가능 명령은 본 기재의 적어도 하나의 양상에 따른 방법을 수행할 수 있다.
통신 장치(2520)는 유선 신호 또는 무선 신호를 송신 또는 수신할 수 있다.
한편, 실시예는 지금까지 설명한 장치 및/또는 방법을 통해서만 구현되는 것은 아니며, 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있으며, 이러한 구현은 상술한 실시예의 기재로부터 본 발명이 속하는 기술 분야의 통상의 기술자라면 쉽게 구현할 수 있는 것이다. 구체적으로, 실시예에 따른 방법(예, 네트워크 관리 방법, 데이터 전송 방법, 전송 스케줄 생성 방법 등)은 다양한 컴퓨터 수단을 통해 수행될 수 있는 프로그램 명령 형태로 구현되어, 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은, 실시예를 위해 특별히 설계되어 구성된 것이거나, 컴퓨터 소프트웨어 분야의 통상의 기술자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체는 프로그램 명령을 저장하고 수행하도록 구성된 하드웨어 장치를 포함할 수 있다. 예를 들어, 컴퓨터 판독 가능 기록 매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광 기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 롬(ROM), 램(RAM), 플래시 메모리 등일 수 있다. 프로그램 명령은 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라, 인터프리터 등을 통해 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함할 수 있다.
이상에서 실시예에 대하여 상세하게 설명하였지만 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 권리범위에 속하는 것이다.

Claims (19)

  1. 블록체인 시스템을 통해 서비스를 사용하는 장치로서,
    프로세서, 메모리, 및 통신 장치를 포함하고, 상기 프로세서는 상기 메모리에 저장된 프로그램을 실행하여,
    상기 서비스를 제공하는 제공자 노드가 탈중앙 네트워크의 참여자인 것을 상기 통신 장치를 사용하여 상기 블록체인 시스템을 통해 확인하는 단계, 그리고
    상기 제공자 노드가 상기 탈중앙 네트워크의 참여자인 것이 상기 통신 장치를 사용하여 상기 블록체인 시스템을 통해 확인되면, 상기 제공자 노드에 의해 제공되는 상기 서비스를 사용하는 단계
    를 수행하는, 장치.
  2. 제1항에서,
    상기 프로세서는 상기 프로그램을 실행하여,
    상기 서비스를 사용하는 단계 이후에, 상기 서비스의 사용에 대한 사용료를 상기 통신 장치를 사용하여 상기 블록체인 시스템을 통해 지불하는 단계
    를 더 수행하는, 장치.
  3. 제2항에서,
    상기 프로세서는 상기 서비스의 사용에 대한 사용료를 상기 블록체인 시스템을 통해 지불하는 단계를 수행할 때,
    상기 제공자 노드로부터 상기 사용료의 청구 내역 및 서비스 제공 증명을 상기 통신 장치를 사용하여 수신하는 단계,
    상기 서비스 제공 증명을 사용하여 상기 청구 내역을 검증하는 단계, 그리고
    상기 청구 내역이 검증되면, 상기 사용료를 지불하기 위한 서비스 스마트 컨트랙트 트랜잭션을 상기 통신 장치를 사용하여 상기 블록체인 시스템에게 전송하는 단계
    를 수행하는, 장치.
  4. 제1항에서,
    상기 프로세서는 상기 프로그램을 실행하여,
    상기 통신 장치를 사용하여 상기 탈중앙 네트워크의 부트 스트래핑 서버에 접속하고, 상기 부트 스트래핑 서버의 제어에 따라 참여자 탈중앙 기능 모듈을 설치하는 단계, 그리고
    상기 참여자 탈중앙 기능 모듈을 사용하여 블록체인 계정을 생성하고, 상기 블록체인 시스템의 등록 스마트 컨트랙트 모듈을 통해 상기 사용자 노드를 상기 블록체인 시스템에 등록하는 단계
    를 더 수행하는, 장치.
  5. 제1항에서,
    상기 서비스가 네트워크 자원을 사용하여 제공되는 네트워크 서비스일 때, 상기 사용자 노드는 단말이고, 상기 제공자 노드는 네트워크 서비스 제공자인, 장치.
  6. 제1항에서,
    상기 서비스가 네트워크 자원을 제공하는 서비스일 때, 상기 사용자 노드는 상기 네트워크 자원을 사용하여 상기 서비스를 제공하는 네트워크 서비스 제공자이고, 상기 제공자 노드는 자원 제공자인, 장치.
  7. 제1항에서,
    상기 프로세서는 상기 프로그램을 실행하여,
    상기 제공자 노드의 제공자 포털에서 상기 제공자 모드가 제공할 수 있는 서비스를 선택하는 단계, 그리고
    상기 제공자 노드에 상기 사용자 노드를 위한 가입자 계정을 생성하고, 상기 서비스에 따른 보증금을 설정하는 단계
    를 더 수행하는, 장치.
  8. 제1항에서,
    상기 프로세서는 상기 프로그램을 실행하여,
    상기 통신 장치를 사용하여 사용자 포털을 통해 상기 제공자 노드로부터 상기 제공자 노드의 식별자 및 상기 제공자 노드에 의해 선택된 서비스의 서비스 명세를 수신하는 단계
    를 더 수행하고,
    상기 프로세서는 상기 서비스를 제공하는 제공자 노드가 탈중앙 네트워크의 참여자인 것을 블록체인 시스템을 통해 확인하는 단계를 수행할 때,
    상기 제공자 노드의 식별자를 사용하여 상기 제공자 노드가 상기 탈중앙 네트워크에 등록된 참여자인 것을 확인하는 단계
    를 수행하는, 장치.
  9. 제1항에서,
    상기 프로세서는 상기 제공자 노드에 의해 제공되는 상기 서비스를 사용하는 단계를 수행하기 전에,
    상기 제공자 노드와 마스터 대칭키를 합의하는 단계, 그리고
    상기 마스터 대칭키로부터 암호키를 생성하고, 생성된 암호키를 사용하여 상기 서비스에 필요한 채널을 암호화하는 단계
    를 더 수행하는, 장치.
  10. 블록체인 시스템을 통해 서비스를 사용하는 방법으로서,
    상기 서비스를 제공하는 제공자 노드가 탈중앙 네트워크의 참여자인 것을 상기 블록체인 시스템을 통해 확인하는 단계, 그리고
    상기 제공자 노드가 상기 탈중앙 네트워크의 참여자인 것이 상기 블록체인 시스템을 통해 확인되면, 상기 제공자 노드에 의해 제공되는 상기 서비스를 사용하는 단계
    를 포함하는 방법.
  11. 제10항에서,
    상기 서비스를 사용하는 단계 이후에, 상기 서비스의 사용에 대한 사용료를 상기 블록체인 시스템을 통해 지불하는 단계
    를 더 포함하는 방법.
  12. 제11항에서,
    상기 서비스의 사용에 대한 사용료를 상기 블록체인 시스템을 통해 지불하는 단계를 수행할 때,
    상기 제공자 노드로부터 상기 사용료의 청구 내역 및 서비스 제공 증명을 수신하는 단계,
    상기 서비스 제공 증명을 사용하여 상기 청구 내역을 검증하는 단계, 그리고
    상기 청구 내역이 검증되면, 상기 사용료를 지불하기 위한 서비스 스마트 컨트랙트 트랜잭션을 상기 통신 장치를 사용하여 상기 블록체인 시스템에게 전송하는 단계
    를 포함하는 방법.
  13. 제10항에서,
    상기 탈중앙 네트워크의 부트 스트래핑 서버에 접속하고, 상기 부트 스트래핑 서버의 제어에 따라 참여자 탈중앙 기능 모듈을 설치하는 단계, 그리고
    상기 참여자 탈중앙 기능 모듈을 사용하여 블록체인 계정을 생성하고, 상기 블록체인 시스템의 등록 스마트 컨트랙트 모듈을 통해 사용자 노드를 상기 블록체인 시스템에 등록하는 단계
    를 더 포함하는 방법.
  14. 제10항에서,
    상기 서비스가 네트워크 자원을 사용하여 제공되는 네트워크 서비스일 때, 사용자 노드는 단말이고, 상기 제공자 노드는 네트워크 서비스 제공자인, 방법.
  15. 제10항에서,
    상기 서비스가 네트워크 자원을 제공하는 서비스일 때, 사용자 노드는 상기 네트워크 자원을 사용하여 상기 서비스를 제공하는 네트워크 서비스 제공자이고, 상기 제공자 노드는 자원 제공자인, 방법.
  16. 제10항에서,
    상기 제공자 노드의 제공자 포털에서 상기 제공자 모드가 제공할 수 있는 서비스를 선택하는 단계, 그리고
    상기 제공자 노드에 사용자 노드를 위한 가입자 계정을 생성하고, 상기 서비스에 따른 보증금을 설정하는 단계
    를 더 포함하는 방법.
  17. 제10항에서,
    사용자 포털을 통해 상기 제공자 노드로부터 상기 제공자 노드의 식별자 및 상기 제공자 노드에 의해 선택된 서비스의 서비스 명세를 수신하는 단계
    를 더 포함하고,
    상기 서비스를 제공하는 제공자 노드가 탈중앙 네트워크의 참여자인 것을 블록체인 시스템을 통해 확인하는 단계는,
    상기 제공자 노드의 식별자를 사용하여 상기 제공자 노드가 상기 탈중앙 네트워크에 등록된 참여자인 것을 확인하는 단계
    를 포함하는, 방법.
  18. 제10항에서,
    상기 프로세서는 상기 제공자 노드에 의해 제공되는 상기 서비스를 사용하는 단계,
    상기 제공자 노드와 마스터 대칭키를 합의하는 단계, 그리고
    상기 마스터 대칭키로부터 암호키를 생성하고, 생성된 암호키를 사용하여 상기 서비스에 필요한 채널을 암호화하는 단계
    를 더 포함하는 방법.
  19. 블록체인 시스템으로서,
    참여자가 생성한 등록 관련 트랜잭션을 처리함으로써 상기 참여자를 탈중앙 네트워크에 등록하는 등록 스마트 컨트랙트 모듈,
    상기 참여자가 상기 탈중앙 네트워크를 사용하여 서비스를 제공하거나 또는 상기 참여자가 상기 탈중앙 네트워크를 사용하여 상기 서비스를 사용할 때의 트랜잭션을 처리하는 서비스 스마트 컨트랙트 모듈, 및
    상기 참여자가 상기 서비스를 제공하거나 또는 상기 서비스를 제공할 때 사용되는 암호화폐 자산을 처리하는 블록체인 데이터베이스
    를 포함하고,
    상기 참여자는 상기 서비스를 사용하는 사용자 노드, 상기 서비스를 제공하거나 또는 상기 서비스를 위한 자원을 제공하는 제공자 노드 중 하나인, 블록체인 시스템.
KR1020210021444A 2020-02-17 2021-02-17 블록체인 시스템을 통해 서비스를 사용하는 방법 및 장치 KR20210104604A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US17/177,576 US20210342803A1 (en) 2020-02-17 2021-02-17 Method and apparatus for using a service through blockchain system
US18/242,792 US20230419284A1 (en) 2020-02-17 2023-09-06 Method and apparatus for using a service through blockchain system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20200018844 2020-02-17
KR1020200018844 2020-02-17

Publications (1)

Publication Number Publication Date
KR20210104604A true KR20210104604A (ko) 2021-08-25

Family

ID=77495303

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210021444A KR20210104604A (ko) 2020-02-17 2021-02-17 블록체인 시스템을 통해 서비스를 사용하는 방법 및 장치

Country Status (2)

Country Link
US (2) US20210342803A1 (ko)
KR (1) KR20210104604A (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111352705B (zh) * 2020-02-25 2023-10-31 百度在线网络技术(北京)有限公司 一种区块链的事务处理方法、装置、设备和介质
CN112035896B (zh) * 2020-07-20 2024-03-29 傲为有限公司 一种基于交易方式的电子合同存证***
US20220141037A1 (en) * 2020-10-29 2022-05-05 Ocelot Technologies, Inc. Autonomous cryptographic and blockchain actor in a browser execution context
US20220337424A1 (en) * 2021-04-16 2022-10-20 Portable Data Corp Apparatuses And Methods For Facilitating Cryptographically Mediated Organizations And Tokens And Related Interactions

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018229631A1 (en) * 2017-06-14 2018-12-20 nChain Holdings Limited Systems and Methods For Avoiding Or Reducing Cryptographically Stranded Resources On A Blockchain Network
US11216788B1 (en) * 2017-11-30 2022-01-04 Worldpay, Llc Systems and methods for blockchain-based payment transactions, alerts, and dispute settlement, using a blockchain interface server
WO2020040482A2 (ko) * 2018-08-24 2020-02-27 김보언 전문가 플랫폼의 제어 방법, 장치 및 프로그램
JP7369772B2 (ja) * 2018-12-10 2023-10-26 アルゴランド,インコーポレイテッド 公正な電子交換を実施するための仮想ブロックチェーンプロトコルの利用
US11418510B2 (en) * 2019-04-29 2022-08-16 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing a role based access control and authorization validator via blockchain smart contract execution using distributed ledger technology (DLT)

Also Published As

Publication number Publication date
US20210342803A1 (en) 2021-11-04
US20230419284A1 (en) 2023-12-28

Similar Documents

Publication Publication Date Title
KR20210104604A (ko) 블록체인 시스템을 통해 서비스를 사용하는 방법 및 장치
EP3937424B1 (en) Blockchain data processing methods and apparatuses based on cloud computing
CN108712395B (zh) 基于区块链的账号管理方法、装置、服务器及存储介质
US10412575B2 (en) System and method for virtual SIM card
EP3429243B1 (en) Remote management method and device
KR101013686B1 (ko) Drm에서 유저 도메인 내의 장치 관리 방법 및 시스템
JP5583857B2 (ja) セキュアドメインとノーマルドメインとの間の保安連動方法及び保安アプリケーションダウンロードの管理方法、管理サーバー、端末機、及びこれを適用した管理システム
US20140137214A1 (en) Providing security in a cloud storage environment
US20150012977A1 (en) Method and apparatus for security in cloud computing service
CN107925567A (zh) 用于使用由证书状态检查服务提供商发布的票证来优化对称密钥高速缓存的***、装置和方法
EP3005205B1 (en) Distribution of licenses within the radius of a local device
CN111492389A (zh) 使用区块链对服务进行认证和支付
US20240205022A1 (en) Secure Sensor Data Distribution
EP2767029A1 (en) Secure communication
KR20200088740A (ko) 키오스크를 이용한 서비스 제공 방법 및 장치
KR102089912B1 (ko) 프라이빗 블록체인 기반 모바일 디바이스 관리 방법 및 시스템
US20190044731A1 (en) Cloud key management for afu security
US10939297B1 (en) Secure unlock of mobile phone
KR101602186B1 (ko) 푸시 서버 클라우드 및 이를 이용한 통신 서비스 제공 방법
CN114584398B (zh) 一种计费管理方法及***
US20240193577A1 (en) SIM Cryptographic Key Storage
TWI673621B (zh) 資訊註冊、認證方法及裝置
US20240232871A1 (en) Blockchain Key Generation
US20240202719A1 (en) Blockchain Micro Transactions
JP2024514857A (ja) ブロックチェーン鍵生成

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
AMND Amendment
E90F Notification of reason for final refusal
AMND Amendment
E601 Decision to refuse application
E801 Decision on dismissal of amendment
X091 Application refused [patent]
E601 Decision to refuse application
E801 Decision on dismissal of amendment