(57)【特許請求の範囲】
【請求項１】
順序要件のないトランザクション要求からトランザクションデータを取得することであって、順序要件のない前記トランザクション要求は、前記トランザクション要求が送信者によっていつ送られたかという時間因子に従った処理を要求しない、取得することと、
予め設定された分配規則に従って、前記トランザクション要求が送信者によっていつ送られたかという時間因子を考慮せずに、コンセンサスユニット集合における少なくとも１つのコンセンサスユニットに前記トランザクションデータを分配して、前記少なくとも１つのコンセンサスユニットに、前記トランザクション要求が送信者によっていつ送られたかという時間因子を考慮せずに、前記分配したトランザクションデータにコンセンサス処理を行わせることと、
を含み、
予め設定された分配規則に従って、前記コンセンサスユニット集合における少なくとも１つのコンセンサスユニットに前記トランザクションデータを分配することが、
前記トランザクションデータの組数に従って、前記少なくとも１つのコンセンサスユニットとして前記コンセンサスユニット集合から一致数のコンセンサスユニットをランダム方式で決定することと、
前記決定したコンセンサスユニットに、それぞれ、前記トランザクションデータの組を分配することと、
を含む、ブロックチェーンコンセンサスのためのトランザクションデータの分配を提供する方法。
【請求項２】
順序要件のないトランザクション要求からトランザクションデータを取得することであって、順序要件のない前記トランザクション要求は、前記トランザクション要求が送信者によっていつ送られたかという時間因子に従った処理を要求しない、取得することと、
予め設定された分配規則に従って、前記トランザクション要求が送信者によっていつ送られたかという時間因子を考慮せずに、コンセンサスユニット集合における少なくとも１つのコンセンサスユニットに前記トランザクションデータを分配して、前記少なくとも１つのコンセンサスユニットに、前記トランザクション要求が送信者によっていつ送られたかという時間因子を考慮せずに、前記分配したトランザクションデータにコンセンサス処理を行わせることと、
を含み、
予め設定された分配規則に従って、前記コンセンサスユニット集合における少なくとも１つのコンセンサスユニットに前記トランザクションデータを分配することが、
前記少なくとも１つのコンセンサスユニットとして前記コンセンサスユニット集合からコンセンサストランザクションを要するコンセンサスユニットをポーリング方式で決定することと、
前記決定したコンセンサスユニットに前記トランザクションデータを分配することと、
を含む、ブロックチェーンコンセンサスのためのトランザクションデータの分配を提供する方法。
【請求項３】
順序要件のないトランザクション要求からトランザクションデータを取得することであって、順序要件のない前記トランザクション要求は、前記トランザクション要求が送信者によっていつ送られたかという時間因子に従った処理を要求しない、取得することと、
予め設定された分配規則に従って、前記トランザクション要求が送信者によっていつ送られたかという時間因子を考慮せずに、コンセンサスユニット集合における少なくとも１つのコンセンサスユニットに前記トランザクションデータを分配して、前記少なくとも１つのコンセンサスユニットに、前記トランザクション要求が送信者によっていつ送られたかという時間因子を考慮せずに、前記分配したトランザクションデータにコンセンサス処理を行わせることと、
を含み、
予め設定された分配規則に従って、前記コンセンサスユニット集合における少なくとも１つのコンセンサスユニットに前記トランザクションデータを分配することが、
前記トランザクションデータを処理するために必要とされるリソース量および前記コンセンサスユニット集合における各コンセンサスユニットの遊休リソース量を決定することと、
前記トランザクションデータを処理するために必要とされる前記リソース量より大きい遊休リソース量を有するコンセンサスユニットの数が設定値より大きいことに応答して、前記トランザクションデータを処理するために必要とされる前記リソースより多くの遊休リソースを有する前記コンセンサスユニットからコンセンサストランザクションを要するコンセンサスユニットをポーリング方式で決定し、そして前記決定したコンセンサスユニットに前記トランザクションデータを分配することと、
前記トランザクションデータを処理するために必要とされる前記リソース量より大きい前記遊休リソース量を有するコンセンサスユニットの数が前記設定値より小さいことに応答して、負荷バランス規則に従って、前記トランザクションデータを処理するために必要とされる前記リソースより多くの遊休リソースを有する前記コンセンサスユニットから設定条件を下回る負荷容量を有するコンセンサスユニットを決定し、そして前記決定したコンセンサスユニットに前記トランザクションデータを分配することと、
を含む、ブロックチェーンコンセンサスのためのトランザクションデータの分配を提供する方法。
【請求項４】
順序要件のないトランザクション要求からトランザクションデータを取得することであって、順序要件のない前記トランザクション要求は、前記トランザクション要求が送信者によっていつ送られたかという時間因子に従った処理を要求しない、取得することと、
予め設定された分配規則に従って、前記トランザクション要求が送信者によっていつ送られたかという時間因子を考慮せずに、コンセンサスユニット集合における少なくとも１つのコンセンサスユニットに前記トランザクションデータを分配して、前記少なくとも１つのコンセンサスユニットに、前記トランザクション要求が送信者によっていつ送られたかという時間因子を考慮せずに、前記分配したトランザクションデータにコンセンサス処理を行わせることと、
を含み、
前記トランザクションデータが複数組のトランザクションデータを含み、かつ、
予め設定された分配規則に従って、前記コンセンサスユニット集合における少なくとも１つのコンセンサスユニットに前記トランザクションデータを分配することが、
前記複数組のトランザクションデータを分類して１つまたは複数のトランザクションデータ群を得ることと、
前記予め設定された分配規則に従って、前記コンセンサスユニット集合における異なるコンセンサスユニットに前記トランザクションデータ群を分配することと、
を含む、ブロックチェーンコンセンサスのためのトランザクションデータの分配を提供する方法。
【請求項５】
ブロックチェーンコンセンサスのためのトランザクションデータの分配を提供するブロックチェーンコンセンサス装置であって、プロセッサ、および前記プロセッサによって実行されると、前記ブロックチェーンコンセンサス装置に方法を行わせる命令を記憶した非一時的コンピュータ可読記憶媒体を備え、前記方法が、
順序要件のないトランザクション要求からトランザクションデータを取得することであって、順序要件のない前記トランザクション要求は、前記トランザクション要求が送信者によっていつ送られたかという時間因子に従った処理を要求しない、取得することと、
予め設定された分配規則に従って、前記トランザクション要求が送信者によっていつ送られたかという時間因子を考慮せずに、コンセンサスユニット集合における少なくとも１つのコンセンサスユニットに前記トランザクションデータを分配して、前記少なくとも１つのコンセンサスユニットに、前記トランザクション要求が送信者によっていつ送られたかという時間因子を考慮せずに、前記分配したトランザクションデータにコンセンサス処理を行わせることと、
を含み、
予め設定された分配規則に従って、前記コンセンサスユニット集合における少なくとも１つのコンセンサスユニットに前記トランザクションデータを分配することが、
前記トランザクションデータの組数に従って、前記少なくとも１つのコンセンサスユニットとして前記コンセンサスユニット集合から一致数のコンセンサスユニットをランダム方式で決定することと、
前記決定したコンセンサスユニットに、それぞれ、前記トランザクションデータの組を分配することと、
を含む、ブロックチェーンコンセンサス装置。
【請求項６】
ブロックチェーンコンセンサスのためのトランザクションデータの分配を提供するブロックチェーンコンセンサス装置であって、プロセッサ、および前記プロセッサによって実行されると、前記ブロックチェーンコンセンサス装置に方法を行わせる命令を記憶した非一時的コンピュータ可読記憶媒体を備え、前記方法が、
順序要件のないトランザクション要求からトランザクションデータを取得することであって、順序要件のない前記トランザクション要求は、前記トランザクション要求が送信者によっていつ送られたかという時間因子に従った処理を要求しない、取得することと、
予め設定された分配規則に従って、前記トランザクション要求が送信者によっていつ送られたかという時間因子を考慮せずに、コンセンサスユニット集合における少なくとも１つのコンセンサスユニットに前記トランザクションデータを分配して、前記少なくとも１つのコンセンサスユニットに、前記トランザクション要求が送信者によっていつ送られたかという時間因子を考慮せずに、前記分配したトランザクションデータにコンセンサス処理を行わせることと、
を含み、
予め設定された分配規則に従って、前記コンセンサスユニット集合における少なくとも１つのコンセンサスユニットに前記トランザクションデータを分配することが、
前記少なくとも１つのコンセンサスユニットとして前記コンセンサスユニット集合からコンセンサストランザクションを要するコンセンサスユニットをポーリング方式で決定することと、
前記決定したコンセンサスユニットに前記トランザクションデータを分配することと、
を含む、ブロックチェーンコンセンサス装置。
【請求項７】
ブロックチェーンコンセンサスのためのトランザクションデータの分配を提供するブロックチェーンコンセンサス装置であって、プロセッサ、および前記プロセッサによって実行されると、前記ブロックチェーンコンセンサス装置に方法を行わせる命令を記憶した非一時的コンピュータ可読記憶媒体を備え、前記方法が、
順序要件のないトランザクション要求からトランザクションデータを取得することであって、順序要件のない前記トランザクション要求は、前記トランザクション要求が送信者によっていつ送られたかという時間因子に従った処理を要求しない、取得することと、
予め設定された分配規則に従って、前記トランザクション要求が送信者によっていつ送られたかという時間因子を考慮せずに、コンセンサスユニット集合における少なくとも１つのコンセンサスユニットに前記トランザクションデータを分配して、前記少なくとも１つのコンセンサスユニットに、前記トランザクション要求が送信者によっていつ送られたかという時間因子を考慮せずに、前記分配したトランザクションデータにコンセンサス処理を行わせることと、
を含み、
予め設定された分配規則に従って、前記コンセンサスユニット集合における少なくとも１つのコンセンサスユニットに前記トランザクションデータを分配することが、
前記トランザクションデータを処理するために必要とされるリソース量および前記コンセンサスユニット集合における各コンセンサスユニットの遊休リソース量を決定することと、
前記トランザクションデータを処理するために必要とされる前記リソース量より大きい遊休リソース量を有するコンセンサスユニットの数が設定値より大きいことに応答して、前記トランザクションデータを処理するために必要とされる前記リソースより多くの遊休リソースを有する前記コンセンサスユニットからコンセンサストランザクションを要するコンセンサスユニットをポーリング方式で決定し、そして前記決定したコンセンサスユニットに前記トランザクションデータを分配することと、
前記トランザクションデータを処理するために必要とされる前記リソース量より大きい前記遊休リソース量を有するコンセンサスユニットの数が前記設定値より小さいことに応答して、負荷バランス規則に従って、前記トランザクションデータを処理するために必要とされる前記リソースより多くの遊休リソースを有する前記コンセンサスユニットから設定条件を下回る負荷容量を有するコンセンサスユニットを決定し、そして前記決定したコンセンサスユニットに前記トランザクションデータを分配することと、
を含む、ブロックチェーンコンセンサス装置。
【請求項８】
ブロックチェーンコンセンサスのためのトランザクションデータの分配を提供するブロックチェーンコンセンサス装置であって、プロセッサ、および前記プロセッサによって実行されると、前記ブロックチェーンコンセンサス装置に方法を行わせる命令を記憶した非一時的コンピュータ可読記憶媒体を備え、前記方法が、
順序要件のないトランザクション要求からトランザクションデータを取得することであって、順序要件のない前記トランザクション要求は、前記トランザクション要求が送信者によっていつ送られたかという時間因子に従った処理を要求しない、取得することと、
予め設定された分配規則に従って、前記トランザクション要求が送信者によっていつ送られたかという時間因子を考慮せずに、コンセンサスユニット集合における少なくとも１つのコンセンサスユニットに前記トランザクションデータを分配して、前記少なくとも１つのコンセンサスユニットに、前記トランザクション要求が送信者によっていつ送られたかという時間因子を考慮せずに、前記分配したトランザクションデータにコンセンサス処理を行わせることと、
を含み、
前記トランザクションデータが複数組のトランザクションデータを含み、かつ、
予め設定された分配規則に従って、前記コンセンサスユニット集合における少なくとも１つのコンセンサスユニットに前記トランザクションデータを分配することが、
前記複数組のトランザクションデータを分類して１つまたは複数のトランザクションデータ群を得ることと、
前記予め設定された分配規則に従って、前記コンセンサスユニット集合における異なるコンセンサスユニットに前記トランザクションデータ群を分配することと、
を含む、ブロックチェーンコンセンサス装置。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、２０１７年３月２９日出願の中国出願第２０１７１０１９７５３８．Ｘ号に基づき、かつ、それに対する優先権を主張するものであり、その内容全体が引用により本明細書に援用される。
【０００２】
本出願は、コンピュータソフトウェア技術の分野に関し、特に、ブロックチェーンコンセンサスのための方法、装置およびシステムに関する。
【背景技術】
【０００３】
ブロックチェーンは、本来はビットコインのために設計された分散データベース技術である。そのようなデータ構造は、システム内で検証される順序データを記憶するのに特に適する。その上、そのようなデータ構造は、コンセンサスアルゴリズムを使用して、データが改竄または偽造されることができないことを保証する。コンセンサスアルゴリズムは、ブロックチェーンにおけるノードによる参加を必要とし、そして複数のノードによる共同計算を通じてコンセンサスに達するアルゴリズムである。例えば、トランザクションデータを受信した上で、ブックキーピングノードが他の参加ノードにトランザクションデータをブロードキャストし、そして他の参加ノードは、コンセンサス処理を行って、ブックキーピングノードがトランザクションデータに対してブックキーピング権を有するかどうかを判定する。他の参加ノードのコンセンサス結果が、ブックキーピングノードがトランザクションデータに対してブックキーピング権を有するということであれば、ブックキーピングノードは、ブックキーピングノードに対応するブロックチェーンにトランザクションデータを記憶する。ブロックチェーン技術では、したがって、コンセンサスアルゴリズムは、ブロックチェーンにおけるプログラムまたはノードにとっての準拠法であり、これにより、全てのノードがいかなる状況でも一貫した方式で協働することができることを保証する。
【０００４】
実用的ビザンチンフォールトトレランス（ＰＢＦＴ）がブロックチェーンにおける一般的なコンセンサスアルゴリズムである。ＰＢＦＴアルゴリズムは、アクティビティおよびセキュリティを保証すると共に若干の寛容性を提供することができ、したがって広く使用されてきた。ＰＢＦＴアルゴリズムでは、１つのノードがマスタノードであり、その他のノードはバックアップノードである。マスタノードは、受信したトランザクション要求をソートし、次いでソート結果に従ってバックアップノードにトランザクション要求をブロードキャストすることを担う。ＰＢＦＴアルゴリズムは通常３つのフェーズ：事前準備、準備およびコミットを含む。事前準備フェーズおよび準備フェーズは、一連のトランザクション要求を決定するために使用される。
【０００５】
しかしながら、マスタノードがトランザクション要求をソートするときに誤りを犯す、例えば、異なるトランザクション要求に同じ順序番号を与える、または順序番号を割り当てることができない、または隣接するトランザクション要求の順序番号を不連続であるようにする等のおそれがある。結果として、バックアップノードが順序付きトランザクション要求を受信するときに一連のトランザクション要求を検証する必要がある。
【０００６】
結果として、ＰＢＦＴアルゴリズムは、多くの設計および計算をして順序を保証してきた。多くの現在使用されているコンセンサスアルゴリズム（例えば、作業量を証明するためのメカニズムならびに権利および利益を証明するためのメカニズム等のようなコンセンサスメカニズム）がコンセンサス処理を行うときに順序に関する大量の設計および計算を実施する必要があり、これが著しいシステムリソースを消費することが調査を通じて見いだされた。
【０００７】
実際的応用では、しかしながら、順序要件のないトランザクション要求が多くある。順序要件のないトランザクション要求は、慈善寄付トランザクション、上限または割当てのないクラウドファンディングトランザクション等など、トランザクション要求を受信した上で、サーバが受信したトランザクション要求を受入時間の順に従って処理する必要がないことを意味する。一例として慈善寄付トランザクションに関しては、寄付の順序はトランザクション処理に影響を及ぼさない。したがって、この種類のトランザクション要求は、順序要件を有しないトランザクション要求（つまり「順序要件のないトランザクション要求」）と称されてもよい。この種類のトランザクション要求がブロックチェーンで処理されるとき、現在のコンセンサスアルゴリズムの使用は、この種類のトランザクションに対して比較的低い処理効率に至り、そして同時に、ブロックチェーンのコンセンサス処理能力にも影響するであろう。
【発明の概要】
【０００８】
上記に鑑みて、本開示の実施形態は、コンセンサスアルゴリズムが順序要件のないトランザクション要求を処理するために使用されるときに処理効率が低いという先行技術における課題を少なくとも軽減する、ブロックチェーンコンセンサスのための方法、装置およびシステムを提供する。
【０００９】
一態様によれば、ブロックチェーンコンセンサス方法が、トランザクションデータを取得することと、予め設定された分配規則に従って、コンセンサスユニット集合における少なくとも１つのコンセンサスユニットにトランザクションデータを分配して、少なくとも１つのコンセンサスユニットに、分配したトランザクションデータにコンセンサス処理を行わせることと、を含んでもよい。
【００１０】
別の態様によれば、ブロックチェーンベースのデータ記憶方法が、異なるコンセンサスユニットからコンセンサス結果を受信することと、コンセンサス結果のタイムスタンプに従ってブロックチェーンのブロックへコンセンサス結果を記憶することと、を含んでもよい。
【００１１】
別の態様によれば、ブロックチェーンコンセンサスシステムが、分配ユニットおよび複数のコンセンサスユニットを含むコンセンサスユニット集合を備えてもよく、分配ユニットは、トランザクションデータを取得し、そして予め設定された分配規則に従って、コンセンサスユニット集合における少なくとも１つのコンセンサスユニットにトランザクションデータを分配するように構成され、かつ少なくとも１つのコンセンサスユニットは、分配されたトランザクションデータにコンセンサス処理を行うように構成される。
【００１２】
別の態様によれば、ブロックチェーンコンセンサス装置が、プロセッサ、およびプロセッサによって実行されると、ブロックチェーンコンセンサス装置に方法を行わせる命令を記憶した非一時的コンピュータ可読記憶媒体を備える。同方法は、トランザクションデータを取得することと、予め設定された分配規則に従って、コンセンサスユニット集合における少なくとも１つのコンセンサスユニットにトランザクションデータを分配して、少なくとも１つのコンセンサスユニットに、分配したトランザクションデータにコンセンサス処理を行わせることと、を含んでもよい。
【００１３】
別の態様によれば、ブロックチェーンベースのデータ記憶装置が、プロセッサ、およびプロセッサによって実行されると、ブロックチェーンデータ記憶装置に方法を行わせる命令を記憶した非一時的コンピュータ可読記憶媒体を備える。同方法は、異なるコンセンサスユニットからコンセンサス結果を受信することと、コンセンサス結果のタイムスタンプに従って、ブロックチェーンのブロックへコンセンサス結果を記憶することと、を含んでもよく、ブロックチェーンのブロックへコンセンサス結果を記憶することは、コンセンサス結果を生成するコンセンサスユニットに対応するブロックチェーンネットワークにおけるノードのブロックへコンセンサス結果を記憶することを含む。
【００１４】
本出願は、例証的なコンセンサスアルゴリズムを独立したコンセンサスユニットとして開示しており、これは従来のブロックチェーンコンセンサスと異なり、これらのコンセンサスユニットとコンセンサスユニット集合を形成し、そしてトランザクションデータの受信に応じて、設定された分配規則に従って、コンセンサスユニット集合におけるコンセンサスユニットにトランザクションデータを分配して、コンセンサスユニットによるトランザクションデータへのコンセンサス処理を達成することができる。このようにして、複数のコンセンサスユニットが順序要件のないトランザクション要求に並行してコンセンサス処理を行うことができ、現存のコンセンサスアルゴリズムによる順序操作が単純化され、順序要件のないトランザクション要求に関する処理効率および処理能力が改善され、そしてブロックチェーンネットワークの動作性能が改善される。
【００１５】
本開示の実施形態における技術的解決策をより明確に説明するために、添付図面が次の通り簡単に説明されることになる。添付図面は単に例証的である。当業者にとっては、これらの図面に従って発明的努力なしに他の図面が更に得られてもよい。
【図面の簡単な説明】
【００１６】
【図１】本開示の実施形態に係るブロックチェーンコンセンサス方法のフローチャートである。
【図２】本開示の実施形態に係るブロックチェーンコンセンサス方法のフローチャートである。
【図３】本開示の実施形態に係るブロックチェーンコンセンサス方法のフローチャートである。
【図４】本開示の実施形態に係るブロックチェーンベースのデータ記憶方法のフローチャートである。
【図５】本開示の実施形態に係るブロックチェーンコンセンサスシステムの構造概要図である。
【図６】本開示の実施形態に係るブロックチェーンコンセンサス装置の概要図である。
【図７】本開示の実施形態に係るブロックチェーンコンセンサス装置の概要図である。
【図８】本開示の実施形態に係るブロックチェーンベースのデータ記憶装置の構造概要図である。
【発明を実施するための形態】
【００１７】
当業者が本開示における技術的解決策をより良く理解することを可能にするために、実施形態における技術的解決策は、添付図面を参照しつつ明確かつ完全に下記されることになる。明らかに、記載される実施形態は単に例証的である。当業者によって発明的努力なしにかつ本開示の実施形態に基づいて得られる全ての他の実施形態が本開示の範囲によって包含されるものとする。
【００１８】
本開示に係る解決策は以下の実施形態を通じて詳細に記載されることになる。
【００１９】
図１は、本開示の実施形態に係るブロックチェーンコンセンサス方法のフローチャートである。プログラムの観点から、フローを実行する主体がパーソナルコンピュータ（ＰＣ）端末におけるアプリケーション（ＡＰＰ）またはプログラムであってもよい。装置の観点から、フローを実行する主体が以下の装置を含んでもよいが、それらに限定されない：パーソナルコンピュータ、大または中規模コンピュータ、コンピュータクラスタ、携帯電話、タブレットコンピュータ、スマートウェアラブルデバイス、車両用機械等。
【００２０】
一実施形態によれば、図１に図示されるようなブロックチェーンコンセンサス方法は以下のステップを含んでもよい。
【００２１】
Ｓ１０１：トランザクションデータ（例えば、ブロックチェーンネットワークにおけるコンセンサス処理を求めるトランザクションデータであり、このトランザクションデータは「コンセンサス形成されるべき」トランザクションデータと称されることができる）を取得する。
【００２２】
一実施形態において、方法を実行する主体がブロックチェーンネットワークにおけるブロックチェーンノード（以降「ノード」）であれば、ノードは、処理されるべきトランザクション要求を受信し、トランザクション要求からトランザクションデータを取得し、そしてトランザクションデータを記憶することができる。ステップＳ１０１におけるコンセンサス形成されるべきトランザクションデータは、記憶したトランザクションデータであってもよい。本明細書におけるトランザクション要求は、クライアント端末によって送信されるトランザクション要求、例えばブックキーピング要求、もしくは別の状態機械動作を実行する要求であってもよく、または他の装置によって送信されるトランザクション要求であってもよく、本明細書で限定されない。
【００２３】
一部の実施形態において、コンセンサス形成されるべきトランザクションデータは１組のトランザクションデータを指してもよく、例えば、１組のトランザクションデータが受信されると後続の動作がトリガされる。代替的に、コンセンサス形成されるべきトランザクションデータは複数組のコンセンサス形成されるべきトランザクションデータであってもよく、例えば、複数組のトランザクションデータが受信されると後続の動作がトリガされる。代替的に、コンセンサス形成されるべきトランザクションデータは設定時限内に生成されるトランザクションデータであってもよく、例えば、設定時限内に生成されるトランザクションデータが受信され、そして設定時限が終了すると、後続の動作がトリガされる。取得されるトランザクションデータの組数は本明細書で限定されない。
【００２４】
本明細書における「トランザクションデータ」は順序要件のないトランザクションデータを含む。すなわち、取得したトランザクションデータが処理されるとき、トランザクションデータの時間因子は考慮されない。例えば、受信したトランザクション要求は寄付要求である。次いで、コンセンサス形成されるべきトランザクションデータは、取得したコンセンサス形成されるべきトランザクションデータである。寄付に関連したトランザクションデータに関しては、トランザクションデータ処理の順序は送信者とは無関係である。すなわち、寄付要求がいつ送信者によって送信されるかという時間因子は無視される。したがって、この種類のトランザクション要求は順序要件のないトランザクション要求とも称される。
【００２５】
Ｓ１０２：予め設定された分配規則に従って、コンセンサスユニット集合における少なくとも１つのコンセンサスユニットにトランザクションデータを分配する。
【００２６】
ここで、コンセンサスユニットは、分配されたトランザクションデータにコンセンサス処理を行うために使用される。
【００２７】
ブロックチェーン技術では、取得したトランザクションデータを処理するためにコンセンサスアルゴリズムが使用される一方で、コンセンサスアルゴリズムは、コンセンサスに参加する投票ノードによって完了されるアルゴリズムであり、例えば、全ての投票ノードが共同計算を通じて最終的にコンセンサス結果に達する。
【００２８】
一実施形態におけるコンセンサスユニット集合はコンセンサスユニットを含み、そして各コンセンサスユニットは独立したコンセンサストランザクションを提供してもよい。言い換えれば、異なるコンセンサスユニットが同じコンセンサスアルゴリズムを使用してもよく、または異なるコンセンサスアルゴリズムを使用してもよい。
【００２９】
一部の実施形態において、コンセンサスユニット集合に含まれるコンセンサスユニット数は本明細書で限定されない。異なるコンセンサスユニットに備えられる投票ノードの数は同じであってもよく、または異なってもよい。例えば、コンセンサスアルゴリズムがＰＢＦＴアルゴリズムであれば、コンセンサスユニットにおける１つの投票ノードが１つの１次ノードおよび４つの２次ノードを含む。コンセンサスアルゴリズムがプルーフオブワークメカニズムであれば、コンセンサスユニットは少なくとも１つの投票ノードを備える。したがって、コンセンサスユニットにおける投票ノード数は本明細書で限定されずに、コンセンサスアルゴリズムの実際の要件に従って決定されることができる。
【００３０】
このようにして、コンセンサス形成されるべきトランザクションデータに関して、コンセンサス処理が様々な実施形態の解決策に従って並行方式で異なるトランザクションデータに行われることができる。すなわち、異なるトランザクションデータが異なるコンセンサスユニットに並行して分配され、そしてコンセンサスユニットは受信したトランザクションデータにコンセンサス処理を独立して行う。
【００３１】
予め設定された分配規則に従って、コンセンサスユニット集合における少なくとも１つのコンセンサスユニットにコンセンサス形成されるべきトランザクションデータを分配するための様々な方法が以下に詳細に記載されることになる。
【００３２】
一例では、第１の分配方法が、受信したコンセンサス形成されるべきトランザクションデータの組数に従って、コンセンサスユニット集合から一致数のコンセンサスユニットをランダム方式で決定することと、決定したコンセンサスユニットに、それぞれ、コンセンサス形成されるべきトランザクションデータを並行して分配することと、を含んでもよい。
【００３３】
一例では、コンセンサス形成されるべきトランザクションデータの組数が１であるとき、１つのコンセンサスユニットがコンセンサスユニット集合からランダム方式で決定される。コンセンサス形成されるべきトランザクションデータは決定したコンセンサスユニットに分配され、そしてコンセンサスユニットはコンセンサス形成されるべきトランザクションデータにコンセンサス処理を行う。
【００３４】
コンセンサス形成されるべきトランザクションデータの組数が１より大きいとき、コンセンサス形成されるべきトランザクションデータの組数に従って、同数のコンセンサスユニットがコンセンサスユニット集合からランダム方式で決定される。コンセンサス形成されるべきトランザクションデータの組は、それぞれ、決定した異なるコンセンサスユニットに順次分配される。
【００３５】
例えば、取得したコンセンサス形成されるべきトランザクションデータは、コンセンサス形成されるべきトランザクションデータ１、コンセンサス形成されるべきトランザクションデータ２およびコンセンサス形成されるべきトランザクションデータ３を含む、そしてコンセンサスユニット集合がコンセンサスユニット１、コンセンサスユニット２、コンセンサスユニット３、コンセンサスユニット４およびコンセンサスユニット５を含むと仮定する。ここで、３つのコンセンサスユニットがコンセンサスユニット集合からランダムに決定されることができる。ランダムに決定したコンセンサスユニットがコンセンサスユニット２、コンセンサスユニット４およびコンセンサスユニット５であると仮定すると、コンセンサス形成されるべきトランザクションデータ１、コンセンサス形成されるべきトランザクションデータ２およびコンセンサス形成されるべきトランザクションデータ３は、決定した異なるコンセンサスユニットにランダム方式で順次分配される。例えば、コンセンサス形成されるべきトランザクションデータ１はコンセンサスユニット５に分配され、コンセンサス形成されるべきトランザクションデータ２はコンセンサスユニット４に分配され、そしてコンセンサス形成されるべきトランザクションデータ３はコンセンサスユニット２に分配される。
【００３６】
本出願の実装モードにおけるコンセンサス分配はいかなる順序の要件も有しない。したがって、分配のためにランダム方式が使用されることができる。更に、「コンセンサス形成されるべきトランザクションデータ１、コンセンサス形成されるべきトランザクションデータ２およびコンセンサス形成されるべきトランザクションデータ３は、決定した異なるコンセンサスユニットにランダム方式で順次分配される」は、並行して分配する方式で実装されてもよい。分配はランダム方式で実施される。すなわち、コンセンサス形成されるべきトランザクションデータが取得されると、いかなるコンセンサスユニットもコンセンサストランザクションのコンセンサスユニットになって、コンセンサス形成されるべきトランザクションデータを処理することができる。そのようなランダム分配方式は、分配においてシステムによって使用されるリソースを削減することができる。
【００３７】
本明細書における「ランダム方式」はランダムアルゴリズムを通じて実装されてもよく、または他の方式で実装されてもよく、本明細書で特に限定されない。
【００３８】
別の例では、第２の分配方法が、コンセンサスユニット集合からコンセンサストランザクションを要するコンセンサスユニットをポーリング方式で決定することと、決定したコンセンサスユニットにコンセンサス形成されるべきトランザクションデータを分配することと、を含んでもよい。
【００３９】
一例では、コンセンサス形成されるべきトランザクションデータが取得されると、コンセンサスユニット集合における全てのコンセンサスユニットに照会メッセージがポーリング方式で送信されて、コンセンサストランザクションオブジェクト（例えば、トランザクション要求）を要するコンセンサスユニットがあるかどうかを判定する。コンセンサスユニットがコンセンサストランザクションオブジェクトを要すると判定されると、コンセンサス形成されるべきトランザクションデータはコンセンサスユニットに送信される。
【００４０】
コンセンサス形成されるべきトランザクションデータの数が１であるとき、コンセンサスユニット集合における全てのコンセンサスユニットに照会メッセージが順次送信される。受信される応答メッセージが、コンセンサストランザクションオブジェクトが必要とされることを示す場合、コンセンサス形成されるべきトランザクションデータは、応答メッセージを返すコンセンサスユニットに送信される。
【００４１】
コンセンサス形成されるべきトランザクションデータの数が１より大きいとき、コンセンサスユニット集合における全てのコンセンサスユニットに照会メッセージが並行して送信されてもよい。応答メッセージが受信されると、受信した応答メッセージに示される、コンセンサストランザクションオブジェクトを要するコンセンサスユニットの数が決定される。コンセンサスユニット数がトランザクション要求数より大きければ、受信した応答メッセージに示される、コンセンサストランザクションオブジェクトを要するコンセンサスユニットからコンセンサスユニットが第１の方式に従ってランダムに選択されることができ、そしてコンセンサス形成されるべきトランザクションデータは、それぞれ、ランダムに選択したコンセンサスユニットに並行して送信される。コンセンサスユニット数がトランザクション要求数以下であれば、コンセンサス形成されるべきトランザクションデータは、受信した応答メッセージに示される、コンセンサストランザクションオブジェクトを要するコンセンサスユニットにランダムに分配され、そして分配されなかったコンセンサス形成されるべきトランザクションデータは待ち続けることになる。
【００４２】
例えば、コンセンサストランザクションオブジェクトを要するコンセンサスユニットが３つあるとポーリング方式で判定される。取得したコンセンサス形成されるべきトランザクションデータが４組あると仮定する。次いで、４組の取得したコンセンサス形成されるべきトランザクションデータから３組のコンセンサス形成されるべきトランザクションデータがランダムに選択される。３組のランダムに選択したコンセンサス形成されるべきトランザクションデータは、それぞれ、コンセンサストランザクションオブジェクトを要するコンセンサスユニットに送信され、そして分配されなかった１組のコンセンサス形成されるべきトランザクションデータは分配されるべき状態にある。
【００４３】
取得したコンセンサス形成されるべきトランザクションデータが２組あると仮定すると、コンセンサストランザクションオブジェクトを要すると判定されたコンセンサス形成されるべきトランザクションデータから２組のコンセンサス形成されるべきトランザクションデータがランダムに選択される。２組の取得したコンセンサス形成されるべきトランザクションデータは、ランダムに選択したコンセンサスユニットに並行して送信され、その結果コンセンサスユニットは受信したコンセンサス形成されるべきトランザクションデータにコンセンサス処理を行う。
【００４４】
別の例では、第３の分配方法が、コンセンサスユニット集合における各コンセンサスユニットの負荷容量を決定することと、負荷バランス規則に従って、コンセンサスユニット集合における少なくとも１つのコンセンサスユニットにコンセンサス形成されるべきトランザクションデータを分配することと、を含んでもよい。
【００４５】
一例では、コンセンサス形成されるべきトランザクションデータが取得されると、コンセンサスユニット集合における各コンセンサスユニットの負荷容量（ここでの負荷容量は現在のコンセンサスユニットの負荷状態を指してもよく、それはコンセンサスユニットの総負荷容量と異なってもよい）が決定されて、コンセンサスユニット集合における全てのコンセンサスユニットに対して負荷のバランスがとられることを保証することができる。更には、各コンセンサスユニットの現在の遊休リソース量が各コンセンサスユニットの負荷容量に従って決定されることができる。一実施形態において、コンセンサス形成されるべきトランザクションデータが、設定条件を下回る負荷容量を有するコンセンサスユニット集合におけるコンセンサスユニットに分配されることができる。すなわち、コンセンサス形成されるべきトランザクションデータが、設定閾値より大きい遊休リソースを有するコンセンサスユニット集合におけるコンセンサスユニットに分配される。
【００４６】
一部の実施形態において、上記の第２の分配方法においてコンセンサストランザクションオブジェクトを要するコンセンサスユニット数がトランザクション要求数より大きい状況に関して、コンセンサスユニットを決定するために、ランダム方法に加えて、第３の分配方法に係る負荷バランス方法が使用されてもよいが、これは本明細書に詳細に記載されることはない。
【００４７】
一実施形態において、取得したコンセンサス形成されるべきトランザクションデータがコンセンサスユニットに１回で全て分配されることができない場合、トランザクション要求の一部が分配されるべき状態にある必要がある。次いで、分配されるべき状態のトランザクション要求に対して、上記の３つの分配方法を使用することによってコンセンサスユニットが更に決定されることができる。
【００４８】
例えば、コンセンサスユニット集合が３つのコンセンサスユニットを含む。次いで、コンセンサスユニット集合は、同じ時点に取得される３つのコンセンサス形成されるべきトランザクションデータを並行して処理することができる。４（すなわち、３より大きい）組のコンセンサス形成されるべきトランザクションデータが取得されれば：コンセンサス形成されるべきトランザクションデータ１、コンセンサス形成されるべきトランザクションデータ２、コンセンサス形成されるべきトランザクションデータ３およびコンセンサス形成されるべきトランザクションデータ４。次いで、コンセンサス形成されるべきトランザクションデータ１、コンセンサス形成されるべきトランザクションデータ２およびコンセンサス形成されるべきトランザクションデータ３がコンセンサスユニット集合における３つのコンセンサスユニットに並行して分配され、そしてコンセンサス形成されるべきトランザクションデータ４が分配されるべき状態にあることになると仮定される。一旦コンセンサスユニット集合におけるコンセンサスユニットが遊休になることが検出されると、コンセンサス形成されるべきトランザクションデータ４がコンセンサスユニットに分配されることができる。
【００４９】
一実施形態において、コンセンサスユニット集合からコンセンサスユニットを決定することは、コンセンサスユニット集合における各コンセンサスユニットの作業状態であって、正常状態および異常状態の少なくとも一方を含む作業状態を決定することと、作業状態が正常状態であるコンセンサスユニットからコンセンサスユニットを決定することと、を含む。
【００５０】
決定したコンセンサスユニットが取得されたコンセンサス形成されるべきトランザクションデータにコンセンサス処理を成功裏に行うことができることを保証するために、コンセンサスユニット集合におけるコンセンサスユニットの作業状態は更に監視されることができる。そのようにして、コンセンサスユニットが選択されるときに、異常な作業状態のコンセンサスユニットは回避されることができ、これはトランザクション要求の処理効率を効果的に改善する。
【００５１】
加えて、コンセンサスユニット集合におけるコンセンサスユニットは、スイッチコントロールが更に設けられることができる。そのようにして、ブロックチェーンネットワークにおいて処理されるべきトランザクション要求量が比較的少ないときに、コンセンサスユニット集合における一部のコンセンサスユニットはオフにされることができ、これはシステムリソースを節約してシステムリソースの利用率を改善する。一部の実施形態において、各コンセンサスユニットのスイッチ状態を制御することによって、本出願の実装方式でのブロックチェーンは、ダウンタイムまたはインターネット切断のような問題に直面するときにシステム稼動率を改善することができる。例えば、ノードダウンタイムまたはインターネット切断がコンセンサスユニットに発生したときに、コンセンサスユニットをシャットダウンすることによって、現存の方式での低システム稼動率の欠点が回避されることができる。
【００５２】
Ｓ１０３：コンセンサスユニットが分配されたトランザクションデータにコンセンサス処理を行う（例えば、行わされる）。
【００５３】
一実施形態において、コンセンサスユニットによって使用されるコンセンサスアルゴリズムは本明細書で限定されずに、主流のＰＢＦＴアルゴリズムを含め、いかなるコンセンサスアルゴリズムであることもできる。
【００５４】
当業者は、コンセンサス形成されるべきトランザクションデータを分配するための本開示の実装方式に順序要件がないことを理解するはずである。本開示において、コンセンサスアルゴリズムは独立したコンセンサスユニットとして設計されることができ、これは従来のブロックチェーンコンセンサスと異なる。これらのコンセンサスユニットによってコンセンサスユニット集合が形成され、そしてコンセンサス形成されるべきトランザクションデータの受信に応じて、トランザクションデータは、設定された分配規則に従って、コンセンサスユニット集合におけるコンセンサスユニットに分配されて、コンセンサスユニットによるトランザクションデータへのコンセンサス処理を達成することができる。このようにして、複数のコンセンサスユニットが順序要件のないトランザクション要求に並行してコンセンサス処理を行うことができ、現存のコンセンサスアルゴリズムによる順序操作が単純化され、順序要件のないトランザクション要求に関する処理効率および処理能力が改善され、そしてブロックチェーンネットワークの動作性能が改善される。
【００５５】
一部の実施形態において、トランザクション要求は順序要件のないトランザクション要求を含んでもよい。順序要件のないトランザクション要求は、慈善寄付トランザクション、上限または割当てのないクラウドファンディングトランザクション等を含むが、これらに限定されない。慈善寄付トランザクションに関して、寄付の順序はミリ秒レベルでトランザクションに影響を及ぼすことはなく、そして上限または割当てのないクラウドファンディングトランザクションが同じ性質を有してもよい。したがって、この種類のトランザクション要求は順序要件のない要求として扱われることができる。一実施形態において、コンセンサス処理の動作効率は、この種類の順序要件のないトランザクション要求に対して並行コンセンサス方式で改善されることができる。そのような並行コンセンサス方式の採用により、ブロックチェーンシステム全体の処理能力が大いに改善され、特に、コンセンサスアルゴリズムモジュールはもはやブロックチェーンシステム全体におけるボトルネックでない。
【００５６】
図２は、本開示の実施形態に係るブロックチェーンコンセンサス方法のフローチャートである。本方法は以下のステップを含んでもよい。
【００５７】
Ｓ２０１：トランザクションデータを取得する。
【００５８】
これは図１に関するステップＳ１０１の方式と同一または類似しており、詳細に記載されることはない。
【００５９】
Ｓ２０２：トランザクションデータを処理するために必要とされるリソース量およびコンセンサスユニット集合における各コンセンサスユニットの遊休リソース量を決定する。
【００６０】
一実施形態において、コンセンサス形成されるべきトランザクションデータが取得されると、コンセンサス形成されるべきトランザクションデータを処理するために必要とされるリソースが決定されることができる。
【００６１】
更には、コンセンサスユニット集合における各コンセンサスユニットの現在の遊休リソース量が照会を通じて決定されることができる。
【００６２】
Ｓ２０３：各コンセンサスユニットの遊休リソース量を、それぞれ、トランザクションデータを処理するために必要とされるリソースと比較し、そしてトランザクションデータを処理するために必要とされるリソース量より大きい遊休リソース量を有するコンセンサスユニットの数を決定する。
【００６３】
Ｓ２０４：その数が設定値より大きいかどうかを判定し、そうであれば、方法はＳ２０５に進み、そうでなければ、方法はＳ２０６に進む。
【００６４】
本開示の実施形態における設定値は必要に応じて決定されてもよく、または実験データに従って決定されてもよく、本明細書で限定されない。
【００６５】
Ｓ２０５：トランザクションデータを処理するために必要とされるリソースより多くの遊休リソースを有するコンセンサスユニットからコンセンサストランザクションを要するコンセンサスユニットをポーリング方式で決定し、そして決定したコンセンサスユニットにトランザクションデータを分配する。
【００６６】
コンセンサストランザクションを要するコンセンサスユニットを決定するポーリング方式として、ここでステップＳ１０２に関して上記した第２の分配方法が使用されてもよい。
【００６７】
一実施形態において、ポーリングし、かつ各コンセンサス形成されるべきトランザクションデータを分配するメカニズムが採用される。ポーリングおよび分配メカニズムによれば、アダプタまたは分配を担う分配ユニットがポールを周期的に送信して、コンセンサストランザクションオブジェクトが必要とされるかどうか各コンセンサスユニットを順次ポーリングする。そうであれば、トランザクションが提供され、すなわち、コンセンサス形成されるべきトランザクションデータが分配され、そしてトランザクションが完了されると、次のコンセンサスユニットがポーリングされ、これが連続的に繰り返される。
【００６８】
Ｓ２０６：負荷バランス規則に従って、トランザクションデータを処理するために必要とされるリソースより多くの遊休リソースを有するコンセンサスユニットから設定条件を下回る負荷容量を有するコンセンサスユニットを決定し、そして決定したコンセンサスユニットにトランザクションデータを分配する。
【００６９】
コンセンサスユニットを決定するために負荷バランス規則が使用されるここでの方式として、ステップＳ１０２に関して上記した第３の分配方法が使用されてもよい。
【００７０】
例えば、或る時点に処理を待っているコンセンサス形成されるべきトランザクションデータが５組ある一方で、コンセンサストランザクションに参加することが可能なコンセンサスユニットが現在３つある。それゆえ、トランザクション要求のロードは独立したコンセンサスユニットの処理能力を上回る。コンセンサス形成されるべきトランザクションデータのロードおよび独立したコンセンサスユニットの処理能力が比較されて次のコンセンサス分配のための基準を提供し、その結果、各コンセンサスユニットはその最大能力まで使用され、そして単位時間当たりのコンセンサス処理量、例えば、処理能力が改善される。
【００７１】
一部の実施形態において、使用される負荷バランス分配方法は、例えば、ＤＮＳ負荷バランス、ゲートウェイ負荷バランスまたは負荷バランサを通じて、ソフトウェアまたはハードウェア負荷バランス方式を含むが、これに限定されない。負荷バランス方式での分配は、多くのトランザクション要求が一部の個々のコンセンサスユニットにオーバーロードするのを防止する一方で、他の個々のコンセンサスユニットを遊休したままにすることができる。
【００７２】
負荷バランス方法での分配と比較して、ポーリング分配方法は動作させるのがより簡単であるが、負荷バランス方法での分配はより高い効率を有する。
【００７３】
図３は、本開示の実施形態に係るブロックチェーンコンセンサス方法のフローチャートである。本方法は更に以下の通りであってもよい。
【００７４】
Ｓ３０１：少なくとも１組のトランザクションデータを取得する。
【００７５】
Ｓ３０２：少なくとも１つのトランザクションデータを分類して１つまたは複数のトランザクションデータ群を得る。
【００７６】
一実施形態において、コンセンサス形成されるべきトランザクションデータが順序要件のないトランザクションデータであるので、取得したコンセンサス形成されるべきトランザクションデータは分類されることができ、その結果トランザクションデータに対して処理効率が改善されることができる。
【００７７】
Ｓ３０３：予め設定された分配規則に従って、コンセンサスユニット集合における異なるコンセンサスユニットにトランザクションデータ群を分配する（例えば、並行して分配する）。
【００７８】
ここで、コンセンサスユニットは、分配されたコンセンサス形成されるべきトランザクションデータにコンセンサス処理を行うために使用される。
【００７９】
図４は、本開示の実施形態に係るブロックチェーンベースのデータ記憶方法のフローチャートである。本方法は以下の通りであってもよい。
【００８０】
Ｓ４０１：ブロックチェーンネットワークにおける異なるコンセンサスユニットによって送信されるコンセンサス結果を受信する。
【００８１】
一実施形態において、コンセンサスユニットはデータ記憶能力を有してもよい。コンセンサス結果が得られると、コンセンサス結果は実際に記憶される必要があるが、それらはデータ記憶能力を有しなくてもよく、それゆえ異なるコンセンサスユニットが得られたコンセンサス結果をパブリックノードに送信してもよく、そしてパブリックノードが記憶を完了することになる。
【００８２】
Ｓ４０２：コンセンサス結果のタイムスタンプに従ってブロックチェーンネットワークのブロックへコンセンサス結果を記憶する。
【００８３】
一例では、コンセンサス結果の生成時間に従って、異なるコンセンサス結果はブロックチェーンのブロックへ順次記憶され、代替的に、コンセンサス結果の受信時間に従って、異なるコンセンサス結果はブロックチェーンのブロックへ順次記憶される。
【００８４】
一実施形態において、コンセンサス結果がブロックチェーンのブロックへ記憶されるとき、記憶ノードがランダム方式で選択されてもよく、またはコンセンサスユニットと記憶ノードとの間の対応関係に従って、コンセンサス結果は、コンセンサス結果を生成するコンセンサスユニットに対応するブロックチェーンネットワークにおけるノードのブロックへ記憶され、本明細書で限定されない。すなわち、コンセンサスユニットは、それ自体によって生成されるコンセンサス結果を記憶すること、他のコンセンサスユニットによって生成されるコンセンサス結果を記憶することができ、またはコンセンサス結果を記憶せずに、コンセンサス結果が独立した記憶ノードに記憶される。
【００８５】
一例では、各コンセンサスユニットへのスイッチコントロールの提供に加えて、スイッチコントロールが記憶ノードに更に提供されてもよい。記憶ノードのダウンタイム、インターネット切断、新たなノードの追加および古いノードの追出しに直面するときに、そのようなスイッチコントロールはブロックチェーンシステム全体の稼働率を大いに改善する。
【００８６】
図５は、本開示の実施形態に係るブロックチェーンコンセンサスシステムの構造概要図である。コンセンサスシステムは、分配ユニット５０１およびコンセンサスユニット５０２１ａ〜ｄを含むコンセンサスユニット集合５０２を備えており、分配ユニット５０１は、コンセンサス形成されるべきトランザクションデータを取得し、そして予め設定された分配規則に従って、コンセンサスユニット集合５０２における少なくとも１つのコンセンサスユニット（例えば、５０２１ａ、ｂ、ｃまたはｄ）にコンセンサス形成されるべきトランザクションデータを分配し、そしてコンセンサスユニット集合５０２に含まれるコンセンサスユニット５０２１ａ〜ｄは、分配されたコンセンサス形成されるべきトランザクションデータにコンセンサス処理を行う。
【００８７】
一実施形態において、コンセンサスシステムは、１つまたは複数の記憶ノード５０３ａ〜ｄを更に備えており、記憶ノード５０３ａ〜ｄは、ブロックチェーンネットワークにおける異なるコンセンサスユニットによって送信されるコンセンサス結果を受信し、そしてコンセンサス結果のタイムスタンプに従って、コンセンサス結果を順次記憶する。
【００８８】
一実施形態において、分配ユニット５０１が、予め設定された分配規則に従って、コンセンサスユニット集合における少なくとも１つのコンセンサスユニットにコンセンサス形成されるべきトランザクションデータを分配することは、受信したコンセンサス形成されるべきトランザクションデータの組数に従って、コンセンサスユニット集合から一致数のコンセンサスユニットをランダム方式で決定することと、決定したコンセンサスユニットに、それぞれ、コンセンサス形成されるべきトランザクションデータを並行して分配することと、を含む。
【００８９】
一実施形態において、分配ユニット５０１が、予め設定された分配規則に従って、コンセンサスユニット集合における少なくとも１つのコンセンサスユニットにコンセンサス形成されるべきトランザクションデータを分配することは、コンセンサスユニット集合からコンセンサストランザクションを要するコンセンサスユニットをポーリング方式で決定することと、決定したコンセンサスユニットにコンセンサス形成されるべきトランザクションデータを分配することと、を含む。
【００９０】
一実施形態において、分配ユニット５０１が、予め設定された分配規則に従って、コンセンサスユニット集合における少なくとも１つのコンセンサスユニットにコンセンサス形成されるべきトランザクションデータを分配することは、コンセンサスユニット集合における各コンセンサスユニットの負荷容量を決定することと、負荷バランス規則に従って、コンセンサスユニット集合における少なくとも１つのコンセンサスユニットにコンセンサス形成されるべきトランザクションデータを分配することと、を含む。
【００９１】
一実施形態において、分配ユニット５０１が、負荷バランス規則に従って、コンセンサスユニット集合における少なくとも１つのコンセンサスユニットにコンセンサス形成されるべきトランザクションデータを分配することは、設定条件を下回る負荷容量を有するコンセンサスユニット集合におけるコンセンサスユニットにコンセンサス形成されるべきトランザクションデータを分配することを含む。
【００９２】
一実施形態において、分配ユニット５０１が、予め設定された分配規則に従って、コンセンサスユニット集合における少なくとも１つのコンセンサスユニットにコンセンサス形成されるべきトランザクションデータを分配することは、コンセンサス形成されるべきトランザクションデータを処理するために必要とされるリソース量およびコンセンサスユニット集合における各コンセンサスユニットの遊休リソース量を決定することと、コンセンサス形成されるべきトランザクションデータを処理するために必要とされるリソース量より大きい遊休リソース量を有するコンセンサスユニットの数が設定値より大きい場合、コンセンサス形成されるべきトランザクションデータを処理するために必要とされるリソースより多くの遊休リソースを有するコンセンサスユニットからコンセンサストランザクションを要するコンセンサスユニットをポーリング方式で決定し、そして決定したコンセンサスユニットにコンセンサス形成されるべきトランザクションデータを分配することと、コンセンサス形成されるべきトランザクションデータを処理するために必要とされるリソース量より大きい遊休リソース量を有するコンセンサスユニットの数が設定値より小さい場合、負荷バランス規則に従って、コンセンサス形成されるべきトランザクションデータを処理するために必要とされるリソースより多くの遊休リソースを有するコンセンサスユニットから設定条件を下回る負荷容量を有するコンセンサスユニットを決定し、そして決定したコンセンサスユニットにコンセンサス形成されるべきトランザクションデータを分配することと、を含む。
【００９３】
一実施形態において、分配ユニット５０１が、コンセンサスユニット集合からコンセンサスユニットを決定することは、コンセンサスユニット集合における各コンセンサスユニットの作業状態であって、正常状態および異常状態の少なくとも一方を含む作業状態を決定することと、作業状態が正常状態であるコンセンサスユニットからコンセンサスユニットを決定することと、を含む。
【００９４】
一実施形態において、コンセンサス形成されるべきトランザクションデータは順序要件のないトランザクションデータを含む。
【００９５】
一実施形態において、記憶ノード５０３は、ブロックチェーンネットワークにおける異なるコンセンサスユニットによって送信されるコンセンサス結果を受信し、そしてコンセンサス結果のタイムスタンプに従って、ブロックチェーンネットワークのブロックへコンセンサス結果を記憶する。
【００９６】
一実施形態において、記憶ノード５０３が、ブロックチェーンのブロックへコンセンサス結果を記憶することは、コンセンサス結果を生成するコンセンサスユニットに対応するブロックチェーンネットワークにおけるノードのブロックへコンセンサス結果を記憶することを含む。
【００９７】
図６は、本開示の実施形態に係るブロックチェーンコンセンサス装置６００の概要図である。コンセンサス装置６００は、取得ユニット６０１および処理ユニット６０２を備えてもよく、取得ユニット６０１は、コンセンサス形成されるべきトランザクションデータを取得し、そして処理ユニット６０２は、予め設定された分配規則に従って、コンセンサスユニット集合における少なくとも１つのコンセンサスユニットにコンセンサス形成されるべきトランザクションデータを分配し、そしてコンセンサスユニットは、分配されたコンセンサス形成されるべきトランザクションデータにコンセンサス処理を行うように構成される。一部の実施形態において、ブロックチェーンコンセンサス装置６００は、共に結合されたメモリおよびプロセッサを備えてもよい。メモリは、非一時的かつコンピュータ可読であってもよく、そしてプロセッサによって実行されると、装置６００に本明細書に記載される１つまたは複数のステップを行わせる命令を記憶してもよい。命令は、本明細書に記載される様々なユニットとして実装されてもよい。各ユニットは、ソフトウェア、ハードウェアまたは両方の組合せであってもよい。
【００９８】
一実施形態において、処理ユニット６０２が、予め設定された分配規則に従って、コンセンサスユニット集合における少なくとも１つのコンセンサスユニットにコンセンサス形成されるべきトランザクションデータを分配することは、受信したコンセンサス形成されるべきトランザクションデータの組数に従って、コンセンサスユニット集合から一致数のコンセンサスユニットをランダム方式で決定することと、決定したコンセンサスユニットに、それぞれ、コンセンサス形成されるべきトランザクションデータを並行して分配することと、を含む。
【００９９】
一実施形態において、処理ユニット６０２が、予め設定された分配規則に従って、コンセンサスユニット集合における少なくとも１つのコンセンサスユニットにコンセンサス形成されるべきトランザクションデータを分配することは、コンセンサスユニット集合からコンセンサストランザクションを要するコンセンサスユニットをポーリング方式で決定することと、決定したコンセンサスユニットにコンセンサス形成されるべきトランザクションデータを分配することと、を含む。
【０１００】
一実施形態において、処理ユニット６０２が、予め設定された分配規則に従って、コンセンサスユニット集合における少なくとも１つのコンセンサスユニットにコンセンサス形成されるべきトランザクションデータを分配することは、コンセンサスユニット集合における各コンセンサスユニットの負荷容量を決定することと、負荷バランス規則に従って、コンセンサスユニット集合における少なくとも１つのコンセンサスユニットにコンセンサス形成されるべきトランザクションデータを分配することと、を含む。
【０１０１】
一実施形態において、処理ユニット６０２が、負荷バランス規則に従って、コンセンサスユニット集合における少なくとも１つのコンセンサスユニットにコンセンサス形成されるべきトランザクションデータを分配することは、設定条件を下回る負荷容量を有するコンセンサスユニット集合におけるコンセンサスユニットにコンセンサス形成されるべきトランザクションデータを分配することを含む。
【０１０２】
一実施形態において、処理ユニット６０２が、予め設定された分配規則に従って、コンセンサスユニット集合における少なくとも１つのコンセンサスユニットにコンセンサス形成されるべきトランザクションデータを分配することは、コンセンサス形成されるべきトランザクションデータを処理するために必要とされるリソース量およびコンセンサスユニット集合における各コンセンサスユニットの遊休リソース量を決定することと、コンセンサス形成されるべきトランザクションデータを処理するために必要とされるリソース量より大きい遊休リソース量を有するコンセンサスユニットの数が設定値より大きい場合、コンセンサス形成されるべきトランザクションデータを処理するために必要とされるリソースより多くの遊休リソースを有するコンセンサスユニットからコンセンサストランザクションを要するコンセンサスユニットをポーリング方式で決定し、そして決定したコンセンサスユニットにコンセンサス形成されるべきトランザクションデータを分配することと、コンセンサス形成されるべきトランザクションデータを処理するために必要とされるリソース量より大きい遊休リソース量を有するコンセンサスユニットの数が設定値より小さい場合、負荷バランス規則に従って、コンセンサス形成されるべきトランザクションデータを処理するために必要とされるリソースより多くの遊休リソースを有するコンセンサスユニットから設定条件を下回る負荷容量を有するコンセンサスユニットを決定し、そして決定したコンセンサスユニットにコンセンサス形成されるべきトランザクションデータを分配することと、を含む。
【０１０３】
一実施形態において、処理ユニット６０２が、コンセンサスユニット集合からコンセンサスユニットを決定することは、コンセンサスユニット集合における各コンセンサスユニットの作業状態であって、正常状態および異常状態の少なくとも一方を含む作業状態を決定することと、作業状態が正常状態であるコンセンサスユニットからコンセンサスユニットを決定することと、を含む。
【０１０４】
一実施形態において、コンセンサス形成されるべきトランザクションデータは順序要件のないトランザクションデータを含む。
【０１０５】
様々な実施形態に係るコンセンサス装置は、ソフトウェア的に実装されてもよく、またはハードウェア的に実装されてもよく、本明細書で限定されない。言い換えれば、ユニット６０１および６０２は、メモリに記憶されるソフトウェア機能ユニットであることができる。ソフトウェア機能ユニットがプロセッサによって実行されると、それらはプロセッサに記載された機能を行わせる。ユニット６０１および６０２は、記載された機能を行うためのプログラム式回路網などのハードウェアユニットであってもよい。
【０１０６】
図７は、本出願の実施形態に係るブロックチェーンコンセンサス装置７００の概要図である。コンセンサス装置７００は、取得ユニット７０１および処理ユニット７０２を備えてもよく、取得ユニットは、少なくとも１つのコンセンサス形成されるべきトランザクションデータを取得し、そして処理ユニットは、予め設定された分配規則に従って、コンセンサスユニット集合における少なくとも１つのコンセンサスユニットにコンセンサス形成されるべきトランザクションデータを並行して分配し、そしてコンセンサスユニットは、分配されたコンセンサス形成されるべきトランザクションデータにコンセンサス処理を行うように構成される。一部の実施形態において、ブロックチェーンコンセンサス装置７００は、共に結合されたメモリおよびプロセッサを備えてもよい。メモリは、非一時的かつコンピュータ可読であってもよく、そしてプロセッサによって実行されると、装置７００に本明細書に記載される１つまたは複数のステップを行わせる命令を記憶してもよい。命令は、本明細書に記載される様々なユニットとして実装されてもよい。各ユニットは、ソフトウェア、ハードウェアまたは両方の組合せであってもよい。例えば、ユニット７０１および７０２は、メモリに記憶されるソフトウェア機能ユニットであることができる。ソフトウェア機能ユニットがプロセッサによって実行されると、それらはプロセッサに記載された機能を行わせる。ユニット７０１および７０２は、記載された機能を行うためのプログラム式回路網などのハードウェアユニットであってもよい。
【０１０７】
一実施形態において、処理ユニット７０２が、予め設定された分配規則に従って、コンセンサスユニット集合における少なくとも１つのコンセンサスユニットにコンセンサス形成されるべきトランザクションデータを並行して分配することは、少なくとも１つのコンセンサス形成されるべきトランザクションデータを分類して１つまたは複数のトランザクションデータ群を得ることと、予め設定された分配規則に従って、コンセンサスユニット集合における異なるコンセンサスユニットにトランザクションデータ群を分配することと、を含む。
【０１０８】
図８は、本出願の実施形態に係るブロックチェーンベースのデータ記憶装置８００の構造概要図である。記憶装置８００は、受信ユニット８０１および記憶ユニット８０２を備えてもよく、受信ユニット８０１は、ブロックチェーンネットワークにおける異なるコンセンサスユニットによって送信されるコンセンサス結果を受信し、そして記憶ユニット８０２は、コンセンサス結果のタイムスタンプに従って、ブロックチェーンネットワークのブロックへコンセンサス結果を記憶する。一部の実施形態において、ブロックチェーンコンセンサス装置８００は、共に結合されたメモリおよびプロセッサを備えてもよい。メモリは、非一時的かつコンピュータ可読であってもよく、そしてプロセッサによって実行されると、装置８００に本明細書に記載される１つまたは複数のステップを行わせる命令を記憶してもよい。命令は、本明細書に記載される様々なユニットとして実装されてもよい。各ユニットは、ソフトウェア、ハードウェアまたは両方の組合せであってもよい。例えば、ユニット８０１および８０２は、メモリに記憶されるソフトウェア機能ユニットであることができる。ソフトウェア機能ユニットがプロセッサによって実行されると、それらはプロセッサに記載された機能を行わせる。ユニット８０１および８０２は、記載された機能を行うためのプログラム式回路網などのハードウェアユニットであってもよい。
【０１０９】
一実施形態において、記憶ユニット８０２が、ブロックチェーンのブロックへコンセンサス結果を記憶することは、コンセンサス結果を生成するコンセンサスユニットに対応するブロックチェーンネットワークにおけるノードのブロックへコンセンサス結果を記憶することを含む。
【０１１０】
様々な実施形態に係るコンセンサス装置は、ソフトウェア的に実装されてもよく、またはハードウェア的に実装されてもよく、本明細書で限定されない。コンセンサス装置に関して、コンセンサスアルゴリズムは独立したコンセンサスユニットとして設計され、これは従来のブロックチェーンコンセンサスと異なる。これらのコンセンサスユニットによってコンセンサスユニット集合が形成され、そしてコンセンサス形成されるべきトランザクションデータの受信に応じて、トランザクションデータは、設定された分配規則に従って、コンセンサスユニット集合におけるコンセンサスユニットに分配されて、コンセンサスユニットによるトランザクションデータへのコンセンサス処理を達成することができる。このようにして、複数のコンセンサスユニットが順序要件のないトランザクション要求に並行してコンセンサス処理を行うことができ、現存のコンセンサスアルゴリズムによる順序操作が単純化され、順序要件のないトランザクション要求に関する処理効率および処理能力が改善され、そしてブロックチェーンネットワークの動作性能が改善される。
【０１１１】
本開示の実施形態によれば、装置はそれぞれ方法に対応する。したがって、装置も、対応する方法のものに類似している有利な技術的効果を達成する。方法の有利な技術的効果が詳細に上記されているので、対応する装置の有利な技術的効果は本明細書に繰り返されることはない。
【０１１２】
１９９０年代、技術の改良はハードウェア改良（例えばダイオード、トランジスタ、スイッチ等などの回路構造の改良）またはソフトウェア改良（方法のフローの改良）へ区分されることができた。技術発展につれて、しかしながら、方法フローの多くの現在の改良がハードウェア回路構造の直接的な改良と考えられることができる。設計者は、改良された方法フローをハードウェア回路へプログラムすることによって対応するハードウェア回路構造を得ることができる。したがって、方法フローの改良がハードウェア実装によって実現されることができる。例えば、プログラマブル論理デバイス（ＰＬＤ）（例えば、フィールドプログラマブルゲートアレイ（ＦＰＧＡ））は、デバイスをプログラムすることを通じてその論理機能がユーザによって決定されるような集積回路である。設計者は、チップメーカーに専用ＩＣチップを設計および製造するよう依頼することなく、デジタルシステムを１個のＰＬＤへ「集積」するようにプログラムすることができる。現在、この種類のプログラミングは、ＩＣチップを手動で製造するよりもむしろ、大部分は「論理コンパイラ」ソフトウェアを通じて実装されてきた。論理コンパイラソフトウェアは、プログラム開発および作成のために使用されるソフトウェアコンパイラに類似している一方で、コンパイル前のソースコードを書くために特定のプログラミング言語が使用され、これはハードウェア記述言語（ＨＤＬ）と称される。ＡＢＥＬ（高級ブール式言語）、ＡＨＤＬ（アルテラハードウェア記述言語）、Ｃｏｎｆｌｕｅｎｃｅ、ＣＵＰＬ（コーネル大学プログラミング言語）、ＨＤＣａｌ、ＪＨＤＬ（Ｊａｖａ（登録商標）ハードウェア記述言語）、Ｌａｖａ、Ｌｏｌａ、ＭｙＨＤＬ、ＰＡＬＡＳＭ、ＲＨＤＬ（Ｒｕｂｙハードウェア記述言語）など、１つだけでなく多くの種類のＨＤＬがある。最も一般的に使用されるＨＤＬとしては、ＶＨＤＬ（超高速集積回路ハードウェア記述言語）およびＶｅｒｉｌｏｇを含む。当業者は、上記のＨＤＬを使用して、方法フローに関して一部の論理プログラミングを行い、そしてそれをＩＣへプログラムすることによって、論理方法フローを実装するハードウェア回路を得ることを知っているであろう。
【０１１３】
コントローラが任意の適切な方式で実装されてもよい。例えば、コントローラは、例えば、マイクロプロセッサまたはプロセッサの他に、（マイクロ）プロセッサによって実行されることが可能なコンピュータ可読プログラムコード（例えば、ソフトウェアまたはファームウェア）を記憶したコンピュータ可読媒体、論理ゲート、スイッチ、特定用途向け集積回路（ＡＳＩＣ）、プログラマブル論理コントローラ、および組込みマイクロコントローラの形態であってもよい。コントローラの例としては、以下のマイクロコントローラを含むが、それらに限定されない：ＡＲＣ  ６２５Ｄ、Ａｔｍｅｌ  ＡＴ９１ＳＡＭ、Ｍｉｃｒｏｃｈｉｐ  ＰＩＣ１８Ｆ２６Ｋ２０およびＳｉｌｉｃｏｎｅ  Ｌａｂｓ  Ｃ８０５１Ｆ３２０。メモリコントローラがメモリの制御論理の一部として更に実装されてもよい。当業者は、コントローラが純コンピュータ可読プログラムコード的に実装されることに加えて、方法のステップに関して論理プログラミングを行って、コントローラが論理ゲート、スイッチ、ＡＳＩＣ、プログラマブル論理コントローラおよび組込みマイクロコントローラの形態で同じ機能を実装することを可能にすることが実現可能であることも認識しているはずである。したがって、そのようなコントローラはハードウェア部品と考えられることができる一方で、そこに備えられて様々な機能を実施するように構成されるデバイスもハードウェア部品内部の構造と考えられてもよい。代替的に、様々な機能を実施するように構成されるデバイスは、方法を実装するソフトウェアモジュールともハードウェア部品内部の構造とも考えられてもよい。
【０１１４】
上記の実施形態に記載されるシステム、装置、モジュールまたはユニットは、コンピュータチップもしくはエンティティによって実装されても、または機能を有する製品によって実装されてもよい。典型的な実装デバイスがコンピュータである。例えば、コンピュータは、パーソナルコンピュータ、ラップトップコンピュータ、携帯電話、カメラ付き電話、スマートフォン、携帯情報端末、メディアプレーヤ、ナビゲーションデバイス、電子メール装置、ゲーム機、タブレットコンピュータ、ウェアラブルデバイス、またはこれらのデバイスにおける任意のデバイスの組合せであってもよい。
【０１１５】
説明の便宜のために、上記の装置は、説明する機能に従って様々なユニットへ分けられる。ユニットの機能は、本開示を実装するときに、１個または複数個のソフトウェアおよび／またはハードウェアで実装されてもよい。
【０１１６】
当業者は、本開示の実施形態が方法、システムまたはコンピュータプログラム製品として提供されてよいことを理解するはずである。したがって、開示されたシステムは、完全なハードウェア実施形態、完全なソフトウェア実施形態、または開示された方法を行うためのソフトウェアおよびハードウェアを集めた実施形態として実装されてもよい。その上、開示されたシステムは、コンピュータ使用可能プログラムコードを備える１つまたは複数のコンピュータ使用可能記憶媒体（磁気ディスクメモリ、ＣＤ−ＲＯＭ、光メモリ等を含むが、これらに限定されない）に実装されたコンピュータプログラム製品の形態であってもよい。
【０１１７】
開示されたシステムは、本開示の実施形態に係る方法、デバイス（システム）およびコンピュータプログラム製品のフローチャートおよび／またはブロック図を参照しつつ記載される。フローチャートおよび／またはブロック図における各プロセスおよび／またはブロックならびにフローチャートおよび／またはブロック図におけるプロセスおよび／またはブロックの組合せを実装するためにコンピュータプログラム命令が使用されてもよい。これらのコンピュータプログラム命令は、汎用コンピュータ、専用コンピュータ、組込みプロセッサ、または他のプログラマブルデータ処理デバイスのプロセッサに提供されてマシンを生成してもよく、その結果コンピュータまたは他のプログラマブルデータ処理デバイスのプロセッサによって実行される命令は、フローチャートにおける１つもしくは複数のプロセスにおけるおよび／またはブロック図における１つもしくは複数のブロックにおける指定の機能を実装するための装置を生成する。
【０１１８】
これらのコンピュータプログラム命令はまた、コンピュータまたは他のプログラマブルデータ処理デバイスに特定の方式で動くように命令することができるコンピュータ可読メモリに記憶されてもよく、その結果コンピュータ可読メモリに記憶された命令は、命令装置を含む製品を生成する。命令装置は、フローチャートにおける１つもしくは複数のプロセスにおけるおよび／またはブロック図における１つもしくは複数のブロックにおける１つまたは複数の機能を実装する。
【０１１９】
これらのコンピュータプログラム命令はまた、コンピュータまたは他のプログラマブルデータ処理デバイスへロードされてもよく、その結果コンピュータまたは他のプログラマブルデバイスで一連の動作ステップが行われて、それによってコンピュータ実装処理を生成する。したがって、コンピュータまたは他のプログラマブルデバイスで実行される命令は、フローチャートにおける１つもしくは複数のプロセスにおけるおよび／またはブロック図における１つもしくは複数のブロックにおける１つまたは複数の機能を実装するためのステップを提供する。
【０１２０】
典型的な構成では、計算デバイスは、１つまたは複数の中央処理装置（ＣＰＵ）、入出力インタフェース、ネットワークインタフェースおよびメモリを含む。
【０１２１】
メモリは、揮発性メモリ、ランダムアクセスメモリ（ＲＡＭ）、および／または不揮発性メモリ、例えば、リードオンリメモリ（ＲＯＭ）もしくはフラッシュＲＡＭなどの、コンピュータ可読媒体を含んでもよい。メモリはコンピュータ可読媒体の一例である。
【０１２２】
コンピュータ可読媒体は、永久、揮発性、移動および不動媒体を含み、任意の方法または技術を通じて情報記憶を実装することができる。情報は、コンピュータ可読命令、データ構造、プログラムモジュールまたは他のデータであってもよい。コンピュータの記憶媒体の例としては、相変化ＲＡＭ（ＰＲＡＭ）、スタティックＲＡＭ（ＳＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）、他の種類のランダムアクセスメモリ（ＲＡＭ）、リードオンリメモリ（ＲＯＭ）、電気的消去可能プログラマブルリードオンリメモリ（ＥＥＰＲＯＭ）、フラッシュメモリもしくは他のメモリ技術、コンパクトディスクリードオンリメモリ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）もしくは他の光メモリ、カセット、カセットおよびディスクメモリもしくは他の磁気メモリデバイス、または任意の他の非伝送媒体を含むが、これらに限定されず、これらは計算デバイスにアクセス可能な情報を記憶するために使用されることができる。本明細書における定義によれば、コンピュータ可読媒体には、変調データ信号および搬送波などの一時的媒体を含まない。
【０１２３】
「含む」、「備える」またはその任意の他の変形の用語は、非排他的包含を達成する意図であり、その結果、一連の要素を備えるプロセス、方法、商品またはデバイスがこれらの要素を備えるだけでなく、列記されていない他の要素も備える、またはプロセス、方法、商品もしくはデバイスに固有である要素を更に備える。更なる制限がない場合、文「１つの．．．を備える」によって定義される要素は、定義された要素を備えるプロセス、方法、商品またはデバイスにおける追加の類似の要素を排除しない。
【０１２４】
本開示は、プログラムモジュールなどのコンピュータによって実行されるコンピュータ実行可能命令の正規の文脈で記載されてもよい。様々な実施形態において、プログラムモジュールは、特定のタスクを実行する、または特定の抽象データ型を実装するためのルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を備える。本開示は分散コンピューティング環境でも実践されてもよい。これらの分散コンピューティング環境では、通信ネットワークを介して接続される遠隔処理デバイスがタスクを実施する。分散コンピューティング環境では、プログラムモジュールは、記憶デバイスを含め、ローカルおよび遠隔コンピュータ記憶媒体に設けられることができる。
【０１２５】
本説明における実施形態は、各実施形態が他の実施形態との違いに重点を置いて累進的に記載され、そして実施形態はその同一または類似部分について相互に参照されてもよい。システム実施形態に関しては、それが方法実施形態と実質的に類似しているので、その説明は比較的簡潔である。方法実施形態の説明がその関連部分について参照されてもよい。
【０１２６】
本開示の実施形態は単に例証的であり、本開示を限定するために使用されるものではない。当業者にとって、開示された実施形態は様々に修正または変更されることができる。本開示の趣旨および原理の範囲内でなされるいかなる修正、等価な置換または改善も本開示の請求項によって包含されるものとする。
【図１】
0006882511.tif 000002
【図２】
0006882511.tif 000003
【図３】
0006882511.tif 000004
【図４】
0006882511.tif 000005
【図５】
0006882511.tif 000006
【図６】
0006882511.tif 000007
【図７】
0006882511.tif 000008
【図８】
0006882511.tif 000009