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

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

▶ 株式会社chaintopeの特許一覧

特許7231291情報処理システム、情報処理方法、サーバ、ブロックチェーンノード、及びプログラム
<>
  • 特許-情報処理システム、情報処理方法、サーバ、ブロックチェーンノード、及びプログラム 図1
  • 特許-情報処理システム、情報処理方法、サーバ、ブロックチェーンノード、及びプログラム 図2
  • 特許-情報処理システム、情報処理方法、サーバ、ブロックチェーンノード、及びプログラム 図3
  • 特許-情報処理システム、情報処理方法、サーバ、ブロックチェーンノード、及びプログラム 図4
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2023-02-20
(45)【発行日】2023-03-01
(54)【発明の名称】情報処理システム、情報処理方法、サーバ、ブロックチェーンノード、及びプログラム
(51)【国際特許分類】
   G09C 1/00 20060101AFI20230221BHJP
   G06Q 10/00 20230101ALI20230221BHJP
   H04L 9/32 20060101ALI20230221BHJP
【FI】
G09C1/00 650Z
G06Q10/00
H04L9/32 200Z
【請求項の数】 13
(21)【出願番号】P 2022061015
(22)【出願日】2022-03-31
【審査請求日】2022-07-25
【早期審査対象出願】
(73)【特許権者】
【識別番号】518182977
【氏名又は名称】株式会社chaintope
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】安土 茂亨
(72)【発明者】
【氏名】正田 英樹
(72)【発明者】
【氏名】村上 照明
(72)【発明者】
【氏名】田中 貴規
【審査官】金沢 史明
(56)【参考文献】
【文献】特開2021-064219(JP,A)
【文献】特開2020-071617(JP,A)
【文献】特開2020-035436(JP,A)
【文献】特表2020-524924(JP,A)
【文献】米国特許出願公開第2019/0180291(US,A1)
【文献】中国特許出願公開第112330345(CN,A)
【文献】中国特許出願公開第110503438(CN,A)
【文献】国際公開第2022/071365(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/32
G09C 1/00
G06Q 10/00
(57)【特許請求の範囲】
【請求項1】
サーバと、複数のブロックチェーンノードと、ユーザが操作する端末と、を含む情報処理システムであって、
複数のユーザ間においてアイテムの取引がされる際に、第1ユーザにより生成対象アイテムが生成され、前記生成対象アイテムの送り元である前記第1ユーザから、前記生成対象アイテムの送り先である第2ユーザへ、前記生成対象アイテムが送られる際に、
前記第1ユーザの操作に応じて、前記第1ユーザが操作する前記端末が、生成対象アイテムの識別情報を表す生成対象アイテム識別データと、生成対象アイテムを生成する際に使用される原料の識別情報である原料識別データと、前記原料の数量を表す数量データと、生成元アイテムの識別情報を表す生成元アイテム識別データとを前記サーバへ送信し、
前記サーバが、
前記原料に対応するパラメータ値と前記数量データとに基づいて、加法準同型性のあるコミットメントスキームを用いた秘密計算をすることにより、前記生成対象アイテムのコミットメント値を計算し、
前記原料識別データと前記生成対象アイテム識別データとの組み合わせを所定のデータ構造へ格納し、
前記ブロックチェーンノードの記憶部に格納されているブロックチェーンに記録されているトランザクションデータであって、かつ前記生成元アイテム識別データと前記生成元アイテムのコミットメント値とがアウトプットデータに含まれているトランザクションデータである第1トランザクションデータを取得し、
前記生成対象アイテムの送り元を表すアドレスと前記生成対象アイテムの送り先を表すアドレスと前記データ構造とを含むトランザクションデータであって、前記生成元アイテム識別データがインプットデータに含まれ、かつ前記生成対象アイテム識別データを含む前記データ構造と前記生成対象アイテムのコミットメント値とがアウトプットデータに含まれる第2トランザクションデータを取得し、前記第2トランザクションデータを、複数のブロックチェーンノードへブロードキャストし、
複数のブロックチェーンノードの各々が、
前記サーバによりブロードキャストされた前記第2トランザクションデータに紐づく過去のトランザクションデータである第1トランザクションデータの各々をブロックチェーンから読み出し、
前記第2トランザクションデータに含まれる前記生成対象アイテムのコミットメント値と、前記第1トランザクションデータに含まれる前記生成元アイテムのコミットメント値との間の関係性に基づいて、前記第2トランザクションデータの前記生成対象アイテムが、前記第1トランザクションデータの前記生成元アイテムに含まれる前記原料によって構成されているか否かを検証し、前記第2トランザクションデータの前記生成対象アイテムが前記第1トランザクションデータの前記原料によって構成されていると判定した場合に、前記第2トランザクションデータを前記ブロックチェーンへ記録し、
前記サーバは、前記生成対象アイテムのコミットメント値を計算する際に、
前記生成対象アイテムには実際には含まれていない原料を表すブラインドファクターに対応するブラインドパラメータ値と予め調整されたランダムな前記ブラインドファクターの数量を表すブラインド数量データとの積和演算の結果を、前記パラメータ値と前記数量データとの積和演算の結果へ加算することにより、前記生成対象アイテムのコミットメント値を計算し、
前記複数のブロックチェーンノードは、前記第2トランザクションデータの前記生成対象アイテムが複数の前記第1トランザクションデータの前記原料によって構成されているか否かを検証する際に、
前記第2トランザクションデータに含まれる前記生成対象アイテムのコミットメント値と前記生成対象アイテムを生成する際に発生する前記原料の余りに相当するコミットメント値との和が、複数の前記第1トランザクションデータに含まれる前記生成元アイテムのコミットメント値の総和と等しい場合に、前記第2トランザクションデータの前記生成対象アイテムが複数の前記第1トランザクションデータの前記原料によって構成されていると判定する、
情報処理システム。
【請求項2】
サーバと、複数のブロックチェーンノードと、ユーザが操作する端末と、を含む情報処理システムであって、
複数のユーザ間においてアイテムの取引がされる際に、第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トランザクションデータの前記生成元アイテムに含まれる前記原料によって構成されているか否かを検証する、
情報処理システム。
【請求項3】
前記サーバは、前記パラメータ値の開示要求を表す要求信号を受け付けた場合、前記要求信号の送信元の端末との間において認証処理を実行し、前記要求信号の送信元の端末が前記パラメータ値の開示について予め許可されている端末である場合に、前記要求信号の送信元の端末へ前記パラメータ値を開示する、
請求項1又は請求項2に記載の情報処理システム。
【請求項4】
サーバと、複数のブロックチェーンノードと、ユーザが操作する端末と、を含む情報処理システムにおける前記サーバであって、
複数のユーザ間においてアイテムの取引がされる際に、第1ユーザにより生成対象アイテムが生成され、前記生成対象アイテムの送り元である前記第1ユーザから、前記生成対象アイテムの送り先である第2ユーザへ、前記生成対象アイテムが送られる際に、
前記第1ユーザの操作に応じて、前記第1ユーザが操作する前記端末が、生成対象アイテムの識別情報を表す生成対象アイテム識別データと、生成対象アイテムを生成する際に使用される原料の識別情報である原料識別データと、前記原料の数量を表す数量データと、生成元アイテムの識別情報を表す生成元アイテム識別データとを前記サーバへ送信し、
前記サーバが、
前記原料に対応するパラメータ値と前記数量データとに基づいて、加法準同型性のあるコミットメントスキームを用いた秘密計算をすることにより、前記生成対象アイテムのコミットメント値を計算し、
前記原料識別データと前記生成対象アイテム識別データとの組み合わせを所定のデータ構造へ格納し、
前記ブロックチェーンノードの記憶部に格納されているブロックチェーンに記録されているトランザクションデータであって、かつ前記生成元アイテム識別データと前記生成元アイテムのコミットメント値とがアウトプットデータに含まれているトランザクションデータである第1トランザクションデータを取得し、
前記生成対象アイテムの送り元を表すアドレスと前記生成対象アイテムの送り先を表すアドレスと前記データ構造とを含むトランザクションデータであって、前記生成元アイテム識別データがインプットデータに含まれ、かつ前記生成対象アイテム識別データを含む前記データ構造と前記生成対象アイテムのコミットメント値とがアウトプットデータに含まれる第2トランザクションデータを取得し、前記第2トランザクションデータを、複数のブロックチェーンノードへブロードキャストし、
複数のブロックチェーンノードの各々が、
前記サーバによりブロードキャストされた前記第2トランザクションデータに紐づく過去のトランザクションデータである第1トランザクションデータの各々をブロックチェーンから読み出し、
前記第2トランザクションデータに含まれる前記生成対象アイテムのコミットメント値と、前記第1トランザクションデータに含まれる前記生成元アイテムのコミットメント値との間の関係性に基づいて、前記第2トランザクションデータの前記生成対象アイテムが、前記第1トランザクションデータの前記生成元アイテムに含まれる前記原料によって構成されているか否かを検証し、前記第2トランザクションデータの前記生成対象アイテムが前記第1トランザクションデータの前記原料によって構成されていると判定した場合に、前記第2トランザクションデータを前記ブロックチェーンへ記録し、
前記サーバは、前記生成対象アイテムのコミットメント値を計算する際に、
前記生成対象アイテムには実際には含まれていない原料を表すブラインドファクターに対応するブラインドパラメータ値と予め調整されたランダムな前記ブラインドファクターの数量を表すブラインド数量データとの積和演算の結果を、前記パラメータ値と前記数量データとの積和演算の結果へ加算することにより、前記生成対象アイテムのコミットメント値を計算し、
前記複数のブロックチェーンノードは、前記第2トランザクションデータの前記生成対象アイテムが複数の前記第1トランザクションデータの前記原料によって構成されているか否かを検証する際に、
前記第2トランザクションデータに含まれる前記生成対象アイテムのコミットメント値と前記生成対象アイテムを生成する際に発生する前記原料の余りに相当するコミットメント値との和が、複数の前記第1トランザクションデータに含まれる前記生成元アイテムのコミットメント値の総和と等しい場合に、前記第2トランザクションデータの前記生成対象アイテムが複数の前記第1トランザクションデータの前記原料によって構成されていると判定する、
サーバ。
【請求項5】
サーバと、複数のブロックチェーンノードと、ユーザが操作する端末と、を含む情報処理システムにおける前記サーバであって、
複数のユーザ間においてアイテムの取引がされる際に、第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トランザクションデータの前記生成元アイテムに含まれる前記原料によって構成されているか否かを検証する、
サーバ。
【請求項6】
サーバと、複数のブロックチェーンノードと、ユーザが操作する端末と、を含む情報処理システムにおける前記ブロックチェーンノードであって、
複数のユーザ間においてアイテムの取引がされる際に、第1ユーザにより生成対象アイテムが生成され、前記生成対象アイテムの送り元である前記第1ユーザから、前記生成対象アイテムの送り先である第2ユーザへ、前記生成対象アイテムが送られる際に、
前記第1ユーザの操作に応じて、前記第1ユーザが操作する前記端末が、生成対象アイテムの識別情報を表す生成対象アイテム識別データと、生成対象アイテムを生成する際に使用される原料の識別情報である原料識別データと、前記原料の数量を表す数量データと、生成元アイテムの識別情報を表す生成元アイテム識別データとを前記サーバへ送信し、
前記サーバが、
前記原料に対応するパラメータ値と前記数量データとに基づいて、加法準同型性のあるコミットメントスキームを用いた秘密計算をすることにより、前記生成対象アイテムのコミットメント値を計算し、
前記原料識別データと前記生成対象アイテム識別データとの組み合わせを所定のデータ構造へ格納し、
前記ブロックチェーンノードの記憶部に格納されているブロックチェーンに記録されているトランザクションデータであって、かつ前記生成元アイテム識別データと前記生成元アイテムのコミットメント値とがアウトプットデータに含まれているトランザクションデータである第1トランザクションデータを取得し、
前記生成対象アイテムの送り元を表すアドレスと前記生成対象アイテムの送り先を表すアドレスと前記データ構造とを含むトランザクションデータであって、前記生成元アイテム識別データがインプットデータに含まれ、かつ前記生成対象アイテム識別データを含む前記データ構造と前記生成対象アイテムのコミットメント値とがアウトプットデータに含まれる第2トランザクションデータを取得し、前記第2トランザクションデータを、複数のブロックチェーンノードへブロードキャストし、
複数のブロックチェーンノードの各々が、
前記サーバによりブロードキャストされた前記第2トランザクションデータに紐づく過去のトランザクションデータである第1トランザクションデータの各々をブロックチェーンから読み出し、
前記第2トランザクションデータに含まれる前記生成対象アイテムのコミットメント値と、前記第1トランザクションデータに含まれる前記生成元アイテムのコミットメント値との間の関係性に基づいて、前記第2トランザクションデータの前記生成対象アイテムが、前記第1トランザクションデータの前記生成元アイテムに含まれる前記原料によって構成されているか否かを検証し、前記第2トランザクションデータの前記生成対象アイテムが前記第1トランザクションデータの前記原料によって構成されていると判定した場合に、前記第2トランザクションデータを前記ブロックチェーンへ記録し、
前記サーバは、前記生成対象アイテムのコミットメント値を計算する際に、
前記生成対象アイテムには実際には含まれていない原料を表すブラインドファクターに対応するブラインドパラメータ値と予め調整されたランダムな前記ブラインドファクターの数量を表すブラインド数量データとの積和演算の結果を、前記パラメータ値と前記数量データとの積和演算の結果へ加算することにより、前記生成対象アイテムのコミットメント値を計算し、
前記複数のブロックチェーンノードは、前記第2トランザクションデータの前記生成対象アイテムが複数の前記第1トランザクションデータの前記原料によって構成されているか否かを検証する際に、
前記第2トランザクションデータに含まれる前記生成対象アイテムのコミットメント値と前記生成対象アイテムを生成する際に発生する前記原料の余りに相当するコミットメント値との和が、複数の前記第1トランザクションデータに含まれる前記生成元アイテムのコミットメント値の総和と等しい場合に、前記第2トランザクションデータの前記生成対象アイテムが複数の前記第1トランザクションデータの前記原料によって構成されていると判定する、
ブロックチェーンノード。
【請求項7】
サーバと、複数のブロックチェーンノードと、ユーザが操作する端末と、を含む情報処理システムにおける前記ブロックチェーンノードであって、
複数のユーザ間においてアイテムの取引がされる際に、第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トランザクションデータの前記生成元アイテムに含まれる前記原料によって構成されているか否かを検証する、
ブロックチェーンノード。
【請求項8】
サーバと、複数のブロックチェーンノードと、ユーザが操作する端末と、を含む情報処理システムが実行する情報処理方法であって、
複数のユーザ間においてアイテムの取引がされる際に、第1ユーザにより生成対象アイテムが生成され、前記生成対象アイテムの送り元である前記第1ユーザから、前記生成対象アイテムの送り先である第2ユーザへ、前記生成対象アイテムが送られる際に、
前記第1ユーザの操作に応じて、前記第1ユーザが操作する前記端末が、生成対象アイテムの識別情報を表す生成対象アイテム識別データと、生成対象アイテムを生成する際に使用される原料の識別情報である原料識別データと、前記原料の数量を表す数量データと、生成元アイテムの識別情報を表す生成元アイテム識別データとを前記サーバへ送信し、
前記サーバが、
前記原料に対応するパラメータ値と前記数量データとに基づいて、加法準同型性のあるコミットメントスキームを用いた秘密計算をすることにより、前記生成対象アイテムのコミットメント値を計算し、
前記原料識別データと前記生成対象アイテム識別データとの組み合わせを所定のデータ構造へ格納し、
前記ブロックチェーンノードの記憶部に格納されているブロックチェーンに記録されているトランザクションデータであって、かつ前記生成元アイテム識別データと前記生成元アイテムのコミットメント値とがアウトプットデータに含まれているトランザクションデータである第1トランザクションデータを取得し、
前記生成対象アイテムの送り元を表すアドレスと前記生成対象アイテムの送り先を表すアドレスと前記データ構造とを含むトランザクションデータであって、前記生成元アイテム識別データがインプットデータに含まれ、かつ前記生成対象アイテム識別データを含む前記データ構造と前記生成対象アイテムのコミットメント値とがアウトプットデータに含まれる第2トランザクションデータを取得し、前記第2トランザクションデータを、複数のブロックチェーンノードへブロードキャストし、
複数のブロックチェーンノードの各々が、
前記サーバによりブロードキャストされた前記第2トランザクションデータに紐づく過去のトランザクションデータである第1トランザクションデータの各々をブロックチェーンから読み出し、
前記第2トランザクションデータに含まれる前記生成対象アイテムのコミットメント値と、前記第1トランザクションデータに含まれる前記生成元アイテムのコミットメント値との間の関係性に基づいて、前記第2トランザクションデータの前記生成対象アイテムが、前記第1トランザクションデータの前記生成元アイテムに含まれる前記原料によって構成されているか否かを検証し、前記第2トランザクションデータの前記生成対象アイテムが前記第1トランザクションデータの前記原料によって構成されていると判定した場合に、前記第2トランザクションデータを前記ブロックチェーンへ記録し、
前記サーバは、前記生成対象アイテムのコミットメント値を計算する際に、
前記生成対象アイテムには実際には含まれていない原料を表すブラインドファクターに対応するブラインドパラメータ値と予め調整されたランダムな前記ブラインドファクターの数量を表すブラインド数量データとの積和演算の結果を、前記パラメータ値と前記数量データとの積和演算の結果へ加算することにより、前記生成対象アイテムのコミットメント値を計算し、
前記複数のブロックチェーンノードは、前記第2トランザクションデータの前記生成対象アイテムが複数の前記第1トランザクションデータの前記原料によって構成されているか否かを検証する際に、
前記第2トランザクションデータに含まれる前記生成対象アイテムのコミットメント値と前記生成対象アイテムを生成する際に発生する前記原料の余りに相当するコミットメント値との和が、複数の前記第1トランザクションデータに含まれる前記生成元アイテムのコミットメント値の総和と等しい場合に、前記第2トランザクションデータの前記生成対象アイテムが複数の前記第1トランザクションデータの前記原料によって構成されていると判定する、
情報処理方法。
【請求項9】
サーバと、複数のブロックチェーンノードと、ユーザが操作する端末と、を含む情報処理システムが実行する情報処理方法であって、
複数のユーザ間においてアイテムの取引がされる際に、第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トランザクションデータの前記生成元アイテムに含まれる前記原料によって構成されているか否かを検証する、
情報処理方法。
【請求項10】
サーバと、複数のブロックチェーンノードと、ユーザが操作する端末と、を含む情報処理システムにおける前記サーバに実行させるためのプログラムであって、
複数のユーザ間においてアイテムの取引がされる際に、第1ユーザにより生成対象アイテムが生成され、前記生成対象アイテムの送り元である前記第1ユーザから、前記生成対象アイテムの送り先である第2ユーザへ、前記生成対象アイテムが送られる際に、
前記第1ユーザの操作に応じて、前記第1ユーザが操作する前記端末が、生成対象アイテムの識別情報を表す生成対象アイテム識別データと、生成対象アイテムを生成する際に使用される原料の識別情報である原料識別データと、前記原料の数量を表す数量データと、生成元アイテムの識別情報を表す生成元アイテム識別データとを前記サーバへ送信し、
前記サーバが、
前記原料に対応するパラメータ値と前記数量データとに基づいて、加法準同型性のあるコミットメントスキームを用いた秘密計算をすることにより、前記生成対象アイテムのコミットメント値を計算し、
前記原料識別データと前記生成対象アイテム識別データとの組み合わせを所定のデータ構造へ格納し、
前記ブロックチェーンノードの記憶部に格納されているブロックチェーンに記録されているトランザクションデータであって、かつ前記生成元アイテム識別データと前記生成元アイテムのコミットメント値とがアウトプットデータに含まれているトランザクションデータである第1トランザクションデータを取得し、
前記生成対象アイテムの送り元を表すアドレスと前記生成対象アイテムの送り先を表すアドレスと前記データ構造とを含むトランザクションデータであって、前記生成元アイテム識別データがインプットデータに含まれ、かつ前記生成対象アイテム識別データを含む前記データ構造と前記生成対象アイテムのコミットメント値とがアウトプットデータに含まれる第2トランザクションデータを取得し、前記第2トランザクションデータを、複数のブロックチェーンノードへブロードキャストし、
複数のブロックチェーンノードの各々が、
前記サーバによりブロードキャストされた前記第2トランザクションデータに紐づく過去のトランザクションデータである第1トランザクションデータの各々をブロックチェーンから読み出し、
前記第2トランザクションデータに含まれる前記生成対象アイテムのコミットメント値と、前記第1トランザクションデータに含まれる前記生成元アイテムのコミットメント値との間の関係性に基づいて、前記第2トランザクションデータの前記生成対象アイテムが、前記第1トランザクションデータの前記生成元アイテムに含まれる前記原料によって構成されているか否かを検証し、前記第2トランザクションデータの前記生成対象アイテムが前記第1トランザクションデータの前記原料によって構成されていると判定した場合に、前記第2トランザクションデータを前記ブロックチェーンへ記録し、
前記サーバは、前記生成対象アイテムのコミットメント値を計算する際に、
前記生成対象アイテムには実際には含まれていない原料を表すブラインドファクターに対応するブラインドパラメータ値と予め調整されたランダムな前記ブラインドファクターの数量を表すブラインド数量データとの積和演算の結果を、前記パラメータ値と前記数量データとの積和演算の結果へ加算することにより、前記生成対象アイテムのコミットメント値を計算し、
前記複数のブロックチェーンノードは、前記第2トランザクションデータの前記生成対象アイテムが複数の前記第1トランザクションデータの前記原料によって構成されているか否かを検証する際に、
前記第2トランザクションデータに含まれる前記生成対象アイテムのコミットメント値と前記生成対象アイテムを生成する際に発生する前記原料の余りに相当するコミットメント値との和が、複数の前記第1トランザクションデータに含まれる前記生成元アイテムのコミットメント値の総和と等しい場合に、前記第2トランザクションデータの前記生成対象アイテムが複数の前記第1トランザクションデータの前記原料によって構成されていると判定する、
プログラム。
【請求項11】
サーバと、複数のブロックチェーンノードと、ユーザが操作する端末と、を含む情報処理システムにおける前記サーバに実行させるためのプログラムであって、
複数のユーザ間においてアイテムの取引がされる際に、第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トランザクションデータの前記生成元アイテムに含まれる前記原料によって構成されているか否かを検証する、
プログラム。
【請求項12】
サーバと、複数のブロックチェーンノードと、ユーザが操作する端末と、を含む情報処理システムにおける前記ブロックチェーンノードに実行させるためのプログラムであって、
複数のユーザ間においてアイテムの取引がされる際に、第1ユーザにより生成対象アイテムが生成され、前記生成対象アイテムの送り元である前記第1ユーザから、前記生成対象アイテムの送り先である第2ユーザへ、前記生成対象アイテムが送られる際に、
前記第1ユーザの操作に応じて、前記第1ユーザが操作する前記端末が、生成対象アイテムの識別情報を表す生成対象アイテム識別データと、生成対象アイテムを生成する際に使用される原料の識別情報である原料識別データと、前記原料の数量を表す数量データと、生成元アイテムの識別情報を表す生成元アイテム識別データとを前記サーバへ送信し、
前記サーバが、
前記原料に対応するパラメータ値と前記数量データとに基づいて、加法準同型性のあるコミットメントスキームを用いた秘密計算をすることにより、前記生成対象アイテムのコミットメント値を計算し、
前記原料識別データと前記生成対象アイテム識別データとの組み合わせを所定のデータ構造へ格納し、
前記ブロックチェーンノードの記憶部に格納されているブロックチェーンに記録されているトランザクションデータであって、かつ前記生成元アイテム識別データと前記生成元アイテムのコミットメント値とがアウトプットデータに含まれているトランザクションデータである第1トランザクションデータを取得し、
前記生成対象アイテムの送り元を表すアドレスと前記生成対象アイテムの送り先を表すアドレスと前記データ構造とを含むトランザクションデータであって、前記生成元アイテム識別データがインプットデータに含まれ、かつ前記生成対象アイテム識別データを含む前記データ構造と前記生成対象アイテムのコミットメント値とがアウトプットデータに含まれる第2トランザクションデータを取得し、前記第2トランザクションデータを、複数のブロックチェーンノードへブロードキャストし、
複数のブロックチェーンノードの各々が、
前記サーバによりブロードキャストされた前記第2トランザクションデータに紐づく過去のトランザクションデータである第1トランザクションデータの各々をブロックチェーンから読み出し、
前記第2トランザクションデータに含まれる前記生成対象アイテムのコミットメント値と、前記第1トランザクションデータに含まれる前記生成元アイテムのコミットメント値との間の関係性に基づいて、前記第2トランザクションデータの前記生成対象アイテムが、前記第1トランザクションデータの前記生成元アイテムに含まれる前記原料によって構成されているか否かを検証し、前記第2トランザクションデータの前記生成対象アイテムが前記第1トランザクションデータの前記原料によって構成されていると判定した場合に、前記第2トランザクションデータを前記ブロックチェーンへ記録し、
前記サーバは、前記生成対象アイテムのコミットメント値を計算する際に、
前記生成対象アイテムには実際には含まれていない原料を表すブラインドファクターに対応するブラインドパラメータ値と予め調整されたランダムな前記ブラインドファクターの数量を表すブラインド数量データとの積和演算の結果を、前記パラメータ値と前記数量データとの積和演算の結果へ加算することにより、前記生成対象アイテムのコミットメント値を計算し、
前記複数のブロックチェーンノードは、前記第2トランザクションデータの前記生成対象アイテムが複数の前記第1トランザクションデータの前記原料によって構成されているか否かを検証する際に、
前記第2トランザクションデータに含まれる前記生成対象アイテムのコミットメント値と前記生成対象アイテムを生成する際に発生する前記原料の余りに相当するコミットメント値との和が、複数の前記第1トランザクションデータに含まれる前記生成元アイテムのコミットメント値の総和と等しい場合に、前記第2トランザクションデータの前記生成対象アイテムが複数の前記第1トランザクションデータの前記原料によって構成されていると判定する、
プログラム。
【請求項13】
サーバと、複数のブロックチェーンノードと、ユーザが操作する端末と、を含む情報処理システムにおける前記ブロックチェーンノードに実行させるためのプログラムであって、
複数のユーザ間においてアイテムの取引がされる際に、第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トランザクションデータの前記生成元アイテムに含まれる前記原料によって構成されているか否かを検証する、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理システム、情報処理方法、サーバ、ブロックチェーンノード、及びプログラムに関する。
【背景技術】
【0002】
従来、移動対象のアイテムのトラッキング情報のデータ量を低減させつつ、アイテムのトラッキング情報をブロックチェーンへ記録する技術が知られている(例えば、特許文献1)。特許文献1に開示されている技術では、サーバが、追跡対象のアイテムの識別情報を含む要求信号を受け付けた場合、要求信号に含まれる識別情報に対応するアイテムの移動を行ったトランザクションデータの系列と、トランザクションデータの系列に対応するアキュムレータの系列とをブロックチェーンから取得する。そして、サーバは、取得したアキュムレータの系列のうちの各アキュムレータに追跡対象のアイテムの識別情報が格納されているか否かの検証を行い、検証結果を出力する。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2021-64219号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、商品又はサービスであるアイテムを利用するユーザは、そのアイテムがどのような要素によって構成されているのか知りたい場合がある。例えば、ある工業製品が製造される場合を考える。なお、工業製品は様々な原料(例えば、レアメタル等)を含んで構成されることが多い。
【0005】
特に、近年では国際連合によって持続可能な開発目標(SDGs:Sustainable Development Goals)が定められ、地球環境に配慮したアイテムの提供が求められている。このため、アイテムを構成する要素が地球環境に配慮したものであるかを検証することができれば、その検証結果をSDGs指標として利用することもできると考えられる。しかし、同種の原料を使った加工品又は工業製品に関しては、その外観等から違いを見分けることは難しい。その一方で、アイテムの原料に関する情報(又はエネルギーが供給された過程に関する情報)が追跡可能な状態となれば、それらの情報に基づく指標の設定、測定、及び評価が可能になり、それらの指標が所定の基準を満たさないアイテムの移動を制限することも可能になる。
【0006】
なお、工業製品が消費者へ供給されるまでには、複数の事業者により原料及び中間素材のサプライチェーンが形成されることが多い。例えば、ある事業者Aは、複数の原料a1,a2,a3を調達し、それらの原料a1,a2,a3から中間素材Mを製造する。次に、事業者Bは、事業者Aから中間素材Mを調達し、その中間素材Mに対して原料b1,b2を添加して中間素材Mを製造する。次に、事業者Cは、事業者Bから中間素材Mを調達し、その中間素材Mと他のいくつかの異なる中間素材とを組み合わせて工業製品Mを製造する。そして、事業者Cから消費者へ工業製品Mが供給される。
【0007】
この場合、例えば、消費者又は品質検査を行う機関等は、工業製品Mに含まれている原料の原産地、リサイクル素材の含有率、精製過程で測定された純度、及び元素又は分子等の成分の配合比率等に関する情報を知りたい場合がある。さらに、消費者又は流通を監督する機関等は、工業製品Mがどのような事業者を経て製造及び供給されたのかに関する情報も知りたい場合がある。また、各事業者も、自らが調達した原料又は部品に関する情報を知りたい場合がある。
【0008】
仮に、このような取引対象のアイテムに関連するデータをブロックチェーン等のネットワーク技術を用いて公開すれば、複数の事業者及び消費者は、取引対象に関連する情報を自由に閲覧することができる。例えば、複数の事業者及び消費者は、ある部品に含まれている原料の原産地、リサイクル素材の含有率、精製過程で測定した純度、及び元素又は分子等の成分の配合比率等に関する情報を閲覧することにより、自らが取得した部品又は中間素材等がどのような原料によって構成されているのかを確認して、自らが出荷する製品の表示に利用することや、自らが目標に設定した基準に適合しない部品又は中間素材等を見分けることに利用することができる。
【0009】
しかし、このようなデータがブロックチェーンに記録され、そのデータが公開されると、不特定多数の第三者がそのデータを自由に閲覧することが可能となる。例えば、ブロックチェーンに記録されそのデータに工業製品を製造する際のノウハウに関するデータが含まれてしまうと、その事業者の競争力が損なわれてしまう可能性がある。
【0010】
例えば、ある特定の事業者は、原料の配合比率に関する情報を競合する事業者には秘密にしたいと考え、その情報は直接取引する契約関係にある事業者へは開示してもよいが契約関係にない第三者へは開示したくない、と考えている場合もある。
【0011】
本発明は、上記の事情を鑑みてなされたもので、アイテムに含まれている原料の数量を秘密にしつつ、アイテムに含まれる原料の取引に不正がないことを検証することを目的とする。
【課題を解決するための手段】
【0012】
上記の目的を達成するために本発明に係る情報処理システムは、サーバと、複数のブロックチェーンノードと、複数の端末とを含む情報処理システムであって、前記端末が、生成対象アイテムの識別情報を表す生成対象アイテム識別データと、生成対象アイテムを生成する際に使用される原料の識別情報である原料識別データと、前記原料の数量を表す数量データと、生成元アイテムの識別情報を表す生成元アイテム識別データとを前記サーバへ送信し、前記サーバが、前記原料に対応するパラメータ値と前記数量データとに基づく秘密計算をすることにより、前記生成対象アイテムのコミットメント値を計算し、前記原料識別データと前記生成対象アイテム識別データとの組み合わせを所定のデータ構造へ格納し、前記ブロックチェーンノードの記憶部に格納されているブロックチェーンに記録されているトランザクションデータであって、かつ前記生成元アイテム識別データがアウトプットデータに含まれているトランザクションデータである第1トランザクションデータを取得し、前記生成対象アイテムの送り元を表すアドレスと前記生成対象アイテムの送り先を表すアドレスと前記データ構造とを含むトランザクションデータであって、前記生成元アイテム識別データがインプットデータに含まれ、かつ前記生成対象アイテム識別データを含む前記データ構造がアウトプットデータに含まれる第2トランザクションデータを、複数のブロックチェーンノードへブロードキャストし、複数のブロックチェーンノードの各々が、前記サーバによりブロードキャストされた前記第2トランザクションデータに紐づく過去のトランザクションデータである第1トランザクションデータの各々をブロックチェーンから読み出し、前記第2トランザクションデータに含まれる前記生成対象アイテムのコミットメント値と、前記第1トランザクションデータに含まれる前記生成元アイテムのコミットメント値との間の関係性に基づいて、前記第2トランザクションデータの前記生成対象アイテムが、前記第1トランザクションデータの前記生成元アイテムに含まれる前記原料によって構成されているか否かを検証し、前記第2トランザクションデータの前記生成対象アイテムが前記第1トランザクションデータの前記原料によって構成されていると判定した場合に、前記第2トランザクションデータを前記ブロックチェーンへ記録する、情報処理システムである。
【0013】
また、本発明のサーバは、サーバと、複数のブロックチェーンノードと、複数の端末とを含む情報処理システムにおける前記サーバであって、前記端末が、生成対象アイテムの識別情報を表す生成対象アイテム識別データと、生成対象アイテムを生成する際に使用される原料の識別情報である原料識別データと、前記原料の数量を表す数量データと、生成元アイテムの識別情報を表す生成元アイテム識別データとを前記サーバへ送信し、前記サーバが、前記原料に対応するパラメータ値と前記数量データとに基づく秘密計算をすることにより、前記生成対象アイテムのコミットメント値を計算し、前記原料識別データと前記生成対象アイテム識別データとの組み合わせを所定のデータ構造へ格納し、前記ブロックチェーンノードの記憶部に格納されているブロックチェーンに記録されているトランザクションデータであって、かつ前記生成元アイテム識別データがアウトプットデータに含まれているトランザクションデータである第1トランザクションデータを取得し、前記生成対象アイテムの送り元を表すアドレスと前記生成対象アイテムの送り先を表すアドレスと前記データ構造とを含むトランザクションデータであって、前記生成元アイテム識別データがインプットデータに含まれ、かつ前記生成対象アイテム識別データを含む前記データ構造がアウトプットデータに含まれる第2トランザクションデータを、複数のブロックチェーンノードへブロードキャストし、複数のブロックチェーンノードの各々が、前記サーバによりブロードキャストされた前記第2トランザクションデータに紐づく過去のトランザクションデータである第1トランザクションデータの各々をブロックチェーンから読み出し、前記第2トランザクションデータに含まれる前記生成対象アイテムのコミットメント値と、前記第1トランザクションデータに含まれる前記生成元アイテムのコミットメント値との間の関係性に基づいて、前記第2トランザクションデータの前記生成対象アイテムが、前記第1トランザクションデータの前記生成元アイテムに含まれる前記原料によって構成されているか否かを検証し、前記第2トランザクションデータの前記生成対象アイテムが前記第1トランザクションデータの前記原料によって構成されていると判定した場合に、前記第2トランザクションデータを前記ブロックチェーンへ記録する、サーバである。
【0014】
また、本発明のブロックチェーンノードは、サーバと、複数のブロックチェーンノードと、複数の端末とを含む情報処理システムにおける前記ブロックチェーンノードであって、前記端末が、生成対象アイテムの識別情報を表す生成対象アイテム識別データと、生成対象アイテムを生成する際に使用される原料の識別情報である原料識別データと、前記原料の数量を表す数量データと、生成元アイテムの識別情報を表す生成元アイテム識別データとを前記サーバへ送信し、前記サーバが、前記原料に対応するパラメータ値と前記数量データとに基づく秘密計算をすることにより、前記生成対象アイテムのコミットメント値を計算し、前記原料識別データと前記生成対象アイテム識別データとの組み合わせを所定のデータ構造へ格納し、前記ブロックチェーンノードの記憶部に格納されているブロックチェーンに記録されているトランザクションデータであって、かつ前記生成元アイテム識別データがアウトプットデータに含まれているトランザクションデータである第1トランザクションデータを取得し、前記生成対象アイテムの送り元を表すアドレスと前記生成対象アイテムの送り先を表すアドレスと前記データ構造とを含むトランザクションデータであって、前記生成元アイテム識別データがインプットデータに含まれ、かつ前記生成対象アイテム識別データを含む前記データ構造がアウトプットデータに含まれる第2トランザクションデータを、複数のブロックチェーンノードへブロードキャストし、複数のブロックチェーンノードの各々が、前記サーバによりブロードキャストされた前記第2トランザクションデータに紐づく過去のトランザクションデータである第1トランザクションデータの各々をブロックチェーンから読み出し、前記第2トランザクションデータに含まれる前記生成対象アイテムのコミットメント値と、前記第1トランザクションデータに含まれる前記生成元アイテムのコミットメント値との間の関係性に基づいて、前記第2トランザクションデータの前記生成対象アイテムが、前記第1トランザクションデータの前記生成元アイテムに含まれる前記原料によって構成されているか否かを検証し、前記第2トランザクションデータの前記生成対象アイテムが前記第1トランザクションデータの前記原料によって構成されていると判定した場合に、前記第2トランザクションデータを前記ブロックチェーンへ記録する、ブロックチェーンノードである。
【0015】
また、本発明の情報処理方法は、サーバと、複数のブロックチェーンノードと、複数の端末とを含む情報処理システムが実行する情報処理方法であって、前記端末が、生成対象アイテムの識別情報を表す生成対象アイテム識別データと、生成対象アイテムを生成する際に使用される原料の識別情報である原料識別データと、前記原料の数量を表す数量データと、生成元アイテムの識別情報を表す生成元アイテム識別データとを前記サーバへ送信し、前記サーバが、前記原料に対応するパラメータ値と前記数量データとに基づく秘密計算をすることにより、前記生成対象アイテムのコミットメント値を計算し、前記原料識別データと前記生成対象アイテム識別データとの組み合わせを所定のデータ構造へ格納し、前記ブロックチェーンノードの記憶部に格納されているブロックチェーンに記録されているトランザクションデータであって、かつ前記生成元アイテム識別データがアウトプットデータに含まれているトランザクションデータである第1トランザクションデータを取得し、前記生成対象アイテムの送り元を表すアドレスと前記生成対象アイテムの送り先を表すアドレスと前記データ構造とを含むトランザクションデータであって、前記生成元アイテム識別データがインプットデータに含まれ、かつ前記生成対象アイテム識別データを含む前記データ構造がアウトプットデータに含まれる第2トランザクションデータを、複数のブロックチェーンノードへブロードキャストし、複数のブロックチェーンノードの各々が、前記サーバによりブロードキャストされた前記第2トランザクションデータに紐づく過去のトランザクションデータである第1トランザクションデータの各々をブロックチェーンから読み出し、前記第2トランザクションデータに含まれる前記生成対象アイテムのコミットメント値と、前記第1トランザクションデータに含まれる前記生成元アイテムのコミットメント値との間の関係性に基づいて、前記第2トランザクションデータの前記生成対象アイテムが、前記第1トランザクションデータの前記生成元アイテムに含まれる前記原料によって構成されているか否かを検証し、前記第2トランザクションデータの前記生成対象アイテムが前記第1トランザクションデータの前記原料によって構成されていると判定した場合に、前記第2トランザクションデータを前記ブロックチェーンへ記録する、情報処理方法である。
【0016】
本発明のプログラムは、サーバと、複数のブロックチェーンノードと、複数の端末とを含む情報処理システムにおける前記サーバに実行させるためのプログラムであって、前記端末が、生成対象アイテムの識別情報を表す生成対象アイテム識別データと、生成対象アイテムを生成する際に使用される原料の識別情報である原料識別データと、前記原料の数量を表す数量データと、生成元アイテムの識別情報を表す生成元アイテム識別データとを前記サーバへ送信し、前記サーバが、前記原料に対応するパラメータ値と前記数量データとに基づく秘密計算をすることにより、前記生成対象アイテムのコミットメント値を計算し、前記原料識別データと前記生成対象アイテム識別データとの組み合わせを所定のデータ構造へ格納し、前記ブロックチェーンノードの記憶部に格納されているブロックチェーンに記録されているトランザクションデータであって、かつ前記生成元アイテム識別データがアウトプットデータに含まれているトランザクションデータである第1トランザクションデータを取得し、前記生成対象アイテムの送り元を表すアドレスと前記生成対象アイテムの送り先を表すアドレスと前記データ構造とを含むトランザクションデータであって、前記生成元アイテム識別データがインプットデータに含まれ、かつ前記生成対象アイテム識別データを含む前記データ構造がアウトプットデータに含まれる第2トランザクションデータを、複数のブロックチェーンノードへブロードキャストし、複数のブロックチェーンノードの各々が、前記サーバによりブロードキャストされた前記第2トランザクションデータに紐づく過去のトランザクションデータである第1トランザクションデータの各々をブロックチェーンから読み出し、前記第2トランザクションデータに含まれる前記生成対象アイテムのコミットメント値と、前記第1トランザクションデータに含まれる前記生成元アイテムのコミットメント値との間の関係性に基づいて、前記第2トランザクションデータの前記生成対象アイテムが、前記第1トランザクションデータの前記生成元アイテムに含まれる前記原料によって構成されているか否かを検証し、前記第2トランザクションデータの前記生成対象アイテムが前記第1トランザクションデータの前記原料によって構成されていると判定した場合に、前記第2トランザクションデータを前記ブロックチェーンへ記録する、プログラムである。
【0017】
本発明のプログラムは、サーバと、複数のブロックチェーンノードと、複数の端末とを含む情報処理システムにおける前記ブロックチェーンノードに実行させるためのプログラムであって、前記端末が、生成対象アイテムの識別情報を表す生成対象アイテム識別データと、生成対象アイテムを生成する際に使用される原料の識別情報である原料識別データと、前記原料の数量を表す数量データと、生成元アイテムの識別情報を表す生成元アイテム識別データとを前記サーバへ送信し、前記サーバが、前記原料に対応するパラメータ値と前記数量データとに基づく秘密計算をすることにより、前記生成対象アイテムのコミットメント値を計算し、前記原料識別データと前記生成対象アイテム識別データとの組み合わせを所定のデータ構造へ格納し、前記ブロックチェーンノードの記憶部に格納されているブロックチェーンに記録されているトランザクションデータであって、かつ前記生成元アイテム識別データがアウトプットデータに含まれているトランザクションデータである第1トランザクションデータを取得し、前記生成対象アイテムの送り元を表すアドレスと前記生成対象アイテムの送り先を表すアドレスと前記データ構造とを含むトランザクションデータであって、前記生成元アイテム識別データがインプットデータに含まれ、かつ前記生成対象アイテム識別データを含む前記データ構造がアウトプットデータに含まれる第2トランザクションデータを、複数のブロックチェーンノードへブロードキャストし、複数のブロックチェーンノードの各々が、前記サーバによりブロードキャストされた前記第2トランザクションデータに紐づく過去のトランザクションデータである第1トランザクションデータの各々をブロックチェーンから読み出し、前記第2トランザクションデータに含まれる前記生成対象アイテムのコミットメント値と、前記第1トランザクションデータに含まれる前記生成元アイテムのコミットメント値との間の関係性に基づいて、前記第2トランザクションデータの前記生成対象アイテムが、前記第1トランザクションデータの前記生成元アイテムに含まれる前記原料によって構成されているか否かを検証し、前記第2トランザクションデータの前記生成対象アイテムが前記第1トランザクションデータの前記原料によって構成されていると判定した場合に、前記第2トランザクションデータを前記ブロックチェーンへ記録する、プログラムである。
【発明の効果】
【0018】
本発明によれば、アイテムに含まれている原料の数量を秘密にしつつ、アイテムに含まれる原料の取引に不正がないことを検証することができる、という効果が得られる。
【図面の簡単な説明】
【0019】
図1】本実施形態の情報処理システムの概略構成の一例を示す図である。
図2】情報処理システムを構成する各装置として機能するコンピュータの概略ブロック図である。
図3】本実施形態の情報処理システムの処理を説明するための説明図である。
図4】本実施形態を説明するための図である。
【発明を実施するための形態】
【0020】
以下、図面を参照して実施形態を詳細に説明する。
【0021】
<情報処理システムのシステム構成>
【0022】
図1は、本実施形態の情報処理システム10を示すブロック図である。図1に示されるように、本実施形態の情報処理システム10は、端末12と、サーバ14と、ブロックチェーンノード16とを含んで構成されている。情報処理システム10の各装置は、例えばインターネット等のネットワーク20によって接続されている。なお、複数のブロックチェーンノード16A,16B,16Cのうちの特定のノードを説明する場合以外は、ブロックチェーンノードを単に「ブロックチェーンノード16」と表記する。また、複数の端末12A,12B,12C,・・・,12Xのうちの特定の端末を説明する場合以外は、端末を単に「端末12」と表記する。
【0023】
なお、図1には、3つのブロックチェーンノードが示されているが、より多くのブロックチェーンノードが含まれていても良い。また、図1には、4つの端末が示されているが、より多くの端末が含まれていても良い。
【0024】
近年、商品又はサービス(以下、単に「アイテム」とも称する。)の生産又は流通の過程で起きた事象の一部を公開するように求められるケースが増加している。例えば、環境問題への取り組みのエビデンスとして、各事業者がアイテムを提供した際の再生エネルギーの利用率、CO排出量、又はそのアイテムに用いられている原料のリサイクル率の数値を公開するように求められる場合もある。
【0025】
現在、このような情報の公開は、一定期間(例えば、1年間)における企業活動の総和として報告されることが多い。その一方で、個々のアイテムに対して明細を付加すれば、それらの情報はアイテムの付加価値とみなすこともできる。また、アイテムに対して明細を付加することにより、そのアイテムが国際社会での流通規制に対して適合していることを証明することも可能となる。
【0026】
そこで、ある事業者U1から別の事業者U2へアイテムXが引き渡され、事業者U2がアイテムXに基づいて新たなアイテムYを製造した場合に、それら一連の事象を1つの取引伝票を表すデータとして表現する場合を考える。そして、取引伝票を表すデータをブロックチェーンへ記録する。取引伝票を表すデータは複数のブロックチェーンノード16A,16B,16Cの記憶部(図示省略)へ格納されるため、ブロックチェーンに記録されたトランザクションデータは公開される。第三者はそのトランザクションデータを閲覧可能となる。これにより、アイテムに明細が付与され、アイテムが製造又は提供される際の一連の情報が公開されることになる。
【0027】
しかし、その一方で、アイテムが製造又は提供される際の情報の中には秘匿しておきたい情報も存在する。例えば、複数の原料を混合させて中間素材を製造している事業者にとっては、原料の混合比率に関する情報は自社のノウハウでもあり、秘匿しておきたいと考えることが想定される。これらのノウハウに関する情報は、各事業者の知的財産でもあるため、各事業者はその知的財産が第三者に無償で公開されるのは避けたいと考えることが一般的である。
【0028】
そこで、本実施形態の情報処理システム10では、アイテムに含まれている原料の数量に関する情報はブロックチェーンに記録せずに、アイテムに含まれている原料の数量を秘密にしつつ、アイテムに含まれる原料の取引に不正がないことを検証する。
【0029】
具体的には、本実施形態の情報処理システム10では、アイテムに含まれている原料の数量を表す数量データと原料毎に設定されたパラメータ値とに基づいて、所定の秘密計算を実行することにより、アイテム毎のコミットメント値を計算する。本実施形態の情報処理システム10では、このコミットメント値をブロックチェーンに記録し、コミットメント値に基づいて各アイテムに含まれる原料の取引に不正がないことを検証する。これにより、アイテムに含まれている原料の数量に関する情報はブロックチェーンに記録せずに、アイテムに含まれている原料の数量を秘密にしつつ、アイテムに含まれる原料の取引に不正がないことを検証することが可能となる。
【0030】
情報処理システム10に含まれる各装置は、CPU(Central Processing Unit)、各処理ルーチンを実現するためのプログラム等を記憶したROM(Read Only Memory)、データを一時的に記憶するRAM(Random Access Memory)、記憶手段としてのメモリ、ネットワークインタフェース等を含んだコンピュータによって実現される。
【0031】
端末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を介して互いに接続される。
【0032】
記憶部73は、Hard Disk Drive(HDD)、solid state drive(SSD)、フラッシュメモリ等によって実現できる。記憶媒体としての記憶部73には、コンピュータ70を機能させるためのプログラムが記憶されている。CPU71は、プログラムを記憶部73から読み出してメモリ72に展開し、プログラムが有するプロセスを順次実行する。
【0033】
<情報処理システム10の作用>
【0034】
次に、本実施形態の情報処理システム10の作用について説明する。本実施形態では、情報処理システム10が、プロダクトCの明細をブロックチェーンへ記録する場合を例に説明する。
【0035】
なお、プロダクトCは、その原料としてコバルトとニッケルとマンガンとを含んで構成されているものとする。以下では、プロダクトA及びプロダクトBから、プロダクトCの原料であるコバルトとニッケルとマンガンとを抽出し、抽出された原料を利用してプロダクトCを生成する場合を例に説明する。なお、プロダクトCが生成される過程において、プロダクトAを構成する原料の一部(又は全部)又はプロダクトBを構成する原料の一部(又は全部)が消費されず、消費されない余りの原料に相当するプロダクトDが生成される場合を例に説明する。このため、プロダクトA,Bは生成元アイテムの一例であり、プロダクトCは生成対象アイテムの一例である。
【0036】
本実施形態では、アイテムであるプロダクトとその原料(例えば、プロダクトCは、原料であるコバルト:5,ニッケル:4,マンガン:9によって構成されている点)との組み合わせが追跡可能となる。なお、その際には、原料の数量データは秘匿される必要がある。その一方で、第三者に対しては、例えば、プロダクトCはプロダクトAとプロダクトBとから生成されていることを証明する必要がある。
【0037】
そこで、本実施形態では、アイテムを構成する原料の数量データを秘匿しつつ、アイテムが適切に製造されていることを証明可能とする。以下、具体的に説明する。
【0038】
端末12を操作するユーザが、生成対象アイテムであるプロダクトCに関する情報を端末12へ入力すると、図3に示されるシーケンスが実行される。
【0039】
ステップS100において、端末12は、ユーザから入力されたアイテムに関する情報を受け付ける。なお、このアイテムに関する情報には、例えば、生成対象のアイテムであるプロダクトCを構成する原料の数量を表す数量データが含まれている。なお、例えば、プロダクトCを構成している原料の数量(又は構成比)は以下であるとする。
【0040】
コバルト:5
ニッケル:4
マンガン:9
【0041】
また、生成元アイテムであるプロダクトAを構成している原料の数量は以下であるとする。
【0042】
コバルト:3
ニッケル:7
マンガン:5
【0043】
また、生成元アイテムであるプロダクトBを構成している原料の数量は以下であるとする。
【0044】
コバルト:4
マンガン:8
【0045】
また、消費されない余りの原料に相当するプロダクトDを構成している原料の数量は以下であるとする。
【0046】
コバルト:2
ニッケル:3
マンガン:4
【0047】
ステップS102において、端末12は、生成対象のプロダクトCの識別情報を表すアイテム識別データ(以下、単に「アイテムID」と称する。)と、生成元のプロダクトAのアイテムIDと、生成元のプロダクトBのアイテムIDと、プロダクトCを構成する原料の識別情報である原料識別データ(以下、単に「原料ID」と称する。)と、プロダクトCを生成する際に消費される原料の数量(又は比率)を表す数量データとを、サーバ14へ送信する。
【0048】
ステップS104において、サーバ14は、ステップS102で端末12から送信されたデータを受信する。また、ステップS104において、サーバ14は、受信した原料IDの原料に対応するパラメータ値と、ブラインドファクターに対応するブラインドパラメータ値Gと、ブラインドパラメータ値Gに対するランダムな係数rとを取得する。ブラインドファクターrGは、プロダクトCには実際には含まれていない仮想的な原料を表すデータである。ブラインドパラメータ値Gに対するランダムな係数rは、ブラインドファクターの数量に対応するブラインド数量データの値でもある。
【0049】
なお、このパラメータ値及びブラインドパラメータ値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が取得される。例えば、各原料のパラメータ値として以下が取得される。
【0050】
コバルト:H
ニッケル:H
マンガン:H
ブラインドパラメータ値:G
【0051】
なお、生成元アイテムであるプロダクトAのコミットメント値Cと、生成元アイテムであるプロダクトBのコミットメント値Cとは、以下の式に従って計算される。r,rは、ブラインドパラメータ値Gに対するランダムな係数である。これらコミットメント値C,Cは、後述するようにブロックチェーンにおける過去のトランザクションデータに記録されている。
【0052】
【数1】
【0053】
ステップS106において、サーバ14は、以下の式に示されているように、各原料に対応するパラメータ値H,H,H及びブラインドパラメータ値Gと、各原料の数量データ及びブラインドパラメータ値Gに対するランダムな係数rとを積和演算する秘密計算を実行することにより、プロダクトCのコミットメント値Cを計算する。
【0054】
【数2】
【0055】
なお、上記のコミットメント値は、離散対数が未知である楕円曲線上の1点に相当する。このため、上記のコミットメント値Cからは、プロダクトCに原料がどれくらい含まれているのかを計算することはできない。
【0056】
また、ステップS106において、サーバ14は、以下の式に示されているように、各原料に対応するパラメータ値H,H,H及びブラインドパラメータ値Gと、各原料の数量データ及びブラインドパラメータ値Gに対するランダムな係数rとを積和演算する秘密計算を実行することにより、プロダクトDのコミットメント値Cを計算する。
【0057】
【数3】
【0058】
なお、ブラインドファクターrGを導入せずにコミットメント値を計算する場合には、異なるアイテムが同一数量の原料又は同一の原料比によって構成されている場合にコミットメント値が同一の値となる。ブラインドファクターrGを導入することにより、異なるアイテムが同一数量の原料又は同一の原料比によって構成されている場合であっても、異なるアイテムのコミットメント値を異なるものとすることが可能となる。
【0059】
また、後述する以下の式(A)を成立させるために、以下の式(B)が満たされるように、ランダムな係数r,r,r,rは予め調整されて設定される。
【0060】
【数4】

(A)

(B)
【0061】
ステップS108において、サーバ14は、プロダクトCのアイテムIDと各原料の原料IDとの組み合わせを、例えば、特開2021-064219号公報に開示されているアキュムレータへ格納する。アキュムレータに各種データが格納されることにより、アイテムのトラッキング情報のデータ量を低減させつつ、アイテムのトラッキング情報をブロックチェーンへ記録することが可能となる。また、サーバ14は、同様に、プロダクトDのアイテムIDと各原料の原料IDとの組み合わせも、所定のデータ構造に格納する。
【0062】
なお、前述したように、サーバ14は、パラメータ値H,H,H及びブラインドパラメータ値Gを設定する。パラメータ値H,H,H及びブラインドパラメータ値Gと、原料の組み合わせに対応する数量データ及びランダムな係数とに基づいて計算されたコミットメント値は、他の原料の組み合わせで計算されたコミットメント値と異なりユニークである。このため、コミットメント値は、識別データとしても利用可能である。コミットメント値を計算する際に使用されたパラメータ値H,H,H及びブラインドパラメータ値Gは、サーバ14の記憶部(図示省略)へ格納され管理される。
【0063】
次に、サーバ14は、ブロックチェーンノード16へアクセスすることにより、生成元のプロダクトAのアイテムIDをアウトプットデータに含むアキュムレータが記録されているトランザクションデータと、生成元のプロダクトBのアイテムIDをアウトプットデータに含むアキュムレータが記録されているトランザクションデータとを取得する。なお、サーバ14は、トランザクションデータに付与されているトランザクションIDに基づき、トランザクションデータを取得する。
【0064】
具体的には、ステップS110において、サーバ14は、生成元のプロダクトAのアイテムIDと生成元のプロダクトBのアイテムIDとをアウトプットデータに含むアキュムレータが記録されているトランザクションデータを取得するために、ブロックチェーンノード16に対して要求信号を送信する。
【0065】
ステップS112において、ブロックチェーンノード16は、上記ステップS110でサーバ14から送信された要求信号を受信すると、プロダクトAのアイテムIDがアウトプット情報として記録されている過去のトランザクションデータと、プロダクトBのアイテムIDがアウトプットデータとして記録されている過去のトランザクションデータとを、サーバ14へ送信する。本実施形態では、このような過去のトランザクションデータを第1トランザクションデータとも称する。
【0066】
ステップS114において、サーバ14は、ブロックチェーンノード16から出力された第1トランザクションデータを取得する。
【0067】
ステップS116において、サーバ14は、生成対象のアイテムであるプロダクトCの送り元を表すアドレスとプロダクトCの送り先を表すアドレスと上記のデータ構造とを含むトランザクションデータである第2トランザクションデータを生成する。
【0068】
具体的には、サーバ14は、第2トランザクションデータのインプットデータに、過去の第1トランザクションデータのアウトプットデータを含める。なお、サーバ14は、過去の第1トランザクションデータに関するブロックチェーン上でのトランザクションIDも、第2トランザクションデータのインプットデータに含めるようにして第2トランザクションデータを生成する。また、サーバ14は、第2トランザクションデータを構成するアウトプットデータに、プロダクトCのアイテムIDと原料IDとコミットメント値とを含める。なお、上述したように、プロダクトCのアイテムIDと原料IDとは、所定のデータ構造であるアキュムレータに格納される。なお、コミットメント値をアキュムレータへ更に格納してもよい。本実施形態では、アイテムIDと原料IDとをアキュムレータへ格納する場合を例に説明するが、アイテムIDと原料IDとをアキュムレータへは格納せずに、そのまま第2トランザクションデータを構成するアウトプットデータに記録するようにしてもよい。
【0069】
なお、上述したように、プロダクトCを生成する過程において、原料の一部(又は全部)が消費されない場合には、消費されない余りの原料に相当するプロダクトDに関するデータもアキュムレータに含ませる。この記録の方法は、インプットデータが表す原料とアウトプットデータが表す原料との間の保存則を1つのトランザクションデータ内において表現する実装例の1つである。他の方法としては、生成対象のアイテムを生成する際に発生した余りの原料である廃棄物を別のブロックチェーンに記録し、異なるブロックチェーンの間で参照する実装例も考えられる。
【0070】
図4に、トランザクションデータのデータ構造を説明するための図を示す。図4に示されているように、トランザクションデータTX2には、プロダクトの送り元を表すアドレスとプロダクトの送り先を表すアドレスが含まれている。
【0071】
さらに、図4に示されているように、トランザクションデータTX2のインプットデータには、過去のトランザクションデータTX1-1のアウトプットデータと、過去のトランザクションデータTX1-2のアウトプットデータとが含まれている。
【0072】
一方で、図4に示されているように、トランザクションデータTX2のアウトプットデータには、生成対象のプロダクトCのアイテムIDと原料IDとを含むアキュムレータが含まれている。さらに、このアキュムレータには、余りの原料により生成されるプロダクトDのアイテムID及び原料IDも含まれている。また、生成元アイテムのトランザクションデータであるトランザクションデータTX1-1とトランザクションデータTX1-2のアウトプットデータには、過去に生成対象であったプロダクトA,BのアイテムIDと原料IDとが格納されているアキュムレータが含まれている。
【0073】
ステップS118において、サーバ14は、ステップS118で生成された第2トランザクションデータを、複数のブロックチェーンノード16へブロードキャストする。
【0074】
ステップS120において、複数のブロックチェーンノード16の各々は、第2トランザクションデータを受信する。ステップS120において、複数のブロックチェーンノード16の各々は、第2トランザクションデータに紐づく過去のトランザクションデータである第1トランザクションデータの各々をブロックチェーンから読み出す。具体的には、複数のブロックチェーンノード16の各々は、第2トランザクションデータに含まれている、過去の第1トランザクションデータに関するブロックチェーン上での識別データに基づいて、所定のプロトコルに則り、ブロックチェーンから第1トランザクションデータの各々を読み出す。
【0075】
ステップS122において、複数のブロックチェーンノード16の各々は、第2トランザクションデータTX2に含まれるプロダクトCのコミットメント値C及び余りのプロダクトDのコミットメント値Cと、第1トランザクションデータTX1-1に含まれるプロダクトAのコミットメント値C及び第1トランザクションデータTX1-2に含まれるプロダクトBのコミットメント値Cとの間の関係性に基づいて、第2トランザクションデータTX2の生成対象アイテムであるプロダクトCが、第1トランザクションデータTX1-1,TX1-2の生成元アイテムであるプロダクトA,Bの原料によって構成されているか否かを検証する。
【0076】
上述したように、Pedersen commitmentによって各パラメータ値及びブラインドファクターが生成されている場合には、第2トランザクションデータ内のインプットデータに含まれる過去のトランザクションデータのコミットメント値と、アウトプットデータに含まれるコミットメント値とが等しくなるはずである。このため、例えば、第2トランザクションデータ内のインプットデータに含まれるコミットメント値の総和と、第2ランザクションデータ内のアウトプットデータ含まれるコミットメント値の総和とが等しくない場合には、生成対象のアイテムは何らかの事情により適切に生成されていないことになる。
【0077】
このため、複数のブロックチェーンノード16の各々は、第1トランザクションデータ内のアウトプットデータに含まれるコミットメント値の総和(第2トランザクションデータ内のインプットデータに含まれるコミットメント値の総和)と、第2トランザクションデータ内のアウトプットデータ含まれるコミットメント値の総和とが等しい場合に、第2トランザクションデータをブロックチェーンへ記録する。
【0078】
一方、複数のブロックチェーンノード16の各々は、第1トランザクションデータ内のアウトプットデータに含まれるコミットメント値の総和(第2トランザクションデータ内のインプットデータに含まれるコミットメント値の総和)と、第2トランザクションデータ内のアウトプットデータ含まれるコミットメント値の総和とが等しくない場合には、第2トランザクションデータをブロックチェーンへ記録せずに破棄する。
【0079】
なお、例えば、アウトプットデータに複数のアイテムIDが含まれている場合には、トランザクションデータのアウトプットデータに含まれている複数のコミットメント値の合計値がブロックチェーン上において公開される。
【0080】
具体的には、複数のブロックチェーンノード16の各々は、以下の計算式に示されているように、第2トランザクションデータTX2に含まれるプロダクトCのコミットメント値CとプロダクトCを生成する際に発生する原料の余りに相当するコミットメント値Cとの和が、複数の第1トランザクションデータTX1-1,TX-2に含まれる原料のコミットメント値の総和(CとCとの和)と等しい場合に、第2トランザクションデータTX2のプロダクトCが複数の第1トランザクションデータTX1-1,TX-2の原料によって構成されていると判定する。
【0081】
【数5】
【0082】
ステップS124において、複数のブロックチェーンノード16の各々は、第2トランザクションデータTX2のプロダクトCが、第1トランザクションデータTX1-1,TX-2の原料によって構成されていると判定した場合に、第2トランザクションデータTX2をブロックチェーンへ記録する。
【0083】
なお、トランザクションデータに記載されるコミットメント値によっては、各ブロックチェーンノード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)などの証明スキームを利用できる。
【0084】
なお、サーバ14は、原料IDに対応するパラメータ値の開示要求を表す要求信号を端末12から受け付けた場合、要求信号の送信元の端末12との間において認証処理を実行する。そして、サーバ14は、要求信号の送信元の端末12が、パラメータ値の開示について予め許可されている端末である場合に、要求信号の送信元の端末12へパラメータ値を開示する。この端末12は、開示されたパラメータ値と、トランザクションデータに記録されているコミットメント値とに基づいて、プロダクトCが適切に製造されたものであるか否かを検証する。
【0085】
例えば、生成対象のプロダクトCを受け取ったユーザは、プロダクトCが適切な原料に基づいて製造されたのか否かを確かめるために、ブロックチェーンに記録されているコミットメント値を用いてデコミットを実施する。
【0086】
なお、コミットメント値の計算にPedersen commitmentを用いた場合には、以下の手順に従ってデコミットが実施され得る。
【0087】
具体的には、例えば、プロダクトCを受け取ったユーザ又は第三者であるユーザが操作する端末12Xは、ユーザの操作に応じてサーバ14に対して所定の要求信号を送信する。サーバ14は、要求信号に応答して、上述した認証処理を経て、パラメータ値H,H,Hと、原料の数量データ(コバルト:5、ニッケル:4、マンガン:9)と、ブラインドファクターrGとを、当該ユーザが操作する端末12Xへ送信する。また、端末12Xは、ブロックチェーンノード16へアクセスし、第2トランザクションデータに記録されているプロダクトCのコミットメント値Cを取得する。
【0088】
端末12Xは、パラメータ値H,H,Hと、原料の数量データ(コバルト:5、ニッケル:4、マンガン:9)と、ブラインドファクターrGと、ブロックチェーンに記録されている第2トランザクションデータのコミットメント値Cとに基づいて、既知のデコミット方法を用いて、プロダクトCはプロダクトA,Bから適切に製造されたものか否かを表す検証結果を生成する。端末12Xは、第2トランザクションデータに記録されているプロダクトCのコミットメント値Cが原料の数量データに基づいて算出されており、かつ、プロダクトCがプロダクトA,Bから適切に製造されたもの(以下、単に「プロダクトCが適切に生成」と称する)である場合には、その旨の検証結果を表示部(図示省略)へ表示する。一方、端末12Xは、プロダクトCが適切に生成されたものでない場合には、その旨の検証結果を表示部(図示省略)へ表示する。
【0089】
なお、プロダクトCを受け取ったユーザは、プロダクトCを生成したユーザからプロダクトCの成分表等を受け取っている可能性が高い。そのため、プロダクトCを受け取ったユーザが操作する端末12Xは、成分表等に記録されている原料の数量データ(コバルト:5、ニッケル:4、マンガン:9)と、パラメータ値H,H,Hと、ブラインドファクターrGとに基づいて、プロダクトCのコミットメント値C’を自ら計算することも可能である。このため、プロダクトCを受け取ったユーザが操作する端末12Xは、自ら計算したコミットメント値C’とブロックチェーンに記録されているコミットメント値Cとを比較して、プロダクトCが適切に生成されたものか否かを表す検証結果を生成するようにしてもよい。
【0090】
なお、ブラインドファクターrGに関しては、プロダクトCを受け取るユーザが操作する端末12Xが生成し、生成した各値をサーバ14へ送信するようにしてもよい。この場合には、ステップS104において、プロダクトCを受け取るユーザが操作する端末12XがブラインドファクターrGをサーバ14へ送信する。
【0091】
また、ブラインドファクターrGを端末12Xへは開示せずに、既知のデコミット方法を用いて、各コミットメント値からブラインドファクターrGを減算した減算値と、ブラインドファクターrGから生成したデジタル署名とに基づいて、プロダクトCが適切に生成されたものか否かを表す検証結果を生成することもできる。
【0092】
なお、コミットメント値の計算にKZG commitment(例えば、https://www.iacr.org/archive/asiacrypt2010/6477178/6477178.pdfを参照。)を用いることも可能である。Pedersen commitmentを利用した場合、デコミットする際は、コミットメント値に含まれる原料の数量データを公開する必要がある。これに対し、多項式を利用したコミットメントスキームであるKZG commitmentを利用すると、一部の原料の数量データのみを公開することも可能である。
【0093】
なお、上述した例では、Pedersen commitment及びKZG commitmentをコミットメント値の計算に利用する場合を例に説明したが、加法準同型性のあるコミットメントスキームであればどのようなコミットメントスキームであっても利用することができる。
【0094】
以上説明したように、本実施形態に係る情報処理システムの端末が、生成対象アイテムの識別情報を表す生成対象アイテム識別データと、生成対象アイテムを生成する際に使用される原料の識別情報である原料識別データと、原料の数量を表す数量データと、生成元アイテムの識別情報を表す生成元アイテム識別データとをサーバへ送信する。サーバは、原料に対応するパラメータ値と数量データとに基づく秘密計算をすることにより、生成対象アイテムのコミットメント値を計算する。サーバは、コミットメント値と原料識別データと生成対象アイテム識別データとの組み合わせを所定のデータ構造へ格納する。サーバは、ブロックチェーンノードの記憶部に格納されているブロックチェーンに記録されているトランザクションデータであって、かつ生成元アイテム識別データがアウトプットデータに含まれているトランザクションデータである第1トランザクションデータを取得する。そして、サーバは、生成対象アイテムの送り元を表すアドレスと生成対象アイテムの送り先を表すアドレスとデータ構造とを含むトランザクションデータであって、生成元アイテム識別データがインプットデータに含まれ、かつ生成対象アイテム識別データを含むデータ構造がアウトプットデータに含まれる第2トランザクションデータを、複数のブロックチェーンノードへブロードキャストする。複数のブロックチェーンノードの各々は、サーバによりブロードキャストされた第2トランザクションデータに紐づく過去のトランザクションデータである第1トランザクションデータの各々をブロックチェーンから読み出す。複数のブロックチェーンノードの各々は、第2トランザクションデータに含まれる生成対象アイテムのコミットメント値と、第1トランザクションデータに含まれる生成元アイテムのコミットメント値との間の関係性に基づいて、第2トランザクションデータのアイテムが、第1トランザクションデータの生成元アイテムに含まれる原料によって構成されているか否かを検証し、第2トランザクションデータの生成対象アイテムが第1トランザクションデータの原料によって構成されていると判定した場合に、第2トランザクションデータをブロックチェーンへ記録する。これにより、アイテムに含まれている原料の数量を秘密にしつつ、アイテムに含まれる原料の取引に不正がないことを検証することができる。
【0095】
また、アイテムのコミットメント値を計算する際に、ブラインドファクターrGを導入することにより、異なるアイテムのコミットメント値が同一の値となることを防止することができる。
【0096】
なお、本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【0097】
例えば、アイテムとしては現実物に限らず特定のデータも含まれる。
【0098】
また、上記実施形態では、コミットメント値を計算する際に、ブラインドファクターrGを導入する場合を例に説明したが、これに限定されるものではない。ブラインドファクターrGを導入せずに、コミットメント値を計算するようにしてもよい。
【0099】
また、上記実施形態では、上記式(B)が満たされるように、ランダムな係数r,r,r,rは予め調整される場合を例に説明したが、これに限定されるものではない。ランダムな係数r,r,r,rが上記式(B)を満たさない場合には、以下の式の右辺に相当する値に対してデジタル署名を付加することにより、既知の手法を用いて、生成対象のプロダクトが生成元のプロダクトから適切に製造されているか否かを検証することもできる。
【0100】
【数6】
【0101】
この場合には、上述したように、サーバ14は、生成対象のプロダクトCのコミットメント値を計算する際に、ブラインドファクターrGを用いて生成対象のプロダクトCのコミットメント値Cを計算する。そして、サーバ14は、第2トランザクションデータに含まれる生成対象のプロダクトCのコミットメント値Cと、原料の余りに相当するコミットメント値Cとの和(C+C)と、複数の第1トランザクションデータに含まれる生成元のプロダクトA,Bのコミットメント値の総和(C+C)との間の差分を表す情報に対して、サーバ14のデジタル署名を生成し、そのデジタル署名を第2トランザクションデータへ追加する。これにより、(C+C)-(C+C)の演算結果が0とならない場合であっても、その演算結果にはデジタル署名が付加されているため、そのデジタル署名を元に生成対象のプロダクトが生成元のプロダクトから適切に製造されているか否かを検証することができる。
【0102】
また、上記実施形態では、プロダクトCを生成する際に消費されない余りの原料に相当するプロダクトDが生成される場合を例に説明したが、これに限定されるものではなく、余りの原料が発生しない場合であっても本実施形態を適用することが可能である。
【0103】
また、上記実施形態では、サーバ14が各種処理を実行する場合を例に説明したが、それらの各種処理の一部又は全部を、端末12又はブロックチェーンノード16が実行するようにしてもよい。
【0104】
また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能である。例えば、プログラムは、CD-ROM(Compact Disk Read Only Memory)、DVD-ROM(Digital Versatile Disk Read Only Memory)、及びUSB(Universal Serial Bus)メモリ等の非一時的(non-transitory)記憶媒体に記憶された形態で提供されてもよい。また、プログラムは、ネットワークを介して外部装置からダウンロードされる形態としてもよい。
【0105】
なお、上記実施形態で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との組み合わせ等)で実行してもよい。また、これらの各種のプロセッサのハードウェア的な構造は、より具体的には、半導体素子等の回路素子を組み合わせた電気回路である。
【0106】
また、本実施形態の各処理を、汎用演算処理装置及び記憶装置等を備えたコンピュータ又はサーバ等により構成して、各処理がプログラムによって実行されるものとしてもよい。このプログラムは記憶装置に記憶されており、磁気ディスク、光ディスク、半導体メモリ等の記録媒体に記録することも、ネットワークを通して提供することも可能である。もちろん、その他いかなる構成要素についても、単一のコンピュータやサーバによって実現しなければならないものではなく、ネットワークによって接続された複数のコンピュータに分散して実現してもよい。
【0107】
本明細書に記載された全ての文献、特許出願、および技術規格は、個々の文献、特許出願、および技術規格が参照により取り込まれることが具体的かつ個々に記された場合と同程度に、本明細書中に参照により取り込まれる。
【0108】
なお、上記実施形態においては、「××のみに基づいて」、「××のみに応じて」、「××のみの場合」というように「のみ」との記載がなければ、本明細書においては、付加的な情報も考慮し得ることが想定されていることに留意されたい。一例として、「aの場合にbする」という記載は、明示した場合を除き、「aの場合に常にbする」ことを必ずしも意味しない。
【0109】
また、何らかの方法、プログラム、端末、装置、サーバ又はシステム(以下「方法等」)において、本明細書で記述された動作と異なる動作を行う側面があるとしても、開示の技術の各態様は、本明細書で記述された動作のいずれかと同一の動作を対象とするものであり、本明細書で記述された動作と異なる動作が存在することは、当該方法等を本開示の技術の各態様の範囲外とするものではない。
【符号の説明】
【0110】
10 情報処理システム
12,12A,12B,12C,12X 端末
14 サーバ
16,16A,16B,16C ブロックチェーンノード
20 ネットワーク
70 コンピュータ
72 メモリ
73 記憶部
【要約】
【課題】アイテムに含まれている原料の数量を秘密にしつつ、アイテムに含まれる原料の取引に不正がないことを検証する。
【解決手段】情報処理システム10は、サーバ14と、複数のブロックチェーンノード16と、複数の端末12とを含む。複数のブロックチェーンノード16の各々は、サーバ14によりブロードキャストされた第2トランザクションデータに紐づく過去のトランザクションデータである第1トランザクションデータの各々をブロックチェーンから読み出す。複数のブロックチェーンノード16の各々は、第2トランザクションデータに含まれる生成対象アイテムのコミットメント値と、第1トランザクションデータに含まれる生成元アイテムのコミットメント値との間の関係性に基づいて、第2トランザクションデータのアイテムが、第1トランザクションデータの生成元アイテムに含まれる原料によって構成されているか否かを検証する。
【選択図】図1
図1
図2
図3
図4