JP6403177B1 - ブロックチェーン・ネットワークにおいてスマートコントラクトを実行可能にするための方法及び当該ネットワークを構成するためのノード - Google Patents

ブロックチェーン・ネットワークにおいてスマートコントラクトを実行可能にするための方法及び当該ネットワークを構成するためのノード Download PDF

Info

Publication number
JP6403177B1
JP6403177B1 JP2018043553A JP2018043553A JP6403177B1 JP 6403177 B1 JP6403177 B1 JP 6403177B1 JP 2018043553 A JP2018043553 A JP 2018043553A JP 2018043553 A JP2018043553 A JP 2018043553A JP 6403177 B1 JP6403177 B1 JP 6403177B1
Authority
JP
Japan
Prior art keywords
block
node
external data
value
smart contract
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
JP2018043553A
Other languages
English (en)
Other versions
JP2019103112A (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.)
BitFlyer Inc
Original Assignee
BitFlyer Inc
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 BitFlyer Inc filed Critical BitFlyer Inc
Application granted granted Critical
Publication of JP6403177B1 publication Critical patent/JP6403177B1/ja
Publication of JP2019103112A publication Critical patent/JP2019103112A/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/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3821Electronic credentials
    • 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/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
    • 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/405Establishing or using transaction specific rules
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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

Landscapes

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

Abstract

【課題】ブロックチェーン・ネットワークにおいて非決定論的な外部データを用いるスマートコントラクトを決定論的に実行可能にする。
【解決手段】第1のノード101は、メモリプールに蓄積された1又は複数のトランザクションから新たなブロックを生成する(S201)。第1のノード101は、スマートコントラクトを呼び出すトランザクションについて、そこで用いられる非決定論的な外部データを外部システムに照会し、取得データをブロック内に記憶する(S202)。生成されたブロックは、合意形成に参加する複数のノードにプロポーザルとして送信されて(S203)、各ノードにおける検証を受ける(S204)。ここで、検証はトランザクションについての検証に加えて、外部データについての検証も行う。検証プロセスにおいて所定の条件が満たされることにより、各ノードは、各ノードのブロックチェーンに当該ブロックを追加する(S205)。
【選択図】図2

Description

本発明は、ブロックチェーン・ネットワークにおいてスマートコントラクトを実行可能にするための方法及び当該ネットワークを構成するためのノードに関し、より詳細には、ブロックチェーン・ネットワークにおいて非決定論的な外部データを用いるスマートコントラクトを決定論的に実行可能にするための方法及び当該ネットワークを構成するためのノードに関する。
ブロックチェーン・ネットワーク上で契約をプログラム化又はコード化して契約対象の取引を自動的に実行可能とする「スマートコントラクト」が注目されている。たとえば、ブロックチェーン・ネットワークの各ノードは、メモリプールにトランザクションを蓄積し、プロポーザーとなるノードが、蓄積されている1又は複数のトランザクションからブロックを生成して、当該ネットワークにおいて合意形成の提案を行う。ブロックチェーンの設計によっては、トランザクション内に所望の契約内容を記述することができ、そのようなトランザクションを含むブロックの採択についての合意形成がなされた場合、当該ブロックが、各ノードが有するブロックチェーンに追加されて、当該スマートコントラクトが適宜呼び出されると記述された内容が自動的に実行可能となる。
たとえば、仮想事例として、各ノードが、ある企業の株主とその保有株数を株主名簿として有しているとする。そして、「株主Sから株主Bに株主Sの保有株式の半数を譲渡する」という取引が契約内容であるとする。各ノードに、ブロックの高さに応じて、売主となる株主Sと買主となる株主Bとを一意に選出するルールを与えておくと、この内容を呼び出すトランザクションが実行された際、当該ルールに従って株主Sと株主Bが自動的に選ばれて、譲渡が行われることになる。実行後、各ノードは、保有株数の変化に応じて株主名簿を更新する。
ここでは、特殊な事例を挙げたが、このように、契約内容に含まれる変数を一意に定めることが可能であると、ブロックチェーン・ネットワークは、各ノードが有するブロックチェーンが同一であるとともに、各ノードの状態、上述の例では株主名簿についても同一に維持することができる。
上述の仮想事例で特殊な事例を挙げたことには理由がある。各ノードにおける状態が同一に維持されなければ、ネットワーク全体としての信頼性はないところ、各ノードの状態の同一性を維持するために、記述可能な契約内容に制約が課されているのである。
たとえば、「株価が1000円を超えたら、株主Sから株主Bに株主Sの保有株数の半数を譲渡する」という取引が契約内容であるとすると、この取引の実行時に各ノードは株価の値を参照可能でなければならない。株価の値は、ブロックチェーン・ネットワーク内で参照可能なものではなく、証券取引所等の外部機関のシステムに照会しなければならない。
そして、各ノードが照会を行う時刻は厳密に一致せず、したがって、照会結果として得られる株価の値も一致しない。よって、あるノードでは株価が1000円を超えていると判定される一方、別のノードでは超えていないと判定される状況が生じ、各ノードの状態は、不整合なものとなる。
つまり、ノードによって異なり得る非決定論的(non−deterministic)な外部データを用いるスマートコントラクトは、現状の仕組みでは、実現できないという制約がある。スマートコントラクトが今後大きく普及するためには、この制約を解消し、さまざまな外部データを利用可能とすることが欠かせない。
本発明は、このような問題点に鑑みてなされたものであり、その目的は、ブロックチェーン・ネットワークにおいて非決定論的な外部データを用いるスマートコントラクトを決定論的に実行可能にするための方法及びそのためのプログラム並びに当該ネットワークを構成するためのノードを提供することにある。
ここで「決定論的」とは、いずれのノードにおいても同一の結果が得られる又はそのように評価可能であることを意味し、「非決定論的」とは、必ずしもそうではないことを意味する。
また、「スマートコントラクト」という用語は多義的であるが、本明細書では、定められた条件が満たされた場合に記述された処理を実行するコードという意味で用いる。
このような目的を達成するために、本発明の第1の態様は、ブロックチェーン・ネットワークにおいて非決定論的な外部データを用いるスマートコントラクトを実行可能にするための方法であって、前記ブロックチェーン・ネットワークを構成するノードが、スマートコントラクトを呼び出すトランザクションを含むブロックを受け取るステップと、前記ノードが、前記ブロックの検証を行うステップと、前記ノードが、前記ブロックの採択について合意が形成された後に、前記ブロックを前記ノードのブロックチェーンに追加するステップとを含み、前記ブロックは、前記外部データの値を含み、前記検証は、前記外部データの前記値の検証を含むことを特徴とする。
また、本発明の第2の態様は、第1の態様において、前記スマートコントラクトは、実行時に前記外部データを用いる条件が満たされる場合に記述された処理を実行するコードであることを特徴とする。
また、本発明の第3の態様は、第1又は第2の態様において、前記外部データの前記値は、前記ブロックチェーン・ネットワークの外部システムに照会して取得されることを特徴とする。
また、本発明の第4の態様は、第1から第3のいずれかの態様において、前記外部データは、参照先が各ノードによりアクセス先を解釈可能な形式で表されることを特徴とする。
また、本発明の第5の態様は、第1から第4のいずれかの態様において、前記ブロックは、1又は複数のトランザクションと、前記1又は複数のトランザクションにおいて用いられる1又は複数の外部データの名称の値との対応づけとを有することを特徴とする。
また、本発明の第6の態様は、第1から第5のいずれかの態様において、前記検証は、各ノードにあらかじめ記憶された検証規則に基づいて行われることを特徴とする。
また、本発明の第7の態様は、第1から第5のいずれかの態様において、前記検証は、前記スマートコントラクトにて用いられる外部データの引数として定められた検証規則に基づいて行われることを特徴とする。
また、本発明の第8の態様は、第6又は第7の態様において、前記検証規則は、前記外部データの前記値が前記ノードが取得する値と所定の範囲内にある場合に有効と判定することを特徴とする。
また、本発明の第9の態様は、コンピュータに、ブロックチェーン・ネットワークにおいて非決定論的な外部データを用いるスマートコントラクトを実行可能にするための方法を実行させるためのプログラムであって、前記方法は、前記ブロックチェーン・ネットワークを構成するノードが、スマートコントラクトを呼び出すトランザクションを含むブロックを受け取るステップと、前記ノードが、前記ブロックの検証を行うステップと、前記ノードが、前記ブロックの採択について合意が形成された後に、前記ブロックを前記ノードのブロックチェーンに追加するステップとを含み、前記ブロックは、前記外部データの値を含み、前記検証は、前記外部データの前記値の検証を含むことを特徴とする。
また、本発明の第10の態様は、非決定論的な外部データを用いるスマートコントラクトを実行可能なブロックチェーン・ネットワークを構成するためのノードであって、スマートコントラクトを呼び出すトランザクションを含むブロックを受け取って、前記ブロックの検証を行い、前記ブロックの採択について合意が形成された後に、前記ブロックを前記ノードのブロックチェーンに追加し、前記ブロックは、前記外部データの値を含み、前記検証は、前記外部データの前記値の検証を含むことを特徴とする。
本発明の一態様によれば、非決定論的な外部データを用いるスマートコントラクトを呼び出すトランザクションを含むブロックの検証時に、外部データの値の検証を行っておくことによって、当該スマートコントラクトの自動実行時に必要となるパラメータが非決定論的となることを回避し、さまざまな外部データを利用可能にすることができる。
本発明の一実施形態にかかるブロックチェーン・ネットワークを示す図である。 本発明の一実施形態にかかるブロックチェーン・ネットワークにおけるプロポーザー・ノードの動作を示す流れ図である。 本発明の一実施形態にかかるブロックのデータ構造を概略的に示す図である。
以下、本発明の実施形態を詳細に説明する。
図1に、本発明の第1の実施形態にかかるブロックチェーン・ネットワークを示す。ネットワーク100は、第1のノード101と、第2のノード102と、第3のノード103と、第4のノード104とを備える。これらのノードは、それぞれブロックチェーンを有し、新たなブロックの採択にかかる合意形成に参加する。図1では、4個の例を示しているが、これはあくまで例示である。また、合意形成に参加しないノードがネットワーク100に含まれることもある。以下では、第1のノード101が合意形成のプロポーザーである場合について説明する。
第1のノード101は、通信インターフェースなどの通信部101Aと、プロセッサ、CPU等の処理部101Bと、メモリ、ハードディスク等の記憶装置又は記憶媒体を含む記憶部101Cとを備え、各処理を行うためのプログラムを実行することによって構成することができ、1又は複数の装置ないしサーバを含むことがあり、また当該プログラムは、1又は複数のプログラムを含むことがあり、また、コンピュータ読み取り可能な記憶媒体に記録して非一過性のプログラムプロダクトとすることができる。
第1のノード101は、記憶部101C又は第1のノード101からアクセス可能な記憶装置又は記憶媒体をメモリプールとして蓄積した1又は複数のトランザクションから新たなブロックを生成する(S201)。これらのトランザクションのうちの少なくとも1つは、スマートコントラクトを呼び出すものである。スマートコントラクトのトランザクションにおける呼び出しは、当該トランザクション内にスマートコントラクト自体を記述しておくことを含んでもよい。
第1のノード101は、スマートコントラクトを呼び出すトランザクションについて、当該スマートコントラクトが用いる非決定論的な外部データを外部システムに照会する。たとえば、当該スマートコントラクトが「株価が1000円を超えたら、株主Sから株主Bに株主Sの保有株数の半数を譲渡する」というコードである場合、株価データを証券取引所システム110に照会する。
たとえば、株価をこれが外部データであることを所定の形式で表し、ブロックの生成時に、又はその前後に、第1のノード101が当該所定の形式を解釈して、指定された取得先から株価データを取得するようにすることができる。一例として、
Ext (<URL>, <名称>)
のような関数の形式で外部データを表現することができる。「Ext」によって外部(external)であることを示し、指定されたURLがコンピュータ・ネットワーク上の参照先を示す。名称は、上述の形式のほか、たとえば株価(share price)の場合には
Ext_shr (<URL>)
のように表すこともできる。
参照先は、必ずしも同一である必要はなく、各ノードがアクセス先を解釈可能な形式で表すこともできる。たとえば、株価コードを参照先とし、各ノードにおいて、当該株価コードの株価を与える異なる情報源ないしアクセス先より取得してもよい。
取得されたデータは、生成されるブロックに、1又は複数のトランザクションに加えて含まれる(S202)。外部データが1つである場合には、当該外部データの名称を定めることは必ずしも必要ではないが、複数である可能性がある場合には、それぞれの外部データに名称を与えて、名称に値を関連づけた外部データリストとして、ブロックに含ませることができる。ここで、外部データの値はリスト形式に限られず、名称と値との対応づけが保持されていればよい。
図3に、本実施形態にかかるブロックのデータ構造の一例を示す。ブロック300は、ヘッダ310と、ボディ320と、追加データ330と、エビデンス340とを有する。必ずしもこのように区分されることは必要ではないが、ボディ320には、1又は複数のトランザクション(tx)が含まれ、追加データ330には、これらのトランザクションにおいて用いられる1又は複数の外部データの名称又はキー(k)と値(v)との対応づけが含まれる。
第1のサーバ101は、生成したブロックを合意形成に参加する複数のノード(自ノードを含んでもよい。)にプロポーザルとして送信する(S203)。当該ブロックを受信した各ノードでは、あらかじめ定められた検証規則(validation rule)に基づいて、当該ブロックの検証を行い(S204)、所定の条件が満たされることにより、当該ブロックの採択についての合意がネットワーク100において形成される。
ここで、本実施形態において、検証規則はトランザクションについての検証に加えて、外部データについての検証も行う。たとえば、当該ブロックを受信した第2のノード102を例に考えると、第2のノード102は、証券取引所システム110に株価を照会して株価データを取得し、当該ブロックに含まれる株価の値と比較して、その差が所定の範囲内であれば有効(valid)であると判定することができる。両者の差が±5%であれば真を返し、そうでなければ偽を返すという規則が一例である。外部データの検証規則は、各ノードにあらかじめ記憶しておくことができ、また、参照先、名称のように外部データ関数の引数として持たせてもよく、外部データの定義に含めてもよい。
ネットワーク100において合意形成がなされた後は、各ノードは、各ノードのブロックチェーンに当該ブロックを追加し(S205)、記述された内容が実行される。
このように、非決定論的な外部データを用いるスマートコントラクトを呼び出すトランザクションを含むブロックの合意形成の際に、外部データの検証を行っておくことで、当該スマートコントラクトの自動実行時に必要となるパラメータが非決定論的となることを回避し、各ノードの状態変化を整合させることができる。
非決定論的な外部データとしては、外部データベース乃至外部システムのクエリ結果が挙げられる。
代替的に、外部データについては、ブロックチェーン・ネットワーク100から取得可能なデータとしてもよく、時刻、乱数等が挙げられる。これらのデータは、たとえば、各ノードが自ノードから取得することがある。
上述の説明では、スマートコントラクト又はそれが呼び出されるトランザクション内で外部データ関数の定義を行うことを考えているが、外部データ関数を定義したトランザクションを作成し、それを含むブロックについて事前に合意しておけば、当該ブロックの後のブロックにおいて当該外部データ関数を参照してスマートコントラクト内で用いることができる。
なお、「××のみに基づいて」、「××のみに応じて」、「××のみの場合」というように「のみ」との記載がなければ、本明細書においては、付加的な情報も考慮し得ることが想定されていることに留意されたい。
また、念のため、なんらかの方法、プログラム、端末、装置、サーバ又はシステム(以下「方法等」)において、本明細書で記述された動作と異なる動作を行う側面があるとしても、本発明の各態様は、本明細書で記述された動作のいずれかと同一の動作を対象とするものであり、本明細書で記述された動作と異なる動作が存在することは、当該方法等を本発明の各態様の範囲外とするものではないことを付言する。
100 ブロックチェーン・ネットワーク
101 第1のノード
101A 通信部
101B 処理部
101C 記憶部
102 第2のノード
103 第3のノード
104 第4のノード
110 外部システム
300 ブロック
310 ヘッダ
320 ボディ
330 追加データ
340 エビデンス

Claims (6)

  1. ブロックチェーン・ネットワークにおいて非決定論的な外部データを用いるスマートコントラクトを実行可能にするための方法であって、
    前記ブロックチェーン・ネットワークを構成するノードが、スマートコントラクトを呼び出すトランザクションを含むブロックを受け取るステップと、
    前記ノードが、前記ブロックの検証を行うステップと、
    前記ノードが、前記ブロックの採択について合意が形成された後に、前記ブロックを前記ノードのブロックチェーンに追加するステップと
    を含み、
    前記ブロックは、前記外部データの値を含み、
    前記外部データは、参照先が各ノードによりアクセス先を解釈可能な形式で表され、
    前記検証は、前記ブロックに含まれる前記外部データの前記値を、前記ノードが前記アクセス先より取得する値と比較して行うことを含むことを特徴とする方法。
  2. 前記ブロックに含まれる前記外部データの前記値は、前記ブロックチェーン・ネットワークの外部システムに照会して取得された値であることを特徴とする請求項に記載の方法。
  3. 前記ブロックは、
    1又は複数のトランザクションと、
    前記1又は複数のトランザクションにおいて用いられる1又は複数の外部データの名称とその値との対応づけと
    を有するデータ構造であることを特徴とする請求項1又は2に記載の方法。
  4. 前記検証は、前記スマートコントラクトにて用いられる外部データの引数として定められた検証規則に基づいて行われることを特徴とする請求項1からのいずれかに記載の方法。
  5. コンピュータに、ブロックチェーン・ネットワークにおいて非決定論的な外部データを
    用いるスマートコントラクトを実行可能にするための方法を実行させるためのプログラム
    であって、前記方法は、
    前記ブロックチェーン・ネットワークを構成するノードが、スマートコントラクトを呼
    び出すトランザクションを含むブロックを受け取るステップと、
    前記ノードが、前記ブロックの検証を行うステップと、
    前記ノードが、前記ブロックの採択について合意が形成された後に、前記ブロックを前
    記ノードのブロックチェーンに追加するステップと
    を含み、
    前記ブロックは、前記外部データの値を含み、
    前記外部データは、参照先が各ノードによりアクセス先を解釈可能な形式で表され、
    前記検証は、前記ブロックに含まれる前記外部データの前記値を、前記ノードが前記アクセス先より取得する値と比較して行うことを含むことを特徴とするプログラム。
  6. 非決定論的な外部データを用いるスマートコントラクトを実行可能なブロックチェーン・ネットワークを構成するためのノードであって、
    スマートコントラクトを呼び出すトランザクションを含むブロックを受け取って、前記ブロックの検証を行い、
    前記ブロックの採択について合意が形成された後に、前記ブロックを前記ノードのブロックチェーンに追加し、
    前記ブロックは、前記外部データの値を含み、
    前記外部データは、参照先が各ノードによりアクセス先を解釈可能な形式で表され、
    前記検証は、前記ブロックに含まれる前記外部データの前記値を、前記ノードが前記アクセス先より取得する値と比較して行うことを含むことを特徴とするノード。
JP2018043553A 2017-12-01 2018-03-09 ブロックチェーン・ネットワークにおいてスマートコントラクトを実行可能にするための方法及び当該ネットワークを構成するためのノード Active JP6403177B1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017231509A JP2019101719A (ja) 2017-12-01 2017-12-01 ブロックチェーン・ネットワークにおいてスマートコントラクトを実行可能にするための方法及び当該ネットワークを構成するためのノード

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2017231509A Division JP2019101719A (ja) 2017-12-01 2017-12-01 ブロックチェーン・ネットワークにおいてスマートコントラクトを実行可能にするための方法及び当該ネットワークを構成するためのノード

Publications (2)

Publication Number Publication Date
JP6403177B1 true JP6403177B1 (ja) 2018-10-10
JP2019103112A JP2019103112A (ja) 2019-06-24

Family

ID=66664625

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2017231509A Pending JP2019101719A (ja) 2017-12-01 2017-12-01 ブロックチェーン・ネットワークにおいてスマートコントラクトを実行可能にするための方法及び当該ネットワークを構成するためのノード
JP2018043553A Active JP6403177B1 (ja) 2017-12-01 2018-03-09 ブロックチェーン・ネットワークにおいてスマートコントラクトを実行可能にするための方法及び当該ネットワークを構成するためのノード

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2017231509A Pending JP2019101719A (ja) 2017-12-01 2017-12-01 ブロックチェーン・ネットワークにおいてスマートコントラクトを実行可能にするための方法及び当該ネットワークを構成するためのノード

Country Status (5)

Country Link
US (1) US20210174357A1 (ja)
EP (1) EP3720041A4 (ja)
JP (2) JP2019101719A (ja)
CN (1) CN112005523A (ja)
WO (1) WO2019107565A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109993669A (zh) * 2019-04-11 2019-07-09 北京启迪区块链科技发展有限公司 一种购房资格审核方法、装置、设备及存储介质
JP2020502618A (ja) * 2018-11-30 2020-01-23 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited バイナリログ複製に基づくブロックチェーンデータ関係構造化スキーム
JP2020511808A (ja) * 2018-12-19 2020-04-16 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited 共有秘密ベースのブロックチェーン記憶

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019101719A (ja) * 2017-12-01 2019-06-24 株式会社bitFlyer ブロックチェーン・ネットワークにおいてスマートコントラクトを実行可能にするための方法及び当該ネットワークを構成するためのノード
KR102231867B1 (ko) * 2019-07-29 2021-03-24 현대오토에버 주식회사 블록체인 네트워크에서의 데이터 검증 시스템 및 방법
EP3792849A1 (en) * 2019-09-10 2021-03-17 Hitachi, Ltd. Apparatus and method for generating evaluation data of facilities and projects
CN110545286B (zh) * 2019-09-18 2022-04-26 腾讯科技(深圳)有限公司 加入联盟链、退出联盟链的方法、装置、设备及存储介质
WO2021108978A1 (zh) * 2019-12-03 2021-06-10 深圳市网心科技有限公司 验证人节点选择方法、电子设备、系统及介质
CN111339109B (zh) 2020-02-21 2024-01-12 百度在线网络技术(北京)有限公司 一种区块链的资源处理方法、装置、设备和介质
SG10202101048PA (en) 2021-02-01 2021-06-29 Aqilliz Pte Ltd Systems and methods for recording an indeterministic transaction on a distributed ledger network
CN117178269A (zh) * 2021-04-28 2023-12-05 三菱电机株式会社 数据验证装置、数据验证方法和数据验证程序
CN113395354B (zh) * 2021-06-30 2022-11-29 中国农业银行股份有限公司 基于区块链的合约调用方法和合约调用系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160260095A1 (en) * 2015-03-02 2016-09-08 Dell Products, Lp Containerized Computational Task Execution Management Using a Secure Distributed Transaction Ledger
US20170287090A1 (en) * 2016-03-31 2017-10-05 Clause, Inc. System and method for creating and executing data-driven legal contracts

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016161073A1 (en) * 2015-03-31 2016-10-06 Nasdaq, Inc. Systems and methods of blockchain transaction recordation
US10339523B2 (en) * 2015-07-14 2019-07-02 Fmr Llc Point-to-point transaction guidance apparatuses, methods and systems
US11562353B2 (en) * 2015-11-24 2023-01-24 Mastercard International Incorporated Method and system for gross settlement by use of an opaque blockchain
US10026118B2 (en) * 2016-02-22 2018-07-17 Bank Of America Corporation System for allowing external validation of data in a process data network
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
CN106603698A (zh) * 2016-12-28 2017-04-26 北京果仁宝科技有限公司 基于dpos的区块链共识方法和节点
US10516525B2 (en) * 2017-08-24 2019-12-24 International Business Machines Corporation System and method for detecting anomalies in examinations
US10963400B2 (en) * 2017-10-11 2021-03-30 International Business Machines Corporation Smart contract creation and monitoring for event identification in a blockchain
JP2019101719A (ja) * 2017-12-01 2019-06-24 株式会社bitFlyer ブロックチェーン・ネットワークにおいてスマートコントラクトを実行可能にするための方法及び当該ネットワークを構成するためのノード

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160260095A1 (en) * 2015-03-02 2016-09-08 Dell Products, Lp Containerized Computational Task Execution Management Using a Secure Distributed Transaction Ledger
US20170287090A1 (en) * 2016-03-31 2017-10-05 Clause, Inc. System and method for creating and executing data-driven legal contracts

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
東角 芳樹、外2名: "コンソーシアムチェーンにおける証明書管理に関する一考察", 2017年 暗号と情報セキュリティシンポジウム(SCIS2017)予稿集, JPN6018022981, 24 January 2017 (2017-01-24), JP, pages p1-4 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020502618A (ja) * 2018-11-30 2020-01-23 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited バイナリログ複製に基づくブロックチェーンデータ関係構造化スキーム
JP2020511808A (ja) * 2018-12-19 2020-04-16 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited 共有秘密ベースのブロックチェーン記憶
JP7005639B2 (ja) 2018-12-19 2022-01-21 アドバンスド ニュー テクノロジーズ カンパニー リミテッド 共有秘密ベースのブロックチェーン記憶
CN109993669A (zh) * 2019-04-11 2019-07-09 北京启迪区块链科技发展有限公司 一种购房资格审核方法、装置、设备及存储介质

Also Published As

Publication number Publication date
US20210174357A1 (en) 2021-06-10
EP3720041A4 (en) 2021-08-04
WO2019107565A1 (ja) 2019-06-06
EP3720041A1 (en) 2020-10-07
JP2019101719A (ja) 2019-06-24
CN112005523A (zh) 2020-11-27
JP2019103112A (ja) 2019-06-24

Similar Documents

Publication Publication Date Title
JP6403177B1 (ja) ブロックチェーン・ネットワークにおいてスマートコントラクトを実行可能にするための方法及び当該ネットワークを構成するためのノード
US11336465B2 (en) Sending cross-chain authenticatable messages
TWI701617B (zh) 跨區塊鏈的互動方法及裝置、系統、電子設備
US10868865B2 (en) System and apparatus to manage data using a peer-to-peer network and the blockchain
US11170371B2 (en) Method for managing data in a network of nodes
US20200177572A1 (en) Sending cross-chain authenticatable messages
CN110249307A (zh) 用于在区块链上执行原生合约的系统和方法
CN111201754A (zh) 用于提供区块链的环节的密码学保护的和经过滤的以及经排序的交易数据集的集合的设备
CN113795369A (zh) 使用分布式账本进行唯一项创建
US11087279B2 (en) Database code execution
US10904316B2 (en) Data processing method and apparatus in service-oriented architecture system, and the service-oriented architecture system
CN111737726A (zh) 基于业务数据区块链的关系数据查询方法及装置
US20200202355A1 (en) Storage and execution of smart contracts in blockchains
Zichichi et al. Complex queries over decentralised systems for geodata retrieval
CN112269915B (zh) 业务处理方法、装置、设备及存储介质
Yiu Decentralizing supply chain anti-counterfeiting systems using blockchain technology
TW202101441A (zh) 跨鏈發送可認證訊息的方法和裝置
CN111488353A (zh) 业务数据区块链的智能合约实现方法及装置
CN111488610A (zh) 基于业务数据区块链的状态数据查询方法及装置
CN111488611B (zh) 业务数据区块链的关系数据存储方法及装置
CN111488352A (zh) 基于业务数据区块链的积分兑换方法及装置
CN104391928A (zh) 动态构建多维模型定义的装置和方法
JP2008517387A (ja) 推論ロジックを用いた協働処理
CN111488606B (zh) 基于业务数据区块链的数据共享方法及装置
Vitoi et al. Sharing the digital product memory on the supply chain in the context of Industry 4.0

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180309

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20180309

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20180606

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180619

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180719

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180905

R150 Certificate of patent or registration of utility model

Ref document number: 6403177

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250