【手続補正書】
【提出日】令和2年3月27日(2020.3.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のネットワークノードを含むブロックチェーンネットワークにおける1次ノードの変更を行うコンピュータ実行方法であって、前記複数のネットワークノードが、前記1次ノードおよび1つまたは複数のバックアップノードを含み、前記方法が、
エポック変更が行われる必要があるとバックアップノードによって判断するステップであって、前記エポック変更が、現在の1次ノードによる現在のエポックから、新しい1次ノードによる新しいエポックへの変更を引き起こし、前記現在のエポックが、前記1次ノードを使用して、前記複数のネットワークノード間の合意を入手するためのコンセンサス処理を含み、前記コンセンサス処理が、3つのフェーズを含む、ステップと、
前記現在のエポックにおける前記コンセンサス処理の前記3つのフェーズのそれぞれと関連付けられた前記バックアップノードの個々の重みを前記バックアップノードによって判断するステップであって、前記重みが、前記新しい1次ノードになるための前記バックアップノードの資格の測定基準である、ステップと、
前記現在のエポックにおける前記3つのフェーズのそれぞれと関連付けられた前記バックアップノードの前記個々の重みに基づいて、前記バックアップノードに対する加重和を前記バックアップノードによって判断するステップと、
前記加重和が第1の所定の閾値に達したとの判断に応答して、前記バックアップノードによって、前記ネットワークノード以外の前記複数のネットワークノードにEPOCH_CHANGEメッセージを送るステップであって、前記EPOCH_CHANGEメッセージが、前記現在の1次ノードによる前記現在のエポックから、前記バックアップノードが前記新しい1次ノードである前記新しいエポックへの変更のための要求を示し、前記EPOCH_CHANGEメッセージが、前記バックアップノードの前記加重和を含む、ステップと、
前記バックアップノードによって、前記バックアップノード以外の前記複数のネットワークノードのうちの少なくとも1つから少なくとも1つのNEW_EPOCHメッセージを受け取るステップであって、前記NEW_EPOCHメッセージが、前記バックアップノードが前記新しい1次ノードになることについての承認を示す、ステップと、
前記少なくとも1つのNEW_EPOCHメッセージが有効であるかどうかを前記バックアップノードによって検証するステップと、
前記少なくとも1つのNEW_EPOCHメッセージからの有効なNEW_EPOCHメッセージの数が第2の所定の閾値を超過するかどうかを前記バックアップノードによって判断するステップと、
有効なNEW_EPOCHメッセージの前記数が前記第2の所定の閾値を超過するとの判断に応答して、前記バックアップノードが前記新しいエポックにおける前記新しい1次ノードであると前記バックアップノードによって判断するステップと
を含み、
前記現在のエポックにおける前記コンセンサス処理の前記3つのフェーズのそれぞれと関連付けられた前記バックアップノードの個々の重みを判断するステップが、
前記現在のエポックにおける前記コンセンサス処理の第3のフェーズにおいて定足数検証に失敗したとの判断に応答して、前記コンセンサス処理の前記第3のフェーズに対する前記バックアップノードの重みが第3の値であると判断するステップと、
前記現在のエポックにおける前記コンセンサス処理の前記第3のフェーズにおいて定足数検証に成功したとの判断に応答して、前記コンセンサス処理の前記第3のフェーズに対する前記バックアップノードの前記重みが第4の値であると判断するステップであって、前記第3の値が前記第4の値より小さい、ステップと
を含む、方法。
【請求項２】
前記現在のエポックにおける前記コンセンサス処理の前記3つのフェーズのそれぞれと関連付けられた前記バックアップノードの個々の重みを判断するステップが、前記コンセンサス処理の第1のフェーズに対する前記バックアップノードの重みが第1の値であると判断するステップを含む、請求項1に記載のコンピュータ実行方法。
【請求項３】
前記現在のエポックにおける前記コンセンサス処理の前記3つのフェーズのそれぞれと関連付けられた前記バックアップノードの個々の重みを判断するステップが、
前記現在のエポックにおける前記コンセンサス処理の第2のフェーズにおいて定足数検証に失敗したとの判断に応答して、前記コンセンサス処理の前記第2のフェーズに対する前記バックアップノードの重みが第1の値であると判断するステップと、
前記現在のエポックにおける前記コンセンサス処理の前記第2のフェーズにおいて定足数検証に成功したとの判断に応答して、前記コンセンサス処理の前記第2のフェーズに対する前記バックアップノードの前記重みが第2の値であると判断するステップであって、前記第1の値が前記第2の値より小さい、ステップと
を含む、請求項1に記載のコンピュータ実行方法。
【請求項４】
前記ネットワークノードに対する前記第2のフェーズにおける前記定足数検証が、他のネットワークノードから所定の数のECHOメッセージを受け取るステップを含む、請求項3に記載のコンピュータ実行方法。
【請求項５】
前記ネットワークノードに対する前記第3のフェーズにおける前記定足数検証が、他のネットワークノードから所定の数の受け入れメッセージを受け取るステップを含み、他のネットワークノードからの前記受け入れメッセージのそれぞれが、前記他のネットワークノードのそれぞれが所定の数のECHOメッセージを受け入れたことを示す、請求項1に記載のコンピュータ実行方法。
【請求項６】
前記EPOCH_CHANGEメッセージが、前記複数のネットワークノードからのネットワークノードのセットと関連付けられた署名のセットをさらに含み、前記NEW_EPOCHメッセージが、前記EPOCH_CHANGEメッセージのダイジェストを含む、請求項1に記載のコンピュータ実行方法。
【請求項７】
前記少なくとも1つの有効なNEW_EPOCHメッセージが有効であるかどうかを検証するステップが、前記少なくとも1つのNEW_EPOCHメッセージ内の前記EPOCH_CHANGEメッセージの前記ダイジェストが有効であるかどうかを検証するステップを含み、前記少なくとも1つのNEW_EPOCHメッセージ内の前記EPOCH_CHANGEメッセージの前記ダイジェストが有効であるかどうかを検証するステップが、前記EPOCH_CHANGEメッセージ内の署名の前記セットが有効であるかどうかを検証するステップを含む、請求項6に記載のコンピュータ実行方法。
【請求項８】
エポック変更が行われる必要があると判断するステップが、所定の期間内に古いエポックにおいて前記コンセンサスが実現されなかったとの判断に応答して、エポック変更が行われる必要があると判断するステップを含む、請求項1に記載のコンピュータ実行方法。
【請求項９】
前記新しい1次ノードによる前記新しいエポックにおいて動作させるステップをさらに含み、前記新しいエポックが、前記新しい1次ノードを使用して、前記複数のネットワークノード間のコンセンサスを実現するためのコンセンサス処理を含む、請求項1に記載のコンピュータ実行方法。
【請求項１０】
複数のネットワークノードを含むブロックチェーンネットワークのバックアップノードによって、エポック変更が行われる必要があると判断することであって、前記複数のネットワークノードが、1次ノード、および前記バックアップノードを含む1つまたは複数のバックアップノードを含み、前記エポック変更が、現在の1次ノードによる現在のエポックから、新しい1次ノードによる新しいエポックへの変更を引き起こし、前記現在のエポックが、前記1次ノードを使用して、前記複数のネットワークノード間のコンセンサスを実現するためのコンセンサス処理を含み、前記コンセンサス処理が、3つのフェーズを含む、判断することと、
前記現在のエポックにおける前記コンセンサス処理の前記3つのフェーズのそれぞれと関連付けられた前記バックアップノードの個々の重みを前記バックアップノードによって判断することであって、前記重みが、前記新しい1次ノードになるための前記バックアップノードの資格の測定基準である、判断することと、
前記現在のエポックにおける前記3つのフェーズのそれぞれと関連付けられた前記バックアップノードの前記個々の重みに基づいて、前記バックアップノードに対する加重和を前記バックアップノードによって判断することと、
前記加重和が第1の所定の閾値に達したとの判断に応答して、前記バックアップノードによって、前記ネットワークノード以外の前記複数のネットワークノードにEPOCH_CHANGEメッセージを送ることであって、前記EPOCH_CHANGEメッセージが、前記現在の1次ノードによる前記現在のエポックから、前記バックアップノードが前記新しい1次ノードである前記新しいエポックへの変更のための要求を示し、前記EPOCH_CHANGEメッセージが、前記バックアップノードの前記加重和を含む、送ることと、
前記バックアップノードによって、前記バックアップノード以外の前記複数のネットワークノードのうちの少なくとも1つから少なくとも1つのNEW_EPOCHメッセージを受け取ることであって、前記NEW_EPOCHメッセージが、前記バックアップノードが前記新しい1次ノードになることについての承認を示す、受け取ることと、
前記少なくとも1つのNEW_EPOCHメッセージが有効であるかどうかを前記バックアップノードによって検証することと、
前記少なくとも1つのNEW_EPOCHメッセージからの有効なNEW_EPOCHメッセージの数が第2の所定の閾値を超過するかどうかを前記バックアップノードによって判断することと、
有効なNEW_EPOCHメッセージの前記数が前記第2の所定の閾値を超過するとの判断に応答して、前記バックアップノードが前記新しいエポックにおける前記新しい1次ノードであると前記バックアップノードによって判断することと
を含み、
前記現在のエポックにおける前記コンセンサス処理の前記3つのフェーズのそれぞれと関連付けられた前記バックアップノードの個々の重みを判断することが、
前記現在のエポックにおける前記コンセンサス処理の第3のフェーズにおいて定足数検証に失敗したとの判断に応答して、前記コンセンサス処理の前記第3のフェーズに対する前記バックアップノードの重みが第3の値であると判断することと、
前記現在のエポックにおける前記コンセンサス処理の前記第3のフェーズにおいて定足数検証に成功したとの判断に応答して、前記コンセンサス処理の前記第3のフェーズに対する前記バックアップノードの前記重みが第4の値であると判断することであって、前記第3の値が前記第4の値より小さい、判断することと
を含む、動作を行うようにコンピュータシステムによって実行可能な1つまたは複数の命令を格納する、非一時的コンピュータ可読媒体。
【請求項１１】
前記現在のエポックにおける前記コンセンサス処理の前記3つのフェーズのそれぞれと関連付けられた前記バックアップノードの個々の重みを判断することが、前記コンセンサス処理の第1のフェーズに対する前記バックアップノードの重みが第1の値であると判断することを含む、請求項10に記載の非一時的コンピュータ可読媒体。
【請求項１２】
前記現在のエポックにおける前記コンセンサス処理の前記3つのフェーズのそれぞれと関連付けられた前記バックアップノードの個々の重みを判断することが、
前記現在のエポックにおける前記コンセンサス処理の第2のフェーズにおいて定足数検証に失敗したとの判断に応答して、前記コンセンサス処理の前記第2のフェーズに対する前記バックアップノードの重みが第1の値であると判断することと、
前記現在のエポックにおける前記コンセンサス処理の前記第2のフェーズにおいて定足数検証に成功したとの判断に応答して、前記コンセンサス処理の前記第2のフェーズに対する前記バックアップノードの前記重みが第2の値であると判断することであって、前記第1の値が前記第2の値より小さい、判断することと
を含む、請求項10に記載の非一時的コンピュータ可読媒体。
【請求項１３】
前記ネットワークノードに対する前記第2のフェーズにおける前記定足数検証が、他のネットワークノードから所定の数のECHOメッセージを受け取ることを含む、請求項12に記載の非一時的コンピュータ可読媒体。
【請求項１４】
前記ネットワークノードに対する前記第3のフェーズにおける前記定足数検証が、他のネットワークノードから所定の数の受け入れメッセージを受け取ることを含み、他のネットワークノードからの前記受け入れメッセージのそれぞれが、前記他のネットワークノードのそれぞれが所定の数のECHOメッセージを受け入れたことを示す、請求項10に記載の非一時的コンピュータ可読媒体。
【請求項１５】
前記EPOCH_CHANGEメッセージが、前記複数のネットワークノードからのネットワークノードのセットと関連付けられた署名のセットをさらに含み、前記NEW_EPOCHメッセージが、前記EPOCH_CHANGEメッセージのダイジェストを含む、請求項10に記載の非一時的コンピュータ可読媒体。
【請求項１６】
前記少なくとも1つの有効なNEW_EPOCHメッセージが有効であるかどうかを検証することが、前記少なくとも1つのNEW_EPOCHメッセージ内の前記EPOCH_CHANGEメッセージの前記ダイジェストが有効であるかどうかを検証することを含み、前記少なくとも1つのNEW_EPOCHメッセージ内の前記EPOCH_CHANGEメッセージの前記ダイジェストが有効であるかどうかを検証することが、前記EPOCH_CHANGEメッセージ内の署名の前記セットが有効であるかどうかを検証することを含む、請求項15に記載の非一時的コンピュータ可読媒体。
【請求項１７】
エポック変更が行われる必要があると判断することが、所定の期間内に古いエポックにおいて前記コンセンサスが実現されなかったとの判断に応答して、エポック変更が行われる必要があると判断することを含む、請求項10に記載の非一時的コンピュータ可読媒体。
【請求項１８】
前記動作が、前記新しい1次ノードによる前記新しいエポックにおいて動作させることであって、前記新しいエポックが、前記新しい1次ノードを使用して、前記複数のネットワークノード間のコンセンサスを実現するためのコンセンサス処理を含む、動作させること
をさらに含む、請求項10に記載の非一時的コンピュータ可読媒体。
【請求項１９】
1つまたは複数のコンピュータと、
前記1つまたは複数のコンピュータに相互利用可能に連結され、1つまたは複数のコンピュータによって実行されると、
複数のネットワークノードを含むブロックチェーンネットワークのバックアップノードによって、エポック変更が行われる必要があると判断することであって、前記複数のネットワークノードが、1次ノード、および前記バックアップノードを含む1つまたは複数のバックアップノードを含み、前記エポック変更が、現在の1次ノードによる現在のエポックから、新しい1次ノードによる新しいエポックへの変更を引き起こし、前記現在のエポックが、前記1次ノードを使用して、前記複数のネットワークノード間のコンセンサスを実現するためのコンセンサス処理を含み、前記コンセンサス処理が、3つのフェーズを含む、判断すること、
前記現在のエポックにおける前記コンセンサス処理の前記3つのフェーズのそれぞれと関連付けられた前記バックアップノードの個々の重みを前記バックアップノードによって判断することであって、前記重みが、前記新しい1次ノードになるための前記バックアップノードの資格の測定基準である、判断すること、
前記現在のエポックにおける前記3つのフェーズのそれぞれと関連付けられた前記バックアップノードの前記個々の重みに基づいて、前記バックアップノードに対する加重和を前記バックアップノードによって判断すること、
前記加重和が第1の所定の閾値に達したとの判断に応答して、前記バックアップノードによって、前記ネットワークノード以外の前記複数のネットワークノードにEPOCH_CHANGEメッセージを送ることであって、前記EPOCH_CHANGEメッセージが、前記現在の1次ノードによる前記現在のエポックから、前記バックアップノードが前記新しい1次ノードである前記新しいエポックへの変更のための要求を示し、前記EPOCH_CHANGEメッセージが、前記バックアップノードの前記加重和を含む、送ること、
前記バックアップノードによって、前記バックアップノード以外の前記複数のネットワークノードのうちの少なくとも1つから少なくとも1つのNEW_EPOCHメッセージを受け取ることであって、前記NEW_EPOCHメッセージが、前記バックアップノードが前記新しい1次ノードになることについての承認を示す、受け取ること、
前記少なくとも1つのNEW_EPOCHメッセージが有効であるかどうかを前記バックアップノードによって検証すること、
前記少なくとも1つのNEW_EPOCHメッセージからの有効なNEW_EPOCHメッセージの数が第2の所定の閾値を超過するかどうかを前記バックアップノードによって判断すること、ならびに
有効なNEW_EPOCHメッセージの前記数が前記第2の所定の閾値を超過するとの判断に応答して、前記バックアップノードが前記新しいエポックにおける前記新しい1次ノードであると前記バックアップノードによって判断すること
を含み、
前記現在のエポックにおける前記コンセンサス処理の前記3つのフェーズのそれぞれと関連付けられた前記バックアップノードの個々の重みを判断することが、
前記現在のエポックにおける前記コンセンサス処理の第3のフェーズにおいて定足数検証に失敗したとの判断に応答して、前記コンセンサス処理の前記第3のフェーズに対する前記バックアップノードの重みが第3の値であると判断することと、
前記現在のエポックにおける前記コンセンサス処理の前記第3のフェーズにおいて定足数検証に成功したとの判断に応答して、前記コンセンサス処理の前記第3のフェーズに対する前記バックアップノードの前記重みが第4の値であると判断することであって、前記第3の値が前記第4の値より小さい、判断することと
を含む1つまたは複数の動作を行う1つまたは複数の命令を格納する有形の非一時的機械可読媒体を有する1つまたは複数のコンピュータメモリデバイスと
を含む、システム。
【請求項２０】
前記現在のエポックにおける前記コンセンサス処理の前記3つのフェーズのそれぞれと関連付けられた前記バックアップノードの個々の重みを判断することが、前記コンセンサス処理の第1のフェーズに対する前記バックアップノードの重みが第1の値であると判断することを含む、請求項19に記載のシステム。
【請求項２１】
前記現在のエポックにおける前記コンセンサス処理の前記3つのフェーズのそれぞれと関連付けられた前記バックアップノードの個々の重みを判断することが、
前記現在のエポックにおける前記コンセンサス処理の第2のフェーズにおいて定足数検証に失敗したとの判断に応答して、前記コンセンサス処理の前記第2のフェーズに対する前記バックアップノードの重みが第1の値であると判断することと、
前記現在のエポックにおける前記コンセンサス処理の前記第2のフェーズにおいて定足数検証に成功したとの判断に応答して、前記コンセンサス処理の前記第2のフェーズに対する前記バックアップノードの前記重みが第2の値であると判断することであって、前記第1の値が前記第2の値より小さい、判断することと
を含む、請求項19に記載のシステム。
【請求項２２】
前記ネットワークノードに対する前記第2のフェーズにおける前記定足数検証が、他のネットワークノードから所定の数のECHOメッセージを受け取ることを含む、請求項21に記載のシステム。
【請求項２３】
前記ネットワークノードに対する前記第3のフェーズにおける前記定足数検証が、他のネットワークノードから所定の数の受け入れメッセージを受け取ることを含み、他のネットワークノードからの前記受け入れメッセージのそれぞれが、前記他のネットワークノードのそれぞれが所定の数のECHOメッセージを受け入れたことを示す、請求項19に記載のシステム。
【請求項２４】
前記EPOCH_CHANGEメッセージが、前記複数のネットワークノードからのネットワークノードのセットと関連付けられた署名のセットをさらに含み、前記NEW_EPOCHメッセージが、前記EPOCH_CHANGEメッセージのダイジェストを含む、請求項19に記載のシステム。
【請求項２５】
前記少なくとも1つの有効なNEW_EPOCHメッセージが有効であるかどうかを検証することが、前記少なくとも1つのNEW_EPOCHメッセージ内の前記EPOCH_CHANGEメッセージの前記ダイジェストが有効であるかどうかを検証することを含み、前記少なくとも1つのNEW_EPOCHメッセージ内の前記EPOCH_CHANGEメッセージの前記ダイジェストが有効であるかどうかを検証することが、前記EPOCH_CHANGEメッセージ内の署名の前記セットが有効であるかどうかを検証することを含む、請求項24に記載のシステム。
【請求項２６】
エポック変更が行われる必要があると判断することが、所定の期間内に古いエポックにおいて前記コンセンサスが実現されなかったとの判断に応答して、エポック変更が行われる必要があると判断することを含む、請求項19に記載のシステム。
【請求項２７】
前記動作が、
前記新しい1次ノードによる前記新しいエポックにおいて動作させることであって、前記新しいエポックが、前記新しい1次ノードを使用して、前記複数のネットワークノード間のコンセンサスを実現するためのコンセンサス処理を含む、動作させること
をさらに含む、請求項19に記載のシステム。