JP2022545422A - スマートコントラクトの並行実行の方法、装置、機器、及び媒体 - Google Patents
スマートコントラクトの並行実行の方法、装置、機器、及び媒体 Download PDFInfo
- Publication number
- JP2022545422A JP2022545422A JP2022510861A JP2022510861A JP2022545422A JP 2022545422 A JP2022545422 A JP 2022545422A JP 2022510861 A JP2022510861 A JP 2022510861A JP 2022510861 A JP2022510861 A JP 2022510861A JP 2022545422 A JP2022545422 A JP 2022545422A
- Authority
- JP
- Japan
- Prior art keywords
- contract
- transaction
- call
- parallel
- smart
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 305
- 238000004458 analytical method Methods 0.000 claims description 26
- 230000008859 change Effects 0.000 claims description 9
- 230000002688 persistence Effects 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 5
- 230000001419 dependent effect Effects 0.000 claims description 5
- 238000007689 inspection Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 8
- 230000003287 optical effect Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000002085 persistent effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000007717 exclusion Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012856 packing Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 125000002015 acyclic group Chemical group 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Computer Security & Cryptography (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
本願は、2019年8月19日に出願され、出願番号が201910764308.6であり、名称が「Javaスマートコントラクトに基づく並行実行方法」である中国特許出願、及び2019年11月27日に出願され、出願番号が201911180710.6であり、名称が「Javaスマートコントラクトに基づく単一なコントラクト並行実行の方法、装置、機器、及び媒体」である中国特許出願の優先権を主張し、その全体が参照により本明細書に組み込まれる。
Javaスマートコントラクトにおけるメソッドに@Parallel註釈が付いたか否かを判断し、@Parallel註釈付きのJavaスマートコントラクトのメソッドのJavaバイトコードを分析して、登録成功の並行実行可能なコントラクトメソッドに属するか否かを判断するための登録モジュールと、
コントラクト呼び出しが開始される際に、まず呼び出されるコントラクトに登録成功の並行実行可能なコントラクトメソッドがあるか否かを取得し、現在のブロックに並行実行可能なコントラクトメソッドを呼び出す取引が複数ある場合、スマートコントラクト実行器は、取引中にコントラクトメソッドに伝達されるパラメータを分析し、呼び出されるコントラクトのパラメータが異なる場合、該コントラクトメソッドを並行に実行させ、パラメータが同じである場合、ブロックにおける取引の順序に基づいて依存関係を構築し、DAGグラフを生成し、これにより優先順位を決定する解析モジュールと、を含む。
Claims (20)
- スマートコントラクトの並行実行の方法において、前記スマートコントラクトはクロスコントラクト呼び出しの註釈を含み、該方法は具体的に、
第一の取引におけるスマートコントラクトをロードし、反射によって前記第一の取引におけるスマートコントラクトのクロスコントラクト呼び出しの註釈を取得し、前記クロスコントラクト呼び出しの註釈に対応するクロスコントラクト呼び出しアドレスを取得し、前記クロスコントラクト呼び出しアドレスに対応するスマートコントラクトをロードし、前記第一の取引により呼び出されるコントラクトアドレスを先頭アドレスとするクロスコントラクト呼び出しリンクテーブルを再帰的に取得するステップと、
前記第一の取引を含む実行対象取引における各取引のクロスコントラクト呼び出しリンクテーブル及び前記実行対象取引におけるスマートコントラクトのコントラクトタイプに応じて、前記取引の呼び出し依存関係を特定し、前記呼び出し依存関係に基づいて実行中に相互に影響しない取引呼び出しリンクを得るステップであって、前記コントラクトタイプが呼び出しコントラクトおよびデプロイコントラクトを含むステップと、
仮想マシンのインスタンスにおいて前記取引呼び出しリンクを並行に実行させ、前記仮想マシンのインスタンスごとに1つの前記取引呼び出しリンクを実行させ、実行結果を返すステップと、を含む
ことを特徴とするスマートコントラクトの並行実行の方法。 - 実行対象取引における各取引のクロスコントラクト呼び出しリンクテーブル及び前記実行対象取引におけるスマートコントラクトのコントラクトタイプに応じて、前記取引の呼び出し依存関係を特定するステップは、
前記第一の取引の前記コントラクトタイプが前記呼び出しコントラクトである場合、前記クロスコントラクト呼び出しリンクテーブルに第二の取引におけるスマートコントラクトが含まれると、前記第二の取引と第一の取引を同一の前記取引呼び出しリンクに入れるステップと、
前記第一の取引の前記コントラクトタイプが前記デプロイコントラクトである場合、前記第一の取引が単独で前記取引呼び出しリンクを構成させるステップと、を含む
ことを特徴とする請求項1に記載のスマートコントラクトの並行実行の方法。 - 反射によって前記第一の取引におけるスマートコントラクトのクロスコントラクト呼び出しの註釈を取得したステップの後に、
前記クロスコントラクト呼び出しの註釈に対応するクロスコントラクト呼び出しアドレスを取得し、前記クロスコントラクト呼び出しアドレスに対応するコントラクトソースコードを台帳データベースから取得し、前記コントラクトソースコードをロードするステップを含み、ただし、複数の前記コントラクトソースコードをロードする方法が一致である
ことを特徴とする請求項1または2に記載のスマートコントラクトの並行実行の方法。 - 実行対象取引における各取引のクロスコントラクト呼び出しリンクテーブル及び前記実行対象取引におけるスマートコントラクトのコントラクトタイプに応じて、前記取引の呼び出し依存関係を特定するステップは、
前記実行対象取引における各取引の前記クロスコントラクト呼び出しリンクテーブルをトラバーサルし、各前記クロスコントラクト呼び出しリンクテーブルに含まれるすべてのコントラクトアドレス、および前記実行対象取引におけるスマートコントラクトのコントラクトタイプに基づいて、前記取引の呼び出し依存関係を特定するステップを含む
ことを特徴とする請求項1または2に記載のスマートコントラクトの並行実行の方法。 - 前記仮想マシンのインスタンスごとに1つの前記取引呼び出しリンクを実行させたステップの後に、
すべての前記仮想マシンのインスタンスにおいて前記取引呼び出しリンクの実行が終了してから、前記実行結果を返し、仮想マシンのうちの1つにおいて所定の時間内に前記実行結果が返られない場合、前記仮想マシンで実行されるすべての取引が不正であると判定するステップを含む
ことを特徴とする請求項1または2に記載のスマートコントラクトの並行実行の方法。 - 前記呼び出し依存関係に基づいて実行中に相互に影響しない取引呼び出しリンクを得るステップの前に、
前記取引呼び出しリンクにおけるスマートコントラクトを呼び出す場合、反射によって前記スマートコントラクトにおけるメソッドのメソッド註釈を取得し、前記メソッド註釈に@Parallel註釈が付いている場合、前記スマートコントラクトのメソッドバイトコードに基づいて、前記スマートコントラクトに登録成功の並行実行可能なコントラクトメソッドがあるか否かを判断するステップと、
前記登録成功の並行実行可能なコントラクトメソッドが複数の取引により呼び出される場合、前記取引における前記コントラクトメソッドの呼び出しパラメータを分析し、前記呼び出しパラメータが異なる場合、前記コントラクトメソッドを並行に実行させ、前記呼び出しパラメータが同じ場合、前記取引の順序に応じて依存関係を構築し、有向非巡回グラフ(Directed Acyclic Graph)を生成して前記取引の優先順位を決定するステップと、を含む
ことを特徴とする請求項1に記載のスマートコントラクトの並行実行の方法。 - 前記スマートコントラクトにおけるメソッドは、コントラクトクラスのメンバメソッドに属する
ことを特徴とする請求項6に記載のスマートコントラクトの並行実行の方法。 - 反射によって前記スマートコントラクトにおけるメソッドのメソッド註釈を取得し、前記メソッド註釈に@Parallel註釈が付いている場合、前記スマートコントラクトのメソッドバイトコードに基づいて、前記スマートコントラクトに登録成功の並行実行可能なコントラクトメソッドがあるか否かを判断するステップは、
コントラクト実行エンジンは、java反射によって前記コントラクトクラスのメンバメソッドを走査し、前記コントラクトクラスのメンバメソッドが@Parallel註釈を有することを走査した場合、前記コントラクトのメンバメソッドにバイトコード検査を行い、前記コントラクトのメンバメソッドが登録成功の並行実行可能なコントラクトメソッドに属するかどうかを判定するステップ、を含む
ことを特徴とする請求項7に記載のスマートコントラクトの並行実行の方法。 - 前記スマートコントラクトのメソッドバイトコードに基づいて前記スマートコントラクトに登録成功の並行実行可能なコントラクトメソッドがあるか否かを判断するステップは、
@Parallel註釈付きのスマートコントラクトのメソッドのメソッドパラメータ数とタイプを取得するステップであって、前記スマートコントラクトのメソッドにおいて、現在のメソッドスタックフレームのローカル変数テーブルから前記パラメータが取得されるステップと、
前記メソッドパラメータを解析し、メソッドバイトコードにおいて、前記メソッドパラメータがタイプ変更の命令に操作されることがあり、又はパラメータとして他のメソッドを呼び出すことがある場合、登録失敗と判定するステップと、
前記パラメータが@StoreFieldの永続化変数のみに使用されることではない場合、登録失敗と判定するステップと、を含む
ことを特徴とする請求項6に記載のスマートコントラクトの並行実行の方法。 - 前記スマートコントラクトのメソッドバイトコードに基づいて前記スマートコントラクトに前記登録成功の並行実行可能なコントラクトメソッドがあるか否かを判断したステップの後に、
前記スマートコントラクトに登録成功の並行実行可能なコントラクトメソッドがある場合、前記コントラクトメソッドの名称、メソッドパラメータの数、およびメソッドパラメータのタイプを含むメソッド署名を、前記コントラクトメソッドの状態データに保存するステップを含む
ことを特徴とする請求項6に記載のスマートコントラクトの並行実行の方法。 - 前記呼び出しパラメータが同じである場合、前記取引の順序に基づいて依存関係を構築し、有向非巡回グラフを生成して前記取引の優先順位を決定するステップは、
有向非巡回グラフ(Directed Acyclic Graph)を構築することで前記依存関係を構築し、番号の後の取引と番号の前の取引パラメータが同じである場合、前記有向非巡回グラフ(Directed Acyclic Graph)において前記番号の後の取引に向かう依存エッジを、前記番号の前の取引によって構築するステップを含み、ただし、前記番号とは、前記取引がパッキングされる順序を示す
ことを特徴とする請求項6に記載のスマートコントラクトの並行実行の方法。 - スマートコントラクトの並行実行の方法において、前記スマートコントラクトはクロスコントラクト呼び出しの註釈を含み、該方法は具体的に、
ブロックチェーンノードは、パッケージされた取引を受信して実行すると、まず、取引で指定されるコントラクトアドレスに基づいて、対応するコントラクトソースコードを台帳データベースから取り出してロードする第一ステップと、
ロードされた全てのコントラクトについて、反射によってコントラクトにクロスコントラクト呼び出しの註釈があるか否かを取得し、註釈がある場合、クロスコントラクト呼び出しのアドレスを取り出し、対応するソースコードを台帳データベースから取り出してロードし、コントラクトにおけるクロスコントラクト呼び出しのアドレスの分析を再帰的に行い、最後に、取引ごとに現在の取引に呼び出されるコントラクトアドレスを先頭アドレスとするクロスコントラクト呼び出しリンクテーブルを取得する第二ステップと、
得られたすべての取引に対応するコントラクトの呼び出しリンクに基づいて、すべての取引に対する呼び出し依存関係分析を行い、取引のコントラクトが呼び出しコントラクトであれば、第二ステップで取得されたこのコントラクトに対応するコントラクト呼び出しリンクをトラバーサルし、コントラクト呼び出しリンクに他の取引に係るコントラクトが含まれていれば、その2つの取引を1つの取引呼び出しリンクに入れて、そうでなければ、この取引を単独で1つの取引呼び出しリンクとし、取引のコントラクトがデプロイコントラクトであれば、直接でこの取引を単独で取引呼び出しリンクとして扱い、すべての取引の依存関係分析を行った後、最終的には、実行が相互に影響しない複数の取引呼び出しリンクを得る第三ステップと、
第三ステップで得られた実行が相互に影響しない複数の取引呼び出しリンクを、予め起動された複数の仮想マシンのインスタンスに入れて並行に実行させ、仮想マシンごとに1つの取引リンクを実行させ、単一の仮想マシン内部では直列に実行させ、すべての仮想マシンでのリンク実行が終了した後、結果を収集してから上位層に返して他の操作を行う第四ステップと、を含む
を特徴をとするスマートコントラクトの並行実行の方法。 - 前記第二ステップにおいて、クロスコントラクト呼び出しリンクテーブルは、現在の取引実行に係る全てのコントラクトアドレスを含み、その長さは少なくとも1である
ことを特徴とする請求項12に記載のスマートコントラクトの並行実行の方法。 - 前記第二ステップにおいて、取得されたコントラクトソースコードをロードする方法は一致する必要がある
ことを特徴とする請求項12に記載のスマートコントラクトの並行実行の方法。 - 前記第三ステップにおいて、分析比較する時に、他のすべての取引に係るすべてのコントラクトアドレスと比較しなければならず、つまりトラバーサル中に初めて同一のアドレスが見つかった後、直接終了するのではなく、トラバーサルし続けて全てのものを見つける
ことを特徴とする請求項12に記載のスマートコントラクトの並行実行の方法。 - 前記第四ステップにおいて、結果を収集する時に、すべての仮想マシンの実行が完了すると実行結果を返し、所定の時間内に戻さない仮想マシンがある場合、この仮想マシンによって実行されるすべての取引が不正であると直接判定する
ことを特徴とする請求項12に記載のスマートコントラクトの並行実行の方法。 - スマートコントラクトの並行実行の装置において、
Javaスマートコントラクトにおけるメソッドに@Parallel註釈が付いたか否かを判断し、@Parallel註釈付きのJavaスマートコントラクトのメソッドのJavaバイトコードを分析して、登録成功の並行実行可能なコントラクトメソッドに属するか否かを判断するための登録モジュールと、
コントラクト呼び出しが開始される際に、まず呼び出されるコントラクトに登録成功の並行実行可能なコントラクトメソッドがあるか否かを取得し、現在のブロックに並行実行可能なコントラクトメソッドを呼び出す取引が複数ある場合、スマートコントラクト実行器は、取引中にコントラクトメソッドに伝達されるパラメータを分析し、呼び出されるコントラクトのパラメータが異なる場合、該コントラクトメソッドを並行に実行させ、パラメータが同じである場合、ブロックにおける取引の順序に基づいて依存関係を構築し、有向非巡回グラフ(Directed Acyclic Graph)を生成し、これにより優先順位を決定する解析モジュールと、を含む
ことを特徴とするスマートコントラクトの並行実行の装置。 - 前記登録モジュールは、
@Parallel註釈付きのJavaスマートコントラクトのメソッドのパラメータの数とタイプを取得するためのパラメータ取得ユニットであって、Javaスマートコントラクトのメソッドがパラメータを取得する際に、現在のメソッドスタックフレームのローカル変数テーブルから取得されることであり、メソッドスタックフレームが呼び出されると、メソッドスタックフレームのローカル変数テーブルにおける変数は即ち現在のメソッドのパラメータである、パラメータ取得ユニットと、
ローカル変数テーブルから取得されたメソッドパラメータを解析するための第1解析判断ユニットであって、メソッドバイトコード全体において、タイプ変更の命令に操作されることがあり、又はパラメータとして他のメソッドを呼び出すことがあるかを判定し、条件を満たさない場合登録失敗とする第1解析判断ユニットと、
該パラメータが@StoreFieldの永続化変数のみに使用されることではないかどうかを判断するための第2解析判断ユニットであって、条件を満たさない場合、登録失敗とする第2解析判断ユニットと、を含む
ことを特徴とする請求項17に記載のスマートコントラクトの並行実行の装置。 - 1つのまたは複数のプロセッサと、
1つのまたは複数のプログラムを記憶するためのメモリと、を含み
前記1つのまたは複数のプログラムが前記1つのまたは複数のプロセッサによって実行されると、前記1つのまたは複数のプロセッサに、
Javaスマートコントラクトにおけるメソッドに@Parallel註釈が付いたか否かを判断し、@Parallel註釈付きのJavaスマートコントラクトのメソッドのJavaバイトコードを分析して、登録成功の並行実行可能なコントラクトメソッドに属するか否かを判断するステップと、
コントラクト呼び出しが開始される際に、まず呼び出されるコントラクトに登録成功の並行実行可能なコントラクトメソッドがあるか否かを取得し、現在のブロックに並行実行可能なコントラクトメソッドを呼び出す取引が複数ある場合、スマートコントラクト実行器は、取引中にコントラクトメソッドに伝達されるパラメータを分析し、呼び出されるコントラクトのパラメータが異なる場合、該コントラクトメソッドを並行に実行させ、パラメータが同じである場合、ブロックにおける取引の順序に基づいて依存関係を構築し、有向非巡回グラフ(Directed Acyclic Graph)を生成し、これにより優先順位を決定するステップと、
を含むスマートコントラクトの並行実行の方法を実現させる
を特徴とする機器。 - コンピュータプログラムが記憶されるコンピュータ読み取り可能な記憶媒体において、該プログラムがプロセッサによって実行されると、
Javaスマートコントラクトにおけるメソッドに@Parallel註釈が付いたか否かを判断し、@Parallel註釈付きのJavaスマートコントラクトのメソッドのJavaバイトコードを分析して、登録成功の並行実行可能なコントラクトメソッドに属するか否かを判断するステップと、
コントラクト呼び出しが開始される際に、まず呼び出されるコントラクトに登録成功の並行実行可能なコントラクトメソッドがあるか否かを取得し、現在のブロックに並行実行可能なコントラクトメソッドを呼び出す取引が複数ある場合、スマートコントラクト実行器は、取引中にコントラクトメソッドに伝達されるパラメータを分析し、呼び出されるコントラクトのパラメータが異なる場合、該コントラクトメソッドを並行に実行させ、パラメータが同じである場合、ブロックにおける取引の順序に基づいて依存関係を構築し、有向非巡回グラフ(Directed Acyclic Graph)を生成し、これにより優先順位を決定するステップと、
を含むスマートコントラクトの並行実行のメソッドが実現される
ことを特徴とするコンピュータ読み取り可能な記憶媒体。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910764308.6A CN110532038B (zh) | 2019-08-19 | 2019-08-19 | 一种基于Java智能合约的并行执行方法 |
CN201910764308.6 | 2019-08-19 | ||
CN201911180710.6 | 2019-11-27 | ||
CN201911180710.6A CN110968437A (zh) | 2019-11-27 | 2019-11-27 | 一种基于Java智能合约的单个合约并行执行的方法、装置、设备及介质 |
PCT/CN2020/109984 WO2021032115A1 (zh) | 2019-08-19 | 2020-08-19 | 智能合约并行执行的方法、装置、设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022545422A true JP2022545422A (ja) | 2022-10-27 |
JP7394211B2 JP7394211B2 (ja) | 2023-12-07 |
Family
ID=74659966
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022510861A Active JP7394211B2 (ja) | 2019-08-19 | 2020-08-19 | スマートコントラクトの並行実行の方法、装置、機器、及び媒体 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220292082A1 (ja) |
JP (1) | JP7394211B2 (ja) |
WO (1) | WO2021032115A1 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11936794B2 (en) * | 2021-09-16 | 2024-03-19 | Masterard International Incorporated | Method and system for parallel processing of smart contracts in permissioned blockchains |
CN113869902A (zh) * | 2021-12-03 | 2021-12-31 | 深圳前海微众银行股份有限公司 | 一种区块链交易执行方法及装置 |
CN115150409B (zh) * | 2022-06-29 | 2024-07-12 | 蚂蚁区块链科技(上海)有限公司 | 在区块链系统中执行交易的方法、区块链系统、节点及计算机可读存储介质 |
CN116382815B (zh) * | 2023-06-05 | 2023-10-10 | 安徽中科晶格技术有限公司 | 基于dag模型的合约并行化方法 |
CN116719627B (zh) * | 2023-08-09 | 2024-01-19 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、设备及存储介质 |
CN117350724B (zh) * | 2023-12-04 | 2024-03-15 | 安徽中科晶格技术有限公司 | 基于账户链的智能合约运行方法、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019072283A2 (en) * | 2018-11-27 | 2019-04-18 | Alibaba Group Holding Limited | SYSTEM AND METHOD FOR ENHANCING THE SECURITY OF AN INTELLIGENT CONTRACT ON A BLOCK CHAIN |
WO2019072305A2 (en) * | 2018-12-28 | 2019-04-18 | Alibaba Group Holding Limited | PARALLEL EXECUTION OF TRANSACTIONS IN A BLOCK CHAIN NETWORK BASED ON WHITE LISTS OF INTELLIGENT CONTRACTS |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109636592B (zh) * | 2017-10-20 | 2023-02-28 | 北京航空航天大学 | 高性能智能合约设计 |
CN108537543B (zh) * | 2018-03-30 | 2023-07-28 | 百度在线网络技术(北京)有限公司 | 区块链数据的并行处理方法、装置、设备和存储介质 |
CN108595157B (zh) * | 2018-04-28 | 2022-05-10 | 百度在线网络技术(北京)有限公司 | 区块链数据的处理方法、装置、设备和存储介质 |
KR102237015B1 (ko) * | 2018-12-29 | 2021-04-07 | 어드밴스드 뉴 테크놀로지스 씨오., 엘티디. | 블록체인 상의 네이티브 계약을 구현하기 위한 시스템 및 방법 |
CN110968437A (zh) * | 2019-11-27 | 2020-04-07 | 杭州趣链科技有限公司 | 一种基于Java智能合约的单个合约并行执行的方法、装置、设备及介质 |
CN110532038B (zh) * | 2019-08-19 | 2021-07-30 | 杭州趣链科技有限公司 | 一种基于Java智能合约的并行执行方法 |
-
2020
- 2020-08-19 JP JP2022510861A patent/JP7394211B2/ja active Active
- 2020-08-19 US US17/636,366 patent/US20220292082A1/en active Pending
- 2020-08-19 WO PCT/CN2020/109984 patent/WO2021032115A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019072283A2 (en) * | 2018-11-27 | 2019-04-18 | Alibaba Group Holding Limited | SYSTEM AND METHOD FOR ENHANCING THE SECURITY OF AN INTELLIGENT CONTRACT ON A BLOCK CHAIN |
WO2019072305A2 (en) * | 2018-12-28 | 2019-04-18 | Alibaba Group Holding Limited | PARALLEL EXECUTION OF TRANSACTIONS IN A BLOCK CHAIN NETWORK BASED ON WHITE LISTS OF INTELLIGENT CONTRACTS |
Also Published As
Publication number | Publication date |
---|---|
JP7394211B2 (ja) | 2023-12-07 |
WO2021032115A1 (zh) | 2021-02-25 |
US20220292082A1 (en) | 2022-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7394211B2 (ja) | スマートコントラクトの並行実行の方法、装置、機器、及び媒体 | |
CN110297689B (zh) | 智能合约执行方法、装置、设备及介质 | |
CN109976761B (zh) | 软件开发工具包的生成方法、装置及终端设备 | |
US11366643B2 (en) | Generating dynamic modular proxies | |
JP5989097B2 (ja) | 高度並行処理タスクの登録及び実行 | |
US20080313610A1 (en) | Discoscript: a simplified distributed computing scripting language | |
JP2019053729A (ja) | スマートコントラクトのテスト方法及びテスト装置 | |
CN110968437A (zh) | 一种基于Java智能合约的单个合约并行执行的方法、装置、设备及介质 | |
US20170269929A1 (en) | Modular serialization | |
WO2021223215A1 (en) | Automated decision platform | |
US11321090B2 (en) | Serializing and/or deserializing programs with serializable state | |
CN109951553B (zh) | 数据处理方法、系统、电子设备以及计算机可读存储介质 | |
US8276141B2 (en) | Selection of transaction managers based on transaction metadata | |
US20080244324A1 (en) | Method and system for providing enhanced exception messages for exceptions thrown by virtual machines | |
US11960918B2 (en) | Creating product orchestration engines | |
US9064042B2 (en) | Instrumenting computer program code by merging template and target code methods | |
US20140067904A1 (en) | Selection of transaction managers based on runtime data | |
US9384305B2 (en) | Predicting the impact of change on events detected in application logic | |
US9672020B2 (en) | Selectively loading precompiled header(s) and/or portion(s) thereof | |
CN116166547A (zh) | 代码变更范围分析方法、装置、设备、存储介质 | |
US20180285361A1 (en) | Ranking service implementations for a service interface | |
US11074069B2 (en) | Replaying interactions with transactional and database environments with re-arrangement | |
US10936290B2 (en) | Compile-time folding of assumed constant values | |
US11157252B2 (en) | Assessment of the benefit of post-inlining program transformation in inlining decisions | |
US20230305950A1 (en) | Determination of a prioritized subset of test cases to run after a source code change |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220217 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230227 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230322 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230616 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230926 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20231031 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20231114 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20231127 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7394211 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |