JP7253603B2 - イーサリアム仮想マシンのトランザクション処理方法、装置、機器、および媒体 - Google Patents
イーサリアム仮想マシンのトランザクション処理方法、装置、機器、および媒体 Download PDFInfo
- Publication number
- JP7253603B2 JP7253603B2 JP2021186112A JP2021186112A JP7253603B2 JP 7253603 B2 JP7253603 B2 JP 7253603B2 JP 2021186112 A JP2021186112 A JP 2021186112A JP 2021186112 A JP2021186112 A JP 2021186112A JP 7253603 B2 JP7253603 B2 JP 7253603B2
- 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
-
- 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
-
- 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
-
- 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
- G06F21/645—Protecting data integrity, e.g. using checksums, certificates or signatures using a third party
-
- 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3821—Electronic credentials
- G06Q20/38215—Use of certificates or encrypted proofs of transaction rights
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- 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/321—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 involving a third party or a trusted authority
- H04L9/3213—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 involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
-
- 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
-
- 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/45579—I/O management, e.g. providing access to device drivers or storage
-
- 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/45587—Isolation or security of 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/45595—Network integration; Enabling network access in virtual machine instances
-
- 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
- G06Q2220/00—Business processing using cryptography
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/56—Financial cryptography, e.g. electronic payment or e-cash
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Accounting & Taxation (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Human Computer Interaction (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
ブロックチェーンノードにおいて実行される仮想マシンインスタンスが、処理待ちトランザクション要求を取得することと、
前記仮想マシンインスタンスが、前記処理待ちトランザクション要求を実行する過程において、目的アクセスデータへのデータアクセス要求を発生してインタフェースモジュールに転送することと、
前記インタフェースモジュールが、前記データアクセス要求に応じてブロックチェーンアクセス用インタフェースを呼び出し、前記ブロックチェーンのデータストレージスペースに対して、前記目的アクセスデータへのアクセス動作を行い、アクセス結果を前記仮想マシンインスタンスにフィードバックすることと、を含み、
前記データアクセス要求は、データ読取要求及び/又はデータ書込要求を含み、
前記ブロックチェーンのデータストレージスペースは、外部アカウントにおけるアカウントデータおよびコントラクトアカウントにおけるアカウントデータを格納するためのアカウントスペースと、コントラクトアカウントにおけるコントラクトデータを格納するためのコントラクトスペースと、を含む、
イーサリアム仮想マシンに基づくトランザクション処理方法を提供する。
ブロックチェーンノードにおいて実行される仮想マシンインスタンスによって、処理待ちトランザクション要求を取得するための処理待ちトランザクション要求取得モジュールと、
前記仮想マシンインスタンスによって、前記処理待ちトランザクション要求を実行する過程において、目的アクセスデータへのデータアクセス要求を発生してインタフェースモジュールに転送するためのデータアクセス要求発生/転送モジュールと、
前記インタフェースモジュールによって、前記データアクセス要求に応じてブロックチェーンアクセス用インタフェースを呼び出し、前記ブロックチェーンのデータストレージスペースに対して、前記目的アクセスデータへのアクセス動作を行い、アクセス結果を前記仮想マシンインスタンスにフィードバックするためのブロックチェーンアクセス用インタフェース呼出モジュールと、を備え、
前記データアクセス要求は、データ読取要求及び/又はデータ書込要求を含み、
前記ブロックチェーンのデータストレージスペースは、外部アカウントにおけるアカウントデータおよびコントラクトアカウントにおけるアカウントデータを格納するためのアカウントスペースと、コントラクトアカウントにおけるコントラクトデータを格納するためのコントラクトスペースと、を含む、
イーサリアム仮想マシンに基づくトランザクション処理装置を提供する。
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに通信接続される記憶装置と、を備え、
前記記憶装置に、前記少なくとも1つのプロセッサにより実行可能な命令が記憶され、
前記命令は、例えば前記少なくとも1つのプロセッサが本発明の実施例のいずれか1項に記載のイーサリアム仮想マシンのトランザクション処理方法を実現可能であるように、前記少なくとも1つのプロセッサにより実行される、
電子機器を提供する。
前記コンピュータプログラムは、プロセッサより実行されると、例えば本発明の実施例のいずれか1項に記載のイーサリアム仮想マシンのトランザクション処理方法を実現する、コンピュータプログラム製品を提供する。
Address string
Sequence uint
Pubkey string
Balance uint }
ここで、Addressは、アカウント識別子を表し、Sequenceは取引のシーケンス番号を表し、Pubkeyはアカウント公開鍵を表し、Balanceはトークンを表す。ここで、前記アカウント識別子はアカウントデータのデータ呼出識別子であり、アカウント識別子はアカウントアドレス又はアカウント名称であってもよく、異なるアカウントデータは異なるアカウント識別子を有する。取引のシーケンス番号は、取引済み回数のデータを記録することに用いられる。アカウント公開鍵とは、暗号化アカウントに用いられる公開鍵を指す。トークンとはデジタル形態で存在する権利証を指し、トークンが代表するものは、固有および内在する価値であり、デジタル化可能なあらゆる権利証を代表することができる。例示的に、トークンは、通貨、債券、勘定科目、所有権又は資格などの権利証であってもよい。
アカウントデータへのアクセスに用いられるアカウントアクセス用インタフェースと、
コントラクトアカウントの操作に用いられるコントラクト操作用インタフェースと、
コントラクトデータの更新に用いられる記憶アクセス用インタフェースと、が含まれる。
コントラクトデータにおけるコントラクト内変数を読み取るためのコントラクト内変数読取インタフェースと、
アカウントデータにおけるアカウントトークン残額を読み取るためのアカウントトークン残額読取インタフェースと、
コントラクトアカウントにおけるコントラクトバイトコードを読み取るためのコントラクトバイトコード読取インタフェースと、
アカウントデータにおける取引のシーケンス番号を読み取るためのアカウントの取引シーケンス番号読取インタフェースと、
オンチェーン上に記憶されるスマートコントラクトを照会するためのオンチェーンコントラクト照会インタフェースと、
オンチェーン上に記憶されるアカウント情報を照会するためのオンチェーンアカウント照会インタフェースと、
ブロック高によってブロックハッシュ(Hash)を読み取るためのブロック高によるブロックハッシュ読取インタフェースと、のうちの少なくとも1つを含む。
コントラクトスペースにコントラクトアカウントを作成するためのコントラクトアカウント作成インタフェースと、
コントラクトスペースにおけるバイトコードを初期化するためのコントラクトバイトコード初期化インタフェースと、
コントラクトスペースにおけるコントラクトアカウントを削除するためのコントラクトアカウント削除インタフェースと、
コントラクト内変数を格納するためのコントラクト内変数記憶インタフェースと、
アカウント残額を追加するためのアカウント残額追加インタフェースと、
アカウント残額を減少するためのアカウント残額減少インタフェースと、のうちの少なくとも1つを含む。
読取インタフェース、即ちアカウントトークン残額読取インタフェース、アカウントの取引のシーケンス番号読取インタフェース、およびオンチェーンアカウント照会インタフェースと、
書込インタフェース、即ちアカウント残額追加インタフェースと、
アカウント残額減少インタフェースと、が含まれ、
コントラクト動作インタフェースには、
読取インタフェース、即ちコントラクトバイトコード読取インタフェース、オンチェーンコントラクト照会インタフェースおよびブロック高によってブロックハッシュを読み取る読取インタフェースと、
書込インタフェース、即ちコントラクトアカウント作成インタフェースと、
コントラクトバイトコード初期化インタフェースと、
コントラクトアカウント削除インタフェースと、が含まれ、
記憶アクセス用インタフェースには、
読取インタフェース、即ちコントラクト内変数読取インタフェースと、
書込インタフェース、即ちコントラクト内変数記憶インタフェースと、が含まれる。
前記仮想マシンインスタンスは、処理待ちトランザクション要求を取得した後、前記処理待ちトランザクション要求からコントラクトの呼出元の識別子および呼出待ちコントラクトの識別子を取得する。
前記仮想マシンインスタンスは、インタフェースモジュールからフィードバックされた照会結果が、オンチェーンアカウントおよびオンチェーンコントラクトが存在することであると、前記呼出待ちコントラクトの識別子に基づいてコントラクトバイトコード読取要求を発生してインタフェースモジュールに転送する。
前記仮想マシンインスタンスは、前記インタフェースモジュールからフィードバックされたコントラクトバイトコードと、前記処理待ちトランザクション要求内のコントラクトパラメータおよびトークンとに基づいて、前記処理待ちトランザクション要求を実行し、実行する過程においてコントラクト内変数読取要求を発生して前記インタフェースモジュールに転送する。ここで、コントラクト内変数に、スマートコントラクト稼働過程における変数および変数数値が含まれる。
前記仮想マシンインスタンスは、前記処理待ちトランザクション要求を実行する過程において、コントラクト内変数記憶要求を発生してインタフェースモジュールに転送する。
前記インタフェースモジュールは、コントラクト内変数の数値を書き込むために、前記ブロックチェーンのコントラクトスペースに対して、コントラクト内変数記憶インタフェースを呼び出し、
インタフェースモジュールは、コントラクト内変数記憶要求を受信した場合、コントラクト内変数記憶要求に応じて、コントラクト内変数の目標コントラクトスペースを確定し、前記ブロックチェーンのコントラクトスペースに対して、コントラクト内変数記憶インタフェースを呼び出し、コントラクト内変数の数値をコントラクトスペースに書き込む。
ブロックチェーンノードにおいて実行される仮想マシンインスタンスが、処理待ちトランザクション要求を取得するための、処理待ちトランザクション要求取得モジュール510と、
前記仮想マシンインスタンスが、前記処理待ちトランザクション要求を実行する過程において、目的アクセスデータへのデータアクセス要求を発生してインタフェースモジュールに転送するための、データアクセス要求発生/転送モジュール520と、
前記インタフェースモジュールによって、前記データアクセス要求に応じてブロックチェーンアクセス用インタフェースを呼び出し、前記ブロックチェーンのデータストレージスペースに対して、前記目的アクセスデータへのアクセス動作を行い、アクセス結果を前記仮想マシンインスタンスにフィードバックするための、ブロックチェーンアクセス用インタフェース呼出モジュール530と、が備えられてもよく、
前記データアクセス要求は、データ読取要求及び/又はデータ書込要求を含み、
前記ブロックチェーンのデータストレージスペースは、外部アカウントにおけるアカウントデータおよびコントラクトアカウントにおけるアカウントデータを格納するためのアカウントスペースと、コントラクトアカウントにおけるコントラクトデータを格納するためのコントラクトスペースと、を含む。
前記アカウントアクセス用インタフェースアカウントデータへのアクセスに用いられるアカウントアクセス用インタフェースと、
コントラクトアカウントの操作に用いられるコントラクト操作用インタフェースと、
コントラクトデータの更新に用いられる記憶アクセス用インタフェースと、が含まれる。
コントラクト内変数読取インタフェースと、
アカウントトークン残額読取インタフェースと、
コントラクトバイトコード読取インタフェースと、
アカウントの取引のシーケンス番号読取インタフェースと、
オンチェーンコントラクト照会インタフェースと、
オンチェーンアカウント照会インタフェースと、
ブロック高によってブロックハッシュを読み取る読取インタフェースと、のうちの少なくとも1項が備えられる。
コントラクトアカウント作成インタフェースと、
コントラクトバイトコード初期化インタフェースと、
コントラクトアカウント削除インタフェースと、
コントラクト内変数記憶インタフェースと、
アカウント残額追加インタフェースと、
アカウント残額減少インタフェースと、のうちの少なくとも1項が備えられる。
前記データアクセス要求がコントラクトアカウント作成要求である場合、前記インタフェースモジュールは、前記コントラクトアカウント作成要求に応じてコントラクトアカウント作成インタフェースを呼び出し、前記アカウントスペースにコントラクトアカウントを作成し、前記コントラクトアカウントのアカウントデータを書き込み、コントラクトスペースを生成するための、コントラクトアカウント作成サブモジュールと、
前記インタフェースモジュールが前記コントラクトアカウント作成インタフェースを実行する過程において、前記コントラクトバイトコード初期化インタフェースを呼び出し、作成待ちスマートコントラクトをコンパイルし、コントラクトバイトコードを形成して前記コントラクトスペースに書き込むための、コントラクトバイトコード書込サブモジュールと、
前記インタフェースモジュールが前記コントラクトアカウント作成インタフェースを実行する過程において、前記コントラクト内変数記憶インタフェースを呼び出し、前記コントラクトスペースにおいて前記スマートコントラクトのコントラクト内変数を作成して記憶するための、コントラクト内変数記憶サブモジュールと、が備えられる。
Claims (15)
- ブロックチェーンネットワークのブロックチェーンノードに適用される、イーサリアム仮想マシンに基づくトランザクション処理方法であって、
ブロックチェーンノードにおいて実行される仮想マシンインスタンスが、処理待ちトランザクション要求を取得すること、
前記仮想マシンインスタンスが、前記処理待ちトランザクション要求を実行する過程において、目的アクセスデータへのデータアクセス要求を発生してインタフェースモジュールに転送すること、および、
前記インタフェースモジュールが、前記データアクセス要求に応じてブロックチェーンアクセス用インタフェースを呼び出し、前記ブロックチェーンネットワークのデータストレージスペースに対して、前記目的アクセスデータへのアクセス動作を行い、アクセス結果を前記仮想マシンインスタンスにフィードバックすること、を含み、
前記データアクセス要求は、データ読取要求及び/又はデータ書込要求を含み、
前記ブロックチェーンネットワークのデータストレージスペースは、外部アカウントにおけるアカウントデータおよびコントラクトアカウントにおけるアカウントデータを格納するためのアカウントスペースと、コントラクトアカウントにおけるコントラクトデータを格納するためのコントラクトスペースと、を含む、
方法。 - 前記ブロックチェーンネットワークのデータストレージスペースは、少なくとも2種のアカウントのデータ操作をサポートすることに用いられ、
各前記アカウントのアカウントデータに使用されるデータ構造が同じである、
請求項1に記載の方法。 - 前記アカウントデータに、アカウント識別子、取引のシーケンス番号、アカウント公開鍵、および、トークンが含まれる、
請求項1に記載の方法。 - 前記アカウントデータは、キー値ペアの記憶方式を採用し、
前記アカウント識別子が、キー値としてキー域に記憶され、
前記取引のシーケンス番号、アカウント公開鍵、および、トークンが値域に記憶される、
請求項3に記載の方法。 - 前記コントラクトデータに、アカウント識別子、コントラクトバイトコード、および、コントラクト内変数が含まれ、
前記アカウント識別子は、スマートコントラクトのコントラクト呼出識別子である、
請求項1に記載の方法。 - 前記コントラクトデータは、キー値ペアの記憶方式を採用し、
前記アカウント識別子が、キー値におけるプレフィックスとして、前記コントラクトバイトコードおよびコントラクト内変数のそれぞれの識別子と組み合わせてキー域に記憶され、
前記コントラクトバイトコードと、コントラクト内変数とが値域に記憶される、
請求項5に記載の方法。 - 前記ブロックチェーンアクセス用インタフェースのタイプに、
アカウントデータへのアクセスに用いられるアカウントアクセス用インタフェース、
コントラクトアカウントの操作に用いられるコントラクト操作用インタフェース、および、
コントラクトデータの更新に用いられる記憶アクセス用インタフェース、が含まれる、
請求項1乃至6のいずれか一項に記載の方法。 - 前記ブロックチェーンアクセス用インタフェースのうちのブロックチェーン読取インタフェースに、
コントラクト内変数読取インタフェース
アカウントトークン残額読取インタフェース、
コントラクトバイトコード読取インタフェース、
アカウントの取引のシーケンス番号読取インタフェース、
オンチェーンコントラクト照会インタフェース、
オンチェーンアカウント照会インタフェース、および、
ブロック高によってブロックハッシュを読み取る読取インタフェース、
のうちの少なくとも1つを含む、
請求項7に記載の方法。 - 前記ブロックチェーンアクセス用インタフェースにおけるブロックチェーン書込インタフェースは、
コントラクトアカウント作成インタフェース、
コントラクトバイトコード初期化インタフェース、
コントラクトアカウント削除インタフェース、
コントラクト内変数記憶インタフェース、
アカウント残額追加インタフェース、および、
アカウント残額減少インタフェース、
のうちの少なくとも1つを含む、
請求項7に記載の方法。 - 前記インタフェースモジュールが、前記データアクセス要求に応じてブロックチェーンアクセス用インタフェースを呼び出し、前記ブロックチェーンネットワークのデータストレージスペースに対して、前記目的アクセスデータへのアクセス動作を行うことは、
前記データアクセス要求がコントラクトアカウント作成要求である場合、前記インタフェースモジュールが、前記コントラクトアカウント作成要求に応じてコントラクトアカウント作成インタフェースを呼び出し、前記アカウントスペースにおいて新規コントラクトアカウントを作成し、作成した前記新規コントラクトアカウントのアカウントデータを書き込むこと、
前記インタフェースモジュールが、前記コントラクトアカウント作成インタフェースを実行する過程において、前記コントラクトバイトコード初期化インタフェースを呼び出し、作成待ちスマートコントラクトをコンパイルし、コントラクトバイトコードを形成して前記コントラクトスペースに書き込むこと、および、
前記インタフェースモジュールが、前記コントラクトアカウント作成インタフェースを実行する過程において、前記コントラクト内変数記憶インタフェースを呼び出し、前記コントラクトスペースにおいて前記スマートコントラクトのコントラクト内変数を作成して記憶すること、
を含む、
請求項9に記載の方法。 - 前記インタフェースモジュールが、前記データアクセス要求に応じてブロックチェーンアクセス用インタフェースを呼び出し、前記ブロックチェーンネットワークのデータストレージスペースに対して、前記目的アクセスデータへのアクセス動作を行うことは、
前記データアクセス要求がコントラクトアカウント削除要求である場合、前記インタフェースモジュールが、前記コントラクトアカウント削除要求に応じてコントラクトアカウント削除インタフェースを呼び出し、前記アカウントスペースから削除待ちコントラクトアカウントのアカウントデータを削除し、前記コントラクトスペースから前記削除待ちコントラクトアカウントのコントラクトデータを削除すること、を含む、
請求項9に記載の方法。 - ブロックチェーンネットワークのブロックチェーンノードに適用され、請求項1乃至11のいずれか一項に記載の方法を実行する、イーサリアム仮想マシンに基づくトランザクション処理装置であって、
ブロックチェーンノードにおいて実行される仮想マシンインスタンスによって、処理待ちトランザクション要求を取得するための処理待ちトランザクション要求取得モジュール、
前記仮想マシンインスタンスによって、前記処理待ちトランザクション要求を実行する過程において、目的アクセスデータへのデータアクセス要求を発生してインタフェースモジュールに転送するためのデータアクセス要求発生/転送モジュール、および、
前記インタフェースモジュールによって、前記データアクセス要求に応じてブロックチェーンアクセス用インタフェースを呼び出し、前記ブロックチェーンネットワークのデータストレージスペースに対して、前記目的アクセスデータへのアクセス動作を行い、アクセス結果を前記仮想マシンインスタンスにフィードバックするためのブロックチェーンアクセス用インタフェース呼出モジュール、を備え、
前記データアクセス要求は、データ読取要求及び/又はデータ書込要求を含み、
前記ブロックチェーンネットワークのデータストレージスペースは、外部アカウントにおけるアカウントデータおよびコントラクトアカウントにおけるアカウントデータを格納するためのアカウントスペースと、コントラクトアカウントにおけるコントラクトデータを格納するためのコントラクトスペースと、を含む、
装置。 - 前記ブロックチェーンネットワークのデータストレージスペースは、少なくとも2種のアカウントのデータ操作をサポートすることに用いられ、
各前記アカウントのアカウントデータに使用されるデータ構造が同じである、
請求項12に記載の装置。 - 少なくとも1つのプロセッサ、および、
前記少なくとも1つのプロセッサに通信接続される記憶装置、を備え
前記記憶装置に、前記少なくとも1つのプロセッサにより実行可能な命令が記憶され、
前記命令は、前記少なくとも1つのプロセッサが請求項1~11のいずれか1項に記載の方法を実行可能であるように、前記少なくとも1つのプロセッサにより実行される、
電子機器。 - 複数のコンピュータ命令を含むコンピュータプログラムであって、
前記コンピュータ命令がプロセッサによって実行されると、請求項1乃至11のいずれか一項に記載の方法をコンピュータに実行させる、
コンピュータプログラム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011543554.8 | 2020-12-24 | ||
CN202011543554.8A CN112286642B (zh) | 2020-12-24 | 2020-12-24 | 以太坊虚拟机的事务处理方法、装置、设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022101477A JP2022101477A (ja) | 2022-07-06 |
JP7253603B2 true JP7253603B2 (ja) | 2023-04-06 |
Family
ID=74426264
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021186112A Active JP7253603B2 (ja) | 2020-12-24 | 2021-11-16 | イーサリアム仮想マシンのトランザクション処理方法、装置、機器、および媒体 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20210391995A1 (ja) |
EP (1) | EP3910516B1 (ja) |
JP (1) | JP7253603B2 (ja) |
KR (1) | KR20210105317A (ja) |
CN (1) | CN112286642B (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114669389B (zh) * | 2022-03-01 | 2024-01-02 | 苏州西热节能环保技术有限公司 | 磨煤机一次风压力控制方法、装置、存储介质和电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200005292A1 (en) | 2018-06-29 | 2020-01-02 | Arcblock, Inc. | Blockchain adapter, protocol, and access layer |
US20200167840A1 (en) | 2019-07-31 | 2020-05-28 | Alibaba Group Holding Limited | Blockchain-based e-bill number application method, apparatus, and electronic device |
JP2020525877A (ja) | 2019-04-03 | 2020-08-27 | アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited | 信頼できる実行環境下でのブロックチェーンデータの処理および保存 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106598490A (zh) * | 2016-11-25 | 2017-04-26 | 深圳前海微众银行股份有限公司 | 区块链数据的访问方法和区块链管理系统 |
CN106951307B (zh) * | 2017-03-06 | 2020-09-22 | 钱德君 | 一种智能合约虚拟机实现方法 |
CN107395674A (zh) * | 2017-06-14 | 2017-11-24 | 广东网金控股股份有限公司 | 一种应用系统访问异构区块链平台的方法及装置 |
US20190058709A1 (en) * | 2017-08-16 | 2019-02-21 | Telefonaktiebolaget Lm Ericsson (Publ) | Tenant management method and system in a cloud computing environment |
WO2019109003A1 (en) * | 2017-11-30 | 2019-06-06 | Visa International Service Association | Blockchain system for confidential and anonymous smart contracts |
CN109034814B (zh) * | 2018-09-14 | 2020-10-16 | 百度在线网络技术(北京)有限公司 | 基于以太坊虚拟机的智能合约处理方法和装置 |
KR20200115902A (ko) * | 2019-03-28 | 2020-10-08 | 주식회사 비즈모델라인 | 스마트컨트랙트를 이용한 비밀 보안 처리 제공 방법 |
US11362807B2 (en) * | 2019-08-14 | 2022-06-14 | R3 Llc | Sealed distributed ledger system |
KR20210023601A (ko) * | 2019-08-23 | 2021-03-04 | 삼성전자주식회사 | 블록체인 계좌 정보를 제공하는 전자 장치와 이의 동작 방법 |
-
2020
- 2020-12-24 CN CN202011543554.8A patent/CN112286642B/zh active Active
-
2021
- 2021-08-05 KR KR1020210103343A patent/KR20210105317A/ko not_active Application Discontinuation
- 2021-08-09 EP EP21190409.9A patent/EP3910516B1/en active Active
- 2021-08-10 US US17/444,814 patent/US20210391995A1/en not_active Abandoned
- 2021-11-16 JP JP2021186112A patent/JP7253603B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200005292A1 (en) | 2018-06-29 | 2020-01-02 | Arcblock, Inc. | Blockchain adapter, protocol, and access layer |
JP2020525877A (ja) | 2019-04-03 | 2020-08-27 | アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited | 信頼できる実行環境下でのブロックチェーンデータの処理および保存 |
US20200167840A1 (en) | 2019-07-31 | 2020-05-28 | Alibaba Group Holding Limited | Blockchain-based e-bill number application method, apparatus, and electronic device |
Also Published As
Publication number | Publication date |
---|---|
EP3910516A2 (en) | 2021-11-17 |
EP3910516B1 (en) | 2023-03-22 |
EP3910516A3 (en) | 2022-03-02 |
JP2022101477A (ja) | 2022-07-06 |
CN112286642A (zh) | 2021-01-29 |
KR20210105317A (ko) | 2021-08-26 |
CN112286642B (zh) | 2021-04-30 |
US20210391995A1 (en) | 2021-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7293314B2 (ja) | イーサリアム仮想マシンのトランザクション処理方法、装置、機器、プログラムおよび媒体 | |
US10452363B2 (en) | Methods and systems for evaluating bytecode in an on-demand service environment including translation of apex to bytecode | |
US11360976B2 (en) | Deployment of javascript and typescript stored procedures and user-defined functions into database management systems | |
JP5052568B2 (ja) | ネットワーク内の装置を管理するための方法、システム、およびプログラム | |
US10635420B2 (en) | Overriding a migrated method in an updated type | |
US10303449B2 (en) | Compiling non-native constants | |
JP7291764B2 (ja) | イーサリアム仮想マシンのトランザクション処理方法、装置、機器、プログラムおよび媒体 | |
WO2023056946A1 (zh) | 一种数据缓存方法、装置和电子设备 | |
JP7253603B2 (ja) | イーサリアム仮想マシンのトランザクション処理方法、装置、機器、および媒体 | |
JP7291759B2 (ja) | イーサリアム仮想マシンのトランザクション処理方法、装置、機器、プログラムおよび媒体 | |
WO2021243665A1 (zh) | 编译方法、编译装置、编译系统、存储介质与电子设备 | |
JP7393404B2 (ja) | コンパイル方法、コンパイル装置、電子デバイス、記憶媒体及びプログラム | |
Royer et al. | Trusted Remote Function Interface | |
CN114185556A (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: 20221124 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20221129 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230224 |
|
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: 20230307 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230327 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7253603 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |