JP2023014548A - Information processing device, information processing method, and program - Google Patents
Information processing device, information processing method, and program Download PDFInfo
- Publication number
- JP2023014548A JP2023014548A JP2021118557A JP2021118557A JP2023014548A JP 2023014548 A JP2023014548 A JP 2023014548A JP 2021118557 A JP2021118557 A JP 2021118557A JP 2021118557 A JP2021118557 A JP 2021118557A JP 2023014548 A JP2023014548 A JP 2023014548A
- Authority
- JP
- Japan
- Prior art keywords
- smart contract
- information processing
- type
- smart
- homotopy
- 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.)
- Pending
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 25
- 238000003672 processing method Methods 0.000 title claims description 5
- 238000006243 chemical reaction Methods 0.000 claims abstract description 12
- 230000008859 change Effects 0.000 claims description 9
- 230000009466 transformation Effects 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 22
- 238000000034 method Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000011514 reflex Effects 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
本発明は、情報処理装置、情報処理方法、およびプログラムに関する。 The present invention relates to an information processing device, an information processing method, and a program.
ブロックチェーンネットワークにおいて実行されるスマートコントラクトの更新を管理する技術が知られている。例えば、特許文献1には、スマートコントラクトを更新するための条件が満たされていると判定されたとき、当該スマートコントラクトを更新して、ブロックチェーンネットワークにおけるブロックに変更を記録する技術が知られている。
Techniques for managing updates of smart contracts executed in blockchain networks are known. For example,
しかしながら、従来技術では、スマートコントラクトが更新された場合、当該スマートコントラクトは異なるスマートコントラクトとして管理され、例えば、実質的に契約内容を変更しない更新であっても、更新前のスマートコントラクトと、更新後のスマートコントラクトとが、異なるスマートコントラクトとして扱われる場合があった。その結果、スマートコントラクトを利便性よく管理することができない場合があった。 However, in the conventional technology, when a smart contract is updated, the smart contract is managed as a different smart contract. was treated as a different smart contract in some cases. As a result, smart contracts may not be conveniently managed.
本発明は、このような事情を考慮してなされたものであり、スマートコントラクトを利便性よく管理することができる、情報処理装置、情報処理方法、およびプログラムを提供することを目的の一つとする。 The present invention has been made in consideration of such circumstances, and one of the objects thereof is to provide an information processing device, an information processing method, and a program capable of conveniently managing smart contracts. .
本発明の一態様に係る情報処理装置は、ブロックチェーンネットワークにおいて記録されるスマートコントラクトと、別のスマートコントラクトとに、ホモトピー型理論に基づく型を付与する付与部と、前記スマートコントラクトから前記別のスマートコントラクトへの変換が前記ホモトピー型理論に基づく所定のルールを満たす場合に、前記別のスマートコントラクトが前記スマートコントラクトと同一であると判定する判定部と、を備える。 An information processing apparatus according to an aspect of the present invention includes: an assigning unit that assigns a type based on homotopy type theory to a smart contract recorded in a blockchain network and another smart contract; a determination unit that determines that the another smart contract is identical to the smart contract when conversion to the smart contract satisfies a predetermined rule based on the homotopy type theory.
本発明の一態様によれば、スマートコントラクトを利便性よく管理することができる。 According to one aspect of the present invention, smart contracts can be conveniently managed.
以下、図面を参照し、本発明の情報処理装置、情報処理方法、およびプログラムの実施形態について説明する。図1は、情報処理装置100の使用環境であるシステム1の一例を示す図である。図1に示す通り、システム1は、複数のノード10と、情報処理装置100と、を備える。
Hereinafter, embodiments of an information processing apparatus, an information processing method, and a program according to the present invention will be described with reference to the drawings. FIG. 1 is a diagram showing an example of a
ノード10は、ピア・ツー・ピアネットワークであるブロックチェーンネットワークNWに接続するコンピュータ装置であり、ブロックチェーンネットワークNWを介して他のノード10等と相互に通信する。各ノード10は、ブロックチェーンデータ12を記憶し、ブロックチェーンデータ12に記録されるプログラムコードであるスマートコントラクトSCを実行する。スマートコントラクトSCを実行することにより、例えば、所定条件におけるデータの読み書きや送金など、予め参加者間で合意されたビジネスロジックの処理を自動化することができる。ノード10は、ブロックチェーンネットワークNWにおける全ての情報を保有するフルノードであってもよいし、各データを証明するためのハッシュ値等の情報を保有するライトノードであってもよい。
The
情報処理装置100は、単一又は複数のノード10からブロックチェーンデータ12を取得して、ブロックチェーンデータ12に記録されるスマートコントラクトSCに関する情報を管理する。また、情報処理装置100は、ノード10としての機能も有し、情報処理装置100自体が記憶するブロックチェーンデータ12に記録されるスマートコントラクトSCに関する情報を管理してもよい。
The
情報処理装置100は、上記の機能を実現するために、付与部110と、判定部120と、記憶部130と、を備える。付与部110及び判定部120は、例えば、CPUなどのハードウェアプロセッサがプログラム(ソフトウェア)を実行することにより実現される。付与部110及び判定部120は、LSIやASIC、FPGA、GPUなどのハードウェア(回路部;circuitryを含む)によって実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。記憶部130は、例えば、ROM、フラッシュメモリ、SDカード、RAM、HDD、レジスタ等によって実現される。付与部110と判定部120の機能の詳細、及び記憶部130に格納される情報の詳細については、後述する。
The
図2は、ノード10に記憶されるブロックチェーンデータ12の構成の一例を示す図である。図2に示す通り、ブロックチェーンデータ12は複数のブロックから構成され、各ブロックBLは、例えば、前ブロックハッシュ値HV1と、取引履歴ハッシュ値HV2と、その他ヘッダOHと、ナンス値NVと、スマートコントラクトSCと、取引履歴TDと、を含む。
FIG. 2 is a diagram showing an example of the configuration of
前ブロックハッシュ値HV1は、あるブロックBL(N)の前ブロックBL(N-1)によって計算されたハッシュ値を示す。取引履歴ハッシュ値HV2は、取引履歴TDに基づいて、所定のルールに従って計算されたハッシュ値を示し、例えば、マークルート値である。その他ヘッダOHは、当該ブロックBLのメタ情報を示し、例えば、タイムスタンプなどの情報を含む。ナンス値は、ノード10がブロックを生成する際に、マイナーがマイニングによって生成する数値を示し、例えば、32ビットの数値である。スマートコントラクトSCは、上述した通り、ブロックチェーンデータ12に記録されるプログラムコードを示す。取引履歴TDは、あるノード10から他のノード10への暗号通貨の送金情報を示す。
The previous block hash value HV1 indicates a hash value calculated by the previous block BL(N−1) of a certain block BL(N). A transaction history hash value HV2 indicates a hash value calculated according to a predetermined rule based on the transaction history TD, and is, for example, a mark root value. Other header OH indicates meta information of the block BL, and includes information such as time stamp, for example. The nonce value indicates a number generated by mining by a miner when the
各ノード10は、あるブロックBL(N)の次ブロックBL(N+1)を新規に生成する際に、ブロックBL(N)における前ブロックハッシュ値HV1と、取引履歴ハッシュ値HV2と、その他ヘッダOHと、ナンス値に基づいて、ブロックBL(N)のハッシュ値を計算し、計算したハッシュ値が所定条件(例えば、上位16桁の値が全てゼロ)を満たす場合に、当該ハッシュ値を、次ブロックBL(N+1)における前ブロックハッシュ値HV1として記憶する。計算したハッシュ値が所定条件(例えば、上位16桁の値が全てゼロ)を満たさない場合には、各ノード10は、マイナーから次のナンス値を受け取ってブロックBL(N)のハッシュ値を再計算し、再計算したハッシュ値が所定条件を満たすまで、ナンス値の受け取りとハッシュ値の再計算を繰り返す。これにより、あるブロックBL(N)の次ブロックBL(N+1)が生成される。なお、前ブロックハッシュ値HV1と、取引履歴ハッシュ値HV2と、その他ヘッダOHと、ナンス値に加えて、スマートコントラクトSCを入力として用いて、ブロックBL(N)のハッシュ値を計算してもよい。
When each
図3は、ブロックチェーンデータ12に記録されるスマートコントラクトSC_aの疑似コードの一例を示す図である。図3に示されるスマートコントラクトSC_aは、現在の月および日を取得し、取得した現在の月および日が10月1日に一致するときに、senderからreceiverにamountに相当する金額を送金する処理を示している。
FIG. 3 is a diagram showing an example of pseudocode of the smart contract SC_a recorded in the
図4は、ブロックチェーンデータ12に記録されるスマートコントラクトSC_bの疑似コードの一例を示す図である。図4に示されるスマートコントラクトSC_bは、現在の月および日を取得し、取得した現在の月および日が10月1日に一致するときに、senderからreceiverにamountに相当する金額を送金する処理を示しており、スマートコントラクトSC_aが実行する処理内容と同一である。
FIG. 4 is a diagram showing an example of pseudo code of the smart contract SC_b recorded in the
スマートコントラクトSC_aとスマートコントラクトSC_bを比較すると、スマートコントラクトSC_aでは、datetime.nowメソッドによって取得されたオブジェクトの格納変数がtimeとなっているのに対して、スマートコントラクトSC_bでは、datetime.nowメソッドによって取得されたオブジェクトの格納変数がtとなっている。つまり、スマートコントラクトSC_aのプログラムコードに記載された格納変数timeを格納変数tに修正することによって、スマートコントラクトSC_aはスマートコントラクトSC_bと一致する。 Comparing smart contract SC_a and smart contract SC_b, in smart contract SC_a, datetime. While the storage variable of the object acquired by the now method is time, smart contract SC_b stores datetime. The storage variable of the object acquired by the now method is t. That is, smart contract SC_a matches smart contract SC_b by modifying the storage variable time described in the program code of smart contract SC_a to storage variable t.
このように、スマートコントラクトSC_aのプログラムコードと、スマートコントラクトSC_bのプログラムコードは異なるものであるため、従来技術では、スマートコントラクトSC_aとスマートコントラクトSC_bが異なるものとして扱われる場合があった。しかしながら、スマートコントラクトSC_aとスマートコントラクトSC_bは、10月1日にsenderからreceiverにamountに相当する金額を送金するという点で、同一性を有すると解釈することもできる。すなわち、複数のスマートコントラクトSCを管理するにあたって、当該複数のスマートコントラクトSCが「同一性を有する」とはどういうことかを定義する必要がある。 Since the program code of the smart contract SC_a and the program code of the smart contract SC_b are different in this way, the smart contract SC_a and the smart contract SC_b may be treated as different things in the conventional technology. However, smart contract SC_a and smart contract SC_b can also be interpreted as having the same in that the amount equivalent to the amount is transferred from the sender to the receiver on October 1st. That is, in managing a plurality of smart contracts SC, it is necessary to define what it means for the plurality of smart contracts SC to have the same identity.
上記の課題を解決するために、本発明は、ホモトピー型理論を適用する。ホモトピー型理論は、位相幾何学分野に属するホモトピー理論と、数学基礎論分野に属する型理論とを、より一般的な見地から統合した理論であり、拡張された同一性の概念を扱うものである。なお、ここで「ホモトピー型理論を適用する」とは、例えば、ホモトピー型理論を背景とした任意のプログラムコードを作成して実行することを意味し、必ずしもホモトピー型理論を直接的に表す数式、関数などを生成することを意味しなくてもよい。 To solve the above problems, the present invention applies homotopy-type theory. Homotopy type theory is a theory that integrates homotopy theory, which belongs to the field of topology, and type theory, which belongs to the field of foundations of mathematics, from a more general point of view, and deals with the extended concept of identity. . Here, "applying the homotopy type theory" means, for example, creating and executing an arbitrary program code based on the homotopy type theory. It doesn't have to mean creating a function or the like.
図5は、ホモトピー型理論の概要を説明するための図である。図5において、a、b、cは空間上の点を示し、pは点aから点bへの道(path)を示し、qは点bから点cへの道を示す。ホモトピー型理論では、空間上の2点を結ぶ道が存在するときに、当該2点が同一性を有すると解釈し、p:a=Abが成立する。ここで、Aは点aと点bが有する型を示し、p:a=Abは、点aと点bが型Aに関して同一性を有することを意味する。すなわち、点aから点bへの道が存在することと、点aと点bが同一の型を有することは同値である。道は、以下の性質を有する。 FIG. 5 is a diagram for explaining the outline of the homotopy-type theory. In FIG. 5, a, b, and c indicate points in space, p indicates a path from point a to point b, and q indicates a path from point b to point c. In the homotopy-type theory, when there is a path connecting two points in space, it is interpreted that the two points have the same identity, and p:a= Ab holds. where A denotes the type that points a and b have, and p:a= A b means that points a and b have identity with respect to type A. That is, it is equivalent that there exists a path from point a to point b if points a and b have the same type. A road has the following properties.
[反射律]
空間上の任意の点aには、点a自体からの道pが存在する。すなわち、p:a=Aaが成立する。このときの道pはidとも表記され、恒等写像と称する場合もある。
[Reflex law]
For any point a in space there is a path p from point a itself. That is, p:a= Aa holds. The path p at this time is also written as id, and is sometimes called an identity map.
[対称律]
空間上の点aから点bへの道pが存在する場合、点bから点aへの道qも存在する。すなわち、p:a=Abが成立する場合、q:b=Aaが成立するような道qが存在する。このときの道qは、例えば、点aから点bへの道pを逆向きに辿る道であり、!pと表記される。!pを逆写像と称する場合もある。
[Law of symmetry]
If there exists a path p from point a to point b in space, there also exists a path q from point b to point a. That is, when p:a= Ab holds, there exists a path q such that q:b= Aa holds. The road q at this time is, for example, a road that follows the road p from the point a to the point b in the opposite direction, and ! It is written as p. ! Sometimes p is called an inverse mapping.
[推移律]
空間上の点aから点bへの道pが存在し、かつ点bから点cへの道qが存在する場合、点aから点cへの道rも存在する。すなわち、p:a=Abかつq:b=Acが成立する場合、r:a=Acが成立するような道rが存在する。このときの道rは、例えば、点aから点bへの道pと点bから点cへの道qを接続した道であり、q〇pと表記される。q〇pを合成写像と称する場合もある。
[Transitive law]
If there exists a path p from point a to point b in space and a path q from point b to point c, then there also exists a path r from point a to point c. That is, if p:a= Ab and q:b= Ac , there exists a path r such that r:a= Ac . The road r at this time is, for example, a road connecting the road p from the point a to the point b and the road q from the point b to the point c, and is written as q0p. q0p may be referred to as a synthetic map.
付与部110は、ブロックチェーンデータ12に記録されるスマートコントラクトSCに、上述したホモトピー型理論に基づく型を付与することによって、スマートコントラクトSCの同一性を定義する。より具体的には、本実施形態において、付与部110は、同一の実行内容を有する複数のスマートコントラクトSCに同一の型を付与する。
The assigning
判定部120は、スマートコントラクトSCから別のスマートコントラクトSCへの道が存在する場合、すなわち、二つのスマートコントラクトSCが同一の実行内容を有する場合、これらのスマートコントラクトSCが同一性を有すると判定する。判定部120は、同一性を有するものとして判定したスマートコントラクトSCを、同一の型について紐づけて、記憶部130が格納するスマートコントラクト管理テーブル132に格納する。スマートコントラクト管理テーブル132の詳細については後述する。
If there is a path from one smart contract SC to another smart contract SC, that is, if two smart contract SCs have the same execution content, the
図6は、スマートコントラクトSC_aからスマートコントラクトSC_bへの道pを説明するための概念図である。上述した通り、スマートコントラクトSC_bは、スマートコントラクトSC_aの変数timeを変数tに変換することによって得られるプログラムコードである。このとき、10月1日にsenderからreceiverにamountに相当する金額を送金するという実行内容は変化しない。そのため、付与部110は、スマートコントラクトSC_aとスマートコントラクトSC_bに同一の型Aを付与し、判定部120は、スマートコントラクトSC_aとスマートコントラクトSC_bとが同一性を有すると判定する。
FIG. 6 is a conceptual diagram for explaining the path p from smart contract SC_a to smart contract SC_b. As described above, the smart contract SC_b is program code obtained by converting the variable time of the smart contract SC_a into the variable t. At this time, there is no change in the execution content of transferring the amount equivalent to the amount from the sender to the receiver on October 1st. Therefore, the assigning
図7は、ブロックチェーンデータ12に記録されるスマートコントラクトSC_cの疑似コードの一例を示す図である。図7に示されるスマートコントラクトSC_cは、スマートコントラクトSC_bの変数monthを変数monに変換することによって得られるプログラムコードである。このとき、スマートコントラクトSC_aからスマートコントラクトSC_bへの変換と同様に、10月1日にsenderからreceiverにamountに相当する金額を送金するという実行内容は変化しない。そのため、付与部110は、スマートコントラクトSC_cに型Aを付与し、判定部120は、スマートコントラクトSC_aと、スマートコントラクトSC_bと、スマートコントラクトSC_cとが同一性を有すると判定する。
FIG. 7 is a diagram showing an example of pseudo code of the smart contract SC_c recorded in the
図8は、スマートコントラクトSC_aからスマートコントラクトSC_bへの道pと、スマートコントラクトSC_bからスマートコントラクトSC_cへの道qの合成q〇pを説明するための概念図である。スマートコントラクトSC_cは、スマートコントラクトSC_aの変数timeを変数tに変換し(道p)、その後、変数monthを変数monに変換する(道q)ことによって得られるプログラムコードである。すなわち、スマートコントラクトSC_aからスマートコントラクトSC_cには、道pと道qの合成q〇pが適用され、q〇p:スマートコントラクトSC_a=AスマートコントラクトSC_cが成立する。 FIG. 8 is a conceptual diagram for explaining synthesis q0p of path p from smart contract SC_a to smart contract SC_b and path q from smart contract SC_b to smart contract SC_c. The smart contract SC_c is program code obtained by converting the variable time of the smart contract SC_a into the variable t (path p) and then converting the variable month into the variable mon (path q). That is, from smart contract SC_a to smart contract SC_c, a combination q0p of way p and way q is applied, and q0p: smart contract SC_a= A smart contract SC_c is established.
図9は、ブロックチェーンデータ12に記録されるスマートコントラクトSC_dの疑似コードの一例を示す図である。図9に示されるスマートコントラクトSC_dは、現在の月および日を取得し、取得した現在の月および日が11月1日に一致するときに、senderからreceiverにamountに相当する金額を送金する処理を示している。このとき、10月1日にsenderからreceiverにamountに相当する金額を送金するという実行内容は変化している。そのため、付与部110は、スマートコントラクトSC_dに、スマートコントラクトSC_aと、スマートコントラクトSC_bと、スマートコントラクトSC_cとは異なる型Bを付与し、判定部120は、スマートコントラクトSC_dが、スマートコントラクトSC_aと、スマートコントラクトSC_bと、スマートコントラクトSC_cとは同一性を有さないと判定する。
FIG. 9 is a diagram showing an example of pseudo code of smart contract SC_d recorded in
図10は、スマートコントラクトSC_cからスマートコントラクトSC_dへの変換可能性を説明するための概念図である。図10に示す通り、スマートコントラクトSC_cは、スマートコントラクトSC_aの変数timeを変数tに変換し(道p)、その後、変数monthを変数monに変換する(道p)ことによって得られるものであり、スマートコントラクトの実行内容に変更はないため、付与部110によって型Aを付与されている。
FIG. 10 is a conceptual diagram for explaining the convertibility from smart contract SC_c to smart contract SC_d. As shown in FIG. 10, the smart contract SC_c is obtained by converting the variable time of the smart contract SC_a into the variable t (path p), and then converting the variable month into the variable mon (path p), Since there is no change in the execution details of the smart contract, type A is assigned by the assigning
一方、スマートコントラクトSC_dは、スマートコントラクトSC_aと、スマートコントラクトSC_bと、スマートコントラクトSC_cとは異なる実行内容を有しているため、スマートコントラクトSC_cからスマートコントラクトSC_dへの道が存在しない。そのため、付与部110は、型Aとは異なる型BをスマートコントラクトSC_dに付与し、判定部120は、スマートコントラクトSC_dが、スマートコントラクトSC_aと、スマートコントラクトSC_bと、スマートコントラクトSC_cとは同一性を有さないと判定する。
On the other hand, since smart contract SC_d has execution content different from smart contract SC_a, smart contract SC_b, and smart contract SC_c, there is no way from smart contract SC_c to smart contract SC_d. Therefore, the granting
図11は、記憶部130が格納するスマートコントラクト管理テーブル132の一例を示す図である。図11に示す通り、スマートコントラクト管理テーブル132は、スマートコントラクトIDに対して、スマートコントラクトの変更情報と型などの情報が紐づけられたものである。
FIG. 11 is a diagram showing an example of the smart contract management table 132 stored in the
スマートコントラクトIDは、個々のスマートコントラクトSCを識別するための識別子である。スマートコントラクトIDは、スマートコントラクトSCの生成時に当該スマートコントラクトSCに付与されるものであり、スマートコントラクトSCのプログラムコードに変更がある都度、アップデートされる。スマートコントラクトの変更情報は、直前のスマートコントラクトIDに対応するスマートコントラクトSCから今回のスマートコントラクトIDへの変更情報である。型は、付与部110によって付与されたトポロジー型理論に基づく型である。
A smart contract ID is an identifier for identifying an individual smart contract SC. The smart contract ID is given to the smart contract SC when the smart contract SC is generated, and is updated each time the program code of the smart contract SC is changed. The smart contract change information is change information from the smart contract SC corresponding to the previous smart contract ID to the current smart contract ID. The type is a type based on topology type theory given by the giving
図11に示す通り、個々のスマートコントラクトSCを、プログラムコードの厳密な一致性に基づいて管理する場合、従来技術では、実行内容が同一である複数のスマートコントラクトSCが異なるスマートコントラクトSCとして識別される場合があった。一方、本実施形態によれば、実行内容が同一である複数のスマートコントラクトSCには、ホモトピー型理論に基づく同一の型を付与することによって、スマートコントラクトを利便性よく管理することができる。 As shown in FIG. 11, when individual smart contracts SC are managed based on strict consistency of program code, in the prior art, multiple smart contracts SC with the same execution content are identified as different smart contracts SC. there was a case. On the other hand, according to the present embodiment, smart contracts can be conveniently managed by assigning the same type based on the homotopy type theory to a plurality of smart contracts SC having the same execution content.
なお、上述した実施形態では、スマートコントラクトSCの実行内容が同一であるか否かという基準に基づいて、付与部110は、スマートコントラクトSCに同一の型を付与している。しかし、本発明はそのような実施形態に限定されない。
In the above-described embodiment, the assigning
一例として、付与部110は、スマートコントラクトSCから別のスマートコントラクトSCへの変換が、単一の文字を変換したものであった場合に、これらのスマートコントラクトSCに同一の型を付与してもよいし、スマートコントラクトSCから別のスマートコントラクトSCへの変換が、単一の単語を変換したものであった場合に、これらのスマートコントラクトSCに同一の型を付与してもよいし、スマートコントラクトSCから別のスマートコントラクトSCへの変換が、単一の文章を変換したものであった場合に、これらのスマートコントラクトSCに同一の型を付与してもよい。
As an example, the assigning
また、一例として、付与部110は、スマートコントラクトSCから別のスマートコントラクトSCへの変換が、基本契約部分(例えば、スマートコントラクトSCの送金モジュール)や、ユーザが独自に定義した契約部分を変更しない場合に、これらのスマートコントラクトSCに同一の型を付与してもよい。
Also, as an example, the granting
また、一例として、付与部110は、スマートコントラクトSCから別のスマートコントラクトSCへの変換が、誤字、脱字、フォーマットの変更、スペースやタブの追加又は削除であった場合に、これらのスマートコントラクトSCに同一の型を付与してもよい。さらに、同一の型を付与する基準となる上述したルールは、相互に組み合わせてもよい。
In addition, as an example, if the conversion from one smart contract SC to another smart contract SC involves typographical errors, omissions, format changes, or addition or deletion of spaces or tabs, the granting
以上の通り説明した本実施形態によれば、情報処理装置は、スマートコントラクトにホモトピー型理論に基づく型を付与し、他のスマートコントラクトへの道が存在する場合に、当該他のスマートコントラクトにも同一の型を付与することによって、スマートコントラクトの同一性を判定する。これにより、スマートコントラクトを利便性よく管理することができる。 According to the present embodiment described above, the information processing device assigns a type based on the homotopy type theory to the smart contract, and if there is a path to another smart contract, the other smart contract The identity of smart contracts is determined by assigning the same type. This allows smart contracts to be managed conveniently.
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。 As described above, the mode for carrying out the present invention has been described using the embodiments, but the present invention is not limited to such embodiments at all, and various modifications and replacements can be made without departing from the scope of the present invention. can be added.
1 システム
10 ノード
12 ブロックチェーンデータ
100 情報処理装置
110 付与部
120 判定部
130 記憶部
NW ブロックチェーンネットワーク
BL ブロック
HV1 前ブロックハッシュ値
HV2 取引履歴ハッシュ値
OH その他ヘッダ
NV ナンス値
SC スマートコントラクト
TD 取引履歴
1
Claims (7)
前記スマートコントラクトから前記別のスマートコントラクトへの変換が前記ホモトピー型理論に基づく所定のルールを満たす場合に、前記別のスマートコントラクトと、前記スマートコントラクトとが同一性を有すると判定する判定部と、を備える、
情報処理装置。 a granting unit that grants a type based on homotopy type theory to a smart contract recorded in a blockchain network and another smart contract;
a determination unit that determines that the smart contract and the smart contract are identical when the conversion from the smart contract to the smart contract satisfies a predetermined rule based on the homotopy type theory; comprising
Information processing equipment.
請求項1に記載の情報処理装置。 the predetermined rule is that the conversion of the smart contract to the other smart contract does not change the execution of the smart contract;
The information processing device according to claim 1 .
請求項1又は2に記載の情報処理装置。 the predetermined rule is that the transformation from the smart contract to the another smart contract transforms the characters of the smart contract;
The information processing apparatus according to claim 1 or 2.
請求項1から3のいずれか1項に記載の情報処理装置。 the predetermined rule is that the conversion from the smart contract to the another smart contract converts words of the smart contract;
The information processing apparatus according to any one of claims 1 to 3.
請求項1から4のいずれか1項に記載の情報処理装置。 the predetermined rule is that the transformation from the smart contract to the another smart contract transforms text of the smart contract;
The information processing apparatus according to any one of claims 1 to 4.
ブロックチェーンネットワークにおいて記録されるスマートコントラクトと、別のスマートコントラクトとに、ホモトピー型理論に基づく型を付与し、
前記スマートコントラクトから前記別のスマートコントラクトへの変換が前記ホモトピー型理論に基づく所定のルールを満たす場合に、前記別のスマートコントラクトと、前記スマートコントラクトとが同一性を有すると判定する、
情報処理方法。 the computer
Giving a type based on homotopy type theory to a smart contract recorded in a blockchain network and another smart contract,
If the conversion from the smart contract to the another smart contract satisfies a predetermined rule based on the homotopy-type theory, the smart contract and the smart contract are determined to have identity;
Information processing methods.
ブロックチェーンネットワークにおいて記録されるスマートコントラクトと、別のスマートコントラクトとに、ホモトピー型理論に基づく型を付与させ、
前記スマートコントラクトから前記別のスマートコントラクトへの変換が前記ホモトピー型理論に基づく所定のルールを満たす場合に、前記別のスマートコントラクトと、前記スマートコントラクトとが同一性を有すると判定させる、
プログラム。 to the computer,
Giving a smart contract recorded in a blockchain network and another smart contract a type based on homotopy type theory,
If the conversion from the smart contract to the another smart contract satisfies a predetermined rule based on the homotopy type theory, the other smart contract and the smart contract are determined to have identity;
program.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021118557A JP2023014548A (en) | 2021-07-19 | 2021-07-19 | Information processing device, information processing method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021118557A JP2023014548A (en) | 2021-07-19 | 2021-07-19 | Information processing device, information processing method, and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023014548A true JP2023014548A (en) | 2023-01-31 |
Family
ID=85130752
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021118557A Pending JP2023014548A (en) | 2021-07-19 | 2021-07-19 | Information processing device, information processing method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2023014548A (en) |
-
2021
- 2021-07-19 JP JP2021118557A patent/JP2023014548A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107577427B (en) | data migration method, device and storage medium for blockchain system | |
JP7362654B2 (en) | Maintenance and management of blockchain blocks in a divided blockchain network | |
US10055216B2 (en) | Minimizing image copying during partition updates | |
KR101130443B1 (en) | Method, system, and computer-readable medium for merging data from multiple data sources for use in an electronic document | |
CN110402441B (en) | Referencing access control lists | |
CN106537350A (en) | Method for processing data quality exceptions in data processing system | |
CN104636286A (en) | Data access method and equipment | |
US11210404B2 (en) | Blockchain-based state verifications of software component vulnerability database for software products | |
CN106156070A (en) | A kind of querying method, Piece file mergence method and relevant apparatus | |
US10700934B2 (en) | Communication control device, communication control method, and computer program product | |
CN108268344A (en) | A kind of data processing method and device | |
JP6655524B2 (en) | Network management device, method and program | |
JP2020204898A (en) | Method, system, and program for managing operation of distributed ledger system | |
US7633886B2 (en) | System and methods for packet filtering | |
US10673624B2 (en) | Communication control device, communication control method, and computer program product | |
US12081675B2 (en) | Content use system, permission terminal, browsing terminal, distribution terminal, and content use program | |
CN110334103A (en) | The update method of recommendation service provides device, access mechanism and recommender system | |
JP2018045286A (en) | Pretreatment device, index addition tree data correction method and index addition tree data correction program | |
WO2021027745A1 (en) | Graph reconstruction method and apparatus | |
US9015124B2 (en) | Replication system and method of rebuilding replication configuration | |
JP2023014548A (en) | Information processing device, information processing method, and program | |
JP2020194385A (en) | Update device, update method, update program, and data structure | |
JP5659880B2 (en) | Processing apparatus, distributed processing system, and processing program | |
CN114118944A (en) | Forensic laboratory grading management method, terminal device and storage medium | |
JP6931331B2 (en) | Blockchain management system, blockchain management method and blockchain management program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20231026 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240520 |