(57)【要約】【課題】データを共有する複数のユーザに対する利便性を維持しつつ、データを安全に管理、利用することができる信号処理方法を提供する。【解決手段】信号処理方法は、複数のノードにより構成されるグループにおいて共有されるデータに対するトランザクションの実行に対する承認要求信号を複数のノードの少なくとも一つに送信する手順と、承認要求信号を受信した複数のノードのうちの一定割合に相当するノードより承認信号を受信する手順と、受信した承認信号の承認に基づき、トランザクションを実行する手順を含む。【選択図】図１
2018136662.tif 000002
【特許請求の範囲】
【請求項１】
複数のノードにより構成されるグループにおいて共有されるデータに対するトランザクションの実行に対する承認要求信号を前記複数のノードの少なくとも一つに送信する手順と、
前記承認要求信号を受信した前記複数のノードのうちの一定割合に相当するノードより承認信号を受信する手順と、
受信した前記承認信号の承認に基づき、前記トランザクションを実行する手順とを含む信号処理方法。
【請求項２】
前記承認信号は前記ノードにおける電子署名の付加により生成される、請求項１に記載の信号処理方法。
【請求項３】
前記承認信号を受信する手順において受信される前記承認信号が、前記複数のノードのうちの前記一定割合に満たない場合には、前記トランザクションを破棄する、請求項１に記載の信号処理方法。
【請求項４】
複数のノードにより構成されるグループにおいて共有されるデータに対するトランザクションの実行に対する承認要求信号を、前記複数のノードの一つから前記複数のノードの他の少なくとも一つに送信する手順と、
前記承認要求信号を受信した前記複数のノードのうちの一定割合に相当するノードより承認信号を受信する手順と、
受信した前記承認信号の承認に基づき、前記トランザクションを実行する手順を前記複数のノードに実行させるように構成される信号処理プログラム。
【請求項５】
電子署名を付加することにより前記承認信号を生成することを前記複数のノードに実行させるように構成される、請求項４に記載の信号処理プログラム。
【請求項６】
前記承認信号を受信する手順において受信される前記承認信号が、前記複数のノードのうちの前記一定割合に満たない場合には、前記トランザクションを破棄する、請求項４に記載の信号処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、信号処理方法、および信号処理を通信端末に実行させるためのプログラムに関する。例えば複数の通信端末を介して複数のユーザによって共有されるデータを安全に管理、利用することができる信号処理方法、およびこの信号処理方法を通信端末に実行させるための信号処理プログラムに関する。
【背景技術】
【０００２】
書類や画像の各種データ、特に電子化されたデータは、多くの場合複数の利用者（以下、ユーザ）に提供される。電子化されたデータが複数のユーザによって共有・管理される場合、データの形態やユーザの構成によっては、データの安全性を確保するためにデータの利用（例えばデータの編集や更新などの各種処理、データとその変遷履歴の閲覧など）がユーザの役割や権限に応じて制限されることがある。このような利用制限は、データを管理するサーバやプログラムによるアクセス制限、あるいはユーザ権限に応じたデータの暗号化などによって行われる。一例として特許文献１では、データを複数の領域に分割し、分割された領域ごとに生成される異なる秘密鍵を用いて領域ごとに暗号化を行い、さらに秘密鍵をユーザ権限に応じて暗号化を行うことで利用制限を実行し、安全性を確保する方法が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第５０３４４９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
処理権限を集中することによるデータの安全性向上と、データを共有するユーザにとっての利便性はトレードオフの関係にある。処理権限を集中するほどデータの改ざんや漏洩などの不正処理を効果的に防止し、データをより安全に管理することができる。しかしながら、データに対してより深く関与すべきユーザにとっては利便性が低下する。逆に、処理権限を分散するほどユーザの利便性は向上するものの、不正なアクセス行為に対して脆弱となる。
【０００５】
本発明は、データの処理権限を分散させ、データを共有する複数のユーザに対する利便性を維持しつつ、データを安全に管理・利用することができる信号処理方法、およびこの信号処理方法を実行するためのプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の実施形態の一つは信号処理方法である。このデータ処理方法は、複数のノードにより構成されるグループにおいて共有されるデータに対するトランザクションの実行に対する承認要求信号を複数のノードの少なくとも一つに送信する手順と、承認要求信号を受信した複数のノードのうちの一定割合に相当するノードより承認信号を受信する手順と、受信した承認信号の承認に基づき、トランザクションを実行する手順を含む。
【０００７】
本発明の実施形態の一つは信号処理プログラムである。この信号処理プログラムは、複数のノードにより構成されるグループにおいて共有されるデータに対するトランザクションの実行に対する承認要求信号を、複数のノードの一つから複数のノードの他の少なくとも一つに送信する手順と、承認要求信号を受信した複数のノードのうちの一定割合に相当するノードより承認信号を受信する手順と、受信した承認信号の承認に基づき、トランザクションを実行する手順を、複数のノードに実行させるように構成される。
【０００８】
本発明の実施形態の一つはデータ処理方法である。このデータ処理方法は、第１の通信端末を含む複数の通信端末を介して複数のユーザによって共有されるデータのトランズアクションに対する承認要求信号を、第１の通信端末から、第１の通信端末を除く複数の通信端末の少なくとも一つに送信すること；承認要求信号を受信した通信端末の少なくとも一つから、承認信号を送信すること；およびトランズアクションをブロードキャストすることを含む。承認要求信号は、トランズアクション、および第１の通信端末においてトランズアクションから生成した第１の電子署名を含む。承認信号は、トランズアクション、および承認信号を送信する通信端末においてトランズアクションから生成された第２の電子署名を含む。
【０００９】
本発明の実施形態の一つはデータ処理プログラムである。このデータ処理プログラムは第１の通信端末を含む複数の通信端末に搭載される。データ処理プログラムは、複数の通信端末を介して複数のユーザによって共有されるデータのトランズアクションを生成すること；トランズアクションから第１の電子署名を生成すること；およびトランズアクションと第１の電子署名を含む承認要求信号を、第１の通信端末を除く複数の通信端末の少なくとも一つに送信することを第１の通信端末に実行させるように構成される。データ処理プログラムはさらに、承認要求信号を受信すること；トランズアクションから第２の電子署名を作成すること；およびトランズアクション、第１の電子署名、および第２の電子署名を含む承認信号を送信することを第１の通信端末を除く複数の通信端末の少なくとも一つに実行させるように構成される。
【発明の効果】
【００１０】
本発明を実施することにより、データを共有する複数のユーザの利便性を維持しつつ、共有されるデータを安全に管理・利用することが可能となる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態のデータ処理方法に係るシステム構成例。
【図２】本発明の実施形態のデータ処理方法のフローチャート。
【図３】本発明の実施形態のデータ処理方法における暗号化処理を説明する図。
【図４】本発明の実施形態のデータ処理方法のフロー。
【図５】本発明の実施形態のデータ処理方法におけるブロックチェーンを説明する図。
【図６】本発明の実施形態のデータ処理方法のフロー。
【図７】本発明の実施形態のデータ処理方法のフロー。
【図８】本発明の実施形態のデータ処理方法に係るシステム構成例。
【図９】本発明の実施形態のデータ処理方法を説明するフローチャート。
【図１０】本発明の実施形態のデータ処理プログラムによって実行される表示例。
【図１１】本発明の実施形態のデータ処理プログラムによって実行される表示例。
【図１２】本発明の実施形態のデータ処理プログラムによって実行される表示例。
【図１３】本発明の実施形態のデータ処理プログラムによって実行される表示例。
【図１４】本発明の実施形態のデータ処理プログラムによって実行される表示例。
【図１５】本発明の実施形態のデータ処理プログラムのフローチャート。
【図１６】本発明の実施形態のデータ処理プログラムによって実行される表示例。
【図１７】本発明の実施形態のデータ処理プログラムによって実行される表示例。
【図１８】本発明の実施形態のデータ処理プログラムによって実行される表示例。
【図１９】本発明の実施形態のデータ処理プログラムによって実行される表示例。
【図２０】本発明の実施形態のデータ処理プログラムのフローチャート。
【図２１】本発明の実施形態のデータ処理プログラムによって実行される表示例。
【図２２】本発明の実施形態のデータ処理プログラムによって実行される表示例。
【図２３】本発明の実施形態のデータ処理プログラムによって実行される表示例。
【発明を実施するための形態】
【００１２】
本明細書、および請求項において、「乃至」は、数量の下限と上限を示し、その中間を省略するために用いる。したがって、例えば１乃至１０の自然数、という場合、１と１０のみではなく、１から１０に至る自然数すべてを含む。
【００１３】
本明細書において、複数の構成要素をそれぞれ区別して指す場合、符号の後にアンダーバーと自然数（あるいは自然数を意味する記号）を用いて表記する。複数の構成要素の各々を区別せずに全体、あるいはそのうちの任意に選択される複数を表記する場合には、符号のみを用いる。
【００１４】
（第１実施形態）
本実施形態では、データ処理方法に関して説明を行う。
【００１５】
［１．構成］
図１に、本発明の実施形態の一つであるデータ処理方法に係るシステム構成例を模式的に示す。このデータ処理方法では、処理する対象となるデータ１００は、第１の通信端末１１０＿１乃至第ｎの通信端末１１０＿ｎを含む複数の通信端末１１０（ｎは２以上の自然数）を介して複数のユーザによって共有、管理される。複数のユーザで構成される集合体は、不特定ユーザの集合体でもよいが、同一の組織に所属する複数のユーザ、あるいは共通の目的を有する複数のユーザで構成される集合体でもよい。例えば家族、同居人、社員、職員、クラスメート、クラブ、サークルなどの集合体が挙げられる。この集合体を、ユーザグループと呼ぶ。ユーザグループが維持される期間に限定は無く、ユーザグループは一時的に存在してもよく、数十年といった長期間維持されてもよい。
【００１６】
通信端末１１０はユーザの管理下に置かれ、通信機能を有する端末であり、据え付け型（デスクトップ型）コンピュータをはじめ、ノート型コンピュータや携帯電話（タブレット、スマートフォンを含む）などの携帯通信端末が例示される。通信端末１１０は、互いにネットワーク１２０を通じて通信することができる。ネットワーク１２０は、インターネットのような外部ネットワークでも良く、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などの内部ネットワークでもよい。内部ネットワークをネットワーク１２０として用いる場合、通信端末１１０のうち少なくとも一つが外部ネットワークと接続される。図示していないが、通信端末１１０は、その一部あるいは全てが電話回線によって互いに接続されていてもよい。通信端末１１０はノードとも呼ばれる。
【００１７】
データ１００はテキストデータ、画像データ、あるいはこれらの複合データであり、電子化されている。例えば文書、表、写真、絵、数値などである。データ１００には暗号化を施さず、ユーザグループ内においてパスワードによる保護や閲覧制限に供さなくてもよい。この場合、ユーザグループの全員が通信端末１１０を介してデータ１００を自由に閲覧することができる。
【００１８】
データ１００は、ネットワーク１２０に接続されたサーバ１５０に格納してもよい。サーバ１５０を直接、あるいは間接的に管理する管理者（以下、単に管理者）は、管理者のサービス内容に応じてデータ１００のための様々なプラットフォームを提供する。例えばユーザグループのスケジュールデータを管理するためのプラットフォーム、ユーザの任意入力情報を時系列に表示するためのプラットフォーム、ユーザグループの共有財産に係るデータを表示するためのプラットフォームなどが提供される。ユーザは、扱うデータ１００に最適なプラットフォームを選択し、プラットフォームの環境に従ってデータ１００を扱う。
【００１９】
ネットワーク１２０にはさらに、ブロックチェーンネットワーク１３０が接続される。ブロックチェーンネットワーク１３０は、ネットワーク１２０を介して互いに接続された複数の通信端末１３２＿１から１３２＿ｍ（ｍは自然数）で構成される。これらの通信端末１３２は、スペックの差異は存在し得るものの、権限に関しては対等であり、互いに直接通信することができ、いわゆるＰ２Ｐ（Ｐｅｅｒ−ｔｏ−Ｐｅｅｒ）ネットワークを形成する。通信端末１３２はノードとも呼ばれる。以下の記載では、通信端末１１０と区別するため、通信端末１３２をノードと呼ぶ。通信端末１１０の少なくとも一つは、ノード１３２の少なくとも一つとネットワーク１２０を介して接続される。通信端末１１０はノード１３２として機能することも可能であり、逆に、ノード１３２が通信端末１１０を兼ねてもよい。この場合、通信端末１１０の少なくとも一つがノード１３２として機能すればよい。
【００２０】
ノード１３２は、データの送信処理または受信処理に基づく情報処理の単位であり、不特定の所有者がそれぞれ管理する通信端末であってもよく、この場合、ブロックチェーンネットワーク１３０はパブリックブロックチェーンネットワークとも呼ばれる。あるいはノード１３２のすべて、あるいは一部が管理者によって管理されるよう、ブロックチェーンネットワーク１３０を構成してもよい。例えば管理者と同じ業界内の複数の関係者によってブロックチェーンネットワーク１３０を構成する。この場合、ブロックチェーンネットワーク１３０はプライベートブロックチェーンネットワーク、あるいはコンソーシアムブロックチェーンネットワークとも呼ばれる。
【００２１】
［２．データ処理］
２．１  概要
本実施形態のデータ処理方法では、データ１００に対してユーザが通信端末１１０を介して何らかの処理を行い、データ１００とは異なるデータ１０２へ変換する（図１）。データ処理方法のフローチャートを図２に示す。このデータ処理方法では、最初にユーザグループのうちの一人（以下、便宜上、第１のユーザと記す）が、自己の管理下の通信端末（以下、便宜上、第１の通信端末１１０＿１とする）を用いて処理依頼（トランズアクション、図においてＴＡ）を作成する（Ｓ１００）。その後トランズアクションに対する承認を他のユーザに要求する（Ｓ１０２）。承認を要求されたユーザはトランズアクションを確認し、承認か非承認かを選択する（Ｓ１０４）。トランズアクションがユーザグループによって最終的に承認されるか否かについては一定の条件が課せられ、この承認条件が満たされない場合には、データ処理は許容されず、トランズアクションは破棄される（Ｓ１０６）。一方、承認条件が満たされた場合、データ処理が開始される。
【００２２】
詳細は後述するが、トランズアクションの承認・非承認には、トランズアクションから生成される電子署名が利用される。電子署名の数が規定数を満たしているかどうか、あるいはあらかじめ決められた通信端末１１０によって電子署名が生成されているか否か、などが承認条件となる。
【００２３】
データ処理が開始されると、トランズアクションがブロックチェーンネットワーク１３０へブロードキャストされ（Ｓ１１０）、ブロックチェーンネットワーク１３０内でトランズアクションの正当性が検証される。正当性が確認されたのち、トランズアクションが格納されるブロックが生成される（Ｓ１１２）。生成されたブロックが各ノード１３２に格納されるブロックチェーンに追加されてブロックチェーンの更新が行われると同時に（Ｓ１１４）、トランズアクションが実行される（Ｓ１１６）。以下、このフローを詳細に説明する。
【００２４】
２．２  トランズアクションの作成（Ｓ１００）
最初に第１のユーザは、トランズアクションを作成する。このトランズアクションには、データ処理の内容と、データ処理の開始に必要な承認条件などが含まれる。トランズアクションにはさらに、ユーザグループの通信端末１１０のアドレスなどが含まれてもよい。
【００２５】
トランズアクションは暗号化処理される。暗号化は、例えば公開鍵暗号方式を用いて行うことができる。具体的には図３（Ａ）に示すように、トランズアクションを送信する第１の通信端末１１０＿１において、暗号化と復号化で用いる二つの鍵を生成する。一つは公開鍵１１２＿１であり、他方は秘密鍵１１４＿１である。秘密鍵１１４＿１と公開鍵１１２＿１は対をなし、秘密鍵１１４＿１で暗号化されたものは公開鍵１１２＿１で復号化できるものの、他の鍵では復号化できない。逆に公開鍵１１２＿１で暗号化されたものは秘密鍵１１４＿１で復号化することができるものの、他の鍵では復号化できない。トランズアクションＴＡが秘密鍵１１４＿１によって暗号化されると、第１の電子署名（ＥＳ１）が生成される。
【００２６】
２．３  承認要求（Ｓ１０２）
トランズアクションが作成されたのち、トランズアクションの承認段階へ移行する。具体的には図４に示すように、第１の通信端末１１０＿１は、承認要求信号をユーザグループ内の他のユーザが保有する通信端末１１０へ送信する（Ｓ１２０）。承認要求信号には、暗号化される前（すなわち、オリジナル）のトランズアクションＴＡ、および第１の電子署名ＥＳ１が含まれる。さらに第１の通信端末１１０＿１は、承認要求信号を送信する際、あるいは承認要求信号の送信前か送信後に公開鍵１１２＿１を、承認要求信号の送信先である通信端末１１０へ送信する。図４では、第１の通信端末１１０＿１を除く通信端末１１０のすべてに承認要求信号が送信される例が示されているが、後述するように、通信端末１１０のうちの一部に承認要求信号を選択的に送信してもよい。また、第１の通信端末１１０＿１に対して自己送信してもよい。
【００２７】
承認要求信号を受け取ったユーザは、通信端末１１０において公開鍵１１２＿１を用いて電子署名ＥＳ１を復号化し、暗号化される前のトランズアクションと電子署名を復号化して生成したトランズアクションとを照合することで検証を行う。照合の結果、これらが同一であれば、トランズアクションが偽造、改ざんされておらず、トランズアクションの正当性が証明される。逆に、オリジナルのトランズアクションと電子署名を復号化して生成されたトランズアクションとが同一でなければ、トランズアクションが偽造、改ざんされていると判断することができる。図示していないが、正当性が証明されない場合、トランズアクションは承認されず、破棄される。
【００２８】
２．４  承認（Ｓ１０４）
トランズアクションを受信した通信端末１１０のユーザは、トランズアクションを承認する、あるいは承認しないという行為のいずれかを選択する（Ｓ１０４）。承認が選択された場合、承認するユーザ（ここでは便宜上、第２のユーザとする）の保有する通信端末（ここでは便宜上、第２の通信端末とする）１１０＿２内で生成される秘密鍵１１４＿２によってトランズアクションが暗号化され、電子署名ＥＳ２が生成される（図３（Ｂ））。第２の通信端末１１０＿２は、第１のユーザから送信された承認要求信号に含まれるオリジナルのトランズアクションＴＡと電子署名ＥＳ１、および第２の通信端末１１０＿２によって生成された電子署名ＥＳ２を含む承認信号を送信する（Ｓ１２２）。承認要求信号の送信と同様、承認信号の送信前、送信後、あるいは送信と同時に、秘密鍵１１４＿２に対応する公開鍵１１２＿２も送信される。図４では、第２の通信端末１１０＿１を除く通信端末１１０のすべてに承認信号が送信される例が示されているが、通信端末１１０のうちの一部に選択的に承認信号を送信してもよい。また、第２の通信端末１１０＿２に対して承認信号を自己送信してもよい。ここまでのプロセスにより、一つのトランズアクションに対応する二つの電子署名（ＥＳ１とＥＳ２）が生成される。
【００２９】
承認信号を受け取った通信端末１１０では、二つの電子署名を対応する公開鍵１１２＿１、１１２＿２を用いて復号化し、トランズアクションの検証を行うことができる（図３（Ｂ）参照）。これにより、どのユーザが承認したかを把握することができる。
【００３０】
トランズアクションを承認しない場合、第２の通信端末１１０＿２は承認信号を送信しない。あるいは、非承認信号を送信する。非承認信号を送信する場合、第２の通信端末１１０＿２はトランズアクションの暗号化を行わなくてもよい。この場合、第２のユーザの電子署名が生成されないため、非承認信号には第２のユーザの電子署名ＥＳ２が含まれない。
【００３１】
同様の承認・非承認の選択と承認信号、あるいは非承認信号の送信が他のユーザの通信端末１１０においても行うことができる（Ｓ１２４、Ｓ１２６）。
【００３２】
２．５  承認条件
トランズアクションがユーザグループによって承認される条件は、ユーザグループごとに設定することができる。例えば、ユーザ全員が承認することによってトランズアクションが初めて承認されるよう、条件を設定してもよい。この場合、ｎ個の電子署名が生成されることによってトランズアクションが承認される。
【００３３】
あるいは、ユーザグループの一定の割合、例えば２／３や過半数の承認によってトランズアクションが承認されるよう、条件を設定してもよい。すなわち、１よりも大きくｎ以下の自然数をｋとすると、ｋ−１回の承認信号の送信、換言すると、ｋ人のユーザの電子署名の生成によってトランズアクションが初めて承認されるよう承認条件を設定することができる。ｋは任意に選択される。例えば過半数のユーザの承認が必要な場合には、ｋはｎ／２よりも大きい自然数が選択される。
【００３４】
一部、あるいは特定のユーザに対してトランズアクションに対する承認権限を与えてもよい。例えばグループユーザのうち一人、あるいは複数に対して承認権限を与え、他のユーザには承認権限を与えない（すなわち、非承認権限を付与する）。トランズアクションの承認は、承認権限を有するユーザの通信端末１１０によって生成される電子署名（あるいは、承認権限を有するユーザの意図によって生成された電子署名）のすべてが得られることによってトランズアクションが初めて承認される。
【００３５】
あるいは上述した承認条件を複合的に用いてもよい。例えば適宜ｋを設定してｋ個の電子署名が生成され、かつ、承認権限を有するユーザの電子署名が生成されることを承認条件として設定してもよい。また、承認要求信号を送信するごとに承認権限を適宜割り振ってもよい。
【００３６】
特定のユーザに対して承認権限を与える場合、第１の通信端末１１０＿１は承認権限を有するユーザが保有する通信端末１１０だけに承認要求信号、あるいは公開鍵１１２＿１を選択的に送信してもよい。この場合、承認権限を有するユーザの通信端末１１０は公開鍵１１２＿１を受け取ったのちに承認信号を送信することになる。あるいは、承認権限を有するユーザの通信端末１１０を特定するための情報をトランズアクションに付加し、この情報に従って承認の成否を決定してもよい。承認権限を与えないユーザが保有する通信端末１１０に対しては、暗号化していないトランズアクションのみを送信してもよい。これにより、承認権限を持たないユーザも共有されるデータに対してどのような処理が行われうるかを知ることができる。
【００３７】
承認条件は、データ処理の内容に応じてトランズアクションごとに変更してもよい。例えば処理内容がデータに大きな変化を及ぼす場合にはユーザ全員の承認を必要とする一方、処理内容が軽微であれば承認権限を有する一部の者のみ、あるいは第１のユーザの承認のみでトランズアクションが承認されるようにしてもよい。
【００３８】
承認条件が満たされない場合、すなわち、承認信号の数が一定の割合に満たない場合、トランズアクションは破棄され、実行されない（Ｓ１０６）。より具体的には、ユーザ数に対する承認信号の数の割合が、複数のユーザが保有する通信端末１１０の数に対する承認権限を有するユーザが保有する通信端末１１０の割合に満たない場合、トランズアクションは破棄され、実行されない。トランズアクションの破棄により、データ処理方法は終了する。
【００３９】
２．６  ブロードキャスト（Ｓ１１０）
トランズアクションが承認されると、トランズアクションの実行が開始される。具体的には、最初にトランズアクションはネットワーク１２０を介してブロックチェーンネットワーク１３０へブロードキャストされる（Ｓ１１０）。
【００４０】
例えば第１の通信端末１１０＿１は、受信した承認信号に含まれる電子署名の数が承認条件を満たすか否かを判断する。承認条件が満たされたと判断された場合、トランズアクション、電子署名ＥＳ１、および受けとった電子署名をブロックチェーンネットワーク１３０へブロードキャストする（Ｓ１２８）。なお、ブロードキャストを行う通信端末１１０は第１の通信端末１１０＿１に限られず、任意に設定することができる。例えば、あらかじめ決められた通信端末１１０からブロードキャストしても良く、承認条件を満たすために必要な電子署名を最後に生成した通信端末１１０がブロードキャストを行ってもよい。
２．７  ブロックチェーンの更新
【００４１】
ブロードキャストが行われたのち、トランズアクションの検証が行われる。図５（Ａ）に示すように、ブロックチェーンネットワーク１３０の各ノード１３２の記憶装置には、これまでにブロードキャストされた過去のトランズアクションをまとめたブロック１４０が格納されている。これらのブロック１４０は生成順に連結されて時系列を作る。新たなトランズアクションはブロックチェーンネットワーク１３０内で検証され、トランズアクションの正当性が確認されると、このトランズアクションを含む新たなブロック１４０が生成される。新たにに生成されたブロック（図５（Ａ）ではブロック１４０＿３）は、これまでに生成されたブロック（ブロック１４０＿１、ブロック１４０＿２）に連結され、これによりブロックチェーンの更新が行われ、トランズアクションが実行される。
【００４２】
通信端末１１０からブロードキャストされた各電子署名は、ノード１３２において対応する公開鍵を用いて復号化される。復号化されて生成されるトランズアクションとオリジナルのトランズアクションを照合することで、トランズアクションの正当性がノード１３２によって判断される。またノード１３２は、承認条件が満たされているかどうかを検証する。例えばブロードキャストされた電子署名の数がトランズアクションに記される承認条件に適合する、すなわち、署名に必要な電子署名の数と同一以上であることを検証する。あるいは、ブロードキャストされた電子署名が、トランズアクションで規定される承認権限者の電子署名であるか否かを検証する。この検証プロセスの結果トランズアクションが正当であり、かつ、承認条件が満たされていると判断されたのち、ブロックチェーンの更新が開始される。
【００４３】
各ブロック１４０には、ブロックヘッダ１４２とトランズアクション情報１４４が含まれる（図５（Ａ））。トランズアクション情報１４４には、複数のトランズアクションに関する情報が含まれる。ブロックヘッダ１４２は、前段のブロック１４０のブロックヘッダ１４２をハッシュ計算（暗号学的ハッシュ関数を用いる計算）することによって得られるハッシュ値１４６、およびそのブロック１４０に格納される複数のトランズアクションを多重にハッシュ計算することによって得られるトランズアクションのハッシュ木ルート（マークルルート）値１４８を含むことができる（図５（Ｂ））。
【００４４】
通信端末１１０からブロードキャストされたトランズアクションは、他のトランズアクションとともにハッシュ計算に供され、ハッシュ木ルート値１４８が生成される。得られたハッシュ木ルート値１４８、および前段のブロックヘッダ（例えば図５（Ａ）ではブロック１４０＿２のブロックヘッダ１４２）のハッシュ値１４６を合わせてハッシュ計算が行われ、新たなブロック１４０＿３が生成される（Ｓ１１２）。
【００４５】
新たなブロック１４０＿３が生成されると、ブロックチェーンネットワーク１３０内でブロック１４０＿３の検証が行われる（Ｓ１１２）。具体的には、前段のブロック１４０＿２とハッシュ計算で用いたナンスをパラメータとしてハッシュ値を求め、ブロックチェーンネットワーク１３０内で規定される条件を満たしているかどうかが確認される。条件が満たされていれば検証されたと見做され、新たなブロック１４０＿３がノード１３２の記憶装置内のブロックチェーンに追加される（Ｓ１１４）。これによりよりトランズアクションが確定され、実行される（Ｓ１１６）。
【００４６】
上述したブロックチェーンの形成は、ＰｏＷ（Ｐｒｏｏｆ  ｏｆ  Ｗｏｒｋ）というコンセンサスアルゴリズムを利用したものであるが、コンセンサスアルゴリズムとしては、ＰｏＳ（Ｐｒｏｏｆ  ｏｆ  Ｓｔａｋｅ）やＰｏＩ（Ｐｒｏｏｆ  ｏｆ  Ｉｍｐｏｒｔａｎｃｅ）など、様々なアルゴリズムを採用することができる。
【００４７】
トランズアクションが実行されると、ブロックチェーンネットワーク１３０のノード１３２は通信端末１１０に報告信号を送信してもよい（Ｓ１５２）。この信号は、承認条件が満たされていると判断されたとき、あるいはトランズアクションが含まれる新たなブロックがブロックチェーンに追加されたときに送信してもよい。
【００４８】
以上のプロセスにより、本実施形態のデータ処理が行われる。
【００４９】
あるデータをハッシュ計算することで得られるハッシュ値は、元のデータが少しでも変化すると異なる数値となる。したがってハッシュ値を用いることでデータの正当性を検証することができる。上述したように、各ブロック１４０には前段のブロックヘッダ１４２から得られるハッシュ値１４６が含まれるため、あるブロック１４０の内容を改ざん、偽造すると、次段以降のブロック１４０に付与されるハッシュ値１４６が変化する。したがって、改ざん、偽造を成功させるためには、それ以降のブロック１４０のすべてのハッシュを再計算する必要があり、これにより、改ざん、偽造が事実上不可能となる。
【００５０】
複数のユーザによって共有されるデータに対し、ネットワークを介して接続される複数の通信端末を用いて複数のユーザによって処理を行う場合、無制限な処理を許容するとデータの改ざんや偽造、あるいは不適切な変更が行われ、データとしての価値や信頼性が失われる。このため、データ処理に対して何らかの制限を加える必要がある。しかしながら、処理権限が限られたユーザに集中する場合、処理権限を持たないユーザによる処理の提案が承認されたとしても、処理権限を保有するユーザが必ずしも提案に従ってデータ処理するとは限らない。ここにおいて、データが共有されるとは、複数のユーザが同一のデータに対して更新処理権限を有することをいう。
【００５１】
しかしながら、本実施形態のデータ処理方法では、データ処理というトランズアクションは、電子署名と公開鍵１１２とともにブロックチェーンネットワーク１３０にブロードキャストされ、ブロック１４０に格納される。ブロック１４０に格納されたすべてのトランズアクションはノード１３２によって検証することができる。また、通信端末１１０もブロックチェーンを閲覧することができる。このため、処理権限を有するユーザ、あるいはユーザグループとは無関係の第三者によるトランズアクションの偽造や改ざんなどの不正を抑止、防止することができる。
【００５２】
さらに上述したように、本実施形態のデータ処理方法では、データ１００自体には暗号処理を施さず、グループユーザ内での自由な閲覧を許容する。したがって、全てのユーザがデータ１００の状況を随時確認、監視することがでる。また、ユーザの全員、あるいは一部のユーザの承認をデータ１００に対する処理の承認条件とすることで、データに対する不正処理を防ぐことが可能である。このため、本実施形態を適用することで、データに対する処理権限が分散されてユーザにとって高い利便性が提供できるのみならず、データの健全性を維持可能なデータ処理を実現することができる。
【００５３】
（第２実施形態）
本実施形態では、第１実施形態のデータ処理方法とは異なるデータ処理方法に関して説明を行う。第１実施形態と同様の内容に関しては説明を割愛することがある。
【００５４】
第１実施形態で述べたデータ処理方法では、承認要求信号と承認信号は、各通信端末１１０間で送受信される。本実施形態で述べるデータ処理方法は、データ１００を格納、あるいは管理するするサーバ１５０を経由して承認要求信号と承認信号が送受信される点で、第１実施形態のデータ処理方法と異なる。
【００５５】
具体的には図６に示すように、承認要求信号は通信端末１１０（便宜上、第１の通信端末１１０＿１とする）からサーバ１５０へ送信される（Ｓ１４０）。サーバ１５０において電子署名ＥＳ１の復号化とオリジナルのトランズアクションとの照合が行われ、トランズアクションの正当性が検証される。正当性が確認されたのち、サーバ１５０はすべての通信端末１１０、第１の通信端末１１０＿１を除く通信端末１１０、あるいは承認権限を有するユーザの通信端末１１０に対し、承認要求信号を送信する（Ｓ１４２）。承認要求信号を受信した通信端末１１０は、承認信号、あるいは非承認信号をサーバ１５０へ送信する（Ｓ１４４）。
【００５６】
サーバ１５０は受信した承認信号に含まれる電子署名を復号化し、上述した照合プロセスを実行する。その後サーバ１５０は、承認条件が満たされているか否かを受信した電子署名を利用して判断する。例えば、受信した電子署名の数がトランズアクションによって規定される電子署名の数以上であるか否か、承認権限を有するユーザの通信端末１１０によって生成された電子署名が含まれるかどうかなどを判断する。
【００５７】
承認条件が満足されていると判断された場合、トランズアクションの実行が開始される。すなわち、サーバ１５０はトランズアクション、およびサーバ１５０の秘密鍵１１４を用いて生成した電子署名をブロックチェーンネットワーク１３０へブロードキャストする（Ｓ１４８）。トランズアクションの検証やその後のブロックチェーンの更新は、第１実施形態で述べた方法と同様に行うことができる。また、ブロックチェーンが更新された場合には、その報告信号はブロックチェーンネットワーク１３０からサーバ１５０を経由して各通信端末１１０に送信することができる（Ｓ１５０、Ｓ１５２）。
【００５８】
（第３実施形態）
本実施形態では、第１、第２実施形態とは異なるデータ処理方法を説明する。第１実施形態と同様の内容に関しては説明を割愛することがある。本実施形態のデータ処理方法は、承認要求信号が通信端末１１０から直接ブロックチェーンネットワーク１３０へブロードキャストされる点で、第１、第２実施形態のデータ処理方法と異なる。
【００５９】
具体的には図７に示すように、トランズアクションを作成する通信端末１１０（便宜上、第１の通信端末１１０＿１とする）は、トランズアクション、電子署名ＥＳ１をブロックチェーンネットワーク１３０へブロードキャストする（Ｓ１６０）。このトランズアクションは、データに対する処理内容や承認条件とともに、承認を行うユーザの通信端末１１０のアドレスなどを含むことができる。
【００６０】
図示していないが、承認要求信号の送信を行うとともに、第１の通信端末１１０＿１は他の通信端末１１０に対し、トランズアクションを送信したことを知らせるための信号を送信してもよい。
【００６１】
電子署名はブロックチェーンネットワーク１３０内の各ノード１３２で復号化され、トランズアクションとともに検証に供される。トランズアクションの正当性が確認されると、このトランズアクションを含むブロック１４０が生成され、ブロックチェーンが更新される。さらに、トランズアクションに含まれるアドレス、すなわちユーザグループの通信端末１１０に対し、ノード１３２から承認要求信号が送信される（Ｓ１６２）。なお、この承認要求信号は必ずしも送信する必要は無い。この場合、各通信端末１１０がブロックチェーンネットワーク１３０へアクセスし、自己のアドレスに対する承認要求が含まれるトランズアクションを検索すればよい。該当するトランズアクションが存在している場合、通信端末１１０はその旨を表示してユーザに承認、あるいは非承認の判断を行うための機会を提供する。
【００６２】
その後ユーザは通信端末１１０を介し、承認信号、あるいは非承認信号をブロックチェーンネットワーク１３０へ送信する（Ｓ１６４）。ノード１３２はこれらの信号に含まれる電子署名の復号化、トランズアクションの検証を行う。さらに、トランズアクションに記載れた情報、例えば承認を行うべきユーザの通信端末のアドレスなどに基づいてブロックチェーン内で検索を行い、該当するトランズアクションに含まれる電子署名を特定する。ノード１３２はさらに、特定された電子署名の数や、電子署名を生成した通信端末のアドレスから承認条件が満たされているかどうかを判断する。承認条件が満たされている場合、第１実施形態と同様、トランズアクションの実行のため、ブロックの生成とブロックチェーンの更新が開始される。承認条件が満たされていると判断されたとき、あるいはブロックチェーンの更新が完了したときに、報告信号を各通信端末１１０へ送信してもよい（Ｓ１６６）。
【００６３】
（第４実施形態）
本実施形態では、複数のユーザによって共有されるデータが、預貯金取扱金融機関（以下、銀行）によって提供されるプラットフォームの環境に従う例を用い、データ処理方法を説明する。具体的には、プラットフォームが口座であり、ｎ人のユーザが通信端末１１０をそれぞれ介して口座（以下、グループ口座と記す）を共有、管理する場合のデータ処理方法を説明する。第１乃至第３実施形態で述べた内容と同一の内容に関しては説明を割愛することがある。
【００６４】
［１．トランズアクションの作成］
最初に、複数のユーザのうち一人（以下、第１のユーザとする）が、グループ口座というデータに対し、トランズアクションを作成する。トランズアクションとしては、例えばユーザからグループ口座への振り込み、グループ口座から他のグループ口座への振り込み、グループ口座からユーザグループ内のユーザが個人管理する口座への入金などが挙げられる。具体的には、一人のユーザ（ここでは、第１のユーザとする）は、保有する通信端末１１０（ここでは、第１の通信端末１１０＿１とする）を用い、トランズアクションを作成する。第１の通信端末１１０＿１は、トランズアクションを秘密鍵１１４を用いて暗号化した電子署名を生成する（図３参照）。
【００６５】
なお、このようなグループ口座では、必ずしも法定通貨（現実通貨）を扱う必要は無く、仮想通貨による取引を行ってもよい。仮想通貨を用いることで、プラットフォームを提供する銀行などの金融機関と直接取引を持たないユーザも、容易にグループ口座に関与、参加し、グループ口座を共有、管理することが可能となる。これは、仮想通貨はクレジットカード決済などの簡便な方法で購入することができ、通信端末１１０内のソフトウェアやアプリケーションを用い、ウォレットとして管理することができるからである。
【００６６】
［２．承認要求信号の送受信］
第１のユーザは、第１の通信端末１１０＿１を用い、トランズアクションに対する承認要求信号をユーザグループ内のユーザが保有する通信端末１１０へ送信する（図４におけるＳ１２０）。これにより、全てのユーザは、第1のユーザによってデータ１００に対する処理の提案が行われたことを認識することができる。特定のユーザのみが承認権限を有する場合には、そのユーザの通信端末１１０のみに承認要求信号を送信してもよい。
【００６７】
承認要求信号を受け取った通信端末１１０は、公開鍵１１２を用いて電子署名を復号化し、トランズアクションと比較を行い、トランズアクションの検証を行う（図３参照）。検証の結果、トランズアクションが正当である、すなわち、第１のユーザが作成したトランズアクションであること、トランズアクションに偽造や改ざんが行われていないことが証明される。
【００６８】
［３．承認信号の送受信とブロックの生成］
トランズアクションが正当であると検証された場合、承認要求信号を受信した通信端末１１０は、表示画面上に承認要求信号を受信したことを表示し、トランズアクションの承認、非承認の選択機会をユーザに与える。ユーザによってトランズアクションの承認が選択された場合、通信端末１１０を介して承認信号が送信される。例えば図４に示すように、第２のユーザは第２の通信端末１１０＿２を介し、承認信号を第１の通信端末１１０＿１、および第３の通信端末１１０＿３から第ｎの通信端末１１０＿ｎへ送信する（Ｓ１２２）。第１実施形態で述べたように、承認信号にはトランズアクション、第１の通信端末１１０＿１によって生成された電子署名ＥＳ１、および第２の通信端末１１０＿２によって生成された電子署名ＥＳ２が含まれる。これにより、ユーザ全員が第２のユーザがトランズアクションを承認したことを認識することができる。
【００６９】
同様に、第３の通信端末１１０＿３乃至第ｎの通信端末１１０＿ｎが承認信号を第１の通信端末１１０＿１を含む複数の通信端末１１０へ送信する（Ｓ１２４、Ｓ１２６）。ユーザがトランズアクションを承認しない場合には、第１の通信端末１１０＿１を含む複数の通信端末１１０へ非承認信号が送信される。あるいは実施形態１で述べたように、承認しない場合には何ら信号を送信しなくてもよい。
【００７０】
第１の通信端末１１０＿１が承認信号を他の通信端末１１０のすべてから受信した場合、トランズアクションがグループユーザによって承認されたことを意味する。その後、トランズアクションと、承認に係ったユーザの通信端末１１０から送信された電子署名がブロックチェーンネットワーク１３０へブロードキャストされ（Ｓ１２８）、第１実施形態で述べたように、ブロック１４０の生成に供される。
【００７１】
ブロック１４０の生成、検証が完了し、既存のブロックチェーンに新たなブロック１４０が追加されることでトランズアクションが実行される。この時、ブロックチェーンネットワーク１３０から通信端末１１０に対し、トランズアクションが実行されたことを通知するための報告信号を送信してもよい（Ｓ１３０）。
【００７２】
［４．プライベートブロックチェーン］
第２実施形態で述べたように、特定のサーバを経由し、承認要求信号や承認信号の送受信を行ってもよい。また、特定のサーバ内でブロックの生成や検証、追加を行ってもよい。特定のサーバとは、例えばデータ１００のプラットフォームを提供する管理者が直接、あるいは間接的に管理するサーバ１５０であり、本実施形態では銀行などの金融機関が直接、あるいは間接的に管理するサーバに相当する。
【００７３】
具体的には図８に示すように、通信端末１１０がネットワーク１２０を介してサーバ１５０と接続される。データ１００はサーバ１５０内に格納される。ここでは、トランズアクションを送信する第１の通信端末１１０＿１は、承認要求信号をサーバ１５０に送信する（図６におけるＳ１４０）。トランズアクションを受信したサーバ１５０は、第２の通信端末１１０＿２乃至第ｎの通信端末１１０＿ｎに対し、承認要求信号を送信する（Ｓ１４２）。第２の通信端末１１０＿２乃至第ｎの通信端末１１０＿ｎの各々は承認信号をサーバ１５０に対して送信する（Ｓ１４４）。
【００７４】
この場合、サーバ１５０からブロックチェーンネットワーク１３０へのブロードキャストは行わず、ブロック１４０の生成とその検証をサーバ１５０内で行ってもよい。これにより、ブロックチェーンネットワーク１３０が不特定多数のノード１３２によって形成されるという不確定要素を排除することができ、ユーザに信頼性の高いサービスを提供することが可能となる。
【００７５】
（第５実施形態）
本実施形態では、上述したデータ処理方法を実行するためのデータ処理プログラムに関して説明を行う。本実施形態では、第４実施形態と同様、データプラットフォームとして銀行口座を例に挙げて説明を行う。第１乃至第４実施形態で述べた構成と同様の構成に関しては説明を割愛することがある。
【００７６】
データ処理プログラムは、データを共有する複数のユーザが保有する通信端末１１０に実装される。プログラムは外部記録媒体に記憶された状態で提供してもよく、ネットワーク１２０を介して提供されてもよい。
【００７７】
［１．グループ口座の開設］
最初にグループ口座を開設する。この作業は、複数の通信端末１１０のうちの一つを用いて行えばよい。ここでは、グループ口座の開設を行うユーザと通信端末を便宜上、それぞれ第１のユーザ、第１の通信端末１１０＿１とする。このプロセスのフローを図９に示す。
【００７８】
最初にプログラムを起動する（Ｓ１６０）。起動の際には、パスワード入力や生体情報認証などにより、プログラムが正当なユーザによって操作されていることを確認するよう、プログラムを構成してもよい。起動後、通信端末１１０の表示画面上には、例えば図１０（Ａ）に示す表示を行うことができる。具体的には、第１のユーザが現在参加している口座（例えば口座Ａ乃至口座Ｄ）のリスト１６０や、新たに口座を開設するための画面に移行するためのアイコン１６２を画面上に表示するよう、プログラムを構成することができる。プログラムの初期画面へ移行するためのアイコン１６４や、前画面へ移行するためのアイコン１６８などを表示するよう、プログラムを構成してもよい。
【００７９】
ユーザがアイコン１６２を操作することでグループ口座を新規に開設するための画面（図１０（Ｂ））に移行し（Ｓ１６２）、第１のユーザは必要な情報を入力する。入力する情報は任意に設定することができる。例えば口座名称や口座機能の選択（Ｓ１６４、Ｓ１６６）、ユーザの選択（Ｓ１６８）、ユーザに対する権限の設定（Ｓ１７０）などが、図９のフローに従って行われる。入力する順番は図９に示した順番に限られず、任意に設定すればよい。
【００８０】
新規口座開設画面（図１０（Ｂ））では、データのプラットフォームの提供者（ここでは銀行）からの注意事項を表示する領域１７０を表示することができる。同時に、第１のユーザが文字情報を入力するための領域を表示画面上に設けてもよい。例えば口座名や第１のユーザがグループ内のユーザへ周知すべき注意事項を入力するための領域１７２、１７４などを表示するよう、プログラムを構成することができる。また、アイコン１７６を操作することで次の画面へ移動するよう、プログラムが構成される。
【００８１】
プラットフォームが機能別に多岐のタイプにわたる場合、図９のフローＳ１６６従い、その機能を第１のユーザが選択できるよう、プログラムが構成される。プラットフォームが複数の階層別に分類されている場合には、図１１（Ａ）、図１１（Ｂ）に示すように、階層別にタイプを選択できるようにプログラムを構成すればよい。例えば最初の機能選択画面（図１１（Ａ））では、トランズアクションの承認権限に関する選択が行えるようにすることができる。選択肢としては、ユーザ全員の承認が必要な設定、一部のユーザに承認権限を付与する設定、あるいは口座開設者のみが承認権限を有する設定などが挙げられる。引き続く機能選択画面（図１１（Ｂ））では、使用する通貨の選択、口座の有効期間やその後の取り扱い方法などを選択できるようプログラムを構成してもよい。
【００８２】
引き続く画面（図１２（Ａ））では、口座に参加するユーザを選択できるよう、プログラムが構成される。この画面では、口座開設者を明示する領域１８０を表示するとともに、ユーザを追加するためのアイコン１８２が表示される。アイコン１８２を操作することで、第１の通信端末１１０＿１内の記憶装置に格納された連絡先情報をリストするよう、プログラムを構成することができる。これにより、追加するユーザの氏名や連絡先を入力することなく、リストからユーザを選択するだけでユーザの追加を行うことができる。
【００８３】
領域１８４は追加されたユーザをリストする領域である。アイコン１８６はユーザを削除するために使用することができ、例えば領域１８４にリストアップされたユーザを選択したときに初めて活性化されるよう、プログラムを構成することができる。
【００８４】
引き続きアイコン１７６を操作し、権限の設定を行う画面（図１２（Ｂ））へ移行する。なおこの画面は、ユーザ全員に権限（承認権限など）を与える機能を選択している場合にはスキップするようプログラムを構成してもよい。図１２（Ｂ）に示すように、権限の設定はスライドボタン形式のアイコン１９０を用いて行うようにプログラムを構成することができる。図示していないが、この段階でトランズアクションの内容に応じて承認権限が可変できるよう、プログラムを構成してもよい。例えばグループ口座からの出金を伴うか否か、出金額がある一定の額を超えるか否か、振込先が特定の口座であるか否かなど、様々な形態に応じて承認権限を切り替えるための入力画面を提供してもよい。
【００８５】
設定が終了した後には、入力内容を確認するため（Ｓ１７２）、図１３（Ａ）に示すような確認画面へ移行する。ここでは、上述したフローにおいて第１のユーザが設定した内容を示す領域１９２、１９４などが表示される。また、これらの設定を変更するための画面へ移行するためのアイコン１９６などが配置される。設定を確認した後、アイコン１９８を操作することで設定が確定され、設定完了を表示する画面（図１３（Ｂ））へ移行するとともに、選択したユーザが保有する通信端末１１０へ案内通知が送信されるよう、プログラムが構成される（Ｓ１７４）。
【００８６】
案内通知を受信したユーザ（ここでは、便宜上第２のユーザとする）の第２の通信端末１１０＿２内に格納されるプログラムは、第２の通信端末１１０＿２の表示画面上に図１４（Ａ）、図１４（Ｂ）で示すような表示を行うよう、構成される。例えば口座名や、それに対する第１のユーザの入力内容を示す領域２００、２０２、案内通知が送信されたユーザがリストされる領域２０４、参加・不参加を選択するためのアイコン２０６などが表示される。領域２０４には複数のタブが選択できるよう、プログラムを構成してもよい。例えば図１４（Ａ）、図１４（Ｂ）に示すように、すでに参加したユーザ、まだ参加、不参加を決定していないユーザ、不参加を選択したユーザをリストアップするタブをそれぞれ選択できるよう、領域２０４が構成される。各ユーザは選択・非選択をアイコン２０６を操作して決定する。これにより、第２の通信端末１１０＿２から第１の通信端末１１０＿１へ応答信号が送信される（Ｓ１７６）。
【００８７】
以上のプロセスにより、グループ口座が新規に開設される。なお、グループ口座が新規に開設されたという事実、およびグループ口座に関する情報も一つのトランズアクションと見做すことができる。したがって、このトランズアクション、トランズアクションを公開鍵暗号方式によって暗号化して得られる電子署名、および公開鍵１１２をブロックチェーンネットワーク１３０へブロードキャストしてもよい（Ｓ１７８）。これにより、このトランズアクションに係る情報が新たに生成されるブロック１４０に追加される。
【００８８】
詳細は割愛するが、グループ口座に参加するユーザの追加や権限の変更も随時できるよう、プログラムを構成してもよい。また、プラットフォームの変更も可能なよう、プログラムを構成してもよい。例えば図１６の表示２２４に例示すように、開設した口座を新たな口座へ引き継ぐための選択肢を提供することで、口座の利用形態の変化に即座に対応することも可能であり、必要な都度、口座の開設、変更が可能である。
【００８９】
グループ口座が開設された場合、プラットフォームの提供者は、グループ口座を特定するためのＩＤ情報（ＩＤ番号、アドレスなど）を発行し、通信端末１１０へ送信してもよい。ＩＤ情報は各通信端末１１０の記憶装置に格納され、データ処理プログラムはＩＤ情報を管理するよう構成することができる。
【００９０】
［２．グループ口座への入金］
ユーザがグループ口座へ入金する場合のフローを図１５に示す。プログラムが起動されると（Ｓ１８０）、プログラムは、処理を行う口座を選択するための画面を表示する。この画面は、例えば図１０（Ａ）に示すような画面でもよい。この画面においてユーザは、ユーザが参加する口座から処理する口座を選択し（Ｓ１８２）、該当する口座に対応する初期画面へ移行する。以下では、第１のユーザが第１の通信端末１１０＿１を介してグループ口座である口座Ｄを選択し、この口座Ｄに仮想通貨としてコイン（図中、単位ＭＣ）を入金するプロセスを例として用いて説明する。
【００９１】
例えば図１６に示すような画面が初期画面として表示されるようプログラムが構成される。この例では、初期画面は領域２１０、２１２、２１４を表示することができ、それぞれの領域において、選択した口座Ｄに係る情報、第１のユーザが現有するコイン残高、およびグループの他のユーザに関する情報を表示することができる。領域２１２には、第１のユーザが自己のウォレットから入金時に使用するウォレットを選択するためのプルダウンメニュー２１６やウォレット残高が表示されるよう、プログラムを構成してもよい。プログラムはさらに、領域２１２、あるいは他の領域に、コインを購入する画面に移行するためのアイコン２１８を表示するよう、通信端末１１０を制御してもよい。領域２１４では、他のユーザが過去に入金したコインの総額や承認権限などの情報を表示してもよい。
【００９２】
第１のユーザが口座Ｄにコインを入れるためのアイコン２２２を表示するよう、プログラムが構成される。このアイコン２２２を操作することで、入金に必要な情報を入力するための画面へ移行する（図１７（Ａ））。この画面では、第１のユーザのウォレットを選択するためのプルダウンメニュー２３０やその残高、入金するコインの額（入金額）を入力、表示するための領域２３２、処理を確定するためのアイコン２３４などを表示することができる。ウォレットの選択、入金額の入力を行い（Ｓ１８４）、その後アイコン２３４を第１のユーザが操作することで、処理内容を確認する画面（図１７（Ｂ））へ移行する。この画面では、データ１００への処理内容、すなわち、第１のユーザが使用するウォレット、入金額、入金先などの情報が表示される（Ｓ１８６）。
【００９３】
処理内容に変更が必要であれば、表示画面上に表示されるアイコン２３５が操作される。この操作に従ってプログラムは、入金の詳細を入力するための画面（図１７（Ａ））を第１の通信端末１１０＿１に再表示させる。処理内容の訂正が不要であることを図１７（Ｂ）に示す画面上で確認した後、第１のユーザは処理を確定するための操作を行う。この操作は、アイコンを操作することで行ってもよく、あるいは指紋などの生体情報を第１の通信端末１１０＿１によって認識させることで行ってもよい。図１７（Ｂ）で示した例では、プログラムによって指紋を認証するための指紋認識領域２３６が画像として表示されるが、通信端末１１０＿１に別途搭載される認識装置を用いて生体情報を収集し、確定操作に用いてもよい。
【００９４】
図示していないが、承認条件を変更、選択するための画面を表示してもよい。あるいは処理内容に応じて承認条件が自動的に切り替わるよう、プログラムを構成してもよい。
【００９５】
処理内容が確定されると、プログラムの命令に従い、処理内容がトランズアクションとして作成され、公開鍵方式を用いて暗号化されて電子署名が生成される。その後プログラムは、トランズアクションとその電子署名、および公開鍵１１２を含む承認要求信号を他のユーザの保有する通信端末１１０に送信することを第１の通信端末１１０＿１に実行させる。
【００９６】
入金において他のユーザの承認が必要な場合には、プログラムは、第１の通信端末１１０＿１の表示画面上に、承認要求信号が送信されたことを示すための画面を表示させる（図１８（Ｂ））。承認を担うユーザが保有する通信端末１１０は、承認要求信号を受け取ると、通信端末１１０に搭載されるプログラムの命令に従い、その表示画面に図１９（Ａ）で示すような、処理内容の詳細を示す領域２４２を表示する。処理内容を承認する場合には、指紋認識領域２３６などを用いて承認操作を行うことができる。図示していないが、承認しない場合には、非承認信号を送信するためのアイコンなどを表示してもよい。
【００９７】
その後プログラムの命令に従い、承認を行うユーザの秘密鍵１１４を用いてトランズアクションを暗号化して生成される電子署名、第１のユーザの電子署名、およびトランズアクションを含む承認信号が生成される。この承認信号は承認を行ったユーザの通信端末１１０から他の通信端末１１０＿１へ送信され（Ｓ１９２）、受信される（Ｓ１９４）。第１実施形態で述べた方法に従って承認条件が満たされたと判断された場合、第１の通信端末１１０＿１はその情報を各通信端末１１０へ送信する（Ｓ１８８）。通信端末１１０内に格納されているプログラムは、それぞれの通信端末１１０の表示画面上に、処理内容が承認されたことを表示するための画面を表示する（図１９（Ｂ））。
【００９８】
なお、特定の承認権限者が設定されている場合には、それ以外のユーザの通信端末１１０には公開鍵１１２を含めずに承認要求信号を送信するよう、プログラムを構成してもよい。この場合、承認権限を持たないユーザの通信端末１１０上においては、承認操作に必要なアイコンや指紋認識領域２３６などは不活性の状態が維持されるよう、プログラムを構成すればよい。これにより、承認権限を持たないユーザの通信端末１１０では承認操作は許容されないものの、第１のユーザが作成したトランズアクションの内容を表示することができる。
【００９９】
承認条件が満たされなかった場合には、トランズアクションは破棄され（Ｓ１９６）、フローは終了する。
【０１００】
入金において他のユーザの承認が不要である場合、処理内容の確認（Ｓ１８６）の終了とともに入金が実行される。この時、プログラムは他のユーザへ入金情報を送信するよう第１の通信端末１１０＿１を制御する（Ｓ１８８）。例えば図１８（Ａ）に示すように、他のユーザの通信端末１１０の画面上に、処理事実の表示２３８やその詳細を示す領域（例えば入金日時、入金者、入金額、入金先の口座名など）２４０が表示されるよう、プログラムが構成される。
【０１０１】
第１の通信端末１１０＿１を介する入金という取引もデータ処理の一つである。したがって、この取引をトランズアクションとしてブロック１４０へ格納するために、このトランズアクションをブロックチェーンネットワーク１３０へブロードキャストするよう、プログラムを構成してもよい（Ｓ１９８）。ブロードキャストは、第１の通信端末１１０＿１に格納されるプログラムの命令に従って行ってもよく、承認権限を有するユーザが保有する通信端末１１０で行うよう、プログラムを構成してもよい。
【０１０２】
［３．グループ口座からの入金］
グループ口座から他の口座へ入金する場合のフローを図２０に示す。プログラムが起動されると（Ｓ２００）、プログラムは、処理を行う口座を選択するための画面を表示する。この画面は、例えば図１０（Ａ）に示すような画面でもよい。この画面においてユーザは、ユーザが参加する口座から処理する口座を選択し（Ｓ２０２）、該当する口座に対応する初期画面へ移行する。以下では、第１のユーザが第１の通信端末１１０＿１を介してグループ口座である口座Ｄを選択し、この口座Ｄから他の口座Ｚへコインを入金するプロセスを例として用いて説明する。
【０１０３】
グループ口座への入金時と同様、図１６に示す画面が表示されるよう、プログラムが構成される。プログラムは、第１のユーザがグループ口座から他の口座にコインを入れるためのアイコン２２０を表示するよう構成される。このアイコン２２０を操作することにより、入金に必要な情報を入力するための画面へ移行する（図２１（Ａ））。図２１（Ａ）に示すように、この画面では、前画面で選択された口座を示す領域２５０が表示されるとともに、口座残高、入金額を入力、表示するための領域２５２、入金先口座を選択するためのプルダウンメニュー２５４、処理を確定するためのアイコン２５６などを表示することができる。図示しないが、承認か非承認かを選択する期限を入力するための領域を設けてもよい。
【０１０４】
入金額の入力と入金先の選択を行い（Ｓ２０４）、その後アイコン２５６を第１のユーザが操作することで、処理内容を確認する画面（図２１（Ｂ））へ移行するよう、プログラムが構成される（Ｓ２０６）。なお、入金先の情報はＩＤ情報として第１の通信端末１１０＿１の記憶装置内に格納されており、プログラムによって管理される。したがって、新たな入金先を追加する場合には、その口座のＩＤ情報をプラットフォーム提供者から取得して記憶装置に格納すればよい。処理内容を確認する画面（図２１（Ｂ））では、データ１００への処理内容、すなわち、入金元の口座名、入金額、入金先などの情報が表示される。
【０１０５】
処理内容に変更が必要であれば、表示画面上に表示されるアイコン２５８が操作される。この操作に従ってプログラムは、入金の詳細を入力するための画面（図２１（Ａ））を第１の通信端末１１０＿１に再表示させる。処理内容の訂正が不要であることを図２１（Ｂ）に示す画面上で確認した後、第１のユーザは処理を確定するための操作を行う。この操作は、アイコンを操作することで行ってもよく、生体情報を利用して行ってもよい。グループ口座への入金処理と同様、この段階において承認条件を変更、選択するための画面を表示してもよい。あるいはグループ口座の開設時の設定に従い、処理内容（入金額や入金先など）に応じて承認条件が自動的に切り替わるよう、プログラムを構成してもよい。
【０１０６】
第１のユーザによる確定操作が終了するとプログラムは、第１乃至第３実施形態で述べたように、入金というデータ処理をトランズアクションと見做し、第１の通信端末１１０＿１に記憶された秘密鍵１１４を用いて暗号化を行う。その後、トランズアクション、トランズアクションを暗号化して生成される電子署名、および公開鍵１１２を含む承認要求信号をユーザ全員、あるいは承認権限を有するユーザ、サーバ１５０、あるいはブロックチェーンネットワーク１３０へ送信する（Ｓ２０８）。特定のユーザのみに承認権限を与える場合には、そのユーザのみに公開鍵１１２を送信し、他のユーザに対しては暗号化する前のトランズアクションのみを送信するよう、プログラムを構成してもよい。承認要求信号が送信されると、プログラムの命令に従い、第１の通信端末１１０＿１の表示画面上には、承認要求信号が送信されたことを示すための画面が表示される（図２２（Ａ））。
【０１０７】
承認を担うユーザが保有する通信端末１１０が承認要求信号を受け取ると、プログラムの命令に従い、通信端末１１０は電子署名の復号化を行い、生成されるトランズアクションとオリジナルのトランズアクションとの照合を行う。照合結果によってトランズアクションが検証されると、通信端末１１０の表示画面には図２２（Ｂ）で示すように、処理内容の詳細を示す領域２６０が表示される。処理内容を承認する場合には、前述した指紋認識領域２３６、あるいは図２２（Ｂ）に示すようなアイコン２６２などを用いて承認操作を行うことができる。
【０１０８】
その後プログラムの命令に従い、承認を行ったユーザの通信端末１１０では、トランズアクション、承認を行うユーザの通信端末１１０で生成される秘密鍵１１４を用いて生成される電子署名、および第１の通信端末１１０＿１から送信される電子署名を含む承認信号が生成される。この信号は、第１の通信端末１１０＿１へ送信され（Ｓ２１０）、第１の通信端末１１０＿１によって受信される（Ｓ２１２）。第１、第２実施形態で述べた方法によって承認条件が満たされたと判断された場合、各通信端末１１０内に格納されているプログラムは、それぞれの通信端末１１０の表示画面上に、処理内容が承認されたことを表示するための画面を表示する（図２３）。
【０１０９】
こののち、入金というデータ処理をトランズアクションとしてブロック１４０へ格納するために、このトランズアクションをブロックチェーンネットワーク１３０へブロードキャストするよう、プログラムが構成される（Ｓ２１４）。ブロードキャストは、第１の通信端末１１０＿１に格納されるプログラムの命令に従って行ってもよく、承認権限を有するユーザが保有する通信端末１１０で行うよう、プログラムを構成してもよい。なお、承認条件が満たされない場合、トランズアクションは破棄され（Ｓ２１６）、フローは終了する。
【０１１０】
詳細は割愛するが、上述したフローは、コインと法定通貨間の換金処理、他の口座からのコインの入金処理などにも応用可能である。
【０１１１】
上述したように、本発明の実施形態に係るデータ処理方法、データ処理プログラムを活用することにより、グループ口座のような複数のユーザによって共有、管理されるデータのプラットフォームを容易に取得、利用することができる。また、プラットフォームの利用には特別の権限や時期的な制約はなく、通信端末にデータ処理プログラムを搭載することで、何時でも誰でも取得して利用することができる。また、プラットフォームに参加するユーザや承認権限を容易に設定することができ、参加するユーザは時期的制約を受けることなく、プラットフォーム上のデータ（例えば入出金履歴や残高）を閲覧することができる。したがって、ユーザが金融機関に行く労力と時間の浪費を防ぐことができるだけでなく、プラットフォーム提供者のヒューマンリソースも有効活用することが可能となる。
【０１１２】
さらに、プラットフォーム上のデータ自体には暗号化処理やパスワードによる保護は不要であり、このため参加ユーザは特別の権限を要求されることなく、データとその更新履歴などを閲覧することができる。また、データに対する処理はブロックチェーンに格納されていることから、高いレベルでデータの健全性を維持することが可能である。このように、本発明の実施形態により、ユーザ利便性に優れ、かつ、安全にデータを管理、利用することができる。
【０１１３】
上述した実施形態を基にして、当業者が適宜構成要素やプロセスの追加、削除もしくは設計変更を行ったものも、本発明の要旨を備えている限り、本発明の範囲に含まれる。
【符号の説明】
【０１１４】
１００：データ、１０２：データ、１１０：通信端末、１１０＿１：第１の通信端末、１１０＿２：第２の通信端末、１１０＿３：第３の通信端末、１１０＿ｎ：第３の通信端末、１１２：公開鍵、１１４：秘密鍵、１２０：ネットワーク、１３０：ブロックチェーンネットワーク、１３２：ノード、１３４：ハッシュ値、１４０：ブロック、１４２：ブロックヘッダ、１４４：トランズアクション情報、１４６：ハッシュ値、１４８：ハッシュ木ルート値、１５０：サーバ、１６０：リスト、１６２：アイコン、１６４：アイコン、１６８：アイコン、１７０：領域、１７２：領域、１７４：領域、１７６：アイコン、１８０：領域、１８２：アイコン、１８４：領域、１８６：アイコン、１９０：アイコン、１９２：領域、１９４：領域、１９６：アイコン、１９８：アイコン、２００：領域、２０２：領域、２０４：領域、２０６：アイコン、２１０：領域、２１２：領域、２１４：領域、２１６：プルダウンメニュー、２１８：アイコン、２２０：アイコン、２２２：アイコン、２２４：表示、２３０：プルダウンメニュー、２３２：領域、２３４：アイコン、２３５：アイコン、２３６：指紋認識領域、２３８：表示、２４０：領域、２４２：領域、２５０：領域、２５２：領域、２５４：プルダウンメニュー、２５６：アイコン、２５６：アイコン、２５８：アイコン、２６０：領域、２６２：アイコン
【図１】
2018136662.tif 000003
【図２】
2018136662.tif 000004
【図３】
2018136662.tif 000005
【図４】
2018136662.tif 000006
【図５】
2018136662.tif 000007
【図６】
2018136662.tif 000008
【図７】
2018136662.tif 000009
【図８】
2018136662.tif 000010
【図９】
2018136662.tif 000011
【図１０】
2018136662.tif 000012
【図１１】
2018136662.tif 000013
【図１２】
2018136662.tif 000014
【図１３】
2018136662.tif 000015
【図１４】
2018136662.tif 000016
【図１５】
2018136662.tif 000017
【図１６】
2018136662.tif 000018
【図１７】
2018136662.tif 000019
【図１８】
2018136662.tif 000020
【図１９】
2018136662.tif 000021
【図２０】
2018136662.tif 000022
【図２１】
2018136662.tif 000023
【図２２】
2018136662.tif 000024
【図２３】
2018136662.tif 000025
【手続補正書】
【提出日】平成29年5月30日(2017.5.30)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のノードにより構成されるグループにおいて共有されるデータに対するトランザクションの実行に対する承認要求信号を前記複数のノードの少なくとも一つに送信する手順と、
前記承認要求信号を受信した前記複数のノードのうちの一定割合に相当するノードより承認信号を受信する手順と、
受信した前記承認信号の承認に基づき、前記トランザクション、および前記トランザクションの電子署名をブロックチェーンネットワークにブロードキャストし、前記トランザクションに関する情報を含むブロックをブロックチェーンに追加することによって前記トランザクションを実行する手順とを含む信号処理方法。
【請求項２】
前記承認信号は前記ノードにおける電子署名の付加により生成される、請求項１に記載の信号処理方法。
【請求項３】
前記承認信号を受信する手順において受信される前記承認信号が、前記複数のノードのうちの前記一定割合に満たない場合には、前記トランザクションを破棄する、請求項１に記載の信号処理方法。
【請求項４】
前記承認信号は、前記トランザクション、および前記トランザクションから生成された電子署名を含み、
前記承認は、受信した前記承認信号に含まれる前記電子署名の総数によって判断される、請求項１に記載の信号処理方法。
【請求項５】
複数のノードにより構成されるグループにおいて共有されるデータに対するトランザクションの実行に対する承認要求信号を、前記複数のノードの一つから前記複数のノードの他の少なくとも一つに送信する手順と、
前記承認要求信号を受信した前記複数のノードのうちの一定割合に相当するノードより承認信号を受信する手順と、
受信した前記承認信号の承認に基づき、前記トランザクション、および前記トランザクションの電子署名をブロックチェーンネットワークにブロードキャストし、前記トランザクションに関する情報を含むブロックをブロックチェーンに追加することによって前記トランザクションを実行する手順を前記複数のノードに実行させるように構成される信号処理プログラム。
【請求項６】
電子署名を付加することにより前記承認信号を生成することを前記複数のノードに実行させるように構成される、請求項５に記載の信号処理プログラム。
【請求項７】
前記承認信号を受信する手順において受信される前記承認信号が、前記複数のノードのうちの前記一定割合に満たない場合には、前記トランザクションを破棄する、請求項５に記載の信号処理プログラム。
【請求項８】
前記承認は、受信した前記承認信号に含まれる前記電子署名の総数によって判断される、請求項６に記載の信号処理プログラム。