JP7339425B2 - スマートコントラクトを実行するための方法及び装置 - Google Patents

スマートコントラクトを実行するための方法及び装置 Download PDF

Info

Publication number
JP7339425B2
JP7339425B2 JP2022504251A JP2022504251A JP7339425B2 JP 7339425 B2 JP7339425 B2 JP 7339425B2 JP 2022504251 A JP2022504251 A JP 2022504251A JP 2022504251 A JP2022504251 A JP 2022504251A JP 7339425 B2 JP7339425 B2 JP 7339425B2
Authority
JP
Japan
Prior art keywords
transaction
execution
smart contract
node
consensus
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
Application number
JP2022504251A
Other languages
English (en)
Other versions
JP2022542258A (ja
Inventor
珠光 邵
Original Assignee
京▲東▼科技信息技▲術▼有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 京▲東▼科技信息技▲術▼有限公司 filed Critical 京▲東▼科技信息技▲術▼有限公司
Publication of JP2022542258A publication Critical patent/JP2022542258A/ja
Application granted granted Critical
Publication of JP7339425B2 publication Critical patent/JP7339425B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3825Use of electronic signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, 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/401Transaction verification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3236Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Business processing using cryptography
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem
    • H04L2209/463Electronic voting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Theoretical Computer Science (AREA)
  • Finance (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Computer Security & Cryptography (AREA)
  • General Business, Economics & Management (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Economics (AREA)
  • Databases & Information Systems (AREA)
  • Marketing (AREA)
  • Development Economics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Technology Law (AREA)
  • Computing Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Description

本願は、2019年9月24日に中国特許庁に提出された、申請番号201910904191.7で、発明の名称が「スマートコントラクトを実行するための方法及び装置」である中国特許申請の優先順位を主張する。本願の全内容は、参照により本願に組み込まれる。
本開示の実施例は、コンピュータ技術の分野に関し、特にスマートコントラクトを実行するための方法及び装置に関する。
スマートコントラクトは、情報ベースの方法でコントラクトを伝播、検証又は実行するように設計されたコンピュータプロトコルである。スマートコントラクトは、サードパーティなしで、信頼できるトランザクションを実行することを可能にし、これらのトランザクションは、追跡可能で不可逆的である。
現在、多くのスマートコントラクトは通常、定期的に実行する必要がある。ブロックチェーンシステム内の各ノードはいずれも、独自の独立したクロックを有するため、各ノードがクロックの同期を維持することは困難である。したがって、ブロックチェーンシステム自体が各ノードによるスマートコントラクトの実行の同期を制御することは困難である。
一般に、ビジネスシステムは、スマートコントラクトの実行時間に、ブロックチェーンシステムを呼び出して、スマートコントラクトを実行することにより、ブロックチェーンシステム内の各ノードによるスマートコントラクトの実行の同期を確保する。
本開示の実施例は、スマートコントラクトを実行するための方法及び装置を提案する。
第1態様では、本開示の実施例は、スマートコントラクトを実行するための方法を提供し、この方法は、
スマートコントラクトを実行するための事前設定された実行時間に到達したと決定したことに応答して、それが配置されているブロックチェーンシステム内の他のノードが送信した、スマートコントラクトを実行するための事前実行トランザクションを受信したかどうかを決定するステップと、
他のノードが提出した事前実行トランザクションを受信していないと決定したことに応答して、このノードに対応する事前実行トランザクションを生成し、生成された事前実行トランザクションをブロックチェーンシステムに送信するステップと、
スマートコントラクトに対応する事前実行トランザクションを他のノードとコンセンサスするステップと、
コンセンサス後の事前実行トランザクションに従って、スマートコントラクトを取得して実行するステップと、を含む。
いくつかの実施例では、スマートコントラクトを実行するための事前設定された実行時間に到達したと決定したことに応答して、それが配置されているブロックチェーンシステム内の他のノードが送信した、スマートコントラクトを実行するための事前実行トランザクションを受信したかどうかを決定し、それは、
このノードがスマートコントラクトの事前設定された許可ノードであるかどうかを決定するステップと、
このノードがスマートコントラクトの事前設定された許可ノードであると決定したことに応答して、スマートコントラクトの事前設定された実行時間に到達したかどうかを決定するステップと、
スマートコントラクトを実行するための事前設定された実行時間に到達したと決定したことに応答して、それが配置されているブロックチェーンシステム内の他のノードが送信した、スマートコントラクトを実行するための事前実行トランザクションを受信したかどうかを決定するステップと、を含む。
いくつかの実施例では、生成された事前実行トランザクションを、それが配置されているブロックチェーンシステムに送信し、それは、生成された事前実行トランザクションをブロックチェーンシステム内の非許可ノードに送信して、非許可ノードが以下のステップを実行するようにするということを含む。それらのステップは、
事前実行トランザクションを送信するノードがスマートコントラクトの事前設定された許可ノードであるかどうかを決定するステップと、
事前実行トランザクションを送信するノードがスマートコントラクトの事前設定された許可ノードであると決定したことに応答して、それが配置されているブロックチェーンシステム内の他のノードが送信した事前実行トランザクションを受信したかどうかを決定し、及び/又はスマートコントラクトの事前実行トランザクションに関する他のノードとのコンセンサスを完了したかどうかを決定するステップと、
他のノードが提出した事前実行トランザクションを受信していないと決定したことに応答して、及び/又はスマートコントラクトの事前実行トランザクションに関する他のノードとのコンセンサスを完了していないと決定し、受信した事前実行トランザクションを、それが配置されているブロックチェーンシステムに送信するステップと、
スマートコントラクトの事前実行トランザクションを他のノードとコンセンサスするステップと、を含む。
いくつかの実施例では、コンセンサス後の事前実行トランザクションを実行して、コンセンサス後の事前実行トランザクションを記録する。
いくつかの実施例では、事前実行トランザクションは、事前実行トランザクションを生成するノードの署名情報を含む。コンセンサス後の事前実行トランザクションを実行して、コンセンサス後の事前実行トランザクションを記録し、それは、
コンセンサス後の事前実行トランザクションの署名情報を削除するステップと、
署名情報が削除された、コンセンサス後の事前実行トランザクションを実行して、署名情報が削除された、コンセンサス後の事前実行トランザクションを記録するステップと、を含む。
いくつかの実施例では、上記方法は、
スマートコントラクトを提出するための提出トランザクションを受信し、ここで、提出トランザクションは、スマートコントラクトの事前設定された実行時間を含むステップと、
提出トランザクションが異常な提出トランザクションであるかどうかを決定するステップと、
提出トランザクションが異常な提出トランザクションではないと決定したことに応答して、提出トランザクションを、それが配置されているブロックチェーンシステムに送信するステップと、
スマートコントラクトに対応する提出トランザクションを他のノードとコンセンサスするステップと、
コンセンサス後の提出トランザクションを実行して、コンセンサス後の提出トランザクションを記録するステップと、をさらに含む。
いくつかの実施例では、提出トランザクションは、スマートコントラクト、スマートコントラクトを識別するための契約ID、事前設定された許可ノード情報、事前設定された実行回数、及び事前設定された実行時間間隔のうちの少なくとも1つさらに含む。
第2態様では、本開示の実施例は、スマートコントラクトを実行するための装置を提供し、この装置は、
決定ユニットであって、前記決定ユニットは、スマートコントラクトを実行するための事前設定された実行時間に到達したと決定したことに応答して、それが配置されているブロックチェーンシステム内の他のノードが送信した、スマートコントラクトを実行するための事前実行トランザクションを受信したかどうかを決定するように構成される決定ユニットと、
生成ユニットであって、前記生成ユニットは、他のノードが提出した事前実行トランザクションを受信していないと決定したことに応答して、このノードに対応する事前実行トランザクションを生成し、生成された事前実行トランザクションをブロックチェーンシステムに送信するように構成される生成ユニットと、
コンセンサスユニットであって、前記コンセンサスユニットは、スマートコントラクトに対応する事前実行トランザクションを他のノードとコンセンサスするように構成されるコンセンサスユニットと、
実行ユニットであって、前記実行ユニットは、コンセンサス後の事前実行トランザクションに従って、スマートコントラクトを取得して実行するように構成される実行ユニットと、含む。
いくつかの実施例では、上記決定ユニットは、このノードがスマートコントラクトの事前設定された許可ノードであるかどうかを決定し、このノードがスマートコントラクトの事前設定された許可ノードであると決定したことに応答して、スマートコントラクトの事前設定された実行時間に到達したかどうかを決定し、スマートコントラクトを実行するための事前設定された実行時間に到達したと決定したことに応答して、それが配置されているブロックチェーンシステム内の他のノードが送信した、スマートコントラクトを実行するための事前実行トランザクションを受信したかどうかを決定するようにさらに構成される。
いくつかの実施例では、上記生成ユニットは、生成された事前実行トランザクションをブロックチェーンシステム内の非許可ノードに送信して、非許可ノードが以下のステップを実行するようにするようにさらに構成される。
それらのステップは、
事前実行トランザクションを送信するノードがスマートコントラクトの事前設定された許可ノードであるかどうかを決定するステップと、
事前実行トランザクションを送信するノードがスマートコントラクトの事前設定された許可ノードであると決定したことに応答して、それが配置されているブロックチェーンシステム内の他のノードが送信した事前実行トランザクションを受信したかどうかを決定し、及び/又はスマートコントラクトの事前実行トランザクションに関する他のノードとのコンセンサスを完了したかどうかを決定するステップと、
他のノードが提出した事前実行トランザクションを受信していないと決定したことに応答して、及び/又はスマートコントラクトの事前実行トランザクションに関する他のノードとのコンセンサスを完了していないと決定し、受信した事前実行トランザクションを、それが配置されているブロックチェーンシステムに送信するステップと、
スマートコントラクトの事前実行トランザクションを他のノードとコンセンサスするステップと、を含む。
いくつかの実施例では、上記実行ユニットは、コンセンサス後の事前実行トランザクションを実行して、コンセンサス後の事前実行トランザクションを記録するようにさらに構成される。
いくつかの実施例では、事前実行トランザクションは、事前実行トランザクションを生成するノードの署名情報を含み、上記実行ユニットは、コンセンサス後の事前実行トランザクションの署名情報を削除し、署名情報が削除された、コンセンサス後の事前実行トランザクションを実行して、署名情報が削除された、コンセンサス後の事前実行トランザクションを記録するようにさらに構成される。
いくつかの実施例では、上記装置は、
受信ユニットであって、前記受信ユニットは、スマートコントラクトを提出するための提出トランザクションを受信するように構成され、ここで、提出トランザクションは、スマートコントラクトの事前設定された実行時間を含む受信ユニットと、
上記決定ユニットであって、前記上記決定ユニットは、提出トランザクションが異常な提出トランザクションであるかどうかを決定するようにさらに構成される上記決定ユニットと、
送信ユニットであって、前記送信ユニットは、提出トランザクションが異常な提出トランザクションではないと決定したことに応答して、提出トランザクションを、それが配置されているブロックチェーンシステムに送信するように構成される送信ユニットと、
上記コンセンサスユニットであって、前記上記コンセンサスユニットは、スマートコントラクトに対応する提出トランザクションを他のノードとコンセンサスするようにさらに構成される上記コンセンサスユニットと、
上記実行ユニットであって、前記上記実行ユニットは、コンセンサス後の提出トランザクションを実行して、コンセンサス後の提出トランザクションを記録するようにさらに構成される上記実行ユニットと、をさらに含む。
いくつかの実施例では、上記提出トランザクションは、スマートコントラクト、スマートコントラクトを識別するための契約ID、事前設定された許可ノード情報、事前設定された実行回数、及び事前設定された実行時間間隔のうちの少なくとも1つをさらに含む。
第3態様では、本開示の実施例は、電子装置を提供し、この電子装置は、1つ又は複数のプロセッサと、1つ又は複数のプログラムを記憶するための記憶装置と、を含み、1つ又は複数のプログラムが1つ又は複数のプロセッサによって実行される場合、1つ又は複数のプロセッサは、第1態様のいずれか1つの実装形態で説明された方法を実現する。
第4態様では、本開示の実施例は、コンピュータプログラムが記憶されるコンピュータ可読媒体を提供し、このコンピュータプログラムがプロセッサによって実行される場合、第1態様のいずれか1つの実装形態で説明された方法を実現する。
本開示の実施例が提供するスマートコントラクトを実行するための方法及び装置において、ブロックチェーンシステム内のノードを介して、スマートコントラクトの実行時間に、他のノードが提出したスマートコントラクトの事前実行トランザクションを受信していないと決定した場合、このノードに対応する事前実行トランザクションを生成し、それを、それが配置されているブロックチェーンシステムに送信し、その後、各ノードは、スマートコントラクトの事前実行トランザクションをコンセンサスし、コンセンサス後の事前実行トランザクションに従って、スマートコントラクトのタイミング実行を完了し、これにより、ユーザー側のビジネスシステムがスマートコントラクトの実行時間にブロックチェーンシステムをアクティブに呼び出す必要がなくなり、代わりに、ブロックチェーンシステム内の各ノードが事前実行トランザクションに基づいてスマートコントラクトのタイミング実行を完了する。同時に、この方法は、各ノードのクロックが整合していないという問題を保護するため、各ノードのクロックが不整合であっても、各ノードによるスマートコントラクトの実行の同期を確保することもできる。
以下の図面を参照して非限定的な実施例の詳細な説明を読むことにより、本開示の他の特徴、目的及び利点がより明らかになる。
は、本開示の一実施例を適用することができる例示的なシステムアーキテクチャ図である。 は、本開示によるスマートコントラクトを実行するための方法の一実施例のフローチャートである。 は、本開示によるスマートコントラクトを実行するための方法のさらに別の実施例のフローチャートである。 は、本開示によるスマートコントラクトを実行するための方法のさらに別の実施例のフローチャートである。 は、本開示によるスマートコントラクトを実行するための装置の一実施例の概略構造図である。 は、本開示の実施例を実現するのに適した電子装置の概略構造図である。
以下、図面及び実施例を参照して、本開示をさらに詳細に説明する。本明細書に記載される特定の実施例は、関連する発明を説明するためにのみ使用され、本発明を限定するものではないことが理解され得る。なお、説明を容易にするために、図面には関連する発明に関連する部分のみが示されている。
なお、本開示における実施例及び実施例における特徴は、矛盾がない場合、互いに組み合わせることができる。以下、本開示について、図面を参照し、実施例と併せて詳細に説明する。
図1は、本開示のスマートコントラクトを実行するための方法又はスマートコントラクトを実行するための装置の実施例を適用できる例示的なアーキテクチャ100を示している 。
図1に示すように、システムアーキテクチャ100は、端末デバイス101、102、103、ネットワーク104及びブロックチェーンシステム105を含み得る。ブロックチェーンシステム105は、1つ又は複数のノードを含み得、ノード間は、通信接続され得る。ネットワーク104は、端末デバイス101、102、103とブロックチェーンシステム105との間に通信リンクの媒体を提供するために使用される。ネットワーク104は、有線通信リンク、無線通信リンク又は光学ファイバケーブルなど、様々な接続タイプを含み得る。
端末デバイス101、102、103は、ハードウェアであってもよいし、ソフトウェアであってもよい。端末デバイス101、102、103がハードウェアである場合、それらは、スマートフォン、タブレットコンピュータ、電子書籍リーダー、ラップトップコンピュータ及びデスクトップコンピュータなどを含むがこれらに限定されない、様々な電子装置であってもよい。端末デバイス101、102、103がソフトウェアである場合、それらは、上記で列挙された電子装置にインストールされ得る。それらは、複数のソフトウェア又はソフトウェアモジュール(例えば、分散サービスを提供するために使用される複数のソフトウェア又はソフトウェアモジュール)として実装されてもよく、単一のソフトウェア又はソフトウェアモジュールとしても実装されてもよい。ここに特別な制限はない。
ブロックチェーンシステム105内の1つ又は複数のノードは、様々なサービスを提供することができ、例えば、それらは、端末デバイス101、102、103が提出したスマートコントラクトに関連するトランザクションを受信し、スマートコントラクトの実行を完了することができる。
なお、本開示の実施例が提供するスマートコントラクトを実行するための方法は、一般に、ブロックチェーンシステム105内のノードによって実行され、それに応じて、スマートコントラクトを実行するための装置は、一般に、ブロックチェーンシステム105内のノードに設置される。
ブロックチェーンシステム105内のノードは、単一のサーバーであってもよいし、複数のサーバー又は複数のサーバークラスターで構成されてもよいということが指摘されるべきである。ここで、上記サーバーは、ハードウェアであってもよいし、ソフトウェアであってもよい。サーバーがハードウェアである場合、それは、複数のサーバーで構成される分散サーバークラスターとして実装されてもよく、単一のサーバーとしても実装されてもよい。サーバーがソフトウェアである場合、それは、複数のソフトウェア又はソフトウェアモジュール(例えば、分散サービスを提供するために使用される複数のソフトウェア又はソフトウェアモジュール)として実装されてもよく、単一のソフトウェア又はソフトウェアモジュールとしても実装されてもよい。ここに特別な制限はない。
図1の端末デバイス、ネットワーク及びブロックチェーンシステムの数は、単なる例示であることが理解されるべきである。実装のニーズに応じて、任意の数の端末デバイス、ネットワーク及びブロックチェーンシステムを有しうる。
図2を参照し続けると、図2は、本開示によるスマートコントラクトを実行するための方法の一実施例のプロセス200を示している。スマートコントラクトを実行するためのこの方法は、以下のステップ201、ステップ202、ステップ203及びステップ204を含む
ステップ201:スマートコントラクトを実行するための事前設定された実行時間に到達したと決定したことに応答して、それが配置されているブロックチェーンシステム内の他のノードが送信した、スマートコントラクトを実行するための事前実行トランザクションを受信したかどうかを決定する。
本実施例では、スマートコントラクトを実行するための方法の実行主体(図1に示されるブロックチェーンシステム105内のノード)のローカルには、スマートコントラクトとそれに対応する実行時間との対応する関係が事前記憶され得る。このとき、上記実行主体は、事前設定された時間間隔に従って、スマートコントラクトの実行時間に到達したかどうかをポーリングすることができる。
本実施例では、スマートコントラクトを実行するための方法の実行主体(図1に示されるブロックチェーンシステム105内のノード)は、ローカルに記憶される情報をチェックすることにより、他のノードが送信した、スマートコントラクトを実行するための事前実行トランザクションを受信したかどうか決定することができる。
例えば、上記実行主体は、他のノードが送信した、スマートコントラクトを実行するための事前実行トランザクションを受信したかどうかを示すための指示情報を記憶することができる。このとき、指示情報をチェックすることにより、他のノードが送信した、スマートコントラクトの事前実行トランザクションを実行するための指示情報を受信したかどうかを決定することができる。
別の例として、上記実行主体は、受信した、他のノードが送信した、スマートコントラクトを実行するための事前実行トランザクションとスマートコントラクトとの間の対応する関係を記憶することができる。このとき、スマートコントラクトが事前実行トランザクションに対応しているかどうかをチェックすることにより、他のノードが送信した、スマートコントラクトの事前実行トランザクションを実行するための指示情報を受信したかどうかを決定することができる。
それが配置されているブロックチェーンシステム内の他のノードが送信した、スマートコントラクトを実行するための事前実行トランザクションを受信したと決定した場合、他のノードがスマートコントラクトの事前実行トランザクションを処理したことを示していることができる。これにより、上記実行主体によるスマートコントラクトの実行が他のノードと同期していないことを示していることができる。このとき、上記実行主体は、スマートコントラクトの事前実行トランザクションの繰り返し実行などを回避するために、スマートコントラクトの事前実行トランザクションを再度実行する必要がなくてもよい。
ステップ202:他のノードが提出した事前実行トランザクションを受信していないと決定したことに応答して、このノードに対応する事前実行トランザクションを生成し、生成された事前実行トランザクションをブロックチェーンシステムに送信する。
本実施例では、生成された事前実行トランザクションを送信するための方法は、それが配置されているブロックチェーンシステムに応じて異なってもよい。例えば、一部のブロックチェーンシステムでは、各ノードはいずれも、他の各ノードと直接通信することができる。このとき、上記実行主体は、生成された事前実行トランザクションをブロックチェーンシステム内の各ノードに送信することができる。一部のブロックチェーンシステムでは、各ノードは、複数の隣接ノードとのみ通信することができる。このとき、上記実行主体は、生成された事前実行トランザクションを複数の隣接ノードに送信することができる。その後、上記実行主体に隣接するノードは、受信した事前実行トランザクションを複数の隣接ノードに送信することができ、ノード間の継続的な伝播を通じて、事前実行トランザクションをブロックチェーンシステム全体に送信することができる。
オプションで、事前実行トランザクションを生成するときに、事前実行トランザクションを識別するための事前実行IDを同時に生成することができる。
オプションで、事前実行IDは、スマートコントラクトを識別するための契約ID及び実行IDに基づいて生成することができる。ここで、契約IDは、上記ユーザーのユーザーIDに基づいて生成することができるので、異なるユーザーについて、異なる契約IDをより容易に得ることができる。ここで、実行IDは、スマートコントラクトの事前設定された実行情報に基づいて決定することができる。ここで、実行情報は、実行時間、実行回数、実行時間間隔などのうちの少なくとも1つを含み得る。
オプションで、ブロックチェーンシステム内の各ノードは、事前実行トランザクションを受信すると、受信した事前実行トランザクションが異常な事前実行トランザクションであるかどうかを最初に決定して、事前実行トランザクションの悪意のある提出などを回避することができる。具体的には、事前実行トランザクションに含まれる各情報に基づいて、事前実行トランザクションの極性を検証して、受信した事前実行トランザクションが異常な事前実行トランザクションであるかどうかを決定することができる。
オプションで、事前実行トランザクションには、このノードの署名情報が含まれていてもよい。
ステップ203:スマートコントラクトに対応する事前実行トランザクションを他のノードとコンセンサスする。
本実施例では、様々な既存のコンセンサスメカニズムを採用して、スマートコントラクトの事前実行トランザクションをコンセンサスすることができる。例えば、POW(Proof of Work、プルーフ・オブ・ワーク)、POS(Proof of Stake、プルーフ・オブ・ステーク)、BFT(Byzantine Fault Tolerance、ビザンチン・フォールトトレラント性)などである。異なるブロックチェーンシステムは、異なるコンセンサスメカニズムを採用することができる。
スマートコントラクトに対応する事前実行トランザクションに関するブロックチェーンシステム内の各ノードとのコンセンサスを通じて、各ノードによるスマートコントラクトの事前実行トランザクションの実行順序の一貫性を確保することができる。すなわち、各ノードはいずれも、特定のトランザクションの実行後に、スマートコントラクトの事前実行トランザクションを実行することが確保され得る。
コンセンサスメカニズムは、現在、広く研究及び適用されているよく知られた技術であり、ここでは繰り返さない。
ステップ204:コンセンサス後の事前実行トランザクションに従って、スマートコントラクトを取得して実行する。
本実施例では、ブロックチェーンシステム内の各ノードがスマートコントラクトに対応する事前実行トランザクションをコンセンサスした後、事前実行トランザクションに対応するスマートコントラクトとスマートコントラクトを取得することができる。ブロックチェーンシステム内の各ノードは、スマートコントラクトの実行において、一貫している必要があることが理解され得るべきである。したがって、上記実行主体がスマートコントラクトを実行すると同時に、他のノードもスマートコントラクトを実行し、各ノードによるスマートコントラクトの実行の同期を実現する。
オプションで、コンセンサス後の実行順序に従って事前実行トランザクションを実行して、コンセンサス後の事前実行トランザクションを記録することができる。ブロックチェーンシステム内の各ノードによる事前実行トランザクションの実行も一貫していることが理解され得るべきである。したがって、上記実行主体が事前実行トランザクションを実行すると同時に、他のノードも事前実行トランザクションを実行して、コンセンサス後の事前実行トランザクションを記録する。
オプションで、スマートコントラクトを提出するための提出トランザクションは、以下のステップ1、ステップ2、ステップ3、ステップ4、及びステップ5で記録することができる。
ステップ1:スマートコントラクトを提出するための提出トランザクションを受信する。
このステップでは、上記実行主体は、スマートコントラクトを開発するユーザーが提出したスマートコントラクトの提出トランザクションを直接受信することができる。場合によっては、他のノードは、スマートコントラクトを開発するユーザーが提出したスマートコントラクトを受信することができ、このとき、上記実行主体は、他のノードが送信したスマートコントラクトの提出トランザクションを受信することができる。
ここで、提出トランザクションは、スマートコントラクトの事前設定された実行時間を含み得る。
オプションで、提出トランザクションは、スマートコントラクト、スマートコントラクトを識別するための契約ID、事前設定された許可ノード情報、事前設定された実行回数、及び事前設定された実行時間間隔のうちの少なくとも1つをさらに含む。
ここで、許可ノード情報は、スマートコントラクトの許可ノードを示すために使用され得る。ここで、スマートコントラクトの許可ノードは、上記ユーザーによって事前に設定されてもよい。許可ノードの数は、実際のアプリケーション要件に応じて、ユーザーによって設定されてもよい。異なるスマートコントラクトは、それに応じて異なる許可ノードを設定することができる。例えば、ユーザーは、契約IDが0で終わるノードを許可ノードとして事前に設定することができる。
一般に、許可ノードの数は、単一障害点などの問題を回避するために、少なすぎることができない。
したがって、ブロックチェーンシステム内のノードを許可ノードと非許可ノードに分割することができ、さらに、実際のアプリケーション要件に応じて、許可ノードと非許可ノードを制御してさまざまな操作を実行することができる。
スマートコントラクトの提出トランザクションのコンテンツは、実際のアプリケーション要件に応じて、上記ユーザーによって柔軟に設定されてもよいことが理解され得るべきである。
ステップ2:提出トランザクションが異常な提出トランザクションであるかどうかを決定する。
このステップでは、ブロックチェーンシステムに損害を与える、悪意を持って送信された提出トランザクションなどの発生を回避するために、提出トランザクションの安全性を判断することができる。具体的には、提出トランザクションのコンテンツに応じて、異なる方法を選択して提出トランザクションを検証することにより、提出トランザクションが異常な提出トランザクションであるかどうかを決定することができる。
オプションで、提出トランザクションにスマートコントラクトを識別するための契約IDが含まれている場合、契約IDが一意であるかどうかを決定することができる。契約IDが一意でない場合、提出トランザクションが異常な提出トランザクションであると決定することができる。
オプションで、提出トランザクションに許可ノード情報が含まれている場合、許可ノード情報が事前設定された条件を満たしているかどうかを決定することにより、提出トランザクションが異常な提出トランザクションであるかどうかを決定することができる。許可ノード情報が事前設定された条件を満たしていないと決定した場合、提出トランザクションが異常な提出トランザクションであるかどうかを決定することができる。ここで、事前設定された条件は、さまざまなアプリケーションシナリオに応じて柔軟に設定されてもよい。例えば、事前設定された条件は、許可ノードの数の値の範囲を含み得る。
オプションで、提出トランザクションに実行回数及び/又は実行時間間隔が含まれる場合、実行回数が事前設定された実行回数の値の範囲を満たしているかどうか、及び/又は実行時間間隔が事前設定された実行時間間隔の値の範囲を満たしているかどうかを決定することにより、提出トランザクションが異常な提出トランザクションであるかどうかを決定することができる。ここで、実行回数の値の範囲と実行時間間隔の値の範囲は、実際のアプリケーションシナリオに応じて事前に設定することができる。実行回数が事前設定された実行回数の値の範囲を満たしていないと決定した場合、及び/又は実行時間間隔が事前設定された実行時間間隔の値の範囲を満たしていないと決定した場合、提出トランザクションが異常な提出トランザクションであると決定することができる。
事前設定された実行回数と実行時間間隔を制御することにより、実行回数の多すぎと実行時間間隔の短すぎが他のスマートコントラクトの実行に影響を与えるなどの問題を回避することができる。
ステップ3:提出トランザクションが異常な提出トランザクションではないと決定したことに応答して、提出トランザクションを、それが配置されているブロックチェーンシステムに送信する。
ステップ4:スマートコントラクトに対応する提出トランザクションを他のノードとコンセンサスする。
このステップでは、スマートコントラクトに対応する提出トランザクションに関するブロックチェーンシステム内の各ノードとのコンセンサスを通じて、各ノードによるスマートコントラクトの提出トランザクションの実行順序の一貫性を確保することができる。すなわち、特定のトランザクションの実行が終了した後に、各ノードがスマートコントラクトの提出トランザクションを実行することを確保することができる。
ステップ5:コンセンサス後の提出トランザクションを実行して、コンセンサス後の提出トランザクションを記録する。ブロックチェーンシステム内の各ノードによるスマートコントラクトの提出トランザクションの実行も一貫していることが理解され得るべきである。したがって、上記実行主体が提出トランザクションを実行すると同時に、他のノードも提出トランザクションを実行して、コンセンサス後の提出トランザクションを記録する。
スマートコントラクトの提出トランザクションの実行を通じて、ブロックチェーンシステム内の各ノードはいずれも、提出トランザクションに含まれるスマートコントラクトの一部の情報を記録して、その後のスマートコントラクトの実行を容易にすることができる。
例えば、提出トランザクションには契約IDを含み得る。このとき、各ノードは、契約IDを記録することで、異なるスマートコントラクトを区別することができる。
別の例として、提出トランザクションは、スマートコントラクトの事前設定された実行時間、実行回数、及び実行時間間隔などを含み得る。このとき、各ノードは、スマートコントラクトの事前設定された実行時間、実行回数、及び実行時間間隔などを記録することで、スマートコントラクトの実行時間に到達したかどうかをポーリングして決定し、事前設定された実行回数及び実行時間間隔に従ってスマートコントラクトの効果的な実行を完了することができる。
別の例として、提出トランザクションは、許可ノード情報を含み得る。このとき、各ノードは、提出トランザクションを送信するノードが許可ノードであるかどうかを検証することができる。
オプションで、本開示の上記実施例が提供する方法において、ブロックチェーンシステム内のノードは、スマートコントラクトの実行時間に、他のノードが提出したスマートコントラクトの事前実行トランザクションを受信していないと決定した場合、このノードに対応する事前実行トランザクションを生成し、それが配置されているブロックチェーンシステムに送信し、次に、各ノードは、スマートコントラクトの事前実行トランザクションをコンセンサスし、コンセンサス後の事前実行トランザクションに従って、スマートコントラクトのタイミング実行を完了し、それによりブロックチェーンシステム内の各ノードは、事前実行トランザクションに基づいて、スマートコントラクトのタイミング実行を自動的に完了するということを実現するため、各ノードのクロックが整合していないこと、及び各ノードが自分のクロックに従ってスマートコントラクトをそれぞれ実行することによるスマートコントラクトの実行が同期していないという問題を回避する。
図3をさらに参照すると、図3は、スマートコントラクトを実行するための方法のさらに別の実施例のプロセス300を示している。スマートコントラクトを実行するための方法のこのプロセス300は、以下のステップ301、ステップ302、ステップ303、ステップ304、ステップ305、及びステップ306を含む。
ステップ301:このノードがスマートコントラクトの事前設定された許可ノードであるかどうかを決定する。
本実施例では、上記実行主体は、スマートコントラクトとそれに対応する事前設定された許可ノードとの間の対応する関係をローカルに事前に記憶することができる。このとき、スマートコントラクトに対応する事前設定された許可ノードにこのノードが含まれているかどうかを決定することにより、このノードがスマートコントラクトの事前設定された許可ノードであるかどうか決定することができる。
オプションで、上記実行主体が許可ノード情報を含むスマートコントラクトの提出トランザクションを事前に実行した場合、上記実行主体は、スマートコントラクトに対応する許可ノード情報を記録する。このとき、上記実行主体は、事前に記録された許可ノード情報に基づいて、このノードがスマートコントラクトの事前設定された許可ノードであるかどうかを決定することができる。
ここで、許可ノード及び許可ノード情報に関連するコンテンツについては、図2に対応する実施例における許可ノードの関連する説明を参照することができ、ここでは繰り返さない。
ステップ302:このノードがスマートコントラクトの事前設定された許可ノードであると決定したことに応答して、スマートコントラクトの事前設定された実行時間に到達したかどうかを決定する。
本実施例では、スマートコントラクトの許可ノードのローカルには、スマートコントラクトとそれに対応する実行時間との間の対応する関係が事前記憶され得る。このとき、上記実行主体は、事前設定された時間間隔に従って、スマートコントラクトを実行する実行時間に到達したかどうかポーリングすることができる。非許可ノードは、スマートコントラクトの実行中のリソース消費を削減するために、スマートコントラクトの実行時間を検出する必要がなくてもよい。
ステップ303:スマートコントラクトを実行するための事前設定された実行時間に到達したと決定したことに応答して、それが配置されているブロックチェーンシステム内の他のノードが送信した、スマートコントラクトを実行するための事前実行トランザクションを受信したかどうかを決定する。
ステップ304:他のノードが提出した事前実行トランザクションを受信していないと決定したことに応答して、このノードに対応する事前実行トランザクションを生成し、生成された事前実行トランザクションをブロックチェーンシステムに送信する。
本実施例では、生成された事前実行トランザクションをブロックチェーンシステム内の非許可ノードに送信して、非許可ノードは、以下のステップ1、ステップ2、ステップ3、及びステップ4を実行するようにする。
ステップ1:事前実行トランザクションを送信するノードがスマートコントラクトの事前設定された許可ノードであるかどうかを決定する。
このステップでは、上記実行主体は、スマートコントラクトの許可ノードのIDをローカルに事前記憶することができる。このとき、事前実行トランザクションを送信するノードのIDに従って、事前実行トランザクションを送信するノードがスマートコントラクトの事前設定された許可ノードであるかどうかを決定することができる。
オプションで、事前実行トランザクションは、事前実行トランザクションを生成するノードの署名情報を含み得る。同時に、ブロックチェーンシステム内の各ノードは、スマートコントラクトの許可ノードの署名情報を事前記憶することができる。このとき、受信した事前実行トランザクションに含まれている署名情報が事前記憶されたスマートコントラクトの許可ノードの署名情報であるかどうかを判断することにより、事前実行トランザクションを送信するノードがスマートコントラクトの事前設定された許可ノードであるかどうかを決定する。
ステップ2:事前実行トランザクションを送信するノードがスマートコントラクトの事前設定された許可ノードであると決定したことに応答して、それが配置されているブロックチェーンシステム内の他のノードが送信した事前実行トランザクションを受信したかどうかを決定し、及び/又はスマートコントラクトの事前実行トランザクションに関する他のノードとのコンセンサスを完了したかどうかを決定する。
それが配置されているブロックチェーンシステム内の他のノードが送信した事前実行トランザクションを受信したと決定した場合、及び/又はスマートコントラクトの事前実行トランザクションに関する他のノードとのコンセンサスを完了したと決定した場合、他のノードがスマートコントラクトの事前実行トランザクションを処理しており、この非許可ノードによるスマートコントラクトの実行が他のノードと同期していないということを示していることができる。このとき、スマートコントラクトの事前実行トランザクションの繰り返し実行などを回避するために、この非許可ノードがスマートコントラクトの事前実行トランザクションを再度実行する必要がなくてもよい。
ステップ3:他のノードが提出した事前実行トランザクションを受信していないと決定し、及び/又はスマートコントラクトの事前実行トランザクションに関する他のノードとのコンセンサスを完了していないと決定したことに応答して、受信した事前実行トランザクションを、それが配置されているブロックチェーンシステムに送信する。
ステップ4:スマートコントラクトの事前実行トランザクションを他のノードとコンセンサスする。これにより、スマートコントラクトに対応する事前実行トランザクションに関するブロックチェーンシステム内の各ノードとのコンセンサスを通じて、各ノードによるスマートコントラクトの事前実行トランザクションの実行順序の一貫性を確保する。
ステップ305:スマートコントラクトに対応する事前実行トランザクションを他のノードとコンセンサスする。
ステップ306:コンセンサス後の事前実行トランザクションに従って、スマートコントラクトを取得して実行する。
上記ステップ305及び306の特定の実行プロセスについては、図2に対応する実施例におけるステップ203及び204の関連する説明を参照することができ、ここでは繰り返さない。
本開示の上記実施例が提供する方法において、ブロックチェーンシステム内の許可ノードがスマートコントラクトの実行時間に、他のノードが提出した事前実行トランザクションを受信しないように制御することにより、スマートコントラクトの事前実行トランザクションを生成し、それをブロックチェーンシステムに送信し、その後、ブロックチェーンシステム内の各ノードは、スマートコントラクトの事前実行トランザクションをコンセンサスして実行することにより、スマートコントラクトの実行を完了する。これにより、スマートコントラクトの事前実行トランザクションを生成するノードの数を減らすことができ、それによりブロックチェーンシステムのネットワーク通信のプレッシャーを軽減し、ネットワークストームなどの状況を回避することができる。
図4をさらに参照すると、図4は、スマートコントラクトを実行するための方法のさらに別の実施例のプロセス400を示している。スマートコントラクトを実行するための方法のこのプロセス400は、以下のステップ401、ステップ402、ステップ403、及びステップ404を含む。
ステップ401:スマートコントラクトを実行するための事前設定された実行時間に到達したと決定したことに応答して、それが配置されているブロックチェーンシステム内の他のノードが送信した、スマートコントラクトを実行するための事前実行トランザクションを受信したかどうかを決定する。
このステップでは、ブロックチェーンシステム内のノードは、スマートコントラクトの事前実行トランザクションを送信するときに、事前実行トランザクションに自分の署名情報を追加することができる。その後、署名情報に基づいて事前実行トランザクションのソースを検証して、事前実行トランザクションの正確性を確保することもできる。
ステップ402:他のノードが提出した事前実行トランザクションを受信していないと決定したことに応答して、このノードに対応する事前実行トランザクションを生成し、生成された事前実行トランザクションをブロックチェーンシステムに送信する。
このステップでは、上記実行主体は、対応する事前実行トランザクションを生成するときに、事前実行トランザクションにこのノードの署名情報を追加することができる。
ステップ403:スマートコントラクトに対応する事前実行トランザクションを他のノードとコンセンサスする。
上記ステップ401、402及び403の署名情報以外のコンテンツの特定の実行プロセスは、図2に対応する実施例におけるステップ201、202及び203の関連する説明を参照することができ、ここでは繰り返さない。
ステップ404:コンセンサス後の事前実行トランザクションの署名情報を削除し、署名情報が削除された、コンセンサス後の事前実行トランザクションを実行して、署名情報が削除された、コンセンサス後の事前実行トランザクションを記録する。
ブロックチェーンシステム内のノードが異なれば、コンセンサス事前実行トランザクションを生成するノードが異なる可能性があるため、各ノードによって記録されたコンセンサス後の事前実行トランザクションの署名情報が異なる可能性がある。これに基づいて、署名情報を含む事前実行トランザクションを直接実行すると、各ノードによって記録された事前実行トランザクションは一貫性がなくなる可能性がある。
本実施例におけるスマートコントラクトを実行するための方法において、事前実行トランザクションを実行する前に、事前実行トランザクションの署名情報を最初に削除することにより、各ノードによる事前実行トランザクションの実行の一貫性を確保し、各ノードによって記録された事前実行トランザクションの不一貫性を回避することができる。
図5をさらに参照すると、上記の各図に示される方法の実現として、本開示は、スマートコントラクトを実行するための装置の一実施例を提供し、この装置の実施例は、図2に示される方法の実施例に対応し、この装置は、様々な電子装置に特に適用することができる。
図5に示すように、本実施例が提供するスマートコントラクトを実行するための装置500は、決定ユニット501、生成ユニット502、コンセンサスユニット503及び実行ユニット504を含む。ここで、決定ユニットは、スマートコントラクトを実行するための事前設定された実行時間に到達したと決定したことに応答して、それが配置されているブロックチェーンシステム内の他のノードが送信した、スマートコントラクトを実行するための事前実行トランザクションを受信したかどうかを決定するように構成され、生成ユニットは、他のノードが提出した事前実行トランザクションを受信していないと決定したことに応答して、このノードに対応する事前実行トランザクションを生成し、生成された事前実行トランザクションをブロックチェーンシステムに送信するように構成され、コンセンサスユニットは、スマートコントラクトに対応する事前実行トランザクションを他のノードとコンセンサスするように構成され、実行ユニットは、コンセンサス後の事前実行トランザクションに従って、スマートコントラクトを取得して実行するように構成される。
本実施例では、スマートコントラクトを実行するための装置500において、決定ユニット501、生成ユニット502、コンセンサスユニット503及び実行ユニット504の特定の処理及びそれらによってもたらされる技術的効果は、図2に対応する実施例におけるステップ201、ステップ202、ステップ203及びステップ204の関連する説明をそれぞれ参照することができ、ここでは繰り返さない。
本実施例のいくつかのオプションの実装形態では、決定ユニット501は、スマートコントラクトを実行するための事前設定された実行時間に到達したと決定したことに応答して、それが配置されているブロックチェーンシステム内の他のノードが送信した、スマートコントラクトを実行するための事前実行トランザクションを受信したかどうかを決定するように構成され、生成ユニット502は、他のノードが提出した事前実行トランザクションを受信していないと決定したことに応答して、このノードに対応する事前実行トランザクションを生成し、生成された事前実行トランザクションをブロックチェーンシステムに送信するように構成され、コンセンサスユニット503は、スマートコントラクトに対応する事前実行トランザクションを他のノードとコンセンサスするように構成され、実行ユニット504は、コンセンサス後の事前実行トランザクションに従って、スマートコントラクトを取得して実行するように構成される。
本実施例のいくつかのオプションの実装形態では、上記決定ユニット501は、このノードがスマートコントラクトの事前設定された許可ノードであるかどうかを決定し、このノードがスマートコントラクトの事前設定された許可ノードであると決定したことに応答して、スマートコントラクトの事前設定された実行時間に到達したかどうかを決定し、スマートコントラクトを実行するための事前設定された実行時間に到達したと決定したことに応答して、それが配置されているブロックチェーンシステム内の他のノードが送信した、スマートコントラクトを実行するための事前実行トランザクションを受信したかどうかを決定するようにさらに構成される。
本実施例のいくつかのオプションの実装形態では、上記生成ユニット502は、生成された事前実行トランザクションをブロックチェーンシステム内の非許可ノードに送信することにより、非許可ノードは、
事前実行トランザクションを送信するノードがスマートコントラクトの事前設定された許可ノードであるかどうかを決定するステップ、
事前実行トランザクションを送信するノードがスマートコントラクトの事前設定された許可ノードであると決定したことに応答して、それが配置されているブロックチェーンシステム内の他のノードが送信した事前実行トランザクションを受信したかどうかを決定し、及び/又はスマートコントラクトの事前実行トランザクションに関する他のノードとのコンセンサスを完了したかどうかを決定するステップ、
他のノードが提出した事前実行トランザクションを受信していないと決定したことに応答して、及び/又はスマートコントラクトの事前実行トランザクションに関する他のノードとのコンセンサスを完了していないと決定し、受信した事前実行トランザクションを、それが配置されているブロックチェーンシステムに送信するステップ、及び
スマートコントラクトの事前実行トランザクションを他のノードとコンセンサスするステップを実行するようにさらに構成される。
本実施例のいくつかのオプションの実装形態では、上記実行ユニット504は、コンセンサス後の事前実行トランザクションを実行して、コンセンサス後の事前実行トランザクションを記録するようにさらに構成される。
本実施例のいくつかのオプションの実装形態では、事前実行トランザクションは、事前実行トランザクションを生成するノードの署名情報を含み、上記実行ユニット504は、コンセンサス後の事前実行トランザクションの署名情報を削除し、署名情報が削除された、コンセンサス後の事前実行トランザクションを実行して、署名情報が削除された、コンセンサス後の事前実行トランザクションを記録するようにさらに構成される。
本実施例のいくつかのオプションの実装形態では、上記装置は、スマートコントラクトを提出するための提出トランザクションを受信するように構成される受信ユニット(図には示されていない)をさらに含み、ここで、提出トランザクションは、スマートコントラクトの事前設定された実行時間を含み、上記決定ユニット501は、提出トランザクションが異常な提出トランザクションであるかどうかを決定するようにさらに構成され、送信ユニット(図には示されていない)は、提出トランザクションが異常な提出トランザクションではないと決定したことに応答して、提出トランザクションを、それが配置されているブロックチェーンシステムに送信するように構成され、上記コンセンサスユニット503は、スマートコントラクトに対応する提出トランザクションを他のノードとコンセンサスするようにさらに構成され、上記実行ユニット504は、コンセンサス後の提出トランザクションを実行して、コンセンサス後の提出トランザクションを記録するようにさらに構成される。
本開示の上記実施例が提供する装置において、決定ユニットは、スマートコントラクトを実行するための事前設定された実行時間に到達したと決定したことに応答して、それが配置されているブロックチェーンシステム内の他のノードが送信した、スマートコントラクトを実行するための事前実行トランザクションを受信したかどうかを決定し、生成ユニットは、他のノードが提出した事前実行トランザクションを受信していないと決定したことに応答して、このノードに対応する事前実行トランザクションを生成し、生成された事前実行トランザクションをブロックチェーンシステムに送信し、コンセンサスユニットは、スマートコントラクトに対応する事前実行トランザクションを他のノードとコンセンサスし、実行ユニットは、コンセンサス後の事前実行トランザクションに従って、スマートコントラクトを取得して実行することにより、ブロックチェーンシステム内の各ノードは、事前実行トランザクションに基づいて、スマートコントラクトのタイミング実行を完了できると同時に、各ノードによるスマートコントラクトの実行の同期を確保することもできる。
以下、図6を参照すると、図6は、本開示の実施例を実現するのに適した電子装置(例えば、図1のブロックチェーンシステム105内のノード)600の概略構造図を示している。図6に示される電子装置は、単なる一例であり、本開示の実施例の機能及び使用範囲に任意の制限をもたらすべきではない。
図6に示すように、電子装置600は、読み取り専用メモリ(ROM)602に記憶されたプログラム又は記憶装置608からランダムアクセスメモリ(RAM)603にロードされたプログラムに従って、様々な適切なアクションと処理を実行できる処理装置(例えば、中央処理装置やグラフィックプロセッサなど)601を含み得る。RAM603には、電子装置600の操作に必要な様々なプログラムとデータがさらに記憶される。処理装置601、ROM 602及びRAM603は、バス604を介して互いに接続される。入出力(I/O)インターフェース605も、バス604に接続される。
一般に、以下の装置は、I/Oインターフェース605に接続され得る。タッチスクリーン、タッチパッド、キーボード、マウス、カメラ、マイクロフォン、加速度計、及びジャイロスコープなどを含む入力装置606、液晶ディスプレイ(LCD)、スピーカー、及びバイブレーターなどを含む出力装置607、テープやハードディスクなどを含む記憶装置608、及び通信装置609。通信装置609は、電子装置600が他の装置と無線通信又は有線通信を実行してデータを交換することを可能にし得る。図6は、様々な装置を有する電子装置600を示しているが、示されているすべての装置を実装又は備える必要はないことが理解されるべきである。代わりに、多かれ少なかれ装置を実装又は備えることができる。図6に示されている各ブロックは、1つの装置を表すことができるか、又は必要に応じて複数の装置を表すことができる。
特に、本開示の実施例によれば、フローチャートを参照して上記で説明したプロセスは、コンピュータソフトウェアプログラムとして実装され得る。例えば、本開示の実施例は、コンピュータ可読媒体に搭載されたコンピュータプログラムを含むコンピュータプログラム製品を含み、このコンピュータプログラムは、フローチャートに示される方法を実行するためのプログラムコードを含む。そのような実施例では、このコンピュータプログラムは、通信装置609介してネットワークからダウンロード及びインストールされ得るか、又は記憶装置608からインストールされ得るか、又はROM602からインストールされ得る。このコンピュータプログラムが処理装置601により実行されると、本開示の実施例の方法で定義された上記機能が実行される。
なお、本開示の実施例に記載されるコンピュータ可読媒体は、コンピュータ可読信号媒体又はコンピュータ可読記憶媒体、あるいは2つの任意の組み合わせであってもよい。コンピュータ可読記憶媒体は、例えば、電気、磁気、光学、電磁、赤外線、又は半導体のシステム、装置又はデバイス、又は上記の任意の組み合わせであってもよいが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な例は、1つ又は複数のワイヤーを有する電気接続、ポータブルコンピュータディスク、ハードディスク、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROM又はフラッシュメモリ)、光ファイバ、ポータブルコンパクトディスク読み出し専用メモリ(CD-ROM)、光記憶装置、磁気記憶装置、又は上記の任意の適切な組み合わせを含み得るが、これらに限定されない。本開示の実施例では、コンピュータ可読記憶媒体は、プログラムを含む又は記憶する任意の有形媒体であってもよく、このプログラムは、命令実行システム、装置又はデバイスに使用され得るか、又はそれらと組み合わせて使用され得る。本開示の実施例では、コンピュータ可読信号媒体は、ベースバンド内で、又は搬送波の一部として伝播されるデータ信号を含み得、これには、コンピュータで読み取り可能なプログラムコードが運ばれる。この伝播されたデータ信号は、電磁信号、光信号又は上記の任意の適切な組み合わせを含むがこれらに限定されない多くの形態をとることができる。コンピュータ可読信号媒体はまた、コンピュータ可読記憶媒体以外の任意のコンピュータ可読媒体であってもよく、このコンピュータ可読信号媒体は、命令実行システム、装置又はデバイスによって使用されるか、又はそれらと組み合わせて使用されるプログラムを送信、伝播又は伝送することができる。コンピュータ可読媒体に含まれるプログラムコードは、ワイヤー、光ケーブル、RF(無線周波数)など、又は上記の任意の適切な組み合わせを含むがこれらに限定されない任意の適切な媒体で伝送することができる。
上記コンピュータ可読媒体は、上記電子装置に含まれていてもよく、この電子装置に組み立てられずに単独で存在していてもよい。上記コンピュータ可読媒体には、1つ又は複数のプログラムが搭載され、上記1つ又は複数のプログラムがこの電子装置によって実行される場合、この電子装置は、スマートコントラクトを実行するための事前設定された実行時間に到達したと決定したことに応答して、それが配置されているブロックチェーンシステム内の他のノードが送信した、スマートコントラクトを実行するための事前実行トランザクションを受信したかどうかを決定し、他のノードが提出した事前実行トランザクションを受信していないと決定したことに応答して、このノードに対応する事前実行トランザクションを生成し、生成された事前実行トランザクションをブロックチェーンシステムに送信し、スマートコントラクトに対応する事前実行トランザクションを他のノードとコンセンサスし、コンセンサス後の事前実行トランザクションに従って、スマートコントラクトを取得して実行する。
本開示の実施例の操作を実行するために使用されるコンピュータプログラムコードは、1つ又は複数のプログラミング言語又はそれらの組み合わせで書くことができ、前記プログラミング言語は、Java、Smalltalk、及びC++などのオブジェクト指向のプログラミング言語を含み、「C」言語や同様のプログラミング言語など、従来の手続き型プログラミング言語をさらに含む。プログラムコードは、ユーザーコンピュータで完全に実行され得るか、一部がユーザーコンピュータで実行されるか、独立したソフトウェアパッケージとして実行され得るか、一部がユーザーコンピュータで実行されて一部がリモートコンピュータで実行され得るか、又はリモートコンピュータ又はサーバーで完全に実行され得る。リモートコンピュータの場合、リモートコンピュータは、ローカルエリアネットワーク(LAN)又はワイドエリアネットワーク(WAN)を含むあらゆる種類のネットワークを介して、ユーザーコンピュータに接続され得るか、又は、外部コンピュータに接続され得る(例えば、インターネットサービスプロバイダーを使用してインターネット経由で接続される)。
図面のフローチャート及びブロック図は、本開示の様々な実施例による、システム、方法及びコンピュータプログラム製品の実現可能なシステムアーキテクチャ、機能及び操作を示している。この点に関して、フローチャート又はブロック図の各ブロックは、1つのモジュール、プログラムセグメント、又はコードの一部を表すことができ、このモジュール、プログラムセグメント、又はコードの一部は、指定された論理機能を実現するための1つ又は複数の実行可能な命令を含む。いくつかの代替としての実装では、ブロックにマークされた機能は、図面にマークされた順序とは異なる順序で発生することもできることにも注意する必要がある。例えば、連続的に表される2つのブロックは、実際には実質的に並行して実行され得、それらは、関係する機能によって、逆の順序で実行され得る場合がある。ブロック図及び/又はフローチャートの各ブロック、及びブロック図及び/又はフローチャートのブロックの組み合わせは、指定された機能又は操作を実行する専用のハードウェアベースのシステムによって実現され得るか、又は専用のハードウェアとコンピュータ命令の組み合わせによって実現され得ることにも注意する必要がある。
本開示で説明される実施例に含まれるユニットは、ソフトウェアで実装され得るか、又はハードウェアで実装され得る。記載されたユニットは、プロセッサにも設置され得、例えば、プロセッサであって、決定ユニット、生成ユニット、コンセンサスユニット及び実行ユニットを含むと記述され得る。ここで、これらのユニットの名は、特定の状況下でのこのユニット自体の制限を構成するものではない。例えば、決定ユニットは、「スマートコントラクトを実行するための事前設定された実行時間に到達したと決定したことに応答して、それが配置されているブロックチェーンシステム内の他のノードが送信した、スマートコントラクトを実行するための事前実行トランザクションユニットを受信したかどうかを決定する」とさらに記述され得る。
以上の説明は、本開示の好ましい実施例及び適用される技術原理の説明にすぎない。当業者であれば、本開示の実施例に含まれる本発明の範囲は、上記技術的特徴の特定の組み合わせによって形成される技術的解決手段に限定されず、上記開示の構想から逸脱することなく、上記技術的特徴又はそれらの同等の特徴の任意の組み合わせよって形成される他の技術的解決手段もカバーすべきであるということを理解する必要がある。例えば、上記特徴と本開示の実施例で開示された(ただし、これらに限定されない)同様の機能を有する技術的特徴を互いに置き換えることで形成される技術的解決手段である。

Claims (16)

  1. ブロックチェーンシステム内の一のノードによって実行される、スマートコントラクトを実行するための方法であって、
    スマートコントラクトを実行するための事前設定された実行時間に到達したと定したことに応答して、前記ブロックチェーンシステム内の他のノードが送信した、前記スマートコントラクトを実行するための事前実行トランザクションを受信したかどうかを判断するステップと、
    前記他のノードが提出した事前実行トランザクションを受信していないと定したことに応答して、前記一のノードに対応する事前実行トランザクションを生成し、生成された事前実行トランザクションを前記ブロックチェーンシステムに送信するステップと、
    前記スマートコントラクトに対応する事前実行トランザクションを他のノードとコンセンサスするステップと、
    コンセンサス後の事前実行トランザクションに従って、前記スマートコントラクトを取得して実行するステップと、を含むスマートコントラクトを実行するための方法。
  2. 前記スマートコントラクトを実行するための事前設定された実行時間に到達したと定したことに応答して、前記ブロックチェーンシステム内の他のノードが送信した、前記スマートコントラクトを実行するための事前実行トランザクションを受信したかどうかを判断するステップは、
    前記一のノードが前記スマートコントラクトの事前設定された許可ノードであるかどうかを判断するステップと、
    前記一のノードが前記スマートコントラクトの事前設定された許可ノードであると定したことに応答して、スマートコントラクトの事前設定された実行時間に到達したかどうかを判断するステップと、
    スマートコントラクトを実行するための事前設定された実行時間に到達したと定したことに応答して、前記ブロックチェーンシステム内の他のノードが送信した、前記スマートコントラクトを実行するための事前実行トランザクションを受信したかどうかを判断するステップと、を含む請求項1に記載の方法。
  3. 成された事前実行トランザクションを前記ブロックチェーンシステムに送信するステップは、
    生成された事前実行トランザクションを前記ブロックチェーンシステム内の非許可ノードに送信するステップと、
    事前実行トランザクションを送信するノードが前記スマートコントラクトの事前設定された許可ノードであるかどうかを判断することと、
    事前実行トランザクションを送信するノードが前記スマートコントラクトの事前設定された許可ノードであると定したことに応答して、前記ブロックチェーンシステム内の他のノードが送信した事前実行トランザクションを受信したかどうかを判断し、及び/又は前記スマートコントラクトの事前実行トランザクションに対して他のノードとコンセンサスを完了したかどうかを判断することと、
    前記他のノードが提出した事前実行トランザクションを受信していないと定した場合、及び/又は前記スマートコントラクトの事前実行トランザクションに対して前記他のノードとコンセンサスを完了していないと定した場合、受信した事前実行トランザクションを前記ブロックチェーンシステムに送信することと、
    前記スマートコントラクトの事前実行トランザクションを前記他のノードとコンセンサスすることと、を前記非許可ノードに実行させるようにするステップと、を含む請求項2に記載の方法。
  4. コンセンサス後の事前実行トランザクションを実行して、コンセンサス後の事前実行トランザクションを記録するステップをさらに含む請求項1に記載の方法。
  5. 事前実行トランザクションが事前実行トランザクションを生成するノードの署名情報を含み
    ンセンサス後の事前実行トランザクションを実行して、コンセンサス後の事前実行トランザクションを記録するステップは、
    コンセンサス後の事前実行トランザクションの署名情報を削除するステップと、
    署名情報が削除された、コンセンサス後の事前実行トランザクションを実行して、署名情報が削除された、コンセンサス後の事前実行トランザクションを記録するステップと、を含む請求項4に記載の方法。
  6. スマートコントラクトを提出するための提出トランザクションを受信するステップであって、前記提出トランザクションは、前記スマートコントラクトの事前設定された実行時間を含むステップと、
    前記提出トランザクションが異常な提出トランザクションであるかどうかを判断するステップと、
    前記提出トランザクションが異常な提出トランザクションではないと定したことに応答して、前記提出トランザクションを前記ブロックチェーンシステムに送信するステップと、
    前記スマートコントラクトに対応する提出トランザクションを前記他のノードとコンセンサスするステップと、
    コンセンサス後の提出トランザクションを実行して、コンセンサス後の提出トランザクションを記録するステップと、をさらに含む請求項1に記載の方法。
  7. 前記提出トランザクションは、スマートコントラクト、スマートコントラクトを識別するためのコントラクトID、事前設定された許可ノード情報、事前設定された実行回数、及び事前設定された実行時間間隔のうちの少なくとも1つをさらに含む請求項6に記載の方法。
  8. ブロックチェーンシステム内の一のノードに設けられる、スマートコントラクトを実行するための装置であって、
    マートコントラクトを実行するための事前設定された実行時間に到達したと定したことに応答して、前記ブロックチェーンシステム内の他のノードが送信した、前記スマートコントラクトを実行するための事前実行トランザクションを受信したかどうかを判断するように構成される決定ユニットと、
    前記他のノードが提出した事前実行トランザクションを受信していないと定したことに応答して、前記一のノードに対応する事前実行トランザクションを生成し、生成された事前実行トランザクションを前記ブロックチェーンシステムに送信するように構成される生成ユニットと、
    記スマートコントラクトに対応する事前実行トランザクションを他のノードとコンセンサスするように構成されるコンセンサスユニットと、
    ンセンサス後の事前実行トランザクションに従って、前記スマートコントラクトを取得して実行するように構成される実行ユニットと、を含むスマートコントラクトを実行するための装置。
  9. 前記決定ユニットは、さらに
    前記一のノードが前記スマートコントラクトの事前設定された許可ノードであるかどうかを判断し、
    前記一のノードが前記スマートコントラクトの事前設定された許可ノードであると定したことに応答して、スマートコントラクトの事前設定された実行時間に到達したかどうかを判断し、
    スマートコントラクトを実行するための事前設定された実行時間に到達したと定したことに応答して、前記ブロックチェーンシステム内の他のノードが送信した、前記スマートコントラクトを実行するための事前実行トランザクションを受信したかどうかを判断するように構成される、請求項8に記載の装置。
  10. 前記生成ユニットは、さらに
    生成された事前実行トランザクションを前記ブロックチェーンシステム内の非許可ノードに送信するステップと
    事前実行トランザクションを送信するノードが前記スマートコントラクトの事前設定された許可ノードであるかどうかを判断することと、
    事前実行トランザクションを送信するノードが前記スマートコントラクトの事前設定された許可ノードであると定したことに応答して、前記ブロックチェーンシステム内の他のノードが送信した事前実行トランザクションを受信したかどうかを判断し、及び/又は前記スマートコントラクトの事前実行トランザクションに対して他のノードとコンセンサスを完了したかどうかを判断することと、
    前記他のノードが提出した事前実行トランザクションを受信していないと定した場合、及び/又は前記スマートコントラクトの事前実行トランザクションに対して前記他のノードとコンセンサスを完了していないと定した場合、受信した事前実行トランザクションを前記ブロックチェーンシステムに送信することと、
    前記スマートコントラクトの事前実行トランザクションを前記他のノードとコンセンサスすることと、を前記非許可ノードに実行させるようにするステップとを行うように構成される請求項9に記載の装置。
  11. 前記実行ユニットは、さらに、コンセンサス後の事前実行トランザクションを実行して、コンセンサス後の事前実行トランザクションを記録するように構成される、請求項8に記載の装置。
  12. 事前実行トランザクションが事前実行トランザクションを生成するノードの署名情報を含み、
    前記実行ユニットは、さらに
    コンセンサス後の事前実行トランザクションの署名情報を削除し、署名情報が削除された、コンセンサス後の事前実行トランザクションを実行して、署名情報が削除された、コンセンサス後の事前実行トランザクションを記録するように構成される、請求項11に記載の装置。
  13. 前記装置は、スマートコントラクトを提出するための提出トランザクションを受信するように構成される受信ユニットを更に含み、ここで、前記提出トランザクションは、前記スマートコントラクトの事前設定された実行時間を含み、
    前記決定ユニットは、さらに前記提出トランザクションが異常な提出トランザクションであるかどうかを判断するように構成され、
    前記装置は、前記提出トランザクションが異常な提出トランザクションではないと定したことに応答して、前記提出トランザクションを前記ブロックチェーンシステムに送信するように構成される送信ユニットを更に含み、
    前記コンセンサスユニットは、さらに、前記スマートコントラクトに対応する提出トランザクションを前記他のノードとコンセンサスするように構成され、
    前記実行ユニットは、コンセンサス後の提出トランザクションを実行して、コンセンサス後の提出トランザクションを記録するように構成される、請求項8に記載の装置。
  14. 前記提出トランザクションは、スマートコントラクト、スマートコントラクトを識別するためのコントラクトID、事前設定された許可ノード情報、事前設定された実行回数、及び事前設定された実行時間間隔のうちの少なくとも1つをさらに含む請求項13に記載の装置。
  15. 1つ又は複数のプロセッサと、
    1つ又は複数のプログラムが記憶される記憶装置と、を含み、
    前記1つ又は複数のプログラムが前記1つ又は複数のプロセッサによって実行される場合、前記1つ又は複数のプロセッサは、請求項1~7のいずれか一項に記載の方法を実現する電子装置。
  16. コンピュータプログラムが記憶されるコンピュータ可読媒体であって、
    前記コンピュータプログラムがプロセッサによって実行される場合、請求項1~7のいずれか一項に記載の方法を実現するコンピュータ可読媒体。
JP2022504251A 2019-09-24 2020-03-03 スマートコントラクトを実行するための方法及び装置 Active JP7339425B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201910904191.7 2019-09-24
CN201910904191.7A CN110659907B (zh) 2019-09-24 2019-09-24 用于执行智能合约的方法和装置
PCT/CN2020/077569 WO2021056968A1 (zh) 2019-09-24 2020-03-03 用于执行智能合约的方法和装置

Publications (2)

Publication Number Publication Date
JP2022542258A JP2022542258A (ja) 2022-09-30
JP7339425B2 true JP7339425B2 (ja) 2023-09-05

Family

ID=69038793

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022504251A Active JP7339425B2 (ja) 2019-09-24 2020-03-03 スマートコントラクトを実行するための方法及び装置

Country Status (5)

Country Link
US (1) US12008556B2 (ja)
EP (1) EP3989149A4 (ja)
JP (1) JP7339425B2 (ja)
CN (1) CN110659907B (ja)
WO (1) WO2021056968A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110659907B (zh) 2019-09-24 2021-11-12 北京海益同展信息科技有限公司 用于执行智能合约的方法和装置
CN111312352B (zh) 2020-02-19 2023-07-21 百度在线网络技术(北京)有限公司 一种基于区块链的数据处理方法、装置、设备和介质
CN112037062B (zh) * 2020-08-31 2023-08-25 成都质数斯达克科技有限公司 交易共识方法、装置、电子设备及可读存储介质
CN112837157A (zh) * 2021-02-10 2021-05-25 中国人民银行数字货币研究所 区块链中定时智能合约的注册、执行方法、装置和系统
CN113157805B (zh) * 2021-04-16 2024-05-03 西安瓜大网络科技有限公司 一种事务定序共识方法和系统
CN113313592A (zh) * 2021-05-27 2021-08-27 中央财经大学 一种基于区块链的智能服务交易和监管系统
CN115150409B (zh) * 2022-06-29 2024-07-12 蚂蚁区块链科技(上海)有限公司 在区块链系统中执行交易的方法、区块链系统、节点及计算机可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018128723A (ja) 2017-02-06 2018-08-16 株式会社日立製作所 信用度管理システムおよび信用度管理方法
JP2019008791A (ja) 2017-06-19 2019-01-17 株式会社日立製作所 スマートコントラクトライフサイクル管理
JP6526299B1 (ja) 2018-07-31 2019-06-05 株式会社メルカリ 情報処理方法、情報処理装置、およびプログラム

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2311835C3 (de) 1973-03-09 1976-01-02 Siemens Ag, 1000 Berlin Und 8000 Muenchen Verfahren zum Herstellen eines rohrförmigen Leiters, insbesondere für supraleitende Kabel
US20190005469A1 (en) * 2015-07-14 2019-01-03 Fmr Llc Collateral Management With Blockchain and Smart Contracts Apparatuses, Methods and Systems
CN106874087A (zh) * 2017-01-25 2017-06-20 上海钜真金融信息服务有限公司 一种区块链智能合约定时任务调度方法
US10255342B2 (en) * 2017-04-12 2019-04-09 Vijay K. Madisetti Method and system for tuning blockchain scalability, decentralization, and security for fast and low-cost payment and transaction processing
US10102265B1 (en) * 2017-04-12 2018-10-16 Vijay K. Madisetti Method and system for tuning blockchain scalability for fast and low-cost payment and transaction processing
CN108805562A (zh) * 2017-04-27 2018-11-13 中思博安科技(北京)有限公司 智能合约的执行方法和系统
CN107291862A (zh) * 2017-06-12 2017-10-24 腾讯科技(深圳)有限公司 业务数据存储方法、装置、存储介质及电子设备
CN108269185B (zh) * 2018-01-19 2020-12-15 创新先进技术有限公司 资金流转报表生成方法及装置和电子设备
CN108416675A (zh) * 2018-02-14 2018-08-17 阿里巴巴集团控股有限公司 资产管理方法及装置、电子设备
CN108335207B (zh) * 2018-02-14 2020-08-04 阿里巴巴集团控股有限公司 资产管理方法及装置、电子设备
CN108335206B (zh) * 2018-02-14 2020-12-22 创新先进技术有限公司 资产管理方法及装置、电子设备
CA2995177A1 (en) * 2018-02-14 2019-08-14 Beijing Tiande Technologies Limited A method of state synchronization for complex smart contracts based on stage buckets
CN108510251A (zh) 2018-03-30 2018-09-07 上海分赋信息科技有限公司 基于外部数据构建多种触发机制以执行区块链网络中智能合约的方法及系统
CN108665953B (zh) * 2018-05-08 2020-12-25 北京金山云网络技术有限公司 一种处方执行方法、装置、设备和存储介质
CN108830606B (zh) * 2018-05-30 2021-12-28 创新先进技术有限公司 智能合约的部署、调用、执行方法和装置
CN108898390B (zh) * 2018-06-27 2021-01-12 创新先进技术有限公司 基于区块链的智能合约调用方法及装置、电子设备
CN109003078B (zh) 2018-06-27 2021-08-24 创新先进技术有限公司 基于区块链的智能合约调用方法及装置、电子设备
CN109146679B (zh) * 2018-06-29 2023-11-10 创新先进技术有限公司 基于区块链的智能合约调用方法及装置、电子设备
US11196569B2 (en) * 2018-09-12 2021-12-07 Bitclave Pte. Ltd. Systems and methods for accuracy and attestation of validity of data shared in a secure distributed environment
US10250394B1 (en) * 2018-09-20 2019-04-02 Accenture Global Solutions Limited Cryptologic self-executing blockchain export commitment
CN109146490B (zh) * 2018-10-11 2023-04-07 北京京东尚科信息技术有限公司 区块生成方法、装置和系统
US11615882B2 (en) * 2018-11-07 2023-03-28 Ge Healthcare Limited Apparatus, non-transitory computer-readable storage medium, and computer-implemented method for distributed ledger management of nuclear medicine products
CN109685502B (zh) 2018-12-06 2021-04-30 成都佰纳瑞信息技术有限公司 一种适用于区块链网络的加速共识方法
CN109615517A (zh) * 2018-12-07 2019-04-12 北京瑞卓喜投科技发展有限公司 一种智能合约执行方法及智能合约执行系统
CN109658249A (zh) * 2018-12-27 2019-04-19 链极智能科技(上海)有限公司 一种区块链性能优化方法
US10733152B2 (en) * 2018-12-29 2020-08-04 Alibaba Group Holding Limited System and method for implementing native contract on blockchain
PL3542494T3 (pl) * 2018-12-29 2021-08-23 Advanced New Technologies Co., Ltd. System i sposób realizacji umowy wewnętrznej w łańcuchu bloków
CN109508915A (zh) * 2019-01-17 2019-03-22 苏州复谷网络科技有限公司 一种基于区块链的智能化智能合约
CN110264187B (zh) * 2019-01-23 2021-06-04 腾讯科技(深圳)有限公司 数据处理方法、装置、计算机设备及存储介质
CN110060155B (zh) * 2019-01-31 2021-03-23 创新先进技术有限公司 区块链的智能合约执行方法及装置和电子设备
CN110046523B (zh) * 2019-03-15 2021-03-05 创新先进技术有限公司 智能合约校验方法及装置和电子设备
CN110033244B (zh) * 2019-03-15 2021-10-22 创新先进技术有限公司 基于区块链的智能合约执行方法及装置和电子设备
US11763298B2 (en) * 2019-03-18 2023-09-19 Jio Platforms Limited Systems and methods for hybrid synchronization in virtual distributed ledger networks
US10866823B2 (en) * 2019-03-26 2020-12-15 Advanced New Technologies Co., Ltd. System and method for implementing different types of blockchain contracts
CN110009498A (zh) * 2019-03-29 2019-07-12 阿里巴巴集团控股有限公司 基于区块链的资源分配方法和装置
US11372817B2 (en) * 2019-04-18 2022-06-28 International Business Machines Corporation Synchronization of peers
CN110096338B (zh) * 2019-05-10 2021-12-14 百度在线网络技术(北京)有限公司 智能合约执行方法、装置、设备及介质
CN116757843A (zh) * 2019-06-28 2023-09-15 创新先进技术有限公司 用于执行不同类型区块链合约的系统和方法
CA3149396A1 (en) * 2019-08-06 2021-02-11 Zeu Technologies, Inc. Distributed blockchain transaction system
CN110659907B (zh) 2019-09-24 2021-11-12 北京海益同展信息科技有限公司 用于执行智能合约的方法和装置
CN112631954A (zh) 2019-10-09 2021-04-09 联想企业解决方案(新加坡)有限公司 可扩展的双列直插式内存模块

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018128723A (ja) 2017-02-06 2018-08-16 株式会社日立製作所 信用度管理システムおよび信用度管理方法
JP2019008791A (ja) 2017-06-19 2019-01-17 株式会社日立製作所 スマートコントラクトライフサイクル管理
JP6526299B1 (ja) 2018-07-31 2019-06-05 株式会社メルカリ 情報処理方法、情報処理装置、およびプログラム

Also Published As

Publication number Publication date
CN110659907A (zh) 2020-01-07
EP3989149A4 (en) 2023-06-07
CN110659907B (zh) 2021-11-12
US12008556B2 (en) 2024-06-11
WO2021056968A1 (zh) 2021-04-01
JP2022542258A (ja) 2022-09-30
US20220261797A1 (en) 2022-08-18
EP3989149A1 (en) 2022-04-27

Similar Documents

Publication Publication Date Title
JP7339425B2 (ja) スマートコントラクトを実行するための方法及び装置
WO2021077833A1 (zh) 信息推送方法、设备、电子设备及计算机可读存储介质
CN108923908B (zh) 授权处理方法、装置、设备及存储介质
EP4033374A1 (en) Method and device for synchronizing node data
CN110245518B (zh) 一种数据存储方法、装置及设备
WO2020216204A1 (zh) 信息获取方法和装置
EP4293601A1 (en) Registration method and apparatus for timed smart contract in blockchain, execution method and apparatus for timed smart contract in blockchain, and system
WO2021042713A1 (zh) 用于处理数据请求的方法和装置
CN113032412B (zh) 数据同步方法、装置、电子设备和计算机可读介质
WO2021197161A1 (zh) 图标更新方法、装置和电子设备
WO2021057005A1 (zh) 用于发布智能合约的方法和装置
WO2021229304A1 (zh) 智能合约的更新
CN112416616B (zh) 一种微服务调用方法、装置、电子设备及存储介质
WO2023241060A1 (zh) 数据访问方法和装置
WO2021175187A1 (zh) 数据保护方法、装置、电子设备及计算机可读存储介质
CN112565340A (zh) 分布式应用的服务调度方法、装置、计算机系统及介质
WO2022179470A1 (zh) 定时器处理方法、装置、电子设备和计算机可读存储介质
CN116957560A (zh) 预言机用于预付费交易资金监管的方法
CN111598544A (zh) 用于处理信息的方法和装置
EP4365808A1 (en) Data verification method and apparatus
WO2021056970A1 (zh) 用于执行智能合约的方法和装置
CN113360172B (zh) 应用部署方法、装置、计算机设备及存储介质
WO2021042715A1 (zh) 用于开发智能合约的系统、方法和装置
CN111310175A (zh) 基于插件化的iOS应用安全监测与防护方法及装置
CN111367590A (zh) 中断事件处理方法及其装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220121

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230306

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230526

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: 20230731

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230824

R150 Certificate of patent or registration of utility model

Ref document number: 7339425

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150