JP7231291B1 - Information processing system, information processing method, server, blockchain node, and program - Google Patents
Information processing system, information processing method, server, blockchain node, and program Download PDFInfo
- Publication number
- JP7231291B1 JP7231291B1 JP2022061015A JP2022061015A JP7231291B1 JP 7231291 B1 JP7231291 B1 JP 7231291B1 JP 2022061015 A JP2022061015 A JP 2022061015A JP 2022061015 A JP2022061015 A JP 2022061015A JP 7231291 B1 JP7231291 B1 JP 7231291B1
- Authority
- JP
- Japan
- Prior art keywords
- item
- transaction data
- data
- generated
- source
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 50
- 238000003672 processing method Methods 0.000 title claims description 9
- 239000002994 raw material Substances 0.000 claims abstract description 272
- 238000003860 storage Methods 0.000 claims description 33
- 238000004364 calculation method Methods 0.000 claims description 23
- 239000000654 additive Substances 0.000 claims description 15
- 230000000996 additive effect Effects 0.000 claims description 15
- 230000004044 response Effects 0.000 claims description 14
- 238000012545 processing Methods 0.000 claims description 9
- 238000000034 method Methods 0.000 description 26
- 239000000463 material Substances 0.000 description 19
- PXHVJJICTQNCMI-UHFFFAOYSA-N Nickel Chemical compound [Ni] PXHVJJICTQNCMI-UHFFFAOYSA-N 0.000 description 18
- 230000008569 process Effects 0.000 description 14
- 229910017052 cobalt Inorganic materials 0.000 description 11
- 239000010941 cobalt Substances 0.000 description 11
- GUTLYIVDDKVIGB-UHFFFAOYSA-N cobalt atom Chemical compound [Co] GUTLYIVDDKVIGB-UHFFFAOYSA-N 0.000 description 11
- PWHULOQIROXLJO-UHFFFAOYSA-N Manganese Chemical compound [Mn] PWHULOQIROXLJO-UHFFFAOYSA-N 0.000 description 10
- 229910052748 manganese Inorganic materials 0.000 description 10
- 239000011572 manganese Substances 0.000 description 10
- 229910052759 nickel Inorganic materials 0.000 description 9
- 238000012795 verification Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 4
- 239000004615 ingredient Substances 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000002156 mixing Methods 0.000 description 3
- 238000007670 refining Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000013329 compounding Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000001771 impaired effect Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- WPBNNNQJVZRUHP-UHFFFAOYSA-L manganese(2+);methyl n-[[2-(methoxycarbonylcarbamothioylamino)phenyl]carbamothioyl]carbamate;n-[2-(sulfidocarbothioylamino)ethyl]carbamodithioate Chemical compound [Mn+2].[S-]C(=S)NCCNC([S-])=S.COC(=O)NC(=S)NC1=CC=CC=C1NC(=S)NC(=O)OC WPBNNNQJVZRUHP-UHFFFAOYSA-L 0.000 description 1
- 229910052751 metal Inorganic materials 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 150000002739 metals Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004064 recycling Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
【課題】アイテムに含まれている原料の数量を秘密にしつつ、アイテムに含まれる原料の取引に不正がないことを検証する。
【解決手段】情報処理システム10は、サーバ14と、複数のブロックチェーンノード16と、複数の端末12とを含む。複数のブロックチェーンノード16の各々は、サーバ14によりブロードキャストされた第2トランザクションデータに紐づく過去のトランザクションデータである第1トランザクションデータの各々をブロックチェーンから読み出す。複数のブロックチェーンノード16の各々は、第2トランザクションデータに含まれる生成対象アイテムのコミットメント値と、第1トランザクションデータに含まれる生成元アイテムのコミットメント値との間の関係性に基づいて、第2トランザクションデータのアイテムが、第1トランザクションデータの生成元アイテムに含まれる原料によって構成されているか否かを検証する。
【選択図】図1
The object of the present invention is to verify that there is no fraudulent transaction of raw materials contained in an item while keeping the quantity of the raw materials contained in the item secret.
An information processing system (10) includes a server (14), a plurality of blockchain nodes (16), and a plurality of terminals (12). Each of the plurality of blockchain nodes 16 reads each of the first transaction data, which is past transaction data linked to the second transaction data broadcast by the server 14, from the blockchain. Each of the plurality of blockchain nodes 16 generates a second It verifies whether or not the item of transaction data is composed of raw materials included in the source item of the first transaction data.
[Selection drawing] Fig. 1
Description
本発明は、情報処理システム、情報処理方法、サーバ、ブロックチェーンノード、及びプログラムに関する。 The present invention relates to an information processing system, an information processing method, a server, a blockchain node, and a program.
従来、移動対象のアイテムのトラッキング情報のデータ量を低減させつつ、アイテムのトラッキング情報をブロックチェーンへ記録する技術が知られている(例えば、特許文献1)。特許文献1に開示されている技術では、サーバが、追跡対象のアイテムの識別情報を含む要求信号を受け付けた場合、要求信号に含まれる識別情報に対応するアイテムの移動を行ったトランザクションデータの系列と、トランザクションデータの系列に対応するアキュムレータの系列とをブロックチェーンから取得する。そして、サーバは、取得したアキュムレータの系列のうちの各アキュムレータに追跡対象のアイテムの識別情報が格納されているか否かの検証を行い、検証結果を出力する。
Conventionally, there is known a technique for recording tracking information of an item on a blockchain while reducing the data amount of the tracking information of the item to be moved (for example, Patent Document 1). In the technology disclosed in
ところで、商品又はサービスであるアイテムを利用するユーザは、そのアイテムがどのような要素によって構成されているのか知りたい場合がある。例えば、ある工業製品が製造される場合を考える。なお、工業製品は様々な原料(例えば、レアメタル等)を含んで構成されることが多い。 By the way, a user who uses an item, which is a product or service, may want to know what kind of elements the item is composed of. For example, consider the case where an industrial product is manufactured. Industrial products often contain various raw materials (for example, rare metals).
特に、近年では国際連合によって持続可能な開発目標(SDGs:Sustainable Development Goals)が定められ、地球環境に配慮したアイテムの提供が求められている。このため、アイテムを構成する要素が地球環境に配慮したものであるかを検証することができれば、その検証結果をSDGs指標として利用することもできると考えられる。しかし、同種の原料を使った加工品又は工業製品に関しては、その外観等から違いを見分けることは難しい。その一方で、アイテムの原料に関する情報(又はエネルギーが供給された過程に関する情報)が追跡可能な状態となれば、それらの情報に基づく指標の設定、測定、及び評価が可能になり、それらの指標が所定の基準を満たさないアイテムの移動を制限することも可能になる。 In particular, in recent years, the United Nations has established Sustainable Development Goals (SDGs), demanding the provision of environmentally friendly items. Therefore, if it is possible to verify whether the elements that make up an item are environmentally friendly, the results of that verification can be used as SDGs indicators. However, it is difficult to distinguish the difference from the appearance of processed products or industrial products using the same kind of raw materials. On the other hand, if information about the raw materials of items (or information about the process in which energy is supplied) becomes traceable, it will be possible to set, measure, and evaluate indicators based on such information. It is also possible to restrict the movement of items that do not meet predetermined criteria.
なお、工業製品が消費者へ供給されるまでには、複数の事業者により原料及び中間素材のサプライチェーンが形成されることが多い。例えば、ある事業者Aは、複数の原料a1,a2,a3を調達し、それらの原料a1,a2,a3から中間素材MAを製造する。次に、事業者Bは、事業者Aから中間素材MAを調達し、その中間素材MAに対して原料b1,b2を添加して中間素材MBを製造する。次に、事業者Cは、事業者Bから中間素材MBを調達し、その中間素材MBと他のいくつかの異なる中間素材とを組み合わせて工業製品MCを製造する。そして、事業者Cから消費者へ工業製品MCが供給される。 In addition, a supply chain of raw materials and intermediate materials is often formed by multiple business operators before industrial products are supplied to consumers. For example, a business operator A procures a plurality of raw materials a1, a2, and a3, and manufactures an intermediate material MA from these raw materials a1, a2, and a3. Next, business operator B procures intermediate material MA from business operator A, adds raw materials b1 and b2 to intermediate material MA , and manufactures intermediate material MB . Next, business operator C procures an intermediate material MB from business operator B, and combines the intermediate material MB with several other intermediate materials to manufacture industrial products MC . Then, the industrial product MC is supplied from the business operator C to the consumer.
この場合、例えば、消費者又は品質検査を行う機関等は、工業製品MCに含まれている原料の原産地、リサイクル素材の含有率、精製過程で測定された純度、及び元素又は分子等の成分の配合比率等に関する情報を知りたい場合がある。さらに、消費者又は流通を監督する機関等は、工業製品MCがどのような事業者を経て製造及び供給されたのかに関する情報も知りたい場合がある。また、各事業者も、自らが調達した原料又は部品に関する情報を知りたい場合がある。 In this case, for example, consumers or quality inspection organizations, etc., must consider the origin of the raw materials contained in the industrial products MC , the content of recycled materials, the purity measured in the refining process, and the components such as elements and molecules. There are cases where you want to know information about the compounding ratio of In addition, consumers or organizations that supervise distribution may also want to know information about the business operators through which the industrial product MC was manufactured and supplied. Also, each business operator may want to know information about raw materials or parts procured by itself.
仮に、このような取引対象のアイテムに関連するデータをブロックチェーン等のネットワーク技術を用いて公開すれば、複数の事業者及び消費者は、取引対象に関連する情報を自由に閲覧することができる。例えば、複数の事業者及び消費者は、ある部品に含まれている原料の原産地、リサイクル素材の含有率、精製過程で測定した純度、及び元素又は分子等の成分の配合比率等に関する情報を閲覧することにより、自らが取得した部品又は中間素材等がどのような原料によって構成されているのかを確認して、自らが出荷する製品の表示に利用することや、自らが目標に設定した基準に適合しない部品又は中間素材等を見分けることに利用することができる。 If such data related to traded items were made public using network technology such as blockchain, multiple business operators and consumers would be able to freely view information related to traded items. . For example, multiple business operators and consumers view information on the origin of raw materials contained in a part, the content of recycled materials, the purity measured in the refining process, and the blending ratio of components such as elements and molecules. By doing so, you can confirm what kind of raw materials the parts or intermediate materials you have acquired are composed of, and use them for labeling the products you ship or meet the standards you have set as your goals. It can be used to identify incompatible parts or intermediate materials.
しかし、このようなデータがブロックチェーンに記録され、そのデータが公開されると、不特定多数の第三者がそのデータを自由に閲覧することが可能となる。例えば、ブロックチェーンに記録されそのデータに工業製品を製造する際のノウハウに関するデータが含まれてしまうと、その事業者の競争力が損なわれてしまう可能性がある。 However, when such data is recorded on a blockchain and made public, it becomes possible for an unspecified number of third parties to freely view the data. For example, if the data recorded on the blockchain includes data related to know-how for manufacturing industrial products, the competitiveness of the business may be impaired.
例えば、ある特定の事業者は、原料の配合比率に関する情報を競合する事業者には秘密にしたいと考え、その情報は直接取引する契約関係にある事業者へは開示してもよいが契約関係にない第三者へは開示したくない、と考えている場合もある。 For example, a particular business operator may wish to keep information about ingredient ratios confidential from competing businesses, and may disclose that information to business operators with whom it has a direct contractual relationship, but In some cases, we do not want to disclose personal information to third parties that are not covered by the law.
本発明は、上記の事情を鑑みてなされたもので、アイテムに含まれている原料の数量を秘密にしつつ、アイテムに含まれる原料の取引に不正がないことを検証することを目的とする。 SUMMARY OF THE INVENTION The present invention has been made in view of the above circumstances, and an object of the present invention is to verify that there is no fraudulent transaction of raw materials contained in an item while keeping the quantity of raw materials contained in the item secret.
上記の目的を達成するために本発明に係る情報処理システムは、サーバと、複数のブロックチェーンノードと、複数の端末とを含む情報処理システムであって、前記端末が、生成対象アイテムの識別情報を表す生成対象アイテム識別データと、生成対象アイテムを生成する際に使用される原料の識別情報である原料識別データと、前記原料の数量を表す数量データと、生成元アイテムの識別情報を表す生成元アイテム識別データとを前記サーバへ送信し、前記サーバが、前記原料に対応するパラメータ値と前記数量データとに基づく秘密計算をすることにより、前記生成対象アイテムのコミットメント値を計算し、前記原料識別データと前記生成対象アイテム識別データとの組み合わせを所定のデータ構造へ格納し、前記ブロックチェーンノードの記憶部に格納されているブロックチェーンに記録されているトランザクションデータであって、かつ前記生成元アイテム識別データがアウトプットデータに含まれているトランザクションデータである第1トランザクションデータを取得し、前記生成対象アイテムの送り元を表すアドレスと前記生成対象アイテムの送り先を表すアドレスと前記データ構造とを含むトランザクションデータであって、前記生成元アイテム識別データがインプットデータに含まれ、かつ前記生成対象アイテム識別データを含む前記データ構造がアウトプットデータに含まれる第2トランザクションデータを、複数のブロックチェーンノードへブロードキャストし、複数のブロックチェーンノードの各々が、前記サーバによりブロードキャストされた前記第2トランザクションデータに紐づく過去のトランザクションデータである第1トランザクションデータの各々をブロックチェーンから読み出し、前記第2トランザクションデータに含まれる前記生成対象アイテムのコミットメント値と、前記第1トランザクションデータに含まれる前記生成元アイテムのコミットメント値との間の関係性に基づいて、前記第2トランザクションデータの前記生成対象アイテムが、前記第1トランザクションデータの前記生成元アイテムに含まれる前記原料によって構成されているか否かを検証し、前記第2トランザクションデータの前記生成対象アイテムが前記第1トランザクションデータの前記原料によって構成されていると判定した場合に、前記第2トランザクションデータを前記ブロックチェーンへ記録する、情報処理システムである。 In order to achieve the above object, an information processing system according to the present invention includes a server, a plurality of blockchain nodes, and a plurality of terminals, wherein the terminals include identification information of an item to be generated. , raw material identification data that is identification information of raw materials used when generating the target item, quantity data that represents the quantity of the raw materials, and generation that represents the identification information of the source item original item identification data to the server, and the server performs secure calculation based on the parameter value corresponding to the raw material and the quantity data to calculate the commitment value of the item to be generated, and the raw material transaction data stored in a predetermined data structure of a combination of identification data and the item identification data to be generated, and recorded in a blockchain stored in a storage unit of the blockchain node; First transaction data, which is transaction data in which item identification data is included in output data, is obtained, and an address representing the source of the item to be generated, an address representing the destination of the item to be generated, and the data structure are obtained. second transaction data, wherein the source item identification data is included in input data, and the data structure including the generation target item identification data is included in output data; , and each of a plurality of blockchain nodes reads from the blockchain each first transaction data that is past transaction data linked to the second transaction data broadcast by the server, and the second transaction data and the commitment value of the generation source item included in the first transaction data, the generation target item of the second transaction data is the verifying whether or not the item to be generated of the second transaction data is composed of the material included in the source item of the first transaction data, and determining that the item to be generated of the second transaction data is composed of the material of the first transaction data; If determined, record the second transaction data in the blockchain It is an information processing system that
また、本発明のサーバは、サーバと、複数のブロックチェーンノードと、複数の端末とを含む情報処理システムにおける前記サーバであって、前記端末が、生成対象アイテムの識別情報を表す生成対象アイテム識別データと、生成対象アイテムを生成する際に使用される原料の識別情報である原料識別データと、前記原料の数量を表す数量データと、生成元アイテムの識別情報を表す生成元アイテム識別データとを前記サーバへ送信し、前記サーバが、前記原料に対応するパラメータ値と前記数量データとに基づく秘密計算をすることにより、前記生成対象アイテムのコミットメント値を計算し、前記原料識別データと前記生成対象アイテム識別データとの組み合わせを所定のデータ構造へ格納し、前記ブロックチェーンノードの記憶部に格納されているブロックチェーンに記録されているトランザクションデータであって、かつ前記生成元アイテム識別データがアウトプットデータに含まれているトランザクションデータである第1トランザクションデータを取得し、前記生成対象アイテムの送り元を表すアドレスと前記生成対象アイテムの送り先を表すアドレスと前記データ構造とを含むトランザクションデータであって、前記生成元アイテム識別データがインプットデータに含まれ、かつ前記生成対象アイテム識別データを含む前記データ構造がアウトプットデータに含まれる第2トランザクションデータを、複数のブロックチェーンノードへブロードキャストし、複数のブロックチェーンノードの各々が、前記サーバによりブロードキャストされた前記第2トランザクションデータに紐づく過去のトランザクションデータである第1トランザクションデータの各々をブロックチェーンから読み出し、前記第2トランザクションデータに含まれる前記生成対象アイテムのコミットメント値と、前記第1トランザクションデータに含まれる前記生成元アイテムのコミットメント値との間の関係性に基づいて、前記第2トランザクションデータの前記生成対象アイテムが、前記第1トランザクションデータの前記生成元アイテムに含まれる前記原料によって構成されているか否かを検証し、前記第2トランザクションデータの前記生成対象アイテムが前記第1トランザクションデータの前記原料によって構成されていると判定した場合に、前記第2トランザクションデータを前記ブロックチェーンへ記録する、サーバである。 Further, the server of the present invention is an information processing system including a server, a plurality of blockchain nodes, and a plurality of terminals, wherein the terminal includes a generation target item identifier representing identification information of a generation target item. data, raw material identification data that is identification information of raw materials used when generating an item to be generated, quantity data that represents the quantity of the raw materials, and source item identification data that represents the identification information of the source item. is sent to the server, and the server performs secure calculation based on the parameter value corresponding to the raw material and the quantity data, thereby calculating the commitment value of the item to be generated, and calculating the raw material identification data and the generation target Transaction data stored in a predetermined data structure in combination with item identification data, recorded in a blockchain stored in a storage unit of the blockchain node, and the generation source item identification data is output Transaction data obtained by obtaining first transaction data, which is transaction data included in the data, and including an address representing a source of the item to be generated, an address representing a destination of the item to be generated, and the data structure , broadcasting to a plurality of blockchain nodes second transaction data whose input data includes the source item identification data and whose output data includes the data structure including the generation target item identification data; Each of the blockchain nodes reads each of the first transaction data, which is past transaction data linked to the second transaction data broadcast by the server, from the blockchain, and the generation target included in the second transaction data. Based on the relationship between the commitment value of the item and the commitment value of the source item included in the first transaction data, the generation target item of the second transaction data is the It is verified whether or not it is composed of the raw material contained in the source item, and if it is determined that the generation target item of the second transaction data is composed of the raw material of the first transaction data, the A server that records second transaction data to the blockchain be.
また、本発明のブロックチェーンノードは、サーバと、複数のブロックチェーンノードと、複数の端末とを含む情報処理システムにおける前記ブロックチェーンノードであって、前記端末が、生成対象アイテムの識別情報を表す生成対象アイテム識別データと、生成対象アイテムを生成する際に使用される原料の識別情報である原料識別データと、前記原料の数量を表す数量データと、生成元アイテムの識別情報を表す生成元アイテム識別データとを前記サーバへ送信し、前記サーバが、前記原料に対応するパラメータ値と前記数量データとに基づく秘密計算をすることにより、前記生成対象アイテムのコミットメント値を計算し、前記原料識別データと前記生成対象アイテム識別データとの組み合わせを所定のデータ構造へ格納し、前記ブロックチェーンノードの記憶部に格納されているブロックチェーンに記録されているトランザクションデータであって、かつ前記生成元アイテム識別データがアウトプットデータに含まれているトランザクションデータである第1トランザクションデータを取得し、前記生成対象アイテムの送り元を表すアドレスと前記生成対象アイテムの送り先を表すアドレスと前記データ構造とを含むトランザクションデータであって、前記生成元アイテム識別データがインプットデータに含まれ、かつ前記生成対象アイテム識別データを含む前記データ構造がアウトプットデータに含まれる第2トランザクションデータを、複数のブロックチェーンノードへブロードキャストし、複数のブロックチェーンノードの各々が、前記サーバによりブロードキャストされた前記第2トランザクションデータに紐づく過去のトランザクションデータである第1トランザクションデータの各々をブロックチェーンから読み出し、前記第2トランザクションデータに含まれる前記生成対象アイテムのコミットメント値と、前記第1トランザクションデータに含まれる前記生成元アイテムのコミットメント値との間の関係性に基づいて、前記第2トランザクションデータの前記生成対象アイテムが、前記第1トランザクションデータの前記生成元アイテムに含まれる前記原料によって構成されているか否かを検証し、前記第2トランザクションデータの前記生成対象アイテムが前記第1トランザクションデータの前記原料によって構成されていると判定した場合に、前記第2トランザクションデータを前記ブロックチェーンへ記録する、ブロックチェーンノードである。 Also, a blockchain node of the present invention is the blockchain node in an information processing system including a server, a plurality of blockchain nodes, and a plurality of terminals, wherein the terminals represent identification information of an item to be generated. identification data of the item to be generated, raw material identification data that is identification information of raw materials used when generating the item to be generated, quantity data representing the quantity of the raw material, and source item that represents the identification information of the source item and the identification data to the server, and the server performs secure calculation based on the parameter value corresponding to the raw material and the quantity data to calculate the commitment value of the item to be generated, and the raw material identification data. and the generation target item identification data are stored in a predetermined data structure, transaction data recorded in the blockchain stored in the storage unit of the blockchain node, and the generation source item identification A transaction that acquires first transaction data whose data is transaction data included in output data, and that includes an address representing the source of the item to be generated, an address representing the destination of the item to be generated, and the data structure. Broadcast second transaction data, wherein input data includes the source item identification data, and output data includes the data structure including the generation target item identification data, to a plurality of blockchain nodes. and each of the plurality of blockchain nodes reads from the blockchain each of first transaction data, which is past transaction data linked to the second transaction data broadcast by the server, and included in the second transaction data. based on the relationship between the commitment value of the item to be generated of the second transaction data and the commitment value of the item to be generated included in the first transaction data, the item to be generated of the second transaction data verifying whether or not the item to be generated of the second transaction data is composed of the raw material contained in the source item of the transaction data, and determining that the item to be generated of the second transaction data is composed of the raw material of the first transaction data; the second transaction data in the block It is a blockchain node that records to the blockchain.
また、本発明の情報処理方法は、サーバと、複数のブロックチェーンノードと、複数の端末とを含む情報処理システムが実行する情報処理方法であって、前記端末が、生成対象アイテムの識別情報を表す生成対象アイテム識別データと、生成対象アイテムを生成する際に使用される原料の識別情報である原料識別データと、前記原料の数量を表す数量データと、生成元アイテムの識別情報を表す生成元アイテム識別データとを前記サーバへ送信し、前記サーバが、前記原料に対応するパラメータ値と前記数量データとに基づく秘密計算をすることにより、前記生成対象アイテムのコミットメント値を計算し、前記原料識別データと前記生成対象アイテム識別データとの組み合わせを所定のデータ構造へ格納し、前記ブロックチェーンノードの記憶部に格納されているブロックチェーンに記録されているトランザクションデータであって、かつ前記生成元アイテム識別データがアウトプットデータに含まれているトランザクションデータである第1トランザクションデータを取得し、前記生成対象アイテムの送り元を表すアドレスと前記生成対象アイテムの送り先を表すアドレスと前記データ構造とを含むトランザクションデータであって、前記生成元アイテム識別データがインプットデータに含まれ、かつ前記生成対象アイテム識別データを含む前記データ構造がアウトプットデータに含まれる第2トランザクションデータを、複数のブロックチェーンノードへブロードキャストし、複数のブロックチェーンノードの各々が、前記サーバによりブロードキャストされた前記第2トランザクションデータに紐づく過去のトランザクションデータである第1トランザクションデータの各々をブロックチェーンから読み出し、前記第2トランザクションデータに含まれる前記生成対象アイテムのコミットメント値と、前記第1トランザクションデータに含まれる前記生成元アイテムのコミットメント値との間の関係性に基づいて、前記第2トランザクションデータの前記生成対象アイテムが、前記第1トランザクションデータの前記生成元アイテムに含まれる前記原料によって構成されているか否かを検証し、前記第2トランザクションデータの前記生成対象アイテムが前記第1トランザクションデータの前記原料によって構成されていると判定した場合に、前記第2トランザクションデータを前記ブロックチェーンへ記録する、情報処理方法である。 Further, an information processing method of the present invention is an information processing method executed by an information processing system including a server, a plurality of blockchain nodes, and a plurality of terminals, wherein the terminal receives identification information of an item to be generated. raw material identification data that is identification information of raw materials used when generating the target item; quantity data that represents the quantity of the raw material; and item identification data to the server, and the server performs secure calculation based on the parameter value corresponding to the raw material and the quantity data to calculate the commitment value of the item to be generated, and the raw material identification. transaction data stored in a predetermined data structure of a combination of data and the generation target item identification data, and recorded in a blockchain stored in a storage unit of the blockchain node, and the generation source item; First transaction data, which is transaction data whose identification data is included in output data, is obtained, and includes an address representing a source of the item to be generated, an address representing a destination of the item to be generated, and the data structure. second transaction data, wherein input data includes the source item identification data, and output data includes the data structure including the generation target item identification data, to a plurality of blockchain nodes; broadcast, and each of a plurality of blockchain nodes reads from the blockchain each first transaction data that is past transaction data linked to the second transaction data broadcast by the server, and converts the second transaction data to the second transaction data Based on the relationship between the commitment value of the item to be generated included and the commitment value of the source item included in the first transaction data, the item to be generated of the second transaction data Verifies whether or not the item to be generated of the second transaction data is composed of the raw material contained in the source item of the first transaction data, and determines that the item to be generated of the second transaction data is composed of the raw material of the first transaction data. recording the second transaction data to the blockchain when It is an information processing method.
本発明のプログラムは、サーバと、複数のブロックチェーンノードと、複数の端末とを含む情報処理システムにおける前記サーバに実行させるためのプログラムであって、前記端末が、生成対象アイテムの識別情報を表す生成対象アイテム識別データと、生成対象アイテムを生成する際に使用される原料の識別情報である原料識別データと、前記原料の数量を表す数量データと、生成元アイテムの識別情報を表す生成元アイテム識別データとを前記サーバへ送信し、前記サーバが、前記原料に対応するパラメータ値と前記数量データとに基づく秘密計算をすることにより、前記生成対象アイテムのコミットメント値を計算し、前記原料識別データと前記生成対象アイテム識別データとの組み合わせを所定のデータ構造へ格納し、前記ブロックチェーンノードの記憶部に格納されているブロックチェーンに記録されているトランザクションデータであって、かつ前記生成元アイテム識別データがアウトプットデータに含まれているトランザクションデータである第1トランザクションデータを取得し、前記生成対象アイテムの送り元を表すアドレスと前記生成対象アイテムの送り先を表すアドレスと前記データ構造とを含むトランザクションデータであって、前記生成元アイテム識別データがインプットデータに含まれ、かつ前記生成対象アイテム識別データを含む前記データ構造がアウトプットデータに含まれる第2トランザクションデータを、複数のブロックチェーンノードへブロードキャストし、複数のブロックチェーンノードの各々が、前記サーバによりブロードキャストされた前記第2トランザクションデータに紐づく過去のトランザクションデータである第1トランザクションデータの各々をブロックチェーンから読み出し、前記第2トランザクションデータに含まれる前記生成対象アイテムのコミットメント値と、前記第1トランザクションデータに含まれる前記生成元アイテムのコミットメント値との間の関係性に基づいて、前記第2トランザクションデータの前記生成対象アイテムが、前記第1トランザクションデータの前記生成元アイテムに含まれる前記原料によって構成されているか否かを検証し、前記第2トランザクションデータの前記生成対象アイテムが前記第1トランザクションデータの前記原料によって構成されていると判定した場合に、前記第2トランザクションデータを前記ブロックチェーンへ記録する、プログラムである。 A program of the present invention is a program to be executed by the server in an information processing system including a server, a plurality of blockchain nodes, and a plurality of terminals, wherein the terminal represents identification information of an item to be generated. identification data of the item to be generated, raw material identification data that is identification information of raw materials used when generating the item to be generated, quantity data representing the quantity of the raw material, and source item that represents the identification information of the source item and the identification data to the server, and the server performs secure calculation based on the parameter value corresponding to the raw material and the quantity data to calculate the commitment value of the item to be generated, and the raw material identification data. and the generation target item identification data are stored in a predetermined data structure, transaction data recorded in the blockchain stored in the storage unit of the blockchain node, and the generation source item identification A transaction that acquires first transaction data whose data is transaction data included in output data, and that includes an address representing the source of the item to be generated, an address representing the destination of the item to be generated, and the data structure. Broadcast second transaction data, wherein input data includes the source item identification data, and output data includes the data structure including the generation target item identification data, to a plurality of blockchain nodes. and each of the plurality of blockchain nodes reads from the blockchain each of first transaction data, which is past transaction data linked to the second transaction data broadcast by the server, and included in the second transaction data. based on the relationship between the commitment value of the item to be generated of the second transaction data and the commitment value of the item to be generated included in the first transaction data, the item to be generated of the second transaction data verifying whether or not the item to be generated of the second transaction data is composed of the raw material contained in the source item of the transaction data, and determining that the item to be generated of the second transaction data is composed of the raw material of the first transaction data; the second transaction data in the block chain It is a program that records to the screen.
本発明のプログラムは、サーバと、複数のブロックチェーンノードと、複数の端末とを含む情報処理システムにおける前記ブロックチェーンノードに実行させるためのプログラムであって、前記端末が、生成対象アイテムの識別情報を表す生成対象アイテム識別データと、生成対象アイテムを生成する際に使用される原料の識別情報である原料識別データと、前記原料の数量を表す数量データと、生成元アイテムの識別情報を表す生成元アイテム識別データとを前記サーバへ送信し、前記サーバが、前記原料に対応するパラメータ値と前記数量データとに基づく秘密計算をすることにより、前記生成対象アイテムのコミットメント値を計算し、前記原料識別データと前記生成対象アイテム識別データとの組み合わせを所定のデータ構造へ格納し、前記ブロックチェーンノードの記憶部に格納されているブロックチェーンに記録されているトランザクションデータであって、かつ前記生成元アイテム識別データがアウトプットデータに含まれているトランザクションデータである第1トランザクションデータを取得し、前記生成対象アイテムの送り元を表すアドレスと前記生成対象アイテムの送り先を表すアドレスと前記データ構造とを含むトランザクションデータであって、前記生成元アイテム識別データがインプットデータに含まれ、かつ前記生成対象アイテム識別データを含む前記データ構造がアウトプットデータに含まれる第2トランザクションデータを、複数のブロックチェーンノードへブロードキャストし、複数のブロックチェーンノードの各々が、前記サーバによりブロードキャストされた前記第2トランザクションデータに紐づく過去のトランザクションデータである第1トランザクションデータの各々をブロックチェーンから読み出し、前記第2トランザクションデータに含まれる前記生成対象アイテムのコミットメント値と、前記第1トランザクションデータに含まれる前記生成元アイテムのコミットメント値との間の関係性に基づいて、前記第2トランザクションデータの前記生成対象アイテムが、前記第1トランザクションデータの前記生成元アイテムに含まれる前記原料によって構成されているか否かを検証し、前記第2トランザクションデータの前記生成対象アイテムが前記第1トランザクションデータの前記原料によって構成されていると判定した場合に、前記第2トランザクションデータを前記ブロックチェーンへ記録する、プログラムである。 A program of the present invention is a program to be executed by the blockchain node in an information processing system including a server, a plurality of blockchain nodes, and a plurality of terminals, wherein the terminal includes identification information of an item to be generated. , raw material identification data that is identification information of raw materials used when generating the target item, quantity data that represents the quantity of the raw materials, and generation that represents the identification information of the source item original item identification data to the server, and the server performs secure calculation based on the parameter value corresponding to the raw material and the quantity data to calculate the commitment value of the item to be generated, and the raw material transaction data stored in a predetermined data structure of a combination of identification data and the item identification data to be generated, and recorded in a blockchain stored in a storage unit of the blockchain node; First transaction data, which is transaction data in which item identification data is included in output data, is obtained, and an address representing the source of the item to be generated, an address representing the destination of the item to be generated, and the data structure are obtained. second transaction data, wherein the source item identification data is included in input data, and the data structure including the generation target item identification data is included in output data; , and each of a plurality of blockchain nodes reads from the blockchain each first transaction data that is past transaction data linked to the second transaction data broadcast by the server, and the second transaction data and the commitment value of the generation source item included in the first transaction data, the generation target item of the second transaction data is the verifying whether or not the item to be generated of the second transaction data is composed of the material included in the source item of the first transaction data, and determining that the item to be generated of the second transaction data is composed of the material of the first transaction data; If determined, the second transaction data It is a program that records to the blockchain.
本発明によれば、アイテムに含まれている原料の数量を秘密にしつつ、アイテムに含まれる原料の取引に不正がないことを検証することができる、という効果が得られる。 According to the present invention, it is possible to obtain the effect that it is possible to verify that there is no fraudulent transaction of the raw materials contained in the item while keeping the quantity of the raw materials contained in the item secret.
以下、図面を参照して実施形態を詳細に説明する。 Hereinafter, embodiments will be described in detail with reference to the drawings.
<情報処理システムのシステム構成> <System configuration of information processing system>
図1は、本実施形態の情報処理システム10を示すブロック図である。図1に示されるように、本実施形態の情報処理システム10は、端末12と、サーバ14と、ブロックチェーンノード16とを含んで構成されている。情報処理システム10の各装置は、例えばインターネット等のネットワーク20によって接続されている。なお、複数のブロックチェーンノード16A,16B,16Cのうちの特定のノードを説明する場合以外は、ブロックチェーンノードを単に「ブロックチェーンノード16」と表記する。また、複数の端末12A,12B,12C,・・・,12Xのうちの特定の端末を説明する場合以外は、端末を単に「端末12」と表記する。
FIG. 1 is a block diagram showing an
なお、図1には、3つのブロックチェーンノードが示されているが、より多くのブロックチェーンノードが含まれていても良い。また、図1には、4つの端末が示されているが、より多くの端末が含まれていても良い。 Although three blockchain nodes are shown in FIG. 1, more blockchain nodes may be included. Also, although four terminals are shown in FIG. 1, more terminals may be included.
近年、商品又はサービス(以下、単に「アイテム」とも称する。)の生産又は流通の過程で起きた事象の一部を公開するように求められるケースが増加している。例えば、環境問題への取り組みのエビデンスとして、各事業者がアイテムを提供した際の再生エネルギーの利用率、CO2排出量、又はそのアイテムに用いられている原料のリサイクル率の数値を公開するように求められる場合もある。 In recent years, there have been an increasing number of cases in which disclosure of some of the events that occur in the process of production or distribution of goods or services (hereinafter also simply referred to as "items") is required. For example, as evidence of efforts to address environmental issues, each business operator should disclose the utilization rate of renewable energy, the amount of CO2 emissions, or the recycling rate of the raw materials used in the item when it provides the item. may be required.
現在、このような情報の公開は、一定期間(例えば、1年間)における企業活動の総和として報告されることが多い。その一方で、個々のアイテムに対して明細を付加すれば、それらの情報はアイテムの付加価値とみなすこともできる。また、アイテムに対して明細を付加することにより、そのアイテムが国際社会での流通規制に対して適合していることを証明することも可能となる。 Currently, such information disclosure is often reported as the sum of corporate activities over a period of time (eg, one year). On the other hand, if details are added to individual items, such information can also be regarded as added value of the item. In addition, by adding a description to an item, it becomes possible to prove that the item conforms to distribution regulations in the international community.
そこで、ある事業者U1から別の事業者U2へアイテムXが引き渡され、事業者U2がアイテムXに基づいて新たなアイテムYを製造した場合に、それら一連の事象を1つの取引伝票を表すデータとして表現する場合を考える。そして、取引伝票を表すデータをブロックチェーンへ記録する。取引伝票を表すデータは複数のブロックチェーンノード16A,16B,16Cの記憶部(図示省略)へ格納されるため、ブロックチェーンに記録されたトランザクションデータは公開される。第三者はそのトランザクションデータを閲覧可能となる。これにより、アイテムに明細が付与され、アイテムが製造又は提供される際の一連の情報が公開されることになる。
Therefore, when an item X is handed over from a certain business operator U1 to another business operator U2, and the business operator U2 manufactures a new item Y based on the item X, the series of events is data representing one transaction slip. Consider the case of expressing as Then, the data representing the transaction slip is recorded on the blockchain. Since the data representing the transaction slip is stored in the storage units (not shown) of the
しかし、その一方で、アイテムが製造又は提供される際の情報の中には秘匿しておきたい情報も存在する。例えば、複数の原料を混合させて中間素材を製造している事業者にとっては、原料の混合比率に関する情報は自社のノウハウでもあり、秘匿しておきたいと考えることが想定される。これらのノウハウに関する情報は、各事業者の知的財産でもあるため、各事業者はその知的財産が第三者に無償で公開されるのは避けたいと考えることが一般的である。 However, on the other hand, there is information that should be kept secret among the information when the item is manufactured or provided. For example, a company that manufactures an intermediate material by mixing a plurality of raw materials may want to keep information about the mixing ratio of the raw materials confidential because it is their own know-how. Since the information on these know-hows is also the intellectual property of each business operator, it is common for each business operator to avoid disclosing the intellectual property to third parties free of charge.
そこで、本実施形態の情報処理システム10では、アイテムに含まれている原料の数量に関する情報はブロックチェーンに記録せずに、アイテムに含まれている原料の数量を秘密にしつつ、アイテムに含まれる原料の取引に不正がないことを検証する。
Therefore, in the
具体的には、本実施形態の情報処理システム10では、アイテムに含まれている原料の数量を表す数量データと原料毎に設定されたパラメータ値とに基づいて、所定の秘密計算を実行することにより、アイテム毎のコミットメント値を計算する。本実施形態の情報処理システム10では、このコミットメント値をブロックチェーンに記録し、コミットメント値に基づいて各アイテムに含まれる原料の取引に不正がないことを検証する。これにより、アイテムに含まれている原料の数量に関する情報はブロックチェーンに記録せずに、アイテムに含まれている原料の数量を秘密にしつつ、アイテムに含まれる原料の取引に不正がないことを検証することが可能となる。
Specifically, in the
情報処理システム10に含まれる各装置は、CPU(Central Processing Unit)、各処理ルーチンを実現するためのプログラム等を記憶したROM(Read Only Memory)、データを一時的に記憶するRAM(Random Access Memory)、記憶手段としてのメモリ、ネットワークインタフェース等を含んだコンピュータによって実現される。
Each device included in the
端末12、サーバ14、及びブロックチェーンノード16は、例えば、図2に示すコンピュータ70で実現することができる。コンピュータ70はCPU71、一時記憶領域としてのメモリ72、及び不揮発性の記憶部73を備える。また、コンピュータ70は、入出力装置等(図示省略)が接続される入出力interface(I/F)74、及び記録媒体に対するデータの読み込み及び書き込みを制御するread/write(R/W)部75を備える。また、コンピュータ70は、インターネット等のネットワークに接続されるネットワークI/F76を備える。CPU71、メモリ72、記憶部73、入出力I/F74、R/W部75、及びネットワークI/F76は、バス77を介して互いに接続される。
記憶部73は、Hard Disk Drive(HDD)、solid state drive(SSD)、フラッシュメモリ等によって実現できる。記憶媒体としての記憶部73には、コンピュータ70を機能させるためのプログラムが記憶されている。CPU71は、プログラムを記憶部73から読み出してメモリ72に展開し、プログラムが有するプロセスを順次実行する。
The
<情報処理システム10の作用>
<Action of
次に、本実施形態の情報処理システム10の作用について説明する。本実施形態では、情報処理システム10が、プロダクトCの明細をブロックチェーンへ記録する場合を例に説明する。
Next, the operation of the
なお、プロダクトCは、その原料としてコバルトとニッケルとマンガンとを含んで構成されているものとする。以下では、プロダクトA及びプロダクトBから、プロダクトCの原料であるコバルトとニッケルとマンガンとを抽出し、抽出された原料を利用してプロダクトCを生成する場合を例に説明する。なお、プロダクトCが生成される過程において、プロダクトAを構成する原料の一部(又は全部)又はプロダクトBを構成する原料の一部(又は全部)が消費されず、消費されない余りの原料に相当するプロダクトDが生成される場合を例に説明する。このため、プロダクトA,Bは生成元アイテムの一例であり、プロダクトCは生成対象アイテムの一例である。 It is assumed that product C contains cobalt, nickel, and manganese as its raw materials. In the following, an example will be described in which cobalt, nickel, and manganese, which are raw materials for product C, are extracted from product A and product B, and product C is produced using the extracted raw materials. In the process of producing product C, some (or all) of the raw materials that make up product A or some (or all) of the raw materials that make up product B are not consumed, and correspond to surplus raw materials that are not consumed. An example will be described in which a product D is generated. Therefore, products A and B are examples of source items, and product C is an example of items to be created.
本実施形態では、アイテムであるプロダクトとその原料(例えば、プロダクトCは、原料であるコバルト:5,ニッケル:4,マンガン:9によって構成されている点)との組み合わせが追跡可能となる。なお、その際には、原料の数量データは秘匿される必要がある。その一方で、第三者に対しては、例えば、プロダクトCはプロダクトAとプロダクトBとから生成されていることを証明する必要がある。 In this embodiment, a combination of a product as an item and its raw materials (for example, product C is composed of raw materials cobalt: 5, nickel: 4, manganese: 9) can be tracked. In that case, the raw material quantity data must be kept confidential. On the other hand, it is necessary to prove to a third party that product C is generated from product A and product B, for example.
そこで、本実施形態では、アイテムを構成する原料の数量データを秘匿しつつ、アイテムが適切に製造されていることを証明可能とする。以下、具体的に説明する。 Therefore, in this embodiment, it is possible to prove that the item is properly manufactured while concealing the quantity data of the raw materials that make up the item. A specific description will be given below.
端末12を操作するユーザが、生成対象アイテムであるプロダクトCに関する情報を端末12へ入力すると、図3に示されるシーケンスが実行される。 When the user operating the terminal 12 inputs information about the product C, which is the item to be generated, to the terminal 12, the sequence shown in FIG. 3 is executed.
ステップS100において、端末12は、ユーザから入力されたアイテムに関する情報を受け付ける。なお、このアイテムに関する情報には、例えば、生成対象のアイテムであるプロダクトCを構成する原料の数量を表す数量データが含まれている。なお、例えば、プロダクトCを構成している原料の数量(又は構成比)は以下であるとする。 In step S100, the terminal 12 receives information about items input by the user. Note that this item information includes, for example, quantity data representing the quantity of raw materials that constitute product C, which is the item to be generated. For example, it is assumed that the quantities (or composition ratios) of raw materials constituting product C are as follows.
コバルト:5
ニッケル:4
マンガン:9
Cobalt: 5
Nickel: 4
Manganese: 9
また、生成元アイテムであるプロダクトAを構成している原料の数量は以下であるとする。 Also, assume that the quantities of raw materials that make up the product A, which is the source item, are as follows.
コバルト:3
ニッケル:7
マンガン:5
Cobalt: 3
Nickel: 7
Manganese: 5
また、生成元アイテムであるプロダクトBを構成している原料の数量は以下であるとする。 Also, assume that the quantities of raw materials that make up the product B, which is the originating item, are as follows.
コバルト:4
マンガン:8
Cobalt: 4
Manganese: 8
また、消費されない余りの原料に相当するプロダクトDを構成している原料の数量は以下であるとする。 Also, assume that the quantity of raw materials constituting product D corresponding to surplus raw materials that are not consumed is as follows.
コバルト:2
ニッケル:3
マンガン:4
Cobalt: 2
Nickel: 3
Manganese: 4
ステップS102において、端末12は、生成対象のプロダクトCの識別情報を表すアイテム識別データ(以下、単に「アイテムID」と称する。)と、生成元のプロダクトAのアイテムIDと、生成元のプロダクトBのアイテムIDと、プロダクトCを構成する原料の識別情報である原料識別データ(以下、単に「原料ID」と称する。)と、プロダクトCを生成する際に消費される原料の数量(又は比率)を表す数量データとを、サーバ14へ送信する。
In step S102, the terminal 12 receives item identification data representing identification information of product C to be generated (hereinafter simply referred to as "item ID"), the item ID of product A as the generation source, and the item ID of product B as the generation source. item ID, raw material identification data (hereinafter simply referred to as "raw material ID") that is identification information of raw materials that make up product C, and the quantity (or ratio) of raw materials consumed when producing product C to the
ステップS104において、サーバ14は、ステップS102で端末12から送信されたデータを受信する。また、ステップS104において、サーバ14は、受信した原料IDの原料に対応するパラメータ値と、ブラインドファクターに対応するブラインドパラメータ値Gと、ブラインドパラメータ値Gに対するランダムな係数rとを取得する。ブラインドファクターrGは、プロダクトCには実際には含まれていない仮想的な原料を表すデータである。ブラインドパラメータ値Gに対するランダムな係数rは、ブラインドファクターの数量に対応するブラインド数量データの値でもある。
At step S104, the
なお、このパラメータ値及びブラインドパラメータ値Gは、加法準同型性のあるコミットメントスキームを用いた計算によって求められる。例えば、既知の手法の一例であるPedersen commitment(例えば、https://link.springer.com/content/pdf/10.1007%2F3-540-46766-1_9.pdf#page=3!のSection3を参照。)を用いて、パラメータ値及びブラインドパラメータ値Gが計算される。Pedersen commitmentを用いてパラメータ値及びブラインドパラメータ値Gが計算される場合、楕円曲線上の離散対数が未知の点(座標)が各原料に対応するパラメータ値及びブラインドパラメータ値Gとして選択される。これにより、加法準同型性を有するパラメータ値及びブラインドパラメータ値Gが取得される。例えば、各原料のパラメータ値として以下が取得される。 Note that this parameter value and the blind parameter value G are obtained by calculation using a commitment scheme with additive homomorphism. For example, the Pedersen commitment, which is an example of a known technique (see, e.g., Section 3 of https://link.springer.com/content/pdf/10.1007%2F3-540-46766-1_9.pdf#page=3!). is used to calculate the parameter value and the blind parameter value G. When the Pedersen commitment is used to calculate the parameter value and the blind parameter value G, points (coordinates) of unknown discrete logarithms on the elliptic curve are selected as the parameter value and the blind parameter value G corresponding to each raw material. As a result, parameter values and blind parameter values G having additive homomorphism are obtained. For example, the following are obtained as parameter values for each raw material.
コバルト:HC
ニッケル:HN
マンガン:HM
ブラインドパラメータ値:G
Cobalt: HC
Nickel: HN
Manganese: HM
Blind parameter value: G
なお、生成元アイテムであるプロダクトAのコミットメント値CAと、生成元アイテムであるプロダクトBのコミットメント値CBとは、以下の式に従って計算される。r1,r2は、ブラインドパラメータ値Gに対するランダムな係数である。これらコミットメント値CA,CBは、後述するようにブロックチェーンにおける過去のトランザクションデータに記録されている。 Note that the commitment value CA of product A, which is the originating item, and the commitment value CB of product B, which is the originating item, are calculated according to the following equations. r 1 , r 2 are random coefficients for the blind parameter value G; These commitment values C A and C B are recorded in past transaction data in the blockchain as described later.
ステップS106において、サーバ14は、以下の式に示されているように、各原料に対応するパラメータ値HC,HN,HM及びブラインドパラメータ値Gと、各原料の数量データ及びブラインドパラメータ値Gに対するランダムな係数r3とを積和演算する秘密計算を実行することにより、プロダクトCのコミットメント値CCを計算する。
In step S106, the
なお、上記のコミットメント値は、離散対数が未知である楕円曲線上の1点に相当する。このため、上記のコミットメント値CCからは、プロダクトCに原料がどれくらい含まれているのかを計算することはできない。 Note that the above commitment value corresponds to one point on the elliptic curve whose discrete logarithm is unknown. Therefore, it is not possible to calculate how much raw material is included in product C from the commitment value C C described above.
また、ステップS106において、サーバ14は、以下の式に示されているように、各原料に対応するパラメータ値HC,HN,HM及びブラインドパラメータ値Gと、各原料の数量データ及びブラインドパラメータ値Gに対するランダムな係数r4とを積和演算する秘密計算を実行することにより、プロダクトDのコミットメント値CDを計算する。
Further, in step S106, the
なお、ブラインドファクターrGを導入せずにコミットメント値を計算する場合には、異なるアイテムが同一数量の原料又は同一の原料比によって構成されている場合にコミットメント値が同一の値となる。ブラインドファクターrGを導入することにより、異なるアイテムが同一数量の原料又は同一の原料比によって構成されている場合であっても、異なるアイテムのコミットメント値を異なるものとすることが可能となる。 If the commitment value is calculated without introducing the blind factor rG, the commitment value will be the same value if different items are made up of the same quantity of raw materials or the same ratio of raw materials. By introducing the blind factor rG, it is possible to have different commitment values for different items even if they are made up of the same quantity of raw materials or the same ratio of raw materials.
また、後述する以下の式(A)を成立させるために、以下の式(B)が満たされるように、ランダムな係数r1,r2,r3,r4は予め調整されて設定される。 In order to establish the following formula (A), which will be described later, the random coefficients r 1 , r 2 , r 3 , r 4 are adjusted and set in advance so that the following formula (B) is satisfied. .
(A)
(B)
(A)
(B)
ステップS108において、サーバ14は、プロダクトCのアイテムIDと各原料の原料IDとの組み合わせを、例えば、特開2021-064219号公報に開示されているアキュムレータへ格納する。アキュムレータに各種データが格納されることにより、アイテムのトラッキング情報のデータ量を低減させつつ、アイテムのトラッキング情報をブロックチェーンへ記録することが可能となる。また、サーバ14は、同様に、プロダクトDのアイテムIDと各原料の原料IDとの組み合わせも、所定のデータ構造に格納する。
In step S108, the
なお、前述したように、サーバ14は、パラメータ値HC,HN,HM及びブラインドパラメータ値Gを設定する。パラメータ値HC,HN,HM及びブラインドパラメータ値Gと、原料の組み合わせに対応する数量データ及びランダムな係数とに基づいて計算されたコミットメント値は、他の原料の組み合わせで計算されたコミットメント値と異なりユニークである。このため、コミットメント値は、識別データとしても利用可能である。コミットメント値を計算する際に使用されたパラメータ値HC,HN,HM及びブラインドパラメータ値Gは、サーバ14の記憶部(図示省略)へ格納され管理される。
Note that the
次に、サーバ14は、ブロックチェーンノード16へアクセスすることにより、生成元のプロダクトAのアイテムIDをアウトプットデータに含むアキュムレータが記録されているトランザクションデータと、生成元のプロダクトBのアイテムIDをアウトプットデータに含むアキュムレータが記録されているトランザクションデータとを取得する。なお、サーバ14は、トランザクションデータに付与されているトランザクションIDに基づき、トランザクションデータを取得する。
Next, the
具体的には、ステップS110において、サーバ14は、生成元のプロダクトAのアイテムIDと生成元のプロダクトBのアイテムIDとをアウトプットデータに含むアキュムレータが記録されているトランザクションデータを取得するために、ブロックチェーンノード16に対して要求信号を送信する。
Specifically, in step S110, the
ステップS112において、ブロックチェーンノード16は、上記ステップS110でサーバ14から送信された要求信号を受信すると、プロダクトAのアイテムIDがアウトプット情報として記録されている過去のトランザクションデータと、プロダクトBのアイテムIDがアウトプットデータとして記録されている過去のトランザクションデータとを、サーバ14へ送信する。本実施形態では、このような過去のトランザクションデータを第1トランザクションデータとも称する。
In step S112, when the
ステップS114において、サーバ14は、ブロックチェーンノード16から出力された第1トランザクションデータを取得する。
At step S<b>114 , the
ステップS116において、サーバ14は、生成対象のアイテムであるプロダクトCの送り元を表すアドレスとプロダクトCの送り先を表すアドレスと上記のデータ構造とを含むトランザクションデータである第2トランザクションデータを生成する。
In step S116, the
具体的には、サーバ14は、第2トランザクションデータのインプットデータに、過去の第1トランザクションデータのアウトプットデータを含める。なお、サーバ14は、過去の第1トランザクションデータに関するブロックチェーン上でのトランザクションIDも、第2トランザクションデータのインプットデータに含めるようにして第2トランザクションデータを生成する。また、サーバ14は、第2トランザクションデータを構成するアウトプットデータに、プロダクトCのアイテムIDと原料IDとコミットメント値とを含める。なお、上述したように、プロダクトCのアイテムIDと原料IDとは、所定のデータ構造であるアキュムレータに格納される。なお、コミットメント値をアキュムレータへ更に格納してもよい。本実施形態では、アイテムIDと原料IDとをアキュムレータへ格納する場合を例に説明するが、アイテムIDと原料IDとをアキュムレータへは格納せずに、そのまま第2トランザクションデータを構成するアウトプットデータに記録するようにしてもよい。
Specifically, the
なお、上述したように、プロダクトCを生成する過程において、原料の一部(又は全部)が消費されない場合には、消費されない余りの原料に相当するプロダクトDに関するデータもアキュムレータに含ませる。この記録の方法は、インプットデータが表す原料とアウトプットデータが表す原料との間の保存則を1つのトランザクションデータ内において表現する実装例の1つである。他の方法としては、生成対象のアイテムを生成する際に発生した余りの原料である廃棄物を別のブロックチェーンに記録し、異なるブロックチェーンの間で参照する実装例も考えられる。 As described above, if some (or all) of the raw materials are not consumed in the process of generating product C, the accumulator also contains data on product D corresponding to the surplus raw materials that are not consumed. This recording method is one of the implementation examples of expressing the conservation law between the raw material represented by the input data and the raw material represented by the output data within one transaction data. As another method, it is possible to record the waste, which is the surplus raw material generated when generating the item to be generated, in another blockchain and refer to it between different blockchains.
図4に、トランザクションデータのデータ構造を説明するための図を示す。図4に示されているように、トランザクションデータTX2には、プロダクトの送り元を表すアドレスとプロダクトの送り先を表すアドレスが含まれている。 FIG. 4 shows a diagram for explaining the data structure of transaction data. As shown in FIG. 4, transaction data TX2 includes an address representing the source of the product and an address representing the destination of the product.
さらに、図4に示されているように、トランザクションデータTX2のインプットデータには、過去のトランザクションデータTX1-1のアウトプットデータと、過去のトランザクションデータTX1-2のアウトプットデータとが含まれている。 Furthermore, as shown in FIG. 4, the input data of the transaction data TX2 includes the output data of the past transaction data TX1-1 and the output data of the past transaction data TX1-2. there is
一方で、図4に示されているように、トランザクションデータTX2のアウトプットデータには、生成対象のプロダクトCのアイテムIDと原料IDとを含むアキュムレータが含まれている。さらに、このアキュムレータには、余りの原料により生成されるプロダクトDのアイテムID及び原料IDも含まれている。また、生成元アイテムのトランザクションデータであるトランザクションデータTX1-1とトランザクションデータTX1-2のアウトプットデータには、過去に生成対象であったプロダクトA,BのアイテムIDと原料IDとが格納されているアキュムレータが含まれている。 On the other hand, as shown in FIG. 4, the output data of transaction data TX2 includes an accumulator containing the item ID and raw material ID of product C to be produced. In addition, this accumulator also contains the Item ID and Ingredient ID of Product D produced from the surplus ingredients. The output data of the transaction data TX1-1 and the transaction data TX1-2, which are the transaction data of the source item, store the item ID and raw material ID of the products A and B that have been generated in the past. It contains an accumulator with
ステップS118において、サーバ14は、ステップS118で生成された第2トランザクションデータを、複数のブロックチェーンノード16へブロードキャストする。
At step S<b>118 , the
ステップS120において、複数のブロックチェーンノード16の各々は、第2トランザクションデータを受信する。ステップS120において、複数のブロックチェーンノード16の各々は、第2トランザクションデータに紐づく過去のトランザクションデータである第1トランザクションデータの各々をブロックチェーンから読み出す。具体的には、複数のブロックチェーンノード16の各々は、第2トランザクションデータに含まれている、過去の第1トランザクションデータに関するブロックチェーン上での識別データに基づいて、所定のプロトコルに則り、ブロックチェーンから第1トランザクションデータの各々を読み出す。
At step S120, each of the plurality of
ステップS122において、複数のブロックチェーンノード16の各々は、第2トランザクションデータTX2に含まれるプロダクトCのコミットメント値CC及び余りのプロダクトDのコミットメント値CDと、第1トランザクションデータTX1-1に含まれるプロダクトAのコミットメント値CA及び第1トランザクションデータTX1-2に含まれるプロダクトBのコミットメント値CBとの間の関係性に基づいて、第2トランザクションデータTX2の生成対象アイテムであるプロダクトCが、第1トランザクションデータTX1-1,TX1-2の生成元アイテムであるプロダクトA,Bの原料によって構成されているか否かを検証する。
In step S122, each of the plurality of
上述したように、Pedersen commitmentによって各パラメータ値及びブラインドファクターが生成されている場合には、第2トランザクションデータ内のインプットデータに含まれる過去のトランザクションデータのコミットメント値と、アウトプットデータに含まれるコミットメント値とが等しくなるはずである。このため、例えば、第2トランザクションデータ内のインプットデータに含まれるコミットメント値の総和と、第2ランザクションデータ内のアウトプットデータ含まれるコミットメント値の総和とが等しくない場合には、生成対象のアイテムは何らかの事情により適切に生成されていないことになる。 As described above, when each parameter value and blind factor are generated by Pedersen commitment, the commitment value of the past transaction data included in the input data in the second transaction data and the commitment included in the output data should be equal to the value For this reason, for example, if the total commitment value included in the input data in the second transaction data is not equal to the total commitment value included in the output data in the second transaction data, the item to be generated is not generated properly for some reason.
このため、複数のブロックチェーンノード16の各々は、第1トランザクションデータ内のアウトプットデータに含まれるコミットメント値の総和(第2トランザクションデータ内のインプットデータに含まれるコミットメント値の総和)と、第2トランザクションデータ内のアウトプットデータ含まれるコミットメント値の総和とが等しい場合に、第2トランザクションデータをブロックチェーンへ記録する。
For this reason, each of the plurality of
一方、複数のブロックチェーンノード16の各々は、第1トランザクションデータ内のアウトプットデータに含まれるコミットメント値の総和(第2トランザクションデータ内のインプットデータに含まれるコミットメント値の総和)と、第2トランザクションデータ内のアウトプットデータ含まれるコミットメント値の総和とが等しくない場合には、第2トランザクションデータをブロックチェーンへ記録せずに破棄する。
On the other hand, each of the plurality of
なお、例えば、アウトプットデータに複数のアイテムIDが含まれている場合には、トランザクションデータのアウトプットデータに含まれている複数のコミットメント値の合計値がブロックチェーン上において公開される。 Note that, for example, when multiple item IDs are included in the output data, the total value of multiple commitment values included in the output data of the transaction data is published on the blockchain.
具体的には、複数のブロックチェーンノード16の各々は、以下の計算式に示されているように、第2トランザクションデータTX2に含まれるプロダクトCのコミットメント値CCとプロダクトCを生成する際に発生する原料の余りに相当するコミットメント値CDとの和が、複数の第1トランザクションデータTX1-1,TX-2に含まれる原料のコミットメント値の総和(CAとCBとの和)と等しい場合に、第2トランザクションデータTX2のプロダクトCが複数の第1トランザクションデータTX1-1,TX-2の原料によって構成されていると判定する。
Specifically, when each of the plurality of
ステップS124において、複数のブロックチェーンノード16の各々は、第2トランザクションデータTX2のプロダクトCが、第1トランザクションデータTX1-1,TX-2の原料によって構成されていると判定した場合に、第2トランザクションデータTX2をブロックチェーンへ記録する。
In step S124, if each of the plurality of
なお、トランザクションデータに記載されるコミットメント値によっては、各ブロックチェーンノード16が実施するコミットメント値の加算処理の際にオーバーフローが発生し、誤った計算結果が得られる可能性がある。そのため、コミットメント値が適正な範囲内にあることの証明(プルーフ)を含める方が好ましい。この実施に、例えば、Range proofを含めることができる。既知の手法の一例として、Borromean Ring Signatures(https://www.semanticscholar.org/paper/Borromean-Ring-Signatures-%E2%88%97-Maxwell-Poelstra/4160470c7f6cf05ffc81a98e8fd67fb0c84836ea)や、Bulletproofs(https://eprint.iacr.org/2017/1066.pdf)などの証明スキームを利用できる。
Depending on the commitment value described in the transaction data, an overflow may occur during the addition process of the commitment value performed by each
なお、サーバ14は、原料IDに対応するパラメータ値の開示要求を表す要求信号を端末12から受け付けた場合、要求信号の送信元の端末12との間において認証処理を実行する。そして、サーバ14は、要求信号の送信元の端末12が、パラメータ値の開示について予め許可されている端末である場合に、要求信号の送信元の端末12へパラメータ値を開示する。この端末12は、開示されたパラメータ値と、トランザクションデータに記録されているコミットメント値とに基づいて、プロダクトCが適切に製造されたものであるか否かを検証する。
When the
例えば、生成対象のプロダクトCを受け取ったユーザは、プロダクトCが適切な原料に基づいて製造されたのか否かを確かめるために、ブロックチェーンに記録されているコミットメント値を用いてデコミットを実施する。 For example, a user who has received product C to be generated decommits using the commitment value recorded in the blockchain in order to confirm whether product C was manufactured based on appropriate raw materials.
なお、コミットメント値の計算にPedersen commitmentを用いた場合には、以下の手順に従ってデコミットが実施され得る。 Note that when Pedersen commitment is used to calculate the commitment value, decommitment can be performed according to the following procedure.
具体的には、例えば、プロダクトCを受け取ったユーザ又は第三者であるユーザが操作する端末12Xは、ユーザの操作に応じてサーバ14に対して所定の要求信号を送信する。サーバ14は、要求信号に応答して、上述した認証処理を経て、パラメータ値HC,HN,HMと、原料の数量データ(コバルト:5、ニッケル:4、マンガン:9)と、ブラインドファクターrGとを、当該ユーザが操作する端末12Xへ送信する。また、端末12Xは、ブロックチェーンノード16へアクセスし、第2トランザクションデータに記録されているプロダクトCのコミットメント値CCを取得する。
Specifically, for example, the
端末12Xは、パラメータ値HC,HN,HMと、原料の数量データ(コバルト:5、ニッケル:4、マンガン:9)と、ブラインドファクターrGと、ブロックチェーンに記録されている第2トランザクションデータのコミットメント値CCとに基づいて、既知のデコミット方法を用いて、プロダクトCはプロダクトA,Bから適切に製造されたものか否かを表す検証結果を生成する。端末12Xは、第2トランザクションデータに記録されているプロダクトCのコミットメント値CCが原料の数量データに基づいて算出されており、かつ、プロダクトCがプロダクトA,Bから適切に製造されたもの(以下、単に「プロダクトCが適切に生成」と称する)である場合には、その旨の検証結果を表示部(図示省略)へ表示する。一方、端末12Xは、プロダクトCが適切に生成されたものでない場合には、その旨の検証結果を表示部(図示省略)へ表示する。 The terminal 12X receives the parameter values H C , H N , and H M , raw material quantity data (cobalt: 5, nickel: 4, manganese: 9), blind factor rG, and the second transaction recorded in the block chain. Based on the data commitment values C and C , a known decommit method is used to generate a verification result indicating whether or not product C was properly manufactured from products A and B. The terminal 12X confirms that the commitment value CC of the product C recorded in the second transaction data is calculated based on the raw material quantity data, and that the product C is properly manufactured from the products A and B ( hereinafter simply referred to as "product C is properly generated"), the verification result to that effect is displayed on the display unit (not shown). On the other hand, if the product C is not properly generated, the terminal 12X displays the verification result to that effect on the display unit (not shown).
なお、プロダクトCを受け取ったユーザは、プロダクトCを生成したユーザからプロダクトCの成分表等を受け取っている可能性が高い。そのため、プロダクトCを受け取ったユーザが操作する端末12Xは、成分表等に記録されている原料の数量データ(コバルト:5、ニッケル:4、マンガン:9)と、パラメータ値HC,HN,HMと、ブラインドファクターrGとに基づいて、プロダクトCのコミットメント値CC’を自ら計算することも可能である。このため、プロダクトCを受け取ったユーザが操作する端末12Xは、自ら計算したコミットメント値CC’とブロックチェーンに記録されているコミットメント値CCとを比較して、プロダクトCが適切に生成されたものか否かを表す検証結果を生成するようにしてもよい。
It is highly probable that the user who received the product C received the ingredient list of the product C from the user who generated the product C. Therefore, the
なお、ブラインドファクターrGに関しては、プロダクトCを受け取るユーザが操作する端末12Xが生成し、生成した各値をサーバ14へ送信するようにしてもよい。この場合には、ステップS104において、プロダクトCを受け取るユーザが操作する端末12XがブラインドファクターrGをサーバ14へ送信する。
Note that the blind factor rG may be generated by the
また、ブラインドファクターrGを端末12Xへは開示せずに、既知のデコミット方法を用いて、各コミットメント値からブラインドファクターrGを減算した減算値と、ブラインドファクターrGから生成したデジタル署名とに基づいて、プロダクトCが適切に生成されたものか否かを表す検証結果を生成することもできる。
Also, without disclosing the blind factor rG to the
なお、コミットメント値の計算にKZG commitment(例えば、https://www.iacr.org/archive/asiacrypt2010/6477178/6477178.pdfを参照。)を用いることも可能である。Pedersen commitmentを利用した場合、デコミットする際は、コミットメント値に含まれる原料の数量データを公開する必要がある。これに対し、多項式を利用したコミットメントスキームであるKZG commitmentを利用すると、一部の原料の数量データのみを公開することも可能である。 It is also possible to use KZG commitment (see, for example, https://www.iacr.org/archive/asiacrypt2010/6477178/6477178.pdf) to calculate the commitment value. When using the Pedersen commitment, when decommitting, it is necessary to disclose the quantity data of raw materials included in the commitment value. On the other hand, by using the KZG commitment, which is a commitment scheme using polynomials, it is possible to disclose only the quantity data of some raw materials.
なお、上述した例では、Pedersen commitment及びKZG commitmentをコミットメント値の計算に利用する場合を例に説明したが、加法準同型性のあるコミットメントスキームであればどのようなコミットメントスキームであっても利用することができる。 In the above example, the Pedersen commitment and KZG commitment are used to calculate the commitment value, but any commitment scheme with additive homomorphism can be used. be able to.
以上説明したように、本実施形態に係る情報処理システムの端末が、生成対象アイテムの識別情報を表す生成対象アイテム識別データと、生成対象アイテムを生成する際に使用される原料の識別情報である原料識別データと、原料の数量を表す数量データと、生成元アイテムの識別情報を表す生成元アイテム識別データとをサーバへ送信する。サーバは、原料に対応するパラメータ値と数量データとに基づく秘密計算をすることにより、生成対象アイテムのコミットメント値を計算する。サーバは、コミットメント値と原料識別データと生成対象アイテム識別データとの組み合わせを所定のデータ構造へ格納する。サーバは、ブロックチェーンノードの記憶部に格納されているブロックチェーンに記録されているトランザクションデータであって、かつ生成元アイテム識別データがアウトプットデータに含まれているトランザクションデータである第1トランザクションデータを取得する。そして、サーバは、生成対象アイテムの送り元を表すアドレスと生成対象アイテムの送り先を表すアドレスとデータ構造とを含むトランザクションデータであって、生成元アイテム識別データがインプットデータに含まれ、かつ生成対象アイテム識別データを含むデータ構造がアウトプットデータに含まれる第2トランザクションデータを、複数のブロックチェーンノードへブロードキャストする。複数のブロックチェーンノードの各々は、サーバによりブロードキャストされた第2トランザクションデータに紐づく過去のトランザクションデータである第1トランザクションデータの各々をブロックチェーンから読み出す。複数のブロックチェーンノードの各々は、第2トランザクションデータに含まれる生成対象アイテムのコミットメント値と、第1トランザクションデータに含まれる生成元アイテムのコミットメント値との間の関係性に基づいて、第2トランザクションデータのアイテムが、第1トランザクションデータの生成元アイテムに含まれる原料によって構成されているか否かを検証し、第2トランザクションデータの生成対象アイテムが第1トランザクションデータの原料によって構成されていると判定した場合に、第2トランザクションデータをブロックチェーンへ記録する。これにより、アイテムに含まれている原料の数量を秘密にしつつ、アイテムに含まれる原料の取引に不正がないことを検証することができる。 As described above, the terminal of the information processing system according to the present embodiment has the generation target item identification data representing the identification information of the generation target item and the identification information of the raw material used when generating the generation target item. Raw material identification data, quantity data representing the quantity of raw materials, and source item identification data representing the identification information of the source item are transmitted to the server. The server calculates the commitment value of the item to be produced by performing secure calculations based on the parameter values corresponding to the raw materials and quantity data. The server stores the combination of the commitment value, raw material identification data, and generation target item identification data in a predetermined data structure. The server provides first transaction data, which is transaction data recorded in the blockchain stored in the storage unit of the blockchain node and in which the generation source item identification data is included in the output data. to get Then, the server provides transaction data including an address representing the source of the item to be generated, an address representing the destination of the item to be generated, and a data structure, wherein the input data includes identification data of the item to be generated, and Broadcast second transaction data, wherein the output data includes a data structure containing item identification data, to a plurality of blockchain nodes. Each of the plurality of blockchain nodes reads from the blockchain each first transaction data, which is past transaction data linked to the second transaction data broadcast by the server. Each of the plurality of blockchain nodes performs the second transaction based on the relationship between the commitment value of the generation target item included in the second transaction data and the commitment value of the generation source item included in the first transaction data Verifies whether or not the item of data is composed of raw materials included in the source item of the first transaction data, and determines that the item to be generated of the second transaction data is composed of the raw materials of the first transaction data. If so, record the second transaction data to the blockchain. As a result, it is possible to verify that the transaction of the raw materials contained in the item is not fraudulent while keeping the quantity of the raw materials contained in the item secret.
また、アイテムのコミットメント値を計算する際に、ブラインドファクターrGを導入することにより、異なるアイテムのコミットメント値が同一の値となることを防止することができる。 Also, by introducing the blind factor rG when calculating the commitment value of an item, it is possible to prevent the commitment values of different items from becoming the same value.
なお、本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。 The present invention is not limited to the above-described embodiments, and various modifications and applications are possible without departing from the gist of the present invention.
例えば、アイテムとしては現実物に限らず特定のデータも含まれる。 For example, items include not only actual objects but also specific data.
また、上記実施形態では、コミットメント値を計算する際に、ブラインドファクターrGを導入する場合を例に説明したが、これに限定されるものではない。ブラインドファクターrGを導入せずに、コミットメント値を計算するようにしてもよい。 Further, in the above embodiment, the case of introducing the blind factor rG when calculating the commitment value has been described as an example, but the present invention is not limited to this. The commitment value may be calculated without introducing the blind factor rG.
また、上記実施形態では、上記式(B)が満たされるように、ランダムな係数r1,r2,r3,r4は予め調整される場合を例に説明したが、これに限定されるものではない。ランダムな係数r1,r2,r3,r4が上記式(B)を満たさない場合には、以下の式の右辺に相当する値に対してデジタル署名を付加することにより、既知の手法を用いて、生成対象のプロダクトが生成元のプロダクトから適切に製造されているか否かを検証することもできる。 Further, in the above embodiment, the random coefficients r 1 , r 2 , r 3 , r 4 are adjusted in advance so that the above formula (B) is satisfied. not a thing If the random coefficients r 1 , r 2 , r 3 , and r 4 do not satisfy the above formula (B), a known method is can also be used to verify whether the product to be generated is properly manufactured from the original product.
この場合には、上述したように、サーバ14は、生成対象のプロダクトCのコミットメント値を計算する際に、ブラインドファクターrGを用いて生成対象のプロダクトCのコミットメント値CCを計算する。そして、サーバ14は、第2トランザクションデータに含まれる生成対象のプロダクトCのコミットメント値CCと、原料の余りに相当するコミットメント値CDとの和(CC+CD)と、複数の第1トランザクションデータに含まれる生成元のプロダクトA,Bのコミットメント値の総和(CA+CB)との間の差分を表す情報に対して、サーバ14のデジタル署名を生成し、そのデジタル署名を第2トランザクションデータへ追加する。これにより、(CA+CB)-(CC+CD)の演算結果が0とならない場合であっても、その演算結果にはデジタル署名が付加されているため、そのデジタル署名を元に生成対象のプロダクトが生成元のプロダクトから適切に製造されているか否かを検証することができる。
In this case, as described above, the
また、上記実施形態では、プロダクトCを生成する際に消費されない余りの原料に相当するプロダクトDが生成される場合を例に説明したが、これに限定されるものではなく、余りの原料が発生しない場合であっても本実施形態を適用することが可能である。 Further, in the above embodiment, the case where the product D corresponding to the surplus material that is not consumed when the product C is produced has been described as an example, but the present invention is not limited to this, and the surplus material is generated. It is possible to apply this embodiment even if it does not.
また、上記実施形態では、サーバ14が各種処理を実行する場合を例に説明したが、それらの各種処理の一部又は全部を、端末12又はブロックチェーンノード16が実行するようにしてもよい。
In the above embodiment, the
また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能である。例えば、プログラムは、CD-ROM(Compact Disk Read Only Memory)、DVD-ROM(Digital Versatile Disk Read Only Memory)、及びUSB(Universal Serial Bus)メモリ等の非一時的(non-transitory)記憶媒体に記憶された形態で提供されてもよい。また、プログラムは、ネットワークを介して外部装置からダウンロードされる形態としてもよい。 Further, in the specification of the present application, an embodiment in which the program is pre-installed has been described, but it is also possible to store the program in a computer-readable recording medium and provide it. For example, the program is stored in non-transitory storage media such as CD-ROM (Compact Disk Read Only Memory), DVD-ROM (Digital Versatile Disk Read Only Memory), and USB (Universal Serial Bus) memory. may be provided in any form. Also, the program may be downloaded from an external device via a network.
なお、上記実施形態でCPUがソフトウェア(プログラム)を読み込んで実行した処理を、CPU以外の各種のプロセッサが実行してもよい。この場合のプロセッサとしては、FPGA(Field-Programmable Gate Array)等の製造後に回路構成を変更可能なPLD(Programmable Logic Device)、及びASIC(Application Specific Integrated Circuit)等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が例示される。または、プロセッサとしては、GPGPU(General-purpose graphics processing UNIT)を用いてもよい。また、各処理を、これらの各種のプロセッサのうちの1つで実行してもよいし、同種又は異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGA、及びCPUとFPGAとの組み合わせ等)で実行してもよい。また、これらの各種のプロセッサのハードウェア的な構造は、より具体的には、半導体素子等の回路素子を組み合わせた電気回路である。 Note that the processing executed by the CPU by reading the software (program) in the above embodiment may be executed by various processors other than the CPU. In this case, the processor is a PLD (Programmable Logic Device) whose circuit configuration can be changed after manufacturing such as an FPGA (Field-Programmable Gate Array), and an ASIC (Application Specific Integrated Circuit) for executing specific processing. A dedicated electric circuit or the like, which is a processor having a specially designed circuit configuration, is exemplified. Alternatively, a GPGPU (General-purpose graphics processing UNIT) may be used as the processor. Also, each process may be executed by one of these various processors, or a combination of two or more processors of the same or different type (for example, a plurality of FPGAs, a combination of a CPU and an FPGA, etc.). ) can be run. More specifically, the hardware structure of these various processors is an electric circuit in which circuit elements such as semiconductor elements are combined.
また、本実施形態の各処理を、汎用演算処理装置及び記憶装置等を備えたコンピュータ又はサーバ等により構成して、各処理がプログラムによって実行されるものとしてもよい。このプログラムは記憶装置に記憶されており、磁気ディスク、光ディスク、半導体メモリ等の記録媒体に記録することも、ネットワークを通して提供することも可能である。もちろん、その他いかなる構成要素についても、単一のコンピュータやサーバによって実現しなければならないものではなく、ネットワークによって接続された複数のコンピュータに分散して実現してもよい。 Moreover, each process of the present embodiment may be configured by a computer or server having a general-purpose arithmetic processing unit, a storage device, or the like, and each process may be executed by a program. This program is stored in a storage device, and can be recorded on a recording medium such as a magnetic disk, optical disk, or semiconductor memory, or can be provided through a network. Of course, any other component does not have to be realized by a single computer or server, but may be distributed and realized by a plurality of computers connected by a network.
本明細書に記載された全ての文献、特許出願、および技術規格は、個々の文献、特許出願、および技術規格が参照により取り込まれることが具体的かつ個々に記された場合と同程度に、本明細書中に参照により取り込まれる。 All publications, patent applications and technical standards mentioned herein are to the same extent as if each individual publication, patent application and technical standard were specifically and individually noted to be incorporated by reference. incorporated herein by reference.
なお、上記実施形態においては、「××のみに基づいて」、「××のみに応じて」、「××のみの場合」というように「のみ」との記載がなければ、本明細書においては、付加的な情報も考慮し得ることが想定されていることに留意されたい。一例として、「aの場合にbする」という記載は、明示した場合を除き、「aの場合に常にbする」ことを必ずしも意味しない。 It should be noted that, in the above embodiment, if there is no description of "only" such as "based only on XX", "only in response to XX", or "only in the case of XX", in this specification Note that it is assumed that , may also consider additional information. As an example, the statement "when a, do b" does not necessarily mean "when a, do b", unless explicitly stated.
また、何らかの方法、プログラム、端末、装置、サーバ又はシステム(以下「方法等」)において、本明細書で記述された動作と異なる動作を行う側面があるとしても、開示の技術の各態様は、本明細書で記述された動作のいずれかと同一の動作を対象とするものであり、本明細書で記述された動作と異なる動作が存在することは、当該方法等を本開示の技術の各態様の範囲外とするものではない。 In addition, even if there is an aspect in which some method, program, terminal, device, server, or system (hereinafter "method, etc.") performs operations different from those described in this specification, each aspect of the disclosed technology is The existence of operations that are the same as any of the operations described herein and that differ from the operations described herein indicate that the methods, etc. is not outside the scope of
10 情報処理システム
12,12A,12B,12C,12X 端末
14 サーバ
16,16A,16B,16C ブロックチェーンノード
20 ネットワーク
70 コンピュータ
72 メモリ
73 記憶部
10
Claims (13)
複数のユーザ間においてアイテムの取引がされる際に、第1ユーザにより生成対象アイテムが生成され、前記生成対象アイテムの送り元である前記第1ユーザから、前記生成対象アイテムの送り先である第2ユーザへ、前記生成対象アイテムが送られる際に、
前記第1ユーザの操作に応じて、前記第1ユーザが操作する前記端末が、生成対象アイテムの識別情報を表す生成対象アイテム識別データと、生成対象アイテムを生成する際に使用される原料の識別情報である原料識別データと、前記原料の数量を表す数量データと、生成元アイテムの識別情報を表す生成元アイテム識別データとを前記サーバへ送信し、
前記サーバが、
前記原料に対応するパラメータ値と前記数量データとに基づいて、加法準同型性のあるコミットメントスキームを用いた秘密計算をすることにより、前記生成対象アイテムのコミットメント値を計算し、
前記原料識別データと前記生成対象アイテム識別データとの組み合わせを所定のデータ構造へ格納し、
前記ブロックチェーンノードの記憶部に格納されているブロックチェーンに記録されているトランザクションデータであって、かつ前記生成元アイテム識別データと前記生成元アイテムのコミットメント値とがアウトプットデータに含まれているトランザクションデータである第1トランザクションデータを取得し、
前記生成対象アイテムの送り元を表すアドレスと前記生成対象アイテムの送り先を表すアドレスと前記データ構造とを含むトランザクションデータであって、前記生成元アイテム識別データがインプットデータに含まれ、かつ前記生成対象アイテム識別データを含む前記データ構造と前記生成対象アイテムのコミットメント値とがアウトプットデータに含まれる第2トランザクションデータを取得し、前記第2トランザクションデータを、複数のブロックチェーンノードへブロードキャストし、
複数のブロックチェーンノードの各々が、
前記サーバによりブロードキャストされた前記第2トランザクションデータに紐づく過去のトランザクションデータである第1トランザクションデータの各々をブロックチェーンから読み出し、
前記第2トランザクションデータに含まれる前記生成対象アイテムのコミットメント値と、前記第1トランザクションデータに含まれる前記生成元アイテムのコミットメント値との間の関係性に基づいて、前記第2トランザクションデータの前記生成対象アイテムが、前記第1トランザクションデータの前記生成元アイテムに含まれる前記原料によって構成されているか否かを検証し、前記第2トランザクションデータの前記生成対象アイテムが前記第1トランザクションデータの前記原料によって構成されていると判定した場合に、前記第2トランザクションデータを前記ブロックチェーンへ記録し、
前記サーバは、前記生成対象アイテムのコミットメント値を計算する際に、
前記生成対象アイテムには実際には含まれていない原料を表すブラインドファクターに対応するブラインドパラメータ値と予め調整されたランダムな前記ブラインドファクターの数量を表すブラインド数量データとの積和演算の結果を、前記パラメータ値と前記数量データとの積和演算の結果へ加算することにより、前記生成対象アイテムのコミットメント値を計算し、
前記複数のブロックチェーンノードは、前記第2トランザクションデータの前記生成対象アイテムが複数の前記第1トランザクションデータの前記原料によって構成されているか否かを検証する際に、
前記第2トランザクションデータに含まれる前記生成対象アイテムのコミットメント値と前記生成対象アイテムを生成する際に発生する前記原料の余りに相当するコミットメント値との和が、複数の前記第1トランザクションデータに含まれる前記生成元アイテムのコミットメント値の総和と等しい場合に、前記第2トランザクションデータの前記生成対象アイテムが複数の前記第1トランザクションデータの前記原料によって構成されていると判定する、
情報処理システム。 An information processing system including a server, a plurality of blockchain nodes, and a terminal operated by a user ,
When an item is traded between a plurality of users, a first user generates an item to be generated, and from the first user who is the source of the item to be generated, the second user who is the destination of the item to be generated When the item to be generated is sent to the user,
In response to an operation by the first user, the terminal operated by the first user outputs generation target item identification data representing identification information of the generation target item and identification of raw materials used when generating the generation target item. transmitting raw material identification data, which is information, quantity data representing the quantity of the raw material, and source item identification data representing the identification information of the source item to the server;
the server
calculating a commitment value of the item to be generated by performing secure calculation using a commitment scheme with additive homomorphism based on the parameter value corresponding to the raw material and the quantity data;
storing a combination of the raw material identification data and the generation target item identification data in a predetermined data structure;
Transaction data recorded in the blockchain stored in the storage unit of the blockchain node, wherein the source item identification data and the commitment value of the source item are included in the output data. Acquiring first transaction data, which is transaction data;
Transaction data including an address representing a source of the item to be generated, an address representing a destination of the item to be generated, and the data structure, wherein the source item identification data is included in input data, and the object to be generated obtaining second transaction data in which output data includes the data structure including item identification data and the commitment value of the item to be generated , and broadcasting the second transaction data to a plurality of blockchain nodes;
Each of the multiple blockchain nodes
reading from the blockchain each piece of first transaction data, which is past transaction data linked to the second transaction data broadcast by the server;
the generation of the second transaction data based on the relationship between the commitment value of the generation target item included in the second transaction data and the commitment value of the generation source item included in the first transaction data; verifying whether or not the target item is composed of the raw material included in the source item of the first transaction data, and verifying whether the target item of the second transaction data is composed of the raw material of the first transaction data; If determined to be configured, record the second transaction data to the blockchain ;
When the server calculates the commitment value of the item to be generated,
The result of a product-sum operation between a blind parameter value corresponding to a blind factor representing a raw material that is not actually included in the item to be generated and blind quantity data representing a random pre-adjusted blind factor quantity, calculating the commitment value of the item to be generated by adding it to the sum-of-products operation result of the parameter value and the quantity data;
When verifying whether the generation target item of the second transaction data is composed of the raw materials of the plurality of first transaction data, the plurality of blockchain nodes:
The sum of the commitment value of the item to be generated included in the second transaction data and the commitment value corresponding to the surplus of raw materials generated when generating the item to be generated is included in the plurality of first transaction data. determining that the generation target item of the second transaction data is composed of a plurality of the raw materials of the first transaction data when equal to the sum of the commitment values of the generation source item;
Information processing system.
複数のユーザ間においてアイテムの取引がされる際に、第1ユーザにより生成対象アイテムが生成され、前記生成対象アイテムの送り元である前記第1ユーザから、前記生成対象アイテムの送り先である第2ユーザへ、前記生成対象アイテムが送られる際に、
前記第1ユーザの操作に応じて、前記第1ユーザが操作する前記端末が、生成対象アイテムの識別情報を表す生成対象アイテム識別データと、生成対象アイテムを生成する際に使用される原料の識別情報である原料識別データと、前記原料の数量を表す数量データと、生成元アイテムの識別情報を表す生成元アイテム識別データとを前記サーバへ送信し、
前記サーバが、
前記原料に対応するパラメータ値と前記数量データとに基づいて、加法準同型性のあるコミットメントスキームを用いた秘密計算をすることにより、前記生成対象アイテムのコミットメント値を計算し、
前記原料識別データと前記生成対象アイテム識別データとの組み合わせを所定のデータ構造へ格納し、
前記ブロックチェーンノードの記憶部に格納されているブロックチェーンに記録されているトランザクションデータであって、かつ前記生成元アイテム識別データと前記生成元アイテムのコミットメント値とがアウトプットデータに含まれているトランザクションデータである第1トランザクションデータを取得し、
前記生成対象アイテムの送り元を表すアドレスと前記生成対象アイテムの送り先を表すアドレスと前記データ構造とを含むトランザクションデータであって、前記生成元アイテム識別データがインプットデータに含まれ、かつ前記生成対象アイテム識別データを含む前記データ構造と前記生成対象アイテムのコミットメント値とがアウトプットデータに含まれる第2トランザクションデータを取得し、前記第2トランザクションデータを、複数のブロックチェーンノードへブロードキャストし、
複数のブロックチェーンノードの各々が、
前記サーバによりブロードキャストされた前記第2トランザクションデータに紐づく過去のトランザクションデータである第1トランザクションデータの各々をブロックチェーンから読み出し、
前記第2トランザクションデータに含まれる前記生成対象アイテムのコミットメント値と、前記第1トランザクションデータに含まれる前記生成元アイテムのコミットメント値との間の関係性に基づいて、前記第2トランザクションデータの前記生成対象アイテムが、前記第1トランザクションデータの前記生成元アイテムに含まれる前記原料によって構成されているか否かを検証し、前記第2トランザクションデータの前記生成対象アイテムが前記第1トランザクションデータの前記原料によって構成されていると判定した場合に、前記第2トランザクションデータを前記ブロックチェーンへ記録し、
前記サーバは、前記生成対象アイテムのコミットメント値を計算する際に、
前記生成対象アイテムには実際には含まれていない原料を表すブラインドファクターに対応するブラインドパラメータ値とランダムな前記ブラインドファクターの数量を表すブラインド数量データとの積和演算の結果を、前記パラメータ値と前記数量データとの積和演算の結果へ加算することにより、前記生成対象アイテムのコミットメント値を計算し、
前記第2トランザクションデータに含まれる前記生成対象アイテムのコミットメント値と前記生成対象アイテムを生成する際に発生する前記原料の余りに相当するコミットメント値との和と、複数の前記第1トランザクションデータに含まれる前記生成元アイテムのコミットメント値の総和との間の差分を表す情報に対して、前記サーバのデジタル署名を生成し、前記デジタル署名を前記第2トランザクションデータへ追加し、
前記複数のブロックチェーンノードは、前記第2トランザクションデータの前記生成対象アイテムが複数の前記第1トランザクションデータの前記原料によって構成されているか否かを検証する際に、
前記第2トランザクションデータのうちの前記デジタル署名と前記差分を表す情報と、前記第2トランザクションデータに含まれる前記生成対象アイテムのコミットメント値と前記生成対象アイテムを生成する際に発生する前記原料の余りに相当するコミットメント値との和と、複数の前記第1トランザクションデータに含まれる前記生成元アイテムのコミットメント値の総和と、を参照することにより、前記第2トランザクションデータの前記生成対象アイテムが、前記第1トランザクションデータの前記生成元アイテムに含まれる前記原料によって構成されているか否かを検証する、
情報処理システム。 An information processing system including a server, a plurality of blockchain nodes, and a terminal operated by a user ,
When an item is traded between a plurality of users, a first user generates an item to be generated, and from the first user who is the source of the item to be generated, the second user who is the destination of the item to be generated When the item to be generated is sent to the user,
In response to an operation by the first user, the terminal operated by the first user outputs generation target item identification data representing identification information of the generation target item and identification of raw materials used when generating the generation target item. transmitting raw material identification data, which is information, quantity data representing the quantity of the raw material, and source item identification data representing the identification information of the source item to the server;
the server
calculating a commitment value of the item to be generated by performing secure calculation using a commitment scheme with additive homomorphism based on the parameter value corresponding to the raw material and the quantity data;
storing a combination of the raw material identification data and the generation target item identification data in a predetermined data structure;
Transaction data recorded in the blockchain stored in the storage unit of the blockchain node, wherein the source item identification data and the commitment value of the source item are included in the output data. Acquiring first transaction data, which is transaction data;
Transaction data including an address representing a source of the item to be generated, an address representing a destination of the item to be generated, and the data structure, wherein the source item identification data is included in input data, and the object to be generated obtaining second transaction data in which output data includes the data structure including item identification data and the commitment value of the item to be generated , and broadcasting the second transaction data to a plurality of blockchain nodes;
Each of the multiple blockchain nodes
reading from the blockchain each piece of first transaction data, which is past transaction data linked to the second transaction data broadcast by the server;
the generation of the second transaction data based on the relationship between the commitment value of the generation target item included in the second transaction data and the commitment value of the generation source item included in the first transaction data; verifying whether or not the target item is composed of the raw material included in the source item of the first transaction data, and verifying whether the target item of the second transaction data is composed of the raw material of the first transaction data; If determined to be configured, record the second transaction data to the blockchain ;
When the server calculates the commitment value of the item to be generated,
The result of a product-sum operation between a blind parameter value corresponding to a blind factor representing a raw material not actually contained in the item to be generated and blind quantity data representing a random quantity of the blind factor is defined as the parameter value. calculating the commitment value of the item to be generated by adding it to the result of the sum-of-products operation with the quantity data;
The sum of the commitment value of the item to be generated included in the second transaction data and the commitment value corresponding to the surplus of raw materials generated when the item to be generated is generated, and the sum is included in the plurality of first transaction data. generating a digital signature of the server for information representing a difference between the sum of commitment values of the originating item and adding the digital signature to the second transaction data;
When verifying whether the generation target item of the second transaction data is composed of the raw materials of the plurality of first transaction data, the plurality of blockchain nodes:
information representing the digital signature and the difference in the second transaction data; a commitment value of the item to be generated included in the second transaction data; By referring to the sum of the corresponding commitment values and the sum of the commitment values of the generation source items included in the plurality of the first transaction data, the generation target item of the second transaction data is the first transaction data. 1 verifying whether or not it is composed of the raw material contained in the originating item of transaction data;
Information processing system.
請求項1又は請求項2に記載の情報処理システム。 When the server receives a request signal representing a request for disclosing the parameter value, the server performs authentication processing with the terminal that has transmitted the request signal, and the terminal that has transmitted the request signal confirms the parameter value. Disclosing the parameter value to the terminal that sent the request signal if the terminal is pre-permitted for disclosure;
The information processing system according to claim 1 or 2.
複数のユーザ間においてアイテムの取引がされる際に、第1ユーザにより生成対象アイテムが生成され、前記生成対象アイテムの送り元である前記第1ユーザから、前記生成対象アイテムの送り先である第2ユーザへ、前記生成対象アイテムが送られる際に、
前記第1ユーザの操作に応じて、前記第1ユーザが操作する前記端末が、生成対象アイテムの識別情報を表す生成対象アイテム識別データと、生成対象アイテムを生成する際に使用される原料の識別情報である原料識別データと、前記原料の数量を表す数量データと、生成元アイテムの識別情報を表す生成元アイテム識別データとを前記サーバへ送信し、
前記サーバが、
前記原料に対応するパラメータ値と前記数量データとに基づいて、加法準同型性のあるコミットメントスキームを用いた秘密計算をすることにより、前記生成対象アイテムのコミットメント値を計算し、
前記原料識別データと前記生成対象アイテム識別データとの組み合わせを所定のデータ構造へ格納し、
前記ブロックチェーンノードの記憶部に格納されているブロックチェーンに記録されているトランザクションデータであって、かつ前記生成元アイテム識別データと前記生成元アイテムのコミットメント値とがアウトプットデータに含まれているトランザクションデータである第1トランザクションデータを取得し、
前記生成対象アイテムの送り元を表すアドレスと前記生成対象アイテムの送り先を表すアドレスと前記データ構造とを含むトランザクションデータであって、前記生成元アイテム識別データがインプットデータに含まれ、かつ前記生成対象アイテム識別データを含む前記データ構造と前記生成対象アイテムのコミットメント値とがアウトプットデータに含まれる第2トランザクションデータを取得し、前記第2トランザクションデータを、複数のブロックチェーンノードへブロードキャストし、
複数のブロックチェーンノードの各々が、
前記サーバによりブロードキャストされた前記第2トランザクションデータに紐づく過去のトランザクションデータである第1トランザクションデータの各々をブロックチェーンから読み出し、
前記第2トランザクションデータに含まれる前記生成対象アイテムのコミットメント値と、前記第1トランザクションデータに含まれる前記生成元アイテムのコミットメント値との間の関係性に基づいて、前記第2トランザクションデータの前記生成対象アイテムが、前記第1トランザクションデータの前記生成元アイテムに含まれる前記原料によって構成されているか否かを検証し、前記第2トランザクションデータの前記生成対象アイテムが前記第1トランザクションデータの前記原料によって構成されていると判定した場合に、前記第2トランザクションデータを前記ブロックチェーンへ記録し、
前記サーバは、前記生成対象アイテムのコミットメント値を計算する際に、
前記生成対象アイテムには実際には含まれていない原料を表すブラインドファクターに対応するブラインドパラメータ値と予め調整されたランダムな前記ブラインドファクターの数量を表すブラインド数量データとの積和演算の結果を、前記パラメータ値と前記数量データとの積和演算の結果へ加算することにより、前記生成対象アイテムのコミットメント値を計算し、
前記複数のブロックチェーンノードは、前記第2トランザクションデータの前記生成対象アイテムが複数の前記第1トランザクションデータの前記原料によって構成されているか否かを検証する際に、
前記第2トランザクションデータに含まれる前記生成対象アイテムのコミットメント値と前記生成対象アイテムを生成する際に発生する前記原料の余りに相当するコミットメント値との和が、複数の前記第1トランザクションデータに含まれる前記生成元アイテムのコミットメント値の総和と等しい場合に、前記第2トランザクションデータの前記生成対象アイテムが複数の前記第1トランザクションデータの前記原料によって構成されていると判定する、
サーバ。 The server in an information processing system including a server, a plurality of blockchain nodes, and a terminal operated by a user ,
When an item is traded between a plurality of users, a first user generates an item to be generated, and from the first user who is the source of the item to be generated, the second user who is the destination of the item to be generated When the item to be generated is sent to the user,
In response to an operation by the first user, the terminal operated by the first user outputs generation target item identification data representing identification information of the generation target item and identification of raw materials used when generating the generation target item. transmitting raw material identification data, which is information, quantity data representing the quantity of the raw material, and source item identification data representing the identification information of the source item to the server;
the server
calculating a commitment value of the item to be generated by performing secure calculation using a commitment scheme with additive homomorphism based on the parameter value corresponding to the raw material and the quantity data;
storing a combination of the raw material identification data and the generation target item identification data in a predetermined data structure;
Transaction data recorded in the blockchain stored in the storage unit of the blockchain node, wherein the source item identification data and the commitment value of the source item are included in the output data. Acquiring first transaction data, which is transaction data;
Transaction data including an address representing a source of the item to be generated, an address representing a destination of the item to be generated, and the data structure, wherein the source item identification data is included in input data, and the object to be generated obtaining second transaction data in which output data includes the data structure including item identification data and the commitment value of the item to be generated , and broadcasting the second transaction data to a plurality of blockchain nodes;
Each of the multiple blockchain nodes
reading from the blockchain each piece of first transaction data, which is past transaction data linked to the second transaction data broadcast by the server;
the generation of the second transaction data based on the relationship between the commitment value of the generation target item included in the second transaction data and the commitment value of the generation source item included in the first transaction data; verifying whether or not the target item is composed of the raw material included in the source item of the first transaction data, and verifying whether the target item of the second transaction data is composed of the raw material of the first transaction data; If determined to be configured, record the second transaction data to the blockchain ;
When the server calculates the commitment value of the item to be generated,
The result of a product-sum operation between a blind parameter value corresponding to a blind factor representing a raw material that is not actually included in the item to be generated and blind quantity data representing a random pre-adjusted blind factor quantity, calculating the commitment value of the item to be generated by adding it to the sum-of-products operation result of the parameter value and the quantity data;
When verifying whether the generation target item of the second transaction data is composed of the raw materials of the plurality of first transaction data, the plurality of blockchain nodes:
The sum of the commitment value of the item to be generated included in the second transaction data and the commitment value corresponding to the surplus of raw materials generated when generating the item to be generated is included in the plurality of first transaction data. determining that the generation target item of the second transaction data is composed of a plurality of the raw materials of the first transaction data when equal to the sum of the commitment values of the generation source item;
server.
複数のユーザ間においてアイテムの取引がされる際に、第1ユーザにより生成対象アイテムが生成され、前記生成対象アイテムの送り元である前記第1ユーザから、前記生成対象アイテムの送り先である第2ユーザへ、前記生成対象アイテムが送られる際に、
前記第1ユーザの操作に応じて、前記第1ユーザが操作する前記端末が、生成対象アイテムの識別情報を表す生成対象アイテム識別データと、生成対象アイテムを生成する際に使用される原料の識別情報である原料識別データと、前記原料の数量を表す数量データと、生成元アイテムの識別情報を表す生成元アイテム識別データとを前記サーバへ送信し、
前記サーバが、
前記原料に対応するパラメータ値と前記数量データとに基づいて、加法準同型性のあるコミットメントスキームを用いた秘密計算をすることにより、前記生成対象アイテムのコミットメント値を計算し、
前記原料識別データと前記生成対象アイテム識別データとの組み合わせを所定のデータ構造へ格納し、
前記ブロックチェーンノードの記憶部に格納されているブロックチェーンに記録されているトランザクションデータであって、かつ前記生成元アイテム識別データと前記生成元アイテムのコミットメント値とがアウトプットデータに含まれているトランザクションデータである第1トランザクションデータを取得し、
前記生成対象アイテムの送り元を表すアドレスと前記生成対象アイテムの送り先を表すアドレスと前記データ構造とを含むトランザクションデータであって、前記生成元アイテム識別データがインプットデータに含まれ、かつ前記生成対象アイテム識別データを含む前記データ構造と前記生成対象アイテムのコミットメント値とがアウトプットデータに含まれる第2トランザクションデータを取得し、前記第2トランザクションデータを、複数のブロックチェーンノードへブロードキャストし、
複数のブロックチェーンノードの各々が、
前記サーバによりブロードキャストされた前記第2トランザクションデータに紐づく過去のトランザクションデータである第1トランザクションデータの各々をブロックチェーンから読み出し、
前記第2トランザクションデータに含まれる前記生成対象アイテムのコミットメント値と、前記第1トランザクションデータに含まれる前記生成元アイテムのコミットメント値との間の関係性に基づいて、前記第2トランザクションデータの前記生成対象アイテムが、前記第1トランザクションデータの前記生成元アイテムに含まれる前記原料によって構成されているか否かを検証し、前記第2トランザクションデータの前記生成対象アイテムが前記第1トランザクションデータの前記原料によって構成されていると判定した場合に、前記第2トランザクションデータを前記ブロックチェーンへ記録し、
前記サーバは、前記生成対象アイテムのコミットメント値を計算する際に、
前記生成対象アイテムには実際には含まれていない原料を表すブラインドファクターに対応するブラインドパラメータ値とランダムな前記ブラインドファクターの数量を表すブラインド数量データとの積和演算の結果を、前記パラメータ値と前記数量データとの積和演算の結果へ加算することにより、前記生成対象アイテムのコミットメント値を計算し、
前記第2トランザクションデータに含まれる前記生成対象アイテムのコミットメント値と前記生成対象アイテムを生成する際に発生する前記原料の余りに相当するコミットメント値との和と、複数の前記第1トランザクションデータに含まれる前記生成元アイテムのコミットメント値の総和との間の差分を表す情報に対して、前記サーバのデジタル署名を生成し、前記デジタル署名を前記第2トランザクションデータへ追加し、
前記複数のブロックチェーンノードは、前記第2トランザクションデータの前記生成対象アイテムが複数の前記第1トランザクションデータの前記原料によって構成されているか否かを検証する際に、
前記第2トランザクションデータのうちの前記デジタル署名と前記差分を表す情報と、前記第2トランザクションデータに含まれる前記生成対象アイテムのコミットメント値と前記生成対象アイテムを生成する際に発生する前記原料の余りに相当するコミットメント値との和と、複数の前記第1トランザクションデータに含まれる前記生成元アイテムのコミットメント値の総和と、を参照することにより、前記第2トランザクションデータの前記生成対象アイテムが、前記第1トランザクションデータの前記生成元アイテムに含まれる前記原料によって構成されているか否かを検証する、
サーバ。 The server in an information processing system including a server, a plurality of blockchain nodes, and a terminal operated by a user ,
When an item is traded between a plurality of users, a first user generates an item to be generated, and from the first user who is the source of the item to be generated, the second user who is the destination of the item to be generated When the item to be generated is sent to the user,
In response to an operation by the first user, the terminal operated by the first user outputs generation target item identification data representing identification information of the generation target item and identification of raw materials used when generating the generation target item. transmitting raw material identification data, which is information, quantity data representing the quantity of the raw material, and source item identification data representing the identification information of the source item to the server;
the server
calculating a commitment value of the item to be generated by performing secure calculation using a commitment scheme with additive homomorphism based on the parameter value corresponding to the raw material and the quantity data;
storing a combination of the raw material identification data and the generation target item identification data in a predetermined data structure;
Transaction data recorded in the blockchain stored in the storage unit of the blockchain node, wherein the source item identification data and the commitment value of the source item are included in the output data. Acquiring first transaction data, which is transaction data;
Transaction data including an address representing a source of the item to be generated, an address representing a destination of the item to be generated, and the data structure, wherein the source item identification data is included in input data, and the object to be generated obtaining second transaction data in which output data includes the data structure including item identification data and the commitment value of the item to be generated , and broadcasting the second transaction data to a plurality of blockchain nodes;
Each of the multiple blockchain nodes
reading from the blockchain each piece of first transaction data, which is past transaction data linked to the second transaction data broadcast by the server;
the generation of the second transaction data based on the relationship between the commitment value of the generation target item included in the second transaction data and the commitment value of the generation source item included in the first transaction data; verifying whether or not the target item is composed of the raw material included in the source item of the first transaction data, and verifying whether the target item of the second transaction data is composed of the raw material of the first transaction data; If determined to be configured, record the second transaction data to the blockchain ;
When the server calculates the commitment value of the item to be generated,
The result of a product-sum operation between a blind parameter value corresponding to a blind factor representing a raw material not actually contained in the item to be generated and blind quantity data representing a random quantity of the blind factor is defined as the parameter value. calculating the commitment value of the item to be generated by adding it to the result of the sum-of-products operation with the quantity data;
The sum of the commitment value of the item to be generated included in the second transaction data and the commitment value corresponding to the surplus of raw materials generated when the item to be generated is generated, and the sum is included in the plurality of first transaction data. generating a digital signature of the server for information representing a difference between the sum of commitment values of the originating item and adding the digital signature to the second transaction data;
When verifying whether the generation target item of the second transaction data is composed of the raw materials of the plurality of first transaction data, the plurality of blockchain nodes:
information representing the digital signature and the difference in the second transaction data; a commitment value of the item to be generated included in the second transaction data; By referring to the sum of the corresponding commitment values and the sum of the commitment values of the generation source items included in the plurality of the first transaction data, the generation target item of the second transaction data is the first transaction data. 1 verifying whether or not it is composed of the raw material contained in the originating item of transaction data;
server.
複数のユーザ間においてアイテムの取引がされる際に、第1ユーザにより生成対象アイテムが生成され、前記生成対象アイテムの送り元である前記第1ユーザから、前記生成対象アイテムの送り先である第2ユーザへ、前記生成対象アイテムが送られる際に、
前記第1ユーザの操作に応じて、前記第1ユーザが操作する前記端末が、生成対象アイテムの識別情報を表す生成対象アイテム識別データと、生成対象アイテムを生成する際に使用される原料の識別情報である原料識別データと、前記原料の数量を表す数量データと、生成元アイテムの識別情報を表す生成元アイテム識別データとを前記サーバへ送信し、
前記サーバが、
前記原料に対応するパラメータ値と前記数量データとに基づいて、加法準同型性のあるコミットメントスキームを用いた秘密計算をすることにより、前記生成対象アイテムのコミットメント値を計算し、
前記原料識別データと前記生成対象アイテム識別データとの組み合わせを所定のデータ構造へ格納し、
前記ブロックチェーンノードの記憶部に格納されているブロックチェーンに記録されているトランザクションデータであって、かつ前記生成元アイテム識別データと前記生成元アイテムのコミットメント値とがアウトプットデータに含まれているトランザクションデータである第1トランザクションデータを取得し、
前記生成対象アイテムの送り元を表すアドレスと前記生成対象アイテムの送り先を表すアドレスと前記データ構造とを含むトランザクションデータであって、前記生成元アイテム識別データがインプットデータに含まれ、かつ前記生成対象アイテム識別データを含む前記データ構造と前記生成対象アイテムのコミットメント値とがアウトプットデータに含まれる第2トランザクションデータを取得し、前記第2トランザクションデータを、複数のブロックチェーンノードへブロードキャストし、
複数のブロックチェーンノードの各々が、
前記サーバによりブロードキャストされた前記第2トランザクションデータに紐づく過去のトランザクションデータである第1トランザクションデータの各々をブロックチェーンから読み出し、
前記第2トランザクションデータに含まれる前記生成対象アイテムのコミットメント値と、前記第1トランザクションデータに含まれる前記生成元アイテムのコミットメント値との間の関係性に基づいて、前記第2トランザクションデータの前記生成対象アイテムが、前記第1トランザクションデータの前記生成元アイテムに含まれる前記原料によって構成されているか否かを検証し、前記第2トランザクションデータの前記生成対象アイテムが前記第1トランザクションデータの前記原料によって構成されていると判定した場合に、前記第2トランザクションデータを前記ブロックチェーンへ記録し、
前記サーバは、前記生成対象アイテムのコミットメント値を計算する際に、
前記生成対象アイテムには実際には含まれていない原料を表すブラインドファクターに対応するブラインドパラメータ値と予め調整されたランダムな前記ブラインドファクターの数量を表すブラインド数量データとの積和演算の結果を、前記パラメータ値と前記数量データとの積和演算の結果へ加算することにより、前記生成対象アイテムのコミットメント値を計算し、
前記複数のブロックチェーンノードは、前記第2トランザクションデータの前記生成対象アイテムが複数の前記第1トランザクションデータの前記原料によって構成されているか否かを検証する際に、
前記第2トランザクションデータに含まれる前記生成対象アイテムのコミットメント値と前記生成対象アイテムを生成する際に発生する前記原料の余りに相当するコミットメント値との和が、複数の前記第1トランザクションデータに含まれる前記生成元アイテムのコミットメント値の総和と等しい場合に、前記第2トランザクションデータの前記生成対象アイテムが複数の前記第1トランザクションデータの前記原料によって構成されていると判定する、
ブロックチェーンノード。 The blockchain node in an information processing system including a server, a plurality of blockchain nodes, and a terminal operated by a user ,
When an item is traded between a plurality of users, a first user generates an item to be generated, and from the first user who is the source of the item to be generated, the second user who is the destination of the item to be generated When the item to be generated is sent to the user,
In response to an operation by the first user, the terminal operated by the first user outputs generation target item identification data representing identification information of the generation target item and identification of raw materials used when generating the generation target item. transmitting raw material identification data, which is information, quantity data representing the quantity of the raw material, and source item identification data representing the identification information of the source item to the server;
the server
calculating a commitment value of the item to be generated by performing secure calculation using a commitment scheme with additive homomorphism based on the parameter value corresponding to the raw material and the quantity data;
storing a combination of the raw material identification data and the generation target item identification data in a predetermined data structure;
Transaction data recorded in the blockchain stored in the storage unit of the blockchain node, wherein the source item identification data and the commitment value of the source item are included in the output data. Acquiring first transaction data, which is transaction data;
Transaction data including an address representing a source of the item to be generated, an address representing a destination of the item to be generated, and the data structure, wherein the source item identification data is included in input data, and the object to be generated obtaining second transaction data in which output data includes the data structure including item identification data and the commitment value of the item to be generated , and broadcasting the second transaction data to a plurality of blockchain nodes;
Each of the multiple blockchain nodes
reading from the blockchain each piece of first transaction data, which is past transaction data linked to the second transaction data broadcast by the server;
the generation of the second transaction data based on the relationship between the commitment value of the generation target item included in the second transaction data and the commitment value of the generation source item included in the first transaction data; verifying whether or not the target item is composed of the raw material included in the source item of the first transaction data, and verifying whether the target item of the second transaction data is composed of the raw material of the first transaction data; If determined to be configured, record the second transaction data to the blockchain ;
When the server calculates the commitment value of the item to be generated,
The result of a product-sum operation between a blind parameter value corresponding to a blind factor representing a raw material that is not actually included in the item to be generated and blind quantity data representing a random pre-adjusted blind factor quantity, calculating the commitment value of the item to be generated by adding it to the sum-of-products operation result of the parameter value and the quantity data;
When verifying whether the generation target item of the second transaction data is composed of the raw materials of the plurality of first transaction data, the plurality of blockchain nodes:
The sum of the commitment value of the item to be generated included in the second transaction data and the commitment value corresponding to the surplus of raw materials generated when generating the item to be generated is included in the plurality of first transaction data. determining that the generation target item of the second transaction data is composed of a plurality of the raw materials of the first transaction data when equal to the sum of the commitment values of the generation source item;
blockchain node.
複数のユーザ間においてアイテムの取引がされる際に、第1ユーザにより生成対象アイテムが生成され、前記生成対象アイテムの送り元である前記第1ユーザから、前記生成対象アイテムの送り先である第2ユーザへ、前記生成対象アイテムが送られる際に、
前記第1ユーザの操作に応じて、前記第1ユーザが操作する前記端末が、生成対象アイテムの識別情報を表す生成対象アイテム識別データと、生成対象アイテムを生成する際に使用される原料の識別情報である原料識別データと、前記原料の数量を表す数量データと、生成元アイテムの識別情報を表す生成元アイテム識別データとを前記サーバへ送信し、
前記サーバが、
前記原料に対応するパラメータ値と前記数量データとに基づいて、加法準同型性のあるコミットメントスキームを用いた秘密計算をすることにより、前記生成対象アイテムのコミットメント値を計算し、
前記原料識別データと前記生成対象アイテム識別データとの組み合わせを所定のデータ構造へ格納し、
前記ブロックチェーンノードの記憶部に格納されているブロックチェーンに記録されているトランザクションデータであって、かつ前記生成元アイテム識別データと前記生成元アイテムのコミットメント値とがアウトプットデータに含まれているトランザクションデータである第1トランザクションデータを取得し、
前記生成対象アイテムの送り元を表すアドレスと前記生成対象アイテムの送り先を表すアドレスと前記データ構造とを含むトランザクションデータであって、前記生成元アイテム識別データがインプットデータに含まれ、かつ前記生成対象アイテム識別データを含む前記データ構造と前記生成対象アイテムのコミットメント値とがアウトプットデータに含まれる第2トランザクションデータを取得し、前記第2トランザクションデータを、複数のブロックチェーンノードへブロードキャストし、
複数のブロックチェーンノードの各々が、
前記サーバによりブロードキャストされた前記第2トランザクションデータに紐づく過去のトランザクションデータである第1トランザクションデータの各々をブロックチェーンから読み出し、
前記第2トランザクションデータに含まれる前記生成対象アイテムのコミットメント値と、前記第1トランザクションデータに含まれる前記生成元アイテムのコミットメント値との間の関係性に基づいて、前記第2トランザクションデータの前記生成対象アイテムが、前記第1トランザクションデータの前記生成元アイテムに含まれる前記原料によって構成されているか否かを検証し、前記第2トランザクションデータの前記生成対象アイテムが前記第1トランザクションデータの前記原料によって構成されていると判定した場合に、前記第2トランザクションデータを前記ブロックチェーンへ記録し、
前記サーバは、前記生成対象アイテムのコミットメント値を計算する際に、
前記生成対象アイテムには実際には含まれていない原料を表すブラインドファクターに対応するブラインドパラメータ値とランダムな前記ブラインドファクターの数量を表すブラインド数量データとの積和演算の結果を、前記パラメータ値と前記数量データとの積和演算の結果へ加算することにより、前記生成対象アイテムのコミットメント値を計算し、
前記第2トランザクションデータに含まれる前記生成対象アイテムのコミットメント値と前記生成対象アイテムを生成する際に発生する前記原料の余りに相当するコミットメント値との和と、複数の前記第1トランザクションデータに含まれる前記生成元アイテムのコミットメント値の総和との間の差分を表す情報に対して、前記サーバのデジタル署名を生成し、前記デジタル署名を前記第2トランザクションデータへ追加し、
前記複数のブロックチェーンノードは、前記第2トランザクションデータの前記生成対象アイテムが複数の前記第1トランザクションデータの前記原料によって構成されているか否かを検証する際に、
前記第2トランザクションデータのうちの前記デジタル署名と前記差分を表す情報と、前記第2トランザクションデータに含まれる前記生成対象アイテムのコミットメント値と前記生成対象アイテムを生成する際に発生する前記原料の余りに相当するコミットメント値との和と、複数の前記第1トランザクションデータに含まれる前記生成元アイテムのコミットメント値の総和と、を参照することにより、前記第2トランザクションデータの前記生成対象アイテムが、前記第1トランザクションデータの前記生成元アイテムに含まれる前記原料によって構成されているか否かを検証する、
ブロックチェーンノード。 The blockchain node in an information processing system including a server, a plurality of blockchain nodes, and a terminal operated by a user ,
When an item is traded between a plurality of users, a first user generates an item to be generated, and from the first user who is the source of the item to be generated, the second user who is the destination of the item to be generated When the item to be generated is sent to the user,
In response to an operation by the first user, the terminal operated by the first user outputs generation target item identification data representing identification information of the generation target item and identification of raw materials used when generating the generation target item. transmitting raw material identification data, which is information, quantity data representing the quantity of the raw material, and source item identification data representing the identification information of the source item to the server;
the server
calculating a commitment value of the item to be generated by performing secure calculation using a commitment scheme with additive homomorphism based on the parameter value corresponding to the raw material and the quantity data;
storing a combination of the raw material identification data and the generation target item identification data in a predetermined data structure;
Transaction data recorded in the blockchain stored in the storage unit of the blockchain node, wherein the source item identification data and the commitment value of the source item are included in the output data. Acquiring first transaction data, which is transaction data;
Transaction data including an address representing a source of the item to be generated, an address representing a destination of the item to be generated, and the data structure, wherein the source item identification data is included in input data, and the object to be generated obtaining second transaction data in which output data includes the data structure including item identification data and the commitment value of the item to be generated , and broadcasting the second transaction data to a plurality of blockchain nodes;
Each of the multiple blockchain nodes
reading from the blockchain each piece of first transaction data, which is past transaction data linked to the second transaction data broadcast by the server;
the generation of the second transaction data based on the relationship between the commitment value of the generation target item included in the second transaction data and the commitment value of the generation source item included in the first transaction data; verifying whether or not the target item is composed of the raw material included in the source item of the first transaction data, and verifying whether the target item of the second transaction data is composed of the raw material of the first transaction data; If determined to be configured, record the second transaction data to the blockchain ;
When the server calculates the commitment value of the item to be generated,
The result of a product-sum operation between a blind parameter value corresponding to a blind factor representing a raw material not actually contained in the item to be generated and blind quantity data representing a random quantity of the blind factor is defined as the parameter value. calculating the commitment value of the item to be generated by adding it to the result of the sum-of-products operation with the quantity data;
The sum of the commitment value of the item to be generated included in the second transaction data and the commitment value corresponding to the surplus of raw materials generated when the item to be generated is generated, and the sum is included in the plurality of first transaction data. generating a digital signature of the server for information representing a difference between the sum of commitment values of the originating item and adding the digital signature to the second transaction data;
When verifying whether the generation target item of the second transaction data is composed of the raw materials of the plurality of first transaction data, the plurality of blockchain nodes:
information representing the digital signature and the difference in the second transaction data; a commitment value of the item to be generated included in the second transaction data; By referring to the sum of the corresponding commitment values and the sum of the commitment values of the generation source items included in the plurality of the first transaction data, the generation target item of the second transaction data is the first transaction data. 1 verifying whether or not it is composed of the raw material contained in the originating item of transaction data;
blockchain node.
複数のユーザ間においてアイテムの取引がされる際に、第1ユーザにより生成対象アイテムが生成され、前記生成対象アイテムの送り元である前記第1ユーザから、前記生成対象アイテムの送り先である第2ユーザへ、前記生成対象アイテムが送られる際に、
前記第1ユーザの操作に応じて、前記第1ユーザが操作する前記端末が、生成対象アイテムの識別情報を表す生成対象アイテム識別データと、生成対象アイテムを生成する際に使用される原料の識別情報である原料識別データと、前記原料の数量を表す数量データと、生成元アイテムの識別情報を表す生成元アイテム識別データとを前記サーバへ送信し、
前記サーバが、
前記原料に対応するパラメータ値と前記数量データとに基づいて、加法準同型性のあるコミットメントスキームを用いた秘密計算をすることにより、前記生成対象アイテムのコミットメント値を計算し、
前記原料識別データと前記生成対象アイテム識別データとの組み合わせを所定のデータ構造へ格納し、
前記ブロックチェーンノードの記憶部に格納されているブロックチェーンに記録されているトランザクションデータであって、かつ前記生成元アイテム識別データと前記生成元アイテムのコミットメント値とがアウトプットデータに含まれているトランザクションデータである第1トランザクションデータを取得し、
前記生成対象アイテムの送り元を表すアドレスと前記生成対象アイテムの送り先を表すアドレスと前記データ構造とを含むトランザクションデータであって、前記生成元アイテム識別データがインプットデータに含まれ、かつ前記生成対象アイテム識別データを含む前記データ構造と前記生成対象アイテムのコミットメント値とがアウトプットデータに含まれる第2トランザクションデータを取得し、前記第2トランザクションデータを、複数のブロックチェーンノードへブロードキャストし、
複数のブロックチェーンノードの各々が、
前記サーバによりブロードキャストされた前記第2トランザクションデータに紐づく過去のトランザクションデータである第1トランザクションデータの各々をブロックチェーンから読み出し、
前記第2トランザクションデータに含まれる前記生成対象アイテムのコミットメント値と、前記第1トランザクションデータに含まれる前記生成元アイテムのコミットメント値との間の関係性に基づいて、前記第2トランザクションデータの前記生成対象アイテムが、前記第1トランザクションデータの前記生成元アイテムに含まれる前記原料によって構成されているか否かを検証し、前記第2トランザクションデータの前記生成対象アイテムが前記第1トランザクションデータの前記原料によって構成されていると判定した場合に、前記第2トランザクションデータを前記ブロックチェーンへ記録し、
前記サーバは、前記生成対象アイテムのコミットメント値を計算する際に、
前記生成対象アイテムには実際には含まれていない原料を表すブラインドファクターに対応するブラインドパラメータ値と予め調整されたランダムな前記ブラインドファクターの数量を表すブラインド数量データとの積和演算の結果を、前記パラメータ値と前記数量データとの積和演算の結果へ加算することにより、前記生成対象アイテムのコミットメント値を計算し、
前記複数のブロックチェーンノードは、前記第2トランザクションデータの前記生成対象アイテムが複数の前記第1トランザクションデータの前記原料によって構成されているか否かを検証する際に、
前記第2トランザクションデータに含まれる前記生成対象アイテムのコミットメント値と前記生成対象アイテムを生成する際に発生する前記原料の余りに相当するコミットメント値との和が、複数の前記第1トランザクションデータに含まれる前記生成元アイテムのコミットメント値の総和と等しい場合に、前記第2トランザクションデータの前記生成対象アイテムが複数の前記第1トランザクションデータの前記原料によって構成されていると判定する、
情報処理方法。 An information processing method executed by an information processing system including a server, a plurality of blockchain nodes, and a terminal operated by a user ,
When an item is traded between a plurality of users, a first user generates an item to be generated, and from the first user who is the source of the item to be generated, the second user who is the destination of the item to be generated When the item to be generated is sent to the user,
In response to an operation by the first user, the terminal operated by the first user outputs generation target item identification data representing identification information of the generation target item and identification of raw materials used when generating the generation target item. transmitting raw material identification data, which is information, quantity data representing the quantity of the raw material, and source item identification data representing the identification information of the source item to the server;
the server
calculating a commitment value of the item to be generated by performing secure calculation using a commitment scheme with additive homomorphism based on the parameter value corresponding to the raw material and the quantity data;
storing a combination of the raw material identification data and the generation target item identification data in a predetermined data structure;
Transaction data recorded in the blockchain stored in the storage unit of the blockchain node, wherein the source item identification data and the commitment value of the source item are included in the output data. Acquiring first transaction data, which is transaction data;
Transaction data including an address representing a source of the item to be generated, an address representing a destination of the item to be generated, and the data structure, wherein the source item identification data is included in input data, and the object to be generated obtaining second transaction data in which output data includes the data structure including item identification data and the commitment value of the item to be generated , and broadcasting the second transaction data to a plurality of blockchain nodes;
Each of the multiple blockchain nodes
reading from the blockchain each piece of first transaction data, which is past transaction data linked to the second transaction data broadcast by the server;
the generation of the second transaction data based on the relationship between the commitment value of the generation target item included in the second transaction data and the commitment value of the generation source item included in the first transaction data; verifying whether or not the target item is composed of the raw material included in the source item of the first transaction data, and verifying whether the target item of the second transaction data is composed of the raw material of the first transaction data; If determined to be configured, record the second transaction data to the blockchain ;
When the server calculates the commitment value of the item to be generated,
The result of a product-sum operation between a blind parameter value corresponding to a blind factor representing a raw material that is not actually included in the item to be generated and blind quantity data representing a random pre-adjusted blind factor quantity, calculating the commitment value of the item to be generated by adding it to the sum-of-products operation result of the parameter value and the quantity data;
When verifying whether the generation target item of the second transaction data is composed of the raw materials of the plurality of first transaction data, the plurality of blockchain nodes:
The sum of the commitment value of the item to be generated included in the second transaction data and the commitment value corresponding to the surplus of raw materials generated when generating the item to be generated is included in the plurality of first transaction data. determining that the generation target item of the second transaction data is composed of a plurality of the raw materials of the first transaction data when equal to the sum of the commitment values of the generation source item;
Information processing methods.
複数のユーザ間においてアイテムの取引がされる際に、第1ユーザにより生成対象アイテムが生成され、前記生成対象アイテムの送り元である前記第1ユーザから、前記生成対象アイテムの送り先である第2ユーザへ、前記生成対象アイテムが送られる際に、
前記第1ユーザの操作に応じて、前記第1ユーザが操作する前記端末が、生成対象アイテムの識別情報を表す生成対象アイテム識別データと、生成対象アイテムを生成する際に使用される原料の識別情報である原料識別データと、前記原料の数量を表す数量データと、生成元アイテムの識別情報を表す生成元アイテム識別データとを前記サーバへ送信し、
前記サーバが、
前記原料に対応するパラメータ値と前記数量データとに基づいて、加法準同型性のあるコミットメントスキームを用いた秘密計算をすることにより、前記生成対象アイテムのコミットメント値を計算し、
前記原料識別データと前記生成対象アイテム識別データとの組み合わせを所定のデータ構造へ格納し、
前記ブロックチェーンノードの記憶部に格納されているブロックチェーンに記録されて
いるトランザクションデータであって、かつ前記生成元アイテム識別データと前記生成元アイテムのコミットメント値とがアウトプットデータに含まれているトランザクションデータである第1トランザクションデータを取得し、
前記生成対象アイテムの送り元を表すアドレスと前記生成対象アイテムの送り先を表すアドレスと前記データ構造とを含むトランザクションデータであって、前記生成元アイテム識別データがインプットデータに含まれ、かつ前記生成対象アイテム識別データを含む前記データ構造と前記生成対象アイテムのコミットメント値とがアウトプットデータに含まれる第2トランザクションデータを取得し、前記第2トランザクションデータを、複数のブロックチェーンノードへブロードキャストし、
複数のブロックチェーンノードの各々が、
前記サーバによりブロードキャストされた前記第2トランザクションデータに紐づく過去のトランザクションデータである第1トランザクションデータの各々をブロックチェーンから読み出し、
前記第2トランザクションデータに含まれる前記生成対象アイテムのコミットメント値と、前記第1トランザクションデータに含まれる前記生成元アイテムのコミットメント値との間の関係性に基づいて、前記第2トランザクションデータの前記生成対象アイテムが、前記第1トランザクションデータの前記生成元アイテムに含まれる前記原料によって構成されているか否かを検証し、前記第2トランザクションデータの前記生成対象アイテムが前記第1トランザクションデータの前記原料によって構成されていると判定した場合に、前記第2トランザクションデータを前記ブロックチェーンへ記録し、
前記サーバは、前記生成対象アイテムのコミットメント値を計算する際に、
前記生成対象アイテムには実際には含まれていない原料を表すブラインドファクターに対応するブラインドパラメータ値とランダムな前記ブラインドファクターの数量を表すブラインド数量データとの積和演算の結果を、前記パラメータ値と前記数量データとの積和演算の結果へ加算することにより、前記生成対象アイテムのコミットメント値を計算し、
前記第2トランザクションデータに含まれる前記生成対象アイテムのコミットメント値と前記生成対象アイテムを生成する際に発生する前記原料の余りに相当するコミットメント値との和と、複数の前記第1トランザクションデータに含まれる前記生成元アイテムのコミットメント値の総和との間の差分を表す情報に対して、前記サーバのデジタル署名を生成し、前記デジタル署名を前記第2トランザクションデータへ追加し、
前記複数のブロックチェーンノードは、前記第2トランザクションデータの前記生成対象アイテムが複数の前記第1トランザクションデータの前記原料によって構成されているか否かを検証する際に、
前記第2トランザクションデータのうちの前記デジタル署名と前記差分を表す情報と、前記第2トランザクションデータに含まれる前記生成対象アイテムのコミットメント値と前記生成対象アイテムを生成する際に発生する前記原料の余りに相当するコミットメント値との和と、複数の前記第1トランザクションデータに含まれる前記生成元アイテムのコミットメント値の総和と、を参照することにより、前記第2トランザクションデータの前記生成対象アイテムが、前記第1トランザクションデータの前記生成元アイテムに含まれる前記原料によって構成されているか否かを検証する、
情報処理方法。 An information processing method executed by an information processing system including a server, a plurality of blockchain nodes, and a terminal operated by a user ,
When an item is traded between a plurality of users, a first user generates an item to be generated, and from the first user who is the source of the item to be generated, the second user who is the destination of the item to be generated When the item to be generated is sent to the user,
In response to an operation by the first user, the terminal operated by the first user outputs generation target item identification data representing identification information of the generation target item and identification of raw materials used when generating the generation target item. transmitting raw material identification data, which is information, quantity data representing the quantity of the raw material, and source item identification data representing the identification information of the source item to the server;
the server
calculating a commitment value of the item to be generated by performing secure calculation using a commitment scheme with additive homomorphism based on the parameter value corresponding to the raw material and the quantity data;
storing a combination of the raw material identification data and the generation target item identification data in a predetermined data structure;
Transaction data recorded in the blockchain stored in the storage unit of the blockchain node, wherein the source item identification data and the commitment value of the source item are included in the output data. Acquiring first transaction data, which is transaction data;
Transaction data including an address representing a source of the item to be generated, an address representing a destination of the item to be generated, and the data structure, wherein the source item identification data is included in input data, and the object to be generated obtaining second transaction data in which output data includes the data structure including item identification data and the commitment value of the item to be generated , and broadcasting the second transaction data to a plurality of blockchain nodes;
Each of the multiple blockchain nodes
reading from the blockchain each piece of first transaction data, which is past transaction data linked to the second transaction data broadcast by the server;
the generation of the second transaction data based on the relationship between the commitment value of the generation target item included in the second transaction data and the commitment value of the generation source item included in the first transaction data; verifying whether or not the target item is composed of the raw material included in the source item of the first transaction data, and verifying whether the target item of the second transaction data is composed of the raw material of the first transaction data; If determined to be configured, record the second transaction data to the blockchain ;
When the server calculates the commitment value of the item to be generated,
The result of a product-sum operation between a blind parameter value corresponding to a blind factor representing a raw material not actually contained in the item to be generated and blind quantity data representing a random quantity of the blind factor is defined as the parameter value. calculating the commitment value of the item to be generated by adding it to the result of the sum-of-products operation with the quantity data;
The sum of the commitment value of the item to be generated included in the second transaction data and the commitment value corresponding to the surplus of raw materials generated when the item to be generated is generated, and the sum is included in the plurality of first transaction data. generating a digital signature of the server for information representing a difference between the sum of commitment values of the originating item and adding the digital signature to the second transaction data;
When verifying whether the generation target item of the second transaction data is composed of the raw materials of the plurality of first transaction data, the plurality of blockchain nodes:
information representing the digital signature and the difference in the second transaction data; a commitment value of the item to be generated included in the second transaction data; By referring to the sum of the corresponding commitment values and the sum of the commitment values of the generation source items included in the plurality of the first transaction data, the generation target item of the second transaction data is the first transaction data. 1 verifying whether or not it is composed of the raw material contained in the originating item of transaction data;
Information processing methods.
複数のユーザ間においてアイテムの取引がされる際に、第1ユーザにより生成対象アイテムが生成され、前記生成対象アイテムの送り元である前記第1ユーザから、前記生成対象アイテムの送り先である第2ユーザへ、前記生成対象アイテムが送られる際に、
前記第1ユーザの操作に応じて、前記第1ユーザが操作する前記端末が、生成対象アイテムの識別情報を表す生成対象アイテム識別データと、生成対象アイテムを生成する際に使用される原料の識別情報である原料識別データと、前記原料の数量を表す数量データと、生成元アイテムの識別情報を表す生成元アイテム識別データとを前記サーバへ送信し、
前記サーバが、
前記原料に対応するパラメータ値と前記数量データとに基づいて、加法準同型性のあるコミットメントスキームを用いた秘密計算をすることにより、前記生成対象アイテムのコミットメント値を計算し、
前記原料識別データと前記生成対象アイテム識別データとの組み合わせを所定のデータ構造へ格納し、
前記ブロックチェーンノードの記憶部に格納されているブロックチェーンに記録されているトランザクションデータであって、かつ前記生成元アイテム識別データと前記生成元アイテムのコミットメント値とがアウトプットデータに含まれているトランザクションデータである第1トランザクションデータを取得し、
前記生成対象アイテムの送り元を表すアドレスと前記生成対象アイテムの送り先を表すアドレスと前記データ構造とを含むトランザクションデータであって、前記生成元アイテム識別データがインプットデータに含まれ、かつ前記生成対象アイテム識別データを含む前記データ構造と前記生成対象アイテムのコミットメント値とがアウトプットデータに含まれる第2トランザクションデータを取得し、前記第2トランザクションデータを、複数のブロックチェーンノードへブロードキャストし、
複数のブロックチェーンノードの各々が、
前記サーバによりブロードキャストされた前記第2トランザクションデータに紐づく過去のトランザクションデータである第1トランザクションデータの各々をブロックチェーンから読み出し、
前記第2トランザクションデータに含まれる前記生成対象アイテムのコミットメント値と、前記第1トランザクションデータに含まれる前記生成元アイテムのコミットメント値との間の関係性に基づいて、前記第2トランザクションデータの前記生成対象アイテムが、前記第1トランザクションデータの前記生成元アイテムに含まれる前記原料によって構成されているか否かを検証し、前記第2トランザクションデータの前記生成対象アイテムが前記第1トランザクションデータの前記原料によって構成されていると判定した場合に、前記第2トランザクションデータを前記ブロックチェーンへ記録し、
前記サーバは、前記生成対象アイテムのコミットメント値を計算する際に、
前記生成対象アイテムには実際には含まれていない原料を表すブラインドファクターに対応するブラインドパラメータ値と予め調整されたランダムな前記ブラインドファクターの数量を表すブラインド数量データとの積和演算の結果を、前記パラメータ値と前記数量データとの積和演算の結果へ加算することにより、前記生成対象アイテムのコミットメント値を計算し、
前記複数のブロックチェーンノードは、前記第2トランザクションデータの前記生成対象アイテムが複数の前記第1トランザクションデータの前記原料によって構成されているか否かを検証する際に、
前記第2トランザクションデータに含まれる前記生成対象アイテムのコミットメント値と前記生成対象アイテムを生成する際に発生する前記原料の余りに相当するコミットメント値との和が、複数の前記第1トランザクションデータに含まれる前記生成元アイテムのコミットメント値の総和と等しい場合に、前記第2トランザクションデータの前記生成対象アイテムが複数の前記第1トランザクションデータの前記原料によって構成されていると判定する、
プログラム。 A program to be executed by the server in an information processing system including a server, a plurality of blockchain nodes, and a terminal operated by a user ,
When an item is traded between a plurality of users, a first user generates an item to be generated, and from the first user who is the source of the item to be generated, the second user who is the destination of the item to be generated When the item to be generated is sent to the user,
In response to an operation by the first user, the terminal operated by the first user outputs generation target item identification data representing identification information of the generation target item and identification of raw materials used when generating the generation target item. transmitting raw material identification data, which is information, quantity data representing the quantity of the raw material, and source item identification data representing the identification information of the source item to the server;
the server
calculating a commitment value of the item to be generated by performing secure calculation using a commitment scheme with additive homomorphism based on the parameter value corresponding to the raw material and the quantity data;
storing a combination of the raw material identification data and the generation target item identification data in a predetermined data structure;
Transaction data recorded in the blockchain stored in the storage unit of the blockchain node, wherein the source item identification data and the commitment value of the source item are included in the output data. Acquiring first transaction data, which is transaction data;
Transaction data including an address representing a source of the item to be generated, an address representing a destination of the item to be generated, and the data structure, wherein the source item identification data is included in input data, and the object to be generated obtaining second transaction data in which output data includes the data structure including item identification data and the commitment value of the item to be generated , and broadcasting the second transaction data to a plurality of blockchain nodes;
Each of the multiple blockchain nodes
reading from the blockchain each piece of first transaction data, which is past transaction data linked to the second transaction data broadcast by the server;
the generation of the second transaction data based on the relationship between the commitment value of the generation target item included in the second transaction data and the commitment value of the generation source item included in the first transaction data; verifying whether or not the target item is composed of the raw material included in the source item of the first transaction data, and verifying whether the target item of the second transaction data is composed of the raw material of the first transaction data; If determined to be configured, record the second transaction data to the blockchain ;
When the server calculates the commitment value of the item to be generated,
The result of a product-sum operation between a blind parameter value corresponding to a blind factor representing a raw material that is not actually included in the item to be generated and blind quantity data representing a random pre-adjusted blind factor quantity, calculating the commitment value of the item to be generated by adding it to the sum-of-products operation result of the parameter value and the quantity data;
When verifying whether the generation target item of the second transaction data is composed of the raw materials of the plurality of first transaction data, the plurality of blockchain nodes:
The sum of the commitment value of the item to be generated included in the second transaction data and the commitment value corresponding to the surplus of raw materials generated when generating the item to be generated is included in the plurality of first transaction data. determining that the generation target item of the second transaction data is composed of a plurality of the raw materials of the first transaction data when equal to the sum of the commitment values of the generation source item;
program.
複数のユーザ間においてアイテムの取引がされる際に、第1ユーザにより生成対象アイテムが生成され、前記生成対象アイテムの送り元である前記第1ユーザから、前記生成対象アイテムの送り先である第2ユーザへ、前記生成対象アイテムが送られる際に、
前記第1ユーザの操作に応じて、前記第1ユーザが操作する前記端末が、生成対象アイテムの識別情報を表す生成対象アイテム識別データと、生成対象アイテムを生成する際に使用される原料の識別情報である原料識別データと、前記原料の数量を表す数量データと、生成元アイテムの識別情報を表す生成元アイテム識別データとを前記サーバへ送信し、
前記サーバが、
前記原料に対応するパラメータ値と前記数量データとに基づいて、加法準同型性のあるコミットメントスキームを用いた秘密計算をすることにより、前記生成対象アイテムのコミットメント値を計算し、
前記原料識別データと前記生成対象アイテム識別データとの組み合わせを所定のデータ構造へ格納し、
前記ブロックチェーンノードの記憶部に格納されているブロックチェーンに記録されているトランザクションデータであって、かつ前記生成元アイテム識別データと前記生成元アイテムのコミットメント値とがアウトプットデータに含まれているトランザクションデータである第1トランザクションデータを取得し、
前記生成対象アイテムの送り元を表すアドレスと前記生成対象アイテムの送り先を表すアドレスと前記データ構造とを含むトランザクションデータであって、前記生成元アイテム識別データがインプットデータに含まれ、かつ前記生成対象アイテム識別データを含む前記データ構造と前記生成対象アイテムのコミットメント値とがアウトプットデータに含まれる第2トランザクションデータを取得し、前記第2トランザクションデータを、複数のブロックチェーンノードへブロードキャストし、
複数のブロックチェーンノードの各々が、
前記サーバによりブロードキャストされた前記第2トランザクションデータに紐づく過去のトランザクションデータである第1トランザクションデータの各々をブロックチェーンから読み出し、
前記第2トランザクションデータに含まれる前記生成対象アイテムのコミットメント値と、前記第1トランザクションデータに含まれる前記生成元アイテムのコミットメント値との間の関係性に基づいて、前記第2トランザクションデータの前記生成対象アイテムが、前記第1トランザクションデータの前記生成元アイテムに含まれる前記原料によって構成されているか否かを検証し、前記第2トランザクションデータの前記生成対象アイテムが前記第1トランザクションデータの前記原料によって構成されていると判定した場合に、前記第2トランザクションデータを前記ブロックチェーンへ記録し、
前記サーバは、前記生成対象アイテムのコミットメント値を計算する際に、
前記生成対象アイテムには実際には含まれていない原料を表すブラインドファクターに対応するブラインドパラメータ値とランダムな前記ブラインドファクターの数量を表すブラインド数量データとの積和演算の結果を、前記パラメータ値と前記数量データとの積和演算の結果へ加算することにより、前記生成対象アイテムのコミットメント値を計算し、
前記第2トランザクションデータに含まれる前記生成対象アイテムのコミットメント値と前記生成対象アイテムを生成する際に発生する前記原料の余りに相当するコミットメント値との和と、複数の前記第1トランザクションデータに含まれる前記生成元アイテムのコミットメント値の総和との間の差分を表す情報に対して、前記サーバのデジタル署名を生成し、前記デジタル署名を前記第2トランザクションデータへ追加し、
前記複数のブロックチェーンノードは、前記第2トランザクションデータの前記生成対象アイテムが複数の前記第1トランザクションデータの前記原料によって構成されているか否かを検証する際に、
前記第2トランザクションデータのうちの前記デジタル署名と前記差分を表す情報と、前記第2トランザクションデータに含まれる前記生成対象アイテムのコミットメント値と前記生成対象アイテムを生成する際に発生する前記原料の余りに相当するコミットメント値との和と、複数の前記第1トランザクションデータに含まれる前記生成元アイテムのコミットメント値の総和と、を参照することにより、前記第2トランザクションデータの前記生成対象アイテムが、前記第1トランザクションデータの前記生成元アイテムに含まれる前記原料によって構成されているか否かを検証する、
プログラム。 A program to be executed by the server in an information processing system including a server, a plurality of blockchain nodes, and a terminal operated by a user ,
When an item is traded between a plurality of users, a first user generates an item to be generated, and from the first user who is the source of the item to be generated, the second user who is the destination of the item to be generated When the item to be generated is sent to the user,
In response to an operation by the first user, the terminal operated by the first user outputs generation target item identification data representing identification information of the generation target item and identification of raw materials used when generating the generation target item. transmitting raw material identification data, which is information, quantity data representing the quantity of the raw material, and source item identification data representing the identification information of the source item to the server;
the server
calculating a commitment value of the item to be generated by performing secure calculation using a commitment scheme with additive homomorphism based on the parameter value corresponding to the raw material and the quantity data;
storing a combination of the raw material identification data and the generation target item identification data in a predetermined data structure;
Transaction data recorded in the blockchain stored in the storage unit of the blockchain node, wherein the source item identification data and the commitment value of the source item are included in the output data. Acquiring first transaction data, which is transaction data;
Transaction data including an address representing a source of the item to be generated, an address representing a destination of the item to be generated, and the data structure, wherein the source item identification data is included in input data, and the object to be generated obtaining second transaction data in which output data includes the data structure including item identification data and the commitment value of the item to be generated , and broadcasting the second transaction data to a plurality of blockchain nodes;
Each of the multiple blockchain nodes
reading from the blockchain each piece of first transaction data, which is past transaction data linked to the second transaction data broadcast by the server;
the generation of the second transaction data based on the relationship between the commitment value of the generation target item included in the second transaction data and the commitment value of the generation source item included in the first transaction data; verifying whether or not the target item is composed of the raw material included in the source item of the first transaction data, and verifying whether the target item of the second transaction data is composed of the raw material of the first transaction data; If determined to be configured, record the second transaction data to the blockchain ;
When the server calculates the commitment value of the item to be generated,
The result of a product-sum operation between a blind parameter value corresponding to a blind factor representing a raw material not actually contained in the item to be generated and blind quantity data representing a random quantity of the blind factor is defined as the parameter value. calculating the commitment value of the item to be generated by adding it to the result of the sum-of-products operation with the quantity data;
The sum of the commitment value of the item to be generated included in the second transaction data and the commitment value corresponding to the surplus of raw materials generated when the item to be generated is generated, and the sum is included in the plurality of first transaction data. generating a digital signature of the server for information representing a difference between the sum of commitment values of the originating item and adding the digital signature to the second transaction data;
When verifying whether the generation target item of the second transaction data is composed of the raw materials of the plurality of first transaction data, the plurality of blockchain nodes:
information representing the digital signature and the difference in the second transaction data; a commitment value of the item to be generated included in the second transaction data; By referring to the sum of the corresponding commitment values and the sum of the commitment values of the generation source items included in the plurality of the first transaction data, the generation target item of the second transaction data is the first transaction data. 1 verifying whether or not it is composed of the raw material contained in the originating item of transaction data;
program.
複数のユーザ間においてアイテムの取引がされる際に、第1ユーザにより生成対象アイテムが生成され、前記生成対象アイテムの送り元である前記第1ユーザから、前記生成対象アイテムの送り先である第2ユーザへ、前記生成対象アイテムが送られる際に、
前記第1ユーザの操作に応じて、前記第1ユーザが操作する前記端末が、生成対象アイテムの識別情報を表す生成対象アイテム識別データと、生成対象アイテムを生成する際に使用される原料の識別情報である原料識別データと、前記原料の数量を表す数量データと、生成元アイテムの識別情報を表す生成元アイテム識別データとを前記サーバへ送信し、
前記サーバが、
前記原料に対応するパラメータ値と前記数量データとに基づいて、加法準同型性のあるコミットメントスキームを用いた秘密計算をすることにより、前記生成対象アイテムのコミットメント値を計算し、
前記原料識別データと前記生成対象アイテム識別データとの組み合わせを所定のデータ構造へ格納し、
前記ブロックチェーンノードの記憶部に格納されているブロックチェーンに記録されているトランザクションデータであって、かつ前記生成元アイテム識別データと前記生成元アイテムのコミットメント値とがアウトプットデータに含まれているトランザクションデータである第1トランザクションデータを取得し、
前記生成対象アイテムの送り元を表すアドレスと前記生成対象アイテムの送り先を表すアドレスと前記データ構造とを含むトランザクションデータであって、前記生成元アイテム識別データがインプットデータに含まれ、かつ前記生成対象アイテム識別データを含む前記データ構造と前記生成対象アイテムのコミットメント値とがアウトプットデータに含まれる第2トランザクションデータを取得し、前記第2トランザクションデータを、複数のブロックチェーンノードへブロードキャストし、
複数のブロックチェーンノードの各々が、
前記サーバによりブロードキャストされた前記第2トランザクションデータに紐づく過去のトランザクションデータである第1トランザクションデータの各々をブロックチェーンから読み出し、
前記第2トランザクションデータに含まれる前記生成対象アイテムのコミットメント値と、前記第1トランザクションデータに含まれる前記生成元アイテムのコミットメント値との間の関係性に基づいて、前記第2トランザクションデータの前記生成対象アイテムが、前記第1トランザクションデータの前記生成元アイテムに含まれる前記原料によって構成されているか否かを検証し、前記第2トランザクションデータの前記生成対象アイテムが前記第1トランザクションデータの前記原料によって構成されていると判定した場合に、前記第2トランザクションデータを前記ブロックチェーンへ記録し、
前記サーバは、前記生成対象アイテムのコミットメント値を計算する際に、
前記生成対象アイテムには実際には含まれていない原料を表すブラインドファクターに対応するブラインドパラメータ値と予め調整されたランダムな前記ブラインドファクターの数量を表すブラインド数量データとの積和演算の結果を、前記パラメータ値と前記数量データとの積和演算の結果へ加算することにより、前記生成対象アイテムのコミットメント値を計算し、
前記複数のブロックチェーンノードは、前記第2トランザクションデータの前記生成対象アイテムが複数の前記第1トランザクションデータの前記原料によって構成されているか否かを検証する際に、
前記第2トランザクションデータに含まれる前記生成対象アイテムのコミットメント値と前記生成対象アイテムを生成する際に発生する前記原料の余りに相当するコミットメント値との和が、複数の前記第1トランザクションデータに含まれる前記生成元アイテムのコミットメント値の総和と等しい場合に、前記第2トランザクションデータの前記生成対象アイテムが複数の前記第1トランザクションデータの前記原料によって構成されていると判定する、
プログラム。 A program for execution by the blockchain node in an information processing system including a server, a plurality of blockchain nodes, and a terminal operated by a user ,
When an item is traded between a plurality of users, a first user generates an item to be generated, and from the first user who is the source of the item to be generated, the second user who is the destination of the item to be generated When the item to be generated is sent to the user,
In response to an operation by the first user, the terminal operated by the first user outputs generation target item identification data representing identification information of the generation target item and identification of raw materials used when generating the generation target item. transmitting raw material identification data, which is information, quantity data representing the quantity of the raw material, and source item identification data representing the identification information of the source item to the server;
the server
calculating a commitment value of the item to be generated by performing secure calculation using a commitment scheme with additive homomorphism based on the parameter value corresponding to the raw material and the quantity data;
storing a combination of the raw material identification data and the generation target item identification data in a predetermined data structure;
Transaction data recorded in the blockchain stored in the storage unit of the blockchain node, wherein the source item identification data and the commitment value of the source item are included in the output data. Acquiring first transaction data, which is transaction data;
Transaction data including an address representing a source of the item to be generated, an address representing a destination of the item to be generated, and the data structure, wherein the source item identification data is included in input data, and the object to be generated obtaining second transaction data in which output data includes the data structure including item identification data and the commitment value of the item to be generated , and broadcasting the second transaction data to a plurality of blockchain nodes;
Each of the multiple blockchain nodes
reading from the blockchain each piece of first transaction data, which is past transaction data linked to the second transaction data broadcast by the server;
the generation of the second transaction data based on the relationship between the commitment value of the generation target item included in the second transaction data and the commitment value of the generation source item included in the first transaction data; verifying whether or not the target item is composed of the raw material included in the source item of the first transaction data, and verifying whether the target item of the second transaction data is composed of the raw material of the first transaction data; If determined to be configured, record the second transaction data to the blockchain ;
When the server calculates the commitment value of the item to be generated,
The result of a product-sum operation between a blind parameter value corresponding to a blind factor representing a raw material that is not actually included in the item to be generated and blind quantity data representing a random pre-adjusted blind factor quantity, calculating the commitment value of the item to be generated by adding it to the sum-of-products operation result of the parameter value and the quantity data;
When verifying whether the generation target item of the second transaction data is composed of the raw materials of the plurality of first transaction data, the plurality of blockchain nodes:
The sum of the commitment value of the item to be generated included in the second transaction data and the commitment value corresponding to the surplus of raw materials generated when generating the item to be generated is included in the plurality of first transaction data. determining that the generation target item of the second transaction data is composed of a plurality of the raw materials of the first transaction data when equal to the sum of the commitment values of the generation source item;
program.
複数のユーザ間においてアイテムの取引がされる際に、第1ユーザにより生成対象アイテムが生成され、前記生成対象アイテムの送り元である前記第1ユーザから、前記生成対象アイテムの送り先である第2ユーザへ、前記生成対象アイテムが送られる際に、
前記第1ユーザの操作に応じて、前記第1ユーザが操作する前記端末が、生成対象アイテムの識別情報を表す生成対象アイテム識別データと、生成対象アイテムを生成する際に使用される原料の識別情報である原料識別データと、前記原料の数量を表す数量データと、生成元アイテムの識別情報を表す生成元アイテム識別データとを前記サーバへ送信し、
前記サーバが、
前記原料に対応するパラメータ値と前記数量データとに基づいて、加法準同型性のあるコミットメントスキームを用いた秘密計算をすることにより、前記生成対象アイテムのコミットメント値を計算し、
前記原料識別データと前記生成対象アイテム識別データとの組み合わせを所定のデータ構造へ格納し、
前記ブロックチェーンノードの記憶部に格納されているブロックチェーンに記録されているトランザクションデータであって、かつ前記生成元アイテム識別データと前記生成元アイテムのコミットメント値とがアウトプットデータに含まれているトランザクションデータである第1トランザクションデータを取得し、
前記生成対象アイテムの送り元を表すアドレスと前記生成対象アイテムの送り先を表すアドレスと前記データ構造とを含むトランザクションデータであって、前記生成元アイテム識別データがインプットデータに含まれ、かつ前記生成対象アイテム識別データを含む前記データ構造と前記生成対象アイテムのコミットメント値とがアウトプットデータに含まれる第2トランザクションデータを取得し、前記第2トランザクションデータを、複数のブロックチェーンノードへブロードキャストし、
複数のブロックチェーンノードの各々が、
前記サーバによりブロードキャストされた前記第2トランザクションデータに紐づく過去のトランザクションデータである第1トランザクションデータの各々をブロックチェーンから読み出し、
前記第2トランザクションデータに含まれる前記生成対象アイテムのコミットメント値と、前記第1トランザクションデータに含まれる前記生成元アイテムのコミットメント値との間の関係性に基づいて、前記第2トランザクションデータの前記生成対象アイテムが、前記第1トランザクションデータの前記生成元アイテムに含まれる前記原料によって構成されているか否かを検証し、前記第2トランザクションデータの前記生成対象アイテムが前記第1トランザクションデータの前記原料によって構成されていると判定した場合に、前記第2トランザクションデータを前記ブロックチェーンへ記録し、
前記サーバは、前記生成対象アイテムのコミットメント値を計算する際に、
前記生成対象アイテムには実際には含まれていない原料を表すブラインドファクターに対応するブラインドパラメータ値とランダムな前記ブラインドファクターの数量を表すブラインド数量データとの積和演算の結果を、前記パラメータ値と前記数量データとの積和演算の結果へ加算することにより、前記生成対象アイテムのコミットメント値を計算し、
前記第2トランザクションデータに含まれる前記生成対象アイテムのコミットメント値と前記生成対象アイテムを生成する際に発生する前記原料の余りに相当するコミットメント値との和と、複数の前記第1トランザクションデータに含まれる前記生成元アイテムのコミットメント値の総和との間の差分を表す情報に対して、前記サーバのデジタル署名を生成し、前記デジタル署名を前記第2トランザクションデータへ追加し、
前記複数のブロックチェーンノードは、前記第2トランザクションデータの前記生成対象アイテムが複数の前記第1トランザクションデータの前記原料によって構成されているか否かを検証する際に、
前記第2トランザクションデータのうちの前記デジタル署名と前記差分を表す情報と、前記第2トランザクションデータに含まれる前記生成対象アイテムのコミットメント値と前記生成対象アイテムを生成する際に発生する前記原料の余りに相当するコミットメント値との和と、複数の前記第1トランザクションデータに含まれる前記生成元アイテムのコミットメント値の総和と、を参照することにより、前記第2トランザクションデータの前記生成対象アイテムが、前記第1トランザクションデータの前記生成元アイテムに含まれる前記原料によって構成されているか否かを検証する、
プログラム。 A program for execution by the blockchain node in an information processing system including a server, a plurality of blockchain nodes, and a terminal operated by a user ,
When an item is traded between a plurality of users, a first user generates an item to be generated, and from the first user who is the source of the item to be generated, the second user who is the destination of the item to be generated When the item to be generated is sent to the user,
In response to an operation by the first user, the terminal operated by the first user outputs generation target item identification data representing identification information of the generation target item and identification of raw materials used when generating the generation target item. transmitting raw material identification data, which is information, quantity data representing the quantity of the raw material, and source item identification data representing the identification information of the source item to the server;
the server
calculating a commitment value of the item to be generated by performing secure calculation using a commitment scheme with additive homomorphism based on the parameter value corresponding to the raw material and the quantity data;
storing a combination of the raw material identification data and the generation target item identification data in a predetermined data structure;
Transaction data recorded in the blockchain stored in the storage unit of the blockchain node, wherein the source item identification data and the commitment value of the source item are included in the output data. Acquiring first transaction data, which is transaction data;
Transaction data including an address representing a source of the item to be generated, an address representing a destination of the item to be generated, and the data structure, wherein the source item identification data is included in input data, and the object to be generated obtaining second transaction data in which output data includes the data structure including item identification data and the commitment value of the item to be generated , and broadcasting the second transaction data to a plurality of blockchain nodes;
Each of the multiple blockchain nodes
reading from the blockchain each piece of first transaction data, which is past transaction data linked to the second transaction data broadcast by the server;
the generation of the second transaction data based on the relationship between the commitment value of the generation target item included in the second transaction data and the commitment value of the generation source item included in the first transaction data; verifying whether or not the target item is composed of the raw material included in the source item of the first transaction data, and verifying whether the target item of the second transaction data is composed of the raw material of the first transaction data; If determined to be configured, record the second transaction data to the blockchain ;
When the server calculates the commitment value of the item to be generated,
The result of a product-sum operation between a blind parameter value corresponding to a blind factor representing a raw material not actually contained in the item to be generated and blind quantity data representing a random quantity of the blind factor is defined as the parameter value. calculating the commitment value of the item to be generated by adding it to the result of the sum-of-products operation with the quantity data;
The sum of the commitment value of the item to be generated included in the second transaction data and the commitment value corresponding to the surplus of raw materials generated when the item to be generated is generated, and the sum is included in the plurality of first transaction data. generating a digital signature of the server for information representing a difference between the sum of commitment values of the originating item and adding the digital signature to the second transaction data;
When verifying whether the generation target item of the second transaction data is composed of the raw materials of the plurality of first transaction data, the plurality of blockchain nodes:
information representing the digital signature and the difference in the second transaction data; a commitment value of the item to be generated included in the second transaction data; By referring to the sum of the corresponding commitment values and the sum of the commitment values of the generation source items included in the plurality of the first transaction data, the generation target item of the second transaction data is the first transaction data. 1 verifying whether or not it is composed of the raw material contained in the originating item of transaction data;
program.
Priority Applications (6)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2022061015A JP7231291B1 (en) | 2022-03-31 | 2022-03-31 | Information processing system, information processing method, server, blockchain node, and program |
| JP2023018759A JP2023152714A (en) | 2022-03-31 | 2023-02-09 | Information processing system, information processing method, server, blockchain node, and program |
| US18/851,672 US20250392484A1 (en) | 2022-03-31 | 2023-03-24 | Information processing system, information processing method, server, block chain node, and program |
| PCT/JP2023/012002 WO2023190249A1 (en) | 2022-03-31 | 2023-03-24 | Information processing system, information processing method, server, blockchain node, and program |
| EP23780259.0A EP4502991A1 (en) | 2022-03-31 | 2023-03-24 | Information processing system, information processing method, server, blockchain node, and program |
| CN202380031527.8A CN118974799B (en) | 2022-03-31 | 2023-03-24 | Information processing system, information processing method, server in information processing system, blockchain node and computer program product |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2022061015A JP7231291B1 (en) | 2022-03-31 | 2022-03-31 | Information processing system, information processing method, server, blockchain node, and program |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2023018759A Division JP2023152714A (en) | 2022-03-31 | 2023-02-09 | Information processing system, information processing method, server, blockchain node, and program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP7231291B1 true JP7231291B1 (en) | 2023-03-01 |
| JP2023151422A JP2023151422A (en) | 2023-10-16 |
Family
ID=85380654
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2022061015A Active JP7231291B1 (en) | 2022-03-31 | 2022-03-31 | Information processing system, information processing method, server, blockchain node, and program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7231291B1 (en) |
Citations (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20190180291A1 (en) | 2016-10-01 | 2019-06-13 | James L. Schmeling | 3d-printed packaging with blockchain integration |
| CN110503438A (en) | 2019-07-10 | 2019-11-26 | 王伟林 | A kind of production anti-fake traceability system and method based on block chain |
| JP2020035436A (en) | 2018-08-01 | 2020-03-05 | 雋名有限公司Smart Brand Limited | Traceability system for pet food |
| JP2020071617A (en) | 2018-10-30 | 2020-05-07 | 株式会社Crypto Garage | Transaction method, program, verifying apparatus and creating method |
| JP2020524924A (en) | 2017-05-23 | 2020-08-20 | マテリアリティックス、エルエルシー | A distributed ledger of physical materials |
| CN112330345A (en) | 2020-12-01 | 2021-02-05 | 宁波旺链信息科技有限公司 | Traceability management system for wine industry supply chain based on block chain |
| JP2021064219A (en) | 2019-10-15 | 2021-04-22 | 株式会社chaintope | Information processing system, information processing method, server, information processing program, and block chain data structure |
| WO2022071365A1 (en) | 2020-10-01 | 2022-04-07 | Green Earth Institute 株式会社 | Usage history management system |
-
2022
- 2022-03-31 JP JP2022061015A patent/JP7231291B1/en active Active
Patent Citations (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20190180291A1 (en) | 2016-10-01 | 2019-06-13 | James L. Schmeling | 3d-printed packaging with blockchain integration |
| JP2020524924A (en) | 2017-05-23 | 2020-08-20 | マテリアリティックス、エルエルシー | A distributed ledger of physical materials |
| JP2020035436A (en) | 2018-08-01 | 2020-03-05 | 雋名有限公司Smart Brand Limited | Traceability system for pet food |
| JP2020071617A (en) | 2018-10-30 | 2020-05-07 | 株式会社Crypto Garage | Transaction method, program, verifying apparatus and creating method |
| CN110503438A (en) | 2019-07-10 | 2019-11-26 | 王伟林 | A kind of production anti-fake traceability system and method based on block chain |
| JP2021064219A (en) | 2019-10-15 | 2021-04-22 | 株式会社chaintope | Information processing system, information processing method, server, information processing program, and block chain data structure |
| WO2022071365A1 (en) | 2020-10-01 | 2022-04-07 | Green Earth Institute 株式会社 | Usage history management system |
| CN112330345A (en) | 2020-12-01 | 2021-02-05 | 宁波旺链信息科技有限公司 | Traceability management system for wine industry supply chain based on block chain |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2023151422A (en) | 2023-10-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8712858B2 (en) | Supplier capability methods, systems, and apparatuses for extended commerce | |
| WO2023095415A1 (en) | Information coordination system for handling information on greenhouse gas emissions, information processing device, and program | |
| CN112184175A (en) | Whole-process project management platform | |
| Sutanto et al. | Product-service system design concept development based on product and service integration | |
| US20190188627A1 (en) | System for creating collaborative project data | |
| CN114693283B (en) | Cross-system business process approval processing method and device and computer equipment | |
| CN112328575B (en) | Data asset lineage generation method, device, and electronic device | |
| AU2011203185A1 (en) | Methods, systems, and apparatuses for extended enterprise commerce | |
| CN112416893B (en) | Data sharing method, system, device, computer equipment and storage medium | |
| JP7231291B1 (en) | Information processing system, information processing method, server, blockchain node, and program | |
| JP6287501B2 (en) | Information processing apparatus and information processing program | |
| US20250184115A1 (en) | Method of managing carbon data using blockchain network and system for the same | |
| WO2023190249A1 (en) | Information processing system, information processing method, server, blockchain node, and program | |
| US20240178988A1 (en) | Performance benchmarking with cascaded decryption | |
| JP7262033B1 (en) | Information processing system, information processing device, information processing method, and information processing program | |
| CN117240605A (en) | Data transaction methods, devices, equipment and storage media | |
| JP2023099052A (en) | Mediation server, mediation method, and program | |
| US20210287234A1 (en) | Tracking manufacturing information | |
| JP2007249873A (en) | Analysis model creation method, analysis model creation program, and analysis model creation device | |
| WO2015190080A1 (en) | Associated information generation device, associated information generation method, and recording medium storing associated information generation program | |
| JP6511749B2 (en) | INFORMATION PROCESSING APPARATUS AND INFORMATION PROCESSING PROGRAM | |
| CN117726076A (en) | Method, device, equipment and medium for determining resource conversion service influence information | |
| CN116452062A (en) | Object rating method, device, computer equipment and storage medium thereof | |
| Rashid et al. | Leveraging Blockchain Technology for Enhanced Data Sharing in Environmental Science | |
| Pan et al. | Mutual dependency grid for stakeholder mapping: a component-based approach to supply chain participant analysis |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220725 |
|
| A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20221019 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20221108 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20221208 |
|
| 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: 20230110 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230209 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7231291 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |




