(57)【要約】      （修正有）【課題】物流取引記録において、出所情報を安全にするコンピュータの実行方法を提供する。【解決手段】所在管理システムは、エンティティ・アカウントを認証して、公開識別鍵と、エンティティ・アカウントに関連付けられている識別アドレスを登録する。暗号署名をその上に有している物流取引記録から受信する。暗号署名を公開識別鍵に対して認証し、かつ、物流取引記録を、ブロック・チェーンを実装する分散型コンセンサス・システムに発行する。ブロック・チェーンの各ブロックは、互いにシーケンスの状態にあり、かつ物流取引記録のシーケンスが、暗号によって否認不可であることを確保するために、一つ以上の物流取引記録を含む。【選択図】図４
2020074513.tif 000002
【特許請求の範囲】
【請求項１】
出所情報を安全にするコンピュータの実行方法であって、
コンピュータ・システムが、第一の識別アドレスに関連付けられている第一のエンティティ・アカウントと、第一の公開鍵と、第一の秘密鍵とを認証するステップであって、前記第一の公開鍵が前記第一の秘密鍵に対応している、ステップと、
前記コンピュータ・システムが、前記第一の識別アドレスと、前記第一のエンティティ・アカウントに関連付けられている前記第一の公開鍵とを登録するステップと、
前記コンピュータ・システムが、第二の識別アドレスに関連付けられている第二のエンティティ・アカウントと、第二の公開鍵と、第二の秘密鍵とを認証するステップと、
前記コンピュータ・システムが、前記第二の識別アドレスと、前記第二のエンティティ・アカウントに関連付けられている前記第二の公開鍵と、秘密出所の証明（proof-of-provenance）コード（「popコード」）鍵に関連付けられているpopコード・アドレスとを登録するステップと、
前記コンピュータ・システムが、第一の暗号署名を有する第一の物流取引記録を受信するステップであって、前記第一の物流取引記録が、前記第一の識別アドレスとして第一の発送元アドレスを示す、ステップと、
前記コンピュータ・システムが、前記第一の公開鍵に対して前記第一の暗号署名を認証することにより、前記第一の暗号署名が、前記第一のエンティティ・アカウントにより生成されていることを、検証するステップと、
前記コンピュータ・システムが、第二の暗号署名を有する第二の物流取引記録を受信するステップであって、前記第二の物流取引記録が、前記第二の識別アドレスとして宛先アドレスを、および前記popコード・アドレスとして第二の発送元アドレスを示す、ステップと、
前記コンピュータ・システムが、前記popコード・アドレスに対応する公開popコード鍵を識別するステップと、
前記コンピュータ・システムが、前記第二の公開鍵および前記popコード・アドレスに対応する前記公開popコード鍵に対して前記第二の暗号署名を認証することにより、前記第二の暗号署名が、前記第二のエンティティ・アカウントにより生成されることを、検証するステップと、
前記コンピュータ・システムが、前記第一の物流取引記録および前記第二の物流取引を、分散型コンピュータ・システムに格納されている耐改竄性ブロック・チェーンに発行するステップと、
を備える、コンピュータの実行方法。
【請求項２】
前記第一の物流取引記録が、一つ以上の発送元アドレスのリストを含み、
前記発送元アドレスの各々が、エンティティに対応する識別アドレス、又は唯一のpopコード・ラベルに対応する前記popコード・アドレスの何れかである、
請求項１に記載のコンピュータの実行方法。
【請求項３】
前記第一の物流取引記録が、一つ以上の宛先アドレスの宛先リストを含み、
前記宛先アドレスの各々が、エンティティに対応する識別アドレス、又は唯一のpopコード・ラベルに対応する前記popコード・アドレスの何れかである、
請求項１に記載のコンピュータの実行方法。
【請求項４】
前記第一の物流取引記録が、在庫管理単位(SKU)値識別子を含み、
前記SKU値識別子が、少なくとも、アイテム・タイプ及び前記アイテム・タイプの量を記述する、
請求項１に記載のコンピュータの実行方法。
【請求項５】
前記分散型コンピュータ・システムに格納されている前記耐改竄性ブロック・チェーンが、前記ブロック・チェーン内に、一つ以上の発送元アドレスおよび一つ以上の宛先アドレスを含む多くの取引アドレスが記載されている物流取引記録を含み、そして、
更に、前記取引アドレスのエージェントによってなされた暗号署名を検証するために、前記取引アドレスにそれぞれ対応する一つ以上の公開暗号鍵をストレージに格納するように構成されている、信頼されているストレージを保持するステップを、備える、
請求項１に記載のコンピュータの実行方法。
【請求項６】
コンピュータ・システムにより実行される、出所情報を安全にするためのコンピュータの実行方法であって、
識別アドレスに関連付けられているエンティティ・アカウントと、公開鍵と、秘密鍵とを認証するステップと、
公開鍵と、前記エンティティ・アカウントに関連付けられている識別アドレスとを登録するステップであって、前記公開鍵が、秘密鍵に対応している、ステップと、
物流取引記録を受信するステップであって、前記物流取引記録が、その宛先アドレスとして前記識別アドレスと、前記秘密鍵に基づく第一の暗号署名と、出所の証明コード（「popコード」）・ラベル内に収容されている前記popコード鍵に基づく第二の暗号署名とを含む、ステップと、
前記識別アドレスに対応する前記公開鍵を識別するステップと、
前記公開鍵に対して前記第一の暗号署名を認証することにより、前記第一の暗号署名が、前記エンティティ・アカウントにより生成されていることを検証するステップと、
前記popコードに対応する公開popコード鍵を識別するステップと、
前記公開鍵に対して前記第二の暗号署名を認証することにより、前記第二の暗号署名が、前記popコード・ラベル内に収容されている前記秘密popコード鍵に基づいていることを検証するステップと、
分散型コンピュータ・システムに格納されている耐改竄性ブロック・チェーンに、前記物流取引を発行するステップと、
を備えるコンピュータの実行方法。
【請求項７】
前記物流取引記録が、一つ以上の発送元アドレスの発送元リストを含み、
前記発送元アドレスの各々が、エンティティに対応する識別アドレス、又は唯一のpopコード・ラベルに対応する前記popコード・アドレスの何れかである、
請求項６に記載のコンピュータの実行方法。
【請求項８】
前記物流取引記録が、一つ以上の宛先アドレスの宛先リストを含み、
前記宛先アドレスの各々が、エンティティに対応する識別アドレス、又は唯一のpopコード・ラベルに対応する前記popコード・アドレスの何れかである、
請求項６に記載のコンピュータの実行方法。
【請求項９】
前記物流取引記録が、在庫管理単位(SKU)値識別子を含み、
前記SKU値識別子が、少なくとも、アイテム・タイプ及び前記アイテム・タイプの量を記述する、
請求項１に記載のコンピュータの実行方法。
【請求項１０】
前記分散型コンピュータ・システムに格納されている耐改竄性ブロック・チェーンが、前記ブロック・チェーン内に、一つ以上の発送元アドレスおよび一つ以上の宛先アドレスを含む多くの取引アドレスが記載されている物流取引記録を含み、
更に、前記取引アドレスのエージェントによってなされた暗号署名を検証するために、前記取引アドレスにそれぞれ対応する一つ以上の公開暗号鍵をストレージに格納するように構成されている、信頼されているストレージを保持するステップを、備える、
請求項６に記載のコンピュータの実行方法。
【請求項１１】
プロセッサによって実行される、作動可能である実行可能な命令を格納するメモリ・モジュールを備えるコンピュータ可読データ格納装置であって、
前記メモリ・モジュールが、
第一の識別アドレスに関連付けられている第一のエンティティ・アカウントと、第一の公開鍵と、第一の秘密鍵とを認証する命令であって、前記第一の公開鍵が前記第一の秘密鍵に対応している、実行可能な命令と、
前記第一の識別アドレスと、前記第一のエンティティ・アカウントに関連付けられている前記第一の公開鍵とを登録する実行可能な命令と、
第二の識別アドレスに関連付けられている第二のエンティティ・アカウントと、第二の公開鍵と、第二の秘密鍵とを認証する実行可能な命令と、
前記第二の識別アドレスと、前記第二のエンティティ・アカウントに関連付けられている前記第二の公開鍵と、秘密出所の証明（proof-of-provenance）コード（「popコード」）鍵に関連付けられているpopコード・アドレスとを登録する実行可能な命令と、
第一の暗号署名を有する第一の物流取引記録を受信する命令であって、前記第一の物流取引記録が、前記第一の識別アドレスとして第一の発送元アドレスを示す、実行可能な命令と、
前記第一の公開鍵に対して前記第一の暗号署名を認証することにより、前記第一の暗号署名が、前記第一のエンティティ・アカウントにより生成されていることを、検証する実行可能な命令と、
第二の暗号署名を有する第二の物流取引記録を受信する命令であって、前記第二の物流取引記録が、前記第二の識別アドレスとして宛先アドレスを、および前記popコード・アドレスとして第二の発送元アドレスを示す、実行可能な命令と、
前記popコード・アドレスに対応する公開popコードを識別する実行可能な命令と、
前記第二の公開鍵および前記popコード・アドレスに対応する前記公開popコード鍵に対して前記第二の暗号署名を認証することにより、前記第二の暗号署名が、前記第二のエンティティ・アカウントにより生成されていることを、検証する実行可能な命令と、
前記第一の物流取引記録および前記第二の物流取引を分散型コンピュータ・システムに格納されている耐改竄性ブロック・チェーンに発行する実行可能な命令と
を格納する、コンピュータ可読データ格納装置。
【請求項１２】
前記メモリ・モジュールが、更に、
popコード・アドレスを有する、在庫管理単位(SKU)値識別子に関する前記第一の物流取引記録を生成する実行可能な命令を備える、
請求項１１に記載のコンピュータ可読データ格納装置。
【請求項１３】
前記メモリ・モジュールが、更に、
前記popコードを走査して、発送元アドレスとして加えるためpopコード・アドレスを、または前記第一の物流取引記録の宛先アドレスを決定する実行可能な命令を備える、
請求項１２に記載のコンピュータ可読データ格納装置。
【請求項１４】
前記メモリ・モジュールが、更に、
前記第一の物流取引記録を、前記耐改竄性ブロック・チェーンを実行する分布型コンセンサス・システムに、直接または間接に、送信する実行可能な命令を備え、
前記物流取引記録のシーケンスが、暗号によって確実に否認不可となるように、前記ブロック・チェーン内の各ブロックが、一つ以上の物流取引記録を収容している、
請求項１１に記載のコンピュータ可読データ格納装置。
【請求項１５】
前記メモリ・モジュールが、更に、
前記耐改竄性ブロック・チェーン内の前記SKUパッケージを追跡して、前記SKUパッケージに関する子の物流取引を識別する実行可能な命令を備える、
請求項１２に記載のコンピュータ可読データ格納装置。
【請求項１６】
前記メモリ・モジュールが、更に、
前記出所管理システムにより登録された秘密識別鍵および前記公開識別鍵を含む暗号鍵の対を生成し、かつ前記メモリ・モジュールに前記秘密識別鍵を格納する実行可能な命令を備える、
請求項１１に記載のコンピュータ可読データ格納装置。
【請求項１７】
前記メモリ・モジュールが、更に、
前記SKUパッケージの供給発送元が、出所管理システムにおいてブラックリストに挙げられると、前記出所管理システムが通知を受信する予約をする命令を含む、
請求項１２に記載のコンピュータ可読データ格納装置。
【請求項１８】
前記メモリ・モジュールが、更に、
前記SKUパッケージの供給発送元が、物流取引記録の祖先物流取引又は物流取引記録の子孫物流取引に関係するエンティティ・アカウントによって、出所管理システムにおいてブラックリストに挙げられると、前記出所管理システムが通知を受信する予約をする命令を含む、
請求項１２に記載のコンピュータ可読データ格納装置。
【請求項１９】
前記第一の物流取引記録が、一つ以上の発送元アドレスのリストを含み、
前記発送元アドレスの各々が、エンティティに対応する識別アドレス、又は唯一のpopコード・ラベルに対応する前記popコード・アドレスの何れかである、
請求項１１に記載のコンピュータ可読データ格納装置。
【請求項２０】
前記第一の物流取引記録が、一つ以上の宛先アドレスの宛先リストを含み、
前記宛先アドレスの各々が、エンティティに対応する識別アドレス、又は唯一のpopコード・ラベルに対応する前記popコード・アドレスの何れかである、
請求項１１に記載のコンピュータ可読データ格納装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この開示の少なくとも一つの実施態様は、一般には、物流データ管理に、特に、供給チェーンにおける出所を検証することに関する。
【背景技術】
【０００２】
物流とは、最終顧客、製造業者、又はそれらの間にある任意の流通ノードの要求を満たすために、出荷地と消費地の間の移動可能なアイテムの流れを管理することである。物流データ管理システムの目的の一つは、出荷元から消費地までの供給チェーン全体に渡って商品の出所を追跡することによってセキュリティを確保することである。しかしながら、その供給元によって提供された出所情報が信用することが出来ないものである場合には、各会社（例えば、供給チェーン内の流通ノード）による出所の追跡は、失敗する。消費者は、欠陥又は失敗の発生源を追究することが出来ず、かつ受領したアイテムに関するブランドには一貫した信頼を置くことができないことになるので、このことは、消費者を不安にさせる問題となる。
【０００３】
要約
出所を追跡する一つ以上の暗号方法について、様々な実施態様が、記載されている。「出所」とは、ある量の商品の出所の真正な識別を意味する。出所の追跡は、コンピュータ・システム（例えば、一つ以上のコンピュータ・サーバ又は他のコンピューティング・デバイス）（以下、これを「出所管理システム」と呼ぶ）によって実現することが出来る。出所管理システムは、その物流プラットホームに参加する一つ以上の参加者エンティティの一つ以上のプロフィールを保持することが出来る。各プロフィールは、参加者エンティティに対応する少なくとも公開識別鍵（例えば、非対称暗号方式の公開鍵）を含むことが出来る。公開識別鍵は、参加者エンティティによってなされる如何なる暗号署名の検証にも使用される。
【０００４】
第一の会社が第一の量の商品を製造すると、第一の会社によって制御されている第一のコンピューティング・デバイスは、第一の量の商品の所有権を物流取引記録により公開レジャー(ledger)・データベースに報告することが出来る。公開レジャー・データベースは、分散された態様で物流取引記録を格納することが出来る。第一のコンピューティング・デバイスは、出所管理システムを介して物流取引記録を公開レジャー・データベースに報告することが出来る。第一のコンピューティング・デバイスは、その秘密暗号鍵により、この物流取引に暗号署名することが出来る。
【０００５】
第一の会社が、その様々な顧客に第一の量の商品を配送する準備ができると、第一のコンピューティング・デバイスは、出所管理システム又はそのエージェントに出所の証明（a proof of provenance code）コード（以下、「popコード」）ラベルを要請することが出来る。このpopコード・アドレスは、物流取引記録に暗号署名するために使用される秘密popコード鍵を符号化する。出所管理システムは、それが、秘密popコード鍵によりなされた署名を検証する（例えば、それ故、出所の証明(proof-of-possession)を確立する）ことが出来るように、秘密popコード鍵に対応する公開popコード鍵を、信頼できるストアに格納することが出来る。幾つかの実施態様では、出所管理システムは、popコード鍵の対を、その信頼できるストアに格納することが出来る。例えば、popコード・アドレスは、二次元バーコードのような32ビット・バーコードとすることが出来る。幾つかの実施態様では、第一のコンピューティング・デバイスは、その商品にラベル付けをするために、一定量のpopコード・アドレスを要請することが出来る。第一のコンピューティング・デバイスは、第二の量の商品をpopコード・アドレスに割当てる物流取引記録を公開レジャー・データベースに報告することが出来る。第二の量の商品は、少なくとも部分的に第一の量の商品と重複することも可能である。
【０００６】
出所管理システムは、多数の委託（delegation）ノード（例えば、コンピューティング・デバイス）を備える分散型コンセンサス・システムと対話することによって、公開レジャー・データベースを保持することが出来る。例えば、公開レジャー・データベースは、分散された態様でブロック・チェーンとして保持させることが出来る。ブロック・チェーンは、出所管理システムによって保持されている物流プラットホーム内で発生する全ての承認された物流取引を追跡している。物流取引とは、会社内で又は会社間で発生する定量化された商品のインベントリ記録である。物流取引は、一つ以上のタイプのアイテムに関連付けられている一つ以上のアイテムの量を規定することが出来る。物流取引は、例えば、現在の物流取引に記載されているアイテムの量の少なくともサブセットが由来する一つ以上前の物流取引を参照することによって、アイテムの発送元を規定することが出来る。物流取引は、アイテムが割当てられている宛先アドレス（例えば、識別アドレス又はpopコード・アドレス）を規定することが出来る。
【０００７】
幾つかの実施態様では、ブロック・チェーンは、分散型コンセンサス・システムにより物流取引を確認する。分散型コンセンサス・システムは、待状態の物流取引をブロック・チェーンに含ませることによって、それらを確認する。分散型コンセンサス・システムは、ブロック・チェーンにおける時間順を実行し、それにより、公開レジャー・データベースを実装するコンピューティング・デバイスのネットワークの中立性を保護する。
【０００８】
本明細書に記載されている方法は、ブロック・チェーンが、多数の物流取引の追跡を継続することを可能にする。如何なる消費者も又は会社も、ブロック・チェーンにアクセスすることによりアイテムのセットに関連付けられている出所を検証することができる。例えば、物流プラットホームに整合する如何なるpopコード・アドレスも、走査して、ブロック・チェーンによって表される公開レジャー・データベースと照合させることが出来る。
【０００９】
この開示の幾つかの実施態様は、上述したことに加え、又は、それに代えて、他の態様、要素、特徴及びステップを有する。これらの潜在的な追加及び置換は、残りの本明細書にわたって記載されている。
【図面の簡単な説明】
【００１０】
【図１】様々な実施態様に従う、暗号に基づく物流プラットホームを例示するブロック・ダイアグラムである。
【図２】様々な実施態様に従う、出所管理システムを例示するブロック・ダイアグラムである。
【図３Ａ】様々な実施態様に従う、多数の物流取引記録を備える出所ツリーの第一の例を例示するブロック・ダイアグラムである。
【図３Ｂ】様々な実施態様に従う、多数の物流取引記録を備える出所ツリーの第二の例を例示するブロック・ダイアグラムである。
【図４】様々な実施態様に従って、物流オペレーションの間、出所情報を暗号によって安全にする方法を例示するデータ・フロー・ダイアグラムである。
【図５】様々な実施態様に従って、パッケージされた商品の出所を検証する方法を例示するデータ・フロー・ダイアグラムである。
【図６Ａ】様々な実施態様に従う、物流取引記録の例を例示するブロック・ダイアグラムである。
【図６Ｂ】様々な実施態様に従う、発送元記録の例を例示するブロック・ダイアグラムである。
【図６Ｃ】様々な実施態様に従う、宛先記録の例を例示するブロック・ダイアグラムである。
【図７】様々な実施態様に従う、本明細書において記載されている一つ以上のコンピューティング・デバイス又はサーバを表す、コンピューティング・デバイスの例のブロック・ダイアグラムである。
【発明を実施するための形態】
【００１１】
これらの図は、説明の目的のみで、本開示の様々な実施態様を表す。当業者は、以下の説明から、本明細書において記載されている実施態様の原則を逸脱しない範囲で、本明細書において例示される回路及び方法の別の実施例を採用することができることを、直ちに認識するであろう。
【００１２】
図１は、様々な実施態様に従う、暗号ベースの物流プラットホーム100を示すブロック・ダイアグラムである。暗号ベースの物流プラットホーム100は、出所管理システム102によって保持される。出所管理システム102は、一つ以上のコンピューティング・デバイス（例えば、コンピュータ・サーバ）によって実装されるクラウド・ベースのシステムとすることが出来る。出所管理システム102は、ネットワーク・チャネル104に結合されている。例えば、ネットワーク・チャネル104は、ワイド・エリア・ネットワーク（例えば、インターネット）又は接続されている一つ以上のローカル・エリア・ネットワークとすることが出来る。
【００１３】
出所管理システム102は、アプリケーション・サービス・インタフェースを、一つ以上の参加者デバイス（例えば、集合的に「参加者デバイス106」とする、参加者デバイス106A及び参加者デバイス106B）に提供する。参加者デバイス106は、出所管理システム102に登録されているコンピューティング・デバイスである。例えば、参加者デバイス106は、各々、エージェント・アプリケーション（例えば、集合的に又は個々に「エージェント・アプリケーション108」と呼ばれる、エージェント・アプリケーション・インスタンス108A又はエージェント・アプリケーション・インスタンス108B）を実装することが出来る。参加者デバイス106の各々は、参加者エンティティに対応させることが出来る。参加者エンティティとは、出所管理システム102によって追跡されるアイテムをあるポイントで所有する会社のことである。例えば、参加者エンティティは、コンポーネントの製造業者、組立工場、流通業者、卸売業者、小売業者、又は消費者とすることが出来る。
【００１４】
エージェント・アプリケーション108は、出所管理システム102によって提供されるアプリケーション・サービスを利用する。例えば、エージェント・アプリケーション108は、エンティティ・アカウント（例えば、参加者の識別）の登録、一つ以上の移動可能アイテムに関連付けられている出所情報又は物流情報をモニタすること、公開記録を保管するために物流取引を報告すること、又はこれらの任意の組合せを容易にすることが出来る。
【００１５】
エンティティ・アカウントの登録
エンティティ・アカウントを登録するために、出所管理システム102は、識別プロバイダ・システム110と通信することが出来る。出所管理システム102は、エンティティ・アカウントを確認するために、電子インタフェース又は他のデジタル手段を使用して、識別プロバイダ・システム110と対話することが出来る。この事は、エンティティ・アカウントを登録する場合、又は参加者デバイスから（例えば、物流取引を報告するため又は物流情報を得るための）アクセス要求を受信する場合に、発生する。識別プロバイダ・システム110は、要求する者が、暗号ベースの物流プラットホーム100において許可されている参加者であることを、肯定又は否定することが出来る。
【００１６】
識別プロバイダ・システム110は、図７のコンピュータ・システム700のようなコンピュータ・システムによって実装させることが出来る。識別プロバイダ・システム110は、一つ以上のコンピューティング・デバイスによって実装させることが出来る。識別プロバイダ・システム110は、参加者エンティティ（例えば、人、グループ又は組織）を認証するための、アプリケーション・サービス、又はネットワーク・チャンネル104によるウェブに基づくサービスを提供する。例えば、識別プロバイダ・システム110は、ソーシャル・ネットワーキング・システム、位置情報サービス、ソーシャル・メディア・システム、行政サービス、公開情報サービス、公開登録サービス又はこれらの任意の組合せとすることが出来る。識別プロバイダ・システム110は、専用のログイン・インタフェースを実装して、（例えば、ユーザの知識に基づく認証、ユーザの所有物に基づく認証又はユーザの固有情報に基づく認証によって）エンティティ又は参加者エンティティの代理が、その識別を認証することを可能にする。
【００１７】
幾つかの実施態様では、識別プロバイダ・システム110は、出所管理システム102の一部である。幾つかの実施態様では、出所管理システム102は、識別プロバイダ・システム110の一部である。参加者エンティティの識別が認証されると、出所管理システム102は、参加者デバイスから公開識別鍵を受信しかつそれを登録することが出来る。公開識別鍵は、参加者エンティティのエージェントにしか知られていない秘密識別鍵を使用して作られる暗号署名を検証するために、使用することが出来る。幾つかの実施態様では、出所管理システム102は、公開識別鍵に関連付けられている識別アドレスを登録することが出来る。
【００１８】
出所管理システム102は、識別プロバイダ・システム110によって認証される唯一のエンティティに対応するエンティティ・アカウントのプロフィールを格納する、信頼される機関として機能することが出来る。エンティティ・アカウントのプロフィールは、識別アドレスを含むことが出来る。物流取引は、識別アドレスを、発送元アドレス又は宛先アドレスとして参照することが出来る。例えば、出所管理システム102は、識別アドレスを、公開レジャー・データベースにおいて表される一つ以上の物流取引記録に結合させることができる。公開レジャー・データベースは、所定の物流取引が、公開レジャー・データベース内の二つのアドレス間で実行されたことが否認不可にされているとの証明を、提供するコンピュータ・システムである。例えば、アドレスは、参加者エンティティ（例えば、その識別が識別プロバイダ・システム110によって確認されているエンティティ）に対応する識別アドレスとすることが出来る。他の具体例では、アドレスは、popコード・アドレスがラベルに付されている、移動するパッケージに対応するpopコード・アドレスとすることが出来る。幾つかの実施態様では、公開レジャー・データベースは、暗号手段を使用して物流取引のシーケンスを実行することによって否認不可性を実行することが出来る。
【００１９】
幾つかの実施態様の場合、公開レジャー・データベースは、分散型コンセンサス・システム114によって実装させることが出来る。分散型コンセンサス・システム114は、一つ以上の委託ノード（例えば、委託ノード114A及び委託ノード114B）によって実装させることが出来る。委託ノードは、図７の一つ以上のコンピュータ・システム700のような、コンピューティング・サーバとすることが出来る。分散型コンセンサス・システム114は、待状態の取引を「ブロック・チェーン」に含ませることによって、待状態の取引を確認することができる。分散型コンセンサス・システム114は、ブロック・チェーンを時間順で実行し、これにより、公開レジャー・データベースを実装するコンピューティング・デバイスのネットワークの中立性を保護する。ブロック・チェーンは、各々が一つ以上の物流取引を含む、一つ以上のシーケンシャル・ブロックを含む。幾つかの実施態様では、取引のブロックが生成されると、常に、ブロックの情報がハッシュ関数によって処理されて、ハッシュ値が生成される。このハッシュ値は、ブロック・チェーンの終端の新規なブロックに格納される。各新規なハッシュは、前のブロックのハッシュ値に基づいても生成され、これにより、ブロック・チェーン全体の真正性が確保される。ハッシュ関数のチェーン結合は、新規なブロック及びそれ以降の全てのブロックが正当であることを確認する。何者かがブロック内の情報を改竄するときはいつでも、ブロック・チェーンにアクセス可能な如何なるコンピューティング・デバイスも、その改竄を識別することが出来るであろう。ある委託ノードが、例えば、特有の特徴を有するブロックの情報に基づいてハッシュ値を生成するハッシュ関数を作成することによって、暗号のパズルを解決することが可能なときはいつでも、この委託ノードを選択して、次のブロックに追加することが出来る。
【００２０】
ブロックのシーケンスは、物流取引がどのように発生するかというシーケンスを表す。物流取引は、一つ以上の発送元アドレス及び一つ以上の宛先アドレスに関連付けることが出来る。子の物流取引は、親の物流取引を、参照することが出来る。子の物流取引の少なくとも発送元アドレスは、親の物流取引の宛先アドレスである。これらの親子関係のチェーン結合は、興味がある物流取引に対して、先祖の関係にある物流取引の出所ツリー及び／又は子孫の関係にある物流取引の出所ツリーを生成することが出来る。幾つかの場合には、物流取引は、アイテムが、一つの流通ポイントから他の流通ポイントへどのように移転されるかを示すことが出来る。幾つかの場合、物流取引は、インベントリ・オペレーションが、（例えば、再パッケージによる）量、及び（例えば、コンポーネントの組立又は製品の再構成による）アイテムのアイテム・タイプに、どのように影響を及ぼすかを示すことが出来る。宛先アドレスとして識別アドレスを有する物流取引は、公開レジャーにおいて、対応する参加者の識別／エンティティ・アカウントのインベントリを示すことが出来る。
【００２１】
暗号ベースの物流プラットホーム100によって追跡されるアイテムは、在庫管理単位（SKU: Stock Keeping Unit）と呼ぶことが出来る。在庫管理単位（SKU）は、アイテムに関連付けられた全ての属性（この属性はアイテムを他の全てのアイテムと区別する）を取込んでいる販売に対して提供されるので、製品又は定量化されたサービス等を区別するアイテムである。製品に対しては、これらの属性には、少くとも、製造業者、製品説明、材料、サイズ、色、パッケージ及び保証条件が含まれる。SKUが供給チェーンを移動する際、SKUは、（例えば、製造業者から、流通業者、卸売業者、小売業者そして消費者に）多くの手（例えば、流通ノード）を通過することが出来る。SKUのパッケージ及びサイズは、流通ノードの各々で、変更させることが出来る。第一のSKUを、一つ以上の他のSKUと結合させて、供給チェーンで第二のSKUを生成することが出来る。
【００２２】
エージェント・アプリケーション108は、SKUの出所情報を識別することを容易にすることが出来る。例えば、エージェント・アプリケーション108は、識別アドレスに関連付けられたSKU値識別子を受信することが出来る。エージェント・アプリケーション108は、SKU値識別子及び識別アドレスを出所管理システム102に送信することが出来る。出所管理システム102は、分散型コンセンサス・システム114によって保持されているブロック・チェーンの物流取引（例えば、最新の取引）を識別することが出来る。ブロック・チェーン内のSKU値識別子に関連する最新の取引を識別することによって、出所管理システム102は、ブロック・チェーン全体を走査して、親の物流取引のツリーを識別することが出来る。親の物流取引のツリーは、（例えば、識別アドレスに対応する）参加者デバイス106又は出所管理システム102が、SKUをその施設に到着するように導いた、確認された流通ノードをトレースする又は追跡することを可能にする出所情報の供給元、とすることが出来る。
【００２３】
物流記録の報告
エージェント・アプリケーション108は、参加者デバイス106に、物流取引の記録を報告することが出来る。物流取引は、アドレス情報（例えば、発送元アドレス及び宛先アドレス）、（例えば、アイテム・タイプの量を含むSKUパッケージ値を記述する）SKU値識別子、及び報告のタイムスタンプを含むことが出来る。
【００２４】
物流取引のSKUパッケージは、識別アドレス（例えば、発送元アドレスは識別アドレスである）から得ることができる。例えば、このタイプの物流取引を報告する際、各物流取引は、識別アドレスに関連付けられている秘密識別鍵によって、暗号署名される。この秘密識別鍵は、参加者エンティティのエージェントしか知らない非対称暗号鍵である。これらの物流取引は、「物流内部取引」と呼ぶことが出来る。物流内部取引は、識別アドレスに関連付けられている参加者エンティティが所有するSKUインベントリの内部オペレーション（例えば、配送準備、再パッケージ、組立及び／又は細分割）を追跡することが出来る。
【００２５】
参加者デバイス106は、それを出所管理システム102又は識別プロバイダ・システム110に登録する際に、識別鍵の対（例えば、公開識別鍵及び秘密識別鍵）を生成することが出来る。例えば、識別鍵の対は、エージェント・アプリケーション108により生成させることが出来る。参加者デバイス106は、ランダムなナンス(nonce)又は一つ置きの安全な情報源から識別鍵を生成することが出来る。例えば、識別プロバイダ・システム110が参加者デバイスからの識別証明書を検証すると、出所管理システム102又は識別プロバイダ・システム110は、公開識別鍵をその信頼できるストアに格納することが出来る。幾つかの実施態様の場合、各参加者エンティティに対し識別鍵の多数の対を存在させることが出来る。これらの実施形態では、参加者エンティティのプライバシは保護され、かつ企業の秘密情報が公開される危険度は減少する。物流内部取引の宛先アドレスは、（例えば、対応するSKUパッケージの流通が準備できた際の）popコード・アドレス、又は（例えば、対応するSKUパッケージが変形される際の）発送元アドレスと同じ識別アドレスとすることが出来る。幾つかの場合には、例えば、同じ参加者エンティティに帰属している識別アドレスの間でSKUパッケージを内部的に再設定する場合のように、物流内部取引の宛先アドレスを、発送元アドレスと比較して異なる識別アドレスとすることが出来る。
【００２６】
物流取引のSKUパッケージは、popコード・アドレス（例えば、発送元アドレスはpopコード・アドレスである）に関連付けられている、入って来る配送から得ることができる。このタイプの物流取引は、SKUパッケージの所有が移転されることを示す。例えば、これらの物流取引を報告する際、各物流取引は、SKUパッケージを受取る参加者の識別に関連付けられている秘密識別鍵、及び入って来るSKUパッケージ上のpopコード・アドレス（例えば、物理ラベル）から復号された秘密popコード鍵を使用して、暗号署名される。これらの物流取引は、「物流移転取引」と呼ぶことができる。物流移転取引は、暗号ベースの物流プラットホーム100が、参加者エンティティ間のSKUパッケージの配送を追跡することを可能にする。幾つかの実施態様では、物流移転取引は、SKUパッケージを受取る参加者エンティティにより報告される。
【００２７】
幾つかの実施態様では、出所管理システム102は、決定性鍵生成アルゴリズムを使用してpopコード鍵の対を生成することが出来る。例えば、出所管理システム102は、乱数発生器を利用してバッチでpopコード鍵の対を生成することが出来る。出所管理システム102は、公開popコード鍵を、（例えば、公開識別鍵と共に）その信頼できるストアに格納することが出来る。幾つかの実施態様では、出所管理システム102は、popコード鍵の対をその信頼できるストアに格納することが出来る。出所管理システム102のエージェントは、次いで、各々が秘密popコード鍵を符号化するpopコード・アドレスを印刷することが出来る。popコード・アドレスは、機械的に、磁気的に、光学的に、電子的に、又はこれらの任意の組み合わせで、符号化させることができる。popコード・アドレスからの秘密popコード鍵は、SKUパッケージの所有の証明である。
【００２８】
SKUパッケージにpopコード・アドレスがラベル付けされると、SKUパッケージは、異なる流通ノードへ移転させることが出来る。例えば、製造業者の参加者エンティティは、SKUパッケージを流通業者の参加者エンティティに配送することができる。受取側の参加者エンティティは、物流移転取引を出所管理システム102に報告する役割を果たすことが出来る。
【００２９】
幾つかの実施態様では、エージェント・アプリケーション108は、参加者デバイス106のスキャナ・コンポーネント（例えば、集合的に「スキャナ・コンポーネント116」とする、スキャナ・コンポーネント116A及びスキャナ・コンポーネント116B）にアクセスすることが出来る。スキャナ・コンポーネント116は、popコード・アドレスから秘密popコード鍵を読出す及び／又は復号するために、使用することが出来る。例えば、スキャナ・コンポーネントは、popコード・アドレス上のバーコード（例えば、一次元又は二次元バーコード）を走査することが可能なカメラとすることが出来る。他の具体例では、スキャナ・コンポーネントは、popコード・アドレスのRFIDタグを走査することが可能な高周波識別（RFID: radiofrequency identification）リーダとすることが出来る。エージェント・アプリケーション108は、物流移転取引を生成しかつそれを出所管理システム102に報告することが出来る。例えば、エージェント・アプリケーション108は、受取側の参加者エンティティの秘密識別鍵と、popコード・アドレスからスキャナ・コンポーネントにより復号された秘密popコード鍵とを使用して、物流移転取引を暗号署名することが出来る。
【００３０】
出所管理システム102が参加者デバイスから物流取引を受信すると、出所管理システム102は、分散型コンセンサス・システム114に物流取引を発行することが出来る。物流取引が、分散型コンセンサス・システム114に発行されると、この物流取引は、暗号によって否認不可にされているブロック・チェーンの一部となる。
【００３１】
図２は、種々の実施態様に従う、出所管理システム200を示すブロック・ダイアグラムである。出所管理システム200は、図１の出所管理システム102とすることが出来る。出所管理システム200は、図１の暗号に基づく物流プラットホーム100のような物流プラットホームの動作を容易にすることが出来る。出所管理システム200は、図７のコンピュータ・システム700によって実装させることが出来る。出所管理システム200は、ブロック・チェーン分析エンジン202及び取引エンジン206を含むことが出来る。出所管理システム200は、物流取引記録の暗号の署名を検証するために使用される、暗号公開鍵の信頼できるストア210を保持することが出来る。
【００３２】
ブロック・チェーン分析エンジン202は、ブロック・チェーン・インタフェース212に結合されている。ブロック・チェーン・インタフェース212は、図１の分散型コンセンサス・システム114のような、分散型コンセンサス・システムにアクセスすることが出来る。分散型コンセンサス・システムは、委託ノードの分散型ネットワークによって実装させることが出来る。分散型コンセンサス・システムは、ブロック（各ブロックは、物流プラットホームで発生させた物流取引のセットを含んでいる）の暗号で実行されたシーケンスを保持する。ブロック・チェーン分析エンジン202は、ブロック・チェーンにおいて表される物流取引を分析して、物流プラットホームを通るSKUの移動及び変換に関する、パターン、イベント、傾向、警告又はこれらの任意の組合せを決定するために、使用することが出来る。
【００３３】
取引エンジン206は、参加者インタフェース214に結合されている。参加者インタフェース214は、参加者デバイス（例えば、図１の参加者デバイス106の一つ）上で実行されているウェブに基づくアプリケーション（例えば、フラッシュ・アプリケーション、JavaScriptアプリケーション又はモバイル・アプリケーション）に対するアプリケーション・プログラミング・インタフェース（API）とすることが出来る。取引エンジン206は、参加者デバイスによって報告される物流取引記録の認証及び記録を容易にする。取引エンジン206は、信頼されているストア210にアクセスして、公開識別鍵及び公開popコード鍵を抽出し、報告された物流取引上の暗号の署名を検証することが出来る。
【００３４】
幾つかの実施態様では、出所管理システム200は、加入者インタフェース218を実装することも出来る。加入者インタフェース218は、分散型コンセンサス・システムが公開レジャーにアクセスすることを可能にする。加入者インタフェース218は、ブロック・チェーン分析エンジン202、及び／又は直接ブロック・チェーン・インタフェース212と通信して、分散型コンセンサス・システム内の情報にアクセスすることが出来る。幾つかの実施態様では、加入者デバイスは、SKUパッケージに関する情報を予約することが出来る。出所管理システム200は、SKUパッケージに関するメッセージが利用可能になるときはいつでも、それに関するメッセージを、加入者インタフェース218を介して、加入者デバイスにプッシュすることが出来る。例えば、メッセージは、リコール、製品の欠陥、所有の移転、アイテム・タイプの変更又はこれらの任意の組合せに関する情報を含むことが出来る。
【００３５】
幾つかの実施態様では、出所管理システム200は、認証エンジン222を実装する。認証エンジン222は、図１の識別プロバイダ・システム110のような識別プロバイダ・システムと通信して、参加者インタフェース214を介して通信している参加者デバイスを認証することが出来る。
【００３６】
幾つかの実施態様では、出所管理システム200は、外部API 224を実装する。外部API 224は、アプリケーション・インタフェースを提供して、第三者アプリケーション又はアプリケーション・サービスが、出所管理システム200を介して利用可能な情報にアクセスすることを可能にする。例えば、第三者アプリケーションは、公開レジャーに関する情報に基づいて、分析を提供することが出来る。第三者アプリケーションは、外部API 224を介して公開レジャーに関する情報にアクセスすることが出来る。第三者アプリケーションは、外部API 224を介して出所管理システム200に分析の結果を提供することも出来る。
【００３７】
参加者デバイス106、出所管理システム200、識別プロバイダ・システム110及び／又は分散型コンセンサス・システム114の各々に関連付けられている機能コンポーネント（例えば、エンジン、モジュール及びデータベース）は、回路、ファームウェア、ソフトウェア又は他の機能命令として実装させることができる。例えば、機能コンポーネントは、特殊目的回路の形態で、一つ以上の適切にプログラムされたプロセッサ、単一ボード・チップ、フィールド・プログラマブル・ゲートアレイ、ネットワークが使用可能なコンピューティング・デバイス、バーチャル・マシン、クラウド・コンピューティング環境又はこれらの任意の組み合わせの形態で、実装させることが出来る。例えば、ここに記述されている機能コンポーネントは、プロセッサ又は他の集積回路チップによって実行することができる有形のストレージ・メモリ上の命令として、実装させることが出来る。有形のストレージ・メモリは、揮発性メモリ又は不揮発性メモリとしても良い。幾つかの実施態様では、揮発性メモリは、それが一時的信号ではないという意味において「非一過性」であると考えても良い。図において記述されるメモリ空間及びストレージは、揮発性メモリ又は不揮発性メモリを含む有形のストレージ・メモリにより実装させることも出来る。
【００３８】
機能コンポーネントの各々は、個々にかつ他の機能的なコンポーネントとは独立して作動させても良い。機能コンポーネントの一部又は全部は、同じホスト・デバイスで又は別個のデバイスで実行させても良い。別個のデバイスは、一つ以上の通信チャネル（例えば、無線又は有線のチャンネル）を介して結合させて、それらのオペレーションを協働させることができる。機能コンポーネントの内の一部又は全部は、一つのコンポーネントとして結合させても良い。一つの機能コンポーネントは、サブコンポーネントに分割させて、各サブコンポーネントに、別個の方法ステップ又は一つのコンポーネントの方法ステップを実行させても良い。
【００３９】
幾つかの実施形態では、少なくとも幾つかの機能コンポーネントは、メモリ空間へのアクセスを共有する。例えば、一つの機能コンポーネントは、他の機能コンポーネントによってアクセスされた又はそれによって変換されたデータにアクセスしても良い。機能コンポーネントが、物理的接続又は仮想接続を共有して、一つの機能コンポーネントによってアクセスされた又は修正されたデータに、他の機能コンポーネントがアクセスすることを、直接又は間接に、許している場合、機能コンポーネントは、互いに「結合されている」とみなしても良い。幾つかの実施態様の場合、少なくとも幾つかの機能コンポーネントは、（例えば、機能コンポーネントの一部を実装する実行可能命令を再構成することによって）遠隔からアップグレードさせ又は変更させることが出来る。ここで記述されるシステム、エンジン又はデバイスは、様々なアプリケーションに対し、追加される、より少ない、又は異なる機能コンポーネントを含んでいても良い。
【００４０】
図３Ａは、種々の実施態様に従う、多数の物流取引記録を備える出所ツリー300の第一の具体例を示すブロック・ダイアグラムである。出所ツリー300は、図１の暗号ベースの物流プラットホーム100のような物流プラットホーム内に保持させても良い。出所ツリー300は、SKUパッケージを所有する参加者エンティティに導く物流取引のシーケンスである。コンピューティング・デバイスは、分散型コンセンサス・システム（例えば、図１の分散型コンセンサス・システム114）によって実装される公開レジャーにアクセスすることによって、出所ツリー300を導出することが出来る。例えば、出所ツリー300は、コンポーネント製造エンティティ302Aから、組立工場エンティティ302Bに、次に、流通業者エンティティ302Cに、次に、小売業者エンティティ302Dに、そして、次に、消費者エンティティ302Eまで、占有／所有の移転を登録することが出来る。
【００４１】
占有／所有の移転は、一つ以上のpopコード（例えば、集合的に「popコード304」とする、popコード 304A、popコード 304B、popコード 304C及びpopコード 304D）によって容易になる。popコード304の各々は、SKUパッケージの、出所の証明（proof-of-provenance）ラベル内に符号化させることが出来る。消費者エンティティ302Eによって受信される最終的なSKUパッケージは、物流プラットホームの他の参加者エンティティの間で配送された他のSKUパッケージの一部としても良い。消費者エンティティ302Eによって受信される最終的なSKUパッケージは、物流プラットホームの異なる参加者エンティティによって製造されたコンポーネントから、提供させても良い。
【００４２】
公開レジャーは、出所ツリー300の全体にわたる物流取引記録（例えば、集合的に「物流取引記録308」とする、物流取引308A、物流取引308B、物流取引308C、物流取引308D、物流取引308E、物流取引308F、物流取引308G、物流取引308H、物流取引308I）を含むことが出来る。例えば、物流取引記録308は、物流内部取引（例えば、物流取引308A、物流取引308C、物流取引308E、物流取引308G及び物流取引308I）、並びに物流移転取引（例えば、物流取引308B、物流取引308D、物流取引308F及び物流取引308H）を含むことが出来る。
【００４３】
物流取引記録308の各々には、発送元アドレス及び宛先アドレスが割当てられ、物流取引記録308の各々は、SKUパッケージを記述し、そして一つ以上の秘密鍵によって暗号署名される。例えば、物流内部取引の各々には、発送元アドレスと識別アドレスが割当てられ、そして物流内部取引の各々は、識別アドレスに対応する秘密識別鍵によって、暗号署名される。他の例では、物流移転取引の各々には、popコード・アドレスが割当てられ、そして物流移転取引の各々は、秘密識別鍵及び秘密popコード鍵によって暗号署名される。物流取引記録は、（例えば、SKUパッケージ値を記述する）SKU値識別子によりSKUパッケージを記述することが出来る。幾つかの実施態様では、SKUパッケージ値には、発送元取引リスト（例えば、SKUパッケージ内のアイテムを供給する前の取引のリスト）、少なくともアイテム・タイプ、及び少なくとも量が、関連付けられている。SKUパッケージが初めて製造されるときには、発送元取引は０とすることが出来る。
【００４４】
ここに示される具体例では、物流取引308Aには、SKUパッケージ値310Aが記述されている。SKUパッケージ値310Aには、20個のコンポーネントの作成が記述されている。したがって、アイテム・タイプは「コンポーネント」とし、かつ量は「20」とすることが出来る。物流取引308Aは、コンポーネント製造業者エンティティ302Aの識別アドレスに割当てられる。物流取引308Aは、コンポーネント製造業者エンティティ302Aの秘密識別鍵によって、暗号署名される。
【００４５】
物流取引308Bには、SKUパッケージ値310Bが記述されている。SKUパッケージ値310Bには、15個のコンポーネントの移転が記述されている。したがって、出力アイテム・タイプは「コンポーネント」とし、かつ出力量は「15」とすることが出来る。物流取引308Bには、popコード 304Aに対応するpopコード・アドレスが割当てられる。物流取引308Bは、popコード 304Aとして符号化されている秘密popコード鍵によって、暗号署名される。発送元取引は、物流取引308Aとすることが出来る。
【００４６】
物流取引308Cには、SKUパッケージ値310Cが記述されている。SKUパッケージ値310Cには、（例えば、SKUパッケージ値310Bの15個のコンポーネントから）コンポーネントを15個のウィジェットに組立てることが記述されている。したがって、アイテム・タイプは「ウィジェット」とし、かつ量は「15」とすることが出来る。物流取引308Cには、組立工場エンティティ302Bの識別アドレスが割当てられる。物流取引308Cは、組立工場エンティティ302Bの秘密識別鍵によって、暗号署名される。発送元取引は、物流取引308Bとすることが出来る。
【００４７】
物流取引308Dには、SKUパッケージ値310Dが記述されている。SKUパッケージ値310Dには、10個のウィジェットの移転が記述されている。したがって、アイテム・タイプは「ウィジェット」とし、かつ量は「10」とすることが出来る。物流取引308Dには、popコード 304Bに対応するpopコード・アドレスが割当てられる。物流取引308Dは、popコード 304Bとして符号化されている秘密popコード鍵によって、暗号署名される。発送元取引は、物流取引308Cとすることが出来る。
【００４８】
物流取引308Eには、SKUパッケージ値310Eが記述されている。SKUパッケージ値310Eには、10個のウィジェットのパッケージ化が記述されている。したがって、アイテム・タイプは「ウィジェット」とし、かつ量は「10」とすることができる。物流取引308Eには、流通業者エンティティ302Cの識別アドレスが割当てられる。物流取引308Eは、流通業者エンティティ302Cの秘密識別鍵によって、暗号署名される。発送元取引は、物流取引308Dとすることが出来る。
【００４９】
物流取引308Fには、SKUパッケージ値310Fが記述されている。SKUパッケージ値310Fには、5個のウィジェットの移転が記述されている。したがって、アイテム・タイプは「ウィジェット」としかつ量は「5」とすることが出来る。物流取引308Fには、popコード 304Cに対応するpopコード・アドレスが割当てられる。物流取引308Fは、popコード 304Cとして符号化されている秘密popコード鍵によって、暗号署名される。発送元取引は、物流取引308Eとすることが出来る。
【００５０】
物流取引308Gには、SKUパッケージ値310Gが記述されていて、SKUパッケージ値310Gには、5個のウィジェットのパッケージ化が記述されている。したがって、アイテム・タイプは「ウィジェット」とし、かつ量は「5」とすることが出来る。物流取引308Gには、小売業者エンティティ302Dの識別アドレスが割当てられる。物流取引308Gは、小売業者エンティティ302Dの秘密識別鍵によって暗号署名される。発送元取引は、物流取引308Fとすることが出来る。
【００５１】
物流取引308Hには、SKUパッケージ値310Hが記述されている。SKUパッケージ値310Hには、一つのウィジェットの移転が記述されている。したがって、アイテム・タイプは「ウィジェット」とし、かつ量は「1」とすることが出来る。物流取引308Hには、popコード 304Dに対応するpopコード・アドレスが割当てられる。物流取引308Hは、popコード 304Dとして符号化されている秘密popコード鍵によって、暗号署名される。発送元取引は、物流取引308Gとすることが出来る。
【００５２】
物流取引308Iには、SKUパッケージ値310Iが記述されていて、かつ SKUパッケージ値310Iには一つのウィジェットの消費が記述されている。したがって、アイテム・タイプは「ウィジェット」とし、かつ量は「1」とすることが出来る。物流取引308Iには、消費者エンティティ302Eの識別アドレスが割当てられる。物流取引308Iは、消費者エンティティ302Eの秘密識別鍵によって、暗号署名される。発送元取引は、物流取引308Hとすることが出来る。
【００５３】
図３Ｂは、様々な実施態様に従う、多数の物流取引記録を備える出所ツリー350の第二の例を例示するブロック・ダイアグラムである。出所ツリー350は、シーケンシャルな物流取引記録（例えば、集合的に「物流取引記録352」とする、物流取引352A、物流取引352B、物流取引352C、物流取引352D、及び物流取引352E）を含む。出所ツリー300とは異なり、出所ツリー350は、１本のチェーンではない。
【００５４】
例えば、物流取引352A及び物流取引352Bは、両者ともコンポーネントを物流内部取引に提供する物流移転取引（すなわち、物流取引352C）とすることが出来る。幾つかの実施態様では、物流取引352Cから結果的に生じるSKUパッケージが、物流取引352A及び物流取引352Bの両者のSKUパッケージからコンポーネントを組み立てて新製品を形成する場合に、この事が発生し得る。幾つかの実施態様では、物流取引352Cから結果的に生じるSKUパッケージが、物流取引352A及び物流取引352Bの両方のSKUパッケージから日用品アイテムを再パッケージ化した場合に、この事が発生し得る。
【００５５】
一つのSKUパッケージを、異なる流通チェーンに分割することも出来る。例えば、物流取引352Cを親の物流取引として、（例えば、SKUパッケージ値を細部分又はサブ量に分割して）物流取引352D及び物流取引352Eの両者を（例えば、提供する）ことが出来る。例えば、物流取引352Cを、（例えば、SKUパッケージ値を細部分又はサブ量に分割する）物流取引352D及び物流取引352Eの両者（を、例えば、提供するため）の親の物流取引とすることが出来る。幾つかの実施態様では、物流取引352Dが、第一の顧客に対する物流移転取引であり、かつ物流取引352Eが、第二の顧客に対する物流移転取引である場合に、この事が発生し得る。
【００５６】
他の様々なタイプの物流オペレーションは、出所ツリー（例えば、出所ツリー300又は出所ツリー350）の実施態様によって追跡することが出来る。出所ツリーは、SKU（例えば、アイテム又は商品）の元の記録を保つことをサポートすることが出来る。例えば、製造業者がアイテムを出荷する際、製造業者の認証されたデバイスは、ラベル付けされていない値を製造業者の識別アドレスに変更する物流取引を、報告することが出来る。物流取引は、アイテム・タイプ及び量の値をラベル付けすることも出来る。認証されたデバイスは、次いで、その秘密識別鍵によって物流内部取引を署名することが出来る。
【００５７】
出所ツリーは、SKUパッケージの出荷受領書を保管することをサポートすることも出来る。例えば、流通業者が製造業者から多数のSKUパッケージを受取ると、流通業者は、SKUパッケージ上のラベル又はSKUパッケージの受領書のラベルから、popコード秘密鍵を走査することが出来る。流通業者の認証されたデバイスは、識別プロバイダ・システム（例えば、図１の識別プロバイダ・システム110）によって、popコード・アドレスに商品を送る物流取引が、製造業者に対して登録された識別鍵の一つによって署名されていたことを検証することが出来る。
【００５８】
出所ツリーは、再パッケージ化及び単一化の記録の保管をサポートすることが出来る。例えば、再販業者が多数のSKUパッケージを受取ると、再販業者はそれらを一つのSKUパッケージに結合することが出来る。他の例では、再販業者が多数のアイテムの一つのSKUパッケージを受取ると、再販業者は、それらを多数の子の物流取引内の多数のSKUパッケージに分割することが出来る。再販業者の認証されているデバイスは、物流移転取引のこの再パッケージ化を記録することが出来る。物流移転取引は、入って来るpopコード・アドレスから、出て行くpopコード・アドレス又は再販業者の識別アドレスの何れかへの、SKUパッケージ値の移転を文書化することが出来る。認証されているデバイスは、入って来るpopコードの秘密鍵及び再販業者の秘密識別鍵によって、物流移転取引に暗号署名することが出来る。物流移転取引は、入って来るSKUパッケージ値の少なくとも一部の量を、出て行くpopコード・アドレスに割当てることが出来る。入って来るpopコード・アドレスに関連付けられている残存している如何なるSKUパッケージ値も、再販業者の識別アドレスに格納させることが出来る。
【００５９】
図４は、様々な実施態様に従って、物流オペレーションの間の出所情報を暗号によって安全にする方法400を例示するデータ・フロー・ダイアグラムである。この方法のステップは、データ・フロー・ダイアグラムのブロックによって表すことが出来る。この方法400は、少なくともプラットホーム参加者402に関係させることが出来る。例えば、プラットホーム参加者402は、図１の暗号ベースの物流プラットホーム100のような物流プラットホームに関係する参加者エンティティによって制御されるコンピューティング・デバイス（例えば、参加者デバイス106のうちの一つ）によって、表すことが出来る。この方法400は、図１の出所管理システム102又は図２の出所管理システム200のような出所管理システム404に関係させることも出来る。
【００６０】
ブロック410で、プラットホーム参加者402は、その識別を出所管理システム404に登録することが出来る。ブロック412で、出所管理システム404は、その登録に応答して、プラットホーム参加者402の識別を認証することが出来る。出所管理システムでの登録は、公開識別鍵を送信し、それを出所管理システムの信頼できるストアに格納することを含むことが出来る。
【００６１】
ブロック414で、SKUパッケージがそのインベントリにおいて利用できるようになると、プラットホーム参加者402は、物流取引記録を生成しかつそれを出所管理システム404に送信することが出来る。例えば、SKUパッケージは、製造、組立、再パッケージ化又はこれらの任意の組合せにより利用可能となるようにすることが出来る。この物流取引の記録は、一つ以上の物流内部取引を記述することが出来る。他の例では、供給元から出荷を受取ると、SKUパッケージが利用可能となるようにすることが出来る。この物流取引記録は、一つ以上の物流移転取引を記述することが出来る。  
【００６２】
プラットホーム参加者402は、物流取引記録に暗号署名することが出来る。例えば、プラットホーム参加者402は、少なくともそれの秘密識別鍵を使用して、物流取引記録に暗号署名することが出来る。物流取引記録が物流移転取引に対応する他の例では、プラットホーム参加者402は、それの秘密識別鍵とSKUパッケージのpopコード・アドレスから復号される秘密popコード鍵とを使用して、物流取引記録に暗号署名することが出来る。
【００６３】
ブロック416で、出所管理システム404は、物流取引記録を検証することが出来る。例えば、出所管理システム404は、物流取引記録の暗号署名が、公開識別鍵及び／又は公開popコード鍵とマッチングすることを、検証することが出来る。出所管理システム404は、物流取引記録に示されている発送元アドレスに基づいて、どの公開鍵に対して照合すべきかを決定することが出来る。例えば、発送元アドレスがpopコード・アドレスを示す場合、出所管理システム404は、物流取引記録が物流移転取引に対応すると決定することが出来る。従って、出所管理システム404は、次で、暗号署名を、popコード・アドレスに対応する公開popコード鍵と宛先アドレスに対応する公開識別鍵と照合することが出来る。例えば、発送元アドレスが識別アドレスを示す場合、出所管理システム404は、物流取引記録が物流内部取引に対応すると決定することが出来る。従って、出所管理システムは、暗号署名を、発送元アドレスに対応する公開識別鍵と照合することが出来る。
【００６４】
ブロック418で、出所管理システム420は、分散型コンセンサス・システム（例えば、図１の分散型コンセンサス・システム114）に、物流取引記録を発行することが出来る。物流取引記録が、分散型コンセンサス・システムの委託ノードに発行されると、この物流取引記録は、他の代表ノードに的確な時間内に正しく分散される。ブロック・チェーンの物流取引記録のシーケンスは、このシーケンスが、暗号によって確実に否認不可となるように、設定される。幾つかの実施態様では、プラットホーム参加者402は、物流取引記録418を直接分散型コンセンサス・システムに発行することが出来る。  
【００６５】
ブロック420で、プラットホーム参加者402は、一つ以上のpopコード・アドレスを、出所管理システム404のエージェントに、又は出所管理システム404に、直接、（例えば、バッチで）要請することができる。これらのpopコード・アドレスは、（例えば、以前に物流取引に関係したことがない）割当てられたことが無いものにすることが出来る。幾つかの実施態様では、popコード・アドレスは、前もって印刷されている。幾つかの実施態様では、プラットホーム参加者402は、popコード・アドレスを、後に印刷することが出来るデジタル・ファイルとして受信することが出来る。popコード・アドレスは、その上にある秘密popコード鍵を符号化する。幾つかの実施態様では、秘密popコード鍵は、公開popコード鍵とマッチングする秘密非対称暗号鍵である。これらの実施態様では、出所管理システム404は、popコード・アドレス内の符号化されている秘密popコード鍵に対応する公開popコード鍵にアクセスすることが出来る。
【００６６】
幾つかの実施態様では、出所管理システム404は、popコード鍵の対を生成する。これらの実施形態では、出所管理システム404は、秘密popコード鍵をpopコード・アドレスに符号化するためにそれのエージェントに渡し、そして公開popコード鍵をそれの信頼できるストアに格納する。幾つかの実施態様では、出所管理システム404のパートナである会社は、popコード鍵の対を生成することが出来る。この会社は、公開popコード鍵を出所管理システム404に渡すことができ、かつ流通のために、秘密popコード鍵を符号化するpopコード・アドレスを生成することが出来る。
【００６７】
プラットホーム参加者402は、これらのSKUパッケージの少なくとも一部を、後で、準備することが出来る。例えば、プラットホーム参加者402は、一つ以上の出荷パッケージに一つ以上のpopコード・アドレスをラベル付けすることが出来る。ブロック424で、プラットホーム参加者402は、物流取引記録を生成し、かつこの物流取引記録を出所管理システム404に送信することが出来る。物流取引記録は、プラットホーム参加者402の識別アドレスに対応する発送元アドレスを含むことが出来る。プラットホーム参加者402は、識別アドレスに対応する秘密識別鍵を使用して物流取引記録に署名することが出来る。物流取引記録は、popコード・アドレスに対応する宛先アドレスを含むことが出来る。このpopコード・アドレスは、出荷パッケージにラベル付けするために使用されるpopコード・アドレスの少なくとも一つに対応させることが出来る。
【００６８】
ブロック426で、出所管理システム404は、ブロック416と同様に、物流取引記録を検証することが出来る。ブロック428で、出所管理システムは、物流取引記録を、ブロック418と同様に、分散型コンセンサス・システムに発行することが出来る。幾つかの実施態様の場合、プラットホーム参加者402は、物流取引記録を分散型コンセンサス・システムに直接発行することが出来る。
【００６９】
図５は、様々な実施態様に従う、パッケージされた商品の出所を検証する方法500を例示するデータ・フロー・ダイアグラムである。この方法のステップは、データ・フロー・ダイアグラムのブロックによって表すことが出来る。この方法500は、少なくともモバイル・アプリケーション502（例えば、図１のエージェント・アプリケーション108）及び出所管理システム504（例えば、図１の出所管理システム102又は図２の出所管理システム200）を含むことが出来る。例えば、モバイル・アプリケーション502は、最終消費者のコンピューティング・デバイス（例えば、参加者デバイス106の内の一つ）を表すことが出来る。
【００７０】
幾つかの実施態様では、この方法500は、最終消費者が、製品を信頼すべきかどうかについて決定する上で助けとなる出所情報を見出すことを容易にすることが出来る。例えば、最終消費者が製品を信頼すると決める前に、最終消費者は、この製品の出所を検証することを望むであろう。製品は、最終消費者の識別アドレス又は最終消費者が購入する小売業者の識別アドレスの何れかに割当てられているSKUパッケージ値により識別することが出来る。モバイル・アプリケーション504は、図１の分散型コンセンサス・システム114のような分散型コンセンサス・システム506 によって実装されるブロック・チェーンによりSKUパッケージ値を検証することが出来る。モバイル・アプリケーションは、出所情報を、信頼される機関として機能する出所管理システム504に要請することが出来る。
【００７１】
幾つかの実施態様では、最終消費者は、図１の暗号ベースの物流プラットホーム100のような物流プラットホームの参加者である。すなわち、最終消費者は、出所管理システム504に格納されている識別プロフィールを有している。幾つかの実施態様では、最終消費者は、物流プラットホームの参加者ではない。すなわち、最終消費者は、出所管理システム504に格納されている識別プロフィールを有していない。
【００７２】
ブロック512で、モバイル・アプリケーション502は、SKUパッケージからのpopコード・アドレスを走査することが出来る。幾つかの実施態様では、走査は、光学スキャナに関係する。幾つかの実施態様では、走査は、高周波スキャナに関係する。モバイル・アプリケーション502は、走査された情報（例えば、画像、応答信号、デジタル・シーケンス、デジタル格子又はこれらの任意の組み合わせ）を出所管理システム504に提供することができる。幾つかの実施態様では、走査された情報は、popコード・アドレスから復号された秘密popコード鍵を含む。すなわち、これらの実施態様では、ブロック502は、popコード・アドレスを走査することによって秘密popコード鍵を復号することを含む。
【００７３】
ブロック514で、出所管理システム504は、走査された情報に基づいて興味があるSKUパッケージに関連付けられているpopコード・アドレスを決定することが出来る。例えば、出所管理システム504は、秘密popコード鍵と、それに対応するpopコード・アドレスとのマッチングを取ることが出来る。このpopコード・アドレスに基づいて、出所管理システム504は、現在又は前のpopコード・アドレスに関連付けられているパッケージに関係する一つ以上の物流取引記録にアクセスすることが出来る。例えば、出所管理システム504は、分散型コンセンサス・システム506からこの物流取引記録を抽出することが出来る。ブロック516で、分散型コンセンサス・システム506は、この物流取引記録を出所管理システム504に提供することが出来る。幾つかの実施態様では、この物流取引記録は、最後がSKUパッケージとなっている、アイテムを供給した一つ以上のエンティティを記述する出所ツリー（例えば、一つ以上の供給チェーン）を形成する。
【００７４】
ブロック518で、出所管理システム504は、物流取引記録を、その信頼できるストアに格納されている既知の公開識別鍵及び既知の公開popコード鍵に対して暗号によって検証することが出来る。これらの公開識別鍵及び公開popコード鍵は、発送元アドレス及び／又は物流取引記録の宛先アドレスにそれぞれ対応させることが出来る。ブロック520で、出所管理システム504は、出所ツリーに基づいて出所報告を生成することが出来る。ブロック522で、モバイル・アプリケーション502は、出所報告を、要請している消費者に提出することができる。
【００７５】
幾つかの実施態様において、出所管理システム504は、SKUパッケージの信頼性についての必須情報を最終消費者に提供する信頼される機関として機能する。この情報は、例えば、最終消費者が関心を持つSKUパッケージのアイテム・タイプ及び量に関連する、エンティティに関連付けられている識別を含むことが出来る。この情報は、信頼されている機関の信頼できるストアに登録されていない一つ以上の識別又はブラックリストとして挙げられている識別が、SKUパッケージを供給することに関係していたか否かを含むことも出来る。エンティティ識別は、このエンティティ識別に対応する参加者エンティティが、信頼できないアクティビティを実行したことについて、既に報告されている、又は参加者エンティティのその一つ以上の秘密識別鍵が漏洩したと言う理由により、ブラックリストに挙げることが出来る。
【００７６】
幾つかの実施態様では、popコード・アドレスからの走査情報は、SKUパッケージ値及びこのSKUパッケージ値の唯一の出所を識別するために使用することが出来る。SKUパッケージ値は、アイテム・タイプ及び量のようなSKUパッケージ内の一つ以上のアイテムを記述する。各popコード・アドレスごとに、出所管理システム504又は識別プロバイダ（例えば、図１の識別プロバイダ・システム110）は、このpopコード・アドレスで現在「消費されていない」値を識別することが出来る。ここで、「消費されていない値」とは、今まで子の物流取引において関係したことが無いSKUパッケージ値を意味する。出所管理システム504又は識別プロバイダは、SKUパッケージ値によって記述されるアイテム・タイプ及び量に関連付けられている現実世界の識別を表示することが出来る。出所管理システム504又は識別プロバイダは、商品及びアイテムを製造する、搬送する、再パッケージする、単一化する、組立てる、組合せる、又はこれらの任意の組合の全ての段階に関連付けられている現実世界の識別を、popコード・アドレスにより一つのSKUパッケージに決定することが出来る。
【００７７】
幾つかの実施態様では、出所管理システム504は、製品のリコールを容易にするために、出所の痕跡の破壊を追跡することが出来る。出所管理システム504は、出所報告内の出所ツリーのある特性にフラグを立てることが出来る。例えば、出所ツリーに関係するエンティティの少なくとも一つが、ブラックリストに記載された識別である場合には、信用のチェーンは破壊されている可能性がある。幾つかの実施態様では、出所管理システム504は、出荷後のpopコード・アドレスをブラックリストに記載する要請を受信することが出来る。これは、影響を受けたpopコードのリコールのみならず、ブラックリストに記載されたpopコードの（例えば、SKUパッケージ値と同一値又はそのサブセットを含む子の物流取引によって明らかになる）出所ツリーに沿うダウンストリームのリコールも、容易にする。リコールを容易にするために、エンティティ（例えば、製造業者、卸売業者、流通業者又は小売業者）は、出所管理システム504に、ダウンストリーム・エンティティが、もはやpopコード・アドレスを（例えば、その結果、関連付けられているpopコード・アドレスも）信頼することが出来ないことを通知することが出来る。出所管理システム504は、要請したエンティティが、関連付けられているpopコード・アドレスにこのSKUパッケージ値を配置する物流取引に、既に署名していることを検証することが出来る。幾つかの実施態様では、加入者ユーザは、出所の痕跡を特定のSKUパッケージ値に予約することが出来る。出所管理システム504は、興味があるSKUパッケージ値にいつリコールのためのフラグが立てられたかを、これらの加入者ユーザに通知することが出来る。幾つかの実施態様では、出所管理システム504は、加入者ユーザに、リコールの内容及び実行されるべき特定アクションについての詳しい情報を提供することが出来る。
【００７８】
図６Ａは、種々の実施態様に従う、物流取引記録600の具体例を示すブロック・ダイアグラムである。物流取引記録600は、少なくとも二つのアドレス間の物流取引を記述することが出来る。幾つかの実施態様では、アドレスを、同一とすることが出来る。アドレスは、上述したような識別アドレス又はpopコード・アドレスとすることが出来る。例えば、物流取引記録600は、図１の分散型コンセンサス・システム114のような、分散型コンセンサス・システムによって保持されるブロック・チェーンのブロックに格納させることが出来る。物流取引記録600は、バージョン番号602、発送元カウンタ604、発送元リスト606、宛先カウンタ610、宛先リスト612、ロック時間614、SKUパッケージ値616、デジタル署名622又はこれらの任意の組合せを含むことが出来る。バージョン番号602は、物流取引記録600のフォーマット・バージョンを示すことが出来る。
【００７９】
発送元カウンタ604は、幾つの発送元アドレスが、物流取引に関係しているかを示す正の整数である。発送元リスト606は、一つ以上の発送元記録（例えば、図６Ｂの発送元記録650）を含む。図６Ｂは、種々の実施態様に従う、発送元記録650の具体例を示すブロック・ダイアグラムである。発送元記録650は、発送元アドレス652及び／又は親の取引記録識別子654を含むことができる。親の取引記録識別子654は、ブロック・チェーンにアクセスを有する任意のデバイスが、（例えば、親の取引記録の宛先アドレスとして現在の発送元アドレスをリストすることによって）SKUパッケージ値を現在の発送元アドレスに配置した物流取引記録を識別することを可能にする。
【００８０】
宛先カウンタ610は、幾つの宛先アドレスが、物流取引に関係しているかを表す正の整数である。宛先リスト612は、一つ以上の宛先記録（例えば、図６Ｃの宛先記録670）を含む。図６Ｃは、種々の実施態様に従う、宛先記録670の具体例を示すブロック・ダイアグラムである。宛先記録670は、宛先アドレス672を含むことが出来る。宛先記録670は、宛先アドレスを所有する宛先エンティティに関係するメタデータ674を含むことも出来る。例えば、メタデータは、送り状のナンバ、宛先エンティティのユーザID、識別シーケンス番号又はこれらの任意の組合せを参照することが出来る。
【００８１】
ロック時間614は、物流取引が最終となるタイムスタンプを示すことが出来る。ロック時間614は、物流取引が属するブロックのブロック高さを示すことも出来る。特定ブロックのブロック高さは、特定ブログが、分散型コンセンサス・システムによって実装されるブロック・チェーン内の第一のブロックから、幾つのブロック離れているかを記述する数である。
【００８２】
SKUパッケージ値616は、アイテム・タイプ618及び量620を含む。アイテム・タイプ618は、エニュメレーション、文字記載、又はどんなタイプのアイテムが、物流取引記録600に関係しているかを識別する他のデジタル手段である。量620は、幾つのアイテム・タイプ618が、物流取引記録600に関係しているかを計数する測定値の単位である。幾つかの実施態様では、発送元エンティティ及び宛先エンティティは、物流プラットホーム外の測定値のアイテム・タイプ及びそれらに付随するユニットの指定を協議することが出来る。
【００８３】
デジタル署名622は、発送元アドレスに関連付けられている一つ以上の秘密鍵により作られた暗号署名である。例えば、秘密鍵の一つは、（例えば、発送元エンティティのエージェントのみに知られている）秘密識別鍵とすることが出来る。例えば、秘密鍵の一つは、（例えば、SKUパッケージの物理的パッケージ上の、又はSKUパッケージの領収書／送り状のpopコード・アドレスから利用可能な）秘密popコード鍵とすることが出来る。
【００８４】
図７は、種々の実施態様に従う、本明細書において記述される一つ以上のコンピューティング・デバイス又はサーバを表すことが出来るコンピューティング・デバイス700の具体例のブロック・ダイアグラムである。コンピューティング・デバイス700は、図１の物流プラットホーム100の一つ以上のコンピューティング・デバイス、図２の出所管理システム200、又は本明細書において記述される方法及びプロセス（例えば、図５の方法500及び図６の方法600）とすることが出来る。コンピューティング・デバイス700は、相互接続730に結合されている一つ以上のプロセッサ710及びメモリ720を含む。図７に示される相互接続730は、任意の一つ以上の別個の物理的バス、二地点間接続、又は適切なブリッジ、アダプタ若しくはコントローラによって接続されている両者を表す抽象概念である。従って、相互接続730は、例えば、システム・バス、PCI（Peripheral Component Interconnect）バス又はPCI-Express バス、Hyper Transport若しくは業界標準アーキテクチャ（ISA）バス、小コンピュータ・システム・インタフェース（SCSI）バス、ユニバーサル・シリアル・バス（USB）、IIC（I2C）バス又は「Firewire」を含むことが出来る。
【００８５】
プロセッサ710は、コンピューティング・デバイス700の中央処理ユニット（CPU）であるので、コンピューティング・デバイス700の全体のオペレーションを制御する。ある実施態様では、プロセッサ710は、メモリ720に格納されているソフトウェア又はファームウェアを実行することによって、これを達成する。プロセッサ710は、一つ以上のプログラム可能な汎用又は専用マイクロ・プロセッサ、デジタル信号プロセッサ（DSP）、プログラマブル・コントローラ、特定用途向け集積回路（ASIC）、プログラム可能な論理回路（PLD）、信頼出来るプラットホーム・モジュール（TPM）等又はこのようなデバイスの組合せとする、又はこれらを含むことが出来る。
【００８６】
メモリ720は、コンピューティング・デバイス700のメイン・メモリである、又はこれを含む。メモリ720は、ランダム・アクセス・メモリ（RAM）、読取り専用メモリ（ROM）、フラッシュ・メモリ等、又はこのようなデバイスの組合せの任意の形態を表す。使用時には、メモリ720は、本明細書において開示される輪形接続システムによる命令を含むコード770を含んでいても良い。
【００８７】
ネットワーク・アダプタ740及びストレージ・アダプタ750は、相互接続730を介してプロセッサ710にも接続されている。ネットワーク・アダプタ740は、コンピューティング・デバイス700に、ネットワークにより遠隔デバイスと通信する能力を提供し、かつ例えば、イーサネット・アダプタ又はファイバ・チャネル・アダプタとしても良い。ネットワーク・アダプタ740は、コンピューティング・デバイス700に、他のコンピュータと通信する能力を提供しても良い。ストレージ・アダプタ750は、コンピューティング・デバイス700が持続性ストレージにアクセスすることを可能にし、かつ例えば、ファイバ・チャネル・アダプタ又はSCSIアダプタとしても良い。
【００８８】
メモリ720に格納されているコード770は、上述したアクションを実行するようにプロセッサ710をプログラムするソフトウェア又はファームウェアとして実装させても良い。ある実施態様では、このようなソフトウェア又はファームウェアは、遠隔システムからコンピューティング・デバイス700に（例えば、ネットワーク・アダプタ740を介して）それをダウンロードすることにより、コンピューティング・デバイスに最初に提供させても良い。
【００８９】
本明細書において導入される技術は、例えば、ソフトウェア及び／又はファームウェアによってプログラムされたプログラマブル回路（例えば、一つ以上のマイクロプロセッサ）、あるいは、完全に専用の物理的に組み込まれた回路、又はこのような形態の組合せによって、実装させることが出来る。例えば、物理的に組み込まれた専用回路は、一つ以上の特定用途向け集積回路（ASIC）、プログラム可能な論理回路（PLD）、フィールド−プログラマブル・ゲートアレイ（FPGA）等の形態としても良い。
【００９０】
本明細書で導入される技術の実装に使用されるソフトウェア又はファームウェアは、機械読取可能なストレージ・メディアに格納させても良く、そして一つ以上の汎用又は専用プログラム可能なマイクロ・プロセッサによって実行させても良い。本明細書において使用される用語「機械読取り可能なストレージ・メディア」は、マシン（マシンは、例えば、コンピュータ、ネットワーク装置、携帯電話、個人情報機器（PDA）、製造ツール、一つ以上のプロセッサ等を有する任意のデバイスとすることができる）によってアクセス可能な形態で情報を格納することが出来る任意のメカニズムを含む。例えば、マシン・アクセス可能なストレージ・メディアは、書き込み可能／非書き込み可能メディア（例えば、読取り専用メモリ（ROM）、ランダム・アクセス・メモリ（RAM）、磁気ディスク・ストレージ・メディア、光学ストレージ・メディア、フラッシュ・メモリ装置等）等を含む。
【００９１】
本明細書において使用される「論理」という用語は、例えば、特定のソフトウェア及び／又はファームウェア、専用物理的に組み込まれた回路又はこれらの組合せによってプログラムされるプログラム可能な回路を含むことが出来る。
【００９２】
図は、図示の目的のみのためにこの開示の種々の実施態様を表す。当業者は、本明細書において示される回路及び方法の代替実施態様を、本明細書において記述される実施態様の原理を逸脱しない範囲で使用することができることを、以下の論議から容易に認識するであろう。
【００９３】
例えば、幾つかの実施態様は、出所情報を安全にする出所管理システムを作動させるコンピュータによる実行方法を含む。この方法は、識別プロバイダ・システムによりエンティティ・アカウントを認証することを含むことが出来る。出所管理システムは、次いで、信頼されているストレージ内のエンティティ・アカウントに関連付けられている公開識別鍵及び識別アドレスを登録することが出来る。公開識別鍵は、エンティティ・アカウントに知られている秘密識別鍵に対応させることが出来る。出所管理システムは、第一の暗号署名をその中に有している第一の物流取引記録を受信することが出来る。第一の物流取引記録は、発送元アドレスとして識別アドレスを示すことが出来る。出所管理システムは、次いで、第一の暗号署名を公開識別鍵に対して認証することによって、第一の暗号署名が、エンティティ・アカウントによってなされていることを検証する。出所管理システムは、次いで、第一の物流取引記録を、ブロック・チェーンを実装する分散型コンセンサス・システムに発行することが出来る。ブロック・チェーンの各ブロックは、物流取引記録のシーケンスが暗号によって確実に否認不可となるように、一つ以上の物流取引記録を含む。
【００９４】
幾つかの実施態様では、出所管理システムは、更に、その上に第二の暗号署名を有する第二の物流取引記録を受信することが出来る。第二の物流取引記録は、宛先アドレスとして識別アドレスを、かつ発送元アドレスとしてpopコード・アドレスを示すことが出来る。出所管理システムは、次いで、第二の暗号署名を、公開識別鍵及びpopコード・アドレスに対応する公開popコード鍵に対して認証し、そして第二の物流取引記録を分散型コンセンサス・システムに発行する。
【００９５】
幾つかの実施態様では、第一の物流取引記録は、一つ以上の発送元アドレスの発送元リストを含む。各発送元アドレスは、エンティティに対応する識別アドレス、又は唯一のpopコード・アドレスに対応するpopコード・アドレスの何れかとすることが出来る。同様に、第一の物流取引記録は、一つ以上の宛先アドレスの宛先リストを含むことが出来る。各宛先アドレスは、エンティティに対応する識別アドレス、又は唯一のpopコード・アドレスに対応するpopコード・アドレスの何れかとすることが出来る。幾つかの実施態様では、第一の物流取引記録は、SKU値識別子を含む。SKU値識別子は、少なくともアイテム・タイプ及びアイテム・タイプの量を記述する。幾つかの実施態様では、ブロック・チェーンの物流取引記録には、一つ以上の発送元アドレス及び一つ以上の宛先アドレスを含む多数の取引アドレスが記載されている。出所管理システムは、取引アドレスのエージェントによって作られる暗号署名を検証するために、それぞれ取引アドレスに対応する一つ以上の公開暗号鍵を格納するように構成されている信頼されているストレージを保持することが出来る。
【００９６】
幾つかの実施態様は、出所管理システムにより在庫管理単位（SKU）パッケージの出所を検証するコンピュータの実行方法を含む。この方法は、スキャナ・コンポーネントを有するモバイル機器からのSKUパッケージ上のパッケージ・ラベルに関連付けられているラベル情報を受信する出所管理システムを含むことが出来る。パッケージ・ラベルは、出所の証明 (proof-of-provenance)情報を符号化することが出来る。出所管理システムは、次いで、SKUパッケージに関連付けられているpopコード・アドレスを決定する。このpopコード・アドレスを利用して、出所管理システムは、分散型コンセンサス・システムによって実装されるブロック・チェーンのpopコード・アドレスで消費されていないSKUパッケージ値を識別する。出所管理システムは、次いで、分散型コンセンサス・システムから、SKUパッケージ値の少なくともサブセットに関連する物流取引記録を抽出する。出所管理システムは、次いで、物流取引記録に基づいて出所報告を生成する。
【００９７】
幾つかの実施態様では、出所管理システムは、第一の物流取引の暗号署名を第一の物流取引の発送元アドレスに関連付けられている公開暗号鍵に対して認証することによって、物流取引記録の第一の物流取引を検証することが出来る。幾つかの実施態様では、SKUパッケージ値は、アイテム・タイプ及びアイテム・タイプの量を記述する。幾つかの実施態様では、物流取引記録は、SKUパッケージ値によって示される一つ以上のアイテムを供給した一つ以上の供給チェーンを形成する一つ以上のエンティティ識別を含む出所ツリーを記述する。
【００９８】
幾つかの実施態様では、出所管理システムは、popコード・アドレスにSKUパッケージ値を配置する、興味がある物流取引記録を識別することが出来る。出所管理システムは、次で、ブロック・チェーンを物流取引記録から上流に向かって、物流取引記録を、興味がある物流取引記録の先祖取引記録と識別することが出来る。
【００９９】
幾つかの実施態様では、出所管理システムは、出所管理システムのエンティティ・アカウントから、ブラックリストに記載されている識別の指定を受信することが出来る。出所管理システムは、ブラックリストに記載された識別が、物流取引記録の少なくとも一つの発送元アドレスに関連付けられると、出所報告の危険因子にフラグを立てることが出来る。同様に、幾つかの実施態様では、出所管理システムは、出所管理システムのエンティティ・アカウントから、ブラックリストに記載されたpopコード・アドレスの指定を受信することが出来る。出所管理システムは、ブラックリストに記載されたpopコード・アドレスが、物流取引記録の少なくとも一つの発送元アドレスに関連付けられると、出所報告の危険因子にフラグを立てることが出来る。この指定は、リコール通知を含むことが出来る。従って、危険因子にフラグを立てることは、出所報告のリコール通知を追加することを含むことが出来る。出所管理システムは、指定を受信すると、エンティティ・アカウントを認証することが出来る。
【０１００】
幾つかの実施態様は、コンピュータ可読データ格納装置のメモリ・モジュールに格納されている実行命令を含むことが出来る。この実行命令は、コンピュータ・プロセッサを構成することによって、この方法を実行するように操作することが可能である。この実行命令は、公開識別鍵を提供することによって出所管理システムにエンティティ・アカウントを登録する命令と、出所の証明(proof-of-provenance) コード（「popコード」）ラベルをその上に有するSKUパッケージに関わる物流取引記録を生成する命令と、popコード・アドレスを決定するために、発送元アドレス又は物流取引記録の宛先アドレスとして加えるためにpopコード・アドレスを走査する命令と、直接又は間接に、ブロック・チェーンを実装する分散型コンセンサス・システムに物流取引記録を送信する命令と、SKUパッケージに関わる子の物流取引を識別するためにブロック・チェーンのSKUパッケージを追跡する命令と、を含むことが出来る。
【０１０１】
幾つかの実施態様では、実行可能命令は、更に、出所管理システムによって登録された秘密識別鍵及び公開識別鍵を含む暗号鍵の対を生成し、かつ秘密識別鍵をメモリ・モジュールに格納する命令を含む。幾つかの実施態様では、実行可能な命令は、更に、SKUパッケージの供給発送元が、出所管理システムにおいてブラックリストに挙げられると、出所管理システムが通知を受信する予約をする命令を含む。幾つかの実施態様では、実行可能命令は、更に、SKUパッケージのコンテンツの少なくともサブセットが、物流取引記録の祖先物流取引又は物流取引記録の子孫物流取引に関係するエンティティ・アカウントによって出所管理システムにおいてブラックリストに記載されると、通知を受信する加入者を出所管理システムにする命令を含む。
【０１０２】
幾つかの実施態様は、出所の証明(proof-of-provenance)コード（「popコード」）ラベルを生成する、コンピュータの実行方法を含むことが出来る。コンピュータ・システム（例えば、出所管理システム）は、決定論的な鍵生成アルゴリズムを使用して、非対称暗号鍵の対を生成することが出来る。非対称暗号鍵の対は、秘密popコード鍵及び公開popコード鍵を含むことが出来る。コンピュータ・システムは、popコード・アドレスに関連付けられている公開popコード鍵を、出所管理システムの信頼されているストレージに登録することが出来る。コンピュータ・システムは、標準化されたデジタル形式で秘密popコード鍵を符号化することが出来る。コンピュータ・システムは、次いで、周辺マシン（例えば、プリンタ又はタグ・メーカ）に、標準化されたデジタル形式でパッケージ・ラベルを生成させることが出来る。幾つかの実施態様では、標準化されたデジタル形式は標準のバーコードであり、かつパッケージ・ラベルはバーコードの印刷物である。幾つかの実施態様では、標準化されたデジタル形式は標準の近距離無線通信（NFC）であり、かつパッケージ・ラベルは高周波識別（RFID）タグである。
【０１０３】
（関連出願についてのクロス・リファレンス）
本出願は、２０１４年１２月５日に出願された米国特許出願第１４／５６２，３０３号の優先権を主張し、そしてこの米国出願は参照によって本明細書に完全に組み込まれている。
【図１】
2020074513.tif 000003
【図２】
2020074513.tif 000004
【図３Ａ】
2020074513.tif 000005
【図３Ｂ】
2020074513.tif 000006
【図４】
2020074513.tif 000007
【図５】
2020074513.tif 000008
【図６Ａ】
2020074513.tif 000009
【図６Ｂ】
2020074513.tif 000010
【図６Ｃ】
2020074513.tif 000011
【図７】
2020074513.tif 000012
【手続補正書】
【提出日】令和1年11月20日(2019.11.20)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００５
【補正方法】変更
【補正の内容】
【０００５】
第一の会社が、その様々な顧客に第一の量の商品を配送する準備ができると、第一のコンピューティング・デバイスは、出所管理システム又はそのエージェントに出所の証明（a proof of provenance code）コード（以下、「popコード」）ラベルを要請することが出来る。このpopコード・ラベルは、物流取引記録に暗号署名するために使用される秘密popコード鍵を符号化する。出所管理システムは、それが、秘密popコード鍵によりなされた署名を検証する（例えば、それ故、出所の証明(proof-of-possession)を確立する）ことが出来るように、秘密popコード鍵に対応する公開popコード鍵を、信頼できるストアに格納することが出来る。幾つかの実施態様では、出所管理システムは、popコード鍵の対を、その信頼できるストアに格納することが出来る。例えば、popコード・アドレスは、二次元バーコードのような32ビット・バーコードとすることが出来る。幾つかの実施態様では、第一のコンピューティング・デバイスは、その商品にラベル付けをするために、一定量のpopコード・アドレスを要請することが出来る。第一のコンピューティング・デバイスは、第二の量の商品をpopコード・アドレスに割当てる物流取引記録を公開レジャー・データベースに報告することが出来る。第二の量の商品は、少なくとも部分的に第一の量の商品と重複することも可能である。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００２７
【補正方法】変更
【補正の内容】
【００２７】
幾つかの実施態様では、出所管理システム102は、決定性鍵生成アルゴリズムを使用してpopコード鍵の対を生成することが出来る。例えば、出所管理システム102は、乱数発生器を利用してバッチでpopコード鍵の対を生成することが出来る。出所管理システム102は、公開popコード鍵を、（例えば、公開識別鍵と共に）その信頼できるストアに格納することが出来る。幾つかの実施態様では、出所管理システム102は、popコード鍵の対をその信頼できるストアに格納することが出来る。出所管理システム102のエージェントは、次いで、各々が秘密popコード鍵を符号化するpopコード・アドレスを印刷することが出来る。popコード・ラベルは、機械的に、磁気的に、光学的に、電子的に、又はこれらの任意の組み合わせで、符号化させることができる。popコード・アドレスからの秘密popコード鍵は、SKUパッケージの所有の証明である。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００２９
【補正方法】変更
【補正の内容】
【００２９】
幾つかの実施態様では、エージェント・アプリケーション108は、参加者デバイス106のスキャナ・コンポーネント（例えば、集合的に「スキャナ・コンポーネント116」とする、スキャナ・コンポーネント116A及びスキャナ・コンポーネント116B）にアクセスすることが出来る。スキャナ・コンポーネント116は、popコード・ラベルから秘密popコード鍵を読出す及び／又は復号するために、使用することが出来る。例えば、スキャナ・コンポーネントは、popコード・アドレス上のバーコード（例えば、一次元又は二次元バーコード）を走査することが可能なカメラとすることが出来る。他の具体例では、スキャナ・コンポーネントは、popコード・アドレスのRFIDタグを走査することが可能な高周波識別（RFID: radiofrequency identification）リーダとすることが出来る。エージェント・アプリケーション108は、物流移転取引を生成しかつそれを出所管理システム102に報告することが出来る。例えば、エージェント・アプリケーション108は、受取側の参加者エンティティの秘密識別鍵と、popコード・ラベルからスキャナ・コンポーネントにより復号された秘密popコード鍵とを使用して、物流移転取引を暗号署名することが出来る。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００６５
【補正方法】変更
【補正の内容】
【００６５】
ブロック420で、プラットホーム参加者402は、一つ以上のpopコード・アドレスを、出所管理システム404のエージェントに、又は出所管理システム404に、直接、（例えば、バッチで）要請することができる。これらのpopコード・アドレスは、（例えば、以前に物流取引に関係したことがない）割当てられたことが無いものにすることが出来る。幾つかの実施態様では、popコード・ラベルは、前もって印刷されている。幾つかの実施態様では、プラットホーム参加者402は、popコード・ラベルを、後に印刷することが出来るデジタル・ファイルとして受信することが出来る。popコード・ラベルは、その上にある秘密popコード鍵を符号化する。幾つかの実施態様では、秘密popコード鍵は、公開popコード鍵とマッチングする秘密非対称暗号鍵である。これらの実施態様では、出所管理システム404は、popコード・ラベル内の符号化されている秘密popコード鍵に対応する公開popコード鍵にアクセスすることが出来る。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００６６
【補正方法】変更
【補正の内容】
【００６６】
幾つかの実施態様では、出所管理システム404は、popコード鍵の対を生成する。これらの実施形態では、出所管理システム404は、秘密popコード鍵をpopコード・アドレスに符号化するためにそれのエージェントに渡し、そして公開popコード鍵をそれの信頼できるストアに格納する。幾つかの実施態様では、出所管理システム404のパートナである会社は、popコード鍵の対を生成することが出来る。この会社は、公開popコード鍵を出所管理システム404に渡すことができ、かつ流通のために、秘密popコード鍵を符号化するpopコード・ラベルを生成することが出来る。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００６７
【補正方法】変更
【補正の内容】
【００６７】
プラットホーム参加者402は、これらのSKUパッケージの少なくとも一部を、後で、準備することが出来る。例えば、プラットホーム参加者402は、一つ以上の出荷パッケージに一つ以上のpopコード・ラベルをラベル付けすることが出来る。ブロック424で、プラットホーム参加者402は、物流取引記録を生成し、かつこの物流取引記録を出所管理システム404に送信することが出来る。物流取引記録は、プラットホーム参加者402の識別アドレスに対応する発送元アドレスを含むことが出来る。プラットホーム参加者402は、識別アドレスに対応する秘密識別鍵を使用して物流取引記録に署名することが出来る。物流取引記録は、popコード・アドレスに対応する宛先アドレスを含むことが出来る。このpopコード・アドレスは、出荷パッケージにラベル付けするために使用されるpopコード・ラベルの少なくとも一つに対応させることが出来る。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００７２
【補正方法】変更
【補正の内容】
【００７２】
ブロック512で、モバイル・アプリケーション502は、SKUパッケージからのpopコード・アドレスを走査することが出来る。幾つかの実施態様では、走査は、光学スキャナに関係する。幾つかの実施態様では、走査は、高周波スキャナに関係する。モバイル・アプリケーション502は、走査された情報（例えば、画像、応答信号、デジタル・シーケンス、デジタル格子又はこれらの任意の組み合わせ）を出所管理システム504に提供することができる。幾つかの実施態様では、走査された情報は、popコード・ラベルから復号された秘密popコード鍵を含む。すなわち、これらの実施態様では、ブロック502は、popコード・ラベルを走査することによって秘密popコード鍵を復号することを含む。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００７６
【補正方法】変更
【補正の内容】
【００７６】
幾つかの実施態様では、popコード・アドレスからの走査情報は、SKUパッケージ値及びこのSKUパッケージ値の唯一の出所を識別するために使用することが出来る。SKUパッケージ値は、アイテム・タイプ及び量のようなSKUパッケージ内の一つ以上のアイテムを記述する。各popコード・アドレスごとに、出所管理システム504又は識別プロバイダ（例えば、図１の識別プロバイダ・システム110）は、このpopコード・アドレスで現在「消費されていない」値を識別することが出来る。ここで、「消費されていない値」とは、今まで子の物流取引において関係したことが無いSKUパッケージ値を意味する。出所管理システム504又は識別プロバイダは、SKUパッケージ値によって記述されるアイテム・タイプ及び量に関連付けられている現実世界の識別を表示することが出来る。出所管理システム504又は識別プロバイダは、商品及びアイテムを製造する、搬送する、再パッケージする、単一化する、組立てる、組合せる、又はこれらの任意の組合の全ての段階に関連付けられている現実世界の識別を、popコード・ラベルにより一つのSKUパッケージに決定することが出来る。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】０１００
【補正方法】変更
【補正の内容】
【０１００】
幾つかの実施態様は、コンピュータ可読データ格納装置のメモリ・モジュールに格納されている実行命令を含むことが出来る。この実行命令は、コンピュータ・プロセッサを構成することによって、この方法を実行するように操作することが可能である。この実行命令は、公開識別鍵を提供することによって出所管理システムにエンティティ・アカウントを登録する命令と、出所の証明(proof-of-provenance) コード（「popコード」）ラベルをその上に有するSKUパッケージに関わる物流取引記録を生成する命令と、popコード・アドレスを決定するために、物流取引記録の発送元アドレス又は宛先アドレスとして加えるためにpopコード・ラベルを走査する命令と、直接又は間接に、ブロック・チェーンを実装する分散型コンセンサス・システムに物流取引記録を送信する命令と、SKUパッケージに関わる子の物流取引を識別するためにブロック・チェーンのSKUパッケージを追跡する命令と、を含むことが出来る。
【手続補正１０】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項９
【補正方法】変更
【補正の内容】
【請求項９】
前記物流取引記録が、在庫管理単位(SKU)値識別子を含み、
前記SKU値識別子が、少なくとも、アイテム・タイプ及び前記アイテム・タイプの量を記述する、
請求項６に記載のコンピュータの実行方法。
【手続補正１１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１１
【補正方法】変更
【補正の内容】
【請求項１１】
プロセッサによって実行される、作動可能である実行可能な命令を格納するメモリ・モジュールを備えるコンピュータ可読データ格納装置であって、
前記メモリ・モジュールが、
第一の識別アドレスに関連付けられている第一のエンティティ・アカウントと、第一の公開鍵と、第一の秘密鍵とを認証する命令であって、前記第一の公開鍵が前記第一の秘密鍵に対応している、実行可能な命令と、
前記第一の識別アドレスと、前記第一のエンティティ・アカウントに関連付けられている前記第一の公開鍵とを登録する実行可能な命令と、
第二の識別アドレスに関連付けられている第二のエンティティ・アカウントと、第二の公開鍵と、第二の秘密鍵とを認証する実行可能な命令と、
前記第二の識別アドレスと、前記第二のエンティティ・アカウントに関連付けられている前記第二の公開鍵と、秘密出所の証明（proof-of-provenance）コード（「popコード」）鍵に関連付けられているpopコード・アドレスとを登録する実行可能な命令と、
第一の暗号署名を有する第一の物流取引記録を受信する命令であって、前記第一の物流取引記録が、前記第一の識別アドレスとして第一の発送元アドレスを示す、実行可能な命令と、
前記第一の公開鍵に対して前記第一の暗号署名を認証することにより、前記第一の暗号署名が、前記第一のエンティティ・アカウントにより生成されていることを、検証する実行可能な命令と、
第二の暗号署名を有する第二の物流取引記録を受信する命令であって、前記第二の物流取引記録が、前記第二の識別アドレスとして宛先アドレスを、および前記popコード・アドレスとして第二の発送元アドレスを示す、実行可能な命令と、
前記popコード・アドレスに対応する公開popコードを識別する実行可能な命令と、
前記第二の公開鍵および前記popコード・アドレスに対応する前記公開popコード鍵に対して前記第二の暗号署名を認証することにより、前記第二の暗号署名が、前記第二のエンティティ・アカウントにより生成されていることを、検証する実行可能な命令と、
前記第一の物流取引記録および前記第二の物流取引を分散型コンピュータ・システムに格納されている耐改竄性ブロック・チェーンに発行する実行可能な命令と
を格納する、コンピュータ可読データ格納装置。
【手続補正１２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１２
【補正方法】変更
【補正の内容】
【請求項１２】
前記メモリ・モジュールが、更に、
popコード・ラベルをその上に有する、在庫管理単位(SKU)パッケージに関する前記第一の物流取引記録を生成する実行可能な命令を備える、
請求項１１に記載のコンピュータ可読データ格納装置。
【手続補正１３】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１３
【補正方法】変更
【補正の内容】
【請求項１３】
前記メモリ・モジュールが、更に、
前記popコード・ラベルを走査して、前記第一の物流取引記録の発送元アドレスまたは宛先アドレスとして加えるためにpopコード・アドレスを決定する実行可能な命令を備える、
請求項１２に記載のコンピュータ可読データ格納装置。