(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-03-25
(54)【発明の名称】セグメントコンセンサス方法、デバイス及び記憶媒体
(51)【国際特許分類】
G06F 11/18 20060101AFI20220317BHJP
【FI】
G06F11/18 620
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2021540570
(86)(22)【出願日】2020-12-24
(85)【翻訳文提出日】2021-07-13
(86)【国際出願番号】 CN2020138897
(87)【国際公開番号】W WO2021139534
(87)【国際公開日】2021-07-15
(31)【優先権主張番号】202010028960.4
(32)【優先日】2020-01-12
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
(71)【出願人】
【識別番号】521282158
【氏名又は名称】江蘇復雑美科技有限公司
【氏名又は名称原語表記】JIANGSU FUZAMEI TECHNOLOGY CO., LTD.
【住所又は居所原語表記】ROOM 217, #3 BUILDING, SOFT PARK, #78 KELING ROAD, GAOXIN DISTRICT Suzhou, Jiangsu 215000 China
(74)【代理人】
【識別番号】110002262
【氏名又は名称】TRY国際特許業務法人
(72)【発明者】
【氏名】馬 登極
(72)【発明者】
【氏名】王 志文
(72)【発明者】
【氏名】呉 思進
【テーマコード(参考)】
5B034
【Fターム(参考)】
5B034AA04
5B034CC01
(57)【要約】
本発明は、セグメントコンセンサス方法、デバイス及び記憶媒体を提供し、ブロックチェーンなどの技術分野に関し、当該方法は、第1の高さ区間を含む第1のパラチェーンのセグメントコンセンサスリクエスト取引を受信し、セグメントコンセンサスリクエスト取引をメインチェーンに記録するステップと、各ライセンスノードによりそれぞれ生成された投票取引を受信し、第1のコンセンサスプロトコールによって、各投票取引をそれぞれ実行し、各ライセンスノードの投票結果に基づいて、リクエストが合格したか否かを判断し、合格した場合、第1のパラチェーンに対して第1の高さ区間でパラチェーンコンセンサスをオン又はオフしてメインチェーンに記録し、各投票取引をメインチェーンに記録するステップと、を含む。本願は、手数料を削減でき、パラチェーンコンセンサスメカニズムの柔軟性を高めることができる。
【特許請求の範囲】
【請求項1】
メインチェーンノードに適するセグメントコンセンサス方法であって、
メインチェーンノード及びパラチェーンノードにはいずれにも第1のコンセンサスプロトコールが配置され、
第1の高さ区間を含む第1のパラチェーンのセグメントコンセンサスリクエスト取引を受信し、前記セグメントコンセンサスリクエスト取引をメインチェーンに記録して、前記第1のパラチェーンの各ライセンスノードが前記セグメントコンセンサスリクエスト取引を同期化した後、前記セグメントコンセンサスリクエスト取引を前記第1のパラチェーンに記録するようにし、前記セグメントコンセンサスリクエスト取引における第1の高さ区間で第1のパラチェーンのパラチェーンコンセンサスをオン又はオフするリクエストに投票し、投票結果に基づいて、投票取引を生成するステップと、
各前記ライセンスノードによりそれぞれ生成された投票取引を受信し、前記第1のコンセンサスプロトコールによって、各前記投票取引をそれぞれ実行し、
各前記ライセンスノードの投票結果に基づいて、前記リクエストが合格したか否かを判断し、合格した場合、前記第1のパラチェーンに対して前記第1の高さ区間でパラチェーンコンセンサスをオン又はオフしてメインチェーンに記録し、
各前記投票取引をメインチェーンに記録して、各前記ライセンスノードが同期化し、前記第1のコンセンサスプロトコールによって、
各前記ライセンスノードの投票結果に基づいて、前記リクエストが合格したか否かを判断し、合格した場合、前記第1の高さ区間でパラチェーンコンセンサスをオン又はオフして第1のパラチェーンに記録することと、
各前記投票取引を第1のパラチェーンに記録することと、
を実行するようにするステップと、
を含むことを特徴とするセグメントコンセンサス方法。
【請求項2】
前記セグメントコンセンサスリクエスト取引が第1の高さ区間で第1のパラチェーンのパラチェーンコンセンサスをオンするリクエストである場合、前記第1のコンセンサスプロトコールは、メインチェーンノードが前記第1のパラチェーンの第1のパラチェーン取引を受信して、前記第1のパラチェーン取引がクロスチェーン取引である否かを識別するのに用いられ、
前記第1のパラチェーン取引がクロスチェーン取引である場合、前記第1のパラチェーン取引に対応する第1のブロックの高さが前記第1の高さ区間にあるか否かを判断し、
第1の高さ区間にいない場合、前記第1のパラチェーン取引の実行は失敗であり、
前記セグメントコンセンサスリクエスト取引が第1の高さ区間で第1のパラチェーンのパラチェーンコンセンサスをオフするリクエストである場合、前記第1のコンセンサスプロトコールは、メインチェーンノードが前記第1のパラチェーンの第1のパラチェーン取引を受信して、前記第1のパラチェーン取引がクロスチェーン取引である否かを識別するのに用いられ、
前記第1のパラチェーン取引がクロスチェーン取引である場合、前記第1のコンセンサスプロトコールによって、前記第1のパラチェーン取引に対応する第1のブロックの高さが前記第1の高さ区間内にあるか否かを判断し、
第1の高さ区間内にある場合、前記第1のパラチェーン取引の実行は失敗である、
ことを特徴とする請求項1に記載のセグメントコンセンサス方法。
【請求項3】
前記セグメントコンセンサスリクエスト取引が第1の高さ区間で第1のパラチェーンのパラチェーンコンセンサスをオンするリクエストである場合、前記第1のコンセンサスプロトコールは、前記ライセンスノードによって、生成された第1のパラチェーンブロックに対応するメインチェーンブロックの第2のブロックの高さが前記第1の高さ区間内にあるか否かを判断するのに用いられ、
前記第1の高さ区間内にある場合、前記第1のパラチェーンブロックに基づいて、第1のコンセンサス取引を生成して、メインチェーンノードに送信し、
前記第1の高さ区間内にいない場合、前記第1のコンセンサス取引を生成せず、
前記セグメントコンセンサスリクエスト取引が第1の高さ区間で第1のパラチェーンのパラチェーンコンセンサスをオフするリクエストである場合、前記第1のコンセンサスプロトコールは、前記ライセンスノードによって、生成された第1のパラチェーンブロックに対応するメインチェーンブロックの第2のブロックの高さが前記第1の高さ区間内にあるか否かを判断するのに用いられ、
前記第1の高さ区間内にある場合、前記第1のコンセンサス取引を生成せず、
前記第1の高さ区間内にいない場合、前記第1のパラチェーンブロックに基づいて、第1のコンセンサス取引を生成して、メインチェーンノードに送信する、
ことを特徴とする請求項1に記載のセグメントコンセンサス方法。
【請求項4】
前記セグメントコンセンサスリクエスト取引が第1の高さ区間で第1のパラチェーンのパラチェーンコンセンサスをオンするリクエストである場合、前記第1のコンセンサスプロトコールは、前記ライセンスノードによって、生成された第2のパラチェーンブロックに対応するメインチェーンブロックの第3のブロックの高さが前記第1の高さ区間内にあるか否かを判断するのに用いられ、
前記第1の高さ区間内にいない場合、前記第2のパラチェーンブロックのブロックの高さと事前設定された第1の数値との余数が0であるか否かを判断し、
0である場合、前記第2のパラチェーンブロックに基づいて、第2のコンセンサス取引を生成して、メインチェーンノードに送信し、
0ではない場合、前記第2のコンセンサス取引を生成せず、
前記セグメントコンセンサスリクエスト取引が第1の高さ区間で第1のパラチェーンのパラチェーンコンセンサスをオフするリクエストである場合、前記第1のコンセンサスプロトコールは、前記ライセンスノードによって、生成された第2のパラチェーンブロックに対応するメインチェーンブロックの第3のブロックの高さが前記第1の高さ区間内にあるか否かを判断するのに用いられ、
前記第1の高さ区間内にある場合、前記第2のパラチェーンブロックのブロックの高さと事前設定された第1の数値との余数が0であるか否かを判断し、
0である場合、前記第2のパラチェーンブロックに基づいて、第2のコンセンサス取引を生成して、メインチェーンノードに送信し、
0ではない場合、前記第2のコンセンサス取引を生成しない、
ことを特徴とする請求項3に記載のセグメントコンセンサス方法。
【請求項5】
パラチェーンのライセンスノードに適するセグメントコンセンサス方法であって、
メインチェーンノード及びパラチェーンノードにはいずれにも第1のコンセンサスプロトコールが配置され、、
第1の高さ区間を含む第1のパラチェーンのセグメントコンセンサスリクエスト取引を同期化し、前記セグメントコンセンサスリクエスト取引を現在のパラチェーンに記録し、ここで、前記セグメントコンセンサスリクエスト取引は、メインチェーンノードによって受信されて、メインチェーンに記録され、
前記セグメントコンセンサスリクエスト取引における第1の高さ区間で第1のパラチェーンのパラチェーンコンセンサスをオン又はオフするリクエストに投票し、投票結果に基づいて、第1の投票取引を生成して、前記メインチェーンノードに用いられ、
前記第1の投票取引及び現在のパラチェーンの他のライセンスノードによりそれぞれ生成された第2の投票取引を受信し、ここで、前記第2の投票取引は、現在のパラチェーンの他のライセンスノードによって、前記セグメントコンセンサスリクエスト取引における第1の高さ区間で第1のパラチェーンのパラチェーンコンセンサスをオン又はオフするリクエストに投票し、投票結果に基づいて生成されるものであり、
前記第1のコンセンサスプロトコールによって、前記第1の投票取引及び各前記第2の投票取引をそれぞれ実行し、
前記第1の投票取引の投票結果及び各前記第2の投票取引の投票結果に基づいて、前記リクエストが合格したか否かを判断し、合格した場合、現在のパラチェーンに対して前記第1の高さ区間でパラチェーンコンセンサスをオン又はオフして、メインチェーンに記録し、
前記第1の投票取引及び各前記第2の投票取引をメインチェーンに記録し、
前記第1の投票取引及び各前記第2の投票取引を同期化し、前記第1のコンセンサスプロトコールによって、
前記第1の投票取引の投票結果及び各前記第2の投票取引の投票結果に基づいて、前記リクエストが合格したか否かを判断し、合格した場合、前記第1の高さ区間でパラチェーンコンセンサスをオン又はオフして、現在のパラチェーンに記録することと、
前記第1の投票取引及び各前記第2の投票取引を現在のパラチェーンに記録することと、
を実行する、
ことを特徴とするセグメントコンセンサス方法。
【請求項6】
前記セグメントコンセンサスリクエスト取引が第1の高さ区間で第1のパラチェーンのパラチェーンコンセンサスをオンするリクエストである場合、前記第1のコンセンサスプロトコールは、メインチェーンノードによって、前記第1のパラチェーンの第1のパラチェーン取引を受信して、前記第1のパラチェーン取引がクロスチェーン取引であるか否かを識別するのに用いられ、
前記第1のパラチェーン取引がクロスチェーン取引である場合、前記第1のパラチェーン取引に対応する第1のブロックの高さが前記第1の高さ区間内にあるか否かを判断し、
前記第1の高さ区間内にいない場合、前記第1のパラチェーン取引の実行は失敗であり、
前記セグメントコンセンサスリクエスト取引が第1の高さ区間で第1のパラチェーンのパラチェーンコンセンサスをオフするリクエストである場合、前記第1のコンセンサスプロトコールは、メインチェーンノードによって、前記第1のパラチェーンの第1のパラチェーン取引を受信して、前記第1のパラチェーン取引がクロスチェーン取引であるか否かを識別するのに用いられ、
前記第1のパラチェーン取引がクロスチェーン取引である場合、前記第1のコンセンサスプロトコールによって、前記第1のパラチェーン取引に対応する第1のブロックの高さが前記第1の高さ区間内にあるか否かを判断し、
前記第1の高さ区間内にある場合、前記第1のパラチェーン取引の実行は失敗である、
ことを特徴とする請求項5に記載のセグメントコンセンサス方法。
【請求項7】
前記セグメントコンセンサスリクエスト取引が第1の高さ区間で第1のパラチェーンのパラチェーンコンセンサスをオンするリクエストである場合、前記第1のコンセンサスプロトコールは、前記ライセンスノードによって、生成された第1のパラチェーンブロックに対応するメインチェーンブロックの第2のブロックの高さが前記第1の高さ区間内にあるか否かを判断するのに用いられ、
前記第1の高さ区間内にある場合、前記第1のパラチェーンブロックに基づいて、第1のコンセンサス取引を生成して、メインチェーンノードに送信し、
前記第1の高さ区間内にいない場合、前記第1のコンセンサス取引を生成せず、
前記セグメントコンセンサスリクエスト取引が第1の高さ区間で第1のパラチェーンのパラチェーンコンセンサスをオフするリクエストである場合、前記第1のコンセンサスプロトコールは、前記ライセンスノードによって、生成された第1のパラチェーンブロックに対応するメインチェーンブロックの第2のブロックの高さが前記第1の高さ区間内にあるか否かを判断するのに用いられ、
前記第1の高さ区間内にある場合、前記第1のコンセンサス取引を生成せず、
前記第1の高さ区間内にいない場合、前記第1のパラチェーンブロックに基づいて、第1のコンセンサス取引を生成して、メインチェーンノードに送信する、
ことを特徴とする請求項5に記載のセグメントコンセンサス方法。
【請求項8】
前記セグメントコンセンサスリクエスト取引が第1の高さ区間で第1のパラチェーンのパラチェーンコンセンサスをオンするリクエストである場合、前記第1のコンセンサスプロトコールは、前記ライセンスノードによって、生成された第2のパラチェーンブロックに対応するメインチェーンブロックの第3のブロックの高さが前記第1の高さ区間内にあるか否かを判断するのに用いられ、
前記第1の高さ区間内にいない場合、前記第2のパラチェーンブロックのブロックの高さと事前設定された第1の数値との余数が0であるか否かを判断し、
0である場合、前記第2のパラチェーンブロックに基づいて、第2のコンセンサス取引を生成して、メインチェーンノードに送信し、
0ではない場合、前記第2のコンセンサス取引を生成せず、
前記セグメントコンセンサスリクエスト取引が第1の高さ区間で第1のパラチェーンのパラチェーンコンセンサスをオフするリクエストである場合、前記第1のコンセンサスプロトコールは、前記ライセンスノードによって、生成された第2のパラチェーンブロックに対応するメインチェーンブロックの第3のブロックの高さが前記第1の高さ区間内にあるか否かを判断するのに用いられ、
前記第1の高さ区間内にある場合、前記第2のパラチェーンブロックのブロックの高さと事前設定された第1の数値との余数が0であるか否かを判断し、
0である場合、前記第2のパラチェーンブロックに基づいて、第2のコンセンサス取引を生成して、メインチェーンノードに送信し、
0ではない場合、前記第2のコンセンサス取引を生成しない、
ことを特徴とする請求項7に記載のセグメントコンセンサス方法。
【請求項9】
一つ又は複数のプロセッサと、
一つ又は複数のプログラムを記憶するためのメモリと、
を含み、
前記一つ又は複数のプログラムが前記一つ又は複数のプロセッサによって実行される場合、前記一つ又は複数のプロセッサは、請求項1乃至8のいずれか一項に記載のセグメントコンセンサス方法を実行する、
ことを特徴とするデバイス。
【請求項10】
コンピュータプログラムが記憶されている記憶媒体であって、
当該プログラムがプロセッサによって実行される場合、請求項1乃至8のいずれか一項に記載のセグメントコンセンサス方法を実現する、
ことを特徴とする記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、ブロックチェーンの技術分野に関し、具体的に、セグメントコンセンサス方法、デバイス及び記憶媒体に関する。
【背景技術】
【0002】
従来のメインチェーン-パラチェーンメカニズムにおいて、パラチェーンのライセンスノードは、各パラチェーンブロックに対してコンセンサス取引を生成し、コンセンサス取引をメインチェーンに送信してコンセンサスを行う必要があるが、コンセンサス取引は、ライセンスノードのために手数料を払う必要があると同時に、パラチェーンコンセンサスはオンされた後スキップすることができず、前のコンセンサスの高さからコンセンサスを続ける必要があり、即ち、block(100_パラ)がコンセンサスに成功できない場合、block(101_パラ)に対してコンセンサスを行うことができず、パラチェーンコンセンサスのメカニズムは、柔軟ではない。
【発明の概要】
【0003】
従来技術の上記不備及び不足に鑑みて、手数料が低く、よい柔軟性を有するセグメントコンセンサス方法、デバイス及び記憶媒体の提供が望ましい。
【0004】
第1の態様において、本発明は、メインチェーンノードに適するセグメントコンセンサス方法を提供し、メインチェーンノード及びパラチェーンノードにはいずれにも第1のコンセンサスプロトコールが配置され、上記方法は、
第1の高さ区間を含む第1のパラチェーンのセグメントコンセンサスリクエスト取引を受信し、前記セグメントコンセンサスリクエスト取引をメインチェーンに記録して、前記第1のパラチェーンの各ライセンスノードが前記セグメントコンセンサスリクエスト取引を同期化した後、前記セグメントコンセンサスリクエスト取引を前記第1のパラチェーンに記録するようにし、前記セグメントコンセンサスリクエスト取引における第1の高さ区間で第1のパラチェーンのパラチェーンコンセンサスをオン又はオフするリクエストに投票し、投票結果に基づいて、投票取引を生成するステップと、
各前記ライセンスノードによりそれぞれ生成された投票取引を受信し、前記第1のコンセンサスプロトコールによって、各前記投票取引をそれぞれ実行し、
各前記ライセンスノードの投票結果に基づいて、前記リクエストが合格したか否かを判断し、合格した場合、前記第1のパラチェーンに対して前記第1の高さ区間でパラチェーンコンセンサスをオン又はオフしてメインチェーンに記録し、
各前記投票取引をメインチェーンに記録して、各前記ライセンスノードが同期化し、前記第1のコンセンサスプロトコールによって、
各前記ライセンスノードの投票結果に基づいて、前記リクエストが合格したか否かを判断し、合格した場合、前記第1の高さ区間でパラチェーンコンセンサスをオン又はオフして第1のパラチェーンに記録することと、
各前記投票取引を第1のパラチェーンに記録することと、
を実行するようにするステップと、
を含む。
【0005】
第2の態様において、本発明は、パラチェーンのライセンスノードに適するセグメントコンセンサス方法を提供し、メインチェーンノード及びパラチェーンノードにはいずれにも第1のコンセンサスプロトコールが配置され、上記方法は、
第1の高さ区間を含む第1のパラチェーンのセグメントコンセンサスリクエスト取引を同期化し、前記セグメントコンセンサスリクエスト取引を現在のパラチェーンに記録し、ここで、前記セグメントコンセンサスリクエスト取引は、メインチェーンノードによって受信されて、メインチェーンに記録され、
前記セグメントコンセンサスリクエスト取引における第1の高さ区間で第1のパラチェーンのパラチェーンコンセンサスをオン又はオフするリクエストに投票し、投票結果に基づいて、第1の投票取引を生成して、前記メインチェーンノードに用いられ、
前記第1の投票取引及び現在のパラチェーンの他のライセンスノードによりそれぞれ生成された第2の投票取引を受信し、ここで、前記第2の投票取引は、現在のパラチェーンの他のライセンスノードによって、前記セグメントコンセンサスリクエスト取引における第1の高さ区間で第1のパラチェーンのパラチェーンコンセンサスをオン又はオフするリクエストに投票し、投票結果に基づいて生成されるものであり、
前記第1のコンセンサスプロトコールによって、前記第1の投票取引及び各前記第2の投票取引をそれぞれ実行し、
前記第1の投票取引の投票結果及び各前記第2の投票取引の投票結果に基づいて、前記リクエストが合格したか否かを判断し、合格した場合、現在のパラチェーンに対して前記第1の高さ区間でパラチェーンコンセンサスをオン又はオフして、メインチェーンに記録し、
前記第1の投票取引及び各前記第2の投票取引をメインチェーンに記録し、
前記第1の投票取引及び各前記第2の投票取引を同期化し、前記第1のコンセンサスプロトコールによって、
前記第1の投票取引の投票結果及び各前記第2の投票取引の投票結果に基づいて、前記リクエストが合格したか否かを判断し、合格した場合、前記第1の高さ区間でパラチェーンコンセンサスをオン又はオフして、現在のパラチェーンに記録することと、
前記第1の投票取引及び各前記第2の投票取引を現在のパラチェーンに記録することと、
を実行する。
【0006】
第3の態様において、本発明は、さらに、一つ又は複数のプロセッサと、一つ又は複数のプログラムを記憶するためのメモリと、を含むデバイスを提供し、そのうち、メモリには、当該一つ又は複数のプロセッサによって実行される命令が含まれて、当該一つ又は複数のプロセッサが本発明の各実施例により提供されるセグメントコンセンサス方法を実行できるようにする。
【0007】
第4の態様において、本発明は、さらに、コンピュータプログラムが記憶されている記憶媒体を提供し、当該コンピュータプログラムは、コンピュータが本発明の各実施例により提供されるセグメントコンセンサス方法を実行できるようにする。
【0008】
本発明の多くの実施例により提供されるセグメントコンセンサス方法、デバイス及び記憶媒体は、第1の高さ区間を含む第1のパラチェーンのセグメントコンセンサスリクエスト取引を受信し、セグメントコンセンサスリクエスト取引をメインチェーンに記録するステップと、各ライセンスノードによりそれぞれ生成された投票取引を受信し、第1のコンセンサスプロトコールによって、各投票取引をそれぞれ実行し、各ライセンスノードの投票結果に基づいて、リクエストが合格したか否かを判断し、合格した場合、第1のパラチェーンに対して第1の高さ区間でパラチェーンコンセンサスをオン又はオフしてメインチェーンに記録し、各投票取引をメインチェーンに記録するステップと、を含むため、手数料を削減でき、パラチェーンコンセンサスメカニズムの柔軟性を高めることができる。
【図面の簡単な説明】
【0009】
以下の図面を参照して行われた非限定的な実施例に対する詳細な説明を読むことにより、本願の他の特徴、目的及び利点はより明らかになる。
【
図1】本発明の一実施例により提供されるセグメントコンセンサス方法のフローチャートである。
【
図2】本発明の一実施例により提供される他のセグメントコンセンサス方法のフローチャートである。
【
図3】本発明の一実施例により提供されるデバイスの構造概略図である。
【発明を実施するための形態】
【0010】
以下、図面及び実施例と組み合わせて、本願をさらに詳細に説明する。なお、ここで説明される具体的な実施例は、関連発明を解釈するのに使用するだけであって、本発明に対する限定ではない。なお、説明し易くするために、図面には本願関連の部分のみが示されている。
【0011】
なお、衝突しない場合、本願における実施例及び実施例における特徴は互いに組み合わせることが可能である。以下、図面を参照し、実施例と組み合わせて、本願を詳細に説明する。
【0012】
従来のメインチェーン-パラチェーンのパラチェーンコンセンサスメカニズムにおいて、パラチェーンコンセンサスはオンされた後スキップすることができず、前のコンセンサスの高さからコンセンサスを続ける必要があり、即ち、パラチェーンコンセンサスメカニズムは連続性を維持する必要があり、メインチェーンノードがblock(101_パラ)のコンセンサス取引を受信する場合、若しメインチェーンにおいてblock(100_パラ)のコンセンサス取引が未だコンセンサスに成功していないと、block(101_パラ)のコンセンサス取引に対するコンセンサスを行うことができない。本願において、メインチェーン-パラチェーンのパラチェーンコンセンサスメカニズムは、連続性を維持する必要がなく、例えば、メインチェーンにおいてblock(100_パラ)のコンセンサス取引がコンセンサスに成功した後、block(200_パラ)のコンセンサス取引を直接処理することが可能であり、間中のblock(101_パラ)~block(199_パラ)は、コンセンサスを必要としない。
【0013】
図1は、本発明の一実施例により提供されるセグメントコンセンサス方法のフローチャートである。
図1に示すように、本実施例において、本発明は、メインチェーンノードに適するセグメントコンセンサス方法を提供し、メインチェーンノード及びパラチェーンノードにはいずれにも第1のコンセンサスプロトコールが配置され、上記方法は、以下のステップを含む。
【0014】
S12において、第1の高さ区間を含む第1のパラチェーンのセグメントコンセンサスリクエスト取引を受信し、セグメントコンセンサスリクエスト取引をメインチェーンに記録して、第1のパラチェーンの各ライセンスノードがセグメントコンセンサスリクエスト取引を同期化した後、セグメントコンセンサスリクエスト取引を第1のパラチェーンに記録するようにし、セグメントコンセンサスリクエスト取引における第1の高さ区間で第1のパラチェーンのパラチェーンコンセンサスをオン又はオフするリクエストに投票し、投票結果に基づいて、投票取引を生成する。
【0015】
S14において、各ライセンスノードによりそれぞれ生成された投票取引を受信し、第1のコンセンサスプロトコールによって、各投票取引をそれぞれ実行し、
各ライセンスノードの投票結果に基づいて、リクエストが合格したか否かを判断し、合格した場合、第1のパラチェーンに対して第1の高さ区間でパラチェーンコンセンサスをオン又はオフしてメインチェーンに記録し、
各投票取引をメインチェーンに記録して、各ライセンスノードが同期化し、第1のコンセンサスプロトコールによって、
各ライセンスノードの投票結果に基づいて、リクエストが合格したか否かを判断し、合格した場合、第1の高さ区間でパラチェーンコンセンサスをオン又はオフして第1のパラチェーンに記録することと、
各投票取引を第1のパラチェーンに記録することと、
を実行するようにする。
【0016】
具体的に、第1のパラチェーンに4個のライセンスノードa~dが配置され、ユーザAが第1の高さ区間[1000,2000]での第1のパラチェーンのパラチェーンコンセンサスのオンを申請することを例とする。
【0017】
ユーザAがユーザ端へ[1000,2000]での第1のパラチェーンのパラチェーンコンセンサスのオンを申請する命令を入力する場合、ユーザAのユーザ端は、セグメントコンセンサスリクエスト取引を生成する。
【0018】
メインチェーンノードによるステップS12の実行において、[1000,2000]を含むセグメントコンセンサスリクエスト取引を受信し、セグメントコンセンサスリクエスト取引をメインチェーンに記録する。
【0019】
aは、セグメントコンセンサスリクエスト取引が同期化された後、セグメントコンセンサスリクエスト取引を第1のパラチェーンに記録し、セグメントコンセンサスリクエスト取引における[1000,2000]で第1のパラチェーンのパラチェーンコンセンサスをオンするリクエストに投票し、投票結果に基づいて、投票取引tx(vote_a)を生成する。同様に、bは、tx(vote_b)を生成し、cは、tx(vote_c)を生成し、dは、tx(vote_d)を生成する。
【0020】
メインチェーンノードによるステップS14の実行において、tx(vote_a)、tx(vote_b)、tx(vote_c)、tx(vote_d)を受信し、第1のコンセンサスプロトコールによって、tx(vote_a)、tx(vote_b)、tx(vote_c)、tx(vote_d)をそれぞれ実行する。a~dの投票結果に基づいて、リクエストが合格したか否かを判断し、合格した場合、第1のパラチェーンに対して[1000,2000]でパラチェーンコンセンサスをオンして、メインチェーンに記録し、tx(vote_a)、tx(vote_b)、tx(vote_c)、tx(vote_d)をメインチェーンに記録する。
【0021】
aは、メインチェーンからtx(vote_a)、tx(vote_b)、tx(vote_c)、tx(vote_d)を同期化し、第1のコンセンサスプロトコールによって実行する。
【0022】
aは、a~dの投票結果に基づいて、リクエストが合格したか否かを判断し、合格した場合、[1000,2000]でパラチェーンコンセンサスをオンして第1のパラチェーンに記録し、aは、tx(vote_a)、tx(vote_b)、tx(vote_c)、tx(vote_d)を第1のパラチェーンに記録する。同様に、b~dは、[1000,2000]でパラチェーンコンセンサスをオンして第1のパラチェーンに記録し、tx(vote_a)、tx(vote_b)、tx(vote_c)、tx(vote_d)を第1のパラチェーンに記録する。
【0023】
上記実施例は、第1のパラチェーンに4個のライセンスノードa~dが配置され、ユーザAが第1の高さ区間[1000,2000]で第1のパラチェーンのパラチェーンコンセンサスのオンを申請することを例として、本願のセグメントコンセンサスメカニズムを例示的に説明する。
【0024】
より多くの実施例において、第1のパラチェーンに配置されるライセンスノードの個数は、実際の必要に応じて配置でき、例えば、配置個数が7である場合、同じ技術効果を実現することが可能である。
【0025】
より多くの実施例において、第1の高さ区間は、実際の必要に応じて配置でき、例えば、配置区間が[1000,1500]である場合、同じ技術効果を実現することが可能である。
【0026】
より多くの実施例において、さらに、実際の必要に応じて、第1の高さ区間内で第1のパラチェーンのパラチェーンコンセンサスをオフするように構成してもよく、これによっても、同じ技術効果を実現することが可能である。
【0027】
より多くの実施例において、さらに、実際の必要に応じて、パラチェーンコンセンサスメカニズムの連続性を設置してもよく、例えば、第1の高さ区間[1000,2000]で第1のパラチェーンのパラチェーンコンセンサスをオンする場合、block(1000_メイン)~block(2000_メイン)に応じて生成される第1のパラチェーンのパラチェーンブロックは、block(100_パラ1)~block(200_パラ1)であり、block(101_パラ1)~block(200_パラ1)のコンセンサスが連続性を維持するようにリクエストして、同じ技術効果を実現することが可能である。
【0028】
上記実施例のセグメントコンセンサスメカニズムを使用した後、第1のパラチェーンのパラチェーンコンセンサスがオフされる場合、パラチェーンのライセンスノードは、生成されたパラチェーンブロックに対してコンセンサス取引を生成する必要がなく、コンセンサス取引を送信する手数料を削減でき、上記実施例のセグメントコンセンサスメカニズムを使用した後、不連続なパラチェーンブロックは、コンセンサスをスキップでき、パラチェーンコンセンサスメカニズムの柔軟性を高めることができる。
【0029】
好ましくは、セグメントコンセンサスリクエスト取引が第1の高さ区間で第1のパラチェーンのパラチェーンコンセンサスをオンするリクエストである場合、第1のコンセンサスプロトコールは、メインチェーンノードが第1のパラチェーンの第1のパラチェーン取引を受信して、第1のパラチェーン取引がクロスチェーン取引である否かを識別するのに用いられ、
第1のパラチェーン取引がクロスチェーン取引である場合、第1のパラチェーン取引に対応する第1のブロックの高さが第1の高さ区間内にあるか否かを判断し、
第1の高さ区間内にいない場合、第1のパラチェーン取引の実行は失敗であり、
セグメントコンセンサスリクエスト取引が第1の高さ区間で第1のパラチェーンのパラチェーンコンセンサスをオフするリクエストである場合、第1のコンセンサスプロトコールは、メインチェーンノードが第1のパラチェーンの第1のパラチェーン取引を受信して、第1のパラチェーン取引がクロスチェーン取引である否かを識別するのに用いられ、
第1のパラチェーン取引がクロスチェーン取引である場合、第1のコンセンサスプロトコールによって、第1のパラチェーン取引に対応する第1のブロックの高さが第1の高さ区間内にあるか否かを判断し、
第1の高さ区間内にある場合、第1のパラチェーン取引の実行は失敗である。
【0030】
セグメントコンセンサスリクエスト取引が第1の高さ区間で第1のパラチェーンのパラチェーンコンセンサスをオンするリクエストであり、第1のパラチェーン取引がクロスチェーン取引であり、且つ、第1のパラチェーン取引に対応する第1のブロックの高さが第1の高さ区間内にある場合、或いは、セグメントコンセンサスリクエスト取引が第1の高さ区間で第1のパラチェーンのパラチェーンコンセンサスをオフするリクエストであり、第1のパラチェーン取引がクロスチェーン取引であり、且つ、第1のパラチェーン取引に対応する第1のブロックの高さが第1の高さ区間内にいない場合、第1のパラチェーン取引の実行方法は、従来のメインチェーン-パラチェーンメカニズムと同じである。
【0031】
好ましくは、セグメントコンセンサスリクエスト取引が第1の高さ区間で第1のパラチェーンのパラチェーンコンセンサスをオンするリクエストである場合、第1のコンセンサスプロトコールは、ライセンスノードによって、生成された第1のパラチェーンブロックに対応するメインチェーンブロックの第2のブロックの高さが第1の高さ区間内にあるか否かを判断するのに用いられ、
第1の高さ区間内にある場合、第1のパラチェーンブロックに基づいて、第1のコンセンサス取引を生成して、メインチェーンノードに送信し、
第1の高さ区間内にいない場合、第1のコンセンサス取引を生成せず、
セグメントコンセンサスリクエスト取引が第1の高さ区間で第1のパラチェーンのパラチェーンコンセンサスをオフするリクエストである場合、第1のコンセンサスプロトコールは、ライセンスノードによって、生成された第1のパラチェーンブロックに対応するメインチェーンブロックの第2のブロックの高さが第1の高さ区間内にあるか否かを判断するのに用いられ、
第1の高さ区間内にある場合、第1のコンセンサス取引を生成せず、
第1の高さ区間内にいない場合、第1のパラチェーンブロックに基づいて、第1のコンセンサス取引を生成して、メインチェーンノードに送信する。
【0032】
好ましくは、セグメントコンセンサスリクエスト取引が第1の高さ区間で第1のパラチェーンのパラチェーンコンセンサスをオンするリクエストである場合、第1のコンセンサスプロトコールは、ライセンスノードによって、生成された第2のパラチェーンブロックに対応するメインチェーンブロックの第3のブロックの高さが第1の高さ区間内にあるか否かを判断するのに用いられ、
第1の高さ区間内にいない場合、第2のパラチェーンブロックのブロックの高さと事前設定された第1の数値との余数が0であるか否かを判断し、
0である場合、第2のパラチェーンブロックに基づいて、第2のコンセンサス取引を生成して、メインチェーンノードに送信し、
0ではない場合、第2のコンセンサス取引を生成せず、
セグメントコンセンサスリクエスト取引が第1の高さ区間で第1のパラチェーンのパラチェーンコンセンサスをオフするリクエストである場合、第1のコンセンサスプロトコールは、ライセンスノードによって、生成された第2のパラチェーンブロックに対応するメインチェーンブロックの第3のブロックの高さが第1の高さ区間内にあるか否かを判断するのに用いられ、
第1の高さ区間内にある場合、第2のパラチェーンブロックのブロックの高さと事前設定された第1の数値との余数が0であるか否かを判断し、
0である場合、第2のパラチェーンブロックに基づいて、第2のコンセンサス取引を生成して、メインチェーンノードに送信し、
0ではない場合、第2のコンセンサス取引を生成しない。
【0033】
上記実施例は、パラチェーンがパラチェーンコンセンサスをオフした期間で、パラチェーンのライセンスノードが上記実施例で構成されるルールに従ってコンセンサス取引を生成して、メインチェーンノードに送信し、メインチェーンがパラチェーンのライセンスノードを感知して依然として正常に動作するようにする。
【0034】
図2は、本発明の一実施例により提供される他のセグメントコンセンサス方法のフローチャートである。
図2に示すように、本実施例において、本発明は、パラチェーンのライセンスノードに適するセグメントコンセンサス方法を提供し、メインチェーンノード及びパラチェーンノードにはいずれにも第1のコンセンサスプロトコールが配置され、上記方法は、以下のステップを含む。
【0035】
S22において、第1の高さ区間を含む第1のパラチェーンのセグメントコンセンサスリクエスト取引を同期化し、セグメントコンセンサスリクエスト取引を現在のパラチェーンに記録し、ここで、セグメントコンセンサスリクエスト取引は、メインチェーンノードによって受信されて、メインチェーンに記録される。
【0036】
S24において、セグメントコンセンサスリクエスト取引における第1の高さ区間で第1のパラチェーンのパラチェーンコンセンサスをオン又はオフするリクエストに投票し、投票結果に基づいて、第1の投票取引を生成して、メインチェーンノードに用いられ、
第1の投票取引及び現在のパラチェーンの他のライセンスノードによりそれぞれ生成された第2の投票取引を受信し、ここで、第2の投票取引は、現在のパラチェーンの他のライセンスノードによって、セグメントコンセンサスリクエスト取引における第1の高さ区間で第1のパラチェーンのパラチェーンコンセンサスをオン又はオフするリクエストに投票し、投票結果に基づいて生成されるものであり、
第1のコンセンサスプロトコールによって、第1の投票取引及び各第2の投票取引をそれぞれ実行し、
第1の投票取引の投票結果及び各第2の投票取引の投票結果に基づいて、リクエストが合格したか否かを判断し、合格した場合、現在のパラチェーンに対して第1の高さ区間でパラチェーンコンセンサスをオン又はオフして、メインチェーンに記録し、
第1の投票取引及び各第2の投票取引をメインチェーンに記録する。
【0037】
S26において、第1の投票取引及び各第2の投票取引を同期化し、第1のコンセンサスプロトコールによって、
第1の投票取引の投票結果及び各第2の投票取引の投票結果に基づいて、リクエストが合格したか否かを判断し、合格した場合、第1の高さ区間でパラチェーンコンセンサスをオン又はオフして、現在のパラチェーンに記録することと、
第1の投票取引及び各第2の投票取引を現在のパラチェーンに記録することと、
を実行する。
【0038】
上記実施例のセグメントコンセンサス原理は、
図1に示される方法が参照できるため、ここでは省略する。
【0039】
好ましくは、セグメントコンセンサスリクエスト取引が第1の高さ区間で第1のパラチェーンのパラチェーンコンセンサスをオンするリクエストである場合、第1のコンセンサスプロトコールは、メインチェーンノードによって、第1のパラチェーンの第1のパラチェーン取引を受信して、第1のパラチェーン取引がクロスチェーン取引であるか否かを識別するのに用いられ、
第1のパラチェーン取引がクロスチェーン取引である場合、第1のパラチェーン取引に対応する第1のブロックの高さが第1の高さ区間内にあるか否かを判断し、
第1の高さ区間内にいない場合、第1のパラチェーン取引の実行は失敗であり、
セグメントコンセンサスリクエスト取引が第1の高さ区間で第1のパラチェーンのパラチェーンコンセンサスをオフするリクエストである場合、第1のコンセンサスプロトコールは、メインチェーンノードによって、第1のパラチェーンの第1のパラチェーン取引を受信して、第1のパラチェーン取引がクロスチェーン取引であるか否かを識別するのに用いられ、
第1のパラチェーン取引がクロスチェーン取引である場合、第1のコンセンサスプロトコールによって、第1のパラチェーン取引に対応する第1のブロックの高さが第1の高さ区間内にあるか否かを判断し、
第1の高さ区間内にある場合、第1のパラチェーン取引の実行は失敗である。
【0040】
上記実施例のセグメントコンセンサス原理は、
図1に示される好ましい実施形態の方法が参照できるため、ここでは省略する。
【0041】
好ましくは、セグメントコンセンサスリクエスト取引が第1の高さ区間で第1のパラチェーンのパラチェーンコンセンサスをオンするリクエストである場合、第1のコンセンサスプロトコールは、ライセンスノードによって、生成された第1のパラチェーンブロックに対応するメインチェーンブロックの第2のブロックの高さが第1の高さ区間内にあるか否かを判断するのに用いられ、
第1の高さ区間内にある場合、第1のパラチェーンブロックに基づいて、第1のコンセンサス取引を生成して、メインチェーンノードに送信し、
第1の高さ区間内にいない場合、第1のコンセンサス取引を生成せず、
セグメントコンセンサスリクエスト取引が第1の高さ区間で第1のパラチェーンのパラチェーンコンセンサスをオフするリクエストである場合、第1のコンセンサスプロトコールは、ライセンスノードによって、生成された第1のパラチェーンブロックに対応するメインチェーンブロックの第2のブロックの高さが第1の高さ区間内にあるか否かを判断するのに用いられ、
第1の高さ区間内にある場合、第1のコンセンサス取引を生成せず、
第1の高さ区間内にいない場合、第1のパラチェーンブロックに基づいて、第1のコンセンサス取引を生成して、メインチェーンノードに送信する。
【0042】
上記実施例のセグメントコンセンサス原理は、
図1に示される好ましい実施形態の方法が参照できるため、ここでは省略する。
【0043】
好ましくは、セグメントコンセンサスリクエスト取引が第1の高さ区間で第1のパラチェーンのパラチェーンコンセンサスをオンするリクエストである場合、第1のコンセンサスプロトコールは、ライセンスノードによって、生成された第2のパラチェーンブロックに対応するメインチェーンブロックの第3のブロックの高さが第1の高さ区間内にあるか否かを判断するのに用いられ、
第1の高さ区間内にいない場合、第2のパラチェーンブロックのブロックの高さと事前設定された第1の数値との余数が0であるか否かを判断し、
0である場合、第2のパラチェーンブロックに基づいて、第2のコンセンサス取引を生成して、メインチェーンノードに送信し、
0ではない場合、第2のコンセンサス取引を生成せず、
セグメントコンセンサスリクエスト取引が第1の高さ区間で第1のパラチェーンのパラチェーンコンセンサスをオフするリクエストである場合、第1のコンセンサスプロトコールは、ライセンスノードによって、生成された第2のパラチェーンブロックに対応するメインチェーンブロックの第3のブロックの高さが第1の高さ区間内にあるか否かを判断するのに用いられ、
第1の高さ区間内にある場合、第2のパラチェーンブロックのブロックの高さと事前設定された第1の数値との余数が0であるか否かを判断し、
0である場合、第2のパラチェーンブロックに基づいて、第2のコンセンサス取引を生成して、メインチェーンノードに送信し、
0ではない場合、第2のコンセンサス取引を生成しない。
【0044】
上記実施例のセグメントコンセンサス原理は、
図1に示される好ましい実施形態の方法が参照できるため、ここでは省略する。
【0045】
図3は、本発明の一実施例により提供されるデバイスの構造概略図である。
【0046】
図3に示すように、他の態様として、本願は、さらに、一個又は複数個の中央処理ユニット(CPU)301を備えるデバイス300を提供し、それは、読み取り専用メモリ(ROM)302に記憶されたプログラム又は記憶部分308からランダムアクセスメモリ(RAM)303へロードされたプログラムに基づいて、様々な動作及び処理を実行することができる。RAM 303には、さらに、デバイス300の操作に必要な様々なプログラム及びデータが記憶されている。CPU 301、ROM 302及びRAM 303は、バス304を介して互いに接続されている。入力/出力(I/O)インタフェース305もバス304に接続されている。
【0047】
キーボードやマウスなどを含む入力部分306と、陰極線管(CRT)、液晶ディスプレイ(LCD)及びスピーカーなどを含む出力部分307と、ハードディスクを含む記憶部分308と、LANカード、モデムなどのようなネットワークインターフェースカードを含む通信部分309と、のような部材は、I/Oインタフェース305に接続されている。通信部分309は、インターネットのようなネットワークを介して通信処理を実行する。ドライバ310は、必要に応じて、I/Oインタフェース305に接続されてもよい。磁気ディスク、光ディスク、光磁気ディスク、半導体メモリなどのようなリムーバブルメディア311は、必要に応じて、ドライバ310に装着されて、これから読み出されるコンピュータプログラムが必要に応じて記憶部分308にインストールされてもよい。
【0048】
特に、本願の実施例によれば、上記任意の実施例に記載のセグメントコンセンサス方法は、コンピュータソフトウェアプログラムとして実現されてもよい。例えば、本願の実施例は、コンピュータプログラム製品を含み、それは、機械可読媒体に有形的に含まれるコンピュータプログラムを含み、コンピュータプログラムは、セグメントコンセンサス方法を実行するためのプログラムコードを含む。このような実施例において、当該コンピュータプログラムは、通信部分309によってネットワークからダウンロード及びインストールされ、及び/又は、リムーバブルメディア311からインストールされてもよい。
【0049】
さらに別の態様として、本願は、さらに、コンピュータ可読記憶媒体を提供し、当該コンピュータ可読記憶媒体は、上記実施例の装置に含まれるコンピュータ可読記憶媒体であってもよく、単体として存在してもよく、デバイスに組み立てられていないコンピュータ可読記憶媒体であってもよい。コンピュータ可読記憶媒体には、一つ又は一つ以上のプログラムが記憶されてもよく、当該プログラムは一つ又は一つ以上のプロセッサによって本願のセグメントコンセンサス方法を実行してもよい。
【0050】
添付の図面のフローチャート及びブロック図は、本発明の様々な実施例に係るシステム、方法及びコンピュータプログラム製品の実現可能なシステムアーキテクチャ、機能及び操作を示している。この点に関して、フローチャート又はブロック図における各ブロックは、一つのモジュール、プログラムセグメント、又はコードの一部を表すことができ、当該モジュール、プログラムセグメント、又はコードの一部は、所定の論理機能を実現するための一つ又は複数の実行可能な命令を含む。一部の差し替えの実現において、ブロックにマークされた機能も、図面にマークされた順序とは異なる順序で発生する可能性があることにも注意すべきである。例えば、二つの連続的に示されるブロックは、実際には実質的に並行して実行してもよく、関連する機能によっては逆の順序で実行することも可能である。ブロック図及び/又はフローチャートにおける各ブロック、並びに、ブロック図及び/又はフローチャートにおけるブロックの組み合わせは、所定の機能又は操作の専用のハードウェアに係るシステムによって実現でき、或いは、専用のハードウェアとコンピュータ命令との組み合わせによって実現できることは、注意すべきである。
【0051】
本願の実施例に係るユニット又はモジュールは、ソフトウェアの形態で実現してもよく、ハードウェアの形態で実現してもよい。説明されたユニット又はモジュールは、プロセッサに設けられてもよく、例えば、各上記ユニットは、コンピュータ又はモバイルスマートデバイスにおけるソフトウェアプログラムに設けられてもよく、単体として構成されるハードウェア装置であってもよい。そのうち、これらユニット又はモジュールの名称は、特定の状況下での当該ユニット又はモジュール自身に対する限定を構成するものではない。
【0052】
前述の説明は、本願の好ましい実施例及び適応される技術原理の説明にすぎない。当業者であれば、本願に係る発明範囲は、上記技術特徴の特定の組み合わせによる技術案に制限されず、本願の構想を逸脱しない範囲内で、上記技術特徴又はその同等の特徴を任意に組み合わせて形成される他の技術案も含んでいることを理解すべきである。例えば、上記特徴と本願に開示されている(但し、これらに限定されない)同様の機能を有する技術特徴は、互いに置き換えられて形成される技術案が挙げられる。
【国際調査報告】