JP7291764B2 - イーサリアム仮想マシンのトランザクション処理方法、装置、機器、プログラムおよび媒体 - Google Patents
イーサリアム仮想マシンのトランザクション処理方法、装置、機器、プログラムおよび媒体 Download PDFInfo
- Publication number
- JP7291764B2 JP7291764B2 JP2021186157A JP2021186157A JP7291764B2 JP 7291764 B2 JP7291764 B2 JP 7291764B2 JP 2021186157 A JP2021186157 A JP 2021186157A JP 2021186157 A JP2021186157 A JP 2021186157A JP 7291764 B2 JP7291764 B2 JP 7291764B2
- Authority
- JP
- Japan
- Prior art keywords
- contract
- data
- account
- interface
- access
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- 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/46—Multiprogramming arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- 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/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- 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/45562—Creating, deleting, cloning virtual machine instances
-
- 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
-
- 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/45595—Network integration; Enabling network access in virtual machine instances
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
ブロックチェーンノードにおいて実行される仮想マシンインスタンスが、処理待ちトランザクション要求を取得することと、
前記仮想マシンインスタンスが、前記処理待ちトランザクション要求を実行する過程で、目的アクセスデータへのデータアクセス要求を発生してインターフェースモジュールに伝送することと、
前記インターフェースモジュールが、前記データアクセス要求の機能に対応するブロックチェーンアクセスインターフェースを確定するために、前記データアクセス要求に応じて命令変換を行うことと、
前記インターフェースモジュールが、前記目的アクセスデータへのアクセス動作を行うために前記ブロックチェーンのデータストレージスペースに対して前記ブロックチェーンアクセスインターフェースを呼び出し、アクセス結果を前記仮想マシンインスタンスにフィードバックすることと、を含み、
前記データアクセス要求は、データ読取要求及び/又はデータ書込要求を含み、
前記目的アクセスデータは、アカウントデータおよび/またはコントラクトデータを含む、
イーサリアム仮想マシンに基づくトランザクション処理方法を提供する。
ブロックチェーンノードにおいて実行される仮想マシンインスタンスによって、処理待ちトランザクション要求を取得するための処理待ちトランザクション要求取得モジュールと、
前記仮想マシンインスタンスによって前記処理待ちトランザクション要求を実行する過程で、目的アクセスデータへのデータアクセス要求を発生してインターフェースモジュールに伝送するためのデータアクセス要求発生/伝送モジュールと、
前記インターフェースモジュールによって、前記データアクセス要求の機能に対応するブロックチェーンアクセスインターフェースを確定するために、前記データアクセス要求に応じて命令変換を行うための命令変換モジュールと、
前記インターフェースモジュールによって、前記目的アクセスデータへのアクセス動作を行うために前記ブロックチェーンのデータストレージスペースに対して前記ブロックチェーンアクセスインターフェースを呼び出し、アクセス結果を前記仮想マシンインスタンスにフィードバックするためのブロックチェーンアクセスインターフェース呼出モジュールと、を備え、
前記データアクセス要求は、データ読取要求及び/又はデータ書込要求を含み、
前記目的アクセスデータは、アカウントデータおよび/またはコントラクトデータを含む、
イーサリアム仮想マシンに基づくトランザクション処理装置を提供する。
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに通信接続されたメモリと、を備え、
前記メモリに、前記少なくとも1つのプロセッサにより実行可能な命令が記憶され、
前記命令は、前記少なくとも1つのプロセッサが本発明のいずれかの実施例に記載のイーサリアム仮想マシンのトランザクション処理方法を実行可能であるように、前記少なくとも1つのプロセッサに実行される、
電子機器を提供する。
非一時的なコンピュータ可読記憶媒体を提供する。
前記コンピュータプログラムは、プロセッサにより実行されると、本発明のいずれかの実施例に記載のイーサリアム仮想マシンのトランザクション処理方法を実現する、
コンピュータプログラム製品を提供する。
Address string
Sequence uint
Pubkey string
Balance uint }
ここで、Addressはアカウント識別子、Sequenceは取引シーケンス番号、Pubkeyはアカウント公開鍵、Balanceはトークンをそれぞれ示す。ここで、前記アカウント識別子はアカウントデータのデータ呼出識別子であり、アカウントアドレスまたはアカウント名称であってよい。異なるアカウントデータは異なるアカウント識別子を有する。取引シーケンス番号とは、取引を行った回数を記録するためのデータである。アカウント公開鍵とは、アカウントを暗号化するための公開鍵である。トークンは、デジタル形式で存在する権益証明のことを示し、固有かつ内在の価値を代表しており、デジタル化可能なあらゆる権益証明を代表することができる。例示的には、トークンは、貨幣、債券、勘定、所有権、または資格などの権益証明であってよい。
前記仮想マシンインスタンスは、処理待ちトランザクション要求を取得したときに、前記処理待ちトランザクション要求におけるコントラクト呼出元の識別子および呼出待ちコントラクトの識別子を取得する。
前記仮想マシンインスタンスは、オンチェーンアカウントおよびオンチェーンコントラクトが存在するというインターフェースによりフィードバックされた照会結果を取得したときに、前記呼出待ちコントラクトの識別子に基づいてコントラクトバイトコード読取要求を生成してインターフェースモジュールに伝送する。
前記仮想マシンインスタンスは、前記インターフェースによりフィードバックされたコントラクトバイトコードと、前記処理待ちトランザクション要求におけるコントラクトパラメータおよびトークンとに基づき、前記処理待ちトランザクション要求を実行し、実行過程でコントラクト内変数読取要求を生成し、前記インターフェースモジュールに伝送する。ここで、コントラクト内変数は、スマートコントラクトが実行される過程における変数および変数値を含む。
前記仮想マシンインスタンスは、前記処理待ちトランザクション要求を実行する過程で、コントラクト内変数記憶要求を生成してインターフェースモジュールに伝送する。
データアクセス要求作成および伝送モジュール620は、前記仮想マシンインスタンスが、前記処理待ちトランザクション要求を実行する過程で、目的アクセスデータへのデータアクセス要求を発生してインターフェースモジュールに伝送することに用いられ、
命令変換モジュール630は、前記インターフェースモジュールが、前記データアクセス要求の機能に対応するブロックチェーンアクセスインターフェースを確定するために、前記データアクセス要求に応じて命令変換を行うことに用いられ、
ブロックチェーンアクセスインターフェース呼出モジュール640は、前記インターフェースモジュールが、前記目的アクセスデータへのアクセス動作を行うために前記ブロックチェーンのデータストレージスペースに対して前記ブロックチェーンアクセスインターフェースを呼び出し、アクセス結果を前記仮想マシンインスタンスにフィードバックすることに用いられ、
前記データアクセス要求は、データ読取要求及び/又はデータ書込要求を含み、
前記目的アクセスデータは、アカウントデータおよび/またはコントラクトデータを含む。
Claims (18)
- ブロックチェーンノードに用いられる、イーサリアム仮想マシンに基づくトランザクション処理方法であって、
前記ブロックチェーンノードにおいて実行される仮想マシンインスタンスが、処理待ちトランザクション要求を取得すること、
前記仮想マシンインスタンスが、前記処理待ちトランザクション要求を実行する過程で、前記処理待ちトランザクション要求に関するデータである目的アクセスデータへのデータアクセス要求を生成してインターフェースモジュールに伝送すること、
前記インターフェースモジュールが、前記データアクセス要求の機能に対応するブロックチェーンアクセスインターフェースを確定するために、前記データアクセス要求に応じて命令変換を行うこと、および、
前記インターフェースモジュールが、前記目的アクセスデータへのアクセス動作を行うために前記ブロックチェーンのデータストレージスペースに対して前記ブロックチェーンアクセスインターフェースを呼び出し、アクセス結果を前記仮想マシンインスタンスにフィードバックすること、を含み、
前記データアクセス要求は、データ読取要求及び/又はデータ書込要求を含み、
前記目的アクセスデータは、アカウントデータ及び/又はコントラクトデータを含み、
前記インターフェースモジュールが、前記データアクセス要求の機能に対応するブロックチェーンアクセスインターフェースを確定するために、前記データアクセス要求に応じて命令変換を行うことは、
前記インターフェースモジュールが、前記データアクセス要求の所属の仮想マシン命令および命令パラメータを認識することと、
前記インターフェースモジュールが、予め設定された仮想マシン命令およびインターフェースマッピング関係に基づき、前記データアクセス要求に対応するブロックチェーンアクセスインターフェースを確定することと、
を含む、
方法。 - 前記ブロックチェーンのデータストレージスペースは、外部アカウントにおけるアカウントデータおよびコントラクトアカウントにおけるアカウントデータを格納するためのアカウントスペースと、コントラクトアカウントにおけるコントラクトデータを格納するためのコントラクトスペースとを含む、
請求項1に記載の方法。 - 前記ブロックチェーンのデータストレージスペースは、少なくとも2種類のアカウントのデータ操作をサポートすることに用いられ、
各前記アカウントのアカウントデータに使用されるデータ構造が同じである、
請求項2に記載の方法。 - 前記アカウントデータは、アカウント識別子、コントラクトバイトコード、および、コントラクト内変数を含み、
前記アカウント識別子は、スマートコントラクトのコントラクト呼出識別子である、
請求項2に記載の方法。 - 前記ブロックチェーンアクセスインターフェースのタイプは、
アカウントデータへのアクセスに用いられるアカウントアクセスインターフェース、
コントラクトデータの更新に用いられる記憶アクセスインターフェース、および、
コントラクトアカウントの操作に用いられるコントラクト操作インターフェース、
を含む、
請求項2乃至4のいずれか一項に記載の方法。 - 前記ブロックチェーンアクセスインターフェースのうちのブロックチェーン読取インターフェースは、
コントラクト内変数読取インターフェース、
アカウントトークン残額読取インターフェース、
コントラクトバイトコード読取インターフェース、
アカウントの取引シーケンス番号読取インターフェース、
オンチェーンコントラクト照会インターフェース、
オンチェーンアカウント照会インターフェース、および、
ブロックの高さによりブロックハッシュを読み取る読取インターフェース、
のうちの少なくとも1つを含む、
請求項5に記載の方法。 - 前記仮想マシンインスタンスが、前記処理待ちトランザクション要求を実行する過程で、前記目的アクセスデータへのデータアクセス要求を生成してインターフェースモジュールに伝送することは、
前記仮想マシンインスタンスが、処理待ちトランザクション要求を取得したときに、前記処理待ちトランザクション要求におけるコントラクト呼出元の識別子および呼出待ちコントラクトの識別子を取得すること、および、
前記仮想マシンインスタンスが、前記コントラクト呼出元の識別子および呼出待ちコントラクトの識別子に基づき、呼出元のオンチェーンアカウント照会要求およびオンチェーンコントラクト照会要求をそれぞれ生成して前記インターフェースモジュールに伝送すること、
を含み、
これに対応して、前記インターフェースモジュールが、前記目的アクセスデータへのアクセス動作を行うために前記ブロックチェーンのデータストレージスペースに対して前記ブロックチェーンアクセスインターフェースを呼び出し、アクセス結果を前記仮想マシンにフィードバックすることは、
前記インターフェースモジュールが、チェーンにコントラクト呼出元のアカウントが存在するか否かを照会するために、前記ブロックチェーンのアカウントスペースに対して前記オンチェーンアカウント照会インターフェースを呼び出すこと、
前記インターフェースモジュールが、チェーンに呼出待ちコントラクトが存在するか否かを照会するために、前記ブロックチェーンのコントラクトスペースに対してオンチェーンコントラクト照会インターフェースを呼び出すこと、および、
前記インターフェースモジュールが、コントラクト呼出元のアカウントと呼出待ちコントラクトとの照会結果を前記仮想マシンインスタンスにフィードバックすること、
を含む、
請求項6に記載の方法。 - 前記仮想マシンインスタンスが、前記処理待ちトランザクション要求を実行する過程で、前記目的アクセスデータへのデータアクセス要求を生成してインターフェースモジュールに伝送することは、
前記仮想マシンインスタンスが、オンチェーンアカウントおよびオンチェーンコントラクトが存在するというインターフェースによりフィードバックされた照会結果を取得したときに、前記呼出待ちコントラクトの識別子に基づいてコントラクトバイトコード読取要求を生成してインターフェースモジュールに伝送すること、を含み、
これに対応して、前記インターフェースモジュールが、前記目的アクセスデータへのアクセス動作を行うために前記ブロックチェーンのデータストレージスペースに対して前記ブロックチェーンアクセスインターフェースを呼び出し、アクセス結果を前記仮想マシンにフィードバックすることは、
前記インターフェースモジュールが、呼出待ちコントラクトのコントラクトバイトコードを読み取るために、前記ブロックチェーンのコントラクトスペースに対してコントラクトバイトコード読取インターフェースを呼び出し、読み取ったコントラクトバイトコードを前記仮想マシンインスタンスにフィードバックすること、を含む、
請求項7に記載の方法。 - 前記仮想マシンインスタンスが、前記処理待ちトランザクション要求を実行する過程で、前記目的アクセスデータへのデータアクセス要求を生成してインターフェースモジュールに伝送することは、
前記仮想マシンインスタンスが、前記インターフェースによりフィードバックされたコントラクトバイトコードと、前記処理待ちトランザクション要求におけるコントラクトパラメータおよびトークンとに基づき、前記処理待ちトランザクション要求を実行し、実行過程でコントラクト内変数読取要求を生成し、前記インターフェースモジュールに伝送すること、を含み、
これに対応して、前記インターフェースモジュールが、前記目的アクセスデータへのアクセス動作を行うために前記ブロックチェーンのデータストレージスペースに対して前記ブロックチェーンアクセスインターフェースを呼び出し、アクセス結果を前記仮想マシンにフィードバックすることは、
前記インターフェースモジュールが、コントラクト内変数の数値を読み取るために、前記ブロックチェーンのコントラクトスペースに対してコントラクト内変数読取インターフェースを呼び出し、読み取った数値を前記仮想マシンインスタンスにフィードバックすること、を含む、
請求項8に記載の方法。 - 前記ブロックチェーンアクセスインターフェースにおけるブロックチェーン書込インターフェースは、
コントラクトアカウント作成インターフェース、
コントラクトバイトコード初期化インターフェース、
コントラクトアカウント削除インターフェース、
コントラクト内変数記憶インターフェース、
アカウント残額増加インターフェース、および、
アカウント残額減少インターフェース、
のうちの少なくとも1つを含む、
請求項5に記載の方法。 - 前記仮想マシンインスタンスが、前記処理待ちトランザクション要求を実行する過程で、前記目的アクセスデータへのデータアクセス要求を生成してインターフェースモジュールに伝送することは、
前記仮想マシンインスタンスが、前記処理待ちトランザクション要求を実行する過程で、コントラクト内変数記憶要求を生成してインターフェースモジュールに伝送すること、を含み、
これに対応して、前記インターフェースモジュールが、前記目的アクセスデータへのアクセス動作を行うために前記ブロックチェーンのデータストレージスペースに対して前記ブロックチェーンアクセスインターフェースを呼び出し、アクセス結果を前記仮想マシンにフィードバックすることは、
前記インターフェースモジュールが、コントラクト内変数の数値を書き込むために、前記ブロックチェーンのコントラクトスペースに対してコントラクト内変数記憶インターフェースを呼び出すこと、を含む、
請求項10に記載の方法。 - 前記仮想マシンインスタンスが、前記処理待ちトランザクション要求を実行する過程で、前記目的アクセスデータへのデータアクセス要求を生成してインターフェースモジュールに伝送することは、
前記仮想マシンインスタンスが、前記処理待ちトランザクション要求がコントラクトアカウントに基づくコントラクトアカウント作成要求であると認識したときに、前記インターフェースモジュールに伝送すること、を含み、
これに対応して、前記インターフェースモジュールが、前記目的アクセスデータへのアクセス動作を行うために前記ブロックチェーンのデータストレージスペースに対して前記ブロックチェーンアクセスインターフェースを呼び出し、アクセス結果を前記仮想マシンにフィードバックすることは、
前記インターフェースモジュールが、前記コントラクトアカウント作成要求に基づいてコントラクトアカウント作成インターフェースを呼び出し、前記アカウントスペースに新規のコントラクトアカウントを作成して前記新規のコントラクトアカウントのアカウントデータを書き込むこと、
前記インターフェースモジュールが、前記コントラクトアカウント作成インターフェースを実行する過程で、作成待ちスマートコントラクトをコンパイルし、コントラクトバイトコードを形成して前記コントラクトスペースに書き込むために、前記コントラクトバイトコード初期化インターフェースを呼び出すこと、および、
前記インターフェースモジュールが、前記コントラクトアカウント作成インターフェースを実行する過程で、前記コントラクト内変数記憶インターフェースを呼び出し、前記コントラクトスペースに前記スマートコントラクトのコントラクト内変数を作成して記憶すること、
を含む、
請求項11に記載の方法。 - 前記仮想マシンインスタンスが、前記処理待ちトランザクション要求を実行する過程で、前記目的アクセスデータへのデータアクセス要求を生成してインターフェースモジュールに伝送することは、
前記仮想マシンインスタンスが、前記処理待ちトランザクション要求がコントラクトアカウントに基づくコントラクトアカウント削除要求であると認識したときに、前記インターフェースモジュールに伝送すること、を含み、
これに対応して、前記インターフェースモジュールが、前記目的アクセスデータへのアクセス動作を行うために前記ブロックチェーンのデータストレージスペースに対して前記ブロックチェーンアクセスインターフェースを呼び出し、アクセス結果を前記仮想マシンにフィードバックすることは、
前記インターフェースモジュールが、前記コントラクトアカウント削除要求に基づいてコントラクトアカウント削除インターフェースを呼び出し、削除待ちコントラクトアカウントのアカウントデータを前記アカウントスペースから削除し、前記コントラクトスペースにおける前記削除待ちコントラクトアカウントのコントラクトデータを削除すること、を含む、
請求項12に記載の方法。 - 前記方法は、さらに、
前記仮想マシンインスタンスが、前記処理待ちトランザクション要求を実行した後、ブロックチェーンアクセスインターフェースを呼び出し、前記コントラクトスペースにおけるコントラクト内変数に応じてブロックチェーンのオンチェーンデータを更新すること、を含む、
請求項2に記載の方法。 - ブロックチェーンノードに用いられ、請求項1乃至14のいずれか一項に記載の方法を実行するためのイーサリアム仮想マシンに基づくトランザクション処理装置であって、
ブロックチェーンノードにおいて実行される仮想マシンインスタンスによって、処理待ちトランザクション要求を取得するための処理待ちトランザクション要求取得モジュール、
前記仮想マシンインスタンスによって前記処理待ちトランザクション要求を実行する過程で、前記目的アクセスデータへのデータアクセス要求を生成してインターフェースモジュールに伝送するためのデータアクセス要求発生/伝送モジュール、
前記インターフェースモジュールによって、前記データアクセス要求の機能に対応するブロックチェーンアクセスインターフェースを確定するために、前記データアクセス要求に応じて命令変換を行うことに用いられる、命令変換モジュール、および、
前記インターフェースモジュールによって、前記目的アクセスデータへのアクセス動作を行うために前記ブロックチェーンのデータストレージスペースに対して前記ブロックチェーンアクセスインターフェースを呼び出し、アクセス結果を前記仮想マシンインスタンスにフィードバックするためのブロックチェーンアクセスインターフェース呼出モジュール、を備え、
前記データアクセス要求は、データ読取要求及び/又はデータ書込要求を含み、
前記目的アクセスデータは、アカウントデータ及び/又はコントラクトデータを含み、
前記命令変換モジュールは、
前記インターフェースモジュールが、前記データアクセス要求の所属の仮想マシン命令および命令パラメータを認識することと、
前記インターフェースモジュールが、予め設定された仮想マシン命令およびインターフェースマッピング関係に基づき、前記データアクセス要求に対応するブロックチェーンアクセスインターフェースを確定することと、に用いられる、
装置。 - 少なくとも1つのプロセッサ、および、
前記少なくとも1つのプロセッサに通信接続されたメモリ、を備え、
前記メモリには、前記少なくとも1つのプロセッサにより実行可能な命令が記憶され、
前記命令は、前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに請求項1乃至14のいずれか一項に記載の方法を実施させる、
電子機器。 - コンピュータ命令が記憶され、
前記コンピュータ命令は、コンピュータに、請求項1乃至14のいずれか一項に記載の方法を実行させる、
非一時的なコンピュータ可読記憶媒体。 - 複数のコンピュータ命令を含むコンピュータプログラムであって、
前記コンピュータ命令がプロセッサによって実行されると、請求項1乃至14のいずれか一項に記載の方法をコンピュータに実行させる、
コンピュータプログラム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011547864.7 | 2020-12-24 | ||
CN202011547864.7A CN112286643B (zh) | 2020-12-24 | 2020-12-24 | 以太坊虚拟机的事务处理方法、装置、设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022101478A JP2022101478A (ja) | 2022-07-06 |
JP7291764B2 true JP7291764B2 (ja) | 2023-06-15 |
Family
ID=74426081
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021186157A Active JP7291764B2 (ja) | 2020-12-24 | 2021-11-16 | イーサリアム仮想マシンのトランザクション処理方法、装置、機器、プログラムおよび媒体 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20210365902A1 (ja) |
EP (1) | EP3893137B1 (ja) |
JP (1) | JP7291764B2 (ja) |
CN (1) | CN112286643B (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114398082B (zh) * | 2022-03-24 | 2022-05-27 | 北京溪塔科技有限公司 | 一种框架式区块链应用的兼容运行方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190238525A1 (en) | 2018-01-31 | 2019-08-01 | Salesforce.Com, Inc. | Systems, methods, and apparatuses for implementing super community and community sidechains with consent management for distributed ledger technologies in a cloud based computing environment |
JP2019204216A (ja) | 2018-05-22 | 2019-11-28 | 株式会社日立製作所 | データ管理方法およびデータ管理システム |
US20200034453A1 (en) | 2018-07-29 | 2020-01-30 | International Business Machines Corporation | Smart contract input mapping |
JP2020509443A (ja) | 2018-12-29 | 2020-03-26 | アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited | ブロックチェーン上のネイティブ契約を実施するためのシステムおよび方法 |
US20200133926A1 (en) | 2018-12-29 | 2020-04-30 | Alibaba Group Holding Limited | System and method for implementing native contract on blockchain |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5892900A (en) * | 1996-08-30 | 1999-04-06 | Intertrust Technologies Corp. | Systems and methods for secure transaction management and electronic rights protection |
CN107025559B (zh) * | 2017-01-26 | 2020-09-18 | 创新先进技术有限公司 | 一种业务处理方法及装置 |
US10984483B2 (en) * | 2017-03-19 | 2021-04-20 | International Business Machines Corporation | Cognitive regulatory compliance automation of blockchain transactions |
CN109063109A (zh) * | 2018-07-27 | 2018-12-21 | 电子科技大学 | 一种基于以太坊的数据查询*** |
CN109034814B (zh) * | 2018-09-14 | 2020-10-16 | 百度在线网络技术(北京)有限公司 | 基于以太坊虚拟机的智能合约处理方法和装置 |
CN110321374B (zh) * | 2018-10-23 | 2022-03-25 | 开采夫(杭州)科技有限公司 | 基于分布式网络的标准文件io操作***及方法 |
CN109615518A (zh) * | 2018-12-11 | 2019-04-12 | 北京瑞卓喜投科技发展有限公司 | 一种智能合约***的构建方法和智能合约*** |
US11282076B2 (en) * | 2018-12-14 | 2022-03-22 | American Express Travel Related Services Company, Inc. | Transaction account data maintenance using blockchain |
KR102008001B1 (ko) * | 2019-02-21 | 2019-08-06 | 주식회사 모파스 | 블록체인을 이용하여 스마트 계약을 생성하는 시스템 |
CN110297689B (zh) * | 2019-05-06 | 2021-09-14 | 百度在线网络技术(北京)有限公司 | 智能合约执行方法、装置、设备及介质 |
CN111339114B (zh) * | 2020-02-28 | 2023-05-09 | 百度在线网络技术(北京)有限公司 | 一种数据访问方法、装置、设备及存储介质 |
CN111552991A (zh) * | 2020-04-29 | 2020-08-18 | 支付宝实验室(新加坡)有限公司 | 一种区块链交易方法及装置 |
CN111741026B (zh) * | 2020-08-07 | 2020-12-01 | 百度在线网络技术(北京)有限公司 | 一种跨链事务请求处理方法、装置、设备以及存储介质 |
-
2020
- 2020-12-24 CN CN202011547864.7A patent/CN112286643B/zh active Active
-
2021
- 2021-08-06 US US17/444,575 patent/US20210365902A1/en not_active Abandoned
- 2021-08-09 EP EP21190440.4A patent/EP3893137B1/en active Active
- 2021-11-16 JP JP2021186157A patent/JP7291764B2/ja active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190238525A1 (en) | 2018-01-31 | 2019-08-01 | Salesforce.Com, Inc. | Systems, methods, and apparatuses for implementing super community and community sidechains with consent management for distributed ledger technologies in a cloud based computing environment |
JP2021512416A (ja) | 2018-01-31 | 2021-05-13 | セールスフォース ドット コム インコーポレイティッド | クラウドベースのコンピューティング環境において分散台帳技術のためのインテリジェントな合意、スマートな合意、及び重み付き合意のモデルを実現するシステム、方法、及び装置 |
JP2019204216A (ja) | 2018-05-22 | 2019-11-28 | 株式会社日立製作所 | データ管理方法およびデータ管理システム |
US20200034453A1 (en) | 2018-07-29 | 2020-01-30 | International Business Machines Corporation | Smart contract input mapping |
JP2020509443A (ja) | 2018-12-29 | 2020-03-26 | アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited | ブロックチェーン上のネイティブ契約を実施するためのシステムおよび方法 |
US20200133926A1 (en) | 2018-12-29 | 2020-04-30 | Alibaba Group Holding Limited | System and method for implementing native contract on blockchain |
Also Published As
Publication number | Publication date |
---|---|
KR20210122211A (ko) | 2021-10-08 |
JP2022101478A (ja) | 2022-07-06 |
EP3893137B1 (en) | 2024-03-20 |
EP3893137A2 (en) | 2021-10-13 |
CN112286643A (zh) | 2021-01-29 |
CN112286643B (zh) | 2021-04-20 |
EP3893137A3 (en) | 2022-03-16 |
US20210365902A1 (en) | 2021-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7293314B2 (ja) | イーサリアム仮想マシンのトランザクション処理方法、装置、機器、プログラムおよび媒体 | |
KR100600671B1 (ko) | 네트워크 내의 장치들을 관리하기 위한 방법, 시스템 및프로그램 | |
US10929149B2 (en) | Method and system for updating firmware | |
US20170351506A1 (en) | Automating feature graduation | |
WO2023056946A1 (zh) | 一种数据缓存方法、装置和电子设备 | |
JP7291764B2 (ja) | イーサリアム仮想マシンのトランザクション処理方法、装置、機器、プログラムおよび媒体 | |
JP7253603B2 (ja) | イーサリアム仮想マシンのトランザクション処理方法、装置、機器、および媒体 | |
JP7291759B2 (ja) | イーサリアム仮想マシンのトランザクション処理方法、装置、機器、プログラムおよび媒体 | |
US10146791B2 (en) | Open file rebalance | |
KR102686247B1 (ko) | 이더리움 가상머신의 트랜잭션 처리 방법, 장치, 설비, 프로그램 및 매체 | |
JP2022189744A (ja) | ブロックチェーンシステム起動方法、装置、機器および記憶媒体 | |
KR102684495B1 (ko) | 이더리움 가상머신의 트랜잭션 처리 방법, 장치, 설비, 프로그램 및 매체 | |
US10606939B2 (en) | Applying matching data transformation information based on a user's editing of data within a document | |
CN114416215A (zh) | 函数调用方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20211116 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20221221 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230131 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230425 |
|
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: 20230516 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230605 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7291764 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |