(57)【要約】  データの真正性を確保し、監査業務を短時間且つ低コストで行うことができるトランザクション監査システムを提供する。本開示のトランザクション監査システムは、ブロックチェーンサーバを構成する端末と、自動展開ルールデータを備えるマスタデータを格納するデータベースと、監査エンジンと、を備える。端末から第１のトランザクションデータを監査エンジンに入力し、監査エンジンにより、マスタデータを参照して第２のトランザクションデータを生成し、第１及び第２のトランザクションデータをそれぞれデータ項目及びその値に分解して、第１のテーブル情報を生成する。データ項目は、少なくともデータモデル名、バージョン番号、アプリケーション名、ユーザ名及び操作日時を含む。端末により、第１のテーブル情報に基づいてブロックチェーンのブロックを生成し、ブロックチェーンデータベースに記録する。
2020054612.tif 000002
【特許請求の範囲】
【請求項１】
ブロックチェーンサーバを構成し、ブロックチェーンデータベースと、第１のトランザクションデータを入力可能なアプリケーションとを有する端末と、
前記第１のトランザクションデータから第２のトランザクションデータを生成するための自動展開ルールデータを備えるマスタデータを格納するデータベースと、
前記端末及び前記データベースに接続される監査エンジンと、を備えるトランザクション監査システムであって、
前記端末により、前記第１のトランザクションデータを前記監査エンジンに入力し、
前記監査エンジンにより、前記マスタデータを参照して前記第２のトランザクションデータを生成し、
前記第１のトランザクションデータ及び前記第２のトランザクションデータをそれぞれデータ項目及びその値に分解して、第１のテーブル情報を生成し、
前記データ項目は、少なくともデータモデル名、バージョン番号、アプリケーション名、ユーザ名及び操作日時を含み、
前記端末により、前記第１のテーブル情報に基づいてブロックチェーンのブロックを生成し、前記ブロックチェーンデータベースに記録することを特徴とするトランザクション監査システム。
【請求項２】
前記監査エンジンは、さらに前記ブロックチェーンが改ざんされていないかを監査することを特徴とする請求項１記載のトランザクション監査システム。
【請求項３】
前記端末により、前記第１のトランザクションデータ、前記第２のトランザクションデータ又は前記マスタデータの更新指示を前記監査エンジンに入力し、
前記監査エンジンにより、前記バージョン番号に１を足し、前記データ項目及びその値を前記更新指示に従って更新し、第２のテーブル情報を生成し、
前記端末により、前記第２のテーブル情報に基づいて前記ブロックチェーンのブロックを生成し、前記ブロックチェーンデータベースに記録することを特徴とする請求項１記載のトランザクション監査システム。
【請求項４】
前記監査エンジンに接続される業務システムをさらに備え、
前記業務システムにより、第３のトランザクションデータを前記監査エンジンに入力することを特徴とする請求項１記載のトランザクション監査システム。
【請求項５】
複数の企業に導入されることを特徴とする請求項１乃至４いずれか１項記載のトランザクション監査システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、トランザクション監査システムに関する。
【背景技術】
【０００２】
企業内又は企業間で行われるトランザクション（業務処理）は、企業間の契約や社内規定等のルールに従って実行されている。しかしながら、人為的ミスによって、適用すべきルールに従ってトランザクションが行われない場合や、トランザクションに関するデータが故意に改ざんされる場合がある。このため、従来、トランザクションに使用されるアプリケーションや業務システムから出力されるトランザクションデータを業務ログ管理システム等によって管理し、内部監査担当者及び外部監査法人等が監査ツール等を用いて数値分析又は原取引との比較検証等を行うことにより監査することが行われている。【０００３】
例えば、特許文献１には、確実な漏れのないログの管理及び監査を自動的に行う業務管理システムとして、「業務システムから業務における作業に関する情報を含む複数のログを収集するログ収集部と、前記ログ収集部によって収集された各ログに含まれる作業に関する情報と、事前に設定された作業を分類する条件とに基づいて、各ログがいずれの業務に属するかを特定し、同一業務に属するログをそれぞれ集約したデータを管理簿データとして作成する管理簿データ作成部とを有することを特徴とする業務管理システム」が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−２２４８１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載の業務管理システムにおいては、管理されるのはトランザクションの結果（ログ）のみであるため、その結果が出力された根拠を把握することができない。また、人為的ミスや改ざんなどの問題が発生した場合に、問題発生時点の状況を再現することが難しく、監査のためのデータ整理に多大な時間とコストを要するという課題がある。【０００６】
このような問題を解決するため、本開示は、データの真正性を確保し、監査業務を短時間且つ低コストで行うことができるトランザクション監査システムを提供する。
【課題を解決するための手段】
【０００７】
本開示のトランザクション監査システムは、ブロックチェーンサーバを構成し、ブロックチェーンデータベースと、第１のトランザクションデータを入力可能なアプリケーションとを有する端末と、前記第１のトランザクションデータから第２のトランザクションデータを生成するための自動展開ルールデータを備えるマスタデータを格納するデータベースと、前記端末及び前記データベースに接続される監査エンジンと、を備えるトランザクション監査システムであって、前記端末により、前記第１のトランザクションデータを前記監査エンジンに入力し、前記監査エンジンにより、前記マスタデータを参照して前記第２のトランザクションデータを生成し、前記第１のトランザクションデータ及び前記第２のトランザクションデータをそれぞれデータ項目及びその値に分解して、第１のテーブル情報を生成し、前記データ項目は、少なくともデータモデル名、バージョン番号、アプリケーション名、ユーザ名及び操作日時を含み、前記端末により、前記第１のテーブル情報に基づいてブロックチェーンのブロックを生成し、前記ブロックチェーンデータベースに記録することを特徴とする。
【発明の効果】
【０００８】
以上のように、本開示によれば、データの真正性を確保し、監査業務を短時間且つ低コストで行うことができる。
【図面の簡単な説明】
【０００９】
【図１】第１の実施形態に係るトランザクション監査システムの全体構成を示す模式図。
【図２】端末の機能ブロック図。
【図３】マスタデータの一例を示す模式図。
【図４】サーバ装置のハードウェア構成例を示すブロック図。
【図５】アプリケーション管理部の機能ブロック図。
【図６】監査エンジンの機能ブロック図。
【図７】テーブル情報の一例を示す模式図。
【図８】ブロックチェーンの一例を示す模式図。
【図９】トランザクションデータの記録処理を示すフローチャート。
【図１０】トランザクションデータの更新処理を示すフローチャート。
【図１１】更新されたトランザクションデータから生成されるテーブル情報を示す模式図。
【図１２】第２の実施形態に係るトランザクション監査システムの全体構成を示す模式図。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照して実施形態について説明する。添付図面は本開示の原理に則った実施形態と実装例を示しているが、これらは本開示の理解のためのものであり、決して本開示を限定的に解釈するために用いられるものではない。本明細書の記述は典型的な例示に過ぎず、本開示の特許請求の範囲又は適用例を如何なる意味においても限定するものではない。
【００１１】
［第１の実施形態］
図１〜３を参照して、第１の実施形態に係るトランザクション監査システム１の全体構成について説明する。本実施形態に係るトランザクション監査システム１は、１つの企業に導入され、企業内又は企業間で行われるトランザクションに関するトランザクションデータ１００をブロックチェーン１０２に記録することにより、トランザクションを監査するシステムである。
【００１２】
トランザクションは、企業の内部ルールに基づいて実施される内部業務処理と、企業間の契約条件等の対外ルールに基づいて実施される対外業務処理とに大別される。内部業務処理として、例えば、予算管理、人事給与計算管理、在庫管理、原価計算管理、生産管理、資産管理、キャッシュマネジメント等が挙げられる。内部ルールは、例えば、企業内ルールや、会計基準、社内規定、根拠法等に基づいたルールである。根拠法は、例えば民法、刑法、金融法、環境法など、ある企業が属する業界特有の法律である。
【００１３】
対外業務処理として、例えば、販売管理、購買管理、Ａ／Ｒ管理、Ａ／Ｐ管理、サービス提供業務管理、外注管理、金融取引管理等が挙げられる。対外ルールは、例えば、企業間の契約、口頭契約、企業間の契約に基づく企業内ルール、商習慣、会計基準、規定、根拠法等に基づいたルールである。企業間の契約は文書に限られず、口頭契約や商習慣など、不文律である場合がある。
【００１４】
図１は、第１の実施形態に係るトランザクション監査システム１の全体構成を示す模式図である。図１に示すように、トランザクション監査システム１は、複数の端末１０、サーバ装置１１、データベース１２及び業務システム１３を備える。
【００１５】
端末１０は、ネットワークＮＷを介してサーバ装置１１に接続されるコンピュータであり、本実施形態のトランザクション監査システム１が導入される企業において用いられる。端末１０として、例えば、汎用コンピュータ、スマートフォン、携帯電話、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔｓ）、タブレット、ウェアラブル（Ｗｅａｒａｂｌｅ）端末等を用いることができる。端末１０は、互いにＰ２Ｐ（Ｐｅｅｒ  ｔｏ  Ｐｅｅｒ）接続されており、ブロックチェーンサーバのノードとしての機能を備える。トランザクション監査システム１のブロックチェーンプラットフォームとして、公知のものを採用することができる。
【００１６】
図２は、端末１０の機能ブロック図である。図２に示すように、端末１０には、ユーザがトランザクションを行うためのアプリケーション２がサーバ装置１１からダウンロードされる。また、端末１０は、入力デバイス３、ブロックチェーンデータベース４、データ処理部５、表示部６、通信インタフェース７を備える。
【００１７】
入力デバイス３は、例えばマウスやキーボードなどの入力デバイスであり、表示部６に表示されるアプリケーション２のＧＵＩ画面にトランザクションデータ１００ａ（第１のトランザクションデータ）を入力可能に構成される。
【００１８】
トランザクションデータ１００ａは、企業内又は企業間で行われるトランザクションに関するデータであり、アプリケーション２からサーバ装置１１へ入力されるデータをいう。トランザクションデータ１００ｂ（第２のトランザクションデータ）は、トランザクションデータ１００ａの入力に従ってサーバ装置１１が生成するデータである。トランザクションデータ１００ｃ（第３のトランザクションデータ）は、外部の業務システム１３から端末１０又はサーバ装置１１へ入力されるデータをいう。本明細書において、トランザクションデータ１００ａ〜１００ｃをまとめて「トランザクションデータ１００」という場合がある。
【００１９】
トランザクションデータ１００は、例えばデータモデル名、使用されたアプリケーション２に関する情報、適用されたルール、業務項目名、バージョン番号、ユーザ名、操作日時等のデータ項目と、各データ項目の値とを含む。各データ項目の値の型は、データ項目に応じて予め設定される。データモデルとは、例えば客先からの受注や、客先への出荷など、業務における作業１つ１つに関する情報である。業務項目とは、例えば受注数量や、出荷数量など、データモデルに関する情報である。適用されたルールというデータ項目の値は、例えばルールの通番である。
【００２０】
トランザクションデータ１００のデータフォーマット（データの形式）は特に限定されない。アプリケーション２からサーバ装置１１へ入力されるトランザクションデータ１００ａのデータフォーマットは、例えばテーブル情報の形式である。外部の業務システム１３からサーバ装置１１へ入力されるトランザクションデータ１００ｃのデータフォーマットは、テーブル情報の形式とは異なっていてもよい。
【００２１】
データ処理部５は、端末１０がブロックチェーンサーバのノードとして機能するためのデータ処理を行う。データ処理部５は、サーバ装置１１から受信したテーブル情報１０１に基づいて、所定のハッシュ関数を用いてハッシュ値を計算し、サーバ装置１１へ出力する。テーブル情報１０１は、トランザクションデータ１００に基づいてサーバ装置１１によって生成され、ブロックチェーン１０２に記録されるデータである。テーブル情報１０１の詳細については後述する。
【００２２】
また、データ処理部５は、サーバ装置１１から受信したテーブル情報１０１に基づいて、ブロックチェーン１０２のブロックを生成し、ブロックチェーンデータベース４に記録する。なお、データ処理部５は、すべてのトランザクションデータ１００から生成されるテーブル情報１０１を１つのブロックチェーン１０２に記録してもよいし、複数のブロックチェーン１０２を作成し、関連性のあるトランザクションデータ１００ごとに、それぞれ１つのブロックチェーン１０２に記録してもよい。関連性のあるトランザクションデータ１００ごとにブロックチェーン１０２を生成する場合、例えば、使用されたアプリケーション２が共通するトランザクションデータ１００のみを記録したブロックチェーン１０２や、マスタデータ１０３の更新履歴のみを記録したブロックチェーン１０２などに分けることができる。
【００２３】
さらに、データ処理部５は、同一のテーブル情報１０１を同時に複数のブロックチェーン１０２に記録してもよい。これにより、社内用や企業間用など、複数の目的でトランザクションデータ１００の履歴を利用可能にする。
【００２４】
表示部６は、アプリケーション２のＧＵＩ画面や、その他の情報を表示可能に構成される。
【００２５】
通信インタフェース７は、ネットワークＮＷに端末１０を接続し、各種データの送受信を行うためのインタフェースである。
【００２６】
図１に示すように、サーバ装置１１は、アプリケーション２を管理するアプリケーション管理部１４と、トランザクション監査システム１の動作のための各種手順をプログラムに従って実行する監査エンジン１５とを備える。アプリケーション管理部１４及び監査エンジン１５は、互いにデータをやり取り可能に接続される。アプリケーション管理部１４及び監査エンジン１５の詳細な構成及び機能については後述する。なお、アプリケーション管理部１４及び監査エンジン１５は、図１に示すように同一のサーバ装置１１に格納されていてもよいし、異なるサーバ装置にそれぞれ格納されてもよい。
【００２７】
データベース１２は、サーバ装置１１の外部ストレージとして、サーバ装置１１に接続され、マスタデータ１０３を格納する。なお、データベース１２は、サーバ装置１１に格納される記憶部であってもよい。
【００２８】
業務システム１３は、端末１０が構成するブロックチェーンサーバ外部のコンピュータであり、ネットワークＮＷを介して端末１０及びサーバ装置１１と接続される。業務システム１３は、トランザクションを行うためのシステムであり、例えばＲＥＳＴｆｕｌ  ＡＰＩや、ＷｅｂＸＭＬなどの連携機能を通じて、端末１０又はサーバ装置１１にトランザクションデータ１００ｃを入力可能に構成される。
【００２９】
図３は、マスタデータ１０３の一例を示す模式図である。マスタデータ１０３は、各種トランザクションにおいて参照されるデータであり、図３に示すように、例えば、価格表、取引先リスト、社員名簿等を含む。
【００３０】
マスタデータ１０３は、トランザクションデータ１００と同様に、例えば価格表、取引先リスト、社員名簿といったマスタ名、データモデル名、バージョン番号、生成・更新を行ったユーザ名、操作日時等のデータ項目と、各データ項目の値と、を含む。
【００３１】
また、マスタデータ１０３は、トランザクションデータ１００ａの自動展開ルールデータ１０４を含む。自動展開ルールデータ１０４は、上記内部ルール及び対外ルールなどのルールに基づいて記述される。自動展開ルールデータ１０４は、アプリケーション２から入力されたトランザクションデータ１００ａから、新たなトランザクションデータ１００ｂの生成や更新、削除を自動的に行うために、監査エンジン１５により参照される。
【００３２】
例外処理や特別扱いなど、マスタデータ１０３及び自動展開ルールデータ１０４に記述されていない規定外のトランザクションがあった場合は、端末１０から入力されるトランザクションデータ１００ａは、データ項目としてルール例外承認内容を含んでいてもよい。
【００３３】
次に、図４〜６を参照して、サーバ装置１１の構成及び機能について詳細に説明する。図４は、サーバ装置１１のハードウェア構成例を示すブロック図である。図４に示すように、サーバ装置１１は、一例として、ＣＰＵ２１、入力部２２、ハードディスクドライブ（ＨＤＤ）２３、ＲＯＭ２４、ＲＡＭ２５、出力部２６、及び通信インタフェース２７を備える。図４に示す各構成要素は、一般的に知られているものと同一のものを採用し得る。
【００３４】
ＣＰＵ２１は、後述する監査エンジン１５の各機能を動作させるための各種手順をプログラムに従って実行する。ハードディスクドライブ２３及び／又はＲＯＭ２４には、当該プログラムが記憶され、ＣＰＵ２１に読み出される。
【００３５】
入力部２２は、端末１０からトランザクションデータ１００ａの入力を受け付けてＣＰＵ２１に出力するインタフェースであり、出力部２６は、監査エンジン１５により生成されたトランザクションデータ１００ｂやテーブル情報１０１を端末１０に出力するインタフェースである。
【００３６】
通信インタフェース２７は、業務システム１３からトランザクションデータ１００ｃの入力を受け付けてＣＰＵ２１に出力するインタフェースであり、必要に応じて生成された各種データを業務システム１３に出力する。また、通信インタフェース２７は、アプリケーション管理部１４から端末１０へアプリケーション２をダウンロードするためのインタフェースとしての機能を備える。
【００３７】
図５は、アプリケーション管理部１４の機能ブロック図である。アプリケーション管理部１４は、図５に示すように、端末１０においてトランザクションを実行するための様々なアプリケーション２を管理する。アプリケーション２は、ネットワークＮＷを介して端末１０にダウンロードされる。
【００３８】
アプリケーション２として、例えばＡ／Ｒ管理アプリケーション、Ａ／Ｐ管理アプリケーション、在庫管理アプリケーション、原価管理アプリケーション、人事給与管理アプリケーション、予算管理アプリケーション、資産管理アプリケーション、キャッシュ管理アプリケーションなどが挙げられる。
【００３９】
Ａ／Ｒ管理アプリケーションは、例えば売掛金、未収金などの債権管理を行うアプリケーションである。例えばＡ／Ｒ管理アプリケーションは、売上により発生する売掛債権（売掛金など）を回収まで管理する。
【００４０】
Ａ／Ｐ管理アプリケーションは、例えば買掛金、未払金などの債務管理を行うモジュールである。例えばＡ／Ｐ管理アプリケーションは、商品仕入により発生する買掛債務（買掛金など）を支払実行まで管理する。
【００４１】
在庫管理アプリケーションは、例えば企業が扱う原材料、製品、商品などの在庫、及び在庫に関する金銭評価を管理するアプリケーションである。
【００４２】
原価管理アプリケーションは、例えば企業が扱う製品、商品、サービスなどの原価を管理するアプリケーションである。
【００４３】
人事給与管理アプリケーションは、例えば従業員の採用、昇給昇格、退職までの人事管理、給与、賞与、退職金、手当金、保険金、年金、その他従業員に対して又は従業員のために支払う金銭に関する管理を行うアプリケーションである。
【００４４】
予算管理アプリケーションは、例えば企業の各種予算に関する管理を行うアプリケーションである。
【００４５】
資産管理アプリケーションは、例えば企業が保有する各種資産に関する管理を行うアプリケーションである。
【００４６】
キャッシュ管理アプリケーションは、例えば企業が保有するキャッシュに関する管理を行うアプリケーションである。
【００４７】
図６は、監査エンジン１５の機能ブロック図である。監査エンジン１５は、図６に示すように、入力部１５１、データ生成・更新部１５２、テーブル情報生成部１５３、出力部１５４、監査部１５５、通信インタフェース１５６を備える。
【００４８】
入力部１５１は、入力部２２からのトランザクションデータ１００ａの入力を受け付けるインタフェースである。通信インタフェース１５６は、通信インタフェース２７からのトランザクションデータ１００ｃの入力を受け付けるインタフェースであり、例えばＲＥＳＴｆｕｌ  ＡＰＩや、ＷｅｂＸＭＬの機能を備える。
【００４９】
データ生成・更新部１５２は、トランザクションデータ１００ａが入力されると、マスタデータ１０３及び自動展開ルールデータ１０４を参照して、新たなトランザクションデータ１００ｂを生成し、テーブル情報生成部１５３へ出力する。また、データ生成・更新部１５２は、出力部１５４及びアプリケーション管理部１４を介して、生成したトランザクションデータ１００ｂを端末１０に送信し、アプリケーション２のＧＵＩ画面に表示させる。
【００５０】
例えば、商品Ｘの他社からの受注というトランザクションがあった場合、ユーザは、受注及び出荷を管理するアプリケーション２のＧＵＩ画面に受注データ（トランザクションデータ１００ａ）を入力する。このとき、受注データは、例えばデータモデル名、アプリケーション名、受注データのバージョン番号、依頼者名、商品名、製造番号、受注数量、ユーザ名、受注データの作成日時などのデータ項目を含む。
【００５１】
データ生成・更新部１５２は、マスタデータ１０３及び自動展開ルールデータ１０４を参照して、受注データから自動的に出荷データ（トランザクションデータ１００ｂ）を生成する。出荷データは、例えばデータモデル名、アプリケーション名、適用ルール、出荷データのバージョン番号、出荷先、商品名、製造番号、出荷数量、納期、ユーザ名、出荷データの作成日時などのデータ項目を含む。このように、１つのトランザクションデータ１００ａから別のトランザクションデータ１００ｂを生成する場合、同一内容のデータ項目は同一のデータ項目名で引き継がれる。
【００５２】
ここで、他社（依頼者）との間に、例えば「商品Ｘは１０個ずつ１包装にまとめて出荷する」というルールがあった場合、自動展開ルールデータ１０４は、出荷データの「出荷数量」というデータ項目の値が「１０×Ｙ」となるように記述される。また、他社との間に、例えば「商品Ｘは受注から２週間以内に出荷する」というルールがあった場合、自動展開ルールデータ１０４は、出荷データに「納期」というデータ項目や、適用されたルールに関するデータ項目を追加するように記述される。
【００５３】
契約の変更、業務の仕様変更、その他の企業の運営に関する変更など、ルールの変更があった場合や、トランザクションデータ１００ａの入力ミスがあった場合、生成されたトランザクションデータ１００ｂに誤りがあった場合、追加注文があった場合などにおいては、トランザクションデータ１００、マスタデータ１０３又は自動展開ルールデータ１０４を更新する必要がある。この場合、更新されるデータ項目やその値は、更新指示として、例えばユーザの端末１０からの操作によりデータ生成・更新部１５２に入力される。データ生成・更新部１５２は、端末１０からの更新指示に従い、トランザクションデータ１００、マスタデータ１０３又は自動展開ルールデータ１０４を更新し、更新されたこれらのデータをテーブル情報生成部１５３に出力する。
【００５４】
テーブル情報生成部１５３は、ＸＤＦ（Ｅｘｔｅｎｄｅｄ  Ｄｙｎａｍｉｃ  Ｆｏｒｍ）フレームワークを活用して、データフォーマットによらず、入力されたトランザクションデータ１００ａ及び生成されたトランザクションデータ１００ｂをデータ項目と値に分解し、それぞれテーブル情報１０１ａ及び１０１ｂ（単に「テーブル情報１０１（第１のテーブル情報）」という場合がある）を生成する。ＸＤＦフレームワークとは、データモデル定義、画面定義、ファイル出力定義、及びファイル入力定義に基づき、メニュー項目、画面デザイン、データモデルを動的に扱う機能である。ＸＤＦフレームワークを使用することにより、データモデルの項目値をデータベースのカラムではなく別行として記録するタイプのデータモデルを定義することができる。
【００５５】
図７は、テーブル情報１０１の一例を示す模式図である。図７に示すように、テーブル情報１０１は、データ項目として、例えばデータモデル名、アプリケーション名、適用ルール、バージョン番号、業務項目、値、前の値（ある場合）は、データの更新や生成を行ったユーザ名、操作時刻などを含む。
【００５６】
上述のように、規定外のトランザクションがあり、ルール例外承認内容を含むトランザクションデータ１００ａが入力された場合は、テーブル情報生成部１５３は、トランザクションデータ１００ａ及びルール例外承認内容に基づいてテーブル情報１０１を生成する。
【００５７】
なお、業務システム１３からトランザクションデータ１００ｃが入力される場合、テーブル情報生成部１５３は、トランザクションデータ１００ｃのみに基づいてテーブル情報１０１を生成する。この場合、業務システム１３においてトランザクションデータ１００ｃが生成されるまでに経由したアプリケーションや、適用されたルールは不明であるため、これらの情報はテーブル情報１０１に含まれない。
【００５８】
出力部１５４は、テーブル情報生成部１５３が生成したテーブル情報１０１を端末１０へ出力する。
【００５９】
端末１０のデータ処理部５は、受信したテーブル情報１０１から所定のハッシュ関数を用いてハッシュ値を生成し、通信インタフェース７を介してハッシュ値を監査エンジン１５の監査部１５５に送信する。
【００６０】
また、データ処理部５は、テーブル情報１０１と、直前のブロックのハッシュ値とをブロックチェーン１０２のブロックに記録するための処理を行い、ブロックチェーンデータベース４に格納する。図８は、ブロックチェーン１０２の一例を示す模式図である。図８に示すように、ブロックチェーン１０２は、ブロックごとに、テーブル情報１０１、直前ブロックのハッシュ値、ナンスを含む。ナンスは、任意の値をいう。
【００６１】
監査部１５５は、端末１０のブロックチェーンデータベース４に格納されたブロックチェーン１０２に基づいて生成されるべきハッシュ値と、端末１０から受信したハッシュ値とを比較して、ブロックチェーン１０２が正規のプロセスを経ずに改ざん・削除されていないかを検証する。監査部１５５は、ブロックチェーン１０２が改ざんされたと判断した場合、出力部１５４へ警告を送信する。
【００６２】
出力部１５４は、監査部１５５から受信した警告を端末１０に送信し、表示部６に警告を表示させる。警告の表示方法として、例えば、表示部６にメッセージボックスで警告を表示する方法、アプリケーション２のＧＵＩ画面やブロックチェーン１０２において、改ざん・削除された箇所を赤字で表示する方法などを採用することができる。
【００６３】
このように、入力されるトランザクションデータ１００ａのデータフォーマットやその保持するデータ項目が異なっていても、トランザクションデータ１００ａ及び１００ｂをすべて所定のデータ項目及びその値に分解し、テーブル情報１０１という統一された形式に変換することで、特定のデータフォーマットに依存することなく、すべてのデータを同一の形式でブロックチェーン１０２に記録することができる。また、適用ルールもデータ項目としてブロックチェーン１０２に記録されるため、トランザクションデータ１００の根拠を把握することが可能である。
【００６４】
次に、図９を参照して、第１の実施形態に係るトランザクション監査システム１におけるトランザクションデータ１００の記録処理について説明する。図９は、本実施形態に係るトランザクションデータ１００の記録処理を示すフローチャートである。
【００６５】
ステップＳ１において、ユーザは、端末１０にダウンロードされたアプリケーション２のＧＵＩ画面から、トランザクションデータ１００ａを入力する。入力されたトランザクションデータ１００ａは、通信インタフェース７及びネットワークＮＷを介して、監査エンジン１５の入力部１５１に送信される。入力部１５１は、トランザクションデータ１００ａをデータ生成・更新部１５２に出力する。
【００６６】
ステップＳ２において、データ生成・更新部１５２は、トランザクションデータ１００ａを受信すると、データベース１２に格納されるマスタデータ１０３を参照して、新たなトランザクションデータ１００ｂを生成する。データ生成・更新部１５２は、トランザクションデータ１００ａ及び１００ｂをテーブル情報生成部１５３に出力する。このとき、トランザクションデータ１００ａ及び１００ｂは、適用されたルールに関するデータ項目を含む。
【００６７】
例えば、入力されたトランザクションデータ１００ａが受注データであった場合、データ生成・更新部１５２により生成されるトランザクションデータ１００ｂは、出荷データである。
【００６８】
ステップＳ３において、テーブル情報生成部１５３は、トランザクションデータ１００ａ及び１００ｂを、ＸＤＦフレームワークによりそれぞれデータ項目及びその値に分解し、テーブル情報１０１を生成する。テーブル情報生成部１５３は、出力部１５４を介して、テーブル情報１０１を端末１０の通信インタフェース７へ送信する。通信インタフェース７は、テーブル情報１０１をデータ処理部５へ出力する。
【００６９】
ステップＳ４において、データ処理部５は、テーブル情報１０１からハッシュ値を生成して、通信インタフェース７を介してハッシュ値を監査エンジン１５の監査部１５５に送信する。
【００７０】
ステップＳ５において、データ処理部５は、テーブル情報１０１と、直前のブロックのハッシュ値とをブロックチェーン１０２のブロックに記録し、ブロックチェーンデータベース４に格納する。
【００７１】
ステップＳ６において、監査部１５５は、ステップＳ４において端末１０から受信したハッシュ値と、ブロックチェーンデータベース４に格納されたブロックチェーン１０２のブロックから算出されるハッシュ値とを比較する。これらのハッシュ値が同一である場合、ブロックチェーンデータベース４に格納されたブロックチェーン１０２が正規のプロセスを経ずに改ざん・削除されていないと判断し、記録処理を終了する。
【００７２】
ステップＳ６において比較したハッシュ値が異なる場合、ステップＳ７において、監査部１５５は、ブロックチェーンデータベース４に格納されたブロックチェーン１０２が正規のプロセスを経ずに改ざん・削除されたと判断し、出力部１５４を介して、警告を端末１０に送信する。端末１０は、通信インタフェース７を介して警告を受信し、表示部６に警告を表示させ、記録処理を終了する。
【００７３】
次に、図１０及び１１を参照して、トランザクションデータ１００を更新する場合について説明する。図１０は、トランザクションデータ１００の更新処理を示すフローチャートである。以下において、トランザクションデータ１００ｂを更新する場合を説明する。
【００７４】
ステップＳ１１において、ユーザは、アプリケーション２のＧＵＩ画面から、トランザクションデータ１００の更新指示を入力する。
【００７５】
ステップＳ２１において、データ生成・更新部１５２は、ステップＳ１において入力されたトランザクションデータ１００ｂの更新指示が、ブロックチェーン１０２に記録された内容を変更するものであるかを判断する。
【００７６】
更新指示が、ブロックチェーン１０２に記録された内容を変更するものである場合（ステップＳ２１においてＹｅｓ）、データ生成・更新部１５２は、ステップＳ２２において、トランザクションデータ１００ｂのバージョン番号に＋１を足す。
【００７７】
次に、データ生成・更新部１５２は、ステップＳ２３において、更新日時や更新者名、変更される値など、トランザクションデータ１００ｂの変更すべきデータ項目及びその値を変更する。トランザクションデータ１００ｂの変更に従って、データ生成・更新部１５２は、マスタデータ１０３を参照して、生成されたトランザクションデータ１００ｂの変更すべきデータ項目及びその値を自動的に変更する。
【００７８】
ステップＳ３１において、テーブル情報生成部１５３は、更新されたトランザクションデータ１００ｂに基づいて、ＸＤＦフレームワークにより、更新されたデータ項目及びその値と、更新前のデータ項目及びその値を含むテーブル情報１０１ｃを生成する。図１１は、トランザクションデータ１００ｂの更新に従って生成されるテーブル情報２０１（第２のテーブル情報）を示す模式図である。図１１に示すように、トランザクションデータ１００ｂが更新された場合、テーブル情報２０１は、更新前のテーブル情報１０１ａ及び１０１ｂと、更新により生成されたテーブル情報１０１ｃとを含む。
【００７９】
ステップＳ３１の後は、図９のステップＳ４以降と同様にして、テーブル情報２０１に基づいて、ブロックチェーン１０２への記録処理を行う。
【００８０】
一方、更新指示が、ブロックチェーン１０２に記録された内容を変更するものでない場合（ステップＳ２１においてＮｏ）、ステップＳ２１より後の処理を行わず、記録処理を終了する。
【００８１】
なお、トランザクションデータ１００ａ、マスタデータ１０３又は自動展開ルールデータ１０４を更新する場合も同様に、ユーザが更新指示を行い、テーブル情報生成部１５３がテーブル情報２０１を生成し、テーブル情報２０１に基づいてブロックチェーン１０２への記録処理を行う。
【００８２】
以上のように、本実施形態に係るトランザクション監査システム１は、トランザクションデータ１００、マスタデータ１０３及び自動展開ルールデータ１０４の生成及び更新の履歴をブロックチェーン１０２として記録するため、不正な改ざんや削除からこれらのデータを保護することができ、データの真正性を確保することができる。このように、トランザクションの履歴のみをブロックチェーン１０２による保護の対象とするため、トランザクション実行時の負荷を低減することができる。
【００８３】
また、トランザクションの結果が、適用されたルール及び利用されたアプリケーションに関する情報と共に記録されるため、これらの因果関係を把握することが容易である。さらに、各種ルールが確実に適用されたかどうかを客観的に担保することができる。
【００８４】
また、ルールが変更される場合に、トランザクション監査システム１のプログラムを変更する必要がなく、マスタデータ１０３又は自動展開ルールデータ１０４を変更してその履歴を記録できるので、後日におけるデータ検証が容易である。
【００８５】
このように、企業の健全性、公明性を担保するための監査業務に際し、トランザクションデータ１００の整理に多大な時間を必要とせず、監査業務を低コストで行うことができる。
【００８６】
さらに、積み上げた履歴と元のデータの現在の状態とを比較検証することにより不正な改ざんや削除などを検出することができるため、全データをブロックチェーン１０２による保護の対象にした場合と同様のデータ保護効果を得ることができる。また、現在のデータからは直接取得できない過去のある時点でのデータの状態を、ブロックチェーン１０２により不正な改ざんや削除などがないことが保証された状態で取得することができ、且つその状態に至る経緯も取得できる。従って、企業の監査業務に際し、財務諸表の数値と、その根拠となるトランザクションデータとを突き合わせることが容易になり、且つ、そのトランザクションデータが、いつ、どのユーザにより、どのルールに基づき、どのような操作が行われたかを検証することが可能となる。また、ある時点で存在した任意のデータを共通の仕組みの上で再現することが可能である。
【００８７】
［第２の実施形態］
図１２を参照して、第２の実施形態に係るトランザクション監査システム２００について説明する。本実施形態のトランザクション監査システム２００は、複数の企業に導入され、複数の企業におけるトランザクションデータ１００を記録する点で、第１の実施形態と異なる。トランザクション監査システム２００の構成要素は、第１の実施形態と同様であるため、説明を省略する。
【００８８】
図１２は、本実施形態のトランザクション監査システム２００の全体構成を示す模式図である。図１２に示す例においては、トランザクション監査システム２００は、２つの企業Ａ及びＢに導入される。企業Ａの所有する複数の端末１０Ａ及び企業Ｂの所有する複数の端末１０Ｂが互いにＰ２Ｐ（Ｐｅｅｒ  ｔｏ  Ｐｅｅｒ）接続されており、それぞれブロックチェーンサーバのノードとしての機能を備える。
【００８９】
また、企業Ａ及びＢは、それぞれサーバ装置１１Ａ及び１１Ｂ、並びにデータベース１２Ａ及び１２Ｂを備える。端末１０Ａ及び１０Ｂ、並びにサーバ装置１１Ａ及び１１Ｂは、同一のネットワークＮＷに接続される。企業Ａのデータベース１２Ａには、マスタデータ１０３Ａが格納され、企業Ｂのデータベース１２Ｂには、マスタデータ１０３Ｂが格納される。
【００９０】
例えば企業Ａに属するユーザが端末Ａからトランザクションデータ１００ａを入力し、マスタデータ１０３Ａが参照され、トランザクションデータ１００ｂが生成された場合、トランザクションデータ１００ｂを企業Ｂの端末１０Ｂやサーバ装置１１Ｂに出力することができる。
【００９１】
本実施形態のトランザクション監査システム２００は、以上のような構成を有することにより、複数の企業におけるトランザクションデータ１００をブロックチェーン１０２に記録することができる。これにより、企業間取引の因果関係をさかのぼって検証することができ、企業間取引の真正性がより保証される。また、複数の企業のトランザクションデータ１００が共通のブロックチェーン１０２上に存在するため、ＡＩ等の情報の参照基盤にも活用することが出来る。
【００９２】
また、本実施形態のトランザクション監査システム２００において、トランザクションデータ１００は、その生成に際し適用されたルールと共に、改ざん不可能なブロックチェーン１０２に記録されるため、あるトランザクションデータ１００のあるデータ項目が、本来あるべき値と異なる値であった場合、適用されたルールに誤りがあったと推測することができる。さらに、適用されたルールが正しいにもかかわらず、あるトランザクションデータ１００のあるデータ項目が、本来あるべき値と異なる値であった場合、監査エンジン１５を動作させるプログラムに誤りがあったと推測することができる。
【００９３】
以上、本開示の実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００９４】
１、２００…トランザクション監査システム
２…アプリケーション
３…入力デバイス
４…ブロックチェーンデータベース
５…データ処理部
６…表示部
７…通信インタフェース
１０…端末
１１…サーバ装置
１２…データベース
１３…業務システム
１４…アプリケーション管理部
１５…監査エンジン
１００…トランザクションデータ
１０１、２０１…テーブル情報
１０２…ブロックチェーン
１０３…マスタデータ
１５１…入力部
１５２…データ生成・更新部
１５３…テーブル情報生成部
１５４…出力部
１５５…監査部
１５６…通信インタフェース
【図１】
2020054612.tif 000003
【図２】
2020054612.tif 000004
【図３】
2020054612.tif 000005
【図４】
2020054612.tif 000006
【図５】
2020054612.tif 000007
【図６】
2020054612.tif 000008
【図７】
2020054612.tif 000009
【図８】
2020054612.tif 000010
【図９】
2020054612.tif 000011
【図１０】
2020054612.tif 000012
【図１１】
2020054612.tif 000013
【図１２】
2020054612.tif 000014
【国際調査報告】
2020054612.tif 000015
2020054612.tif 000016
2020054612.tif 000017
2020054612.tif 000018