JP2020510331A - サービスデータ処理方法および装置、ならびにサービス処理方法および装置 - Google Patents

サービスデータ処理方法および装置、ならびにサービス処理方法および装置 Download PDF

Info

Publication number
JP2020510331A
JP2020510331A JP2019538237A JP2019538237A JP2020510331A JP 2020510331 A JP2020510331 A JP 2020510331A JP 2019538237 A JP2019538237 A JP 2019538237A JP 2019538237 A JP2019538237 A JP 2019538237A JP 2020510331 A JP2020510331 A JP 2020510331A
Authority
JP
Japan
Prior art keywords
service data
node
blockchain node
blockchain
service
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
JP2019538237A
Other languages
English (en)
Other versions
JP6877556B2 (ja
JP2020510331A5 (ja
Inventor
ハオ・ウ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Publication of JP2020510331A publication Critical patent/JP2020510331A/ja
Publication of JP2020510331A5 publication Critical patent/JP2020510331A5/ja
Application granted granted Critical
Publication of JP6877556B2 publication Critical patent/JP6877556B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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
    • 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/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
    • 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)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (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のソースアドレスおよび第1のデスティネーションアドレスを含む。第1のサービスデータに基づいて第2のサービスデータが生成され、ここで第2のサービスデータは第2のソースアドレスおよび第2のデスティネーションアドレスを含み、第2のソースアドレスは第1のソースアドレスを含み、第2のデスティネーションアドレスは第1のデスティネーションアドレスを含む。第2のサービスデータは第1のブロックチェーンノードに送信され、これにより第1のブロックチェーンノードが第2のサービスデータをチェックすることを可能にする。第1のブロックチェーンノードによって送信された確認応答情報が受信されたときに第2のサービスデータが処理される。

Description

関連出願の相互参照
本願は、2017年7月14日に出願された中国特許出願第201710575017.3号の優先権を主張するものであり、この特許出願を、参照によりその全体を本明細書に組み込む。
本願は、インターネット情報処理技術の分野およびコンピュータ技術の分野に関し、特に、サービスデータ処理方法および装置、ならびにサービス処理方法および装置に関する。
ブロックチェーン技術は分散型台帳技術とも呼ばれている。分散型インターネットデータベース技術として、ブロックチェーン技術は、分散化、透明性、不変性、および信頼性を特徴としている。ブロックチェーン技術に基づいて構築されたネットワークは、ブロックチェーンネットワークと呼ぶことができる。ブロックチェーンネットワークは、ネットワークノード(これはブロックチェーンノードとも呼ぶことができ、簡単に「ノード」と呼ばれている)を含む。各ノードは少なくとも1つのブロックチェーンに対応し、各ブロックチェーンは少なくとも1つのブロックを含む。各ブロックは少なくとも1つのサービスデータを含む。
サービスデータは通常、ソースアドレス、デスティネーションアドレス、サービスオブジェクト(たとえば、デジタル資産またはデジタル通貨)のサイズなどを含むが、これらに限定されない。サービスデータは、サービスオブジェクトをソースアドレスからデスティネーションアドレスに転送するサービスに対応している。たとえば、サービスデータがソースアドレスからデスティネーションアドレスに10人民元(サービスオブジェクト)を転送している場合、対応するサービスはソースアドレスから10人民元を消費し、デスティネーションアドレスに10人民元を追加している。
実際の用途において、サービスデータに含まれるソースアドレスおよびデスティネーションアドレスは一列の数字(または文字列)によって表すことができ、二者のサービス当事者の識別情報は明示的ではないため、その二者のサービス当事者は匿名で保護される。しかしながら、ブロックチェーンネットワークの透明性のために、ブロックチェーンネットワークに保存されたサービスデータを分析することによってサービスデータの関連付けを識別することができ、数字に対応する真正情報が関連付けから容易に推測される。たとえば、いくつかのサービスデータを分析することによって、これらのサービスデータが同じデスティネーションアドレスを有し、サービスデータに含まれるサービスオブジェクトのサイズおよび産業の特徴に基づいて数字に対応する真正情報を容易に推測することができる(たとえば、数字は銀行に対応している)ということが分かる。
これに鑑み、本願の実施形態は、サービスデータ処理方法および装置、ならびにサービス処理方法および装置を提供し、情報セキュリティを向上させる。
以下の技術的解決策が本願の実施形態において用いられる。
本願の一実施形態はサービスデータ処理方法を提供し、このサービスデータ処理方法は、少なくとも1つの第1のブロックチェーンノードによって送信された第1のサービスデータを受信するステップであって、第1のサービスデータは第1のソースアドレスおよび第1のデスティネーションアドレスを含む、ステップと、第1のサービスデータに基づいて第2のサービスデータを作成するステップであって、第2のサービスデータは第2のソースアドレスおよび第2のデスティネーションアドレスを含み、第2のソースアドレスは第1のソースアドレスを含み、第2のデスティネーションアドレスは第1のデスティネーションアドレスを含む、ステップと、第1のブロックチェーンノードが第2のサービスデータをチェックするために、第2のサービスデータを第1のブロックチェーンノードに送信するステップと、第1のブロックチェーンノードによって送信された確認応答情報(Acknowledgement Information)が受信されたときに第2のサービスデータを処理するステップと、を含む。
本願の一実施形態はサービスデータ処理方法をさらに提供し、このサービスデータ処理方法は、第1のブロックチェーンノードによって第1のサービスデータを第2のブロックチェーンノードに送信するステップであって、第1のサービスデータは第1のソースアドレスおよび第1のデスティネーションアドレスを含む、ステップと、第2のブロックチェーンノードによって作成された第2のサービスデータを受信するステップであって、第2のサービスデータは第2のソースアドレスおよび第2のデスティネーションアドレスを含み、第2のソースアドレスは第1のソースアドレスを含み、第2のデスティネーションアドレスは第1のデスティネーションアドレスを含む、ステップと、第2のサービスデータをチェックするステップと、第2のブロックチェーンノードが第2のサービスデータを処理するために、第2のブロックチェーンノードに確認応答情報を送信するステップと、を含む。
本願の一実施形態はサービス処理方法をさらに提供し、このサービス処理方法は、ブロックチェーンノードによって送信されたサービス処理要求を受信するステップであって、サービス処理要求はサービスデータ処理要件をサーバに通知するために用いられ、サービス処理要求はノード識別子を含む、ステップと、これらのノード識別子から設定数のノード識別子を選択するステップと、ブロックチェーンノードによって送信された第1のサービスデータに基づいてブロックチェーンノードの1つが第2のサービスデータを作成し第2のサービスデータを処理するために、選択されたノード識別子を含むフィードバック情報を、選択されたノード識別子に対応するブロックチェーンノードに送信するステップと、を含む。
本願の一実施形態はサービスデータ処理装置をさらに提供し、このサービスデータ処理装置は、少なくとも1つの第1のブロックチェーンノードによって送信された第1のサービスデータを受信するように構成された受信モジュールであって、第1のサービスデータは第1のソースアドレスおよび第1のデスティネーションアドレスを含む、受信モジュールと、第1のサービスデータに基づいて第2のサービスデータを作成するように構成された作成モジュールであって、第2のサービスデータは第2のソースアドレスおよび第2のデスティネーションアドレスを含み、第2のソースアドレスは第1のソースアドレスを含み、第2のデスティネーションアドレスは第1のデスティネーションアドレスを含む、作成モジュールと、第1のブロックチェーンノードが第2のサービスデータをチェックするために、第2のサービスデータを第1のブロックチェーンノードに送信するように構成された送信モジュールと、第1のブロックチェーンノードによって送信された確認応答情報が受信されたときに第2のサービスデータを処理するように構成された処理モジュールと、を含む。
本願の一実施形態はサービスデータ処理装置をさらに提供し、このサービスデータ処理装置は、第1のサービスデータを第2のブロックチェーンノードに送信するように構成された送信モジュールであって、第1のサービスデータは第1のソースアドレスおよび第1のデスティネーションアドレスを含む、送信モジュールと、第2のブロックチェーンノードによって作成された第2のサービスデータを受信するように構成された受信モジュールであって、第2のサービスデータは第2のソースアドレスおよび第2のデスティネーションアドレスを含み、第2のソースアドレスは第1のソースアドレスを含み、第2のデスティネーションアドレスは第1のデスティネーションアドレスを含む、受信モジュールと、第2のサービスデータをチェックするように構成されたチェックモジュールであって、送信モジュールが第2のブロックチェーンノードに確認応答情報を送信することで、第2のブロックチェーンノードが第2のサービスデータを処理する、チェックモジュールと、を含む。
本願の一実施形態はサービス処理装置をさらに提供し、このサービス処理装置は、ブロックチェーンノードによって送信されたサービス処理要求を受信するように構成された受信モジュールであって、サービス処理要求はサービスデータ処理要件をサーバに通知するために用いられ、サービス処理要求はノード識別子を含む、受信モジュールと、これらのノード識別子から設定数のノード識別子を選択するように構成された選択モジュールと、ブロックチェーンノードによって送信された第1のサービスデータに基づいてブロックチェーンノードの1つが第2のサービスデータを作成し第2のサービスデータを処理するために、選択されたノード識別子を含むフィードバック情報を、選択されたノード識別子に対応するブロックチェーンノードに送信するように構成された送信モジュールと、を含む。
本願の一実施形態はサービスデータ処理装置をさらに提供する。このサービスデータ処理装置は少なくとも1つのプロセッサおよびメモリを含む。メモリはプログラムを格納し、プログラムは、少なくとも1つの第1のブロックチェーンノードによって送信された第1のサービスデータを受信するステップであって、第1のサービスデータは第1のソースアドレスおよび第1のデスティネーションアドレスを含む、ステップと、第1のサービスデータに基づいて第2のサービスデータを作成するステップであって、第2のサービスデータは第2のソースアドレスおよび第2のデスティネーションアドレスを含み、第2のソースアドレスは第1のソースアドレスを含み、第2のデスティネーションアドレスは第1のデスティネーションアドレスを含む、ステップと、第1のブロックチェーンノードが第2のサービスデータをチェックするために、第2のサービスデータを第1のブロックチェーンノードに送信するステップと、第1のブロックチェーンノードによって送信された確認応答情報が受信されたときに第2のサービスデータを処理するステップとを実行するために少なくとも1つのプロセッサにより用いられる。
本願の一実施形態はサービスデータ処理装置をさらに提供する。このサービスデータ処理装置は少なくとも1つのプロセッサおよびメモリを含む。メモリはプログラムを格納し、プログラムは、第1のサービスデータを第2のブロックチェーンノードに送信するステップであって、第1のサービスデータは第1のソースアドレスおよび第1のデスティネーションアドレスを含む、ステップと、第2のブロックチェーンノードによって作成された第2のサービスデータを受信するステップであって、第2のサービスデータは第2のソースアドレスおよび第2のデスティネーションアドレスを含み、第2のソースアドレスは第1のソースアドレスを含み、第2のデスティネーションアドレスは第1のデスティネーションアドレスを含む、ステップと、第2のサービスデータをチェックするステップと、第2のブロックチェーンノードが第2のサービスデータを処理するために、第2のブロックチェーンノードに確認応答情報を送信するステップを実行するために、少なくとも1つのプロセッサによって用いられる。
本願の一実施形態はサービス処理装置をさらに提供する。このサービス処理装置は少なくとも1つのプロセッサおよびメモリを含む。メモリはプログラムを格納し、プログラムは、ブロックチェーンノードによって送信されたサービス処理要求を受信するステップであって、サービス処理要求は、第1のサービスデータを用いて第2のサービスデータを作成するための要件をサーバに通知するために用いられ、サービス処理要求はブロックチェーンノードのノード識別子を含む、ステップと、サービス処理要求に基づいてこれらのブロックチェーンノードから設定数のブロックチェーンノードを第1のブロックチェーンノードとして選択するステップと、第1のブロックチェーンノードのうちの第2のブロックチェーンノードが、第1のブロックチェーンノードによって送信された第1のサービスデータを受信し第1のサービスデータに基づいて第2のサービスデータを作成し第2のサービスデータを処理するために、選択された第1のブロックチェーンノードのノード識別子を第1のブロックチェーンノードに別々に送信するステップとを実行するために少なくとも1つのプロセッサによって用いられる。
本願の実施形態において用いられる少なくとも1つの技術的解決策は以下の有益な効果を達成することができる。
少なくとも1つの第1のブロックチェーンノードによって送信された第1のサービスデータが受信され、次いで受信された第1のサービスデータを用いて第2のサービスデータが作成される。第2のサービスデータにおいて、第2のソースアドレスは第1のソースアドレスを含み、第2のデスティネーションアドレスは第1のデスティネーションアドレスを含む。このように、第2のサービスデータにおいて、第1のソースアドレスと第1のデスティネーションアドレスとの間の1対1のマッピング関係が紛らわしい。1つの第1のソースアドレスが複数の第1のデスティネーションアドレスに対応することができ、1つの第1のデスティネーションアドレスが複数の第1のソースアドレスに対応することができ、これによりサービスデータにおけるソースアドレスとデスティネーションアドレスとの関連付けを弱めている。加えて、様々な第1のブロックチェーンノードが第2のサービスデータの作成に参加するので、第2のサービスデータを分析するとき、ソースアドレスおよびデスティネーションアドレスなどのデジタルアドレスに対応する真正情報を推測することが困難であり、その結果、真正情報が漏れることはない。
ここに記載の添付の図面は、本願のさらなる理解を提供することを意図しており、本願の一部を構成する。本願の例示的な実施形態および実施形態の説明は、本願を説明することを意図しており、本願に対する限定を構成しない。
本願の一実施形態によるサービス処理方法を示すフローチャートである。 本願の一実施形態によるサービスデータ処理方法を示すフローチャートである。 本願の一実施形態による第2のサービスデータを示す構造図である。 本願の一実施形態によるサービスデータ処理方法を示すフローチャートである。 本願の一実施形態によるサービスデータ処理方法を示すフローチャートである。 本願の一実施形態によるサービス処理装置を示す構造図である。 本願の一実施形態によるサービスデータ処理装置を示す構造図である。 本願の一実施形態によるサービスデータ処理装置を示す構造図である。 本願の一実施形態による、サービスデータ情報を匿名化するためのコンピュータ実施方法の一例を示すフローチャートである。
サービスデータの関連付けを排除することは既存の技術における問題を解決するための1つの方法であり、サービスデータを深く分析できないようにし、したがってユーザの真正情報が漏れる可能性が低くなる。たとえば、サービスデータを作成するとき、ノードが少なくとも2つのソースアドレスおよび/またはデスティネーションアドレスを提供し、サービスオブジェクトを複数のサービスサブオブジェクトに分割することができる。これらのサービスサブオブジェクトは、これらの少なくとも2つのソースアドレスおよび/またはデスティネーションアドレスの間で転送することができる。これに対応して、サービスデータは、これらの複数のサービスサブオブジェクトおよび少なくとも2つのソースアドレスおよび/またはデスティネーションアドレスを含むことができる。
しかしながら、ノードが提供できるソースアドレスまたはデスティネーションアドレスの数は限られており、それはサービスデータを処理するためのノードの負担を増大させる。これに鑑み、第2のブロックチェーンノードが、少なくとも1つの第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においてノード識別子を選択することができる。
受信されたサービス処理要求の1つが数量情報を含む場合、サーバは、そのサービス処理要求に含まれる数量情報に基づいて、この数量情報を満たすノード識別子をノード識別子の中から選択することができる。あるいは、サーバは、所定の数決定優先度に基づいてノード識別子を選択することができる。数決定優先度が、サーバによって構成された設定数の優先度がブロックチェーンによって決定された数量情報の優先度より高いことを指定する場合、サーバは方法1においてノード識別子を選択することができる。数決定優先度が、サーバによって構成された設定数の優先度がブロックチェーンによって決定された数量情報の優先度より低いことを指定する場合、サーバは方法2においてノード識別子を選択することができる。
受信されたサービス処理要求の少なくとも2つが数量情報を含む場合、複数の数量情報から1つの基準数量情報を選択する必要があるため、サーバはこの基準数量情報を満たすノード識別子をノード識別子の中から選択する。
本願のこの実施形態において、基準数量情報は、複数の数量情報の共通部分であってもよく、または複数の数量情報の平均値であってもよい。これはここでは限定されない。
ノード識別子を選択するとき、サーバは、サービス処理要求に含まれて基準数量情報を満たすノード識別子を優先的に選択するということに留意されたい。
しかしながら、数量情報を選択するとき、サーバは受信されたノード識別子の数をさらに考慮する必要がある。選択された数区間が受信されたノード識別子の数よりも少なければ、サーバがノード識別子を選択するとき、いくつかのサービスデータは時間内に処理されないことがあり、後続の第2のサービスデータは混乱しにくくなる。選択された数量情報が受信されたノード識別子の数よりも大きければ、ノード識別子を選択するとき、サーバは、受信されたサービス処理要求の数が選択された数量情報に達するようにある期間待つ必要がある。後続の第2のサービスデータはより混乱を招くが、これによりサービスデータ処理時間が長くなる可能性がある。したがって、数量情報を選択するとき、サーバは、適切な数量情報を選択し、サービスデータ処理の進行と第2のサービスデータの混乱度(Confusion Degree)との間のバランスを達成する必要がある。
方法3:サーバは、ブロックチェーンノードに事前に複数の数区間を送信することができる。各ブロックチェーンノードは、受信された数区間から1つの数区間を選択し、選択された数区間をサーバに送信する。サーバは、各ブロックチェーンノードによって送信された数区間に基づいて、同じ数区間を送信するブロックチェーンノードのノード識別子の中から設定数のノード識別子を選択してノード識別子セットを取得する。
たとえば、サーバが「5より大きい」、「10より大きい」、「50より大きい」、および「100より大きい」などの複数の数区間を提供することができる場合、各ブロックチェーンノードは、これらの数区間から1つの数区間を選択することができる。一例として「10より大きい」を用いる。サーバは、「10より大きい」を選択するブロックチェーンノードのノード識別子の中から設定数のノード識別子を選択することができ、その設定数は11から50の範囲となり得る。具体的には、サーバは、「10より大きい」を選択するブロックチェーンノードのノード識別子の中から11のノード識別子を選択、または「10より大きい」を選択するブロックチェーンノードのノード識別子の中から50のノード識別子を選択することができる。
数区間を選択するとき、各ブロックチェーンノードは、サービスデータ処理の進行を考慮する必要があるだけでなく、第2のサービスデータの混乱度も考慮する必要がある。選択された数区間の下限が比較的小さければ、サーバは、その下限を満たすノード識別子を比較的短い期間内に収集し、ブロックチェーンノードにフィードバック情報を送信することができるため、第2のサービスデータが可能な限り早く作成され得る。しかしながら、第2のサービスデータに含まれる第1のサービスデータが少なくなるので、混乱度は比較的低い。反対に、選択された数区間の下限が比較的大きければ、サーバがブロックチェーンノードにフィードバック情報を送信する前に、その下限を満たすノード識別子を収集するのにサーバは比較的長い時間がかかる可能性がある。したがって、第2のサービスデータの作成は明らかに遅れる。しかしながら、第2のサービスデータはより多くの第1のサービスデータを含むので、混乱度は比較的高い。したがって、各ブロックチェーンノードが適切な数区間を選択し、サービスデータ処理の進行と第2のサービスデータの混乱度との間のバランスを達成することができる。
サーバは数量に基づいてノード識別子を選択することができる。この選択は、ランダム選択または他の選択方法とすることができる。ここで、ノード識別子セット内のノード識別子に対応するブロックチェーンノード間、およびこのブロックチェーンノードに対応するサービスデータ間で、サービスの関連付けが欠如していると仮定して選択方法が決定される。したがって、混乱度は比較的高い。具体的な方法は限定されない。
ステップ105:ブロックチェーンノードによって送信された第1のサービスデータに基づいてブロックチェーンノードの1つが第2のサービスデータを作成し第2のサービスデータを処理するために、選択されたノード識別子を含むフィードバック情報を、選択されたノード識別子に対応するブロックチェーンノードに送信する。
本願のこの実施形態におけるノード識別子は、ブロックチェーンノードのアイデンティティを表すために用いられる。ノード識別子は、電子メールアドレスまたはIPアドレスなどのネットワーク通信アドレスを含むことができる。加えて、ノード識別子は、サービスアカウント、ソーシャルアカウントなどであってもよい。サーバによって送信されたフィードバック情報を受信すると、ブロックチェーンノードは、ノード識別子に基づいて対応するブロックチェーンノードを識別することができる。たとえば、選択されたノード識別子に対応するブロックチェーンノードは、ノード識別子を用いてデータ接続を確立し、通信することができる。
本願のこの実施形態において、選択されたノード識別子を含むフィードバック情報は、フィードバック情報に含まれるノード識別子に対応するブロックチェーンノードによって送信されたサービスデータを混合するようにサーバが命令することを意味することができる。このように、二者のサービス当事者のアイデンティティは互いにあまり関連付けられず、情報セキュリティが改善される。
好ましくは、本願のこの実施形態において、サーバは、設定数のノード識別子を選択するだけでなく(これらのノード識別子に対応するブロックチェーンノードは、サービスデータ混合に参加するオブジェクトとして働くことができ、本願のこの実施形態において第1のブロックチェーンノードと呼ぶことができる)、サービスデータ混合に参加するオブジェクトによって送信されたサービスデータに基づいて新たなサービスデータを作成するブロックチェーンノード(これは、本願のこの実施形態において第2のブロックチェーンノードと呼ぶことができる)を決定することもできる。第2のブロックチェーンノードは、選択されたノード識別子に対応するブロックチェーンノードによって送信された第1のサービスデータを受信し、次いで第1のサービスデータに基づいて第2のサービスデータを作成し、第2のサービスデータを処理するように構成される。
第2のブロックチェーンノードに対応するノード識別子は、設定数の選択されたノード識別子に含まれていてもよく(換言すれば、第2のブロックチェーンノードは、第1のブロックチェーンノードに含まれるブロックチェーンノードである)、また設定数の選択されたノード識別子に含まれていなくてもよい(換言すれば、第2のブロックチェーンノードは第1のブロックチェーンノードから独立している)。これはここでは限定されない。
サーバが第2のブロックチェーンノードを決定する場合、選択されたノード識別子を含むフィードバック情報を、選択されたノード識別子に対応するブロックチェーンノードに送信することは、ブロックチェーンノードに、選択されたノード識別子を含むとともに、第2のサービスデータを作成するように命令するためのノード識別子を含むフィードバック情報を送信することを含む。
この場合、ブロックチェーンノードは、フィードバック情報に基づいて第2のブロックチェーンノードを決定することができる。第2のサービスデータを作成するように命令するためのノード識別子はラベルまたは音声であってもよい。ラベルはテキストラベル、グラフィックラベルなどであってもよい。
加えて、サーバが第2のブロックチェーンノードを決定する場合、サーバは第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のソースアドレスおよび第1のデスティネーションアドレスを含む。
本願のこの実施形態において、第2のブロックチェーンノードは、サービスデータ処理要件を有さないブロックチェーンノードであってもよく、またはサービスデータ処理要件を有するブロックチェーンノードであってもよい。
第2のブロックチェーンノードがサービスデータ処理要件を有するブロックチェーンノードであれば、本願のこの実施形態において、少なくとも1つの第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のブロックチェーンノードによって送信された第1のサービスデータを受信することができる。
任意選択で、第2のブロックチェーンノードがサーバにサービス処理要求を送信することは、サービス処理要求を送信するブロックチェーンノードから数量情報を満たすブロックチェーンノードをサーバが選択するために、このサービス処理要求に数量情報を追加し、サービス処理要求をサーバに送信することを含む。これにより、第2のブロックチェーンノードについて、サービスデータ処理の進行と第2のサービスデータの混乱度との間のバランスを達成することができる(ステップ103を参照することができる)。
第1のブロックチェーンノード間の情報の等価性を保証するために、少なくとも1つの第1のブロックチェーンノードによって送信された第1のサービスデータを受信するとき、第2のブロックチェーンノードは第1のブロックチェーンノードに第3のサービスデータをさらに送信する。第3のサービスデータは、第2のブロックチェーンノードによって処理される必要があるサービスデータである。
データ伝送セキュリティを向上させるため、第1のブロックチェーンノードに第3のサービスデータを送信することは、暗号化された第3のサービスデータを第1のブロックチェーンノードに送信することを含むことができる。さらに、第2のブロックチェーンノードは匿名接続を介して第3のサービスデータを送信することができる。匿名接続とは、二者間の通信関係を隠すためのいくつかの措置が取られるということを意味する。たとえば、匿名アドレスや、伝送路を隠すために伝送路上に配置された複数のネットワークノードを用いて接続がなされる。
第1のサービスデータを第2のブロックチェーンノードに送信するとき、第1のブロックチェーンノードは第1のサービスデータを暗号化して第1のサービスデータの伝送セキュリティを保証することもできる。
サーバは第1のブロックチェーンノードセットを決定することができる。他の一実施形態において、ブロックチェーンネットワーク内のブロックチェーンノードが相互クエリを通じて第1のブロックチェーンノードセットを決定することができる。
ステップ204:第1のサービスデータに基づいて第2のサービスデータを作成し、ここで第2のサービスデータは第2のソースアドレスおよび第2のデスティネーションアドレスを含み、第2のソースアドレスは第1のソースアドレスを含み、第2のデスティネーションアドレスは第1のデスティネーションアドレスを含む。
図3を参照すると、図3は本願の一実施形態による第2のサービスデータを示す構造図である。
第2のサービスデータが3つの第1のサービスデータを含むと仮定すると、第1の第1のサービスデータは、第1のソースアドレスS11、第1のデスティネーションアドレスS12、および第1のサービスオブジェクトS10を含み、第2の第1のサービスデータは、第1のソースアドレスS21、第1のデスティネーションアドレスS22、および第1のサービスオブジェクトS20を含み、第3の第1のサービスデータは、第1のソースアドレスS31、第1のデスティネーションアドレスS32、および第1のサービスオブジェクトS30を含む。この場合、3つの第1のサービスデータを用いて第2のサービスデータが作成されると、第2のサービスデータは、第2のソースアドレスS01および第2のデスティネーションアドレスS02を含む。第2のソースアドレスS01は3つの独立した第1のソースアドレスS11、S21、およびS31を含み、第2のデスティネーションアドレスS02は3つの独立した第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のデスティネーションアドレスとの間の1対1のマッピング関係は分からない。したがって、第2のサービスデータ中の複数の第1のサービスデータが互いに混同されるため、第2のサービスデータは分析されにくくなる。
同じ第1のブロックチェーンノードによってブロックチェーンネットワーク内に保存された複数の第1のサービスデータを複数の異なる第2のサービスデータに混合させることができるが、対応する第1のブロックチェーンノードが異なるので、第2のサービスデータに含まれる第1のサービスデータが大きく変化することがある。そのため、関連付けを無視することができる。したがって、第2のサービスデータをこの産業に関連付けることは困難であり、ソースアドレスおよびデスティネーションアドレスなどのデジタルアドレスに対応する真正情報を推測することは困難である。
3つの第1のサービスデータが1つの第1のソースアドレスおよび1つの第1のデスティネーションアドレスをそれぞれ含むということが先の説明から分かるが、これは単に一例である。本願の他の一実施形態において、第1のサービスデータは、複数の第1のソースアドレスおよび/または複数の第1のデスティネーションアドレスを含むことができる。この場合、第1のサービスデータ内の複数の第1のソースアドレスと複数の第1のデスティネーションアドレスとの間に一定の関連付けが存在し得るが、作成された第2のサービスデータにおいて、第1のサービスデータ内の第1のソースアドレスは、他の第1のサービスデータ内の第1のソースアドレスと混合され、第1のサービスデータ内の第1のデスティネーションアドレスは、他の第1のサービスデータ内の第1のデスティネーションアドレスと混合される。加えて、第1のサービスデータは複数の第1のソースアドレスおよび/または複数の第1のデスティネーションアドレスを提供するので、第2のサービスデータはより混乱する。
先の実施形態において、第1のサービスデータの3つのみが選択されて解決策を説明したが、これらは解決策の保護範囲を限定することを意図していないということに留意されたい。特定の用途において、第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のブロックチェーンノードは第2のブロックチェーンノードに修正情報を送信する。第1のブロックチェーンノードによってフィードバックされた修正情報を受信した後、第2のブロックチェーンノードは、修正情報に基づいて第2のサービスデータを修正し、次いで確認応答情報を受信するまで、修正された第2のサービスデータをチェックのために第1のブロックチェーンノードに送信する。
第2のサービスデータを第1のブロックチェーンノードに送信することは、現在の第1のブロックチェーンノードによって送信された確認応答情報が受信された後にのみ順に第2のサービスデータを第1のブロックチェーンノードに送信することと、第2のサービスデータを次の第1のブロックチェーンノードに送信すること、または第2のブロックチェーンノードによって第2のサービスデータを第1のブロックチェーンノードの1つに送信することと、第2のサービスデータが受信されたことを第1のブロックチェーンノードがチェックした後、各第1のブロックチェーンノードによって送信された確認応答情報が受信されるまで、第2のサービスデータが正しいということを第1のブロックチェーンノードが判定した後に第2のサービスデータを次の第1のブロックチェーンノードに自動的に送信するように第1のブロックチェーンノードに命令することと、を含むことができる。
本願のこの実施形態において、暗号化された第2のサービスデータを第1のブロックチェーンノードに送信することができる。
ステップ208:第1のブロックチェーンノードによって送信された確認応答情報が受信されたときに第2のサービスデータを処理する。
本願のこの実施形態において、第2のサービスデータを処理することは、第2のサービスデータに含まれる第2のソースアドレスおよび第2のデスティネーションアドレスに基づいてサービスオブジェクトを送信することを含むことができる。
あるいは、第2のサービスデータを処理することは、コンセンサスノードが第2のサービスデータに関するコンセンサス処理を実行するために、ブロックチェーンネットワーク内のコンセンサスノードに第2のサービスデータを送信することと、第2のサービスデータが検証されれば、第2のサービスデータをブロックチェーンネットワークに保存することと、を含むことができる。
第1のブロックチェーンノードは、確認応答情報の基礎として第2のサービスデータにデジタル署名を追加することができる。コンセンサスノードが第2のサービスデータに関するコンセンサス処理を実行することは、各デジタル署名に対応する第1のサービスデータが本物かつ有効であるかどうかを検証することを含むことができる。
図4は本願の一実施形態によるサービスデータ処理方法を示すフローチャートである。この方法を以下に示す。このサービスデータ処理方法はブロックチェーンノードによって実行される。このブロックチェーンノードは、第2のブロックチェーンノードと区別されるように命名された第1のブロックチェーンノードとして説明する。
ステップ301:第1のブロックチェーンノードが第1のサービスデータを第2のブロックチェーンノードに送信し、ここで第1のサービスデータは第1のソースアドレスおよび第1のデスティネーションアドレスを含む。
実際の用途において、設定数の第1のブロックチェーンノードが第1のサービスデータを第2のブロックチェーンノードに送信し、これにより、後続の第2のサービスデータに含まれる第1のサービスデータがより混乱する。
本願のこの実施形態において、第1のサービスデータを第2のブロックチェーンノードに送信する前に、第1のブロックチェーンノードは以下の方法で第2のブロックチェーンノードを決定することができる。すなわち、サービス処理要求をサーバに送信するステップであって、サービス処理要求はサーバにサービスデータ処理要件を通知するために用いられる、ステップと、サーバから返されたフィードバック情報を受信するステップであって、フィードバック情報は、サービス処理要求をサーバに送信するブロックチェーンノードのノード識別子を含む、ステップと、フィードバック情報に含まれるノード識別子に基づいて第2のブロックチェーンノードを決定するステップと、である。
具体的には、第1のブロックチェーンノードは、フィードバック情報に含まれるノード識別子に基づいて以下の2つの方法を用いて第2のブロックチェーンノードを決定することができる。
方法1は、フィードバック情報に含まれるノード識別子の1つを選択するステップと、選択されたノード識別子について、フィードバック情報に含まれるノード識別子に対応するブロックチェーンノードにコンセンサス要求を送信するステップであって、コンセンサス要求は、選択されたノード識別子に対応するブロックチェーンノードが第2のブロックチェーンノードであるということに同意するようにブロックチェーンノードに要求するために用いられる、ステップと、選択されたノード識別子に対応するブロックチェーンノードが第2のブロックチェーンノードであるということにブロックチェーンノードが同意すれば、選択されたノード識別子に対応するブロックチェーンノードを第2のブロックチェーンノードとして決定するステップと、を含む。
方法2は、フィードバック情報における第2のサービスデータを作成するように命令するためのノード識別子に基づいて第2のブロックチェーンノードを決定するステップを含む。この場合、第2のブロックチェーンノードはサーバによって決定され、第1のブロックチェーンノードに通知される。
情報の等価性を保つために、第1のブロックチェーンノードが第1のサービスデータを第2のブロックチェーンノードに送信することは、第1のブロックチェーンノードが、第2のブロックチェーンノード、および/またはサーバによってフィードバックされたノード識別子に対応するブロックチェーンノードに第1のサービスデータを送信することを含む。この場合、第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のサービスデータを第2のブロックチェーンノードに送信し、ここで第1のサービスデータは第1のソースアドレスおよび第1のデスティネーションアドレスを含む。
ステップ405:受信した第1のサービスデータに基づいて第2のブロックチェーンノードが第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のブロックチェーンノードの数は指定されないため、比較的大量の第1のサービスデータを用いて第2のサービスデータを作成することができる。そのため、第2のサービスデータにおける第2のソースアドレスおよび第2のデスティネーションアドレスはより混乱しやすく、ブロックチェーンネットワーク内の第2のサービスデータは互いに関連付けられにくく、ブロックチェーンノードの真正情報が漏れにくくなる。
図6は本願の一実施形態によるサービス処理装置を示す構造図である。このサービス処理装置は、ブロックチェーンノードによって送信されたサービス処理要求を受信するように構成された受信モジュール51であって、サービス処理要求はサーバにサービスデータ処理要件を通知するために用いられ、サービス処理要求はノード識別子を含む、受信モジュールと、これらのノード識別子から設定数のノード識別子を選択するように構成された選択モジュール52と、ブロックチェーンノードによって送信された第1のサービスデータに基づいてブロックチェーンノードの1つが第2のサービスデータを作成し第2のサービスデータを処理するために、選択されたノード識別子を含むフィードバック情報を、選択されたノード識別子に対応するブロックチェーンノードに送信するように構成された送信モジュール53と、を含むことができる。
任意選択で、選択モジュール52がノード識別子の中から設定数のノード識別子を選択することは、受信されたサービス処理要求が数量情報を含む場合、この数量情報に基づいてノード識別子の中からこの数量情報を満たすノード識別子を選択することを含む。
任意選択で、選択モジュール52は、ノード識別子の中から設定数のノード識別子を選択した後、サービス処理要求に基づいて第2のブロックチェーンノードをさらに決定する。第2のブロックチェーンノードは、選択されたノード識別子に対応するブロックチェーンノードによって送信された第1のサービスデータを受信し、次いで第1のサービスデータに基づいて第2のサービスデータを作成し、第2のサービスデータを処理するように構成される。
任意選択で、送信モジュール53が、選択されたノード識別子を含むフィードバック情報を、選択されたノード識別子に対応するブロックチェーンノードに送信することは、選択されたノード識別子を含むとともに、第2のブロックチェーンノードが第2のサービスデータを作成するという命令を含むフィードバック情報をブロックチェーンノードに送信することを含む。
本願のこの実施形態におけるサービス処理装置はソフトウェアまたはハードウェアを用いて実現することができるということに留意されたい。これはここでは限定されない。
同じ発明の概念に基づいて、本願の一実施形態はサービス処理装置をさらに提供する。このサービス処理装置は、少なくとも1つのプロセッサおよびメモリを含む。メモリはプログラムを格納し、プログラムは、ブロックチェーンノードによって送信されたサービス処理要求を受信するステップであって、サービス処理要求は、第1のサービスデータを用いて第2のサービスデータを作成するための要件をサーバに通知するために用いられ、サービス処理要求はブロックチェーンノードのノード識別子を含む、ステップと、サービス処理要求に基づいてこれらのブロックチェーンノードから設定数のブロックチェーンノードを第1のブロックチェーンノードとして選択するステップと、選択された第1のブロックチェーンノードのノード識別子を第1のブロックチェーンノードに別々に送信するステップであって、これにより、第1のブロックチェーンノードのうちの第2のブロックチェーンノードが、第1のブロックチェーンノードによって送信された第1のサービスデータを受信し、第1のサービスデータに基づいて第2のサービスデータを作成し、第2のサービスデータを処理することを可能にする、ステップとを実行するために少なくとも1つのプロセッサによって用いられる。
プロセッサの他の機能について、先の実施形態において説明した内容を参照することができる。詳細はここでは再度説明しない。
同じ発明の概念に基づいて、本願の一実施形態はコンピュータ可読記憶媒体をさらに提供する。このコンピュータ可読記憶媒体は電子デバイスと共に用いられるプログラムを含み、プロセッサは、プログラムを実行して、ブロックチェーンノードによって送信されたサービス処理要求を受信するステップであって、サービス処理要求は、第1のサービスデータを用いて第2のサービスデータを作成するための要件をサーバに通知するために用いられ、サービス処理要求はブロックチェーンノードのノード識別子を含む、ステップと、サービス処理要求に基づいてこれらのブロックチェーンノードから設定数のブロックチェーンノードを第1のブロックチェーンノードとして選択するステップと、選択された第1のブロックチェーンノードのノード識別子を第1のブロックチェーンノードに別々に送信するステップであって、これにより第1のブロックチェーンノードのうちの第2のブロックチェーンノードが、第1のブロックチェーンノードによって送信された第1のサービスデータを受信し、第1のサービスデータに基づいて第2のサービスデータを作成し、第2のサービスデータを処理することを可能にする、送信するステップとを行う。
プロセッサの他の機能について、先の実施形態において説明した内容を参照することができる。詳細はここでは再度説明しない。
ここでのサービス処理装置またはコンピュータ可読記憶媒体は、受信されたサービス処理要求に基づいてブロックチェーンノードを割り当て、サービスデータ処理要件を有するブロックチェーンノードを効果的に編成するように構成されるため、サービス処理がより秩序正しく効率的になる。
図7は本願の実施形態によるサービスデータ処理装置を示す構造図である。このサービスデータ処理装置は、少なくとも1つの第1のブロックチェーンノードによって送信された第1のサービスデータを受信するように構成された受信モジュール61であって、第1のサービスデータは第1のソースアドレスおよび第1のデスティネーションアドレスを含む、受信モジュールと、第1のサービスデータに基づいて第2のサービスデータを作成するように構成された作成モジュール62であって、第2のサービスデータは第2のソースアドレスおよび第2のデスティネーションアドレスを含み、第2のソースアドレスは第1のソースアドレスを含み、第2のデスティネーションアドレスは第1のデスティネーションアドレスを含む、作成モジュールと、第2のサービスデータを第1のブロックチェーンノードに送信し、第1のブロックチェーンノードが第2のサービスデータをチェックするように構成された送信モジュール63と、第1のブロックチェーンノードによって送信された確認応答情報が受信されたときに第2のサービスデータを処理するように構成された処理モジュール64と、を含むことができる。
任意選択で、処理モジュール64が第2のサービスデータを処理することは、ブロックチェーンネットワーク内のコンセンサスノードに第2のサービスデータを送信することであって、これによりコンセンサスノードが第2のサービスデータに関するコンセンサス処理を実行することを可能にする、送信することと、第2のサービスデータが検証されれば、第2のサービスデータをブロックチェーンネットワークに保存することと、を含む。
任意選択で、送信モジュール63は、受信モジュール61が少なくとも1つの第1のブロックチェーンノードによって送信された第1のサービスデータを受信する前に、サービス処理要求をサーバに送信する。サービス処理要求は、サーバにサービスデータ処理要件を通知するために用いられる。
任意選択で、サービスデータ処理装置は決定モジュール65をさらに含む。
受信モジュール61は、サーバによって返されたフィードバック情報を受信し、ここでフィードバック情報は、サーバにサービス処理要求を送信するブロックチェーンノードのノード識別子を含む。
決定モジュール65は、フィードバック情報に含まれるノード識別子に基づいて第1のブロックチェーンノードを決定する。
任意選択で、決定モジュール65が、フィードバック情報に含まれるノード識別子に基づいて第1のブロックチェーンノードを決定することは、フィードバック情報に含まれるノード識別子に対応するブロックチェーンノードを第1のブロックチェーンノードとして決定すること、またはフィードバック情報に含まれるノード識別子の中から設定数のノード識別子を選択することと、選択されたノード識別子に対応するブロックチェーンノードを第1のブロックチェーンノードとして決定することと、を含む。
任意選択で、送信モジュール63がサービス処理要求をサーバに送信することは、サービス処理要求に数量情報を追加し、サービス処理要求をサーバに送信することを含み、これによりサーバが、サービス処理要求を送信するブロックチェーンノードから数量情報を満たすブロックチェーンノードを選択することを可能にする。
任意選択で、送信モジュール63は、第1のブロックチェーンノードに第3のサービスデータを送信する。
作成モジュール62が第1のサービスデータに基づいて第2のサービスデータを作成することは、第1のサービスデータと第3のサービスデータに基づいて第2のサービスデータを作成することを含む。
任意選択で、送信モジュール63が第1のブロックチェーンノードに第3のサービスデータを送信することは、暗号化された第3のサービスデータを第1のブロックチェーンノードに送信することを含む。
本願のこの実施形態におけるサービスデータ処理装置はソフトウェアまたはハードウェアを用いて実現することができるということに留意されたい。これはここでは限定されない。
同じ発明の概念に基づいて、本願の一実施形態はサービスデータ処理装置をさらに提供する。このサービスデータ処理装置は少なくとも1つのプロセッサおよびメモリを含む。メモリはプログラムを格納し、プログラムは、少なくとも1つの第1のブロックチェーンノードによって送信された第1のサービスデータを受信するステップであって、第1のサービスデータは第1のソースアドレスおよび第1のデスティネーションアドレスを含む、ステップと、第1のサービスデータに基づいて第2のサービスデータを作成するステップであって、第2のサービスデータは第2のソースアドレスおよび第2のデスティネーションアドレスを含み、第2のソースアドレスは第1のソースアドレスを含み、第2のデスティネーションアドレスは第1のデスティネーションアドレスを含む、ステップと、第2のサービスデータを第1のブロックチェーンノードに送信するステップであって、これにより第1のブロックチェーンノードが第2のサービスデータをチェックすることを可能にする、ステップと、第1のブロックチェーンノードによって送信された確認応答情報が受信されたときに第2のサービスデータを処理するステップとを実行するために少なくとも1つのプロセッサによって用いられる。
プロセッサの他の機能について、先の実施形態において説明した内容を参照することができる。詳細はここでは再度説明しない。
同じ発明の概念に基づいて、本願の一実施形態はコンピュータ可読記憶媒体をさらに提供する。このコンピュータ可読記憶媒体は電子デバイスと共に用いられるプログラムを含み、プロセッサは、プログラムを実行して、少なくとも1つの第1のブロックチェーンノードによって送信された第1のサービスデータを受信するステップであって、第1のサービスデータは第1のソースアドレスおよび第1のデスティネーションアドレスを含む、ステップと、第1のサービスデータに基づいて第2のサービスデータを作成するステップであって、第2のサービスデータは第2のソースアドレスおよび第2のデスティネーションアドレスを含み、第2のソースアドレスは第1のソースアドレスを含み、第2のデスティネーションアドレスは第1のデスティネーションアドレスを含む、ステップと、第2のサービスデータを第1のブロックチェーンノードに送信するステップであって、第1のブロックチェーンノードが第2のサービスデータをチェックすることを可能にする、ステップと、第1のブロックチェーンノードによって送信された確認応答情報が受信されたときに第2のサービスデータを処理するステップとを行う。
プロセッサの他の機能について、先の実施形態において説明した内容を参照することができる。詳細はここでは再度説明しない。
ここでのサービスデータ処理装置またはコンピュータ可読記憶媒体は、第1のブロックチェーンノードによって送信された第1のサービスデータに基づいて第2のサービスデータを作成するように構成することができるため、第1のサービスデータは互いに混同され、第1のブロックチェーンノードに対応する真正情報が漏れることはない。加えて、このサービスデータ処理装置は、複数の第1のサービスデータを混合してチェックした後に第2のサービスデータを処理することができ、サービス処理効率が向上する。
図8は本願の実施形態によるサービスデータ処理装置を示す構造図である。このサービスデータ処理装置は、第1のサービスデータを第2のブロックチェーンノードに送信するように構成された送信モジュール71であって、第1のサービスデータは第1のソースアドレスおよび第1のデスティネーションアドレスを含む、送信モジュールと、第2のブロックチェーンノードによって作成された第2のサービスデータを受信するように構成された受信モジュール72であって、第2のサービスデータは第2のソースアドレスおよび第2のデスティネーションアドレスを含み、第2のソースアドレスは第1のソースアドレスを含み、第2のデスティネーションアドレスは第1のデスティネーションアドレスを含む、受信モジュールと、第2のサービスデータをチェックするように構成されたチェックモジュール73と、を含むことができる。
送信モジュール71は、第2のブロックチェーンノードに確認応答情報を送信し、これにより第2のブロックチェーンノードが第2のサービスデータを処理することを可能にする。
任意選択で、サービスデータ処理装置は決定モジュール74をさらに含む。
送信モジュール71は、第1のサービスデータを第2のブロックチェーンノードに送信する前に、サービス処理要求をサーバに送信し、ここでサービス処理要求はサーバにサービスデータ処理要件を通知するために用いられる。
受信モジュール72は、サーバによって返されたフィードバック情報を受信し、ここでフィードバック情報は、サービス処理要求をサーバに送信するブロックチェーンノードのノード識別子を含む。
決定モジュール74は、フィードバック情報に含まれるノード識別子に基づいて第2のブロックチェーンノードを決定する。
任意選択で、決定モジュール74が、フィードバック情報に含まれるノード識別子に基づいて第2のブロックチェーンノードを決定することは、フィードバック情報に含まれるノード識別子の1つを選択することと、選択されたノード識別子について、フィードバック情報に含まれるノード識別子に対応するブロックチェーンノードにコンセンサス要求を送信し、コンセンサス要求は、選択されたノード識別子に対応するブロックチェーンノードが第2のブロックチェーンノードであるということに同意するようブロックチェーンノードに要求するために用いられることと、選択されたノード識別子に対応するブロックチェーンノードが第2のブロックチェーンノードであるということにブロックチェーンノードが同意すれば、選択されたノード識別子に対応するブロックチェーンノードを第2のブロックチェーンノードとして決定することと、を含む。
任意選択で、決定モジュール74が、フィードバック情報に含まれるノード識別子に基づいて第2のブロックチェーンノードを決定することは、フィードバック情報に含まれる第2のブロックチェーンノードのノード識別子に基づいて、第2のブロックチェーンノードが第2のサービスデータを作成するという命令に基づいて、第2のブロックチェーンノードを決定することを含む。
任意選択で、送信モジュール71が第1のサービスデータを第2のブロックチェーンノードに送信することは、第2のブロックチェーンノード、および/またはサーバによってフィードバックされたノード識別子に対応するブロックチェーンノードに第1のサービスデータを送信することを含む。
本願のこの実施形態におけるサービスデータ処理装置はソフトウェアまたはハードウェアを用いて実現することができるということに留意されたい。これはここでは限定されない。
同じ発明の概念に基づいて、本願の一実施形態はサービスデータ処理装置をさらに提供する。このサービスデータ処理装置は少なくとも1つのプロセッサおよびメモリを含む。メモリはプログラムを格納し、プログラムは、第1のサービスデータを第2のブロックチェーンノードに送信するステップであって、第1のサービスデータは第1のソースアドレスおよび第1のデスティネーションアドレスを含む、ステップと、第2のブロックチェーンノードによって作成された第2のサービスデータを受信するステップであって、第2のサービスデータは第2のソースアドレスおよび第2のデスティネーションアドレスを含み、第2のソースアドレスは第1のソースアドレスを含み、第2のデスティネーションアドレスは第1のデスティネーションアドレスを含む、ステップと、第2のサービスデータをチェックするステップと、第2のブロックチェーンノードに確認応答情報を送信するステップであって、これにより第2のブロックチェーンノードが第2のサービスデータを処理することを可能にする、ステップとを実行するために少なくとも1つのプロセッサによって用いられる。
プロセッサの他の機能について、先の実施形態において説明した内容を参照することができる。詳細はここでは再度説明しない。
同じ発明の概念に基づいて、本願の一実施形態はコンピュータ可読記憶媒体をさらに提供する。このコンピュータ可読記憶媒体は、電子デバイスと共に用いられるプログラムを含み、プロセッサは、プログラムを実行して、第1のサービスデータを第2のブロックチェーンノードに送信するステップであって、第1のサービスデータは第1のソースアドレスおよび第1のデスティネーションアドレスを含む、ステップと、第2のブロックチェーンノードによって作成された第2のサービスデータを受信するステップであって、第2のサービスデータは第2のソースアドレスおよび第2のデスティネーションアドレスを含み、第2のソースアドレスは第1のソースアドレスを含み、第2のデスティネーションアドレスは第1のデスティネーションアドレスを含む、ステップと、第2のサービスデータをチェックするステップと、第2のブロックチェーンノードに確認応答情報を送信するステップであって、これにより第2のブロックチェーンノードが第2のサービスデータを処理することを可能にする、ステップとを行う。
プロセッサの他の機能について、先の実施形態において説明した内容を参照することができる。詳細はここでは再度説明しない。
1990年代においては、技術がハードウェアの観点から改善されている(たとえば、ダイオード、トランジスタ、またはスイッチなどの回路構造が改善されている)のか、ソフトウェアの観点から改善されている(方法手順が改善されている)のかは明らかに識別することができる。しかしながら、技術が発展するにつれて、多くの方法手順についての現在の改良はハードウェア回路構造に対する直接的な改良とみなすことができる。設計者は通常、改良された方法手順をハードウェア回路にプログラムして、対応するハードウェア回路構造を得る。したがって、ハードウェアモジュールが方法手順を改善することができる。たとえば、プログラマブルロジックデバイス(PLD)(たとえば、フィールドプログラマブルゲートアレイ(FPGA))はそのような集積回路であり、プログラマブルロジックデバイスの論理機能はデバイスプログラミングを通してユーザによって判定される。設計者は、特定用途向け集積回路チップの設計および製造をチップ製造者に要求することなく、プログラミングを通してデジタルシステムをPLDに「統合する」。加えて、集積回路チップを手作業で製造する代わりに、プログラミングはほとんど「論理コンパイラ」ソフトウェアを変形することによって今日実施されており、論理コンパイラソフトウェアは、プログラムの開発とコンパイルに用いられるソフトウェアコンパイラに似ている。コンパイルする前の元のコードも特定のプログラミング言語で書かれており、これはハードウェア記述言語(HDL)と呼ばれている。アドバンストブール演算式言語(ABEL)、アルテラハードウェア記述言語(AHDL)、コンフルエンス、コーネル大学プログラミング言語(CUPL)、HDCal、Java(登録商標)ハードウェア記述言語(JHDL)、Lava、Lola、MyHDL、PALASM、およびRubyハードウェア記述言語(RHDL)など、多くのHDLがある。現在、超高速集積回路ハードウェア記述言語(VHDL)およびヴェリログが最も一般的に用いられている。論理的方法手順を実施するハードウェア回路は、記載したハードウェア記述言語を用いることによってこの方法手順が論理的にプログラムされ、集積回路にプログラムされると、容易に得ることができるということも当業者は理解すべきである。
任意の適切な方法でコントローラを実装することができる。たとえば、コントローラは、マイクロプロセッサ、プロセッサ、またはプロセッサもしくはマイクロプロセッサが実行することができるコンピュータ可読プログラムコード(たとえば、ソフトウェアまたはファームウェア)を格納するコンピュータ可読媒体、論理ゲート、スイッチ、特定用途向け集積回路(ASIC)、プログラマブルロジックコントローラ、または内蔵マイクロプロセッサとすることができる。コントローラの例には、以下のマイクロコントローラが含まれるが、これらに限定されない。すなわち、ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20、またはSilicon Labs C8051F320である。メモリの制御ロジックの一部としてメモリコントローラを実装することもできる。当業者はまた、純粋なコンピュータ可読プログラムコードという方法においてコントローラを実装することができるということ、この方法におけるステップを論理的にプログラムして論理ゲート、スイッチ、特定用途向け集積回路、プログラマブルロジックコントローラ、内蔵マイクロコントローラなどの形態でコントローラが同じ機能を実現することを可能にできるということを知っている。したがって、コントローラはハードウェアコンポーネントとみなすことができ、コントローラにおいて様々な機能を実現するように構成された装置もハードウェアコンポーネント内の構造とみなすことができる。あるいは、様々な機能を実現するように構成された装置は、方法を実行することができるソフトウェアモジュール、またはハードウェアコンポーネントにおける構造とみなすことができる。
先の実施形態において説明したシステム、装置、モジュール、またはユニットは、コンピュータチップまたはエンティティによって具体的に実現することができ、または特定の機能を備えた製品によって実現することができる。典型的な実施装置はコンピュータである。具体的には、コンピュータは、たとえば、パーソナルコンピュータ、ラップトップコンピュータ、携帯電話、カメラ付き電話、スマートフォン、パーソナルデジタルアシスタント、メディアプレーヤ、ナビゲーション装置、電子メール装置、ゲーム機、タブレットコンピュータ、ウェアラブルデバイス、またはこれらのデバイスの組み合わせとすることができる。
説明を容易にするために、記載した装置は、様々なユニットに機能を分割することによって説明されている。もちろん、本願が実施されるとき、各ユニットの機能は1つまたは複数のソフトウェアおよび/またはハードウェアにおいて実現することができる。
当業者は、本開示の実施形態は方法、システム、またはコンピュータプログラム製品として提供することができるということを理解すべきである。したがって、本開示は、ハードウェアのみの実施形態、ソフトウェアのみの実施形態、またはソフトウェアとハードウェアとの組み合わせを用いた実施形態という形態を用いることができる。加えて、本開示は、コンピュータ使用可能プログラムコードを含む1つまたは複数のコンピュータ使用可能記憶媒体(磁気ディスク記憶装置、CD-ROM、光メモリなどを含むがこれらに限定されない)上に実装されるコンピュータプログラム製品の形態を用いることができる。
本開示は、本開示の実施形態に基づく方法、装置(システム)、およびコンピュータプログラム製品のフローチャートおよび/またはブロック図を参照して説明している。フローチャートおよび/またはブロック図中の各プロセスおよび/または各ブロック、ならびにフローチャートおよび/またはブロック図中のプロセスおよび/またはブロックの組み合わせを実現するためにコンピュータプログラム命令を用いることができるということが理解されるべきである。これらのコンピュータプログラム命令は、汎用コンピュータ、専用コンピュータ、組み込みプロセッサ、または機械を生成するための他のプログラム可能データ処理装置のプロセッサに提供することができるので、コンピュータまたは他のプログラム可能データ処理装置のプロセッサによって実行される命令は、フローチャート中の1つまたは複数のプロセスおよび/またはブロック図中の1つまたは複数のブロックにおいて特定の機能を実現するための装置を生成する。
これらのコンピュータプログラム命令は、コンピュータまたは他のプログラム可能データ処理装置に特定の方法で動作するように命令することができるコンピュータ可読メモリに格納することができるので、コンピュータ可読メモリに格納された命令は、命令装置を含むアーチファクトを生成する。命令装置は、フローチャート中の1つまたは複数のプロセスおよび/またはブロック図中の1つまたは複数のブロックにおいて特定の機能を実現する。
これらのコンピュータプログラム命令は、コンピュータまたは他のプログラム可能データ処理装置にロードすることができるので、コンピュータまたは他のプログラム可能装置上で一連の動作およびステップが実行され、これによってコンピュータ実施処理が生成される。このように、コンピュータまたは他のプログラム可能装置上で実行される命令は、フローチャート中の1つまたは複数のプロセスおよび/またはブロック図中の1つまたは複数のブロックにおいて特定の機能を実現するためのステップを提供する。
典型的な構成において、コンピューティングデバイスが、1つまたは複数のプロセッサ(CPU)と、入力/出力インタフェースと、ネットワークインタフェースと、メモリと、を含む。
メモリは、リードオンリーメモリ(ROM)またはフラッシュメモリのようなコンピュータ可読媒体において揮発性メモリ、ランダムアクセスメモリ(RAM)、および/または不揮発性メモリなどを含むことができる。メモリはコンピュータ可読媒体の一例である。
コンピュータ可読媒体は、揮発性および不揮発性、移動可能および移動不能の媒体を含み、任意の方法または技術を用いて情報を格納することができる。情報は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータであり得る。コンピュータ記憶媒体の例には、パラメータランダムアクセスメモリ(PRAM)、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、他のタイプのランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、電気的消去可能プログラマブルリードオンリーメモリ(EEPROM)、フラッシュメモリまたは他のメモリ技術、コンパクトディスクリードオンリーメモリ(CD-ROM)、デジタル多用途ディスク(DVD)または他の光学記憶装置、磁気テープ、磁気ディスク記憶装置、他の磁気記憶装置、またはコンピューティングデバイスがアクセスできる情報を格納するために用いることができる任意の他の非送信媒体が含まれるが、これらに限定されない。この明細書において説明したように、コンピュータ可読媒体は、一時的媒体、たとえば変調データ信号および搬送波を含まない。
「含む」、「含有する」という用語、または任意の他の変形は、非排他的な包含を網羅することを意図しているので、一連の要素を含むプロセス、方法、物品、または装置はこれらの要素を含むだけでなく、明示的に列挙されていない他の要素をも含み、またはそのようなプロセス、方法、物品、または装置に固有の要素をさらに含むということにさらに留意されたい。より多くの制約がなければ、「・・・を含む」の前の要素は、その要素を含むプロセス、方法、物品、または装置における追加の同一の要素の存在を排除しない。
本願は、プログラムモジュールのようなコンピュータによって実行されるコンピュータ実行可能命令の一般的な文脈において説明することができる。一般に、プログラムモジュールは、特定のタスクを実行するかまたは特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。本願は、分散コンピューティング環境においても実施することができる。これらの分散コンピューティング環境においては、通信ネットワークを用いて接続された遠隔処理装置によってタスクが実行される。分散コンピューティング環境において、プログラムモジュールは、記憶装置を含むローカルおよびリモートコンピュータ記憶媒体に配置することができる。
この明細書における実施形態はすべて漸進的な方法で記載されている。実施形態における同一または類似の部分については、これらの実施形態を参照することができる。各実施形態は他の実施形態との違いに焦点を当てている。特に、システムの実施形態は方法の実施形態と基本的に同じであり、簡単に説明している。関連部分について、方法の実施形態における関連説明を参照することができる。
先の説明は単に本願の実施形態に過ぎず、本願を限定することを意図していない。当業者にとって、本願は様々な修正および変更を有することができる。本願の精神および原理内でなされたいかなる修正、均等な置換、改良なども、本願の特許請求の範囲の保護範囲内に含まれるものとする。
図9は、本開示の一実施形態による、サービスデータ情報を匿名化するためのコンピュータ実施方法900の一例を示すフローチャートである。方法900は、上述の実施形態を参照して説明したように、第2のブロックチェーンノード内の1つまたは複数のプロセッサによって実行することができる。たとえば、方法900は、図7を参照して説明したサービスデータ処理装置によって実行することができる。提示を明確にするために、以下の説明は、この説明における他の図の文脈で方法900を一般的に説明している。しかしながら、方法900は、たとえば必要に応じて任意のシステム、環境、ソフトウェア、およびハードウェア、またはシステム、環境、ソフトウェア、およびハードウェアの組み合わせによって実行することができるということが理解されよう。いくつかの実施形態において、方法900の様々なステップを並行して、組み合わせて、ループで、または任意の順序で実行することができる。
902で、第1のサービスデータが複数のノードから受信される。第1のサービスデータは複数の第1のソースアドレスおよび複数の第1のデスティネーションアドレスに関連している。たとえば、複数のノードの各ノードから受信された第1のサービスデータは、第1のソースアドレスおよび第1のデスティネーションアドレスに関連していてもよい。第1のサービスデータは、ブロックチェーンノード間の複数のデータ転送に関連していてもよい。各データ転送は、ソースノードとデスティネーションノードとの間のサービスオブジェクト(たとえば、通貨の転送)に対応することがある。したがって、第1のサービスデータは、複数のデータ転送に関連する複数のサービスオブジェクト、複数のソースアドレス、および複数のデスティネーションアドレスを含むことができる。902から、方法900は904に進む。
904で、第2のサービスデータが形成される。第2のサービスデータは第2のソースアドレスおよび第2のデスティネーションアドレスを含む。第2のソースアドレスは、第1のサービスデータに関連する複数の第1のソースアドレスを含む。第2のデスティネーションアドレスは、第1のサービスデータに関連する複数の第1のデスティネーションアドレスを含む。図3が一例の第2のサービスデータを提供している。図3における第2のサービスデータは、3つの第1のソースアドレスを含む第2のソースアドレスと、3つの第1のデスティネーションアドレスを含む第2のデスティネーションアドレスとを有する。第2のサービスデータは、第1のサービスデータに関連する複数のサービスオブジェクトも含むことができる。図3における第2のサービスデータは、3つのサービスオブジェクトS10、S20、およびS30を含む。第2のサービスデータにおけるソースアドレスおよびデスティネーションアドレスは互いに対応していない。したがって、どのソースアドレスとどのデスティネーションアドレスとが互いに関連(たとえば、データ転送に関連)していたかは明確でない。同様に、サービスオブジェクトを混合して、どのデータオブジェクトがどのソースアドレスからどのデスティネーションアドレスに実行された(たとえば、転送された)かが明確にならないようにすることができる。904から、方法900は906に進む。
906で、第2のサービスデータはブロックチェーンノードのセット(たとえば、第1のブロックチェーンノード)に送信される。このブロックチェーンノードのセットは、複数のブロックチェーンノードの1つまたは複数のノードを含む。ブロックチェーンノードのセット内の各ノードは、第2のソースデータをレビューし、902においてノードによって提供されたデータが第2のソースデータに含まれているかどうかを判断する。たとえば、各ノードは、第2のソースアドレスがノードによって提供された第1のソースアドレスを含むかどうかを判断することができる。同様に、各ノードは、第2のソースアドレスがノードによって提供された第1のデスティネーションアドレスおよび/または第1のサービスオブジェクトを含むかどうかを判断することができる。ブロックチェーンノードのセットは、複数のノードからランダムに選択されたセットであってもよい。セット内のノードの数は、規則に基づいて、またはデフォルトの数(たとえば、1つのノード)に基づいて決定することができる。906から、方法900は908に進む。
908で、ブロックチェーンノードのセットから1つまたは複数の検証メッセージが受信される。たとえば、ブロックチェーンノードのセットの各ノードが検証メッセージを送信してもよい。ノードから受信された検証メッセージは、第2のサービスデータがノードによって提供された第1のサービスデータの一部を含むことを検証する。908から、方法900は910に進む。
910で、第2のサービスデータが処理される。たとえば、第1のサービスデータが複数のノード間の通貨トランザクションを含むとき、第2のサービスデータを処理してトランザクションを合計し、1つのノードのセット間のトランザクションの合計量をブロックチェーンネットワーク内の他のノードのセットに提供することができる。
第2のサービスデータは、ノードのセット内のすべてのノードから検証メッセージを受信したことに応じて処理される。いくつかの実施形態において、1つまたは複数のノードが、第1のサービスデータにおけるそれぞれの部分が第2のサービスデータに含まれないと判断すると、その1つまたは複数のノードは検証メッセージの代わりに障害メッセージを送出する。障害メッセージは、第2のサービスデータに第1のサービスデータの少なくとも一部がないということを示す。ノードによって送信された障害メッセージは、そのノードによって提供された第1のサービスデータの一部を含むことができる。障害メッセージの情報を用いて、ノードによって提供された第1のサービスデータの一部を含むように第2のサービスデータを更新することができる。
上で説明したように、方法900は第2のノードによって実行することができる。第2のノードは、上記複数のノードの中のノードであっても、上記複数のノードから独立したノードであってもよい。第2のノードは、サーバによって、または上記複数のノードのノード間のコンセンサスに基づいて決定することができる。
サーバは、上記複数のノードの中のノードを決定することができる。たとえば、サーバはブロックチェーンのノードからサービスデータ処理要求を受信することができる。サーバは、サービス処理要求を送信したノードの中から複数のノードを決定することができる。上記複数のノードにおけるノードの数は、デフォルト数に基づいて、または1つまたは複数のサービスデータ処理要求に含まれる数量情報に基づいて決定することができる。要求ノードから受信された数量情報は、その要求ノードを含むことになる複数のノードに含まれるべきノードの数を示す。たとえば、数量情報は、最大数、最小数、範囲、またはノードの正確な数を含むことができる。
複数のノードを決定すると、サーバは、複数のノード内のノードのそれぞれにフィードバック情報を送信する。フィードバック情報は、複数のノード内の各ノードのアイデンティティ(本明細書においては「ノード識別子」とも呼ばれる)を含む。サーバはまた、第2のノード(方法900の実行を担当する)を決定し、フィードバック情報の一部として第2のノードのアイデンティティを送信してもよい。フィードバック情報は、第2のノードに対する命令を含むことができる。この命令は、906におけるノードのセット内のノードの数(またはノードの数を決定するための規則)など、方法900を実行するための詳細を含むことができる。
いくつかの実施形態において、第2のノードは、上記複数のノードの中のノードによって選択される。たとえば、フィードバック情報により、上記複数のノードの中のノードは、自らの上記複数のノードとの関連について知ることができる。上記複数のノード内のあるノードが、あるノードを(たとえば、上記複数のノードの中から)第2のノードとして選択し、選択されたノードを第2のノードとして割り当てることに関するコンセンサスを求めるコンセンサス要求を上記複数のノード内の他のノードに送信することができる。上記複数のノード内のすべて(またはいくつか、たとえば、多数)のノードからコンセンサスを受信すると、選択されたノードを第2のノードとして割り当てることができる。
いくつかの実施形態において、ブロックチェーンノードのセットのすべてのノードから検証メッセージを受信したことに応じて、第2のサービスデータはブロックチェーンネットワークに保存される。たとえば、第2のサービスデータはブロックチェーンノードの複数のノードに保存することができる。複数のノードの1つまたは複数のノードは、上記複数のノードのノード以外(すなわち外部)であってもよい。いくつかの実施形態において、上記複数のノードの各ノードは、第1のサービスデータにおいてデジタル署名を含み、第2のサービスデータは、上記複数のノードのすべてのノードの署名が第2のサービスデータに含まれているとの判定に応じてブロックチェーンネットワークに保存される。たとえば、第2のサービスデータは、フィードバック情報におけるノード識別子に対して第2のサービスデータにおけるデジタル署名をチェックするコンセンサスノードに送信されてもよい。複数のノードのすべてのノードの署名が第2のサービスデータに含まれていることを確認する確認メッセージをコンセンサスノードから受信すると、第2のサービスデータをブロックチェーンネットワークに保存することができる。コンセンサスノードは、上記複数のノードの中のノードであっても、上記複数のノードから独立したノードであってもよい。たとえば、サーバは、フィードバック情報における命令部分においてコンセンサスノードを識別することができる。
ブロックチェーンは、複数のノードにデータ転送を記録する分散型ネットワークである(集中型ネットワークにおける1つのノードにおける記録とは対照的に)。したがって、ブロックチェーンにおけるデータ転送の記録は、複数のノードにおける記録を変更しない限り変更することができない。各記録はデータ転送のサービスデータを含む。サービスデータは、データ転送に関連するソースアドレス、デスティネーションアドレス、およびサービスオブジェクトを含む。たとえば、サービスデータは、ブロックチェーンの第1のノードから第2のノードへの通貨(たとえば、ドル)の転送であってもよい。ブロックチェーンにおいて、サービスデータの内容は容易に識別することができ、このことは機微なデータ(たとえば、銀行口座情報、取引金額など)の漏洩などのセキュリティ問題につながる。たとえば、通貨の転送に関連するソースアドレスおよびデスティネーションアドレスと金銭的価値とは、ブロックチェーンノードにおける記録から識別することができる。
本開示の実施形態は、サービスデータの情報を匿名化することによってブロックチェーンにおけるセキュリティを改善するための技術を提供する。これらの実施形態は、複数のデータ転送の情報を組み合わせて、データ転送のそれぞれのソース、デスティネーション、および/またはサービスオブジェクトを匿名化する。たとえば、各データ転送についてのサービスデータを記録する代わりに、これらの実施形態は、データ転送のソースとデスティネーションとの間の1対1の関係を記録せずに複数のデータ転送のデータを記録する。したがって、データ転送は複数のノードにわたって依然記録されるが、各データ転送の詳細は明確でない。
この明細書において説明した実施態様および動作は、デジタル電子回路において、またはこの明細書において開示された構造を含む、コンピュータソフトウェア、ファームウェア、もしくはハードウェアにおいて、またはそれらの1つまたは複数の組み合わせにおいて実施することができる。これらの動作は、1つまたは複数のコンピュータ可読記憶装置上に格納された、または他のソースから受信されたデータに関してデータ処理装置によって実行される動作として実施することができる。データ処理装置、コンピュータ、またはコンピューティングデバイスは、データを処理するための装置、デバイス、およびマシンを包含することができ、例としてプログラマブルプロセッサ、コンピュータ、チップ上のシステム、または前述のものの複数のもの、もしくは組み合わせを含む。この装置は、専用論理回路、たとえば、中央処理装置(CPU)、フィールドプログラマブルゲートアレイ(FPGA)または特定用途向け集積回路(ASIC)を含むことができる。この装置は、問題のコンピュータプログラムのための実行環境を作成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム(たとえばオペレーティングシステムまたはオペレーティングシステムの組み合わせ)、クロスプラットフォームランタイム環境、仮想マシン、またはそれらの1つまたは複数の組み合わせを構成するコードも含むことができる。この装置と実行環境は、ウェブサービス、分散コンピューティングおよびグリッドコンピューティングインフラストラクチャなど、様々な異なるコンピューティングモデルインフラストラクチャを実現することができる。
コンピュータプログラム(たとえば、プログラム、ソフトウェア、ソフトウェアアプリケーション、ソフトウェアモジュール、ソフトウェアユニット、スクリプト、またはコードとしても知られている)は、コンパイルまたはインタプリタされた言語、宣言型または手続き型言語を含む任意の形態のプログラミング言語で記述することができ、スタンドアロンプログラムとして、またはモジュールとして、コンポーネント、サブルーチン、オブジェクト、またはコンピューティング環境における使用に適した他のユニットを含む任意の形態でデプロイすることができる。プログラムは、他のプログラムもしくはデータ(たとえば、マークアップ言語ドキュメントに格納された1つまたは複数のスクリプト)を保持するファイルの一部に、問題のプログラム専用の単一ファイルに、または複数の協調ファイル(たとえば、1つまたは複数のモジュール、サブプログラム、またはコードの一部を格納するファイル)に格納することができる。コンピュータプログラムは、1つのコンピュータ上で、または1つのサイトに配置された、もしくは複数のサイトにわたって分散されて通信ネットワークによって相互接続された複数のコンピュータ上で実行することができる。
コンピュータプログラムを実行するためのプロセッサは、例として、汎用および専用の両方のマイクロプロセッサ、および任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサを含む。一般に、プロセッサは、リードオンリーメモリまたはランダムアクセスメモリまたは両方から命令およびデータを受信することになる。コンピュータの必須要素は、命令に従ってアクションを実行するためのプロセッサと、命令およびデータを格納するための1つまたは複数のメモリデバイスと、である。一般に、コンピュータはまた、データを格納するための1つまたは複数の大容量記憶装置を含むか、またはそこからデータを受信もしくはそこへデータを転送、もしくは両方をするように動作可能に結合される。コンピュータは、他のデバイス、たとえば、モバイルデバイス、携帯情報端末(PDA)、ゲームコンソール、全地球測位システム(GPS)受信機、またはポータブルストレージデバイスに組み込むことができる。コンピュータプログラムの命令およびデータを格納するのに適したデバイスには、不揮発性メモリ、メディア、および、例として、半導体メモリデバイス、磁気ディスク、光磁気ディスクを含むメモリデバイスが含まれる。プロセッサおよびメモリは、専用のロジック回路によって補完する、またはここに組み込むことができる。
モバイルデバイスには、ハンドセット、ユーザ機器(UE)、携帯電話(たとえば、スマートフォン)、タブレット、ウェアラブルデバイス(たとえば、スマートウォッチおよびスマートメガネ)、人体に埋め込まれたデバイス(たとえば、バイオセンサ、人工内耳)、または他のタイプのモバイルデバイスが含まれる。これらのモバイルデバイスは、様々な通信ネットワーク(以下で説明)に対して無線で(たとえば、無線周波数(RF)信号を用いて)通信することができる。モバイルデバイスは、そのモバイルデバイスの現在の環境の特性を判断するためのセンサを含むことができる。センサには、カメラ、マイクロフォン、近接センサ、GPSセンサ、モーションセンサ、加速度計、環境光センサ、水分センサ、ジャイロスコープ、コンパス、気圧計、指紋センサ、顔認識システム、RFセンサ(たとえば、Wi-Fiおよび携帯電話)、温度センサ、または他のタイプのセンサが含まれる。たとえば、カメラは、可動または固定レンズ、フラッシュ、画像センサ、および画像プロセッサを備えた前方または後方カメラを含む。カメラは、顔および/または虹彩認識のための詳細をキャプチャすることができるメガピクセルカメラであってもよい。カメラは、データプロセッサ、およびメモリに格納された、または遠隔でアクセスされた認証情報とともに、顔認識システムを形成することができる。顔認識システムまたは1つまたは複数のセンサ、たとえば、マイクロフォン、モーションセンサ、加速度計、GPSセンサ、またはRFセンサは、ユーザ認証に用いることができる。
ユーザとの相互作用を提供するために、実施態様は、ディスプレイデバイスおよび入力デバイス、たとえば、ユーザに情報を表示するための液晶ディスプレイ(LCD)または有機発光ダイオード(OLED)/仮想現実(VR)/拡張現実(AR)ディスプレイおよびタッチスクリーン、キーボード、およびユーザがコンピュータに入力を提供することができるポインティングデバイスを有するコンピュータ上で実施することができる。他の種類のデバイスを用いて、ユーザとの相互作用を提供することもできる。たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックであってもよく、ユーザからの入力は、音響、音声、または触覚の入力を含む任意の形態で受信することができる。加えて、コンピュータは、ユーザによって用いられるデバイスとの間で文書を送受信することによって、たとえば、ユーザのクライアントデバイス上のウェブブラウザに、そのウェブブラウザから受信された要求に応じてウェブページを送信することによってユーザと相互作用することができる。
実施態様は、有線または無線デジタルデータ通信(またはそれらの組み合わせ)の任意の形態または媒体、たとえば、通信ネットワークによって相互接続されたコンピューティングデバイスを用いて実施することができる。相互接続されたデバイスの例には、通常は通信ネットワークを介して相互作用する一般的に互いに遠隔なクライアントおよびサーバがある。クライアント、たとえば、モバイルデバイスは、自身で、サーバとともに、またはサーバを介してトランザクション、たとえば、購入、販売、支払い、贈与、送信、またはローン取引を実行、またはこれらを承認することができる。そのようなトランザクションは、アクションおよび応答が時間的に近接するように瞬時にできる。たとえばある人が、アクションおよび応答が実質的に同時に起こることを認め、その個人のアクションに続く応答の時間差が1ミリ秒(ms)未満または1秒(s)未満であり、または応答はシステムの処理制限を考慮して意図的な遅延がない。
通信ネットワークの例には、ローカルエリアネットワーク(LAN)、無線アクセスネットワーク(RAN)、メトロポリタンエリアネットワーク(MAN)、およびワイドエリアネットワーク(WAN)が含まれる。通信ネットワークは、インターネットのすべてまたは一部、他の通信ネットワーク、または通信ネットワークの組み合わせを含むことができる。情報は、ロングタームエボリューション(LTE)、5G、IEEE 802、インターネットプロトコル(IP)、または他のプロトコルまたはプロトコルの組み合わせを含む、様々なプロトコルおよび規格に従って通信ネットワーク上で送信することができる。通信ネットワークは、接続されたコンピューティングデバイス間で音声、ビデオ、バイオメトリック、または認証データ、または他の情報を送信することができる。
個別の実施形態として説明した特徴は、組み合わせて、単一の実施形態において、実施することができる一方、単一の実施形態として説明した特徴は、複数の実施形態において、個別で、または任意の適切なサブの組み合わせにおいて実施することができる。特定の順序で説明およびクレームした動作は、この特定の順序も、すべての図示した動作も実行しなければならないということが要求されるとして理解されるべきではない(いくつかの動作は任意選択することができる)。必要に応じて、マルチタスクまたは並列処理(またはマルチタスクと並列処理の組み合わせ)を実行することができる。
51 受信モジュール
52 選択モジュール
53 送信モジュール
61 受信モジュール
62 作成モジュール
63 送信モジュール
64 処理モジュール
65 決定モジュール
71 送信モジュール
72 受信モジュール
73 チェックモジュール
74 決定モジュール

Claims (14)

  1. サービスデータを処理するための方法であって、
    少なくとも1つの第1のブロックチェーンノードによって送信された第1のサービスデータを受信するステップであって、前記第1のサービスデータは第1のソースアドレスおよび第1のデスティネーションアドレスを含む、ステップと、
    前記第1のサービスデータに基づいて第2のサービスデータを生成するステップであって、前記第2のサービスデータは第2のソースアドレスおよび第2のデスティネーションアドレスを含み、前記第2のソースアドレスは前記第1のソースアドレスを含み、前記第2のデスティネーションアドレスは前記第1のデスティネーションアドレスを含む、ステップと、
    前記第1のブロックチェーンノードが前記第2のサービスデータをチェックするために、前記第2のサービスデータを前記第1のブロックチェーンノードに送信するステップと、
    前記第1のブロックチェーンノードによって送信された確認応答情報が受信されたときに前記第2のサービスデータを処理するステップと、
    を含む、方法。
  2. 前記第2のサービスデータを処理するステップは、
    コンセンサスノードが前記第2のサービスデータに関するコンセンサス処理を実行するために、ブロックチェーンネットワーク内の前記コンセンサスノードに前記第2のサービスデータを送信するステップと、
    前記第2のサービスデータが検証されれば、前記第2のサービスデータを前記ブロックチェーンネットワークに保存するステップと、
    を含む、請求項1に記載の方法。
  3. 少なくとも1つの第1のブロックチェーンノードによって送信された第1のサービスデータを受信する前に、前記サービスデータ処理方法は、
    サーバにサービス処理要求を送信するステップであって、前記サービス処理要求は前記サーバにサービスデータ処理要件を通知するために用いられる、ステップ
    をさらに含む、請求項1に記載の方法。
  4. 前記サービスデータ処理方法は、
    前記サーバによって返されたフィードバック情報を受信するステップであって、前記フィードバック情報は、前記サーバにサービス処理要求を送信するブロックチェーンノードのノード識別子を含む、ステップと、
    前記フィードバック情報に含まれるノード識別子に基づいて前記第1のブロックチェーンノードを決定するステップと、
    をさらに含む、請求項3に記載の方法。
  5. 前記フィードバック情報に含まれるノード識別子に基づいて前記第1のブロックチェーンノードを決定するステップは、
    前記フィードバック情報に含まれる前記ノード識別子に対応するブロックチェーンノードを前記第1のブロックチェーンノードとして決定するステップ、または
    前記フィードバック情報に含まれる前記ノード識別子の中から設定数のノード識別子を選択し、選択されたノード識別子に対応するブロックチェーンノードを前記第1のブロックチェーンノードとして決定するステップ
    を含む、請求項4に記載の方法。
  6. サーバにサービス処理要求を送信するステップは、
    サービス処理要求を送信するブロックチェーンノードの中から数量情報を満たすブロックチェーンノードを前記サーバが選択するために、前記サービス処理要求に数量情報を追加して、前記サービス処理要求を前記サーバに送信するステップ
    を含む、請求項3または4に記載の方法。
  7. 前記サービスデータ処理方法は、
    前記第1のブロックチェーンノードに第3のサービスデータを送信するステップ
    をさらに含み、
    前記第1のサービスデータに基づいて第2のサービスデータを作成する前記ステップは、
    前記第1のサービスデータおよび前記第3のサービスデータに基づいて前記第2のサービスデータを作成するステップ
    を含む、請求項1から6のいずれか一項に記載の方法。
  8. 前記第1のブロックチェーンノードに前記第3のサービスデータを送信するステップは、
    暗号化された前記第3のサービスデータを前記第1のブロックチェーンノードに送信するステップ
    を含む、請求項7に記載の方法。
  9. 前記第2のサービスデータは第2のブロックチェーンノードによって生成される、請求項1から8のいずれか一項に記載の方法。
  10. 前記第2のブロックチェーンノードは前記第1のブロックチェーンノードから独立している、請求項9に記載の方法。
  11. 前記第2のブロックチェーンノードはサービスデータ処理手順と関連している、請求項9に記載の方法。
  12. 前記第1のブロックチェーンノードはランダム選択に基づいて決定される、請求項9に記載の方法。
  13. サービスデータを処理するための方法であって、
    第1のブロックチェーンノードによって第1のサービスデータを第2のブロックチェーンノードに送信するステップであって、前記第1のサービスデータは第1のソースアドレスおよび第1のデスティネーションアドレスを含む、ステップと、
    前記第2のブロックチェーンノードによって作成された第2のサービスデータを受信するステップであって、前記第2のサービスデータは第2のソースアドレスおよび第2のデスティネーションアドレスを含み、前記第2のソースアドレスは前記第1のソースアドレスを含み、前記第2のデスティネーションアドレスは前記第1のデスティネーションアドレスを含む、ステップと、
    前記第2のサービスデータをチェックするステップと、
    前記第2のブロックチェーンノードが前記第2のサービスデータを処理するために、前記第2のブロックチェーンノードに確認応答情報を送信するステップと、
    を含む、方法。
  14. サービスデータを処理するための装置であって、請求項1から13のいずれか一項に記載の方法を実行するように構成された複数のモジュールを含む、装置。
JP2019538237A 2017-07-14 2018-07-13 サービスデータ処理方法および装置、ならびにサービス処理方法および装置 Active JP6877556B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201710575017.3 2017-07-14
CN201710575017.3A CN107579951B (zh) 2017-07-14 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 (3)

Publication Number Publication Date
JP2020510331A true JP2020510331A (ja) 2020-04-02
JP2020510331A5 JP2020510331A5 (ja) 2021-01-07
JP6877556B2 JP6877556B2 (ja) 2021-05-26

Family

ID=61049592

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019538237A Active JP6877556B2 (ja) 2017-07-14 2018-07-13 サービスデータ処理方法および装置、ならびにサービス処理方法および装置

Country Status (9)

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

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111866008B (zh) 2017-07-14 2022-05-31 创新先进技术有限公司 一种业务数据处理方法、业务处理方法及设备
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 山东浪潮质量链科技有限公司 一种业务平台准入的方法和装置
CN112215608A (zh) 2019-01-18 2021-01-12 创新先进技术有限公司 数据处理方法和装置
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
US9298806B1 (en) * 2015-07-08 2016-03-29 Coinlab, Inc. System and method for analyzing transactions in a distributed ledger

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
KR101628007B1 (ko) 2015-04-07 2016-06-13 주식회사 코인플러그 당사자간 블록체인을 갖는 디지털 가상화폐의 거래시스템
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
EP3317775B1 (en) 2015-07-02 2022-02-16 Nasdaq, Inc. Systems and methods of secure provenance for distributed transaction databases
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 布比(北京)网络技术有限公司 一种区块链溯源追踪方法
KR20240023688A (ko) 2016-04-11 2024-02-22 엔체인 홀딩스 리미티드 블록체인 기반의 암호화폐를 위한 토큰을 검증하는 컴퓨터로 구현된 방법 및 시스템
AU2017250000B2 (en) 2016-04-13 2022-11-24 Haventec Pty Ltd System of security using blockchain protocol
EP3472790A4 (en) 2016-06-16 2020-01-29 The Bank of New York Mellon SECURING THE DATA INTEGRITY OF TRANSACTIONS PERFORMED
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
CN111866008B (zh) 2017-07-14 2022-05-31 创新先进技术有限公司 一种业务数据处理方法、业务处理方法及设备

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9298806B1 (en) * 2015-07-08 2016-03-29 Coinlab, Inc. System and method for analyzing transactions in a distributed ledger

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
COINJOIN: BITCOIN PRIVACY FOR THE REAL WORLD, JPN6020045985, 12 February 2017 (2017-02-12), ISSN: 0004398614 *
アーヴィンド・ナラヤナン,他, 仮想通貨の教科書, vol. 第1版, JPN6020045983, 9 December 2016 (2016-12-09), pages 245 - 288, ISSN: 0004398613 *

Also Published As

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

Similar Documents

Publication Publication Date Title
JP2020510331A (ja) サービスデータ処理方法および装置、ならびにサービス処理方法および装置
KR102221326B1 (ko) 비즈니스 프로세싱 방법 및 장치
EP3731488B1 (en) Login information processing method and device
KR102095326B1 (ko) 블록체인 노드 사이의 통신 방법 및 통신 장치
EP3701458B1 (en) Blockchain data processing methods, apparatuses, processing devices, and systems
EP3745642B1 (en) Blockchain data processing method and apparatus
JP7007398B2 (ja) トランザクション要求を処理するための方法及び装置
US20210027367A1 (en) Data auditing method and device
US20190347656A1 (en) Blockchain member management data processing methods, apparatuses, servers, and systems
KR20190133687A (ko) 합의 노드 선택 방법 및 장치, 및 서버
KR102238954B1 (ko) 로직 맵을 통한 스마트 계약 데이터베이스의 트래버싱
TW201822033A (zh) 資源處理方法及裝置
US11201870B2 (en) Using commit tokens to coordinate permissions submissions to address transaction conflict in blockchain systems
WO2020220744A1 (zh) 基于区块链的数据处理方法、装置和区块链节点
JP2019501437A (ja) 統合検索のためのサポートを伴う保護されたフィールド上の自動動作検出
TW201937425A (zh) 交易處理方法、伺服器、客戶端及系統
WO2019074937A1 (en) DATA REQUEST PROCESSING, METHODS, APPARATUS AND DEVICE FOR PROCESSING INTERROGATION MESSAGE
US11115188B2 (en) Blockchain-based data processing method, apparatus, and blockchain node
US20190312735A1 (en) Method and apparatus for publishing work in network

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190911

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190911

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201111

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201120

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20201120

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20201125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201207

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20201228

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210303

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210405

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210427

R150 Certificate of patent or registration of utility model

Ref document number: 6877556

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE

Ref document number: 6877556

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150