(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022088032
(43)【公開日】2022-06-14
(54)【発明の名称】作業管理方法、情報処理端末、及びプログラム
(51)【国際特許分類】
G06Q 50/10 20120101AFI20220607BHJP
H04L 9/32 20060101ALI20220607BHJP
【FI】
G06Q50/10
H04L9/00 675B
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2020200255
(22)【出願日】2020-12-02
(71)【出願人】
【識別番号】518276427
【氏名又は名称】ZEROBILLBANK JAPAN株式会社
(74)【代理人】
【識別番号】100166006
【弁理士】
【氏名又は名称】泉 通博
(74)【代理人】
【識別番号】100154070
【弁理士】
【氏名又は名称】久恒 京範
(74)【代理人】
【識別番号】100153280
【弁理士】
【氏名又は名称】寺川 賢祐
(72)【発明者】
【氏名】堀口 純一
(72)【発明者】
【氏名】茂木 健一
【テーマコード(参考)】
5L049
【Fターム(参考)】
5L049CC11
(57)【要約】
【課題】分散型の作業管理技術を提供する。
【解決手段】作業を依頼する依頼者が利用する依頼者端末1が、作業が実行された後に作業を確認する確認者が利用する確認者端末2の公開鍵である確認者公開鍵を取得するステップと、作業の内容を示す内容情報と、作業の作業対象を示す対象情報と、作業を特定するための作業識別子と、作業の報酬とするトークンの数と、確認者公開鍵とを含む作業依頼データを生成するステップと、依頼者端末1の秘密鍵である依頼者秘密鍵を用いて、作業依頼データに署名を付すことにより、署名付作業依頼データを生成するステップと、署名付作業依頼データをブロックチェーン3に送信するステップと、を実行し、ブロックチェーン3が、依頼者端末1から署名付作業依頼データを受信するステップと、署名付作業依頼データを登録するステップと、を実行する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
作業を依頼する依頼者が利用する依頼者端末が、
前記作業が実行された後に当該作業を確認する確認者が利用する確認者端末の公開鍵である確認者公開鍵を取得するステップと、
前記作業の内容を示す内容情報と、前記作業の作業対象を示す対象情報と、前記作業を特定するための作業識別子と、前記作業の報酬とするトークンの数と、前記確認者公開鍵とを含む作業依頼データを生成するステップと、
前記依頼者端末の秘密鍵である依頼者秘密鍵を用いて、前記作業依頼データに署名を付すことにより、署名付作業依頼データを生成するステップと、
前記署名付作業依頼データをブロックチェーンに送信するステップと、を実行し、
前記ブロックチェーンが、
前記依頼者端末から前記署名付作業依頼データを受信するステップと、
前記署名付作業依頼データを登録するステップと、を実行する、
作業管理方法。
【請求項2】
前記作業を実行する作業者が利用する作業者端末が、
前記ブロックチェーンから前記署名付作業依頼データを取得するステップと、
前記作業の着手予定日時と、前記作業者端末の公開鍵である作業者公開鍵とを含む着手予定データを生成するステップと、
前記作業者公開鍵に対応する秘密鍵である作業者秘密鍵を用いて前記着手予定データに署名を付すことにより、署名付着手予定データを生成するステップと、
前記署名付着手予定データを前記ブロックチェーンに送信するステップと、をさらに実行し、
前記ブロックチェーンが、
前記作業者端末から前記署名付着手予定データを受信するステップと、
前記署名付着手予定データを前記署名付作業依頼データと対応づけて登録するステップと、をさらに実行する、
請求項1に記載の作業管理方法。
【請求項3】
前記作業者端末が、
前記作業対象に付された前記作業識別子を前記作業対象から読み出すステップと、
前記作業識別子の取得日時と、前記作業者のトークンを格納するアドレスと、前記作業者公開鍵とを含む着手開始データを生成するステップと、
前記作業者秘密鍵を用いて前記着手開始データに署名を付すことにより、署名付着手開始データを生成するステップと、
前記作業識別子と前記署名付着手開始データとを前記ブロックチェーンに送信するステップと、をさらに実行し、
前記ブロックチェーンが、
前記署名付着手予定データに含まれる前記作業者公開鍵を用いて、前記着手開始データに付した署名を検証するステップと、
検証に成功した場合、前記署名付着手開始データを、前記作業識別子を含む前記署名付作業依頼データと対応づけて登録するステップと、をさらに実行する、
請求項2に記載の作業管理方法。
【請求項4】
前記作業者端末が、
前記作業が完了した後に、前記作業者秘密鍵を用いて署名を付した作業者署名データを前記確認者端末に送信するステップをさらに実行し、
前記確認者端末が、
前記作業者署名データを受信するステップと、
前記作業対象に付された前記作業識別子を前記作業対象から読み出すステップと、
前記作業が完了した日時を示す作業完了データを生成するステップと、
前記作業完了データに前記確認者公開鍵に対応する秘密鍵である確認者秘密鍵を用いて署名を付した署名付作業完了データを生成するステップと、
前記作業者署名データ、前記作業識別子、及び前記署名付作業完了データを前記ブロックチェーンに送信するステップと、をさらに実行し、
前記ブロックチェーンが、
前記作業者署名データ、前記作業識別子、及び前記署名付作業完了データを前記作業者端末から受信するステップと、
前記作業識別子を含む前記署名付作業依頼データと対応づけて登録されている前記署名付着手開始データの中の前記作業者公開鍵を用いて、前記作業者署名データの署名の正当性を検証するステップと、
前記署名付作業依頼データの中の前記確認者公開鍵を用いて、前記署名付作業完了データの署名の正当性を検証するステップと、
前記作業者署名データの署名の検証と前記署名付作業完了データの署名の検証とに成功した場合、前記着手開始データに含まれる前記アドレスに、前記報酬とするトークンを送信するステップと、
前記署名付作業完了データを前記署名付作業依頼データと対応づけて登録するステップと、をさらに実行する、
請求項3記載の作業管理方法。
【請求項5】
前記確認者端末と前記依頼者端末とは同一の端末である、
請求項1から4のいずれか1項に記載の作業管理方法。
【請求項6】
作業を依頼する依頼者が利用する情報処理端末であって、
前記作業が実行された後に当該作業を確認する確認者が利用する確認者端末の公開鍵である確認者公開鍵を取得する鍵取得部と、
前記作業の内容を示す内容情報、前記作業の作業対象を示す対象情報と、前記作業を特定するための作業識別子と、前記作業の報酬とするトークンの数と、前記確認者公開鍵とを含む作業依頼データを生成するデータ生成部と、
前記情報処理端末の秘密鍵である依頼者秘密鍵を用いて、前記作業依頼データに署名を付すことにより、署名付作業依頼データを生成する署名付与部と、
前記署名付作業依頼データをブロックチェーンに送信する通信部と、を備える、
情報処理端末。
【請求項7】
作業を依頼する依頼者が利用するコンピュータに、
前記作業が実行された後に当該作業を確認する確認者が利用する確認者端末の公開鍵である確認者公開鍵を取得する機能と、
前記作業の内容を示す内容情報、前記作業の作業対象を示す対象情報と、前記作業を特定するための作業識別子と、前記作業の報酬とするトークンの数と、前記確認者公開鍵とを含む作業依頼データを生成する機能と、
前記コンピュータの秘密鍵である依頼者秘密鍵を用いて、前記作業依頼データに署名を付すことにより、署名付作業依頼データを生成する機能と、
前記署名付作業依頼データをブロックチェーンに送信する機能と、を実現させる、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は作業管理方法、情報処理端末、及びプログラムに関する。
【背景技術】
【0002】
近年、ブロックチェーン等の分散型公開台帳を実現する技術が急速に発達してきている。例えば、特許文献1には、発注や、出荷、契約の依頼、変更、承認等の情報をブロックチェーンに反映させ、サプライチェーンに関与する複数の企業のグループ単位で承認を行う技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
本願の発明者は、ブロックチェーンが実現する堅牢性と公開台帳としての特性とに着目し、作業の依頼、作業の実施、作業の確認結果、及び作業に対する対価の支払いをブロックチェーンを用いて管理することで、管理会社等の特定の作業管理を担う者を省くことができる可能性について認識するに至った。
【0005】
本発明はこれらの点に鑑みてなされたものであり、分散型の作業管理技術を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の第1の態様は、作業管理方法である。この方法において、作業を依頼する依頼者が利用する依頼者端末が、前記作業が実行された後に当該作業を確認する確認者が利用する確認者端末の公開鍵である確認者公開鍵を取得するステップと、前記作業の内容を示す内容情報と、前記作業の作業対象を示す対象情報と、前記作業を特定するための作業識別子と、前記作業の報酬とするトークンの数と、前記確認者公開鍵とを含む作業依頼データを生成するステップと、前記依頼者端末の秘密鍵である依頼者秘密鍵を用いて、前記作業依頼データに署名を付すことにより、署名付作業依頼データを生成するステップと、前記署名付作業依頼データをブロックチェーンに送信するステップと、を実行し、前記ブロックチェーンが、前記依頼者端末から前記署名付作業依頼データを受信するステップと、前記署名付作業依頼データを登録するステップと、を実行する。
【0007】
前記作業管理方法において、前記作業を実行する作業者が利用する作業者端末が、前記ブロックチェーンから前記署名付作業依頼データを取得するステップと、前記作業の着手予定日時と、前記作業者端末の公開鍵である作業者公開鍵とを含む着手予定データを生成するステップと、前記作業者公開鍵に対応する秘密鍵である作業者秘密鍵を用いて前記着手予定データに署名を付すことにより、署名付着手予定データを生成するステップと、前記署名付着手予定データを前記ブロックチェーンに送信するステップと、をさらに実行してもよく、前記ブロックチェーンが、前記作業者端末から前記署名付着手予定データを受信するステップと、前記署名付着手予定データを前記署名付作業依頼データと対応づけて登録するステップと、をさらに実行してもよい。
【0008】
前記作業管理方法において、前記作業者端末が、前記作業対象に付された前記作業識別子を前記作業対象から読み出すステップと、前記作業識別子の取得日時と、前記作業者のトークンを格納するアドレスと、前記作業者公開鍵とを含む着手開始データを生成するステップと、前記作業者秘密鍵を用いて前記着手開始データに署名を付すことにより、署名付着手開始データを生成するステップと、前記作業識別子と前記署名付着手開始データとを前記ブロックチェーンに送信するステップと、をさらに実行してもよく、前記ブロックチェーンが、前記署名付着手予定データに含まれる前記作業者公開鍵を用いて、前記着手開始データに付した署名を検証するステップと、検証に成功した場合、前記署名付着手開始データを、前記作業識別子を含む前記署名付作業依頼データと対応づけて登録するステップと、をさらに実行してもよい。
【0009】
前記作業管理方法において、前記作業者端末が、前記作業が完了した後に、前記作業者秘密鍵を用いて署名を付した作業者署名データを前記確認者端末に送信するステップをさらに実行してもよく、前記確認者端末が、前記作業者署名データを受信するステップと、前記作業対象に付された前記作業識別子を前記作業対象から読み出すステップと、前記作業が完了した日時を示す作業完了データを生成するステップと、前記作業完了データに前記確認者公開鍵に対応する秘密鍵である確認者秘密鍵を用いて署名を付した署名付作業完了データを生成するステップと、前記作業者署名データ、前記作業識別子、及び前記署名付作業完了データを前記ブロックチェーンに送信するステップと、をさらに実行してもよく、前記ブロックチェーンが、前記作業者署名データ、前記作業識別子、及び前記署名付作業完了データを前記作業者端末から受信するステップと、前記作業識別子を含む前記署名付作業依頼データと対応づけて登録されている前記署名付着手開始データの中の前記作業者公開鍵を用いて、前記作業者署名データの署名の正当性を検証するステップと、前記署名付作業依頼データの中の前記確認者公開鍵を用いて、前記署名付作業完了データの署名の正当性を検証するステップと、前記作業者署名データの署名の検証と前記署名付作業完了データの署名の検証とに成功した場合、前記着手開始データに含まれる前記アドレスに、前記報酬とするトークンを送信するステップと、前記署名付作業完了データを前記署名付作業依頼データと対応づけて登録するステップと、をさらに実行してもよい。
【0010】
前記作業管理方法において、前記確認者端末と前記依頼者端末とは同一の端末であってもよい。
【0011】
本発明の第2の態様は、作業を依頼する依頼者が利用する情報処理端末である。この情報処理端末は、前記作業が実行された後に当該作業を確認する確認者が利用する確認者端末の公開鍵である確認者公開鍵を取得する鍵取得部と、前記作業の内容を示す内容情報、前記作業の作業対象を示す対象情報と、前記作業を特定するための作業識別子と、前記作業の報酬とするトークンの数と、前記確認者公開鍵とを含む作業依頼データを生成するデータ生成部と、前記情報処理端末の秘密鍵である依頼者秘密鍵を用いて、前記作業依頼データに署名を付すことにより、署名付作業依頼データを生成する署名付与部と、前記署名付作業依頼データをブロックチェーンに送信する通信部と、を備える。
【0012】
本発明の第3の態様は、プログラムである。このプログラムは、作業を依頼する依頼者が利用するコンピュータに、前記作業が実行された後に当該作業を確認する確認者が利用する確認者端末の公開鍵である確認者公開鍵を取得する機能と、前記作業の内容を示す内容情報、前記作業の作業対象を示す対象情報と、前記作業を特定するための作業識別子と、前記作業の報酬とするトークンの数と、前記確認者公開鍵とを含む作業依頼データを生成する機能と、前記コンピュータの秘密鍵である依頼者秘密鍵を用いて、前記作業依頼データに署名を付すことにより、署名付作業依頼データを生成する機能と、前記署名付作業依頼データをブロックチェーンに送信する機能と、を実現させる。
【0013】
このプログラムを提供するため、あるいはプログラムの一部をアップデートするために、このプログラムを記録したコンピュータ読み取り可能な記録媒体が提供されてもよく、また、このプログラムが通信回線で伝送されてもよい。
【0014】
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、コンピュータプログラム、データ構造、記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【0015】
本発明によれば、分散型の作業管理技術を提供することができる。
【図面の簡単な説明】
【0016】
【
図1】実施の形態に係る作業管理システムの概要を説明するための図である。
【
図2】実施の形態に係る作業管理システムを構成する各装置の機能構成を模式的に示す図である。
【
図3】実施の形態に係る作業管理システムにおける作業依頼の登録処理の流れを説明するためのシーケンス図である。
【
図4】実施の形態に係る作業管理システムにおける作業の受注処理の流れを説明するためのシーケンス図である。
【
図5】実施の形態に係る作業管理システムにおける作業の着手処理の流れを説明するためのシーケンス図である。
【
図6】実施の形態に係る作業管理システムにおける作業の確認処理の流れを説明するためのシーケンス図である。
【
図7】実施の形態に係るブロックチェーンのデータ構造の一例を模式的に示す図である。
【
図8】変形例に係る権利管理システムを説明するための模式図である。
【発明を実施するための形態】
【0017】
<実施の形態の概要>
図1は、実施の形態に係る作業管理システムSの概要を説明するための図である。
図1に示すように、実施の形態に係る作業管理システムSは、依頼者端末1、確認者端末2、ブロックチェーン3、及び作業者端末4が、インターネット等のネットワークNを介して互いに通信可能な態様で接続している。ここで、依頼者端末1は作業依頼する依頼者Urが使用している端末であり、確認者端末2は作業が実行された後にその作業を確認する確認者Ucが使用している端末であり、作業者端末4は作業を実行する作業者Uwが使用している端末である。作業管理システムSが扱う作業は、実在する物品を道具として用いる作業である。例えば、作業が配送である場合に、物品は荷物5である。また、作業が清掃である場合、物品は掃除道具である。
【0018】
図1に示す作業管理システムSは、荷物5の配送作業を扱う場合の例を示している。この場合、依頼者Urは荷物5の送り主(荷物5の配送を依頼する者)であり、確認者Ucは荷物の受け取り主(荷物が届いたかどうかを確認する者)であり、作業者Uwは荷物を運搬する者である。なお、作業が例えば家の清掃である場合には、依頼者Urと確認者Ucとが同一人物となり得る。この場合、依頼者端末1と確認者端末2とも同じ端末である。
【0019】
実施の形態に係る作業管理システムSにおいて、ブロックチェーン3は、依頼者Urによる作業依頼、作業者Uwによる作業の実施、及び確認者Ucによる作業の確認の結果を管理する。具体的には、ブロックチェーン3はスマートコントラクト機能が実装されたブロックチェーンであり、そのスマートコントラクトによって作業の管理を実現している。このため、
図1に示す例では、ブロックチェーン3は5つのノード(第1ノード3a、第2ノード3b、第3ノード3c、第4ノード3d、及び第5ノード3e)から構成されている。スマートコントラクト機能が実装されたブロックチェーン3としては、例えばイーサリウム(Ethereum)が挙げられるが、これに限定されるものではない。
【0020】
既知の技術のため詳細な説明は省略するが、スマートコントラクトは、ブロックチェーン3に実装された一種のソフトウェアプログラムである。例えば、ブロックチェーン3がイーサリウムである場合、スマートコントラクトはSolidityと呼ばれるプログラミング言語で実装されることが多い。実施の形態に係るブロックチェーン3に格納されたスマートコントラクトには、作業の依頼、実施、確認、及び報酬の支払いを管理するためのソフトウェアプログラムが実装されている。ブロックチェーン3を実現する各ノードはこのソフトウェアプログラムを実行することにより、作業の管理を実現する。
【0021】
以下、
図1を参照して、実施の形態に係る作業管理システムSにおける処理の流れの概要を(1)から(14)の順に説明するが、その数字は
図1における(1)から(14)と対応する。
【0022】
(1)確認者Ucは、確認者端末2を用いて確認者端末2の公開鍵である確認者公開鍵を依頼者端末1に送信する。
(2)依頼者端末1は、確認者端末2から確認者公開鍵を受信して取得する。
(3)依頼者端末1は、作業の内容を示す内容情報と、作業の作業対象を示す対象情報と、作業を特定するための作業識別子と、作業の報酬とするトークンの数と、確認者公開鍵とを含む作業依頼データを生成する。
【0023】
具体的には、作業の内容を示す内容情報は、依頼者Urの居所から確認者Ucの居所まで荷物5を運搬することを示す情報であり、依頼者Urの住所と確認者Ucの住所とを含む情報である。作業の作業対象を示す対象情報は、荷物5を示す情報である。依頼者端末1は、作業依頼データを生成する際に、その作業を特定するための英数字である作業識別子と、その作業識別子を符号化したQRコード(Quick Responseコード;登録商標)とを生成する。依頼者Urは、依頼者端末1が生成した作業識別子を示すQRコードを出力し、荷物5に貼付する。
【0024】
作業の報酬とするトークンの数とは、運搬作業の対価となる金銭に相当するトークンである。トークンはブロックチェーン3が扱う暗号資産であり、ブロックチェーン3のコントラクト機能は、依頼者Urのトークンを格納するアドレスを参照して作業の報酬とするトークンをデポジットすることができる。
【0025】
(4)依頼者端末1は、依頼者端末1の秘密鍵である依頼者秘密鍵を用いて、生成した作業依頼データに署名を付し、署名付作業依頼データを生成する。
(5)依頼者端末1は、署名付作業依頼データをブロックチェーン3に送信する。
(6)ブロックチェーン3は、署名付作業依頼データを依頼者端末1から受信する。
(7)ブロックチェーン3は、依頼者端末1から受信した署名付作業依頼データを、スマートコントラクト専用のデータ格納領域(不図示)に登録する。詳細は後述するが、ブロックチェーン3は、データ格納領域に登録したデータを事後的にブロックチェーン3のデータブロックに登録する。
【0026】
これにより、ブロックチェーン3に登録された署名付作業依頼データは、ブロックチェーン3にアクセスすることが許可された者が閲覧することができるようになる。これにより、作業を実施することを望む者は、ブロックチェーン3に登録された署名付作業依頼データを閲覧することで、自由に作業を選択することができる。結果として、運送業者等の特定の者に依存することなく種々の作業者Uwを募集可能な分散型の応募システムを実現することができる。
【0027】
(8)作業者Uwは、作業者端末4を用いて、ブロックチェーン3に登録された署名付作業依頼データを閲覧する。
(9)作業者端末4は、作業者Uwが実施を望む作業に関する署名付作業依頼データをブロックチェーン3から取得する。
(10)作業者端末4は、作業の着手予定日時と、作業者端末4の公開鍵である作業者公開鍵とを含む着手予定データを生成する。
【0028】
(11)作業者端末4は、作業者端末4の公開鍵に対応する秘密鍵であって作業者端末4の秘密鍵である作業者秘密鍵を用いて着手予定データに署名を付し、署名付着手予定データを生成する。
(12)作業者端末4は、署名付着手予定データをブロックチェーン3に送信する。
【0029】
(13)ブロックチェーン3は、署名付着手予定データを作業者端末4から受信する。
(14)ブロックチェーン3は、署名付着手予定データを署名付作業依頼データと対応づけて登録する。
【0030】
これにより、ブロックチェーン3は、ブロックチェーン3にアクセス可能な作業者端末4のいずれかから、特定のサーバ等を介さずに作業依頼を受注させることができる。このように、実施の形態に係る作業管理システムSは、作業対象の物品に識別番号を割り当てることにより、ブロックチェーン3を用いて作業の依頼及び受注を分散的に管理することができる。
【0031】
<実施の形態に係る作業管理システムSの機能構成>
図2は、実施の形態に係る作業管理システムSを構成する各装置の機能構成を模式的に示す図である。作業管理システムSは、依頼者端末1、確認者端末2、ブロックチェーン3、及び作業者端末4を備える。なお、
図2では、ブロックチェーン3を構成する一つのノードの構成をブロックチェーン3として図示している。
【0032】
依頼者端末1は、記憶部10、通信部11、及び制御部12を備える。同様に、確認者端末2は記憶部20、通信部21、及び制御部22を備え、ブロックチェーン3を構成する各ノードは記憶部30、通信部31、及び制御部32を備え、作業者端末4は記憶部40、通信部41、及び制御部42を備える。
図2において、矢印は主なデータの流れを示しており、
図2に示していないデータの流れがあってもよい。
図2において、各機能ブロックはハードウェア(装置)単位の構成ではなく、機能単位の構成を示している。そのため、
図2に示す機能ブロックは単一の装置内に実装されてもよく、あるいは複数の装置内に分かれて実装されてもよい。機能ブロック間のデータの授受は、データバス、ネットワーク、可搬記憶媒体等、任意の手段を介して行われてもよい。
【0033】
記憶部10は、依頼者端末1を実現するコンピュータのBIOS(Basic Input Output System)等を格納するROM(Read Only Memory)や依頼者端末1の作業領域となるRAM(Random Access Memory)、OS(Operating System)やアプリケーションプログラム、当該アプリケーションプログラムの実行時に参照される種々の情報を格納するHDD(Hard Disk Drive)やSSD(Solid State Drive)等の大容量記憶装置である。
【0034】
同様に、記憶部20は、確認者端末2を実現するコンピュータのBIOS等を格納するROMや確認者端末2の作業領域となるRAM、OSやアプリケーションプログラム、当該アプリケーションプログラムの実行時に参照される種々の情報を格納するHDDやSSD等の大容量記憶装置である。記憶部30は、ブロックチェーン3を実現するコンピュータのBIOS等を格納するROMやブロックチェーン3の作業領域となるRAM、OSやスマートコントラクトを実現するプログラム、当該プログラムの実行時に参照される種々の情報を格納するHDDやSSD等の大容量記憶装置である。記憶部40は、作業者端末4を実現するコンピュータのBIOS等を格納するROMや作業者端末4の作業領域となるRAM、OSやアプリケーションプログラム、当該アプリケーションプログラムの実行時に参照される種々の情報を格納するHDDやSSD等の大容量記憶装置である。
【0035】
通信部11は、依頼者端末1が外部の装置と通信するための装置であり、既知のWi-Fi(登録商標)モジュールや携帯通信モジュール等で実現される。同様に通信部21及び通信部41も、既知のWi-Fiモジュールや携帯通信モジュール等で実現される。通信部31は、例えば既知の有線LAN(Local Area Network)モジュールで実現される。
【0036】
制御部12は、依頼者端末1のCPU(Central Processing Unit)やGPU(Graphics Processing Unit)等のプロセッサであり、記憶部10に記憶されたプログラムを実行することによって通信制御部120、鍵取得部121、データ生成部122、及び署名付与部123として機能する。制御部22は、確認者端末2のCPUやGPU等のプロセッサであり、記憶部20に記憶されたプログラムを実行することによって通信制御部220、識別子取得部221、データ生成部222、及び署名付与部223として機能する。
【0037】
制御部32は、ブロックチェーン3を実現するコンピュータのCPUやGPU等のプロセッサであり、スマートコントラクトを実行することによって通信制御部320、登録部321、検証部322、及び報酬送信部323として機能する。制御部42は、作業者端末4のCPUやGPU等のプロセッサであり、記憶部40に記憶されたプログラムを実行することによって通信制御部420、依頼取得部421、データ生成部422、署名付与部423、及び識別子取得部424として機能する。
【0038】
(作業依頼の登録)
図3は、実施の形態に係る作業管理システムSにおける作業依頼の登録処理の流れを説明するためのシーケンス図である。以下、
図2及び
図3を参照して、作業依頼の登録処理を説明する。
【0039】
確認者端末2の通信制御部220は、記憶部20に格納されている確認者公開鍵を、通信部21を制御して依頼者端末1に送信させる(S2)。以下、本明細書において、通信部21が外部の装置に情報を送信したり、外部の装置から情報を受信したりする場合、通信制御部220による制御を前提として、単に「通信部21が送信(受信)する」等と記載する。
【0040】
依頼者端末1の鍵取得部121は、通信制御部120の制御の下で動作する通信部11が受信した確認者公開鍵を取得する(S4)。以下、本明細書において、通信部11が外部の装置に情報を送信したり、外部の装置から情報を受信したりする場合、通信制御部120による制御を前提として、単に「通信部11が送信(受信)する」等と記載する。
【0041】
データ生成部122は、作業の内容を示す内容情報と、作業の作業対象を示す対象情報と、作業を特定するための作業識別子と、作業の報酬とするトークンの数と、確認者公開鍵とを含む作業依頼データを生成する(S6)。署名付与部123は、依頼者端末1の秘密鍵である依頼者秘密鍵を用いて、データ生成部122が生成した作業依頼データに署名を付すことにより、署名付作業依頼データを生成する(S8)。通信部11は、署名付作業依頼データをブロックチェーン3に送信する(S10)。
【0042】
ブロックチェーン3を構成するノード(以下、説明の便宜上「ブロックチェーン3」と記載する)の通信制御部320は、通信部31を制御して、依頼者端末1から署名付依頼データを受信する(S12)。以下、本明細書において、通信部31が外部の装置に情報を送信したり、外部の装置から情報を受信したりする場合、通信制御部320による制御を前提として、単に「通信部31が送信(受信)する」等と記載する。
【0043】
登録部321は、署名付作業依頼データを外部から閲覧可能なデータ格納領域に登録する(S14)。これにより、ブロックチェーン3の閲覧を許可された者は、ブロックチェーン3に登録された作業依頼を自身の端末で閲覧し、実行を希望する作業を探すことができるようになる。依頼者Urからみると、ブロックチェーン3の閲覧を許可された者に対して作業を依頼することができる。このように、作業管理システムSは、ブロックチェーン3を用いて作業の依頼を管理することができる。
【0044】
(作業の受注)
図4は、実施の形態に係る作業管理システムSにおける作業の受注処理の流れを説明するためのシーケンス図である。以下、
図2及び
図4を参照して、作業の受注処理を説明する。
【0045】
作業者端末4の通信制御部420は、通信部41を制御して、ブロックチェーン3に登録されている署名付作業依頼データを問い合わせの要求を送信させる(S16)。以下、本明細書において、通信部41が外部の装置に情報を送信したり、外部の装置から情報を受信したりする場合、通信制御部420による制御を前提として、単に「通信部41が送信(受信)する」等と記載する。
【0046】
依頼取得部421は、通信部41がブロックチェーン3から受信した署名付作業依頼データを取得する(S18)。データ生成部422は、作業の着手予定日時と、作業者端末の公開鍵である作業者公開鍵とを含む着手予定データを生成する(S20)。署名付与部423は、作業者公開鍵に対応する秘密鍵である作業者秘密鍵を用いて着手予定データに署名を付すことにより、署名付着手予定データを生成する(S22)。通信部41は、署名付着手予定データをブロックチェーン3に送信する(S24)。
【0047】
ブロックチェーン3の通信部31は、作業者端末4から署名付着手予定データを受信する(S26)。登録部321は、受信した署名付着手予定データを署名付作業依頼データと対応づけてデータ格納領域に登録する(S28)。これにより、ブロックチェーン3の閲覧を許可された者は、作業者Uwによって作業の受注がなされたことを知ることができる。これにより、作業管理システムSは、ブロックチェーン3を用いて作業の受注を管理することができる。
【0048】
(作業の着手)
図5は、実施の形態に係る作業管理システムSにおける作業の着手処理の流れを説明するためのシーケンス図である。以下、
図2及び
図5を参照して、作業の着手処理を説明する。
【0049】
作業者端末4の識別子取得部424は、作業対象に付された作業識別子を作業対象から読み出す(S30)。具体的には、作業者Uwが作業対象の存在場所(例えば、依頼者Urの自宅や指定のロッカー等)まで赴き、図示しない作業者端末4の撮像部で荷物5に付されたQRコードやバーコードを読み取ることにより、識別子取得部424が作業識別子を取得する。作業識別子がRFID(radio frequency identifier)タグに書き込まれている場合には、識別子取得部424は、図示しないRFIDリーダを介して作業識別子をRFIDタグから読み出して取得する。
【0050】
データ生成部422は、作業識別子の取得日時と、作業者Uwのトークンを格納するアドレスと、作業者公開鍵とを含む着手開始データを生成する(S32)。ここで、作業識別子の取得日時は、作業者Uwが作業対象に触れた日時、すなわち作業の開始日時を反映する情報となる。
【0051】
署名付与部423は、作業者秘密鍵を用いて着手開始データに署名を付すことにより、署名付着手開始データを生成する(S34)。通信部41は、作業識別子と署名付着手開始データとをブロックチェーン3に送信する(S36)。
【0052】
ブロックチェーン3の通信部31は、作業者端末4から署名付作業開始データを受信する(S38)。検証部322は、署名付着手予定データに含まれる作業者公開鍵を用いて、着手開始データに付した署名を検証する(S40)。検証部322による署名の検証が失敗した場合(S42のNo)、データ格納領域に格納されているデータは破棄され、本シーケンス図における処理は終了する。検証部322により署名の検証が成功すると(S42のYes)、登録部321は、署名付着手開始データを、作業識別子を含む署名付作業依頼データと対応づけてデータ格納領域に登録する(S44)。検証部322は、署名を検証することにより、作業を受注した作業者Uwが作業を開始したことを保証することができる。このように、作業管理システムSは、ブロックチェーン3を用いて作業の開始を管理することができる。
【0053】
(作業の確認)
図6は、実施の形態に係る作業管理システムSにおける作業の確認処理の流れを説明するためのシーケンス図である。以下、
図2及び
図6を参照して、作業の確認処理を説明する。
【0054】
作業者端末4の署名付与部423は、作業者Uwによる作業が完了した後に、作業者秘密鍵を用いて署名を付した作業者署名データを生成する(S46)。通信部41は、署名付与部423が生成した作業者署名データを確認者端末2に送信する(S48)。
【0055】
確認者Ucは作業を確認し、確認者端末2の通信部21は、作業者端末4から作業者署名データを受信する(S50)。具体的には、確認者Ucは作業者Uwから荷物5を受け取った後、作業者Uwの確認者端末2から作業者署名データを受信する。識別子取得部221は、作業対象に付された作業識別子を作業対象から読み出す(S52)。データ生成部222は作業が完了した日時を示す作業完了データを生成し、署名付与部223は確認者公開鍵に対応する秘密鍵である確認者秘密鍵を用いて作業完了データに署名を付した署名付作業完了データを生成する(S54)。通信部21は、作業者署名データ、作業識別子、及び署名付作業完了データをブロックチェーン3に送信する(S56)。
【0056】
ブロックチェーン3の検証部322は、作業識別子を含む署名付作業依頼データと対応づけてデータ格納領域に格納されている署名付着手開始データの中の作業者公開鍵を用いて、通信部31が受信した作業者署名データの署名の正当性を検証するとともに、上記のデータ格納領域に格納されている署名付作業依頼データの中の確認者公開鍵を用いて、通信部31が受信した署名付作業完了データの署名の正当性を検証する(S58)。
【0057】
検証部322による作業者署名データの署名の正当性の検証と署名付作業完了データの署名の正当性との少なくとも一方の検証に失敗した場合(S60のNo)、データ格納領域に格納されているデータは破棄され、本シーケンス図における処理は終了する。検証部322が作業者署名データの署名の検証と署名付作業完了データの署名の検証とに成功した場合(S60のYes)、報酬送信部323は、着手開始データに含まれる依頼者Urのトークンを格納するアドレスに、作業の報酬とするトークンを送信する(S62)。これにより、作業者Uwは、作業の対価を受け取ることができる。
【0058】
このように、検証部322が作業者署名データの署名の検証と署名付作業完了データの署名の検証とを実行することで、ブロックチェーン3は、作業を実行した者が作業者Uwであり、完了した作業を確認した者が確認者Ucであることを保証することができる。このため、ブロックチェーン3は、作業を確実に完了させた作業者Uwが報酬を受け取れることを保証できる。
【0059】
登録部321は、データ格納領域に格納されている署名付作業依頼データ、著名付着手予定データ、及び署名付着手開始データと対応づけて、署名付作業完了データと報酬支払い日時とをブロックチェーン3のデータブロックに登録する(S64)。このように、作業管理システムSは、ブロックチェーン3を用いて作業の完了の確認と報酬の支払いとを管理することができる。
【0060】
(ブロックチェーン3のデータ構造)
図7は、実施の形態に係るブロックチェーン3のデータ構造の一例を模式的に示す図である。
図7に示すように、ブロックチェーン3は、スマートコントラクトCを備えるブロックチェーンである。スマートコントラクトCは、上述した登録部321を実現するための登録機能、検証部322を実現するための検証機能、及び報酬送信部323を実現するための報酬送信機能を備えている。これらはソフトウェアプログラムで実装され、ブロックチェーン3を構成するデータブロックDの一つに格納されている。
【0061】
図7に示すように、ブロックチェーン3には、ブロックと呼ばれる複数のデータブロックDが数珠つなぎとなって格納されている。煩雑となって見にくくなることを避けるために全てのデータブロックDに符号は付していないが、
図7において符号Dが付された矩形と形及び大きさが同じ矩形はデータブロックDである。各データブロックDは、一つ前のデータブロックDのハッシュ値と、1又は複数の作業履歴とが格納されている。
【0062】
各作業履歴には、一つの作業に関連する署名付作業依頼データ、署名付予定データ、署名付着手開始データ、署名付作業完了データ、及び報酬支払いの日時が格納されている。登録部321は、数珠つなぎとなる前のデータブロックDに作業履歴を格納しておき、所定数の作業履歴がたまった後に、ブロックチェーン3の最後尾につなげる。ブロックチェーンは改ざんに強い耐性を持っているため、ブロックチェーン3は過去の作業の履歴が正確に記録された公開簿として機能する。
【0063】
<実施の形態に係る作業管理システムSの利用シーン>
このように、作業管理システムSは、実在する作業対象物と、作業を特定するための作業識別子をはじめとする各種デジタルデータとをブロックチェーン3を用いて連動させることにより、作業の依頼、受注、確認、及び報酬の支払いまでの一連の流れを管理することができる。作業管理システムSは、作業に関連して用いられる物品が存在すればどのような作業でもよく、例えば、荷物5の配送業務や部屋の清掃業務等に利用することができる。全社の場合、作業対象物は荷物5であり、後者の場合、作業対象物は例えば掃除道具である。作業管理システムSは、特定の事業者やサーバを介さずに、分散的に作業を管理することができる。
【0064】
なお、実施の形態に係る作業管理システムSは、例えばロゴやイラスト等のデザイン制作、映画等の動画像の制作、効果音やBGM(BackGround Music)、作曲等の音楽制作等のように、デジタル制作物を「作業対象物」として扱ってもよい。この場合、依頼者Urと確認者Ucとは同一人物であり、作業の内容を示す内容情報には、依頼者Ur(すなわち確認者Uc)の住所に替えてメールアドレスが含まれる。
【0065】
作業対象物がデジタル制作物である場合、依頼者Urは作業対象物に作業識別子を貼付することができない。このため、依頼者Urは、署名付着手予定データをブロックチェーン3に送信したいずれかの作業者Uwと直接連絡を取り、制作に関する契約を結ぶ。このとき、作業者Uwは依頼者Urから作業識別子を受け取る。その後のフローは、上述したフローと同様である。なお、作業者Uwは、制作したデジタル制作物を確認者公開鍵で暗号化して依頼者端末1に送信することにより、デジタル制作物を納品すればよい。これにより、作業対象物がデジタルデータであっても、作業管理システムSは、特定の事業者やサーバを介さずに、分散的に作業を管理することができる。
【0066】
<実施の形態に係る依頼者端末1が奏する効果>
以上説明したように、実施の形態に係る作業管理システムSによれば、分散型の作業管理技術を提供することができる。
【0067】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されず、その要旨の範囲内で種々の変形及び変更が可能である。例えば、装置の全部又は一部は、任意の単位で機能的又は物理的に分散・統合して構成することができる。また、複数の実施の形態の任意の組み合わせによって生じる新たな実施の形態も、本発明の実施の形態に含まれる。組み合わせによって生じる新たな実施の形態の効果は、もとの実施の形態の効果をあわせ持つ。以下のそのような変形例を説明する。
【0068】
<変形例>
上記では、作業管理システムSが、実在する作業対象物と作業を特定するための作業識別子をはじめとする各種デジタルデータとをブロックチェーン3を用いて連動させることにより、作業の依頼、受注、確認、及び報酬の支払いまでの一連の流れを管理する場合について説明した。これに対し、変形例に係る作業管理システムSは、実在する作業対象物に替えて、自動車保険等のデジタル化された権利を管理する。以下では、作業管理システムSがデジタル化された自動車保険を管理する場合を例として説明する。
【0069】
図8は、変形例に係る権利管理システムTを説明するための模式図である。
図8に示すように、実施の形態に係る権利管理システムT、販売者端末6、確認者端末7、契約者端末8、及びブロックチェーン3が、インターネット等のネットワークNを介して互いに通信可能な態様で接続している。ここで、販売者端末6はデジタル化された自動車保険を販売する販売者Usが使用している端末であり、確認者端末7は保険の支払いを確認する保険会社の担当者Uiが使用している端末であり、契約者端末8は保険会社が提供する自動車保険を契約している契約者である運転者Udが使用している端末である。
【0070】
以下、
図8を参照して、実施の形態の変形例に係る権利管理システムTにおける処理の流れを(1)から(27)の順に説明するが、その数字は
図8における(1)から(27)と対応する。
【0071】
(1)保険会社の担当者Uiは、確認者端末7を用いて確認者端末7の公開鍵である確認者公開鍵を販売者端末6に送信する。
(2)販売者端末6は、確認者端末7から確認者公開鍵を受信して取得する。
(3)販売者端末6は、保険の支払い条件や保険内容等を示す内容情報と、自動車保険の対象とする車両を示す対象情報と、保険証データのURI(Uniform Resource Locator)と、保険契約を特定するための契約識別子と、保険の支払金額とするトークンの数と、確認者公開鍵とを含む保険契約データを生成する。
【0072】
(4)販売者端末6は、販売者端末6の秘密鍵である販売者秘密鍵を用いて、生成した保険契約データに署名を付すことによって署名付保険契約データを生成する。
(5)販売者端末6は、署名付保険契約データをブロックチェーン3に送信する。
(6)ブロックチェーン3は、署名付保険契約データを販売者端末6から受信する。
(7)ブロックチェーン3は、販売者端末6から受信した署名付保険契約データをブロックチェーン3のデータブロックに登録するとともに、販売者端末6のトークンを格納するアドレスを参照して保険の支払金額とするトークンをデポジットする。
【0073】
(8)運転者Udは、契約者端末8を用いて、ブロックチェーン3に登録された署名付保険契約データを閲覧する。
(9)契約者端末8は、運転者Udの契約に関する署名付保険契約データをブロックチェーン3から取得する。
(10)契約者端末8は、保険の開始予定日時と、保険の終了予定日時と、契約者端末8の公開鍵である契約者公開鍵とを含む期間予定データを生成する。
【0074】
(11)契約者端末8は、契約者端末8の公開鍵に対応する秘密鍵であり契約者端末8の秘密鍵である契約者秘密鍵を用いて期間予定データに署名を付し、署名付期間予定データを生成する。
(12)契約者端末8は、署名付期間予定データをブロックチェーン3に送信する。
【0075】
(13)ブロックチェーン3は、署名付期間予定データを作業者端末4から受信する。
(14)ブロックチェーン3は、署名付期間予定データを署名付保険契約データと同じデータブロックに登録する。
【0076】
(15)この後、運転者Udは、保険会社の担当者Uiと自動車保険の契約を結び、契約者端末8を用いてブロックチェーン3から署名付保険契約データのダウンロードを要求する。このとき、契約者端末8は、ダウンロードを要求する情報に契約者秘密鍵で署名を付してブロックチェーン3に送信する。
(16)ブロックチェーン3は、署名付期間予定データ中の契約者公開鍵を用いてダウンロードを要求する情報に付された署名の正当性を検証する。
【0077】
(17)署名の検証に成功した場合、ブロックチェーン3は、契約者端末8に署名付保険契約データのダウンロードを許可する。
(18)契約者端末8は、ブロックチェーン3か署名付保険契約データをダウンロードする。
(19)契約者端末8は、署名付保険契約データをダウンロードした日時を示す情報と、運転者Udのトークンを格納するアドレスと、契約者公開鍵とを含む契約開始データを生成して契約者秘密鍵で署名を付し、署名付契約開始データを生成する。
【0078】
(20)契約者端末8は、署名付契約開始データをブロックチェーン3に送信する。
(21)ブロックチェーン3は、署名付契約開始データを契約者端末8から受信し、署名付保険契約データと同じデータブロックに登録する。
【0079】
(22)保険の支払い条件を満たす事案が発生した場合、運転者Udは、契約者端末8を用いて、確認者端末7に契約者秘密鍵で署名を付した保険適用依頼データを送信する。
(23)運転者Udから依頼された保険適用依頼の事案が保険の支払いの条件を満たす場合、確認者端末7は、保険適用依頼データに確認者端末7の秘密鍵である確認者秘密鍵で署名を付してブロックチェーン3に送信する。
【0080】
(24)ブロックチェーン3は、署名付保険開始データ又は署名付期間予定データの中の契約者公開鍵を用いて保険適用依頼データに付された契約者端末8の署名の正当性を検証するとともに、署名付保険契約データの中の確認者公開鍵を用いて保険適用依頼データに付された確認者端末7の署名の正当性を検証する。
【0081】
(25)確認者端末7の署名の正当性と契約者端末8の署名の正当性とがともに検証された場合、ブロックチェーン3は、署名付保険契約データに含まれる保険の支払金額とするトークンの数を上限として、署名付契約開始データに含まれる運転者Udのトークンを格納するアドレスを参照し、運転者Udにトークンを送信する。
(26)確認者端末7は、トークンの支払いがあった日時を示す情報に確認者秘密鍵を用いて署名を付した署名付支払日データをブロックチェーン3に送信する。
(27)ブロックチェーン3は、確認者端末7から取得した署名付支払日データを署名付作業依頼データと同じデータブロックに登録する。
【0082】
このように、実施の形態の変形例に係る権利管理システムTによれば、デジタル化された権利等のデジタル情報を分散型で管理することができる。
【符号の説明】
【0083】
1・・・依頼者端末
10・・・記憶部
11・・・通信部
12・・・制御部
120・・・通信制御部
121・・・鍵取得部
122・・・データ生成部
123・・・署名付与部
2・・・確認者端末
20・・・記憶部
21・・・通信部
22・・・制御部
220・・・通信制御部
221・・・識別子取得部
222・・・データ生成部
223・・・署名付与部
3・・・ブロックチェーン(ノード)
30・・・記憶部
31・・・通信部
32・・・制御部
320・・・通信制御部
321・・・登録部
322・・・検証部
323・・・報酬送信部
4・・・作業者端末
40・・・記憶部
41・・・通信部
42・・・制御部
420・・・通信制御部
421・・・依頼取得部
422・・・データ生成部
423・・・署名付与部
424・・・識別子取得部
5・・・荷物
6・・・販売者端末
7・・・確認者端末
8・・・契約者端末
N・・・ネットワーク
S・・・作業管理システム
T・・・権利管理システム