KR102242221B1 - 서비스 데이터 처리 방법 및 디바이스, 및 서비스 처리 방법 및 디바이스 - Google Patents

서비스 데이터 처리 방법 및 디바이스, 및 서비스 처리 방법 및 디바이스 Download PDF

Info

Publication number
KR102242221B1
KR102242221B1 KR1020197020276A KR20197020276A KR102242221B1 KR 102242221 B1 KR102242221 B1 KR 102242221B1 KR 1020197020276 A KR1020197020276 A KR 1020197020276A KR 20197020276 A KR20197020276 A KR 20197020276A KR 102242221 B1 KR102242221 B1 KR 102242221B1
Authority
KR
South Korea
Prior art keywords
service data
node
blockchain
service
blockchain node
Prior art date
Application number
KR1020197020276A
Other languages
English (en)
Other versions
KR20190117485A (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 어드밴스드 뉴 테크놀로지스 씨오., 엘티디.
Publication of KR20190117485A publication Critical patent/KR20190117485A/ko
Application granted granted Critical
Publication of KR102242221B1 publication Critical patent/KR102242221B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0407Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
    • H04L63/0414Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden during transmission, i.e. party's identity is protected against eavesdropping, e.g. by using temporary identifiers, but is known to the other party or parties involved in the communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0407Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/556Detecting local intrusion or implementing counter-measures involving covert channels, i.e. data leakage between processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • G06F21/6254Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or 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/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/383Anonymous user system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0407Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
    • H04L63/0421Anonymous communication, i.e. the party's identifiers are hidden from the other party or parties, e.g. using an anonymizer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/02Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • H04W12/033Protecting confidentiality, e.g. by encryption of the user plane, e.g. user's traffic
    • 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

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Information Transfer Between Computers (AREA)
  • Medicines That Contain Protein Lipid Enzymes And Other Medicines (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

적어도 하나의 제1 블록체인 노드에 의해 전송되는 제1 서비스 데이터가 수신되는데, 제1 서비스 데이터는 제1 소스 어드레스 및 제1 목적지 어드레스를 포함한다. 제2 서비스 데이터가 제1 서비스 데이터에 기초하여 생성되는데, 제2 서비스 데이터는 제2 소스 어드레스 및 제2 목적지 어드레스를 포함하고, 제2 소스 어드레스는 제1 소스 어드레스를 포함하고, 제2 목적지 어드레스는 제1 목적지 어드레스를 포함한다. 제1 블록체인 노드가 제2 서비스 데이터를 체크하도록, 제2 서비스 데이터는 제1 블록체인 노드로 전송된다. 제1 블록체인 노드에 의해 전송되는 확인 응답 정보가 수신되는 경우 제2 서비스 데이터는 프로세싱된다.

Description

서비스 데이터 처리 방법 및 디바이스, 및 서비스 처리 방법 및 디바이스
관련 출원에 대한 교차 참조
본 출원은 2017년 7월 14일자로 출원된 중국 특허 출원 제201710575017.3호에 대한 우선권을 주장하는데, 상기 중국 특허 출원은 참조에 의해 그 전체가 본원에 통합된다.
기술 분야
본 출원은 인터넷 정보 프로세싱 기술의 분야 및 컴퓨터 기술의 분야에 관한 것으로, 특히 서비스 데이터 프로세싱 방법 및 디바이스, 및 서비스 프로세싱 방법 및 디바이스에 관한 것이다.
블록체인 기술은 또한, 분산 원장 기술(distributed ledger technology)로도 칭해진다. 분산형 인터넷 데이터베이스 기술로서, 블록체인 기술은 탈집중화(decentralization), 투명성, 변경 불가능성, 및 신뢰성에 의해 특성 묘사된다. 블록체인 기술에 기초하여 구축되는 네트워크는 블록체인 네트워크로 칭해질 수 있다. 블록체인 네트워크는 네트워크 노드(블록체인 노드로도 또한 칭해질 수 있으며, 간략화를 위해 "노드"로 칭해짐)를 포함한다. 각각의 노드는 적어도 하나의 블록체인에 대응하며, 각각의 블록체인은 적어도 하나의 블록을 포함한다. 각각의 블록은 적어도 하나의 단편(piece)의 서비스 데이터를 포함한다.
서비스 데이터는 일반적으로, 소스 어드레스, 목적지 어드레스, 서비스 객체(service object)(예를 들면, 디지털 자산 또는 디지털 통화)의 사이즈, 등등을 포함하지만, 그러나 이들로 제한되는 것은 아니다. 서비스 데이터는, 서비스 객체를 소스 어드레스로부터 목적지 어드레스로 전송하는 서비스에 대응한다. 예를 들면, 서비스 데이터가 소스 어드레스로부터 목적지 어드레스로 10 RMB(서비스 객체)를 전송하는 경우, 대응하는 서비스는 소스 어드레스로부터 10 RMB를 지출하고 목적지 어드레스에 10 RMB를 추가한다.
실제 애플리케이션에서, 서비스 데이터에 포함되는 소스 어드레스 및 목적지 어드레스는, 숫자의 열(string)(또는 문자열)에 의해 표현될 수 있고, 두 개의 서비스 당사자(party)의 신원 정보(identity information)는 명시적이지 않으며, 그 결과, 두 개의 서비스 당사자는 익명으로 보호된다. 그러나, 블록체인 네트워크의 투명성에 기인하여, 블록체인 네트워크에 저장되는 서비스 데이터를 분석하는 것에 의해 서비스 데이터 관련성이 식별될 수 있으며, 숫자에 대응하는 인증 정보(authentic information)가 관련성으로부터 쉽게 추론된다. 예를 들면, 서비스 데이터가 동일한 목적지 어드레스를 가지며 숫자에 대응하는 인증 정보가 업계(industry)의 특성 및 서비스 데이터에 포함되는 서비스 객체의 사이즈에 기초하여 쉽게 추론될 수 있다는 것(예를 들면, 숫자가 은행에 대응한다는 것)이 몇몇 서비스 데이터를 분석하는 것에 의해 학습된다.
이것을 고려하여, 본 출원의 구현예는 정보 보안성을 향상시키기 위한, 서비스 데이터 프로세싱 방법 및 디바이스, 및 서비스 프로세싱 방법 및 디바이스를 제공한다.
다음의 기술적 솔루션이 본 출원의 구현예에서 사용된다:
본 출원의 구현예는 서비스 데이터 프로세싱 방법을 제공하고, 서비스 데이터 프로세싱 방법은 다음의 것을 포함한다: 적어도 하나의 제1 블록체인 노드에 의해 전송되는 제1 서비스 데이터 - 제1 서비스 데이터는 제1 소스 어드레스 및 제1 목적지 어드레스를 포함함 - 를 수신하는 것; 제1 서비스 데이터에 기초하여 제2 서비스 데이터 - 제2 서비스 데이터는 제2 소스 어드레스 및 제2 목적지 어드레스를 포함하고, 제2 소스 어드레스는 제1 소스 어드레스를 포함하고, 제2 목적지 어드레스는 제1 목적지 어드레스를 포함함 - 를 생성하는 것; 제1 블록체인 노드가 제2 서비스 데이터를 체크하도록, 제2 서비스 데이터를 제1 블록체인 노드로 전송하는 것; 및 제1 블록체인 노드에 의해 전송되는 확인 응답 정보(acknowledgement information)가 수신되는 경우 제2 서비스 데이터를 프로세싱하는 것.
본 출원의 구현예는 서비스 데이터 프로세싱 방법을 더 제공하고, 서비스 데이터 프로세싱 방법은 다음의 것을 포함한다: 제1 블록체인 노드에 의해, 제1 서비스 데이터 - 제1 서비스 데이터는 제1 소스 어드레스 및 제1 목적지 어드레스를 포함함 - 를 제2 블록체인 노드로 전송하는 것; 제2 블록체인 노드에 의해 생성되는 제2 서비스 데이터 - 제2 서비스 데이터는 제2 소스 어드레스 및 제2 목적지 어드레스를 포함하고, 제2 소스 어드레스는 제1 소스 어드레스를 포함하고, 제2 목적지 어드레스는 제1 목적지 어드레스를 포함함 - 를 수신하는 것; 제2 서비스 데이터를 체크하는 것; 및 제2 블록체인 노드가 제2 서비스 데이터를 프로세싱하도록, 확인 응답 정보를 제2 블록체인 노드로 전송하는 것.
본 출원의 구현예는 서비스 데이터 프로세싱 방법을 더 제공하고, 서비스 데이터 프로세싱 방법은 다음의 것을 포함한다: 블록체인 노드에 의해 전송되는 서비스 프로세싱 요청 - 서비스 프로세싱 요청은 서비스 데이터 프로세싱 요건을 서버에게 통지하기 위해 사용되고, 서비스 프로세싱 요청은 노드 식별자를 포함함 - 을 수신하는 것; 노드 식별자로부터 설정된 수의 노드 식별자를 선택하는 것; 및 블록체인 노드 중 하나가 블록체인 노드에 의해 전송되는 제1 서비스 데이터에 기초하여 제2 서비스 데이터를 생성하고, 제2 서비스 데이터를 프로세싱하도록, 선택된 노드 식별자를 포함하는 피드백 정보를, 선택된 노드 식별자에 대응하는 블록체인 노드로 전송하는 것.
본 출원의 구현예는 서비스 데이터 프로세싱 디바이스를 더 제공하고, 서비스 데이터 프로세싱 디바이스는 다음의 것을 포함한다: 적어도 하나의 제1 블록체인 노드에 의해 전송되는 제1 서비스 데이터 - 제1 서비스 데이터는 제1 소스 어드레스 및 제1 목적지 어드레스를 포함함 - 를 수신하도록 구성되는 수신 모듈; 제1 서비스 데이터에 기초하여 제2 서비스 데이터 - 제2 서비스 데이터는 제2 소스 어드레스 및 제2 목적지 어드레스를 포함하고, 제2 소스 어드레스는 제1 소스 어드레스를 포함하고, 제2 목적지 어드레스는 제1 목적지 어드레스를 포함함 - 를 생성하도록 구성되는 생성 모듈; 제1 블록체인 노드가 제2 서비스 데이터를 체크하도록, 제2 서비스 데이터를 제1 블록체인 노드로 전송하도록 구성되는 전송 모듈; 및 제1 블록체인 노드에 의해 전송되는 확인 응답 정보가 수신되는 경우 제2 서비스 데이터를 프로세싱하도록 구성되는 프로세싱 모듈.
본 출원의 구현예는 서비스 데이터 프로세싱 디바이스를 더 제공하고, 서비스 데이터 프로세싱 디바이스는 다음의 것을 포함한다: 제1 서비스 데이터 - 제1 서비스 데이터는 제1 소스 어드레스 및 제1 목적지 어드레스를 포함함 - 를 제2 블록체인 노드로 전송하도록 구성되는 전송 모듈; 제2 블록체인 노드에 의해 생성되는 제2 서비스 데이터 - 제2 서비스 데이터는 제2 소스 어드레스 및 제2 목적지 어드레스를 포함하고, 제2 소스 어드레스는 제1 소스 어드레스를 포함하고, 제2 목적지 어드레스는 제1 목적지 어드레스를 포함함 - 를 수신하도록 구성되는 수신 모듈; 및 제2 서비스 데이터를 체크하도록 구성되는 체킹 모듈 - 전송 모듈은, 제2 블록체인 노드가 제2 서비스 데이터를 프로세싱하도록, 확인 응답 정보를 제2 블록체인 노드로 전송함 - .
본 출원의 구현예는 서비스 데이터 프로세싱 디바이스를 더 제공하고, 서비스 데이터 프로세싱 디바이스는 다음의 것을 포함한다: 블록체인 노드에 의해 전송되는 서비스 프로세싱 요청 - 서비스 프로세싱 요청은 서비스 데이터 프로세싱 요건을 서버에게 통지하기 위해 사용되고, 서비스 프로세싱 요청은 노드 식별자를 포함함 - 을 수신하도록 구성되는 수신 모듈; 노드 식별자로부터 설정된 수의 노드 식별자를 선택하도록 구성되는 선택 모듈; 및 블록체인 노드 중 하나가 블록체인 노드에 의해 전송되는 제1 서비스 데이터에 기초하여 제2 서비스 데이터를 생성하고, 제2 서비스 데이터를 프로세싱하도록, 선택된 노드 식별자를 포함하는 피드백 정보를, 선택된 노드 식별자에 대응하는 블록체인 노드로 전송하도록 구성되는 전송 모듈.
본 출원의 구현예는 서비스 데이터 프로세싱 디바이스를 더 제공한다. 서비스 데이터 프로세싱 디바이스는 적어도 하나의 프로세서 및 메모리를 포함한다. 메모리는 프로그램을 저장하고, 프로그램은 다음의 단계 중 하나를 수행하기 위해 적어도 하나의 프로세서에 의해 사용된다: 적어도 하나의 제1 블록체인 노드에 의해 전송되는 제1 서비스 데이터 - 제1 서비스 데이터는 제1 소스 어드레스 및 제1 목적지 어드레스를 포함함 - 를 수신하는 것; 제1 서비스 데이터에 기초하여 제2 서비스 데이터 - 제2 서비스 데이터는 제2 소스 어드레스 및 제2 목적지 어드레스를 포함하고, 제2 소스 어드레스는 제1 소스 어드레스를 포함하고, 제2 목적지 어드레스는 제1 목적지 어드레스를 포함함 - 를 생성하는 것; 제1 블록체인 노드가 제2 서비스 데이터를 체크하도록, 제2 서비스 데이터를 제1 블록체인 노드로 전송하는 것; 및 제1 블록체인 노드에 의해 전송되는 확인 응답 정보가 수신되는 경우 제2 서비스 데이터를 프로세싱하는 것.
본 출원의 구현예는 서비스 데이터 프로세싱 디바이스를 더 제공한다. 서비스 데이터 프로세싱 디바이스는 적어도 하나의 프로세서 및 메모리를 포함한다. 메모리는 프로그램을 저장하고, 프로그램은 다음의 단계 중 하나를 수행하기 위해 적어도 하나의 프로세서에 의해 사용된다: 제1 서비스 데이터 - 제1 서비스 데이터는 제1 소스 어드레스 및 제1 목적지 어드레스를 포함함 - 를 제2 블록체인 노드로 전송하는 것; 제2 블록체인 노드에 의해 생성되는 제2 서비스 데이터 - 제2 서비스 데이터는 제2 소스 어드레스 및 제2 목적지 어드레스를 포함하고, 제2 소스 어드레스는 제1 소스 어드레스를 포함하고, 제2 목적지 어드레스는 제1 목적지 어드레스를 포함함 - 를 수신하는 것; 제2 서비스 데이터를 체크하는 것; 및 제2 블록체인 노드가 제2 서비스 데이터를 프로세싱하도록, 확인 응답 정보를 제2 블록체인 노드로 전송하는 것.
본 출원의 구현예는 서비스 프로세싱 디바이스를 더 제공한다. 서비스 프로세싱 디바이스는 적어도 하나의 프로세서 및 메모리를 포함한다. 메모리는 프로그램을 저장하고, 프로그램은 다음의 단계 중 하나를 수행하기 위해 적어도 하나의 프로세서에 의해 사용된다: 블록체인 노드에 의해 전송되는 서비스 프로세싱 요청- 서비스 프로세싱 요청은 제1 서비스 데이터를 사용하는 것에 의해 제2 서비스 데이터를 생성하기 위한 요건을 서버에게 통지하기 위해 사용되고, 서비스 프로세싱 요청은 블록체인 노드의 노드 식별자를 포함함 - 을 수신하는 것; 서비스 프로세싱 요청에 기초하여 블록체인 노드로부터 설정된 수의 블록체인 노드를 제1 블록체인 노드로서 선택하는 것; 및 제1 블록체인 노드 사이의 제2 블록체인 노드가 제1 블록체인 노드에 의해 전송되는 제1 서비스 데이터를 수신하도록, 제1 서비스 데이터에 기초하여 제2 서비스 데이터를 생성하도록, 그리고 제2 서비스 데이터를 프로세싱하도록, 선택된 제1 블록체인 노드의 노드 식별자를 제1 블록체인 노드에 개별적으로 전송하는 것.
본 출원의 구현예에서 사용되는 적어도 하나의 기술적 솔루션은, 다음과 같은 유익한 효과를 달성할 수 있다:
적어도 하나의 제1 블록체인 노드에 의해 전송되는 제1 서비스 데이터가 수신되고, 그 다음, 수신된 제1 서비스 데이터를 사용하는 것에 의해 제2 서비스 데이터가 생성된다. 제2 서비스 데이터에서, 제2 소스 어드레스는 제1 소스 어드레스를 포함하고, 제2 목적지 어드레스는 제1 목적지 어드레스를 포함한다. 그러한 만큼, 제2 서비스 데이터에서는, 제1 소스 어드레스와 제1 목적지 어드레스 사이의 일대일 매핑 관계가 혼란스럽다. 하나의 제1 소스 어드레스는 복수의 제1 목적지 어드레스에 대응할 수 있고, 하나의 제1 목적지 어드레스는 복수의 제1 소스 어드레스에 대응할 수 있는데, 이것은 서비스 데이터에서 소스 어드레스와 목적지 어드레스 사이의 관련성을 약화시킨다. 또한, 상이한 제1 블록체인 노드가 제2 서비스 데이터의 생성에 참여하기 때문에, 제2 서비스 데이터를 분석할 때, 소스 어드레스 및 목적지 어드레스와 같은 디지털 어드레스에 대응하는 인증 정보를 추론하는 것이 어렵고, 그 결과, 인증 정보는 누설될 수 없다.
여기에서 설명되는 첨부의 도면은, 본 출원의 더 나은 이해를 제공하도록 그리고 본 출원의 일부를 구성하도록 의도된다. 본 출원의 예시적인 구현예 및 구현예에 대한 설명은 본 출원을 설명하도록 의도되며 본 출원에 대한 어떠한 제한도 구성하지 않는다. 첨부의 도면에서:
도 1은, 본 출원의 구현예에 따른, 서비스 프로세싱 방법을 예시하는 플로우차트이다;
도 2는, 본 출원의 구현예에 따른, 서비스 데이터 프로세싱 방법을 예시하는 플로우차트이다;
도 3은, 본 출원의 구현예에 따른, 제2 서비스 데이터를 예시하는 구조도이다;
도 4는, 본 출원의 구현예에 따른, 서비스 데이터 프로세싱 방법을 예시하는 플로우차트이다;
도 5는, 본 출원의 구현예에 따른, 서비스 데이터 프로세싱 방법을 예시하는 플로우차트이다;
도 6은, 본 출원의 구현예에 따른, 서비스 프로세싱 디바이스를 예시하는 구조도이다;
도 7은, 본 출원의 구현예에 따른, 서비스 데이터 프로세싱 디바이스를 예시하는 구조도이다;
도 8은, 본 출원의 구현예에 따른, 서비스 데이터 프로세싱 디바이스를 예시하는 구조도이다; 그리고
도 9는, 본 개시의 구현예에 따른, 서비스 데이터 정보를 익명화하기 위한 컴퓨터 구현 방법의 예를 예시하는 플로우차트이다.
서비스 데이터 관련성을 제거하는 것은, 현존하는 기술에서의 문제점을 해결하기 위한 하나의 방식이며, 그 결과, 서비스 데이터는 깊게 분석될 수 없고, 따라서, 유저의 인증 정보가 누설될 가능성이 적다. 예를 들면, 서비스 데이터를 생성할 때, 노드는 적어도 두 개의 소스 어드레스 및/또는 목적지 어드레스를 제공할 수 있고, 서비스 객체를 복수의 서비스 서브 객체(sub-object)로 분할할 수 있다. 이들 서비스 서브 객체는 적어도 두 개의 소스 어드레스 및/또는 목적지 어드레스 사이에서 전송될 수 있다. 상응하여, 서비스 데이터는 복수의 서비스 서브 객체 및 적어도 두 개의 소스 어드레스 및/또는 목적지 어드레스를 포함할 수 있다.
그러나, 노드는 제한된 수의 소스 어드레스 또는 목적지 어드레스를 제공할 수 있고, 그것은 서비스 데이터를 프로세싱하는 노드의 부담을 증가시킨다. 이것을 고려하여, 제2 블록체인 노드가 적어도 하나의 제1 블록체인 노드에 의해 전송되는 제1 서비스 데이터를 수신할 수 있다. 제1 서비스 데이터는 제1 소스 어드레스 및 제1 목적지 어드레스를 포함한다. 그 다음, 제2 블록체인 노드는 제1 서비스 데이터를 사용하는 것에 의해 제2 서비스 데이터를 생성한다. 제2 서비스 데이터는 제2 소스 어드레스 및 제2 목적지 어드레스를 포함하고, 제2 소스 어드레스는 제1 소스 어드레스를 포함하고, 제2 목적지 어드레스는 제1 목적지 어드레스를 포함한다. 그후, 제1 블록체인 노드가 제2 서비스 데이터를 체크하도록, 제2 블록체인 노드는 제2 서비스 데이터를 제1 블록체인 노드로 전송한다. 제2 블록체인 노드는, 확인 응답 정보를 수신하는 경우, 제2 서비스 데이터를 프로세싱한다. 그러한 만큼, 제2 서비스 데이터는 복수의 제1 블록체인 노드로부터의 제1 서비스 데이터를 포함할 수 있고, 블록체인 네트워크 내의 서비스 데이터 프로세싱 노드는 소스 어드레스 또는 목적지 어드레스를 추가적으로 제공할 필요가 없다. 따라서, 제1 블록체인 노드는 더 적은 부담을 가지고 서비스 데이터를 프로세싱할 수 있다.
"제1 블록체인 노드" 및 "제2 블록체인 노드", "제1 서비스 데이터" 및 "제2 서비스 데이터", "제1 소스 어드레스" 및 "제2 소스 어드레스", 및 "제1 목적지 어드레스" 및 "제2 목적지 어드레스"에서의 "제1" 및 "제2"는 특별한 의미를 가지지 않으며, 단지 구별을 위해 사용된다는 것을 주목할 가치가 있다.
본 출원의 목적, 기술적 솔루션, 및 이점을 더욱 명확하게 만들기 위해, 하기에서는, 본 출원의 특정한 구현예 및 대응하는 첨부의 도면을 참조하여 본 출원의 기술적 솔루션을 명확하게 설명한다. 명백하게, 설명된 구현예는 본 출원의 구현예의 전체가 아닌 일부에 불과하다. 창의적인 노력 없이 본 출원의 구현예에 기초하여 기술 분야에서 통상의 기술을 가진 자에 의해 획득되는 다른 모든 구현예는 본 출원의 보호 범위 내에 속할 것이다.
이하에서는, 첨부하는 도면을 참조하여 본 출원의 구현예에서 제공되는 기술적 솔루션을 상세하게 설명한다.
도 1은, 본 출원의 구현예에 따른, 서비스 프로세싱 방법을 예시하는 플로우차트이다. 서비스 프로세싱 방법은 이하에서 나타내어진다. 서비스 프로세싱 방법은 서버에 의해 수행될 수 있거나, 블록체인 네트워크 내의 블록체인 노드에 의해 수행될 수 있거나, 또는 블록체인 네트워크 외부의 노드에 의해 수행될 수 있다.
단계 101: 블록체인 노드에 의해 전송되는 서비스 프로세싱 요청 - 서비스 프로세싱 요청은 서비스 데이터 프로세싱 요건을 서버에게 통지하기 위해 사용되고, 서비스 프로세싱 요청은 노드 식별자를 포함함 - 을 수신함.
노드 식별자는 대응하는 블록체인 노드를 식별하기 위해 사용된다.
본 출원의 이러한 구현예에서, 임의의 블록체인 노드가 서비스 데이터 프로세싱 요건을 갖는 경우, 블록체인 노드는, 서비스 데이터 프로세싱 요건을 서버에게 통지하기 위해, 서비스 프로세싱 요청을 서버로 전송할 수 있다.
본 출원의 이러한 구현예에서, 서비스 프로세싱 요청은 특정한 서비스 데이터를 포함하지 않을 수도 있고, 그 결과, 서비스 데이터는 송신 동안 누설될 가능성이 더 적다. 대안적으로, 서비스 프로세싱 요청은 특정한 서비스 데이터를 포함할 수 있다. 이 경우, 서비스 데이터 송신 보안성을 향상시키기 위해, 서비스 데이터는 송신되기 이전에 암호화될 수 있다.
단계 103: 노드 식별자로부터 설정된 수의 노드 식별자를 선택함.
실제 애플리케이션에서, 서버는 복수의 블록체인 노드에 의해 전송되는 서비스 프로세싱 요청을 수신할 수 있고, 그 다음, 서비스 프로세싱 요청에 포함되는 노드 식별자로부터 설정된 수의 노드 식별자를 선택하여, 노드 식별자 세트(이것은 제1 블록체인 노드 식별자 세트로 칭해질 수 있음)를 형성할 수 있다.
본 출원의 이러한 구현예에서, 서버는 다음의 방법에서 다른 노드 식별자로부터 설정된 수의 노드 식별자를 선택할 수 있다:
방법 1: 서버는, 미리 결정된 노드 식별자 선택 규칙에 기초하여, 명시된 시간 간격에서 수신되는 노드 식별자로부터 설정된 수의 노드 식별자를 선택한다.
미리 결정된 노드 식별자 선택 규칙은 선택된 노드 식별자의 수를 명시할 수 있거나, 또는 상이한 선택된 노드 식별자에 대응하는 블록체인 노드의 피쳐를 명시할 수 있다. 이것은 여기에서 제한되지는 않는다.
본 출원의 이러한 구현예에서, 서비스 데이터 프로세싱 효율성을 보장하기 위해, 서버는 명시된 시간 간격에 기초하여 노드 식별자를 선택할 수 있다. 명시된 시간 간격은 서버의 현재 시스템 시간에 기초하여 결정될 수 있거나, 또는 서비스 데이터를 생성하는 시간에 기초하여 결정될 수 있다. 이것은 여기에서 제한되지는 않는다.
방법 2: 수신된 서비스 프로세싱 요청이 수량 정보를 포함하는 경우, 서버는 수량 정보에 기초하여 노드 식별자로부터 수량 정보를 충족하는 노드 식별자를 선택할 수 있다.
설정된 수는 서비스 프로세싱 요청에 포함되는 수량 정보에 기초하여 결정될 수 있거나, 또는 필요에 따라 결정될 수 있다. 이것은 여기에서 제한되지는 않는다.
수신된 서비스 프로세싱 요청 모두가 수량 정보를 포함하면, 서버는 방법 1에서 노드 식별자를 선택할 수 있다.
수신된 서비스 프로세싱 요청 중 하나가 수량 정보를 포함하면, 서버는, 서비스 프로세싱 요청에 포함되는 수량 정보에 기초하여 노드 식별자로부터 수량 정보를 충족하는 노드 식별자를 선택할 수 있다. 대안적으로, 서버는 미리 결정된 번호 결정 우선 순위(predetermined number determining priority)에 기초하여 노드 식별자를 선택할 수 있다. 서버에 의해 구성되는 설정된 수의 우선 순위가 블록체인에 의해 결정되는 수량 정보의 우선 순위보다 더 높다는 것을 번호 결정 우선 순위가 명시하는 경우, 서버는 방법 1에서 노드 식별자를 선택할 수 있다. 서버에 의해 구성되는 설정된 수의 우선 순위가 블록체인에 의해 결정되는 수량 정보의 우선 순위보다 더 낮다는 것을 번호 결정 우선 순위가 명시하는 경우, 서버는 방법 2에서 노드 식별자를 선택할 수 있다.
수신된 서비스 프로세싱 요청 중 적어도 두 개가 수량 정보를 포함하는 경우, 복수의 수량 정보로부터 하나의 단편의 기준 수량 정보가 선택될 필요가 있고, 그 결과, 서버는 노드 식별자로부터 기준 수량 정보를 충족하는 노드 식별자를 선택한다.
본 출원의 이러한 구현예에서, 기준 수량 정보는 복수의 수량 정보의 교집합일 수 있거나, 또는 복수의 수량 정보의 평균 값일 수 있다. 이것은 여기에서 제한되지는 않는다.
노드 식별자를 선택할 때, 서버는 서비스 프로세싱 요청에 포함되며 기준 수량 정보를 충족하는 노드 식별자를 우선적으로 선택한다는 것을 주목할 가치가 있다.
그러나, 수량 정보를 선택할 때, 서버는 또한 수신된 노드 식별자의 수를 고려할 필요가 있다. 선택된 수 간격(selected number interval)이 수신된 노드 식별자의 수보다 더 작으면, 서버가 노드 식별자를 선택할 때, 몇몇 서비스 데이터는 제 시간에 프로세싱되지 않을 수도 있고, 후속하는 제2 서비스 데이터는 덜 혼란스럽다. 선택된 수량 정보가 수신된 노드 식별자의 수보다 더 크면, 노드 식별자를 선택할 때, 서버는, 수신된 서비스 프로세싱 요청의 수가 선택된 수량 정보에 도달하도록, 어떤 시간 기간 동안 대기하는 것을 필요로 할 수도 있다. 후속하는 제2 서비스 데이터는 더 혼란스럽지만 그러나 이것은 서비스 데이터 프로세싱 시간을 연장시킬 수도 있다. 따라서, 수량 정보를 선택할 때, 서버는, 서비스 데이터 프로세싱 진행과 제2 서비스 데이터 혼란 정도 사이의 균형을 달성하기 위해, 적절한 수량 정보를 선택할 필요가 있다.
방법 3: 서버는 복수의 수 간격을 블록체인 노드에 미리 전송할 수 있다. 각각의 블록체인 노드는, 수신된 수 간격에서 하나의 수 간격을 선택하고, 선택된 수 간격을 서버로 전송한다. 서버는, 각각의 블록체인 노드에 의해 전송되는 수 간격에 기초하여, 동일한 수 간격을 전송하는 블록체인 노드의 노드 식별자로부터 설정된 수의 노드 식별자를 선택하여, 노드 식별자 세트를 획득한다.
예를 들면, 서버가 "5보다 더 큰", "10보다 더 큰", "50보다 더 큰", 그리고 "100보다 더 큰"과 같은 복수의 수 간격을 제공할 수 있는 경우, 각각의 블록체인 노드는 수 간격으로부터 하나의 수 간격을 선택할 수 있다. "10보다 더 큰"이 예로서 사용된다. 서버는, "10보다 더 큰"을 선택하는 블록체인 노드의 노드 식별자로부터 설정된 수의 노드 식별자를 선택할 수 있고, 설정된 수는 11에서부터 50까지의 범위에 이를 수 있다. 구체적으로, 서버는 "10보다 더 큰"을 선택하는 블록체인 노드의 노드 식별자로부터 11 개의 노드 식별자를 선택할 수 있거나, 또는 "10보다 더 큰"을 선택하는 블록체인 노드의 노드 식별자로부터 50 개의 노드 식별자를 선택할 수 있다.
수 간격을 선택할 때, 각각의 블록체인 노드는 서비스 데이터 프로세싱 진행만을 고려할 필요가 있을뿐만 아니라, 제2 서비스 데이터 혼란 정도를 또한 고려할 필요가 있다. 선택된 수 간격의 하한이 상대적으로 작은 경우, 서버는 상대적으로 짧은 시간 기간 내에 하한을 충족하는 노드 식별자를 수집하여, 피드백 정보를 블록체인 노드로 전송할 수 있고, 그 결과, 제2 서비스 데이터는 가능한 빨리 생성될 수 있다. 그러나, 혼란 정도는 제2 서비스 데이터가 더 적은 제1 서비스 데이터를 포함하기 때문에 상대적으로 낮다. 반대로, 선택된 수 간격의 하한이 상대적으로 큰 경우, 서버가 피드백 정보를 블록체인 노드로 전송하기 이전에, 서버가 하한을 충족하는 노드 식별자를 수집하는 데 상대적으로 긴 시간이 소요될 수도 있다. 따라서, 제2 서비스 데이터의 생성이 명백하게 지연된다. 그러나, 제2 서비스 데이터가 더 많은 제1 서비스 데이터를 포함하기 때문에 혼란 정도는 상대적으로 높다. 따라서, 각각의 블록체인 노드는, 서비스 데이터 프로세싱 진행과 제2 서비스 데이터 혼란 정도 사이의 균형을 달성하기 위해, 적절한 수 간격을 선택할 수 있다.
서버는 수량에 기초하여 노드 식별자를 선택할 수 있다. 선택은 랜덤 선택 또는 다른 선택 방법일 수 있다. 여기서는, 노드 식별자 세트 내의 노드 식별자에 대응하는 블록체인 노드 사이의 그리고 블록체인 노드에 대응하는 서비스 데이터 사이의 서비스 관련성이 없다는 것을 규정하는 선택 방법이 결정된다. 따라서, 혼란 정도가 상대적으로 높다. 특정한 방법은 제한되지 않는다.
단계 105: 블록체인 노드 중 하나가 블록체인 노드에 의해 전송되는 제1 서비스 데이터에 기초하여 제2 서비스 데이터를 생성하고, 제2 서비스 데이터를 프로세싱하도록, 선택된 노드 식별자를 포함하는 피드백 정보를, 선택된 노드 식별자에 대응하는 블록체인 노드로 전송함.
본 출원의 이러한 구현예에서의 노드 식별자는 블록체인 노드 신원을 나타내기 위해 사용된다. 노드 식별자는 전자 메일 어드레스 또는 IP 어드레스와 같은 네트워크 통신 어드레스를 포함할 수 있다. 또한, 노드 식별자는 서비스 계정, 소셜 계정, 등등일 수 있다. 서버에 의해 전송되는 피드백 정보를 수신하는 경우, 블록체인 노드는 노드 식별자에 기초하여 대응하는 블록체인 노드를 식별할 수 있다. 예를 들면, 선택된 노드 식별자에 대응하는 블록체인 노드는 데이터 연결을 확립하고 노드 식별자를 사용하는 것에 의해 통신할 수 있다.
본 출원의 이러한 구현예에서, 선택된 노드 식별자를 포함하는 피드백 정보는, 피드백 정보에 포함되는 노드 식별자에 대응하는 블록체인 노드에 의해 전송되는 서비스 데이터를 혼합할 것을 서버가 지시한다는 것을 의미할 수 있다. 그러한 만큼, 두 서비스 당사자의 신원은 서로 덜 관련되고, 정보 보안성이 향상된다.
바람직하게는, 본 출원의 이러한 구현예에서, 서버는 설정된 수의 노드 식별자를 선택할 뿐만 아니라(노드 식별자에 대응하는 블록체인 노드는 서비스 데이터 혼합(service data mixture)에 참여하는 객체로서 역할을 할 수 있고, 본 출원의 이러한 구현예에서 제1 블록체인 노드로서 칭해질 수 있음), 또한, 서비스 데이터 혼합에 참여하는 객체에 의해 전송되는 서비스 데이터에 기초하여 새로운 서비스 데이터를 생성하는 블록체인 노드(이것은 본 출원의 이러한 구현예에서 제2 블록체인 노드로 칭해질 수 있음)를 결정할 수 있다. 제2 블록체인 노드는, 선택된 노드 식별자에 대응하는 블록체인 노드에 의해 전송되는 제1 서비스 데이터를 수신하도록, 그 다음, 제1 서비스 데이터에 기초하여 제2 서비스 데이터를 생성하도록, 그리고 제2 서비스 데이터를 프로세싱하도록 구성된다.
제2 블록체인 노드에 대응하는 노드 식별자가 설정된 수의 선택된 노드 식별자에 포함될 수 있거나(다시 말하면, 제2 블록체인 노드는 제1 블록체인 노드에 포함되는 블록체인 노드임), 또는 설정된 수의 선택된 노드 식별자에 포함되지 않을 수도 있다(다시 말하면, 제2 블록체인 노드는 제1 블록체인 노드와는 독립적이다). 이것은 여기에서 제한되지는 않는다.
서버가 제2 블록체인 노드를 결정하면, 선택된 노드 식별자를 포함하는 피드백 정보를, 선택된 노드 식별자에 대응하는 블록체인 노드로 전송하는 것은 다음을 포함한다: 선택된 노드 식별자를 포함하는 그리고 제2 서비스 데이터를 생성할 것을 지시하기 위한 노드 식별자를 포함하는 피드백 정보를, 블록체인 노드로 전송하는 것.
이 경우, 블록체인 노드는 피드백 정보에 기초하여 제2 블록체인 노드를 결정할 수 있다. 제2 서비스 데이터를 생성할 것을 지시하기 위한 노드 식별자는 라벨(label) 또는 음성일 수 있다. 라벨은 텍스트 라벨, 그래픽 라벨, 등등일 수 있다.
또한, 서버가 제2 블록체인 노드를 결정하면, 서버는 또한 표시 정보(indication information)를 제2 블록체인 노드로 전송할 수 있다. 표시 정보는, 제2 블록체인 노드가 제2 서비스 데이터를 생성하는 노드이다는 것을 제2 블록체인 노드에게 통지하기 위해 사용된다. 서버에 의해 제1 블록체인 노드로 전송되는 피드백 정보는 선택된 노드 식별자만을 포함하고, 제2 블록체인 노드는, 제2 블록체인 노드가 제2 서비스 데이터를 생성하는 노드이다는 것을 제1 블록체인 노드에게 통지하기 위해 다른 방법(예를 들면, 브로드캐스팅을 통함)을 사용한다.
제2 블록체인 노드는 서버에 의해 결정될 수 있거나, 또는 제1 블록체인 노드에 의해 결정될 수 있다는 것을 주목할 가치가 있다. 이것은 여기에서 제한되지는 않는다.
도 2는, 본 출원의 구현예에 따른, 서비스 데이터 프로세싱 방법을 예시하는 플로우차트이다. 서비스 데이터 프로세싱 방법은 이하에서 나타내어진다. 서비스 데이터 프로세싱 방법은 블록체인 노드에 의해 수행된다. 블록체인 노드는, 제1 블록체인 노드와 구별되도록 명명되는 제2 블록체인 노드로서 칭해질 수 있다. 제2 블록체인 노드는 제2 서비스 데이터를 생성하는 노드이다.
제2 블록체인 노드는, 결정된 제1 블록체인 노드 세트에 대응하는 블록체인 노드로부터 선택되는 블록체인 노드일 수 있거나, 또는 제1 블록체인 노드 세트에 대응하는 블록체인 노드와는 독립적인 블록체인 노드일 수 있다.
제2 블록체인 노드는 서버에 의해 결정될 수 있거나(단계 105에 대한 참조가 이루어질 수 있음), 또는 제1 블록체인 노드 세트에 대응하는 블록체인 노드에 의해 결정될 수 있다.
본 출원의 이러한 구현예에서의 제2 블록체인 노드는, 제2 블록체인 노드로부터 인증 정보 누설을 효과적으로 방지하기 위해, 상이한 서비스 데이터 프로세싱 프로시져에서 변경될 수도 있고, 랜덤 선택을 통해 결정될 수 있다.
단계 202: 적어도 하나의 제1 블록체인 노드에 의해 전송되는 제1 서비스 데이터 - 제1 서비스 데이터는 제1 소스 어드레스 및 제1 목적지 어드레스를 포함함 - 를 수신함.
본 출원의 이러한 구현예에서, 제2 블록체인 노드는, 서비스 데이터 프로세싱 요건을 갖지 않는 블록체인 노드일 수 있거나, 또는 서비스 데이터 프로세싱 요건을 갖는 블록체인 노드일 수 있다.
제2 블록체인 노드가 서비스 데이터 프로세싱 요건을 갖는 블록체인 노드이면, 본 출원의 이러한 구현예에서, 적어도 하나의 제1 블록체인 노드에 의해 전송되는 제1 서비스 데이터를 수신하는 것 이전에, 방법은 다음의 것을 더 포함한다: 서비스 프로세싱 요청 - 서비스 프로세싱 요청은 서비스 데이터 프로세싱 요건을 서버에게 통지하기 위해 사용됨 - 을 서버로 전송하는 것.
본 출원의 이러한 구현예에서, 제1 블록체인 노드는 서버에 의해 결정될 수 있거나, 또는 제2 블록체인 노드에 의해 결정될 수 있다. 이것은 여기에서 제한되지는 않는다.
도 1에서 도시되는 방법에 기초하여, 제2 블록체인 노드가 서비스 프로세싱 요청을 서버로 전송한 이후, 제2 블록체인 노드는 또한, 서버에 의해 리턴되는 피드백 정보를 더 수신할 수 있다. 피드백 정보는, 서버에 서비스 프로세싱 요청을 전송하는 블록체인 노드(제2 블록체인 노드를 포함함)의 노드 식별자를 포함한다.
피드백 정보는, 앞선 구현예의 단계 101 내지 단계 105에서 도시되는 방법을 사용하는 것에 의해 획득될 수 있다. 대안적으로, 서버는, 서비스 프로세싱 요청을 전송하는 블록체인 노드의 노드 식별자를 피드백 정보에 직접적으로 추가할 수 있고, 피드백 정보를 제2 블록체인 노드로 전송할 수 있다. 이것은 여기에서 제한되지는 않는다.
제2 블록체인 노드는, 피드백 정보에 포함되는 노드 식별자에 기초하여 제1 블록체인 노드를 결정할 수 있다.
구체적으로, 방법 1에서, 제2 블록체인 노드는 피드백 정보에 포함되는 노드 식별자에 대응하는 블록체인 노드를 제1 블록체인 노드로서 결정한다.
방법 2에서, 제2 블록체인 노드는 피드백 정보에 포함되는 노드 식별자로부터 설정된 수의 노드 식별자를 선택하고, 선택된 노드 식별자에 대응하는 블록체인 노드를 제1 블록체인 노드로서 결정한다.
다시 말하면, 피드백 정보를 수신한 이후, 제2 블록체인 노드는 또한, 설정된 수의 노드 식별자에 대응하는 블록체인 노드를 제1 블록체인 노드로서 결정하기 위해, 노드 식별자를 선택할 수 있다.
그러한 만큼, 제2 블록체인 노드는, 설정된 수의 제1 블록체인 노드를 포함하는 제1 블록체인 노드 세트를 결정할 수 있을뿐만 아니라, 또한, 피드백 정보에 포함되는 노드 식별자에 기초하여 대응하는 제1 블록체인 노드를 식별할 수 있고, 적어도 하나의 제1 블록체인 노드에 의해 전송되는 제1 서비스 데이터를 수신하도록, 노드 식별자에 기초하여 제1 블록체인 노드와 통신할 수 있다.
옵션 사항으로(optionally), 제2 블록체인 노드가 서비스 프로세싱 요청을 서버로 전송하는 것은, 다음을 포함한다: 서버가, 서비스 프로세싱 요청을 전송하는 블록체인 노드로부터 수량 정보를 충족하는 블록체인 노드를 선택하도록, 수량 정보를 서비스 프로세싱 요청에 추가하고, 서비스 프로세싱 요청을 서버로 전송하는 것. 이것은, 제2 블록체인 노드에 대한 제2 서비스 데이터 혼란 정도와 제2 서비스 데이터 프로세싱 진행 사이의 균형을 달성할 수 있다(단계 103에 대한 참조가 이루어질 수 있음).
제1 블록체인 노드 사이의 정보 등가성(information equivalence)을 보장하기 위해, 적어도 하나의 제1 블록체인 노드에 의해 전송되는 제1 서비스 데이터를 수신할 때, 제2 블록체인 노드는 또한, 제3 서비스 데이터를 제1 블록체인 노드로 전송한다. 제3 서비스 데이터는 제2 블록체인 노드에 의해 프로세싱될 필요가 있는 서비스 데이터이다.
데이터 송신 보안성을 향상시키기 위해, 제3 서비스 데이터를 제1 블록체인 노드로 전송하는 것은 다음의 것을 포함할 수 있다: 암호화된 제3 서비스 데이터를 제1 블록체인 노드로 전송하는 것. 게다가, 제2 블록체인 노드는 익명의 연결(anonymous connection)을 통해 제3 서비스 데이터를 송신할 수 있다. 익명의 연결은, 두 당사자 사이의 통신 관계를 숨기기 위해 몇몇 조치가 취해진다는 것을 의미한다. 예를 들면, 익명의 어드레스, 또는 송신 경로를 숨기기 위해 송신 경로 상에 배치되는 복수의 네트워크 노드를 사용하는 것에 의해 연결이 이루어진다.
제1 서비스 데이터를 제2 블록체인 노드로 전송할 때, 제1 블록체인 노드는 또한 제1 서비스 데이터의 송신 보안성을 보장하기 위해 제1 서비스 데이터를 암호화할 수 있다.
서버는 제1 블록체인 노드 세트를 결정할 수 있다. 다른 구현예에서, 블록체인 네트워크에서의 블록체인 노드는 상호 질의(mutual query)를 통해 제1 블록체인 노드 세트를 결정할 수 있다.
단계 204: 제1 서비스 데이터에 기초하여 제2 서비스 데이터 - 제2 서비스 데이터는 제2 소스 어드레스 및 제2 목적지 어드레스를 포함하고, 제2 소스 어드레스는 제1 소스 어드레스를 포함하고, 제2 목적지 어드레스는 제1 목적지 어드레스를 포함함 - 를 생성함.
도 3을 참조하면, 도 3은, 본 출원의 구현예에 따른, 제2 서비스 데이터를 예시하는 구조도이다.
제2 서비스 데이터가 제1 서비스 데이터의 세 개의 단편을 포함한다는 것을 가정하면, 제1 서비스 데이터의 제1 단편은 제1 소스 어드레스(S11), 제1 목적지 어드레스(S12), 및 제1 서비스 객체(S10)를 포함하고; 제1 서비스 데이터의 제2 단편은 제1 소스 어드레스(S21), 제1 목적지 어드레스(S22), 및 제1 서비스 객체(S20)를 포함하고; 그리고 제1 서비스 데이터의 제3 단편은 제1 소스 어드레스(S31), 제1 목적지 어드레스(S32), 및 제1 서비스 객체(S30)를 포함한다. 이 경우, 제1 서비스 데이터의 세 개의 단편을 사용하는 것에 의해 제2 서비스 데이터가 생성되는 경우, 제2 서비스 데이터는 제2 소스 어드레스(S01) 및 제2 목적지 어드레스(S02)를 포함한다. 제2 소스 어드레스(S01)는 세 개의 독립적인 제1 소스 어드레스(S11, S21, 및 S31)를 포함하고, 제2 목적지 어드레스(S02)는 세 개의 독립적인 제1 목적지 어드레스(S12, S22, 및 S32)를 포함할 수 있다. 제1 서비스 객체(S10, S20, 및 S30)는 각각 제1 소스 어드레스(S11, S21, 및 S31)로부터 지출되고, 제1 목적지 어드레스(S12, S22, 및 S32)는 각각 제1 서비스 객체(S10, S20, 및 S30)를 수신한다.
제2 서비스 데이터에서, 제2 소스 어드레스(S01)는 복수의 제1 소스 어드레스(S11, S21, 및 S31)의 혼합이고; 제2 목적지 어드레스(S02)는 복수의 제1 목적지 어드레스(S12, S22, 및 S32)의 혼합이다는 것을 알 수 있다. 도 3에서 도시되는 바와 같이, 제1 서비스 데이터의 단편에 포함되는 제1 목적지 어드레스는 혼합된다. 제1 소스 어드레스로부터 지출되는 객체의 사이즈 및 제1 목적지 어드레스에서 수신되는 객체의 사이즈만이 제2 서비스 데이터로부터 학습될 수 있지만, 그러나, 제1 소스 어드레스와 제1 목적지 어드레스 사이의 일대일 매핑 관계는 학습될 수 없다. 따라서, 제2 서비스 데이터 내의 복수의 제1 서비스 데이터가 서로 혼동되고, 그 결과, 제2 서비스 데이터를 분석할 가능성이 더 적다.
동일한 제1 블록체인 노드에 의해 블록체인 네트워크에 저장되는 복수의 제1 서비스 데이터는 복수의 상이한 제2 서비스 데이터 안으로 혼합될 수 있지만, 그러나 제2 서비스 데이터에 포함되는 제1 서비스 데이터는, 대응하는 제1 블록체인 노드가 상이하기 때문에 크게 변할 수도 있다. 그러한 만큼, 관련성은 무시될 수 있다. 따라서, 제2 서비스 데이터를 업계와 관련시키는 것은 어려우며, 소스 어드레스 및 목적지 어드레스와 같은 디지털 어드레스에 대응하는 인증 정보를 추론하는 것은 어렵다.
앞선 설명으로부터, 제1 서비스 데이터의 세 개의 단편 각각은 하나의 제1 소스 어드레스 및 하나의 제1 목적지 어드레스를 포함한다는 것을 알 수 있는데, 이것은 예에 불과하다. 본 출원의 다른 구현예에서, 제1 서비스 데이터는 하나보다 더 많은 제1 소스 어드레스 및/또는 하나보다 더 많은 제1 목적지 어드레스를 포함할 수 있다. 이 경우, 비록 제1 서비스 데이터 내의 복수의 제1 소스 어드레스와 복수의 제1 목적지 어드레스 사이에는 소정의 관련성이 존재할 수도 있지만, 생성된 제2 서비스 데이터에서, 제1 서비스 데이터 내의 제1 소스 어드레스는 다른 제1 서비스 데이터 내의 제1 소스 어드레스와 혼합되고, 제1 서비스 데이터 내의 제1 목적지 어드레스는 다른 제1 서비스 데이터 내의 제1 목적지 어드레스와 혼합된다. 또한, 제1 서비스 데이터가 하나보다 더 많은 제1 소스 어드레스 및/또는 하나보다 더 많은 제1 목적지 어드레스를 제공하기 때문에, 제2 서비스 데이터는 더욱 혼란스럽다.
이전 구현예에서, 솔루션을 설명하기 위해 제1 서비스 데이터의 단지 세 단편만이 선택되지만, 그러나 솔루션의 보호 범위를 제한하도록 의도되는 것은 아니다는 것을 주목할 가치가 있다. 특정한 애플리케이션에서, 제2 서비스 데이터는 다른 양의 제1 서비스 데이터를 포함할 수 있다.
단계 202에서, 제2 블록체인 노드가 서비스 프로세싱 요청을 서버로 전송하면, 제2 블록체인 노드는 제1 서비스 데이터에 기초하여 제2 서비스 데이터를 생성한다는 것을 주목할 가치가 있다. 이 프로세스에서, 제2 블록체인 노드는 제1 서비스 데이터 및 서비스 프로세싱 요청에 대응하는 제3 서비스 데이터에 기초하여 제2 서비스 데이터를 생성할 수 있다.
제2 블록체인 노드가 서비스 프로세싱 요청을 서버로 전송하는 블록체인 노드가 아닌 경우, 제2 블록체인 노드는 제1 서비스 데이터에 기초하여 제2 서비스 데이터를 생성한다. 이 프로세스에서, 제2 블록체인 노드는 제1 서비스 데이터에만 기초하여 제2 서비스 데이터를 생성한다.
단계 206: 제1 블록체인 노드가 제2 서비스 데이터를 체크하도록, 제2 서비스 데이터를 제1 블록체인 노드로 전송함.
제1 블록체인 노드는 제2 서비스 데이터에 포함되는 대응하는 제1 서비스 데이터를 체크하고, 대응하는 제1 서비스 데이터는 제1 블록체인 노드에 의해 제2 블록체인 노드로 전송된다. 제1 블록체인 노드는 제1 소스 어드레스 및 제1 목적지 어드레스가 정확한지의 여부, 제1 소스 어드레스로부터 지출되는 객체가 정확한지의 여부, 및 대응하는 제1 목적지 어드레스가 동일한 사이즈의 객체를 수신하는지의 여부를 결정할 수 있다.
제1 서비스 데이터가 정확한 경우, 제1 블록체인 노드는 확인 응답 정보를 제2 블록체인 노드로 전송하고, 제2 블록체인 노드는 제1 블록체인 노드에 의해 피드백되는 확인 응답 정보를 수신한다.
제1 서비스 데이터가 부정확하면, 제1 블록체인 노드는 정정 정보(correction information)를 제2 블록체인 노드로 전송한다. 제1 블록체인 노드에 의해 피드백되는 정정 정보를 수신한 이후, 제2 블록체인 노드는 정정 정보에 기초하여 제2 서비스 데이터를 정정하고, 그 다음, 확인 응답 정보가 수신될 때까지, 정정된 제2 서비스 데이터를 체크를 위해 제1 블록체인 노드로 전송한다.
제2 서비스 데이터를 제1 블록체인 노드로 전송하는 것은 다음의 것을 포함할 수 있다: 현재의 제1 블록체인 노드에 의해 전송되는 확인 응답 정보가 수신된 이후에만 제2 서비스 데이터를 제1 블록체인 노드로 순차적으로 전송하고, 제2 서비스 데이터를 다음 번 제1 블록체인 노드로 전송하는 것; 또는 제2 블록체인 노드에 의해, 제2 서비스 데이터를 제1 블록체인 노드 중 하나로 전송하고, 제1 블록체인 노드가 제2 서비스 데이터를 체크한 이후 각각의 제1 블록체인 노드에 의해 전송되는 확인 응답 정보가 수신될 때까지, 제2 서비스 데이터가 정확하다는 것을 제1 블록체인 노드가 결정한 이후 제2 서비스 데이터를 다음 번 제1 블록체인 노드로 자동적으로 전송할 것을 제1 블록체인 노드에게 지시하는 것.
본 출원의 이러한 구현예에서, 암호화된 제2 서비스 데이터는 제1 블록체인 노드로 전송될 수 있다.
단계 208: 제1 블록체인 노드에 의해 전송되는 확인 응답 정보가 수신되는 경우 제2 서비스 데이터를 프로세싱함.
본 출원의 이러한 구현예에서, 제2 서비스 데이터를 프로세싱하는 것은 다음의 것을 포함할 수 있다: 제2 서비스 데이터에 포함되는 제2 소스 어드레스 및 제2 목적지 어드레스에 기초하여 서비스 객체를 송신하는 것.
대안적으로, 제2 서비스 데이터를 프로세싱하는 것은 다음의 것을 포함할 수 있다: 컨센서스 노드(consensus node)가 제2 서비스 데이터에 대해 컨센서스 프로세싱(consensus processing)을 수행하도록, 제2 서비스 데이터를 블록체인 네트워크 내의 컨센서스 노드로 전송하는 것; 및 제2 서비스 데이터가 검증되면, 제2 서비스 데이터를 블록체인 네트워크에 저장하는 것.
제1 블록체인 노드는 확인 응답 정보의 기초로서 디지털 서명을 제2 서비스 데이터에 추가할 수 있다. 컨센서스 노드가 제2 서비스 데이터에 대한 컨센서스 프로세싱을 수행하는 것은 다음의 것을 포함할 수 있다: 각각의 디지털 서명에 대응하는 제1 서비스 데이터가 인증되고 유효한지의 여부를 검증하는 것.
도 4는, 본 출원의 구현예에 따른, 서비스 데이터 프로세싱 방법을 예시하는 플로우차트이다. 방법은 이하에서 나타내어진다. 서비스 데이터 프로세싱 방법은 블록체인 노드에 의해 수행된다. 블록체인 노드는 제2 블록체인 노드와 구별되도록 명명되는 제1 블록체인 노드로서 설명된다.
단계 301: 제1 블록체인 노드는 제1 서비스 데이터 - 제1 서비스 데이터는 제1 소스 어드레스 및 제1 목적지 어드레스를 포함함 - 를 제2 블록체인 노드로 전송함.
실제 애플리케이션에서, 후속하는 제2 서비스 데이터에 포함되는 제1 서비스 데이터가 더욱 혼란스럽도록, 설정된 수의 제1 블록체인 노드가 제1 서비스 데이터를 제2 블록체인 노드로 전송한다.
본 출원의 이러한 구현예에서, 제1 서비스 데이터를 제2 블록체인 노드로 전송하기 이전에, 제1 블록체인 노드는 다음의 방법으로 제2 블록체인 노드를 결정할 수 있다: 서비스 프로세싱 요청 - 서비스 프로세싱 요청은 서비스 데이터 프로세싱 요건을 서버에게 통지하기 위해 사용됨 - 을 서버로 전송하는 것; 서버에 의해 리턴되는 피드백 정보 - 피드백 정보는 서비스 프로세싱 요청을 서버로 전송하는 블록체인 노드의 노드 식별자를 포함함 - 를 수신하는 것; 및 피드백 정보에 포함되는 노드 식별자에 기초하여 제2 블록체인 노드를 결정하는 것.
구체적으로, 제1 블록체인 노드는 다음 두 가지 방법을 사용하는 것에 의해 피드백 정보에 포함되는 노드 식별자에 기초하여 제2 블록체인 노드를 결정할 수 있다.
방법 1은 다음의 것을 포함한다: 피드백 정보에 포함되는 노드 식별자 중 하나를 선택하는 것; 선택된 노드 식별자에 대해, 피드백 정보에 포함되는 노드 식별자에 대응하는 블록체인 노드에 컨센서스 요청 - 컨센서스 요청은, 선택된 노드 식별자에 대응하는 블록체인 노드가 제2 블록체인 노드이다는 것을 인정할 것을 블록체인 노드에게 요청하기 위해 사용됨 - 을 전송하는 것; 및 선택된 노드 식별자에 대응하는 블록체인 노드가 제2 블록체인 노드이다는 것을 블록체인 노드가 인정하면, 선택된 노드 식별자에 대응하는 블록체인 노드를 제2 블록체인 노드로서 결정하는 것.
방법 2는 다음의 것을 포함한다: 피드백 정보에 제2 서비스 데이터를 생성할 것을 지시하기 위한 노드 식별자에 기초하여 제2 블록체인 노드를 결정하는 것. 이 경우, 제2 블록체인 노드는 서버에 의해 결정되고, 제1 블록체인 노드에 통지된다.
정보 등가성을 유지하기 위해, 제1 블록체인 노드가 제1 서비스 데이터를 제2 블록체인 노드로 전송하는 것은 다음의 것을 포함할 수 있다: 제1 블록체인 노드가 제1 서비스 데이터를 제2 블록체인 노드 및/또는 서버에 의해 피드백되는 노드 식별자에 대응하는 블록체인 노드로 전송하는 것. 이 경우, 정보 등가성을 구현하기 위해, 제1 블록체인 노드 세트 내의 제1 블록체인 노드는 다른 제1 블록체인 노드의 제1 서비스 데이터를 획득할 수 있다.
단계 303: 제2 블록체인 노드에 의해 생성되는 제2 서비스 데이터 - 제2 서비스 데이터는 제2 소스 어드레스 및 제2 목적지 어드레스를 포함하고, 제2 소스 어드레스는 제1 소스 어드레스를 포함하고, 제2 목적지 어드레스는 제1 목적지 어드레스를 포함함 - 를 수신함.
단계 305: 제2 서비스 데이터를 체크함.
단계 307: 제2 블록체인 노드가 제2 서비스 데이터를 프로세싱하도록, 확인 응답 정보를 제2 블록체인 노드로 전송함.
단계 305에 대해서는, 이전 구현예에서의 단계 206의 내용에 대한 참조가 이루어질 수 있다. 제2 서비스 데이터가 정확하다는 것을 제1 블록체인 노드가 결정하면, 제1 블록체인 노드는 확인 응답 정보를 제2 블록체인 노드로 전송한다. 제2 서비스 데이터가 부정확하다는 것을 제1 블록체인 노드가 결정하면, 제1 블록체인 노드는 정정 정보를 제2 블록체인 노드로 전송한다. 정정 정보는 제2 서비스 데이터를 정정할 것을 제2 블록체인 노드에게 요청하기 위해 사용될 수 있거나, 또는 정정 정보는 정정된 제2 서비스 데이터일 수 있다.
도 5는, 본 출원의 구현예에 따른, 서비스 데이터 프로세싱 방법을 예시하는 플로우차트이다. 방법은 이하에서 나타내어진다.
단계 401: 제1 블록체인 노드 및 제2 블록체인 노드는 서비스 프로세싱 요청 - 서비스 프로세싱 요청은 서비스 데이터 프로세싱 요건, 및 노드 식별자에 포함되는 서비스 프로세싱 요청을 서버에게 통지하기 위해 사용됨 - 을 서버로 전송함.
단계 402: 서버는 노드 식별자로부터 설정된 수의 노드 식별자를 선택함.
단계 403: 서버는 선택된 노드 식별자를 포함하는 피드백 정보를 선택된 노드 식별자에 대응하는 블록체인 노드로 전송함.
단계 404: 제1 블록체인 노드는 제1 서비스 데이터 - 제1 서비스 데이터는 제1 소스 어드레스 및 제1 목적지 어드레스를 포함함 - 를 제2 블록체인 노드로 전송함.
단계 405: 제2 블록체인 노드는 수신된 제1 서비스 데이터에 기초하여 제2 서비스 데이터 - 제2 서비스 데이터는 제2 소스 어드레스 및 제2 목적지 어드레스를 포함하고, 제2 소스 어드레스는 제1 소스 어드레스를 포함하고, 제2 목적지 어드레스는 제1 목적지 어드레스를 포함함 - 를 생성함.
단계 406: 제2 블록체인 노드는 제2 서비스 데이터를 제1 블록체인 노드로 전송함.
단계 407: 제1 블록체인 노드는 수신된 제2 서비스 데이터를 체크함.
단계 408: 제1 블록체인 노드는 확인 응답 정보를 제2 블록체인 노드로 전송함.
단계 409: 제2 블록체인 노드는, 제1 블록체인 노드에 의해 전송되는 확인 응답 정보를 수신하는 경우 제2 서비스 데이터를 프로세싱함.
본 출원의 구현예에서 제공되는 서비스 데이터 프로세싱 방법 및 서비스 프로세싱 방법은 다음과 같은 이점을 갖는다:
제2 서비스 데이터는 복수의 제1 블록체인 노드의 제1 서비스 데이터를 포함할 수 있다. 따라서, 제1 블록체인 노드는 복수의 소스 어드레스 또는 목적지 어드레스를 개별적으로 제공할 필요가 없을 수도 있는데, 이것은 제1 블록체인 노드의 부담을 감소시킬 수 있다.
예측적으로, 제1 블록체인 노드의 수는 명시되지 않으며, 따라서, 제2 서비스 데이터는 상대적으로 많은 양의 제1 서비스 데이터를 사용하는 것에 의해 생성될 수 있다. 그러한 만큼, 제2 서비스 데이터 내의 제2 소스 어드레스 및 제2 목적지 어드레스는 더욱 혼란스럽고, 블록체인 네트워크 내의 제2 서비스 데이터는 서로 덜 관련되고, 블록체인 노드의 인증 정보는 누설될 가능성이 더 적다.
도 6은, 본 출원의 구현예에 따른, 서비스 프로세싱 디바이스를 예시하는 구조도이다. 서비스 프로세싱 디바이스는 다음의 것을 포함할 수 있다: 블록체인 노드에 의해 전송되는 서비스 프로세싱 요청 - 서비스 프로세싱 요청은 서비스 데이터 프로세싱 요건을 서버에게 통지하기 위해 사용되고, 서비스 프로세싱 요청은 노드 식별자를 포함함 - 을 수신하도록 구성되는 수신 모듈(51); 노드 식별자로부터 설정된 수의 노드 식별자를 선택하도록 구성되는 선택 모듈(52); 및 블록체인 노드 중 하나가 블록체인 노드에 의해 전송되는 제1 서비스 데이터에 기초하여 제2 서비스 데이터를 생성하고, 제2 서비스 데이터를 프로세싱하도록, 선택된 노드 식별자를 포함하는 피드백 정보를, 선택된 노드 식별자에 대응하는 블록체인 노드로 전송하도록 구성되는 전송 모듈(53).
옵션 사항으로, 선택 모듈(52)DL 노드 식별자로부터 설정된 수의 노드 식별자를 선택하는 것은 다음의 것을 포함한다: 수신된 서비스 프로세싱 요청이 수량 정보를 포함하는 경우, 수량 정보에 기초하여 노드 식별자로부터 수량 정보를 충족하는 노드 식별자를 선택하는 것.
옵션 사항으로, 선택 모듈(52)은 또한, 노드 식별자로부터 설정된 수의 노드 식별자를 선택한 이후 서비스 프로세싱 요청에 기초하여 제2 블록체인 노드를 결정한다. 제2 블록체인 노드는, 선택된 노드 식별자에 대응하는 블록체인 노드에 의해 전송되는 제1 서비스 데이터를 수신하도록, 그 다음, 제1 서비스 데이터에 기초하여 제2 서비스 데이터를 생성하도록, 그리고 제2 서비스 데이터를 프로세싱하도록 구성된다.
옵션 사항으로, 전송 모듈(53)이 선택된 노드 식별자를 포함하는 피드백 정보를 선택된 노드 식별자에 대응하는 블록체인 노드로 전송하는 것은 다음의 것을 포함한다: 선택된 노드 식별자를 포함하는 그리고 제2 블록체인 노드가 제2 서비스 데이터를 생성한다는 지시를 포함하는 피드백 정보를 블록체인 노드로 전송하는 것.
본 출원의 이러한 구현예에서의 서비스 프로세싱 디바이스는 소프트웨어 또는 하드웨어를 사용하는 것에 의해 구현될 수 있다는 것을 주목할 가치가 있다. 이것은 여기에서 제한되지는 않는다.
동일한 발명적 개념에 기초하여, 본 출원의 구현예가 서비스 프로세싱 디바이스를 더 제공한다. 서비스 프로세싱 디바이스는 적어도 하나의 프로세서 및 메모리를 포함한다. 메모리는 프로그램을 저장하고, 프로그램은 다음의 단계 중 하나를 수행하기 위해 적어도 하나의 프로세서에 의해 사용된다: 블록체인 노드에 의해 전송되는 서비스 프로세싱 요청- 서비스 프로세싱 요청은 제1 서비스 데이터를 사용하는 것에 의해 제2 서비스 데이터를 생성하기 위한 요건을 서버에게 통지하기 위해 사용되고, 서비스 프로세싱 요청은 블록체인 노드의 노드 식별자를 포함함 - 을 수신하는 것; 서비스 프로세싱 요청에 기초하여 블록체인 노드로부터 설정된 수의 블록체인 노드를 제1 블록체인 노드로서 선택하는 것; 및 제1 블록체인 노드 사이의 제2 블록체인 노드가 제1 블록체인 노드에 의해 전송되는 제1 서비스 데이터를 수신하도록, 제1 서비스 데이터에 기초하여 제2 서비스 데이터를 생성하도록, 그리고 제2 서비스 데이터를 프로세싱하도록, 선택된 제1 블록체인 노드의 노드 식별자를 제1 블록체인 노드에 개별적으로 전송하는 것.
프로세서의 다른 기능에 대해서는, 이전 구현예에서 설명되는 내용에 대한 참조가 이루어질 수 있다. 세부 사항은 여기에는 다시 설명되지 않는다.
동일한 발명적 개념에 기초하여, 본 출원의 구현예는 컴퓨터 판독 가능 저장 매체를 더 제공한다. 컴퓨터 판독 가능 저장 매체는, 전자 디바이스와 함께 사용되는 프로그램을 포함하고, 프로세서는 다음의 단계를 수행하기 위해 프로그램을 실행할 수 있다: 블록체인 노드에 의해 전송되는 서비스 프로세싱 요청- 서비스 프로세싱 요청은 제1 서비스 데이터를 사용하는 것에 의해 제2 서비스 데이터를 생성하기 위한 요건을 서버에게 통지하기 위해 사용되고, 서비스 프로세싱 요청은 블록체인 노드의 노드 식별자를 포함함 - 을 수신하는 단계; 서비스 프로세싱 요청에 기초하여 블록체인 노드로부터 설정된 수의 블록체인 노드를 제1 블록체인 노드로서 선택하는 단계; 및 제1 블록체인 노드 사이의 제2 블록체인 노드가 제1 블록체인 노드에 의해 전송되는 제1 서비스 데이터를 수신하도록, 제1 서비스 데이터에 기초하여 제2 서비스 데이터를 생성하도록, 그리고 제2 서비스 데이터를 프로세싱하도록, 선택된 제1 블록체인 노드의 노드 식별자를 제1 블록체인 노드에 개별적으로 전송하는 단계.
프로세서의 다른 기능에 대해서는, 이전 구현예에서 설명되는 내용에 대한 참조가 이루어질 수 있다. 세부 사항은 여기에는 다시 설명되지 않는다.
서비스 프로세싱 디바이스 또는 컴퓨터 판독 가능 저장 매체는, 여기서는, 서비스 데이터 프로세싱 요건을 갖는 블록체인 노드를 효과적으로 편제하기 위해, 수신된 서비스 프로세싱 요청에 기초하여 블록체인 노드를 할당하도록 구성되고, 그 결과, 서비스 프로세싱은 보다 더욱 잘 정돈되고 효율적이다.
도 7은, 본 출원의 구현예에 따른, 서비스 데이터 프로세싱 디바이스를 예시하는 구조도이다. 서비스 데이터 프로세싱 디바이스는 다음의 것을 포함할 수 있다: 적어도 하나의 제1 블록체인 노드에 의해 전송되는 제1 서비스 데이터 - 제1 서비스 데이터는 제1 소스 어드레스 및 제1 목적지 어드레스를 포함함 - 를 수신하도록 구성되는 수신 모듈(61); 제1 서비스 데이터에 기초하여 제2 서비스 데이터 - 제2 서비스 데이터는 제2 소스 어드레스 및 제2 목적지 어드레스를 포함하고, 제2 소스 어드레스는 제1 소스 어드레스를 포함하고, 제2 목적지 어드레스는 제1 목적지 어드레스를 포함함 - 를 생성하도록 구성되는 생성 모듈(62); 제1 블록체인 노드가 제2 서비스 데이터를 체크하도록, 제2 서비스 데이터를 제1 블록체인 노드로 전송하도록 구성되는 전송 모듈(63); 및 제1 블록체인 노드에 의해 전송되는 확인 응답 정보가 수신되는 경우 제2 서비스 데이터를 프로세싱하도록 구성되는 프로세싱 모듈(64).
옵션 사항으로, 프로세싱 모듈(64)이 제2 서비스 데이터를 프로세싱하는 것은 다음의 것을 포함한다: 컨센서스 노드(consensus node)가 제2 서비스 데이터에 대해 컨센서스 프로세싱(consensus processing)을 수행하도록, 제2 서비스 데이터를 블록체인 네트워크 내의 컨센서스 노드로 전송하는 것; 및 제2 서비스 데이터가 검증되면, 제2 서비스 데이터를 블록체인 네트워크에 저장하는 것.
옵션 사항으로, 전송 모듈(63)은, 수신 모듈(61)이 적어도 하나의 제1 블록체인 노드에 의해 전송되는 제1 서비스 데이터를 수신하기 이전에, 서비스 프로세싱 요청을 서버로 전송한다. 서비스 프로세싱 요청은 서비스 데이터 프로세싱 요건을 서버에게 통지하기 위해 사용된다.
옵션 사항으로, 서비스 데이터 프로세싱 디바이스는 결정 모듈(65)을 더 포함한다.
수신 모듈(61)은 서버에 의해 리턴되는 피드백 정보를 수신하는데, 피드백 정보는 서비스 프로세싱 요청을 서버로 전송하는 블록체인 노드의 노드 식별자를 포함한다.
결정 모듈(65)은 피드백 정보에 포함되는 노드 식별자에 기초하여 제1 블록체인 노드를 결정한다.
옵션 사항으로, 결정 모듈(65)이 피드백 정보에 포함되는 노드 식별자에 기초하여 제1 블록체인 노드를 결정하는 것은 다음의 것을 포함한다: 피드백 정보에 포함되는 노드 식별자에 대응하는 블록체인 노드를 제1 블록체인 노드로서 결정하는 것; 또는 피드백 정보에 포함되는 노드 식별자로부터 설정된 수의 노드 식별자를 선택하고, 선택된 노드 식별자에 대응하는 블록체인 노드를 제1 블록체인 노드로서 결정하는 것.
옵션 사항으로, 전송 모듈(63)이 서비스 프로세싱 요청을 서버로 전송하는 것은 다음의 것을 포함한다: 서버가, 서비스 프로세싱 요청을 전송하는 블록체인 노드로부터 수량 정보를 충족하는 블록체인 노드를 선택하도록, 수량 정보를 서비스 프로세싱 요청에 추가하고, 서비스 프로세싱 요청을 서버로 전송하는 것.
옵션 사항으로, 전송 모듈(63)은 제3 서비스 데이터를 제1 블록체인 노드로 전송한다.
생성 모듈(62)이 제1 서비스 데이터에 기초하여 제2 서비스 데이터를 생성하는 것은 다음의 것을 포함한다: 제1 서비스 데이터 및 제3 서비스 데이터에 기초하여 제2 서비스 데이터를 생성하는 것.
옵션 사항으로, 전송 모듈(63)이 제3 서비스 데이터를 제1 블록체인 노드로 전송하는 것은 다음의 것을 포함한다: 암호화된 제3 서비스 데이터를 제1 블록체인 노드로 전송하는 것.
본 출원의 이러한 구현예에서의 서비스 데이터 프로세싱 디바이스는 소프트웨어 또는 하드웨어를 사용하는 것에 의해 구현될 수 있다는 것을 주목할 가치가 있다. 이것은 여기에서 제한되지는 않는다.
동일한 발명적 개념에 기초하여, 본 출원의 구현예는 서비스 데이터 프로세싱 디바이스를 더 제공한다. 서비스 데이터 프로세싱 디바이스는 적어도 하나의 프로세서 및 메모리를 포함한다. 메모리는 프로그램을 저장하고, 프로그램은 다음의 단계 중 하나를 수행하기 위해 적어도 하나의 프로세서에 의해 사용된다: 적어도 하나의 제1 블록체인 노드에 의해 전송되는 제1 서비스 데이터 - 제1 서비스 데이터는 제1 소스 어드레스 및 제1 목적지 어드레스를 포함함 - 를 수신하는 것; 제1 서비스 데이터에 기초하여 제2 서비스 데이터 - 제2 서비스 데이터는 제2 소스 어드레스 및 제2 목적지 어드레스를 포함하고, 제2 소스 어드레스는 제1 소스 어드레스를 포함하고, 제2 목적지 어드레스는 제1 목적지 어드레스를 포함함 - 를 생성하는 것; 제1 블록체인 노드가 제2 서비스 데이터를 체크하도록, 제2 서비스 데이터를 제1 블록체인 노드로 전송하는 것; 및 제1 블록체인 노드에 의해 전송되는 확인 응답 정보가 수신되는 경우 제2 서비스 데이터를 프로세싱하는 것.
프로세서의 다른 기능에 대해서는, 이전 구현예에서 설명되는 내용에 대한 참조가 이루어질 수 있다. 세부 사항은 여기에는 다시 설명되지 않는다.
동일한 발명적 개념에 기초하여, 본 출원의 구현예는 컴퓨터 판독 가능 저장 매체를 더 제공한다. 컴퓨터 판독 가능 저장 매체는, 전자 디바이스와 함께 사용되는 프로그램을 포함하고, 프로세서는 다음의 단계를 수행하기 위해 프로그램을 실행할 수 있다: 적어도 하나의 제1 블록체인 노드에 의해 전송되는 제1 서비스 데이터 - 제1 서비스 데이터는 제1 소스 어드레스 및 제1 목적지 어드레스를 포함함 - 를 수신하는 것; 제1 서비스 데이터에 기초하여 제2 서비스 데이터 - 제2 서비스 데이터는 제2 소스 어드레스 및 제2 목적지 어드레스를 포함하고, 제2 소스 어드레스는 제1 소스 어드레스를 포함하고, 제2 목적지 어드레스는 제1 목적지 어드레스를 포함함 - 를 생성하는 것; 제1 블록체인 노드가 제2 서비스 데이터를 체크하도록, 제2 서비스 데이터를 제1 블록체인 노드로 전송하는 것; 및 제1 블록체인 노드에 의해 전송되는 확인 응답 정보가 수신되는 경우 제2 서비스 데이터를 프로세싱하는 것.
프로세서의 다른 기능에 대해서는, 이전 구현예에서 설명되는 내용에 대한 참조가 이루어질 수 있다. 세부 사항은 여기에는 다시 설명되지 않는다.
서비스 데이터 프로세싱 디바이스 또는 컴퓨터 판독 가능 저장 매체는, 여기서는, 제1 블록체인 노드에 의해 전송되는 제1 서비스 데이터에 기초하여 제2 서비스 데이터를 생성하도록 구성될 수 있고, 그 결과, 제1 서비스 데이터는 서로 혼동되고, 제1 블록체인 노드에 대응하는 인증 정보는 누설될 수 없다. 또한, 서비스 데이터 프로세싱 디바이스는, 서비스 프로세싱 효율성을 향상시키기 위해, 복수의 제1 서비스 데이터가 혼합되고 체크된 이후 제2 서비스 데이터를 프로세싱할 수 있다.
도 8은, 본 출원의 구현예에 따른, 서비스 데이터 프로세싱 디바이스를 예시하는 구조도이다. 서비스 데이터 프로세싱 디바이스는 다음의 것을 포함할 수 있다: 제1 서비스 데이터 - 제1 서비스 데이터는 제1 소스 어드레스 및 제1 목적지 어드레스를 포함함 - 를 제2 블록체인 노드로 전송하도록 구성되는 전송 모듈(71); 제2 블록체인 노드에 의해 생성되는 제2 서비스 데이터 - 제2 서비스 데이터는 제2 소스 어드레스 및 제2 목적지 어드레스를 포함하고, 제2 소스 어드레스는 제1 소스 어드레스를 포함하고, 제2 목적지 어드레스는 제1 목적지 어드레스를 포함함 - 를 수신하도록 구성되는 수신 모듈(72); 및 제2 서비스 데이터를 체크하도록 구성되는 체킹 모듈(73).
전송 모듈(71)은, 제2 블록체인 노드가 제2 서비스 데이터를 프로세싱하도록, 확인 응답 정보를 제2 블록체인 노드로 전송한다.
옵션 사항으로, 서비스 데이터 프로세싱 디바이스는 결정 모듈(74)을 더 포함한다.
전송 모듈(71)은, 제1 서비스 데이터를 제2 블록체인 노드로 전송하기 이전에, 서비스 프로세싱 요청을 서버로 전송하는데, 서비스 프로세싱 요청은 서비스 데이터 프로세싱 요건을 서버에게 통지하기 위해 사용된다.
수신 모듈(72)은 서버에 의해 리턴되는 피드백 정보를 수신하는데, 피드백 정보는 서비스 프로세싱 요청을 서버로 전송하는 블록체인 노드의 노드 식별자를 포함한다.
결정 모듈(74)은 피드백 정보에 포함되는 노드 식별자에 기초하여 제2 블록체인 노드를 결정한다.
옵션 사항으로, 결정 모듈(74)이 피드백 정보에 포함되는 노드 식별자에 기초하여 제2 블록체인 노드를 결정하는 것은 다음의 것을 포함한다: 피드백 정보에 포함되는 노드 식별자 중 하나를 선택하는 것; 선택된 노드 식별자에 대해, 피드백 정보에 포함되는 노드 식별자에 대응하는 블록체인 노드에 컨센서스 요청 - 컨센서스 요청은, 선택된 노드 식별자에 대응하는 블록체인 노드가 제2 블록체인 노드이다는 것을 인정할 것을 블록체인 노드에게 요청하기 위해 사용됨 - 을 전송하는 것; 및 선택된 노드 식별자에 대응하는 블록체인 노드가 제2 블록체인 노드이다는 것을 블록체인 노드가 인정하면, 선택된 노드 식별자에 대응하는 블록체인 노드를 제2 블록체인 노드로서 결정하는 것.
옵션 사항으로, 결정 모듈(74)이 피드백 정보에 포함되는 노드 식별자에 기초하여 제2 블록체인 노드를 결정하는 것은 다음의 것을 포함한다: 피드백 정보에 포함되는 제2 블록체인 노드의 노드 식별자에 기초하여, 그리고 제2 블록체인 노드가 제2 서비스 데이터를 생성한다는 지시에 기초하여, 제2 블록체인 노드를 결정하는 것.
옵션 사항으로, 전송 모듈(71)이 제1 서비스 데이터를 제2 블록체인 노드로 전송하는 것은 다음의 것을 포함한다: 제1 서비스 데이터를, 제2 블록체인 노드 및/또는 서버에 의해 피드백되는 노드 식별자에 대응하는 블록체인 노드로 전송하는 것.
본 출원의 이러한 구현예에서의 서비스 데이터 프로세싱 디바이스는 소프트웨어 또는 하드웨어를 사용하는 것에 의해 구현될 수 있다는 것을 주목할 가치가 있다. 이것은 여기에서 제한되지는 않는다.
동일한 발명적 개념에 기초하여, 본 출원의 구현예는 서비스 데이터 프로세싱 디바이스를 더 제공한다. 서비스 데이터 프로세싱 디바이스는 적어도 하나의 프로세서 및 메모리를 포함한다. 메모리는 프로그램을 저장하고, 프로그램은 다음의 단계 중 하나를 수행하기 위해 적어도 하나의 프로세서에 의해 사용된다: 제1 서비스 데이터 - 제1 서비스 데이터는 제1 소스 어드레스 및 제1 목적지 어드레스를 포함함 - 를 제2 블록체인 노드로 전송하는 것; 제2 블록체인 노드에 의해 생성되는 제2 서비스 데이터 - 제2 서비스 데이터는 제2 소스 어드레스 및 제2 목적지 어드레스를 포함하고, 제2 소스 어드레스는 제1 소스 어드레스를 포함하고, 제2 목적지 어드레스는 제1 목적지 어드레스를 포함함 - 를 수신하는 것; 제2 서비스 데이터를 체크하는 것; 및 제2 블록체인 노드가 제2 서비스 데이터를 프로세싱하도록, 확인 응답 정보를 제2 블록체인 노드로 전송하는 것.
프로세서의 다른 기능에 대해서는, 이전 구현예에서 설명되는 내용에 대한 참조가 이루어질 수 있다. 세부 사항은 여기에는 다시 설명되지 않는다.
동일한 발명적 개념에 기초하여, 본 출원의 구현예는 컴퓨터 판독 가능 저장 매체를 더 제공한다. 컴퓨터 판독 가능 저장 매체는, 전자 디바이스와 함께 사용되는 프로그램을 포함하고, 프로세서는 다음의 단계를 수행하기 위해 프로그램을 실행할 수 있다: 제1 서비스 데이터 - 제1 서비스 데이터는 제1 소스 어드레스 및 제1 목적지 어드레스를 포함함 - 를 제2 블록체인 노드로 전송하는 것; 제2 블록체인 노드에 의해 생성되는 제2 서비스 데이터 - 제2 서비스 데이터는 제2 소스 어드레스 및 제2 목적지 어드레스를 포함하고, 제2 소스 어드레스는 제1 소스 어드레스를 포함하고, 제2 목적지 어드레스는 제1 목적지 어드레스를 포함함 - 를 수신하는 것; 제2 서비스 데이터를 체크하는 것; 및 제2 블록체인 노드가 제2 서비스 데이터를 프로세싱하도록, 확인 응답 정보를 제2 블록체인 노드로 전송하는 것.
프로세서의 다른 기능에 대해서는, 이전 구현예에서 설명되는 내용에 대한 참조가 이루어질 수 있다. 세부 사항은 여기에는 다시 설명되지 않는다.
1990년대에는, 기술이 하드웨어의 관점에서 향상되는지(예를 들면, 다이오드, 트랜지스터, 또는 스위치의 회로 구조체가 향상됨), 또는 소프트웨어의 관점에서 향상되는지(방법 프로시져가 향상됨)의 여부가 명백하게 식별될 수 있다. 그러나, 기술이 발전함에 따라, 많은 방법 프로시져에 대한 현재의 향상은 하드웨어 회로 구조체의 직접적인 향상으로서 간주될 수 있다. 설계자는, 대응하는 하드웨어 회로 구조체를 획득하기 위해, 향상된 방법 프로시져를 하드웨어 회로에 일반적으로 프로그래밍한다. 따라서, 하드웨어 모듈은 방법 프로시져를 향상시킬 수 있다. 예를 들면, 프로그래머블 논리 디바이스(programmable logic device; PLD)(예를 들면, 필드 프로그래머블 게이트 어레이(field programmable gate array; FPGA))는 그러한 집적 회로이고, 프로그래머블 논리 디바이스의 논리적 기능은 디바이스 프로그래밍을 통해 유저에 의해 결정된다. 설계자는, 칩 제조자에게 주문형 집적 회로 칩(application-specific integrated circuit chip)을 설계 및 생산할 것을 요청하지 않고도 프로그래밍을 통해 디지털 시스템을 PLD에 "통합"한다. 또한, 수동으로 집적 회로 칩을 제조하는 대신, 오늘날, 프로그래밍은 "논리 컴파일러"소프트웨어를 수정하는 것에 의해 대부분 구현되는데, 이것은 프로그램 개발 및 컴파일을 위해 사용되는 소프트웨어 컴파일러와 유사하다. 컴파일링 이전의 원래 코드는 또한, 하드웨어 기술 언어(hardware description language; HDL)로 칭해지는 특정한 프로그래밍 언어로 작성된다. 어드밴스드 불린 표현 언어(Advanced Boolean Expression Language; ABEL), 알테라 하드웨어 기술 언어(Altera Hardware Description Language; AHDL), 컨플루언스(Confluence), 코넬대 프로그래밍 언어(Cornell University Programming Language; CUPL), HDCal, 자바 하드웨어 기술 언어(Java Hardware Description Language; JHDL), Lava(라바), Lola(롤라), MyHDL, PALASM, 및 루비 하드웨어 기술 언어(Ruby Hardware Description Language; RHDL)와 같은 많은 HDL이 존재한다. 현재, 초고속 집적 회로 하드웨어 기술 언어(very-high-speed integrated circuit hardware description language; VHDL) 및 Verilog가 가장 일반적으로 사용된다. 기술 분야의 숙련된 자는 또한, 일단 방법 프로시져가 설명된 하드웨어 기술 언어를 사용하는 것에 의해 논리적으로 프로그래밍되고 집적 회로 안으로 프로그래밍되면, 논리적 방법 프로시져를 구현하는 하드웨어 회로가 쉽게 획득될 수 있다는 것을 이해해야 한다.
컨트롤러는 임의의 적절한 방식으로 구현될 수 있다. 예를 들면, 컨트롤러는 마이크로프로세서, 프로세서, 또는 컴퓨터 판독 가능 매체, 논리 게이트, 스위치, 주문형 집적 회로(application-specific integrated circuit; ASIC), 프로그래머블 논리 컨트롤러, 또는 프로세서 또는 마이크로프로세서에 의해 실행될 수 있는 컴퓨터 판독 가능 프로그램 코드(예를 들면, 소프트웨어 또는 펌웨어)를 저장하는 임베딩된 마이크로컨트롤러일 수 있다. 컨트롤러의 예는 다음의 마이크로컨트롤러를 포함하지만 그러나 이들로 제한되지는 않는다: ARC 625D, Atmel(아트멜) AT91SAM, Microchip(마이크로칩) PIC18F26K20, 또는 Silicon Labs(실리콘 랩스) C8051F320. 메모리 컨트롤러는 또한, 메모리의 제어 논리의 일부로서 구현될 수 있다. 기술 분야의 숙련된 자는 또한, 컨트롤러가 순수한 컴퓨터 판독 가능 프로그램 코드의 방법에서 구현될 수 있고, 방법에서의 단계는, 컨트롤러가, 논리 게이트, 스위치, 주문형 집적 회로, 프로그래머블 논리 컨트롤러, 및 임베딩된 마이크로컨트롤러, 등등의 형태로, 동일한 기능을 또한 구현하는 것을 가능하게 하도록 논리적으로 프로그래밍될 수 있다는 것을 알고 있다. 따라서, 컨트롤러는 하드웨어 컴포넌트로 간주될 수 있고, 컨트롤러 내의 다양한 기능을 구현하도록 구성되는 장치는 또한 하드웨어 컴포넌트의 구조체로 간주될 수 있다. 대안적으로, 다양한 기능을 구현하도록 구성되는 장치는, 방법을 구현할 수 있는 소프트웨어 모듈, 또는 하드웨어 컴포넌트에서의 구조체로서 간주될 수 있다.
앞선 구현예에서 설명되는 시스템, 장치, 모듈, 또는 유닛은, 컴퓨터 칩 또는 엔티티에 의해 구체적으로 구현될 수 있거나, 또는 소정의 기능을 갖는 제품에 의해 구현될 수 있다. 통상적인 구현 디바이스는 컴퓨터이다. 구체적으로, 컴퓨터는, 예를 들면, 퍼스널 컴퓨터, 랩탑 컴퓨터, 셀룰러 전화, 카메라 폰, 스마트폰, 개인 휴대형 정보 단말(personal digital assistant), 미디어 플레이어, 내비게이션 디바이스, 이메일 디바이스, 게임 콘솔, 태블릿 컴퓨터, 또는 웨어러블 디바이스, 또는 이들 디바이스의 조합일 수 있다.
설명의 용이성을 위해, 설명되는 장치는 기능을 다양한 유닛으로 분할하는 것에 의해 설명된다. 물론, 본 출원이 구현될 때, 각각의 유닛의 기능은 하나 이상의 단편(piece)의 소프트웨어 및/또는 하드웨어에서 구현될 수 있다.
기술 분야의 숙련된 자는, 본 개시의 구현예가, 방법, 시스템, 또는 컴퓨터 프로그램 제품으로서 제공될 수 있다는 것을 이해해야 한다. 따라서, 본 개시는 하드웨어 전용 구현예, 소프트웨어 전용 구현예, 또는 소프트웨어 및 하드웨어의 조합을 갖는 구현예의 형태를 사용할 수 있다. 또한, 본 개시는, 컴퓨터 사용 가능 프로그램 코드를 포함하는 하나 이상의 컴퓨터 사용 가능 저장 매체(자기 디스크 스토리지, CD-ROM, 광학 메모리, 등등을 포함하지만 그러나 이들로 제한되지는 않음) 상에서 구현되는 컴퓨터 프로그램 제품의 형태를 사용할 수 있다.
본 개시는, 본 개시의 구현예에 기초한 방법, 디바이스(시스템), 및 컴퓨터 프로그램 제품의 플로우차트 및/또는 블록도를 참조하여 설명된다. 컴퓨터 프로그램 명령어는 플로우차트 및/또는 블록도 내의 각각의 프로세스 및/또는 각각의 블록 및 플로우차트 및/또는 블록도 내의 프로세스 및/또는 블록의 조합을 구현하기 위해 사용될 수 있다는 것이 이해되어야 한다. 이들 컴퓨터 프로그램 명령어는, 범용 컴퓨터, 전용 컴퓨터, 임베딩된 프로세서, 또는 다른 프로그래머블 데이터 프로세싱 디바이스의 프로세서에 제공되어 머신을 생성할 수 있고, 그 결과, 컴퓨터 또는 다른 프로그래머블 데이터 프로세싱 디바이스의 프로세서에 의해 실행되는 명령어는, 플로우차트 내의 하나 이상의 프로세스에서 및/또는 블록도 내의 하나 이상의 블록에서 특정한 기능을 구현하기 위한 장치를 생성한다.
컴퓨터 또는 다른 프로그래머블 데이터 프로세싱 디바이스에게 특정한 방식으로 작동할 것을 지시할 수 있는 이들 컴퓨터 프로그램 명령어는, 컴퓨터 판독 가능 메모리에 저장될 수 있고, 그 결과, 컴퓨터 판독 가능 메모리에 저장되는 명령어는 명령어 장치를 포함하는 아티팩트(artifact)를 생성한다. 명령어 장치는 플로우차트 내의 하나 이상의 프로세스에서의 및/또는 블록도 내의 하나 이상의 블록에서의 특정한 기능을 구현한다.
일련의 동작 및 단계가 컴퓨터 또는 다른 프로그래머블 디바이스 상에서 수행되고, 그에 의해 컴퓨터 구현 프로세싱을 생성하도록, 이들 컴퓨터 프로그램 명령어는, 컴퓨터 또는 다른 프로그래머블 데이터 프로세싱 디바이스 상으로 로딩될 수 있다. 그러한 만큼, 컴퓨터 또는 다른 프로그래머블 디바이스 상에서 실행되는 명령어는, 플로우차트 내의 하나 이상의 프로세스에서 및/또는 블록도 내의 하나 이상의 블록에서 특정한 기능을 구현하기 위한 단계를 제공한다.
통상적인 구성에서, 컴퓨팅 디바이스는 하나 이상의 프로세서(CPU), 입력/출력 인터페이스, 네트워크 인터페이스, 및 메모리를 포함한다.
메모리는 컴퓨터 판독 가능 매체에서 불휘발성 메모리, 랜덤 액세스 메모리(random access memory; RAM), 및/또는 불휘발성 메모리, 또는 등등, 예컨대, 리드 온리 메모리(read-only memory; ROM) 또는 플래시 메모리를 포함할 수 있다. 메모리는 컴퓨터 판독 가능 매체의 한 예이다.
컴퓨터 판독 가능 매체는, 휘발성 및 불휘발성, 착탈식(removable) 및 비착탈식(non-removable) 매체를 포함하며, 임의의 방법 또는 기술을 사용하는 것에 의해 정보를 저장할 수 있다. 정보는 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈, 또는 다른 데이터일 수 있다. 컴퓨터 저장 매체의 예는, 파라미터 랜덤 액세스 메모리(parameter random access memory; PRAM)), 정적 랜덤 액세스 메모리(static random access memory: SRAM), 동적 랜덤 액세스 메모리(dynamic random access memory: DRAM), 다른 타입의 랜덤 액세스 메모리(RAM), 리드 온리 메모리(ROM), 전기적으로 소거 가능한 프로그래머블 리드 온리 메모리(electrically erasable programmable read only memory: EEPROM), 플래시 메모리 또는 다른 메모리 기술, 컴팩트 디스크 리드 온리 메모리(compact disc-read only memory: CD-ROM), 디지털 다기능 디스크(digital video disk: DVD) 또는 다른 광학 스토리지, 자기 테이프, 자기 디스크 스토리지, 다른 자기 스토리지 디바이스, 또는 컴퓨팅 디바이스가 액세스할 수 있는 정보를 저장하기 위해 사용될 수 있는 임의의 다른 비송신 매체를 포함하지만, 그러나 이들로 제한되지는 않는다. 본 명세서에서 설명되는 바와 같이, 컴퓨터 판독 가능 매체는 일시적 매체, 예를 들면, 변조된 데이터 신호 및 캐리어를 포함하지 않는다.
일련의 엘리먼트를 포함하는 프로세스, 방법, 물품, 또는 디바이스가, 이들 엘리먼트를 포함할 뿐만 아니라, 명시적으로 열거되지 않은 다른 엘리먼트도 또한 포함하거나, 또는 그러한 프로세스, 방법, 물품, 또는 디바이스에 내재하는 엘리먼트를 더 포함하도록, 용어 "포함한다(include)", "포함한다(comprise)", 또는 임의의 다른 변형어는 비배타적인 포함을 포괄하도록 의도된다는 것을 또한 주목할 가치가 있다. "~를 포함하는(includes a ...)" 전방에 오는 엘리먼트는, 추가적인 제약 없이, 그 엘리먼트를 포함하는 프로세스, 방법, 물품, 또는 디바이스에서 추가적인 동일한 엘리먼트의 존재를 배제하지는 않는다.
본 출원은, 컴퓨터에 의해 실행되는 컴퓨터 실행 가능 명령어, 예컨대, 프로그램 모듈의 일반적인 맥락에서 설명될 수 있다. 일반적으로, 프로그램 모듈은, 특정한 작업을 실행하는 또는 특정한 추상 데이터 타입을 구현하는 루틴, 프로그램, 객체, 컴포넌트, 데이터 구조, 등등을 포함한다. 본 출원은 분산 컴퓨팅 환경에서도 또한 실시될 수 있다. 이들 분산 컴퓨팅 환경에서, 작업은, 통신 네트워크를 사용하는 것에 의해 연결되는 원격 프로세싱 디바이스에 의해 실행된다. 분산 컴퓨팅 환경에서, 프로그램 모듈은, 스토리지 디바이스를 비롯한, 로컬 및 원격 컴퓨터 저장 매체에 위치될 수 있다.
본 명세서에서의 구현예는 점진적인 방식으로 모두 설명된다. 구현예에서 동일한 또는 유사한 부분에 대해서는, 이들 구현예에 대한 참조가 이루어질 수 있다. 각각의 구현예는 다른 구현예와의 차이점에 중점을 둔다. 특히, 시스템 구현예는 기본적으로 방법 구현예와 유사하고, 따라서, 간략하게 설명된다. 관련된 부품의 경우, 방법 구현예에서의 관련 설명에 대한 참조가 이루어질 수 있다.
앞선 설명은 본 출원의 구현예에 불과하며, 본 출원을 제한하도록 의도되는 것은 아니다. 기술 분야의 숙련된 자의 경우, 본 출원은 다양한 수정예 및 변경예를 가질 수 있다. 본 출원의 취지 및 원리 내에서 이루어지는 임의의 수정예, 등가적 대체예, 개선예, 등등은, 본 출원의 청구범위의 범위 내에 속할 것이다.
도 9는, 본 개시의 구현예에 따른, 서비스 데이터 정보를 익명화하기 위한 컴퓨터 구현 방법(900)의 한 예를 예시하는 플로우차트이다. 방법(900)은, 상기에서 설명되는 구현예를 참조하여 설명되는 바와 같이, 제2 블록체인 노드 내의 하나 이상의 프로세서에 의해 수행될 수 있다. 예를 들면, 방법(900)은 도 7을 참조하여 설명되는 서비스 데이터 프로세싱 디바이스에 의해 수행될 수 있다. 제시의 명확성을 위해, 이하의 설명은, 이 설명의 다른 도면의 맥락에서 방법(900)을 일반적으로 설명한다. 그러나, 방법(900)은, 예를 들면, 적절히, 임의의 시스템, 환경, 소프트웨어, 및 하드웨어에 의해 또는 시스템, 환경, 소프트웨어, 및 하드웨어의 조합에 의해 수행될 수 있다는 것이 이해될 것이다. 몇몇 구현예에서, 방법(900)의 다양한 단계는 병렬로, 조합하여, 루프에서, 또는 임의의 순서로 실행될 수 있다.
902에서, 제1 서비스 데이터는 복수의 노드로부터 수신된다. 제1 서비스 데이터는 복수의 제1 소스 어드레스 및 복수의 제1 목적지 어드레스와 관련된다. 예를 들면, 복수의 노드의 각각의 노드로부터 수신되는 제1 서비스 데이터는 제1 소스 어드레스 및 제1 목적지 어드레스와 관련될 수 있다. 제1 서비스 데이터는 블록체인 노드 사이의 다수의 데이터 전송과 관련될 수 있다. 각각의 데이터 전송은 소스 노드와 목적지 노드 사이의 서비스 객체(예를 들면, 통화(currency)의 전송)에 대응할 수도 있다. 따라서, 제1 서비스 데이터는, 다수의 데이터 전송과 관련되는 다수의 서비스 객체, 다수의 소스 어드레스, 및 다수의 목적지 어드레스를 포함할 수 있다. 902로부터, 방법(900)은 904로 진행한다.
904에서, 제2 서비스 데이터가 형성된다. 제2 서비스 데이터는 제2 소스 어드레스 및 제2 목적지 어드레스를 포함한다. 제2 소스 어드레스는 제1 서비스 데이터와 관련되는 복수의 제1 소스 어드레스를 포함한다. 제2 목적지 어드레스는 제1 서비스 데이터와 관련되는 복수의 제1 목적지 어드레스를 포함한다. 도 3은 예시적인 제2 서비스 데이터를 제공한다. 도 3의 제2 서비스 데이터는, 세 개의 제1 소스 어드레스를 포함하는 제2 소스 어드레스, 및 세 개의 제1 목적지 어드레스를 포함하는 제2 목적지 어드레스를 갖는다. 제2 서비스 데이터는 또한, 제1 서비스 데이터와 관련되는 복수의 서비스 객체를 포함할 수 있다. 도 3의 제2 서비스 데이터는 세 개의 서비스 객체(S10, S20, 및 S30)를 포함한다. 제2 서비스 데이터 내의 소스 어드레스 및 목적지 어드레스는 서로 대응하지 않는다. 따라서, 어떤 소스 및 어떤 목적지 어드레스가 서로 관련되었는지가(예를 들면, 데이터 전송에 관련되었는지가) 명확하지 않다. 마찬가지로, 어떤 데이터 객체가 어떤 소스 어드레스로부터 어떤 목적지 어드레스로 수행(예를 들면, 전송)되었는지가 명확하지 않도록, 서비스 객체는 혼합될 수 있다. 904로부터, 방법(900)은 906으로 진행한다.
906에서, 제2 서비스 데이터는 블록체인 노드(예를 들면, 제1 블록체인 노드)의 세트로 전송된다. 블록체인 노드의 세트는 복수의 블록체인 노드의 하나 이상의 노드를 포함한다. 블록체인 노드의 세트 내의 각각의 노드는 제2 소스 데이터를 재검토하여 902에서 노드에 의해 제공되는 데이터가 제2 소스 데이터에 포함되는지의 여부를 결정한다. 예를 들면, 각각의 노드는 제2 소스 어드레스가 노드에 의해 제공되는 제1 소스 어드레스를 포함하는지의 여부를 결정할 수 있다. 마찬가지로, 각각의 노드는 제2 소스 어드레스가 노드에 의해 제공되는 제1 목적지 어드레스 및/또는 제1 서비스 객체를 포함하는지의 여부를 결정할 수 있다. 블록체인 노드의 세트는, 복수의 노드로부터 랜덤하게 선택되는 세트일 수 있다. 세트에서의 노드 수는 규칙에 기초하여, 또는 디폴트 수(예를 들면, 하나의 노드)에 기초하여 결정될 수 있다. 906으로부터, 방법(900)은 908로 진행한다.
블록 908에서, 하나 이상의 검증 메시지가 블록체인 노드의 세트로부터 수신된다. 예를 들면, 블록체인 노드의 세트의 각각의 노드는 검증 메시지를 전송할 수도 있다. 노드로부터 수신되는 검증 메시지는, 제2 서비스 데이터가 노드에 의해 제공되는 제1 서비스 데이터의 일부를 포함한다는 것을 검증한다. 908로부터, 방법(900)은 910으로 진행한다.
910에서, 제2 서비스 데이터는 프로세싱된다. 예를 들면, 제1 서비스 데이터가 다수의 노드 사이의 통화 트랜잭션을 포함하는 경우, 제2 서비스 데이터는 트랜잭션을 합산하도록 그리고 블록체인 네트워크 내의 노드의 하나의 세트와 노드의 다른 세트 사이의 트랜잭션의 총량을 제공하도록 프로세싱될 수 있다.
제2 서비스 데이터는 노드의 세트 내의 모든 노드로부터 검증 메시지를 수신하는 것에 응답하여 프로세싱된다. 몇몇 구현예에서, 하나 이상의 노드가 제1 서비스 데이터 내에서의 그들 각각의 부분이 제2 서비스 데이터에 포함되지 않는다는 것을 결정하는 경우, 하나 이상의 노드는 검증 메시지 대신 장애 메시지(fault message)를 전송한다. 장애 메시지는, 제2 서비스 데이터가 제1 서비스 데이터의 적어도 일부가 없다는 것을 나타낸다. 노드에 의해 전송되는 장애 메시지는, 노드에 의해 제공되는 제1 서비스 데이터의 일부를 포함할 수 있다. 장애 메시지의 정보를 사용하여, 제2 서비스 데이터는 노드에 의해 제공되는 제1 서비스 데이터의 일부를 포함하도록 업데이트될 수 있다.
상기에서 설명되는 바와 같이, 방법(900)은 제2 노드에 의해 수행될 수 있다. 제2 노드는 복수의 노드 중 한 노드일 수 있거나, 또는 복수의 노드와 독립적인 한 노드일 수 있다. 제2 노드는 서버에 의해, 또는 복수의 노드의 노드 사이의 컨센서스에 기초하여 결정될 수 있다.
서버는 복수의 노드의 노드를 결정할 수 있다. 예를 들면, 서버는 블록체인의 노드로부터 서비스 데이터 프로세싱 요청을 수신할 수도 있다. 서버는 서비스 프로세싱 요청을 전송한 노드 중에서 복수의 노드를 결정할 수 있다. 복수의 노드 내의 노드의 수는, 디폴트 수에 기초하여, 또는 하나 이상의 서비스 데이터 프로세싱 요청에 포함되는 수량 정보에 기초하여 결정될 수 있다. 요청 노드로부터 수신되는 수량 정보는, 요청 노드를 포함할 복수의 노드에 포함될 노드의 수를 나타낸다. 예를 들면, 수량 정보는 노드의 최대치, 최소치, 범위, 또는 정확한 수를 포함할 수 있다.
복수의 노드의 결정시, 서버는 피드백 정보를 복수의 노드 내의 각각의 노드로 전송한다. 피드백 정보는 복수의 노드 내의 각각의 노드의 신원(본원에서 "노드 식별자"로도 또한 칭해짐)을 포함한다. 서버는 또한 (방법(900)을 수행하는 것을 담당하는) 제2 노드를 결정할 수도 있고 피드백 정보의 일부로서 제2 노드의 신원을 송신할 수도 있다. 피드백 정보는 제2 노드에 대한 명령어를 포함할 수 있다. 명령어는 단계 906에서 노드의 세트에서의 노드의 수(또는 노드의 수를 결정하기 위한 규칙)와 같은, 방법(900)을 수행하기 위한 세부 사항을 포함할 수 있다.
몇몇 구현예에서, 제2 노드는 복수의 노드의 노드에 의해 선택된다. 예를 들면, 피드백 정보는 복수의 노드의 노드가 복수의 노드와의 그들의 관련성에 관해 아는 것을 허용한다. 복수의 노드 내의 한 노드는 제2 노드로서 (예를 들면, 복수의 노드 중에서부터) 한 노드를 선택할 수 있고, 복수의 노드 내의 다른 노드로, 선택된 노드를 제2 노드로서 할당하는 것에 관한 그들의 컨센서스를 요청하는 컨센서스 요청을 전송할 수 있다. 복수의 노드 내의 모든 노드(또는 일부, 예를 들면, 다수)로부터 컨센서스의 수신시, 선택된 노드는 제2 노드로서 할당될 수 있다.
몇몇 구현예에서, 블록체인 노드의 세트의 모든 노드로부터 검증 메시지를 수신하는 것에 응답하여, 제2 서비스 데이터는 블록체인 네트워크에 저장된다. 예를 들면, 제2 서비스 데이터는 블록체인 노드의 다중 노드에 저장될 수 있다. 다수의 노드 중 하나 이상의 노드는 복수의 노드의 노드 이외의 것(즉, 외부의 것)일 수 있다. 몇몇 구현예에서, 복수의 노드의 각각의 노드는 제1 서비스 데이터에 디지털 서명을 포함하고, 제2 서비스 데이터는, 복수의 노드의 모든 노드의 서명이 제2 서비스 데이터에 포함된다는 것을 결정하는 것에 응답하여 블록체인 네트워크에 저장된다. 예를 들면, 제2 서비스 데이터는, 제2 서비스 데이터 내의 디지털 서명을, 피드백 정보 내의 노드 식별자에 대조하여 체크하는 컨센서스 노드로 전송될 수도 있다. 복수의 노드의 모든 노드의 서명이 제2 서비스 데이터에 포함된다는 것을 확인하는 확인 메시지를 컨센서스 노드로부터 수신하면, 제2 서비스 데이터는 블록체인 네트워크에 저장될 수 있다. 컨센서스 노드는 복수의 노드 중의 한 노드일 수 있거나, 또는 복수의 노드와 독립적인 한 노드일 수 있다. 예를 들면, 서버는 피드백 정보 내의 명령어 부분에서 컨센서스 노드를 식별할 수도 있다.
블록체인은 (중앙 집중식 네트워크에서 하나의 노드에 기록하는 것과는 대조적으로) 다수의 노드에 데이터 전송을 기록하는 탈집중화된 네트워크이다. 따라서, 블록체인에서의 데이터 전송의 레코드는 다수의 노드에서의 레코드의 변경 없이는 변경될 수 없다. 각각의 레코드는 데이터 전송의 서비스 데이터를 포함한다. 서비스 데이터는, 데이터 전송과 관련되는 소스 어드레스, 목적지 어드레스, 및 서비스 객체를 포함한다. 예를 들면, 서비스 데이터는 블록체인의 제1 노드로부터 제2 노드로 통화(예를 들면, dolor)의 전송일 수도 있다. 블록체인에서 서비스 데이터의 내용은 쉽게 식별될 수 있는데, 이것은 민감한 데이터(예를 들면, 은행 계좌 정보, 트랜잭션 금액, 등등)의 누설과 같은 보안 이슈로 이어진다. 예를 들면, 소스 및 목적지 어드레스와 통화의 전송과 관련되는 화폐의 가치는 블록체인 노드의 레코드로부터 식별될 수 있다.
본 개시의 구현예는, 서비스 데이터의 정보를 익명화하는 것에 의해 블록체인에서의 보안성을 향상시키는 기술을 제공한다. 구현예는 다수의 데이터 전송의 정보를 결합하여, 데이터 전송의 각각의 소스, 목적지, 및/또는 서비스 객체를 익명화한다. 예를 들면, 각각의 데이터 전송에 대한 서비스 데이터를 기록하는 대신, 구현예는 데이터 전송의 소스와 목적지 사이의 일대일 관계를 기록하지 않으면서 다수의 데이터 전송의 데이터를 기록한다. 따라서, 데이터 전송이 다수의 노드에 걸쳐 여전히 기록되지만, 각각의 데이터 전송의 세부 사항은 뚜렷하지 않다.
본 명세서에서 설명되는 실시형태 및 동작은, 디지털 전자 회로부(circuitry)에서, 또는, 본 명세서에서 개시되는 구조체를 비롯한 컴퓨터 소프트웨어, 펌웨어, 또는 하드웨어로, 또는 이들 중 하나 이상의 조합으로 구현될 수 있다. 동작은, 하나 이상의 컴퓨터 판독 가능 스토리지 디바이스 상에 저장되는 또는 다른 소스로부터 수신되는 데이터에 대한 데이터 프로세싱 장치에 의해 수행되는 동작으로서 구현될 수 있다. 데이터 프로세싱 장치, 컴퓨터, 또는 컴퓨팅 디바이스는, 예로서, 프로그래머블 프로세서, 컴퓨터, 시스템 온 칩, 또는 전술한 것 중 다수의 것, 또는 전술한 것의 조합을 비롯한, 데이터를 프로세싱하기 위한 장치, 디바이스, 및 머신을 포괄할 수도 있다. 장치는, 특수 목적의 논리 회로부, 예를 들면, 중앙 프로세싱 유닛(central processing unit; CPU), 필드 프로그래머블 게이트 어레이(FPGA) 또는 주문형 집적 회로(ASIC)를 포함할 수 있다. 장치는 또한, 문제의 컴퓨터 프로그램에 대한 실행 환경을 생성하는 코드, 예를 들면, 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 오퍼레이팅 시스템(예를 들면, 오퍼레이팅 시스템 또는 오퍼레이팅 시스템의 조합), 크로스 플랫폼 런타임 환경, 가상 머신, 또는 이들 중 하나 이상의 조합을 구성하는 코드를 포함할 수 있다. 장치 및 실행 환경은, 웹 서비스, 분산 컴퓨팅 및 그리드 컴퓨팅 인프라와 같은, 여러 가지 상이한 컴퓨팅 모델 인프라를 실현할 수 있다.
컴퓨터 프로그램(예를 들면, 프로그램, 소프트웨어, 소프트웨어 애플리케이션, 소프트웨어 모듈, 소프트웨어 유닛, 스크립트, 또는 코드로서 또한 알려짐)은, 컴파일식 언어(compiled language) 또는 인터프리트식 언어(interpreted language), 선언적 언어(declarative language) 또는 절차적 언어(procedural language)를 비롯한, 임의의 형태의 프로그래밍 언어로 작성될 수 있고, 그것은, 독립형 프로그램으로서 또는 모듈, 컴포넌트, 서브루틴, 객체, 또는 컴퓨팅 환경에서 사용하기에 적절한 다른 유닛으로서 배치되는 것을 비롯한, 임의의 형태로 배치될 수 있다. 프로그램은, 다른 프로그램 또는 데이터를 유지하는 파일의 부분(예를 들면, 마크업 언어 문서에 저장되는 하나 이상의 스크립트)에, 문제가 되는 프로그램에 전용되는 단일의 파일에, 또는 다수의 협력 파일(coordinated file)(예를 들면, 하나 이상의 모듈, 서브 프로그램, 또는 코드의 일부를 저장하는 파일)에 저장될 수 있다. 컴퓨터 프로그램은, 하나의 컴퓨터 상에서 또는 하나의 사이트에 위치되거나 또는 다수의 사이트에 걸쳐 분산되며 통신 네트워크에 의해 인터커넥트되는 다수의 컴퓨터 상에서 실행될 수 있다.
컴퓨터 프로그램의 실행을 위한 프로세서는, 예로서, 범용 및 특수 목적 마이크로프로세서, 및 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서 둘 모두를 포함한다. 일반적으로, 프로세서는 리드 온리 메모리 또는 랜덤 액세스 메모리 또는 둘 모두로부터 명령어 및 데이터를 수신할 것이다. 컴퓨터의 필수 엘리먼트는, 명령어에 따라 동작을 수행하기 위한 프로세서 및 명령어 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스이다. 일반적으로, 컴퓨터는 또한, 데이터를 저장하기 위한 하나 이상의 대용량 스토리지 디바이스를 포함할 것이고, 하나 이상의 대용량 스토리지 디바이스로부터 데이터를 수신하도록 그리고 하나 이상의 대용량 스토리지 디바이스로 데이터를 전송하도록, 또는 둘 모두를 하도록 동작 가능하게 커플링될 것이다. 컴퓨터는, 다른 디바이스, 예를 들면, 모바일 디바이스, 개인 휴대형 정보 단말(personal digital assistant; PDA), 게임 콘솔, 전지구 위치 결정 시스템(global positioning system; GPS) 수신기, 또는 휴대용 스토리지 디바이스에 임베딩될 수 있다. 컴퓨터 프로그램 명령어 및 데이터를 저장하기에 적절한 디바이스는, 예로서, 반도체 메모리 디바이스, 자기 디스크, 및 광자기 디스크(magneto-optical disk)를 비롯한, 불휘발성 메모리, 매체, 및 메모리 디바이스를 포함한다. 프로세서 및 메모리는 특수 목적의 논리 회로부에 의해 보충될 수 있거나, 또는 특수 목적의 논리 회로부에 통합될 수 있다.
모바일 디바이스는 핸드셋, 유저 기기(user equipment; UE), 이동 전화(예를 들면, 스마트폰), 태블릿, 웨어러블 디바이스(예를 들면, 스마트워치 및 스마트 안경), 인체 내부의 이식 디바이스(예를 들면, 바이오 센서, 달팽이관 임플란트), 또는 다른 타입의 모바일 디바이스를 포함할 수 있다. 모바일 디바이스는, 다양한 통신 네트워크(이하에서 설명됨)에 무선으로(예를 들면, 무선 주파수(RF) 신호를 사용하여) 통신할 수 있다. 모바일 디바이스는, 모바일 디바이스의 현재 환경의 특성을 결정하기 위한 센서를 포함할 수 있다. 센서는, 카메라, 마이크, 근접 센서, GPS 센서, 모션 센서, 가속도계, 주변 광 센서, 습도 센서, 자이로스코프, 콤파스, 기압계, 지문 센서, 얼굴 인식 시스템, RF 센서(예를 들면, Wi-Fi 및 셀룰러 무선), 열 센서, 또는 다른 타입의 센서를 포함할 수 있다. 예를 들면, 카메라는, 이동식 또는 고정식 렌즈를 갖는 전방 대향 또는 후방 대향 카메라, 플래시, 이미지 센서, 및 이미지 프로세서를 포함할 수 있다. 카메라는, 얼굴 및/또는 홍채(iris) 인식을 위한 세부 사항(detail)을 캡쳐할 수 있는 메가 픽셀 카메라일 수 있다. 카메라는, 메모리에 저장되는 또는 원격으로 액세스되는 데이터 프로세서 및 인증 정보와 함께, 얼굴 인식 시스템을 형성할 수 있다. 얼굴 인식 시스템 또는 하나 이상의 센서, 예를 들면, 마이크, 모션 센서, 가속도계, GPS 센서, 또는 RF 센서는 유저 인증을 위해 사용될 수 있다.
유저와의 상호 작용을 제공하기 위해, 실시형태는, 디스플레이 디바이스 및 입력 디바이스, 예를 들면, 정보를 유저에게 디스플레이하기 위한 액정 디스플레이(liquid crystal display; LCD) 또는 유기 발광 다이오드(organic light-emitting diode; OLED)/가상 현실(virtual-reality; VR)/증강 현실(augmented-reality; AR) 디스플레이 및 유저가 컴퓨터에게 입력을 제공할 수 있게 하는 터치스크린, 키보드, 및 포인팅 디바이스를 구비하는 컴퓨터 상에서 구현될 수 있다. 다른 종류의 디바이스가 유저와의 상호 작용을 제공하기 위해 또한 사용될 수 있고; 예를 들면, 유저에게 제공되는 피드백은 임의의 형태의 감각 피드백(sensory feedback), 예를 들면, 시각적 피드백, 청각적 피드백, 또는 촉각적 피드백을 사용할 수 있고; 유저로부터의 입력은, 음향, 음성, 또는 촉각 입력을 비롯한, 임의의 형태로 수신될 수 있다. 또한, 컴퓨터는, 유저에 의해 사용되는 디바이스로 문서를 전송하는 것 및 유저에 의해 사용되는 디바이스로부터 문서를 수신하는 것에 의해; 예를 들면, 웹 브라우저로부터 수신되는 요청에 응답하여 유저의 클라이언트 디바이스 상에서 웹 브라우저로 웹 페이지를 전송하는 것에 의해, 유저와 상호 작용할 수 있다.
실시형태는, 임의의 형태 또는 매체의 유선 또는 무선 디지털 데이터 통신(또는 이들의 조합), 예를 들면, 통신 네트워크에 의해 인터커넥트되는 컴퓨팅 디바이스를 사용하여 구현될 수 있다. 인터커넥트된 디바이스의 예는, 통상적으로 통신 네트워크를 통해 상호 작용하는, 일반적으로 서로 멀리 떨어진 클라이언트 및 서버이다. 클라이언트, 예를 들면, 모바일 디바이스는, 그 자체로, 서버와 함께, 또는 서버를 통해 트랜잭션을 수행할 수 있는데, 예를 들면, 트랜잭션을 구매, 판매, 지불, 제공, 전송, 또는 대여할 수 있거나, 또는 트랜잭션을 인가할 수 있다. 그러한 트랜잭션은, 동작과 응답이 시간적으로 근접하도록 실시간일 수도 있다; 예를 들면, 개인은 동작 및 응답을 실질적으로 동시에 발생하는 것으로 인식하며, 개인의 동작에 후속하는 응답에 대한 시간 차이는 1 밀리초(ms) 미만 또는 1 초(s) 미만이거나, 또는 응답은, 시스템의 프로세싱 제한을 고려하여 의도적인 지연을 갖지 않는다.
통신 네트워크의 예는, 근거리 통신망(local area network; LAN), 무선 액세스 네트워크(Radio Access Network; RAN), 도시권 통신망(Metropolitan Area Network; MAN) 및 광역 통신망(wide area network; WAN)을 포함한다. 통신 네트워크는, 인터넷의 전체 또는 일부, 다른 통신 네트워크, 또는 통신 네트워크의 조합을 포함할 수 있다. 정보는, 롱 텀 에볼루션(long term evolution; LTE), 5Q IEEE 802, 인터넷 프로토콜(IP), 또는 다른 프로토콜 또는 프로토콜의 조합을 비롯한, 다양한 프로토콜 및 표준에 따라 통신 네트워크 상에서 송신될 수 있다. 통신 네트워크는, 연결된 컴퓨팅 디바이스 사이에서, 음성, 비디오, 생체 인식, 또는 인증 데이터, 또는 다른 정보를 송신할 수 있다.
별개의 구현예로서 설명되는 피쳐는, 조합하여, 단일의 구현예에서 구현될 수도 있고, 한편, 단일의 구현예로서 설명되는 피쳐는 다수의 구현예에서, 개별적으로, 또는 임의의 적절한 하위 조합으로 구현될 수도 있다. 특정한 순서로 설명되고 주장된 동작은 그 특정한 순서를 요구하는 것으로 이해되지 않아야 하고, 모든 예시된 동작이 수행되어야 한다는 것을 규정하는 것으로도 이해되지 않아야 한다(몇몇 동작은 옵션 사항일 수 있음). 적절히, 멀티태스킹 또는 병렬 프로세싱(또는 멀티태스킹과 병렬 프로세싱의 조합)이 수행될 수 있다.

Claims (14)

  1. 서비스 데이터를 프로세싱하기 위한 방법에 있어서, 서비스 데이터는 서비스 객체(service object)를 소스 어드레스로부터 목적지 어드레스로 전송(transfer)하기 위한 트랜잭션을 표현하는 데이터를 포함하고, 상기 방법은,
    서버에 의해, 복수의 서비스 프로세싱 요청들에 포함된 복수의 노드 식별자들로부터 미리 결정된 수의 노드 식별자들을 선택하는 단계(402) - 상기 복수의 서비스 프로세싱 요청들은, 각각의 서비스 데이터 프로세싱 요건들을 상기 서버에게 통지하며, 대응하는 블록체인 노드들을 식별하는 노드 식별자들을 포함함 -;
    상기 서버로부터 그리고 제2 블록체인 노드로, 상기 선택된 미리 결정된 수의 노드 식별자들을 포함하는 피드백 정보를 전송하는 단계(403) - 상기 피드백 정보는 정보 등가성(information equivalence)에 기초해 상기 선택된 미리 결정된 수의 노드 식별자들과 연관된 데이터를 혼합(mix)함 -;
    상기 제2 블록체인 노드에서 그리고 상기 서버로부터, 상기 피드백 정보를 수신하는 단계;
    상기 제2 블록체인 노드에 의해, 상기 수신된 피드백 정보에 포함된 상기 미리 결정된 수의 노드 식별자들에 기초해 미리 결정된 수의 제1 블록체인 노드들을 결정하는 단계;
    제2 블록체인 노드에서, 각각의 제1 블록체인 노드에 의해 전송되는 각각의 제1 서비스 데이터를 수신하는 단계(202) - 각각의 제1 블록체인 노드로부터 수신되는 제1 서비스 데이터는 각각의 제1 소스 어드레스 및 각각의 제1 목적지 어드레스를 포함함 -;
    상기 제2 블록체인 노드에 의해, 각각의 제1 블록체인 노드로부터 수신되는 상기 제1 서비스 데이터에 기초해 제2 서비스 데이터를 생성하는 단계(204) - 상기 제2 서비스 데이터는 제2 소스 어드레스 및 제2 목적지 어드레스를 포함하고, 상기 제2 소스 어드레스는 상기 제1 소스 어드레스를 포함하며, 상기 제2 목적지 어드레스는 상기 제1 목적지 어드레스를 포함함 -;
    상기 제2 블록체인 노드에 의해, 상기 제2 서비스 데이터를 상기 제1 블록체인 노드들 각각에 전송하는 단계(206) - 각각의 제1 블록체인 노드는 상기 제2 서비스 데이터에 포함된 대응하는 제1 서비스 데이터를 체크(check)함 -; 및
    상기 제2 블록체인 노드에 의해, 상기 제1 블록체인 노드들 각각에 의해 전송되는 확인 응답(acknowledgement) 정보가 수신되는 경우, 상기 제2 서비스 데이터를 프로세싱하는 단계(208)
    를 포함하는 것인, 서비스 데이터를 프로세싱하기 위한 방법.
  2. 제1항에 있어서,
    상기 서버에 의해, 상기 복수의 서비스 프로세싱 요청들에 포함된 상기 복수의 노드 식별자들로부터 상기 미리 결정된 수의 노드 식별자들을 선택하는 단계는, 블록체인 네트워크에 저장된 서비스 데이터를 분석함으로써, 선택된 노드 식별자들에 대응하는 블록체인 노드들 사이에 서비스 관련성(service association)이 없고 상기 블록체인 노드들에 대응하는 서비스 데이터 사이에 서비스 관련성이 없는 노드 식별자들을 선택하는 단계를 포함하는 것인, 서비스 데이터를 프로세싱하기 위한 방법.
  3. 제1항에 있어서,
    상기 서버는 상기 제2 블록체인 노드를 결정하는 것인, 서비스 데이터를 프로세싱하기 위한 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 제2 블록체인 노드는 상기 미리 결정된 수의 제1 블록체인 노드들에 포함된 블록체인 노드인 것인, 서비스 데이터를 프로세싱하기 위한 방법.
  5. 제1항에 있어서,
    상기 제2 서비스 데이터를 프로세싱하는 단계는,
    상기 제2 서비스 데이터를 블록체인 네트워크 내의 컨센서스 노드(consensus node)로 전송하는 단계 - 상기 컨센서스 노드는 상기 제2 서비스 데이터에 대해 컨센서스 프로세싱을 수행함 -; 및
    상기 제2 서비스 데이터가 검증되면, 상기 제2 서비스 데이터를 상기 블록체인 네트워크에 저장하는 단계
    를 포함하는 것인, 서비스 데이터를 프로세싱하기 위한 방법.
  6. 제1항에 있어서,
    상기 방법은,
    상기 복수의 서비스 프로세싱 요청들을 상기 서버로 전송하는 단계를 더 포함하고,
    상기 복수의 서비스 프로세싱 요청들을 상기 서버로 전송하는 단계는,
    각각의 서비스 프로세싱 요청에 대해:
    블록체인 노드에 의해, 수량 정보를 상기 서비스 프로세싱 요청에 추가하는 단계 및
    상기 블록체인 노드로부터 그리고 상기 서버로 상기 서비스 프로세싱 요청을 전송하는 단계
    를 포함하고,
    상기 서버에 의해, 상기 복수의 서비스 프로세싱 요청들에 포함된 상기 복수의 노드 식별자들로부터 상기 미리 결정된 수의 노드 식별자들을 선택하는 단계는, 상기 복수의 서비스 프로세싱 요청들을 전송하는 상기 복수의 블록체인 노드들로부터 상기 수량 정보를 충족하는 블록체인 노드들을 선택하는 단계를 포함하는 것인, 서비스 데이터를 프로세싱하기 위한 방법.
  7. 제1항 내지 제3항, 제5항, 및 제6항 중 어느 한 항에 있어서,
    상기 방법은,
    상기 제2 블록체인 노드로부터, 제3 서비스 데이터를 상기 제1 블록체인 노드들 중 하나 이상에 전송하는 단계를 더 포함하고,
    상기 제2 블록체인 노드에 의해, 상기 제1 서비스 데이터에 기초해 제2 서비스 데이터를 생성하는 단계는,
    상기 제1 서비스 데이터 및 상기 제3 서비스 데이터에 기초해 상기 제2 서비스 데이터를 생성하는 단계를 포함하는 것인, 서비스 데이터를 프로세싱하기 위한 방법.
  8. 제7항에 있어서,
    상기 제3 서비스 데이터를 상기 제1 블록체인 노드들 중 하나 이상에 전송하는 단계는,
    암호화된 제3 서비스 데이터를 상기 하나 이상의 제1 블록체인 노드에 전송하는 단계를 포함하는 것인, 서비스 데이터를 프로세싱하기 위한 방법.
  9. 제1항에 있어서,
    상기 제2 블록체인 노드는 상기 제1 블록체인 노드들과는 독립적인 것인, 서비스 데이터를 프로세싱하기 위한 방법.
  10. 제1항에 있어서,
    상기 제2 블록체인 노드는 서비스 데이터 프로세싱 프로시져(procedure)와 연관되는 것인, 서비스 데이터를 프로세싱하기 위한 방법.
  11. 제1항에 있어서,
    상기 제1 블록체인 노드들은 랜덤 선택(random selection)에 기초해 결정되는 것인, 서비스 데이터를 프로세싱하기 위한 방법.
  12. 제1항 내지 제3항, 제5항, 제6항, 및 제9항 내지 제11항 중 어느 한 항에 기재된 방법을 수행하도록 구성된 복수의 모듈들을 포함하는, 서비스 데이터를 프로세싱하기 위한 디바이스.
  13. 삭제
  14. 삭제
KR1020197020276A 2017-07-14 2018-07-13 서비스 데이터 처리 방법 및 디바이스, 및 서비스 처리 방법 및 디바이스 KR102242221B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201710575017.3A CN107579951B (zh) 2017-07-14 2017-07-14 一种业务数据处理方法、业务处理方法及设备
CN201710575017.3 2017-07-14
PCT/US2018/042038 WO2019014562A1 (en) 2017-07-14 2018-07-13 DEVICE AND METHOD FOR PROCESSING SERVICE DATA, AND SERVICE PROCESSING DEVICE AND METHOD

Publications (2)

Publication Number Publication Date
KR20190117485A KR20190117485A (ko) 2019-10-16
KR102242221B1 true KR102242221B1 (ko) 2021-04-21

Family

ID=61049592

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197020276A KR102242221B1 (ko) 2017-07-14 2018-07-13 서비스 데이터 처리 방법 및 디바이스, 및 서비스 처리 방법 및 디바이스

Country Status (9)

Country Link
US (3) US11080664B2 (ko)
EP (1) EP3596650B1 (ko)
JP (1) JP6877556B2 (ko)
KR (1) KR102242221B1 (ko)
CN (2) CN107579951B (ko)
PH (1) PH12019501745A1 (ko)
SG (1) SG11201906487TA (ko)
TW (1) TWI686710B (ko)
WO (1) WO2019014562A1 (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107579951B (zh) 2017-07-14 2020-06-19 创新先进技术有限公司 一种业务数据处理方法、业务处理方法及设备
CN112041833A (zh) * 2017-10-16 2020-12-04 因特比有限公司 用于促进区块链之间的数据传输的方法和***
CN110166411B (zh) * 2018-02-13 2022-05-06 华为技术有限公司 一种数据传输方法、装置和网络节点
US10831850B2 (en) * 2018-08-14 2020-11-10 International Business Machines Corporation Secure URL shortening
US20220014887A1 (en) * 2018-11-19 2022-01-13 Telefonaktiebolaget Lm Ericsson (Publ) Methods providing service context transfer and related network nodes
CN109640279B (zh) * 2019-01-04 2021-04-27 中国联合网络通信集团有限公司 一种基于区块链的通信方法及***
CN109729092A (zh) * 2019-01-09 2019-05-07 山东浪潮质量链科技有限公司 一种业务平台准入的方法和装置
CN110046996B (zh) 2019-01-18 2020-09-15 阿里巴巴集团控股有限公司 数据处理方法和装置
CN110138586A (zh) * 2019-04-04 2019-08-16 平安科技(深圳)有限公司 区块链节点管理方法、电子装置、***及可读存储介质
CN110119428B (zh) * 2019-04-19 2023-05-12 腾讯科技(深圳)有限公司 一种区块链信息管理方法、装置、设备及存储介质
CN112612856B (zh) * 2019-07-09 2024-03-29 创新先进技术有限公司 基于区块链的数据处理方法和装置
US10956204B1 (en) * 2019-10-14 2021-03-23 International Business Machines Corporation Free-riding node identification for blockchain
CN111192005B (zh) * 2019-12-17 2023-04-18 腾讯云计算(北京)有限责任公司 政务业务处理方法、装置、计算机设备及可读存储介质
KR102137269B1 (ko) * 2020-04-07 2020-07-23 주식회사 아이콘루프 블록체인간 통신 시스템 및 방법
CN111970380B (zh) * 2020-09-02 2022-06-07 广东贤能数字科技有限公司 基于区块链的业务处理方法和***
CN112184190B (zh) * 2020-09-21 2022-04-22 支付宝(杭州)信息技术有限公司 基于区块链的业务处理方法及装置
US11615074B2 (en) 2020-10-01 2023-03-28 Bank Of America Corporation System and methods for intelligent path selection of enhanced distributed processors
CN112751713B (zh) * 2020-12-30 2023-03-24 杭州趣链科技有限公司 基于区块链的建链方法、设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101628007B1 (ko) * 2015-04-07 2016-06-13 주식회사 코인플러그 당사자간 블록체인을 갖는 디지털 가상화폐의 거래시스템

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI445374B (zh) * 2011-12-30 2014-07-11 Aten Int Co Ltd 遠端管理系統及遠端管理方法
CN103188354B (zh) * 2013-03-29 2016-05-25 北京东土科技股份有限公司 一种节点地址冲突的检测方法及装置
CN103825941B (zh) * 2014-02-17 2017-07-28 深信服网络科技(深圳)有限公司 对等网络中业务数据的转发控制方法及装置
CN104038449B (zh) * 2014-06-11 2017-09-29 华为技术有限公司 一种业务单板通信的方法、业务单板和通信设备
US10409827B2 (en) * 2014-10-31 2019-09-10 21, Inc. Digital currency mining circuitry having shared processing logic
CN104994022B (zh) * 2015-05-15 2019-06-07 新华三技术有限公司 一种报文传输的方法和业务板
CN106302188A (zh) * 2015-05-18 2017-01-04 中兴通讯股份有限公司 一种交换机设备的组播报文转发控制方法及装置
US10963881B2 (en) 2015-05-21 2021-03-30 Mastercard International Incorporated Method and system for fraud control of blockchain-based transactions
AU2016288644A1 (en) 2015-07-02 2018-02-22 Nasdaq, Inc. Systems and methods of secure provenance for distributed transaction databases
US9298806B1 (en) * 2015-07-08 2016-03-29 Coinlab, Inc. System and method for analyzing transactions in a distributed ledger
US20170109735A1 (en) 2015-07-14 2017-04-20 Fmr Llc Computationally Efficient Transfer Processing and Auditing Apparatuses, Methods and Systems
US20170228731A1 (en) 2016-02-09 2017-08-10 Fmr Llc Computationally Efficient Transfer Processing and Auditing Apparatuses, Methods and Systems
CN105119834B (zh) * 2015-07-17 2018-06-01 西安空间无线电技术研究所 一种基于复合trie树结构的源地址目的地址联合查找方法
WO2017044919A1 (en) 2015-09-12 2017-03-16 Q Bio, Inc Uniform-frequency records with obscured context
CN106572197B (zh) * 2015-10-10 2020-01-14 阿里巴巴集团控股有限公司 一种网络地址转换方法、装置及***
US20170132625A1 (en) * 2015-11-05 2017-05-11 Mastercard International Incorporated Method and system for use of a blockchain in a transaction processing network
CN105608146A (zh) * 2015-12-17 2016-05-25 布比(北京)网络技术有限公司 一种区块链溯源追踪方法
KR20180128968A (ko) 2016-04-11 2018-12-04 엔체인 홀딩스 리미티드 블록체인 기반의 암호화폐를 위한 토큰을 검증하는 컴퓨터로 구현된 방법 및 시스템
AU2017250000B2 (en) 2016-04-13 2022-11-24 Haventec Pty Ltd System of security using blockchain protocol
US10055446B2 (en) 2016-06-16 2018-08-21 The Bank Of New York Mellon Ensuring data integrity of executed transactions
TWI588763B (zh) * 2016-07-19 2017-06-21 富邦金融控股股份有限公司 基於實體資產授信虛擬貨幣之系統及其方法
CN106375493B (zh) * 2016-10-10 2020-12-18 腾讯科技(深圳)有限公司 一种跨网络通信的方法以及代理服务器
US10726342B2 (en) 2016-11-09 2020-07-28 Cognitive Scale, Inc. Cognitive information processing using a cognitive blockchain architecture
CN106788985A (zh) * 2016-11-25 2017-05-31 中国电子科技集团公司第三十研究所 一种第三方可监管的隐身地址实现方法
US11978045B2 (en) 2016-12-22 2024-05-07 Mastercard International Incorporated Method and system for anonymous directed blockchain transaction
TWM542178U (zh) * 2017-02-15 2017-05-21 Quick Retrieval Corp 隱藏及還原區塊鏈交易中交易方資訊之裝置
CN107450979B (zh) * 2017-03-28 2020-06-02 创新先进技术有限公司 一种区块链共识方法及装置
CN107451175B (zh) * 2017-05-23 2020-01-31 创新先进技术有限公司 一种基于区块链的数据处理方法及设备
CN107402824B (zh) * 2017-05-31 2020-06-02 创新先进技术有限公司 一种数据处理的方法及装置
US20180349896A1 (en) 2017-06-05 2018-12-06 Mastercard International Incorporated Method and system for anonymization of electronic transactions via blockchain
CN107579951B (zh) 2017-07-14 2020-06-19 创新先进技术有限公司 一种业务数据处理方法、业务处理方法及设备

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101628007B1 (ko) * 2015-04-07 2016-06-13 주식회사 코인플러그 당사자간 블록체인을 갖는 디지털 가상화폐의 거래시스템

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Gmaxwell, "Bitcoin privacy for the real world", Bitcoin Forum, Coinjoin, URL:https://bitcointalk.org/index.php?topic=279249.0, August 22, 2013. 1부.*

Also Published As

Publication number Publication date
CN111866008A (zh) 2020-10-30
SG11201906487TA (en) 2019-08-27
US11080664B2 (en) 2021-08-03
EP3596650B1 (en) 2021-09-01
JP6877556B2 (ja) 2021-05-26
US20190019168A1 (en) 2019-01-17
TWI686710B (zh) 2020-03-01
CN107579951B (zh) 2020-06-19
US20210233043A1 (en) 2021-07-29
PH12019501745A1 (en) 2020-06-01
US11126974B2 (en) 2021-09-21
TW201908994A (zh) 2019-03-01
US10984395B2 (en) 2021-04-20
US20200126048A1 (en) 2020-04-23
CN111866008B (zh) 2022-05-31
KR20190117485A (ko) 2019-10-16
WO2019014562A1 (en) 2019-01-17
EP3596650A1 (en) 2020-01-22
JP2020510331A (ja) 2020-04-02
CN107579951A (zh) 2018-01-12

Similar Documents

Publication Publication Date Title
KR102242221B1 (ko) 서비스 데이터 처리 방법 및 디바이스, 및 서비스 처리 방법 및 디바이스
KR102095326B1 (ko) 블록체인 노드 사이의 통신 방법 및 통신 장치
KR102200790B1 (ko) 로그인 정보 프로세싱 방법 및 디바이스
US11265177B2 (en) Blockchain consensus node selection
KR102141771B1 (ko) 멀티 블록체인 네트워크 데이터 처리 방법, 장치 및 서버
KR102239589B1 (ko) 블록체인 데이터 처리 방법 및 장치
US20190279750A1 (en) Blockchain-based data processing method and device
KR20190069574A (ko) 무선 네트워크 유형 검출 방법과 장치, 및 전자 디바이스

Legal Events

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