(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-01-11
(45)【発行日】2022-01-24
(54)【発明の名称】トランザクション要求を処理するための方法及び装置
(51)【国際特許分類】
H04L 9/32 20060101AFI20220117BHJP
G06F 21/64 20130101ALI20220117BHJP
【FI】
H04L9/32 200Z
G06F21/64
(21)【出願番号】P 2019553445
(86)(22)【出願日】2018-03-21
(86)【国際出願番号】 US2018023517
(87)【国際公開番号】W WO2018183055
(87)【国際公開日】2018-10-04
【審査請求日】2019-11-14
(31)【優先権主張番号】201710190507.1
(32)【優先日】2017-03-28
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】520015461
【氏名又は名称】アドバンスド ニュー テクノロジーズ カンパニー リミテッド
(74)【代理人】
【識別番号】100099759
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100092624
【氏名又は名称】鶴田 準一
(74)【代理人】
【識別番号】100114018
【氏名又は名称】南山 知広
(74)【代理人】
【識別番号】100117019
【氏名又は名称】渡辺 陽一
(74)【代理人】
【識別番号】100173107
【氏名又は名称】胡田 尚則
(72)【発明者】
【氏名】リー ニン
【審査官】中里 裕正
(56)【参考文献】
【文献】米国特許出願公開第2017/0005804(US,A1)
【文献】米国特許出願公開第2017/0075938(US,A1)
【文献】特開2007-310624(JP,A)
【文献】国際公開第2017/010455(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/32
G06F 21/64
(57)【特許請求の範囲】
【請求項1】
第1のトランザクション・ノードによって実施可能な、トランザクション要求を処理するための方法であって、
複数のトランザクション・ノードが参加する目標トランザクションのトランザクション・データを取得することと、
少なくとも一つの前記トランザクション・データに基づいて生成されるとともに前記複数のトランザクション・ノードの各々を含む前記目標トランザクションに参加する全てのトランザクション・ノードによって署名されるデータ抄録に従ってトランザクション抄録を決定し、逆に前記データ抄録から前記トランザクション・データを得ることができず、前記複数のトランザクション・ノードが少なくとも前記第1のトランザクション・ノード及び1つ又は複数の第2のトランザクション・ノードを含むことと、
前記トランザクション抄録を含むが前記トランザクション・データは含まないトランザクション要求を生成し、前記トランザクション抄録が前記トランザクション・データなしで合意検証を可能にすることと、
前記トランザクション要求を合意ノードに一斉送信し、それによって、前記トランザクション抄録が前記合意検証に合格した後に、前記トランザクション要求の中の前記トランザクション抄録をブロックチェーンに保存することを、前記合意ノードにそれぞれ実行させ、前記複数のトランザクション・ノード及び前記合意ノードがブロックチェーン・ネットワークのブロックチェーン・ノードであることと、
を含
み、
前記目標トランザクションが前記第1のトランザクション・ノードによって開始されるときに、前記トランザクション・データに従って前記トランザクション抄録を決定することが、
前記トランザクション・データに従って前記データ抄録を生成することと、
前記データ抄録を、前記1つ又は複数の第2のトランザクション・ノードに送信することと、
前記第2のトランザクション・ノードが前記データ抄録にそれぞれディジタル署名した後に前記データ抄録を取得することと、
取得したディジタル署名後の前記データ抄録に従って前記トランザクション抄録を決定することと、
を含み、
前記トランザクション抄録が、前記全てのトランザクション・ノードが前記データ抄録に署名した後に得られる最終的な証書抄録であり、前記全てのトランザクション・ノードは、前記データ抄録の真正性を承認したことを署名によって言明する、方法。
【請求項2】
前記目標トランザクションが、1つ又は複数の第2のトランザクション・ノードのうちのいずれかによって開始されるときに、前記トランザクション・データに従って前記トランザクション抄録を決定することが、
開始する前記第2のトランザクション・ノードから前記データ抄録を受信することと、
前記データ抄録を、前記トランザクション・データに従って検証することと、
前記データ抄録が前記検証に合格した場合に、前記データ抄録に署名して第1の抄録を得ることと、
前記第2のトランザクション・ノードが前記データ抄録にそれぞれ署名した後に得られた第2の抄録を受信したときに、前記第1の抄録及び前記第2の抄録に従って前記トランザクション抄録を決定することと、
を含む、請求項1に記載の方法。
【請求項3】
前記第1のトランザクション・ノードに対応する私用データベースに前記トランザクション・データを保存することをさらに含む、請求項1に記載の方法。
【請求項4】
前記目標トランザクションが前記第1のトランザクション・ノードによって開始され、
前記トランザクション・データを前記1つ又は複数の第2のトランザクション・ノードに送信し、それによって、前記第2のトランザクション・ノードに対応する私用データベースに前記トランザクション・データを保存することを、それぞれの前記第2のトランザクション・ノードに実行させることをさらに含む、請求項
3に記載の方法。
【請求項5】
第1のトランザクション・ノードのプロセッサによって実行されたときにトランザクション要求を処理するために請求項1~
4のいずれか一項に記載の方法を前記プロセッサに実行させる命令を記憶した非一時的コンピュータ可読記憶媒体。
【請求項6】
第1のトランザクション・ノードとして実施可能な装置であって、前記装置が、プロセッサと、前記プロセッサによって実行されたときにトランザクション要求を処理するための方法を前記装置に実行させる命令を記憶した非一時的コンピュータ可読記憶媒体とを備え、前記方法は、
複数のトランザクション・ノードが参加する目標トランザクションのトランザクション・データを取得し、前記第1のトランザクション・ノードが前記目標トランザクションに参加することと、
少なくとも一つの前記トランザクション・データに基づいて生成されるとともに前記複数のトランザクション・ノードの各々を含む前記目標トランザクションに参加する全てのトランザクション・ノードによって署名されるデータ抄録に従ってトランザクション抄録を決定し、逆に前記データ抄録から前記トランザクション・データを得ることができず、前記複数のトランザクション・ノードが少なくとも前記第1のトランザクション・ノード及び1つ又は複数の第2のトランザクション・ノードを含むことと、
前記トランザクション抄録を含むが前記トランザクション・データは含まないトランザクション要求を生成し、前記トランザクション抄録が前記トランザクション・データなしで合意検証を可能にすることと、
前記トランザクション要求を合意ノードに一斉送信し、それによって、前記トランザクション抄録が前記合意検証に合格した後に、前記トランザクション要求の中の前記トランザクション抄録をブロックチェーンに保存することを、前記合意ノードにそれぞれ実行させ、前記複数のトランザクション・ノード及び前記合意ノードがブロックチェーン・ネットワークのブロックチェーン・ノードであることと、を含
み、
前記目標トランザクションが前記第1のトランザクション・ノードによって開始されるときに、前記トランザクション・データに従って前記トランザクション抄録を決定することが、
前記トランザクション・データに従って前記データ抄録を生成することと、
前記データ抄録を、前記1つ又は複数の第2のトランザクション・ノードに送信することと、
前記第2のトランザクション・ノードが前記データ抄録にそれぞれディジタル署名した後に前記データ抄録を取得することと、
取得したディジタル署名後の前記データ抄録に従って前記トランザクション抄録を決定することと、
を含み、
前記トランザクション抄録が、前記全てのトランザクション・ノードが前記データ抄録に署名した後に得られる最終的な証書抄録であり、前記全てのトランザクション・ノードは、前記データ抄録の真正性を承認したことを署名によって言明する、装置。
【請求項7】
前記目標トランザクションが、1つ又は複数の第2のトランザクション・ノードのうちのいずれかによって開始されるときに、前記トランザクション・データに従って前記トランザクション抄録を決定することが、
開始する前記第2のトランザクション・ノードから前記データ抄録を受信することと、
前記データ抄録を、前記トランザクション・データに従って検証することと、
前記データ抄録が前記検証に合格した場合に、前記データ抄録に署名して第1の抄録を得ることと、
前記第2のトランザクション・ノードが前記データ抄録にそれぞれ署名した後に得られた第2の抄録を受信したときに、前記第1の抄録及び前記第2の抄録に従って前記トランザクション抄録を決定することと、
を含む、請求項
6に記載の装置。
【請求項8】
前記方法が、前記第1のトランザクション・ノードに対応する私用データベースに前記トランザクション・データを保存することをさらに含む、請求項
6に記載の装置。
【請求項9】
前記目標トランザクションが前記第1のトランザクション・ノードによって開始されるときに、前記方法が、前記トランザクション・データを前記1つ又は複数の第2のトランザクション・ノードに送信し、それによって、前記第2のトランザクション・ノードに対応する私用データベースに前記トランザクション・データを保存することを、それぞれの前記第2のトランザクション・ノードに実行させることをさらに含む、請求項
8に記載の装置。
【請求項10】
前記トランザクション要求の中の前記トランザクション抄録を検証することを、前記合意ノードにそれぞれ実行させることをさらに含む、請求項1に記載の方法。
【請求項11】
前記トランザクション・データが前記合意ノードに送信されず、前記目標トランザクションに関連したブロックチェーンに保存されない、請求項
10に記載の方法。
【請求項12】
前記目標トランザクションの前記トランザクション・データが、前記目標トランザクションに関連したトランザクションの内容、前記内容の詳細情報、前記目標トランザクションに参加する対象のアカウント・アドレス、又は前記目標トランザクションに参加する前記対象のID情報のうちの少なくとも1つを含む、請求項
10に記載の方法。
【請求項13】
前記データ抄録に署名することが、前記データ抄録の検証をディジタル的に認めることを含み、
前記トランザクション抄録を決定することが、前記第1のトランザクション・ノード及び前記1つ又は複数の第2のトランザクション・ノードのそれぞれが予め設定された順序で前記データ抄録に署名することを含む、請求項
10に記載の方法。
【請求項14】
前記合意ノードの全てが前記トランザクション抄録を検証したことに応答して、前記目標トランザクションに関連した前記ブロックチェーンに前記トランザクション抄録を保存することを、前記合意ノードにそれぞれ実行させることをさらに含む、請求項
10に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、その内容の全体が参照によって本明細書に組み込まれている、2017年3月28日に出願された中国出願第201710190507.1号に基づき、同出願の優先権を主張するものである。
【0002】
技術分野
本出願は、情報技術の分野に関し、詳細には、トランザクション要求(transaction request)を処理するための方法及びシステムに関する。
【背景技術】
【0003】
分散型台帳ネットワーク(distributed ledger network)としても知られているブロックチェーン(blockchain)ネットワークは、分散化(decentralization)、開放性(openness)及び透明性(transparency)によって特徴づけられる。ブロックチェーン・ネットワークはブロックチェーン・ノードを含み、ブロックチェーン・ノードはそれぞれ、トランザクション要求を開始すること、及びトランザクション要求に対する合意検証(consensus verification)に参加することができる。全てのブロックチェーン・ノードは、ブロックチェーンと同期がとられている。
【0004】
トランザクション要求を処理する既存の方法は以下の通りである。トランザクションに関して、このトランザクションに参加するブロックチェーン・ノードが、このトランザクションのトランザクション要求を、ブロックチェーン・ネットワーク内の全ての合意ノード(合意検証を担うブロックチェーン・ノード)に一斉送信する。トランザクション要求は、このトランザクションのトランザクション・データを含む。このトランザクション・データは、全ての合意ノードによる合意検証にこのトランザクション・データが合格した後、ブロックチェーンに保存される。
【0005】
しかしながら、全ての合意ノードはブロックチェーンと同期して、ブロックチェーン上に記憶されたそれぞれのトランザクションのトランザクション・データを得ることができるため、このことは、それらのトランザクション・データに含まれる、トランザクションに参加している一部のブロックチェーン・ノードのプライバシーの漏洩に容易につながる。さらに、ブロックチェーン上に記憶されたトランザクション・データが暗号化されている場合であっても、暗号化されたトランザクション・データが解読される危険性が依然として存在する。
【0006】
したがって、トランザクションに参加しているブロックチェーン・ノードのプライバシー侵害の危険性がなくなるようにするには、トランザクション要求を検証するための方法をどのように設計すればよいのかという技術的課題を解決する必要性が存在する。
【発明の概要】
【0007】
トランザクション要求を処理する既存の方法のプライバシー侵害の課題を解決するため、本出願の実施形態は、トランザクション要求を処理するための方法及びシステムを提供する。
【0008】
一態様によれば、第1のトランザクション・ノードによって実施可能な、トランザクション要求を処理するための方法は、目標(target)トランザクションのトランザクション・データを取得し、第1のトランザクション・ノードが目標トランザクションに参加することと、複数のトランザクション・ノードがトランザクション・データのデータ抄録(data abstract)にそれぞれ署名した後に、トランザクション・データに従ってトランザクション抄録を決定し、トランザクション・ノードは少なくとも第1のトランザクション・ノード及び1つ又は複数の第2のトランザクション・ノードを含むことと、トランザクション抄録を含むトランザクション要求を生成することと、トランザクション要求を1つ又は複数の合意ノードに一斉送信し、それによって、トランザクション抄録が合意検証に合格した後に、トランザクション要求の中のトランザクション抄録をブロックチェーンに保存することを、合意ノードにそれぞれ実行させ、合意ノードはブロックチェーン・ノードであり、トランザクション・ノード及び合意ノードはブロックチェーン・ネットワークのブロックチェーン・ノードであることと、を含むことができる。この1つ又は複数のトランザクション・ノードは、第1のトランザクション・ノードを含んでもよく、又は含まなくてもよい。合意ノードとこの1つ又は複数のトランザクション・ノードは重複していてもよく、又は重複していなくてもよい。
【0009】
別の態様によれば、トランザクション要求を処理するための装置は、目標トランザクションのトランザクション・データを取得するように構成された取得モジュールと、トランザクション・データに従ってトランザクション抄録を決定するように構成された決定モジュールであって、トランザクション抄録が、全てのトランザクション・ノードがトランザクション・データのデータ抄録に署名した後に得られ、トランザクション・ノードが、目標トランザクションに参加するブロックチェーン・ノードであり、装置が、トランザクション・ノードのうちの1つである、決定モジュールと、トランザクション・データとトランザクション抄録とを含むトランザクション要求を生成するように構成された生成モジュールと、トランザクション抄録が合意検証に合格した後に、全ての合意ノードが、トランザクション要求の中のトランザクション抄録をブロックチェーンに保存するように、トランザクション要求を全ての合意ノードに一斉送信するよう構成された一斉送信モジュールとを含むことができる。
【0010】
別の態様によれば、非一時的コンピュータ可読記憶媒体が、第1のトランザクション・ノードのプロセッサによって実行されたときにトランザクション要求を処理するための方法をプロセッサに実行させる命令を記憶することができる。この方法は、目標トランザクションのトランザクション・データを取得し、第1のトランザクション・ノードは目標トランザクションに参加することと、複数のトランザクション・ノードがトランザクション・データのデータ抄録にそれぞれ署名した後に、トランザクション・データに従ってトランザクション抄録を決定し、トランザクション・ノードは少なくとも、第1のトランザクション・ノード及び1つ又は複数の第2のトランザクション・ノードを含むことと、トランザクション抄録を含むトランザクション要求を生成することと、トランザクション要求を1つ又は複数の合意ノードに一斉送信し、それによって、トランザクション抄録が合意検証に合格した後に、トランザクション要求の中のトランザクション抄録をブロックチェーンに保存することを、合意ノードにそれぞれ実行させ、合意ノードはブロックチェーン・ノードであり、トランザクション・ノード及び合意ノードはブロックチェーン・ネットワークのブロックチェーン・ノードであることと、を含むことができる。
【0011】
別の態様によれば、第1のトランザクション・ノードとして実施可能な装置は、プロセッサと、プロセッサによって実行されたときにトランザクション要求を処理するための方法をこの装置に実行させる命令を記憶した非一時的コンピュータ可読記憶媒体とを備えることができる。この方法は、目標トランザクションのトランザクション・データを取得し、第1のトランザクション・ノードは目標トランザクションに参加することと、複数のトランザクション・ノードがトランザクション・データのデータ抄録にそれぞれ署名した後に、トランザクション・データに従ってトランザクション抄録を決定し、トランザクション・ノードは少なくとも、第1のトランザクション・ノード及び1つ又は複数の第2のトランザクション・ノードを含むことと、トランザクション抄録を含むトランザクション要求を生成すること、並びにトランザクション要求を1つ又は複数の合意ノードに一斉送信し、それによって、トランザクション抄録が合意検証に合格した後に、トランザクション要求の中のトランザクション抄録をブロックチェーンに保存することを、合意ノードにそれぞれ実行させ、合意ノードはブロックチェーン・ノードであり、トランザクション・ノード及び合意ノードはブロックチェーン・ネットワークのブロックチェーン・ノードであることと、を含むことができる。
【0012】
別の態様によれば、第1のトランザクション・ノードによって実施可能な、トランザクション要求を処理するための方法は、目標トランザクションのトランザクション・データを取得し、第1のトランザクション・ノードは、目標トランザクションに参加するブロックチェーン・ノードであることと、少なくともトランザクション・データに基づいてデータ抄録を生成することと、データ抄録を、1つ又は複数の第2のトランザクション・ノードに送信し、複数のトランザクション・ノードは、少なくとも第1のトランザクション・ノード及び第2のトランザクション・ノードを含むことと、トランザクション・ノードのそれぞれがデータ抄録に署名したことに少なくとも基づいてトランザクション抄録を得ることと、トランザクション抄録を含むトランザクション要求を生成することと、トランザクション要求を1つ又は複数の合意ノードに一斉送信し、それによって、トランザクション要求の中のトランザクション抄録を検証することを、この1つ又は複数の合意ノードにそれぞれ実行させ、トランザクション・ノード及び合意ノードはブロックチェーン・ネットワークのブロックチェーン・ノードであることと、を含むことができる。
【0013】
いくつかの実施形態では、第1のトランザクション・ノード及び1つ又は複数の第2のトランザクション・ノードが、目標トランザクションに参加する全てのトランザクション・ノードを形成し、トランザクション・データが合意ノードに送信されず、目標トランザクションに関連したブロックチェーンに保存されない。
【0014】
いくつかの実施形態では、目標トランザクションのトランザクション・データが、目標トランザクションに関連したトランザクションの内容(subject matter)、内容の詳細情報、目標トランザクションに参加する対象(subject)のアカウント・アドレス、又は目標トランザクションに参加する対象のID情報のうちの少なくとも1つを含む。
【0015】
いくつかの実施形態では、データ抄録に署名することが、データ抄録の検証をディジタル的に認めることを含み、第1のトランザクション・ノード及び1つ又は複数の第2のトランザクション・ノードのそれぞれがデータ抄録に署名し、データ抄録を返したことに少なくとも基づいてトランザクション抄録を得ることが、第1のトランザクション・ノード及び1つ又は複数の第2のトランザクション・ノードのそれぞれが、予め設定された順序でデータ抄録にそれぞれ署名したことに少なくとも基づいてトランザクション抄録を得ることを含む。
【0016】
本開示のいくつかの実施形態によれば、トランザクション・ノードによって全ての合意ノードに一斉送信されるトランザクション要求は、トランザクション抄録は含むがトランザクション・データは含まない。その結果として、トランザクション要求が合意検証に合格したときに、合意ノードは、トランザクション・データをブロックチェーンに保存せず、トランザクション・ノードのプライバシーが漏洩する危険性はない。同時に、トランザクション抄録は、全てのトランザクション・ノードがトランザクション・データのデータ抄録に署名した後に得られる。その結果として、ブロックチェーンに記憶されたトランザクション・データがないときでも、全てのトランザクション・ノードによってそのデータ抄録が承認されていることによって、そのトランザクション要求の真正性(authenticity)を、トランザクション要求に対応する目標トランザクションをどのトランザクション・ノードも否定することができないような形で依然として検認することができる。
【0017】
本開示の実施形態の技術的解決策をより明確に説明するため、以下では、それらの実施形態又は先行技術を示す添付図面を簡単に説明する。明らかに、以下の説明の添付図面は単なる例である。当業者にとっては、発明的努力なしで、これらの図面によって他の図面もさらに得ることができる。
【図面の簡単な説明】
【0018】
【
図1】本開示のいくつかの実施形態に従う、トランザクション要求を処理するための方法の流れ図である。
【
図2A】本開示のいくつかの実施形態に従う、典型的なブロックチェーン・ネットワーク内のノードの略図である。
【
図2B】本開示のいくつかの実施形態に従う、特別なブロックチェーン・ネットワーク内のノードの略図である。
【
図3A】本開示のいくつかの実施形態に従う、トランザクション要求を処理するための方法の略図である。
【
図3B】本開示のいくつかの実施形態に従う、トランザクション要求を処理するための方法の略図である。
【
図3C】本開示のいくつかの実施形態に従う、トランザクション要求を処理するための方法の略図である。
【
図4】本開示のいくつかの実施形態に従う、トランザクション要求を処理するための装置の略図である。
【発明を実施するための形態】
【0019】
本開示の実施形態は、トランザクション要求を処理するための方法及び装置を提供する。
【0020】
本開示の技術的解決策を当業者がより十分に理解することを可能にするため、本出願の実施形態の添付図面を参照して、本出願の技術的解決策を明確かつ完全に説明する。明らかに、記載された実施形態は、本開示の実施形態の全てではなく、本開示の実施形態の一部に過ぎない。当業者によって、発明的努力なしに、本開示の実施形態に基づいて達成される他の全ての実施形態は、本開示によって包含される。
【0021】
図1は、本開示のいくつかの実施形態に基づく、トランザクション要求を処理するための方法の流れ図である。この方法は、複数のトランザクション・ノード(又は簡単に「ノード」)によって実施することができる。トランザクション・ノードは、コンピューティング・デバイス(例えばコンピュータ、サーバなど)を指すことがあることを当業者は理解するであろう。そのような多くのコンピューティング・デバイスが(例えばローカル・ネットワーク又はインターネットを介して)互いに結合しているとき、それらのコンピューティング・デバイスは、接続されたノードのネットワークを形成することができる。この方法は以下のステップを含むことができる。
【0022】
S101:目標トランザクションのトランザクション・データを取得する。
【0023】
本開示の一実施形態では、目標トランザクションが、ブロックチェーンが関係するさまざまなトランザクションのうちの1つである。目標トランザクションのトランザクション・データは、目標トランザクションに関連したトランザクションの内容、内容の詳細情報、目標トランザクションに参加する対象のアカウント・アドレス、目標トランザクションに参加する対象のID情報などを含むことがある。目標トランザクションに関連したあらゆるデータがトランザクション・データとなることができる。トランザクション・データは、目標トランザクションに参加するブロックチェーン・ノードのプライバシー情報を含むことがある。
【0024】
本開示の一実施形態では、トランザクション・ノードが、目標トランザクションに参加するブロックチェーン・ノードであり、後述する第1のトランザクション・ノードと第2のトランザクション・ノードはともに、目標トランザクションに参加するブロックチェーン・ノードである。
【0025】
一例では、目標トランザクションに関して、合意ノードが合意検証を実行するために、その目標トランザクションのトランザクション要求を全ての合意ノードに一斉送信するトランザクション・ノードを、その目標トランザクションに参加する全てのトランザクション・ノードの中から指定する必要がある。トランザクション要求を一斉送信するこのトランザクション・ノードは、全てのトランザクション・ノードによる協議によって指定することができ、又は任意に指定することができる。本開示の第1のトランザクション・ノードは、全ての合意ノードにトランザクション要求を一斉送信することを担うトランザクション・ノードであり、後述する第2のトランザクション・ノードは、第1のトランザクション・ノード以外のトランザクション・ノードである。
【0026】
同時に、目標トランザクションに参加する全てのトランザクション・ノードの中に、目標トランザクションを開始する少なくとも1つのトランザクション・ノードが存在する。目標トランザクションを開始するこのトランザクション・ノードは、目標トランザクションのトランザクション・データを決定し、そのトランザクション・データに従ってトランザクション・データのデータ抄録を生成する。第1のトランザクション・ノードは、目標トランザクションを開始する機能とトランザクション要求を一斉送信する機能とを統合したものであってもよく(目標トランザクションを開始するトランザクション・ノードとトランザクション要求を一斉送信するトランザクション・ノードの両方であってもよく)、又はトランザクション要求を一斉送信することだけに責任を負うものであってもよい(トランザクション要求を一斉送信するだけのトランザクション・ノードであってもよく、第2のトランザクション・ノードが目標トランザクションを開始する)。
【0027】
さらに、典型的なブロックチェーン・ネットワークでは、それぞれのブロックチェーン・ノードが、目標トランザクションに参加するトランザクション・ノードと、同時にトランザクション要求に対する合意検証に参加する合意ノードの両方のノードとして作用することがある。
図2aは、本開示のいくつかの実施形態に従う、典型的なブロックチェーン・ネットワーク内のノードの略図である。
図2aに示されている通り、目標トランザクションに参加するトランザクション・ノードは、陰影がつけられたノード1及びノード2であり、陰影がつけられていないノード3、ノード4及びノード5は目標トランザクションには参加しない。ノード1、ノード2、ノード3、ノード4及びノード5は全て、合意検証に参加する合意ノードとして作用する。
【0028】
特別ないくつかのブロックチェーン・ネットワーク(例えば合意サブネットワークと非合意サブネットワークとを含むブロックチェーン・ネットワーク)では、それぞれのブロックチェーン・ノードが、目標トランザクションに参加するトランザクション・ノードとして作用することができるが、全てのブロックチェーン・ノードが、合意検証に参加する合意ノードとして作用するわけではない。
図2bは、特別なブロックチェーン・ネットワーク内のノードの略図である。
図2bに示されている通り、このブロックチェーン・ネットワークは、合意サブネットワークと非合意サブネットワークとに分割されている。ノード1、ノード2及びノード3はトランザクション・ノードである。同時に、ノード1及びノード2は、非合意サブネットワーク内のブロックチェーン・ノードであり、ノード3、ノード4及びノード5は、合意サブネットワーク内のブロックチェーン・ノードである。ノード1、ノード2及びノード3が参加する目標トランザクションに関する合意検証は、ノード3、ノード4及びノード5によって実行される。
【0029】
したがって、第1のトランザクション・ノードは同時に合意ノードでもあることがあり、又は合意ノードではないこともある。本開示の一実施形態では、第1のトランザクション・ノードが、少なくとも、目標トランザクションのトランザクション要求を一斉送信することができるトランザクション・ノードである。本開示において限定されるわけではないが、第1のトランザクション・ノードは、目標トランザクションを開始する機能、トランザクション要求を一斉送信する機能及び合意検証を実行する機能などの機能を統合したトランザクション・ノードであることもあり、又は、さらに、トランザクション要求を一斉送信する機能及び合意検証を実行する機能などの機能を統合したトランザクション・ノードであることもある。
【0030】
S102:複数のトランザクション・ノードがトランザクション・データのデータ抄録にそれぞれ署名した後に、トランザクション・データに従ってトランザクション抄録を決定する。トランザクション・ノードは少なくとも、第1のトランザクション・ノード及び1つ又は複数の第2のトランザクション・ノードを含むことができる。
【0031】
本開示の一実施形態では、全てのトランザクション・ノードがトランザクション・データのデータ抄録に署名(ディジタル署名)した後に、トランザクション抄録が得られる。トランザクション・データのデータ抄録は、目標トランザクションを開始するトランザクション・ノードによってトランザクション・データに従って生成され、また、逆に、データ抄録に従って平文(plaintext)のトランザクション・データを得ることはできない。他方、トランザクション・データが小さな変化を有するときにも、変化したトランザクション・データに従って生成されるデータ抄録は変化する。トランザクション・データのデータ抄録は、一方向ハッシュ関数に従って生成することができ、又は、逆にデータ抄録からそのようなトランザクション・データを得ることができないものである限りにおいて、他の関数に従ってデータ抄録を生成することもできる。
【0032】
本開示の一実施形態では、全てのトランザクション・ノードがデータ抄録に署名して、証書(certificate)抄録を得ることができる。第1の抄録、第2の抄録、第3の抄録、及び複数のトランザクション・ノードがデータ抄録に署名した後に得られる後述する抄録は全て証書抄録である。証書抄録は、署名するトランザクション・ノードによって承認されたデータ抄録の真正性の証明書である。
【0033】
本開示の一実施形態では、トランザクション抄録が、全てのトランザクション・ノードがトランザクション・データのデータ抄録に署名した後に得られる最終的な証書抄録である。本開示の一実施形態では、第1のトランザクション・ノード及び第2のトランザクション・ノードを含む全てのトランザクション・ノードが、データ抄録の真正性を承認したことを署名によって言明する必要がある。このようにすると、目標トランザクションに対する合意検証を全てのトランザクション・ノードが実行する前に、目標トランザクションのトランザクション・データの真正性を、全てのトランザクション・ノードによって検証することができる。
【0034】
いくつかの実施形態では、データ抄録に署名(ディジタル署名)することが、実際には、署名後のデータ抄録が新たな文字列に変化し、証書抄録となるような形で、データ抄録の文字構造を変化させることである。さらに、証書抄録が他のノードによってさらに署名された場合、証書抄録の文字構造はさらに変化して新たな証書抄録となる。例えば、5つのトランザクション・ノードによって署名されたデータ抄録と4つのトランザクション・ノードによって署名されたデータ抄録とは全く異なる。さらに、5つのトランザクション・ノードがデータ抄録に署名するとき、それらの5つのトランザクション・ノードが署名する順番が異なる場合には、異なるトランザクション抄録が得られる。
【0035】
そのため、本開示の一実施形態では、全てのトランザクション・ノードによってトランザクション・データのデータ抄録が署名された後に、トランザクション抄録が得られる。得られたトランザクション抄録は、全てのトランザクション・ノードがトランザクション・データ及びデータ抄録を承認したこと、すなわち目標トランザクションの真正性を承認したことを、疑いの余地なく示すことができる。例えば、目標トランザクションに参加する4つのトランザクション・ノードがあり、3つのトランザクション・ノードだけがデータ抄録に署名したとすると、得られる抄録は、最後のトランザクション・ノードによる署名がないことにより、4つの全てのトランザクション・ノードがデータ抄録に署名した後に得られるトランザクション抄録とは異なる。したがって、このことは、目標トランザクションが全てのトランザクション・ノードによっては承認されておらず、信頼できないことを示す。
【0036】
さらに、トランザクション・ノードの1つが、トランザクション・データ及びデータ抄録の真正性を承認せず、データ抄録に署名することを拒否している場合、第1のトランザクション・ノードは、トランザクション抄録を決定することができず、トランザクション抄録を含むトランザクション要求を全ての合意ノードに一斉送信することをしない。このことは、目標トランザクションを開始することができないことを意味する。特別な場合として、第1のトランザクション・ノードが、1つのトランザクション・ノードがデータ抄録に署名することを拒否しているにも関わらず、得られた抄録(拒否しているトランザクション・ノードによる署名がない抄録)に従って偽のトランザクション抄録をそれでもなお生成し、その偽のトランザクション抄録を全ての合意ノードに一斉送信することによって、悪意をもって行動する場合、署名を拒否しているそのトランザクション・ノードの利益(interest)は、その偽のトランザクション抄録がブロックチェーンに保存された場合であっても毀損されない。これは、その偽のトランザクション抄録が、署名することを拒否しているトランザクション・ノードによって署名されていない証明抄録であって、署名を拒否しているそのトランザクション・ノードが目標トランザクションを承認したとの言明の証明書として使用することができない証明抄録であるためである。したがって、データ抄録に対して多数の署名が必要であることは、悪意あるノードがトランザクション・データを捏造することを防ぐことができるだけでなく、悪意あるノードが、他のブロックチェーン・ノードの利益を意図的に毀損することを防ぐこともできる(ブロックチェーン・ノードは、そのブロックチェーン・ノードが署名しなかったデータ抄録に対応する目標トランザクションに責任を負う必要はない)。
【0037】
本開示の一実施形態では、合意検証のために、トランザクション・データが全ての合意ノードに一斉送信されることがない。その代わりに、合意検証のためにトランザクション抄録を全ての合意ノードに一斉送信することができ、合意ノードは、そのトランザクション抄録をブロックチェーンに保存することができ、このことは、そのトランザクション抄録に対応する、そのブロックチェーン内での目標トランザクションが本物である(authentic)ことを保証することができる。
【0038】
上記のことを考慮して、本開示のいくつかの実施形態では、合意検証のためにトランザクション・データが全ての合意ノードに一斉送信されることがなく、したがって、トランザクション・データがブロックチェーンに保存されないため、プライバシー漏洩の危険性がない。単にトランザクション・データが合意ノードに送信されないだけであり、目標トランザクションの真正性を合意ノードが検証することができないような場合、目標トランザクションを開始するトランザクション・ノードが、悪意をもって行動すること、誤トランザクションを捏造すること、及び他のブロックチェーン・ノードの利益を毀損することを防ぐことはできない。
【0039】
そのため、本開示のいくつかの実施形態では、目標トランザクションに参加する全てのトランザクション・ノードがトランザクション・データのデータ抄録に署名する必要がある(多数のディジタル署名)。このことは、目標トランザクションが本物であるかどうかを検証する作業を、目標トランザクションに参加する全てのトランザクション・ノードに委譲して完了させることと等価である。このようにすると、トランザクション要求の真正性を検証する合意ノードを有する必要がない。当然ながら、目標トランザクションのトランザクション・データを得る必要はなく、(全てのトランザクション・ノードによって署名された証書抄録がブロックチェーン上に保存されるため)ブロックチェーン上に記録された目標トランザクションも本物である。
【0040】
本開示の一実施形態では、多数のディジタル署名を一斉送信する解決策、多数の順序付きディジタル署名(ordered multiple digital singature)の解決策など、データ抄録に対して多数のディジタル署名が実行されるさまざまな手法が存在する。
【0041】
ここで、多数のディジタル署名を一斉送信する解決策は、目標トランザクションを開始するトランザクション・ノードが、データ抄録を他のトランザクション・ノードにそれぞれ送信することを指すことがあり、全てのトランザクション・ノードがそのデータ抄録に異議を申し立てず、そのデータ抄録に署名したときに、それぞれのトランザクション・ノードによって署名されたデータ抄録(そのデータ抄録に対するトランザクション・ノード自体による署名の後に得られた抄録を含む)を集めることによってトランザクション抄録を得、それを特定のアルゴリズムに従って結合することができる。
【0042】
多数の順序付きディジタル署名の解決策は、目標トランザクションを開始するトランザクション・ノードがデータ抄録を生成し、次いで、全てのトランザクション・ノードが、同意された順序でそのデータ抄録に署名し、最後に署名したトランザクション・ノード又は選択された別のトランザクション・ノードが、生成されたトランザクション抄録を決定することを意味する。
【0043】
本開示の一実施形態では、目標トランザクションが第1のトランザクション・ノードによって開始されるときに、第1のトランザクション・ノードが、トランザクション・データに従ってデータ抄録を生成し、そのデータ抄録を、全ての第2のトランザクション・ノードに送信し、それによって、そのデータ抄録に署名することを全ての第2のトランザクション・ノードに実行させ、全ての第2のトランザクション・ノードがデータ抄録に署名した後に抄録を取得し、取得した署名後のデータ抄録に従ってトランザクション抄録を決定することができ、第2のトランザクション・ノードは、全てのトランザクション・ノードの中の第1のトランザクション・ノード以外のトランザクション・ノードである。
【0044】
例えば、目標トランザクションが第1のトランザクション・ノードによって開始されるときには、多数のディジタル署名を一斉送信する解決策を使用することができ、この解決策では、第1のトランザクション・ノードが、トランザクション・データに従ってデータ抄録を生成し、そのデータ抄録に署名して第3の抄録を得、第3の抄録を、署名のために全ての第2のトランザクション・ノードにそれぞれ送信し、次いで、全ての第2のトランザクション・ノードが第3の抄録に署名した後に生成された抄録を結合し、トランザクション抄録を決定する。同様に、多数のディジタル署名を一斉送信する解決策が使用されるときには、第1のトランザクション・ノードが最初に、データ抄録を、全ての第2のトランザクション・ノードにそれぞれ送信し、次いでそのデータ抄録に署名して第3の抄録を得、最後に、全ての第2のトランザクション・ノードがデータ抄録に署名した後に生成された抄録と第3の抄録とを結合して、トランザクション抄録を得ることもできる。
【0045】
いくつかの実施形態では、目標トランザクションが第1のトランザクション・ノードによって開始されるときに、多数の順序付きディジタル署名の解決策も使用されるが、これを繰り返すことはしない。
【0046】
本開示の一実施形態では、目標トランザクションがいずれかの第2のトランザクション・ノードによって開始されるときに、第1のトランザクション・ノードが、目標トランザクションを開始する第2のトランザクション・ノードによって送信されたデータ抄録を受信することができ、そのデータ抄録が正しいことを検証した後に、データ抄録に署名して第1の抄録を得、全ての第2のトランザクション・ノードがデータ抄録に署名した後に得られた第2の抄録を受信したときに、第1の抄録及び第2の抄録に従ってトランザクション抄録を決定することができる。
【0047】
要するに、本開示は、第1のトランザクション・ノードがトランザクション・データに従ってトランザクション抄録を決定する方法を限定しない。第1のトランザクション・ノードは、目標トランザクションを開始しトランザクション要求を一斉送信するトランザクション・ノードとして、さまざまな多数の署名解決策でトランザクション抄録を決定することができ、又は、単にトランザクション要求を一斉送信するトランザクション・ノードとして、トランザクション抄録を得ることができる。
【0048】
S103:トランザクション・データとトランザクション抄録とを含むトランザクション要求を生成する。
【0049】
S104:トランザクション要求を1つ又は複数の合意ノードに一斉送信し、それによって、トランザクション抄録が合意検証に合格した後に、トランザクション要求の中のトランザクション抄録をブロックチェーンに保存することを、合意ノードにそれぞれ実行させる。トランザクション・ノード及び合意ノードは、ブロックチェーン・ネットワークのブロックチェーン・ノードである。
【0050】
いくつかの実施形態では、第1のトランザクション・ノードによって全ての合意ノードに一斉送信されるトランザクション要求が、トランザクション抄録は含むが、トランザクション・データは含まない。
【0051】
いくつかの実施形態では、トランザクション要求の中のトランザクション抄録に対する合意検証に合格した後に、それぞれの合意ノードが、トランザクション抄録だけをブロックチェーンに保存し、トランザクション・データはブロックチェーンに保存しない。本開示の一実施形態では、それぞれの合意ノードが、例えばそれぞれのトランザクション・ノードによって提供される公開鍵を使用してそのトランザクション抄録の解読を試みることにより、トランザクション要求に含まれるトランザクション抄録の妥当性を検証するだけでよい。解読に成功した場合、このことは、そのトランザクション抄録が、全てのトランザクション・ノードがトランザクション・データのデータ抄録に署名した後に実際に得られたものであることを示し、さらに、トランザクション要求に対応する目標トランザクションが、全てのトランザクション・ノードによって異議なく承認されたこと、及びそれが本物であることも示す。それぞれのトランザクション・ノードによって提供される公開鍵は、それぞれのトランザクション・ノードによって合意ノードに前もって提供すること、又は、第1のトランザクション・ノードによって合意ノードに送信されたトランザクション要求と一緒に合意ノードに送信することができる。
【0052】
目標トランザクションに関して、目標トランザクションのトランザクション・データに従って決定されたトランザクション抄録をブロックチェーンが記憶する限り、このことは、目標トランザクションが本物であることを示すことができ、全ての合意ノードが、目標トランザクションのトランザクション・データに対して合意検証を実行する必要はない。
【0053】
本開示の一実施形態では、トランザクション要求が、トランザクション抄録を含むことができるだけでなく、目標トランザクションが関係する資産(asset)の資産番号(asset number)も含むことができる。トランザクション抄録に対して妥当性検証を実行することに加えて、それぞれの合意ノードは、受信した資産番号に従って以下の2つの態様の検証を実行することができる:1.その資産が反復的に支出されているかどうかを決定すること、及び2.その資産が不正に使用されているかどうかを検証すること。後者は、全てのトランザクション・ノードが所有する資産の資産番号を、それぞれのトランザクション・ノードの公開鍵に従ってそれぞれ決定し、次いで、目標資産が関係する資産の資産番号の中に、それらのトランザクション・ノードが所有する資産の資産番号ではない少なくとも1つの資産番号が存在するかどうかを決定するものである。そのような資産番号が存在する場合、このことは、目標トランザクションに含まれるトランザクション・ノードが、非トランザクション・ノードの資産番号を不正に使用していることを示す。
【0054】
このような状況では、トランザクション抄録が妥当であることが確認されたときにだけトランザクション抄録がブロックチェーンに保存され、資産の反復的支出又は資産番号の不正使用は起こらない。資産番号は、トランザクション・ノードのプライバシーに関係しないため、資産の反復的支出又は資産番号の不正使用があるかどうかの検証を実行するタスクに、合意ノードを当てることができる。
【0055】
本開示の一実施形態では、第1のトランザクション・ノードがさらに、第1のトランザクション・ノード自体に対応する私用データベース(private database)にトランザクション・データを保存する。
【0056】
さらに、目標トランザクションが第1のトランザクション・ノードによって開始されるときに、第1のトランザクション・ノードはさらに、トランザクション・データをそれぞれの第2のトランザクション・ノードに送信することができ、それぞれの第2のトランザクション・ノードも、そのそれぞれの第2のトランザクション・ノード自体に対応する私用データベースにトランザクション・データを保存することができる。
【0057】
本開示において限定されるわけではないが、いくつかの実施形態では、それぞれのトランザクション・ノードも、そのそれぞれのトランザクション・ノード自体の私用データベースにデータ抄録を保存することができる。
【0058】
トランザクション・データは、目標トランザクションの全体像を反映することができる。目標トランザクションに関するトランザクション・ノード間の争いを防ぐため、及び全てのトランザクション・ノードが、それらのトランザクション・ノードが参加する目標トランザクションのトランザクション・データにいつでも問い合わせることができるように、それぞれのトランザクション・ノードは、そのそれぞれのトランザクション・ノード自体にトランザクション・データを保存することができる。トランザクション・ノードが失われないことを保証するため、少なくとも1つのトランザクション・ノードがトランザクション・データを保存する。
【0059】
このようにすると、全てのトランザクション・ノードが、ブロックチェーン上に記憶されたトランザクション抄録を信用するとの条件で、それぞれのトランザクション・ノードによって言明されたトランザクション・データを検証することができる。すなわち、以前に目標トランザクションが開始されたときに使用されたものと同じ多数署名解決策を使用して、トランザクション・ノードによって言明されたトランザクション・データに対する多数の署名を得て、ブロックチェーン上に記憶されたトランザクション抄録を得ることができるかどうかを決定することができる。
【0060】
言い換えると、それぞれのトランザクション・ノードによってそのそれぞれのトランザクション・ノード自体に記憶されたトランザクション・データは、それぞれのトランザクション・ノードによって任意に変更されることができる。全てのトランザクション・ノードによって記憶されたトランザクション・データに矛盾がある(いくつかのトランザクション・ノードが悪意をもって行動している)と仮定すると、それぞれのトランザクション・ノードは、トランザクション・ノードによって言明された検証対象のトランザクション・データ(このデータは、そのトランザクション・ノード自体によって捏造されている可能性がある)に従って、検証対象のトランザクション・データに対応する検証対象のトランザクション抄録を、以前に使用された多数ディジタル署名解決策を使用して再び得ることができる。検証対象のトランザクション抄録が、ブロックチェーンに記憶されたトランザクション抄録と同じである場合には、そのトランザクション・ノードは悪意をもって行動してはおらず、同じでなければ、そのトランザクション・ノードは悪意をもって行動している可能性がある。
【0061】
図3a~
図3cは、本開示のいくつかの実施形態に従う、トランザクション要求を処理するための方法の略図である。
図3a~
図3cに示されている通り、このブロックチェーン・ネットワークはブロックチェーン・ノード1~10を含み、陰影をつけられたブロックチェーン・ノード1~6はトランザクション・ノードであり、ブロックチェーン・ノード1~3及び7~10は合意ノードである。トランザクション・ノード1は、目標トランザクションを開始するトランザクション・ノードであり、トランザクション要求を一斉送信するトランザクション・ノードでもある。
図3aに示されている通り、トランザクション・ノード1は、トランザクション・データを取得し、そのトランザクション・データに従ってデータ抄録を生成し、続いて、トランザクション・ノード2~6がそのデータ抄録に署名するような形で、そのトランザクション・データ及びデータ抄録をトランザクション・ノード2~6にそれぞれ送信する。
図3bに示されている通り、トランザクション・ノード2~6は、トランザクション・ノード2~6自体の私用データベースにトランザクション・データを記憶することができ、データ抄録及びトランザクション・データが正しいと検証された後に、データ抄録が署名された後に得られた抄録をトランザクション・ノード1に返すことができる。一方で、トランザクション・ノード1は、ブロックチェーン・ノードにトランザクション・データを保存し、他方で、トランザクション・ノード1は、そのデータ抄録自体に署名し、最後に、他のトランザクション・ノードから受信した抄録及びトランザクション・ノード1がそのデータ抄録自体に署名した後に得られた抄録に従って、トランザクション抄録を決定する。
図3cに示されている通り、トランザクション抄録を決定した後、トランザクション・ノード1は、トランザクション抄録を含むデータ要求を生成し、それを、合意検証のためにそれぞれの合意ノードに一斉送信する。そのデータ要求が検証に合格した場合、それぞれの合意ノードは、トランザクション抄録をブロックチェーンに保存する。
【0062】
図3a~
図3cに示されたトランザクション要求を処理するための方法は、本開示の技術的解決策の例示的な実施態様に過ぎない。本開示の一実施形態では、第1のトランザクション・ノードが目標トランザクションを開始するノードであるのかどうかに制限はなく、それぞれのトランザクション・ノードが合意ノードであるのかどうかに制限はなく、どの多数ディジタル署名解決策を使用するのか、及び全てのトランザクション・ノードがデータ抄録に署名した後に得られた抄録を結合してトランザクション抄録にするのにどのアルゴリズムを使用するのかに制限はない。
【0063】
図1に示されたトランザクション要求を処理するための方法によれば、トランザクション・ノードによって全ての合意ノードに一斉送信されるトランザクション要求は、トランザクション抄録は含むが、トランザクション・データは含まない。その結果として、トランザクション要求が合意検証に合格したときに、合意ノードは、トランザクション・データをブロックチェーンに保存せず、トランザクション・ノードのプライバシーが漏洩する危険性はない。同時に、トランザクション抄録は、全てのトランザクション・ノードがトランザクション・データのデータ抄録に署名した後に得られる。その結果として、ブロックチェーンに記憶されたトランザクション・データがないときでも、全てのトランザクション・ノードによってそのデータ抄録が承認されていることによって、そのトランザクション要求の真正性を、トランザクション要求に対応する目標トランザクションをどのトランザクション・ノードも否定することができないような形で依然として検認することができる。
【0064】
さらに、ブロックチェーン用途のいくつかのシナリオでは、監視ノードとして、ブロックチェーン・ネットワークにある監視機構を導入する必要がある。目標トランザクションに対応する、ブロックチェーンに記憶された証書抄録は、多数のディジタル署名を有し、どのトランザクション・ノードが目標トランザクションに参加するのか、及び目標トランザクションに参加する全てのトランザクション・ノードによって目標トランザクションが異議なく承認されたかどうかを監視ノードが知るのを容易にすることができる。
【0065】
図1に示された、トランザクション要求を処理するための方法に基づいて、本開示の一実施形態はさらに、これに対応して、
図4に示されているような、トランザクション要求を処理するための装置400を提供する。装置400は、ソフトウェア、ハードウェア又はその両方の組合せとして実施することができる。一例では、装置400が、一体に結合されたプロセッサ及びメモリを備える。メモリは、非一時的なコンピュータ可読のものとすることができ、プロセッサによって実行されたときに本明細書に記載されたさまざまなステップ及び方法を装置400に実行させる命令を記憶することができる。この命令は、
目標トランザクションのトランザクション・データを取得するように構成された取得モジュール401と、
トランザクション・データに従ってトランザクション抄録を決定するように構成された決定モジュール402であって、トランザクション抄録が、全てのトランザクション・ノードがトランザクション・データのデータ抄録に署名した後に得られ、トランザクション・ノードが、目標トランザクションに参加するブロックチェーン・ノードであり、装置が、トランザクション・ノードのうちの1つである、決定モジュール402と、
トランザクション・データとトランザクション抄録とを含むトランザクション要求を生成するように構成された生成モジュール403と、
トランザクション抄録が合意検証に合格した後に、全ての合意ノードが、トランザクション要求の中のトランザクション抄録をブロックチェーンに保存するように、トランザクション要求を全ての合意ノードに一斉送信するよう構成された一斉送信モジュール404と
を含むさまざまなモジュールとして実施することができる。
【0066】
いくつかの実施形態では、決定モジュール402に関して、目標トランザクションが装置によって開始されるときに、装置400は、トランザクション・データに従ってデータ抄録を生成し、全ての第2のトランザクション・ノードがそのデータ抄録に署名するように、そのデータ抄録を、全ての第2のトランザクション・ノードに送信し、全ての第2のトランザクション・ノードがデータ抄録に署名した後にデータ抄録を取得し、取得した署名後のデータ抄録に従ってトランザクション抄録を決定する。
【0067】
いくつかの実施形態では、目標トランザクションがいずれかの第2のトランザクション・ノードによって開始されるときに、決定モジュール402は、データ抄録を受信し、そのデータ抄録を、トランザクション・データに従って検証し、データ抄録が検証に合格した場合に、データ抄録に署名して第1の抄録を得、全ての第2のトランザクション・ノードがデータ抄録に署名した後に得られた第2の抄録を受信したときに、第1の抄録及び第2の抄録に従ってトランザクション抄録を決定する。
【0068】
装置400はさらに、装置に対応する私用データベースにトランザクション・データを保存するように構成された保存モジュール405を含むことができる。
【0069】
装置400はさらに、目標トランザクションが装置によって開始されるときに、それぞれの第2のトランザクション・ノードが、第2のトランザクション・ノードに対応する私用データベースにトランザクション・データを保存するように、トランザクション・データを全ての第2のトランザクション・ノードに送信するよう構成された送信モジュール406を含むことができる。
【0070】
1990年代、技術の改良は、ハードウェア改良(例えばダイオード、トランジスタ、スイッチなどの回路構造の改良)か又はソフトウェア改良(方法のフローの改良)かに分けることができた。しかしながら、技術の発展とともに、方法フローの現在の改良の多くは、ハードウェア回路構造の直接の改良とみなすことができる。改良された方法フローをハードウェア回路にプログラムすることによって、設計者は、対応するハードウェア回路構造を得ることができる。したがって、方法フローの改良は、ハードウェア実装によって実現することができる。例えば、プログラム可能ロジック・デバイス(PLD)(例えばフィールド・プログラマブル・ゲートアレイ(FPGA))は、デバイスをプログラムすることにより、その論理関数がユーザによって決定される集積回路である。設計者は、1つのPLD上にディジタル・システムを「組み込む」ようにプログラムすることができ、専用ICチップを設計及び製造するようチップ製造業者に依頼することはしない。現在、このタイプのプログラミングは、ICチップを手動で製造するのではなく、主に「論理コンパイラ」ソフトウェアによって実施されている。論理コンパイラ・ソフトウェアは、プログラムの開発及びライティング(writing)に使用されているソフトウェア・コンパイラに似ているが、コンパイルの前にソース・コードを書くために、ハードウェア記述言語(Hardware Description Language)(HDL)と呼ばれる特定のプログラミング言語が使用される。HDLは1つだけではなく、ABEL(Advenced Boolean Expression Language(拡張論理式言語))、AHDL(Altera Hardware Description Language(Alteraハードウェア記述言語))、Confluence、CUPL(Cornell University Programming Language(コーネル大学プログラミング言語))、HDCal、JHDL(Java Hardware Description Language(Javaハードウェア記述言語))、Lava、Lola、MyHDL、PALASM、RHDL(Ruby Hardware Description Language(Rubyハードウェア記述言語))など、多くのタイプのHDLが存在する。最も一般的に使用されているHDLには、VHDL(Very-High-Speed Integrated Circuit Hardware Description Language)(超高速集積回路ハードウェア記述言語)及びVerilogが含まれる。上記のHDLを使用して方法フローに対してある論理プログラミングを実行し、それをICにプログラムすることによって、論理方法フローを実施するためのハードウェア回路を得ることを、当業者は知っているであろう。
【0071】
コントローラは、適切な任意の方式で実施することができる。例えば、コントローラは、例えばマイクロプロセッサ又はプロセッサの形態、並びに(マイクロ)プロセッサ、論理ゲート、スイッチ、特定用途向けIC(ASIC)、プログラム可能ロジック・コントローラ及び埋込み型マイクロコントローラによって実行することができるコンピュータ可読プログラム・コード(例えばソフトウェア又はファームウェア)を記憶したコンピュータ可読媒体の形態をとることができる。コントローラの例は、限定はされないが、以下のマイクロコントローラを含む:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20及びSilicone Labs C8051F320。さらに、メモリの制御論理の部分としてメモリ・コントローラを実施することもできる。コントローラは、純粋なコンピュータ可読プログラム・コードの方式で実施されるだけでなく、論理ゲート、スイッチ、ASIC、プログラム可能論理コントローラ及び埋込み型マイクロコントローラの形態でコントローラが同じ機能を実施することができるように、方法のステップに対して論理プログラミングを実行することも実行可能であることを、当業者は知っておくべきである。したがって、そのようなコントローラをハードウェア部品とみなすことができるが、その中に含まれる、さまざまな機能を実行するように構成されたデバイスも、ハードウェア部品内の構造とみなすことができる。あるいは、さまざまな機能を実行するように構成されたデバイスを、方法を実施するためのソフトウェア・モジュールとハードウェア部品内の構造の両方とみなすこともできる。
【0072】
上記の実施形態に記載されたシステム、装置、モジュール又はユニットは、コンピュータ・チップもしくはエンティティによって、又は機能を有する製品によって実施することができる。典型的な実施デバイスはコンピュータである。例えば、コンピュータは、例えばパーソナル・コンピュータ、ラップトップ・コンピュータ、セル式電話、カメラ電話、スマートホン、パーソナル・ディジタル・アシスタント、メディア・プレーヤ、ナビゲーション・デバイス、電子メール装置、ゲーム機、タブレット・コンピュータ、ウェアラブル・デバイス又はこれらのデバイスの中の任意のデバイスの組合せである。
【0073】
説明の都合上、上記の装置は、説明のために、機能に従ってさまざまなユニットに分割されている。本開示を実施するとき、それらのユニットの機能は、ソフトウェア及び/又はハードウェアの1つ又は多数内に実装することができる。
【0074】
本開示の実施形態は、方法、システム又はコンピュータ・プログラム製品として提供することができることを当業者は理解すべきである。したがって、開示されたシステムは、開示された方法を実行するための完全なハードウェア実施形態、完全なソフトウェア実施形態、又はソフトウェアとハードウェアを組み合わせた実施形態として実施することができる。さらに、開示されたシステムは、コンピュータが使用可能なプログラム・コードをその中に含むコンピュータが使用可能な1つ又は複数の記憶媒体(限定はされないが、磁気ディスク・メモリ、CD-ROM、光学メモリなどを含む)上に実装されたコンピュータ・プログラム製品の形態をとることができる。
【0075】
開示されたシステムは、本開示の実施形態に従う方法、デバイス(システム)及びコンピュータ・プログラム製品の流れ図及び/又はブロック図を参照して説明される。コンピュータ・プログラム命令を使用して、流れ図及び/又はブロック図の中のそれぞれのプロセス及び/又はブロック、並びに流れ図及び/又はブロック図の中のプロセス及び/又はブロックの組合せを実施することができることを理解すべきである。コンピュータによって又は他のプログラム可能なデータ処理デバイスのプロセッサによって実行された命令が、流れ図の中の1つもしくは複数のプロセスの中及び/又はブロック図の中の1つもしくは複数のブロックの中に記載された指定された機能を実施するための装置を生成するように、これらのコンピュータ・プログラム命令を、汎用コンピュータ、専用コンピュータ、埋込み型プロセッサ、又は他のプログラム可能なデータ処理デバイスのプロセッサに提供して機械を生成することができる。
【0076】
これらのコンピュータ・プログラム命令を、特定の方式で機能するようコンピュータ又は他のプログラム可能なデータ処理デバイスに命令することができるコンピュータ可読メモリに記憶して、コンピュータ可読メモリに記憶された命令が、命令装置を含む製品を生成するようにすることもできる。この命令装置は、流れ図の中の1つもしくは複数のプロセスの中及び/又はブロック図の中の1つもしくは複数のブロックの中に記載された1つ又は複数の機能を実施する。
【0077】
これらのコンピュータ・プログラム命令を、コンピュータ又は他のプログラム可能なデータ処理デバイスにロードして、そのコンピュータ又は他のプログラム可能デバイス上で一連の操作ステップが実行されるようにし、それによって、コンピュータによって実施される処理を生成することもできる。したがって、このコンピュータ又は他のプログラム可能なデバイス上で実行される命令は、流れ図の中の1つもしくは複数のプロセスの中及び/又はブロック図の中の1つもしくは複数のブロックの中に記載された1つ又は複数の機能を実施するためのステップを提供する。
【0078】
典型的な構成では、このコンピュテーション・デバイスが、1つ又は複数の中央処理ユニット(CPU)、入力/出力インタフェース、ネットワーク・インタフェース及びメモリを含む。
【0079】
メモリは、揮発性メモリ、ランダム・アクセス・メモリ(RAM)、及び/又は不揮発性メモリ、例えばリードオンリー・メモリ(ROM)もしくはフラッシュRAMなどのコンピュータ可読媒体を含むことができる。メモリは、コンピュータ可読媒体の例である。
【0080】
コンピュータ可読媒体は、情報記憶を何らかの方法又は技術によって実施することができる永続性、揮発性、可搬性及び非可搬性の媒体を含む。この情報は、コンピュータ可読命令、データ構造、プログラム・モジュール又は他のデータとすることができる。コンピュータの記憶媒体の例は、限定はされないが、相変化(Phase-change)RAM(PRAM)、スタティックRAM(SRAM)、ダイナミックRAM(DRAM)、他のタイプのランダム・アクセス・メモリ(RAM)、リードオンリー・メモリ(ROM)、電気的に消去可能なプログラム可能リードオンリー・メモリ(EEPROM)、フラッシュ・メモリもしくは他のメモリ技術、コンパクト・ディスク・リードオンリー・メモリ(CD-ROM)、ディジタル・バーサタイル・ディスク(DVD)もしくは他の光学メモリ、カセット、カセット及びディスク・メモリもしくは他の磁気メモリデバイス、又は、情報を記憶する目的に使用することができ、コンピュテーション・デバイスがアクセス可能な他の任意の非伝送媒体を含む。本明細書の定義によれば、コンピュータ可読媒体は、変調されたデータ信号及び搬送波などの一時的媒体を含まない。
【0081】
さらに、用語「含む(including)」、「備える(comprising)」又はこれらの用語の他の一切の異形は、一連の要素を含むプロセス、方法、物品又はデバイスが、それらの要素を含むだけでなく、列挙されていないその他の要素をも含むように、又はそのプロセス、方法、物品又はデバイスが本来備えている要素をさらに含むように、非排他的包摂(non-exclusive incluison)を包含することを意図していることに留意すべきである。さらなる制限がないとき、記述「1つの...を含む(compising one...)」によって定義された要素は、その定義された要素を含むプロセス、方法、物品又はデバイスの中の追加の同様の要素を排除しない。
【0082】
本開示の実施形態は、方法、システム又はコンピュータ・プログラム製品として提供することができることを当業者は理解すべきである。したがって、本開示は、完全なハードウェア実施形態、完全なソフトウェア実施形態、又はソフトウェアとハードウェアを組み合わせた実施形態として実施することができる。さらに、本開示は、コンピュータが使用可能なプログラム・コードを含むコンピュータが使用可能な1つ又は複数の記憶媒体(限定はされないが、磁気ディスク・メモリ、CD-ROM、光学メモリなどを含む)上に実装されたコンピュータ・プログラム製品の形態をとることができる。
【0083】
本開示は、コンピュータによって実行されるプログラム・モジュールなどのコンピュータ実行可能命令の通常の文脈で説明されることがある。さまざまな実施形態において、このプログラム・モジュールは、特定のタスクを実行するため又は特定の抽象データ型を実施するためのルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。本開示は、分散コンピューティング環境で実施することもできる。それらの分散コンピューティング環境では、通信ネットワークを介して接続された遠隔処理デバイスがタスクを実行する。分散コンピューティング環境では、記憶デバイスを含むローカル及びリモート・コンピュータ記憶媒体の中にプログラム・モジュールを置くことができる。
【0084】
この説明の中の実施形態は累進的に説明され、それぞれの実施形態は、他の実施形態との違いに焦点を当てて説明される。それらの実施形態は、それらの実施形態の同一の部分又は同様の部分に関して相互に参照することができる。システム実施形態に関しては、その説明が比較的に簡単になされている。これは、システム実施形態が方法実施形態にかなり似ているためである。方法実施形態の説明を、システム実施形態の関係部分に関して参照することができる。
【0085】
本開示の実施形態は単なる例であり、本開示を限定する目的には使用されない。
当業者にとって、開示された実施形態は、さまざまな形で修正又は変更することができるものである。本開示の趣旨及び原理の範囲内で実施された一切の修正、等価の置換又は改良は、本開示の請求項によって包含される。