JP6816297B2 - ブロックチェーンネットワークにおけるデータ分離 - Google Patents

ブロックチェーンネットワークにおけるデータ分離 Download PDF

Info

Publication number
JP6816297B2
JP6816297B2 JP2019540591A JP2019540591A JP6816297B2 JP 6816297 B2 JP6816297 B2 JP 6816297B2 JP 2019540591 A JP2019540591 A JP 2019540591A JP 2019540591 A JP2019540591 A JP 2019540591A JP 6816297 B2 JP6816297 B2 JP 6816297B2
Authority
JP
Japan
Prior art keywords
merkle tree
blockchain
identification
node
transactions
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.)
Active
Application number
JP2019540591A
Other languages
English (en)
Other versions
JP2020516103A (ja
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 JP2020516103A publication Critical patent/JP2020516103A/ja
Application granted granted Critical
Publication of JP6816297B2 publication Critical patent/JP6816297B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1805Append-only file systems, e.g. using logs or journals to store data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1834Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • H04L2209/805Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Power Engineering (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Description

本開示は、ブロックチェーンネットワークにおけるデータ分離に関する。
コンセンサスネットワークおよび/またはブロックチェーンネットワークと呼ばれることもある分散型台帳システム(Distributed ledger system: DLS)によって、参加しているエンティティは安全かつ不変にデータを記憶できる。DLSは、一般に、任意の特定の使用事例(たとえば暗号通貨など)を参照せずにブロックチェーンネットワークと呼ばれる。ブロックチェーンネットワークのタイプの例には、パブリックブロックチェーンネットワーク、プライベートブロックチェーンネットワーク、およびコンソーシアムブロックチェーンネットワークがあり得る。パブリックブロックチェーンネットワークは、すべてのエンティティがDLSを使用し、コンセンサスプロセスに参加するためにオープンである。特定のエンティティに対してプライベートブロックチェーンネットワークが提供されており、読取りおよび書込み許可を中央で制御する。コンソーシアムブロックチェーンネットワークは、コンセンサスプロセスを制御するエンティティの選択グループに提供され、アクセス制御層を含む。
ブロックチェーンネットワークは、様々なタイプのノードを含み得る。完全参加ノード(fully-participating node)(以下「ブロックチェーンノード」と呼ぶ)は、ブロックチェーンに追加するためにトランザクションの新しいブロックを構築し、検証しようとすることによって、ブロックチェーンネットワークのコンセンサスプロセスに参加する。軽量ノードは、ブロックチェーンネットワークのコンセンサスプロセスに参加せず、ブロックチェーンのそれら自体の内部表現を完全には同期しない場合がある。たとえば、軽量ノードは、ブロックチェーン内の特定のブロックのすべてのトランザクションデータではなく、ブロックヘッダ情報のみを同期し得る。
プライベートまたはコンソーシアムのブロックチェーンネットワークでは、ノード(軽量ノードなど)は、たとえば、軽量ノードに関連付けられた識別ID(identity)が参加したトランザクションなど、ブロックチェーンからいくつかのトランザクションを読み取る許可のみを有し得る。そのような場合、軽量ノードは、特定のブロックのブロックチェーンノードを照会し、アクセスできないトランザクションが削除されたブロックの表現(マークルツリーなど)が返され得る。このようにして構築されたマークルツリーは、ブロック内のトランザクションを表すマークルツリー全体と一致しない場合があり、これは、ノードがブロックの正確な表現を持たないため、軽量ノードでエラーが発生する可能性がある。
本明細書の実装形態は、ブロックチェーンネットワーク内のすべてのノードにブロックチェーン内のブロックの一貫した表現を依然として提供しながら、ブロックチェーンネットワークにおいてデータ分離を実施するためのコンピュータで実行される方法を含む。より詳細には、本明細書の実装形態は、要求側ノードが分離されるデータを含まず、要求されたブロックを表すマークルツリー全体と依然として一致するマークルツリーを生成することを対象とする。
いくつかの実装形態では、アクションは、ブロックチェーンネットワーク内のブロックチェーンノードによって、ブロックチェーンの特定のブロックを読み取ることの要求を受信することであり、要求は、ブロックチェーンネットワークの軽量ノードから受信され、軽量ノードの識別IDを含み、特定のブロックは、特定のブロックに関連付けられた複数のトランザクションを含む元のマークルツリーを含む、ことと、ブロックチェーンノードによって、軽量ノードの識別IDに関連付けられた許可を識別することと、ブロックチェーンノードによって、ブロックに含まれる元のマークルツリーに基づいて、分離されたマークルツリーを生成することであり、分離されたマークルツリーは、識別された許可に基づいて軽量ノードによってアクセス可能であると判断された、元のマークルツリーからのトランザクションのみを含み、分離されたマークルツリーは、元のマークルツリーと一致する、ことと、ブロックチェーンノードによって、分離されたマークルツリーを含む応答を軽量ノードに送信することとを含む。他の実装形態は、コンピュータ記憶デバイス上に符号化された方法のアクションを実行するように構成された対応するシステム、装置、およびコンピュータプログラムを含む。
これらおよび他の実装形態は各々、以下の特徴のうちの1つまたは複数を随意に含み得る。
いくつかの実装形態では、特定のブロックに含まれる元のマークルツリーに基づいて、分離されたマークルツリーを生成することは、元のマークルツリーから軽量ノードによってアクセスできないと判断されたすべてのトランザクションを削除することと、ブランチの各々のルートハッシュのみをそのまま残して、すべてのトランザクションが削除された元のマークルツリーのブランチを削除することとを含む、分離されたマークルツリーを生成するように、元のマークルツリーを変更することを含み得る。
いくつかの実装形態では、軽量ノードがトランザクションの読取りアクセス権を持たないことを許可が示す場合、トランザクションは軽量ノードによってアクセス可能でないと判断される。
いくつかの場合には、複数のトランザクションの各々は、トランザクションの1人または複数人の参加者に関連付けられた1つまたは複数の識別IDを含む。
いくつかの実装形態では、識別IDはある識別クラスに関連付けられ、許可はその識別クラスに関連付けられ、ブロックチェーンノードは、その識別クラスに関連付けられた識別IDに対してその識別クラスに関連付けられた許可を実施するように構成される。
いくつかの場合には、識別クラスはレギュレータクラスであり、レギュレータクラスに関連付けられた許可は、ブロックチェーンネットワーク内のすべてのトランザクションがレギュレータクラスに関連付けられた識別IDにとってアクセス可能であることを示す。
いくつかの実装形態では、識別クラスは一般クラスであり、一般クラスに関連付けられた許可は、識別IDが参加者であるブロックチェーンネットワーク内のトランザクションのみが識別IDにとってアクセス可能であることを示す。
いくつかの場合には、軽量ノードが分離されたマークルツリー内のハッシュに基づいて分離されたマークルツリーのトランザクションを検証できるようにするのに十分な場合にのみ、分離されたマークルツリーは元のマークルツリーと一致する。
本明細書は、1つまたは複数のプロセッサに結合され、1つまたは複数のプロセッサによって実行されると、1つまたは複数のプロセッサに、本明細書で提供される方法の実装形態に従って動作を実行させる命令を記憶する1つまたは複数の非一時的コンピュータ可読記憶媒体も提供する。
本明細書は、本明細書で提供される方法を実装するためのシステムをさらに提供する。システムは、1つまたは複数のプロセッサと、1つまたは複数のプロセッサによって実行されると、1つまたは複数のプロセッサに、本明細書で提供される方法の実装形態に従って動作を実行させる命令を記憶する1つまたは複数のプロセッサに結合されたコンピュータ可読記憶媒体とを含む。
本明細書による方法は、本明細書で説明される態様および特徴の任意の組合せを含み得ることが諒解される。すなわち、本明細書による方法は、本明細書で具体的に説明した態様および特徴の組合せに限定されず、提供される態様および特徴の任意の組合せも含む。
本明細書の1つまたは複数の実装形態の詳細は、添付の図面および以下の説明に記載されている。本明細書の他の特徴および利点は、説明および図面、ならびに特許請求の範囲から明らかになるであろう。
本明細書の実装形態を実行するために使用できる例示的な環境を示す図である。 本明細書の実装形態による例示的な概念的アーキテクチャを示す図である。 本明細書の実装形態によるブロックチェーン内のブロックの例示的なマークルツリーを示す図である。 本明細書の実装形態による分離されたトランザクションを含むブランチを含む図3Aの例示的なマークルツリーを示す図である。 本明細書の実装形態による図3Aのマークルツリーに基づいて生成された例示的な分離されたマークルツリーを示す図である。 本明細書の実装形態に従って実行できる例示的なプロセスを示す図である。
様々な図面における同様の参照符号は、同様の要素を示す。
本明細書の実装形態は、ブロックチェーンネットワーク内のすべてのノードにブロックチェーン内のブロックの一貫した表現を依然として提供しながら、ブロックチェーンネットワークにおいてデータ分離を実施するためのコンピュータで実行される方法を含む。より詳細には、本明細書の実装形態は、要求側ノードが分離されるデータを含まず、要求されたブロックを表すマークルツリー全体と依然として一致するマークルツリーを生成することを対象とする。
いくつかの実装形態では、アクションは、ブロックチェーンネットワーク内のブロックチェーンノードによって、ブロックチェーンの特定のブロックを読み取ることの要求を受信することであり、要求は、ブロックチェーンネットワークの軽量ノードから受信され、軽量ノードの識別IDを含み、特定のブロックは、特定のブロックに関連付けられた複数のトランザクションを含む元のマークルツリーを含む、ことと、ブロックチェーンノードによって、軽量ノードの識別IDに関連付けられた許可を識別することと、ブロックチェーンノードによって、ブロックに含まれる元のマークルツリーに基づいて、分離されたマークルツリーを生成することであり、分離されたマークルツリーは、識別された許可に基づいて軽量ノードによってアクセス可能であると判断された、元のマークルツリーからのトランザクションのみを含み、分離されたマークルツリーは、元のマークルツリーと一致する、ことと、ブロックチェーンノードによって、分離されたマークルツリーを含む応答を軽量ノードに送信することとを含む。
本明細書の実装形態のさらなる内容を提供するために、上記で紹介したように、コンセンサスネットワーク(たとえば、ピアツーピアノードで構成される)およびブロックチェーンネットワークとも呼ばれる分散型台帳システム(DLS)によって、参加しているエンティティは、安全かつ不変にトランザクションを実行し、データを記憶できる。ブロックチェーンという用語は一般に、様々な暗号通貨ネットワークに関連付けられているが、任意の特定の使用事例を参照せずにDLSを一般的に指すために、本明細書ではブロックチェーンが使用される。上記で紹介したように、ブロックチェーンネットワークは、パブリックブロックチェーンネットワーク、プライベートブロックチェーンネットワーク、またはコンソーシアムブロックチェーンネットワークとして提供できる。
パブリックブロックチェーンネットワークでは、コンセンサスプロセスは、コンセンサスネットワークのノードによって制御される。たとえば、数百、数千、さらには数百万ものエンティティがパブリックブロックチェーンネットワークに協働し、各々がパブリックブロックチェーンネットワーク内の少なくとも1つのノードを動作させる。したがって、パブリックブロックチェーンネットワークは、参加しているエンティティに関してパブリックネットワークと見なすことができる。いくつかの例では、ブロックが有効となり、ブロックチェーンネットワークのブロックチェーン(分散型台帳)に追加されるために、エンティティ(ノード)の大部分がすべてのブロックに署名しなければならない。パブリックブロックチェーンネットワークの例には、ピアツーピア支払いネットワークである様々な暗号通貨ネットワークがある。暗号通貨ネットワークは、ブロックチェーンと呼ばれる分散型台帳を活用することができる。しかしながら、上記のように、ブロックチェーンという用語は、任意の特定の暗号通貨ネットワークを特に参照せずに分散型台帳を一般的に指すために使用される。
一般に、パブリックブロックチェーンネットワークは、パブリックトランザクションをサポートする。パブリックトランザクションは、パブリックブロックチェーンネットワーク内のすべてのノードと共有され、グローバルブロックチェーンに記憶される。グローバルブロックチェーンは、すべてのノードにわたって複製されるブロックチェーンである。すなわち、すべてのノードは、グローバルブロックチェーンに関して完全な状態のコンセンサスにある。コンセンサスを達成するために(ブロックチェーンへのブロックの追加の合意など)、パブリックブロックチェーンネットワーク内にコンセンサスプロトコルが実装される。例示的なコンセンサスプロトコルは、限定はしないが、暗号通貨ネットワークに実装されたプルーフオブワーク(POW)を含む。
一般に、特定のエンティティに対してプライベートブロックチェーンネットワークが提供されており、読取りおよび書込み許可を中央で制御する。エンティティはどのノードが、ブロックチェーンネットワークに参加できるかを制御する。結果として、プライベートブロックチェーンネットワークは一般に、許可されたネットワークと呼ばれ、誰がネットワークに参加できるか、および参加のレベル(たとえば、いくつかのトランザクションのみへの参加など)を制限する。様々なタイプのアクセス制御機構を使用できる(たとえば、既存の参加者が新しいエンティティの追加に投票する、規制当局が入場を制御できる)。
一般に、コンソーシアムブロックチェーンネットワークは、参加しているエンティティの間でプライベートである。コンソーシアムブロックチェーンネットワークでは、コンセンサスプロセスは、認可されたノードのセットによって制御され、1つまたは複数のノードはそれぞれのエンティティ(たとえば、金融機関、保険会社など)によって動作される。たとえば、10のエンティティ(たとえば、金融機関、保険会社など)のコンソーシアムは、コンソーシアムブロックチェーンネットワークを動作させることができ、その各々は、コンソーシアムブロックチェーンネットワーク内の少なくとも1つのノードを動作させる。したがって、コンソーシアムブロックチェーンネットワークは、参加しているエンティティに関してプライベートネットワークと見なすことができる。いくつかの例では、ブロックが有効となり、ブロックチェーンに追加されるために、各エンティティ(ノード)がすべてのブロックに署名しなければならない。いくつかの例では、ブロックが有効となり、ブロックチェーンに追加されるために、少なくともエンティティ(ノード)のサブセット(たとえば、少なくとも7つのエンティティ)がすべてのブロックに署名しなければならない。
本明細書の実装形態は、ブロックチェーンネットワークの構成に基づいて特定のデータがいくつかの参加エンティティから分離され得るプライベートブロックチェーンネットワークを参照して本明細書でさらに詳細に説明される。しかしながら、本明細書の実装形態は、任意の適切なタイプのブロックチェーンネットワークで実現できると企図される。
本明細書の実装形態は、上記の文脈を考慮して本明細書でさらに詳細に説明される。より詳細には、上記で紹介したように、本明細書の実装形態は、要求側ノードが分離されるデータを含まず、要求されたブロックを表すマークルツリー全体と依然として一致するマークルツリーを生成することを対象とする。
いくつかの実装形態では、軽量ノードは、ネットワークに参加しているブロックチェーンノードに特定のブロックを要求することができる。ブロックチェーンノードは、軽量ノードが、ブロック内のいくつかのトランザクションを読み取る許可を有していないと判断できる。ブロックチェーンノードは、要求されたブロックを表すマークルツリー全体のコピーから、これらのトランザクションを削除できるが、削除されたトランザクションのみを含むツリーの任意のブランチのルートハッシュのみを残すことができる。そうすることで、軽量ノードを読取りが許可されていないトランザクションデータから効果的に分離でき、ブロックのマークルツリー全体と一致するブロックの表現を軽量ノードに提示することもできる。これによって、軽量ノードは、そこから分離されたトランザクションデータへのアクセス権を持っていなくても、ブロックの完全性を(マークルツリー内のハッシュを調べることで)検証できる。
図1は、本明細書の実装形態を実行するために使用できる例示的な環境100を示す。いくつかの例では、例示的な環境100によって、エンティティは、プライベートブロックチェーンネットワーク102に参加できる。例示的な環境100は、コンピューティングデバイス106、108、およびネットワーク110を含む。いくつかの例では、ネットワーク110は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、インターネット、またはそれらの組合せを含み、ウェブサイト、ユーザデバイス(たとえば、コンピューティングデバイス)、およびバックエンドシステムを接続する。いくつかの例では、ネットワーク110は、ワイヤードおよび/またはワイヤレス通信リンクを介してアクセスできる。
図示された例では、コンピューティングシステム106、108は各々、プライベートブロックチェーンネットワーク102のノードとしての参加を可能にする任意の適切なコンピューティングシステムを含むことができる。例示的なコンピューティングデバイスは、限定はしないが、サーバ、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピューティングデバイス、スマートフォンを含む。いくつかの例では、コンピューティングシステム106、108は、プライベートブロックチェーンネットワーク102と対話するための1つまたは複数のコンピュータ実装サービスをホストする。たとえば、コンピューティングシステム106は、第1のエンティティが1つまたは複数の他のエンティティ(たとえば、他のユーザ)とのトランザクションを管理するために使用するトランザクション管理システムなど、第1のエンティティ(たとえば、ユーザA)のコンピュータ実装サービスをホストすることができる。コンピューティングシステム108は、第2のエンティティが1つまたは複数の他のエンティティ(たとえば他のユーザ)とのトランザクションを管理するために使用するトランザクション管理システムなど、第2のエンティティ(たとえばユーザB)のコンピュータ実装サービスをホストすることができる。図1の例では、プライベートブロックチェーンネットワーク102は、ノードのピアツーピアネットワークとして表され、コンピューティングシステム106、108は、それぞれ、プライベートブロックチェーンネットワーク102に参加する第1のエンティティおよび第2のエンティティのノードを提供する。
図2は、本明細書の実装形態による例示的な概念的アーキテクチャ200を示す。例示的な概念的アーキテクチャ200は、エンティティ層202、ホストサービス層204、およびブロックチェーンネットワーク層206を含む。図示された例では、エンティティ層202は、3つのエンティティ、Entity_1(E1)、Entity_2(E2)、およびEntity_3(E3)を含み、各エンティティは、それぞれのトランザクション管理システム208を有する。
図示された例では、ホストサービス層204は、各トランザクション管理システム208のためのインターフェース210を含む。いくつかの例では、それぞれのトランザクション管理システム208は、プロトコル(たとえば、ハイパーテキスト転送プロトコルセキュア(HTTPS))を使用して、ネットワーク(たとえば、図1のネットワーク110)を介してそれぞれのインターフェース210と通信する。いくつかの例では、各インターフェース210は、それぞれのトランザクション管理システム208とブロックチェーンネットワーク層206との間の通信接続を提供する。より詳細には、インターフェース210は、ブロックチェーンネットワーク層206のブロックチェーンネットワーク212と通信する。いくつかの例では、インターフェース210とブロックチェーンネットワーク層206との間の通信は、リモートプロシージャ呼出し(RPC)を使用して行われる。いくつかの例では、インターフェース210は、それぞれのトランザクション管理システム208のブロックチェーンネットワークノードを「ホスト」する。たとえば、インターフェース210は、ブロックチェーンネットワーク212へのアクセスのためのアプリケーションプログラミングインターフェース(API)を提供する。
本明細書で説明するように、ブロックチェーンネットワーク212は、ブロックチェーン216に情報を不変に記録する複数のノード214を含むピアツーピアネットワークとして提供される。単一のブロックチェーン216が概略的に示されているが、ブロックチェーン216の複数のコピーが提供され、ブロックチェーンネットワーク212にわたって維持される。たとえば、各ノード214は、ブロックチェーンのコピーを記憶する。いくつかの実装形態では、ブロックチェーン216は、プライベートブロックチェーンネットワークに参加している2つ以上のエンティティ間で実行されるトランザクションに関連付けられた情報を記憶する。
図3Aは、本明細書の実装形態によるブロックチェーン内のブロック310の例示的なマークルツリー300を示す。図示のように、マークルツリー300は、ブロック内のすべてのデータのハッシュ値、ならびにブロックチェーン内の前のブロックのハッシュおよびナンス値を含むブロックヘッダを含む。ブロックヘッダは、マークルツリーにおいてそのすぐ下にある2つのハッシュ(325a、b)の連結であるルートハッシュも含む。
マークルツリー300のリーフノードは、ブロックチェーンのこの特定のブロック310に記録されたトランザクションを表すトランザクション305a〜dを含む。マークルツリー300は、ハッシュ315a〜dも含む。これらのハッシュ315a〜dの各々は、それぞれトランザクション305a〜dのトランザクションデータに基づいて生成されたハッシュ値である。たとえば、ハッシュ315aは、トランザクション305aのデータをSHA256ハッシュアルゴリズムへの入力として提供して、ハッシュ値315aを生成することによって生成され得る。いくつかの実装形態では、一意性が保証された任意のハッシュ関数を使用して、ハッシュ315a〜dを生成することができる。
マークルツリー300は、ハッシュ325a(「ハッシュ01」)および325b(「ハッシュ23」)も含む。ハッシュ325a〜bは、マークルツリーにおいてすぐ下にある2つのハッシュを連結することによって生成される。たとえば、ハッシュ325a(「Hash01」)は、ハッシュ315a(「Hash0」)および315b(「Hash1」)を連結することによって生成される。同様に、上記のように、ブロックヘッダ内のルートハッシュは、ハッシュ325aとハッシュ325bとを連結することによって構築される。
図3Aにグレーで陰影を付けて示されているトランザクション305a〜cは、ブロック310を要求するエンティティ(たとえば、軽量ノード)がアクセスする許可を持っていないトランザクションを表す。図3Bは、例示的なマークルツリー350を示しており、要求側エンティティがそこから分離されるトランザクションのみを含むマークルツリー300のブランチ335a、bは、ブランチを囲む破線のボックスによって示されている。
図3Cは、本明細書の実装形態による図3Aのマークルツリーに基づいて生成された例示的な分離されたマークルツリー390を示す。図示のように、前の図3Bで識別されたブランチ335aおよび335bは、分離されたマークルツリー390において削除されている。
いくつかの実装形態では、例390のような分離されたマークルツリーは、図3Aに示されるものなど、ソフトウェアアルゴリズムをマークルツリー全体に適用することによって生成することができる。1つの例示的なアルゴリズムでは、ブロックチェーンノードは、軽量ノードから、あるブロックを読み取ることの要求を受信する。ブロックチェーンノードは、要求されたブロック内のトランザクションをスキャンし、要求に含まれる識別属性および識別IDに関連付けられた許可に基づいて、軽量ノードが各トランザクションを読み取る許可を有するかどうかを判断する。
例示的なアルゴリズムでは、ブロックチェーンノードは、定義上はマークルツリーのリーフノードに記憶されるブロック内のトランザクションを順次スキャンする。トランザクションごとに、軽量ノードがトランザクションを読み取る許可を有する場合、ブロックチェーンノードは、次のトランザクションに移動する。ブロックチェーンノードが、軽量ノードが読み取る許可を有していないトランザクションTx_iを見つけた場合、ブロックチェーンノードは、軽量ノードが読み取る許可を有するトランザクションTx_jを再び見つけるまで、後続のトランザクションをスキャンし続ける。次いで、ブロックチェーンノードは、Tx_iからTx_(j-1)までのトランザクションのグループを削除し、軽量ノードは、そのすべてを読み取る許可を有していない。さらに、ブロックチェーンノードは、現在トランザクションを含まない任意のブランチをマークルツリーから削除し、その特定のブランチのルートハッシュのみを残す。図3Bおよび図3Cに示すように、このブランチ削除プロセスは、ブランチ335aおよび335bに適用される。
トランザクションのこのスキャンおよび処理は、マークルツリー内の最後のトランザクションが処理されるまで継続され、軽量ノードが読み取る許可を有するトランザクションを含むマークルツリーが取得される。この分離されたマークルツリーは、軽量ノードに返される。
図4は、本明細書の実装形態に従って実行できる例示的なプロセス400を示す。いくつかの実装形態では、例示的なプロセス400は、1つまたは複数のコンピューティングデバイスを使用して実行される1つまたは複数のコンピュータ実行可能プログラムを使用して実行され得る。
402で、ブロックチェーンノードは、ブロックチェーンネットワークの軽量ノードからブロックチェーンの特定のブロックを読み取ることの要求を受信する。要求は、軽量ノードの識別ID、および特定のブロックに関連付けられた複数のトランザクションを含む元のマークルツリーを含む特定のブロックを含む。いくつかの場合には、複数のトランザクションの各々は、トランザクションの1人または複数人の参加者に関連付けられた1つまたは複数の識別IDを含む。402から、方法400は404に進む。
404で、ブロックチェーンノードは、軽量ノードの識別IDに関連付けられた許可を識別する。いくつかの場合には、識別IDはある識別クラスに関連付けられ、許可はその識別クラスに関連付けられ、ブロックチェーンノードは、その識別クラスに関連付けられた識別IDに対してその識別クラスに関連付けられた許可を実施するように構成される。いくつかの実装形態では、識別クラスはレギュレータクラスであり、レギュレータクラスに関連付けられた許可は、ブロックチェーンネットワーク内のすべてのトランザクションがレギュレータクラスに関連付けられた識別IDにとってアクセス可能であることを示す。いくつかの場合では、識別クラスは一般クラスであり、一般クラスに関連付けられた許可は、識別IDが参加者であるブロックチェーンネットワーク内のトランザクションのみが識別IDにとってアクセス可能であることを示す。404から、方法400は406に進む。
406で、ブロックチェーンノードは、特定のブロックに含まれる元のマークルツリーに基づいて、分離されたマークルツリーを生成する。分離されたマークルツリーは、識別された許可に基づいて、軽量ノードによってアクセスできると判断される元のマークルツリーからのトランザクションのみを含む。いくつかの実装形態では、軽量ノードがトランザクションの読取りアクセス権を持たないことを許可が示す場合、トランザクションは軽量ノードによってアクセス可能でないと判断される。分離されたマークルツリーは、元のマークルツリーと一致する。いくつかの実装形態では、軽量ノードが分離されたマークルツリー内のハッシュに基づいて分離されたマークルツリーのトランザクションを検証できるようにするのに十分な場合にのみ、分離されたマークルツリーは元のマークルツリーと一致する。いくつかの場合には、分離されたマークルツリーを生成することは、元のマークルツリーから軽量ノードによってアクセスできないと判断されたすべてのトランザクションを削除することと、ブランチの各々のルートハッシュをそのまま残して、すべてのトランザクションが削除された元のマークルツリーのブランチを削除することを含む、分離されたマークルツリーを生成するように、元のマークルツリーを変更することを含む。406から、方法400は408に進む。
408で、ブロックチェーンノードは、分離されたマークルツリーを含む応答を軽量ノードに送信する。408から、方法400は停止する。
本明細書に記載された主題およびアクションおよび動作の実装形態は、デジタル電子回路、有形に具現化されたコンピュータソフトウェアまたはファームウェア、本明細書に開示される構造およびそれらの構造的均等物を含むコンピュータハードウェア、またはそれらの1つもしくは複数の組合せに実装することができる。本明細書に記載される主題の実装形態は、1つまたは複数のコンピュータプログラム、たとえば、データ処理装置によって実行される、またはデータ処理装置の動作を制御するためのコンピュータプログラムキャリア上に符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして実装することができる。キャリアは、有形の非一時的コンピュータ記憶媒体であってもよい。代替的にまたは追加として、キャリアは、人工的に生成された伝搬信号、たとえば、データ処理装置によって実行するための適切な受信機装置への送信のために情報を符号化するために生成された機械生成電気、光学、または電磁信号とすることができる。コンピュータ記憶媒体は、機械可読記憶デバイス、機械可読記憶基板、ランダムまたはシリアルアクセスメモリデバイス、またはそれらの1つもしくは複数の組合せとすることができ、またはその一部とすることができる。コンピュータ記憶媒体は、伝搬信号ではない。
「データ処理装置」という用語は、例として、プログラム可能プロセッサ、コンピュータ、または複数のプロセッサもしくはコンピュータを含む、データを処理するためのあらゆる種類の装置、デバイスおよび機械を包含する。データ処理装置は、FPGA(フィールドプログラマブルゲートアレイ)、ASIC(特定用途向け集積回路)、またはGPU(グラフィックス処理ユニット)などの専用論理回路を含むことができる。装置は、ハードウェアに加えて、コンピュータプログラムの実行環境を生成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらの1つまたは複数の組合せを構成するコードを含むこともできる。
プログラム、ソフトウェア、ソフトウェアアプリケーション、アプリ、モジュール、ソフトウェアモジュール、エンジン、スクリプト、またはコードとも呼ばれるまたは記述されることもあるコンピュータプログラムは、コンパイルもしくはインタープリタ型言語、宣言型言語もしくは手続き型言語を含む、任意の形式のプログラミング言語で記述することができ、それは、スタンドアロンプログラムとして、またはモジュール、コンポーネント、エンジン、サブルーチン、もしくはコンピューティング環境での実行に適した他のユニットとしてなど、あらゆる形式で展開でき、環境は、1つまたは複数の場所にデータ通信ネットワークによって相互接続された1つまたは複数のコンピュータを含む場合がある。
コンピュータプログラムは、必ずしも必要はないが、ファイルシステム内のファイルに対応し得る。コンピュータプログラムは、問題のプログラム専用の単一のファイル、あるいは、たとえば、1つもしくは複数のモジュール、サブプログラム、またはコードの一部を記憶するファイルなど、複数のコーディネートされたファイルに、たとえば、マークアップ言語文書に記憶された1つもしくは複数のスクリプトなど、他のプログラムまたはデータを保持するファイルの一部に記憶することができる。
本明細書で記述されたプロセスおよび論理フローは、入力データ上で動作し、出力を生成することによって動作を実行するために、1つまたは複数のコンピュータプログラムを実行する1つまたは複数のコンピュータによって実行することができる。プロセスおよび論理フローは、たとえばFPGAまたはASICまたはGPUなどの専用論理回路によって、または専用論理回路と1つまたは複数のプログラムされたコンピュータとの組合せによっても実行することができる。
コンピュータプログラムの実行に適したコンピュータは、汎用マイクロプロセッサもしくは専用マイクロプロセッサ、またはその両方、あるいは任意の他の種類の中央処理装置に基づき得る。一般に、中央処理装置は、読取り専用メモリまたはランダムアクセスメモリまたはその両方から命令およびデータを受信する。コンピュータの要素は、命令を実行するための中央処理装置、ならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスを含むことができる。中央処理装置およびメモリは、専用論理回路によって補うまたはそれに組み込むことができる。
一般に、コンピュータは、少なくとも1つの非一時的コンピュータ可読記憶媒体(コンピュータ可読メモリとも呼ばれる)に結合される。コンピュータに結合された記憶媒体は、コンピュータの内部構成要素(たとえば、統合されたハードドライブ)または外部構成要素(たとえば、ユニバーサルシリアルバス(USB)ハードドライブもしくはネットワーク経由でアクセスされるストレージシステム)とすることができる。記憶媒体の例には、たとえば、磁気、磁気光学、または光ディスク、半導体ドライブ、クラウド記憶システムなどのネットワーク記憶リソース、または他のタイプの記憶媒体などがある。しかしながら、コンピュータはそのようなデバイスを有する必要はない。さらに、コンピュータは、別のデバイス、たとえば、ほんのいくつかの例を挙げれば、携帯電話、携帯情報端末(PDA)、モバイルオーディオもしくはビデオプレーヤ、ゲームコンソール、全地球測位システム(GPS)受信機、またはユニバーサルシリアルバス(USB)フラッシュドライブなどのポータブルストレージデバイス中に組み込むことができる。
ユーザとの対話を提供するために、本明細書で説明する主題の実装は、情報をユーザに表示するためのディスプレイデバイス、たとえばLCD(液晶ディスプレイ)モニタ、およびユーザがコンピュータに入力を提供できる入力デバイス、たとえばキーボード、およびマウス、トラックボールまたはタッチパッドなどのポインティングデバイスを有するコンピュータ上に実装され、またはそれと通信するように構成され得る。他の種類のデバイスを使用して、ユーザとの対話を提供することもでき、たとえば、ユーザに提供されるフィードバックは、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックなど、任意の形態の感覚フィードバックとすることができ、ユーザからの入力は、音響、音声、または触覚入力を含む任意の形態で受信することができる。さらに、コンピュータは、たとえば、ウェブブラウザから受信された要求に応答して、ユーザのデバイス上のウェブブラウザにウェブページを送信することによってなど、ユーザによって使用されるデバイスとの間でドキュメントを送受信することによって、またはスマートフォンや電子タブレットなどのユーザデバイスで実行されているアプリと対話することによってユーザと対話することができる。また、コンピュータは、テキストメッセージまたは他の形態のメッセージをパーソナルデバイス、たとえば、メッセージングアプリケーションを実行しているスマートフォンに送信し、代わりに、ユーザから応答メッセージを受信することによって、ユーザと対話することができる。
本明細書は、システム、装置、およびコンピュータプログラム構成要素に関して「構成される」という用語を使用する。1つまたは複数のコンピュータのシステムが特定の動作またはアクションを実行するように構成されるとは、システムが、動作中、システムに動作またはアクションを実行させるソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せをインストールしていることを意味する。1つまたは複数のコンピュータプログラムが特定の動作またはアクションを実行するように構成されるとは、1つまたは複数のプログラムが、データ処理装置によって実行されると、装置に動作またはアクションを実行させる命令を含むことを意味する。専用ロジック回路が特定の動作またはアクションを実行するように構成されるとは、その回路が動作またはアクションを実行する電子ロジックを有することを意味する。
本明細書は、多くの具体的な実装の詳細を含むが、これらは、特許請求の範囲自体によって定義される特許請求される範囲に対する限定ではなく、むしろ特定の実装形態に固有であり得る特徴の説明として解釈されるものとする。別個の実装形態の文脈において本明細書で説明されるいくつかの特徴は、単一の実装形態において組み合わせて実現することもできる。逆に、単一の実装形態の文脈で記載されている様々な特徴は、複数の実装形態で別々にまたは任意の適切な部分組合せで実現することもできる。さらに、特徴は、いくつかの組合せで作用するものとして上述され、当初はそのように特許請求され得るが、いくつかの場合、特許請求された組合せからの1つまたは複数の特徴を、組合せから削除することができ、特許請求の範囲は、部分組合せ、または部分組合せの変形を対象とし得る。
同様に、動作が図面に示され、特許請求の範囲に特定の順序で記載されているが、これは、そのような動作が、示された特定の順序で、または逐次的な順序で実行されること、あるいは望ましい結果を達成するために、図示されたすべての動作が実行されることを必要とするものとして理解されないものとする。いくつかの状況では、マルチタスキングおよび並列処理が有利であり得る。さらに、上述した実装形態における様々なシステムモジュールおよび構成要素の分離は、すべての実装形態においてそのような分離を必要とするものと理解されないものとし、記述されたプログラム構成要素およびシステムを、一般に、単一のソフトウェア製品に一緒に組み入れることができ、または複数のソフトウェア製品にパッケージ化することができることを理解されたい。
主題の特定の実装形態が記載されている。他の実装形態は、以下の特許請求の範囲内にある。たとえば、特許請求の範囲に列挙されたアクションは、異なる順序で実行され、依然として望ましい結果を達成することができる。一例として、添付の図面に示されるプロセスは、望ましい結果を達成するために、示された特定の順序または逐次的な順序を必ずしも必要としない。いくつかの場合には、マルチタスキングおよび並列処理が有利であり得る。
100 環境
102 プライベートブロックチェーンネットワーク
106 コンピューティングデバイス
108 コンピューティングデバイス
110 ネットワーク
200 アーキテクチャ
202 エンティティ層
204 ホストサービス層
206 ブロックチェーンネットワーク層
208 トランザクション管理システム
210 インターフェース
212 ブロックチェーンネットワーク
214 ノード
216 ブロックチェーン
300 マークルツリー
305 トランザクション
310 ブロック
315 ハッシュ
325 ハッシュ
335 ブランチ
390 分離されたマークルツリー
400 プロセス

Claims (10)

  1. ブロックチェーンネットワークによって維持されるブロックチェーンに記憶された機密データを保護するためのコンピュータで実行される方法であって、
    前記ブロックチェーンネットワーク内のブロックチェーンノードによって、前記ブロックチェーンの特定のブロックを読み取ることの要求を受信するステップであって、前記要求が、前記ブロックチェーンネットワークの軽量ノードから受信され、前記軽量ノードの識別IDを含み、前記特定のブロックが、前記特定のブロックに関連付けられた複数のトランザクションを含む元のマークルツリーを含む、ステップと、
    前記ブロックチェーンノードによって、前記軽量ノードの前記識別IDに関連付けられた許可を識別するステップと、
    前記ブロックチェーンノードによって、前記特定のブロックに含まれる前記元のマークルツリーに基づいて、分離されたマークルツリーを生成するステップであって、前記分離されたマークルツリーが、前記識別された許可に基づいて前記軽量ノードによってアクセス可能であると判断された、前記元のマークルツリーからのトランザクションのみを含み、前記分離されたマークルツリーが、前記元のマークルツリーと一致する、ステップと、
    前記ブロックチェーンノードによって、前記分離されたマークルツリーを含む応答を前記軽量ノードに送信するステップとを含む、
    コンピュータで実行される方法。
  2. 前記特定のブロックに含まれる前記元のマークルツリーに基づいて前記分離されたマークルツリーを生成するステップが、
    前記分離されたマークルツリーを生成するように、前記元のマークルツリーを変更するステップを含み、前記元のマークルツリーを変更するステップが、
    前記元のマークルツリーから、前記軽量ノードによってアクセスできないと判断されたすべてのトランザクションを削除するステップと、
    ブランチの各々のルートハッシュのみをそのまま残して、すべてのトランザクションが削除された前記元のマークルツリーの前記ブランチを削除するステップとを含む、
    請求項1に記載のコンピュータで実行される方法。
  3. 前記軽量ノードがトランザクションの読取りアクセス権を持たないことを前記許可が示す場合、前記トランザクションは前記軽量ノードによってアクセス可能でないと判断される、
    請求項2に記載のコンピュータで実行される方法。
  4. 前記複数のトランザクションの各々が、前記トランザクションの1人または複数人の参加者に関連付けられた1つまたは複数の識別IDを含む、
    請求項1に記載のコンピュータで実行される方法。
  5. 前記識別IDが識別クラスに関連付けられ、前記許可が前記識別クラスに関連付けられ、前記ブロックチェーンノードが、前記識別クラスに関連付けられた識別IDに対して前記識別クラスに関連付けられた許可を実施するように構成される、
    請求項4に記載のコンピュータで実行される方法。
  6. 前記識別クラスがレギュレータクラスであり、前記レギュレータクラスに関連付けられた前記許可が、前記ブロックチェーンネットワーク内のすべてのトランザクションが前記レギュレータクラスに関連付けられた識別IDにとってアクセス可能であることを示す、
    請求項5に記載のコンピュータで実行される方法。
  7. 前記識別クラスが一般クラスであり、前記一般クラスに関連付けられた前記許可が、前記識別IDが参加者である前記ブロックチェーンネットワーク内のトランザクションのみが前記識別IDにとってアクセス可能であることを示す、
    請求項5に記載のコンピュータで実行される方法。
  8. 前記軽量ノードが前記分離されたマークルツリーに基づいて前記ブロックの完全性を検証できるようにするのに十分な場合にのみ、前記分離されたマークルツリーは前記元のマークルツリーと一致する、
    請求項1に記載のコンピュータで実行される方法。
  9. 1つまたは複数のプロセッサに結合され、かつ前記1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに請求項1〜8のいずれか一項に記載の方法を実行させる命令を記憶する、
    非一時的コンピュータ可読記憶媒体。
  10. コンピューティングデバイスと、
    前記コンピューティングデバイスに結合され、かつ前記コンピューティングデバイスによって実行されると、前記コンピューティングデバイスに請求項1〜8のいずれか一項に記載の方法を実行させる命令を記憶するコンピュータ可読記憶デバイスとを含む、
    システム。
JP2019540591A 2018-12-13 2018-12-13 ブロックチェーンネットワークにおけるデータ分離 Active JP6816297B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/120805 WO2019072293A2 (en) 2018-12-13 2018-12-13 DATA INSULATION IN A BLOCK CHAIN NETWORK

Publications (2)

Publication Number Publication Date
JP2020516103A JP2020516103A (ja) 2020-05-28
JP6816297B2 true JP6816297B2 (ja) 2021-01-20

Family

ID=66100120

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019540591A Active JP6816297B2 (ja) 2018-12-13 2018-12-13 ブロックチェーンネットワークにおけるデータ分離

Country Status (15)

Country Link
US (2) US11003646B2 (ja)
EP (1) EP3560143B1 (ja)
JP (1) JP6816297B2 (ja)
KR (1) KR102258440B1 (ja)
CN (1) CN109863521A (ja)
AU (1) AU2018348333A1 (ja)
BR (1) BR112019015423A8 (ja)
CA (1) CA3051762A1 (ja)
MX (1) MX2019008898A (ja)
PH (1) PH12019501735A1 (ja)
RU (1) RU2745518C9 (ja)
SG (1) SG11201906846YA (ja)
TW (1) TWI706352B (ja)
WO (1) WO2019072293A2 (ja)
ZA (1) ZA201904928B (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109829822B (zh) * 2019-01-28 2020-10-23 杭州复杂美科技有限公司 交易替换方法、交易排队方法、设备和存储介质
JP6821053B2 (ja) 2019-03-21 2021-01-27 アドバンスド ニュー テクノロジーズ カンパニー リミテッド ブロックチェーンネットワークにおけるデータ隔離
CN110311782B (zh) * 2019-04-29 2020-04-14 山东工商学院 个人信息的零知识证明方法、系统及存储介质
SG11202000784SA (en) * 2019-04-30 2020-02-27 Alibaba Group Holding Ltd Methods and devices for managing access to account in blockchain system
CN110365768B (zh) * 2019-07-15 2021-07-06 腾讯科技(深圳)有限公司 分布式系统的数据同步方法、装置、介质、电子设备
US11520904B2 (en) * 2019-08-27 2022-12-06 Accenture Global Solutions Limited AI-based blockchain hybrid consensus
CN111125593B (zh) * 2019-11-14 2024-01-26 深圳源中瑞科技有限公司 基于区块链的家谱信息处理方法、设备及存储介质
AU2019378667C1 (en) 2019-12-05 2021-04-15 Alipay (Hangzhou) Information Technology Co., Ltd. Performing map iterations in blockchain-based system
WO2020098819A2 (en) 2019-12-05 2020-05-22 Alipay (Hangzhou) Information Technology Co., Ltd. Performing map iterations in a blockchain-based system
CN111242617B (zh) * 2020-01-02 2022-05-10 支付宝(杭州)信息技术有限公司 用于执行交易正确性验证的方法及装置
JP7381881B2 (ja) * 2020-02-21 2023-11-16 富士通株式会社 管理プログラム、管理装置および管理方法
CN111343177B (zh) * 2020-02-25 2022-11-29 百度在线网络技术(北京)有限公司 轻量级节点的监管方法、装置、设备和介质
US10887104B1 (en) 2020-04-01 2021-01-05 Onu Technology Inc. Methods and systems for cryptographically secured decentralized testing
US11409907B2 (en) 2020-04-01 2022-08-09 Onu Technology Inc. Methods and systems for cryptographically secured decentralized testing
CN112565435B (zh) * 2020-12-10 2021-08-17 广东投盟科技有限公司 基于事务链的业务处理方法、系统及计算机可读存储介质
CN112799839B (zh) * 2021-01-28 2024-03-15 百果园技术(新加坡)有限公司 请求处理方法、装置、计算机可读存储介质及电子设备
WO2023140828A1 (en) * 2022-01-18 2023-07-27 Hewlett-Packard Development Company, L.P. Method and apparatus for controlling access to data stored on a blockchain

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005017809A2 (en) * 2003-08-15 2005-02-24 Docomo Communications Laboratories Usa, Inc. Method and apparatus for authentication of data streams with adaptively controlled losses
US9530010B2 (en) * 2013-11-07 2016-12-27 Fujitsu Limited Energy usage data management
CN104750784B (zh) * 2015-03-06 2018-03-02 西安交通大学 一种基于Merkle树结构的空间查询完整性验证方法
US10089489B2 (en) * 2015-06-02 2018-10-02 ALTR Solutions, Inc. Transparent client application to arbitrate data storage between mutable and immutable data repositories
US20170132621A1 (en) * 2015-11-06 2017-05-11 SWFL, Inc., d/b/a "Filament" Systems and methods for autonomous device transacting
BR112018016819A2 (pt) * 2016-02-23 2018-12-26 Nchain Holdings Ltd método e sistemas para proteger um recurso digital controlado utilizando uma tabela de dispersão e livro-razão distribuídos e um blockchain
CN106559211B (zh) * 2016-11-22 2019-12-13 中国电子科技集团公司第三十研究所 一种区块链中隐私保护智能合约方法
WO2018119585A1 (zh) * 2016-12-26 2018-07-05 深圳前海达闼云端智能科技有限公司 区块链的权限控制方法、装置、系统及节点设备
US10715331B2 (en) * 2016-12-28 2020-07-14 MasterCard International Incorported Method and system for providing validated, auditable, and immutable inputs to a smart contract
CN111917864B (zh) * 2017-02-22 2023-08-22 创新先进技术有限公司 一种业务校验的方法及装置
CN106899412A (zh) * 2017-03-30 2017-06-27 北京链银博科技有限责任公司 一种区块链隐私保护方法、装置及系统
US11030331B2 (en) 2017-06-01 2021-06-08 Schvey, Inc. Distributed privately subspaced blockchain data structures with secure access restriction management
CN107733855B (zh) * 2017-08-31 2019-11-05 中国科学院信息工程研究所 一种可同时支持公有链、联盟链及私有链的区块链系统及应用方法
US10783272B2 (en) * 2017-12-08 2020-09-22 Nec Corporation Method and system of preserving privacy for usage of lightweight blockchain clients
CN108664803B (zh) * 2018-04-04 2022-03-22 中国电子科技集团公司第三十研究所 一种基于密码的文档内容细粒度访问控制系统
RU181439U1 (ru) * 2018-04-06 2018-07-13 Оксана Валерьевна Кириченко Децентрализованная технологическая платформа хранения и обмена данными транзакций в распределенной вычислительной сети
WO2019207502A1 (en) * 2018-04-27 2019-10-31 nChain Holdings Limited Partitioning a blockchain network
CN108961052B (zh) 2018-06-25 2022-02-22 百度在线网络技术(北京)有限公司 区块链数据的验证方法、存储方法、装置、设备和介质

Also Published As

Publication number Publication date
MX2019008898A (es) 2019-09-10
SG11201906846YA (en) 2019-08-27
EP3560143B1 (en) 2021-09-15
US20190278758A1 (en) 2019-09-12
TW202022744A (zh) 2020-06-16
WO2019072293A2 (en) 2019-04-18
AU2018348333A1 (en) 2020-07-02
KR102258440B1 (ko) 2021-06-02
KR20200074909A (ko) 2020-06-25
TWI706352B (zh) 2020-10-01
US11003646B2 (en) 2021-05-11
WO2019072293A3 (en) 2019-10-10
EP3560143A2 (en) 2019-10-30
EP3560143A4 (en) 2020-03-11
RU2745518C9 (ru) 2021-05-26
RU2745518C2 (ru) 2021-03-25
CA3051762A1 (en) 2019-04-18
US20210232558A1 (en) 2021-07-29
ZA201904928B (en) 2021-06-30
CN109863521A (zh) 2019-06-07
RU2019123413A (ru) 2021-01-26
BR112019015423A2 (pt) 2020-03-31
RU2019123413A3 (ja) 2021-01-26
JP2020516103A (ja) 2020-05-28
PH12019501735A1 (en) 2020-03-09
BR112019015423A8 (pt) 2023-03-28

Similar Documents

Publication Publication Date Title
JP6816297B2 (ja) ブロックチェーンネットワークにおけるデータ分離
JP6883110B2 (ja) ブロックチェーンネットワーク内でのデータ分離
JP6883111B2 (ja) イベント駆動型ブロックチェーンワークフロー処理
CN106209947B (zh) 一种去中心化自治组织的数据处理方法及系统
JP6858264B2 (ja) スマートコントラクトのホワイトリスト
US11853291B2 (en) Privacy preserving architecture for permissioned blockchains
US10108605B1 (en) Natural language processing system and method
CN111033489B (zh) 用于数据遍历的方法和设备
US20220051236A1 (en) Computer-implemented systems and methods for controlling or enforcing performance of transfers conducted over a blockchain
US9961132B2 (en) Placing a user account in escrow

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190930

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201030

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201030

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: 20201130

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201223

R150 Certificate of patent or registration of utility model

Ref document number: 6816297

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250