(57)【要約】  ブロックチェーンシステムにおける少なくとも１つのノード機器のネットワークプロトコルアドレス情報を受信するステップであって、前記ノード機器は第１ノード機器を含み、前記第１ノード機器は代表ノード機器の候補となるノード機器である、ステップと、第１ノード機器のネットワークプロトコルアドレス取得要求を受信するステップであって、前記ネットワークプロトコルアドレス取得要求は第１ノード機器のネットワークプロトコルアドレス情報を要求するためのものである、ステップと、第１ノード機器が今回の選出過程において選出された代表ノード機器であると決定される場合、ネットワークプロトコルアドレスリストを第１ノード機器に送信するステップであって、前記ネットワークプロトコルアドレスリストは今回の選出過程において選出された代表ノード機器のネットワークプロトコルアドレス情報を含む、ステップと、第１ノード機器が今回の選出過程において選出された代表ノード機器ではないと決定される場合、ネットワークプロトコルアドレス取得要求に応答しないステップと、を含む代表ノード機器の選出方法。  【選択図】図２
2021526676.tif 000002
【特許請求の範囲】
【請求項１】
ターゲットサーバが実行する代表ノード機器の選出方法であって、
ブロックチェーンシステムにおける少なくとも１つのノード機器のネットワークプロトコルアドレス情報を受信するステップであって、前記ノード機器は第１ノード機器を含み、前記第１ノード機器は代表ノード機器の候補となるノード機器である、ステップと、
前記第１ノード機器のネットワークプロトコルアドレス取得要求を受信するステップであって、前記ネットワークプロトコルアドレス取得要求は代表ノード機器のネットワークプロトコルアドレス情報を要求するためのものである、ステップと、
前記第１ノード機器が今回の選出過程において選出された代表ノード機器であると決定される場合、ネットワークプロトコルアドレスリストを前記第１ノード機器に送信するステップであって、前記ネットワークプロトコルアドレスリストは前記今回の選出過程において選出された代表ノード機器のネットワークプロトコルアドレス情報を含む、ステップと、
前記第１ノード機器が今回の選出過程において選出された代表ノード機器ではないと決定される場合、前記ネットワークプロトコルアドレス取得要求に応答しないステップと、を含む代表ノード機器の選出方法。
【請求項２】
前記第１ノード機器のネットワークプロトコルアドレス取得要求を受信する前記ステップの前、又は、前記第１ノード機器のネットワークプロトコルアドレス取得要求を受信する前記ステップの後、
今回の選出過程が終了したときに、クエリ要求を前記ブロックチェーンシステムに送信するステップであって、前記クエリ要求は前記今回の選出過程において選出された各代表ノード機器をクエリするためのものである、ステップと、
前記各代表ノード機器の公開鍵を受信するステップと、をさらに含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記各代表ノード機器の公開鍵に従って、受信されたネットワークプロトコルアドレス情報から、前記各代表ノード機器のネットワークプロトコルアドレス情報をスクリーニングし、前記各代表ノード機器のネットワークプロトコルアドレス情報に基づいて前記ネットワークプロトコルアドレスリストを生成するステップをさらに含む、ことを特徴とする請求項２に記載の方法。
【請求項４】
ブロックチェーンシステムにおけるいずれか１つのノード機器が実行する代表ノード機器の選出方法であって、
前記ノード機器が候補状態である場合、前記ノード機器のネットワークプロトコルアドレス情報をターゲットサーバに送信するステップと、
今回の選出過程において前記ノード機器が代表ノード機器として選出された場合、ネットワークプロトコルアドレス取得要求を前記ターゲットサーバに送信するステップであって、前記ネットワークプロトコルアドレス取得要求は前記ノード機器の公開鍵を含む、ステップと、
前記ターゲットサーバが返送した、前記公開鍵に従って受信されたネットワークプロトコルアドレス情報からスクリーニングされたネットワークプロトコルアドレスリストを受信するステップであって、前記ネットワークプロトコルアドレスリストは前記今回の選出過程において選出された代表ノード機器のネットワークプロトコルアドレス情報を含む、ステップと、
前記ノード機器を代表状態に切り替えて動作させるステップと、を含む代表ノード機器の選出方法。
【請求項５】
ブロックチェーンシステムにおける第１ノード機器が実行する代表ノード機器の選出方法であって、
今回の選出過程において前記ノード機器が代表ノード機器として選出された場合、前記ノード機器のネットワークプロトコルアドレス情報を所定数のネットワークプロトコルアドレス情報にコピーするステップと、
前記今回の選出過程において選出された各代表ノード機器の公開鍵をそれぞれ使用して、前記所定数のネットワークプロトコルアドレス情報を暗号化し、所定数の暗号文を得るステップと、
前記所定数の暗号文をブロードキャストするステップと、
所定期間経過後、前記ノード機器を代表状態に切り替えて動作させるステップと、を含む代表ノード機器の選出方法。
【請求項６】
前記ノード機器のネットワークプロトコルアドレス情報を所定数のネットワークプロトコルアドレス情報にコピーする前記ステップの前、
前記ノード機器の秘密鍵を使用して、前記ノード機器の元のネットワークプロトコルアドレス情報を暗号化し、前記ノード機器のネットワークプロトコルアドレス情報を得るステップをさらに含む、ことを特徴とする請求項５に記載の方法。
【請求項７】
ターゲットサーバが、前記第１ノード機器が今回の選出過程において選出された代表ノード機器であると決定される場合、前記ターゲットサーバが、ネットワークプロトコルアドレスリストを前記第１ノード機器に送信するステップであって、前記ネットワークプロトコルアドレスリストは前記今回の選出過程において選出された代表ノード機器のネットワークプロトコルアドレス情報を含む、ステップの前、
前記ブロックチェーンシステムにおける少なくとも１つのノード機器について投票を行うステップであって、前記投票は、前記ブロックチェーンシステムの代表ノードを選出するために行なわれる投票である、ステップと、
投票によって決定された前記少なくとも１つのノード機器の投票数に従って、前記ブロックチェーンシステムにおける所定数の代表ノード機器を決定するステップと、をさらに含むことを特徴とする請求項５又は６に記載の方法。
【請求項８】
代表ノード機器の選出装置であって、
ブロックチェーンシステムにおける少なくとも１つのノード機器のネットワークプロトコルアドレス情報を受信するためのモジュールであって、前記ノード機器は第１ノード機器を含み、前記第１ノード機器は代表ノード機器の候補となるノード機器である、第１受信モジュールと、
前記第１ノード機器のネットワークプロトコルアドレス取得要求を受信するためのモジュールであって、前記ネットワークプロトコルアドレス取得要求は代表ノード機器のネットワークプロトコルアドレス情報を要求するためのものである、第２受信モジュールと、
前記第１ノード機器が今回の選出過程において選出された代表ノード機器であると決定される場合、ネットワークプロトコルアドレスリストを前記第１ノード機器に送信するためのモジュールであって、前記第１ノード機器が今回の選出過程において選出された代表ノード機器ではないと決定される場合、前記ネットワークプロトコルアドレス取得要求に応答しないためのモジュールであって、前記ネットワークプロトコルアドレスリストは前記今回の選出過程において選出された代表ノード機器のネットワークプロトコルアドレス情報を含む、送信モジュールと、を備えることを特徴とする代表ノード機器の選出装置。
【請求項９】
前記今回の選出過程が終了したときに、クエリ要求を前記ブロックチェーンシステムに送信するためのモジュールであって、前記クエリ要求は前記今回の選出過程において選出された各代表ノード機器をクエリするためのものである、クエリモジュールと、
前記各代表ノード機器の公開鍵を受信するための第３受信モジュールと、をさらに備えることを特徴とする請求項８に記載の装置。
【請求項１０】
前記各代表ノード機器の公開鍵に従って、受信されたネットワークプロトコルアドレス情報から、前記各代表ノード機器のネットワークプロトコルアドレス情報をスクリーニングし、前記各代表ノード機器のネットワークプロトコルアドレス情報に基づいて前記ネットワークプロトコルアドレスリストを生成するための生成モジュールをさらに備える、ことを特徴とする請求項９に記載の装置。
【請求項１１】
代表ノード機器の選出装置であって、
前記ノード機器が候補状態である場合、前記ノード機器のネットワークプロトコルアドレス情報をターゲットサーバに送信するための第１送信モジュールと、
今回の選出過程において前記ノード機器が代表ノード機器として選出された場合、ネットワークプロトコルアドレス取得要求を前記ターゲットサーバに送信するためのモジュールであって、前記ネットワークプロトコルアドレス取得要求は前記ノード機器の公開鍵を含む、第２送信モジュールと、
前記ターゲットサーバが返送した、前記公開鍵に従って受信されたネットワークプロトコルアドレス情報からスクリーニングされたネットワークプロトコルアドレスリストを受信するためのモジュールであって、前記ネットワークプロトコルアドレスリストは前記今回の選出過程において選出された代表ノード機器のネットワークプロトコルアドレス情報を含む、受信モジュールと、
前記ノード機器を代表状態に切り替えて動作させるための切り替えモジュールと、を備えることを特徴とする代表ノード機器の選出装置。
【請求項１２】
ブロックチェーンシステムにおける代表ノード機器の選出装置であって、
今回の選出過程において前記ノード機器が代表ノード機器として選出された場合、前記ノード機器のネットワークプロトコルアドレス情報を所定数のネットワークプロトコルアドレス情報にコピーするためのコピーモジュールと、
前記今回の選出過程において選出された各代表ノード機器の公開鍵をそれぞれ使用して、所定数の暗号文を得るように、前記所定数のネットワークプロトコルアドレス情報を暗号化するための暗号化モジュールと、
前記所定数の暗号文をブロードキャストするためのブロードキャストモジュールと、
所定期間経過後、前記ノード機器を代表状態に切り替えて動作させるための切り替えモジュールと、を備えることを特徴とする代表ノード機器の選出装置。
【請求項１３】
前記暗号化モジュールは、さらに、前記ノード機器の秘密鍵を使用して、前記ノード機器の元のネットワークプロトコルアドレス情報を暗号化し、前記ノード機器のネットワークプロトコルアドレス情報を得ることに用いられる、ことを特徴とする請求項１２に記載の装置。
【請求項１４】
前記ブロックチェーンシステムにおける少なくとも１つのノード機器について投票を行うためのジュールであって、前記投票は、前記ブロックチェーンシステムに代表ノードを選出するために行なわれる投票である、投票モジュールと、
投票によって決定された前記少なくとも１つのノード機器の投票数に従って、前記ブロックチェーンシステムにおける所定数の代表ノード機器を決定するための決定モジュールと、をさらに備える、ことを特徴とする請求項１２に記載の装置。
【請求項１５】
コンピュータ機器であって、
プロセッサとメモリを備え、前記メモリにはコンピュータ読み取り可能な命令が記憶されており、前記コンピュータ読み取り可能な命令は、前記プロセッサにより実行されると、請求項１〜７のいずれか１項に記載の方法を前記プロセッサに実行させる、ことを特徴とするコンピュータ機器。
【請求項１６】
コンピュータに請求項１〜７のいずれか１項に記載の方法を実行させる、ことを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、２０１８年０９月０７日に中国特許庁に提出された、出願番号が２０１８１１０４６２６９．８、発明の名称が「代表ノード機器の選出方法、装置、コンピュータ機器及び記憶媒体」である中国特許出願の優先権を主張し、その全内容が引用により本願に組み込まれている。
【０００２】
本願は、ブロックチェーンの技術分野に関し、特に代表ノード機器の選出方法、装置、コンピュータ機器及び記憶媒体に関する。
【背景技術】
【０００３】
近年、ネットワーク技術の発展に伴い、ブロックチェーンシステムが日常生活で広く使用されており、ブロックチェーンシステムは複数のノード機器で構成され、各ノード機器はブロックを利用してトランザクションデータを記憶し、時系列に従ってブロックを順次接続することによりチェーンデータ構造を構成することによって、ブロックチェーンシステムで分散型台帳を形成することができる。
【０００４】
現在、ノード機器によるブロックの生成は以下のような過程であり、いずれか１つのノード機器でトランザクションが発生すると、当該ノード機器はトランザクションデータを記録し、ブロックチェーンシステムにおけるノード機器がこのトランザクションデータを受信できるように、このトランザクションデータをブロックチェーンシステムにブロードキャストし、ブロックチェーンシステムにおけるノード機器がトランザクションデータを受信すると、トランザクションデータをパッケージ化して新しいブロックを生成し、コンセンサスメカニズムを通じて新しいブロックを検証し、新しいブロックが検証を通過すると、各ノード機器は、新しいブロックをノード機器に配置されたブロックチェーンに追加する。
【０００５】
上記ノード機器によるブロックの生成過程において、ブロックチェーンシステムの作動効率を向上させるために、代表ノード機器を選出してすべてのノード機器を置き換え、ブロックを生成することができる。この場合、ブロックの生成過程では、代表ノード機器はＰ２Ｐ（ｐｅｅｒ  ｔｏ  ｐｅｅｒ、ピアツーピアネットワーク）ブロードキャストの方式を用いて、トランザクションデータをブロックチェーンシステムにブロードキャストできる。通信効率を向上させるために、直接通信の方式を利用して代表ノード機器間でデータを交換することもでき、つまり、互いのＩＰ（ｉｎｔｅｒｎｅｔ  ｐｒｏｔｏｃｏｌ、ネットワークプロトコル）アドレスを介してトランザクションデータを直接送受信できる。ただし、代表ノード機器がトランザクションデータを送信するときに直接通信の方式が使用される場合、代表ノード機器と通信するすべてのノード機器は、代表ノード機器のＩＰアドレスを知る必要があり、一旦代表ノード機器のＩＰアドレスが公開されると、攻撃に対して非常に脆弱になり、それはブロックチェーンシステムの正常な操作に悪影響を及ぼす。このため、代表ノード機器のセキュリティを確保できる代表ノード機器の選出方法が急務となっている。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本願の実施例は、代表ノード機器の選出方法、装置、コンピュータ機器及び記憶媒体を提供する。
【課題を解決するための手段】
【０００７】
ターゲットサーバが実行する代表ノード機器の選出方法であって、
ブロックチェーンシステムにおける少なくとも１つのノード機器のネットワークプロトコルアドレス情報を受信するステップであって、前記ノード機器は第１ノード機器を含み、前記第１ノード機器は代表ノード機器の候補となるノード機器である、ステップと、
前記第１ノード機器のネットワークプロトコルアドレス取得要求を受信するステップであって、前記ネットワークプロトコルアドレス取得要求は代表ノード機器のネットワークプロトコルアドレス情報を要求するためのものである、ステップと、
前記第１ノード機器が今回の選出過程において選出された代表ノード機器であると決定される場合、ネットワークプロトコルアドレスリストを前記第１ノード機器に送信するステップであって、前記ネットワークプロトコルアドレスリストは前記今回の選出過程において選出された代表ノード機器のネットワークプロトコルアドレス情報を含む、ステップと、
前記第１ノード機器が今回の選出過程において選出された代表ノード機器ではないと決定される場合、前記ネットワークプロトコルアドレス取得要求に応答しないステップと、を含む。
【０００８】
ブロックチェーンシステムにおけるいずれかのノード機器が実行する代表ノード機器の選出方法であって、
前記ノード機器が候補状態である場合、前記ノード機器のネットワークプロトコルアドレス情報をターゲットサーバに送信するステップと、
今回の選出過程において前記ノード機器が代表ノード機器として選出された場合、ネットワークプロトコルアドレス取得要求を前記ターゲットサーバに送信するステップであって、前記ネットワークプロトコルアドレス取得要求は前記ノード機器の公開鍵を含む、ステップと、
前記ターゲットサーバが返送した、前記公開鍵に従って受信されたネットワークプロトコルアドレス情報からスクリーニングされたネットワークプロトコルアドレスリストを受信するステップであって、前記ネットワークプロトコルアドレスリストは前記今回の選出過程において選出された代表ノード機器のネットワークプロトコルアドレス情報を含む、ステップと、
前記ノード機器を代表状態に切り替えて動作させるステップと、を含む。
【０００９】
ブロックチェーンシステムにおけるいずれかのノード機器が実行する代表ノード機器の選出方法であって、
今回の選出過程において前記ノード機器が代表ノード機器として選出された場合、前記ノード機器のネットワークプロトコルアドレス情報をネットワークプロトコルアドレス情報の所定数だけコピーするステップと、
前記今回選出された各代表ノード機器の公開鍵をそれぞれ使用して、前記所定数のネットワークプロトコルアドレス情報を暗号化し、所定数の暗号文を得るステップと、
前記所定数の暗号文をブロードキャストするステップと、
所定期間経過後、当該ノード機器を代表状態に切り替えて動作させるステップと、を含む。
【００１０】
代表ノード機器の選出装置であって、
ブロックチェーンシステムにおける少なくとも１つのノード機器のネットワークプロトコルアドレス情報を受信するためのモジュールであって、前記ノード機器は第１ノード機器を含み、前記第１ノード機器は代表ノード機器の候補となるノード機器である、第１受信モジュールと、
前記第１ノード機器のネットワークプロトコルアドレス取得要求を受信するためのモジュールであって、前記ネットワークプロトコルアドレス取得要求は代表ノード機器のネットワークプロトコルアドレス情報を要求するためのものである、第２受信モジュールと、
前記第１ノード機器が今回の選出過程において選出された代表ノード機器であると決定される場合、ネットワークプロトコルアドレスリストを前記第１ノード機器に送信するためのモジュールであって、前記第１ノード機器が今回の選出過程において選出された代表ノード機器ではないと決定される場合、前記ネットワークプロトコルアドレス取得要求に応答しないためのモジュールであって、前記ネットワークプロトコルアドレスリストは前記今回の選出過程において選出された代表ノード機器のネットワークプロトコルアドレス情報を含む、送信モジュールと、を備える。
【００１１】
代表ノード機器の選出装置であって、
前記ノード機器が候補状態である場合、前記ノード機器のネットワークプロトコルアドレス情報をターゲットサーバに送信するための第１送信モジュールと、
今回の選出過程において前記ノード機器が代表ノード機器として選出された場合、ネットワークプロトコルアドレス取得要求を前記ターゲットサーバに送信するためのモジュールであって、前記ネットワークプロトコルアドレス取得要求は前記ノード機器の公開鍵を含む、第２送信モジュールと、
前記ターゲットサーバが返送した、前記公開鍵に従って受信されたネットワークプロトコルアドレス情報からスクリーニングされたネットワークプロトコルアドレスリストを受信するためのモジュールであって、前記ネットワークプロトコルアドレスリストは前記今回の選出過程において選出された代表ノード機器のネットワークプロトコルアドレス情報を含む、受信モジュールと、
前記ノード機器を代表状態に切り替えて動作させるための切り替えモジュールと、を備える。
【００１２】
代表ノード機器の選出装置であって、
今回の選出過程において前記ノード機器が代表ノード機器として選出された場合、前記ノード機器のネットワークプロトコルアドレス情報をネットワークプロトコルアドレス情報の所定数だけコピーするためのコピーモジュールと、
前記今回選出された各代表ノード機器の公開鍵をそれぞれ使用して、所定数の暗号文を得るように、前記所定数のネットワークプロトコルアドレス情報を暗号化するための暗号化モジュールと、
前記所定数の暗号文をブロードキャストするためのブロードキャストモジュールと、
所定期間経過後、前記ノード機器を代表状態に切り替えて動作させるための切り替えモジュールと、を備える。
【００１３】
コンピュータ機器であって、プロセッサとメモリを備え、前記メモリにはコンピュータ読み取り可能な命令が記憶されており、前記コンピュータ読み取り可能な命令は、前記プロセッサにより実行されると、前記代表ノード機器の選出方法のステップを前記プロセッサに実行させることを特徴とする。
【００１４】
不揮発性コンピュータ読み取り可能な記憶媒体であって、コンピュータ読み取り可能な命令が記憶されており、前記コンピュータ読み取り可能な命令は、１つ又は複数のプロセッサにより実行されると、前記代表ノード機器の選出方法のステップを前記１つ又は複数のプロセッサに実行させる。
【００１５】
本願の１つ又は複数の実施例の詳細は以下の図面及び説明に記載されている。本願の他の特徴、目的及び利点は明細書、図面及び特許請求の範囲により明らかになる。
【図面の簡単な説明】
【００１６】
本願の実施例における技術案をより明瞭に説明するために、以下、実施例の説明で使用される図面を簡単に説明するが、明らかなように、以下で説明する図面は、本願のいくつかの実施例に過ぎず、当業者であれば、創造的な努力を必要とせずにこれらの図面に基づいて他の図面を得ることができる。
【図１】本願の実施例によるブロックチェーンシステムの構造模式図である。
【図２】本願の実施例による代表ノード機器の選出方法のフローチャートである。
【図３】本願の実施例による代表ノード機器の選出方法のフローチャートである。
【図４】本願の実施例による代表ノード機器の選出装置の構造模式図である。
【図５】本願の実施例による代表ノード機器の選出装置の構造模式図である。
【図６】本願の実施例によるサーバの構造模式図である。
【発明を実施するための形態】
【００１７】
本願の目的、技術案、及び利点をより明瞭にするために、以下、図面を参照しながら本願の実施形態をさらに詳細に説明する。
【００１８】
図１は、本願の実施例によるブロックチェーンシステムの構造模式図であり、図１に示すように、このシステムは複数のサーバを含み、さらにターゲットサーバを含むこともできる。一可能な実施形態では、当該ターゲットサーバは、当該ブロックチェーンシステムの外部に配置されブロックチェーンシステムに関連付けられたターゲットサーバであってもよい。ここで、本願の各実施例に記載の「複数」とは、「１つより多い」を意味する。
【００１９】
複数のサーバについて同じブロックチェーンを配置することができ、つまり、この複数のサーバはブロックチェーンシステムを構成することができ、各サーバはそれぞれ当該ブロックチェーンシステムにおけるノード機器になる。この複数のサーバは、同じ機関の複数のサーバであってもよいし、異なる機関に属する複数のサーバであってもよいし、一般ユーザの複数のサーバであってもよい。
【００２０】
ブロックチェーンシステムにおけるノード機器としての複数のサーバがすべてトランザクションデータを受信できるが、ブロックチェーンシステムがトランザクションデータを記録するときに、各ノード機器は、用途が異なるため、代表ノード機器と非代表ノード機器に分けられてもよい。ここでは、代表ノード機器はブロックとコンセンサスブロックを生成することに用いられ、非代表ノード機器は代表ノード機器によって生成されてコンセンサスを行われたブロックを受信し、ブロックを検証し、検証を通過したブロックをターゲットブロックチェーンに記憶することに用いられ、且つ、非代表ノード機器は、代表ノード機器の候補となる状態である場合、選出の方式で代表ノード機器として選出することができる。
【００２１】
ターゲットサーバは、ブロックチェーンシステムにおいて候補状態であるノード機器のネットワークプロトコルアドレス情報を記憶し、ブロックチェーンシステムで新たに選出された代表ノード機器のリストをクエリし、新たに選出されたすべての代表ノード機器のネットワークプロトコルアドレス情報を新たに選出された代表ノード機器に送信することに用いられ得る。
【００２２】
一例として、当該ブロックチェーンシステムにトランザクションデータを記録する過程は、次のとおりである。
【００２３】
ブロックチェーンシステムにおけるいずれかのノード機器がトランザクションデータを受信すると、当該ノード機器は、他のノード機器がこのトランザクションデータを受信できるように、受信されたトランザクションデータをブロックチェーンシステムにブロードキャストする必要がある。ブロックチェーンシステムの代表ノード機器がこのトランザクションデータを受信すると、代表ノード機器はトランザクションデータに基づいてブロックを生成し、各代表ノード機器がこのブロックに対してコンセンサスを行い、このブロックに対する代表ノード機器のコンセンサスが通過すると、代表ノード機器はこのブロックをブロックチェーンシステムにブロードキャストし、非代表ノード機器は、代表ノード機器によってブロードキャストされたブロックを受信した後、このブロックを検証し、検証を通過すると、このブロックをこの非代表ノードが配置されたターゲットブロックチェーンに記憶する。
【００２４】
本願の実施例に係るコンセンサスとは、ブロックチェーンシステムの複数のノード機器がそれぞれデータを検証し、いずれか１つのノード機器が検証を通過すると、検証通過メッセージをブロックチェーンシステムにブロードキャストし、いずれか１つのノード機器によって受信された検証通過メッセージが予め設定されたコンセンサス戦略を満たしている場合、このデータのコンセンサスが通過すると決定されることを意味する。
【００２５】
たとえば、ブロックチェーンシステムの代表ノード機器がコンセンサスを行う場合を例として説明すると、このコンセンサスはＰＯＷ（Ｐｒｏｏｆ  ｏｆ  Ｗｏｒｋ、プルーフ・オブ・ワーク）メカニズムにより実施され得る。その過程は次のように説明される。ブロックチェーンシステムの代表ノード機器はブロックを生成し、代表ノード機器は、この生成されたブロックのブロックヘッダーのハッシュ値を計算して、この値が現在のターゲット値よりも小さいか否かを確認し、ハッシュ値がターゲット値よりも大きい場合、代表ノード機器は、この生成されたこのブロック内の乱数を変更して再計算し、代表ノード機器によって計算されたハッシュ値がターゲット値よりも小さい場合、この代表ノード機器は、他の代表ノードのネットワークプロトコルアドレスに従って、このブロックを他の代表ノード機器に送信し、他の代表ノードの機器は、このブロックを受信すると、このブロックを検証し、他のほとんどの代表ノード機器がこのブロックの有効性に同意すると、コンセンサスが通過する。
【００２６】
ここでは、代表ノード機器が互いのネットワークプロトコルアドレスを通じて他の代表ノード機器にブロックを送信する過程は、直接通信による通信である。
【００２７】
本願の実施例によるシステムでは、ブロックチェーンシステムのすべてのノード機器がブロックを生成することも、ブロックチェーンシステムのほとんどのノード機器が生成されたブロックにコンセンサスした後にトランザクションデータを記憶できるか否かを検証することも必要とせず、トランザクションデータは、代表ノードがブロックを生成してブロックにコンセンサスすること、及び非代表ノード機器が検証を完了することを通じてのみ、ブロックチェーンシステムに記録できるため、ブロックチェーンシステムの作動効率が向上し、当該ブロックチェーンシステムの代表ノード機器間で直接通信を使用してブロックのコンセンサスを行うことができ、これにより、代表ノードの作動効率がさらに向上し、当該ブロックチェーンシステムの作動効率がさらに向上する。
【００２８】
ブロックチェーンシステムの代表ノード機器でのネットワークプロトコルアドレス取得要求の生成過程について、以下、具体的な実施例にて説明する。
【００２９】
図２は本願の実施例による代表ノード機器の選出方法のフローチャートであり、図２に示すように、本願の実施例による方法の手順は、ステップＳ２０１〜ステップＳ２０１４を含む。
【００３０】
Ｓ２０１、第１ノード機器は、自分のネットワークプロトコルアドレス情報をターゲットサーバに送信する。
【００３１】
ここでは、ブロックチェーンシステムの第１ノード機器は、ブロックチェーンシステムにおけるいずれかのノード機器であり、当該ネットワークプロトコルアドレス情報は、ネットワークプロトコルアドレスと公開鍵を含むことができ、ターゲットサーバはこの公開鍵を使用して代表ノード機器のネットワークプロトコルアドレスをスクリーニングすることができる。
【００３２】
本願の実施例では、この第１ノード機器が候補状態であるノード機器である場合を例とする。候補状態であるノード機器とは、代表ノード機器の候補となるノード機器を指し、ここでは、この候補状態であるノード機器は、特定の資格を持つノード機器であってもよく、たとえば、この資格とは、性能が所定の性能の要件を満たすか、信用が所定の信用要件を満たすなどを指す。
【００３３】
ブロックチェーンシステムの最初の選出過程では、対応する代表ノード機器は、ブロックチェーンシステムの初期化時に設定された初期代表ノード機器であり、後続の各選出過程ごとに、対応する代表ノード機器はすべて前回選出された代表ノード機器となる。
【００３４】
Ｓ２０２、ターゲットサーバは、少なくとも１つのノード機器によって送信された当該ネットワークプロトコルアドレス情報を受信する。
【００３５】
本実施例では、この少なくとも１つのノード機器は、候補状態である少なくとも１つのノード機器であり得る。当該ターゲットサーバは、複数のネットワークプロトコルアドレス情報を受信し、それにより、この複数のネットワークプロトコルアドレス情報に基づいて代表ノード機器のネットワークプロトコルアドレスをスクリーニングできる。
【００３６】
もちろん、この少なくとも１つのノード機器は、候補状態ではないノード機器を含んでもよく、本願の実施例ではそれについて限定しない。
【００３７】
Ｓ２０３、第１ノード機器はユーザによる投票トランザクションデータを受信する。
【００３８】
本実施例では、当該投票トランザクションデータは、ユーザがユーザ機器を使用して当該ブロックチェーンシステムの候補状態である少なくとも１つのノード機器について投票を行ったデータである。
【００３９】
Ｓ２０４、第１ノード機器は、当該投票トランザクションデータをブロックチェーンシステムにブロードキャストする。
【００４０】
このブロードキャストにより、ブロックチェーンシステムのすべてのノード機器が当該投票トランザクションデータを受信できるようになる。本願の実施例では、第１ノード機器はユーザがこの第１ノード機器にログインして投票することにより生じる投票トランザクションデータを直接受信する場合を例として説明するが、いくつかの実施例では、この第１ノード機器は、ユーザが他のノード機器にログインして投票した後、他のノード機器によってブロードキャストされる投票トランザクションデータを直接受信することができ、本願の実施例ではそれについて具体的に限定しない。
【００４１】
Ｓ２０５、各第２ノード機器は投票トランザクションデータを受信する。
【００４２】
この第２ノード機器は、ブロックチェーンシステムの第１ノード機器以外のノード機器である。なお、本願の実施例に記載の「第１」及び「第２」などの用語は、ノード機器の機能を区別するためではなく、異なるノード機器を区別するためにのみ使用される。
【００４３】
Ｓ２０６、当該投票トランザクションデータに対する当該ブロックチェーンシステムにおける複数のノード機器のコンセンサスが通過すると、当該ブロックチェーンシステムにおける複数のノード機器は、当該投票トランザクションデータを当該ブロックチェーンシステムのターゲットブロックチェーンに記憶する。
【００４４】
本願の実施例では、投票トランザクションデータに対する複数のノード機器のコンセンサスが通過するということは、投票トランザクションデータに対するブロックチェーンシステムの複数の代表ノード機器のコンセンサスが通過することを意味し得る。初めて選出を行うブロックチェーンシステムの場合、上記の初期代表ノード機器が今回のコンセンサス過程に参加するノードとして使用でき、その後、複数の代表ノード機器が選出されると、この選出された複数の代表ノード機器が、代表ノード機器の動作状態に切り替わり、ブロックチェーンシステム全体のコンセンサス及びブロックの生成過程に参加することができ、一方、代表ノード機器として選出されなかったノード機器は、非代表ノード機器の状態で動作され、ブロックチェーンシステム全体のコンセンサス及びブロックの生成過程には参加しない。
【００４５】
Ｓ２０７、生成されたブロック数が所定数に達すると、第１ノード機器は、当該ターゲットブロックチェーンの各ブロックの中から、各ノード機器の投票トランザクションデータを記憶するための複数の第１ブロックを決定する。
【００４６】
このステップＳ２０７では、第１ノード機器は、当該ターゲットブロックチェーンの各ブロックの中から、投票トランザクションタイプに基づいてクエリし、投票トランザクションタイプが記憶されたブロックを第１ブロックとして取得することができる。
【００４７】
本願の実施例では、ある代表ノード機器の故障によって引き起こされるシステムの動作上の問題、たとえば、ある代表ノード機器の動作異常又は信用異常などを回避するために、ブロックチェーンシステム全体の動作中に複数回選出し、それにより、代表ノード機器に基づくブロックチェーンシステムの動作の安定性を確保することができる。
【００４８】
この生成されたブロックは、前回の選出後に生成されたブロックであり、生成されたブロックが第１所定数に達したときにのみ選出するような方式は、代表ノード機器の切り替え期間、つまり代表ノードの切り替えの時間間隔を確保でき、それにより、代表ノード機器の頻繁な切り替えによりブロックチェーンシステム全体の正常な動作に悪影響を与えることを回避できる。
【００４９】
もちろん、この生成されたブロックには、投票トランザクションデータに基づいて生成されたブロックだけでなく、他のトランザクションデータに基づいて生成されたブロックも含まれ、もちろん、投票トランザクションデータと他のトランザクションデータに基づいて生成されたブロックも含まれてもよく、本願の本実施例ではそれについて詳しく説明しない。
【００５０】
なお、ブロックチェーンシステムの各ノード機器は、すべて上記ステップＳ２０７の過程を実行するが、本願の実施例ではそれについて詳しく説明しない。
【００５１】
Ｓ２０８、第１ノード機器は、この複数の第１ブロックに記憶された投票トランザクションデータに従って、当該ブロックチェーンシステムにおける各ノード機器の投票数を決定する。
【００５２】
投票トランザクションデータには、トランザクションタイプ、投票対象ノード機器のリスト、及び投票ユーザの秘密鍵の署名などが含まれており、したがって、各第１ブロックに記憶された投票トランザクションデータについては、どのノード機器がどのぐらいの投票を受け取ったかをカウントできる。
【００５３】
本願の実施例では、ブロックチェーンシステムにおける投票方式は、増分投票方式であってもよく、増分投票とは、投票トランザクションにおいて投票対象となるノード機器を指定し、履歴投票結果を保留することを指す。たとえば、ユーザが既にＡ、Ｂ及びＣの３つのノード機器について投票しており、今回の投票対象がＤノード機器である場合、今回の投票では、Ｄノード機器について直接投票することができ、投票トランザクションデータにおける投票対象ノード機器リストにこのＤノード機器の機器公開鍵を含み、つまり、このユーザは複数回の投票を通じてＡ、Ｂ、Ｃ及びＤという４つのノード機器について投票している。
【００５４】
上記増分投票方式では、投票対象ノード機器についての投票を撤回することもでき、たとえば、ユーザはＡ、Ｂ及びＣという３つのノード機器について投票しているが、次回、Ｃノード機器への投票を撤回したい場合、次回の投票では、投票トランザクションデータにおいてＣノード機器への投票の撤回を直接指示することができる。
【００５５】
なお、投票及び投票のカウントには他の方式を使用することもでき、本願ではそれについては特に限定しない。
【００５６】
上記ステップＳ２０７〜Ｓ２０８は、実際には、どのように候補状態である各ノード機器に対応する投票トランザクションデータを取得するかの例示であり、この過程には他の方式を使用してもよく、本願では特に限定しない。
【００５７】
Ｓ２０９、第１ノード機器は、当該ブロックチェーンシステムが今回選出した第２所定数の代表ノード機器の公開鍵と各代表ノード機器の投票数を含む選出結果を、投票数の降順に従って決定する。
【００５８】
この第２所定数は、現在作動している代表ノード機器の数と一致することができ、つまり、この第２所定数を設定することにより、現在作動している代表ノード機器はすべて選出された代表ノード機器で置き換えることが可能になる。もちろん、この第２所定数は変更可能であり、たとえば、この第２所定数はブロックチェーンシステムにおけるノード機器の数に応じて変更することができ、ノード機器の数が増えると、この第２所定数は増える。
【００５９】
なお、この第１ノード機器は、自分が決定した選出結果に従って、自分が今回新たに選出された代表ノード機器であるか否かを決定でき、つまり、当該ブロックチェーンシステムにおけるいずれのノード機器も、自分による選出結果に従って、自分が今回新たに選出された代表ノード機器であるか否か、及び今回新たに選出された他の代表ノード機器のアイデンティティを決定できる。
【００６０】
上記ステップＳ２０７〜Ｓ２０９は、第１ノード機器が、この複数のノード機器の投票数に従って当該ブロックチェーンシステムの複数の代表ノード機器を決定する過程の一実施形態であり、つまり、この複数の第１ブロックに記憶された投票トランザクションデータに従って、当該ブロックチェーンシステムにおける第２所定数の代表ノード機器を決定する過程である。
【００６１】
なお、上記選出過程は単に例示的な説明であり、いくつかの実施例では、他の選出方式でブロックチェーンシステムの代表ノード機器を選出することも可能であり、本実施例ではそれについて限定しない。
【００６２】
Ｓ２１０、新たに選出された代表ノード機器は、ネットワークプロトコルアドレス取得要求をターゲットサーバに送信する。
【００６３】
このネットワークプロトコルアドレス取得要求は、このネットワークプロトコルアドレス取得要求を送信するノード機器が今回新たに選出された代表ノード機器であるか否かをターゲットサーバが決定できるように、当該ノード機器の公開鍵を含む。
【００６４】
なお、当該新たに選出された代表ノード機器は、ネットワークプロトコルアドレス取得要求をターゲットサーバに送信する前に、当該ノード機器によって決定された選出結果に従って、自分が新たに選出された代表ノード機器であるか否かを決定する必要があり、ＹＥＳの場合、当該新たに選出された代表ノード機器は、ネットワークプロトコルアドレス取得要求をターゲットサーバに送信する。
【００６５】
Ｓ２１１、今回の選出過程が終了したときに、ターゲットサーバは、本回選出された選出結果をクエリするためのクエリ要求を当該ブロックチェーンシステムに送信する。
【００６６】
ターゲットサーバは、クエリ要求を当該ブロックチェーンシステムに送信する場合、クエリ要求を当該ブロックチェーンシステムにおけるいずれのノード機器に送信してもよく、クエリ要求を当該ブロックチェーンシステムの特定のノード機器に送信してもよく、クエリ要求を当該ブロックチェーンシステムに直接送信してもよく、本願では、それについて特に限定しない。
【００６７】
Ｓ２１２、ブロックチェーンシステムにおけるいずれかのノード機器は、クエリ要求を受信すると、今回選出された選出結果を当該ターゲットサーバに送信する。
【００６８】
Ｓ２１３、ターゲットサーバは、この選出結果を受信し、且つこの第１ノード機器が今回の選出過程において選出された代表ノード機器であると決定されると、前記今回の選出過程において選出された代表ノード機器のネットワークプロトコルアドレス情報を含むネットワークプロトコルアドレスリストをこの第１ノード機器に送信する。
【００６９】
この選出結果には複数の代表ノード機器の公開鍵が含まれているため、ターゲットサーバは、この選出結果を受信すると、この複数の代表ノード機器の公開鍵及びこの第１ノード機器の公開鍵に従って、この第１ノード機器が今回選出された代表ノード機器であるか否かを判定でき、ＹＥＳの場合、この複数の代表ノード機器の公開鍵に従って、受信されたネットワークプロトコルアドレスリストから、この各代表ノード機器のネットワークプロトコルアドレス情報をスクリーニングし、この各代表ノード機器のネットワークプロトコルアドレス情報に基づいてネットワークプロトコルアドレスリストを生成する。当然のことながら、ターゲットサーバは、この第１ノード機器が今回新たに選出されたノード機器であると決定された場合にのみ、ネットワークプロトコルアドレスリストをこの第１ノード機器に送信し、当該ノード機器が今回新たに選出されたノード機器ではないと判定する場合、この第１ノード機器が送信したネットワークプロトコルアドレス取得要求に応答しない。
【００７０】
もちろん、上記過程は、あるノード機器が代表ノード機器であると決定された場合にのみ、ネットワークプロトコルアドレスのスクリーニング過程を実行することを例として説明しているが、いくつかの実施例では、ターゲットサーバは、選出結果を受信した後、第１ノード機器に対する判定及びネットワークプロトコルアドレスのスクリーニングを同期して実行し、判定結果に基づいて、生成したネットワークプロトコルアドレスリストをこの第１ノード機器に送信するか否かを決定することができる。
【００７１】
なお、上記過程は、ネットワークプロトコルアドレス取得要求を受信すると、ターゲットサーバが代表ノード機器をクエリすることを例として説明しているが、いくつかの実施例では、当該ターゲットサーバは、ネットワークプロトコルアドレス取得要求によりこのクエリ過程をトリガーすることを必要とせず、ブロックチェーンシステムの選出終了後、自動的にクエリして、クエリ結果に基づいてネットワークプロトコルアドレスリストを生成するようにしてもよく、それによって、リアルタイムクエリ・リアルタイム生成にかかる時間を削減することができ、本願の実施例では、具体的なクエリタイミングについて限定しない。
【００７２】
いくつかの実施例では、新たに選出された代表ノード機器は、ネットワークプロトコルアドレス取得要求をターゲットサーバに送信するのではなく、シグナリングの相互作用を減らすために、ターゲットサーバが選出結果を取得した後、新たに選出された各代表ノード機器にこのネットワークプロトコルアドレスリストを自律的に送信してもよい。
【００７３】
Ｓ２１４、新たに選出された代表ノード機器は、このネットワークプロトコルアドレスリストを受信した後、代表状態に切り替えられて動作する。
【００７４】
本願の実施例による方法では、ターゲットサーバによってすべての候補ノード機器のネットワークプロトコルアドレスを管理することができ、選出が成功すると、新たに選出されたすべての代表ノード機器のネットワークプロトコルアドレスを含むネットワークプロトコルアドレスリストを新たに選出された代表ノード機器のみに送信し、それによって、これらの代表ノード機器のネットワークプロトコルアドレスは、今回新たに選出された代表ノード機器のみにより把握でき、このようにして、代表ノード機器のネットワークプロトコルアドレスの公開率が低下し、代表ノード機器のセキュリティが確保される。
【００７５】
さらに、選出過程において、さまざまな投票カウント方式を選択することができ、これにより、ブロックチェーンシステムの代表ノード機器を選出するためにより柔軟な選出方法を提供できる。第１所定数のブロックを間隔的に生成し、ブロックチェーンシステムの各ノード機器の投票数をカウントして、投票数を降順に従って並べ替え、代表ノード機器を選出するような方式では、代表ノード機器の切り替え期間を制御することによって、代表ノード機器の頻繁な切り替えによりブロックチェーンシステムが正常に作動できないことを回避することもできる。ブロックチェーンシステムは、複数回選出することで、正常に作動できない一部の代表ノード機器が置き換えられないようにして、ブロックチェーンシステムの正常な動作を維持することができる。当該ブロックチェーンシステムの代表ノード機器は、コンセンサス過程において、互いのネットワークプロトコルアドレスを介して直接通信し、これにより、ブロックチェーンシステムの作動効率がさらに向上する。
【００７６】
上記実施例は、代表ノード機器のネットワークプロトコルアドレスの公開率を低下させる代表ノード機器の選出方法であり、また、代表ノード機器のネットワークプロトコルアドレスの公開率を低下させる別の代表ノード機器の選出方法であってもよく、以下、具体的な実施例にて説明する。
【００７７】
図３は、本願の実施例による代表ノード機器の選出方法のフローチャートであり、図３に示すように、本願の実施例による方法の手順は、ステップＳ３０１〜ステップＳ３０１０を含む。
【００７８】
Ｓ３０１、第１ノード機器は、ユーザの投票トランザクションデータを受信する。
【００７９】
本願の実施例では、ユーザがユーザ機器を使用して第１ノード機器へ投票トランザクションを開始することを例として、ブロックチェーンシステムは初期化され、初期代表ノード機器を決定し、この初期代表ノード機器は、選出が行われない場合のブロックチェーンシステムの、ブロック生成とブロックコンセンサスを行うノード機器であり、この初期化段階では、初期代表ノード機器の公開鍵をブロックチェーンのジェネシスブロックに記憶することによって、ブロックチェーンシステムの各ノード機器がこの初期ノード機器の公開鍵を知るようにすることができる。
【００８０】
また、いずれか１つの初期代表ノード機器がすべての初期代表ノード機器のネットワークプロトコルアドレス情報を知り、ブロックチェーンシステムの非初期代表ノード機器がすべて初期代表ノード機器のネットワークプロトコルアドレス情報を知っていないように設定される。
【００８１】
Ｓ３０２、第１ノード機器は、当該投票トランザクションデータをブロックチェーンシステムにブロードキャストする。
【００８２】
当該投票トランザクションデータは、ユーザがブロックチェーンシステムにおける少なくとも１つの第１ノード機器について投票したデータである。
【００８３】
Ｓ３０３、各第２ノード機器は投票トランザクションデータを受信する。
【００８４】
Ｓ３０４、当該投票トランザクションデータに対する当該ブロックチェーンシステムにおける複数のノード機器のコンセンサスが通過すると、当該ブロックチェーンシステムにおける複数のノード機器は、当該投票トランザクションデータを当該ブロックチェーンシステムのターゲットブロックチェーンに記憶する。
【００８５】
本願の実施例では、投票トランザクションデータに対する複数のノード機器のコンセンサスが通過するということは、当該投票トランザクションデータに対するブロックチェーンシステムの複数の代表ノード機器のコンセンサスが通過することを意味し得る。初めて選出を行うブロックチェーンシステムの場合、上記の初期代表ノード機器は今回コンセンサス過程に参加するノードとして使用でき、その後、複数の代表ノード機器が選出されると、この選出された複数の代表ノード機器は、代表ノード機器の動作状態に切り替わり、ブロックチェーンシステム全体のコンセンサス及びブロックの生成過程に参加でき、一方、代表ノード機器として選出されなかったノード機器は、非代表ノード機器の状態で動作され、ブロックチェーンシステム全体のコンセンサス及びブロックの生成過程には参加しない。
【００８６】
Ｓ３０５、生成されたブロック数が第１所定数に達すると、第１ノード機器は、当該ターゲットブロックチェーンの各ブロックの中から、各ノード機器の投票トランザクションデータを記憶するための複数の第１ブロックを決定する。
【００８７】
なお、ブロックチェーンシステムの各ノード機器はステップＳ３０５の過程を実行する。
【００８８】
Ｓ３０６、第１ノード機器は、この複数の第１ブロックに記憶された投票トランザクションデータに従って、当該ブロックチェーンシステムにおける各ノード機器の投票数を決定する。
【００８９】
ブロックチェーンシステムの投票方式は、完全投票方式であってもよく、完全投票とは、トランザクションするごとに投票対象のノード機器を指示する必要があり、且つ前回の投票が無効であることであり、たとえば、ユーザがＡノード機器とＢノード機器について投票しており、次の投票対象がＣノード機器とＤノード機器である場合、次回の投票では、ユーザはＣノード機器とＤノード機器について投票することを指示するだけでなく、Ａノード機器とＢノードに対するユーザの前回の投票を直接上書きする必要がある。
【００９０】
なお、投票及び投票のカウントには他の方式を使用することもでき、本願では、それについては特に限定しない。
【００９１】
上記ステップＳ３０５〜Ｓ３０６は、実際には、どのように候補状態である各ノード機器に対応する投票トランザクションデータを取得するかの例示であり、この過程には他の方式を使用してもよく、本願では特に限定しない。
【００９２】
Ｓ３０７、第１ノード機器は、投票数の降順に従って、当該ブロックチェーンシステムにおける第２所定数の代表ノード機器の公開鍵と各代表ノード機器の投票数を含む選出結果を決定する。
【００９３】
この第２所定数は、現在作動している代表ノード機器の数と一致することができ、つまり、この第２所定数を設定することにより、現在作動している代表ノード機器はすべて選出された代表ノード機器で置き換えることができる。もちろん、この第２所定数は変更可能であり、たとえば、この第２所定数はブロックチェーンシステムにおけるノード機器の数に応じて変更することができ、ノード機器の数が増えると、この第２所定数は増える。
【００９４】
なお、この第１ノード機器は、自分が決定した選出結果に従って、自分が今回新たに選出された代表ノード機器であるか否かを決定でき、つまり、当該ブロックチェーンシステムにおけるいずれのノード機器も、自分による選出結果に従って、自分が今回新たに選出された代表ノード機器であるか否か、及び今回新たに選出された他の代表ノード機器のアイデンティティを決定できる。
【００９５】
したがって、このステップＳ３０７では、選出結果を決定する過程は、自分及び今回選出された代表ノード機器のアイデンティティを決定する過程である。
【００９６】
上記ステップＳ３０５〜Ｓ３０７は、第１ノード機器が、この複数のノード機器の投票数に従って当該ブロックチェーンシステムの複数の代表ノード機器を決定する過程の一実施形態であり、つまり、この複数の第１ブロックに記憶された投票トランザクションデータに従って、当該ブロックチェーンシステムにおける第２所定数の代表ノード機器を決定する過程である。
【００９７】
Ｓ３０８、新たに選出された代表ノード機器は、第３所定数の暗号文をブロックチェーンシステムにブロードキャストする。
【００９８】
したがって、今回の選出過程では、新たに選出された他の代表ノード機器は、すべて当該暗号文を受信し、当該暗号文を復号することができる。
【００９９】
第３所定数は、今回の選出過程で新たに選出された他の代表ノード機器がすべて自分により復号され得る暗号文を受信できるようにするために設定されるものであり、第３所定数は、ブロックチェーンシステムで現在作動している代表ノードの数よりも１つ少なくてもよい。
【０１００】
この第３所定数の暗号文を生成する過程とは、まず、当該新たに選出された代表ノード機器のネットワークプロトコルアドレス情報をネットワークプロトコルアドレス情報の第３所定数だけコピーし、次に、今回選出された各代表ノード機器の公開鍵をそれぞれ使用して、この第３所定数のネットワークプロトコルアドレス情報を暗号化し、最後に、第３所定数の暗号文を得ることである。一実施例では、新たに選出された前記代表ノード機器の秘密鍵を使用して、前記の新たに選出された代表ノード機器の元のネットワークプロトコルアドレス情報を暗号化して、新たに選出された代表ノード機器のネットワークプロトコルアドレス情報を取得することである。
【０１０１】
当該暗号文が当該新たに選出された代表ノード機器によってブロックチェーンシステムでブロードキャストされるときに、新たに選出された代表ノード機器のみが復号できることが確保され、これにより、代表ノード機器のネットワークプロトコルアドレス情報の公開率が低下し、ブロックチェーンシステムの代表ノード機器のセキュリティが確保される。
【０１０２】
なお、当該ブロックチェーンシステムにおけるノード機器はＰ２Ｐネットワークを構成することができ、ノード機器はブロードキャストの形式でノード機器間の通信を実現する。代表ノード機器間の通信効率を向上させるために、各代表ノード機器は、互いのネットワークプロトコルアドレスを介して通信することもできる。本願の実施例では、新たに選出された代表ノード機器は現在、互いのネットワークプロトコルアドレスを知らず、新たに選出された代表ノード機器はこのＰ２Ｐネットワークで暗号文をブロードキャストし、それにより、新たに選出された他の代表ノード機器は、当該暗号文を受信して復号することで、新たに選出された代表ノード機器のネットワークプロトコルアドレスを取得し、このようにして、新たに選出された各代表ノード機器は、代表ノード機器として作動するときに、互いのネットワークプロトコルアドレスを使用して直接通信することができ、それにより、ネットワークプロトコルアドレスが代表ノード機器以外の機器に対して公開されていないままで、代表ノード機器の作動効率を向上させる。
【０１０３】
Ｓ３０９、新たに選出された他の代表ノード機器は当該暗号文を受信して復号する。
【０１０４】
この復号とは、新たに選出された代表ノード機器が、自分の秘密鍵に基づいて、自分の公開鍵で暗号化された暗号文を復号できることを意味する。
【０１０５】
Ｓ３１０、所定期間経過後、新たに選出された代表ノード機器を代表状態に切り替えて動作させる。
【０１０６】
所定期間を設定すると、今回の選出過程で選出された代表ノード機器が、すべて新たに選出された他の代表ノード機器によって送信された暗号文を受信して復号できるのに十分な時間を確保でき、つまり、新たに選出された代表ノード機器がすべて他の新しい代表ノード機器のネットワークプロトコルアドレス情報を取得できることを確保する。
【０１０７】
本願の実施例による方法では、新たに選出された代表ノード機器によって、暗号化されたネットワークプロトコルアドレスを当該ブロックチェーンシステムにブロードキャストすることができ、このネットワークプロトコルアドレスの暗号化方式は、今回選出された代表ノード機器の公開鍵を使用して暗号化することができ、これにより、この暗号化されたネットワークプロトコルアドレスは、新たに選出された代表ノード機器によってしか復号できず、つまり、このネットワークプロトコルアドレスは、今回の選出過程で選出された代表ノード機器によってしか知られず、それによって、代表ノード機器のネットワークプロトコルアドレスの公開率が低下し、代表ノード機器のセキュリティが確保される。
【０１０８】
さらに、選出された代表ノード機器は、ブロックチェーンシステムのすべてのノード機器を置き換えてブロックを生成し、新しいブロックに対してコンセンサス作動を行うことができ、それによって、ブロックチェーンシステムの作動効率が向上し、また、このチェーンシステムの代表ノード機器は、コンセンサスをするときに、互いのネットワークプロトコルアドレスを介して直接通信できるため、ブロックチェーンシステムの作動効率がさらに向上する。
【０１０９】
図４は本願の実施例による選出代表ノード機器の構造模式図であり、図４に示すように、第１受信モジュール４０１、第２受信モジュール４０２、送信モジュール４０３を備える。
【０１１０】
第１受信モジュール４０１は、第２受信モジュール４０２に接続され、ブロックチェーンシステムにおける少なくとも１つのノード機器のネットワークプロトコルアドレス情報を受信することに用いられ、
第２受信モジュール４０２は、送信モジュール４０３に接続され、代表ノード機器のネットワークプロトコルアドレス情報を要求するための第１ノード機器のネットワークプロトコルアドレス取得要求を受信することに用いられ、
送信モジュール４０３は、この第１ノード機器が今回の選出過程において選出された代表ノード機器である決定とする場合、この今回の選出過程において選出された代表ノード機器のネットワークプロトコルアドレス情報を含むネットワークプロトコルアドレスリストをこの第１ノード機器に送信し、
この第１ノード機器が今回の選出過程において選出された代表ノード機器ではないと決定される場合、このネットワークプロトコルアドレス取得要求に応答しないことに用いられる。
【０１１１】
一実施例では、この装置は、
今回の選出過程が終了したときに、この今回の選出過程において選出された各代表ノード機器をクエリするためのクエリ要求を当該ブロックチェーンシステムに送信するためのクエリモジュールと、
この各代表ノード機器の公開鍵を受信するための第３受信モジュールと、をさらに備える。
【０１１２】
一実施例では、この装置は、
この各代表ノード機器の公開鍵に従って、受信されたネットワークプロトコルアドレス情報から、この各代表ノード機器のネットワークプロトコルアドレス情報をスクリーニングし、この各代表ノード機器のネットワークプロトコルアドレス情報に基づいてこのネットワークプロトコルアドレスリストを生成するための生成モジュールをさらに備える。
【０１１３】
本願の実施例による装置は、当該ブロックチェーンシステムにおけるノード機器のネットワークプロトコルアドレスを記憶し、ブロックシステムの第１ノード機器のネットワークプロトコルアドレス取得要求に基づいて、当該ブロックチェーンシステムの今回の選出過程において選出された代表ノード機器をクエリし、この第１ノード機器が新しい代表ノード機器である場合、すべての新たに選出された代表ノード機器のネットワークプロトコルアドレス情報をこの第１ノード機器に送信し、新しい代表ノード機器ではない場合、この装置は応答せず、それによって、新たに選出された代表ノード機器のネットワークプロトコルアドレスがすべての新たに選出された代表ノード機器にのみおいて公開し、このブロックシステムの代表ノード機器の公開率を低下させ、新しい代表ノード機器の安全を確保し、当該ブロックチェーンシステムの正常な操作を維持する。
【０１１４】
図５は本願の実施例による代表ノード機器の選出装置の構造模式図であり、図５に示すように、第１送信モジュール５０１、第２送信モジュール５０２、受信モジュール５０３及び切り替えモジュール５０４を備える。
【０１１５】
第１送信モジュール５０１は、第２送信モジュール５０２に接続され、当該ノード機器が候補状態である場合、当該ノード機器のネットワークプロトコルアドレス情報をターゲットサーバに送信することに用いられ、
第２送信モジュール５０２は、受信モジュール５０３に接続され、今回の選出過程において当該ノード機器が代表ノード機器として選出された場合、当該ノード機器の公開鍵を含むネットワークプロトコルアドレス取得要求を当該ターゲットサーバに送信することに用いられ、
受信モジュール５０３は、切り替えモジュール５０４に接続され、当該ターゲットサーバから返送された、この今回の選出過程において選出された代表ノード機器のネットワークプロトコルアドレス情報を含むネットワークプロトコルアドレスリストを受信することに用いられ、
切り替えモジュール５０４は、当該ノード機器を代表状態に切り替えて動作させることに用いられる。
【０１１６】
本実施例による装置は、ブロックチェーンシステムの代表ノード機器の候補ノード機器とすることができ、当該ノード機器は予めターゲットサーバにネットワークプロトコルアドレスを記憶することができ、一旦当該ノード機器が代表ノード機器として選出されれば、ネットワークプロトコルアドレス取得要求をターゲットサーバに送信し、さらに今回の選出過程において選出された代表ノード機器のネットワークプロトコルアドレス情報を受信することができ、それによって、新たに選出された代表ノード機器は今回の選出過程において選出された代表ノード機器のネットワークプロトコルアドレス情報を取得することができ、新たに選出された代表ノード機器のネットワークプロトコルアドレス情報が新たに選出された代表ノード機器により知られるという目的を達成させ、コンセンサスをするときに、ブロックチェーンシステムの代表ノード機器は、互いのネットワークプロトコルアドレスに基づいて直接通信することができ、それにより、代表ノード機器の作動効率が向上し、当該ブロックチェーンシステムの作動効率がさらに向上する。
【０１１７】
本願の実施例は、コピーモジュール、暗号化モジュール、ブロードキャストモジュール、及び切り替えモジュールを備える代表ノード機器の選出装置を提供する。前記コピーモジュールは、ノード機器が今回の選出過程において代表ノード機器として選出された場合、前記ノード機器のネットワークプロトコルアドレス情報をネットワークプロトコルアドレス情報の所定数だけコピーすることに用いられ、前記暗号化モジュールは、前記今回選出された各代表ノード機器の公開鍵をそれぞれ使用して、前記所定数のネットワークプロトコルアドレス情報を暗号化し、所定数の暗号文を得ることに用いられ、前記ブロードキャストモジュールは、前記所定数の暗号文をブロードキャストすることに用いられ、前記切り替えモジュールは、所定時間経過後、前記ノード機器を代表状態に切り替えて動作させることに用いられる。
【０１１８】
暗号化モジュールは、さらに、前記コピーモジュールが前記ノード機器のネットワークプロトコルアドレス情報をネットワークプロトコルアドレス情報の所定数だけコピーする前に、前記ノード機器の秘密鍵を使用して、前記ノード機器の元のネットワークプロトコルアドレス情報を暗号化し、前記ノード機器のネットワークプロトコルアドレス情報を得ることに用いられる。
【０１１９】
本願の実施例による代表ノード機器の選出装置は、投票モジュールをさらに備え、投票モジュールは、ノード機器が今回の選出過程において代表ノード機器として選出される前に、前記ブロックチェーンシステムにおける少なくとも１つのノード機器について投票を行うことに用いられ、前記投票は、前記ブロックチェーンシステムに代表ノードを選出するために行なわれる投票である。
【０１２０】
本願の実施例による代表ノード機器の選出装置は、決定モジュールをさらに備え、前記決定モジュールは、前記ブロックチェーンシステムにおける少なくとも１つのノード機器について投票した後、前記少なくとも１つのノード機器の投票数に従って、前記ブロックチェーンシステムの所定数の代表ノード機器を決定することに用いられる。
【０１２１】
上記のすべての技術案は、任意の方式で組み合わせて、本願の好適実施例を構成することができるので、ここでは詳しく説明しない。
【０１２２】
なお、上記実施例による代表ノード機器の選出装置については、上記機能モジュールの分割を例にして説明するに過ぎず、実際の用途では、必要に応じて上記の分割機能を異なる機能モジュールで完了することができ、つまり、装置の内部構造は、説明された上記機能のすべて又は一部を行うためのさまざまな機能モジュールに分割される。また、上記実施例による代表ノード機器の選出装置は、方法の実施例とは同じ構想であり、その具体的な実現については方法の実施例を参照できるので、ここでは詳しく説明しない。
【０１２３】
図６は、本願の実施例によるコンピュータ機器の構造模式図であり、このコンピュータ機器は、具体的にはサーバ６００であり得る。このサーバ６００は、構成又は性能によって大きく異なり、１つ又は複数のＣＰＵ（ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔｓ、プロセッサ）６０１及び１つ又は複数のメモリ６０２を含むことができる。ここで、このメモリ６０２には、コンピュータ読み取り可能な命令が記憶されており、コンピュータ読み取り可能な命令は、このプロセッサ６０１によってロードして実行され、上記方法の実施例による方法を実施する。もちろん、このサーバは、入出力用のために、有線又は無線のネットワークインターフェース、キーボード、及び入出力インターフェースなどの部材を含んでもよく、このサーバは、機器の機能を実現するための他の部材をさらに含んでもよく、ここで詳しく説明しない。
【０１２４】
例示的な実施例では、命令を含むメモリなどのコンピュータ記憶媒体も提供され、上記命令は、上記実施例における代表ノード機器の選出方法を実行するために端末のプロセッサによって実行され得る。たとえば、このコンピュータ記憶媒体は、ＲＡＭ（ｒｅａｄ−ｏｎｌｙ  Ｍｅｍｏｒｙ、ｒＯＭ）、ランダムアクセスメモリ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ、読み取り専用メモリ）、ＣＤ−ＲＯＭ（ｃｏｍｐａｃｔｄｉｓｃ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ、ＣＤ−ＲＯＭ）、磁気テープ、フロッピーディスクや光データ記憶装置などであり得る。
【０１２５】
当業者が理解できるように、上記実施例におけるステップのすべて又は一部は、ハードウェアによって実行されてもよく、プログラムによって関連するハードウェアを命令して実行させてもよく、このプログラムは、コンピュータ記憶媒体に記憶でき、上記記憶媒体は、読み取り専用メモリ、磁気ディスクや光ディスクなどでり得る。
【０１２６】
以上は、本願の好ましい実施例に過ぎず、本願を限定することを意図するものではなく、本願の精神及び原理を逸脱せずに行われる修正、均等な置換、改良などはすべて本願の特許範囲に含まれる。
【図１】
2021526676.tif 000003
【図２】
2021526676.tif 000004
【図３】
2021526676.tif 000005
【図４】
2021526676.tif 000006
【図５】
2021526676.tif 000007
【図６】
2021526676.tif 000008
【国際調査報告】
2021526676.tif 000009
2021526676.tif 000010
2021526676.tif 000011
2021526676.tif 000012