(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-04-12
(45)【発行日】2022-04-20
(54)【発明の名称】トランザクション監査システム
(51)【国際特許分類】
G06F 21/64 20130101AFI20220413BHJP
G06F 11/34 20060101ALI20220413BHJP
【FI】
G06F21/64
G06F11/34 176
(21)【出願番号】P 2020545990
(86)(22)【出願日】2019-09-06
(86)【国際出願番号】 JP2019035179
(87)【国際公開番号】W WO2020054612
(87)【国際公開日】2020-03-19
【審査請求日】2021-01-14
(31)【優先権主張番号】P 2018169990
(32)【優先日】2018-09-11
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】504411683
【氏名又は名称】株式会社アトリス
(74)【代理人】
【識別番号】110002572
【氏名又は名称】特許業務法人平木国際特許事務所
(72)【発明者】
【氏名】安光 正則
(72)【発明者】
【氏名】大内 隆信
(72)【発明者】
【氏名】横大路 誠一
【審査官】岸野 徹
(56)【参考文献】
【文献】米国特許出願公開第2014/0101262(US,A1)
【文献】米国特許第6006242(US,A)
【文献】米国特許出願公開第2018/0227119(US,A1)
【文献】米国特許出願公開第2018/0006831(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/64
G06F 11/34
(57)【特許請求の範囲】
【請求項1】
ブロックチェーンサーバを構成し、ブロックチェーンデータベースと、第1のトランザクションデータを入力可能なアプリケーションとを有する端末と、
前記第1のトランザクションデータから第2のトランザクションデータを生成するための自動展開ルールデータを備えるマスタデータを格納するデータベースと、
前記端末及び前記データベースに接続される監査エンジンと、を備えるトランザクション監査システムであって、
前記端末により、前記第1のトランザクションデータを前記監査エンジンに入力し、
前記監査エンジンにより、前記マスタデータを参照して前記第2のトランザクションデータを生成し、
前記第1のトランザクションデータ及び前記第2のトランザクションデータをそれぞれデータ項目及びその値に分解して、第1のテーブル情報を生成し、
前記データ項目は、少なくともデータモデル名、バージョン番号、アプリケーション名、ユーザ名及び操作日時を含み、
前記端末により、前記第1のテーブル情報に基づいてブロックチェーンのブロックを生成し、前記ブロックチェーンデータベースに記録することを特徴とするトランザクション監査システム。
【請求項2】
前記監査エンジンは、さらに前記ブロックチェーンが改ざんされていないかを監査することを特徴とする請求項1記載のトランザクション監査システム。
【請求項3】
前記端末により、前記第1のトランザクションデータ、前記第2のトランザクションデータ又は前記マスタデータの更新指示を前記監査エンジンに入力し、
前記監査エンジンにより、前記バージョン番号に1を足し、前記データ項目及びその値を前記更新指示に従って更新し、第2のテーブル情報を生成し、
前記端末により、前記第2のテーブル情報に基づいて前記ブロックチェーンのブロックを生成し、前記ブロックチェーンデータベースに記録することを特徴とする請求項1記載のトランザクション監査システム。
【請求項4】
前記監査エンジンに接続される業務システムをさらに備え、
前記業務システムにより、第3のトランザクションデータを前記監査エンジンに入力することを特徴とする請求項1記載のトランザクション監査システム。
【請求項5】
複数の企業に導入されることを特徴とする請求項1乃至4いずれか1項記載のトランザクション監査システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、トランザクション監査システムに関する。
【背景技術】
【0002】
企業内又は企業間で行われるトランザクション(業務処理)は、企業間の契約や社内規定等のルールに従って実行されている。しかしながら、人為的ミスによって、適用すべきルールに従ってトランザクションが行われない場合や、トランザクションに関するデータが故意に改ざんされる場合がある。このため、従来、トランザクションに使用されるアプリケーションや業務システムから出力されるトランザクションデータを業務ログ管理システム等によって管理し、内部監査担当者及び外部監査法人等が監査ツール等を用いて数値分析又は原取引との比較検証等を行うことにより監査することが行われている。
【0003】
例えば、特許文献1には、確実な漏れのないログの管理及び監査を自動的に行う業務管理システムとして、「業務システムから業務における作業に関する情報を含む複数のログを収集するログ収集部と、前記ログ収集部によって収集された各ログに含まれる作業に関する情報と、事前に設定された作業を分類する条件とに基づいて、各ログがいずれの業務に属するかを特定し、同一業務に属するログをそれぞれ集約したデータを管理簿データとして作成する管理簿データ作成部とを有することを特徴とする業務管理システム」が開示されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1に記載の業務管理システムにおいては、管理されるのはトランザクションの結果(ログ)のみであるため、その結果が出力された根拠を把握することができない。また、人為的ミスや改ざんなどの問題が発生した場合に、問題発生時点の状況を再現することが難しく、監査のためのデータ整理に多大な時間とコストを要するという課題がある。
【0006】
このような問題を解決するため、本開示は、データの真正性を確保し、監査業務を短時間且つ低コストで行うことができるトランザクション監査システムを提供する。
【課題を解決するための手段】
【0007】
本開示のトランザクション監査システムは、ブロックチェーンサーバを構成し、ブロックチェーンデータベースと、第1のトランザクションデータを入力可能なアプリケーションとを有する端末と、前記第1のトランザクションデータから第2のトランザクションデータを生成するための自動展開ルールデータを備えるマスタデータを格納するデータベースと、前記端末及び前記データベースに接続される監査エンジンと、を備えるトランザクション監査システムであって、前記端末により、前記第1のトランザクションデータを前記監査エンジンに入力し、前記監査エンジンにより、前記マスタデータを参照して前記第2のトランザクションデータを生成し、前記第1のトランザクションデータ及び前記第2のトランザクションデータをそれぞれデータ項目及びその値に分解して、第1のテーブル情報を生成し、前記データ項目は、少なくともデータモデル名、バージョン番号、アプリケーション名、ユーザ名及び操作日時を含み、前記端末により、前記第1のテーブル情報に基づいてブロックチェーンのブロックを生成し、前記ブロックチェーンデータベースに記録することを特徴とする。
【発明の効果】
【0008】
以上のように、本開示によれば、データの真正性を確保し、監査業務を短時間且つ低コストで行うことができる。
【図面の簡単な説明】
【0009】
【
図1】第1の実施形態に係るトランザクション監査システムの全体構成を示す模式図。
【
図4】サーバ装置のハードウェア構成例を示すブロック図。
【
図9】トランザクションデータの記録処理を示すフローチャート。
【
図10】トランザクションデータの更新処理を示すフローチャート。
【
図11】更新されたトランザクションデータから生成されるテーブル情報を示す模式図。
【
図12】第2の実施形態に係るトランザクション監査システムの全体構成を示す模式図。
【発明を実施するための形態】
【0010】
以下、添付図面を参照して実施形態について説明する。添付図面は本開示の原理に則った実施形態と実装例を示しているが、これらは本開示の理解のためのものであり、決して本開示を限定的に解釈するために用いられるものではない。本明細書の記述は典型的な例示に過ぎず、本開示の特許請求の範囲又は適用例を如何なる意味においても限定するものではない。
【0011】
[第1の実施形態]
図1~3を参照して、第1の実施形態に係るトランザクション監査システム1の全体構成について説明する。本実施形態に係るトランザクション監査システム1は、1つの企業に導入され、企業内又は企業間で行われるトランザクションに関するトランザクションデータ100をブロックチェーン102に記録することにより、トランザクションを監査するシステムである。
【0012】
トランザクションは、企業の内部ルールに基づいて実施される内部業務処理と、企業間の契約条件等の対外ルールに基づいて実施される対外業務処理とに大別される。内部業務処理として、例えば、予算管理、人事給与計算管理、在庫管理、原価計算管理、生産管理、資産管理、キャッシュマネジメント等が挙げられる。内部ルールは、例えば、企業内ルールや、会計基準、社内規定、根拠法等に基づいたルールである。根拠法は、例えば民法、刑法、金融法、環境法など、ある企業が属する業界特有の法律である。
【0013】
対外業務処理として、例えば、販売管理、購買管理、A/R管理、A/P管理、サービス提供業務管理、外注管理、金融取引管理等が挙げられる。対外ルールは、例えば、企業間の契約、口頭契約、企業間の契約に基づく企業内ルール、商習慣、会計基準、規定、根拠法等に基づいたルールである。企業間の契約は文書に限られず、口頭契約や商習慣など、不文律である場合がある。
【0014】
図1は、第1の実施形態に係るトランザクション監査システム1の全体構成を示す模式図である。
図1に示すように、トランザクション監査システム1は、複数の端末10、サーバ装置11、データベース12及び業務システム13を備える。
【0015】
端末10は、ネットワークNWを介してサーバ装置11に接続されるコンピュータであり、本実施形態のトランザクション監査システム1が導入される企業において用いられる。端末10として、例えば、汎用コンピュータ、スマートフォン、携帯電話、PDA(Personal Digital Assistants)、タブレット、ウェアラブル(Wearable)端末等を用いることができる。端末10は、互いにP2P(Peer to Peer)接続されており、ブロックチェーンサーバのノードとしての機能を備える。トランザクション監査システム1のブロックチェーンプラットフォームとして、公知のものを採用することができる。
【0016】
図2は、端末10の機能ブロック図である。
図2に示すように、端末10には、ユーザがトランザクションを行うためのアプリケーション2がサーバ装置11からダウンロードされる。また、端末10は、入力デバイス3、ブロックチェーンデータベース4、データ処理部5、表示部6、通信インタフェース7を備える。
【0017】
入力デバイス3は、例えばマウスやキーボードなどの入力デバイスであり、表示部6に表示されるアプリケーション2のGUI画面にトランザクションデータ100a(第1のトランザクションデータ)を入力可能に構成される。
【0018】
トランザクションデータ100aは、企業内又は企業間で行われるトランザクションに関するデータであり、アプリケーション2からサーバ装置11へ入力されるデータをいう。トランザクションデータ100b(第2のトランザクションデータ)は、トランザクションデータ100aの入力に従ってサーバ装置11が生成するデータである。トランザクションデータ100c(第3のトランザクションデータ)は、外部の業務システム13から端末10又はサーバ装置11へ入力されるデータをいう。本明細書において、トランザクションデータ100a~100cをまとめて「トランザクションデータ100」という場合がある。
【0019】
トランザクションデータ100は、例えばデータモデル名、使用されたアプリケーション2に関する情報、適用されたルール、業務項目名、バージョン番号、ユーザ名、操作日時等のデータ項目と、各データ項目の値とを含む。各データ項目の値の型は、データ項目に応じて予め設定される。データモデルとは、例えば客先からの受注や、客先への出荷など、業務における作業1つ1つに関する情報である。業務項目とは、例えば受注数量や、出荷数量など、データモデルに関する情報である。適用されたルールというデータ項目の値は、例えばルールの通番である。
【0020】
トランザクションデータ100のデータフォーマット(データの形式)は特に限定されない。アプリケーション2からサーバ装置11へ入力されるトランザクションデータ100aのデータフォーマットは、例えばテーブル情報の形式である。外部の業務システム13からサーバ装置11へ入力されるトランザクションデータ100cのデータフォーマットは、テーブル情報の形式とは異なっていてもよい。
【0021】
データ処理部5は、端末10がブロックチェーンサーバのノードとして機能するためのデータ処理を行う。データ処理部5は、サーバ装置11から受信したテーブル情報101に基づいて、所定のハッシュ関数を用いてハッシュ値を計算し、サーバ装置11へ出力する。テーブル情報101は、トランザクションデータ100に基づいてサーバ装置11によって生成され、ブロックチェーン102に記録されるデータである。テーブル情報101の詳細については後述する。
【0022】
また、データ処理部5は、サーバ装置11から受信したテーブル情報101に基づいて、ブロックチェーン102のブロックを生成し、ブロックチェーンデータベース4に記録する。なお、データ処理部5は、すべてのトランザクションデータ100から生成されるテーブル情報101を1つのブロックチェーン102に記録してもよいし、複数のブロックチェーン102を作成し、関連性のあるトランザクションデータ100ごとに、それぞれ1つのブロックチェーン102に記録してもよい。関連性のあるトランザクションデータ100ごとにブロックチェーン102を生成する場合、例えば、使用されたアプリケーション2が共通するトランザクションデータ100のみを記録したブロックチェーン102や、マスタデータ103の更新履歴のみを記録したブロックチェーン102などに分けることができる。
【0023】
さらに、データ処理部5は、同一のテーブル情報101を同時に複数のブロックチェーン102に記録してもよい。これにより、社内用や企業間用など、複数の目的でトランザクションデータ100の履歴を利用可能にする。
【0024】
表示部6は、アプリケーション2のGUI画面や、その他の情報を表示可能に構成される。
【0025】
通信インタフェース7は、ネットワークNWに端末10を接続し、各種データの送受信を行うためのインタフェースである。
【0026】
図1に示すように、サーバ装置11は、アプリケーション2を管理するアプリケーション管理部14と、トランザクション監査システム1の動作のための各種手順をプログラムに従って実行する監査エンジン15とを備える。アプリケーション管理部14及び監査エンジン15は、互いにデータをやり取り可能に接続される。アプリケーション管理部14及び監査エンジン15の詳細な構成及び機能については後述する。なお、アプリケーション管理部14及び監査エンジン15は、
図1に示すように同一のサーバ装置11に格納されていてもよいし、異なるサーバ装置にそれぞれ格納されてもよい。
【0027】
データベース12は、サーバ装置11の外部ストレージとして、サーバ装置11に接続され、マスタデータ103を格納する。なお、データベース12は、サーバ装置11に格納される記憶部であってもよい。
【0028】
業務システム13は、端末10が構成するブロックチェーンサーバ外部のコンピュータであり、ネットワークNWを介して端末10及びサーバ装置11と接続される。業務システム13は、トランザクションを行うためのシステムであり、例えばRESTful APIや、WebXMLなどの連携機能を通じて、端末10又はサーバ装置11にトランザクションデータ100cを入力可能に構成される。
【0029】
図3は、マスタデータ103の一例を示す模式図である。マスタデータ103は、各種トランザクションにおいて参照されるデータであり、
図3に示すように、例えば、価格表、取引先リスト、社員名簿等を含む。
【0030】
マスタデータ103は、トランザクションデータ100と同様に、例えば価格表、取引先リスト、社員名簿といったマスタ名、データモデル名、バージョン番号、生成・更新を行ったユーザ名、操作日時等のデータ項目と、各データ項目の値と、を含む。
【0031】
また、マスタデータ103は、トランザクションデータ100aの自動展開ルールデータ104を含む。自動展開ルールデータ104は、上記内部ルール及び対外ルールなどのルールに基づいて記述される。自動展開ルールデータ104は、アプリケーション2から入力されたトランザクションデータ100aから、新たなトランザクションデータ100bの生成や更新、削除を自動的に行うために、監査エンジン15により参照される。
【0032】
例外処理や特別扱いなど、マスタデータ103及び自動展開ルールデータ104に記述されていない規定外のトランザクションがあった場合は、端末10から入力されるトランザクションデータ100aは、データ項目としてルール例外承認内容を含んでいてもよい。
【0033】
次に、
図4~6を参照して、サーバ装置11の構成及び機能について詳細に説明する。
図4は、サーバ装置11のハードウェア構成例を示すブロック図である。
図4に示すように、サーバ装置11は、一例として、CPU21、入力部22、ハードディスクドライブ(HDD)23、ROM24、RAM25、出力部26、及び通信インタフェース27を備える。
図4に示す各構成要素は、一般的に知られているものと同一のものを採用し得る。
【0034】
CPU21は、後述する監査エンジン15の各機能を動作させるための各種手順をプログラムに従って実行する。ハードディスクドライブ23及び/又はROM24には、当該プログラムが記憶され、CPU21に読み出される。
【0035】
入力部22は、端末10からトランザクションデータ100aの入力を受け付けてCPU21に出力するインタフェースであり、出力部26は、監査エンジン15により生成されたトランザクションデータ100bやテーブル情報101を端末10に出力するインタフェースである。
【0036】
通信インタフェース27は、業務システム13からトランザクションデータ100cの入力を受け付けてCPU21に出力するインタフェースであり、必要に応じて生成された各種データを業務システム13に出力する。また、通信インタフェース27は、アプリケーション管理部14から端末10へアプリケーション2をダウンロードするためのインタフェースとしての機能を備える。
【0037】
図5は、アプリケーション管理部14の機能ブロック図である。アプリケーション管理部14は、
図5に示すように、端末10においてトランザクションを実行するための様々なアプリケーション2を管理する。アプリケーション2は、ネットワークNWを介して端末10にダウンロードされる。
【0038】
アプリケーション2として、例えばA/R管理アプリケーション、A/P管理アプリケーション、在庫管理アプリケーション、原価管理アプリケーション、人事給与管理アプリケーション、予算管理アプリケーション、資産管理アプリケーション、キャッシュ管理アプリケーションなどが挙げられる。
【0039】
A/R管理アプリケーションは、例えば売掛金、未収金などの債権管理を行うアプリケーションである。例えばA/R管理アプリケーションは、売上により発生する売掛債権(売掛金など)を回収まで管理する。
【0040】
A/P管理アプリケーションは、例えば買掛金、未払金などの債務管理を行うモジュールである。例えばA/P管理アプリケーションは、商品仕入により発生する買掛債務(買掛金など)を支払実行まで管理する。
【0041】
在庫管理アプリケーションは、例えば企業が扱う原材料、製品、商品などの在庫、及び在庫に関する金銭評価を管理するアプリケーションである。
【0042】
原価管理アプリケーションは、例えば企業が扱う製品、商品、サービスなどの原価を管理するアプリケーションである。
【0043】
人事給与管理アプリケーションは、例えば従業員の採用、昇給昇格、退職までの人事管理、給与、賞与、退職金、手当金、保険金、年金、その他従業員に対して又は従業員のために支払う金銭に関する管理を行うアプリケーションである。
【0044】
予算管理アプリケーションは、例えば企業の各種予算に関する管理を行うアプリケーションである。
【0045】
資産管理アプリケーションは、例えば企業が保有する各種資産に関する管理を行うアプリケーションである。
【0046】
キャッシュ管理アプリケーションは、例えば企業が保有するキャッシュに関する管理を行うアプリケーションである。
【0047】
図6は、監査エンジン15の機能ブロック図である。監査エンジン15は、
図6に示すように、入力部151、データ生成・更新部152、テーブル情報生成部153、出力部154、監査部155、通信インタフェース156を備える。
【0048】
入力部151は、入力部22からのトランザクションデータ100aの入力を受け付けるインタフェースである。通信インタフェース156は、通信インタフェース27からのトランザクションデータ100cの入力を受け付けるインタフェースであり、例えばRESTful APIや、WebXMLの機能を備える。
【0049】
データ生成・更新部152は、トランザクションデータ100aが入力されると、マスタデータ103及び自動展開ルールデータ104を参照して、新たなトランザクションデータ100bを生成し、テーブル情報生成部153へ出力する。また、データ生成・更新部152は、出力部154及びアプリケーション管理部14を介して、生成したトランザクションデータ100bを端末10に送信し、アプリケーション2のGUI画面に表示させる。
【0050】
例えば、商品Xの他社からの受注というトランザクションがあった場合、ユーザは、受注及び出荷を管理するアプリケーション2のGUI画面に受注データ(トランザクションデータ100a)を入力する。このとき、受注データは、例えばデータモデル名、アプリケーション名、受注データのバージョン番号、依頼者名、商品名、製造番号、受注数量、ユーザ名、受注データの作成日時などのデータ項目を含む。
【0051】
データ生成・更新部152は、マスタデータ103及び自動展開ルールデータ104を参照して、受注データから自動的に出荷データ(トランザクションデータ100b)を生成する。出荷データは、例えばデータモデル名、アプリケーション名、適用ルール、出荷データのバージョン番号、出荷先、商品名、製造番号、出荷数量、納期、ユーザ名、出荷データの作成日時などのデータ項目を含む。このように、1つのトランザクションデータ100aから別のトランザクションデータ100bを生成する場合、同一内容のデータ項目は同一のデータ項目名で引き継がれる。
【0052】
ここで、他社(依頼者)との間に、例えば「商品Xは10個ずつ1包装にまとめて出荷する」というルールがあった場合、自動展開ルールデータ104は、出荷データの「出荷数量」というデータ項目の値が「10×Y」となるように記述される。また、他社との間に、例えば「商品Xは受注から2週間以内に出荷する」というルールがあった場合、自動展開ルールデータ104は、出荷データに「納期」というデータ項目や、適用されたルールに関するデータ項目を追加するように記述される。
【0053】
契約の変更、業務の仕様変更、その他の企業の運営に関する変更など、ルールの変更があった場合や、トランザクションデータ100aの入力ミスがあった場合、生成されたトランザクションデータ100bに誤りがあった場合、追加注文があった場合などにおいては、トランザクションデータ100、マスタデータ103又は自動展開ルールデータ104を更新する必要がある。この場合、更新されるデータ項目やその値は、更新指示として、例えばユーザの端末10からの操作によりデータ生成・更新部152に入力される。データ生成・更新部152は、端末10からの更新指示に従い、トランザクションデータ100、マスタデータ103又は自動展開ルールデータ104を更新し、更新されたこれらのデータをテーブル情報生成部153に出力する。
【0054】
テーブル情報生成部153は、XDF(Extended Dynamic Form)フレームワークを活用して、データフォーマットによらず、入力されたトランザクションデータ100a及び生成されたトランザクションデータ100bをデータ項目と値に分解し、それぞれテーブル情報101a及び101b(単に「テーブル情報101(第1のテーブル情報)」という場合がある)を生成する。XDFフレームワークとは、データモデル定義、画面定義、ファイル出力定義、及びファイル入力定義に基づき、メニュー項目、画面デザイン、データモデルを動的に扱う機能である。XDFフレームワークを使用することにより、データモデルの項目値をデータベースのカラムではなく別行として記録するタイプのデータモデルを定義することができる。
【0055】
図7は、テーブル情報101の一例を示す模式図である。
図7に示すように、テーブル情報101は、データ項目として、例えばデータモデル名、アプリケーション名、適用ルール、バージョン番号、業務項目、値、前の値(ある場合)は、データの更新や生成を行ったユーザ名、操作時刻などを含む。
【0056】
上述のように、規定外のトランザクションがあり、ルール例外承認内容を含むトランザクションデータ100aが入力された場合は、テーブル情報生成部153は、トランザクションデータ100a及びルール例外承認内容に基づいてテーブル情報101を生成する。
【0057】
なお、業務システム13からトランザクションデータ100cが入力される場合、テーブル情報生成部153は、トランザクションデータ100cのみに基づいてテーブル情報101を生成する。この場合、業務システム13においてトランザクションデータ100cが生成されるまでに経由したアプリケーションや、適用されたルールは不明であるため、これらの情報はテーブル情報101に含まれない。
【0058】
出力部154は、テーブル情報生成部153が生成したテーブル情報101を端末10へ出力する。
【0059】
端末10のデータ処理部5は、受信したテーブル情報101から所定のハッシュ関数を用いてハッシュ値を生成し、通信インタフェース7を介してハッシュ値を監査エンジン15の監査部155に送信する。
【0060】
また、データ処理部5は、テーブル情報101と、直前のブロックのハッシュ値とをブロックチェーン102のブロックに記録するための処理を行い、ブロックチェーンデータベース4に格納する。
図8は、ブロックチェーン102の一例を示す模式図である。
図8に示すように、ブロックチェーン102は、ブロックごとに、テーブル情報101、直前ブロックのハッシュ値、ナンスを含む。ナンスは、任意の値をいう。
【0061】
監査部155は、端末10のブロックチェーンデータベース4に格納されたブロックチェーン102に基づいて生成されるべきハッシュ値と、端末10から受信したハッシュ値とを比較して、ブロックチェーン102が正規のプロセスを経ずに改ざん・削除されていないかを検証する。監査部155は、ブロックチェーン102が改ざんされたと判断した場合、出力部154へ警告を送信する。
【0062】
出力部154は、監査部155から受信した警告を端末10に送信し、表示部6に警告を表示させる。警告の表示方法として、例えば、表示部6にメッセージボックスで警告を表示する方法、アプリケーション2のGUI画面やブロックチェーン102において、改ざん・削除された箇所を赤字で表示する方法などを採用することができる。
【0063】
このように、入力されるトランザクションデータ100aのデータフォーマットやその保持するデータ項目が異なっていても、トランザクションデータ100a及び100bをすべて所定のデータ項目及びその値に分解し、テーブル情報101という統一された形式に変換することで、特定のデータフォーマットに依存することなく、すべてのデータを同一の形式でブロックチェーン102に記録することができる。また、適用ルールもデータ項目としてブロックチェーン102に記録されるため、トランザクションデータ100の根拠を把握することが可能である。
【0064】
次に、
図9を参照して、第1の実施形態に係るトランザクション監査システム1におけるトランザクションデータ100の記録処理について説明する。
図9は、本実施形態に係るトランザクションデータ100の記録処理を示すフローチャートである。
【0065】
ステップS1において、ユーザは、端末10にダウンロードされたアプリケーション2のGUI画面から、トランザクションデータ100aを入力する。入力されたトランザクションデータ100aは、通信インタフェース7及びネットワークNWを介して、監査エンジン15の入力部151に送信される。入力部151は、トランザクションデータ100aをデータ生成・更新部152に出力する。
【0066】
ステップS2において、データ生成・更新部152は、トランザクションデータ100aを受信すると、データベース12に格納されるマスタデータ103を参照して、新たなトランザクションデータ100bを生成する。データ生成・更新部152は、トランザクションデータ100a及び100bをテーブル情報生成部153に出力する。このとき、トランザクションデータ100a及び100bは、適用されたルールに関するデータ項目を含む。
【0067】
例えば、入力されたトランザクションデータ100aが受注データであった場合、データ生成・更新部152により生成されるトランザクションデータ100bは、出荷データである。
【0068】
ステップS3において、テーブル情報生成部153は、トランザクションデータ100a及び100bを、XDFフレームワークによりそれぞれデータ項目及びその値に分解し、テーブル情報101を生成する。テーブル情報生成部153は、出力部154を介して、テーブル情報101を端末10の通信インタフェース7へ送信する。通信インタフェース7は、テーブル情報101をデータ処理部5へ出力する。
【0069】
ステップS4において、データ処理部5は、テーブル情報101からハッシュ値を生成して、通信インタフェース7を介してハッシュ値を監査エンジン15の監査部155に送信する。
【0070】
ステップS5において、データ処理部5は、テーブル情報101と、直前のブロックのハッシュ値とをブロックチェーン102のブロックに記録し、ブロックチェーンデータベース4に格納する。
【0071】
ステップS6において、監査部155は、ステップS4において端末10から受信したハッシュ値と、ブロックチェーンデータベース4に格納されたブロックチェーン102のブロックから算出されるハッシュ値とを比較する。これらのハッシュ値が同一である場合、ブロックチェーンデータベース4に格納されたブロックチェーン102が正規のプロセスを経ずに改ざん・削除されていないと判断し、記録処理を終了する。
【0072】
ステップS6において比較したハッシュ値が異なる場合、ステップS7において、監査部155は、ブロックチェーンデータベース4に格納されたブロックチェーン102が正規のプロセスを経ずに改ざん・削除されたと判断し、出力部154を介して、警告を端末10に送信する。端末10は、通信インタフェース7を介して警告を受信し、表示部6に警告を表示させ、記録処理を終了する。
【0073】
次に、
図10及び11を参照して、トランザクションデータ100を更新する場合について説明する。
図10は、トランザクションデータ100の更新処理を示すフローチャートである。以下において、トランザクションデータ100bを更新する場合を説明する。
【0074】
ステップS11において、ユーザは、アプリケーション2のGUI画面から、トランザクションデータ100の更新指示を入力する。
【0075】
ステップS21において、データ生成・更新部152は、ステップS1において入力されたトランザクションデータ100bの更新指示が、ブロックチェーン102に記録された内容を変更するものであるかを判断する。
【0076】
更新指示が、ブロックチェーン102に記録された内容を変更するものである場合(ステップS21においてYes)、データ生成・更新部152は、ステップS22において、トランザクションデータ100bのバージョン番号に+1を足す。
【0077】
次に、データ生成・更新部152は、ステップS23において、更新日時や更新者名、変更される値など、トランザクションデータ100bの変更すべきデータ項目及びその値を変更する。トランザクションデータ100bの変更に従って、データ生成・更新部152は、マスタデータ103を参照して、生成されたトランザクションデータ100bの変更すべきデータ項目及びその値を自動的に変更する。
【0078】
ステップS31において、テーブル情報生成部153は、更新されたトランザクションデータ100bに基づいて、XDFフレームワークにより、更新されたデータ項目及びその値と、更新前のデータ項目及びその値を含むテーブル情報101cを生成する。
図11は、トランザクションデータ100bの更新に従って生成されるテーブル情報201(第2のテーブル情報)を示す模式図である。
図11に示すように、トランザクションデータ100bが更新された場合、テーブル情報201は、更新前のテーブル情報101a及び101bと、更新により生成されたテーブル情報101cとを含む。
【0079】
ステップS31の後は、
図9のステップS4以降と同様にして、テーブル情報201に基づいて、ブロックチェーン102への記録処理を行う。
【0080】
一方、更新指示が、ブロックチェーン102に記録された内容を変更するものでない場合(ステップS21においてNo)、ステップS21より後の処理を行わず、記録処理を終了する。
【0081】
なお、トランザクションデータ100a、マスタデータ103又は自動展開ルールデータ104を更新する場合も同様に、ユーザが更新指示を行い、テーブル情報生成部153がテーブル情報201を生成し、テーブル情報201に基づいてブロックチェーン102への記録処理を行う。
【0082】
以上のように、本実施形態に係るトランザクション監査システム1は、トランザクションデータ100、マスタデータ103及び自動展開ルールデータ104の生成及び更新の履歴をブロックチェーン102として記録するため、不正な改ざんや削除からこれらのデータを保護することができ、データの真正性を確保することができる。このように、トランザクションの履歴のみをブロックチェーン102による保護の対象とするため、トランザクション実行時の負荷を低減することができる。
【0083】
また、トランザクションの結果が、適用されたルール及び利用されたアプリケーションに関する情報と共に記録されるため、これらの因果関係を把握することが容易である。さらに、各種ルールが確実に適用されたかどうかを客観的に担保することができる。
【0084】
また、ルールが変更される場合に、トランザクション監査システム1のプログラムを変更する必要がなく、マスタデータ103又は自動展開ルールデータ104を変更してその履歴を記録できるので、後日におけるデータ検証が容易である。
【0085】
このように、企業の健全性、公明性を担保するための監査業務に際し、トランザクションデータ100の整理に多大な時間を必要とせず、監査業務を低コストで行うことができる。
【0086】
さらに、積み上げた履歴と元のデータの現在の状態とを比較検証することにより不正な改ざんや削除などを検出することができるため、全データをブロックチェーン102による保護の対象にした場合と同様のデータ保護効果を得ることができる。また、現在のデータからは直接取得できない過去のある時点でのデータの状態を、ブロックチェーン102により不正な改ざんや削除などがないことが保証された状態で取得することができ、且つその状態に至る経緯も取得できる。従って、企業の監査業務に際し、財務諸表の数値と、その根拠となるトランザクションデータとを突き合わせることが容易になり、且つ、そのトランザクションデータが、いつ、どのユーザにより、どのルールに基づき、どのような操作が行われたかを検証することが可能となる。また、ある時点で存在した任意のデータを共通の仕組みの上で再現することが可能である。
【0087】
[第2の実施形態]
図12を参照して、第2の実施形態に係るトランザクション監査システム200について説明する。本実施形態のトランザクション監査システム200は、複数の企業に導入され、複数の企業におけるトランザクションデータ100を記録する点で、第1の実施形態と異なる。トランザクション監査システム200の構成要素は、第1の実施形態と同様であるため、説明を省略する。
【0088】
図12は、本実施形態のトランザクション監査システム200の全体構成を示す模式図である。
図12に示す例においては、トランザクション監査システム200は、2つの企業A及びBに導入される。企業Aの所有する複数の端末10A及び企業Bの所有する複数の端末10Bが互いにP2P(Peer to Peer)接続されており、それぞれブロックチェーンサーバのノードとしての機能を備える。
【0089】
また、企業A及びBは、それぞれサーバ装置11A及び11B、並びにデータベース12A及び12Bを備える。端末10A及び10B、並びにサーバ装置11A及び11Bは、同一のネットワークNWに接続される。企業Aのデータベース12Aには、マスタデータ103Aが格納され、企業Bのデータベース12Bには、マスタデータ103Bが格納される。
【0090】
例えば企業Aに属するユーザが端末Aからトランザクションデータ100aを入力し、マスタデータ103Aが参照され、トランザクションデータ100bが生成された場合、トランザクションデータ100bを企業Bの端末10Bやサーバ装置11Bに出力することができる。
【0091】
本実施形態のトランザクション監査システム200は、以上のような構成を有することにより、複数の企業におけるトランザクションデータ100をブロックチェーン102に記録することができる。これにより、企業間取引の因果関係をさかのぼって検証することができ、企業間取引の真正性がより保証される。また、複数の企業のトランザクションデータ100が共通のブロックチェーン102上に存在するため、AI等の情報の参照基盤にも活用することが出来る。
【0092】
また、本実施形態のトランザクション監査システム200において、トランザクションデータ100は、その生成に際し適用されたルールと共に、改ざん不可能なブロックチェーン102に記録されるため、あるトランザクションデータ100のあるデータ項目が、本来あるべき値と異なる値であった場合、適用されたルールに誤りがあったと推測することができる。さらに、適用されたルールが正しいにもかかわらず、あるトランザクションデータ100のあるデータ項目が、本来あるべき値と異なる値であった場合、監査エンジン15を動作させるプログラムに誤りがあったと推測することができる。
【0093】
以上、本開示の実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0094】
1、200…トランザクション監査システム
2…アプリケーション
3…入力デバイス
4…ブロックチェーンデータベース
5…データ処理部
6…表示部
7…通信インタフェース
10…端末
11…サーバ装置
12…データベース
13…業務システム
14…アプリケーション管理部
15…監査エンジン
100…トランザクションデータ
101、201…テーブル情報
102…ブロックチェーン
103…マスタデータ
151…入力部
152…データ生成・更新部
153…テーブル情報生成部
154…出力部
155…監査部
156…通信インタフェース