【課題】マルチチェーンシステムにおけるコンセンサスポリシーを最適化し、マルチチェーンシステムノードの計算圧力とブロックチェーンの信頼性が両立するマルチチェーンシステムのトランザクション処理方法、装置、機器、システム及び媒体を提供する。
【解決手段】マルチチェーンシステムのトランザクション処理方法において、スレーブチェーンコンセンサスメカニズムに基づいてスレーブチェーンブロックを生成し、スレーブチェーンに書き込んで記憶するS201。次に、メインチェーン確認条件を満たすと決定した場合、スレーブチェーンにおける確認対象のスレーブチェーンブロックをメインチェーンのノードに伝送して、確認対象のスレーブチェーンブロックを確認するようにメインチェーンのコンセンサスノードに要求し、確認対象のスレーブチェーンブロックの確認情報をメインチェーンに書き込んで記憶するS202。
前記メインチェーンに確認情報が記憶される隣接するメインチェーンブロックの間隔に基づいて、前記設定された間隔閾値を更新するステップをさらに含み、各メインチェーンブロックには前記スレーブチェーンの1つのスレーブチェーンブロックの確認情報が記憶される、
ことを特徴とする請求項4に記載の方法。
前記スレーブチェーンにおけるスレーブチェーンブロックにロールバック要件の発生を決定した場合、ロールバック対象のスレーブチェーンブロックが最後のメインチェーンで確認されたスレーブチェーンブロックの前に位置すると、前記ロールバック対象のスレーブチェーンブロックのロールバック操作を禁止するステップをさらに含む、
ことを特徴とする請求項1に記載の方法。
スレーブチェーンノードで伝送された確認対象のスレーブチェーンブロックを取得した場合、前記確認対象のスレーブチェーンブロックに対して確認操作を行うステップは、
スレーブチェーンノードで伝送された確認対象のスレーブチェーンブロックを取得した場合、現在のメインチェーンブロックの生成サイクル内に、1つのスレーブチェーンのノードで伝送された複数の確認対象のスレーブチェーンブロックにおいて、最も早い確認対象のスレーブチェーンブロックを選択して、確認操作を行うステップを含む、
ことを特徴とする請求項12に記載の方法。
前記メインチェーンに確認情報が記憶される隣接するメインチェーンブロックの間隔に基づいて、前記設定された間隔閾値を更新するための閾値更新モジュールをさらに含み、各メインチェーンブロックには前記スレーブチェーンの1つのスレーブチェーンブロックの確認情報が記憶される、
ことを特徴とする請求項19に記載の装置。
前記スレーブチェーンにおけるスレーブチェーンブロックにロールバック要件の発生を決定した場合、ロールバック対象のスレーブチェーンブロックが最後のメインチェーンで確認されたスレーブチェーンブロックの前に位置すると、前記ロールバック対象のスレーブチェーンブロックのロールバック操作を禁止するためのロールバック制御モジュールをさらに含む、
ことを特徴とする請求項16に記載の装置。
【発明を実施するための形態】
【0016】
以下、図面を組み合わせて本出願の例示的な実施例を説明し、理解を容易にするためにその中には本出願の実施例の様々な詳細事項を含んでおり、それらは単なる例示的なものと見なされるべきである。したがって、当業者は、本出願の範囲及び精神から逸脱することなく、ここで説明される実施例に対して様々な変更と修正を行うことができることを認識されたい。同様に、明確及び簡潔にするために、以下の説明では、周知の機能及び構造の説明を省略する。
【0017】
以下、図面を組み合わせて本出願の実施例により開示されるマルチチェーンシステムのトランザクション処理方法、装置、機器、システム及び媒体について説明する。
【0018】
本出願の実施例を明確に説明するために、まずマルチチェーンシステムについて説明する。具体的に、本実施例において、マルチチェーンシステムは、メインチェーンと少なくとも1つのスレーブチェーンとを含み、マルチチェーンシステムのマルチチェーンネットワークは複数のノードを含み、各ノードには、メインチェーンとスレーブチェーンのうちの1つまたは複数が配備される。すなわち、各ノードは、メインチェーンを配備することも、少なくとも1つのスレーブチェーンを配備することも、メインチェーンと少なくとも1つのスレーブチェーンの両方を配置することもできる。ここで、少なくとも1つのスレーブチェーンは、平行チェーンであってもよいし、サイドチェーンであってもよいし、本実施例はこれを具体的に限定しない。メインチェーンやスレーブチェーンを配備することは、ノードに当該ブロックチェーンの実行をサポートできるプログラム及びデータがインストールされていることであり、プログラム及びデータは、例えば、ネットワーク通信プロトコル、コンセンサスメカニズムプログラム、インセンティブメカニズムプログラム及びスマートコントラクトなどである。
【0019】
例えば、
図1(a)〜1(c)に示すように、マルチチェーンシステムのマルチチェーンネットワークは、ノードA、ノードB、ノードC、ノードD、ノードE、ノードF、ノードG及びノードHの8つのノードを含む。ここで、ノードA、ノードB、ノードC、ノードD、ノードE、ノードF、ノードG及びノードHの8つのノードに基づいて1つのメインチェーンを配備することができ(
図1(a)に示すように)、ノードA、ノードD、ノードE及びノードHの4つのノードに基づいて第1のスレーブチェーンを配備することができ(
図1(b)に示すように)、同時に、ノードB、ノードC、ノードF及びノードGの4つのノードに基づいて第2のスレーブチェーンを配備することができる(
図1(c)に示すように)。
【0020】
以下、マルチチェーンシステムにはスレーブチェーンのスレーブチェーンノードが配備されることを実行本体として、本出願の実施例により開示されるマルチチェーンシステムのトランザクション処理方法について説明する。
【0021】
図2は本出願の実施例1により開示されるマルチチェーンシステムのトランザクション処理方法の概略フローチャートであり、本出願の実施例により提供されるマルチチェーンシステムのトランザクション処理方法は、スレーブチェーンノードのマルチチェーンシステムのトランザクション処理装置に基づいて実行されることができ、当該装置は、ソフトウェア及び/又はハードウェアによって実現することができ、一般的に電子機器に配置される。当該方法は、以下のステップを含む。
【0022】
S201:スレーブチェーンコンセンサスメカニズムに基づいてスレーブチェーンブロックを生成し、前記スレーブチェーンに書き込んで記憶する。
【0023】
例示的に、スレーブチェーンは特定のビジネス機能を実行でき、ユーザがトランザクション要求を開始し、スレーブチェーンのコンセンサスノードがスレーブチェーンコンセンサスメカニズムに基づいて現在のブロック生成サイクルのブロック生成ノードを決定することができ、例えば、DPOS(Delegated proof of stake、委任資本証明メカニズム)に基づいて決定することができる。ブロック生成ノードがブロックを生成した後、他のコンセンサスノードに伝送し、他のコンセンサスノードが検証確認を行って、現在生成されたスレーブチェーンブロックを決定し、ブロックチェーンに書き込んで記憶する。
【0024】
S202:メインチェーン確認条件を満たすと決定した場合、前記スレーブチェーンにおける確認対象のスレーブチェーンブロックをメインチェーンのノードに伝送して、前記確認対象のスレーブチェーンブロックを確認するようにメインチェーンのコンセンサスノードに要求し、前記確認対象のスレーブチェーンブロックの確認情報を前記メインチェーンに書き込んで記憶する。
【0025】
本実施例において、スレーブチェーンブロックは、さらにメインチェーンの確認を取得する必要がある。しかしながら、スレーブチェーンブロックは無条件にメインチェーンに確認を直接要求することではなく、メインチェーン確認条件が満たされたときに、メインチェーンにスレーブチェーンブロックの確認を要求する。メインチェーン確認条件を満すと確認することは、生成されたスレーブチェーンブロック数量が予め設定された数量に達すると、メインチェーン確認条件が満たされたと確認するもの、または現在生成されたスレーブチェーンブロックと前のメインチェーンで決定されたスレーブチェーンブロックとの間のブロックが予め設定された数量に達すると、メインチェーン確認条件が満たされたと確認するものなどを指すことができ、実際のニーズに応じて決定することができ、ここでは具体的に限定しない。ここで、予め設定された数量は、5個や6個など、実際のアプリケーションニーズに応じて設定される。
【0026】
例示的に、スレーブチェーンブロックが生成され、かつメインチェーン確認条件が満たされた場合、スレーブチェーンノードは、メインチェーンのコンセンサスノードがこの確認対象のスレーブチェーンブロックを確認するように、スレーブチェーンブロックを確認対象のスレーブチェーンブロックとしてメインチェーンにブロードキャストすることによって、確認対象のスレーブチェーンブロックをメインチェーンに伝送することができる。
【0027】
ここで、メインチェーンのコンセンサスノードが確認対象のスレーブチェーンブロックの確認が成功したと決定した場合、当該確認対象のスレーブチェーンブロックの確認情報をメインチェーンに書き込んで記憶し、メインチェーンのコンセンサスノードが確認対象のスレーブチェーンブロックの確認が失敗した(不正な)と確認した場合、メインチェーンが当該確認対象のスレーブチェーンブロックを破棄し、確認対象のスレーブチェーンブロックの確認情報を記録しない。これにより、メインチェーンで確認されていないスレーブチェーンブロックを実現し、スレーブチェーンブロックで取引に関与しているユーザは、スレーブチェーンブロックがメインチェーンによって確認できないことを発見し、セキュリティを疑い、スレーブチェーンブロックでのトランザクションの進行を徐々に減少させる。
【0028】
なお、本実施例は、確認対象のスレーブチェーンブロックをメインチェーンにブロードキャストするときに、スレーブチェーンノードにメインチェーンが配備されると、確認対象のスレーブチェーンブロックをメインチェーンに直接ブロードキャストし、スレーブチェーンノード自体にメインチェーンが配備されていない場合、スレーブチェーンでメインチェーンが配備される別のスレーブチェーンノードをクエリし、別のスレーブチェーンノードによって確認対象のスレーブチェーンブロックをメインチェーンにブロードキャストする。
【0029】
本実施例において、確認情報は、確認対象のブロックを特徴付ける情報であり、例えば、確認情報は、前記確認対象のスレーブチェーンブロックのブロック識別子と、前記スレーブチェーンのチェーン識別子、とを含むことができる。
【0030】
確認情報をメインチェーンに記憶する方式はいくつかあり、選択可能に、確認対象のスレーブチェーンブロックの確認情報をメインチェーンに書き込んで記憶し、具体的にはブロック識別子とチェーン識別子を確認マークルツリーの2つのリーフノードとして、マークルツリーの他のリーフノードを他のスレーブチェーンの確認対象のスレーブチェーンブロックのブロック識別子とチェーン識別子として確認し、前記確認マークルツリーをメインチェーンのブロックヘッダーに記憶する。マークルツリーをメインチェーンのブロックヘッダーに記憶することにより、後続スレーブチェーンアカウントがトランザクション処理を行う根拠を提供する。確認情報は、スレーブチェーンブロックのブロック識別子と、チェーン識別子と、を含んでおり、メインチェーンが複数のスレーブチェーンを確認できるようになり、具体的にどのスレーブチェーンブロックがメインチェーンによって確認されるかを決定し、スレーブチェーンによるドリルダウンクエリが可能である。確認マークルツリーの方式で確認情報を記憶することで、各スレーブチェーンのブロック確認情報を全面的に記録し、クエリを容易にする。確認情報をメインチェーンのブロックヘッダーに記憶することにより、スレーブチェーンノードが容易にクエリできるようになり、例えば、スレーブチェーンノードは、メインチェーンのブロックヘッダーのみを同期させて確認情報を取得し、メインチェーンのすべてのブロックを完全に同期させる必要がない。
【0031】
例えば、あるスレーブチェーンの確認対象のスレーブチェーンブロックMのブロック識別子がID1であり、及びその所属するスレーブチェーンのチェーン識別子がID2であり、別のスレーブチェーンの確認対象のスレーブチェーンブロックNのブロック識別子がID3であり、及びその所属するスレーブチェーンのチェーン識別子がID4であり、且つメインチェーンがXであると仮定すると、ブロックMのブロック識別子ID1及びその所属するスレーブチェーンのチェーン識別子ID2に基づいて第1のハッシュ値HASH1を計算し、ブロックNのブロック識別子ID3及びその所属するスレーブチェーンのチェーン識別子ID4に基づいて第2のハッシュ値HASH2を計算し、そしてHASH1とHASH2に基づいて第3のハッシュ値HASH3を計算し、最後にHASH3を確認マークルツリーのルートノーとし、HASH1とHASH2を確認マークルツリーのリーフノードとし、確認マークルツリーを取得して、この確認マークルツリーをメインチェーンXのブロックヘッダーに記憶し、具体的に
図3に示すとおりである。
【0032】
本出願の実施例により開示されるマルチチェーンシステムのトランザクション処理方法は、スレーブチェーンコンセンサスメカニズムに基づいてスレーブチェーンブロックを生成し、スレーブチェーンに書き込んで記憶し、メインチェーン確認条件を満たすと決定した場合、スレーブチェーンにおける確認対象のスレーブチェーンブロックをメインチェーンのノードに伝送して、確認対象のスレーブチェーンブロックを確認するようにメインチェーンのコンセンサスノードに要求し、確認対象のスレーブチェーンブロックの確認情報をメインチェーンに書き込んで記憶する。これにより、メインチェーンのコンセンサスノードに基づいてスレーブチェーンで生成されたスレーブチェーンブロックを確認することを実現し、マルチチェーンシステムにおけるコンセンサスポリシーを最適化する。スレーブチェーンノードは、メインチェーン確認条件が満たされたときにスレーブチェーンブロックがメインチェーンの確認を要求させるため、メインチェーンの計算圧力が軽減される。スレーブチェーンとメインチェーンは、同じコンセンサスノードを採用して確認する必要がないので、コンセンサスノードの計算圧力も軽減される。スレーブチェーンノードは依然としてメインチェーンによって確認する必要があるため、メインチェーンによってスレーブチェーンの実行の信頼性を保証することができる。本技術案は、マルチチェーンシステムノードの計算圧力とブロックチェーンの信頼性の両方に気を配る。
【0033】
上記実施例に基づいて、前記スレーブチェーンにおける確認対象のスレーブチェーンブロックをメインチェーンのノードに伝送して、メインチェーンのコンセンサスノードが前記確認対象のスレーブチェーンブロックを確認することを要求した後、選択可能に、前記スレーブチェーンにおけるスレーブチェーンブロックにロールバック要件の発生を決定した場合、ロールバック対象のスレーブチェーンブロックが最後のメインチェーンで確認されたスレーブチェーンブロックの前に位置すると、前記ロールバック対象のスレーブチェーンブロックのロールバック操作を禁止する。
【0034】
選択可能に、悪意のある攻撃によりスレーブチェーンが分岐された場合、スレーブチェーンにおけるスレーブチェーンブロックをロールバックする必要があると決定し、もちろん、特定または一部のスレーブチェーンブロックをロールバックする必要がある理由は他にもある。例えば、i番目のスレーブチェーンブロックから2つの分岐が現れ、一方の分岐のスレーブチェーンブロックはメインチェーンによって確認され、他方の分岐のスレーブチェーンブロックはメインチェーンによって確認されず、攻撃によって生成されたものである。他方の分岐はロングチェーンを形成する可能性があることで、確認された分岐をロールバックする必要があるが、ロールバック時に、ロールバック対象のスレーブチェーンブロックがメインチェーンによって確認されたとクエリされた場合、ロールバック対象のスレーブチェーンブロックのロールバック操作を禁止し、スレーブチェーンブロックのセキュリティを向上させる。これにより、メインチェーンの確認の手段により、スレーブチェーンのトランザクション処理の信頼性を保障する。特に、スレーブチェーンは、新規ブロックチェーンまたは機能ビジネスの少ないブロックチェーンである可能性があり、参加ノードが少なく、ユーザも少ない。このようなスレーブチェーンに対しては、そのコンセンサスノードの数が少なく、ロングチェーン攻撃を行うように悪意に支配されやすい。正常に処理されたトランザクション要求がロールバックされ、ユーザのビジネス処理が保証されなくなる。メインチェーンによりスレーブチェーンのブロックを確認し、メインチェーンの大量のコンセンサスノードの計算力を使用して確認されたスレーブチェーンブロックがロールバックできないことを保証し、スレーブチェーンがロングチェーン攻撃を開始する場合、対抗する必要があるのはメインチェーンの大量のコンセンサスノードの計算力であり、攻撃コストは莫大であるため、ロングチェーン攻撃を効果的に減少させることができる。
【0035】
なお、本実施例において、スレーブチェーンブロックがメインチェーン上の別のコンセンサスノードによってロールバックされない限り、スレーブチェーンは、メインチェーン上のコンセンサスノードによって確認されたスレーブチェーンブロックを一方的にロールバックすることはできない。
[実施例2]
【0036】
図4(a)は本出願の実施例2により開示されるマルチチェーンシステムのトランザクション処理方法の概略フローチャートであり、本実施例は上記実施例に基づいて、「前記スレーブチェーンにおける確認対象のスレーブチェーンブロックをメインチェーンのノードに伝送するステップ」を、さらに「前記スレーブチェーンにおける、メインチェーンのノードに伝送するステップ」に最適化し、当該方法は、具体的に、ステップS401〜ステップ402を含む。
【0037】
S401:スレーブチェーンコンセンサスメカニズムに基づいてスレーブチェーンブロックを生成し、前記スレーブチェーンに書き込んで記憶する。
【0038】
S402:メインチェーン確認条件を満たすと決定した場合、前記スレーブチェーンにおける、メインチェーン確認条件を満たす最新ブロックを確認対象のスレーブチェーンブロックとしてメインチェーンのノードに伝送して、前記確認対象のスレーブチェーンブロックを確認するようにメインチェーンのコンセンサスノードに要求し、前記確認対象のスレーブチェーンブロックの確認情報を前記メインチェーンに書き込んで記憶する。
【0039】
本実施例において、メインチェーン確認条件を満たすことを決定するステップは、前記スレーブチェーンにおける現在生成されたブロックと前のメインチェーンで確認されたスレーブチェーンブロックとの間の間隔を決定し、設定された間隔閾値を満たす場合、メインチェーン確認条件を満たすことを決定するステップを含むことができる。ここで、間隔閾値は、メインチェーンが何ブロックおきに1つのスレーブチェーンブロックを確認するかによって決定される。例えば、メインチェーンが5つのブロックごとに1つのスレーブチェーンブロックを確認する場合、間隔閾値は5に設定できる。
【0040】
言い換えれば、スレーブチェーンにおける現在生成されたブロックとメインチェーンで確認された当該スレーブチェーンの前のスレーブチェーンブロックとの間のブロック間隔が設定された間隔閾値に達する場合、メインチェーン確認条件を満たすことを決定する。
【0041】
メインチェーン確認条件を満たすと決定した場合、前記スレーブチェーンにおける、メインチェーン確認条件を満たす最新ブロックを確認対象のスレーブチェーンブロックとしてメインチェーンのノードに伝送して、前記確認対象のスレーブチェーンブロックを確認するようにメインチェーンのコンセンサスノードに要求し、前記確認対象のスレーブチェーンブロックの確認情報を前記メインチェーンに書き込んで記憶する。なお、本実施例において、確認対象のスレーブチェーンブロックはスレーブチェーンにおけるブロックの一部である。これにより、メインチェーンが確認する必要があるスレーブチェーンブロックの数量が効果的に減少され、メインチェーンコンセンサスノードの計算圧力も軽減される。
【0042】
実際のアプリケーションプロセスにおいて、スレーブチェーンで生成されたスレーブチェーンブロックの速度がメインチェーンより速い可能性があり、すなわち、1つのスレーブチェーンがメインチェーンのコンセンサスノードの現在のブロック生成サイクル内に、メインチェーンに複数の確認対象のスレーブチェーンブロックを送信して、メインチェーンのコンセンサスノードの計算圧力が大きくなり、マルチチェーンシステム全体の性能に影響を与える可能性がある。したがって、本出願の実施例は、スレーブチェーンノードを制御することにより、スレーブチェーンにおけるブロックの一部をメインチェーンのノードに伝送し、スレーブチェーンが確認対象のスレーブチェーンブロックを送信する間隔サイクルをメインチェーンのブロック生成サイクル以上に制御して、メインチェーンのコンセンサスノードの計算圧力を低減する。ここで、スレーブチェーンにおける最も新しく生成されたスレーブチェーンブロック(最新ブロック)を確認対象のスレーブチェーンブロックとしてメインチェーンのノードに伝送することが好ましい。当該スレーブチェーンにおける他の確認対象のスレーブチェーンブロックは、並んでメインチェーンの確認操作を待つ。メインチェーンがスレーブチェーンブロックを段階的に確認するリズム要件を満たすために、メインチェーンは、スレーブチェーンの複数のスレーブチェーンブロックを同時に確認することではなく、各ブロック生成サイクルで1つのスレーブチェーンの1つのスレーブチェーンブロックを確認することが好ましい。確認に間に合わなかったスレーブチェーンブロックは、並んで待ち、メインチェーンの次のブロック生成サイクルまで継続して確認することができる。
【0043】
上記紹介に基づいて、本実施例において、メインチェーンは、6秒(s)などの遅いブロック生成速度を採用して、メインチェーンブロックを生成することができ、スレーブチェーンは、より高い処理速度を取得するように、1s、2sまたは3sのようなブロック生成速度を自由に選択してスレーブチェーンブロックを生成することができ、メインチェーンに過大な計算圧力を加えることを避けるだけでなく、スレーブチェーンが少ないコンセンサスノードを有する場合にも高いセキュリティを達成することができる。
【0044】
図4(b)を例として、メインチェーンはブロックX、ブロックX+1、ブロックX+2を次々と生成し、スレーブチェーンとされるのは平行チェーンKと平行チェーンJであり、平行チェーンKはブロックK、ブロックK+1、ブロックK+2、……を次々と生成し、平行チェーンJはブロックJ、ブロックJ+1、ブロックJ+2……を次々と生成する。平行チェーンKは3つのブロック間隔おきにメインチェーンを一度確認する必要があり、確認情報は、ブロックXがブロックKのブロックIDを参照すること、ブロックX+1がブロックK+3のブロックIDを参照すること、ブロックX+2がブロックK+6を参照すること……を含み、平行チェーンJは2つのブロックおきにメインチェーンを一度確認する必要があり、確認情報は、ブロックXがブロックJのブロックIDを参照すること、ブロックX+1がブロックJ+2のブロックIDを参照すること、ブロックX+2がブロックJ+4のブロックIDを参照すること……を含む。
【0045】
本出願のもう1つの実施例において、前記メインチェーンに確認情報が記憶される隣接するメインチェーンブロックの間隔に基づいて、前記設定された間隔閾値を更新することもでき、ここで、各メインチェーンブロックには前記スレーブチェーンの1つのスレーブチェーンブロックの確認情報が記憶される。
【0046】
具体的には次のような方式によって実現することができる。
[方式1]
スレーブチェーンノードにはメインチェーン及びスレーブチェーンが同時に配備される場合、スレーブチェーンノードローカルにメインチェーン配備システムが存在することを示し、スレーブチェーンノードは、メインチェーン配備システムをクエリすることにより、メインチェーンブロックヘッダーを取得して、メインチェーンブロックヘッダーに記憶された確認情報に基づいて隣接するメインチェーンブロックの間隔を決定し、設定された間隔閾値を更新する。
【0047】
[方式2]
スレーブチェーンノードにメインチェーンが配備されていない場合、スレーブチェーンローカルにメインチェーン配備システムが存在しないことを示し、スレーブチェーンノードはスレーブチェーン上の他のノードによってメインチェーンのブロックヘッダーを同期的に取得し、取得されたメインチェーンブロックヘッダーに記憶された確認情報に基づいて隣接するメインチェーンブロックの間隔を決定し、設定された間隔閾値を更新することができる。
【0048】
本実施例において、スレーブチェーンノードは他のノードによってメインチェーンのブロックヘッダーを取得した後、後で使用しやすくするように、当該メインチェーンブロックヘッダーをローカルに記憶することもでき、情報の記憶量は少なくなる。
【0049】
なお、上記2つの方式は、本出願の実施例の例示的な説明に過ぎず、本出願を具体的に限定するものではない。
【0050】
なお、本実施例は、メインチェーンに確認情報が記憶される隣接するメインチェーンブロックの間隔に基づいて、設定された間隔閾値を更新し、スレーブチェーンに生成されたスレーブチェーンブロックの確認条件の動的な調整を実現し、スレーブチェーンブロックが並んでメインチェーンの確認を待つ現象を回避する。これにより、生成されたスレーブチェーンブロックの確認リズムを効果的に制御し、メインチェーンにおけるコンセンサスノードの計算圧力を低減する。
【0051】
本出願の実施例により開示されるマルチチェーンシステムのトランザクション処理方法は、スレーブチェーンコンセンサスメカニズムに基づいてスレーブチェーンブロックを生成し、スレーブチェーンに書き込んで記憶し、メインチェーン確認条件を満たすと決定した場合、前記スレーブチェーンにおける、メインチェーン確認条件を満たす最新ブロックを確認対象のスレーブチェーンブロックとしてメインチェーンのノードに伝送して、前記確認対象のスレーブチェーンブロックを確認するようにメインチェーンのコンセンサスノードに要求し、前記確認対象のスレーブチェーンブロックの確認情報を前記メインチェーンに書き込んで記憶する。これにより、メインチェーンのコンセンサスノードに基づいてスレーブチェーンで生成されたスレーブチェーンブロックを確認することを実現し、マルチチェーンシステムにおけるコンセンサスポリシーを最適化し、スレーブチェーンノードを制御してスレーブチェーンにおけるブロックの一部をメインチェーンのノードに伝送することにより、メインチェーンのコンセンサスノードの計算圧力を低減し、マルチチェーンシステムノードの計算圧力とブロックチェーンの信頼性の両方に気を配ることを実現する。
【0052】
[実施例3]
図5は本出願の実施例3により開示されるマルチチェーンシステムのトランザクション処理方法の概略フローチャートである。本実施例は、上記実施例に基づいてさらに最適化し、「メインチェーンを取得し、前記メインチェーンからスレーブチェーンブロックの確認情報を取得するステップと、前記確認情報に基づいて前記スレーブチェーンのトランザクション要求に応答するステップと」を含み、当該方法は、具体的にステップS501〜ステップS504を含む。
【0053】
S501:スレーブチェーンコンセンサスメカニズムに基づいてスレーブチェーンブロックを生成し、前記スレーブチェーンに書き込んで記憶する。
【0054】
S502:メインチェーン確認条件を満たすと決定した場合、前記スレーブチェーンにおける確認対象のスレーブチェーンブロックをメインチェーンのノードに伝送して、前記確認対象のスレーブチェーンブロックを確認するようにメインチェーンのコンセンサスノードに要求し、前記確認対象のスレーブチェーンブロックの確認情報を前記メインチェーンに書き込んで記憶する。
【0055】
S503:メインチェーンを取得し、前記メインチェーンからスレーブチェーンブロックの確認情報を取得する。
【0056】
本実施例において、選択可能に、メインチェーンを取得することは、具体的にメインチェーンのブロックヘッダーを取得することを指し、これにより取得されたメインチェーンブロックヘッダーでスレーブチェーンブロックの確認情報を取得する。
【0057】
例示的に、本実施例でメインチェーンのブロックヘッダーを取得することは、以下のようなケースを含むことができる。
【0058】
[1番目のケース]
スレーブチェーンノードがトランザクション処理を行う必要がある場合、メインチェーンのブロックヘッダーを能動的に取得する。
【0059】
[2番目のケース]
スレーブチェーンがメインチェーンを受動的に取得する。
【0060】
具体的には、メインチェーンのコンセンサスノードが確認対象のスレーブチェーンブロックを確認した後、メインチェーンは自身のブロックヘッダーをスレーブチェーンノードに能動的に伝送する。
【0061】
[3番目のケース]
スレーブチェーンノードは予め設定された間隔ごとに、メインチェーンのブロックヘッダーを能動的に取得する。
【0062】
例えば、スレーブチェーンノードは6つのブロックごとに、メインチェーンのブロックヘッダーを能動的に取得する。
【0063】
上記いくつかのメインチェーンブロックヘッダーを取得した場合は、本出願の実施例の例示的な説明に過ぎず、本出願を具体的に限定するものではない。
【0064】
本実施例において、メインチェーンのブロックヘッダーを取得した後、メインチェーンのブロックヘッダーからスレーブチェーンブロックの確認情報を取得することができる。
【0065】
S504:前記確認情報に基づいて前記スレーブチェーンのトランザクション要求に応答する。
【0066】
確認情報に基づいてスレーブチェーンのトランザクション要求に応答し、メインチェーンの確認効力によってスレーブチェーンの実行に影響を与え、スレーブチェーンの実行の信頼性を高めることができる。
【0067】
例示的に、確認情報に基づいてスレーブチェーンのトランザクション要求に応答することは、以下のケースを含む。
【0068】
[1番目]
書き込まれたトランザクション要求に対するスレーブチェーンアカウントのクエリ要求に応答して、前記トランザクション要求が所属するスレーブチェーンブロックの確認情報を表示する。
【0069】
ここで、表示された確認情報には、確認されたスレーブチェーンブロックの確認情報と、確認されていないスレーブチェーンブロック情報と、を含むことができる。
【0070】
つまり、表示された確認情報に基づいて、このスレーブチェーンアカウントを使用するユーザは、確認対象の状態にあるスレーブチェーンブロックに基づいて後続のトランザクション処理を行うか否かを自分で判断することができる。メインチェーンで確認されたスレーブチェーンブロック及びその中のトランザクションの信頼性が高く、スレーブチェーンに対するユーザの信頼を高め、インセンティブスレーブチェーンのビジネス展開を激することができる。
【0071】
[2番目]
前記確認情報に基づいて、確認されていないスレーブチェーンブロックの書き込みデータオブジェクトを凍結状態にするように設定し、ここで、凍結状態の書き込みデータオブジェクトは、新しく開始されたトランザクション要求に応答することを禁止する。
【0072】
通常、メインチェーンで確認されたスレーブチェーンブロックの逆攻撃のコストが高いため、比較的安全であり、メインチェーンで確認されていないスレーブチェーンブロックは、スレーブチェーンの他のノードからの攻撃を受けて分岐される可能性がある。したがって、確認されていないスレーブチェーンブロックが攻撃されることを回避するために、本実施例は、確認されていないスレーブチェーンブロックの書き込みデータオブジェクトを凍結状態にするように設定することにより、他のノードが当該確認されていないスレーブチェーンブロックを攻撃するときに、当該確認されていないスレーブチェーンブロックを参照できないようにして、悪意のある攻撃を受ける確率を低減し、セキュリティを向上させることができる。
【0073】
ここで、逆攻撃は、同一ユーザまたは利益連盟がメインチェーンのコンセンサスノードを操縦することで、コンセンサスノードが少ないだけでなく、セキュリティも低いようにし、攻撃者がスレーブチェーンを攻撃することによって分岐しやすいことを指す。しかしながら、本実施例において、メインチェーンはpowコンセンサスを採用すると、攻撃者の計算力もメインチェーンの総計算力の51%を超える場合のみに、逆転または分岐する可能性があり、メインチェーンが最も多くのコンセンサスノードを有するため、このコストは非常に高い。
【0074】
例えば、10番目のスレーブチェーンブロックが確認されていない場合、10番目のスレーブチェーンブロックの書き込みデータオブジェクトを凍結状態にするように設定し、11番目のスレーブチェーンブロックが10番目のスレーブチェーンブロックを参照してトランザクション処理を行う際に、10番目のスレーブチェーンブロックを参照できず、攻撃されて分岐することが回避される。書き込みデータオブジェクトというのは、取引振替中に書き換える必要があるUTXO(未使用取引出力)など、トランザクション要求が実行プロセスで書き込む必要があるデータを指す。書き込みデータオブジェクトは、他のトランザクション要求によって参照されることを禁止し、具体的には他のトランザクション要求の読み取りデータまたは書き込みデータとすることができない。
【0075】
本出願の実施例により開示されるマルチチェーンシステムのトランザクション処理方法は、スレーブチェーンコンセンサスメカニズムに基づいてスレーブチェーンブロックを生成し、スレーブチェーンに書き込んで記憶し、メインチェーン確認条件を満たすと決定した場合、スレーブチェーンにおける確認対象のスレーブチェーンブロックをメインチェーンのノードに伝送して、確認対象のスレーブチェーンブロックを確認するようにメインチェーンのコンセンサスノードに要求し、前記確認対象のスレーブチェーンブロックの確認情報を前記メインチェーンに書き込んで記憶し、メインチェーンを取得し、メインチェーンからスレーブチェーンブロックの確認情報を取得し、確認情報に基づいてスレーブチェーンのトランザクション要求に応答する。これにより、メインチェーンのコンセンサスノードに基づいてスレーブチェーンで生成されたスレーブチェーンブロックを確認することを実現し、マルチチェーンシステムにおけるコンセンサスポリシーを最適化し、マルチチェーンシステムノードの計算圧力とブロックチェーンの信頼性及びセキュリティの両方に気を配る。
【0076】
[実施例4]
以下、マルチチェーンシステムにはメインチェーンのメインチェーンノードが配備されることを実行本体として、本出願の実施例により開示されるマルチチェーンシステムのトランザクションについて説明する。
【0077】
図6は本出願の実施例4により開示されるマルチチェーンシステムのトランザクション処理方法の概略フローチャートであり、本出願の実施例により提供されるマルチチェーンシステムのトランザクション処理方法は、メインチェーンノードのマルチチェーンシステムのトランザクション処理装置に基づいて実行されることができ、当該装置は、ソフトウェア及び/又はハードウェアによって実現することができ、電子機器に配置されることができる。当該方法は、以下のステップを含む。
【0078】
S601:メインチェーンコンセンサスメカニズムに基づいてメインチェーンブロックを生成する。
【0079】
例示的に、メインチェーンのコンセンサスメカニズムに基づいて、メインチェーンのコンセンサスノードからブロック生成ノードを決定し、当該ブロック生成ノードによってメインチェーンブロックを生成し、他のコンセンサスノードが当該メインチェーンブロックを確認することにより、確認情報をメインチェーンに書き込んで記憶する。ここで、メインチェーン内の異なるコンセンサスノードをブロック生成ノードとして交互に選択してメインチェーンブロックを生成することができる。具体的な実現過程は詳しく説明しない。
【0080】
S602:メインチェーンブロックを生成するプロセスにおいて、スレーブチェーンノードで伝送された確認対象のスレーブチェーンブロックを取得した場合、前記確認対象のスレーブチェーンブロックに対して確認操作を行う。
【0081】
メインチェーンブロックを生成するプロセスにおいて、メインチェーンのコンセンサスノードが確認対象のスレーブチェーンブロックを取得する場合、それに対して確認操作を行う。確認操作は、一般的にスレーブチェーンブロックの合法性、正確性などを確認することを指す。
【0082】
選択可能に、スレーブチェーンノードで伝送された確認対象のスレーブチェーンブロックを取得した場合、前記確認対象のスレーブチェーンブロックに対して確認操作を行うステップは、スレーブチェーンノードで伝送された確認対象のスレーブチェーンブロックを取得した場合、現在のメインチェーンブロックの生成サイクル内に、1つのスレーブチェーンのノードで伝送された複数の確認対象のスレーブチェーンブロックにおいて、最も早い確認対象のスレーブチェーンブロックを選択して、確認操作を行うステップを含む。本実施例は、最も早い確認対象のスレーブチェーンブロックを選択して確認操作を行うことにより、メインチェーンの各ブロック生成サイクルにおいて、1つのスレーブチェーンの1つの確認対象のスレーブチェーンブロックに対して確認操作を行うことを実現でき、複数の確認対象のスレーブチェーンブロックを取得した場合、後続のスレーブチェーンブロックが並んで待ち、次のブロック生成サイクルまで続いて確認され、メインチェーンのコンセンサスノードの計算圧力を低減する。
【0083】
具体的に確認対象のスレーブチェーンブロックに対して確認操作を行う場合、
対応するトランザクションデータを取得するように、前記確認対象のスレーブチェーンブロックのブロック体に記憶されたトランザクション要求に基づいて、前記スレーブチェーンの配備システムに基づいて前記トランザクション要求を実行し、前記確認対象のスレーブチェーンブロックのブロックヘッダーに記憶されたマークルツリーに基づいて、取得されたトランザクションデータに対してマッチング確認を行うステップ、
前記確認対象のスレーブチェーンブロックのブロックヘッダーに記憶されたマークルツリーに基づいて、前記確認対象のスレーブチェーンブロックのブロック体に記憶されたトランザクションデータに対してマッチング確認を行うステップ、
前記確認対象のスレーブチェーンブロックにおけるアカウント署名に基づいて署名検証を行うステップ、のうちの少なくとも1つを含むことができる。
【0084】
本実施例において、メインチェーンローカルにはスレーブチェーンの配備システムが存在する場合、スレーブチェーンの配備システムによって確認対象のスレーブチェーンブロックのブロック体におけるトランザクション要求を1つずつ実行してトランザクションデータを取得し、トランザクションデータがトランザクション識別子を計算することにより、マークルツリーを取得し、マークルツリーはスレーブチェーンブロックのすべてのトランザクション識別子で構成されることである。当該マークルツリーに基づいて確認対象のスレーブチェーンブロックのブロックヘッダーに記憶されたマークルツリーを検証して、検証結果を取得する。ここで、検証結果は検証が合法であること及び検証が違法であることを含む。すなわちメインチェーンのコンセンサスノードがスレーブチェーンのデータを配備することにより、確認対象のスレーブチェーンブロックを確認し、確認対象のスレーブチェーンブロックが合法であるか否かをより正確に確認し、確認の信頼性を向上させる。
【0085】
メインチェーンローカルにはスレーブチェーンの配備システムが存在しない場合、確認対象のスレーブチェーンブロックにおける各トランザクションデータのトランザクション識別子に基づいて、確認対象のスレーブチェーンブロックヘッダーにおけるマークルツリーを検証することができ、または、確認対象のスレーブチェーンブロックにおけるトランザクション要求のアカウント署名を検証するもでき、確認を完成する。すなわちメインチェーンのコンセンサスノードはスレーブチェーンのデータを配備する必要がなく、確認することができる。当該技術案の計算量はより小さい。
【0086】
S603:確認されたスレーブチェーンブロックに基づいて確認情報を生成する。
【0087】
S604:前記確認情報を前記メインチェーンブロックに追加し、前記メインチェーンブロックを前記メインチェーンに書き込んで記憶する。
【0088】
例示的に、各スレーブチェーンの確認対象のスレーブチェーンブロックに対して、各スレーブチェーンの確認されたスレーブチェーンブロックのブロック識別子及び前記スレーブチェーンのチェーン識別子を取得し、各スレーブチェーンのブロック識別子及びチェーン識別子を1組のリーフノードとして、確認マークルツリーを生成し、前記マークルツリーを前記確認情報とする。そして、マークルツリーをメインチェーンブロックに追加し、メインチェーンブロックをメインチェーンに書き込んで記憶する。
【0089】
本出願の実施例により開示されるマルチチェーンシステムのトランザクション処理方法は、メインチェーンコンセンサスメカニズムに基づいてメインチェーンブロックを生成し、メインチェーンブロックを生成するプロセスにおいて、スレーブチェーンノードで伝送された確認対象のスレーブチェーンブロックを取得した場合、確認対象のスレーブチェーンブロックに対して確認操作を行い、確認されたスレーブチェーンブロックに基づいて確認情報を生成し、確認情報をメインチェーンブロックに追加し、メインチェーンブロックをメインチェーンに書き込んで記憶する。これにより、メインチェーンのコンセンサスノードに基づいてスレーブチェーンで生成されたスレーブチェーンブロックを確認することを実現し、マルチチェーンシステムにおけるコンセンサスポリシーを最適化し、マルチチェーンシステムノードの計算圧力とブロックチェーンの信頼性及びセキュリティの両方に気を配る。
【0090】
[実施例5]
図7は本出願の実施例5により開示されるマルチチェーンシステムのトランザクション処理装置の概略構成図である。ここで、前記マルチチェーンシステムは、メインチェーンと少なくとも1つのスレーブチェーンとを含み、前記マルチチェーンシステムのマルチチェーンネットワークは複数のノードを含み、各ノードには、メインチェーンとスレーブチェーンのうちの1つまたは複数が配備される。当該装置は、スレーブチェーンが配備されるスレーブチェーンノードに配置され、ソフトウェア及び/又はハードウェアによって実現し、電子機器に配置されることができる。
図7に示すように、本実施例により開示されるマルチチェーンシステムのトランザクション処理装置700は、スレーブチェーンブロック記憶モジュール710と、スレーブチェーンブロック確認及び記憶モジュール720と、を含み、スレーブチェーンブロック記憶モジュール710は、スレーブチェーンコンセンサスメカニズムに基づいてスレーブチェーンブロックを生成し、前記スレーブチェーンに書き込んで記憶することに用いられ、スレーブチェーンブロック確認及び記憶モジュール720は、メインチェーン確認条件を満たすと決定した場合、前記スレーブチェーンにおける確認対象のスレーブチェーンブロックをメインチェーンのノードに伝送して、前記確認対象のスレーブチェーンブロックを確認するようにメインチェーンのコンセンサスノードに要求し、前記確認対象のスレーブチェーンブロックの確認情報を前記メインチェーンに書き込んで記憶することに用いられる。
【0091】
本出願の実施例の1つの選択可能な実現形態として、前記確認対象のスレーブチェーンブロックは前記スレーブチェーンにおけるブロックの一部である。
【0092】
本出願の実施例の1つの選択可能な実現形態として、前記スレーブチェーンブロック確認及び記憶モジュール720は、前記スレーブチェーンにおける、メインチェーン確認条件を満たす最新ブロックを確認対象のスレーブチェーンブロックとしてメインチェーンのノードに伝送するためのスレーブチェーンブロック伝送ユニットを含む。
【0093】
本出願の実施例の1つの選択可能な実現形態として、スレーブチェーンブロック確認及び記憶モジュール720は、具体的に、前記スレーブチェーンにおける現在生成されたブロックと前のメインチェーンで確認されたスレーブチェーンブロックとの間の間隔を決定し、設定された間隔閾値を満たす場合、メインチェーン確認条件を満たすことを決定することに用いられる。
【0094】
本出願の実施例の1つの選択可能な実現形態として、前記装置は、前記メインチェーンに確認情報が記憶される隣接するメインチェーンブロックの間隔に基づいて、前記設定された間隔閾値を更新するための閾値更新モジュールをさらに含み、ここで、各メインチェーンブロックには前記スレーブチェーンの1つのスレーブチェーンブロックの確認情報が記憶される。
【0095】
本出願の実施例の1つの選択可能な実現形態として、スレーブチェーンが確認対象のスレーブチェーンブロックを送信する間隔サイクルは前記メインチェーンのブロック生成サイクル以上である。
【0096】
本出願の実施例の1つの選択可能な実現形態として、前記装置は、メインチェーンを取得し、前記メインチェーンからスレーブチェーンブロックの確認情報を取得するための情報取得モジュールと、前記確認情報に基づいて前記スレーブチェーンのトランザクション要求に応答するための要求応答モジュールと、をさらに含む。
【0097】
本出願の実施例の1つの選択可能な実現形態として、前記情報取得モジュールは、具体的に、メインチェーンのブロックヘッダーを取得し、前記メインチェーンのブロックヘッダーからスレーブチェーンブロックの確認情報を取得することに用いられる。
【0098】
本出願の実施例の1つの選択可能な実現形態として、要求応答モジュールは、具体的に、書き込まれたトランザクション要求に対するスレーブチェーンアカウントのクエリ要求に応答して、前記トランザクション要求が所属するスレーブチェーンブロックの確認情報を表示する、または、前記確認情報に基づいて、確認されていないスレーブチェーンブロックの書き込みデータオブジェクトを凍結状態にするように設定することに用いられ、ここで、凍結状態の書き込みデータオブジェクトは、新しく開始されたトランザクション要求に応答することを禁止する。
【0099】
本出願の実施例の1つの選択可能な実現形態として、前記確認情報は、前記確認対象のスレーブチェーンブロックのブロック識別子と前記スレーブチェーンのチェーン識別子とを含み、前記ブロック識別子とチェーン識別子を確認マークルツリーの2つのリーフノードとして、前記確認マークルツリーの他のリーフノードは他のスレーブチェーンの確認対象のスレーブチェーンブロックのブロック識別子とチェーン識別子であり、前記確認マークルツリーはメインチェーンのブロックヘッダーに記憶される。
【0100】
本出願の実施例の1つの選択可能な実現形態として、前記装置は、前記スレーブチェーンにおけるスレーブチェーンブロックにロールバック要件の発生を決定した場合、ロールバック対象のスレーブチェーンブロックが最後のメインチェーンで確認されたスレーブチェーンブロックの前に位置すると、前記ロールバック対象のスレーブチェーンブロックのロールバック操作を禁止するためのロールバック制御モジュールをさらに含む。
【0101】
なお、上記マルチチェーンシステムのトランザクション処理方法の実施例の説明は当該実施例のマルチチェーンシステムのトランザクション処理装置にも適用され、その実現原理は類似しているので、ここでは説明を省略する。
【0102】
本出願の実施例により開示されるマルチチェーンシステムのトランザクション処理装置は、スレーブチェーンコンセンサスメカニズムに基づいてスレーブチェーンブロックを生成し、スレーブチェーンに書き込んで記憶し、メインチェーン確認条件を満たすと決定した場合、スレーブチェーンにおける確認対象のスレーブチェーンブロックをメインチェーンのノードに伝送して、確認対象のスレーブチェーンブロックを確認するようにメインチェーンのコンセンサスノードに要求し、確認対象のスレーブチェーンブロックの確認情報をメインチェーンに書き込んで記憶する。これにより、メインチェーンのコンセンサスノードに基づいてスレーブチェーンで生成されたスレーブチェーンブロックを確認することを実現し、マルチチェーンシステムにおけるコンセンサスポリシーを最適化し、マルチチェーンシステムノードの計算圧力とブロックチェーンの信頼性の両方に気を配る。
【0103】
[実施例6]
図8は本出願の実施例6により開示されるマルチチェーンシステムのトランザクション処理装置の概略構成図である。ここで、前記マルチチェーンシステムは、メインチェーンと少なくとも1つのスレーブチェーンとを含み、前記マルチチェーンシステムのマルチチェーンネットワークは複数のノードを含み、各ノードには、メインチェーンとスレーブチェーンのうちの1つまたは複数が配備される。当該装置は、メインチェーンが配備されるメインチェーンノードに配置され、ソフトウェア及び/又はハードウェアによって実現し、電子機器に配置されることができる。
図8に示すように、本実施例により開示されるマルチチェーンシステムのトランザクション処理装置800は、メインチェーンブロック生成モジュール810と、スレーブチェーンブロック確認モジュール820と、確認情報生成モジュール830と、確認情報記憶モジュール840と、を含み、メインチェーンブロック生成モジュール810は、メインチェーンコンセンサスメカニズムに基づいてメインチェーンブロックを生成することに用いられ、スレーブチェーンブロック確認モジュール820は、メインチェーンブロックを生成するプロセスにおいて、スレーブチェーンノードで伝送された確認対象のスレーブチェーンブロックを取得した場合、前記確認対象のスレーブチェーンブロックに対して確認操作を行うことに用いられ、確認情報生成モジュール830は、確認されたスレーブチェーンブロックに基づいて確認情報を生成することに用いられ、確認情報記憶モジュール840は、前記確認情報を前記メインチェーンブロックに追加し、前記メインチェーンブロックを前記メインチェーンに書き込んで記憶することに用いられる。
【0104】
本出願の実施例の1つの選択可能な実現形態として、スレーブチェーンブロック確認モジュール820は、具体的に、スレーブチェーンノードで伝送された確認対象のスレーブチェーンブロックを取得した場合、現在のメインチェーンブロックの生成サイクル内に、1つのスレーブチェーンのノードで伝送された複数の確認対象のスレーブチェーンブロックにおいて、最も早い確認対象のスレーブチェーンブロックを選択して、確認操作を行うことに用いられる。
【0105】
本出願の実施例の1つの選択可能な実現形態として、スレーブチェーンブロック確認モジュール820は、具体的に、対応するトランザクションデータを取得するように、前記確認対象のスレーブチェーンブロックのブロック体に記憶されたトランザクション要求に基づいて、前記スレーブチェーンの配備システムに基づいて前記トランザクション要求を実行し、前記確認対象のスレーブチェーンブロックのブロックヘッダーに記憶されたマークルツリーに基づいて、取得されたトランザクションデータに対してマッチング確認を行うステップ、前記確認対象のスレーブチェーンブロックのブロックヘッダーに記憶されたマークルツリーに基づいて、前記確認対象のスレーブチェーンブロックのブロック体に記憶されたトランザクションデータに対してマッチング確認を行うステップ、前記確認対象のスレーブチェーンブロックにおけるアカウント署名に基づいて署名検証を行うステップ、のうちの少なくとも1つを実行することに用いられる。
【0106】
本出願の実施例の1つの選択可能な実現形態として、確認情報生成モジュール830は、具体的に、各スレーブチェーンの確認対象のスレーブチェーンブロックに対して、各スレーブチェーンの確認されたスレーブチェーンブロックのブロック識別子及び前記スレーブチェーンのチェーン識別子を取得し、各スレーブチェーンのブロック識別子及びチェーン識別子を1組のリーフノードとして、確認マークルツリーを生成し、前記マークルツリーを前記確認情報とすることに用いられる。
【0107】
なお、上記マルチチェーンシステムのトランザクション処理方法の実施例の説明は当該実施例のマルチチェーンシステムのトランザクション処理装置にも適用され、その実現原理は類似しているので、ここでは説明を省略する。
【0108】
本出願の実施例により開示されるマルチチェーンシステムのトランザクション処理装置は、メインチェーンコンセンサスメカニズムに基づいてメインチェーンブロックを生成し、メインチェーンブロックを生成するプロセスにおいて、スレーブチェーンノードで伝送された確認対象のスレーブチェーンブロックを取得した場合、確認対象のスレーブチェーンブロックに対して確認操作を行い、確認されたスレーブチェーンブロックに基づいて確認情報を生成し、確認情報をメインチェーンブロックに追加し、メインチェーンブロックをメインチェーンに書き込んで記憶する。これにより、メインチェーンのコンセンサスノードに基づいてスレーブチェーンで生成されたスレーブチェーンブロックを確認することを実現し、マルチチェーンシステムにおけるコンセンサスポリシーを最適化し、マルチチェーンシステムノードの計算圧力とブロックチェーンの信頼性及びセキュリティの両方に気を配る。
【0109】
[実施例7]
本出願の実施例によれば、本出願は、電子機器及び読み取り可能な記憶媒体をさらに提供する。
【0110】
図9に示すように、それは本出願の実施例に係るマルチチェーンシステムのトランザクション処理方法の電子機器のブロック図である。電子機器は、ラップトップコンピュータ、デスクトップコンピュータ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、メインフレーム、及び他の適切なコンピュータなどの様々な形式のデジタルコンピュータを表すことを目的とする。電子機器は、携帯情報端末、携帯電話、スマートフォン、ウェアラブルデバイス、他の同様のコンピューティングデバイスなどの様々な形式のモバイルデバイスを表すこともできる。本明細書で示されるユニット、それらの接続と関係、及びそれらの機能は単なる例であり、本明細書の説明及び/又は要求される本出願の実現を制限することを意図したものではない。
【0111】
図9に示すように、当該電子機器は、1つ又は複数のプロセッサ910と、メモリ920と、高速インターフェース及び低速インターフェースを含む各ユニットを接続するためのインターフェースと、を含む。各ユニットは、異なるバスで相互に接続され、共通のマザーボードに取り付けられるか、又は必要に応じて他の方式で取り付けることができる。プロセッサは、外部入力/出力装置(インターフェースに結合されたディスプレイデバイスなど)にGUIの図形情報をディスプレイするためにメモリに記憶されている命令を含む、電子機器内に実行される命令を処理することができる。他の実施形態では、必要であれば、複数のプロセッサ及び/又は複数のバスを、複数のメモリとともに使用することができる。同様に、複数の電子機器を接続することができ、各電子機器は、部分的な必要な操作(例えば、サーバアレイ、ブレードサーバ、又はマルチプロセッサシステムとする)を提供することができる。
図9では、1つのプロセッサ910を例とする。
【0112】
メモリ920は、本出願により提供される非一時的なコンピュータ読み取り可能な記憶媒体である。その中、前記メモリには、少なくとも1つのプロセッサによって実行される命令を記憶して、前記少なくとも1つのプロセッサが本出願により提供されるマルチチェーンシステムのトランザクション処理方法を実行することができるようにする。本出願の非一時的なコンピュータ読み取り可能な記憶媒体は、コンピュータが本出願により提供されるマルチチェーンシステムのトランザクション処理方法を実行するためのコンピュータ命令を記憶する。
【0113】
メモリ920は、非一時的なコンピュータ読み取り可能な記憶媒体として、本出願の実施例におけるマルチチェーンシステムのトランザクション処理方法に対応するプログラム命令/モジュール(例えば、
図7に示すスレーブチェーンブロック記憶モジュール710及びスレーブチェーンブロック確認モジュール720、または
図8に示すメインチェーンブロック生成モジュール810、スレーブチェーンブロック確認モジュール820、確認情報生成モジュール830及び確認情報記憶モジュール840)ように、非一時的なソフトウェアプログラム、非一時的なコンピュータ実行可能なプログラム及びモジュールを記憶するために用いられる。プロセッサ910は、メモリ920に記憶されている非一時的なソフトウェアプログラム、命令及びモジュールを実行することによって、サーバの様々な機能アクティベーション及びデータ処理を実行し、すなわち上記方法の実施例におけるマルチチェーンシステムのトランザクション処理方法を実現する。
【0114】
メモリ920は、プログラム記憶領域とデータ記憶領域とを含むことができ、その中、プログラム記憶領域は、オペレーティングシステム、少なくとも1つの機能に必要なアクティベーションプログラムを記憶することができ、データ記憶領域は、ブロックチェーンのマルチパーティ計算方法に基づく電子機器の使用によって作成されたデータなどを記憶することができる。また、メモリ920は、高速ランダム存取メモリを含むことができ、非一時的なメモリをさらに含むことができ、例えば、少なくとも1つのディスクストレージデバイス、フラッシュメモリデバイス、又は他の非一時的なソリッドステートストレージデバイスである。いくつかの実施例では、メモリ920は、プロセッサ910に対して遠隔に設置されたメモリを選択的に含むことができ、これらの遠隔メモリは、ネットワークを介してマルチチェーンシステムのトランザクション処理方法の電子機器に接続されることができる。上記ネットワークの例は、インターネット、イントラネット、ローカルエリアネットワーク、モバイル通信ネットワーク、及びその組み合わせを含むが、これらに限定されない。
【0115】
マルチチェーンシステムのトランザクション処理方法の電子機器は、入力装置930と出力装置940とをさらに含むことができる。プロセッサ910、メモリ920、入力装置930、及び出力装置940は、バス又は他の方式を介して接続することができ、
図9では、バスを介して接続することを例とする。
【0116】
入力装置930は、入力された数字又は文字情報を受信することができ、及びマルチチェーンシステムのトランザクション処理方法の電子機器のユーザ設定及び機能制御に関するキー信号入力を生成することができ、例えば、タッチスクリーン、キーパッド、マウス、トラックパッド、タッチパッド、インジケータースティック、1つ又は複数のマウスボタン、トラックボール、ジョイスティックなどの入力装置である。出力装置940は、ディスプレイデバイス、補助照明デバイス(例えば、LED)、及び触覚フィードバックデバイス(例えば、振動モータ)などを含むことができる。当該ディスプレイデバイスは、液晶ディスプレイ(LCD)、発光ダイオード(LED)ディスプレイ、及びプラズマディスプレイを含むことができるが、これらに限定されない。いくつかの実施形態では、ディスプレイデバイスは、タッチスクリーンであってもよい。
本出願の実施例によれば、コンピュータプログラムが提供される。当該コンピュータプログラムにおける命令が実行された場合に、本出願の実施例のマルチチェーンシステムのトランザクション処理方法が実行される。
【0117】
本明細書で説明されるシステムと技術の様々な実施形態は、デジタル電子回路システム、集積回路システム、特定用途向けASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、及び/又はそれらの組み合わせで実現することができる。これらの様々な実施形態は、1つ又は複数のコンピュータプログラムで実施されることを含むことができ、当該1つ又は複数のコンピュータプログラムは、少なくとも1つのプログラマブルプロセッサを含むプログラム可能なシステムで実行及び/又は解釈することができ、当該プログラマブルプロセッサは、特定用途向け又は汎用プログラマブルプロセッサであってもよく、ストレージシステム、少なくとも1つの入力装置、及び少なくとも1つの出力装置からデータ及び命令を受信し、データ及び命令を当該ストレージシステム、当該少なくとも1つの入力装置、及び当該少なくとも1つの出力装置に伝送することができる。
【0118】
これらのコンピューティングプログラム(プログラム、ソフトウェア、ソフトウェアアクティベーション、又はコードとも呼ばれる)は、プログラマブルプロセッサの機械命令を含み、高レベルのプロセス及び/又はオブジェクト指向プログラミング言語、及び/又はアセンブリ/機械言語でこれらのコンピューティングプログラムを実施することができる。本明細書に使用されるように、「機械読み取り可能な媒体」及び「コンピュータ読み取り可能な媒体」という用語は、機械命令及び/又はデータをプログラマブルプロセッサに提供するために使用される任意のコンピュータプログラム製品、機器、及び/又は装置(例えば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(PLD))を指し、機械読み取り可能な信号である機械命令を受信する機械読み取り可能な媒体を含む。「機械読み取り可能な信号」という用語は、機械命令及び/又はデータをプログラマブルプロセッサに提供するための任意の信号を指す。
【0119】
ユーザとのインタラクションを提供するために、ここで説明されているシステム及び技術をコンピュータ上で実施することができ、当該コンピュータは、ユーザに情報を表示するためのディスプレイ装置(例えば、CRT(陰極線管)又はLCD(液晶ディスプレイ)モニタ)と、キーボード及びポインティングデバイス(例えば、マウス又はトラックボール)とを有し、ユーザは、当該キーボード及び当該ポインティングデバイスによって入力をコンピュータに提供することができる。他の種類の装置は、ユーザとのインタラクションを提供するために用いられることもでき、例えば、ユーザに提供されるフィードバックは、任意の形式のセンシングフィードバック(例えば、視覚フィードバック、聴覚フィードバック、又は触覚フィードバック)であってもよく、任意の形式(音響入力と、音声入力と、触覚入力とを含む)でユーザからの入力を受信することができる。
【0120】
ここで説明されるシステム及び技術は、バックエンドユニットを含むコンピューティングシステム(例えば、データサーバとする)、又はミドルウェアユニットを含むコンピューティングシステム(例えば、アクティベーションサーバー)、又はフロントエンドユニットを含むコンピューティングシステム(例えば、グラフィカルユーザインタフェース又はウェブブラウザを有するユーザコンピュータ、ユーザは、当該グラフィカルユーザインタフェース又は当該ウェブブラウザによってここで説明されるシステム及び技術の実施形態とインタラクションする)、又はこのようなバックエンドユニットと、ミドルウェアユニットと、フロントエンドユニットの任意の組み合わせを含むコンピューティングシステムで実施することができる。任意の形式又は媒体のデジタルデータ通信(例えば、通信ネットワーク)によってシステムのユニットを相互に接続されることができる。通信ネットワークの例は、ローカルエリアネットワーク(LAN)と、ワイドエリアネットワーク(WAN)と、インターネットとを含む。
【0121】
コンピュータシステムは、クライアントとサーバとを含むことができる。クライアントとサーバは、一般的に、互いに離れており、通常に通信ネットワークを介してインタラクションする。対応するコンピュータ上で実行され、互いにクライアント−サーバ関係を有するコンピュータプログラムによってクライアントとサーバとの関係が生成される。
【0122】
本出願の実施例は、マルチチェーンネットワークをさらに提供し、メインチェーンと少なくとも1つのスレーブチェーンとを含むマルチチェーンシステムが配備され、前記マルチチェーンネットワークは複数のノードを含み、各ノードには、メインチェーンとスレーブチェーンのうちの1つまたは複数が配備され、少なくとも一部のノードは、
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサと通信可能に接続されるメモリと、を含み、
前記メモリには、前記少なくとも1つのプロセッサによって実行可能な命令が記憶されており、前記命令は、前記少なくとも1つのプロセッサが本出願の実施例のいずれかのマルチチェーンシステムのトランザクション処理方法を実行できるように、前記少なくとも1つのプロセッサによって実行される。
【0123】
具体的には、当該マルチチェーンネットワークのハードウェア構成および機能は、実施例7の内容説明を参照することができる。
【0124】
本出願の実施例の技術案によれば、メインチェーンのコンセンサスノードに基づいてスレーブチェーンで生成されたスレーブチェーンブロックを確認することを実現し、マルチチェーンシステムにおけるコンセンサスポリシーを最適化し、マルチチェーンシステムノードの計算圧力とブロックチェーンの信頼性の両方に気を配る。
【0125】
上記に示される様々な形式のフローを使用して、ステップを並べ替え、追加、又は削除することができることを理解されたい。例えば、本出願に記載されている各ステップは、並列に実行されてもよいし、順次的に実行されてもよいし、異なる順序で実行されてもよいが、本出願で開示されている技術案が所望の結果を実現することができれば、本明細書では限定されない。
【0126】
上記具体的な実施形態は、本出願に対する保護範囲の制限するものではない。当業者は、設計要件と他の要因に応じて、様々な修正、組み合わせ、サブコンビネーション、及び代替を行うことができる。任意の本出願の精神と原則内で行われる修正、同等の置換、及び改善などは、いずれも本出願の保護範囲内に含まれなければならない。