IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 京▲東▼科技信息技▲術▼有限公司の特許一覧

特表2022-541834インテリジェント契約実行方法および装置
<>
  • 特表-インテリジェント契約実行方法および装置 図1
  • 特表-インテリジェント契約実行方法および装置 図2
  • 特表-インテリジェント契約実行方法および装置 図3
  • 特表-インテリジェント契約実行方法および装置 図4
  • 特表-インテリジェント契約実行方法および装置 図5
  • 特表-インテリジェント契約実行方法および装置 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-09-27
(54)【発明の名称】インテリジェント契約実行方法および装置
(51)【国際特許分類】
   G06Q 40/04 20120101AFI20220916BHJP
【FI】
G06Q40/04
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022504250
(86)(22)【出願日】2020-03-06
(85)【翻訳文提出日】2022-01-21
(86)【国際出願番号】 CN2020078103
(87)【国際公開番号】W WO2021056970
(87)【国際公開日】2021-04-01
(31)【優先権主張番号】201910904529.9
(32)【優先日】2019-09-24
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.JAVA
2.SMALLTALK
(71)【出願人】
【識別番号】522021952
【氏名又は名称】京▲東▼科技信息技▲術▼有限公司
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【弁理士】
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】邵 珠光
【テーマコード(参考)】
5L055
【Fターム(参考)】
5L055BB51
(57)【要約】
本開示の実施例は、インテリジェント契約実行方法および装置を開示する。この方法の特定の実施形態は、ユーザ情報と、難易度情報と、契約パラメータとを含む契約実行トランザクションを受信することと、ユーザ情報によって指示されたユーザの前回提出した契約実行トランザクションの実行結果情報に基づいて決定された、予め記憶されたユーザ情報に対応する難易度情報を、ユーザ情報に基づいて検索することと、契約実行トランザクションの難易度情報が検索された難易度情報と一致するか否かを検証する検証ステップを実行することと、を含む。上記方法は、契約実行トランザクションの難易度情報が検索された難易度情報と一致すると判定された場合、契約パラメータに基づいてインテリジェント契約を実行して、実行結果情報を取得することと、取得された実行結果情報に基づいて、予め記憶されたユーザ情報に対応する難易度情報を更新することと、をさらに含む。この実施形態は、難易度情報に基づいてインテリジェント契約の効果的な実行を制御する。
【特許請求の範囲】
【請求項1】
インテリジェント契約実行方法であって、
ユーザ情報と、難易度情報と、契約実行トランザクションの未実行インテリジェント契約のパラメータを指示するために使用される契約パラメータとを含む契約実行トランザクションを受信することと、
前記ユーザ情報によって指示されたユーザの前回提出した契約実行トランザクションの実行結果情報に基づいて決定された、予め記憶された前記ユーザ情報に対応する難易度情報を、ユーザ情報に基づいて検索することと、
前記契約実行トランザクションの難易度情報が検索された難易度情報と一致するか否かを検証する検証ステップを実行することと、を含み、
前記方法は、
前記契約実行トランザクションの難易度情報が検索された難易度情報と一致すると判定された場合、前記契約パラメータに基づいて前記インテリジェント契約を実行して、実行結果情報を取得することと、
取得された実行結果情報に基づいて、前記予め記憶された前記ユーザ情報に対応する難易度情報を更新することと、をさらに含む、
インテリジェント契約実行方法。
【請求項2】
前述した取得された実行結果情報に基づいて、前記予め記憶された前記ユーザ情報に対応する難易度情報を更新することは、
プリセットの難易度情報更新ポリシーに基づいて、前記実行結果情報に対応する難易度情報を前記予め記憶された前記ユーザ情報に対応する難易度情報の更新結果として決定することを含む、
請求項1に記載の方法。
【請求項3】
実行結果情報は、実行プロセスに費やされた計算リソース、実行プロセスに費やされた時間リソース、および実行の成功または実行の失敗を指示するための実行状態情報のうちの少なくとも1つを含み、実行結果情報に対応する難易度情報はそれに対応する計算リソースと正相関しており、実行結果情報に対応する難易度情報はそれに対応する時間リソースと正相関する、
請求項2に記載の方法。
【請求項4】
前述した前記契約パラメータに基づいて前記インテリジェント契約を実行して、実行結果情報を取得することは、
前記インテリジェント契約を開始することが検出された場合、タスクトリガー時刻に前記インテリジェント契約の実行が完了するか否かを検出するために使用される少なくとも1つのタイマータスクを設定することと、
前記少なくとも1つのタイマータスクにおけるタイマータスクに対して、以下のステップ、即ち、
前記インテリジェント契約の実行が完了することはこのタイマータスクによって検出されると判定された場合、前記少なくとも1つのタイマータスクにおける未実行タイマータスクを削除し、前記インテリジェント契約の実行結果情報を記録することと、
前記インテリジェント契約の実行が完了することはこのタイマータスクによって検出されていないと判定された場合、このタイマーのタスクトリガー時刻に前記インテリジェント契約の実行に費やされた計算リソースおよび/または時間リソースがプリセットのリソース閾値を超えるか否かを判定することと、
このタイマーのタスクトリガー時刻に前記インテリジェント契約の実行に費やされた計算リソースおよび/または時間リソースがプリセットのリソース閾値を超えると判定された場合、前記インテリジェント契約の実行を終了し、前記インテリジェント契約の実行結果情報を記録することと、を含む、
請求項3に記載の方法。
【請求項5】
前記時間リソースは、実行時間およびタイマーの実行回数のうちの少なくとも1つを含む、
請求項4に記載の方法。
【請求項6】
前述した前記契約パラメータに基づいて前記インテリジェント契約を実行して、実行結果情報を取得することは、
前記少なくとも1つのタイマータスクにそれぞれ対応するタスクトリガー時刻以外の時刻に前記インテリジェント契約の実行完了を指示するための指示情報が受信された場合、前記少なくとも1つのタイマータスクにおける未実行タイマータスクを削除し、前記インテリジェント契約の実行結果情報を記録することをさらに含む、
請求項4に記載の方法。
【請求項7】
前記契約実行トランザクションは、乱数および検証情報をさらに含み、
前記検証ステップは、
前記乱数および契約パラメータに基づいて検証情報を計算し、算出された検証情報が前記契約実行トランザクションの検証情報と一致するか否かを判定することと、
プルーフオブワーク技術に基づいて、前記契約実行トランザクションの検証情報が異常検証情報に属するか否かを判定することと、をさらに含み、
前述した前記契約実行トランザクションの難易度情報が検索された難易度情報と一致すると判定された場合、前記契約パラメータに基づいて前記インテリジェント契約を実行して、実行結果情報を取得することは、
前記契約実行トランザクションの難易度情報が検索された難易度情報と一致し、算出された検証情報が前記契約実行トランザクションの検証情報と一致し、前記契約実行トランザクションの検証情報が異常検証情報に属しないと判定された場合、前記契約パラメータに基づいて前記インテリジェント契約を実行して、実行結果情報を取得することを含む、
請求項1に記載の方法。
【請求項8】
インテリジェント契約実行装置であって、
ユーザ情報と、難易度情報と、契約実行トランザクションの未実行インテリジェント契約のパラメータを指示するために使用される契約パラメータとを含む契約実行トランザクションを受信するように構成された受信ユニットと、
前記ユーザ情報によって指示されたユーザの前回提出した契約実行トランザクションの実行結果情報に基づいて決定された、予め記憶された前記ユーザ情報に対応する難易度情報を、ユーザ情報に基づいて検索するように構成された検索ユニットと、
前記契約実行トランザクションの難易度情報が検索された難易度情報と一致するか否かを検証する検証ステップを実行するように構成された判定ユニットと、を含み、
前記装置は、
前記契約実行トランザクションの難易度情報が検索された難易度情報と一致すると判定された場合、前記契約パラメータに基づいて前記インテリジェント契約を実行して、実行結果情報を取得するように構成された実行ユニットと、
取得された実行結果情報に基づいて、前記予め記憶された前記ユーザ情報に対応する難易度情報を更新するように構成された更新ユニットと、をさらに含む、
インテリジェント契約実行装置。
【請求項9】
1つまたは複数のプロセッサと、
1つまたは複数のプログラムを記憶する記憶装置と、を含み、
前記1つまたは複数のプログラムは、前記1つまたは複数のプロセッサが請求項1-7のいずれか一項に記載の方法を実行できるように、前記1つまたは複数のプロセッサによって実行される、
電子デバイス。
【請求項10】
プロセッサによって実行されると、請求項1から7のいずれか一項に記載の方法を実行するコンピュータプログラムを記憶するコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、2019年9月24日に中国特許庁に提出された、申請番号201910904529.9で、発明の名称が「インテリジェント契約実行方法および装置」である中国特許申請の優先順位を主張する。本願の全内容は、参照により本願に組み込まれる。
【0002】
本開示の実施例は、コンピュータ技術分野、具体的にはインテリジェント契約実行方法および装置に関する。
【背景技術】
【0003】
現在、インテリジェント契約とブロックチェーンの組み合わせは、従来のブロックチェーン技術分野の研究方向である。インテリジェント契約は、契約を情報化方式で伝播、検証または実行するように設計されたコンピュータプロトコルである。インテリジェント契約は、追跡できる不可逆的なトラステッドトランザクションが第三者なしで実行されることを可能にする。
【0004】
各インテリジェント契約の実行プロセスは、一定量の時間リソースや計算リソースなどを費やす必要があるが、ブロックチェーンシステム内の各ノードの計算リソースが限られるため、インテリジェント契約の悪用および不正者からの不正攻撃を避けるために、インテリジェント契約の実行は制御されなければならない。
【0005】
従来技術では、イーサリアムは、インテリジェント契約の悪用および不正者からの不正攻撃を避けるためにGASメカニズムを提供する。具体的には、各インテリジェント契約のトランザクションを実行するたびに一定の料金を支払うようにユーザを制御して、イーサリアムがインテリジェント契約の悪用および不正者からの不正攻撃のためにデッドロックになることを避ける。
【発明の概要】
【課題を解決するための手段】
【0006】
本開示の実施例は、インテリジェント契約実行方法および装置を提供する。
【0007】
第一様態では、本開示の実施例は、インテリジェント契約実行方法を提供する。この方法は、ユーザ情報と、難易度情報と、契約実行トランザクションの未実行インテリジェント契約のパラメータを指示するために使用される契約パラメータとを含む契約実行トランザクションを受信することと、ユーザ情報によって指示されたユーザの前回提出した契約実行トランザクションの実行結果情報に基づいて決定された、予め記憶されたユーザ情報に対応する難易度情報を、ユーザ情報に基づいて検索することと、契約実行トランザクションの難易度情報が検索された難易度情報と一致するか否かを検証する検証ステップを実行することと、を含む。上記方法は、契約実行トランザクションの難易度情報が検索された難易度情報と一致すると判定された場合、契約パラメータに基づいてインテリジェント契約を実行して、実行結果情報を取得することと、取得された実行結果情報に基づいて、予め記憶されたユーザ情報に対応する難易度情報を更新することと、をさらに含む。
【0008】
いくつかの実施例では、取得された実行結果情報に基づいて、予め記憶されたユーザ情報に対応する難易度情報を更新することは、プリセットの難易度情報更新ポリシーに基づいて、実行結果情報に対応する難易度情報を予め記憶されたユーザ情報に対応する難易度情報の更新結果として決定することを含む。
【0009】
いくつかの実施例では、実行結果情報は、実行プロセスに費やされた計算リソース、実行プロセスに費やされた時間リソース、および実行の成功または実行の失敗を指示するための実行状態情報のうちの少なくとも1つを含み、実行結果情報に対応する難易度情報はそれに対応する計算リソースと正相関しており、実行結果情報に対応する難易度情報はそれに対応する時間リソースと正相関する。
【0010】
いくつかの実施例では、契約パラメータに基づいてインテリジェント契約を実行して、実行結果情報を取得することは、インテリジェント契約を開始することが検出された場合、タスクトリガー時刻にインテリジェント契約の実行が完了するか否かを検出するために使用される少なくとも1つのタイマータスクを設定することと、少なくとも1つのタイマータスクにおけるタイマータスクに対して、以下のステップ、即ち、インテリジェント契約の実行が完了することはこのタイマータスクによって検出されると判定された場合、少なくとも1つのタイマータスクにおける未実行タイマータスクを削除し、インテリジェント契約の実行結果情報を記録することと、インテリジェント契約の実行が完了することはこのタイマータスクによって検出されていないと判定された場合、このタイマーのタスクトリガー時刻にインテリジェント契約の実行に費やされた計算リソースおよび/または時間リソースがプリセットのリソース閾値を超えるか否かを判定することと、このタイマーのタスクトリガー時刻にインテリジェント契約の実行に費やされた計算リソースおよび/または時間リソースがプリセットのリソース閾値を超えると判定された場合、インテリジェント契約の実行を終了し、インテリジェント契約の実行結果情報を記録することと、を含む。
【0011】
いくつかの実施例では、時間リソースは、実行時間およびタイマーの実行回数のうちの少なくとも1つを含む。
【0012】
いくつかの実施例では、契約パラメータに基づいてインテリジェント契約を実行して、実行結果情報を取得することは、少なくとも1つのタイマータスクにそれぞれ対応するタスクトリガー時刻以外の時刻にインテリジェント契約の実行完了を指示するための指示情報が受信された場合、少なくとも1つのタイマータスクにおける未実行タイマータスクを削除し、インテリジェント契約の実行結果情報を記録することをさらに含む。
【0013】
いくつかの実施例では、契約実行トランザクションは、乱数および検証情報をさらに含み、上記検証ステップは、乱数および契約パラメータに基づいて検証情報を計算し、算出された検証情報が契約実行トランザクションの検証情報と一致するか否かを判定することと、プルーフオブワーク技術に基づいて、契約実行トランザクションの検証情報が異常検証情報に属するか否かを判定することと、をさらに含み、契約実行トランザクションの難易度情報が検索された難易度情報と一致すると判定された場合、契約パラメータに基づいてインテリジェント契約を実行して、実行結果情報を取得することは、契約実行トランザクションの難易度情報が検索された難易度情報と一致し、算出された検証情報が契約実行トランザクションの検証情報と一致し、契約実行トランザクションの検証情報が異常検証情報に属しないと判定された場合、契約パラメータに基づいてインテリジェント契約を実行して、実行結果情報を取得することを含む。
【0014】
第二様態では、本開示の実施例は、インテリジェント契約実行装置を提供する。この装置は、ユーザ情報と、難易度情報と、契約実行トランザクションの未実行インテリジェント契約のパラメータを指示するために使用される契約パラメータとを含む契約実行トランザクションを受信するように構成された受信ユニットと、ユーザ情報によって指示されたユーザの前回提出した契約実行トランザクションの実行結果情報に基づいて決定された、予め記憶されたユーザ情報に対応する難易度情報を、ユーザ情報に基づいて検索するように構成された検索ユニットと、契約実行トランザクションの難易度情報が検索された難易度情報と一致するか否かを検証する検証ステップを実行するように構成された判定ユニットと、を含み、上記装置は、契約実行トランザクションの難易度情報が検索された難易度情報と一致すると判定された場合、契約パラメータに基づいてインテリジェント契約を実行して、実行結果情報を取得するように構成された実行ユニットと、取得された実行結果情報に基づいて、予め記憶されたユーザ情報に対応する難易度情報を更新するように構成された更新ユニットと、をさらに含む。
【0015】
いくつかの実施例では、上記更新ユニットは、プリセットの難易度情報更新ポリシーに基づいて、実行結果情報に対応する難易度情報を予め記憶されたユーザ情報に対応する難易度情報の更新結果として決定するようにさらに構成される。
【0016】
いくつかの実施例では、実行結果情報は、実行プロセスに費やされた計算リソース、実行プロセスに費やされた時間リソース、および実行の成功または実行の失敗を指示するための実行状態情報のうちの少なくとも1つを含み、実行結果情報に対応する難易度情報はそれに対応する計算リソースと正相関しており、実行結果情報に対応する難易度情報はそれに対応する時間リソースと正相関する。
【0017】
いくつかの実施例では、上記実行ユニットは、インテリジェント契約を開始することが検出された場合、タスクトリガー時刻にインテリジェント契約の実行が完了するか否かを検出するために使用される少なくとも1つのタイマータスクを設定することと、少なくとも1つのタイマータスクにおけるタイマータスクに対して、以下のステップ、即ち、インテリジェント契約の実行が完了することはこのタイマータスクによって検出されると判定された場合、少なくとも1つのタイマータスクにおける未実行タイマータスクを削除し、インテリジェント契約の実行結果情報を記録することと、インテリジェント契約の実行が完了することはこのタイマータスクによって検出されていないと判定された場合、このタイマーのタスクトリガー時刻にインテリジェント契約の実行に費やされた計算リソースおよび/または時間リソースがプリセットのリソース閾値を超えるか否かを判定することと、このタイマーのタスクトリガー時刻にインテリジェント契約の実行に費やされた計算リソースおよび/または時間リソースがプリセットのリソース閾値を超えると判定された場合、インテリジェント契約の実行を終了し、インテリジェント契約の実行結果情報を記録することと、を実行するようにさらに構成される。
【0018】
いくつかの実施例では、時間リソースは、実行時間およびタイマーの実行回数のうちの少なくとも1つを含む。
【0019】
いくつかの実施例では、上記実行ユニットは、少なくとも1つのタイマータスクにそれぞれ対応するタスクトリガー時刻以外の時刻にインテリジェント契約の実行完了を指示するための指示情報が受信された場合、少なくとも1つのタイマータスクにおける未実行タイマータスクを削除し、インテリジェント契約の実行結果情報を記録することを実行するようにさらに構成される。
【0020】
いくつかの実施例では、契約実行トランザクションは、乱数および検証情報をさらに含み、上記検証ステップは、乱数および契約パラメータに基づいて検証情報を計算し、算出された検証情報が契約実行トランザクションの検証情報と一致するか否かを判定することと、プルーフオブワーク技術に基づいて、契約実行トランザクションの検証情報が異常検証情報に属するか否かを判定することと、をさらに含み、上記実行ユニットは、契約実行トランザクションの難易度情報が検索された難易度情報と一致し、算出された検証情報が契約実行トランザクションの検証情報と一致し、契約実行トランザクションの検証情報が異常検証情報に属しないと判定された場合、契約パラメータに基づいてインテリジェント契約を実行して、実行結果情報を取得することを実行するようにさらに構成される。
【0021】
第三態様では、本開示の実施例は、電子デバイスを提供する。この電子デバイスは、1つまたは複数のプロセッサと、1つまたは複数のプログラムを記憶する記憶装置と、を含み、1つまたは複数のプログラムは、1つまたは複数のプロセッサが第一態様の任意の実施形態に記載の方法を実行できるように、1つまたは複数のプロセッサによって実行される。
【0022】
第四態様では、本開示の実施例は、プロセッサによって実行されると、第一態様の任意の実施形態に記載の方法を実行するコンピュータプログラムを記憶するコンピュータ可読媒体を提供する。
【0023】
本開示の実施例によって提供されるインテリジェント契約実行方法および装置は、難易度情報に基づいて契約実行トランザクションの実行を制御しており、具体的には、毎回実行される契約実行トランザクションの実行結果情報に基づいて、この契約実行トランザクションを提出するユーザに対応する難易度情報を更新して、このユーザの次回提出する契約実行トランザクションを検証することにより、難易度情報を制御してインテリジェント契約トランザクションの悪用などの状況を避け、契約実行トランザクションの効果的な実行を実現することができる。
【0024】
本開示の他の特徴、目的および利点は、以下の図面で行われる非限定的な実施例についての詳細な説明からより明らかになるであろう。
【図面の簡単な説明】
【0025】
図1】本開示の一実施例が適用され得る例示的なシステムアーキテクチャ図である。
図2】本開示に係るインテリジェント契約実行方法の一実施例のフローチャートである。
図3】本開示の実施例に係るインテリジェント契約実行方法の適用シナリオの概略図である。
図4】本開示に係るインテリジェント契約実行方法の別の実施例のフローチャートである。
図5】本開示に係るインテリジェント契約実行装置の一実施例の構造概略図である。
図6】本開示の実施例を実施するのに適した電子デバイスの構造概略図である。
【発明を実施するための形態】
【0026】
以下、図面および実施例を参照して本開示をさらに詳細に説明する。本明細書に記載の特定の実施例は、関連発明を解釈するものにすぎず、当該発明を限定するものではないことを理解されたい。また、説明の便宜上、関連発明に関連する部分のみが図面に示される。
【0027】
なお、本開示の実施例および実施例中の特徴は、矛盾しない限り、互いに組み合わせることができる。以下、図面および実施例を参照して本開示を詳細に説明する。
【0028】
図1は、本開示が適用され得る、インテリジェント契約実行方法またはインテリジェント契約実行装置の実施例の例示的なシステムアーキテクチャ100を示す。
【0029】
図1に示すように、システムアーキテクチャ100は、端末装置101、102、103、ネットワーク104、およびブロックチェーンシステム105を含み得る。ブロックチェーンシステム105は、互いに通信接続され得る1つまたは複数のノードを含み得る。ネットワーク104は、端末装置101、102、103とブロックチェーンシステム105との間の通信リンクを提供するための媒体である。ネットワーク104は、有線、無線通信リンク、または光ファイバケーブルなどの様々な接続タイプを含み得る。
【0030】
端末装置101、102、103は、ネットワーク104を介してブロックチェーンシステム105と対話して、メッセージなどを送受信する。端末装置101、102、103には、様々な通信クライアントアプリケーション、例えば、インテリジェント契約開発プラットフォーム、ブロックチェーンアプリケーションプラットフォームなどがインストールされ得る。
【0031】
端末装置101、102、103は、ハードウェアであり得るか、またはソフトウェアであり得る。端末装置101、102、103がハードウェアである場合、それらは、スマートフォン、タブレットコンピュータ、電子書籍リーダ、ラップトップポータブルコンピュータ、デスクトップコンピュータなどを含むがこれらに限定されない、様々な電子デバイスであり得る。端末装置101、102、103がソフトウェアである場合、それらは、上記に挙げた電子デバイスにインストールされ得る。それは、複数のソフトウェアまたはソフトウェアモジュール(例えば、分散サービスを提供するための複数のソフトウェアまたはソフトウェアモジュール)として実装され得るか、または単一のソフトウェアまたはソフトウェアモジュールとして実装され得る。ここでは特に限定されない。
【0032】
ブロックチェーンシステム105内の1つまたは複数のノードは、端末装置101、102、103によって送信されたインテリジェント契約発表要件を受信し、インテリジェント契約の実行を完了するために対応するインテリジェント契約実行トランザクションを生成するなどの様々なサービスを提供することができる。
【0033】
なお、本開示の実施例によって提供されるインテリジェント契約実行方法が、一般にブロックチェーンシステム105内の各ノードによって実行されるため、インテリジェント契約実行装置は、一般にブロックチェーンシステム105内の各ノードに配置される。
【0034】
なお、ブロックチェーンシステム105内のノードは、単一のサーバで構成され得るか、または複数のサーバまたは複数のサーバクラスタで構成され得る。なお、上記サーバは、ハードウェアであり得るか、またはソフトウェアであり得る。サーバがハードウェアである場合、それは、複数のサーバからなる分散型サーバクラスタとして実装され得るか、または単一のサーバとして実装され得る。サーバ103がソフトウェアである場合、それは、複数のソフトウェアまたはソフトウェアモジュール(例えば、分散サービスを提供するための複数のソフトウェアまたはソフトウェアモジュール)として実装され得るか、または単一のソフトウェアまたはソフトウェアモジュールとして実装され得る。ここでは特に限定されない。
【0035】
図1中の端末装置、ネットワーク、およびブロックチェーンシステムの数は、単なる例示であることを理解されたい。実際のニーズに応じて、端末装置、ネットワーク、およびブロックチェーンシステムの数が任意に設定され得る。
【0036】
さらに図2を参照すると、図2は、本開示に係るインテリジェント契約実行方法の一実施例のプロセス200を示す。このインテリジェント契約実行方法は、以下のステップを含む。
【0037】
ステップ201:ユーザ情報と、難易度情報と、契約パラメータとを含む契約実行トランザクションを受信する。
【0038】
本実施例では、インテリジェント契約実行方法の実行主体(図1に示すブロックチェーンシステム105内の各ノード)は、ユーザが提出するインテリジェント契約を実行するための契約実行トランザクションを受信することができる。ここで、ユーザ情報は、ユーザを識別するための様々な情報であり得る。契約パラメータは、契約実行トランザクションの未実行インテリジェント契約のパラメータを指示するために使用され得る。例えば、契約パラメータは、インテリジェント契約の入力パラメータであり得る。
【0039】
難易度情報は、提出された契約実行トランザクションの生成難易度を特徴付けるために使用され得る。ここで、提出された契約実行トランザクションの生成難易度は、様々な適用シナリオに応じて様々な方法を柔軟に採用して決定され得る。
【0040】
例えば、提出された契約実行トランザクションの生成難易度は、プルーフオブワーク(Proof-of-Work、PoW)技術によって決定され得る。この場合、提出された契約実行トランザクションの生成難易度は、提出された契約実行トランザクションの生成作業量に基づいて決定され得る。一般に、難易度は作業量と正相関する。
【0041】
ここで、プルーフオブワークは、サービスとリソースの悪用を処理するか、またはサービス攻撃を遮断するための経済的対策である。一般に、ユーザは時間がかかるいくつかの複雑な演算を実行する必要があり、答えはサービスパーティによって迅速に検証され得、これに費やされた時間、デバイスおよびエネルギーは、サービスおよびリソースが実際のニーズに応じて使用されるように、担保コストとして使用される。現在、プルーフオブワーク技術で一般的に使用される技術的原理はハッシュ関数である。プルーフオブワーク技術は、現在広く研究され適用されている公知技術であるので、ここではその説明を省略する。
【0042】
ここで、難易度情報は様々な方式で表され得る。例えば、難易度情報は数字または文字列で表され得る。異なる数字または文字列は、異なる難易度を特徴付けるために使用される。
【0043】
本実施例のいくつかの代替実施形態では、ハッシュ関数に基づいてプルーフオブワークを実現するとき、ハッシュ関数に基づくハッシュ値生成の難易度を制御して、プルーフオブワークを実現することができる。この場合、難易度情報は、ハッシュ関数に基づくハッシュ値生成の難易度を特徴付けるために使用され得る。一例として、難易度情報は桁数Dで表され得る。ここで、Dは、ハッシュ関数に基づいて生成されたハッシュ値の最初の桁数Dの数値が0であることを特徴付けるために使用され得る。
【0044】
ステップ202:ユーザ情報に基づいて、予め記憶されたユーザ情報に対応する難易度情報を検索する。
【0045】
本実施例では、上記実行主体は、ユーザ情報と難易度情報との対応関係を予め記憶することができる。ここで、予め記憶されたユーザ情報に対応する難易度情報は、ユーザ情報によって指示されたユーザの前回提出した契約実行トランザクションの実行結果情報に基づいて決定され得る。実行結果情報とは、契約実行トランザクションの実行プロセスに関連する様々な情報を指すことができる。
【0046】
あるいは、実行結果情報は、実行プロセスに費やされた計算リソース、実行プロセスに費やされた時間リソース、および実行の成功または実行の失敗を指示するための実行状態情報のうちの少なくとも1つを含み得る。
【0047】
ここで、計算リソースは、CPU(Central Processing Unit、中央演算装置)リソース、メモリリソース、ハードディスクリソース、およびネットワークリソースのうちの少なくとも1つを含み得る。時間リソースは、実行時間を含み得る。
【0048】
実行結果情報は、契約実行トランザクションの実行プロセスの作業量をある程度反映することができる。従って、実行結果情報は、難易度情報を決定するために使用され得る。
【0049】
あるいは、実行結果情報が計算リソースを含む場合、実行結果情報に対応する難易度情報は、それに対応する計算リソースと正相関することができる。あるいは、実行結果情報が時間リソースを含む場合、実行結果情報に対応する難易度情報は、それに対応する時間リソースと正相関することができる。即ち、契約実行トランザクションの実行に費やされた計算リソースが多ければ多いほど、難易度情報によって特徴付けられた難易度が高くなる。契約実行トランザクションの実行に費やされた時間リソースが多ければ多いほど、難易度情報によって特徴付けられた難易度が高くなる。
【0050】
本実施例では、技術者は、実行結果情報と難易度情報との対応関係を予め設定することができる。この場合、ユーザの前回提出した契約実行トランザクションの実行結果情報に基づいて、対応する難易度情報を直接検索することができる。
【0051】
本実施例のいくつかの代替実施形態では、技術者は、難易度情報更新ポリシーを予め設定することができる。この場合、ユーザの前回提出した契約実行トランザクションの実行結果情報、およびプリセットの難易度情報更新ポリシーに基づいて、ユーザの前回提出した契約実行トランザクションの実行結果情報に対応する難易度情報を決定することができる。ここで、難易度情報更新ポリシーは、実際の使用要件に応じて設定され得る。例えば、難易度情報更新ポリシーは、契約実行トランザクションの実行結果情報に基づいて難易度情報を計算するためのプリセットの様々なアルゴリズムであり得る。
【0052】
なお、ユーザが契約実行トランザクションを初回提出する場合、ユーザ情報に対応する難易度情報は、技術者によって予め設定された初期難易度情報であり得る。
【0053】
ステップ203:契約実行トランザクションの難易度情報が検索された難易度情報と一致するか否かを検証する検証ステップを実行する。
【0054】
本実施例では、難易度情報は、契約実行トランザクションが異常契約実行トランザクションに属するか否かを検証する方式として使用され得る。契約実行トランザクションの難易度情報が検索された難易度情報と一致しない場合、契約実行トランザクションが異常トランザクション(例えば、偽造された契約実行トランザクション)に属すると判定することができる。
【0055】
本実施例のいくつかの代替実施形態では、契約実行トランザクションは、乱数および検証情報をさらに含み得る。ここで、検証情報は、契約実行トランザクションの乱数および契約パラメータに基づいて取得され得る。検証情報決定方法は、適用シナリオに応じて技術者によって柔軟に設定され得る。例えば、検証情報は、契約実行トランザクションの乱数および契約パラメータのハッシュ予算結果に基づいて決定され得る。
【0056】
この場合、上記検証ステップは、契約実行トランザクションの乱数および契約パラメータに基づいて検証情報を計算し、算出された検証情報が契約実行トランザクションの検証情報と一致するか否かを判定することをさらに含み得る。この場合、契約実行トランザクションの検証情報は、契約実行トランザクションが異常契約実行トランザクションに属するか否かを検証する方式としても使用され得る。算出された検証情報が契約実行トランザクションの検証情報と一致しない場合、契約実行トランザクションが異常トランザクション(例えば、偽造された契約実行トランザクション)に属すると判定することができる。
【0057】
また、上記検証ステップは、プルーフオブワーク技術に基づいて、契約実行トランザクションの検証情報が異常検証情報に属するか否かを判定することをさらに含み得る。具体的には、契約実行トランザクションの検証情報がプリセットの作業量要件を満たしているか否かを判定することができる。契約実行トランザクションの検証情報がプリセットの作業量要件を満たしていないと判定された場合、契約実行トランザクションの検証情報が異常検証情報に属すると判定することができる。従って、契約実行トランザクションは異常トランザクション(例えば、偽造された契約実行トランザクション)に属する。
【0058】
これは、契約実行トランザクションの難易度情報、検証情報などの複数の情報を検証することにより、受信された契約実行検証の精度を確保し、インテリジェント契約実行プロセスのセキュリティをさらに確保することができるので、インテリジェント契約の実行によって引き起こされ得るブロックチェーンシステムの損傷などの状況を避ける。
【0059】
ステップ204:契約実行トランザクションの難易度情報が検索された難易度情報と一致すると判定された場合、契約パラメータに基づいてインテリジェント契約を実行して、実行結果情報を取得する。
【0060】
本実施例では、契約実行トランザクションの難易度情報が検索された難易度情報と一致すると判定された場合、契約実行トランザクションが正常であると判定し、さらに契約パラメータに基づいてインテリジェント契約を実行することができる。
【0061】
なお、上述のように、契約実行トランザクションが乱数および検証情報をさらに含む場合、検証情報に加えて、契約実行トランザクションの検証情報を検証する必要があることを理解されたい。この場合、契約実行トランザクションの難易度情報が検索された難易度情報と一致し、算出された検証情報が契約実行トランザクションの検証情報と一致し、契約実行トランザクションの検証情報が異常検証情報に属しないと判定された場合、契約パラメータに基づいてインテリジェント契約を実行して、実行結果情報を取得する。即ち、契約実行トランザクションの難易度情報と検証情報の両方への検証に成功する場合のみ、さらにインテリジェント契約を実行する。
【0062】
ステップ205:取得された実行結果情報に基づいて、予め記憶されたユーザ情報に対応する難易度情報を更新する。
【0063】
本実施例では、上述のように、実行結果情報と難易度情報との対応関係は予め設定され得る。この場合、実行結果情報に基づいて、対応する難易度情報を検索し、予め記憶されたユーザ情報に対応する難易度情報を検索された難易度情報として更新することができる。
【0064】
あるいは、プリセットの難易度情報更新ポリシーに基づいて、ユーザの前回提出した契約実行トランザクションの実行結果情報に対応する難易度情報を決定することができる。ここで、難易度情報更新ポリシーは、実際の使用要件に応じて技術者によって設定され得る。
【0065】
一例として、実行結果情報が実行の成功または実行の失敗を指示するための実行状態情報を含む場合、難易度情報更新ポリシーは、実行状態情報が契約実行トランザクションの実行失敗を特徴付ける場合、予め記憶されたユーザ情報に対応する難易度情報、およびプリセットのアルゴリズムに基づいて、難易度情報によって特徴付けられた難易度を向上させることができる。実行状態情報が契約実行トランザクションの実行成功を特徴付ける場合、予め記憶されたユーザ情報に対応する難易度情報、およびプリセットのアルゴリズムに基づいて、難易度情報によって特徴付けられた難易度を低下させることができる。
【0066】
このため、今回更新された難易度情報に基づいて、ユーザの次回提出する契約実行トランザクションの難易度情報を決定することができる。具体的には、ユーザが契約実行トランザクションを次回提出する場合、契約実行トランザクションの難易度情報が今回更新された難易度情報と一致するか否かを検証することができる。
【0067】
なお、上記実行主体は、予め記憶されたユーザ情報に対応する難易度情報を更新した後、更新された難易度情報をユーザ情報によって指示されたユーザに通知して、ユーザが正確な契約実行トランザクションを提出できるようにすることができる。
【0068】
さらに図3を参照すると、図3は、本実施例に係るインテリジェント契約実行方法の例示的な適用シナリオ300を示す。図3の適用シナリオでは、ユーザの提出する契約実行トランザクション301を受信した後、契約実行トランザクション301のユーザ情報「U1」に基づいて、予め記憶された対応関係表302からユーザ情報「U1」に対応する難易度情報8を検索することができる。その後、検索された難易度情報が契約実行トランザクション301の難易度情報と一致するか否かを検証することができる。このため、契約パラメータに基づいて契約実行トランザクション301によって指示されたインテリジェント契約を実行し、1.5分の実行時間を記録することができる。
【0069】
その後、予め設定された難易度情報更新方法303、および今回の実行時間に基づいて、更新された難易度情報が12であると判定することができる。さらに、対応関係表302に記憶されたユーザ情報「U1」に対応する難易度情報を12として変更することができる。
【0070】
その後、ユーザ情報「U1」によって指示されたユーザの提出する契約実行トランザクション304が再び受信された場合、予め記憶された対応関係表302からユーザ情報「U1」に対応する難易度情報12を検索することができる。その後、検索された難易度情報12が契約実行トランザクション304の難易度情報10と一致するか否かを比較することができる。このため、契約実行トランザクション304の検証に失敗した場合、「契約実行トランザクションが異常であるので、一時的に実行できない」をユーザに通知することができる。
【0071】
本開示の上記実施例によって提供される方法は、契約実行トランザクションを毎回実行した後、今回の実行結果情報に基づいてユーザ情報に対応する難易度情報を更新して、ユーザの次回提出する契約実行トランザクションを検証する。即ち、更新された難易度情報は、ユーザの次回提出する契約実行トランザクションのコストとして使用される。このため、実際の使用要件に応じて難易度情報の柔軟な変更を制御し、さらに契約実行トランザクションの悪用や契約実行トランザクションの偽造などの状況を制御して、契約実行トランザクションの効果的な実行を実現することができる。また、本開示の上記実施例によって提供される方法は、従来技術のGASメカニズムに依存しないため、様々なブロックチェーンシステムに柔軟に適用することができる。
【0072】
さらに図4を参照すると、図4は、インテリジェント契約実行方法の別の実施例のプロセス400を示す。このインテリジェント契約実行方法のプロセス400は、以下のステップを含む。
【0073】
ステップ401:ユーザ情報と、難易度情報と、契約パラメータとを含む契約実行トランザクションを受信する。
【0074】
ステップ402:ユーザ情報に基づいて、予め記憶されたユーザ情報に対応する難易度情報を検索する。
【0075】
ステップ403:契約実行トランザクションの難易度情報が検索された難易度情報と一致するか否かを検証する検証ステップを実行する。
【0076】
上記のステップ401、402および403の具体的な実行プロセスには、図2に対応する実施例中のステップ201、202および203の関連説明を参照することができるので、ここではその説明を省略する。
【0077】
ステップ404:契約実行トランザクションの難易度情報が検索された難易度情報と一致すると判定され、インテリジェント契約を開始することが検出された場合、少なくとも1つのタイマータスクを設定する。
【0078】
本実施例では、タイマータスクは、タスクトリガー時刻にインテリジェント契約の実行が完了するか否かを検出するために使用され得る。一般に、少なくとも1つのタイマータスクにおける各タイマータスクのタスクトリガー時刻は異なる。
【0079】
ステップ405:少なくとも1つのタイマータスクにおけるタイマータスクに対して、以下のステップ4051-4053を実行する。
【0080】
ステップ4051:インテリジェント契約の実行が完了することはこのタイマータスクによって検出されると判定された場合、少なくとも1つのタイマータスクにおける未実行タイマータスクを削除し、インテリジェント契約の実行結果情報を記録する。
【0081】
ステップ4052:インテリジェント契約の実行が完了することはこのタイマータスクによって検出されていないと判定された場合、このタイマーのタスクトリガー時刻にインテリジェント契約の実行に費やされた計算リソースおよび/または時間リソースがプリセットのリソース閾値を超えるか否かを判定する。
【0082】
ここで、プリセットのリソース閾値は、実際の適用シナリオに応じて技術者によって予め設定され得る。
【0083】
ステップ4053:このタイマーのタスクトリガー時刻にインテリジェント契約の実行に費やされた計算リソースおよび/または時間リソースがプリセットのリソース閾値を超えると判定された場合、前記インテリジェント契約の実行を終了し、インテリジェント契約の実行結果情報を記録する。
【0084】
このため、インテリジェント契約の実行が過量のリソースを費やすので、他のインテリジェント契約が実行できないといった状況を避けることができる。
【0085】
本実施例のいくつかの代替実施形態では、少なくとも1つのタイマータスクにそれぞれ対応するタスクトリガー時刻以外の時刻にインテリジェント契約の実行完了を指示するための指示情報が受信された場合、少なくとも1つのタイマータスクにおける未実行タイマータスクを削除し、インテリジェント契約の実行結果情報を記録することができる。
【0086】
このため、少なくとも1つのタイマータスクを利用してインテリジェント契約の実行プロセスを検出すると同時に、ブロックチェーンシステム内の各ノードまたはユーザ端末によって送信されたインテリジェント契約の実行完了を指示するための指示情報を受信することができるので、インテリジェント契約の実行プロセスを多方面から検出して、インテリジェント契約の実行が完了するか否かをリアルタイムで把握し、同時にリソースの占有や浪費などの状況を避けることができる。
【0087】
あるいは、難易度情報更新ポリシーは、終了したインテリジェント契約について、このインテリジェント契約を提出するユーザのユーザ情報に対応する難易度情報を最大に設定することを含み得る。
【0088】
ステップ406:取得された実行結果情報に基づいて、予め記憶されたユーザ情報に対応する難易度情報を更新する。
【0089】
上記のステップ406の具体的な実行プロセスには、図2に対応する実施例中のステップ205の関連説明を参照することができるので、ここではその説明を省略する。
【0090】
あるいは、実行結果情報に含まれる時間リソースは、実行時間およびタイマーの実行回数のうちの少なくとも1つを含み得る。
【0091】
本開示の上記実施例によって提供される方法は、インテリジェント契約を実行するとき、少なくとも1つのタイマータスクを設定してインテリジェント契約の実行プロセスを検出し、インテリジェント契約の実行が完了するか否かをリアルタイムで把握し、インテリジェント契約の実行が過量のリソースを費やした場合、インテリジェント契約の実行をリアルタイムで終了し、インテリジェント契約の効果的な実行を実現することができる。
【0092】
さらに図5を参照すると、上記の各図に示された方法の実施形態として、本開示は、図2に示す方法の実施例に対応するインテリジェント契約実行装置の実施例を提供する。この装置は様々な電子デバイスに特に適用できる。
【0093】
図5に示すように、本実施例によって提供されるインテリジェント契約実行装置500は、受信ユニット501、検索ユニット502、判定ユニット503、実行ユニット504、および更新ユニット505を含む。受信ユニット501は、ユーザ情報と、難易度情報と、契約実行トランザクションの未実行インテリジェント契約のパラメータを指示するために使用される契約パラメータとを含む契約実行トランザクションを受信するように構成される。検索ユニット502は、ユーザ情報によって指示されたユーザの前回提出した契約実行トランザクションの実行結果情報に基づいて決定された、予め記憶されたユーザ情報に対応する難易度情報を、ユーザ情報に基づいて検索するように構成される。判定ユニット503は、契約実行トランザクションの難易度情報が検索された難易度情報と一致するか否かを検証する検証ステップを実行するように構成される。実行ユニット504は、契約実行トランザクションの難易度情報が検索された難易度情報と一致すると判定された場合、契約パラメータに基づいてインテリジェント契約を実行して、実行結果情報を取得するように構成される。更新ユニット505は、取得された実行結果情報に基づいて、予め記憶されたユーザ情報に対応する難易度情報を更新するように構成される。
【0094】
本実施例では、インテリジェント契約実行装置500の受信ユニット501、検索ユニット502、判定ユニット503、実行ユニット504、および更新ユニット505の具体的な処理とその技術的効果には、それぞれ図2に対応する実施例中のステップ201、ステップ202、ステップ203、ステップ204およびステップ205の関連説明を参照することができるため、ここではその説明を省略する。
【0095】
本実施例のいくつかの代替実施形態では、上記更新ユニット505は、プリセットの難易度情報更新ポリシーに基づいて、実行結果情報に対応する難易度情報を予め記憶されたユーザ情報に対応する難易度情報の更新結果として決定するようにさらに構成される。
【0096】
本実施例のいくつかの代替実施形態では、実行結果情報は、実行プロセスに費やされた計算リソース、実行プロセスに費やされた時間リソース、および実行の成功または実行の失敗を指示するための実行状態情報のうちの少なくとも1つを含み、実行結果情報に対応する難易度情報はそれに対応する計算リソースと正相関しており、実行結果情報に対応する難易度情報はそれに対応する時間リソースと正相関する。
【0097】
本実施例のいくつかの代替実施形態では、上記実行ユニット504は、インテリジェント契約を開始することが検出された場合、タスクトリガー時刻にインテリジェント契約の実行が完了するか否かを検出するために使用される少なくとも1つのタイマータスクを設定することと、少なくとも1つのタイマータスクにおけるタイマータスクに対して、以下のステップ、即ち、インテリジェント契約の実行が完了することはこのタイマータスクによって検出されると判定された場合、少なくとも1つのタイマータスクにおける未実行タイマータスクを削除し、インテリジェント契約の実行結果情報を記録することと、インテリジェント契約の実行が完了することはこのタイマータスクによって検出されていないと判定された場合、このタイマーのタスクトリガー時刻にインテリジェント契約の実行に費やされた計算リソースおよび/または時間リソースがプリセットのリソース閾値を超えるか否かを判定することと、このタイマーのタスクトリガー時刻にインテリジェント契約の実行に費やされた計算リソースおよび/または時間リソースがプリセットのリソース閾値を超えると判定された場合、インテリジェント契約の実行を終了し、インテリジェント契約の実行結果情報を記録することと、を実行するようにさらに構成される。
【0098】
本実施例のいくつかの代替実施形態では、時間リソースは、実行時間およびタイマーの実行回数のうちの少なくとも1つを含む。
【0099】
本実施例のいくつかの代替実施形態では、上記実行ユニット504は、少なくとも1つのタイマータスクにそれぞれ対応するタスクトリガー時刻以外の時刻にインテリジェント契約の実行完了を指示するための指示情報が受信された場合、少なくとも1つのタイマータスクにおける未実行タイマータスクを削除し、インテリジェント契約の実行結果情報を記録することを実行するようにさらに構成される。
【0100】
本実施例のいくつかの代替実施形態では、契約実行トランザクションは、乱数および検証情報をさらに含み、上記検証ステップは、乱数および契約パラメータに基づいて検証情報を計算し、算出された検証情報が契約実行トランザクションの検証情報と一致するか否かを判定することと、プルーフオブワーク技術に基づいて、契約実行トランザクションの検証情報が異常検証情報に属するか否かを判定することと、をさらに含み、上記実行ユニット504は、契約実行トランザクションの難易度情報が検索された難易度情報と一致し、算出された検証情報が契約実行トランザクションの検証情報と一致し、契約実行トランザクションの検証情報が異常検証情報に属しないと判定された場合、契約パラメータに基づいてインテリジェント契約を実行して、実行結果情報を取得することを実行するようにさらに構成される。
【0101】
本開示の上記実施例によって提供される装置は、受信ユニットを利用して、ユーザ情報と、難易度情報と、契約実行トランザクションの未実行インテリジェント契約のパラメータを指示するために使用される契約パラメータとを含む契約実行トランザクションを受信し、次に、検索ユニットを利用して、ユーザ情報によって指示されたユーザの前回提出した契約実行トランザクションの実行結果情報に基づいて決定された、予め記憶されたユーザ情報に対応する難易度情報を、ユーザ情報に基づいて検索し、次に、判定ユニットを利用して、契約実行トランザクションの難易度情報が検索された難易度情報と一致するか否かを検証する検証ステップを実行する。上記装置はさらに、実行ユニットを利用して、契約実行トランザクションの難易度情報が検索された難易度情報と一致すると判定された場合、契約パラメータに基づいてインテリジェント契約を実行して、実行結果情報を取得し、次に、更新ユニットを利用して、取得された実行結果情報に基づいて、予め記憶されたユーザ情報に対応する難易度情報を更新し、それにより、難易度情報を制御してインテリジェント契約トランザクションの悪用などの状況を避け、契約実行トランザクションの効果的な実行を実現することができる。
【0102】
さらに図6を参照すると、図6は、本開示の実施例を実施するのに適した電子デバイス(例えば、図1中のブロックチェーンシステム内の各ノード)600の構造概略図を示す。図6に示すものは、単なる例示であり、本開示の実施例の機能および使用範囲にいかなる制限も課すべきではない。
【0103】
図6に示すように、電子デバイス600は、リードオンリメモリ(ROM)602に記憶されたプログラム、または記憶装置608からランダムアクセスメモリ(RAM)603にロードされたプログラムに従って各種の適切な動作および処理を行うことができる、処理装置(例えば、中央演算装置、グラフィックプロセッサなど)601を含み得る。RAM603には、電子デバイス600の動作に必要な各種のプログラムおよびデータも記憶される。処理装置601、ROM602、およびRAM603は、バス604を介して相互に接続される。入力/出力(I/O)インターフェース605も、バス604に接続される。
【0104】
一般に、タッチスクリーン、タッチパッド、キーボード、マウス、カメラ、マイク、加速度計、ジャイロスコープなどを含む入力装置606、液晶ディスプレイ(LCD)、スピーカ、バイブレータなどを含む出力装置607、磁気テープ、ハードディスクなどを含む記憶装置608、および通信装置609は、I/Oインターフェース605に接続され得る。通信装置609は、電子デバイス600がデータを交換するために他のデバイスと無線または有線で通信することを可能にすることができる。図6が様々な装置を備えた電子デバイス600を示すが、示されたすべての装置を実装または具備する必要はないことを理解されたい。より多いまたはより少ない装置は、代替的に実装または具備され得る。図6に示す各ブロックは、1つの装置を表すことができるか、または必要に応じて複数の装置を表すことができる。
【0105】
特に、本開示の実施例によれば、フローチャートを参照して上述したプロセスは、コンピュータソフトウェアプログラムとして実装され得る。例えば、本開示の実施例は、コンピュータ可読媒体上で担持されるコンピュータプログラムを含むコンピュータプログラム製品を含み、このコンピュータプログラムは、フローチャートに示される方法を実行するためのプログラムコードを含む。このような実施例では、このコンピュータプログラムは、通信装置609を介してネットワークからダウンロードされてインストールされ得るか、または記憶装置608からインストールされ得るか、またはROM602からインストールされ得る。このコンピュータプログラムが処理装置601によって実行されるとき、本開示の実施例の方法において限定された上記機能が実行される。
【0106】
なお、本開示の実施例に記載のコンピュータ可読媒体は、コンピュータ可読信号媒体、コンピュータ可読記憶媒体、またはこれらの任意の組み合わせであり得る。例えば、コンピュータ可読記憶媒体は、電子、磁気、光学、電磁気、赤外線、または半導体のシステム、装置、またはデバイス、またはこれらの任意の組み合わせであり得るが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な例は、1本または複数本の導線を備えた電気コネクタ、ポータブルコンピュータディスク、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能なプログラマブルリードオンリメモリ(EPROMまたはフラッシュメモリ)、光ファイバ、ポータブル・コンパクト・ディスク・リードオンリメモリ(CD-ROM)、光学メモリ、磁気メモリ、またはこれらの任意の適切な組み合わせを含み得るが、これらに限定されない。本開示の実施例では、コンピュータ可読記憶媒体は、命令実行システム、装置、またはデバイスによって使用され得るか、またはそれらと組み合わせて使用され得るプログラムを含むかまたは記憶する任意の有形媒体であり得る。本開示の実施例では、コンピュータ可読信号媒体は、ベースバンド内で伝搬されるか、またはコンピュータ可読プログラムコードを担持するキャリアの一部として伝搬されるデータ信号を含み得る。このように伝搬されたデータ信号には、電磁信号、光信号、または上記の任意の適切な組み合わせを含むがこれらに限定されない、様々な形態を採用することができる。コンピュータ可読信号媒体は、命令実行システム、装置、またはデバイスによって使用されるか、またはそれらと組み合わせて使用されるプログラムを送信、伝搬、または伝送することができるコンピュータ可読記憶媒体以外の任意のコンピュータ可読媒体であり得る。コンピュータ可読媒体に含まれるプログラムコードは、電線、光ファイバケーブル、RF(無線周波数)など、またはこれらの任意の適切な組み合わせを含むがこれらに限定されない、任意の適切な媒体によって伝送され得る。
【0107】
上記コンピュータ可読媒体は、上記電子デバイスに含まれるものであり得るか、またはこの電子デバイスに組み込まれることなく、単独で存在するものであり得る。上記コンピュータ可読媒体は、1つまたは複数のプログラムを担持する。上記1つまたは複数のプログラムがこの電子デバイスによって実行されると、この電子デバイスは、ユーザ情報と、難易度情報と、契約実行トランザクションの未実行インテリジェント契約のパラメータを指示するために使用される契約パラメータとを含む契約実行トランザクションを受信することと、ユーザ情報によって指示されたユーザの前回提出した契約実行トランザクションの実行結果情報に基づいて決定された、予め記憶されたユーザ情報に対応する難易度情報を、ユーザ情報に基づいて検索することと、契約実行トランザクションの難易度情報が検索された難易度情報と一致するか否かを検証する検証ステップを実行することと、を実行する。この電子デバイスは、契約実行トランザクションの難易度情報が検索された難易度情報と一致すると判定された場合、契約パラメータに基づいてインテリジェント契約を実行して、実行結果情報を取得することと、取得された実行結果情報に基づいて、予め記憶されたユーザ情報に対応する難易度情報を更新することと、をさらに実行する。
【0108】
本開示の実施例の動作を実行するためのコンピュータプログラムコードは、Java、Smalltalk、C++などのオブジェクト指向プログラミング言語と、「C」言語または同様のプログラミング言語などの従来の手続き型プログラミング言語とを含む1つまたは複数のプログラミング言語、またはそれらの組み合わせで書かれ得る。プログラムコードは、完全にユーザコンピュータで実行され得るか、または部分的にユーザコンピュータで実行され得るか、または独立したソフトウェアパッケージとして、部分的にユーザコンピュータで、部分的にリモートコンピュータで実行され得るか、または完全にリモートコンピュータまたはサーバで実行され得る。リモートコンピュータの場合、リモートコンピュータは、ローカルエリアネットワーク(LAN)またはワイドエリアネットワーク(WAN)を含む任意の種類のネットワークを介して、ユーザコンピュータに接続され得るか、または外部コンピュータに接続され得る(例えば、インターネットサービスプロバイダを利用してインターネットを介して接続される)。
【0109】
図中のフローチャートおよびブロック図は、本開示の様々な実施例に係るシステム、方法、およびコンピュータプログラム製品の実装可能なアーキテクチャ、機能、および動作を示す。これに関して、フローチャートまたはブロック図の各ブロックは、指定された論理機能を実行するための1つまたは複数の実行可能命令を含む、モジュール、プログラムセグメントまたはコードの一部を表すことができる。また、いくつかの代替実施形態では、ブロックに示された機能は、図面に示された順序と異なって実行され得る。例えば、連続して示される2つのブロックは関連機能に応じて、実際に実質的に並行して実行され得るか、または逆の順序で実行され得る。また、ブロック図および/またはフローチャートの各ブロック、およびブロック図および/またはフローチャートのブロックの組み合わせは、指定された機能または動作を実行するための専用のハードウェアベースのシステムによって実装され得るか、または専用ハードウェアとコンピュータ命令の組み合わせによって実装され得る。
【0110】
本開示の実施例に記載のユニットは、ソフトウェアによって実装され得るか、またはハードウェアによって実装され得る。前記ユニットは、受信ユニット、検索ユニット、判定ユニット、実行ユニット、および更新ユニットを含むプロセッサとして説明されるプロセッサにも配置され得る。ここで、これらのユニットの名称は、特定の場合にこのユニット自体を限定するものではなく、例えば、受信ユニットは、「ユーザ情報と、難易度情報と、契約パラメータとを含む契約実行トランザクションを受信するユニット」としても説明され得る。
【0111】
以上の説明は、本開示の好ましい実施例、および使用された技術的原理についての説明にすぎない。本開示の実施例に係る発明範囲が、上記技術的特徴の特定の組み合わせからなる技術的解決手段に限定されず、上記発明の概念から逸脱することなく上記技術的特徴またはその同等の特徴の任意の組み合わせからなる他の技術的解決手段に含まれることは、当業者にとって理解されるであろう。例えば、上記他の技術的解決手段は、上記特徴と、本開示の実施例において開示される(これらに限定されない)同様の機能を有する技術的特徴とを置き換えることによって形成される技術的解決手段であり得る。
【符号の説明】
【0112】
100 システムアーキテクチャ
101 端末装置
102 端末装置
103 端末装置
103 サーバ
104 ネットワーク
105 ブロックチェーンシステム
500 インテリジェント契約実行装置
501 受信ユニット
502 検索ユニット
503 判定ユニット
504 実行ユニット
505 更新ユニット
600 電子デバイス
601 処理装置
602 リードオンリメモリ(ROM)
603 ランダムアクセスメモリ(RAM)
604 バス
605 I/Oインターフェース
606 入力装置
607 出力装置
608 記憶装置
609 通信装置
図1
図2
図3
図4
図5
図6
【国際調査報告】