JP2019211821A - 情報処理装置、情報処理方法、およびプログラム - Google Patents

情報処理装置、情報処理方法、およびプログラム Download PDF

Info

Publication number
JP2019211821A
JP2019211821A JP2018104546A JP2018104546A JP2019211821A JP 2019211821 A JP2019211821 A JP 2019211821A JP 2018104546 A JP2018104546 A JP 2018104546A JP 2018104546 A JP2018104546 A JP 2018104546A JP 2019211821 A JP2019211821 A JP 2019211821A
Authority
JP
Japan
Prior art keywords
data
block
transaction
information
information processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2018104546A
Other languages
English (en)
Inventor
薫 松永
Kaoru Matsunaga
薫 松永
片山 健
Takeshi Katayama
健 片山
康之 加藤
Yasuyuki Kato
康之 加藤
佐々木大輔
Daisuke Sasaki
大輔 佐々木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2018104546A priority Critical patent/JP2019211821A/ja
Priority to PCT/JP2019/020363 priority patent/WO2019230540A1/ja
Priority to EP19812010.7A priority patent/EP3805970A4/en
Priority to US17/057,889 priority patent/US20210203478A1/en
Priority to CN201980034639.2A priority patent/CN112166426A/zh
Publication of JP2019211821A publication Critical patent/JP2019211821A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • G06F21/645Protecting data integrity, e.g. using checksums, certificates or signatures using a third party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/02Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • G06Q20/0658Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash e-cash managed locally
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q2220/00Business processing using cryptography
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Abstract

【課題】ブロックチェーンに登録されたデータの一部を削除することを可能にする。【解決手段】直前のブロックに含まれた少なくとも一部のデータである第1のデータと関連付けられた第1の関連データと、前記直前のブロックに含まれたデータであって、前記第1のデータとは異なる第2のデータを少なくとも含むデータと関連付けられた第2の関連データと、を含み、ブロックチェーンに連結されるブロックを生成するブロック生成部を備える、情報処理装置が提供される。【選択図】図7

Description

本開示は、情報処理装置、情報処理方法、およびプログラムに関する。
近年、ブロックチェーンを使用するサービスが盛んに開発されている。例えば、仮想通貨の授受にブロックチェーンを使用するBitcoin等が挙げられる。ブロックチェーンは、登録データの改ざんなどを防ぎ、複数事業者によるノードの相互監視効果によって登録データを高い信頼度で保存することができる。
例えば、以下の特許文献1には、ブロックチェーン生成装置を用いる生成者の識別子に関連するトランザクションデータを用いて当該生成者が新たなブロックを生成可能な資格を有するか否かを判定し、当該判定結果に基づいて新たなブロックの生成を制御する技術が開示されている。
特開2017−91148号公報
ここで、ブロックチェーンは、基本的に全てのデータを削除することなく保持し続けることによってブロックチェーンに登録されているデータの真正性を担保する。そのため、ブロックチェーンの運用期間が長くなるほど、ブロックチェーン全体のデータサイズが莫大になり、それによって、莫大な情報処理リソースが消費される可能性がある。
そこで、本開示は上記に鑑みてなされたものであり、本開示は、ブロックチェーンに登録されたデータの一部を削除することが可能な、新規かつ改良された情報処理装置、情報処理方法、およびプログラムを提供する。
本開示によれば、直前のブロックに含まれた少なくとも一部のデータである第1のデータと関連付けられた第1の関連データと、前記直前のブロックに含まれたデータであって、前記第1のデータとは異なる第2のデータを少なくとも含むデータと関連付けられた第2の関連データと、を含み、ブロックチェーンに連結されるブロックを生成するブロック生成部を備える、情報処理装置が提供される。
また、本開示によれば、直前のブロックに含まれた少なくとも一部のデータである第1のデータと関連付けられた第1の関連データと、前記直前のブロックに含まれたデータであって、前記第1のデータとは異なる第2のデータを少なくとも含むデータと関連付けられた第2の関連データと、を含み、ブロックチェーンに連結されるブロックを生成すること、を有する、コンピュータにより実行される情報処理方法が提供される。
また、本開示によれば、直前のブロックに含まれた少なくとも一部のデータである第1のデータと関連付けられた第1の関連データと、前記直前のブロックに含まれたデータであって、前記第1のデータとは異なる第2のデータを少なくとも含むデータと関連付けられた第2の関連データと、を含み、ブロックチェーンに連結されるブロックを生成することをコンピュータに実現させるためのプログラムが提供される。
また、本開示によれば、直前のブロックに含まれた少なくとも一部のデータである第1のデータと関連付けられた第1の関連データと、前記直前のブロックに含まれたデータであって、前記第1のデータとは異なる第2のデータを少なくとも含むデータと関連付けられた第2の関連データと、を含み、ブロックチェーンに連結された一部のブロックから前記第2のデータの少なくとも一部を削除するデータ削除部を備える、情報処理装置が提供される。
また、本開示によれば、直前のブロックに含まれた少なくとも一部のデータである第1のデータと関連付けられた第1の関連データと、前記直前のブロックに含まれたデータであって、前記第1のデータとは異なる第2のデータを少なくとも含むデータと関連付けられた第2の関連データと、を含み、ブロックチェーンに連結された一部のブロックから前記第2のデータの少なくとも一部を削除すること、を有する、コンピュータにより実行される情報処理方法が提供される。
また、本開示によれば、直前のブロックに含まれた少なくとも一部のデータである第1のデータと関連付けられた第1の関連データと、前記直前のブロックに含まれたデータであって、前記第1のデータとは異なる第2のデータを少なくとも含むデータと関連付けられた第2の関連データと、を含み、ブロックチェーンに連結された一部のブロックから前記第2のデータの少なくとも一部を削除することをコンピュータに実現させるためのプログラムが提供される。
以上説明したように本開示によれば、ブロックチェーンに登録されたデータの一部を削除することが可能になる。
なお、上記の効果は必ずしも限定的なものではなく、上記の効果とともに、または上記の効果に代えて、本明細書に示されたいずれかの効果、または本明細書から把握され得る他の効果が奏されてもよい。
ブロックチェーンの概要を説明するための図である。 ブロックチェーンの概要を説明するための図である。 ブロックチェーンの概要を説明するための図である。 ブロック生成装置100によって生成されるブロックの具体例を示す図である。 データ削除装置200による、ブロックチェーンに登録されたデータの削除の具体例を示す図である。 本開示が物流システムに適用された場合のイメージを示す図である。 データ削除装置200による、ブロックチェーンに登録されたデータの削除の具体例を示す図である。 データ削除装置200による、ブロックチェーンに登録されたデータの削除の具体例を示す図である。 データ削除装置200による、ブロックチェーンに登録されたデータの削除の具体例を示す図である。 本実施形態に係る情報処理システムの構成例を示す図である。 トランザクション生成装置300の機能構成例を示すブロック図である。 ブロック生成装置100の機能構成例を示すブロック図である。 権限情報と位置情報に基づいて生成可能なトランザクションデータの種類の具体例を示す図である。 データ削除装置200の機能構成例を示すブロック図である。 権限情報と位置情報に基づいて削除可能なトランザクションデータの種類の具体例を示す図である。 トランザクション生成装置300によるトランザクションデータの生成処理の具体例を示すフローチャートである。 ブロック生成装置100によるブロックの生成処理の具体例を示すフローチャートである。 ブロック生成装置100によるブロックの生成処理の具体例を示すフローチャートである。 データ削除装置200による第2のデータの削除処理の具体例を示すフローチャートである。 変形例に係る第2の関連データの態様を示す図である。 変形例に係る第2の関連データの態様を示す図である。 変形例に係る第2の関連データの態様を示す図である。 ブロック生成装置100、データ削除装置200、またはトランザクション生成装置300を具現する情報処理装置900のハードウェア構成例を示すブロック図である。
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
なお、説明は以下の順序で行うものとする。
1.ブロックチェーンの概要
2.実施形態
2.1.本開示の概要
2.2.情報処理システムの概要
2.3.トランザクション生成装置300の機能構成例
2.4.ブロック生成装置100の機能構成例
2.5.データ削除装置200の機能構成例
2.6.処理フロー例
3.変形例
4.ハードウェア構成例
5.まとめ
<1.ブロックチェーンの概要>
本実施形態に係る情報処理システムでは、ピアツーピアネットワーク(「ピアツーピア型分散ファイルシステム」とも呼称される)に流通している分散型のピアツーピアデータベースの一種であるブロックチェーンが利用される。よって本開示の一実施形態について説明する前に、まず、ブロックチェーンの概要について説明する。
図1に示すように、ブロックチェーンは、複数のブロックがあたかも鎖のように連なって含まれるデータである。それぞれのブロックには、1または2以上のデータが、トランザクションデータ(図中では、トランザクションデータ1〜トランザクションデータn)として格納され得る。
ブロックチェーンとしては、例えば、Bitcoin等の仮想通貨のデータの授受に用いられるブロックチェーンが挙げられる。仮想通貨のデータの授受に用いられるブロックチェーンには、例えば、直前のブロックのハッシュと、ナンスと呼ばれる値が含まれる。直前のブロックのハッシュは、直前のブロックから正しく連なる、「正しいブロック」であるか否かを判定するために用いられる情報である。ナンスは、ハッシュを用いた認証においてなりすましを防ぐために用いられる情報であり、ナンスを用いることによって改ざんが防止される。ナンスとしては、例えば、文字列、数字列、あるいは、これらの組み合わせを示すデータ等が挙げられる。
また、ブロックチェーンでは、各トランザクションデータに暗号鍵を用いた電子署名が付与されることによって、なりすましが防止される。また、各トランザクションデータは公開され、ブロックチェーンネットワーク全体で共有される。なお、各トランザクションデータは暗号鍵を用いて暗号化されてもよい。
図2は、ブロックチェーンシステムにおいて、トランザクションデータに含まれる対象データ(例えば、Bitcoinにおけるcoin)がユーザAによって登録される様子を示す図である。ユーザAは、ブロックチェーンに登録する対象データに対して、ユーザAの秘密鍵を用いて生成された電子署名を付する。そしてユーザAは、電子署名が付された対象データを含むトランザクションデータをブロックチェーンネットワーク上にブロードキャストする。これによって、対象データの保有者がユーザAであることが担保される。
図3は、ブロックチェーンシステムにおいて、対象データがユーザAからユーザBに移行される様子を示す図である。ユーザAは、ユーザAの秘密鍵を用いて生成した電子署名をトランザクションデータに付し、当該トランザクションデータにユーザBの公開鍵を含める。これにより、対象データがユーザAからユーザBに移行されたことが示される。また、ユーザBは、対象データの取引に際して、ユーザAの公開鍵をユーザAから取得し、電子署名が付された、または暗号化された対象データを取得してもよい。
また、ブロックチェーンシステムでは、例えばサイドチェイン技術を利用することによって、Bitcoinのブロックチェーンなどの、既存の仮想通貨データの授受に用いられるブロックチェーンに、仮想通貨とは異なる他の対象データを含めることも可能である。
<2.実施形態>
(2.1.本開示の概要)
続いて、本開示の概要について説明する。
上記のとおり、ブロックチェーンは、基本的に全てのデータを削除することなく保持し続けることによってブロックチェーンに登録されているデータの真正性を担保する。より具体的には、ブロックチェーンにおける各ブロックには、直前のブロックのハッシュが登録されることによって各ブロックが互いに関連付けられる。そして、あるブロックに含まれるトランザクションデータが削除されたり改ざんされたりした場合には当該ブロックのハッシュが変わり、直後のブロックに含まれるハッシュとの整合性が失われるため、トランザクションデータの削除および改ざんの検出が可能となる。一方で、ブロックチェーン全体の整合性を保つために一度ブロックチェーンに登録されたデータを削除することは困難である。そのため、ブロックチェーンの運用期間が長くなるほど、ブロックチェーン全体のデータサイズが莫大になり、それによって、莫大な情報処理リソースが消費される可能性がある。
ここで、別の観点から考えてみると、各種情報処理システムで保持される各種データのうち、全てのデータが常に保持され続けなければいけないわけではない。例えば、物流に関する情報処理システムにおいては、流通の対象となる物品が流通の終端まで到達し、相当の期間(例えば、数か月間〜数年間程度)が経過した後には、流通過程で生成された一部のデータ(例えば、製品情報、または経路情報など)が削除されても業務上問題が生じない場合がある。
本件の開示者は上記事情に鑑みて、本開示に係る技術を創作するに至った。本開示に係る、ブロックチェーンに連結されるブロックを生成する情報処理装置(以降、「ブロック生成装置100」と呼称する)は、直前のブロックに含まれた少なくとも一部のデータである第1のデータと関連付けられた第1の関連データ(例えば、第1のデータのハッシュ)と、直前のブロックに含まれたデータであって、第1のデータとは異なる第2のデータを少なくとも含むデータと関連付けられた第2の関連データ(例えば、第1のデータとは異なる第2のデータを少なくとも含むデータのハッシュ)と、を含むブロックを生成し、当該ブロックをブロックチェーンに連結する。
これによって、ブロックチェーンに登録されているデータを削除する情報処理装置(以降、「データ削除装置200」と呼称する)は、ブロックチェーンに連結された一部のブロックから第2のデータの少なくとも一部を削除することができる。
ここで、図4を参照して、ブロック生成装置100によって生成されるブロックの具体例について説明する。例えば、図4に示すブロック1がブロックチェーンの末尾に連結されており、ブロック生成装置100がブロック2を生成する場合について考える。
図4に示すように、本開示に係る各ブロックには、第1のデータと、第2のデータが含まれる。「第1のデータ」は、削除対象にならないデータであり、図4の例では、第1の関連データ、ナンス(第2のデータからは独立したデータであるブロックチェーンのナンスデータ)、およびトランザクションデータ1aが第1のデータとしてブロック1に含まれている。一方で、「第2のデータ」は、削除対象になる可能性があるデータであり(換言すると、第2のデータが削除対象にならない場合もある)、図4の例では、第2の関連データ、およびトランザクションデータ1b〜トランザクションデータ1nが第2のデータとしてブロック1に含まれている。なお、第1のデータ、および第2のデータの内容は図4に示した内容に限定されない。
そして、ブロック生成装置100は、ブロック1に含まれた第1のデータと関連付けられた第1の関連データを生成し、ブロック2に含める。ここで、「第1の関連データ」は、ハッシュを生成する所定のハッシュ関数(例えば、SHA-256、RIPEMD-160など)に対して第1のデータが入力されることで生成されるデータであることを想定している(換言すると、第1の関連データは、ハッシュによって第1のデータと関連付けられることを想定している)。互いに異なるデータによって同一のハッシュが生成される可能性は限りなく低い(換言すると、ハッシュは強衝突耐性を有している)ため、第1のデータのハッシュである第1の関連データは、第1のデータによって一意に決まる情報であると言える。なお、関連付けに用いられるハッシュ関数の種類は特に限定されない。また、第1のデータと第1の関連データとを関連付ける方法は、ハッシュに限定されない。例えば、第1の関連データは、第1のデータによって一意に決まる情報であれば如何なる情報であってもよい。
また、ブロック生成装置100は、ブロック1に含まれた第2のデータを少なくとも含むデータと関連付けられた第2の関連データを生成し、ブロック2に含める。換言すると、第2の関連データと関連付けられるデータには、第2のデータ以外にも第1のデータが含まれてもよい(図4の例では、全ての第1のデータが、第2の関連データと関連付けられるデータに含まれている)。ここで、「第2の関連データ」も、第1の関連データと同様に、所定のハッシュ関数(例えば、SHA-256、RIPEMD-160など)に対して、第2のデータを少なくとも含むデータが入力されることで生成されるデータであることを想定している。なお、第2の関連データについても、関連付けに用いられるハッシュ関数の種類は特に限定されない。また、第2のデータを少なくとも含むデータと第2の関連データとを関連付ける方法は、ハッシュに限定されない。例えば、第2の関連データは、第2のデータを少なくとも含むデータによって一意に決まる情報であれば如何なる情報であってもよい。
ブロック生成装置100は、上記の方法で生成した第1の関連データおよび第2の関連データ以外にも、ナンス、およびトランザクションデータなど(図中では、トランザクションデータ2a〜トランザクションデータ2n)を含めることでブロック2を生成する。同様の方法によって、ブロック生成装置100がブロックを連結していくことでブロックチェーンが構成されていく。
そして、データ削除装置200は、上記の方法で構成されたブロックチェーンに連結された一部のブロックから第2のデータの少なくとも一部を削除する。例えば、図5に示すように、データ削除装置200は、ブロック1に含まれる第2のデータの全てを削除してもよい。これによって、ブロック2に含まれる第2の関連データとブロック1との関連付けは無くなるが、ブロック2に含まれる第1の関連データとブロック1との関連付けは残るため、第1のデータの真正性を担保される。
しかし、削除対象にならなかった第2のデータの真正性が十分担保されない場合がある。例えば、図5において、ブロック1に含まれる第2のデータが削除された場合、ブロック2に含まれる第2のデータが削除されたり改ざんされたりするリスクが高くなる。
そこで、本開示は、第2のデータを削除可能な権限情報を設けることによって、当該権限を有する主体(例えば、人、または情報処理装置など)によってのみ第2のデータが削除されるようにする。より具体的には、データ削除装置200は、第2のデータの削除に要する権限情報を確認し、その確認結果に基づいて第2のデータを削除するか否かを判断する。これによって、例えば、第2のデータが悪意ある第三者によって削除されるリスクが低くなる。ここで、複数の権限情報が設けられ、権限情報ごとに削除可能な第2のデータの内容が異なっていてもよい。これによって、データ削除装置200が複数存在する場合(換言すると、データを削除する主体(例えば、人、または情報処理装置など)が複数存在する場合)などにおいて、第2のデータの削除処理をより細かく制御することができる。
また、データ削除装置200は、第2のデータに含まれるトランザクションデータに対応する有体物の位置情報に基づいて第2のデータの削除可否を判断する。ここで、図6を参照して、本開示が物流システムに適用された場合を一例としてより具体的に説明する。図6には、ある物品が流通する場合における流通過程と、各過程で生成されるデータの例が示されている。本開示が物流システムに適用された場合において、「有体物」とは、例えば、流通の対象となる物品を含み、「トランザクションデータ」とは、例えば、各過程(図中では、製造業者の工場など)で生成されるデータ(図中では、製品情報など)を含む。
また、「位置情報」とは、トランザクションデータが生成された時点での物品(有体物)の位置を示す情報である(なお、「トランザクションデータが生成された時点」とは、トランザクションデータが生成された時点、または当該時点の前後所定時間内を含むことを留意されたい)。そして、データ削除装置200は、位置情報に基づいて第2のデータを削除するか否かを判断する(なお、位置情報に基づいて第2のデータを削除するか否かが判断されることは、第2のデータを削除可能な権限情報が位置情報に基づいて設定されることと等価である点に留意されたい)。例えば、図6において、流通の終端である店舗が製品受領情報をトランザクションデータとしてブロックチェーンに登録した場合、データ削除装置200は、当該トランザクションデータが生成された時点での物品の位置情報が店舗の位置を示していることを確認できた場合に、当該トランザクションデータを削除する。これによって、例えば、物品が流通の中途に位置している場合に当該物品に関するトランザクションデータが削除されることが防がれる。なお、第2のデータが削除されるタイミングは特に限定されない。例えば、データ削除装置200は、物品が流通の中途に位置している場合であっても、位置情報に基づいて所定の条件が満たされていると判断した場合には、当該物品に関するトランザクションデータを削除してもよい。
さらに、データ削除装置200は、位置情報に基づいて決まる区間を特定し、当該区間に存在する第2のデータ、すなわち、当該区間に対応する第2のデータを削除する。「位置情報に基づいて決まる区間」とは、例えば、図6における流通の始端と終端に対応する区間(換言すると、流通の始端である製造業者の工場から流通の終端である店舗に至るまでの区間)である。例えば、図7に示すように、ブロック1には、流通の始端である製造業者の工場にて生成されたトランザクションデータ(例えば、製品情報など)が含まれており、ブロック3には、流通の終端である店舗にて生成されたトランザクションデータ(例えば、製品受領情報など)が含まれているとする。この場合、データ削除装置200は、図8に示すように、流通の始端であるブロック1から流通の終端であるブロック3に至るまでの区間における、第2のデータを削除する(一方、第1のデータは削除されずに維持される)。このように、データ削除の対象となる区間が設定されることで、データ削除装置200は、ある物品の流通の始端から終端に至るまでに存在する第2のデータをまとめて削除することができる。
なお、基本的には、データ削除装置200は、データ削除の対象となる区間に存在する第2のデータを、一度に全て削除することを想定しているが、データ削除の態様はこれに限定されない。例えば、図9に示すように、データ削除装置200は、データ削除の対象となる区間に存在する第2のデータの一部だけを削除してもよい。図9の例では、トランザクションデータ1c、トランザクションデータ2c、およびトランザクションデータ3c以外の第2のデータが削除されている。これによって、トランザクションデータ1c、トランザクションデータ2c、およびトランザクションデータ3cの信頼性は低下するものの、業務運用上の理由などによってデータ削除装置200は、柔軟に削除対象となるトランザクションデータを決定することができる。また、データ削除装置200は、第2のデータを段階的に削除してもよい。より具体的には、データ削除装置200は、図9の例のように一度は削除せずに残したトランザクションデータを、その後に削除してもよい。また、各データ削除装置200は、基本的に、削除対象となる第2のデータを揃えることで各装置に保持されるブロックチェーンの内容を揃えることを想定しているが、必ずしもこれに限定されない。例えば、あるデータ削除装置200は、他のデータ削除装置200が削除した第2のデータを、例外的に削除することなく保持し続けてもよい。
また、図7〜図9の例では、データ削除の対象となる区間がブロック単位で設定される場合を一例としたが、これに限定されない。例えば、データ削除の対象となる区間は、ブロックに含まれるトランザクションデータ単位で設定されてもよい。
また、ブロックチェーンは、トランザクションデータに対応する有体物ごとに生成されてもよい。例えば、物品が製造され、流通過程に置かれるときに新たなブロックチェーンが生成され、物品が流通過程の終端に到達したときに当該ブロックチェーンに対する新たなブロックの追加が停止されてもよい。これによって、各ブロックに登録されるトランザクションデータは全て一つの有体物に関するものとなるため、図7〜図9の例のように、データ削除の対象となる区間がブロック単位で設定され易くなる。
また、上記では、ブロックチェーンネットワーク内での合意形成のアルゴリズム(いわゆるコンセンサスアルゴリズム)に、POW(Proof of Work)が用いられる場合を一例として説明しているため、各ブロックにナンスが含まれているが、コンセンサスアルゴリズムの種類は特に限定されない(換言すると、ブロックにナンスが含まれていなくてもよい)。例えば、コンセンサスアルゴリズムとして、POS(Proof of Stake)、POI(Proof of Importance)、POC(Proof of Consensus)、POB(Proof of Burn)、またはPBFT(Practical Byzantine Fault Tolelance)などが用いられてもよい。例えば、コンソーシアム方式(またはプライベート方式)のブロックチェーンが用いられる場合などにおいて、コンセンサスアルゴリズムとしてPBFTが用いられることで、ブロックの生成に要する時間やコストの削減が可能になる。
また、上記では、全てのブロックに第1のデータと第2のデータが含まれていたが、必ずしもこれに限定されない。例えば、ブロックチェーンに連結されるブロックの中には、第2のデータが含まれないブロックが存在してもよい(この場合、次のブロックには第2の関連データが含まれない)。
また、上記では、各ブロック間が第1の関連データと第2の関連データによって関連付けられる(換言すると、2種類の関連付けが行われる)ことで、第2のデータの削除が可能になる旨について説明したところ、3種類以上の関連付けが行われてもよい。例えば、第1の関連データと第2の関連データの他に、第1のデータと第2のデータとは異なる第3のデータを少なくとも含むデータと関連付けられた第3の関連データが設けられてもよい。これによって、データ削除装置200は、第2のデータだけでなく、第3のデータの少なくとも一部を削除することができてもよい。なお、第2のデータが削除されるタイミングと、第3のデータが削除されるタイミングは互いに異なっていてもよい。このように、3種類以上の関連付けが行われることで、データの削除がより柔軟に実現され得る。なお、上記では便宜的に「第3のデータ」と呼称したが、第3のデータも第2のデータと同様に削除対象になり得るという意味では、第3のデータは第2のデータの一種であると言える点に留意されたい(すなわち、第3の関連データは第2の関連データの一種であるとも言える)。
(2.2.情報処理システムの概要)
上記では、本開示の概要について説明した。続いて、本開示の一実施形態に係る情報処理システムの概要について説明する。
以降では、本開示が物流システムに適用された場合を一例として説明する。より具体的には、本実施形態に係る情報処理システムにおいては、ある物品の流通過程に関係する主体(例えば、製造業者、卸売業者、配送業者、または販売業者など)の有する情報処理装置がブロックチェーンネットワークに接続されており、当該物品の流通過程でこれらの主体によって生成されるデータがトランザクションデータとしてブロックチェーンに登録される。なお、本開示が適用される情報処理システム(またはサービス)は特に限定されない。例えば、本開示は、ある物品の製造工程を管理する製造管理システムなどに適用されてもよい。
ここで、図10を参照して、本実施形態に係る情報処理システムの構成例について説明する。図10は、本実施形態に係る情報処理システムの構成例を示す図である。
図10に示すように、本実施形態に係る情報処理システムは、トランザクション生成装置300と、ブロック生成装置100と、データ削除装置200と、ブロックチェーンネットワーク400と、を備える。
本書では、便宜的に、トランザクション生成装置300、ブロック生成装置100、およびデータ削除装置200を区別して説明するが、これらの装置の機能の全部または一部は、1台の情報処理装置によって実現されてもよいし、複数台の情報処理装置の分散処理によって実現されてもよい。そして、本実施形態に係る情報処理システムにおいて、ある物品の流通過程に関係する主体(例えば、図6に示した製造業者、卸売業者、配送業者、または販売業者など)の有する情報処理装置は、ブロックチェーンネットワーク400に接続しており、トランザクション生成装置300、ブロック生成装置100、およびデータ削除装置200の機能の全部または一部を実現するとする。
(トランザクション生成装置300)
トランザクション生成装置300は、ブロックチェーンに登録されるトランザクションデータを生成する情報処理装置である。トランザクション生成装置300は、ブロックチェーンネットワーク400に接続しており、トランザクション生成装置300が生成したトランザクションデータは、ブロックチェーンネットワーク400を介して他の情報処理装置(例えば、ブロック生成装置100、データ削除装置200および他のトランザクション生成装置300)に共有(ブロードキャスト)される。
また、トランザクションデータの生成の際、トランザクション生成装置300は、トランザクションデータの生成元を示す情報(以降、便宜的に「生成元情報」とも呼称する)をトランザクションデータに対応付ける。「生成元情報」とは、主にトランザクションデータが適切な者によって生成されたか否かの判断に用いられる情報であり、例えば、トランザクションデータの生成元を一意に特定可能な情報(例えば、流通過程に関係する主体のIDなど)を含むがこれに限定されない。例えば、トランザクションデータの生成元が何らかのグループに所属している場合、「生成元情報」は、当該グループのIDなどでもよい。なお、トランザクションデータと生成元情報との対応付けの方法は特に限定されない。例えば、トランザクション生成装置300は、生成元情報をトランザクションデータ内に含めることでこれらのデータを対応付けてもよいし、生成元情報を管理している記憶部が別に存在する場合には、トランザクション生成装置300は、当該記憶部における生成元情報にトランザクションを示す情報を含めることでこれらのデータを対応付けてもよい。
また、トランザクションデータの生成の際、トランザクション生成装置300は、トランザクションデータに対応する有体物の位置情報を、トランザクションデータに対応付ける。有体物および位置情報の内容は上記で説明した通りであるため、説明を省略する。当該位置情報は、ブロック生成装置100による新たなブロックの生成の際に適切なトランザクションデータであるか否かの判断、およびデータ削除装置200によるトランザクションデータの削除の際に削除してもよいトランザクションデータであるか否かの判断に用いられる。なお、トランザクションデータと位置情報との対応付けの方法は、生成元情報の場合と同様、特に限定されない。例えば、トランザクション生成装置300は、位置情報をトランザクションデータ内に含めることでこれらのデータを対応付けてもよいし、位置情報を管理している記憶部が別に存在する場合には、トランザクション生成装置300は、当該記憶部における位置情報にトランザクションを示す情報を含めることでこれらのデータを対応付けてもよい。
(ブロック生成装置100)
ブロック生成装置100は、所定の条件を満たした場合に、ブロックチェーンに連結されるブロックを生成する情報処理装置である。ブロック生成処理についてより具体的に説明すると、ブロック生成装置100は、トランザクション生成装置300によって生成され、ブロックチェーンネットワーク400を介して共有されたトランザクションデータの中から、新たなブロックに含めるトランザクションデータを指定し、収集する。その際、ブロック生成装置100は、トランザクションデータに対応付けられた生成元情報に基づいて生成元が有する権限情報を確認する。より具体的には、ブロック生成装置100は、トランザクションデータの生成元が適切な権限情報を有しているか否かを判断する。ブロック生成装置100は、トランザクションデータの生成元が適切な権限情報を有している場合には、当該トランザクションデータを新たなブロックに含め、そうでない場合には、当該トランザクションデータを新たなブロックに含めない。
また、ブロック生成装置100は、トランザクションデータに対応付けられた位置情報に基づいてトランザクションデータに対応する有体物の位置情報を確認する。そして、ブロック生成装置100は、有体物の位置との関係でトランザクションデータが適切なものであるか否かを判断する。物流システムにおいては、生成されるトランザクションデータは流通過程によって決まる場合が多く、すなわち、トランザクションデータは流通過程の情報に関連付けられている(なお、物流システムに限定されない)。例えば、製造された製品に関する情報である製品情報は、全流通過程のうち製造業者の工場にて生成される場合が多い。そのため、ブロック生成装置100は、トランザクションデータに対応する有体物(流通の対象となる物品など)の位置情報に基づいて当該トランザクションデータの生成時における有体物の位置を確認することで、トランザクションデータが適切なものであるか否かを判断することができる。そして、ブロック生成装置100は、有体物の位置との関係でトランザクションデータが適切なものであると判断した場合には、当該トランザクションデータを新たなブロックに含め、そうでない場合には、当該トランザクションデータを新たなブロックに含めない。
さらに、ブロック生成装置100は、上記のとおり、直前ブロックに含まれる第1のデータおよび第2のデータを用いて第1の関連データおよび第2の関連データを生成する。そしてブロック生成装置100は、収集したトランザクションデータ、生成した第1の関連データと第2の関連データ、およびナンスを生成中のブロックに追加する。ブロック生成装置100は、当該ブロックに対して所定のハッシュ関数(例えば、SHA-256、RIPEMD-160など)を適用した場合に出力されるハッシュの先頭の数ビットがすべて“0”になるまでナンスの値を変更していく(換言すると、所定の条件に合うナンスを探索する)。ブロック生成装置100は、所定の条件に合うナンスを発見できた場合、新たなブロックをブロックチェーンの末尾に追加し、追加対象となるブロックに関する情報(例えば、ブロックの内容、またはブロック自体など)をブロックチェーンネットワーク400上にブロードキャストする。その後、ブロックチェーンネットワーク400に接続している他のブロック生成装置100による承認処理が行われることで、新たなブロックが正式にブロックチェーンに追加される。なお、他のブロック生成装置100によって行われる承認処理の内容は、例えば、権限情報、位置情報、およびナンスが適切であることを確認することを含み得るがこれに限定されない。例えば、他のブロック生成装置100は、承認処理において、権限情報、または位置情報を確認しなくてもよい。
上記のブロック生成処理は、基本的に複数台のブロック生成装置100によって行われ、所定の条件に合うナンスを最初に発見したブロック生成装置100が、ブロックチェーンに追加するブロックを決定することができるため、情報処理システム内での公平性が担保される。なお上記のとおり、本書では、ブロック生成装置100はコンセンサスアルゴリズムとしてPOWを用いることを一例として説明しているが、ブロック生成装置100がブロックの生成に用いるコンセンサスアルゴリズムの種類は特に限定されない。
(データ削除装置200)
データ削除装置200は、所定の条件を満たした場合に、トランザクションデータを含む第2のデータを削除する情報処理装置である。第2のデータの削除処理についてより具体的に説明すると、データ削除装置200は、トランザクションデータの削除に要する権限情報を確認する。そして、データ削除装置200は、データ削除装置200(または、データ削除装置200を使用する主体)がトランザクションデータの削除に要する権限情報を有している場合には、当該トランザクションデータを削除することを決定し、そうでない場合には、当該トランザクションデータを削除しないことを決定する。
また、データ削除装置200は、上記のとおり、トランザクションデータに対応付けられた、トランザクションデータに対応する有体物の位置情報を確認し、位置情報の確認結果に基づいてトランザクションデータを削除するか否かを判断する。そして、データ削除装置200は、有体物の位置との関係でトランザクションデータを削除してもよいと判断した場合には、当該トランザクションデータを削除することを決定し、そうでない場合には、当該トランザクションデータを削除しないことを決定する。
そして、データ削除装置200は、上記のとおり、位置情報に基づいてデータの削除対象となる区間を特定する。例えば、データ削除装置200は、位置情報に基づいて物流システムにおいて流通の始端と終端に対応する区間を特定し、当該区間を、データの削除対象となる区間として決定する。
上記の処理によって、削除対象となる第2のデータ(トランザクションデータを含む)、および削除対象となる区間を決定したデータ削除装置200は、削除対象となる第2のデータ(トランザクションデータを含む)を示す情報をブロックチェーンネットワーク400上にブロードキャストする。その後、ブロックチェーンネットワーク400に接続している他のデータ削除装置200による承認処理が行われることで、正式に第2のデータが削除される。なお、他のデータ削除装置200によって行われる承認処理の内容は、例えば、権限情報、位置情報、および削除対象となる区間が適切であることを確認することを含み得るがこれに限定されない。例えば、他のデータ削除装置200は、承認処理において、権限情報、位置情報、または削除対象となる区間を確認しなくてもよい。
(ブロックチェーンネットワーク400)
ブロックチェーンネットワーク400は、ブロックチェーンが流通しているネットワークである。上記のとおり、トランザクション生成装置300、ブロック生成装置100、およびデータ削除装置200は、ブロックチェーンネットワーク400に接続することで、他の情報処理装置が保持するブロックチェーンと整合性を保ちながら、ブロックチェーンを更新することができる。
なお本書において、ブロックチェーンネットワーク400は、複数組織によって運営されるコンソーシアム方式のネットワーク、または単一組織によって運営されるプライベート方式のネットワークであることを想定しているが、ブロックチェーンネットワーク400の種類は特に限定されない。例えば、ブロックチェーンネットワーク400は、参加者を特に限定しないパブリック方式のネットワークであってもよい。
なお、ブロックチェーンネットワーク400に用いられる通信方式、または回線の種類などは特に限定されない。例えば、ブロックチェーンネットワーク400は、IP−VPN(Internet Protocol-Virtual Private Network)などの専用回線網で実現されてもよい。また、ブロックチェーンネットワーク400は、インターネット、電話回線網、衛星通信網などの公衆回線網で実現されてもよい。また、ブロックチェーンネットワーク400は、Ethernet(登録商標)を含む各種のLAN(Local Area Network)、WAN(Wide Area Network)などで実現されてもよい。さらに、ブロックチェーンネットワーク400は、Wi−Fi(登録商標)、Bluetooth(登録商標)などの無線通信網で実現されてもよい。
以上、本実施形態に係る情報処理システムの構成例について説明した。なお、図10を参照して説明した上記の構成はあくまで一例であり、本実施形態に係る情報処理システムの構成は係る例に限定されない。例えば、情報処理システムを構成する各装置の台数は特に限定されない。また、トランザクション生成装置300、ブロック生成装置100、およびデータ削除装置200それぞれの機能の全部または一部を有する別の装置が設けられてもよい。本実施形態に係る情報処理システムの構成は、仕様や運用に応じて柔軟に変形可能である。
(2.3.トランザクション生成装置300の機能構成例)
上記では、本実施形態に係る情報処理システムの概要について説明した。続いて、図11を参照して、トランザクション生成装置300の機能構成例について説明する。図11は、トランザクション生成装置300の機能構成例を示すブロック図である。
図11に示すように、トランザクション生成装置300は、処理部310と、記憶部320と、通信部330と、を備える。
(処理部310)
処理部310は、トランザクションデータの生成に関する各種処理を実現する機能構成である。例えば、処理部310は、ユーザの操作入力をトリガとして、当該操作入力によって指定されたトランザクションデータの生成処理を開始する。なお、トランザクションデータの生成のトリガはこれに限定されない。図11に示すように、処理部310は、位置確認部311と、トランザクション生成部312と、を備える。
(位置確認部311)
位置確認部311は、トランザクションデータの生成の際に、トランザクションデータに対応する有体物の位置情報を確認する機能構成である。より具体的には、位置確認部311は、トランザクションデータが生成された時点(なお、「トランザクションデータが生成された時点」とは、トランザクションデータが生成された時点、または当該時点の前後所定時間内を含むことを留意されたい)での有体物の位置情報を確認する。
位置確認部311による位置情報の確認方法は特に限定されない。例えば、トランザクションデータに対応する有体物(例えば、流通の対象となる物品など)が各種センサ(例えば、GNSS(Global Navigation
Satelite System)受信機、気圧センサ、地磁気センサ、近接センサ、ジャイロセンサ、または加速度センサなど)を備えている場合、位置確認部311は、有体物と各種通信を行うことでこれらのセンサ情報を取得し、取得したセンサ情報を解析することで有体物の位置を確認(特定)してもよい。
例えば、位置確認部311は、GNSS受信機および気圧センサによって取得されたセンサ情報を解析することで有体物の位置する緯度、経度、および高度を特定してもよい。また、位置確認部311は、ジャイロセンサ、または加速度センサによって取得されたセンサ情報を解析することで有体物の動き、または姿勢の時間変化を認識し、有体物の状態(例えば、有体物が運搬されている状態、または有体物が保管されている状態など)を認識することで、有体物の位置を特定してもよい。例えば、位置確認部311は、有体物が所定時間にわたって運搬された後に保管されていることを認識した場合、有体物の位置が倉庫であることを特定してもよい。また、位置確認部311は、ユーザによって入力された有体物の位置情報に基づいて有体物の位置を特定してもよい。また、位置確認部311は、他の情報処理装置によって解析され提供された有体物の位置情報に基づいて有体物の位置を特定してもよい。例えば、リーダライタが有体物に付加されたバーコード(またはRFID(radio frequency identifier)など)を読み取った場合、当該リーダライタが自装置に備えられたセンサによって取得されたセンサ情報を解析することで自装置の位置情報を認識する。そして、当該リーダライタが位置情報をトランザクション生成装置300へ送信することで、位置確認部311は、当該位置情報を有体物の位置情報とみなしてもよい。
(トランザクション生成部312)
トランザクション生成部312は、トランザクションデータを生成する機能構成である。例えば、トランザクション生成部312は、ユーザの操作入力によって指定されたトランザクションデータを生成し、生成元情報、および位置確認部311によって取得された位置情報を当該トランザクションデータに対応付ける。生成元情報および位置情報と、トランザクションデータとの対応付けの方法は上記のとおりであるため、説明を省略する。トランザクション生成部312は、生成したトランザクションデータを、後述するトランザクション記憶部322に登録し、かつ、ブロックチェーンネットワーク400を介して他の情報処理装置(他のトランザクション生成装置300、ブロック生成装置100、およびデータ削除装置200)にブロードキャストする。これによって、トランザクション生成部312によって生成されたトランザクションデータが他の情報処理装置との間で共有される。
(記憶部320)
記憶部320は、各種情報を記憶する機能構成である。例えば、記憶部320は、トランザクション生成装置300の各機能構成によって使用されるプログラム、またはパラメータなどを記憶する。なお、記憶部320が記憶する情報の内容はこれらに限定されない。図11に示すように、記憶部320は、共有データ321を備える。
(共有データ321)
共有データ321は、ブロックチェーンネットワーク400に接続している情報処理装置間で共有されるデータの集合である。各情報処理装置は、ブロックチェーンネットワーク400を介して共有データ321を取得し、他の情報処理装置が保持する共有データと整合性を保ちながら当該共有データ321を更新していく。図11に示すように、共有データ321は、トランザクション記憶部322と、ブロックチェーン323と、を備える。
(トランザクション記憶部322)
トランザクション記憶部322は、ブロックチェーン323に登録されていないトランザクションデータを記憶する機能構成である。トランザクション記憶部322には、トランザクション生成部312によって生成されたトランザクションデータ、および他のトランザクション生成装置300によって生成されてブロックチェーンネットワーク400を介して共有されたトランザクションデータが登録される。トランザクション記憶部322に登録されているトランザクションデータは、他のトランザクション生成装置300、ブロック生成装置100、およびデータ削除装置200に登録されているトランザクションデータと基本的に同一である。
(ブロックチェーン323)
ブロックチェーン323は、トランザクション生成装置300によって保持されるブロックチェーンである。ブロックチェーン323は、ブロック生成装置100から提供される、新たなブロックに関する情報に基づいて更新される。ブロックチェーン323は、他のトランザクション生成装置300、ブロック生成装置100、およびデータ削除装置200が保持するブロックチェーンと基本的に同一である。
なお、ブロックチェーン323に登録される情報は、上記で説明してきたトランザクションデータなどに限定されない。例えば、ブロックチェーン323には、ブロックチェーン323上で実行されるプログラム(以降、「ブロックチェーンプログラム」と呼称する)が登録されてもよい。
ブロックチェーンプログラムは、ブロックチェーン323に備えられ、ブロックチェーン323上で実行される所定のプログラムである。ブロックチェーンプログラムが用いられることによって、例えば、ブロックチェーンネットワーク400に接続する情報処理装置が所定のルールに従って一貫性を保ちつつ各種処理を実現することができる。ブロックチェーンプログラムは、ブロックチェーン323に対して行われる処理全般を実現することができる。例えば、ブロックチェーンプログラムによってブロックチェーン323へのブロックの追加に関する処理、ブロックチェーン323からのトランザクションデータの取得(読み出し)に関する処理が実現され得る。ブロックチェーンプログラムがブロックチェーン323に設けられることによって当該プログラムが不正に改変されるリスクが低減される。ブロックチェーンプログラムは、ハイパーレッジャー(Hyperledger)におけるチェーンコードであるが、これに限定されない。例えば、ブロックチェーンプログラムは、スマートコントラクトを指してもよい。なお、ブロックチェーンプログラムによって実現される処理は上記に限定されない。ブロックチェーンプログラムの開発言語、またはブロックチェーン323上に設けられるブロックチェーンプログラムの個数等は特に限定されない。
(通信部330)
通信部330は、外部装置との各種通信を行う機能構成である。例えば、通信部330は、トランザクションデータに対応する有体物と各種通信を行うことで有体物によって取得されたセンサ情報(例えば、位置情報の取得に使用されるセンサ情報など)を受信する。また、通信部330は、トランザクション生成部312によって生成されたトランザクションデータをブロックチェーンネットワーク400に送信することで、当該トランザクションデータを他の情報処理装置に共有する。また、通信部330は、他の情報処理装置から提供された各種データ(例えば、他のトランザクション生成装置300によって生成されたトランザクションデータ、ブロック生成装置100によって生成されたブロックに関する情報、またはデータ削除装置200によって削除されたトランザクションデータを示す情報など)を受信する。なお、通信部330が通信するデータ、および通信するケースはこれらに限定されない。
以上、トランザクション生成装置300の機能構成例について説明した。なお、図11を用いて説明した上記の機能構成はあくまで一例であり、トランザクション生成装置300の機能構成は係る例に限定されない。例えば、トランザクション生成装置300は、図11に示す構成の全てを必ずしも備えなくてもよい。また、トランザクション生成装置300の機能構成は、仕様や運用に応じて柔軟に変形可能である。
(2.4.ブロック生成装置100の機能構成例)
上記では、トランザクション生成装置300の機能構成例について説明した。続いて、図12を参照して、ブロック生成装置100の機能構成例について説明する。図12は、ブロック生成装置100の機能構成例を示すブロック図である。
図12に示すように、ブロック生成装置100は、処理部110と、記憶部120と、通信部130と、を備える。
(処理部110)
処理部110は、新たなブロックの生成に関する各種処理を実現する機能構成である。例えば、処理部110は、所定のタイミングで新たなブロックの生成処理を開始する。ここで、新たなブロックの生成処理の開始タイミングは特に限定されない。例えば、処理部110は、新たなブロックを生成した直後(または、新たなブロックを生成し所定時間が経過した後)に次の新たなブロックの生成を開始してもよいし、ユーザの操作入力をトリガとして次の新たなブロックの生成を開始してもよい。図12に示すように、処理部110は、権限確認部111と、位置確認部112と、ブロック生成部113と、を備える。
(権限確認部111)
権限確認部111は、トランザクションデータに対応付けられた、当該トランザクションデータの生成元情報に基づいて生成元が有する権限情報を確認する機能構成である。より具体的に説明すると、権限確認部111は、後述するブロック生成部113によって指定されたトランザクションデータに対応付けられた生成元情報を、トランザクション記憶部122へアクセスすることによって取得する。そして、権限確認部111は、各権限情報に応じて生成が許可されているトランザクションデータの種類が示された情報を記憶部120から取得する。そして、権限確認部111は、当該情報と、トランザクションデータに対応付けられた生成元情報とを比較することで、トランザクションデータの生成元が適切な権限情報を有しているか否かを判断する。
ここで、図13を参照して、各権限情報に応じて生成が許可されているトランザクションデータの種類が示された情報の一例について説明する。例えば、図13に示すように、第1の生成権限と、第2の生成権限が権限情報として設けられ、各権限情報に応じて生成が許可されているトランザクションデータ(第1のデータ、または第2のデータを含む)の種類が定められている。なお、図13の例では、トランザクションデータの生成が許可されている権限情報が位置情報にも基づいて定められている。後述する位置確認部112は、トランザクションデータに対応付けられた、当該トランザクションデータに対応する有体物の位置情報に基づいて当該トランザクションデータを新たなブロックに含めるか否かを判断するところ、これは、図13に示すように、トランザクションデータの生成が許可されている権限情報が位置情報に基づいて定められることと等価である点に留意されたい。
(位置確認部112)
位置確認部112は、トランザクションデータに対応付けられた、当該トランザクションデータに対応する有体物の位置情報を確認する機能構成である。より具体的には、位置確認部112は、後述するブロック生成部113によって指定されたトランザクションデータに対応付けられた位置情報を、トランザクション記憶部122へアクセスすることによって取得する。そして、位置確認部112は、当該位置情報と、各位置情報に応じて生成が許可されているトランザクションデータの種類が示された情報(例えば、図13に示す情報など)とを比較することで、有体物の位置との関係でトランザクションデータが適切なものであるか否かを判断する。
(ブロック生成部113)
ブロック生成部113は、所定の条件を満たした場合に、ブロックチェーン123に連結されるブロックを生成する機能構成である。より具体的に説明すると、ブロック生成部113は、トランザクション記憶部122に記憶されているトランザクションデータの中から、新たなブロックに含めるトランザクションデータを指定し、収集する。例えば、ブロック生成部113は、生成日時が最も古いトランザクションデータから所定のデータサイズに達するまでのトランザクションデータを、新たなブロックに含めるトランザクションデータとして指定してもよい。このとき、生成日時に関する情報が各トランザクションデータ内に含まれる場合において、ブロック生成部113が各トランザクションデータを解析することで当該生成日時を認識したり、トランザクションデータが生成日時順にトランザクション記憶部122に格納されたりすることで、当該処理が実現され得る。なお、ブロック生成部113が各トランザクションデータの生成日時(または生成順)を認識する方法はこれらに限定されない。
そして、ブロック生成部113は、上記の処理で収集したトランザクションデータの中から、トランザクションデータの生成元が適切な権限情報を有していないと権限確認部111によって判断されたトランザクションデータ、および有体物の位置との関係でトランザクションデータが適切なものでないと位置確認部112によって判断されたトランザクションデータを除外する。
その後、ブロック生成部113は、ブロックチェーンネットワーク400内での合意形成に関する処理を行う。より具体的には、ブロック生成部113は、直前ブロックに含まれる第1のデータおよび第2のデータを用いて第1の関連データおよび第2の関連データを生成する。そして、ブロック生成部113は、収集したトランザクションデータ、生成した第1の関連データと第2の関連データ、およびナンスを生成中のブロックに追加する。その後、ブロック生成部113は、当該ブロックに対して所定のハッシュ関数を適用して出力されるハッシュが所定の条件を満たすナンスを探索する。
所定の条件を満たすナンスを発見したブロック生成部113は、ブロックチェーン123へ新たなブロックを追加し、当該ブロックに関する情報(例えば、ブロックの内容、またはブロック自体など)を、ブロックチェーンネットワーク400を介して他の情報処理装置(トランザクション生成装置300、他のブロック生成装置100、およびデータ削除装置200)にブロードキャストする。その後、ブロックチェーンネットワーク400に接続している他のブロック生成装置100に備えられるブロック生成部113による承認処理が行われることで、新たなブロックが正式にブロックチェーン123に追加される。
ここで、他のブロック生成装置100に備えられるブロック生成部113によって行われる承認処理の内容は、例えば、権限情報、位置情報、およびナンスが適切であることを確認する処理を含み得るがこれに限定されない。例えば、他のブロック生成装置100に備えられるブロック生成部113は、承認処理において、権限情報、または位置情報を確認しなくてもよい。
(記憶部120)
記憶部120は、各種情報を記憶する機能構成である。例えば、記憶部120は、上記で説明した、各権限情報に応じて生成が許可されているトランザクションデータの種類が示された情報(図13参照)を記憶する。また、記憶部120は、ブロック生成装置100の各機能構成によって使用されるプログラム、またはパラメータなどを記憶する。なお、記憶部120が記憶する情報の内容はこれらに限定されない。図12に示すように、記憶部120は、共有データ121を備える。また、共有データ121は、トランザクション記憶部122と、ブロックチェーン123と、を備える。
(共有データ121、トランザクション記憶部122、ブロックチェーン123)
共有データ121、トランザクション記憶部122、およびブロックチェーン123は、上記で説明したトランザクション生成装置300に備えられる共有データ321、トランザクション記憶部322、およびブロックチェーン323と同様であるため説明を省略する。
(通信部130)
通信部130は、外部装置との各種通信を行う機能構成である。例えば、通信部130は、ブロックチェーン123への追加対象であるブロックに関する情報(例えば、ブロックの内容、またはブロック自体など)を、ブロックチェーンネットワーク400を介して他の情報処理装置(トランザクション生成装置300、他のブロック生成装置100、およびデータ削除装置200)へ送信する。また、通信部130は、他の情報処理装置から提供された各種データ(例えば、トランザクション生成装置300によって生成されたトランザクションデータ、他のブロック生成装置100によって追加されたブロックに関する情報、またはデータ削除装置200によって削除されたトランザクションデータを示す情報など)を受信する。なお、通信部130が通信するデータ、および通信するケースはこれらに限定されない。
以上、ブロック生成装置100の機能構成例について説明した。なお、図12を用いて説明した上記の機能構成はあくまで一例であり、ブロック生成装置100の機能構成は係る例に限定されない。例えば、ブロック生成装置100は、図12に示す構成の全てを必ずしも備えなくてもよい。また、ブロック生成装置100の機能構成は、仕様や運用に応じて柔軟に変形可能である。
(2.5.データ削除装置200の機能構成例)
上記では、ブロック生成装置100の機能構成例について説明した。続いて、図14を参照して、データ削除装置200の機能構成例について説明する。図14は、データ削除装置200の機能構成例を示すブロック図である。
図14に示すように、データ削除装置200は、処理部210と、記憶部220と、通信部230と、を備える。
(処理部210)
処理部210は、第2のデータ(トランザクションデータを含む)の削除に関する各種処理を実現する機能構成である。図14に示すように、処理部210は、権限確認部211と、位置確認部212と、データ削除部213と、を備える。
(権限確認部211)
権限確認部211は、第2のデータ(トランザクションデータを含む)の削除に要する権限情報を確認する機能構成である。より具体的に説明すると、権限確認部211は、各権限情報に応じて削除が許可されているトランザクションデータの種類が示された情報を記憶部220から取得する。そして、権限確認部211は、当該情報とデータ削除装置200が保持する権限情報とを比較することで、データ削除装置200(または、データ削除装置200を使用する主体)が、後述するブロック生成部113によって指定されたトランザクションデータの削除に要する権限情報を有しているか否かを判断する。
ここで、図15を参照して、各権限情報に応じて削除が許可されているトランザクションデータの種類が示された情報の一例について説明する。例えば、図15に示すように、第1の削除権限と、第2の削除権限が権限情報として設けられ、各権限情報に応じて削除が許可されているトランザクションデータ(第2のデータ)の種類が定められている。なお、図15の例では、トランザクションデータの削除が許可されている権限情報が位置情報にも基づいて定められている。後述する位置確認部212は、トランザクションデータに対応付けられた、当該トランザクションデータに対応する有体物の位置情報に基づいて当該トランザクションデータの削除が許可されているか否かを判断するところ、これは、図15に示すように、トランザクションデータの削除が許可されている権限情報が位置情報に基づいて定められることと等価である点に留意されたい。また、図15の例では、流通の対象となる物品が流通の終端に到達した後にのみ第2のデータの削除が許可されている旨が示されているが、上記のとおり、物品が流通の中途に位置している場合にも第2のデータが削除されてもよい。
(位置確認部212)
位置確認部212は、トランザクションデータに対応付けられた、当該トランザクションデータに対応する有体物の位置情報を確認する機能構成である。より具体的には、位置確認部112は、後述するデータ削除部213によって指定されたトランザクションデータに対応付けられた位置情報を、ブロックチェーン223へアクセスすることによって取得する。そして、位置確認部212は、当該位置情報と、各位置情報に応じて削除が許可されているトランザクションデータの種類が示された情報(例えば、図15に示す情報など)とを比較することで、有体物の位置との関係で削除対象となるトランザクションデータが適切なものであるか否かを判断する。
(データ削除部213)
データ削除部213は、所定の条件を満たした場合に、ブロックチェーン223に連結された一部のブロックから第2のデータの少なくとも一部を削除する機能構成である。より具体的に説明すると、データ削除部213は、所定の条件が満たされた第2のデータ(トランザクションデータを含む)を削除対象として指定する。ここで、「所定の条件」とは、例えば、物流システムにおいて流通の対象となる物品が流通の終端に到達してから所定の期間が経過することや、流通の終端である店舗などが物品を適切に受領したこと(受領情報がトランザクションデータとして登録されたこと)などを含むがこれらに限定されない。例えば、流通の対象となる物品が流通の中途に位置している場合にも、データ削除部213は、当該物品に関するトランザクションデータを削除対象として指定してもよい。
そして、データ削除部213は、削除対象のトランザクションデータの中から、データ削除装置200(または、データ削除装置200を使用する主体)が適切な権限情報を有していないと権限確認部211によって判断されたトランザクションデータ、および有体物の位置との関係でトランザクションデータを削除してはいけないと位置確認部212によって判断されたトランザクションデータを除外する。
その後、データ削除部213は、ブロックチェーン223に連結された一部のブロックから、削除対象であるトランザクションデータを含む第2のデータを削除し、かつ、削除対象であるトランザクションデータを示す情報(例えば、トランザクションデータのID、またはトランザクションデータ自体など)を、ブロックチェーンネットワーク400を介して他の情報処理装置(トランザクション生成装置300、ブロック生成装置100、および他のデータ削除装置200)にブロードキャストする(なお、データ削除部213は第1のデータを維持する)。その後、ブロックチェーンネットワーク400に接続している他のデータ削除装置200に備えられるデータ削除部213による承認処理が行われることで、削除対象のトランザクションデータが正式にブロックチェーンから削除される。
ここで、他のデータ削除装置200に備えられるデータ削除部213によって行われる承認処理の内容は、例えば、権限情報、位置情報、および削除対象となる区間が適切であることを確認することを含むがこれらに限定されない。例えば、他のデータ削除装置200に備えられるデータ削除部213は、承認処理において、権限情報、位置情報、または削除対象となる区間を確認しなくてもよい。なお、上記で説明してきたように、データ削除部213は、基本的に第2のデータの少なくとも一部を削除するが、必要に応じて第1のデータの一部を削除してもよい(この場合、第1の関連データによるブロック間の関連付けは無くなる)。
(記憶部220)
記憶部220は、各種情報を記憶する機能構成である。例えば、記憶部220は、上記で説明した、権限情報に応じて削除が許可されているトランザクションデータの種類が示された情報(図15参照)を記憶する。また、記憶部220は、データ削除装置200の各機能構成によって使用されるプログラム、またはパラメータなどを記憶する。なお、記憶部220が記憶する情報の内容はこれらに限定されない。図14に示すように、記憶部220は、共有データ221を備える。また、共有データ221は、トランザクション記憶部222と、ブロックチェーン223と、を備える。
(共有データ221、トランザクション記憶部222、ブロックチェーン223)
共有データ221、トランザクション記憶部222、およびブロックチェーン223は、上記で説明したトランザクション生成装置300に備えられる共有データ321、トランザクション記憶部322、およびブロックチェーン323と同様であるため説明を省略する。
(通信部230)
通信部230は、外部装置との各種通信を行う機能構成である。例えば、通信部230は、削除対象であるトランザクションデータを示す情報(例えば、トランザクションデータのID、またはトランザクションデータ自体など)を、ブロックチェーンネットワーク400を介して他の情報処理装置(トランザクション生成装置300、ブロック生成装置100、および他のデータ削除装置200)へ送信する。また、通信部230は、他の情報処理装置から提供された各種データ(例えば、トランザクション生成装置300によって生成されたトランザクションデータ、ブロック生成装置100によって追加されたブロックに関する情報、または他のデータ削除装置200によって削除されたトランザクションデータを示す情報など)を受信する。なお、通信部230が通信するデータ、および通信するケースはこれらに限定されない。
以上、データ削除装置200の機能構成例について説明した。なお、図14を用いて説明した上記の機能構成はあくまで一例であり、データ削除装置200の機能構成は係る例に限定されない。例えば、データ削除装置200は、図14に示す構成の全てを必ずしも備えなくてもよい。また、データ削除装置200の機能構成は、仕様や運用に応じて柔軟に変形可能である。
(2.6.処理フロー例)
上記では、データ削除装置200の機能構成例について説明した。続いて、各装置の処理フローの例について説明する。
(トランザクションデータの生成処理)
まず、図16を参照して、トランザクション生成装置300によるトランザクションデータの生成処理について説明する。図16は、トランザクション生成装置300によるトランザクションデータの生成処理の具体例を示すフローチャートである。
ステップS1000では、トランザクション生成装置300のトランザクション生成部312が生成対象となるトランザクションデータを決定する。例えば、トランザクション生成部312は、ユーザの操作入力によって指定されたトランザクションデータを生成対象となるトランザクションデータとして決定する。ステップS1004では、位置確認部311が、生成対象であるトランザクションデータに対応する有体物の位置情報を取得する。ステップS1008では、トランザクション生成部312が、生成対象であるトランザクションデータを生成し、生成元情報および位置情報を当該トランザクションデータに対応付ける。ステップS1012では、トランザクション生成部312が、生成したトランザクションデータを、ブロックチェーンネットワーク400を介して他の情報処理装置(他のトランザクション生成装置300、ブロック生成装置100、およびデータ削除装置200)にブロードキャストすることで、一連の処理が終了する。これによって、ブロック生成装置100は、当該トランザクションデータを用いて新たなブロックの生成処理を行うことができる。
(ブロックの生成処理)
続いて、図17および図18を参照して、ブロック生成装置100によるブロックの生成処理について説明する。図17および図18は、ブロック生成装置100によるブロックの生成処理の具体例を示すフローチャートである。
ステップS1100では、ブロック生成装置100のブロック生成部113は、新たなブロックへの追加対象となるトランザクションデータを決定する。例えば、ブロック生成部113は、生成日時が最も古いトランザクションデータから所定のデータサイズに達するまでのトランザクションデータを、新たなブロックへの追加対象となるトランザクションデータとして決定する。
ステップS1104では、権限確認部111が、各トランザクションデータに対応付けられた、当該トランザクションデータの生成元情報に基づいて、生成元が有する権限情報を確認することで、トランザクションデータの生成元が適切な権限情報を有しているか否かを判断する。トランザクションデータの生成元が適切な権限情報を有していない場合(ステップS1104/No)、ステップS1108にて、ブロック生成部113は、新たなブロックへの追加対象となるトランザクションデータから当該トランザクションデータを除外する。
トランザクションデータの生成元が適切な権限情報を有している場合(ステップS1104/Yes)、ステップS1112にて、位置確認部112が、トランザクションデータに対応付けられた、当該トランザクションデータに対応する有体物の位置情報を確認することで、有体物の位置との関係でトランザクションデータが適切であるか否かを判断する。有体物の位置との関係でトランザクションデータが適切でない場合(ステップS1112/No)、ステップS1108にて、ブロック生成部113は、新たなブロックへの追加対象となるトランザクションデータから当該トランザクションデータを除外する。
有体物の位置との関係でトランザクションデータが適切である場合(ステップS1112/Yes)、ブロック生成部113は、新たなブロックへの追加対象となるトランザクションデータから当該トランザクションデータを除外しない。ブロック生成装置100の各機能構成は、上記のステップS1104〜ステップS1112の処理を、ステップS1100にて新たなブロックへの追加対象として決定されたトランザクションデータ毎に繰り返す。
その後、ブロック生成部113は、ブロックチェーンネットワーク400内での合意形成に関する処理を行う。より具体的には、ステップS1116では、ブロック生成部113が、所定の条件を満たすナンスの探索を開始する。ブロック生成部113が所定の条件を満たすナンスを発見した場合(ステップS1120/Yes)、ブロック生成部113は、ステップS1124にて、新たなブロックをブロックチェーンへ追加し、ステップS1128にて、追加対象であるブロックに関する情報(例えば、ブロックの内容、またはブロック自体など)を、ブロックチェーンネットワーク400を介して他の情報処理装置にブロードキャストすることで一連の処理が終了する。その後、ブロックチェーンネットワーク400に接続している他のブロック生成装置100に備えられるブロック生成部113による承認処理が行われることで、新たなブロックが正式にブロックチェーンに追加される。
(第2のデータの削除処理)
続いて、図19を参照して、データ削除装置200による第2のデータの削除処理について説明する。図19は、データ削除装置200による第2のデータの削除処理の具体例を示すフローチャートである。
ステップS1200では、データ削除装置200のデータ削除部213が、所定の条件(例えば、流通の対象となる物品が流通の終端に到達したか否かなど)が満たされたトランザクションデータ(第2のデータ)を削除対象として抽出する。
ステップS1204では、権限確認部211がトランザクションデータの削除に要する権限情報を確認することで、データ削除装置200が適切な権限情報を有しているか否かを判断する。データ削除装置200が適切な権限情報を有していない場合(ステップS1204/No)、ステップS1208にて、データ削除部213は、削除対象となるトランザクションデータから当該トランザクションデータを除外する。
データ削除装置200が適切な権限情報を有している場合(ステップS1204/Yes)、ステップS1212にて、位置確認部212が、トランザクションデータに対応付けられた、当該トランザクションデータに対応する有体物の位置情報を確認することで、有体物の位置との関係で削除対象となるトランザクションデータが適切なものであるか否かを判断する。有体物の位置との関係で削除対象となるトランザクションデータが適切でない場合(ステップS1212/No)、ステップS1208にて、データ削除部213は、削除対象となるトランザクションデータから当該トランザクションデータを除外する。
有体物の位置との関係で削除対象となるトランザクションデータが適切である場合(ステップS1212/Yes)、データ削除部213は、削除対象となるトランザクションデータから当該トランザクションデータを除外しない。データ削除装置200の各機能構成は、上記のステップS1204〜ステップS1212の処理を、ステップS1200にて削除対象として抽出されたトランザクションデータ毎に繰り返す。
その後、データ削除部213は、ステップS1216にて、ブロックチェーンから削除対象であるトランザクションデータを含む第2のデータを削除し、ステップS1220にて、削除対象であるトランザクションデータを示す情報(例えば、トランザクションデータのID、またはトランザクションデータ自体など)を、ブロックチェーンネットワーク400を介して他の情報処理装置にブロードキャストすることで一連の処理が終了する。その後、ブロックチェーンネットワーク400に接続している他のデータ削除装置200に備えられるデータ削除部213による承認処理が行われることで、削除対象のトランザクションデータが正式にブロックチェーンから削除される。
なお、図16〜図19のフローチャートにおける各ステップは、必ずしも記載された順序に沿って時系列に処理される必要はない。すなわち、フローチャートにおける各ステップは、記載された順序と異なる順序で処理されても、並列的に処理されてもよい。
<3.変形例>
上記では、各装置の処理フローの例について説明した。続いて、本開示の変形例として、ブロック間の関連付けの態様に関するバリエーションについて説明する。
上記で説明したとおり、第1の関連データは、直前のブロックの第1のデータと関連付けられたデータであり、第2の関連データは、第1のデータとは異なる第2のデータを少なくとも含むデータと関連付けられたデータである。そして、上記の実施形態においては、第2の関連データは、全ての第1のデータおよび全ての第2のデータを含むデータと関連付けられている(図7などを参照)。
しかし、第2の関連データの態様はこれに限定されない。例えば、図20に示すように、第2の関連データは、一部(図20の例では、第1の関連データ)を除外した第1のデータおよび全ての第2のデータを含むデータと関連付けられてもよい。なお、除外される第1のデータは、第1の関連データに限定されない。例えば、図20におけるナンス、またはトランザクションデータ1aが除外されてもよい。
また、図21に示すように、第2の関連データは、第1のデータを含まず第2のデータのみを含むデータと関連付けられてもよい。例えば、第1の関連データの生成に用いられるナンス(図中では、「第1のナンス」と表記)および第2の関連データの生成に用いられるナンス(図中では、「第2のナンス」と表記)が設けられる場合、図21に示すように、第2の関連データは、第1のデータを含まず第2のデータのみを含むデータと関連付けられてもよい(換言すると、ナンスが複数設けられることによって、第2の関連データは、第1のデータを含まず第2のデータのみを含むデータと関連付けられることができる)。
コンセンサスアルゴリズムとしてPOWが採用されて各ブロックにナンスが含まれる場合、当該ナンスによって改ざんなどの発生が検出され得る。より具体的に説明すると、あるトランザクションデータが改ざんされた場合、当該トランザクションデータと同一のブロックに含まれるナンスは所定の条件(当該ブロックに対して所定のハッシュ関数を適用した場合に出力されるハッシュの先頭の数ビットがすべて“0”になるなど)を満たさなくなるため、不整合が生じることになる。改ざんを行った者がこの不整合を解消するためには、改ざんが行われたブロック以降に連結されたブロックに含まれる全てのナンスを再び探索し直す必要などがあり、処理に要する負荷などの観点から実質的に改ざんが不可能と言われている。
ここで、上記で説明してきた実施形態にて、第2のデータの一部がデータ削除装置200によって削除された場合、当該ブロックに含まれるナンスは所定の条件を満たさなくなるため、不整合が生じることになる。換言すると、上記で説明してきた実施形態においては、第2のデータの一部が削除されると、ナンスを用いて改ざんを検出することが不可能になる。
一方、図20に示したように、第1の関連データの生成に用いられる第1のナンスと、第2の関連データの生成に用いられる第2のナンスが設けられることによって、第2のデータの一部がデータ削除装置200によって削除された場合であっても、当該ブロックに含まれる第1のナンスは所定の条件を満たしたままの状態である。したがって、本変形例においては、第2のデータの一部が削除された後も、第1のナンスを用いて第1のデータの改ざんなどを検出することが可能であるため、本変形例は有用であると言える。
なお、上記で説明したように3種類以上の関連付けが行われる場合、関連付けの種類に応じてナンスが設けられてもよい。より具体的には、例えば、第1の関連データと第2の関連データの他に、第1のデータと第2のデータとは異なる第3のデータを少なくとも含むデータと関連付けられた第3の関連データが設けられた場合、第3の関連データの生成に用いられる第3のナンスがさらに設けられてもよい。
続いて、図22を参照して、本変形例に係るブロック生成装置100によるブロックの生成処理について説明する。図22は、本変形例に係るブロック生成装置100によるブロックの生成処理の具体例を示すフローチャートであり、図17に示したステップS1112の後に行われる一連の処理の具体例を示したものである。
図17のステップS1112までの処理にて、新たなブロックへの追加対象となるトランザクションデータが決定される。その後、図22のステップS1300にて、本変形例に係るブロック生成部113が、所定の条件を満たす第1のナンスと第2のナンスの探索を開始する。例えば、ブロック生成部113は、新たなブロックにおける第1のデータに対して所定のハッシュ関数(例えば、SHA-256、RIPEMD-160など)を適用した場合に出力されるハッシュの先頭の数ビットがすべて“0”になるまでナンスの値を変更していく。また、同様に、ブロック生成部113は、新たなブロックにおける第2のデータに対して所定のハッシュ関数を適用した場合に出力されるハッシュの先頭の数ビットがすべて“0”になるまでナンスの値を変更していく。
ブロック生成部113が所定の条件を満たす第1のナンスを発見し(ステップS1304/Yes)、所定の条件を満たす第2のナンスを発見した場合(ステップS1308/Yes)、ステップS1312にて、ブロック生成部113は、新たなブロックをブロックチェーンへ追加する。そして、ステップS1316にて、ブロック生成部113は、追加対象であるブロックに関する情報(例えば、ブロックの内容、またはブロック自体など)を、ブロックチェーンネットワーク400を介して他の情報処理装置にブロードキャストすることで一連の処理が終了する。その後、ブロックチェーンネットワーク400に接続している他のブロック生成装置100に備えられるブロック生成部113による承認処理が行われることで、新たなブロックが正式にブロックチェーンに追加される。
なお、図22のフローチャートにおける各ステップは、必ずしも記載された順序に沿って時系列に処理される必要はない。すなわち、フローチャートにおける各ステップは、記載された順序と異なる順序で処理されても、並列的に処理されてもよい。
<4.ハードウェア構成例>
上記では、本開示の変形例について説明した。続いて、図23を参照して、各装置のハードウェア構成について説明する。
図23は、ブロック生成装置100、データ削除装置200、またはトランザクション生成装置300のハードウェア構成の一例を示すブロック図である。これらの装置は、図23に示す情報処理装置900によって具現され得る。
情報処理装置900は、例えば、MPU901と、ROM902と、RAM903と、記録媒体904と、入出力インタフェース905と、操作入力デバイス906と、表示デバイス907と、通信インタフェース908とを備える。また、情報処理装置900は、例えば、データの伝送路としてのバス909で各構成要素間を接続する。
MPU901は、例えば、MPUなどの演算回路で構成される、1または2以上のプロセッサや、各種処理回路などで構成され、ブロック生成装置100の処理部110、データ削除装置200の処理部210、またはトランザクション生成装置300の処理部310として機能する。なお、これらの機能構成は、上記で説明した各種処理を実現可能な専用の(または汎用の)回路(例えば、MPU901とは別体のプロセッサなど)で構成されていてもよい。
ROM902は、MPU901が使用するプログラムや演算パラメータなどの制御用データなどを記憶する。RAM903は、例えば、MPU901により実行されるプログラムなどを一時的に記憶する。
記録媒体904は、ブロック生成装置100の記憶部120、データ削除装置200の記憶部220、またはトランザクション生成装置300の記憶部320として機能し、各実施形態に係る情報処理に関するデータや各種プログラムなど様々なデータを記憶する。ここで、記録媒体904としては、例えば、ハードディスクなどの磁気記録媒体や、フラッシュメモリなどの不揮発性メモリが挙げられる。また、記録媒体904は、情報処理装置900から着脱可能であってもよい。
入出力インタフェース905は、例えば、操作入力デバイス906や、表示デバイス907を接続する。ここで、入出力インタフェース905としては、例えば、USB(Universal Serial Bus)端子や、DVI(Digital Visual Interface)端子、HDMI(High-Definition Multimedia Interface)(登録商標)端子、各種処理回路などが挙げられる。
また、操作入力デバイス906は、例えば、情報処理装置900上に備えられ、情報処理装置900の内部で入出力インタフェース905と接続される。操作入力デバイス906としては、例えば、キーボード、マウス、キーパッド、タッチパネル、マイクロホン、操作ボタン、方向キーまたはジョグダイヤルなどの回転型セレクタ、あるいは、これらの組み合わせなどが挙げられる。
また、表示デバイス907は、例えば、情報処理装置900上に備えられ、情報処理装置900の内部で入出力インタフェース905と接続される。表示デバイス907としては、例えば、液晶ディスプレイ(Liquid Crystal Display)や有機ELディスプレイ(Organic Electro-Luminescence Display)などが挙げられる。
なお、入出力インタフェース905が、情報処理装置900の外部の操作入力デバイスや外部の表示デバイスなどの外部デバイスと接続することも可能であることは、言うまでもない。また、表示デバイス907は、例えばタッチパネルなど、表示とユーザ操作とが可能なデバイスであってもよい。
通信インタフェース908は、情報処理装置900が備える通信手段であり、ブロック生成装置100の通信部130、データ削除装置200の通信部230、またはトランザクション生成装置300の通信部330として機能する。また、通信インタフェース908は、任意のネットワークを介して(あるいは、直接的に)、例えば、サーバなどの任意の外部装置と、無線または有線で通信を行う機能を有していてもよい。ここで、通信インタフェース908としては、例えば、通信アンテナおよびRF(Radio Frequency)回路(無線通信)や、IEEE802.15.1ポートおよび送受信回路(無線通信)、IEEE802.11ポートおよび送受信回路(無線通信)、あるいはLAN(Local Area Network)端子および送受信回路(有線通信)などが挙げられる。
なお、情報処理装置900のハードウェア構成は、図23に示す構成に限られない。例えば、情報処理装置900は、接続されている外部の通信デバイスを介して通信を行う場合には、通信インタフェース908を備えていなくてもよい。また、通信インタフェース908は、複数の通信方式によって通信を行うことが可能な構成であってもよい。また、情報処理装置900は、例えば、操作入力デバイス906または表示デバイス907等を備えなくてもよい。また、例えば、図23に示す構成の一部または全部は、1または2以上のIC(Integrated Circuit)で実現されてもよい。
<5.まとめ>
以上で説明してきたように、ブロック生成装置100は、直前のブロックに含まれた少なくとも一部のデータである第1のデータと関連付けられた第1の関連データ(例えば、第1のデータのハッシュ)と、直前のブロックに含まれたデータであって、第1のデータとは異なる第2のデータを少なくとも含むデータと関連付けられた第2の関連データ(例えば、第1のデータとは異なる第2のデータを少なくとも含むデータのハッシュ)と、を含むブロックを生成し、当該ブロックをブロックチェーンに連結する。その際、ブロック生成装置100は、トランザクションデータに対応付けられた生成元情報に基づいて生成元が有する権限情報を確認し、権限情報の確認結果に基づいて生成対象となるブロックに当該トランザクションデータを含めるか否かを判断する。また、ブロック生成装置100は、トランザクションデータに対応付けられた、当該トランザクションデータに対応する有体物の位置情報を確認し、位置情報の確認結果に基づいて生成対象となるブロックに当該トランザクションデータを含めるか否かを判断する。
そして、データ削除装置200は、ブロックチェーンに連結された一部のブロックから第2のデータの少なくとも一部を削除する。その際、データ削除装置200は、トランザクションデータの削除に要する権限情報を確認し、権限情報の確認結果に基づいて当該トランザクションデータを削除するか否かを判断する。また、データ削除装置200は、トランザクションデータに対応付けられた位置情報を確認し、位置情報の確認結果に基づいて当該トランザクションデータを削除するか否かを判断する。そして、トランザクションデータを削除することを決定したデータ削除装置200は、位置情報に基づいて決まる区間に存在する第2のデータの少なくとも一部を削除する。
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
なお、以下のような構成も本開示の技術的範囲に属する。
(1)
直前のブロックに含まれた少なくとも一部のデータである第1のデータと関連付けられた第1の関連データと、前記直前のブロックに含まれたデータであって、前記第1のデータとは異なる第2のデータを少なくとも含むデータと関連付けられた第2の関連データと、を含み、ブロックチェーンに連結されるブロックを生成するブロック生成部を備える、
情報処理装置。
(2)
前記第1のデータまたは前記第2のデータに含まれるトランザクションデータに対応付けられた、前記トランザクションデータの生成元を示す情報に基づいて前記生成元が有する権限情報を確認する権限確認部をさらに備え、
前記ブロック生成部は、前記権限情報の確認結果に基づいて生成対象となるブロックに前記トランザクションデータを含めるか否かを判断する、
前記(1)に記載の情報処理装置。
(3)
前記第1のデータまたは前記第2のデータに含まれるトランザクションデータに対応付けられた、前記トランザクションデータに対応する有体物の位置情報を確認する位置確認部をさらに備え、
前記ブロック生成部は、前記位置情報の確認結果に基づいて生成対象となるブロックに前記トランザクションデータを含めるか否かを判断する、
前記(1)または(2)に記載の情報処理装置。
(4)
前記位置情報は、前記トランザクションデータが生成された時点、または前記時点の前後所定時間内における前記有体物の位置を示す情報である、
前記(3)に記載の情報処理装置。
(5)
前記有体物は、流通の対象となる物品であり、
前記トランザクションデータは、前記物品の流通過程で生成されるデータを含む、
前記(3)または(4)に記載の情報処理装置。
(6)
直前のブロックに含まれた少なくとも一部のデータである第1のデータと関連付けられた第1の関連データと、前記直前のブロックに含まれたデータであって、前記第1のデータとは異なる第2のデータを少なくとも含むデータと関連付けられた第2の関連データと、を含み、ブロックチェーンに連結されるブロックを生成すること、を有する、
コンピュータにより実行される情報処理方法。
(7)
直前のブロックに含まれた少なくとも一部のデータである第1のデータと関連付けられた第1の関連データと、前記直前のブロックに含まれたデータであって、前記第1のデータとは異なる第2のデータを少なくとも含むデータと関連付けられた第2の関連データと、を含み、ブロックチェーンに連結されるブロックを生成すること
をコンピュータに実現させるためのプログラム。
(8)
直前のブロックに含まれた少なくとも一部のデータである第1のデータと関連付けられた第1の関連データと、前記直前のブロックに含まれたデータであって、前記第1のデータとは異なる第2のデータを少なくとも含むデータと関連付けられた第2の関連データと、を含み、ブロックチェーンに連結された一部のブロックから前記第2のデータの少なくとも一部を削除するデータ削除部を備える、
情報処理装置。
(9)
前記データ削除部は、前記第2のデータに含まれるトランザクションデータを少なくとも削除する、
前記(8)に記載の情報処理装置。
(10)
前記第2のデータに含まれるトランザクションデータの削除に要する権限情報を確認する権限確認部をさらに備え、
前記データ削除部は、前記権限情報の確認結果に基づいて前記トランザクションデータを削除するか否かを判断する、
前記(9)に記載の情報処理装置。
(11)
前記第2のデータに含まれるトランザクションデータに対応付けられた、前記トランザクションデータに対応する有体物の位置情報を確認する位置確認部をさらに備え、
前記データ削除部は、前記位置情報の確認結果に基づいて前記トランザクションデータを削除するか否かを判断する、
前記(9)または(10)に記載の情報処理装置。
(12)
前記位置情報は、前記トランザクションデータが生成された時点、または前記時点の前後所定時間内における前記有体物の位置を示す情報である、
前記(11)に記載の情報処理装置。
(13)
前記データ削除部は、前記位置情報に基づいて決まる区間に対応する前記トランザクションデータの少なくとも一部を削除する、
前記(11)または(12)に記載の情報処理装置。
(14)
前記有体物は、流通の対象となる物品であり、
前記トランザクションデータは、前記物品の流通過程の情報に関連付けられたデータを含む、
前記(13)に記載の情報処理装置。
(15)
前記区間は、前記流通の始端と終端に対応する区間である、
前記(14)に記載の情報処理装置。
(16)
前記データ削除部は、前記第2のデータに含まれる前記トランザクションデータを削除し、前記第1のデータを維持する、
前記(9)から(15)のいずれか1項に記載の情報処理装置。
(17)
前記第1のデータは、前記第2のデータからは独立したデータであるブロックチェーンのナンスデータを含み、
前記第2の関連データは、前記第1のデータに含まれる前記ブロックチェーンのナンスデータに関連付けられたハッシュデータであり、
前記データ削除部は、前記第2のデータに含まれる前記トランザクションデータと前記第2の関連データを少なくとも削除する、
前記(16)に記載の情報処理装置。
(18)
直前のブロックに含まれた少なくとも一部のデータである第1のデータと関連付けられた第1の関連データと、前記直前のブロックに含まれたデータであって、前記第1のデータとは異なる第2のデータを少なくとも含むデータと関連付けられた第2の関連データと、を含み、ブロックチェーンに連結された一部のブロックから前記第2のデータの少なくとも一部を削除すること、を有する、
コンピュータにより実行される情報処理方法。
(19)
直前のブロックに含まれた少なくとも一部のデータである第1のデータと関連付けられた第1の関連データと、前記直前のブロックに含まれたデータであって、前記第1のデータとは異なる第2のデータを少なくとも含むデータと関連付けられた第2の関連データと、を含み、ブロックチェーンに連結された一部のブロックから前記第2のデータの少なくとも一部を削除すること
をコンピュータに実現させるためのプログラム。
100 ブロック生成装置
110 処理部
111 権限確認部
112 位置確認部
113 ブロック生成部
120 記憶部
121 共有データ
122 トランザクション記憶部
123 ブロックチェーン
130 通信部
200 データ削除装置
210 処理部
211 権限確認部
212 位置確認部
213 データ削除部
220 記憶部
221 共有データ
222 トランザクション記憶部
223 ブロックチェーン
230 通信部
300 トランザクション生成装置
310 処理部
311 位置確認部
312 トランザクション生成部
320 記憶部
321 共有データ
322 トランザクション記憶部
323 ブロックチェーン
400 ブロックチェーンネットワーク

Claims (19)

  1. 直前のブロックに含まれた少なくとも一部のデータである第1のデータと関連付けられた第1の関連データと、前記直前のブロックに含まれたデータであって、前記第1のデータとは異なる第2のデータを少なくとも含むデータと関連付けられた第2の関連データと、を含み、ブロックチェーンに連結されるブロックを生成するブロック生成部を備える、
    情報処理装置。
  2. 前記第1のデータまたは前記第2のデータに含まれるトランザクションデータに対応付けられた、前記トランザクションデータの生成元を示す情報に基づいて前記生成元が有する権限情報を確認する権限確認部をさらに備え、
    前記ブロック生成部は、前記権限情報の確認結果に基づいて生成対象となるブロックに前記トランザクションデータを含めるか否かを判断する、
    請求項1に記載の情報処理装置。
  3. 前記第1のデータまたは前記第2のデータに含まれるトランザクションデータに対応付けられた、前記トランザクションデータに対応する有体物の位置情報を確認する位置確認部をさらに備え、
    前記ブロック生成部は、前記位置情報の確認結果に基づいて生成対象となるブロックに前記トランザクションデータを含めるか否かを判断する、
    請求項1に記載の情報処理装置。
  4. 前記位置情報は、前記トランザクションデータが生成された時点、または前記時点の前後所定時間内における前記有体物の位置を示す情報である、
    請求項3に記載の情報処理装置。
  5. 前記有体物は、流通の対象となる物品であり、
    前記トランザクションデータは、前記物品の流通過程で生成されるデータを含む、
    請求項3に記載の情報処理装置。
  6. 直前のブロックに含まれた少なくとも一部のデータである第1のデータと関連付けられた第1の関連データと、前記直前のブロックに含まれたデータであって、前記第1のデータとは異なる第2のデータを少なくとも含むデータと関連付けられた第2の関連データと、を含み、ブロックチェーンに連結されるブロックを生成すること、を有する、
    コンピュータにより実行される情報処理方法。
  7. 直前のブロックに含まれた少なくとも一部のデータである第1のデータと関連付けられた第1の関連データと、前記直前のブロックに含まれたデータであって、前記第1のデータとは異なる第2のデータを少なくとも含むデータと関連付けられた第2の関連データと、を含み、ブロックチェーンに連結されるブロックを生成すること
    をコンピュータに実現させるためのプログラム。
  8. 直前のブロックに含まれた少なくとも一部のデータである第1のデータと関連付けられた第1の関連データと、前記直前のブロックに含まれたデータであって、前記第1のデータとは異なる第2のデータを少なくとも含むデータと関連付けられた第2の関連データと、を含み、ブロックチェーンに連結された一部のブロックから前記第2のデータの少なくとも一部を削除するデータ削除部を備える、
    情報処理装置。
  9. 前記データ削除部は、前記第2のデータに含まれるトランザクションデータを少なくとも削除する、
    請求項8に記載の情報処理装置。
  10. 前記トランザクションデータの削除に要する権限情報を確認する権限確認部をさらに備え、
    前記データ削除部は、前記権限情報の確認結果に基づいて前記トランザクションデータを削除するか否かを判断する、
    請求項9に記載の情報処理装置。
  11. 前記トランザクションデータに対応付けられた、前記トランザクションデータに対応する有体物の位置情報を確認する位置確認部をさらに備え、
    前記データ削除部は、前記位置情報の確認結果に基づいて前記トランザクションデータを削除するか否かを判断する、
    請求項9に記載の情報処理装置。
  12. 前記位置情報は、前記トランザクションデータが生成された時点、または前記時点の前後所定時間内における前記有体物の位置を示す情報である、
    請求項11に記載の情報処理装置。
  13. 前記データ削除部は、前記位置情報に基づいて決まる区間に対応する前記トランザクションデータの少なくとも一部を削除する、
    請求項11に記載の情報処理装置。
  14. 前記有体物は、流通の対象となる物品であり、
    前記トランザクションデータは、前記物品の流通過程の情報に関連付けられたデータを含む、
    請求項13に記載の情報処理装置。
  15. 前記区間は、前記流通の始端と終端に対応する区間である、
    請求項14に記載の情報処理装置。
  16. 前記データ削除部は、前記第2のデータに含まれる前記トランザクションデータを削除し、前記第1のデータを維持する、
    請求項9に記載の情報処理装置。
  17. 前記第1のデータは、前記第2のデータからは独立したデータであるブロックチェーンのナンスデータを含み、
    前記第2の関連データは、前記第1のデータに含まれる前記ブロックチェーンのナンスデータに関連付けられたハッシュデータであり、
    前記データ削除部は、前記第2のデータに含まれる前記トランザクションデータと前記第2の関連データを少なくとも削除する、
    請求項16に記載の情報処理装置。
  18. 直前のブロックに含まれた少なくとも一部のデータである第1のデータと関連付けられた第1の関連データと、前記直前のブロックに含まれたデータであって、前記第1のデータとは異なる第2のデータを少なくとも含むデータと関連付けられた第2の関連データと、を含み、ブロックチェーンに連結された一部のブロックから前記第2のデータの少なくとも一部を削除すること、を有する、
    コンピュータにより実行される情報処理方法。
  19. 直前のブロックに含まれた少なくとも一部のデータである第1のデータと関連付けられた第1の関連データと、前記直前のブロックに含まれたデータであって、前記第1のデータとは異なる第2のデータを少なくとも含むデータと関連付けられた第2の関連データと、を含み、ブロックチェーンに連結された一部のブロックから前記第2のデータの少なくとも一部を削除すること
    をコンピュータに実現させるためのプログラム。
JP2018104546A 2018-05-31 2018-05-31 情報処理装置、情報処理方法、およびプログラム Pending JP2019211821A (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2018104546A JP2019211821A (ja) 2018-05-31 2018-05-31 情報処理装置、情報処理方法、およびプログラム
PCT/JP2019/020363 WO2019230540A1 (ja) 2018-05-31 2019-05-22 情報処理装置、情報処理方法、およびプログラム
EP19812010.7A EP3805970A4 (en) 2018-05-31 2019-05-22 INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING PROCESS AND PROGRAM
US17/057,889 US20210203478A1 (en) 2018-05-31 2019-05-22 Information processing device, information processing method, and program
CN201980034639.2A CN112166426A (zh) 2018-05-31 2019-05-22 信息处理装置、信息处理方法和程序

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018104546A JP2019211821A (ja) 2018-05-31 2018-05-31 情報処理装置、情報処理方法、およびプログラム

Publications (1)

Publication Number Publication Date
JP2019211821A true JP2019211821A (ja) 2019-12-12

Family

ID=68697345

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018104546A Pending JP2019211821A (ja) 2018-05-31 2018-05-31 情報処理装置、情報処理方法、およびプログラム

Country Status (5)

Country Link
US (1) US20210203478A1 (ja)
EP (1) EP3805970A4 (ja)
JP (1) JP2019211821A (ja)
CN (1) CN112166426A (ja)
WO (1) WO2019230540A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117677947A (zh) * 2021-08-05 2024-03-08 松下电器(美国)知识产权公司 控制方法、服务器以及程序

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180096175A1 (en) * 2016-10-01 2018-04-05 James L. Schmeling Blockchain Enabled Packaging
US20170243159A1 (en) * 2014-03-05 2017-08-24 Co Vouch, Llc Tracking Systems And Methods For Commodities
US9436923B1 (en) * 2015-02-26 2016-09-06 Skuchain, Inc. Tracking unitization occurring in a supply chain
JP6355168B2 (ja) 2015-11-09 2018-07-11 日本電信電話株式会社 ブロックチェーン生成装置、ブロックチェーン生成方法、ブロックチェーン検証装置、ブロックチェーン検証方法およびプログラム
US10022613B2 (en) * 2016-05-02 2018-07-17 Bao Tran Smart device
JP6649173B2 (ja) * 2016-05-17 2020-02-19 日本電信電話株式会社 仮想通貨管理方法及び仮想通貨管理プログラム
US20180108024A1 (en) * 2016-06-03 2018-04-19 Chronicled, Inc Open registry for provenance and tracking of goods in the supply chain
DE102016007472A1 (de) * 2016-06-18 2017-12-21 Michael Jeschke Verfahren zur Registrierung von multiplen Fahrzeugdaten in einer Blockchain und Sicherung gegen nachträgliche Änderungen
JP6571609B2 (ja) * 2016-07-28 2019-09-04 Kddi株式会社 ブロックチェーンを作成するシステム及びプログラム
CN106686008B (zh) * 2017-03-03 2019-01-11 腾讯科技(深圳)有限公司 信息存储方法及装置

Also Published As

Publication number Publication date
EP3805970A1 (en) 2021-04-14
US20210203478A1 (en) 2021-07-01
WO2019230540A1 (ja) 2019-12-05
CN112166426A (zh) 2021-01-01
EP3805970A4 (en) 2021-08-04

Similar Documents

Publication Publication Date Title
CN112005233A (zh) 基于恶意软件攻击检测的还原点选择
WO2009093518A1 (ja) サーバ、システム、及びコンテンツ表示制御方法
CN111919213A (zh) 受恶意软件影响的文件的用户验证
US20130085968A1 (en) Method and system for secure mobile printing
US9330275B1 (en) Location based decryption
US8290473B2 (en) Remotely modifying data in memory in a mobile device
JP2009009541A (ja) 認証システム、端末、サーバ、認証方法、及びプログラム
JP5973808B2 (ja) 情報処理装置、端末装置、情報処理システム、情報処理方法およびコンピュータプログラム
WO2019193820A1 (ja) 情報処理装置、情報処理方法、およびプログラム
JP2016012210A (ja) 文書管理装置及びプログラム
WO2019230540A1 (ja) 情報処理装置、情報処理方法、およびプログラム
JP6399549B2 (ja) 電子チケットの誤使用を防止する方法及びシステム
JP2006244381A (ja) 電子商取引システム、電子商取引サーバ、及び電子商取引管理プログラム
CN107924446A (zh) 安全计算系统记录转移控制
US20210409225A1 (en) Contract apparatus and method of blockchain using location information
CN103914505B (zh) 信息管理方法和信息管理装置
US20200184430A1 (en) Electronic ticket management system, electronic ticket management method and electronic ticket management program
WO2018211834A1 (ja) 情報処理装置および情報処理方法
US10165019B2 (en) Shared experience information construction system
JP2009251624A (ja) 行先検知サーバ、行先検知方法、行先検知プログラム及び記録媒体
CN112715018B (zh) 信息处理装置、信息处理方法和程序
JP4518052B2 (ja) 追跡システム、追跡方法、および追跡プログラム
JP6115391B2 (ja) 端末装置、認証装置、認証処理システムおよび認証処理方法
CN116414841A (zh) 数据库更新方法、装置、电子设备、介质和产品
WO2016101304A1 (zh) 智能电视终端及其锁定方法