JP6931999B2 - 信用度管理システムおよび信用度管理方法 - Google Patents

信用度管理システムおよび信用度管理方法 Download PDF

Info

Publication number
JP6931999B2
JP6931999B2 JP2017019531A JP2017019531A JP6931999B2 JP 6931999 B2 JP6931999 B2 JP 6931999B2 JP 2017019531 A JP2017019531 A JP 2017019531A JP 2017019531 A JP2017019531 A JP 2017019531A JP 6931999 B2 JP6931999 B2 JP 6931999B2
Authority
JP
Japan
Prior art keywords
transaction
evaluation
smart contract
execution
execution transaction
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
JP2017019531A
Other languages
English (en)
Other versions
JP2018128723A5 (ja
JP2018128723A (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 JP2017019531A priority Critical patent/JP6931999B2/ja
Priority to US16/483,486 priority patent/US11102001B2/en
Priority to SG11201907267VA priority patent/SG11201907267VA/en
Priority to PCT/JP2018/001320 priority patent/WO2018142948A1/ja
Publication of JP2018128723A publication Critical patent/JP2018128723A/ja
Publication of JP2018128723A5 publication Critical patent/JP2018128723A5/ja
Application granted granted Critical
Publication of JP6931999B2 publication Critical patent/JP6931999B2/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/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • 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
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/087Inventory or stock management, e.g. order filling, procurement or balancing against orders
    • 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
    • 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/02Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
    • 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/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • 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/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • 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
    • 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
    • G06Q2220/00Business processing using cryptography

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Accounting & Taxation (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Finance (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Economics (AREA)
  • Development Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、信用度管理システムおよび信用度管理方法に関するものである。
従来、金融機関や政府などの信頼できる中央集権機関を経由して実施されてきた取引を、利用者間のP2P(Peer to Peer)によって直接的な取引に代替する技術として、分散台帳技術が登場している。
こうした分散台帳技術の例としては、ビットコインと呼ばれる仮想通貨を用いて、銀行などの中央集権機関を必要とせずに決済取引を行う技術(非特許文献1)が存在する。このビットコインによる決済取引では、P2Pネットワーク上において、取引データ(以下、トランザクションとも称する)に関する正当性の判定を、マイナーと呼ばれるノードが実行し、プルーフオブワークと呼ばれる特定のハッシュ値を算出する作業で確定処理を行っている。こうして確定されたトランザクションは、1つのブロックにまとめられ、ブロックチェーン(以下、BCとも称する)と呼ばれる分散台帳に記載される。
また最近では、上記のビットコインで実装されたBCをベースにして、BCおよび分散台帳に関する様々な派生技術が提案され、進化を続けている。現状のBCの主な特徴としては、(1)BCネットワーク上の参加者間の取引において、中央集権機関ではなく(任意ないしは特定の)参加者による合意形成や承認によって取引を確定させること、(2)複数のトランザクションをブロックとしてまとめ、数珠つなぎに分散台帳に記録し、連続するブロックにハッシュ計算を施すことにより、改ざんを実質不可能にすること、(3)参加者全員が同一の台帳データを共有することにより、参加者全員での取引の確認を可能とすることが挙げられる。
以上の特徴から、BCは、信頼できるデータの管理/共有や、契約に基づく取引の執行/管理を行う仕組みとして、金融分野やIoT(Internet of Thing)等、幅広い分野での応用が検討されている。BCを提供する基盤(以下、BC基盤)を用いることで、中央集権機関による管理がなくとも複数の主体間で情報共有や取引を行うことができる(例えば、特定業界のコンソーシアムやサプライチェーンに関係する複数企業等)。
またBCは、ビットコインのような単純な仮想通貨の取引だけでなく、複雑な取引条件や多様なアプリケーションにも適用可能とする仕組みが生まれており、BCの中で(取引)データだけでなくロジックも管理できるようになってきている。このロジックはスマートコントラクト(以下、SCとも称する)と呼ばれる。
上述のSCの実行機能を有するBC基盤(非特許文献2、非特許文献3)では、SCそのものとSCに対する入力データを管理する。わかりやすく説明すると、SCそのものは(複数の)関数のようなものである。そして入力データは呼び出すSCおよび関数名、関数に与える引数のようなものである。SCの実行機能を用いれば、予め定義したコントラクトに従って取引を実行可能となる。
ここでSCとその入力データは、BCの中で署名を付けて数珠つなぎにして管理される。そのため、SC実行機能を有するBC基盤を有することで、データとロジックの登録者が明確となり、さらに登録内容に変更がないことを常に確認可能である。
しかしながら、SCの利用者には、SCの提供者の正しさや一度登録したSCに変更がないことまでは信用できても、提供されるSC自体の品質の善しあしまではわからないという問題がある。したがって、利用者(提供者以外の第三者)によってSCの品質を評価/信用するための手段が必要である。
SCはバイナリ化された状態あるいは暗号化された状態で分散台帳上に保持されることがあり、利用者にとって、ブラックボックスの場合があるため、SCの品質を評価/信用する手段は非常に重要となる。
この問題に対して、SC提供者が開発環境など(BCの外側)で事前にSCのテストや検証を実施する方法(非特許文献4)が提案されている。また、特定の承認機関がプログラムを審査する技術(非特許文献5)も提案されており、これをSCの審査に適用することも可能である。
"A Peer−to−Peer Electronic Cash System"、[online]、[平成28年9月1日検索]、インターネット<URL:https://bitcoin.org/bitcoin.pdf> "Ethereum White Paper"、[online]、[平成28年9月1日検索]、インターネット<URL:https://github.com/ethereum/wiki/wiki/[English]−White−Paper> "Hyperledger Fabric"、[online]、[平成28年9月1日検索]、インターネット<URL:http://hyperledger−fabric.readthedocs.io/en/latest/> "chaintool"、[online]、[平成28年9月1日検索]、インターネット<URL:https://github.com/hyperledger/fabric−chaintool "コードサイニング証明書"、[online]、[平成28年9月1日検索]、インターネット<URL: https://jp.globalsign.com/service/codesign/>
上述したように、SC提供者や特定の承認機関、すなわち中央集権機関によってSC自体の品質の信用性を評価する手段は存在する。しかしながら、これらの手段では中央集権機関による管理が必要となり、BCの持つ非中央集権という特性が損なわれてしまう。つまり、中央集権機関による管理が無ければ、SC自体の品質の信用性を確認/評価できないという課題がある。
そこで本発明の目的は、中央集権機関による管理が無くとも、スマートコントラクト提供者以外の複数の第三者によってスマートコントラクト自体の品質の信用性を確認、評価する技術を提供することにある。
上記課題を解決する本発明の信用度管理システムは、分散台帳をそれぞれ保持する複数の検証ノードと前記検証ノードへトランザクションを発行する複数のトランザクション発行ノードから構成されるシステムであって、前記検証ノードそれぞれが、それぞれで管理するブロックチェーンにおいて、スマートコントラクトおよび前記スマートコントラクトの本番の実行トランザクションの他に、前記スマートコントラクトに対する評価実行トランザクション管理し、前記検証ノードそれぞれが、所定の前記トランザクション発行ノードが指定した評価用の所定値と、前記トランザクション発行ノードから受け取ったトランザクションが評価実行トランザクションであった際に、前記所定値を前記スマートコントラクトに入力して得た出力値とを含む、前記スマートコントラクトの検証結果を、前記ブロックチェーンにおいて前記評価実行トランザクションとあわせて管理する、または前記出力値に基づき前記スマートコントラクトに関するステート情報を更新するものである、ことを特徴とする。
また、本発明の信用度管理方法は、分散台帳をそれぞれ保持する複数の検証ノードと前記検証ノードへトランザクションを発行する複数のトランザクション発行ノードから構成されるシステムにおいて、前記検証ノードそれぞれが、それぞれで管理するブロックチェーンにおいて、スマートコントラクトおよび前記スマートコントラクトの本番の実行トランザクションの他に、前記スマートコントラクトに対する評価実行トランザクション管理し、前記検証ノードそれぞれが、所定の前記トランザクション発行ノードが指定した評価用の所定値と、前記トランザクション発行ノードから受け取ったトランザクションが評価実行トランザクションであった際に、前記所定値を前記スマートコントラクトに入力して得た出力値とを含む、前記スマートコントラクトの検証結果を、前記ブロックチェーンにおいて前記評価実行トランザクションとあわせて管理する、または前記出力値に基づき前記スマートコントラクトに関するステート情報を更新する、ことを特徴とする。
本発明によれば、中央集権機関による管理が無くとも、スマートコントラクト提供者以外の複数の第三者によってスマートコントラクト自体の品質の信用性を確認、評価することが可能となる。
本実施形態におけるコンピュータシステムを模式的に示す図である。 本実施形態における検証ノードの物理的な構成を示すブロック図である。 本実施形態の分散台帳上のブロックチェーンのデータ構造例を示す図である。 本実施形態の分散台帳上のステート情報のデータ構造例を示す図である。 本実施形態の信用度管理方法のフロー例1を示す図である。 本実施形態信用度管理方法のフロー例2を示す図である。 本実施形態の信用度管理方法のフロー例3を示す図である。 本実施形態の信用度管理方法のフロー例4を示す図である。 本実施形態のスマートコントラクト信用度計算結果のデータ構造例を示す図である。 本実施形態の信用度管理方法のフロー例5を示す図である。 本実施形態の信用度管理方法のフロー例6を示す図である。 本実施形態の信用度管理方法のフロー例7を示す図である。 本実施形態における各種機能を複数のノード上に配置したコンピュータシステムの構成例である。
−−−実施例1−−−
本実施例の信用度管理システムたる分散台帳システム10は、図1で例示するように、検証ノード3およびクライアントノード4といった複数のノードから構成される情報処理システムである。
こうした分散台帳システム10における各ノードは、SCに対する評価用の実行トランザクション(以下、評価実行トランザクション)を、いずれかの他ノードより受け付けると、その評価実行トランザクションを用いて、SCに対する本番の実行トランザクション
(以下、本番実行トランザクション。請求項における「実行トランザクション」に該当)と同様にSCを実行し、分散台帳上に、本番実行トランザクションおよび評価実行トランザクションの各履歴とその実行結果とを含めて管理、保持する。
また各ノードは、上述の評価実行トランザクションの実行履歴を、BCネットワークの参加者内で共有可能とする。本実施例におけるBCネットワークとは、所定のスマートコントラクトを共に利用する、検証ノード3およびクライアントノード4を含むネットワークである。
こうした分散台帳システム10は、図1に関して説明したように、1台以上の検証ノード3、および、1台以上のクライアントノード4によって構成されている。これらの機器は、物理的な通信回線2を通してネットワーク1に接続される。
本実施例では、複数の主体(例えば複数の事業者)によって上述の検証ノード3がそれぞれ管理されていることを想定する。また、1名以上のSC提供者と、複数のSC利用者とが、それぞれ別のクライアントノード4を利用することを想定する。
上述のノードのうち検証ノード3は、トランザクション管理部31、スマートコントラクト実行部32(以下、SC実行部32とも称する)、メンバー管理部33、参照API34、スマートコントラクト評価管理部35、およびスマートコントラクト監視部36、の機能部と、分散台帳D1、参加メンバー管理情報D2、および、スマートコントラクト信用度計算結果D3のデータ群とによって構成される。
このうちトランザクション管理部31は、合意形成処理部311を備える。検証ノード3は、トランザクション管理部31の機能によって、例えばクライアントノード4からトランザクションを受け付けて、合意形成処理部311の機能によって、他の検証ノードとの間でトランザクションを受け入れてよいかの合意形成を行う。また、検証ノード3は、この合意形成がなされたら、SC実行部32の機能を介して、SCのデプロイ、デプロイ済みのSCに対する本番実行、デプロイ済みのSCに対する評価実行処理を行い、トランザクションの履歴とその実行結果を分散台帳D1に記録する。また検証ノード3の参照API34は、他ノードからの所定要求に対して評価実行トランザクションの履歴情報を取得・閲覧する機能を提供する。
また、検証ノード3のメンバー管理部33は、BCネットワークに参加するメンバー(ノード)に関する所定の登録処理や、トランザクション処理に用いる鍵類の新規発行、認証機能等を提供する。本実施例におけるメンバー管理部33では、各メンバーに発行した秘密鍵と公開鍵のペアを用いて、参加メンバーの認証やトランザクションへの署名、SC実行権限の制御等を行うことを想定する。なお、上述のメンバー管理に関して用いる公開鍵の情報D22は、参加メンバー管理情報D2上に格納・管理される。
また、トランザクション管理部31は、所定のノードからトランザクションを受け付けた際に、適宜、メンバー管理部33の機能を介して、当該トランザクションの発行者が権限を持った正しい参加者かどうかを確認する。この機能自体は公知技術であるため説明は省略する。
また、分散台帳D1では、ブロックチェーンD11とステート情報D12を格納・管理している。本実施例では、BC上で評価実行トランザクションも共有可能とするために、ブロックチェーンD11およびステート情報D12には、それぞれ本番実行トランザクションに関する情報(D110、D120)と評価トランザクションに関する情報(D111、D121)の両方を保持している。
一方、クライアントノード4は、トランザクション発行部41を含む機能部と、参加メンバー管理情報D2を含むデータ群とによって構成される。SCの利用者もしくは提供者は、クライアントノード4のトランザクション発行部41を介して、各種トランザクションを発行し、これを検証ノード3に対して送信することとなる。
なお、クライアントノード4は、トランザクションに付与する発行者情報として、参加メンバー管理情報D2に格納された当該メンバーの認証情報(秘密鍵D21)を用いる。なお、各クライアントノード4と検証ノード3との間では、参加メンバー管理情報D2の公開鍵D22が相互に交換されていることとする。
また、図1における検証ノード3が保持する、スマートコントラクト評価管理部35、スマートコントラクト監視部36、および、スマートコントラクト信用度計算結果D3、については、実施例2以降で説明するものとする。
ここで、上述の分散台帳システム10を構成する各ノードのうち、一例として検証ノード3のハードウェア構成例について説明する。図2は、実施例1における検証ノード3の物理的な構成を示すブロック図である。
本実施例における検証ノード3は、インターフェイス100、プロセッサ101、およびメモリ102を備える計算機である。インターフェイス100、プロセッサ101、メモリ102はデータバス103によって接続される。
こうした構成の検証ノード3は、インターフェイス100を介して、ネットワーク1と通信する。また、プロセッサ101は、CPU等の演算装置である。メモリ102は、プログラムおよびデータを保持するための記憶領域である。プロセッサ101は、メモリ102からデータバス34を介してプログラムを読み出し、実行する。このプログラムの実行により、図1で例示した各機能部を実装することとなる。
続いて、分散台帳D1に保持するブロックチェーンの例について説明する。図3は、分散台帳D1上で管理するブロックチェーンD11である。BC型の分散台帳管理では、所定時間帯における複数のトランザクションをブロックとしてまとめて、各ブロックが前の時間帯のブロックのハッシュ値を持つことでデータを数珠つなぎにして管理する。
このブロックチェーンにおいて、前段のブロックの値が1ビットでも変わると後続の全ブロックのハッシュ値も変化するため、改ざんが行われても容易に検知される。なお、本実施例では説明をシンプルにするために、1トランザクションにつき1ブロックに格納し、当該ブロックを連ねてブロックチェーンを生成する例を想定する。但し、複数トランザクションをまとめて1ブロックに格納し、こうしたブロックを連ねてブロックチェーンを生成する形態も想定可能である。
図3で示すブロックチェーンD11は、ブロックD112〜D115が連なったブロックチェーンである。ここで示すブロックD112〜D115の各ブロックは、ブロックD112がデプロイトランザクション、ブロックD113が本番実行トランザクション、および、D114が評価実行トランザクション、の各情報を含むものである。
また、各ブロックD112〜D115は、そのブロック生成時のタイムスタンプ情報を含む。さらに各ブロックD112〜D115は、ブロックチェーンD11の連なりにおける前ブロックのハッシュ値を含み、後述のステート情報D12から生成したハッシュ値を含む。
上記のようなデータ構造により、デプロイ、本番実行、および評価実行、の各トランザクションが、ブロックチェーンD11の中でデータの連鎖として管理される。
上述のブロックチェーンD11を構成するブロックのうち、ブロックD112は、デプロイトランザクションを格納したブロックの一例である。本実施例のデプロイトランザクションは、SCを一意に識別するコントラクトID、SCの実体(例えば実行可能なバイナリ)を含む。また、デプロイトランザクションは、SCが持つ関数名やその引数を利用者が把握するためのコントラクト入力仕様を含む。また、デプロイトランザクションは、このデプロイトランザクションの発行元、すなわち、提供者を識別するための発行者IDを含む。また、デプロイトランザクションは、発行元およびデータに改ざんが無いことを検証するために用いる電子署名を含む。この電子署名は、メンバー管理部33が発行した各BCネットワーク参加メンバー(すなわちSC提供者や利用者)の秘密鍵を用いて生成され、そのペアとなる公開鍵によって検証をすることが可能である。
また、ブロックD113は、本番実行トランザクションを格納したブロックの一例である。本実施例の本番実行トランザクションは、呼び出し対象となるスマートコントラクトのコントラクトID、および、その関数名と入力する引数の情報を含む。また、ブロックD113は、この本番実行トランザクションの発行元、すなわち、利用者を識別するための発行者IDを含む。また、ブロックD113は、発行元とデータに改ざんがないことを検証するために用いる電子署名を含む。
また、ブロックD114は、評価実行トランザクションを格納したブロックの一例である。本実施例の評価実行トランザクションは、本番実行トランザクションと同様に、スマートコントラクトを一意に識別するコントラクトID、および、その関数名および入力する引数の情報を含む。また、ブロックD114は、この評価実行トランザクションの発行元、すなわち、利用者を識別するための発行者IDを含む。また、ブロックD114は、発行元とデータに改ざんがないことを検証するために用いる電子署名を含む。
このブロックD114は、さらに、スマートコントラクトの評価、すなわち検証結果に関する情報として、評価IDと期待値を含む。評価のシナリオとして、複数のトランザクションに対する実行結果を確かめたい場合や、初期状態からトランザクションを実行したい場合がある。そこで本実施例では、一連の評価シナリオを一意に特定する識別子として評価IDを導入している。さらに、評価ID毎に、ステート情報D12で利用するデータ領域を独立させることにより、評価間の相互影響を排除できる。
ここで、上述の期待値は、この評価実行トランザクションの実行結果に期待する値もしくはその許容範囲である。なお、本実施例では、評価実行トランザクションのブロックD114において、評価実行トランザクションの実行結果も格納・保持することとする。通常、トランザクションの実行結果はBCを辿って各トランザクションを再実行すれば取得することができる。しかし、評価実行トランザクションの実行結果は、利用者によって参照されることが想定されるため、その度に実行し直すのは処理効率が悪い。そのため、評価実行トランザクションにて実行結果も格納することとしている。さらに評価実行トランザクションのブロックD114は、評価実行トランザクションの実行結果が期待値を満たすかどうかを判定した結果である評価判定情報(例えば、期待値を満たせば「OK」、満たさなければ「NG」)を格納・保持する。
続いて、分散台帳D1上で管理するステート情報D12について説明する。図4は、分散台帳D1上で管理するステート情報D12のデータ構成例を示す図である。
BC型の分散台帳管理では、通常、(最新の)ステート(例えば、仮想通貨の場合にはアカウントの残高)を取得するためには、BCを辿らなければならない。これでは処理効率が悪いため、BCとは別に、最新のステート情報をキャッシュしておく方法が存在する(非特許文献3等)。本実施例でも、ノードが最新のステート情報を保持することを想定している。本実施例では、スマートコントラクト毎にステートのデータ領域が用意されることとする。よって、ステート情報D12は、スマートコントラクトを一意に識別するコントラクトIDとそのコントラクトの実体を保持する。これにより、SC実行部32は、コントラクトIDをキーにして、スマートコントラクトの実体を取得して実行することができる。また、ステート情報D12は、SCの実行結果を保持するための内部テーブルを備える。各ノードは、トランザクションが実行される度にこの内部テーブルの内容を更新する。この内部テーブルは、本番実行、評価実行の各トランザクション毎にデータ領域(D120、D121)を有している。これにより、評価実行のトランザクションが本番実行のトランザクションに影響を与えることを防ぎ、各評価が互いに影響することも防ぐことができる。
なお、図3および図4に示した分散台帳D12中では、IoTを活用した貨物輸送に関するビジネスコントラクトにブロックチェーン基盤を適用する具体例を示している。この具体例では、ある貨物について、工場から小売店までの出荷をする際に、複数の輸送者が貨物の輸送を中継する場合のサプライチェーンを想定する。また、ビジネスコントラクトとして、輸送中に貨物の最大湿度が80%を超えたら検査が必要となって出荷停止となるため、湿度基準を違反した業者が全損失の責任を負う、という契約を事業者間で締結することとする。また、各貨物はIoTデバイスとなっており、湿度センサーが搭載されていて貨物の湿度情報(ある種のIoTデータ)を定期的に取得・記録する。各輸送者のノードは、当該輸送者による輸送が完了する度に記録された湿度情報を、BC上に登録し、ビジネスコントラクトに対応したスマートコントラクトを自動実行することで、複数の業者間で同一の信頼されたデータを共有でき、契約に基づく処理を自動執行できる。
図3にて示したブロックD112でデプロイされているSCは、上記のビジネスコントラクトを実現するSCとなっている。本SCは、コントラクトID「貨物輸送コントラクト」として、発行者たる「製造者A」によって提供され、以下の関数が定義されている。
・関数名:輸送()、入力引数:貨物ID、輸送者、湿度情報、戻り値:違約金
・関数名:検収()、入力引数:貨物ID、検収者、戻り値:なし
・関数名:輸送履歴参照()、入力引数:貨物ID、戻り値:輸送履歴
上述の関数のうち、「輸送()」が、このSCのコア処理となる。輸送()は、各輸送者による輸送が完了したタイミングで輸送者のノードによって呼び出され、入力引数として、対象となる貨物を識別する貨物ID、輸送者の情報、湿度センサーから得られた湿度情報を登録されると、SCの内部で、最大湿度が80%を超えたかどうかで契約違反の有無を判定し、違反をした場合には超過した湿度に応じて違約金を計算する(湿度に応じた従量計算)。そしてその結果をステート情報D12にて格納し、戻り値として違約金の額を返す。
また、図3にて示したブロックD113は、上述の関数「輸送()」を呼び出した本番実行トランザクションの例である。この例では、「輸送者A」による貨物ID「123」の輸送が完了し、センサーから得られた湿度情報が「60%」だった時のトランザクションであることを示す。この実行によって更新されたステート情報D12は、D120中の内部テーブルの貨物ID「123」の行である。
この行に示す通り、SC実行の結果、最大湿度が80%を超えていないため、契約は「順守」となり、違約金は「0」となる。一方、貨物ID「234」の行では、「輸送者B
」による輸送の湿度が80%を超えたため、契約は「違反」となり、違約金「2000」が発生していることを示している。
この例の場合には、SCは製造業者によって提供されるため、利用者である輸送者にとってSCの内部処理はブラックボックスとなる。したがって輸送者は、このSCの関数の入力引数仕様しかわからない。すなわち、利用者においてはSCの内部で処理される計算式が妥当かどうか、認識齟齬がないかどうかを判断することができない。例えば、この例では湿度が80%ちょうどの場合には違約金が発生するのかどうか、超過した湿度に応じた違約金の計算結果が利用者の想定にマッチしているか等が挙げられる。
ビジネスコントラクトの場合には、別途、契約書面が存在することが予想されるが、契約書の記載はあいまいな表現も多く判断がつかない可能性がある。一方、SCによると契約が自動執行される(さらにしばしば金融決済を伴う)ためリスクが大きい。
そのような場合に、本実施例における評価実行トランザクションの実行機能を活用できる。
また、図3で例示したブロックD114は、上述のスマートコントラクトの関数「輸送()」に対する評価実行トランザクションを格納したブロック例である。この例では、評価ID「1」として「輸送者B」によって、貨物ID「345」の輸送を「輸送者B」が行い、湿度情報が「85%」であった場合の評価を示す。ここでは、評価の結果、「違約金≦1000」となることを期待値として当該輸送者が設定している。一方、評価実行トランザクションの実行結果は「違約金=2000」となり、期待値を満たさない。
これにより「輸送者B」は、SCの内部処理が自身の期待を満たしていないことを本番実行の前に検知することができる。また、この履歴は他の利用者にも共有されることによって、同様の評価履歴があれば、利用者自ら評価をしなくとも期待を満たしているかどうかを確認できる。
続いて、本実施例における信用度管理方法のフロー例について説明する。図5は、BCネットワークに参加するメンバーの新規登録処理の例を示すフローチャートである。
この場合、検証ノード3のメンバー管理部33は、クライアントノード4等の他ノードからメンバー登録要求を受け付ける(S101)。ここで、上述のメンバー登録要求には、要求メンバーを一意に識別するメンバーIDが含まれることとする。
次に、メンバー管理部33は、所定の鍵生成ツール等により、秘密鍵D21と公開鍵D22の組を生成して、S101で受け取ったメンバーIDと紐付ける(S102)。
次に、メンバー管理部33は、新規登録対象となるメンバーIDと、S102で生成した公開鍵D22とを、他のノードにブロードキャストする(S103)。ここでブロードキャストされたメンバーIDと公開鍵D22の各情報は、各ノード上で参加メンバー管理情報D2として保管される。
さらに、メンバー管理部33は、上述のメンバー登録要求を行ったノードに対し、S102で生成した秘密鍵D21を返す(S104)。この秘密鍵D21を受け取ったノードは、参加メンバー管理情報D2に自身の秘密鍵D21として保管することとなる。
本実施例では、以上のようにして生成した秘密鍵と公開鍵のペアを用いて、BCネットワーク参加メンバーの認証やトランザクションへの署名、SC実行権限の制御等を行うこ
とを想定する。具体的には、例えば、クライアントノード側は、上述のメンバー管理部33にて発行された秘密鍵で電子署名したトランザクションを発行し、一方、検証ノード側は、このクライアントノードの公開鍵を用いて該当電子署名を検証することで、本人確認を実現できる。なお、公開鍵と秘密鍵の組を生成する手法や署名検証をする手法、鍵とIDを紐付ける手法については、公知または周知の技術を適用すれば良い。
続いて、トランザクション実行処理、すなわち、SCデプロイ、本番実行、評価実行処理のフロー例について説明する。図6は、信用度管理方法のフロー例2を示す図である。
この場合、検証ノード3のトランザクション管理部31は、クライアントノード4等のトランザクション発行元からトランザクションを受け取る(S201)。
また、トランザクション管理部31は、S201で受け取ったトランザクションの種別を判定し(S202)、この判定で判明した種別、すなわち、SCデプロイ、本番実行、および、評価実行の各処理を行う。
上述の判定の結果、受け取ったトランザクションがデプロイトランザクションであった場合(S202:NO、S203:YES)、トランザクション管理部31は、他の検証ノード3との間で、受け取ったトランザクションをブロックとして、ブロックチェーンD11の末尾に追加してよいかの合意形成処理を行う(S204)。具体的な合意形成処理方式としては、公知または周知の技術を適用すれば良い。
具体的には、例えば、Plactical Byzantine Fault Torerance(PBFT)と呼ばれるアルゴリズム等を採用することが考えられる。PBFTは合意形成に参加するすべてのノード(すなわち検証ノード)の間で一定(3分の2)以上のノードによる合意を条件とするアルゴリズムである。
PBFTをベースとした合意形成を簡単に説明すると、検証ノード3はまず受け取ったトランザクションをネットワークに参加するすべての検証ノード3に対してブロードキャストし、各検証ノード3でトランザクションに対する署名検証を行って改ざんがされていないことやトランザクションの内容の正当性を確認し、その確認結果を他の検証ノード3に対してブロードキャストする。一定数以上の検証ノード3による確認が取れた場合にトランザクションの承認準備が完了したことを他の検証ノード3に対してブロードキャストする。そして、一定数以上の検証ノード3による承認準備完了が確認できたことをもって合意形成が完了する。
上述の合意形成が完了したら、トランザクション管理部31は、SC実行部32を介して、当該トランザクションに含まれるSCを分散台帳D1に登録する(S205)。具体的には、当該トランザクションの内容に基づき、ステート情報D12のコントラクトIDとコントラクト実体を登録し、ブロックチェーンD11の末尾にこのデプロイトランザクションを含むブロックを追加する。
次に、トランザクション管理部31は、上述のデプロイトランザクションの実行結果をトランザクション発行元のノードに返し(S206)、処理を終了する。
一方、受け取ったトランザクションが本番実行トランザクションであった場合(S202:NO、S203:NO)、トランザクション管理部31は、デプロイトランザクションと同様、他の検証ノード3との間で合意形成処理を行う(S207)。この合意形成処理はS204と同様である。
上述の合意形成が完了後、トランザクション管理部31は、SC実行部32を介して、SCを実行する(S208)。具体的には、本番実行トランザクション内で指定されたコントラクトIDを持つSC(登録済みであることを前提とする)に対して、本番実行トランザクション内で指定された呼び出し関数と入力引数を与えて実行する。
トランザクション管理部31は、その実行結果に基づき、分散台帳D1の内容を更新する(S209)。また、トランザクション管理部31は、上述の実行結果に基づいて、このスマートコントラクトに関するステート情報D12を更新し、ブロックチェーンD11の末尾のブロックとして本番実行トランザクションを追加する。
最後に、トランザクション管理部31は、この本番実行トランザクションの実行結果(例えば、関数の戻り値)をトランザクション発行元のノードに返し(S210)、処理を終了する。
他方、受け取ったトランザクションが評価実行トランザクションであった場合(S202:YES)、トランザクション管理部31は、デプロイトランザクションと同様に合意形成処理を行う(S211)。本合意形成処理はS204と同様である。
続いて、トランザクション管理部31は、上述にて合意形成が完了したら、SC実行部32を介して、評価実行トランザクションを入力としてSCを実行する(S212)。具体的には、評価実行トランザクション内で指定されたコントラクトIDを持つSC(本番実行トランザクションと同じバイナリを利用)に対して、評価実行トランザクション内で指定された呼び出し関数と入力引数を与えて実行する。
トランザクション管理部31は、上述のスマートコントラクト実行の結果に基づき、分散台帳D1における、本スマートコントラクトに関するステート情報D12を更新する(S213)。その際、トランザクション管理部31は、本番実行トランザクション用とは別に用意された、評価ID毎の評価実行トランザクション用のデータ領域に、ステート情報D12を格納する。また、トランザクション管理部31は、ブロックチェーンD11の末尾のブロックとして評価実行トランザクションおよびその実行結果を追加する。
最後に、トランザクション管理部31は、この評価実行トランザクションの実行結果(例えば、関数の戻り値と評価判定)をトランザクション発行元に返し(S214)、処理を終了する。
以上のフローにより、本番実行トランザクションのデータ領域を汚すことなく、本番と同一のスマートコントラクトの実体を用いて、本番と同一の入力を用いたトランザクション評価実行を実現する。
ここで、上述で説明した評価実行トランザクションに関して、検証ノード3の参照API34が、実行する処理について説明する。図7は、参照API34による評価実行トランザクション履歴の取得フローを示す図である。
この場合、参照API34は、クライアントノード4等から発行された評価実行トランザクション履歴の取得要求を受け取る(S301)。この要求では、取得対象となるSCのコントラクトIDが必ず指定され、さらに必要に応じて、呼び出し関数名、利用者、評価ID、期待値が指定されていてもよい。
参照API34は、上述の要求を受け取ると、分散台帳D1のブロックチェーンD11上から、指定されたSCに関する 評価実行トランザクションの履歴を格納したブロック
をすべて取得する(S302)。
また、参照API34は、S302で取得した評価実行トランザクションの履歴を、評価ID毎にグループ化する(S303)。
また、参照API34は、S303でグループ化した評価実行トランザクションの履歴を加工して(例えば、JSON(JavaScript Object Notation)形式の配列として)、要求元のノードに返し(S304)、処理を終了する。
以上で示したとおり、提供されたSCに対して、提供者および利用者がそのトランザクションの評価を行うことが可能である。また、その評価結果は、BCのデータの連なりの中で、本番実行トランザクションと共に管理され、他の参加者と共有することができる。
この仕組みにより、SCの利用者は、中央集権機関による管理なしにSCが信用できるかどうか確認/評価できることになる。また、評価実行トランザクションをBCのデータの連なりの中で管理することで、改ざんを困難なものとし、かつ、BCネットワークへの参加者に公開可能となる。さらに、各ノードのユーザらは、SCの信用性を随時確認/評価できるため、悪意ある提供者による品質の悪いSCの提供を抑止する効果も奏する。スマートコントラクト提供者と複数の第三者による試行/評価により、従来の中央集権的な評価方法と比べて、スマートコントラクトの信用性を高めることができる。また、その信用性に関する情報の共有により、第三者が個々にスマートコントラクトを検証する場合に比べて手間を削減できる効果がある。
また、評価実行トランザクションを識別して、本番実行トランザクションとは異なるデータ領域上で、本番と同一のスマートコントラクトの実体を用いて、本番と同一の入力を用いたトランザクションの評価実行を可能とする。このことで、本番実行トランザクションのデータを汚染すること無く、スマートコントラクトの評価を行うことができるという効果がある。
−−−実施例2−−−
続いて、BC上に共有された評価実行トランザクションを活用する形態のバリエーションとして、評価実行トランザクションの履歴を利用してSCに対する信用度を計算する例を示す。
本実施例においては、図1で例示した分散台帳システム10たるコンピュータシステムのうち、検証ノード3におけるスマートコントラクト評価管理部35およびスマートコントラクト信用度計算結果D3に基づく機能等について説明する。以降では、実施例1と異なる部分についてのみ説明し、実施例1と同様の部分についての説明は省略する。
この場合のスマートコントラクト評価管理部35(以下、SC評価管理部35とも称する)は、ブロックチェーンD11上の評価実行トランザクションの履歴D111を用いて、SCや提供者がどの程度信用できるかの度合いを定量的に示す指標であるスマートコントラクト信用度(以下、SC信用度とも称する)を計算し、その結果をスマートコントラクト信用度計算結果D3(以下、SC信用度計算結果D3とも称する)上に格納・保持する。ここで、上述のSC信用度は、0.0〜1.0の間でスコアリングされ、値が大きいほど信用性が高いことを示すものとする。
図8は、評価実行トランザクションの履歴に基づくスマートコントラクト信用度計算処理の例を示すフローチャートである。この場合のSC評価管理部35は、参照API34を介して、分散台帳D1のブロックチェーンD11からSC毎に評価実行トランザクションの履歴をすべて取得する(S401)。図3を例にとると、ブロックD114等を取得
することとなる。
次に、SC評価管理部35は、S401で取得した各評価実行トランザクションに含まれる利用者(発行者)、評価判定、の各情報に基づき、関数毎およびこのSC全体のSC信用度を計算する(S402)。
例えば、本実施例では、各SCの関数毎のSC信用度を、評価実行トランザクションの全件のうち、評価判定情報が「NG」ではなく「OK」だった件数の割合によって求めることとする。また、提供者よりも利用者が行った評価のほうが、より客観性が高く信用できる評価と見なして重み付けを行うこととする。例えば、評価実行トランザクションの利用者が、スマートコントラクトの提供者でない場合には2倍の重み付けをすることとする。
ここで、図3で用いたブロックチェーンD11の例をベースとして、スマートコントラクトにおける関数「輸送()」の評価実行トランザクションの履歴が以下のとおりだった場合を想定する。
・「製造者A」によるSC評価実行回数が10件、うち10件が評価判定「OK」
・「輸送者A」によるSC評価実行回数が5件、うち4件が評価判定「OK」
・「輸送者B」によるSC評価実行回数が15件、うち13件が評価判定「OK」
この場合には、SC評価実行回数が、10件×1倍+5件×2倍+15件×2倍=50件、となる。また、評価判定「OK」だった件数が、10件×1倍+4件×2倍+13件×2倍=44件、となる。したがって、この関数のSC信用度は44/50=0.88となる。さらに本実施例では、各SCのSC信用度を、上記のように算出した各関数のSC信用度の平均値によって求めることとする。
次に、SC評価管理部35は、SC提供者毎のSC信用度計算結果に基づき、提供者のSC信用度を計算する(S403)。本実施例では、ある提供者によるすべてのSCに対するSC信用度の平均値によって計算することとする。
最後に、SC評価管理部35は、以上によって求めたSC信用度の計算結果を、SC信用度計算結果D3に格納し(S404)、処理を終了する。
図9は、SC信用度計算結果D3のデータ構造の例である。本実施例では、SC信用度の計算結果を、このようにテーブル上に保持することとする。当該テーブルでは、SCの提供者D301、SCのコントラクトID(D302)、および関数名D303に対し、信用度D304が対応付けて管理される。また、評価者D305で示すように、スマートコントラクトの評価、すなわち信用度計算を行ったBCネットワークメンバーの情報を保存しておくとしても良い。スマートコントラクト信用度D3における行D311は、ある関数のSC信頼度、行D312はあるSCのSC信頼度、行D313はある提供者のSC信頼度をそれぞれ示している。
なお、本実施例に示したSC信用度では、シンプルな例として「OK」だった割合をベースに計算しているが、実行された評価回数を掛けあわせて計算を行うとしても良い。これにより、例えば、試行やテストの回数が少ないため評価が不十分な場合には信用度がより低くなるように算出することができる。
こうしてスマートコントラクトの信用度を定量化することによって、SC、その関数、あるいは提供者が信用できるかどうかを一目で把握することができる。このように複数の第三者によるテスト/評価結果を活用することで、SCの信用度評価をより客観的に行う
ことができる効果がある。
−−−実施例3−−−
続いて、評価実行トランザクションの履歴を活用してトランザクションの実行を制御する例について説明する。なお、本実施例における分散台帳システム10たるコンピュータシステムの構成は、上述の実施例1あるいは実施例2と同様である。また、トランザクションの実行制御の判定基準として、SC信頼度を用いる場合には実施例2の構成を、他方、SC信頼度を用いない場合には実施例1の構成をとるものとする。
本実施例では、上述の実行制御の一例として、評価の状況に応じてトランザクションの本番実行を不可とする場合について示す。
図10は、スマートコントラクトの評価状況に基づく本番実行判定処理を含むフローチャートの例である。このフローチャートは図6と概ね一緒であるため、ここでは差分のみを説明する。
この場合、トランザクション管理部31は、ノードから受け取ったトランザクションが本番実行トランザクションだった場合(S203:NO)、該当SCが関係する評価状況に基づいて本番実行可否判定を行う(S216)。
例えば、判定基準としては、ブロックチェーンD12の評価実行トランザクション履歴を参照して、「本SCに対してSC提供者によって少なくとも1件以上の評価実行トランザクションが実行されていなければ実行不可」、「複数名の利用者によって評価実行トランザクションが実行されていなければ実行不可」、SC信用度計算結果D3を参照して「SC信用度が一定のしきい値を超えていなければ実行不可」、等のバリエーションが挙げられる。
上述の判定の結果、本番実行が「実行可」であった場合(S215:実行可)、トランザクション管理部31は、S207〜S210と同様に本番実行トランザクションを実行する。一方、上述の判定の結果、本番実行が「実行不可」であった場合(S215:実行不可)、トランザクション管理部31は、本番実行を行わず、トランザクション発行元のノードに実行不可(例えばエラーメッセージ)を返し(S216)、処理を終了する。
このように、スマートコントラクトの評価結果(SC信用度計算結果)や、あるいは評価実行トランザクションが該当ブロックチェーンに格納済みか否かは、当該スマートコントラクトの信用に基づいたトランザクションの実行制御に活用することができる。
他の実行制御バリエーションとしては、例えば、S201とS202の間にトランザクションの優先度付きのキューを用意して、評価状況に応じて優先的に実行するべきトランザクションを制御する例が考えられる。
例えば、システム全体の負荷が高い場合には、評価実行よりも本番実行を優先し、さらに評価実行の中でもより評価実行回数が少なかったり、信用性の低かったりするトランザクションから優先する制御方法が考えられる。また、別の例として、評価実行回数が既に多く、信頼度が既に高い評価実行トランザクションについては追加で評価を行う効果が低いため、評価実行トランザクションを受け付けない等の制御方法も考えられる。
−−−実施例4−−−
続いて、上述の実施例2におけるSC信頼度計算のバリエーションとして、評価実行トランザクションだけでなく本番実行トランザクションの履歴も活用する例について説明す
る。なお、本実施例における分散台帳システム10たるコンピュータシステムの構成は、実施例2と同様であり、内部のSC信頼度計算処理のみが異なる。
図11に、本番実行および評価実行の各トランザクションの履歴に基づくスマートコントラクト信用度計算処理のフロー例を示す。
本実施例に記載の計算方法では、評価実行トランザクションの期待値を本番実行トランザクションに当てはめる。また、評価実行トランザクション間の期待値のずれも考慮する。その実現のための前提として、評価実行同士あるいは評価実行と本番実行の各トランザクションを部分一致によってマッチングできるようにする。
具体的な実現方法はいくつか存在する。例えば、各評価実行トランザクションにおいて、SC利用者が、入力引数のうち期待値に影響を及ぼす重要な引数を発行時に指定する。例えば図3の例では、入力引数のうち「貨物ID」は評価において重要ではなく(すなわち任意の値で良い)、「湿度情報」が重要である。別の実現方法としては、入力引数に対して特定の固定値ではなく、入力値の範囲や入力条件を定めても良い。これらの情報を活用することで、項目等が完全一致することを前提条件とせずともトランザクション間のマッチングを取ることができる。
この場合、SC評価管理部35は、参照API34を介して、分散台帳D1のブロックチェーンD11からSC毎に評価実行トランザクションおよび本番実行トランザクションの履歴をすべて取得する(S501)。本番実行トランザクションも対象としている以外はS401と同様である。
次に、SC評価管理部35は、S501で取得した評価実行トランザクション同士をマッチングして、その期待値が相反するものを抽出し、当該相反するトランザクションを発行した利用者の多数決によって、少数派のトランザクションを、計算対象とするトランザクションから除外する(S502)。
例えば、同じ入力に対して期待値「1000≦違約金≦2000」の評価実行トランザクションが、利用者「輸送者A」および「製造者A」によって実行され、期待値「違約金=0」のトランザクションが、利用者「輸送者B」によって実行されたとする。その場合、SC評価管理部35は、後者のトランザクションを除外する。なお、この方法は期待値が相反する場合に対応するための一例であり、例えば利用者自身の信用度等で重み付けを行っても良い。
さらに、SC評価管理部35は、評価実行トランザクションと本番実行トランザクションをマッチングして、マッチした本番実行トランザクションに対して評価実行の期待値をあてはめて評価する(S503)。
以降、SC評価管理部35は、上述のS502〜S503で除外されずに使われたトランザクションに含まれる利用者(発行者)、評価判定の各情報に基づき、関数毎およびこのSC全体のSC信用度、提供者のSC信用度を計算し(S504〜S505)、その結果をSC信用度計算結果D3に格納する(S506)。この処理は、計算対象として使われるトランザクションが異なる以外はS402〜S404の処理と同様である。
以上のようにして、評価実行トランザクションだけでなく本番実行トランザクションの履歴も活用してSC信頼度を計算することで、計算に用いるサンプル数を増やすことが出来る。このため、実施例2よりも計算精度が向上する効果がある。また、期待値の相反するトランザクションを考慮することで、実施例2よりも計算精度が向上する効果がある。
−−−実施例5−−−
続いて、評価実行トランザクションを自動発行することで、SCの健全性や信用性の監視を行う応用例について説明する。本実施例の分散台帳システム10たるコンピュータシステムの構成は、上述の実施例1〜4の構成において、スマートコントラクト監視部36(以下、SC監視部36と称する)の構成が機能する点が異なる。
図12は、評価実行トランザクション自動発行によりSCの健全性や信用性を監視する処理の例を示すフローチャートである。
この場合、SC監視部36は、所定時間の経過毎に(S601:YES)、評価実行トランザクションを生成する(S602)。この評価実行トランザクション生成において、対象となる評価実行トランザクションが予め定義されているとしてもよいし、或いは、評価実行トランザクションの履歴を参照して流用するとしてもよい。また、実施例4と同様に、評価実行トランザクションに対して入力引数の重要項目を定義、あるいは入力引数に対する範囲や入力条件を定めておき、評価実行トランザクションの一部情報をSC監視部36が自動生成するとしてもよい。さらに、生成する評価実行トランザクションは1件ずつでも複数件でもよい。
続いて、SC監視部36は、S602で生成した評価実行トランザクションを、トランザクション管理部31に送信する(S603)。この場合のトランザクション管理部31は、S603で送信された評価実行トランザクションを受信し、図6等で示したフローに従ってSCを実行することになる。
SC監視部26は、上述のトランザクション管理部31におけるSCの実行結果を受け取る(S604)。
また、SC監視部36は、S604で得た実行結果に基づいて、アラートの生成や監視結果の記録等を行う(S605)。例えば、S604で得た実行結果における評価判定が「NG」だった場合、SC監視部36は、例えば外部の監視システムに対するアラート通知や、運用管理者やSC利用者に対するアラートメールの送信を行う。また、監視結果の記録としては、実行日時と、評価判定の「OK」、「NG」や処理にかかった時間などからレコードを生成し、これを所定のログ管理用のデータベース等に登録し、後に正常稼働率等の稼働傾向の分析を実行するとしてもよい。
このようにして評価実行トランザクションを任意のタイミングで自動発行し、抜き打ちでのスマートコントラクト評価を行うことで、スマートコントラクトの改ざん等に対するモニタリングを行うことができる。そのため、結果としてスマートコントラクトの提供者による悪意ある改ざんなどを抑止し、スマートコントラクトの信用性を継続的に維持することができるという効果がある。また、従来のように、BC基盤においてダミートランザクションを発行して、サービスの健全性を監視する場合、本番と同じようにトランザクションを取り扱うため、本番環境が汚染される可能性があった。ところが、本実施例では、データ領域を分けることにより本番環境の汚染をすることなく監視を行うことができるという効果がある。
以上で示した各実施例では、単一の検証ノード3上に各種機能部を配置した例を示したが、これらは機能を逸脱しない範囲で、別々のサーバに配置されていてもよい。図13には、各機能部を別々のサーバに配置した構成例を示す。
さらに、各実施例においては、クライアントノード4とBCネットワーク参加者が一対
一で対応する例を示した。しかし、本発明はこのような構成のみに限定されない。クライアントノード4をBCネットワーク参加者各々が持つのではなく、BCネットワーク参加者各々が、外部端末からクライアントノード4にアクセスして、クライアントノード4経由で検証ノード3にアクセスしてもよい。その場合、クライアントノード4が複数のBCネットワーク参加者の鍵情報を管理していてもよい。
また各実施例では、評価実行トランザクションと本番実行トランザクションとが別種のトランザクションとして存在する例を示した。しかし、本番実行トランザクションの一オプションとして評価実行トランザクションを実現してもよい。例えば、本番実行トランザクションの拡張領域の情報として評価IDと期待値など、すなわち評価実行かどうかを識別する情報と評価実行の入力情報を持たせることでも本発明を実現可能である。
また各実施例では、SC評価実行を行う各種機構をBC基盤側の機能として実現した例を示したが、SC側の機能(内部機能あるいはSCの共通部品)として作りこむこともできる。例えば、特定の識別子を持つトランザクション(例えば利用者情報の先頭が”test_”で始まる等)を評価実行トランザクションとして扱う等の実現方法が考えられる。しかし、この実現方法では、BC基盤側の機能によって実現する場合に比べて確実性が損なわれる。具体的には、提供者がこの機能を実装・提供しなければ、利用者が信用性を確認できない。また、提供者がこの識別子に応じて内部ロジックを切り替えている場合には検知できない。さらに、本番用と評価用のデータ空間を分けて管理することが難しくなる。
以上、本発明を実施するための最良の形態などについて具体的に説明したが、本発明はこれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
こうした本実施形態によれば、SCの利用者(利用予定者含む)は、中央集権機関による管理なしにSCの信用性を確認/評価できる。SCの信用性をいつでも誰でも確認/評価できる仕組みを提供することで、悪意のある提供者による質の悪いSC提供を抑止する効果がある。SCの提供者と複数の第三者による試行/評価により、特定の中央機関が集中的かつ一方的に行っていた従来の評価方法と比べて、第三者視点が含まれるため信用性を高めることができ、その信用性に関する情報の共有により第三者が個々に検証する場合に比べて手間を削減できる。複数の第三者によるテスト/評価結果を用いることで、SCの信用度評価をより客観的に行うことができる。
すなわち、中央集権機関による管理が無くとも、スマートコントラクト提供者以外の複数の第三者によってスマートコントラクト自体の品質の信用性を確認、評価することが可能となる。
本明細書の記載により、少なくとも次のことが明らかにされる。すなわち、本実施形態の信用度管理方法において、分散台帳システムが、所定ノードが指定した評価用の所定値と、前記所定値を前記スマートコントラクトに入力した場合の出力値とを含む、前記スマートコントラクトの検証結果を、前記評価実行トランザクションに含めて管理する、としてもよい。
これによれば、スマートコントラクトの評価結果として入力と出力の因果関係も含めて検証することが可能となる。
また、本実施形態の信用度管理方法において、分散台帳システムが、ブロックチェーンに含まれる所定の評価実行トランザクションを基準として、前記スマートコントラクトの実行トランザクションおよびその他の評価実行トランザクションの少なくともいずれかに
関する信用度を所定アルゴリズムで算定する処理を更に実行する、としてもよい。
これによれば、例えば、スマートコントラクトの適用条件が、ノード間で異なるといった不平等、不誠実な内容であるケース等について、トランザクションを照合し比較することで特定し、スマートコントラクト自体の信用度を明らかなものとできる。
また、本実施形態の信用度管理方法において、分散台帳システムが、前記算定した信用度の高さに応じて、前記スマートコントラクトの実行可否を制御する処理を更に実行する、としてもよい。
これによれば、信用度が所定基準より低いスマートコントラクトについては、その実行を許可しないといった制御が可能となる。
また、本実施形態の信用度管理方法において、分散台帳システムが、前記スマートコントラクトの提供者および利用者の少なくともいずれかによる、ブロックチェーンへの前記評価実行トランザクションの登録有無に応じて、前記スマートコントラクトの実行可否を制御する処理を更に実行する、としてもよい。
これによれば、評価実行トランザクションの登録が無い、すなわち何ら評価、検証がなされていないスマートコントラクトの実行を制限することが可能となる。
また、本実施形態の信用度管理方法において、分散台帳システムが、分散台帳において、実行トランザクションおよび評価実行トランザクションのそれぞれに関する所定情報を、異なるデータ領域で管理する、としてもよい。
これによれば、実行トランザクションおよび評価実行トランザクションが膨大な数にのぼるブロックチェーンであっても、例えば、スマートコントラクトに関する最新の検証結果を参照する際、評価実行トランザクションのデータ領域のみを参照すればよいことになり、処理効率が向上する。
また、本実施形態の信用度管理方法において、分散台帳システムが、前記評価実行トランザクションを所定タイミングで自動発行して、前記スマートコントラクトの検証を実行する、としてもよい。
これによれば、スマートコントラクトの提供者にとって想定外の、いわゆる抜き打ちでの評価実行トランザクションを実行することが可能となり、ひいては、スマートコントラクトの不適切な変更等に対する抑止効果を奏することになる。
また、本実施形態の信用度管理方法において、分散台帳システムが、所定期間内の前記実行トランザクションと前記評価実行トランザクションのうち、前記実行トランザクションを優先的に処理する、としてもよい。
これによれば、分散台帳システムに含まれる或るノードが、評価実行トランザクションが不必要に多く発行した場合など、実行トランザクションの処理が評価実行トランザクションの処理に阻害されかねない状況を的確に回避することが出来る。
本実施形態の信用度管理システムにおいて、前記ノードそれぞれが、所定ノードが指定した評価用の所定値と、前記所定値を前記スマートコントラクトに入力した場合の出力値とを含む、前記スマートコントラクトの検証結果を、前記評価実行トランザクションに含めて管理するものである、としてもよい。
本実施形態の信用度管理システムにおいて、前記ノードの少なくともいずれかが、ブロックチェーンに含まれる所定の評価実行トランザクションを基準として、前記スマートコントラクトの実行トランザクションおよびその他の評価実行トランザクションの少なくともいずれかに関する信用度を所定アルゴリズムで算定する処理を更に実行するものである、としてもよい。
本実施形態の信用度管理システムにおいて、前記ノードの少なくともいずれかが、前記算定した信用度の高さに応じて、前記スマートコントラクトの実行可否を制御する処理を更に実行するものである、としてもよい。
本実施形態の信用度管理システムにおいて、前記ノードの少なくともいずれかが、前記スマートコントラクトの提供者および利用者の少なくともいずれかによる、ブロックチェーンへの前記評価実行トランザクションの登録有無に応じて、前記スマートコントラクトの実行可否を制御する処理を更に実行するものである、としてもよい。
本実施形態の信用度管理システムにおいて、前記ノードそれぞれが、分散台帳において、実行トランザクションおよび評価実行トランザクションのそれぞれに関する所定情報を、異なるデータ領域で管理するものである、としてもよい。
本実施形態の信用度管理システムにおいて、前記ノードの少なくともいずれかが、前記評価実行トランザクションを所定タイミングで自動発行して、前記スマートコントラクトの検証を実行するものである、としてもよい。
本実施形態の信用度管理システムにおいて、前記ノードの少なくともいずれかが、所定期間内の前記実行トランザクションと前記評価実行トランザクションのうち、前記実行トランザクションを優先的に処理するものである、としてもよい。
1 ネットワーク
2 物理的な通信回線
3 検証ノード
10 分散台帳システム(信用度管理システム)
100 インターフェイス
101 プロセッサ
102 メモリ
103 データバス
31 ランザクション管理部
310 合意形成処理部
32 スマートコントラクト実行部(SC実行部)
33 メンバー管理部
34 参照API
35 スマートコントラクト評価管理部(SC評価管理部)
36 スマートコントラクト監視部(SC監視部)
4 クライアントノード
41 トランザクション発行部
D1 分散台帳
D1 ブロックチェーン(BC)
D12 ステート情報
D2 参加メンバー管理情報
D21 秘密鍵
D22 公開鍵
D3 スマートコントラクト信用度計算結果(SC信用度計算結果)

Claims (14)

  1. 分散台帳をそれぞれ保持する複数の検証ノードと前記検証ノードへトランザクションを発行する複数のトランザクション発行ノードから構成されるシステムであって、
    前記検証ノードそれぞれが、それぞれで管理するブロックチェーンにおいて、スマートコントラクトおよび前記スマートコントラクトの本番の実行トランザクションの他に、前記スマートコントラクトに対する評価実行トランザクション管理し、
    前記検証ノードそれぞれが、所定の前記トランザクション発行ノードが指定した評価用の所定値と、前記トランザクション発行ノードから受け取ったトランザクションが評価実行トランザクションであった際に、前記所定値を前記スマートコントラクトに入力して得た出力値とを含む、前記スマートコントラクトの検証結果を、前記ブロックチェーンにおいて前記評価実行トランザクションとあわせて管理する、または前記出力値に基づき前記スマートコントラクトに関するステート情報を更新するものである、
    ことを特徴とする信用度管理システム。
  2. 前記複数の検証ノードのそれぞれは、
    ブロックチェーンに含まれる所定の評価実行トランザクションを基準として、前記スマートコントラクトの実行トランザクションおよびその他の評価実行トランザクションの少なくともいずれかに関する信用度を所定アルゴリズムで算定する処理を更に実行するものである、
    ことを特徴とする請求項1に記載の信用度管理システム。
  3. 前記複数の検証ノードのそれぞれは、
    前記算定した信用度の高さに応じて、前記スマートコントラクトの実行可否を制御する処理を更に実行するものである、
    ことを特徴とする請求項2に記載の信用度管理システム。
  4. 前記複数の検証ノードのそれぞれは、
    前記スマートコントラクトの提供者および利用者の少なくともいずれかによる、ブロックチェーンへの前記評価実行トランザクションの登録有無に応じて、前記スマートコントラクトの実行可否を制御する処理を更に実行するものである、
    ことを特徴とする請求項1に記載の信用度管理システム。
  5. 前記複数の検証ノードのそれぞれは、
    分散台帳において、実行トランザクションおよび評価実行トランザクションのそれぞれに関する所定情報を、異なるデータ領域で管理するものである、
    ことを特徴とする請求項1に記載の信用度管理システム。
  6. 前記複数の検証ノードのそれぞれは、
    前記評価実行トランザクションを所定タイミングで自動発行して、前記スマートコントラクトの検証を実行するものである、
    ことを特徴とする請求項1に記載の信用度管理システム。
  7. 前記複数の検証ノードのそれぞれは、
    所定期間内の前記実行トランザクションと前記評価実行トランザクションのうち、前記実行トランザクションを優先的に処理するものである、ことを特徴とする請求項1に記載の信用度管理システム。
  8. 分散台帳をそれぞれ保持する複数の検証ノードと前記検証ノードへトランザクションを発行する複数のトランザクション発行ノードから構成されるシステムにおいて、
    前記検証ノードそれぞれが、それぞれで管理するブロックチェーンにおいて、スマートコントラクトおよび前記スマートコントラクトの本番の実行トランザクションの他に、前記スマートコントラクトに対する評価実行トランザクション管理し、
    前記検証ノードそれぞれが、所定の前記トランザクション発行ノードが指定した評価用の所定値と、前記トランザクション発行ノードから受け取ったトランザクションが評価実行トランザクションであった際に、前記所定値を前記スマートコントラクトに入力して得た出力値とを含む、前記スマートコントラクトの検証結果を、前記ブロックチェーンにおいて前記評価実行トランザクションとあわせて管理する、または前記出力値に基づき前記スマートコントラクトに関するステート情報を更新する
    ことを特徴とする信用度管理方法。
  9. 前記複数の検証ノードのそれぞれが、
    ブロックチェーンに含まれる所定の評価実行トランザクションを基準として、前記スマートコントラクトの実行トランザクションおよびその他の評価実行トランザクションの少なくともいずれかに関する信用度を所定アルゴリズムで算定する処理を更に実行する、
    ことを特徴とする請求項8に記載の信用度管理方法。
  10. 前記複数の検証ノードのそれぞれが、
    前記算定した信用度の高さに応じて、前記スマートコントラクトの実行可否を制御する処理を更に実行する、
    ことを特徴とする請求項9に記載の信用度管理方法。
  11. 前記複数の検証ノードのそれぞれが、
    前記スマートコントラクトの提供者および利用者の少なくともいずれかによる、ブロックチェーンへの前記評価実行トランザクションの登録有無に応じて、前記スマートコントラクトの実行可否を制御する処理を更に実行する、
    ことを特徴とする請求項8に記載の信用度管理方法。
  12. 前記複数の検証ノードのそれぞれが、
    分散台帳において、実行トランザクションおよび評価実行トランザクションのそれぞれに関する所定情報を、異なるデータ領域で管理する、
    ことを特徴とする請求項8に記載の信用度管理方法。
  13. 前記複数の検証ノードのそれぞれが、
    前記評価実行トランザクションを所定タイミングで自動発行して、前記スマートコントラクトの検証を実行する、
    ことを特徴とする請求項8に記載の信用度管理方法。
  14. 前記複数の検証ノードのそれぞれが、
    所定期間内の前記実行トランザクションと前記評価実行トランザクションのうち、前記実行トランザクションを優先的に処理する、
    ことを特徴とする請求項8に記載の信用度管理方法。
JP2017019531A 2017-02-06 2017-02-06 信用度管理システムおよび信用度管理方法 Active JP6931999B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2017019531A JP6931999B2 (ja) 2017-02-06 2017-02-06 信用度管理システムおよび信用度管理方法
US16/483,486 US11102001B2 (en) 2017-02-06 2018-01-18 Trust management system and trust management method
SG11201907267VA SG11201907267VA (en) 2017-02-06 2018-01-18 Trust management system and trust management method
PCT/JP2018/001320 WO2018142948A1 (ja) 2017-02-06 2018-01-18 信用度管理システムおよび信用度管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017019531A JP6931999B2 (ja) 2017-02-06 2017-02-06 信用度管理システムおよび信用度管理方法

Publications (3)

Publication Number Publication Date
JP2018128723A JP2018128723A (ja) 2018-08-16
JP2018128723A5 JP2018128723A5 (ja) 2020-02-20
JP6931999B2 true JP6931999B2 (ja) 2021-09-08

Family

ID=63040554

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017019531A Active JP6931999B2 (ja) 2017-02-06 2017-02-06 信用度管理システムおよび信用度管理方法

Country Status (4)

Country Link
US (1) US11102001B2 (ja)
JP (1) JP6931999B2 (ja)
SG (1) SG11201907267VA (ja)
WO (1) WO2018142948A1 (ja)

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018187873A1 (en) * 2017-04-12 2018-10-18 Royal Bank Of Canada A bid platform using smart contracts and distributed ledger
US10810004B2 (en) 2017-06-30 2020-10-20 Oracle International Corporation System and method for managing a public software component ecosystem using a distributed ledger
WO2019143475A1 (en) * 2018-01-22 2019-07-25 GrainChain, Inc. System and method for distributed, secure computing system
US10796022B2 (en) * 2018-05-16 2020-10-06 Ebay Inc. Weighted source data secured on blockchains
CN109146679B (zh) * 2018-06-29 2023-11-10 创新先进技术有限公司 基于区块链的智能合约调用方法及装置、电子设备
CN108964924B (zh) * 2018-07-24 2020-06-05 腾讯科技(深圳)有限公司 数字证书校验方法、装置、计算机设备和存储介质
WO2020035871A1 (en) * 2018-08-17 2020-02-20 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for prediction of smart contract violation using dynamic state space creation
JP7195016B2 (ja) * 2018-08-24 2022-12-23 株式会社Standage トランザクション処理方法、システムおよびプログラム
JP7320099B2 (ja) * 2018-08-29 2023-08-02 double jump.tokyo株式会社 ブロックチェーンシステム、及びブロックチェーンシステムの制御方法
JP7098734B2 (ja) * 2018-08-29 2022-07-11 double jump.tokyo株式会社 ブロックチェーンシステム、及びブロックチェーンシステムの制御方法
KR102116373B1 (ko) * 2018-08-30 2020-06-03 에이치닥 테크놀로지 아게 가상기계를 이용한 스마트 컨트랙트 시스템 및 그 처리 방법
JP7062571B2 (ja) * 2018-10-05 2022-05-06 株式会社日立製作所 組織管理支援システム、組織管理支援方法、および、組織管理支援装置
US11303442B2 (en) * 2018-10-09 2022-04-12 International Business Machines Corporation Blockchain notification board storing blockchain resources
KR102131292B1 (ko) * 2018-10-19 2020-07-07 빅픽처랩 주식회사 블록체인 기반 신뢰도 정보 관리방법
CN109544354A (zh) * 2018-10-19 2019-03-29 中国平安人寿保险股份有限公司 基于区块链的再保结算方法、电子装置及可读存储介质
JP7181455B2 (ja) * 2018-11-13 2022-12-01 日本電信電話株式会社 ブロックチェーンシステム、承認端末、利用者端末、履歴管理方法、および、履歴管理プログラム
JPWO2020122039A1 (ja) * 2018-12-11 2021-10-28 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America データ管理方法、データ管理システム及びプログラム
KR102152360B1 (ko) * 2018-12-28 2020-09-04 달리웍스 주식회사 IoT 서비스를 위한 블록체인 기반 데이터 신뢰성 제공 시스템 및 방법
JP7181663B2 (ja) 2019-01-11 2022-12-01 富士通株式会社 通信装置、通信プログラム、および分散処理方法
JP2020113209A (ja) * 2019-01-16 2020-07-27 株式会社Lcnem 情報処理システム
CN109741155A (zh) * 2019-01-29 2019-05-10 长沙理工大学 一种电力余量交易方法及相关装置
JP7257172B2 (ja) * 2019-02-14 2023-04-13 富士通株式会社 通信プログラム、通信装置、および、通信方法
CN110009513A (zh) * 2019-02-18 2019-07-12 平安科技(深圳)有限公司 针对相互保险的理赔方法、装置、设备及可读存储介质
JP7171469B2 (ja) * 2019-02-22 2022-11-15 株式会社日立製作所 構成変更管理方法、構成変更管理システム、およびノード
SG11201908748WA (en) 2019-03-06 2019-10-30 Alibaba Group Holding Ltd Managing housing scores using smart contracts in blockchain networks
JP7231449B2 (ja) * 2019-03-18 2023-03-01 株式会社日立製作所 信用分析支援方法、信用分析支援システム、およびノード
JP7137077B2 (ja) * 2019-04-02 2022-09-14 日本電信電話株式会社 ブロックチェーンシステム、承認端末、利用者端末、履歴管理方法、および、履歴管理プログラム
JP7316081B2 (ja) * 2019-04-03 2023-07-27 株式会社日立製作所 分散台帳装置、分散台帳システム、及び分散台帳管理方法
CN110138592A (zh) * 2019-04-09 2019-08-16 苏宁易购集团股份有限公司 一种智能合约的管理方法及系统
JP7221799B2 (ja) * 2019-05-31 2023-02-14 株式会社日立製作所 情報処理システム、及び情報処理システムの制御方法
US10469605B1 (en) * 2019-06-28 2019-11-05 Beatdapp Software Inc. System and method for scalably tracking media playback using blockchain
CN111213147B (zh) 2019-07-02 2023-10-13 创新先进技术有限公司 用于基于区块链的交叉实体认证的系统和方法
CN116910726A (zh) * 2019-07-02 2023-10-20 创新先进技术有限公司 用于将去中心化标识映射到真实实体的系统和方法
SG11202003757TA (en) 2019-07-02 2020-05-28 Advanced New Technologies Co Ltd System and method for issuing verifiable claims
EP3688633A4 (en) 2019-07-02 2020-10-07 Alibaba Group Holding Limited SYSTEM AND PROCEDURE FOR VERIFICATION OF VERIFICABLE CLAIMS
US11057189B2 (en) * 2019-07-31 2021-07-06 Advanced New Technologies Co., Ltd. Providing data authorization based on blockchain
US11252166B2 (en) 2019-07-31 2022-02-15 Advanced New Technologies Co., Ltd. Providing data authorization based on blockchain
US11251963B2 (en) 2019-07-31 2022-02-15 Advanced New Technologies Co., Ltd. Blockchain-based data authorization method and apparatus
CN110519246B (zh) * 2019-08-15 2021-09-28 安徽师范大学 基于信任区块链节点的信任度计算方法
CN110602236B (zh) * 2019-09-20 2021-12-14 腾讯科技(深圳)有限公司 节点控制方法、节点控制设备及存储介质
CN110688428B (zh) * 2019-09-24 2021-01-26 北京海益同展信息科技有限公司 用于发布智能合约的方法和装置
CN110659907B (zh) * 2019-09-24 2021-11-12 北京海益同展信息科技有限公司 用于执行智能合约的方法和装置
KR102269174B1 (ko) * 2019-10-07 2021-06-24 고려대학교 산학협력단 스마트 컨트랙트 검증 장치 및 방법
JP7273312B2 (ja) 2019-11-12 2023-05-15 富士通株式会社 通信プログラム、通信方法および通信装置
CN114746886A (zh) * 2019-12-19 2022-07-12 松下电器(美国)知识产权公司 控制方法、装置、以及程序
WO2021130968A1 (ja) 2019-12-26 2021-07-01 富士通株式会社 送信制御方法、送信制御プログラム及び情報処理装置
US11310051B2 (en) 2020-01-15 2022-04-19 Advanced New Technologies Co., Ltd. Blockchain-based data authorization method and apparatus
JP7384044B2 (ja) * 2020-01-16 2023-11-21 富士通株式会社 検証方法、検証装置及び検証プログラム
JP6830635B1 (ja) * 2020-02-21 2021-02-17 株式会社LayerX データ管理方法
JP7473911B2 (ja) 2020-04-21 2024-04-24 清水建設株式会社 施工情報管理システム、及び施工情報管理方法
CN111581280A (zh) * 2020-04-23 2020-08-25 傲林科技有限公司 一种基于区块链的业务处理方法、装置及存储介质
EP4141773A4 (en) 2020-04-24 2023-06-07 Fujitsu Limited CONTROL METHOD, CONTROL PROGRAM AND CONTROL DEVICE
JP7163351B2 (ja) * 2020-11-05 2022-10-31 株式会社日立製作所 電子取引システム、電子取引システムのデータ秘匿化方法
CN112561624B (zh) * 2020-11-06 2024-01-05 国网安徽省电力有限公司信息通信分公司 一种基于区块链的多维度因子的动态信用评价方法及系统
KR102378377B1 (ko) * 2020-11-13 2022-03-24 고려대학교 산학협력단 스마트 컨트랙트 내의 취약 트랜잭션 시퀀스 획득 장치 및 방법
CN116151826B (zh) * 2023-04-04 2023-08-01 广东电力交易中心有限责任公司 一种基于区块链的电力交易终端信任管理方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10340038B2 (en) * 2014-05-13 2019-07-02 Nant Holdings Ip, Llc Healthcare transaction validation via blockchain, systems and methods
JP5871347B1 (ja) * 2015-03-11 2016-03-01 株式会社Orb 仮想通貨管理プログラム、及び仮想通貨管理方法
EP3326138A4 (en) * 2015-07-24 2019-01-16 Castor Pollux Holdings S.a.r.l. DEVICE, SYSTEM AND METHOD FOR TRANSFERRING GOODS
DE102015114215A1 (de) * 2015-08-27 2017-03-02 Rwe Ag Versorgungssystem und verfahren zum betreiben eines versorgungssystems
US10762504B2 (en) * 2016-02-22 2020-09-01 Bank Of America Corporation System for external secure access to process data network
US10346428B2 (en) * 2016-04-08 2019-07-09 Chicago Mercantile Exchange Inc. Bilateral assertion model and ledger implementation thereof
JP6511017B2 (ja) 2016-06-03 2019-05-08 日本電信電話株式会社 契約合意方法、合意検証方法、契約合意装置および合意検証装置
JP6703918B2 (ja) * 2016-08-31 2020-06-03 ヤフー株式会社 生成プログラム、生成装置及び生成方法
US11128603B2 (en) * 2016-09-30 2021-09-21 Nec Corporation Method and system for providing a transaction forwarding service in blockchain implementations
US10715331B2 (en) * 2016-12-28 2020-07-14 MasterCard International Incorported Method and system for providing validated, auditable, and immutable inputs to a smart contract

Also Published As

Publication number Publication date
US20200021439A1 (en) 2020-01-16
SG11201907267VA (en) 2019-09-27
WO2018142948A1 (ja) 2018-08-09
JP2018128723A (ja) 2018-08-16
US11102001B2 (en) 2021-08-24

Similar Documents

Publication Publication Date Title
JP6931999B2 (ja) 信用度管理システムおよび信用度管理方法
US10965445B2 (en) Blockchain-based unexpected data detection
Koteska et al. Blockchain implementation quality challenges: a literature
US11694110B2 (en) Aggregated machine learning verification for database
US11153069B2 (en) Data authentication using a blockchain approach
KR102173426B1 (ko) Did 환경의 프라이버시 보호를 지원하는 공개키 인프라구조 기반 서명 및 검증 시스템과 방법
Liu et al. Elastic and cost-effective data carrier architecture for smart contract in blockchain
Mezquita et al. Legal aspects and emerging risks in the use of smart contracts based on blockchain
US20200394471A1 (en) Efficient database maching learning verification
CN111417946A (zh) 基于区块链的共识处理
JP2022548168A (ja) プライベート・ブロックチェーンからの更新のチェーン外通知
US11983608B2 (en) Efficient verification of machine learning applications
US20190354968A1 (en) Utilization Management Method, Utilization Management System, and Node
CN112527912B (zh) 基于区块链网络的数据处理方法、装置及计算机设备
US20190268153A1 (en) Event execution using a blockchain approach
CN111095863A (zh) 在区块链网络上通信、存储和处理数据的基于区块链的系统和方法
JP2022553674A (ja) 存在するチェーン・コードに基づくチェーン・コード推奨
US11874804B2 (en) Load balancing based blockchain transaction submission
JP2020160526A (ja) データ連携管理方法、データ連携管理システム、およびノード
EP3542300B1 (en) Method for operating a peer-to-peer application
Gupta et al. Proposed framework for dealing COVID-19 pandemic using blockchain technology
CN113950679A (zh) 使用预言机共识来验证测量数据集
JP2020204898A (ja) 分散台帳システムの運用管理方法、分散台帳システムの運用管理システム、および分散台帳システムの運用管理プログラム
Sharma et al. Up-to-the-minute Privacy Policies via gossips in Participatory Epidemiological Studies
Xia et al. Trust in software supply chains: Blockchain-enabled sbom and the aibom future

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191227

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210316

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210413

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210511

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210616

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: 20210803

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210817

R150 Certificate of patent or registration of utility model

Ref document number: 6931999

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150