JP6730369B2 - 利用管理方法、利用管理システム、および、ノード - Google Patents

利用管理方法、利用管理システム、および、ノード Download PDF

Info

Publication number
JP6730369B2
JP6730369B2 JP2018094246A JP2018094246A JP6730369B2 JP 6730369 B2 JP6730369 B2 JP 6730369B2 JP 2018094246 A JP2018094246 A JP 2018094246A JP 2018094246 A JP2018094246 A JP 2018094246A JP 6730369 B2 JP6730369 B2 JP 6730369B2
Authority
JP
Japan
Prior art keywords
distributed ledger
contribution
calculation
consumption
organizations
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018094246A
Other languages
English (en)
Other versions
JP2019200556A (ja
Inventor
竜也 佐藤
竜也 佐藤
洋輔 肥村
洋輔 肥村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2018094246A priority Critical patent/JP6730369B2/ja
Priority to US16/288,402 priority patent/US20190354968A1/en
Publication of JP2019200556A publication Critical patent/JP2019200556A/ja
Application granted granted Critical
Publication of JP6730369B2 publication Critical patent/JP6730369B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/389Keeping log of transactions for guaranteeing non-repudiation of a transaction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3825Use of electronic signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy

Description

本発明は、分散台帳システムに関する利用管理方法、利用管理システム、および、ノード、に関するものであり、具体的には、コンソーシアム型分散台帳システムの構成組織における共同利用対象となるシステムに関して、その利用状況ならびに貢献状況を的確に把握し、活用可能とする技術に関する。
従来行われてきた中央集権機関(例:金融機関や政府など)を経由した取引に代わる、利用者間のP2P(Peer to Peer)による直接的な取引として、分散台帳技術が登場している。
そうした技術としては、例えば、仮想通貨を用いることで、銀行などの中央集権機関を必要とせずに決済取引を行う技術(非特許文献1参照)が提案されている。この技術では、P2Pネットワーク上における取引データ(以下、トランザクションとも称する)に対し、マイナーと呼ばれるノードによる正当性判定を行った後、プルーフオブワークと呼ばれる特定のハッシュ値を算出する作業で確定処理を行っている。ここで確定されたトランザクションは1つのブロックにまとめられ、ブロックチェーン(以下、BCとも称する)と呼ばれる分散台帳に記載される。なお、分散台帳における参加者のノードによって構成されるシステムを分散台帳システムと称する。
一方、近年では、上述の技術に基づいて実装されたBCをベースにして、BCおよび分散台帳に関して様々な派生技術が提案され、進化を続けている。
現状のBCの主な特徴としては、(1)分散台帳システム上の参加者間の取引において、中央集権機関ではなく(任意ないしは特定の)参加者による合意形成や承認によって取引を確定させること、(2)複数のトランザクションをブロックとしてまとめ、数珠つなぎに分散台帳に記録し、連続するブロックにハッシュ計算を施すことにより、改ざんを実質不可能にすること、(3)参加者全員が同一の台帳データを共有することにより、参加者全員での取引の確認を可能とすること、が挙げられる。
このようなBCをはじめとした分散台帳技術は、以上のような特徴から、信頼できるデータの管理/共有や、契約に基づく取引の執行/管理を行う仕組みとして、金融分野やIoT(Internet of Thing)等、幅広い分野での応用が検討されている。
例えば、分散台帳は、従来の単純な仮想通貨の取引だけでなく、複雑な取引条件や多様なアプリケーションにも適用可能とするために、分散台帳の中で(取引)データだけでなくロジックも管理可能となってきている。このロジックはスマートコントラクト(以下、SCとも称する)と呼ばれる。
そこで、上述のSCの実行機能を有する分散台帳システム(非特許文献2および非特許文献3)も存在する。こうした分散台帳システムでは、ノード間において所定の合意水準で合意形成しながら、トランザクション(以下、TXとも称する)を受け入れて、各ノードでTXを実行することにより、複数ノード上で情報(台帳)を共有する。また、TXに対して予め決めたロジックを実行するスマートコントラクト(SC)実行機能を備える。
特に、従来のいわゆるパブリック型と異なり、特定企業/組織間のノードで構成した、コンソーシアム型の分散台帳システムにおいては、当該コンソーシアムに参加する複数の
組織間で各ノードが分散合意プロトコルに基づき同期/連動しながら、事前に取り決められ、かつ、コード化された契約内容(上述のSC)に従って取引を自動実行することができる。
この場合、管理ドメインの異なる複数組織にまたがり、組織各々が互いのリソースを持ち寄ることで、分散台帳システムが実現される。従って、組織各間でリソースやそのデータを利用し合いながら取引を成立させ、組織横断での価値や情報を共有することとなる。
一方、そうしたコンソーシアム型の分散台帳システムを健全に維持/運営するためには、各組織がノードなどリソースやそのデータを提供する必要がある。また、その提供費用を管理するための課金管理技術も必要となる。
課金管理に関する従来技術としては、例えば、複数の利用者の端末と、リソースプロバイダと、複数のパブリッククラウドとがネットワークで通信接続され、前記複数のパブリッククラウドは、各々に、前記リソースプロバイダが管理する共同利用型サーバが設置され、前記リソースプロバイダは、制御部と、記憶部と、を有し、前記制御部は、登録部と、実行制御部とを有し、前記記憶部は、前記利用者のプログラムのデータを管理情報と共に格納し、前記登録部は、前記利用者からの指示に基づき、前記利用者のプログラムのデータを管理情報と共に前記記憶部に格納する処理を行い、前記実行制御部は、前記利用者からの指示に基づき、前記記憶部の前記利用者のプログラムを対象のパブリッククラウドの対象の共同利用型サーバで実行させるように制御する処理を行い、前記実行制御部からの制御に基づき、前記対象のパブリッククラウドの対象の共同利用型サーバは、前記利用者のプログラムの処理を稼働させること、を特徴とするクラウド共用型リソース提供システム(特許文献1参照)などが提案されている。
特開2013−69237号公報
"A Peer−to−Peer Electronic Cash System", [online]、[平成29年3月31日検索]、インターネット<URL:https://bitcoin.org/bitcoin.pdf> "Ethereum White Paper", [online]、[平成29年3月31日検索]、インターネット<URL:https://github.com/ethereum/wiki/wiki/[English]−White−Paper> "Hyperledger Fabric", [online]、[平成29年3月31日検索]、インターネット<URL:http://hyperledger−fabric.readthedocs.io/en/latest/>
コンソーシアム全体で課金管理を行う手段としては、例えば、分散台帳システムの維持運営費(の課金)として、各組織のリソースやデータの提供(例:ノードやそのデータの提供)を求めることに加え、各組織からの一律料金徴収(例:参加費)を行う方法が挙げられる。
しかしながら、コンソーシアムにおける組織ごとに、それぞれの維持運営負担(リソースやデータの提供や一律料金の支払等)と、システム消費(例:自身が要求するトランザ
クションの処理やデータの参照や蓄積)とのバランスは異なっている。そのため上述の方法を適用すると、負担に関して組織間での不公平が生じやすい。
上述のバランスが維持運営負担側に偏っている組織であれば、その不公平感は強まり、リソース等の提供の動機が乏しくなる。すると、分散台帳システムにおけるリソース等の質や量が低下し、最終的にはシステム破綻につながりかねない。
一方、上述の従来技術では、リソースプロバイダ(中央機関)がすべての組織におけるリソースの利用状況と各クラウドリソースの稼働状況を把握できることを前提としており、リソースプロバイダが複数存在するコンソーシアム型の分散台帳システムに適用することはできない。
つまり、従来技術においては、各組織によるリソース等の利用状況やリソース等の提供によるコンソーシアムへの貢献状況を、組織を跨いで的確に把握する手段がなく、また、そうした状況把握を各組織からの自己申告により行っても信ぴょう性が不確かである、といった問題が存在している。
そこで本発明の目的は、コンソーシアム型分散台帳システムの構成組織における共同利用対象となるシステムに関して、その利用状況ならびに貢献状況を的確に把握し、活用可能とする技術を提供することにある。
上記課題を解決する本発明の利用管理方法は、複数の組織それぞれのノードで構成された分散台帳システムにおいて、前記ノードのうち少なくとも所定の複数ノードそれぞれが、前記ノードの間での合意形成を経てスマートコントラクトがデプロイされた分散台帳、を保持する記憶装置を備え、前記スマートコントラクトのうち、前記分散台帳システムにおける前記組織のいずれかによる所定業務の業務処理または当該業務処理に伴うシステム運用処理に関する各トランザクションの処理履歴を、当該組織の識別情報と紐付けて前記分散台帳に格納する第1のスマートコントラクトを実行し、前記スマートコントラクトのうち、前記複数の組織によって共同利用される管理対象システムに関して、前記分散台帳に格納されている前記処理履歴のうち、所定業務に関するものが示す、前記業務処理及び前記システム運用処理の各トランザクションの発行者、承認者、及び実行者のそれぞれに関する、前記管理対象システムの運用への貢献度と当該管理対象システムのリソースの消費度の各値を規定する計算ロジックを規定した、第2のスマートコントラクトを実行し、前記組織それぞれに関して、前記貢献度の値から前記消費度の値を差引する処理を前記処理履歴ごとに繰り返し、組織それぞれの貢献状況である計算結果を得て前記分散台帳に格納する、ことを特徴とする。
また、本発明の利用管理システムは、複数の組織それぞれのノードで構成された分散台帳システムにおける、前記ノードのうち少なくとも所定の複数ノードを含むシステムであり、前記複数ノードが、前記ノードの間での合意形成を経てスマートコントラクトがデプロイされた分散台帳、を保持する記憶装置と、前記スマートコントラクトのうち、前記分散台帳システムにおける前記組織のいずれかによる所定業務の業務処理または当該業務処理に伴うシステム運用処理に関する各トランザクションの処理履歴を、当該組織の識別情報と紐付けて前記分散台帳に格納する第1のスマートコントラクトを実行し、前記スマートコントラクトのうち、前記複数の組織によって共同利用される管理対象システムに関して、前記分散台帳に格納されている前記処理履歴のうち、所定業務に関するものが示す、前記業務処理及び前記システム運用処理の各トランザクションの発行者、承認者、及び実行者のそれぞれに関する、前記管理対象システムの運用への貢献度と当該管理対象システムのリソースの消費度の各値を規定する計算ロジックを規定した、第2のスマートコントラクトを実行し、前記組織それぞれに関して、前記貢献度の値から前記消費度の値を差引する処理を前記処理履歴ごとに繰り返し、組織それぞれの貢献状況である計算結果を得て前記分散台帳に格納する演算装置と、を有するものであることを特徴とする。
また、本発明のノードは、複数の組織それぞれのノードで構成された分散台帳システムにおける、前記ノードのうちの所定ノードであって、前記ノードの間での合意形成を経てスマートコントラクトがデプロイされた分散台帳、を保持する記憶装置と、前記スマートコントラクトのうち、前記分散台帳システムにおける前記組織のいずれかによる所定業務の業務処理または当該業務処理に伴うシステム運用処理に関する各トランザクションの処理履歴を、当該組織の識別情報と紐付けて前記分散台帳に格納する第1のスマートコントラクトを実行し、前記スマートコントラクトのうち、前記複数の組織によって共同利用される管理対象システムに関して、前記分散台帳に格納されている前記処理履歴のうち、所定業務に関するものが示す、前記業務処理及び前記システム運用処理の各トランザクションの発行者、承認者、及び実行者のそれぞれに関する、前記管理対象システムの運用への貢献度と当該管理対象システムのリソースの消費度の各値を規定する計算ロジックを規定した、第2のスマートコントラクトを実行し、前記組織それぞれに関して、前記貢献度の値から前記消費度の値を差引する処理を前記処理履歴ごとに繰り返し、組織それぞれの貢献状況である計算結果を得て前記分散台帳に格納する演算装置と、を有することを特徴とする。
本発明によれば、コンソーシアム型分散台帳システムの構成組織における共同利用対象となるシステムに関して、その利用状況ならびに貢献状況を的確に把握し、活用可能とできる。
実施例1におけるコンソーシアム型分散台帳システムの概念例を示す図である。 実施例1のコンソーシアム型分散台帳ネットワークにおけるコンピュータシステムを模式的に示す図である。 実施例1における分散台帳ノードの物理的な構成例を示す図である。 実施例1における分散台帳上のブロックチェーンのデータ構造例を示す図である。 実施例1における分散台帳上のブロックチェーンのデータ構造例を示す図である。 実施例1における分散台帳上のステート情報のデータ構造例を示す図である。 実施例1における構成情報のデータ構造例を示す図である。 実施例1におけるシステム消費/貢献度計算SCのデータ構造および処理内容を示す図である。 実施例1におけるシステム消費/貢献度計算SCのステート情報として管理されるシステム消費/貢献度計算ロジックを示す図である。 実施例1におけるシステム消費/貢献度計算SCのステート情報として管理されるシステム消費/貢献度計算ロジックを示す図である。 実施例1におけるシステム消費/貢献度計算SCのステート情報として管理されるシステム消費/貢献度計算結果を示す図である。 実施例1におけるシステム消費/貢献度計算SCのステート情報として管理されるポイント集計結果を示す図である。 実施例1における分散台帳システムの利用管理方法のフロー例1を示す図である。 実施例1における分散台帳システムの利用管理方法のフロー例2を示す図である。 実施例1における分散台帳システムの利用管理方法のフロー例3を示す図である。 実施例1における分散台帳システムの利用管理方法のフロー例4を示す図である。 実施例3のコンソーシアム型分散台帳システムにおけるコンピュータシステムを模式的に示す図である。 実施例3における分散台帳システムの利用管理方法のフロー例を示す図である。
−−−実施例1−−−
<コンソーシアム型分散台帳システムの概念>
まず、コンソーシアム型分散台帳システムの基本概念について説明する。図1に実施例1におけるコンソーシアム型分散台帳システム5の概念例を示す。また図2に、コンソーシアム型分散台帳システム5のコンピュータシステムの構成例を示す。
本実施例におけるコンソーシアム型分散台帳システム5(以下、分散台帳システム5と称する)は、当該コンソーシアムの構成組織における共同利用対象となるシステム(分散
台帳システム5自体か、或いは他の管理対象システムの少なくともいずれか)の利用状況ならびに貢献状況を的確に把握し、活用可能とする利用管理システム10を含んで構成される。
この利用管理システム10は、分散台帳システム5における分散台帳ノード3(図2)から構成されるシステムである。
また、この利用管理システム10が管理対象とするシステム、すなわち管理対象システムは、ここでは分散台帳システム5それ自体であるとするが、後述するように、これに限定するものではない。
こうした利用管理システム10を構成する各分散台帳ノード3は、所属組織で行う業務処理に応じたトランザクションを処理し、その実行履歴を分散台帳D1に格納する業務スマートコントラクトD11(下記のシステム運用履歴共有スマートコントラクトD13と同様、第1のスマートコントラクトに相当)と、そうして処理されるトランザクションの情報を合意形成を経た上で運用履歴として分散台帳D1に格納するシステム運用履歴共有スマートコントラクトD13(以下、システム運用履歴共有SC。第1のスマートコントラクト)と、分散台帳D1における上述の実行履歴や運用履歴(これらは本発明における「処理履歴」に相当)に基づいて分散台帳システム5における消費度や当該システムへの貢献度を計算するシステム消費/貢献度計算スマートコントラクト(以下、システム消費/貢献度計算SC。第2のスマートコントラクト)とを少なくとも管理する。
なお、上述のシステム消費/貢献度計算SCは、管理対象システムたる分散台帳システム5の各参加組織における、システムの消費度(当該システムの利用状況を定量化した値)および当該分散台帳システム5への貢献度(当該システムに対するリソースやデータ、サービスの提供状況を定量化した値)、に関する計算方法(計算ポリシー)を定めたスマートコントラクトである。
図1で示す構成において、上述の分散台帳システム5を構成するノード(以下、分散台帳ノード3)に対して、計算処理実行要求としてシステム消費/貢献度SCの実行TXが発行されると、分散台帳ノード3の間で、この実行TXに対する合意形成処理がなされる。また、この合意形成がなされた後で、各分散台帳ノード3上で、システム消費/貢献度計算SCにて定義された計算ポリシーに従い、各参加組織の消費度や貢献度が計算される。 システム消費/貢献度計算SC中には、ポリシーや計算方法として、上述の消費度や貢献度に対する対価/報酬の計算ロジックおよびその集計/分配のための計算方法が記載される。分散台帳ノード3は、こうしたSC機能を用いており、各分散台帳ノード3上で同一の計算処理が実施されるため、実質的に計算結果を相互確認しながら実施することができる。
こうした背景の下、本実施例における分散台帳システム5の参加組織は、組織横断でのシステム消費/貢献度SCを(業務ごとに)定義し、分散台帳ノード3の分散台帳上に配置しておくものとする。このシステム消費/貢献度SC中の計算ポリシーは、計算ロジック、その計算の入力となる上述の実行履歴や運用履歴の属性等を含む。
なお、上述の計算ロジックは、分散台帳システム5における消費度や貢献度に対する、対価/報酬の計算式(およびその集計/組織間分配)が規定されている。
また、この計算ロジックの入力としては、複数組織で相互管理している実績情報(具体的には分散台帳に蓄積された上述の実行履歴や運用履歴であり、処理履歴に相当)や、分散台帳システム5への参加組織の情報が用いられる。
分散台帳ノード3が、このようなシステム消費/貢献度SCを実行し、他の分散台帳ノ
ード3との間で、当該SCに基づき相互に合意形成/検証をしながら、各組織の消費度や貢献度を計算し、その結果を自身の分散台帳に格納することとなる。
また、分散台帳ノード3は、上述のシステム消費/貢献度SCに基づき、他の分散台帳ノード3との間で相互に合意形成/検証をしながら、消費度や貢献度の計算結果を組織ごとに集計/分配した結果を分散台帳に格納する。なお、詳細については後述するが、利用組織の違う複数業務が存在する場合、業務横断の全体の消費度や貢献度の計算を行うものとする(同様にスマートコントラクトに従う)。
図1においては、業務Aと業務Bという2つの業務が存在し、それぞれ利用グループが異なっている(図中では異なる業務グループをチャネルと呼んでいる)。
例えば業務Aチャネルは、少なくとも組織1(Org1)、組織2(Org2)、組織3(Org3)が参加し、それぞれの間で互いにノードが所有/相互利用される。例えば、図中の例では、Org1がトランザクション(以下、TXとも称する)を発行した場合に、自組織のノードだけでなく他組織(Org2)によって当該TXの実行/承認が行われている。また、そのTX実行結果は各組織の分散台帳上に複製コピーして共有される。
例えば、業務AのTX実行結果や実行履歴は、Org1,Org2,Org3の分散台帳の間で同期した複製が保持される。こうした分散台帳には参加組織が取り決めた水準に従って合意/承認された取引情報が、相互に保持されることになる。これにより、分散台帳で保持されたデータは、耐改ざん性や客観性が高いデータとなっている。
一方、分散台帳上に保持されるデータは、組織のTX発行量などに応じて偏りが出る。例えば、この図ではOrg1のデータ量がOrg2や3に比べて多いことを表現している。
このようにTX発行量などによって組織ごとにノード処理量や分散台帳内に蓄積されるデータ量が偏る中で、分散台帳に蓄積された運用履歴や実行履歴を実績情報として利用し、組織横断での消費度や貢献度(以下、システム消費/貢献度)の計算ポリシーをSC化しておき、複数組織で相互計算することで、コンソーシアムを構成する複数組織の間での公正/公平なシステム消費状況ならびにシステム貢献状況の把握・計算を実現する。
ここで、分散台帳に蓄積された履歴としては、この業務に関するTXの実行履歴だけでなく、この業務に関連した分散台帳システム5の運用作業履歴なども共有しておけば、業務そのものだけでなくシステム運用作業に関する各組織のシステム消費/貢献度も計算することができる。その計算結果は、SCを介して分散台帳上に登録しておき、図の下部に示す通り、参加組織の異なる業務チャネルを横断したシステム消費/貢献度計算SCを実行することで、業務跨ぎでのシステム消費/貢献度の計算も公正/公平に実施することができる。
なお、上述の分散台帳システム5を構成するコンピュータシステムは、図2で例示するように、1台以上の分散台帳ノード3、および、1台以上のクライアントノード4によって構成される。これらの機器は、物理的な通信回線2を通してネットワーク1に接続される。
このうち分散台帳ノード3は、コンセンサス管理部31、スマートコントラクト実行/管理部32(以下、SC実行/管理部32とも称する)、メンバー管理部33、トランザクション管理部34、トランザクション発行部35、承認済トランザクション配信部36、ネットワークプロトコル部37、分散台帳D1、構成情報D2、および、参加メンバー管理情報D3によって構成される。
こうした分散台帳ノード3は、トランザクション管理部34の機能によりTXを受け付けて、コンセンサス管理部31の機能によって、他の分散台帳ノード3との間で当該TXを受け入れてよいかの合意形成を行い、合意形成がなされたらSC実行/管理部32の機能を介して、SCのデプロイ、デプロイ済みのSCに対する実行を行う。
また分散台帳ノード3は、上述のSCに対する実行を経て、上述のTXの実行履歴とその実行結果を分散台帳D1に記録する。ここで、上述の合意形成やSC実行は必ずしもすべてのノードが行う必要はなく、一部のノード間で行ってその結果を他ノードに配信してもよい(その取り決めは合意形成アルゴリズムにも依存する)。
また、分散台帳ノード3は、承認済トランザクション配信部36の機能により、上述の合意形成やSC実行に参加しなかったノードに対して、その結果(具体的には、TXの実行履歴と実行結果)を配信する。
ここで、ノード間での合意形成や承認済TXの配信といった分散台帳ノード3間の通信は、ネットワークプロトコル部37の機能によって行う。
また、分散台帳ノード3は、トランザクション管理部34の機能により、クライアントノード4等の各ノードからの要求に対して、TXを受け付けたり、当該TXの実行履歴等の情報を取得し、これを所定のインタフェースを介しクライアントノード4にて閲覧させる。本実施例では、分散台帳ノード3がTX発行可能であることとし、トランザクション発行部35を介して各種TXを発行する。
また、分散台帳ノード3のメンバー管理部33は、分散台帳システム5に参加するメンバーの新規発行や認証機能を提供する。メンバー管理部33では、秘密鍵と公開鍵のペアを用いて、参加組織ならびにその組織に所属するメンバーの認証やTXへの署名、SC実行権限の制御等を行うことを想定する。こうしたメンバー管理部33にて取り扱う鍵情報は、参加メンバー管理情報D3上に格納・管理される。
また、トランザクション管理部34は、TXを受け付けた際に、適宜、メンバー管理部33の機能を介して、当該TXの発行者が権限を持った正しい参加者かどうかを確認する。ただし、こうした機能は公知技術であり説明は省略する。
なお、構成情報D2では、分散台帳システム5を構成する組織やその組織に属するメンバー(ノード、管理者、ユーザなどを含む)の情報を格納・管理する。本実施例では本情報が分散台帳ノード3の機能の中で(例えば、メンバー管理部33やネットワークプロトコル部37)管理され、各ノードが互いに保持していることを想定する。
また、分散台帳上D1では、既に述べたように、業務に関するSC(以下、業務SC_D11)、システム消費/貢献度計算に関するSC(以下、システム消費/貢献度計算SC_D12)、システム運用履歴を共有するためのSC(以下、システム運用履歴共有SC_D13)に関わる台帳情報を格納・管理する。
そのデータ構造としては、本実施例では、TXの履歴をBCとして、TXの実行結果に基づくステート情報をテーブル上で保持することを想定する。その内部テーブルではKey−Valueの組として値を保持する想定である。
一方、クライアントノード4は、少なくとも、トランザクション発行部35、業務アプリ41、および、管理アプリ42を含んで構成される。
SCの利用者もしくは提供者は、こうしたクライアントノード4のトランザクション発
行部35を介して、各種TXを発行して分散台帳ノード3に対して送信する。なお、こうしたTXには発行者情報が付与されるが、この発行者情報としては、参加メンバー管理情報D3に基づき所定のアルゴリズムで発行された認証情報(秘密鍵)を利用する。
また業務アプリ41は、上述のトランザクション発行部35を介して、業務SC_D11に関するTXを発行することで、業務処理を実行/管理するアプリである。
また管理アプリ42は、トランザクション発行部35を介して、システム運用履歴共有SC_D13に関するTXを発行することで、システム運用作業履歴を登録/管理したり、システム消費/貢献度計算SC_D12に関するTXを発行することで、各組織のシステム消費/貢献度を計算し、さらにはその結果に基づいて課金管理を行うためのアプリである。
本実施例では、分散台帳ノード3が複数存在し、それらが複数の主体(例えば、複数の事業者/複数の組織/複数のベンダ)によってそれぞれ管理されることを想定する。
同様にクライアントノード4も複数台存在し、複数のSC利用者がそれぞれ別のクライアントノード4を利用することを想定する。
なお、クライアントノード4に関しては、TXに付与する認証情報をユーザ毎に切り替えることにより、複数のSC利用者が共用することも可能である。
<分散台帳ノードのハードウェア構成>
図3は、実施例1における分散台帳ノード3の物理的な構成例を示すブロック図である。本実施例における分散台帳ノード3は、インタフェース(I/F)100、プロセッサ101、メモリ102、および、補助記憶装置104を備える計算機である。
また、こうしたI/F100、プロセッサ101、メモリ102、および、補助記憶装置104は、データバス103によって互いに接続されている。
このうちI/F100は、ネットワーク1を介して他の分散台帳ノード3やクライアントノード4と通信するネットワークインタフェースカード等を想定できる。
またプロセッサ101は、CPU等の演算装置である。
また、メモリ102は、プログラム1021およびデータ1022を一時的に保持するための記憶装置であり、具体的にはRAMなどの揮発性記憶手段で構成される。
また、補助記憶装置104は、プログラム1021やデータ1022を格納している記憶装置であり、具体的にはSSDやHDDなど不揮発性記憶手段で構成される。
上述のプロセッサ101は、補助記憶装置104からデータバス103を介してプログラム1021やデータ1022をメモリ102に読み出し、実行することで、分散台帳ノード3として必要な機能を実装する。
<分散台帳について>
図4および図5は、分散台帳D1におけるデータ構造の一例を示す図である。このうち図4では、分散台帳D1上で管理するデータ構造の一つである、BC11の例を示している。BC11を用いた分散台帳管理では、複数のTXをブロックとしてまとめて、各ブロックが前のブロックのハッシュ値を持つことでデータを数珠つなぎにして管理する。
前段のブロックの値が1ビットでも変わると後続の全ブロックのハッシュ値が変わるため、改ざんを困難にすることができる。
なお、本実施例では説明をシンプルにするために、1つのTXにつき、1ブロックとす
るが、本発明は、複数TXをまとめて1ブロックに格納した場合にも適用可能である。また本実施例では、各SC(D11〜D13)が単一のBCとして連なっているが、参加組織がそれぞれ管理/参照可能であればBC自体は別々であっても構わない。
図4、図5におけるブロックD1000〜D1008は、BC11を構成する一連のブロックの連なりである。各ブロックは、それぞれ業務SCのデプロイおよび実行、システム運用履歴共有SCのデプロイおよび実行、システム消費/貢献度計算SCのデプロイおよび実行、のいずれかのTX情報を含む。
また各ブロックは、前ブロックのハッシュ値を含み、後述のステート情報から生成したハッシュ値を含んでいる。
上記のようなデータ構造により、業務SCのデプロイおよび実行、システム運用履歴共有SCのデプロイおよび実行、システム消費/貢献度計算SCのデプロイおよび実行、のTX履歴がBC11中でデータの連鎖として管理される。
なお、ブロックD1000は、業務SCのデプロイTXを格納したブロックの一例である。この例では、複数組織間での顧客確認(Know Your Customer業務)に関するビジネスコントラクトの例を示している。顧客が信用できる優良顧客か否かの顧客信用情報を複数組織で台帳上において共有することで、顧客本人の身分確認や判断を効率化することができるようになる。
本実施例のデプロイTXは、TXが発行されたタイムスタンプ、適用するSCが業務かシステム運用かシステム消費/貢献度計算かを特定するSC種別、SCを一意に識別するSC_ID、TXがデプロイか実行か参照かを特定するTX種別、SCの実態(例えば実行可能なバイナリ)を含む。
また、デプロイTXは、SCが持つ関数名やその引数を利用者が把握するためのSC入力仕様を含んでいる。さらに、デプロイ時に指定した入力引数にしたがって決めたパラメータであるSCメタ定義を含む。このSCメタ定義としては、例えばこのSCの実行時における合意形成条件(例:2組織以上の承認を持ってTXを受け入れる)や、各種定義情報等を想定する。
また、デプロイTXは、当該TXの発行者の情報を含む。TX発行者の情報は、発行者のメンバーIDと、発行元と、データに改ざんが無いことを検証するために用いる電子署名情報とを含む。なお、この電子署名は、メンバー管理部33が発行した各参加メンバー(すなわちSC提供者や利用者)の秘密鍵を用いて生成され、そのペアとなる公開鍵によって検証をすることが可能である。
また、デプロイTXは、TX発行者の情報と同様にTX実行/承認者(言い換えると、コンセンサス管理部31、SC管理/実行部32を用いた合意形成ならびにSC実行処理に関わった参加者の情報)の情報や、承認済TX配信者(言い換えると、承認済TX配信部36による配信処理に関わった参加者の情報)の情報も含む。
さらにデプロイTXは、当該TXで参照/更新を行ったステート情報であるRead−Write(RW)セットの情報も含む。RWセットについては後述の実行TXの説明にて詳細に述べる。
なお、以降ではSCが持つ関数のことをSC関数とも称する。例えば、ブロックD1000でデプロイされているSCは、SC_ID「業務A」として組織「Org1」の「管理者」によって提供され、以下のSC関数が定義されている。
・関数名:登録()、入力引数:顧客ID、顧客信用ステータス、戻り値:なし
・関数名:参照()、入力引数:顧客ID、戻り値:顧客信用ステータス
また、ブロックD1005は、業務SCの実行TXを格納したブロックの一例である。本実施例の実行TXは、基本的にデプロイTXと同様の構成であるが、SCの実態やSC入力仕様はない。その代わりに、呼び出すSC関数名と入力する引数の情報とを含む。
なお、本実施例では、TX種別については、台帳の更新を含むTX実行の場合には「実行」、台帳の更新を行わない参照処理の場合には「参照」を指定することとする。
また、ブロックD1005のTXでは、SC_IDに「業務A」を指定し、SC関数「登録()」に入力引数「CustomerB,Not Good」を指定した実行要求を行う例を示す。すなわち、ブロックD1000に示したSCを呼び出している例である。
また、RWセットでは、SC(の関数)のデプロイや実行にて、参照/更新されたステート情報を示し、SC_ID、参照(Read)か更新(Write)かを識別する「RW区分」、対象となるステート情報のKey、Valueの情報を含む。
さらにこのValueの更新バージョン番号の情報を示す。このバージョン番号は、SC_IDのKey毎に管理されて、更新のたびに1ずつインクリメントされることとする。 ブロックD1005の例では、関数呼び出し「登録(CustomerB,Not Good)」の実行処理の中で、Key「CustomerB」を参照し、バージョン番号「4」のValue「Good」を取得し(1行目)、Value「Not Good」で更新して、その結果、バージョン番号が「5」に更新されたことを示す。
このようにTXの実行結果をRWセットとして管理/保持することで、SCを実行せずともその実行結果を把握することができ、これによりSCを実行しなかったノードに対してもSC実行結果を共有できるため、処理が効率的である。
上述のブロックのうち、ブロックD1001およびブロックD1006は、システム運用履歴共有SCのデプロイTXおよび実行TXを格納したブロックの一例である。本実施例のシステム運用履歴共有SCのデプロイTXおよび実行TXは、大枠のデータ構造としては、業務SCの同TXと同様の情報を含む。単純に、業務に関わるSCが記述されているか、分散台帳システム5に対するシステム運用作業の実行履歴共有に関するSCが記述されているかの違いしかない想定である。
ここで分散台帳システム5の運用作業とは、具体的には、例えば、ノードに蓄積された分散台帳のバックアップ作業やノードに対するパッチあて作業などがあげられる。
ブロックD1001およびブロックD1006の例は、上述の業務SC(SC_ID:業務A)に対する運用作業の履歴を登録するためのSCであることを示す。各組織の管理者が組織全体で共有するべき運用作業を実行した際に、運用実行履歴登録として、運用作業ID、実行完了時刻、実行者、運用実行結果詳細などの情報を、本SCの実行TXにより登録することとする。
一方、ブロックD1002およびブロックD1007は、システム消費/貢献度計算SCのデプロイTXおよび実行TXを格納したブロックの一例である。本実施例のシステム消費/貢献度計算SCのデプロイTXおよび実行TXは、大枠のデータ構造としては、業務SCの同TXと同様の情報を含む。単純に、業務に関わるSCが記述されているか、分散台帳システム5のシステム消費/貢献度計算に関するSCが記述されているかの違いし
かない想定である。
これにより分散台帳システム5の内部(具体的には分散台帳ノード3の31〜37の各機能)に手を加えなくとも、外側の機能として本発明を実装することが可能である。システム消費/貢献度計算SCの詳細は後述するため、ここでは省略する。
<ステート情報について>
図6は、分散台帳D1上で管理するステート情報12である。上述のBC11を用いた分散台帳管理では、通常、(最新の)ステート(例えば、仮想通貨の場合にはアカウントの残高)を取得するためには、BC11を辿らなければならない。これでは処理効率が悪いため、BC11とは別に、最新のステート情報をキャッシュしておく方法が存在する(非特許文献3等)。
本実施例の分散台帳ノード3でも、最新のステート情報12を保持することを想定する。本実施例では、SC毎にステートのデータ領域が用意されることとする。
ステート情報12は、SC_IDとそのSCの実態を保持する。これにより、SC実行/管理部32は、SC_IDをキーにして、SCの実態を取得して実行することができる。 また、ステート情報12は、SCの実行結果を保持するための内部テーブルを備える。分散台帳ノード3は、TXの実行ごとにこの内部テーブルの内容を更新する。なお、本ステート情報12に関しても、業務SC、システム運用履歴共有SC、システム消費/貢献度計算SCなどの各SCの情報が格納される。
ここで、ステート情報12における業務SCに関する情報D1110の内部テーブルに着目すると、図4での説明で述べたRWセットと対応づいており、RWセットをすべて反映した最新の状態が保持されている。なお、典型的な実装例では、このようにKey−value形式でデータを保持するが、ValueにJavaScript(登録商標) Object Notation(JSON)形式などの構造化されたデータも格納できる。そうすれば、任意のデータスキーマのテーブルを保持できることになる。またKeyの設計を工夫すれば、内部テーブル内で複数のテーブル(スキーマの異なる情報)を仮想的に管理することができる。システム運用履歴共有SCに関する情報D1111や、システム消費/貢献度計算SCに関する情報D1112における内部テーブルは、説明をシンプルにするために、Valueに構造化されたデータを格納するケースで、Key−Value−バージョンの記載などを省略した表現をしている。例えば、情報D1111では、実際には、Valueに運用作業ID、実行完了時刻、実行者、運用実行結果詳細の情報がJSON形式などで格納されているイメージである。
また、分散台帳システム5では、分散台帳にTXが追加されたことを契機にしてイベントを発行して、各参加組織のノードに通知する機能も提供可能である。各参加組織のノードはこのようなイベントに従った振る舞いを行うことも可能である。図5のTX情報に含まれるTXイベントは、そのような分散台帳のイベント管理機能を用いた場合に発行されるイベント情報である。
<構成情報>
図7は、構成情報D2のデータ構造の例を示す図である。本実施例における構成情報D2は、分散台帳システム5を構成する組織やその組織に属するメンバー(ノード、管理者、ユーザなどを含む)の情報を格納したものである。
このうちチャネルD2000は、分散台帳システム5にて行われる業務を示す。また、組織ID_D2001は、分散台帳システム5(ならびにチャネル)に参加する組織を示
す。また、メンバーID_D2002は参加組織中のメンバーを識別する情報である。具体的には、管理者、ノード、ユーザを識別する情報である。
こうした構成情報の例では、チャネルとして、業務Aと業務Bが存在し、業務Aには組織「Org1」、「Org2」、「Org3」が、業務Bには組織「Org3」、「Org4」が少なくとも参加しているネットワークの状態を示している。
なお、組織は必ずしも分散台帳ノード3を持つ必要はなく、クライアントノード4を介してシステムを利用するだけの場合もある。
<システム消費/貢献度計算SC>
図8は、本実施例におけるシステム消費/貢献度計算SCのデータ構造およびSC関数の例を示す図である。なお、システム消費/貢献度計算SCのデータ構造は、ステート情報12として管理・保持される。
システム消費/貢献度計算SC内のデータ構造では、システム消費/貢献度計算に関するポリシーとして「システム消費/貢献度計算ポリシーD120」が記述されている。
また、その計算結果として「システム消費/貢献度計算結果D121」とさらにその結果に基づいた集計結果として「ポイント集計結果D122」が管理される。それぞれのデータ構造の詳細については後述する。
ここで、SC関数としては、指定した期間におけるシステム消費/貢献度を計算するための「計算処理実行」が少なくとも定義されることとする。その他、システム消費/貢献度計算ポリシーの定義変更を行うSC関数や、定義あるいは各種計算結果を取得/参照するためのSC関数であってもよいが、図の中では省略する。また、上述のSC関数「計算処理実行」の具体的な流れについてはフローチャートを用いて後述する。
続いて図9、図10に、上述のシステム消費/貢献度計算SC内で管理されるシステム消費/貢献度ポリシーD120のデータ構造の例を示す。
ここで示す例では、システム消費度および貢献度は、それぞれポイント(pt)という単位で定量化することとする。システム消費度および貢献度はそれぞれ別々に算出した上で、貢献度は加算ポイント、消費度は減算ポイントとして取り扱い、ポイントを合算し、各組織のポイントウォレット(仮想通貨におけるウォレットと同概念)から差し引きを行う。
これらの「ポイント」は、言い換えると本SC内における独自のトークン(仮想通貨)と捉えることもできる。参加組織間で合意を取ることができ、かつ、定量化可能であれば、この単位に限定されずどのような単位を用いてもよく、例えば、円、ドル、仮想通貨などの実在する通貨単位を用いても構わない。
図中に示すデータ構造は、ステート情報12における情報D1112の内部テーブルD1104内で管理された状態を想定したものである。本実施例ではシステム消費/貢献度計算ポリシーが、計算対象となる業務チャネルやSC、そのシステム消費/貢献内容に応じて複数定義されることとする。
このうちポリシーID_D120−1列は、定義されたシステム消費/貢献度計算ルールを識別する情報である。
また、SC_ID_D120−2列は、対象となるSCを識別する情報である。本実施例ではこの指定が業務チャネルの指定も兼ねている。
また、大区分D120−3と小区分D120−4列は、計算対象となるシステム消費/貢献内容を表す分類ラベル情報である。
また、入力となる実績情報D120−5列は、本ポリシーのシステム消費/貢献度計算の入力として用いる実績情報であり、少なくとも計算処理(SC実行)に参加する2組織以上によって参照可能であることを想定する。
また、計算ロジックD120−6列は、本ポリシーにおけるシステム消費/貢献の具体的な計算ロジックを表す。本実施例の計算ロジックは、SCの記述に用いるプログラミング言語もしくはDomain Specific Language (DSL)に従ったプログラムコードによって記述されることを想定する。
図中の例においては、Java(登録商標)などのような一般的なオブジェクト指向言語を模擬した擬似コードを用いている。通常のプログラミング言語と同様なforeachやifといった制御構文を利用している他、「!=」や「==」のような等価/非等価/比較演算子、「+=」のようなインクリメント演算子を含む四則演算表記、オブジェクト指向におけるクラス/インスタンスの表現、具体的にはオブジェクト.メンバー変数表記によるメンバー変数の参照/代入やオブジェクト.メンバー変数(引数)によるメンバー関数呼び出しなどの記法を用いている。
なお、SC内部で利用される関数は各クラスのメンバー関数として別途定義されていても良いし、計算ロジック内に記述されていてもよい(本実施例では説明が冗長になることを防ぐため、前者を想定して記載する)。
また、本実施例の計算ロジック中では、各SCや区分に関するシステム貢献度と消費度の計算をひとつのポリシーの中で規定している。しかし、それぞれ別々に定義しても構わない。別々に定義したほうが管理は複雑になる反面、より細かい計算処理がしやすくなるというメリットがある。
これらの計算ポリシー(図中のD120−11〜D120−19)は、分散台帳システム5の参加者によって予め合議され、定義(デプロイ)されていることを想定する。なお、計算ポリシーは、参加者による合議の上で随時更新されても構わない。
これらの計算ポリシーを用いた具体的な計算処理については後述のフローチャートの説明にて詳細に述べる。
図11は、上述のシステム消費/貢献度計算SC内で管理されるシステム消費/貢献度計算結果D122のデータ構造の例を示す図である。
図中に示すデータ構造は、ステート情報12における情報D1112の内部テーブルD1104内で管理された状態を想定したものである。
このうち列D121−1〜D121−5は計算結果を識別するための情報である。計算期間D122−1列は、システム消費/貢献度計算SCのSC関数「計算処理」実行時の引数に指定した計算期間である。ポリシーID_D121−2、SC_ID_D121−3列は、それぞれシステム消費/貢献度ポリシーD120のD120−1、D120−2列に対応する情報である。また、組織ID_D121−4列は、本計算結果に対応する組織を識別する情報である。また、結果区分D121−5は計算結果が「貢献度」か「消費度」かを識別する情報である。
また、ポイントD121−6列は、上述のD121−1〜D121−5列に対応する計算結果(ポイント)を格納する。なお、ポリシーID_D121−2列の特別な場合としてポリシーID以外に「合計」が登録されることし、その場合には、当該SC名、計算期間、組織、計算区分に関して、すべてのポリシーのポイント計算結果を合算した結果を示す。
続いて図12に、システム消費/貢献度計算SC内で管理されるポイント集計結果D123のデータ構造の例を示す。図中に示すデータ構造は、ステート情報12における情報D1112の内部テーブルD1104内で管理された状態を想定したものである。
計算期間D122−1列は、システム消費/貢献度計算SCのSC関数「計算処理」実行時の引数に指定した計算期間である。また、組織ID_D122−2列は、本集計結果に対応する組織を識別する情報である。また、ポイント集計結果D122−3列は、計算した貢献度を加算ポイント、消費度は減算ポイントとして、ポイントを合算した集計結果である。また、D122−4列は、各組織のポイントを保持/管理するウォレットにおける精算前ポイント残高、また、D122−5列は、D122−4列からD122−3列の差し引きを行った後、すなわち精算後のポイント残高である。
<処理フロー:メンバー登録>
以降では、実施例1における利用管理方法のフロー例について説明する。実施例1では基本形として、業務取引履歴を実績情報として用いてシステム消費/貢献度計算を行う例を示す。
図13は、分散台帳システム5に参加するメンバーの新規登録処理の例を示すフローチャートである。
この場合、分散台帳ノード3のメンバー管理部33は、クライアントノード4等の他ノードからメンバー登録要求を受け付ける(S101)。ここで、メンバー登録要求には、要求メンバーを一意に識別するメンバーIDが含まれることとする。
上述のメンバー管理部は、秘密鍵D31と公開鍵D32の組を生成して、受け取ったメンバーIDと紐付ける(S102)。
次に、メンバー管理部33は、新規登録対象となるメンバーIDと生成した公開鍵D32とを他のノードにブロードキャストする(S103)。ブロードキャストされたメンバーIDと生成した公開鍵D32の情報は、各ノード上で参加メンバー管理情報D3として保管する。
さらに、メンバー管理部33は、メンバー登録要求を行ったノードに、生成した秘密鍵D31を返す(S104)。秘密鍵D31を受け取ったノードは、参加メンバー管理情報D3に自身の秘密鍵D31として保管する。
本実施例では、以上のようにして生成した秘密鍵と公開鍵のペアを用いて、分散台帳システム5への参加メンバーの認証やTXへの署名、SC実行権限の制御等を行うことを想定する。
具体的には、例えば、クライアントノード4の側は、発行された秘密鍵で電子署名したTXを発行し、検証ノード側(予め定めたいずれかのノードである)が公開鍵を用いて電子署名を検証することで、本人確認を実現できる。
なお、公開鍵と秘密鍵の組を生成する手法や署名検証をする手法、鍵とIDを紐付ける手法については、公知または周知の技術を適用すれば良いので、本実施例1では詳述しない。
また、本実施例ではメンバー管理部33の機能を分散台帳ノード3中に機能として示したが、外部にメンバー管理専用のノードを立ててそのノードがメンバー管理部33と同等の機能を提供してもよい。
<処理フロー:TX実行処理>
続いて図14に、TX実行処理、すなわち、SCのデプロイ、実行処理のフロー例を示す。SCの種別としては、業務、システム運用履歴共有、システム消費/貢献度計算等があるが、本実施例では、これらのSC種別による処理の違いは、SC内部処理の違いとして表現可能であり、SCにおけるTX実行処理の流れ自体は共通であることとする。
この場合、分散台帳ノード3のトランザクション管理部34が、クライアントノード4等のTX発行元からTXを受け取り(S201)、これをコンセンサス管理部31に渡して、TXの種別に応じたSCのデプロイ、実行処理を行う。
S201で受け取ったTXがSCのデプロイTXの場合(S202:YES)、まずコンセンサス管理部31は、他の分散台帳ノード3との間で、受け取ったTXを実行してよいか、ブロックとしてBC11の末尾に追加してよいかの合意形成処理を行う(S203)。 具体的な合意形成処理方式としては、公知または周知の技術を適用すれば良い。例えば、Plactical Byzantine Fault Torerance(PBFT)と呼ばれるアルゴリズム等を採用することが考えられる。PBFTは合意形成に参加するすべてのノード(すなわち検証ノード)の間で一定(3分の2)以上のノードによる合意を条件とするアルゴリズムである。
また別の例として、非特許文献3に開示される技術では、Endorser−Ordererモデルと呼ばれる合意形成アルゴリズムが用いられる。Endorser−Ordererモデルでは、分散台帳ノード3の中から、承認権限のある一部の分散台帳ノード3を選定/TXを送信し、それらの選択された分散台帳ノードのみが問題がないかの検証を行い、問題がなければ承認を返す。予め決めた合意形成条件(例えば、2組織以上の承認)を満たした場合にそのTXを受け入れる。さらに、その承認済TXを全分散台帳ノード3に配信する。Endorser−Ordererモデルでは、全分散台帳ノード3がTX検証を行う必要が無いため、PBFTに比べて効率的である。
ここではEndorser−Ordererモデルをベースとした合意形成以降の流れを簡単に説明する。分散台帳ノード3はまず受け取ったTXを分散台帳システム5に参加しており、TXの承認権限のある分散台帳ノード3に対して送信し、TXを受け取った各分散台帳ノード3でTXに対する署名検証を行って改ざんがされていないことやTXの内容の正当性を確認し、TXを送信した分散台帳ノード3に対して確認結果を返却する。予め決めた合意形成条件が満たされた場合にTXの承認完了したこととし、確認できたことをもって合意形成が完了する。
上述の合意形成を経て、コンセンサス管理部31は、承認済TX配信部36の機能を用いて、全ての分散台帳ノード3に、承認済TXをブロードキャストすることとなる。
承認済TXを受け取ったら、コンセンサス管理部31は、SC実行/管理部32を介して、当該TXに含まれるSCを分散台帳D1に登録する(S204)。具体的には、TXの内容に基づき、SC_IDやSC実体を分散台帳D1上のステート情報12として登録し、BC11の末尾にこのデプロイTXを含むブロックを追加する。
最後に、コンセンサス管理部31は、デプロイTXの実行結果をTX発行元に返し(S205)、処理を終了する。
一方、S201で受け取ったTXがSCの実行TXの場合(S202:NO)、分散台帳ノード3は、デプロイTXと同様に合意形成処理を行う(S206)。この合意形成処理はS203と同様である。
合意形成が完了したら、コンセンサス管理部31は、SC実行/管理部32を介して、SCを実行して分散台帳D1の内容を更新する(S207)。具体的には、実行TX内で指定されたSC_IDを持つSC(登録済みであることを前提とする)に対して、実行TX内で指定された呼び出し関数と入力引数を与えて実行する。そして、その結果に基づき、分散台帳D1の内容を更新する。実行結果に基づいて、本SCに関するステート情報D12を更新し、BCの末尾のブロックとして実行TXを追加する。
最後に、コンセンサス管理部31は、この実行TXの実行結果(例えば、関数の戻り値)をTX発行元に返し(S209)、処理を終了する。
<処理フロー:システム消費/貢献度計算>
続いて図15に、実施例1におけるシステム全体としてのシステム消費/貢献度計算SCに従った計算処理の流れを示す。なお、以降の説明では、実行/参照される各種SCは既に分散台帳上にデプロイ済みであることとする。
この場合、あるノードからシステム消費/貢献度計算SCのSC関数「計算処理」の実行TXが発行されたとする(S301)。そこで、各分散台帳ノード3はそのTXを受け取り、他ノード間で合意形成をしながら受け取った実行TXに従ってシステム消費/貢献度計算SCのSC関数「計算処理」実行する(S302)。ここで、実行TXのタイミングは、SCの実行権限のあるいずれかの参加メンバーによって運用アプリ42の表示画面上の操作をもって発行されてもよいし、各ノードの直接操作によってTXが発行されてもよい。
次に、上述の「計算処理」の具体的な内容について説明する。図16は、システム消費/貢献度計算SCのSC関数「計算処理」呼び出し時の内部処理の例を示すフローチャートである。
この場合、各分散台帳ノード3は、合意形成済みの運用実行TXとして、システム消費/貢献度計算SCのSC関数「計算処理」呼び出しを受け取る(S401)と、SC実行/管理部32の機能によって、本TXに従ったシステム消費/貢献度計算処理を実行する。 なお、本実施例ではSC関数の引数として「計算対象期間」も入力されている。具体的な内部処理を以下に示す。消費/貢献度計算の説明では、これまでに述べた「業務A」を対象に具体的に説明している。
まず、分散台帳ノード3は、システム消費/貢献度計算SCのステート情報「システム消費/貢献度計算ポリシー」を参照し、その中に定義された「入力となる実績情報」に基づいて、各ルールで必要となる実績情報を分散台帳から取得する(S402)。
図9、図10に示したシステム消費/貢献度計算ポリシーを具体例に説明すると、ポリシーID「Policy01」〜「Policy07」が「業務A」の実行履歴に基づくシステム消費/貢献度計算ポリシーである。また「Policy08」「Policy09」は「業務A」のシステム運用履歴に基づく計算ポリシーなので、本実施例では利用せず実施例2にて利用する。
ここで分散台帳ノード3は、利用する「Policy01」〜「Policy07」の「入力となる実績情報」列を参照して、まず、「Policy01」〜「Policy07」共通で利用する「業務A」の履歴情報一覧を取得する。以降の説明では、この一覧を「BizLogList」とも称する。これは具体的には、分散台帳D1の業務SC_D11のBC11に蓄積された一連の履歴情報である(図4ではブロックD1001やブロックD1005など)。
さらに分散台帳ノード3は、「Policy04」〜「Policy06」で利用する分散台帳システム5の構成情報を取得する。以降の説明では、取得した構成情報を「Configs」とも称する。これは具体的には、図7の構成情報D1のうち、チャネルが「業務A」であるものの集合である。なお、これらのBizLogListやConfigsのような取得した実績情報は、SC内で操作(参照など)がしやすいように図4や図7に示すデータ構造からSCのプログラミング言語上のオブジェクトにマッピングされていることとする。
次に、分散台帳ノード3は、システム消費/貢献度計算SCのステート情報「システム消費/貢献度計算ポリシー」に定義された「計算ロジック」とS402で取得した実績情報に基づいて、各ポリシーに従い、組織ごとのシステム消費度と貢献度を計算する(S403)。以下では、各ポリシーについてそれぞれ説明する。
<Policy01:TX実行処理量>
本計算ポリシーは、「業務A」のTX量に関するシステム消費/貢献度計算ポリシーの一例である。この例では、「業務A」のTXを発行した組織が分散台帳システム5のリソースやデータ(以下、システム)を消費し、一方そのTX実行処理のためにノードやデータを提供した組織がシステムに貢献したというポリシーが規定されている。本ポリシー中の「計算ロジック」列に記載されたロジックに従った具体的な計算処理を説明する。
分散台帳ノード3は、まずBizLogListの中から計算に未使用である業務Aの履歴情報を1件取得する。以下、取得した履歴情報をBizLogと呼ぶ。
次に分散台帳ノード3は、BizLogのタイムスタンプ(例:図4におけるブロックD1005のTX情報中のタイムスタンプに対応)を参照し、SC関数の引数に指定した「計算対象期間」に含まれているかを判定する。
上述の判定の結果、もし含まれない場合、分散台帳ノード3は、本BizLogに関する後続の処理をスキップする。他方、もし含まれる場合、分散台帳ノード3は、このBizLogのTX種別(例:図4におけるブロックD1005のTX情報中のTX種別に対応)が実行あるいはデプロイであるかを確認する。
もし実行あるいはデプロイでなければ、分散台帳ノード3は、本BizLogに関する後続の処理をスキップする。他方、実行あるいはデプロイの場合には、分散台帳ノード3は、BizLog中のTX発行者とTX実行/承認者を参照する(例:それぞれ図4のブロックD1005のTX情報中のTX発行者(電子署名情報を含む)とTX実行/承認者(電子署名情報を含む)に対応)。
そして分散台帳ノード3は、取得した各TX実行/承認者がTX発行者と一致しない場合に、TX実行/承認者の所属する組織の貢献度の10pt加算、TX発行者の所属する組織の消費度の10pt加算を繰り返す。例えば、あるBizLogでTX発行者が「組織A」ユーザで、TX実行/承認者が「組織A」「組織B」「組織C」の各ユーザだった場合には、「組織A」の消費度が20pt、「組織B」と「組織C」の貢献度がそれぞれ10ptとなる。
分散台帳ノード3は、これらの処理を、取得した履歴情報分繰り返すことで本ポリシーにおける各組織のシステム消費度と貢献度を計算する。
<Policy02:TX参照処理量>
本計算ポリシーは、上述の「業務A」のTX量に関するシステム消費/貢献度計算ポリ
シーの一例である。この例では、「業務A」のTXを発行した組織がシステムを消費し、一方そのTX参照処理のためにノードを提供した組織がシステムに貢献したというポリシーが規定されている。
通常、TX実行に比べて処理コスト少ないため、付与されるポイント量は、上述のPolicy01に比べて少ない。本ポリシー中の「計算ロジック」列に記載されたロジックに従った具体的な計算処理を説明する。
分散台帳ノード3は、まずBizLogListの中から計算に未使用である「業務A」の履歴情報を1件取得する。以下、取得した履歴情報をBizLogと呼ぶ。
次に分散台帳ノード3は、BizLogのタイムスタンプを参照し、SC関数の引数に指定した「計算対象期間」に含まれているかを判定する。
上述の判定の結果、もし含まれない場合、分散台帳ノード3は、本BizLogに関する処理をスキップする。他方、もし含まれる場合、分散台帳ノード3は、このBizLogのTX種別が参照であるかを確認する。
もし参照でなければ、分散台帳ノード3は、本BizLogに関する後続の処理をスキップする。他方、参照の場合、分散台帳ノード3は、BizLog中のTX発行者とTX実行/承認者を参照する。
そして、取得した各TX実行/承認者がTX発行者と一致しない場合、分散台帳ノード3は、TX実行/承認者の所属する組織の貢献度の2pt加算、TX発行者の所属する組織の消費度の2pt加算を繰り返す。例えば、あるBizLogでTX発行者が「組織A」ユーザで、TX実行/承認者が「組織B」のユーザだった場合には、「組織A」の消費度が2pt、「組織B」の貢献度がそれぞれ2ptとなる。
分散台帳ノード3は、これらの処理を、取得した履歴情報分繰り返すことで本ポリシーにおける各組織のシステム消費度と貢献度を計算する。
<Policy03:承認済TX配信処理量>
本計算ポリシーは、上述の「業務A」のTX量に関するシステム消費/貢献度計算ポリシーの一例である。この例では「業務A」のTXを発行した組織がシステムを消費し、一方そのTX承認後に各組織にそのTXを各ノードに配信するためにノードを提供した組織がシステムに貢献したというポリシーが規定されている。本ポリシー中の「計算ロジック」列に記載されたロジックに従った具体的な計算処理を説明する。
この場合、分散台帳ノード3は、まずBizLogListの中から計算に未使用である「業務A」の履歴情報を1件取得する。以下、取得した履歴情報をBizLogと呼ぶ。
次に分散台帳ノード3は、BizLogのタイムスタンプを参照し、SC関数の引数に指定した「計算対象期間」に含まれているかを判定する。
上述の判定の結果、もし含まれない場合、分散台帳ノード3は、本BizLogに関する後続の処理をスキップする。他方、含まれる場合、分散台帳ノード3は、このBizLogのTX種別が実行あるいはデプロイであるかを確認する。
もし実行あるいはデプロイでなければ、分散台帳ノード3は、本BizLogに関する後続の処理をスキップする。他方、実行あるいはデプロイの場合、分散台帳ノード3は、BizLog中のTX発行者と承認済TX配信者(例:図4におけるブロックD1005のTX情報中の承認済TX配信者(電子署名情報含む))を参照する。
そして分散台帳ノード3は、取得した承認済TX配信者がTX発行者と一致しない場合に、承認済TX配信者の所属する組織の貢献度を2pt加算、TX発行者の所属する組織消費度を2pt加算する。
分散台帳ノード3は、これらの処理を、取得した履歴情報分繰り返すことで本ポリシーにおける各組織のシステム消費度と貢献度を計算する。
<Policy04:TXイベント通知処理量>
本計算ポリシーは、上述の「業務A」のTX量に関するシステム消費/貢献度計算ポリシーの一例である。この例ではTXイベント発行時に、各組織にそのTXイベントを各ノードに配信するためにノードを提供した組織がシステムに貢献、イベントを受け取った組織がシステムを消費したこととするポリシーが規定されている。本ポリシー中の「計算ロジック」列に記載されたロジックに従った具体的な計算処理を説明する。
この場合、分散台帳ノード3は、まずBizLogListの中から計算に未使用である「業務A」の履歴情報を1件取得する。以下、取得した履歴情報をBizLogと呼ぶ。
次に分散台帳ノード3は、BizLogのタイムスタンプを参照し、SC関数の引数に指定した「計算対象期間」に含まれているかを判定する。
上述の判定の結果、もし含まれない場合、分散台帳ノード3は、本BizLogに関する後続の処理をスキップする。他方、判定の結果、含まれる場合、分散台帳ノード3は、このBizLogのTX種別が実行で、かつBizLogがTXイベント(例: 図4 D1005のTX情報中のTXイベント)を含むかを確認する。
上述の確認の結果、もし上記がみたされなければ、分散台帳ノード3は、本BizLogに関する後続の処理をスキップする。他方、みたされる場合、分散台帳ノード3は、Configsの中から業務Aに関するノード所有者を取得する。
この情報は図7のチャネルが「業務A」かつ「メンバーID」が「ノード」を含む「組織」を抽出することで取得できる。
さらに分散台帳ノード3は、BizLog中の承認済TX配信者を参照する。そして、各ノード所有者の組織の消費度を0.1pt加算し、さらにノード所有者の数だけ、承認済TX配信者の所属する組織の貢献度を0.1pt加算する。
分散台帳ノード3は、これらの処理を、取得した履歴情報分繰り返すことで本ポリシーにおける各組織のシステム消費度と貢献度を計算する。
<Policy05:SC登録業務運用>
本計算ポリシーは、業務運用に関するシステム消費/貢献度計算ポリシーの一例である。この例ではSC登録/更新時に、対象となるSCを開発/業務運用したと考えられるTX発行者が所属した組織がシステムに貢献、一方、そのSCを受け取ってノードを所有する組織がシステムを消費したこととするポリシーが規定されている。本ポリシー中の「計算ロジック」列に記載されたロジックに従った具体的な計算処理を説明する。
この場合、分散台帳ノード3は、まずBizLogListの中から計算に未使用である「業務A」の履歴情報を1件取得する。以下、取得した履歴情報をBizLogと呼ぶ。
次に分散台帳ノード3は、BizLogのTX種別がデプロイかどうかを確認する。この確認の結果、デプロイでなければ、分散台帳ノード3は、本BizLogに関する後続
の処理をスキップする。他方、デプロイの場合、分散台帳ノード3は、Configsの中から業務Aに関するノード所有者をPolicy04と同様に取得する。
さらに分散台帳ノード3は、BizLog中のTX発行者を参照する。そして、各ノード所有者の組織の消費度を10pt加算し、さらにノード所有者の数だけ、TX発行者の所属する組織の貢献度を10pt加算する。
分散台帳ノード3は、これらの処理を、取得した履歴情報分繰り返すことで本ポリシーにおける各組織のシステム消費度と貢献度を計算する。
<Policy06:台帳データ保存量>
本計算ポリシーは、データ保存量に関するシステム消費/貢献度計算ポリシーの一例である。この例では実行TXを発行して分散台帳の履歴(BC)より多くのデータを蓄積した組織が、システムの運用に貢献したこととするポリシーが規定されている。本ポリシー中の「計算ロジック」列に記載されたロジックに従った具体的な計算処理を説明する。
この場合、分散台帳ノード3は、まずBizLogListの中から計算に未使用である「業務A」の履歴情報を1件取得する。以下、取得した履歴情報をBizLogと呼ぶ。
次に分散台帳ノード3は、BizLogのTX種別が実行かどうかを確認する。もし実行でなければ、分散台帳ノード3は、本BizLogに関する後続の処理をスキップする。 他方、もし実行の場合、分散台帳ノード3は、Configsの中から「業務A」に関するノード所有者をPolicy04と同様に取得する。
さらに分散台帳ノード3は、BizLog中のTX発行者を参照する。そして、各ノード所有者の組織の貢献度を1pt加算し、さらにノード所有者の数(つまり、複製の数)だけ、TX発行者の所属する組織の消費度を1pt加算する。
分散台帳ノード3は、これらの処理を、取得した履歴情報分繰り返すことで本ポリシーにおける各組織のシステム消費度と貢献度を計算する。
<Policy07:登録情報の利活用>
本計算ポリシーは、上述の「業務A」に関する情報利活用に関するシステム消費/貢献度計算ポリシーの一例である。SCによって分散台帳に登録された情報は、誰かに参照された場合に、他者にとって情報共有した価値があるとみなすことができる。
そこでこの例では、各TXのRWセットを確認して、参照された場合にはそのTX発行者は情報利用、すなわちシステムを消費、その情報提供者、すなわち、参照された情報に対する更新を行ったTX発行者がシステムに貢献したというポリシーを規定している。本ポリシー中の「計算ロジック」列に記載されたロジックに従った具体的な計算処理を説明する。
まず分散台帳ノード3は、BizLogListの中から計算に未使用である「業務A」の履歴情報を1件取得する。以下、取得した履歴情報をBizLogと呼ぶ。
次に分散台帳ノード3は、BizLogのタイムスタンプを参照し、SC関数の引数に指定した「計算対象期間」に含まれているかを判定する。
上述の判定の結果、含まれない場合、分散台帳ノード3は、本BizLogに関する後続の処理をスキップする。他方、含まれる場合、分散台帳ノード3は、このBizLogのRWセット(例:図4におけるブロックD1005のTX情報中のRWセットに対応)を取得する。
分散台帳ノード3は、ここで取得した各RW行に対して、RW区分が「R」かどうかを判定する。この判定の結果、「R」だった場合、分散台帳ノード3は、その行に記載された情報を過去に更新したことがある各TX発行者に貢献度を付与する。
具体的には当該RW行のKey情報を元に、BizLogListの中から、Keyの更新すなわちRW区分が「W」の履歴(更新履歴)をすべて抽出する。そして、その更新履歴のTXのTX発行者の所属する組織の貢献度を加算する。なおそのポイント数値は10ptをベースに、更新した世代が古くなるにつれて半減することとしている。この貢献度と同一のポイント分だけ、BizLogの(すなわち情報を参照した)TX発行者の所属する組織の消費度を加算する。
分散台帳ノード3は、これらの処理を、取得した履歴情報分繰り返すことで本ポリシーにおける各組織のシステム消費度と貢献度を計算する。
上記のとおり、図16のフローにおけるS403による各ポリシーのシステム消費/貢献度計算を実施した後で、分散台帳ノード3は、この計算結果を用いて、システム消費/貢献度計算SCのステート情報「システム消費/貢献度計算結果」を追記/更新する(S404)。その際には各ポリシーのシステム消費/貢献度計算結果だけでなく、業務ごとの各組織のシステム消費/貢献度の合算結果もあわせて登録する。
さらに分散台帳ノード3は、上述のS404の結果を用いて各組織の最終的なポイント集計処理を行い、その結果に基づいて、システム消費/貢献度計算SCのステート情報「ポイント集計結果」を追記/更新する(S405)。
本実施例では、ポイント集計処理として、例えば、計算対象期間における各組織のすべてのシステム貢献度と消費度をそれぞれ合計し、それぞれ加算ポイント、減算ポイントとして、ポイントを集計する。この集計結果を出力して、各組織に対する課金請求/報酬額として提示してもよい。あるいは組織ごとにポイント用のウォレットを用意しておき、ポイント集計結果に基づいて、ウォレットからポイントを加減算して精算まで行ってもよい。
最後に分散台帳ノード3は、本SCの実行結果を返し(S406)、処理を終了する。
以上で示したとおり、本実施例によれば、複数の組織が合意/同期しながら、共通のロジックを実行可能な分散台帳上のSCとして、システム消費/貢献度の計算ロジックを実行し、さらに信ぴょう性の不明な自己申告情報ではなく、客観性を持つ情報として、分散台帳に格納された履歴情報を活用することで、複数の組織による相互計算/検証を実現する。複数のノードが同じコピー(分散台帳)を持っていることを逆手に取ることで、クロスチェックで信ぴょう性を担保することができる。このような特徴を持つ本実施例の構成を用いれば、複数組織/管理ドメインにまたがったリソース等を持ち寄って構成される分散台帳システムにおいて、各組織のシステム消費/貢献度を公平/公正に計算でき、この計算結果を活用することでシステム課金や報酬分配を組織横断で公平に実現できる効果がある。
なお、本実施例では、簡単のために1ブロックあたり1トランザクションを格納する例を示しているが、複数トランザクションを格納しても構わない。本発明はその場合にも適用可能である。
また本実施例では、計算時に加減算するポイント数値として固定値を利用しているが、予め決めたポリシーに基づいて変動させてもよい。例えば、実際のリソースやデータの利用量やサービス利用料金に基づいて決めても良い。そのような場合には、例えば、監視ツ
ールや監視エージェントなどで計測した結果も併せて分散台帳に記録すれば実現可能である。
また構成情報D2は、分散台帳ノード3の機能の中で管理するデータとして記載しているが、SC上で管理してもよい。複数の組織で構成情報が確認できればそのような方法でも構わない。
また、システム貢献度/計算ポリシーD120における計算ロジックは、メタ言語やDomain Specific Language(DSL)として、引数の中で定義しても良いし、予め、SC関数の中に埋め込んでもよい。メタ言語化することで外部定義が可能となり、柔軟性が高まるメリットがある。一方、SC関数の中で埋め込むと管理が容易になるというメリットがある。
−−−実施例2−−−
以降では、他の実施例として実施例2について説明する。ただし実施例1をベースとするため、共通部分の説明は省略する。
実施例2は、実施例1と同様の業務取引履歴(実行履歴)に加えて、システム運用履歴も実績情報として用いてシステム消費/貢献度計算を行う例を示す。実施例1とは、システム運用履歴共有SC_D12を用い、さらに図9中のポリシー「Policy08」「Policy09」を用いる点が異なる。それ以外の処理は基本的に共通である。
ここでは、図16で示したシステム消費/貢献度計算SCのSC関数「計算処理」呼び出し時の内部処理における実施例1との差分について述べる。
まず、分散台帳ノード3は、S402における各ルールで必要となる実績情報を分散台帳から取得として、BizLogListとConfigsに加えて、ポリシーID「Policy08」「Policy09」で必要となる「業務A」のシステム運用履歴一覧を取得する。以降の説明では、この一覧を「OpsLogList」とも称する。これは具体的には、分散台帳D1のシステム運用履歴共通SC_D13のBC11に蓄積された一連の履歴情報である(図4ではブロックD1002やブロックD1006など)。
次に、分散台帳ノード3は、S403における組織ごとのシステム消費度と貢献度を計算する処理において、以下のシステム運用履歴に関する各ポリシーも追加実行する。
<Policy08:システム運用実行>
本計算ポリシーは、システム運用に関するシステム消費/貢献度計算ポリシーの一例である。この例では、「業務A」に関するシステム運用作業(例えば、「業務A」用に管理するノードや分散台帳に関する組織間で共有するべき運用作業)に関して、システム運用履歴共有SCに関して実行TXを発行した組織、すなわち運用作業を実行した組織がシステムに貢献し、一方それに対して、その他の参加組織が対価を払う(言い換えるとシステムを消費した)というポリシーが規定されている。本ポリシー中の「計算ロジック」列に記載されたロジックに従った具体的な計算処理を説明する。
この場合、分散台帳ノード3は、まずOpsLogListの中から計算に未使用である「業務A」の運用に関する履歴情報を1件取得する。以下、取得した履歴情報をOpsLogと呼ぶ。
次に分散台帳ノード3は、OpsLogのタイムスタンプ(例:図4におけるブロックD1006のTX情報中のタイムスタンプに対応)を参照し、SC関数の引数に指定した「計算対象期間」に含まれているかを判定する。
上述の判定の結果、含まれない場合、分散台帳ノード3は、本BizLogに関する後続の処理をスキップする。他方、含まれる場合、分散台帳ノード3は、このOpsLogのTX発行者を取得する(例:図4におけるブロックD1006のTX情報中のTX発行者(電子署名情報を含む)に対応)。
そして分散台帳ノード3は、取得したTX発行者の所属する組織の貢献度に10pt加算する。
続いて分散台帳ノード3は、Configsの中から「業務A」に関するノード所有者をPolicy04と同様に取得して、その組織の間で10ptを均等負担、言い換えると消費度の加算を行う。
分散台帳ノード3は、これらの処理を、取得した履歴情報分繰り返すことで本ポリシーにおける各組織のシステム消費度と貢献度を計算する。
<Policy08:台帳バックアップデータ保存量>
本計算ポリシーは、バックアップデータ保存量に関するシステム消費/貢献度計算ポリシーの一例である。この例では、「業務A」に関する台帳のバックアップデータ保存量に関して、システム運用履歴共有SCに関して実行TXを発行した組織、すなわちバックアップ作業を実行してバックアップデータを保持している組織がシステムに貢献し、一方それに対して、その他の参加組織が対価を払う(言い換えるとシステムを消費した)というポリシーが規定されている。本ポリシー中の「計算ロジック」列に記載されたロジックに従った具体的な計算処理を説明する。
この場合、分散台帳ノード3は、まずOpsLogListの中から計算に未使用である「業務A」の運用に関する履歴情報を1件取得する。以下、取得した履歴情報をOpsLogと呼ぶ。
次にOpsLogのSC引数に含まれる運用作業ID(例:図4におけるブロックD1006のTX情報中の「呼び出し関数+入力引数)の第一引数に対応)を参照し、運用作業が「台帳データバックアップ」であるかを判定する。
上述の判定の結果、「台帳データバックアップ」でない場合、分散台帳ノード3は、本BizLogに関する後続の処理をスキップする。
他方、「台帳データバックアップ」である場合、分散台帳ノード3は、このOpsLogのTX発行者を取得する。
そして分散台帳ノード3は、取得したTX発行者の所属する組織の貢献度に100pt加算する。
続いて分散台帳ノード3は、Configsの中から「業務A」に関するノード所有者をPolicy04と同様に取得して、その組織の間で100ptを台帳データ消費量のうちその組織が占める割合で負担、言い換えると消費度の加算を行う。なお、データ消費量の計算は、Policy06と同様の方法で行えば良いので詳細は割愛する。
分散台帳ノード3は、これらの処理を、取得した履歴情報分繰り返すことで本ポリシーにおける各組織のシステム消費度と貢献度を計算する。
−−−実施例3−−−
実施例3は、分散台帳システム5で複数の業務を管理する場合に、業務横断でのシステム消費/貢献度計算も行う例を示す。
図17に、実施例3で想定する分散台帳システム5を模式的に示す。本分散台帳システム5は、基本的に実施例1、実施例2と同じであるが、分散台帳D1において業務ごとにサブ台帳50を管理している点が異なる。
なお、「業務A」に関するサブ台帳50_1においては、SCとして業務SC_D11、システム消費/貢献度計算SC_D12、システム運用履歴共有SC_D13を、実施例1と同様に備えている。一方、「業務B」に関するサブ台帳50_2においては、SCとしてD41〜D43が備わっている。
さらに本実施例の分散台帳ノード3は、業務横断のサブ台帳55を備え、そこでは、上述の「業務A」と「業務B」の業務横断システム消費/貢献度計算SC_D5が管理される。なお「業務A」、「業務B」のサブ台帳50_1、50_2は、それぞれの業務に参加する組織のみにアクセス権が付与され、分散台帳上で共有/参照/実行可能とする。そのため業務チャネルに参加していない組織は参照不可である。
一方、本実施例の業務横断システム消費/貢献度計算SC_D5は、全組織がアクセス可能とする。上述の「業務A」、「業務B」の両業務に参加している組織が、本SCによる計算処理を実行することで、組織跨ぎであっても相互計算による信ぴょう性や公平性の確保が可能である。
図18に、本実施例における業務横断システム消費/貢献度計算SCの内部処理のフロー例を示す。ここで示すフローは、「業務A」のシステム消費/貢献度計算SC_D12の代わりに、業務横断システム消費/貢献度計算SC_D4を用いる以外は、基本的な処理の流れは実施例1や実施例2と同様である(S401〜S406がS501〜S506に対応)。
なお、計算実行前の前提条件として、「業務A」と「業務B」のシステム消費/貢献度計算が完了していることとする(あるいは業務横断システム消費/貢献度計算SC_D4実行を契機に各業務のシステム消費/貢献度計算SCが起動されて計算されてもよい)。
この場合、分散台帳ノード3は、S502の実績情報の取得において、例えば、各業務のシステム消費/貢献度計算結果やポイント集計結果を用いる。
さらに分散台帳ノード3は、S503において、例えば、各組織のシステム消費/貢献度あるいはポイント集計結果を業務間で相殺することで、業種横断でのシステム消費/貢献度計算結果やポイント集計結果を計算する。具体的には、例えば、「業務A」と「業務B」のいずれも行っている或る組織が分散台帳で保持するデータ量に関し、ポイントを計算する場合、「業務A」と「業務B」のいずれに関して計算しても、基本的に同じ対象に基づき計算することになる。そこで、この組織の分散台帳のデータ量に関するポイントとしては、「業務A」と「業務B」のそれぞれについて計算した値の集計値から、一方の計算値を差し引きする、といった処理を想定できる。これは、「業務A」と「業務B」で共通するトランザクションが発生しているケースでも同様に想定できる。
このように実施例3を用いれば、組織跨ぎであっても相互計算による信ぴょう性や公平性の確保できるという効果がある。
以上で示したとおり、本発明を用いることで、各種計算ポリシーの説明にて示した通り、TX量、業務運用、データ保存量、情報利活用、システム運用、バックアップデータ量などの様々な観点でのシステム消費/貢献度を計算することができるという効果がある。これにより、システム消費/貢献度状況をより詳細かつ厳密に反映して管理可能となる。
なお、本発明は貢献/消費の両方の行う参加者に限定されない。すなわち、リソースやデータの提供やシステム運用だけを行う組織があってもよいし、利用/消費だけを行う組織があっても良い。
記載した本発明の実施例では、SC IDごとにシステム貢献度/消費度計算ポリシー
を規定しているが、この形態に限定されない。計算ポリシーは対象SCおよびその関数ごとに規定してもよいし、逆に複数のSCで共通の計算ポリシーがあってもよいし、それらを組み合わせても構わない。
記載した本発明の実施例では、TX発行のたびに、参照トランザクションもBC上に登録することを想定しているが、参加者が客観的に実績を確認できるのであれば、別な手段を用いても良い。例えば、各組織のローカルに保持する実行ログをまとめて別の履歴情報としてBCに登録しても構わない。
記載した本発明の実施例では、組織ごとのシステム消費/貢献度を計算しているが、これは組織ごとではなく参加メンバーごとに算出してもよい。参加メンバーごとにシステム消費/貢献度を計算すれば、より詳細なシステム消費/貢献内訳を管理でき、さらに参加メンバー同士(すなわち個と個)でのシステム消費/貢献度に関するポイント交換(言い換えるなら仮想通貨のP2P取引)を行うことができる。
記載した本発明の実施例では、貢献度と消費度は同等の価値(同一レート)としている。また、実施例3において、サブ台帳間でのポイントも同等の価値としているが、これはポイント間に変換レートを設定してもよい。変換レートも予め、システム消費/貢献度計算SCの中で定義しておくとよい。
本発明は、コンソーシアム型で運営する分散台帳システムに対するシステム消費/貢献度管理に最も有効ではあるが、複数組織でまたがってリソースやデータを持ち寄りながら運営するようなシステム全般に適用可能(例:グリッドコンピューティング)である。ただし、管理対象システムの利用/貢献に関わる実績情報(例えば、稼働ログ)が分散台帳上に共有/蓄積されることを想定する。その場合には、管理対象となる分散処理(業務)を実行するノードと分散台帳ノードが分離していてもよい。例えば管理対象となるシステムに関するTX発行のたびにクライアント側とサーバ側でそれぞれ同一の稼働ログを出力し、そのログに基づいた実績情報を分散台帳上に蓄積するようにすれば、実績情報の客観性も分散台帳システムの場合並に高めることができる。
以上、本発明を実施するための最良の形態などについて具体的に説明したが、本発明はこれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
こうした本実施形態によれば、分散台帳システムにおいてコンソーシアムを形成する各組織に関して、互いに合意/同期することで信憑性が担保されるSCとして、分散台帳システムを含みうる所定の管理対象システムの消費と貢献のそれぞれについて的確に捕捉し、その情報を用いた公平、公正な課金管理が実現されることとなる。
すなわち、コンソーシアム型分散台帳システムの構成組織における共同利用対象となるシステムに関して、その利用状況ならびに貢献状況を的確に把握し、活用可能となる。
本明細書の記載により、少なくとも次のことが明らかにされる。すなわち、本実施形態の利用管理方法において、前記複数ノードそれぞれが、前記第1のスマートコントラクトを実行することで、前記複数の組織のノード間で合意形成して受け入れたトランザクションの情報を処理履歴として分散台帳に格納し、前記第2のスマートコントラクトの実行に際し、前記計算に関して、前記分散台帳における前記処理履歴にアクセス可能な他組織のノードとの間で合意形成して、前記計算結果を前記分散台帳に格納する、としてもよい。
これによれば、トランザクションの処理、格納、および、これを用いた計算、のいずれについても、所定のノード間での合意形成を経て適宜な真正性が担保された状況で実行で
きることとなる。ひいては、コンソーシアム型分散台帳システムの構成組織における共同利用対象となるシステムに関して、その利用状況ならびに貢献状況をより的確に把握し、活用可能となる。
また、本実施形態の利用管理方法において、前記複数ノードそれぞれが、前記第2のスマートコントラクトの実行に際し、所定の記憶装置で保持する、前記複数の組織それぞれの属性を示す構成情報と、前記処理履歴が示す、当該トランザクションの発行者、承認者、実行者、当該トランザクションの参照対象ないし更新対象、当該トランザクションの発行イベントの受信者、の少なくともいずれかの情報とに基づき、前記消費度および前記貢献度の少なくともいずれかに関わる組織の処理履歴を特定し、当該特定した処理履歴が示す情報により、当該組織に関して前記消費度および前記貢献度の少なくともいずれかを計算する、としてもよい。
これによれば、トランザクションの処理履歴のうち消費度や貢献度の計算に用いるべきものの特定・抽出を、より効率的で確かなものとできる。ひいては、コンソーシアム型分散台帳システムの構成組織における共同利用対象となるシステムに関して、その利用状況ならびに貢献状況をより的確に把握し、活用可能となる。
また、本実施形態の利用管理方法において、前記複数ノードそれぞれが、前記第2のスマートコントラクトの実行に際し、前記処理履歴から、トランザクション量および当該トランザクションの実行に要したリソース消費量、データ保存量、業務ないしシステムの運用の負荷、バックアップデータの保持量、および、データ利活用実績、の少なくともいずれかの項目について集計し、この結果に基づいて前記消費度および貢献度の少なくともいずれかを計算する、としてもよい。
これによれば、消費度や貢献度の計算に必要となる情報を効率的に用意し計算に利用することができる。ひいては、コンソーシアム型分散台帳システムの構成組織における共同利用対象となるシステムに関して、その利用状況ならびに貢献状況をより的確に把握し、活用可能となる。
また、本実施形態の利用管理方法において、前記複数ノードそれぞれが、前記処理履歴を特定するに際し、前記処理履歴に記録された組織の署名情報を用いて、前記複数の組織それぞれに関して処理履歴を特定する、としてもよい。
これによれば、分散台帳において格納されているトランザクションの処理履歴のうち、計算に用いるべきものを署名をキーに簡便に特定・抽出できることとなる。ひいては、コンソーシアム型分散台帳システムの構成組織における共同利用対象となるシステムに関して、その利用状況ならびに貢献状況をより的確に把握し、活用可能となる。
また、本実施形態の利用管理方法において、前記複数ノードそれぞれが、前記計算した消費度および貢献度の少なくともいずれかを、組織間で交換可能な所定のトークンに変換し、当該トークンを介して当該組織における貢献度または消費度の大きさに応じた所定の精算処理を更に実行する、としてもよい。
これによれば、分散台帳システムとの親和性が高い仮想通貨等をトークンとして用いることで、コンソーシアム型分散台帳システムの構成員である各組織のシステム利用料の徴収を効率的に行うことができる。ひいては、コンソーシアム型分散台帳システムの構成組織における共同利用対象となるシステムに関して、その利用状況ならびに貢献状況を的確に把握し、より活用可能となる。
また、本実施形態の利用管理方法において、前記複数ノードそれぞれが、前記管理対象システムで実行される業務ごとに前記分散台帳を管理しており、前記複数の組織それぞれに関する、前記消費度および前記貢献度の少なくともいずれかの計算を前記業務ごとに実行し、前記計算した、前記複数の組織それぞれの前記業務ごとの、前記消費度および前記貢献度の少なくともいずれかを、前記管理対象システムにおける全業務に関して、業務間での重複を相殺しつつ集計し、業務横断での消費度および貢献度の少なくともいずれかを計算する、としてもよい。
これによれば、或る組織が複数の業務を前記管理対象システムにて行っている状況に対応して、精度良く消費度や貢献度の計算を行うことができる。ひいては、コンソーシアム型分散台帳システムの構成組織における共同利用対象となるシステムに関して、その利用状況ならびに貢献状況をより的確に把握し、活用可能となる。
また、本実施形態の利用管理方法において、前記複数ノードそれぞれが、前記消費度および前記貢献度の少なくともいずれかの計算ルールを、前記第2のスマートコントラクトおよび当該スマートコントラクトの持つ関数ごとに保持し、当該計算ルールに従って、前記消費度および前記貢献度の少なくともいずれかを計算する、としてもよい。
これによれば、例えば、業務や組織ごとに上述の計算ルールを規定し、第2のスマートコントラクトの実行に適用することが可能となる。ひいては、コンソーシアム型分散台帳システムの構成組織における共同利用対象となるシステムに関して、その利用状況ならびに貢献状況をより的確に把握し、活用可能となる。
1 ネットワーク
2 物理的な通信回線
3 分散台帳ノード
5 コンソーシアム型分散台帳システム
10 利用管理システム
100 I/F
101 プロセッサ
102 メモリ
1021 プログラム
1022 データ
103 データバス
104 補助記憶装置
31 コンセンサス管理部
32 スマートコントラクト実行/管理部(SC実行/管理部)
33 メンバー管理部
34 トランザクション管理部
35 トランザクション発行部
36 承認済トランザクション配信部
37 ネットワークプロトコル部
4 クライアントノード
41 業務アプリ
42 管理アプリ
50 サブ台帳
55 業務横断のサブ台帳
D1 分散台帳
D11,D41 業務スマートコントラクト(業務SC)
D12,D42 システム消費/貢献度計算スマートコントラクト(システム消費/貢献度計算SC)
D13,D43 システム運用履歴共有スマートコントラクト(システム運用履歴共有SC)
D2 構成情報
D3 参加メンバー管理情報
D5 業務横断システム消費/貢献度計算スマートコントラクト(業務横断システム消費/貢献度計算SC)

Claims (10)

  1. 複数の組織それぞれのノードで構成された分散台帳システムにおいて、前記ノードのうち少なくとも所定の複数ノードそれぞれが、
    前記ノードの間での合意形成を経てスマートコントラクトがデプロイされた分散台帳、を保持する記憶装置を備え、
    前記スマートコントラクトのうち、前記分散台帳システムにおける前記組織のいずれかによる所定業務の業務処理または当該業務処理に伴うシステム運用処理に関する各トランザクションの処理履歴を、当該組織の識別情報と紐付けて前記分散台帳に格納する第1のスマートコントラクトを実行し、
    前記スマートコントラクトのうち、前記複数の組織によって共同利用される管理対象システムに関して、前記分散台帳に格納されている前記処理履歴のうち、所定業務に関するものが示す、前記業務処理及び前記システム運用処理の各トランザクションの発行者、承認者、及び実行者のそれぞれに関する、前記管理対象システムの運用への貢献度と当該管理対象システムのリソースの消費度の各値を規定する計算ロジックを規定した、第2のスマートコントラクトを実行し、前記組織それぞれに関して、前記貢献度の値から前記消費度の値を差引する処理を前記処理履歴ごとに繰り返し、組織それぞれの貢献状況である計算結果を得て前記分散台帳に格納する、
    ことを特徴とする利用管理方法。
  2. 前記複数ノードそれぞれが、
    前記第1のスマートコントラクトを実行することで、前記複数の組織のノード間で合意形成して受け入れたトランザクションの情報を処理履歴として分散台帳に格納し、
    前記第2のスマートコントラクトの実行に際し、前記計算に関して、前記分散台帳における前記処理履歴にアクセス可能な他組織のノードとの間で合意形成して、前記計算結果を前記分散台帳に格納する、
    ことを特徴とする請求項1に記載の利用管理方法。
  3. 前記複数ノードそれぞれが、
    前記第2のスマートコントラクトの実行に際し、所定の記憶装置で保持する、前記複数の組織それぞれの属性を示す構成情報と、前記処理履歴が示す、当該トランザクションの発行者、承認者、実行者、当該トランザクションの参照対象ないし更新対象、当該トランザクションの発行イベントの受信者、の少なくともいずれかの情報とに基づき、前記消費度および前記貢献度の少なくともいずれかに関わる組織の処理履歴を特定し、当該特定した処理履歴が示す情報により、当該組織に関して前記消費度および前記貢献度の少なくともいずれかを計算する、
    ことを特徴とする請求項2に記載の利用管理方法。
  4. 前記複数ノードそれぞれが、
    前記第2のスマートコントラクトの実行に際し、前記処理履歴から、トランザクション量および当該トランザクションの実行に要したリソース消費量、データ保存量、業務ないしシステムの運用の負荷、バックアップデータの保持量、および、データ利活用実績、の少なくともいずれかの項目について集計し、この結果に基づいて前記消費度および貢献度の少なくともいずれかを計算する、
    ことを特徴とする請求項3に記載の利用管理方法。
  5. 前記複数ノードそれぞれが、
    前記処理履歴を特定するに際し、前記処理履歴に記録された組織の署名情報を用いて、前記複数の組織それぞれに関して処理履歴を特定する、
    ことを特徴とする請求項3に記載の利用管理方法。
  6. 前記複数ノードそれぞれが、
    前記計算した消費度および貢献度の少なくともいずれかを、組織間で交換可能な所定のトークンに変換し、当該トークンを介して当該組織における貢献度または消費度の大きさに応じた所定の精算処理を更に実行する、
    ことを特徴とする請求項1に記載の利用管理方法。
  7. 前記複数ノードそれぞれが、
    前記管理対象システムで実行される業務ごとに前記分散台帳を管理しており、
    前記複数の組織それぞれに関する、前記消費度および前記貢献度の少なくともいずれかの計算を前記業務ごとに実行し、
    前記計算した、前記複数の組織それぞれの前記業務ごとの、前記消費度および前記貢献度の少なくともいずれかを、前記管理対象システムにおける全業務に関して、業務間での重複を相殺しつつ集計し、業務横断での消費度および貢献度の少なくともいずれかを計算する、
    ことを特徴とする請求項1に記載の利用管理法。
  8. 前記複数ノードそれぞれが、
    前記消費度および前記貢献度の少なくともいずれかの計算ルールを、前記第2のスマートコントラクトおよび当該スマートコントラクトの持つ関数ごとに保持し、当該計算ルールに従って、前記消費度および前記貢献度の少なくともいずれかを計算する、
    ことを特徴とする請求項1に記載の利用管理方法。
  9. 複数の組織それぞれのノードで構成された分散台帳システムにおける、前記ノードのうち少なくとも所定の複数ノードを含むシステムであり、
    前記複数ノードが、
    前記ノードの間での合意形成を経てスマートコントラクトがデプロイされた分散台帳、を保持する記憶装置と、
    前記スマートコントラクトのうち、前記分散台帳システムにおける前記組織のいずれかによる所定業務の業務処理または当該業務処理に伴うシステム運用処理に関する各トランザクションの処理履歴を、当該組織の識別情報と紐付けて前記分散台帳に格納する第1のスマートコントラクトを実行し、前記スマートコントラクトのうち、前記複数の組織によって共同利用される管理対象システムに関して、前記分散台帳に格納されている前記処理履歴のうち、所定業務に関するものが示す、前記業務処理及び前記システム運用処理の各トランザクションの発行者、承認者、及び実行者のそれぞれに関する、前記管理対象システムの運用への貢献度と当該管理対象システムのリソースの消費度の各値を規定する計算ロジックを規定した、第2のスマートコントラクトを実行し、前記組織それぞれに関して、前記貢献度の値から前記消費度の値を差引する処理を前記処理履歴ごとに繰り返し、組織それぞれの貢献状況である計算結果を得て前記分散台帳に格納する演算装置と、
    を有するものである、
    ことを特徴とする利用管理システム。
  10. 複数の組織それぞれのノードで構成された分散台帳システムにおける、前記ノードのうちの所定ノードであって、
    前記ノードの間での合意形成を経てスマートコントラクトがデプロイされた分散台帳、を保持する記憶装置と、
    前記スマートコントラクトのうち、前記分散台帳システムにおける前記組織のいずれかによる所定業務の業務処理または当該業務処理に伴うシステム運用処理に関する各トランザクションの処理履歴を、当該組織の識別情報と紐付けて前記分散台帳に格納する第1のスマートコントラクトを実行し、前記スマートコントラクトのうち、前記複数の組織によって共同利用される管理対象システムに関して、前記分散台帳に格納されている前記処理履歴のうち、所定業務に関するものが示す、前記業務処理及び前記システム運用処理の各トランザクションの発行者、承認者、及び実行者のそれぞれに関する、前記管理対象システムの運用への貢献度と当該管理対象システムのリソースの消費度の各値を規定する計算ロジックを規定した、第2のスマートコントラクトを実行し、前記組織それぞれに関して、前記貢献度の値から前記消費度の値を差引する処理を前記処理履歴ごとに繰り返し、組織それぞれの貢献状況である計算結果を得て前記分散台帳に格納する演算装置と、
    を有することを特徴とするノード。
JP2018094246A 2018-05-16 2018-05-16 利用管理方法、利用管理システム、および、ノード Active JP6730369B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018094246A JP6730369B2 (ja) 2018-05-16 2018-05-16 利用管理方法、利用管理システム、および、ノード
US16/288,402 US20190354968A1 (en) 2018-05-16 2019-02-28 Utilization Management Method, Utilization Management System, and Node

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018094246A JP6730369B2 (ja) 2018-05-16 2018-05-16 利用管理方法、利用管理システム、および、ノード

Publications (2)

Publication Number Publication Date
JP2019200556A JP2019200556A (ja) 2019-11-21
JP6730369B2 true JP6730369B2 (ja) 2020-07-29

Family

ID=68533791

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018094246A Active JP6730369B2 (ja) 2018-05-16 2018-05-16 利用管理方法、利用管理システム、および、ノード

Country Status (2)

Country Link
US (1) US20190354968A1 (ja)
JP (1) JP6730369B2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11347876B2 (en) 2015-07-31 2022-05-31 British Telecommunications Public Limited Company Access control
EP3329408A1 (en) 2015-07-31 2018-06-06 British Telecommunications public limited company Expendable access control
EP3329440A1 (en) * 2015-07-31 2018-06-06 British Telecommunications public limited company Controlled resource provisioning in distributed computing environments
WO2017167549A1 (en) 2016-03-30 2017-10-05 British Telecommunications Public Limited Company Untrusted code distribution
EP3531362A1 (en) * 2018-02-22 2019-08-28 Banco Bilbao Vizcaya Argentaria, S.A. Method for validating a voucher
US10726049B2 (en) * 2019-04-17 2020-07-28 Alibaba Group Holding Limited Obtaining blockchain data in stages
JPWO2021176599A1 (ja) * 2020-03-04 2021-09-10
CN115151901A (zh) * 2020-03-04 2022-10-04 三菱电机株式会社 管理装置、管理方法和管理程序
US11563559B2 (en) * 2020-07-29 2023-01-24 International Business Machines Corporation Parallel processing of blockchain procedures
US11928222B2 (en) * 2020-10-02 2024-03-12 Blockframe, Inc. Distributed ledger network implementing a synchronous trust consensus model
US20230087478A1 (en) * 2021-09-17 2023-03-23 Baton Systems, Inc. Authentication of data entries stored across independent ledgers of a shared permissioned database

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004133597A (ja) * 2002-10-09 2004-04-30 Nec Corp サービス提供システムとその方法、該方法とその記録媒体
JP4516357B2 (ja) * 2004-05-24 2010-08-04 株式会社日立製作所 分散コンピュータシステム
JP2005339335A (ja) * 2004-05-28 2005-12-08 Fujitsu Ltd 資源利用管理プログラムおよび資源利用管理システム
JP4374378B2 (ja) * 2006-12-21 2009-12-02 株式会社日立製作所 運用実績評価装置、運用実績評価方法、およびプログラム
US11526938B2 (en) * 2016-03-31 2022-12-13 Refinitiv Us Organization Llc Systems and methods for providing financial data to financial instruments in a distributed ledger system
JP6511017B2 (ja) * 2016-06-03 2019-05-08 日本電信電話株式会社 契約合意方法、合意検証方法、契約合意装置および合意検証装置
JP7019697B2 (ja) * 2016-08-30 2022-02-15 コモンウェルス サイエンティフィック アンド インダストリアル リサーチ オーガナイゼーション ブロックチェーン上の動的アクセス制御
US10984494B2 (en) * 2016-09-19 2021-04-20 Refinitiv Us Organization Llc Systems and methods for interception of smart contracts
US11050781B2 (en) * 2017-10-11 2021-06-29 Microsoft Technology Licensing, Llc Secure application monitoring

Also Published As

Publication number Publication date
US20190354968A1 (en) 2019-11-21
JP2019200556A (ja) 2019-11-21

Similar Documents

Publication Publication Date Title
JP6730369B2 (ja) 利用管理方法、利用管理システム、および、ノード
US11669811B2 (en) Blockchain-based digital token utilization
US11182787B2 (en) System and method for scaling blockchain networks with secure off-chain payment hubs
Androulaki et al. Hyperledger fabric: a distributed operating system for permissioned blockchains
CN108961030B (zh) 关于电子票据的数据处理方法、装置、系统、介质和设备
EP3655905B1 (en) Distributed ledger technology
CN109191219B (zh) 关于电子票据的数据处理方法、装置、存储介质和设备
WO2020024968A1 (zh) 资源转移数据管理方法、装置及存储介质
US20200241929A1 (en) Distributed ledger for monitoring quality of services provided by cloud service providers
WO2021184826A1 (zh) 基于区块链的资源转移方法、装置、节点设备及存储介质
US20190268139A1 (en) Data authentication using a blockchain approach
WO2019055585A1 (en) PARALLEL CHAIN ARCHITECTURE FOR BLOCK CHAIN SYSTEMS
JP2019516274A (ja) ブロックチェーンベースの暗号通貨のためのトークンを検証する、コンピュータにより実行される方法及びシステム
US20200167770A1 (en) Blockchain implementation across multiple organizations
US20190304038A1 (en) Blockchain-based property repair
JP7025365B2 (ja) データ連携管理方法、データ連携管理システム、およびノード
US20190303882A1 (en) Blockchain-based property utilization
Gruber et al. Unifying lightweight blockchain client implementations
CN110599275A (zh) 一种基于区块链网络的数据处理方法、装置及存储介质
CN111095863A (zh) 在区块链网络上通信、存储和处理数据的基于区块链的系统和方法
Khan et al. Blockchain-enabled real-time SLA monitoring for cloud-hosted services
Tkachuk et al. Towards efficient privacy and trust in decentralized blockchain-based peer-to-peer renewable energy marketplace
Deshpande et al. Blockchain based decentralized framework for energy demand response marketplace
Arjomandi-Nezhad et al. Proof of humanity: A tax-aware society-centric consensus algorithm for Blockchains
JP2020204898A (ja) 分散台帳システムの運用管理方法、分散台帳システムの運用管理システム、および分散台帳システムの運用管理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190509

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200311

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200414

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200515

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200616

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200702

R150 Certificate of patent or registration of utility model

Ref document number: 6730369

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150