JP2023014548A - Information processing device, information processing method, and program - Google Patents

Information processing device, information processing method, and program Download PDF

Info

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
Application number
JP2021118557A
Other languages
Japanese (ja)
Inventor
祐 宮崎
Yu Miyazaki
崇史 宮崎
Takashi Miyazaki
章人 田平
Akito Tahira
圭佑 熊田
Keisuke Kumada
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yahoo Japan Corp
Original Assignee
Yahoo Japan Corp
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 Yahoo Japan Corp filed Critical Yahoo Japan Corp
Priority to JP2021118557A priority Critical patent/JP2023014548A/en
Publication of JP2023014548A publication Critical patent/JP2023014548A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

To conveniently manage a smart contract.SOLUTION: An information processing device comprises a giving unit and a determination unit. The giving unit gives a type based on a homotopy-type theory to a smart contract recorded in a block chain network and another smart contract. When conversion from the smart contract to the other smart contract meets prescribed rules based on the homotopy-type theory, the determination unit determines that both the other smart contract and the smart contract have identity.SELECTED DRAWING: Figure 1

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, Patent Document 1 discloses a technique for updating a smart contract and recording a change in a block in a blockchain network when it is determined that the conditions for updating the smart contract are satisfied. there is

特表2020-501402号公報Japanese Patent Publication No. 2020-501402

しかしながら、従来技術では、スマートコントラクトが更新された場合、当該スマートコントラクトは異なるスマートコントラクトとして管理され、例えば、実質的に契約内容を変更しない更新であっても、更新前のスマートコントラクトと、更新後のスマートコントラクトとが、異なるスマートコントラクトとして扱われる場合があった。その結果、スマートコントラクトを利便性よく管理することができない場合があった。 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.

情報処理装置100の使用環境であるシステム1の一例を示す図である。1 is a diagram showing an example of a system 1 that is a usage environment of an information processing device 100; FIG. ノード10に記憶されるブロックチェーンデータ12の構成の一例を示す図である。3 is a diagram showing an example of the configuration of blockchain data 12 stored in a node 10; FIG. ブロックチェーンデータ12に記録されるスマートコントラクトSC_aの疑似コードの一例を示す図である。3 is a diagram showing an example of pseudo code of smart contract SC_a recorded in blockchain data 12. FIG. ブロックチェーンデータ12に記録されるスマートコントラクトSC_bの疑似コードの一例を示す図である。3 is a diagram showing an example of pseudo code of smart contract SC_b recorded in blockchain data 12. FIG. ホモトピー型理論の概要を説明するための図である。BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a diagram for explaining an outline of a homotopy-type theory; スマートコントラクトSC_aからスマートコントラクトSC_bへの道pを説明するための概念図である。FIG. 4 is a conceptual diagram for explaining a path p from smart contract SC_a to smart contract SC_b; ブロックチェーンデータ12に記録されるスマートコントラクトSC_cの疑似コードの一例を示す図である。3 is a diagram showing an example of pseudo code of smart contract SC_c recorded in blockchain data 12. FIG. スマートコントラクトSC_aからスマートコントラクトSC_bへの道pと、スマートコントラクトSC_bからスマートコントラクトSC_cへの道qの合成q〇pを説明するための概念図である。FIG. 10 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; ブロックチェーンデータ12に記録されるスマートコントラクトSC_dの疑似コードの一例を示す図である。3 is a diagram showing an example of pseudo code of smart contract SC_d recorded in blockchain data 12. FIG. スマートコントラクトSC_cからスマートコントラクトSC_dへの変換可能性を説明するための概念図である。FIG. 4 is a conceptual diagram for explaining the convertibility from smart contract SC_c to smart contract SC_d; 記憶部130が格納するスマートコントラクト管理テーブル132の一例を示す図である。3 is a diagram showing an example of a smart contract management table 132 stored in a storage unit 130; FIG.

以下、図面を参照し、本発明の情報処理装置、情報処理方法、およびプログラムの実施形態について説明する。図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 system 1 that is an environment in which an information processing apparatus 100 is used. As shown in FIG. 1 , the system 1 includes multiple nodes 10 and an information processing device 100 .

ノード10は、ピア・ツー・ピアネットワークであるブロックチェーンネットワークNWに接続するコンピュータ装置であり、ブロックチェーンネットワークNWを介して他のノード10等と相互に通信する。各ノード10は、ブロックチェーンデータ12を記憶し、ブロックチェーンデータ12に記録されるプログラムコードであるスマートコントラクトSCを実行する。スマートコントラクトSCを実行することにより、例えば、所定条件におけるデータの読み書きや送金など、予め参加者間で合意されたビジネスロジックの処理を自動化することができる。ノード10は、ブロックチェーンネットワークNWにおける全ての情報を保有するフルノードであってもよいし、各データを証明するためのハッシュ値等の情報を保有するライトノードであってもよい。 The node 10 is a computer device that connects to the blockchain network NW, which is a peer-to-peer network, and communicates with other nodes 10 and the like via the blockchain network NW. Each node 10 stores blockchain data 12 and executes a smart contract SC, which is program code recorded in the blockchain data 12 . By executing the smart contract SC, for example, it is possible to automate the processing of business logic agreed between participants in advance, such as data reading/writing and remittance under predetermined conditions. The node 10 may be a full node that holds all information in the blockchain network NW, or a light node that holds information such as a hash value for certifying each piece of data.

情報処理装置100は、単一又は複数のノード10からブロックチェーンデータ12を取得して、ブロックチェーンデータ12に記録されるスマートコントラクトSCに関する情報を管理する。また、情報処理装置100は、ノード10としての機能も有し、情報処理装置100自体が記憶するブロックチェーンデータ12に記録されるスマートコントラクトSCに関する情報を管理してもよい。 The information processing device 100 acquires blockchain data 12 from one or more nodes 10 and manages information related to smart contracts SC recorded in the blockchain data 12 . The information processing device 100 also functions as the node 10, and may manage information regarding the smart contract SC recorded in the blockchain data 12 stored by the information processing device 100 itself.

情報処理装置100は、上記の機能を実現するために、付与部110と、判定部120と、記憶部130と、を備える。付与部110及び判定部120は、例えば、CPUなどのハードウェアプロセッサがプログラム(ソフトウェア)を実行することにより実現される。付与部110及び判定部120は、LSIやASIC、FPGA、GPUなどのハードウェア(回路部;circuitryを含む)によって実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。記憶部130は、例えば、ROM、フラッシュメモリ、SDカード、RAM、HDD、レジスタ等によって実現される。付与部110と判定部120の機能の詳細、及び記憶部130に格納される情報の詳細については、後述する。 The information processing apparatus 100 includes a granting unit 110, a determining unit 120, and a storage unit 130 in order to realize the functions described above. The granting unit 110 and the determining unit 120 are implemented by, for example, a hardware processor such as a CPU executing a program (software). The granting unit 110 and the determining unit 120 may be realized by hardware (including circuitry) such as LSI, ASIC, FPGA, GPU, etc., or may be realized by cooperation of software and hardware. The storage unit 130 is implemented by, for example, a ROM, flash memory, SD card, RAM, HDD, register, and the like. Details of the functions of the provision unit 110 and the determination unit 120 and details of the information stored in the storage unit 130 will be described later.

図2は、ノード10に記憶されるブロックチェーンデータ12の構成の一例を示す図である。図2に示す通り、ブロックチェーンデータ12は複数のブロックから構成され、各ブロックBLは、例えば、前ブロックハッシュ値HV1と、取引履歴ハッシュ値HV2と、その他ヘッダOHと、ナンス値NVと、スマートコントラクトSCと、取引履歴TDと、を含む。 FIG. 2 is a diagram showing an example of the configuration of blockchain data 12 stored in the node 10. As shown in FIG. As shown in FIG. 2, the blockchain data 12 is composed of a plurality of blocks, and each block BL includes, for example, a previous block hash value HV1, a transaction history hash value HV2, other headers OH, a nonce value NV, and a smart Includes contract SC and transaction history TD.

前ブロックハッシュ値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 node 10 generates a block, and is, for example, a 32-bit number. The smart contract SC indicates program code recorded in the blockchain data 12 as described above. The transaction history TD indicates cryptocurrency remittance information from one node 10 to another node 10 .

各ノード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 node 10 newly generates the next block BL(N+1) of a certain block BL(N), each node 10 generates a previous block hash value HV1, a transaction history hash value HV2, and other headers OH in the block BL(N). , based on the nonce value, the hash value of the block BL(N) is calculated. It is stored as the previous block hash value HV1 in BL(N+1). If the calculated hash value does not satisfy a predetermined condition (for example, the value of the upper 16 digits is all zero), each node 10 receives the next nonce value from the miner and re-does the hash value of block BL(N). Receipt of the nonce value and recalculation of the hash value are repeated until the calculated and recalculated hash value satisfies a predetermined condition. As a result, a block BL(N+1) next to a certain block BL(N) is generated. In addition to the previous block hash value HV1, the transaction history hash value HV2, the other header OH, and the nonce value, the smart contract SC may be used as input to calculate the hash value of the block BL(N). .

図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 blockchain data 12. As shown in FIG. The smart contract SC_a shown in FIG. 3 acquires the current month and day, and when the acquired current month and day match October 1, the process of transferring the amount equivalent to the amount from the sender to the receiver. is shown.

図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 blockchain data 12. As shown in FIG. The smart contract SC_b shown in FIG. 4 acquires the current month and day, and when the acquired current month and day match October 1st, the process of transferring the amount equivalent to the amount from the sender to the receiver. , which is the same as the processing performed by the smart contract SC_a.

スマートコントラクト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=bが成立する。ここで、Aは点aと点bが有する型を示し、p:a=bは、点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=aが成立する。このときの道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=bが成立する場合、q:b=aが成立するような道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=bかつq:b=cが成立する場合、r:a=cが成立するような道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 unit 110 assigns a type based on the homotopy type theory described above to the smart contract SC recorded in the blockchain data 12 to define the identity of the smart contract SC. More specifically, in this embodiment, the assigning unit 110 assigns the same type to a plurality of smart contracts SC having the same execution content.

判定部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 determination unit 120 determines that these smart contract SCs are identical. do. The determining unit 120 associates the smart contracts SC determined to have the same type with the same type and stores them in the smart contract management table 132 stored in the storage unit 130 . Details of the smart contract management table 132 will be described later.

図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 unit 110 assigns the same type A to the smart contract SC_a and the smart contract SC_b, and the determining unit 120 determines that the smart contract SC_a and the smart contract SC_b are identical.

図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 blockchain data 12. As shown in FIG. The smart contract SC_c shown in FIG. 7 is program code obtained by converting the variable month of the smart contract SC_b into the variable mon. At this time, as in the case of conversion from smart contract SC_a to smart contract SC_b, 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 unit 110 assigns type A to the smart contract SC_c, and the determining unit 120 determines that the smart contract SC_a, the smart contract SC_b, and the smart contract SC_c are identical.

図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=スマートコントラクト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 blockchain data 12. As shown in FIG. The smart contract SC_d shown in FIG. 9 acquires the current month and day, and when the acquired current month and day match November 1st, the process of transferring the amount equivalent to the amount from the sender to the receiver. is shown. At this time, the content of execution is changed to remit an amount equivalent to the amount from the sender to the receiver on October 1st. Therefore, the granting unit 110 grants the smart contract SC_d a type B different from the smart contracts SC_a, the smart contracts SC_b, and the smart contracts SC_c. It is determined that the contract SC_b and the smart contract SC_c are not identical.

図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 unit 110 .

一方、スマートコントラクト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 unit 110 grants the smart contract SC_d a type B different from the type A, and the determination unit 120 determines that the smart contract SC_d is identical to the smart contract SC_a, the smart contract SC_b, and the smart contract SC_c. Determine not to have.

図11は、記憶部130が格納するスマートコントラクト管理テーブル132の一例を示す図である。図11に示す通り、スマートコントラクト管理テーブル132は、スマートコントラクトIDに対して、スマートコントラクトの変更情報と型などの情報が紐づけられたものである。 FIG. 11 is a diagram showing an example of the smart contract management table 132 stored in the storage unit 130. As shown in FIG. As shown in FIG. 11, in the smart contract management table 132, smart contract IDs are associated with smart contract change information and information such as types.

スマートコントラクト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 unit 110 .

図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 unit 110 assigns the same type to the smart contracts SC based on the criterion of whether or not the execution contents of the smart contracts SC are the same. However, the invention is not limited to such embodiments.

一例として、付与部110は、スマートコントラクトSCから別のスマートコントラクトSCへの変換が、単一の文字を変換したものであった場合に、これらのスマートコントラクトSCに同一の型を付与してもよいし、スマートコントラクトSCから別のスマートコントラクトSCへの変換が、単一の単語を変換したものであった場合に、これらのスマートコントラクトSCに同一の型を付与してもよいし、スマートコントラクトSCから別のスマートコントラクトSCへの変換が、単一の文章を変換したものであった場合に、これらのスマートコントラクトSCに同一の型を付与してもよい。 As an example, the assigning unit 110 assigns the same type to these smart contract SCs when the conversion from one smart contract SC to another smart contract SC is a conversion of a single character. Alternatively, if the transformation from one smart contract SC to another smart contract SC was a transformation of a single word, these smart contract SCs may be given the same type, or the smart contract SC If the transformation from an SC to another smart contract SC was the transformation of a single sentence, these smart contract SCs may be given the same type.

また、一例として、付与部110は、スマートコントラクトSCから別のスマートコントラクトSCへの変換が、基本契約部分(例えば、スマートコントラクトSCの送金モジュール)や、ユーザが独自に定義した契約部分を変更しない場合に、これらのスマートコントラクトSCに同一の型を付与してもよい。 Also, as an example, the granting unit 110 ensures that conversion from a smart contract SC to another smart contract SC does not change the basic contract part (for example, the remittance module of the smart contract SC) or the contract part uniquely defined by the user. In some cases, these smart contracts SC may be given the same type.

また、一例として、付与部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 unit 110 converts these smart contract SCs may be given the same type. Furthermore, the above-described rules that serve as criteria for assigning the same type may be combined with each other.

以上の通り説明した本実施形態によれば、情報処理装置は、スマートコントラクトにホモトピー型理論に基づく型を付与し、他のスマートコントラクトへの道が存在する場合に、当該他のスマートコントラクトにも同一の型を付与することによって、スマートコントラクトの同一性を判定する。これにより、スマートコントラクトを利便性よく管理することができる。 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 System 10 Node 12 Blockchain Data 100 Information Processing Device 110 Granting Unit 120 Determination Unit 130 Storage Unit NW Blockchain Network BL Block HV1 Previous Block Hash Value HV2 Transaction History Hash Value OH Other Header NV Nonce Value SC Smart Contract TD Transaction History

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.
JP2021118557A 2021-07-19 2021-07-19 Information processing device, information processing method, and program Pending JP2023014548A (en)

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)

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