JP6940182B2 - ブロックチェーン管理装置、ブロックチェーン管理方法及びプログラム - Google Patents

ブロックチェーン管理装置、ブロックチェーン管理方法及びプログラム Download PDF

Info

Publication number
JP6940182B2
JP6940182B2 JP2019502407A JP2019502407A JP6940182B2 JP 6940182 B2 JP6940182 B2 JP 6940182B2 JP 2019502407 A JP2019502407 A JP 2019502407A JP 2019502407 A JP2019502407 A JP 2019502407A JP 6940182 B2 JP6940182 B2 JP 6940182B2
Authority
JP
Japan
Prior art keywords
contract
transaction
block
execution result
storage unit
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
JP2019502407A
Other languages
English (en)
Other versions
JPWO2018158936A1 (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Publication of JPWO2018158936A1 publication Critical patent/JPWO2018158936A1/ja
Application granted granted Critical
Publication of JP6940182B2 publication Critical patent/JP6940182B2/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/02Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • 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
    • 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
    • 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/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/3247Cryptographic 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 digital 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
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Signal Processing (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Finance (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Description

本発明は、ブロックチェーン管理装置、ブロックチェーン管理方法及びプログラムに関する。特に、コントラクト検証機能を持つブロックチェーン管理装置、ブロックチェーン管理方法及びプログラムに関する。
近年、ビットコイン(非特許文献1を参照)を代表として、中央管理サーバーを必要とせず誰もが参加可能なピアツーピア(Peer to Peer:P2P)ネットワークで、ネットワークに参加するすべてのノード間で共通の台帳を管理することが可能な、ブロックチェーンの普及が拡大している。
ビットコインに代表されるブロックチェーンはブロックチェーンの管理に参加するブロックチェーン管理ノードがブロックチェーン上に蓄積する履歴情報(以下、トランザクションと呼ぶ)を発行するトランザクション発行者から発行されたトランザクションを蓄積する台帳格納手段と、トランザクションを検証するトランザクション検証手段とブロックチェーン管理ノード間で蓄積するトランザクションの内容を同一にする合意形成手段を持つ。台帳格納手段に蓄積されるトランザクションはデータ構造として一つまたは複数のトランザクションをまとめた単位をブロックとし、当該ブロックの中に前のブロックのハッシュ値を含むという特徴を持つ。
そして、ブロックチェーンは概略以下のように動作する。各ブロックチェーン管理ノードは一人または複数のトランザクション発行者から発行された一つまたは複数のトランザクション情報を受信し、トランザクション検証手段が検証を行い、検証を通過したトランザクションのみを集約する。各ブロックチェーン管理ノードで前記集約されたトランザクションは異なるため、合意形成手段により蓄積するトランザクションを同一にする。合意形成手段により各ブロックチェーン管理ノードで同一となった一つまたは複数のトランザクションを台帳格納手段に格納する。
このような構成及び動作により、ブロックチェーン管理ノードとして悪意のあるノードが参加した場合でも改ざんが困難かつ、各ブロックチェーン管理ノードで同一のトランザクションが蓄積されていく。
ビットコインは台帳上で仮想通貨の支払履歴を管理することで、ブロックチェーン上に仮想通貨システムを実現している。
なお、上記先行技術文献の各開示を、本書に引用をもって繰り込むものとする。以下の分析は、本発明者らによってなされたものである。
ブロックチェーンは、ビットコインの管理に留まらない。例えば、プログラムまたはプログラムのハッシュ値及びプログラムへの入力・出力をブロックチェーンに登録・蓄積することで、プログラムの実行結果が正しいことを保証することができる。このような機能はたとえばイーサリアムと呼ばれるオープンソースソフトウェアで実現されている。このようなブロックチェーンを用いてプログラムの実行結果を保証することはスマートコントラクトと呼ばれ、ここで用いられるプログラムはコントラクトと呼ばれる。スマートコントラクトにおいてコントラクトは、コントラクトへの入力がブロックチェーン上に登録されるたびに、ブロックチェーンを管理する各ノードでそれぞれ個別に実行される。コントラクトの実行結果を登録する際には各ノードで実行結果の検証が行われ、合意形成手段により合意形成がされるため、正しい実行結果のみが登録されることとなる。
スマートコントラクトはプログラムが正しく実行されることが保証されるため、契約をプログラム化することで契約の自動執行などに利用することができる。たとえばプログラムの入力として条件にあった仮想通貨の支払がされた場合に、何らかの権利を自動的に支払元に移転するといったことが可能となる。
しかしながら、スマートコントラクトではあくまでコントラクトに記述された内容が正しく実行されたことのみが保証される。このため、コントラクトの中にバグ等により意図しない動作が記述されていた場合には、コントラクトを呼び出した利用者にとって意図しない挙動を示すことになる。その結果、ブロックチェーン上で管理された権利等が他者に奪われるなどの不利益を被る可能性がある。利用者が不利益を被らないようにするためには、利用者はコントラクトを精査し、意図しない挙動を起こさないかどうかを検証しなくてはならない。しかしながら、すべての利用者がこのような検証を行うことは困難であり、現実的とはいえない。
このように、スマートコントラクトを安全に利用するには利用者がそれぞれコントラクトの検証を行い、意図しない動作が行われないことを確認した上で利用する必要がある。従って、各利用者に要求される検証コストが非常に大きくなる。
本発明の目的は、個々の利用者がコントラクトの検証を行わなくともスマートコントラクトを安全に利用可能にするブロックチェーン管理装置、ブロックチェーン管理方法及びプログラムを提供することにある。
本発明の第1の視点によれば、コントラクト、コントラクトへの入力及びコントラクトの実行結果のうち少なくとも1つを含むトランザクションを一つ以上含むブロックを受信するブロック受信部と、前記ブロックに含まれるトランザクションが正当であることを検証するトランザクション検証部と、前記ブロックに含まれるトランザクションがトランザクション検証部により正当であると検証された場合に、他のブロックチェーン管理装置と当該ブロックを書き込むことに対して合意形成を行う合意形成部と、前記合意形成されたブロックを格納する台帳格納部と、を備え、前記トランザクション検証部は、コントラクトの安全性を保証する保証者の公開鍵を少なくとも一つ格納する保証者情報格納部と、前記トランザクションがコントラクトにより構成される場合にトランザクションに含まれる署名を前記保証者情報格納部に格納された保証者の公開鍵で検証するコントラクト署名検証部と、前記トランザクションがコントラクトの実行結果により構成される場合にトランザクションに含まれるコントラクトの実行結果が対応するコントラクト及びコントラクトの入力に対して正しいことを検証するコントラクト実行結果検証部と、を備える、ブロックチェーン管理装置が提供される。
本発明の第2の視点によれば、コントラクト、コントラクトへの入力及びコントラクトの実行結果のうち少なくとも1つを含むトランザクションを一つ以上含むブロックを受信するステップと、前記ブロックに含まれるトランザクションが正当であることを検証するステップと、前記ブロックに含まれるトランザクションが正当であると検証された場合に、他のブロックチェーン管理装置と当該ブロックを書き込むことに対して合意形成を行うステップと、前記合意形成されたブロックを台帳格納部に格納するステップと、を含み、前記トランザクションが正当であることを検証するステップは、前記トランザクションがコントラクトにより構成される場合にトランザクションに含まれる署名を、コントラクトの安全性を保証する保証者の公開鍵を少なくとも一つ格納する保証者情報格納部に格納された保証者の公開鍵で検証するステップと、前記トランザクションがコントラクトの実行結果により構成される場合にトランザクションに含まれるコントラクトの実行結果が対応するコントラクト及びコントラクトの入力に対して正しいことを検証するステップと、を含む、ブロックチェーン管理方法が提供される。
本発明の第3の視点によれば、コントラクト、コントラクトへの入力及びコントラクトの実行結果のうち少なくとも1つを含むトランザクションを一つ以上含むブロックを受信する処理と、前記ブロックに含まれるトランザクションが正当であることを検証する処理と、前記ブロックに含まれるトランザクションが正当であると検証された場合に、他のブロックチェーン管理装置と当該ブロックを書き込むことに対して合意形成を行う処理と、前記合意形成されたブロックを台帳格納部に格納する処理と、をコンピュータに実行させるプログラムであって、前記トランザクションが正当であることを検証する処理は、前記トランザクションがコントラクトにより構成される場合にトランザクションに含まれる署名を、コントラクトの安全性を保証する保証者の公開鍵を少なくとも一つ格納する保証者情報格納部に格納された保証者の公開鍵で検証し、前記トランザクションがコントラクトの実行結果により構成される場合にトランザクションに含まれるコントラクトの実行結果が対応するコントラクト及びコントラクトの入力に対して正しいことを検証する、プログラムが提供される。
なお、このプログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。記憶媒体は、半導体メモリ、ハードディスク、磁気記録媒体、光記録媒体等の非トランジェント(non-transient)なものとすることができる。本発明は、コンピュータプログラム製品として具現することも可能である。
本発明の各視点によれば、個々の利用者がコントラクトの検証を行わなくともスマートコントラクトを安全に利用可能にすることに寄与する、ブロックチェーンの管理装置、管理方法及びプログラムが、提供される。
第1の実施形態の係るブロックチェーン管理装置の一例を示すブロック図である。 第1の実施形態に係るブロックチェーン管理装置の動作を示すフローチャートである。 第1の実施形態に係るブロック受信部が受信したブロックの一例を示す図である。 第1の実施形態に係る台帳格納部に格納されるデータの一例を表す図である。 第1の実施形態に係るトランザクション検証部の動作を示すフローチャートである。 第1の実施形態に係る保証者情報格納部に格納された保証者の公開鍵の一例を示す図である。 第1の実施形態に係る合意形成部の動作を示すフローチャートである。 他のブロックチェーン管理装置の一例を示すブロック図である。 第1の実施形態にブロックチェーン管理装置のハードウェア構成の一例を示すブロック図である。
初めに、一実施形態の概要について説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、この概要の記載はなんらの限定を意図するものではない。また、各図におけるブロック間の接続線は、双方向及び単方向の双方を含む。一方向矢印については、主たる信号(データ)の流れを模式的に示すものであり、双方向性を排除するものではない。
一実施形態に係るブロックチェーンの管理装置100は、ブロック受信部110と、トランザクション検証部120と、合意形成部130と、台帳格納部140と、を備える(図1参照)。ブロック受信部110は、ブロックチェーンのネットワークに送信されたコントラクトやコントラクトへの入力及び出力を含むトランザクションを一つまたは複数含むブロックを受信する。トランザクション検証部120は、ブロックに含まれるトランザクションが正当であることを検証する。合意形成部130は、他のブロックチェーン管理装置との間で受信したブロックを蓄積するかどうかを合意する。前記台帳格納部は、合意形成部によって合意されたブロックを蓄積する。さらに、トランザクション検証部120は、コントラクトに意図しない動作が入らないことを精査し保証を行う保証者の公開鍵を一つ以上含む保証者情報格納部122と、コントラクトに少なくとも一人の保証者による署名が付与されていることを検証するコントラクト署名検証部121と、コントラクトの実行結果が正しいことを検証するコントラクト実行結果検証部123とを含む。
上記一実施形態に係るブロックチェーン管理装置100は、概略以下のように動作する。まず、ブロック受信部110が他のブロックチェーン管理装置からブロックを受信する。そして、ブロックに含まれるすべてのトランザクションについてトランザクション検証部120によって検証を行う。この検証では、トランザクションがコントラクトの場合にはコントラクト署名検証部121が保証者による署名が付与しているかを検証し、コントラクトの実行結果の場合にはコントラクト実行結果検証部123が、コントラクトが正しく実行されたことを検証する。そして、ブロックに含まれるすべてのトランザクションの検証結果が正しい場合に、ブロックは正しいと判定される。そして、合意形成部130が他のノードと合意形成し、台帳格納部140に正しいと判定されたブロックだけを追加する。
本願開示では、保証者によって精査されたコントラクトのみがコントラクト署名検証部121で正しいと判定され、すべてのトランザクションが正しい場合にのみブロックが台帳格納部140に格納されるため、保証者によって精査されたコントラクトだけが台帳格納部140に格納されることになる。このため、スマートコントラクトの利用者は利用可能なすべてのコントラクトが保証者によって検証済みであることが保証されているため、自ら検証しなくても安全にスマートコントラクトを利用可能となる。即ち、ピアツーピアで共通の台帳を管理するブロックチェーンを用いて、ブロックチェーン上に登録されたプログラムの実行結果が正しいことが保証可能なスマートコントラクト機能を持つブロックチェーン管理装置に関し、特に検証されたコントラクトだけが実行されることを保証可能なブロックチェーン管理装置が提供される。
以下に具体的な実施の形態について、図面を参照してさらに詳しく説明する。なお、各実施形態において同一構成要素には同一の符号を付し、その説明を省略する。
[第1の実施形態]
次に、第1の実施形態について図面を参照して具体例を交えながら詳細に説明する。なお、各図面は、本発明の実施形態を説明するものである。ただし、本発明は、各図面の記載に限られるわけではない。また、各図面の同様の構成には、同じ番号を付し、その繰り返しの説明を、省略する場合がある。また、以下の説明に用いる図面において、本発明の説明に関係しない部分の構成については、記載を省略し、図示しない場合もある。
図1は、第1の実施形態に関わるブロックチェーン管理装置100の構成の一例を示すブロック図である。
図1を参照すると、ブロックチェーン管理装置100は、ブロック受信部110と、トランザクション検証部120と、合意形成部130と、台帳格納部140と、を含んで構成される。さらに、トランザクション検証部120は、コントラクト署名検証部121と、保証者情報格納部122と、コントラクト実行結果検証部123と、を含んで構成される。
ブロック受信部110は、直前のブロックから算出されるハッシュ値と、コード又はバイナリで表されるコントラクトやコントラクトへの入力やコントラクトの実行結果やその他の任意のデータのいずれかを含むトランザクションを一つまたは複数含むブロックを受信する手段である。
保証者情報格納部122は、コントラクトが意図しない動作をしないことを検証する保証者の公開鍵を少なくとも一つ格納する手段である。つまり、保証者情報格納部122は、コントラクトの安全性を保証する保証者の公開鍵を少なくとも一つ格納する。
コントラクト署名検証部121は、トランザクションがコントラクトにより構成される場合に当該トランザクションに含まれるコントラクトに付与された署名を保証者情報格納部122に格納された保証者の公開鍵を用いて検証する手段である。
コントラクト実行結果検証部123は、トランザクションに含まれるコントラクトの実行結果が正しいことを検証する手段である。具体的には、コントラクト実行結果検証部123は、トランザクションがコントラクトの実行結果により構成される場合にトランザクションに含まれるコントラクトの実行結果が対応するコントラクト及びコントラクトの入力に対して正しいことを検証する。
合意形成部130は、他のブロックチェーン管理装置との間で前記受信したブロックを蓄積するかどうかを合意する(合意を形成する)手段である。具体的には、合意形成部130は、ブロックに含まれるトランザクションがトランザクション検証部120により正当であると検証された場合に、他のブロックチェーン管理装置と当該ブロックを書き込むことに対して合意形成を行う。例えば、合意形成部130は、受信ブロックから所定のルールで算出されるハッシュ値と、システムに与えられる又は台帳格納部140に格納された複数のブロックから算出される目標値と、を比較し、比較結果が事前に定められた条件を満たす場合に他のブロックチェーン管理装置と合意形成ができたと判断する。
台帳格納部140は、合意形成部130によって合意されたブロックを蓄積する手段である。
次に、ブロックチェーン管理装置100の動作を、具体例を交えながら詳細に説明する。
まず、図2のフローチャートを用いてブロックチェーン管理装置100が保証者によって保証されたコントラクトのみを台帳格納部140に格納する動作について説明する。
まず、ブロック受信部110がブロックを受信する(ステップS101)。たとえば、図3に示すようなブロックを受信したとする。このブロックは前のブロックのハッシュ値と、合意形成部130で使用されるノンス(Nonce)と呼ばれる値と、トランザクションの集合を含んでいる。そして、トランザクションの集合はコントラクトとコントラクトへの入力、コントラクトの実行結果を含んでいる。図3では各トランザクションはトランザクションを識別するトランザクションID(Identifier)やトランザクションがコントラクトなのかコントラクトの入力や実行結果なのかといったトランザクションのタイプを識別する情報と、トランザクションの実体と、を含んでいる。
次に、ブロックに含まれるすべてのトランザクションに対してトランザクション検証部120が検証を行う(ステップS102)。ここでの検証の内容については、図5のフローチャートを用いて、後述する。ここでは、すべてのトランザクションが正しいと検証されたとする。
次に、トランザクション検証部120は、前記ブロックに含まれるトランザクションがすべて正しいと検証されたかどうかを判定する(ステップS103)。すべて正しい場合にはステップS105へ、そうでない場合にはステップS104へ処理が遷移する。
前記ブロックに含まれる一部のトランザクションが検証の結果正しくないと判定された場合には、トランザクション検証部120は、ブロックを破棄する(ステップS104)。
次に、前記ブロックに含まれるすべてのトランザクションが正しいと判断された場合、合意形成部130が他のブロックチェーン管理装置100と合意形成を行う(ステップS105)。合意形成の仕方については図7のフローチャートを用いて、後述する。上記の例ではすべてのトランザクションが正しいと判定されたため、ステップS105が実行される。
最後に、合意形成部130は、他のブロックチェーン管理装置100と合意形成できたブロックを台帳格納部140に格納する。ここでは、台帳格納部140は図4のように台帳にブロックを追加する。図4では台帳はブロックの高さとブロック本体を含んでいる。
上述の説明で用いたフローチャートでは、複数の工程(処理)が順番に記載されているが、実行される工程の実行順序は、その記載の順番に制限されない。例えば、ステップS102〜S104はその実行順序が異なっていてもよい。たとえば、合意形成部130が合意形成をするステップS105の最中にトランザクション検証部120によるトランザクションの検証ステップS102を実行してもよい。
次に、図5のフローチャートを用いて図2に示すステップS102におけるトランザクション検証部120がトランザクションを検証する動作について詳細に説明する。
まず、トランザクション検証部120に検証対象となるトランザクションが入力される(ステップS201)。ここではたとえば、図3に示すブロックに含まれる3つのトランザクションがそれぞれ入力されたとする。
次に、トランザクション検証部120は、トランザクションのタイプが何かを判定する(ステップS202)。トランザクションのタイプを判定するにはトランザクションの中に直接記載されている場合には当該情報を参照してもよいし、記載されていない場合にはトランザクションに記述されている内容からトランザクションのタイプを判定するのでもよい。たとえば、コードやバイナリが含まれている場合にはコントラクトと判定できるなどの判定方法を用いてもよい。図3に示すブロックに含まれるトランザクションの形式ではトランザクションのタイプが含まれているため、それぞれトランザクションIDが1000のトランザクションのタイプがコントラクト、トランザクションIDが1001のトランザクションのタイプがコントラクトの入力、トランザクションIDが1002のトランザクションのタイプがコントラクトの実行結果と判定できる。判定した結果タイプがコントラクトの場合にはステップS203へ、コントラクトの実行結果の場合にはステップS206へ処理が遷移する。なお、上記以外のタイプの場合(例えば、コントラクトの入力)には検証を行わずに検証結果が正しいと判定してよいし、別途ルールがある場合にはその他のタイプの場合にもルールに則した検証を行ってもよい。
次に、トランザクションのタイプがコントラクトの場合には、コントラクト署名検証部121が保証者情報格納部122から保証者の公開鍵を取得する(ステップS203)。たとえば図6に示すように保証者情報格納部122に格納された保証者の公開鍵が3つ格納されていた場合、すべての公開鍵を取得する。
次に、コントラクト署名検証部121がトランザクションに含まれる署名を前記保証者の公開鍵で検証する(ステップS204)。前記保証者の公開鍵が複数ある場合にはそれらの中のいずれかで署名が検証できればよい。また、トランザクションに複数の署名が含まれている場合には、すべての署名がそれぞれに対応する保証者の公開鍵で検証されれば正しいと判定してもよいし、トランザクションに含まれる複数の署名の内、事前に定めた個数の署名さえ検証できれば一部の署名が検証できなくても正しいと判定してもよい。ここでは、図3に示すトランザクションIDが1000のトランザクションには署名が一つだけ含まれるため、前記保証者情報格納部122に格納された3つのうちいずれか1つの署名で検証ができればよい。ここでは、仮に図6の最上段の公開鍵”MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEHbd2oef3hfC6dI/lvWx/CWaeaDfJ2rRupY3v/ydM0MeuX5Jhmk5ulAo0NHehOr9UD9kMZkyDXcRPjVphGiSy9Q”で署名の検証ができたとする。
次に、署名が正しいと検証された場合に、コントラクト署名検証部121は、検証結果が正しいと返す(ステップS205)。上記のように図3に示すトランザクションIDが1000のトランザクションは署名が正しいと検証されたため、検証結果が正しいと返される。
次に、ステップS202でトランザクションのタイプがコントラクトの実行結果の場合には、コントラクト実行結果検証部123は、コントラクトの実行結果が導出されたコントラクトの入力及びコントラクトを特定する(ステップS206)。ここでは図3に示したブロックの中でトランザクションIDが1002のトランザクションが、タイプがコントラクトの実行結果であると判断される。そして、コントラクト実行結果検証部123は、当該トランザクションの中に含まれる入力のトランザクションIDを参照し、該当するトランザクションIDが1001のトランザクションを台帳格納部140やブロック受信部110が受信しているブロックの中から取得することでコントラクトの入力を取得できる。取得したコントラクトの入力を表すトランザクションである、トランザクションIDが1001のトランザクションの中にはコントラクトIDが記述されている。コントラクト実行結果検証部123は、コントラクトIDが10であるコントラクトを台帳格納部140やブロック受信部110が受信しているブロックから取得することでコントラクトを取得できる。ここではトランザクションIDが1000のトランザクションで登録されるコントラクトが取得される。このようにコントラクトの入力やコントラクトはその識別子となる情報により特定してもよいし、具体的な値がコントラクトの実行結果とともに記述されていてもよく、その特定方法は問わない。
次に、コントラクト実行結果検証部123は、コントラクトの入力とコントラクトを用いてコントラクトを実行する(ステップS207)。コントラクトの実行は、コードとして登録されたコントラクトをスクリプト実行基盤が実行してもよいし、バイナリとして登録されたコントラクトをそのまま実行してもよく、また仮想環境上で実行してもよく、実行方法は問わない。例えば、コントラクト実行結果検証部123は、コントラクトIDが10のコントラクトには入力された仮想通貨保有量を投票権に100:1の割合で変換する処理を行うとすると、コントラクトの入力としてトランザクションIDが1001のトランザクションにはユーザXの仮想通貨が100入力されているため、ユーザXに投票権が1渡されることとなる。このため、ユーザXの仮想通貨保有量がもともと1000だった場合仮想通貨保有量が900となり、ユーザXの投票権が0だった場合に投票権が1となる。
次に、コントラクト実行結果検証部123は、実行結果が、前記トランザクションに含まれるコントラクトの実行結果と一致するかを判定する(ステップS208)。例えば、コントラクト実行結果検証部123は、ステップS207で計算された実行結果が図3に示すトランザクションIDが1002のトランザクションに記載された実行結果と一致するか否かを確認することで上記判定を行う。
最後に、実行結果が一致する場合に、コントラクト実行結果検証部123は、検証結果が正しいと返す(ステップS209)。
次に、図7のフローチャートを用いて合意形成部130が合意形成する動作の一例について詳細に説明する。なお、本実施の形態では一例としてビットコインで採用されているProof of Workと呼ばれる仕組みによる合意形成について説明するが、他の合意形成方法でもよく、合意形成の方法については問わない。
まず、合意形成部130は、ブロックのハッシュ値を取得する(ステップS301)。ハッシュ値はブロック全体に対して取得してもよいし、ブロックの特徴を要約した値について取得するものでもよい。ここでは、図3に示すブロックのハッシュ値を16進数で表した時、“0000000000000000000000000000000000000000000000002bcad85e7b40d3a4”であったとする。
最後に、合意形成部130は、ブロックのハッシュ値が目標値より小さいかどうかを判定し、小さい場合に合意形成ができたとする(ステップS302)。ここで目標値は事前にシステムに固有の値が決定されているのでもよいし、以前のブロックを参照して計算して生成されるのでもよい。ここで、図3に示されたブロックに対する目標値が、“0000000000000000000000000000000000000000000000010000000000000000”であった場合、前述した図3のブロックのハッシュ値は、当該目標値より小さいため、合意形成ができたと判定される。
このような合意形成の方法はProof of Workと呼ばれ、ブロックを生成する際に、図3のブロックに示すようなnonceと呼ばれる値を変化させ、ブロックのハッシュ値が目標値より小さくなるようにブロックを生成する。ハッシュ値からnonceを逆算することはできないことから、総当たりでnonceを試す必要があるため、ブロックの生成にはある程度の計算コストと時間を所要する。ブロックの生成にかかる時間は目標値によってコントロールでき、たとえばビットコインでは直近のいくつかのブロックの生成間隔から、今後もブロックの生成にかかる時間が10分程度になるように調整される。Proof of Workを用いる合意形成部130は、計算コストを掛けて生成されたブロックかどうかを、ブロックのハッシュ値によって検証できる。ブロックチェーンのネットワークに参加している大部分のブロックチェーン管理装置100が同じルールに従ってブロックのハッシュ値を検証し、検証を通過したブロックのみを台帳格納部140に格納するブロックとすることで、ネットワーク全体では合意を形成することができる。
また、本実施の形態のブロックチェーン管理装置100は図8のように、トランザクション発行者または他のブロックチェーン管理装置100からトランザクションを受信するトランザクション受信部150と、台帳格納部140に格納された直前のブロックのハッシュ値と受信したトランザクションを一つ以上まとめてブロックを生成するブロック生成部160を含んでいてもよい。そしてブロック生成部160は前述したProof of Workで合意形成をするために、一定の条件を満たすブロックを生成する機能を有していてもよい。つまり、ブロック生成部160は、ブロックから所定のルールで算出されるハッシュ値が、システムに与えられる又は台帳格納部140に格納された複数のブロックから算出される目標値と比較して事前に定められた条件を満たすようにブロックを生成する。
次に、第1の実施形態に係るブロックチェーン管理装置100のハードウェア構成を説明する。
図9は、第1の実施形態にブロックチェーン管理装置100のハードウェア構成の一例を示すブロック図である。ブロックチェーン管理装置100は、所謂、コンピュータ(情報処理装置)により構成可能であり、図9に例示する構成を備える。例えば、ブロックチェーン管理装置100は、内部バスにより相互に接続される、CPU(Central Processing Unit)101、メモリ102、入出力インターフェイス103及び通信インターフェイスであるNIC(Network Interface Card)104等を備える。
但し、図9に示す構成は、ブロックチェーン管理装置100のハードウェア構成を限定する趣旨ではない。ブロックチェーン管理装置100は、図示しないハードウェアを含んでもよいし、必要に応じて入出力インターフェイス103を備えていなくともよい。また、ブロックチェーン管理装置100に含まれるCPU等の数も図9の例示に限定する趣旨ではなく、例えば、複数のCPUがブロックチェーン管理装置100に含まれていてもよい。
メモリ102は、RAM(Random Access Memory)、ROM(Read Only Memory)、補助記憶装置(ハードディスク等)である。
入出力インターフェイス103は、図示しない表示装置や入力装置のインターフェイスである。表示装置は、例えば、液晶ディスプレイ等である。入力装置は、例えば、キーボードやマウス等のユーザ操作を受け付ける装置や、USB(Universal Serial Bus)メモリ等の外部記憶装置から情報を入力する装置である。ユーザは、キーボードやマウス等を用いて、必要な情報をブロックチェーン管理装置100に入力する。
ブロックチェーン管理装置100の機能は、上述の処理モジュールにより実現される。当該処理モジュールは、例えば、メモリ102に格納されたプログラムをCPU101が実行することで実現される。また、そのプログラムは、ネットワークを介してダウンロードするか、あるいは、プログラムを記憶した記憶媒体を用いて、更新することができる。さらに、上記処理モジュールは、半導体チップにより実現されてもよい。即ち、上記処理モジュールが行う機能は、何らかのハードウェア及び/又はソフトウェアにより実現できればよい。また、コンピュータの記憶部に、上述したコンピュータプログラムをインストールすることにより、コンピュータをブロックチェーン管理装置100として機能させることができる。さらにまた、上述したコンピュータプログラムをコンピュータに実行させることにより、コンピュータによりブロックチェーン管理方法を実行することができる。
次に本実施形態の効果について説明する。以上のように、本実施形態のブロックチェーン管理装置100は、ブロックチェーンに登録されるコントラクトが保証者によって検証されたものに限られ、コントラクトの利用者が自らコントラクトの検証を行わなくとも安心安全にコントラクトの実行が可能なブロックチェーンを提供することができる。
その理由は、次のとおりである。本実施形態のブロックチェーン管理装置100はトランザクション検証部120のコントラクト署名検証部121が保証者情報格納部122に格納された保証者の公開鍵でコントラクトに付与された署名を検証し、ブロック受信部110が受信したブロックに含まれるすべてのトランザクションがトランザクション検証部120で正しいと検証された場合に限り合意形成部130が、他のブロックチェーン管理装置100と合意形成を行い、合意形成できたブロックだけを台帳格納部140に格納するため、保証者による署名のないコントラクトを含むブロックは台帳格納部140には格納されないためである。
なお、引用した上記の特許文献等の各開示は、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の全開示の枠内において種々の開示要素(各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
100 ブロックチェーン管理装置
101 CPU(Central Processing Unit)
102 メモリ
103 入出力インターフェイス
104 NIC(Network Interface Card)
110 ブロック受信部
120 トランザクション検証部
121 コントラクト署名検証部
122 保証者情報格納部
123 コントラクト実行結果検証部
130 合意形成部
140 台帳格納部
150 トランザクション受信部
160 ブロック生成部

Claims (8)

  1. コントラクト、コントラクトへの入力及びコントラクトの実行結果のうち少なくとも1つを含むトランザクションを一つ以上含むブロックを受信するブロック受信部と、
    前記ブロックに含まれるトランザクションが正当であることを検証するトランザクション検証部と、
    前記ブロックに含まれるトランザクションが前記トランザクション検証部により正当であると検証された場合に、他のブロックチェーン管理装置と当該ブロックを書き込むことに対して合意形成を行う合意形成部と、
    前記合意形成されたブロックを格納する台帳格納部と、
    を備え、
    前記トランザクション検証部は、
    コントラクトの安全性を保証する保証者の公開鍵を少なくとも一つ格納する保証者情報格納部と、
    前記トランザクションがコントラクトにより構成される場合にトランザクションに含まれる署名を前記保証者情報格納部に格納された保証者の公開鍵で検証するコントラクト署名検証部と、
    前記トランザクションがコントラクトの実行結果により構成される場合にトランザクションに含まれるコントラクトの実行結果が対応するコントラクト及びコントラクトの入力に対して正しいことを検証するコントラクト実行結果検証部と、
    を備え、
    前記合意形成部は、
    前記受信したブロックから所定のルールで算出されるハッシュ値と、システムに与えられる又は前記台帳格納部に格納された複数のブロックから算出される目標値と、を比較し、比較結果が事前に定められた条件を満たす場合に他のブロックチェーン管理装置と合意形成ができたと判断する、
    ブロックチェーン管理装置。
  2. 前記コントラクト実行結果検証部は、
    前記トランザクションに記載されたコントラクトやコントラクトの入力の識別子を用いて、コントラクトの実行結果に対応するコントラクト及びコントラクトの入力を前記受信したブロック又は前記台帳格納部から取得し、前記対応するコントラクトとコントラクトの入力を用いてコントラクトを実行する、請求項1に記載のブロックチェーン管理装置。
  3. トランザクションを受信するトランザクション受信部と、
    前記台帳格納部に格納された最新のブロックから算出されるハッシュ値と、前記トランザクション受信部が受信したトランザクションを一つ以上まとめてブロックを生成するブロック生成部と
    をさらに備える、請求項1または2に記載のブロックチェーン管理装置。
  4. 前記ブロック生成部は、
    ブロックから所定のルールで算出されるハッシュ値が、システムに与えられる又は前記台帳格納部に格納された複数のブロックから算出される目標値と比較して事前に定められた条件を満たすようにブロックを生成する、請求項3に記載のブロックチェーン管理装置。
  5. コントラクト、コントラクトへの入力及びコントラクトの実行結果のうち少なくとも1つを含むトランザクションを一つ以上含むブロックを受信するステップと、
    前記ブロックに含まれるトランザクションが正当であることを検証するステップと、
    前記ブロックに含まれるトランザクションが正当であると検証された場合に、他のブロックチェーン管理装置と当該ブロックを書き込むことに対して合意形成を行うステップと、
    前記合意形成されたブロックを台帳格納部に格納するステップと、
    をコンピュータが実行するブロックチェーン管理方法であって、
    前記トランザクションが正当であることを検証するステップは、
    前記トランザクションがコントラクトにより構成される場合にトランザクションに含まれる署名を、コントラクトの安全性を保証する保証者の公開鍵を少なくとも一つ格納する保証者情報格納部に格納された保証者の公開鍵で検証するステップと、
    前記トランザクションがコントラクトの実行結果により構成される場合にトランザクションに含まれるコントラクトの実行結果が対応するコントラクト及びコントラクトの入力に対して正しいことを検証するステップと、
    を含
    前記合意形成を行うステップは、
    前記受信したブロックから所定のルールで算出されるハッシュ値と、システムに与えられる又は前記台帳格納部に格納された複数のブロックから算出される目標値と、を比較し、比較結果が事前に定められた条件を満たす場合に他のブロックチェーン管理装置と合意形成ができたと判断する
    ブロックチェーン管理方法。
  6. 前記コントラクトの実行結果が対応するコントラクト及びコントラクトの入力に対して正しいことを検証するステップは、
    前記トランザクションに記載されたコントラクトやコントラクトの入力の識別子を用いて、コントラクトの実行結果に対応するコントラクト及びコントラクトの入力を前記受信したブロック又は前記台帳格納部から取得し、前記対応するコントラクトとコントラクトの入力を用いてコントラクトを実行する、請求項5に記載のブロックチェーン管理方法。
  7. トランザクションを受信するステップと、
    前記台帳格納部に格納された最新のブロックから算出されるハッシュ値と、前記受信されたトランザクションを一つ以上まとめてブロックを生成するステップと
    をさらに含む、請求項5または6に記載のブロックチェーン管理方法。
  8. コントラクト、コントラクトへの入力及びコントラクトの実行結果のうち少なくとも1つを含むトランザクションを一つ以上含むブロックを受信する処理と、
    前記ブロックに含まれるトランザクションが正当であることを検証する処理と、
    前記ブロックに含まれるトランザクションが正当であると検証された場合に、他のブロックチェーン管理装置と当該ブロックを書き込むことに対して合意形成を行う処理と、
    前記合意形成されたブロックを台帳格納部に格納する処理と、
    をコンピュータに実行させるプログラムであって、
    前記トランザクションが正当であることを検証する処理は、
    前記トランザクションがコントラクトにより構成される場合にトランザクションに含まれる署名を、コントラクトの安全性を保証する保証者の公開鍵を少なくとも一つ格納する保証者情報格納部に格納された保証者の公開鍵で検証し、
    前記トランザクションがコントラクトの実行結果により構成される場合にトランザクションに含まれるコントラクトの実行結果が対応するコントラクト及びコントラクトの入力に対して正しいことを検証
    前記合意形成を行う処理は、
    前記受信したブロックから所定のルールで算出されるハッシュ値と、システムに与えられる又は前記台帳格納部に格納された複数のブロックから算出される目標値と、を比較し、比較結果が事前に定められた条件を満たす場合に他のブロックチェーン管理装置と合意形成ができたと判断する、
    プログラム。
JP2019502407A 2017-03-03 2017-03-03 ブロックチェーン管理装置、ブロックチェーン管理方法及びプログラム Active JP6940182B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/008508 WO2018158936A1 (ja) 2017-03-03 2017-03-03 ブロックチェーン管理装置、ブロックチェーン管理方法及びプログラム

Publications (2)

Publication Number Publication Date
JPWO2018158936A1 JPWO2018158936A1 (ja) 2020-01-16
JP6940182B2 true JP6940182B2 (ja) 2021-09-22

Family

ID=63369846

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019502407A Active JP6940182B2 (ja) 2017-03-03 2017-03-03 ブロックチェーン管理装置、ブロックチェーン管理方法及びプログラム

Country Status (3)

Country Link
US (1) US20190386834A1 (ja)
JP (1) JP6940182B2 (ja)
WO (1) WO2018158936A1 (ja)

Families Citing this family (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11694520B2 (en) 2016-04-22 2023-07-04 Americorp Investments Llc System and method for purchasing lottery tickets
US10762479B2 (en) * 2017-04-05 2020-09-01 Samsung Sds Co., Ltd. Method and system for processing blockchain-based real-time transaction
US11436597B1 (en) * 2017-05-01 2022-09-06 Wells Fargo Bank, N.A. Biometrics-based e-signatures for pre-authorization and acceptance transfer
US11445015B2 (en) * 2017-05-16 2022-09-13 Sony Corporation Information processing apparatus and method for processing information
US11238449B2 (en) * 2017-12-18 2022-02-01 Nec Corporation Efficient validation of transaction policy compliance in a distributed ledger system
US11257073B2 (en) 2018-01-31 2022-02-22 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing machine learning models for smart contracts using distributed ledger technologies in a cloud based computing environment
US10701054B2 (en) 2018-01-31 2020-06-30 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing super community and community sidechains with consent management for distributed ledger technologies in a cloud based computing environment
US20190238316A1 (en) * 2018-01-31 2019-08-01 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing intelligent consensus, smart consensus, and weighted consensus models for distributed ledger technologies in a cloud based computing environment
US11429967B2 (en) * 2018-03-13 2022-08-30 Nec Corporation Mechanism for efficient validation of finality proof in lightweight distributed ledger clients
CN113537984A (zh) * 2018-06-26 2021-10-22 创新先进技术有限公司 基于区块链的内容验证方法及装置、电子设备
CN109165945B (zh) * 2018-09-07 2021-04-16 腾讯科技(深圳)有限公司 代表节点设备选举方法、装置、计算机设备及存储介质
CN109345240B (zh) * 2018-09-13 2022-03-04 海智(天津)大数据服务有限公司 一种基于区块链的电子营业执照应用系统和方法
US11288280B2 (en) 2018-10-31 2022-03-29 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing consumer data validation, matching, and merging across tenants with optional verification prompts utilizing blockchain
US11568437B2 (en) 2018-10-31 2023-01-31 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing commerce rewards across tenants for commerce cloud customers utilizing blockchain
WO2019072280A2 (en) * 2018-11-27 2019-04-18 Alibaba Group Holding Limited EXECUTION OF MULTI-PARTY TRANSACTIONS USING INTELLIGENT CONTRACTS
CN109587131B (zh) * 2018-11-29 2021-05-14 北京链化未来科技有限公司 一种区块链网络间数据通信方法和装置
JP2020107151A (ja) * 2018-12-28 2020-07-09 株式会社メルカリ 情報処理方法、プログラム、及び情報処理装置
US11811769B2 (en) 2019-01-31 2023-11-07 Salesforce, Inc. Systems, methods, and apparatuses for implementing a declarative, metadata driven, cryptographically verifiable multi-network (multi-tenant) shared ledger
US11876910B2 (en) 2019-01-31 2024-01-16 Salesforce, Inc. Systems, methods, and apparatuses for implementing a multi tenant blockchain platform for managing Einstein platform decisions using distributed ledger technology (DLT)
US11244313B2 (en) 2019-01-31 2022-02-08 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing declarative smart actions for coins and assets transacted onto a blockchain using distributed ledger technology (DLT)
US11488176B2 (en) 2019-01-31 2022-11-01 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing certificates of authenticity of digital twins transacted onto a blockchain using distributed ledger technology (DLT)
KR102702745B1 (ko) * 2019-01-31 2024-09-04 주식회사 하나은행 자동차 정보 공유 장치 및 이를 이용한 서비스 제공 방법
US11971874B2 (en) 2019-01-31 2024-04-30 Salesforce, Inc. Systems, methods, and apparatuses for implementing efficient storage and validation of data and metadata within a blockchain using distributed ledger technology (DLT)
US11824864B2 (en) 2019-01-31 2023-11-21 Salesforce, Inc. Systems, methods, and apparatuses for implementing a declarative and metadata driven blockchain platform using distributed ledger technology (DLT)
US11899817B2 (en) 2019-01-31 2024-02-13 Salesforce, Inc. Systems, methods, and apparatuses for storing PII information via a metadata driven blockchain using distributed and decentralized storage for sensitive user information
US11783024B2 (en) 2019-01-31 2023-10-10 Salesforce, Inc. Systems, methods, and apparatuses for protecting consumer data privacy using solid, blockchain and IPFS integration
US11875400B2 (en) 2019-01-31 2024-01-16 Salesforce, Inc. Systems, methods, and apparatuses for dynamically assigning nodes to a group within blockchains based on transaction type and node intelligence using distributed ledger technology (DLT)
US11803537B2 (en) 2019-01-31 2023-10-31 Salesforce, Inc. Systems, methods, and apparatuses for implementing an SQL query and filter mechanism for blockchain stored data using distributed ledger technology (DLT)
US11886421B2 (en) 2019-01-31 2024-01-30 Salesforce, Inc. Systems, methods, and apparatuses for distributing a metadata driven application to customers and non-customers of a host organization using distributed ledger technology (DLT)
WO2019120326A2 (en) * 2019-03-29 2019-06-27 Alibaba Group Holding Limited Managing sensitive data elements in a blockchain network
CN110033272A (zh) * 2019-04-03 2019-07-19 中国工商银行股份有限公司 基于区块链的保函数据处理方法、设备以及系统
CN110223200A (zh) * 2019-04-16 2019-09-10 深圳壹账通智能科技有限公司 智能合约维护方法、装置、电子设备及存储介质
CN110163753A (zh) * 2019-04-23 2019-08-23 阿里巴巴集团控股有限公司 基于区块链的房屋信息存证、应用方法和装置
CN110111104A (zh) * 2019-04-23 2019-08-09 矩阵元技术(深圳)有限公司 区块链智能合约实现方法、装置、计算机设备和存储介质
US11038771B2 (en) 2019-04-26 2021-06-15 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing a metadata driven rules engine on blockchain using distributed ledger technology (DLT)
US11880349B2 (en) 2019-04-30 2024-01-23 Salesforce, Inc. System or method to query or search a metadata driven distributed ledger or blockchain
US11995647B2 (en) 2019-04-30 2024-05-28 Salesforce, Inc. System and method of providing interoperable distributed and decentralized ledgers using consensus on consensus and delegated consensus
CN110049066B (zh) * 2019-05-23 2020-05-26 中国科学院软件研究所 一种基于数字签名和区块链的资源访问授权方法
CN110602133B (zh) * 2019-09-20 2021-04-09 腾讯科技(深圳)有限公司 智能合约处理方法、区块链管理设备及存储介质
CN110490590B (zh) * 2019-09-27 2023-12-15 腾讯科技(深圳)有限公司 基于区块链的活动记录查询方法、装置、设备及存储介质
JP6880255B2 (ja) * 2020-01-14 2021-06-02 アドバンスド ニュー テクノロジーズ カンパニー リミテッド ブロックチェーン機密トランザクションの管理
US11824970B2 (en) 2020-01-20 2023-11-21 Salesforce, Inc. Systems, methods, and apparatuses for implementing user access controls in a metadata driven blockchain operating via distributed ledger technology (DLT) using granular access objects and ALFA/XACML visibility rules
US12099997B1 (en) 2020-01-31 2024-09-24 Steven Mark Hoffberg Tokenized fungible liabilities
US11611560B2 (en) 2020-01-31 2023-03-21 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing consensus on read via a consensus on write smart contract trigger for a distributed ledger technology (DLT) platform
KR102415982B1 (ko) * 2020-02-13 2022-06-30 우석대학교 산학협력단 블록체인 시스템
CN111339109B (zh) 2020-02-21 2024-01-12 百度在线网络技术(北京)有限公司 一种区块链的资源处理方法、装置、设备和介质
CN111275555B (zh) * 2020-02-24 2023-08-22 中国工商银行股份有限公司 区块链交易处理方法、交易节点以及区块链系统
WO2020098840A2 (en) * 2020-02-24 2020-05-22 Alipay (Hangzhou) Information Technology Co., Ltd. Blockchain-based consensus process
CN111338849B (zh) * 2020-02-24 2023-07-07 扬州制汇互联信息技术有限公司 一种基于区块链的工业需求合约执行方法
CN111581627A (zh) * 2020-05-11 2020-08-25 北京精准沟通传媒科技股份有限公司 一种数据处理方法、装置及电子设备
CN111600720B (zh) * 2020-05-20 2021-09-28 腾讯科技(深圳)有限公司 基于区块链的数据处理方法、装置、设备及可读存储介质
KR102367523B1 (ko) 2020-08-11 2022-02-25 홍익대학교 산학협력단 분산 합의 시스템 및 합의 네트워크 서버
CN112085600A (zh) * 2020-09-04 2020-12-15 芜湖明轩科技有限公司 区块链智能合约方法、电子设备、计算机可读存储介质及区块链系统
CN113568981B (zh) * 2021-09-24 2022-01-07 腾讯科技(深圳)有限公司 一种交易数据处理方法、装置、设备以及介质
GB2612798A (en) * 2021-11-11 2023-05-17 Ecoradlt Ltd Distributed ledger system
CN114723564B (zh) * 2022-06-01 2022-10-28 杭州天谷信息科技有限公司 一种区块链生成方法以及区块链结构
CN117408694A (zh) * 2022-07-07 2024-01-16 腾讯科技(深圳)有限公司 数据处理方法、装置及设备、介质、产品
CN117035785B (zh) * 2023-08-09 2024-05-14 云海链控股股份有限公司 一种区块链共识方法、装置、设备及计算机可读存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11282672A (ja) * 1998-03-31 1999-10-15 Hitachi Software Eng Co Ltd オンラインプログラム転送方法およびオンラインプログラム実行システム
US6928550B1 (en) * 2000-01-06 2005-08-09 International Business Machines Corporation Method and system for generating and using a virus free file certificate
EP1420323A1 (en) * 2002-11-18 2004-05-19 Koninklijke KPN N.V. Method and system for distribution of software components

Also Published As

Publication number Publication date
WO2018158936A1 (ja) 2018-09-07
JPWO2018158936A1 (ja) 2020-01-16
US20190386834A1 (en) 2019-12-19

Similar Documents

Publication Publication Date Title
JP6940182B2 (ja) ブロックチェーン管理装置、ブロックチェーン管理方法及びプログラム
JP7461417B2 (ja) セキュアなオフチェーンのブロックチェーントランザクション
JP7537721B2 (ja) 安全なブロックチェーンベースのコンセンサス
US20240078554A1 (en) Techniques For Expediting Processing Of Blockchain Transactions
CN108764870B (zh) 基于区块链的交易处理方法及装置、电子设备
US11210661B2 (en) Method for providing payment gateway service using UTXO-based protocol and server using same
JP7236991B2 (ja) ブロックチェーンにより実現される方法及びシステム
KR101950912B1 (ko) 블록체인 기반 트랜잭션 검증 시스템 및 그 방법
US20190172026A1 (en) Cross blockchain secure transactions
AU2023201476A1 (en) Business Process Execution on a blockchain platform
US11556924B2 (en) Blockchain-based payment withholding and agreement signing method, apparatus, and electronic device
CN108898021B (zh) 基于区块链的威胁情报处理方法、系统及计算设备
WO2015116998A2 (en) Electronic transfer and obligation enforcement system
CN110084600B (zh) 决议事务请求的处理、验证方法、装置、设备及介质
US10733583B2 (en) Blockchain-based withholding operations
JPWO2019038839A1 (ja) ブロックチェーン管理装置、ブロックチェーン管理方法及びプログラム
CN109981586B (zh) 一种节点标记方法及装置
JP2018101367A (ja) 情報処理システム、情報処理方法、プログラム及び情報処理装置
JP2022532764A (ja) プルーフオブワークブロックチェーンネットワークにおける非並列化マイニングのためのシステムおよび方法
US20220114276A1 (en) Controlling a data network with respect to a use of a distributed database
US20190251532A1 (en) Systems and methods for providing distributed licensing and subscription management
WO2021121030A1 (zh) 一种资源转移的方法及结账终端、服务器节点
CN110009348B (zh) 一种区块链的代理签名方法、系统及电子设备
US20240020696A1 (en) Information processing apparatus, and information processing system
Vashistha et al. Blockchain in Smart Power Grid Infrastructure

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190902

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200310

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200501

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20200526

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200729

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20200729

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20200904

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20200908

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20201204

C211 Notice of termination of reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C211

Effective date: 20201208

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20201215

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20210330

C302 Record of communication

Free format text: JAPANESE INTERMEDIATE CODE: C302

Effective date: 20210428

C13 Notice of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: C13

Effective date: 20210511

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210527

C23 Notice of termination of proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C23

Effective date: 20210629

C03 Trial/appeal decision taken

Free format text: JAPANESE INTERMEDIATE CODE: C03

Effective date: 20210803

C30A Notification sent

Free format text: JAPANESE INTERMEDIATE CODE: C3012

Effective date: 20210803

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210826

R150 Certificate of patent or registration of utility model

Ref document number: 6940182

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150