(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-10-13
(45)【発行日】2022-10-21
(54)【発明の名称】ブロックチェーン内のトランザクション要求処理方法、装置、デバイス、媒体、及びプログラム
(51)【国際特許分類】
G06Q 20/38 20120101AFI20221014BHJP
【FI】
G06Q20/38
(21)【出願番号】P 2021049434
(22)【出願日】2021-03-24
【審査請求日】2021-03-24
(31)【優先権主張番号】202010443579.4
(32)【優先日】2020-05-22
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】512015127
【氏名又は名称】バイドゥ オンライン ネットワーク テクノロジー(ペキン) カンパニー リミテッド
(74)【代理人】
【識別番号】100079108
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【氏名又は名称】内藤 和彦
(74)【代理人】
【識別番号】100108213
【氏名又は名称】阿部 豊隆
(72)【発明者】
【氏名】ジン,ボ
【審査官】貝塚 涼
(56)【参考文献】
【文献】米国特許出願公開第2017/0212781(US,A1)
【文献】国際公開第2019/072303(WO,A2)
【文献】アンドレアス・M・アントノプロス,ビットコインとブロックチェーン,第1版,日本,NTT出版株式会社,2018年04月18日,第12、44-45頁,ISBN:978-4-7571-0375-7
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00 - 99/00
(57)【特許請求の範囲】
【請求項1】
ブロックチェーン内のトランザクション要求処理装置により実行されるブロックチェーン内のトランザクション要求処理方法であって、
ブロックチェーンネットワーク内で依存関係を有する選択対象トランザクション要求を集約して少なくとも1つのトランザクション要求集合を得るステップと、
前記トランザクション要求集合の属性に基づいて、前記トランザクション要求集合が属する候補因子間隔を決定するステップであって、前記因子間隔は、前記トランザクション要求集合がブロック生成過程に参加する確率を測定するために使用されるステップと、
前記候補因子間隔から現在の目標因子間隔を選択し、前記現在の目標因子間隔に対応する前記候補トランザクション要求集合から、ブロック生成過程に参加する現在の目標トランザクション要求集合を選択するステップとを含む、ことを特徴とするブロックチェーン内のトランザクション要求処理方法。
【請求項2】
前記トランザクション要求集合が属する候補因子間隔を決定するステップは、
前記トランザクション要求集合の
インセンティブ因子に基づいて、作成された因子間隔の上限と下限をトラバースすることにより、前記トランザクション要求集合が属する候補因子間隔をマッチするステップであって、前記
インセンティブ因子は、ブロックチェーンノードが前記トランザクション要求集合内のトランザクション要求を実行することによって得られる奨励を特徴付けるために使用されるステップと、
マッチしない場合、トランザクション要求集合が属する候補因子間隔を再構築するステップとを含む、ことを特徴とする請求項1に記載の方法。
【請求項3】
前記候補因子間隔から現在の目標因子間隔を選択し、前記現在の目標因子間隔に対応する前記候補トランザクション要求集合から、ブロック生成過程に参加する現在の目標トランザクション要求集合を選択するステップは、
前記候補因子間隔の間隔値に応じて現在の因子間隔を選択するステップと、
前記現在の因子間隔に対応する候補トランザクション要求集合から、前記現在の因子間隔に対応する候補トランザクション要求集合による空間占有量に応じて、現在のトランザクション要求集合を選択するステップと、
前記現在のトランザクション要求集合と、現在のブロック生成サイクルにおいて選択された目標トランザクション要求集合に基づいて、前記現在のトランザクション要求集合を検証するステップと、
前記検証結果に基づいて、前記現在の目標因子間隔および前記現在の目標トランザクション要求集合を決定するステップとを含む、ことを特徴とする請求項1に記載の方法。
【請求項4】
前記現在のトランザクション要求集合と、現在のブロック生成サイクルにおいて選択された目標トランザクション要求集合に基づいて、前記現在のトランザクション要求集合を検証するステップは、
前記現在のトランザクション要求集合と、現在のブロック生成サイクルにおいて選択された目標トランザクション要求集合との総空間占有量を計算するステップと、
前記総空間占有量と前記ブロック空間閾値との関係に基づいて、前記現在のトランザクション要求集合を検証するステップとを含む、ことを特徴とする請求項3に記載の方法。
【請求項5】
前記検証結果に基づいて、前記現在の目標因子間隔および前記現在の目標トランザクション要求集合を決定するステップは、
前記現在のトランザクション要求集合に対する検証が失敗すると、前記現在の因子間隔を前記現在の目標因子間隔とし、前記現在の因子間隔に対応する残りの候補トランザクション要求集合に基づいて、前記現在の目標トランザクション要求集合の決定操作を実行するステップを含み、
前記残りの候補トランザクション要求集合は、前記検証に失敗したトランザクション要求集合以外の、前記現在の因子間隔に対応するトランザクション要求集合を含む、ことを特徴とする請求項3又は4に記載の方法。
【請求項6】
前記検証結果に基づいて、前記現在の目標因子間隔および前記現在の目標トランザクション要求集合を決定するステップはまた、
前記現在の因子間隔に対応する残りの候補トランザクション要求集合から、前記現在の目標トランザクション要求集合を決定できないと、残りの候補因子間隔に基づいて前記現在の目標因子間隔の決定操作を実行し、新たに決定された現在の目標因子間隔に対応する候補トランザクション要求集合に基づいて前記現在の目標トランザクション要求集合の決定操作を実行するステップを含み、
前記残りの候補因子間隔が、前記現在の因子間隔以外の候補因子間隔を含む、ことを特徴とする請求項5に記載の方法。
【請求項7】
前記現在の因子間隔に対応する候補トランザクション要求集合から、前記現在の因子間隔に対応する候補トランザクション要求集合による空間占有量に応じて、現在のトランザクション要求集合を選択するステップは、
前記現在の因子間隔に対応する候補トランザクション要求集合の中から、前記候補トランザクション要求集合の空間占有量を並べ替えることにより、並べ替えの結果に基づいて 前記現在のトランザクション要求集合を決定するステップ、又は
前記現在の因子間隔に対応する候補トランザクション要求集合の中から、前記現在のトランザクション要求集合として、空間占有量が空間占有閾値よりも大きい候補トランザクション要求集合を決定するステップを含む、ことを特徴とする請求項3に記載の方法。
【請求項8】
前記トランザクション要求集合が属する候補因子間隔を決定する前に、前記方法は、さらに
前記トランザクション要求集合におけるトランザクション要求の支払証書情報および空間占有量に基づいて、前記トランザクション要求集合のインセンティブ因子を決定するステップを含む、ことを特徴とする請求項2に記載の方法。
【請求項9】
前記ブロックチェーンネットワーク内で依存関係を有する選択対象トランザクション要求を集約して少なくとも1つのトランザクション要求集合を得るステップは、
前記ブロックチェーンネットワーク内の前記選択対象トランザクション要求間の前記依存関係に基づいて、前記選択対象トランザクション要求間の有向非循環グラフを構築するステップと、
前記有向非循環グラフを使用して、依存関係を有する選択対象トランザクション要求を集約して、前記少なくとも1つのトランザクション要求集合を取得するステップとを含む、ことを特徴とする請求項1に記載の方法。
【請求項10】
前記ブロックの生成を競合させるためのコンセンサス機構を前記ブロックチェーンネットワークにデプロイしている、ことを特徴とする請求項1に記載の方法。
【請求項11】
ブロックチェーンネットワーク内で依存関係を有する選択対象トランザクション要求を集約して少なくとも1つのトランザクション要求集合を得るトランザクション要求集合決定モジュールと、
前記トランザクション要求集合の属性に基づいて、前記トランザクション要求集合が属する候補因子間隔を決定する候補因子間隔決定モジュールであって、前記因子間隔は、前記トランザクション要求集合がブロック生成過程に参加する確率を測定するために使用される候補因子間隔決定モジュールと、
前記候補因子間隔から現在の目標因子間隔を選択し、前記現在の目標因子間隔に対応する前記候補トランザクション要求集合から、ブロック生成過程に参加する現在の目標トランザクション要求集合を選択するトランザクション要求集合選択モジュールとを有する、ことを特徴とするブロックチェーン内のトランザクション要求処理装置。
【請求項12】
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに通信可能に接続されたメモリとを有し、
前記メモリは、前記少なくとも1つのプロセッサによって実行可能な命令を記憶し、前記命令は、前記少なくとも1つのプロセッサが請求項1~10のいずれか1項に記載のブロックチェーン内のトランザクション要求処理方法を実行することを可能にするように前記少なくとも1つのプロセッサによって実行される、ことを特徴とする電子デバイス。
【請求項13】
コンピュータに請求項1~10のいずれか1項に記載のブロックチェーン内のトランザクション要求処理方法を実行させるためのコンピュータ命令を格納した非瞬時コンピュータ可読記憶媒体。
【請求項14】
コンピュータにおいて、プロセッサにより実行されると、請求項1~10のいずれか1項に記載のブロックチェーン内のトランザクション要求処理方法を実現することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本願の実施形態は、コンピュータ技術、具体的にはブロックチェーン技術に関するものであり、特に、ブロックチェーン内のトランザクション要求選択方法、装置、デバイス、、媒体、及びプログラムに関する。
【背景技術】
【0002】
現在、ブロックアウト奨励機構が存在するブロックチェーンネットワークでは、ブロックアウトノードは通常、多数の取引の料金レベルに応じてトランザクションを並べ替え、待処理の取引を選択している。
【0003】
しかし、通常、ブロックアウトノードで処理される取引数は限られており、処理料金に応じて待処理を選択することで、取引間の依存関係が非常にカットされやすく、その後の取引処理でのエラーにつながりやすい。そのため、どのようにブロックアウトノードの奨励収入を保証するとともに、各取引の円滑な実行を確保することは、依然としてブロックチェーン領域の喫緊の課題として残っている。また、ブロックアウトノードについては、いかにブロックアウト効率を高めるかということも無視できない課題である。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本願の実施形態は、ブロックチェーン内のトランザクション要求処理方法、装置、デバイス、および媒体を開示しており、ブロック生成過程中にブロックチェーンノードがトランザクション要求を選択する合理性と選択効率を向上させ、且つ、ブロックアウト効率を向上させることができる。
【課題を解決するための手段】
【0005】
第1の側面では、本願の実施形態は、ブロックチェーン内のトランザクション要求処理方法を開示しており、当該方法は、
ブロックチェーンネットワーク内で依存関係を有する選択対象トランザクション要求を集約して少なくとも1つのトランザクション要求集合を得るステップと、
前記トランザクション要求集合が属する候補因子間隔を決定するステップであって、前記因子間隔は、前記トランザクション要求集合がブロック生成過程に参加する確率を測定するために使用されるステップと、
前記候補因子間隔から現在の目標因子間隔を選択し、前記現在の目標因子間隔に対応する前記候補トランザクション要求集合から、ブロック生成過程に参加する現在の目標トランザクション要求集合を選択するステップとを含む。
【0006】
第二の側面では、本願の実施形態は、ブロックチェーン内のトランザクション要求処理装置をさらに開示しており、当該装置は、
ブロックチェーンネットワーク内で依存関係を有する選択対象トランザクション要求を集約して少なくとも1つのトランザクション要求集合を得るトランザクション要求集合決定モジュールと、
前記トランザクション要求集合が属する候補因子間隔を決定する候補因子間隔決定モジュールであって、前記因子間隔は、前記トランザクション要求集合がブロック生成過程に参加する確率を測定するために使用される候補因子間隔決定モジュールと、
前記候補因子間隔から現在の目標因子間隔を選択し、前記現在の目標因子間隔に対応する前記候補トランザクション要求集合から、ブロック生成過程に参加する現在の目標トランザクション要求集合を選択するトランザクション要求集合選択モジュールとを有する。
第3の側面において、本願の実施形態は、さらに、電子デバイスを開示し、当該電子デバイスは、
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに通信可能に接続されたメモリとを有し、
前記メモリは、前記少なくとも1つのプロセッサによって実行可能な命令を記憶し、前記命令は、前記少なくとも1つのプロセッサが本願のいずれか1つの実施形態に記載のブロックチェーン内のトランザクション要求処理方法を実行することを可能にするように前記少なくとも1つのプロセッサによって実行される。
【0007】
第4の側面において、本願の実施形態は、コンピュータに本願のいずれか1つの実施形態に記載のブロックチェーン内のトランザクション要求処理方法を実行させるためのコンピュータ命令を格納した非瞬時コンピュータ可読記憶媒体を開示している。
【発明の効果】
【0008】
本願の実施形態の技術案によれば、現在の目標因子間隔を選択し、現在の目標因子間隔に対応する候補トランザクション要求集合から現在の目標トランザクション要求集合を選択するという循環論理に従って、ブロック生成過程に参加する目標トランザクション要求集合は、少なくとも1つの循環選択の後に累積的に決定され、最終的に、累積的に決定された目標トランザクション要求集合内のトランザクション要求を実行することによってブロックが生成され、ここで、目標トランザクション要求集合内のトランザクション要求間には依存関係が存在し、ブロック生成過程におけるブロックチェーンノードによってトランザクション要求を選択する合理性と選択効率を向上させ、且つ、ブロックアウト効率を向上させることができる。
発明の概要の項に記載されていることは、本願の実施形態の主要なまたは重要な特徴を限定することを意図したものではなく、本願の範囲を限定することを意図したものでもないことが理解されるべきである。本願のその他の特徴は、以下の説明を読むことで容易に理解できると思う。
【図面の簡単な説明】
【0009】
添付の図面は、本実施形態をより良く理解するために使用され、本願に対する限定を構成するものではない。
【
図1】本願の実施形態に開示されたブロックチェーン内のトランザクション要求処理方法のフローチャートである。
【
図2】本願の実施形態に開示された複数のトランザクション要求間の依存関係の模式図である。
【
図3】本願の実施形態に開示された別のブロックチェーン内でトランザクション要求処理方法のフローチャートである。
【
図4】本願の実施形態に開示された価格性能比の順序付きグラフおよび候補トランザクション要求集合の順序付きグラフの模式図である。
【
図5】本願の実施形態に開示されたブロックチェーン内のトランザクション要求処理のアーキテクチャの模式図である。
【
図6】本願の実施形態に開示された別のブロックチェーン内のトランザクション要求処理方法のフローチャートである。
【
図7】本願の実施形態に開示されたブロックチェーン内のトランザクション要求処理装置の構造の模式図である。
【
図8】本願の実施形態に開示された電子デバイスのブロック図である。
【発明を実施するための形態】
【0010】
以下、図面を参照し、本開示の例示的な実施形態を説明し、理解を容易にするために本開示の実施形態の様々な詳細を含んでいるが、これらは単に例示的なものとみなされるべきである。したがって、当業者は、本開示の範囲および要旨から逸脱することなく、本明細書に記載された実施形態に様々な変更および修正を加えることができることを認識すべきである。同様に、以下の説明では、明瞭で簡潔にするために、既知の機能と構造の説明を省略している。
【0011】
図1は、本願の実施形態に開示されたブロックチェーン内のトランザクション要求処理方法のフローチャートであり、簿記権(またはブロックアウト権と呼ばれる)を有するブロックチェーンノードが、ブロック生成過程において如何に待処理のトランザクション要求を合理的かつ効率的に選択する場合に適用可能であり、且つ、本願の実施形態に開示された方案は、好ましくは、競合するブロックアウトを有するコンセンサスメカニズムをデプロイするブロックチェーンネットワークに適用可能である。チェーンネットワークにおいて、コンソーシアムチェーンネットワーク、パブリックチェーンネットワークなどが含まれるが、これらに限定されるものではない。本願の実施形態に開示された方法は、ブロックチェーン内のトランザクション要求処理装置によって実行されてもよく、該装置は、ソフトウェアおよび/またはハードウェアで実装されてもよく、ブロックチェーンノード上に統合されてもよく、ブロックチェーンノードは、計算能力を有する任意の電子デバイス上にデプロイされてもよい。
【0012】
図1に示すように、本願の実施形態に開示されたブロックチェーン内のトランザクション要求処理方法は、以下を含んでもよい。
【0013】
S101では、ブロックチェーンネットワーク内で依存関係を有する選択対象トランザクション要求を集約して少なくとも1つのトランザクション要求集合を得る。
【0014】
ここで、トランザクション要求間の依存関係とは、ブロックチェーンノードが特定のトランザクション要求を実行する過程で他のトランザクション要求の処理結果に依存する必要がある状況、または他のトランザクション要求を実行する過程で現在のトランザクション要求の処理結果に依存する必要がある状況を指す。選択対象トランザクション要求とは、ブロックチェーンネットワーク内のブロックチェーンノードに選択されない、ブロック生成過程に参加するかどうかを決定していないトランザクション要求を指す。ブロックチェーンネットワーク内の依存関係を有する選択対象トランザクション要求を集約して、各トランザクション要求集合内の少なくとも1つのトランザクション要求が互いに依存関係を有する、少なくとも1つのトランザクション要求集合(またはトランザクション要求シーケンスと呼ぶ)を得る。各トランザクション要求集合に含まれるトランザクション要求の数は状況によって異なる。
【0015】
図2は、例として、複数のトランザクション要求の間の1つの依存関係の模式図を示しており、本願の実施形態に対する特定の制限として解釈されるべきではない。
図2に示すように、トランザクション要求Aはトランザクション要求Bに依存し、トランザクション要求Bはトランザクション要求Cに依存し、トランザクション要求A、トランザクション要求B及びトランザクション要求Cは一つのトランザクション要求集合1を形成してもよい。トランザクション要求Dは他のトランザクション要求に依存しない、独立したトランザクション要求であり、トランザクション要求Dは単独で一つのトランザクション要求集合2を形成してもよい。トランザクション要求Eはトランザクション要求Fに依存し、トランザクション要求Fはトランザクション要求Hに依存し、トランザクション要求Gも同様にトランザクション要求Hに依存し、したがって、トランザクション要求E、トランザクション要求F、トランザクション要求H及びトランザクション要求Gは、一つのトランザクション要求集合3を形成することができる。
【0016】
S102では、トランザクション要求集合が属する候補因子間隔を決定し、その中に、因子間隔は、トランザクション要求集合がブロック生成過程に参加する確率を測定するために使用される。
【0017】
本願の実施形態では、複数の候補因子間隔を予め設定でき、それらの候補因子間隔は、例えば、(0,N]、(N,2N]、...、(x・N,(x+1)・N)]のように表現されてもよく、xとNの値は、実際の状況に応じて設定されてもよい。各候補因子間隔の間には上限または下限は重複がなく、且つ、間隔の上限または下限の値が大きいほど、該間隔内のトランザクション要求集合がブロック生成過程に参加するために選択される確率が高いことを示す。そして、各トランザクション要求集合の属性に基づいて、各トランザクション要求集合が属する候補因子間隔を決定する。トランザクション要求集合の属性は、トランザクション要求集合がブロック生成過程に参加するために選択されたかどうかを測定するために使用できる任意の特性情報であってもよく、例えば、トランザクション要求集合の属性は、集合に含まれるトランザクション要求の数、トランザクション要求に対する支払証書情報、トランザクション要求の空間占有量(サイズ)、トランザクション要求の優先度などの因素の1つ以上を含んでいてもよい。例示的には、各トランザクション要求集合のためのインセンティブ因子、すなわちトランザクション要求集合に対する評価値が、トランザクション要求集合の属性に基づいて決定されてもよく、次いで、そのインセンティブ因子に基づいて、各トランザクション要求集合が属する候補因子間隔が決定されてもよい。
【0018】
一つの考察要素を例にとると、トランザクション要求集合に含まれるトランザクション要求の数が所定の閾値間隔内にある場合、トランザクション要求集合のインセンティブ因子は、より大きい、すなわち、ブロック生成過程に参加するためにブロックチェーンノードによって選択される確率がより大きいと考えることができ、ここで、該閾値間隔は、各トランザクション要求を実行するためのブロックチェーンノードの時間コストとブロックを生成するためのパッケージングの時間コストに基づき決まれることができ、これにより、ブロックチェーンノードが、ブロック生成過程において、選択された各トランザクション要求を実行するための時間コストが妥当であるかどうかの総合的な評価を達成することを可能にする。トランザクション要求集合において、バウチャー閾値を超える支払証書情報を有するトランザクション要求の数と第1の数閾値との間の差が大きい場合には、該トランザクション要求集合のインセンティブ因子が大きいと考えることができ、ここで、トランザクション要求の支払証書情報、または処理料金は、ブロックチェーンノードがそのトランザクション要求を実行した後に得ることができる奨励または収益を表すので、トランザクション要求集合に含まれる支払証書情報が高いトランザクション要求の数が多いほど、収益性の観点からブロックチェーンノードがそのトランザクション要求集合をブロック生成過程に参加するために選択する確率が高くなる。トランザクション要求集合の中で高い優先度に属するトランザクション要求の数と第2の数閾値との差が大きい場合には、該トランザクション要求集合のインセンティブ因子が大きいほど考慮されてもよく、ここで、トランザクション要求の優先度は、トランザクション要求に関与する業務タイプ、生成時間、重要性、業務価値などの要因に応じて、ブロックチェーンシステムによって決定されてもよいし、ブロックチェーンノード自身によって指定されてもよい。本願の実施形態は具体的に限定しない。前記に関与する様々なタイプの閾値は、実用的な応用において適応的に設定することができ、本願の実施形態は特に限定されるものではない。
【0019】
前記説明に基づいて、さらに、トランザクション要求集合のインセンティブ因子は、少なくとも2つの考慮事項に基づいて複合的に決定されてもよい。例示的に、トランザクション要求集合のインセンティブ因子は、トランザクション要求集合中にバウチャー閾値を超える支払証書情報を有するトランザクション要求集合のトランザクション要求の数と第1の数閾値との間の差、及び高い優先度に属するトランザクション要求の数と第2の数閾値との間の差に基づいて決定されてもよい。また、トランザクション要求集合に含まれた支払証書情報の高いトランザクション要求が多く、且つトランザクション要求集合に含まれた高い優先度に属するトランザクション要求が多いほど、該トランザクション要求集合のインセンティブ因子が大きくなる。一般的に、高い優先度に属するトランザクション要求は、より高い支払証書情報にも対応する。
【0020】
また、例示的に、トランザクション要求集合のインセンティブ因子は、トランザクション要求集合におけるトランザクション要求の支払証書情報および空間占有量に基づいて決定され、これは、例えば、トランザクション要求集合における各トランザクション要求の総支払証書情報、すなわち、各トランザクション要求の支払証書情報の合計を計算する。トランザクション要求集合における各トランザクション要求の総空間占有量、すなわち、各トランザクション要求の空間占有量の合計(sum_size)を計算する。総支払証書情報と総空間占有量の商の値が、トランザクション要求集合のインセンティブ因子として使用される。この場合、該インセンティブ因子は、トランザクション要求集合の価格性能比とも言うことができ、ブロックチェーンノードに、選択された各トランザクション要求の空間占有量と、これらのトランザクション要求を実行することによって得られる収益に基づいてトレードオフを行わせて、ブロックスペースを十分に活用し、収益を可能な限り最大化するように合理化することができ、これは、ブロックチェーンノードが積極的に簿記権を争うための効果的なインセンティブにもなり、ひいては、より効果的かつ合理的なインセンティブ計算モデルがブロックチェーンネットワーク内に存在することを可能にし、ブロックの正常かつタイムリーな生成を保証する。
【0021】
ブロックチェーンノードが純粋に処理料金のレベルに応じてブロック生成過程に参加するトランザクション要求を選択する場合に、トランザクション要求間の依存関係が保証されないだけでなく、処理料金が高いトランザクション要求の空間占有量が大きくなると、ブロックスペースの制限によりブロックチェーンノードが実行できるトランザクション要求の数が制限されるため、個々のトランザクション要求の処理料金は高くなるものの、ブロックブロックチェーンノードが実行できるトランザクション要求の数が少なく、最終的に得られる奨励や収益が最適値ではない可能性があるため、ブロックチェーンノードによるトランザクション要求の選択は依然として不合理である場合があり、すなわち、収益の観点から、ブロック生成に参加するブロックチェーンノードに対する効果的なインセンティブ効果が得られない。処理料金の量のみに基づいてトランザクション要求を選択するという不合理な問題は、トランザクション要求の支払証書情報および空間占有量を考慮に総合的に入れることによって解決される。
【0022】
さらに、上記技術案に基づいて、トランザクション要求集合が属する候補因子間隔を決定するステップは、
トランザクション要求集合のインセンティ因子に基づいて、作成された因子間隔の上限と下限をトラバースすることにより、前記トランザクション要求集合が属する候補因子間隔をマッチするステップであって、前記インセンティ因子は、ブロックチェーンノードがトランザクション要求集合内のトランザクション要求を実行することによって得られる奨励を特徴付けるために使用されるか、またはトランザクション要求集合がブロック生成過程に参加する確率を特徴付けるために使用されるステップと、
マッチしない場合、トランザクション要求集合が属する候補因子間隔を再構築するステップとを含む。すなわち、候補因子間隔は、トランザクション要求集合の生成に応じて動的に変化できる。
【0023】
S103では、候補因子間隔から現在の目標因子間隔を選択し、現在の目標因子間隔に対応する候補トランザクション要求集合から、ブロック生成過程に参加する現在の目標トランザクション要求集合を選択する。
【0024】
トランザクション要求集合が属する候補因子間隔を決定した後、予め設定された間隔選択戦略に基づいて、まず、複数の候補因子間隔から、現在の目標因子間隔を選択でき、例えば間隔の上限値または間隔の下限値が最も大きい候補因子間隔を優先的に選択できる。次に、現在の目標因子間隔に対応する複数の候補トランザクション要求集合の中から、集合選択戦略に基づいて、現在の目標トランザクション要求集合を選択し、例えば、複数の候補トランザクション要求集合の中でトランザクション要求の空間占有量が最も大きい集合を現在の目標トランザクション要求集合として優先的に選択する。ここで、集合選択戦略は、業務処理過程におけるトランザクション要求集合の属性に対する特定のニーズにより決まれてもよく、すなわち、候補トランザクション要求集合に含まれるトランザクション要求の数、トランザクション要求の支払証書情報、トランザクション要求の空間占有量、トランザクション要求の優先度などの因素のいずれかを、現在の業務ニーズに基づいて、現在の目標セットのトランザクション要求の選択因子として使用してもよい。
【0025】
さらに、ブロック生成過程に参加する現在の目標トランザクション要求集合を選択した後、本願の実施形態に開示された方法は、さらに次の内容を含んでもよい。
【0026】
現在の目標トランザクション要求集合と、現在のブロック生成サイクルにおいて選択された目標トランザクション要求集合との総空間占有量を計算する。
【0027】
得られた総空間占有量がブロック空間閾値未満である場合には、残りの選択対象トランザクション要求の間の依存関係に基づいて少なくとも1つの新しいトランザクション要求集合を決定し、且つ、新しいトランザクション要求集合に基づいて新しい現在の目標トランザクション要求集合の決定操作を実行し、すなわち、S101~S103の動作を繰り返す。
【0028】
ここで、ブロック空間閾値は、ブロックチェーンネットワーク内のブロックの空間サイズに関連しており、ブロックの空間サイズの上限を反映するために使用されてもよい。残りの選択対象トランザクション要求は、ブロックチェーンネットワーク内のトランザクション要求であって、現在の目標トランザクション要求集合、及び現在のブロック生成サイクルにおいて選択された目標トランザクション要求集合内のトランザクション要求を除く。
【0029】
目標トランザクション要求集合の少なくとも1つの循環選択を経て、最終的に累積的に決定されたトランザクション要求がブロック生成条件を満たす場合、ブロックチェーンノードは、選択された個々のトランザクション要求を実行し、現在のブロックを生成し、ブロックチェーンに追加することができる。
【0030】
本願の実施形態の技術案によれば、目標トランザクション要求集合の各循環選択過程において、まず、選択対象トランザクション要求の間の依存関係に従って複数のトランザクション要求集合が得られ、トランザクション要求集合が属する候補因子間隔に従ってトランザクション要求集合が分類され、次に、複数の候補因子間隔の中から現在の目標因子間隔が選択され、且つ、現在の目標因子間隔に対応する候補トランザクション要求集合から現在の目標トランザクション要求集合が選択され、ブロック生成過程に参加する。これは、既存の方案ではトランザクション要求間の依存関係を分割することでブロックチェーンノードがブロック生成過程に参加するトランザクション要求を不合理に選択してしまい、ブロック生成効率に影響を与えるという問題を解決し、ブロックチェーンノードがブロック生成過程においてトランザクション要求を選択する際の合理性と選択効率を向上させ、ブロックアウト効率を向上させる。
【0031】
上記の技術案に基づいて、任意に、ブロックチェーンネットワーク内で依存関係を有する選択対象トランザクション要求を集約して、少なくとも1つのトランザクション要求集合を得るステップは、
ブロックチェーンネットワーク内の選択対象トランザクション要求間の依存関係に基づいて、選択対象トランザクション要求間の有向非循環グラフを構築するステップと、
有向非循環グラフを使用して、依存関係を有する選択対象トランザクション要求を集約して、少なくとも1つのトランザクション要求集合を取得するステップとを含む。
【0032】
具体的には、各選択対象トランザクション要求は、有向非循環グラフのノードとして機能し、選択対象トランザクション要求間の依存関係は、有向非循環グラフの辺として機能してもよい。有向非循環グラフを構築することで、各選択対象トランザクション要求間の依存関係を整然と管理することができ、且つ有向非循環グラフは拡張性が高く、選択対象トランザクション要求の増減に応じてすべてが柔軟に変更することができる。さらに、トランザクション要求集合は、リーフトランザクション要求と、リーフトランザクション要求が依存する各非リーフトランザクション要求とを含み、異なるトランザクション要求集合におけるリーフトランザクション要求は異なる。
【0033】
例1においては、
図2に示す複数のトランザクション要求間の依存関係を一例として、以下のような3つのトランザクション要求集合を決定することができる。
トランザクション要求集合1:トランザクション要求A→トランザクション要求B→トランザクション要求C;
トランザクション要求集合2:トランザクション要求D;
トランザクション要求集合3:トランザクション要求E→トランザクション要求F→トランザクション要求H、及びトランザクション要求G→トランザクション要求H。
【0034】
ここで、トランザクション要求集1において、トランザクション要求Aはリーフトランザクション要求であり、トランザクション要求Bおよびトランザクション要求Cはリーフトランザクション要求が依存する非リーフトランザクション要求である。
【0035】
トランザクション要求集2では、トランザクション要求Dは独立したトランザクション要求である。
トランザクション要求集合3において、トランザクション要求Eとトランザクション要求Gはリーフトランザクション要求であり、トランザクション要求Fとトランザクション要求Hはリーフトランザクション要求Eが依存する非リーフトランザクション要求であり、トランザクション要求Hはリーフトランザクション要求Gが依存する非リーフトランザクション要求である。
【0036】
例2においては、選択対象トランザクション要求がトランザクションに対応できると仮定すると、複数の取引の間に以下の依存関係が存在するとする:取引2は取引1に依存し、取引3は取引2に依存し、取引4は取引3に依存する。そして、トランザクション要求集合または取引シーケンスは、以下のように表現することができる。
【0037】
取引シーケンス1:取引1。
取引シーケンス2:取引2→取引1。
取引シーケンス3:取引3→取引2→取引1。
取引シーケンス4:取引4→取引3→取引2→取引1。
ここで、取引シーケンス1では、取引1は独立した取引である。
【0038】
取引シーケンス2において、取引2はリーフ取引であり、取引1は非リーフ取引(または祖先取引と呼ばれる)である。
取引シーケンス3において、取引3はリーフ取引であり、取引2と取引1は非リーフ取引である。
取引シーケンス4において、取引4はリーフ取引であり、取引3、取引2、取引1は非リーフ取引である。
【0039】
そして、上記の例からも分かるように、複数の選択対象トランザクション要求の間に同一の依存関係が存在する場合には、各トランザクション要求集合には、最初期の依存トランザクション要求(または最も古い祖先トランザクション要求と呼ばれる)が含まれる。例えば、上記の例では、取引シーケンス2-取引シーケンス4の全てに、最も古い祖先取引:取引1が含まれている。
【0040】
現在の目標トランザクション要求集合の選択循環が終了した後、現在の目標トランザクション要求集合に含まれるトランザクション要求を、現在のブロックチェーンネットワーク内の選択対象トランザクション要求から削除し、残りの選択対象トランザクション要求を取得でき、その後、残りの選択対象トランザクション要求間の依存関係に基づいて、有向非循環グラフを再構築し、新たな現在の目標トランザクション要求集合を決定するために使用される。
【0041】
図3は、本願の実施形態に開示された別のブロックチェーン内のトランザクション要求処理方法のフローチャートであり、上記の技術案に基づいてさらに最適化され、拡張されており、上記の任意の実施形態の各々と組み合わせてもよい。
図3に示すように、該方法は、以下のステップを含む。
【0042】
S301では、ブロックチェーンネットワーク内で依存関係を有する選択対象トランザクション要求を集約して少なくとも1つのトランザクション要求集合を得る。
S302では、トランザクション要求集合が属する候補因子間隔を決定し、前記因子間隔は、前記トランザクション要求集合がブロック生成過程に参加する確率を測定するために使用される。
【0043】
ここで、トランザクション要求集合におけるトランザクション要求の支払証書情報および空間占有量に基づいてトランザクション要求集合のインセンティブ因子を決定してもよく、その場合、該インセンティブ因子はまた、トランザクション要求集合の価格性能比も呼ばれ、ブロックチェーンノードがトランザクション要求集合を実行することによって得られる奨励を特徴付けるために用いられる。そして、トランザクション要求集合のインセンティ因子に基づいて、作成された因子間隔の上限と下限をトラバースすることにより、トランザクション要求集合が属する候補因子間隔をマッチする。マッチしない場合、トランザクション要求集合が属する候補因子間隔を再構築する。すなわち、候補因子間隔は、トランザクション要求集の生成に応じて動的に変化できる。
【0044】
S303では、候補因子間隔の間隔値に応じて、現在の因子間隔を選択する。
例えば、現在の因子間隔として、間隔上限値または間隔下限値が最も大きい候補因子間隔を優先的に選択してもよい。
【0045】
S304では、現在の因子間隔に対応する候補トランザクション要求集合から、現在の因子間隔に対応する候補トランザクション要求集合による空間占有量に応じて、現在のトランザクション要求集合を選択する。
【0046】
具体的には、現在の因子間隔に対応する候補トランザクション要求集合において、候補トランザクション要求集合の空間占有量を並べ替えることにより、並べ替えの結果に基づいて現在のトランザクション要求集合を決定して、例えば、候補トランザクション要求集合の空間占有量に応じて、最大から最小に並べ替え、好ましくは、1位の候補トランザクション要求集合を現在のトランザクション要求集合として用いる。あるいは、現在の因子間隔に対応する候補トランザクション要求集合のうち、空間占有量が空間占有閾値よりも大きい候補トランザクション要求集合を現在のトランザクション要求集合として決定し、空間占有閾値は柔軟に設定されてもよく、例えば、空間占有閾値に基づいて、空間占有量が最も大きい候補トランザクション要求集合を現在のトランザクション要求集合として選択してもよい。
【0047】
ブロックチェーン上の各間隔の空間サイズは比較的に固定されており、候補トランザクション要求集合の空間占有量に応じて現在のトランザクション要求集合を選択することで、空間占有量が比較的に大きい候補トランザクション要求集合に対する優先的な選択を実現することができ、ブロック空間を最大限に活用することで、ブロック生成過程に参加するトランザクション要求の選択の回数をある程度減らすことができ、さらに、ブロックチェーンノードがトランザクション要求を選択するための時間コスト(計算能力)を節約することができ、これにより、ノードの収益と計算能力の消費をバランスさせることができ、競合するブロックアウトを有するコンセンサスメカニズムをデプロイするブロックチェーンネットワークに対して、ブロックチェーンノードに十分な計算能力を持たせ、簿記権を競い、このために、トランザクション要求を選択する際の計算能力の消費量が大きいので簿記の権利を競うことに失敗しないことを回避できる。さらに、トランザクション要求集合の選択数が減少し、相対的に、累積的に選択されたトランザクション要求の総数を相対的に減少させることができ、その結果、ブロックチェーンノードがブロックを生成するために消費する計算能力も減少させることができる。
【0048】
S305では、現在のトランザクション要求集合と、現在のブロック生成サイクルにおいて選択された目標トランザクション要求集合に基づいて、現在のトランザクション要求集合を検証する。
S306では、検証結果に基づいて、現在の目標因子間隔および現在の目標トランザクション要求集合を決定する。
【0049】
具体的には、これまでにブロックチェーンノードによって累積的に選択されたトランザクション要求集合の数またはブロックチェーンノードによって累積的に選択されたトランザクション要求の数が対応する数の閾値を超えるかどうか、またはブロックチェーンノードによって累積的に選択されたトランザクション要求集合の総空間占有量がブロック空間閾値を超えるかどうかなどの所定の検証戦略に基づいて、現在のトランザクション要求集合が検証されてもよい。ここで、ブロック空間閾値は、ブロックチェーンネットワーク内のブロックの空間サイズに関連しており、ブロックの空間サイズの上限を反映するために使用されてもよい。
【0050】
例示的には、現在のトランザクション要求集合と、現在のブロック生成サイクルにおいて選択された目標トランザクション要求集合に基づいて、現在のトランザクション要求集合を検証するステップは、
現在のトランザクション要求集合と、現在のブロック生成サイクルにおいて選択された目標トランザクション要求集合との総空間占有量を計算するステップと、
総空間占有量とブロック空間閾値との関係に基づいて、現在のトランザクション要求集合を検証するステップとを含む。
【0051】
これまでに、ブロックチェーンノードによって累積的に選択されたトランザクション要求集合の数またはブロックチェーンノードによって累積的に選択されたトランザクション要求の数が対応する数の閾値を超えない場合、またはブロックチェーンノードによって累積的に選択されたトランザクション要求集合の空間占有量の合計がブロック空間閾値を超えない場合などに、検証は合格とみなされ、現在の因子間隔が現在の目標因子間隔として使用され、現在のトランザクション要求集合が現在の目標トランザクション要求集合として使用される。検証に失敗した場合には、ブロック生成条件が成立するまで、現在の目標因子間隔に対応する残りの候補トランザクション要求集合または残りの候補因子間隔に基づいて、現在の目標因子間隔および現在の目標トランザクション要求集合の決定操作を再度実行する必要がある。ここで、現在の因子間隔に対応する残りの候補トランザクション要求集合は、検証に失敗したトランザクション要求集合以外の現在の因子間隔に対応するトランザクション要求集合を含み、残りの候補因子間隔は、現在の因子間隔以外の候補因子間隔を含む。
【0052】
本願の実施形態の技術案によれば、目標トランザクション要求集合の各循環選択の過程において、トランザクション要求集合が属する候補因子間隔の間隔値に従って現在の因子間隔を選択し、且つ、現在の因子間隔に対応する候補トランザクション要求集合から、現在の因子間隔に対応する候補トランザクション要求集合の空間占有量に基づいて現在のトランザクション要求集合を選択した後に、これまでに累積的に選択されたトランザクション要求集合に基づいて現在のトランザクション要求集合を検証することにより、検証結果に基づいて、現在の目標因子間隔と現在の目標トランザクション要求集合を決定する。これは、既存の方案ではトランザクション要求間の依存関係を分割することでブロックチェーンノードがブロック生成過程に参加するトランザクション要求を不合理に選択してしまい、さらにブロック生成効率に影響を与えるという問題を解決し、ブロックチェーンノードがブロック生成過程においてトランザクション要求を選択する際の選択効率を向上させ、毎回の循環選択処理において目標トランザクション要求集合を選択する合理性が確保される。特に、まず、トランザクション要求集合内のトランザクション要求の支払証書情報と空間占有量に基づいて、トランザクション要求集合が属する候補因子間隔を決定し、次に、これまでにブロックチェーンノードによって累積的に選択されているトランザクション要求集合の総空間占有量がブロック空間閾値を超えているかどうかに基づいて、現在に選択されたトランザクション要求集合を検証し、ブロックチェーンノードの収益を十分に考慮した上でブロック空間を十分に利用できる効果を実現できる。
【0053】
前記技術案に基づいて、好ましくは、検証結果に基づいて、現在の目標因子間隔および現在の目標トランザクション要求集合を決定することを含む。
【0054】
現在のトランザクション要求集合の検証が失敗した場合、現在の因子間隔を現在の目標因子間隔として使用し、現在の因子間隔に対応する残りの候補トランザクション要求集合に基づいて、現在の目標トランザクション要求集合を決定する操作を実行する。ここで、残りの候補トランザクション要求集合は、検証に失敗したトランザクション要求集合以外の現在の因子間隔に対応するトランザクション要求集合を含む。例示的に、残りの候補トランザクション要求集合は、トランザクション要求集合の空間占有量に応じて、最も大きいものから最も小さいものまで、順番に考慮されてもよい。
【0055】
さらに、検証結果に基づいて、現在の目標因子間隔および現在の目標トランザクション要求集合を決定するステップはまた、
現在の因子間隔に対応する残りの候補トランザクション要求集合から、現在の目標トランザクション要求集合を決定できないと、残りの候補因子間隔に基づいて現在の目標因子間隔の決定操作を実行し、新たに決定された現在の目標因子間隔に対応する候補トランザクション要求集合に基づいて現在の目標トランザクション要求集合の決定操作を実行するステップを含み、ここで、残りの候補因子間隔が、現在の因子間隔以外の候補因子間隔を含む。例示的に、残りの候補因子間隔は、間隔の上限値又は間隔の下限値が順に減少する順序に従い考えられてもよい。
【0056】
すなわち、目標トランザクション要求集合の循環的な決定処理において、複数回の選択と検証を経て、現在の目標因子間隔に対応する候補トランザクション要求集合の中から現在の目標トランザクション要求集合を決定することが好ましく、次に、残りの候補因子間隔に対応する候補トランザクション要求集合の中から現在の目標トランザクション要求集合を決定することが考えられ、これにより、ブロックチェーンノードが現在の目標トランザクション要求集合を決定するために複数の選択を通過する必要がある場合でも、高い選択効率を維持できる。また、トランザクション要求集合のインセンティ因子は、ブロックチェーンノードがトランザクション要求集合内のトランザクション要求を実行することによって得られる奨励を特徴付けるために使用することができる例を取ると、間隔の上限値または間隔の下限値が最大の候補因子間隔に対応する候補トランザクション要求集合は、ブロックチェーンノードに比較的大きな収益をもたらし、現在の目標因子間隔、残りの候補因子間隔のような優先順位で現在の目標トランザクション要求集合を選択することができる。これは、ブロックチェーンノードの合理的な収益の最大化を確保でき、収益の損失を最大限に減少できる。
【0057】
上記の技術案に基づいて、トランザクション要求集合のインセンティ因子が、トランザクション要求集合内のトランザクション要求の支払証書情報と空間占有量に基づいて決定される場合、該インセンティ因子は、トランザクション要求集合の価格性能比と呼ばれてもよく、したがって、
図4は例として、価格性能比の順序付きグラフ及び候補トランザクション要求集合の順序付きグラフの模式図を示しており、本願の実施形態の具体的な限定として解釈されるべきではない。ここで、価格性能比の順序付きグラフとは、トランザクション要求集合の候補因子間隔を上限値や下限値などの間隔値に従って並べ替えて、例えば候補因子間隔1、2、......Nまたは価格性能比間隔1、2、......Nを含む間隔の順序付きグラフを得ることを意味しており、Nは整数である。候補因子間隔とそれに対応する候補トランザクション要求集合は、例えば候補因子間隔をキーとして、候補因子間隔に対応する候補トランザクション要求集合をキー値として使用するなど、キー値対(key-value)の関係に従って格納されてもよい。さらに、各候補因子間隔Nまたは価格性能比間隔Nに対応する複数の候補トランザクション要求集合を、各候補トランザクション要求集合の空間占有量に応じて、大きい方から小さい方へ並べ替えて、候補トランザクション要求集合の順序付きグラフNを取得してもよい。各候補トランザクション要求集合の順序付きグラフは同様にキー値対の形で格納されてもよく、例えば、同一の候補因子間隔内において、各候補トランザクション要求集合の集合シーケンスまたは番号をキーとし、候補トランザクション要求集合の空間占有量をキー値として格納できる。新たな候補因子間隔や価格性能比間隔が作成されたり、間隔内の候補トランザクション要求集合が変更されたりするたびに、該間隔に現在に対応する候補トランザクション要求集合が集合の空間占有量に応じて並べ替えられ、候補トランザクション要求集合の順序付きグラフが得られる。
【0058】
価格性能比の順序付きグラフと候補トランザクション要求集合の順序付きグラフとを総合的に利用することで、目標トランザクション要求集合の選択処理において選択対象トランザクション要求を効率的に管理することができ、目標トランザクション要求集合を効率的に選択するための基盤を築くことができる。
【0059】
図5は、本願の実施形態に開示されたブロックチェーン内のトランザクション要求処理のアーキテクチャの模式図である。
図5に示すように、現在のブロック生成サイクルの間、ブロックチェーンネットワーク内で選択対象トランザクション要求は、選択対象トランザクション要求リストの形で格納されてもよく、選択対象トランザクション要求集合間の依存関係に基づいて有向非循環グラフが構築され、少なくとも1つのトランザクション要求集合が決定される。次いで、トランザクション要求集合が属する候補因子間隔がトランザクション要求集合のインセンティブ因子に基づいて決定される。次いで、構築された価格性能比の順序付きグラフを用いて現在の目標因子間隔を決定し、候補トランザクション要求集合の順序付きグラフを用いて現在の目標トランザクション要求集合を決定することにより、ブロックチェーンノードがブロック生成過程に参加するトランザクション要求集合を選択する際の効率を向上させることができる。さらに、現在の目標トランザクション要求集合の決定に伴い、有向非循環グラフ、価格性能比の順序付きグラフ、および候補トランザクション要求集合の順序付きグラフは、ブロックチェーンネットワーク内の残りの選択対象トランザクション要求に応じて適応的に変更することができる。
【0060】
図6は、本願の実施形態に開示された別のブロックチェーン内の
トランザクション要求処理方法のフローチャートであり、上記の技術案に基づいてさらに最適化され、拡張されており、上記の任意の実施形態の各々と組み合わせてもよい。具体的には、
図6は、有限回数の循環の実行過程を例として、本願の実施形態における現在の目標トランザクション要求集合を選択する過程を例示的に説明しており、本願の実施形態の特定の制限として解釈されるべきではない。
図6に示すように、当該方法は、以下を含んでもよい。
【0061】
S601では、現在の最高価格性能比間隔に対応する候補トランザクション要求集合の順序付きグラフを選択する。
S602では、候補トランザクション要求集合の順序付きグラフにおいて空間占有量が最も大きい候補トランザクション要求集合を選択する。
【0062】
なお、現在の最高価格性能比間隔に対応する候補トランザクション要求集合の順序付きグラフにおいて、ブロックチェーンノードがトランザクション要求を選択するための時間コストを削減し、収益と時間コスト(計算能力)のバランスを取り、自分の簿記権を確保するために、空間占有量が最も大きい候補トランザクション要求集合が、現在の目標トランザクション要求集合として第1優先的に選択される。なぜなら、同じ価格性能比間隔で毎回最大の価格性能比を持つ候補トランザクション要求集合が選択されると、最大の収益を保証できるものの、処理コストが高くなるリスクがあるため、例えば、ブロックチェーンノードが区間占有量が非常に小さいトランザクションを100件処理した場合、総収益は100であり、一方、空間占有量が最も大きいトランザクションを処理した場合、総収益は99であるが、その空間占有量が最も大きいトランザクションのコストの処理は、時間コストの点で前者の1%に過ぎない。ブロックアウトを競合させるシナリオでは、ブロックチェーンノードが最大の収益を持つ最適なトランザクションを見つけることに時間コストのすべてを費やしてしまうと、簿記権を掴めなくなる可能性があるため、収益と時間コストの両方のバランスを取る必要があり、両方を考慮した効果を達成する。
【0063】
S603では、積算空間占有量によってブロック空間閾値を超えるかどうかを判断する。
YESの場合は、ステップS604が実行され、NOの場合は、ステップS607が実行される。
【0064】
S604では、現在の候補トランザクション要求集合の順序付けグラフにおいて、選択可能な空間占有量が小さいトランザクション要求の候補集合があるか否かを判断する。
【0065】
YESの場合はステップS606を実行し、NOの場合はステップS605を実行する。
S605では、二番目に高い価格性能比間隔に対応する候補トランザクション要求集合の順序付きグラフを選択する。
【0066】
S606では、現在の候補トランザクション要求集合の順序付きグラフにおいて空間占有量が比較的に小さい候補トランザクション要求集合を選択する。
【0067】
具体的には、現在の最高価格性能比間隔に対応する候補トランザクション要求集合の順序付きグラフにおいて、空間占有量が二番目に大きい候補トランザクション要求集合を選択し、ステップS603を返し、累積空間占有量がブロック空間閾値を超えるか否かを再度判断し、ブロック生成過程に参加可能な候補トランザクション要求集合が選択されるまで循環実行を行う。これにより、累積的に選択された集合の空間占有量がブロック空間閾値を超えないようにする。
【0068】
S607では、空間占有量が最も大きい候補トランザクション要求集合をブロックに追加できると判断し、当該候補トランザクション要求集合を削除し、且つ、対応する候補トランザクション要求集合の順序付きグラフが空であれば、その対応する候補トランザクション要求集合の順序付きグラフ及び対応する価格性能比間隔を削除する。
【0069】
複数回の循環選択を経て、累積的に選択された目標トランザクション要求集合がブロック生成条件を満たす場合、例えば、これまでに、累積的に選択された目標トランザクション要求集合の総空間占有量がブロック空間閾値に達して、すなわち、ブロック空間が十分に利用されていると考えられることができ、累積的に選択されたトランザクション要求を実行してブロックを生成することができる。
【0070】
本願の実施形態の技術案によれば、目標トランザクション要求集合を選択する過程において、価格性能比の順序付きグラフと候補トランザクション要求集合の順序付きグラフを総合的に活用することで、選択対象トランザクション要求に対する効果的な管理を実現しただけではなく、ブロック生成過程におけるブロックチェーンノードによるトランザクション要求の選択の合理性を向上させるとともに、選択効率を向上させ、ブロックアウト効率を向上させることができ、同時に、収益獲得の観点から、簿記権を有するブロックチェーンノードの収益を効果的に保証することができ、簿記権を積極的に獲得しようとするブロックチェーンノードのインセンティブ戦略としても効果的である。
【0071】
図7は、本願の実施形態に開示されたブロックチェーン内のトランザクション要求処理装置の構造の模式図であり、本願の実施形態はブロックチェーンノードが如何にブロック生成過程で待処理のトランザクション要求を合理的かつ効率的に選択する場合に適用可能である。本願の実施形態に開示された装置は、ソフトウェアおよび/またはハードウェアで実装されてもよく、ブロックチェーンノード上に統合されてもよく、このブロックチェーンノードは、計算能力を有する任意の電子デバイス上にデプロイされてもよい。
【0072】
図7に示すように、本願の実施形態に開示されたブロックチェーン内のトランザクション要求処理装置700は、トランザクション要求集合決定モジュール701、候補因子間隔決定モジュール702、およびトランザクション要求集合選択モジュール703を含んでもよい。
【0073】
トランザクション要求集合決定モジュール701は、ブロックチェーンネットワーク内で依存関係を有する選択対象トランザクション要求を集約して少なくとも1つのトランザクション要求集合を得る。
【0074】
候補因子間隔決定モジュール702は、トランザクション要求集合が属する候補因子間隔を決定して、前記因子間隔は、前記トランザクション要求集合がブロック生成過程に参加する確率を測定するために使用される。
【0075】
トランザクション要求集合選択モジュール703は、候補因子間隔から現在の目標因子間隔を選択し、現在の目標因子間隔に対応する候補トランザクション要求集合から、ブロック生成過程に参加する現在の目標トランザクション要求集合を選択する。
好ましくは、候補因子間隔決定モジュール702は、
トランザクション要求集合のインセンティ因子に基づいて、作成された因子間隔の上限と下限をトラバースすることにより、トランザクション要求集合が属する候補因子間隔をマッチするマッチユニットであって、インセンティ因子は、ブロックチェーンノードがトランザクション要求集合内のトランザクション要求を実行することによって得られる奨励を特徴付けるために使用されるマッチユニットと、
マッチしない場合、トランザクション要求集合が属する候補因子間隔を再構築する再構築ユニットとを含む。
【0076】
好ましくは、トランザクション要求収集選択モジュール703は、
候補因子間隔の間隔値に応じて現在の因子間隔を選択する間隔選択ユニットと、
現在の因子間隔に対応する候補トランザクション要求集合から、現在の因子間隔に対応する候補トランザクション要求集合による空間占有量に応じて、現在のトランザクション要求集合を選択する集合選択ユニットと、
現在のトランザクション要求集合と、現在のブロック生成サイクルにおいて選択された目標トランザクション要求集合に基づいて、現在のトランザクション要求集合を検証する検証ユニットと、
検証結果に基づいて、現在の目標因子間隔および現在の目標トランザクション要求集合を決定する決定ユニットとを含む。
【0077】
好ましくは、検証ユニットは、
現在のトランザクション要求集合と、現在のブロック生成サイクルにおいて選択された目標トランザクション要求集合との総空間占有量を計算する計算サブユニットと、
総空間占有量とブロック空間閾値との関係に基づいて、現在のトランザクション要求集合を検証する検証サブユニットとを含む。
【0078】
好ましくは、決定ユニットは、
現在のトランザクション要求集合に対する検証が失敗すると、現在の因子間隔を現在の目標因子間隔とし、現在の因子間隔に対応する残りの候補トランザクション要求集合に基づいて、現在の目標トランザクション要求集合の決定操作を実行する第1の決定サブユニットを含み、
ここで、残りの候補トランザクション要求集合は、検証に失敗したトランザクション要求集合以外の、現在の因子間隔に対応するトランザクション要求集合を含み、
第1の決定サブユニットは、現在のトランザクション要求集合に対する検証に合格した場合、現在の因子間隔を現在の目標因子間隔として、現在のトランザクション要求集合を現在の目標トランザクション要求集合として使用する。
【0079】
好ましくは、決定ユニットはさらに、
現在の因子間隔に対応する残りの候補トランザクション要求集合から、現在の目標トランザクション要求集合を決定できないと、残りの候補因子間隔に基づいて現在の目標因子間隔の決定操作を実行し、新たに決定された現在の目標因子間隔に対応する候補トランザクション要求集合に基づいて現在の目標トランザクション要求集合の決定操作を実行する第2の決定サブユニットを含み、
ここで、残りの候補因子間隔が、現在の因子間隔以外の候補因子間隔を含む。
【0080】
好ましくは、セット選択ユニットは、具体的には、以下のように使用される。
現在の因子間隔に対応する候補トランザクション要求集合の中から、候補トランザクション要求集合の空間占有量を並べ替えることにより、並べ替えの結果に基づいて現在のトランザクション要求集合を決定する;又は
現在の因子間隔に対応する候補トランザクション要求集合の中から、現在のトランザクション要求集合として、空間占有量が空間占有閾値よりも大きい候補トランザクション要求集合を決定する。
【0081】
好ましくは、本願の実施形態に開示された装置はさらに、
候補因子間隔決定モジュール702が、トランザクション要求集合が属する候補因子間隔の決定操作を実行する前に、トランザクション要求集合内のトランザクション要求の支払証書情報と空間占有量に基づいて、トランザクション要求集合のインセンティブ因子を決定するためのインセンティブ因子決定モジュールを含む。
【0082】
好ましくは、トランザクション要求収集決定モジュール701は、
ブロックチェーンネットワーク内の選択対象トランザクション要求間の依存関係に基づいて、選択対象トランザクション要求間の有向非循環グラフを構築する有向非循環グラフ構築ユニットと、
有向非循環グラフを使用して、依存関係を有する選択対象トランザクション要求を集約して、少なくとも1つのトランザクション要求集合を取得するトランザクション要求集合決定ユニットと、を含む。
【0083】
好ましくは、トランザクション要求集合は、リーフトランザクション要求と、リーフトランザクション要求が依存する各非リーフトランザクション要求とを含み、且つ、異なるトランザクション要求集合内のリーフトランザクション要求は、異なる。
【0084】
好ましくは、ブロックアウトを競合させるためのコンセンサスメカニズムがブロックチェーンネットワークにデプロイされている。
【0085】
本願の実施形態に開示されたブロックチェーン内のトランザクション要求処理装置700は、本願の実施形態に開示されたブロックチェーン内のトランザクション要求処理方法のいずれかを実行でき、実行方法に対応する機能モジュールおよび有益な効果を有する。本願の装置の実施形態において詳細に記載されていないことは、本願の任意の方法の実施形態における記述を参照できる。
【0086】
本願の実施形態によれば、本願の実施形態はまた、電子デバイス及び可読記憶媒体を提供する。
図8に示すように、
図8は、本願の実施形態のブロックチェーン内のトランザクション要求処理方法を実施するための電子デバイスのブロック図である。電子デバイスは、様々な形態のデジタルコンピュータ、例えば、ラップトップコンピュータ、デスクトップコンピュータ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、メインフレームコンピュータ、及び他の好適なコンピュータを表すことが意図されている。また、電子デバイスはまた、様々な形態のモバイルデバイス、例えば、パーソナルデジタル処理、携帯電話、スマートフォン、ウェアラブルデバイス、及び他の類似のコンピューティングデバイスを表すことができる。本明細書に示されたコンポーネント、それらの接続及び関係、ならびにそれらの機能は、例としてのみ意図されており、本明細書に記載及び/又は請求された本願の実施形態の実現を限定することを意図するものではない。
【0087】
図8に示すように、電子デバイスは、1つ以上のプロセッサ801、メモリ802、及び各コンポーネントを接続するための、高速インタフェース及び低速インタフェースを含むインタフェースを有する。様々なコンポーネントは、異なるバスを用いて相互に接続されており、共通のマザーボード上に実装されてもよいし、所望のように他の形態で実装されてもよい。プロセッサは、電子デバイス内で実行するための命令を処理してもよく、当該命令はメモリに記憶された命令またはメモリで外部入出力装置(例えば、インターフェースに結合されたディスプレイ装置)にグラフィカルユーザインターフェース(Graphical User Interface、GUI)のグラフィカル情報を表示させるための命令を含む。他の実施形態では、複数のプロセッサ及び/又は複数のバス及び複数のメモリが、所望に応じて、複数のメモリと一緒に使用されてもよい。同様に、複数の電子デバイスが接続されていてもよく、個々のデバイスが必要な操作の一部を提供しており、例えば、サーバアレイ、ブレードサーバのグループ、またはマルチプロセッサシステムとする。一つのプロセッサ801を一例として
図8に示す。
【0088】
メモリ802は、本願の実施形態によって提供される非瞬時コンピュータ可読記憶媒体である。ここで、前記メモリは、本願の実施形態に提供されるブロックチェーン内のトランザクション要求処理方法を前記少なくとも1つのプロセッサに実行させるために、前記少なくとも1つのプロセッサにより実行可能な命令を記憶している。本願の非瞬時コンピュータ可読記憶媒体は、本願の実施形態によって提供されるブロックチェーン内のトランザクション要求処理方法をコンピュータに実行させるために使用されるコンピュータ命令を記憶している。
【0089】
メモリ802は、非瞬時コンピュータ可読記憶媒体として、非瞬間的なソフトウェアプログラム、非瞬間的なコンピュータ実行可能プログラム、及びモジュール、例えば、本願の実施形態におけるブロックチェーン内のトランザクション要求処理方法に対応するプログラム命令/モジュール、例えば、添付の
図7に示すトランザクション要求集合決定モジュール701、候補因子間隔決定モジュール702、およびトランザクション要求集合選択モジュール703を格納するために使用することができる。プロセッサ801は、メモリ802に記憶された非瞬間的なソフトウェアプログラム、命令、及びモジュールを実行することにより、電子デバイスの各種機能アプリケーション及びデータ処理を実行して、上述した方法の実施形態におけるブロックチェーン内のトランザクション要求処理方法を実施する。
【0090】
メモリ802は、プログラム記憶領域とデータ記憶領域とを含んでもよく、プログラム記憶領域は、オペレーティングシステム、少なくとも1つの機能に必要なアプリケーションプログラムを格納してもよく、データ記憶領域は、電子デバイスの使用により作成されたデータなどを格納してもよい。さらに、メモリ802は、高速ランダムアクセスメモリを含んでもよく、また、少なくとも1つのディスクメモリ装置、フラッシュメモリ装置、または他の非瞬間的な固体状態のメモリ装置などの非瞬間的なメモリを含んでもよい。いくつかの実施形態では、メモリ802は、好ましくは、プロセッサ801に対して相対的に遠隔に配置されたメモリを含み、これらの遠隔メモリは、ネットワークを介して、本願の実施形態のブロックチェーン内のトランザクション要求処理方法を実装するための電子デバイスに接続されてもよい。前記ネットワークの例としては、インターネット、企業のイントラネット、ローカルエリアネットワーク、移動体通信ネットワーク、及びそれらの組合せが挙げられるが、これらに限定されるものではない。
【0091】
本願の実施形態中のブロックチェーン内のトランザクション要求処理方法を実装するための電子デバイスはまた、入力装置803と出力装置804を含んでもよい。プロセッサ801、メモリ802、入力装置803および出力装置804は、バスを介して接続されていてもよく、他の形態で接続されていてもよく、
図8ではバスを介した接続を例に挙げている。
【0092】
入力装置803は、入力された数値情報または文字情報を受信するとともに、本願の実施形態中のブロックチェーン内のトランザクション要求処理方法を実現するための電子デバイスのユーザ設定及び機能制御に関連するキー信号入力を生成してもよく、例えば、タッチスクリーン、キーパッド、マウス、トラックパッド、タッチパッド、インジケータスティック、1つ以上のマウスボタン、トラックボール、ジョイスティックなどの入力装置などが挙げられる。出力装置804は、表示装置、補助照明装置、ハプティックフィードバック装置などを含んでもよく、ここで、補助照明装置は、例えば、発光ダイオード(Light Emitting Diode,LED)であり、ハプティックフィードバック装置は、例えば、振動モータなどである。当該表示装置としては、液晶ディスプレイ(Liquid Crystal Display,LCD)、LEDディスプレイ、プラズマディスプレイなどが挙げられるが、これらに限定されるものではない。いくつかの実施形態では、表示装置はタッチスクリーンであってもよい。
【0093】
本明細書に記載されたシステム及び技術の様々な実施形態は、デジタル電子回路システム、集積回路システム、専用集積回路(Application Specific Integrated Circuit,ASIC)、コンピュータハードウェア、ファームウェア、ソフトウェア、及び/又はそれらの組合せで実施することができる。これらの様々な実施形態は、以下を含み得る:1つ以上のコンピュータプログラムで実施し、当該1つ以上のコンピュータプログラムは、少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステム上で実行および/又は解釈され、当該プログラマブルプロセッサは、記憶システム、少なくとも1つの入力装置、および少なくとも1つの出力装置からデータおよび指示を受信し、且つデータ及び指示を当該記憶システム、当該少なくとも1つの入力装置、及び当該少なくとも1つの出力装置へ転送することができる専用または汎用のプログラマブルプロセッサであってもよい。
【0094】
これらのコンピュータプログラムはプログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとも呼ばれ、プログラマブルプロセッサのための機械命令を含み、高レベル手順及び/又はオブジェクト指向のプログラミング言語、及び/又はアセンブリ/機械語を使用してこれらのコンピュータプログラムを実装することができる。本明細書で使用されるように、「機械可読媒体」及び「コンピュータ可読媒体」という用語は、機械命令及び/又はデータをプログラマブルプロセッサに提供するために使用される任意のコンピュータプログラム製品、デバイス、及び/又は装置、例えば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(Programmable Logic Device,PLD)を指し、機械読取信号である機械命令を受け取る機械読取媒体を含む。「機械可読信号」という用語は、機械命令及び/又はデータをプログラマブルプロセッサに提供するために使用される任意の信号を指す。
【0095】
ユーザとの相互作用を提供するために、本明細書に記載されているシステム及び技術は、ユーザに情報を表示するための表示装置(例えば、陰極線管(Cathode Ray Tube,CRT)またはLCDモニタ)と、ユーザがコンピュータに入力を提供するためのキーボード及びポインティング装置(例えば、マウスまたはトラックボール)とを有するコンピュータ上に実装されてもよい。他の種類の装置もまた、ユーザとの相互作用を提供するために使用されてもよく、例えば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、例えば、視覚フィードバック、聴覚フィードバック、またはハプティックフィードバックであってもよく、ユーザからの入力は、任意の形態、例えば、音響入力、音声入力、またはハプティック入力などで受信されてもよい。
【0096】
本明細書に記載されているシステム及び技術は、バックエンドコンポーネントを含むコンピューティングシステム(例えば、データサーバー)、ミドルウェアコンポーネントを含むコンピューティングシステム(例えば、アプリケーションサーバー)、またはフロントエンドコンポーネントを含むコンピューティングシステム(例えば、グラフィカルユーザーインターフェイスまたはWebブラウザーを備えたユーザーコンピューターである。ユーザーは当該グラフィカルユーザーインターフェイスまたは当該Webブラウザーを介して、ここで説明するシステムおよび技術の実施形態と対話できる)、又はそのようなバックエンドコンポーネント、ミドルウェアコンポーネント、またはフロントエンドコンポーネントの任意の組合せを含むコンピューティングシステムで実装されてもよい。システムのコンポーネントは、任意の形態または媒体のデジタルデータ通信、例えば、通信ネットワークを介して相互に接続されていてもよい。通信ネットワークの例としては、ローカルエリアネットワーク(Local Area Network,LAN)、ワイドエリアネットワーク(Wide Area Network,WAN)、インターネット、ブロックチェーンネットワークなどがある。
【0097】
コンピュータシステムは、クライアントとサーバを含むことができる。クライアントとサーバは一般的に互いに遠隔地にあり、通常は通信ネットワークを介して相互に作用する。クライアント-サーバ関係は、対応するコンピュータ上で実行され、互いにクライアント-サーバ関係を有するコンピュータプログラムによって生成される。
【0098】
本願の実施形態の技術案によれば、現在の目標因子間隔を選択し、現在の目標因子間隔に対応する候補トランザクション要求集合から現在の目標トランザクション要求集合を選択するという循環論理に従って、ブロック生成過程に参加する目標トランザクション要求集合は、少なくとも1つの循環選択の後に累積的に決定され、最終的に、累積的に決定された目標トランザクション要求集合内のトランザクション要求を実行することによってブロックが生成され、ここで、目標トランザクション要求集合内のトランザクション要求間には依存関係が存在し、ブロック生成過程におけるブロックチェーンノードによってトランザクション要求を選択する合理性と選択効率を向上させ、且つ、ブロックアウト効率を向上させることができる。
【0099】
上述した処理の様々な実施形態を用いて、順序を変えたり、ステップを追加/削除したりすることができることが理解されるべきである。例えば、本願に開示された技術案の所望の結果が達成される限り、本願に記載された各ステップは、本明細書に限定されるものではなく、並行して実行されてもよいし、順次実行されてもよいし、異なる順序で実行されてもよい。
【0100】
上記の具体的な実施形態は、本開示の保護範囲の制限を構成するものではない。設計要件および他の要因に応じて、様々な変更、組み合わせ、サブ組み合わせおよび置換が行われ得ることは、当業者によって理解されるべきである。本開示の要旨および原則の範囲内で行われた修正、同等の代替、改良等は、本開示の保護範囲に含まれるものとする。