JP7460348B2 - ブロックチェーンの拡張を可能にするトランザクション処理システムおよび方法 - Google Patents

ブロックチェーンの拡張を可能にするトランザクション処理システムおよび方法 Download PDF

Info

Publication number
JP7460348B2
JP7460348B2 JP2019185221A JP2019185221A JP7460348B2 JP 7460348 B2 JP7460348 B2 JP 7460348B2 JP 2019185221 A JP2019185221 A JP 2019185221A JP 2019185221 A JP2019185221 A JP 2019185221A JP 7460348 B2 JP7460348 B2 JP 7460348B2
Authority
JP
Japan
Prior art keywords
chain
leaf
contract
remittance
request
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
JP2019185221A
Other languages
English (en)
Other versions
JP2020109617A (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.)
Line Plus Corp
Original Assignee
Line Plus 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 Line Plus Corp filed Critical Line Plus Corp
Publication of JP2020109617A publication Critical patent/JP2020109617A/ja
Application granted granted Critical
Publication of JP7460348B2 publication Critical patent/JP7460348B2/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/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3676Balancing accounts
    • 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
    • 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
    • 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/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
    • G06Q20/0658Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash e-cash managed locally
    • 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/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • G06Q20/108Remote banking, e.g. home banking
    • 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/22Payment schemes or models
    • G06Q20/223Payment schemes or models based on the use of peer-to-peer networks
    • 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/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • 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/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3674Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes involving authentication
    • 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/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3678Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes e-cash details, e.g. blinded, divisible or detecting double spending
    • 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/3827Use of message hashing
    • 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/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/389Keeping log of transactions for guaranteeing non-repudiation of a transaction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • 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

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

Description

特許法第30条第2項適用 掲載日2018年10月11日、ウェブサイトで「ブロックチェーンの拡張を可能にするトランザクション処理システムおよび方法」について公開した。
以下の説明は、ブロックチェーンの拡張を可能にするトランザクション処理システムおよび方法に関する。
ブロックチェーン(block-chain)とは、電子台帳(electronic ledger)であって、トランザクションのためのブロックで構成されたコンピュータ基盤の分散型、P2P(peer-to-peer)のシステムで実現される。各トランザクション(Transaction:Tx)は、ブロックチェーンシステム内の参加者同士にデジタル資産の制御送信をエンコードするデータ構造であり、少なくとも1つの入力と少なくとも1つの出力を含む。各ブロックには以前ブロックのハッシュが含まれ、該当のブロックはともに連結し、すべてのブロックチェーンに記録されたすべてのトランザクションの永久的かつ不変的な(unalterable)記録を生成する。例えば、特許文献1は、ブロックチェーン基盤のユーザ定義貨幣取引システムおよびその動作方法を開示している。このようなブロックチェーン自体は、スケールアウト(scale out)できない。例えば、ブロックチェーンネットワークでブロックを生成するためのノードを追加しても、ブロック生成のための合意の費用が増加するだけで、トランザクションに対するブロック生成速度は増加しない。
韓国公開特許第10-2018-0113143号公報
ルートチェーンを基盤としてリーフチェーンを追加する方式により、スケールアウトが可能なトランザクション処理システムおよび方法を提供する。
トランザクション処理システムは、ルートチェーン(Root Chain)と、複数のリーフチェーン(Leaf Chain)と、ルートチェーン及び複数のリーフチェーンを中継するための少なくとも1つのリレイヤ(Relayer)とを含み、ルートチェーンは、複数のリーフチェーンそれぞれのためのリーフチェーンコントラクトと、ルートチェーンのためのルートチェーンマネージャコントラクトとを含み、複数のリーフチェーンは、それぞれ対応するリーフチェーンマネージャコントラクトを含み、前記リレイヤは、前記複数のリーフチェーンのうち第1リーフチェーンから第2リーフチェーンへの送金要求を、(1)前記第1リーフチェーンが含む第1リーフチェーンマネージャコントラクトと前記ルートチェーンが含む前記第1リーフチェーンの第1リーフチェーンコントラクトとの間の中継、および(2)前記ルートチェーンが含む前記第2リーフチェーンの第2リーフチェーンコントラクトと前記第2リーフチェーンが含む第1リーフチェーンマネージャコントラクトとの間の中継によって処理する、トランザクション処理システムを提供する。
一側によると、前記リレイヤは、前記複数のリーフチェーンそれぞれまたは割り当てられたリーフチェーンで生成される取引および前記ルートチェーンで生成される取引を収集するプロデューサ、および前記第1リーフチェーンの第1リーフチェーンマネージャコントラクトからの送金要求を、(1)前記ルートチェーンが含む前記第1リーフチェーンの第1リーフチェーンコントラクトに伝達するか、または(2)前記ルートチェーンの第2リーフチェーンコントラクトからの送金要求を前記第2リーフチェーンの第2リーフチェーンマネージャコントラクトに伝達するインタチェーンコンシューマを含んでよい。
他の側面によると、前記リレイヤは、前記プロデューサが収集する取引をキューに記録して前記インタチェーンコンシューマに順に提供するキューサーバ、および前記送金要求の伝達を保障するために障害を処理するインタチェーンフェイルオーバをさらに含んでよい。
また他の側面によると、前記ルートチェーンマネージャコントラクトは、前記複数のリーフチェーンそれぞれで発給されたコインの総量を、送金要求された情報を利用して分析することで、送金要求が正常であるか否かを決定し、正常であると決定された送金要求をブロックに記録してよい。
また他の側面によると、前記ルートチェーンマネージャコントラクトは、前記複数のリーフチェーンそれぞれからの前記リレイヤを経た送金完了要求を前記送金要求の送金要求記録を利用して処理し、前記送金要求記録を削除し、対応するリーフチェーンに前記リレイヤを経て送金完了を要求してよい。
また他の側面によると、前記ルートチェーンマネージャコントラクトは、新たなリーフチェーンが追加される場合、前記ルートチェーンに実現される前記新たなリーフチェーンのリーフチェーンコントラクトのアドレスを登録し、前記ルートチェーンのリーフチェーンコントラクトにアクセス可能なリレイヤユーザを追加してよい。
また他の側面によると、前記第1リーフチェーンマネージャコントラクトは、前記第1リーフチェーンに実現される新たなサービスのためのサービスコントラクトのアドレスを登録し、前記ルートチェーンマネージャコントラクトは、前記サービスコントラクトのアドレスをさらに登録してよい。
また他の側面によると、前記第1リーフチェーンマネージャコントラクトは、前記第1リーフチェーンの第1サービスに対して実現された第1サービスコントラクトにより第1ユーザの送金要求を受信して前記第1リーフチェーンのブロックに記録した後、前記受信した送金要求を前記リレイヤを経て前記ルートチェーンに伝達させ、前記ルートチェーンから前記リレイヤを経て伝達される送金完了要求にしたがって前記第1リーフチェーンの総コイン量を調節してよい。
また他の側面によると、前記第1リーフチェーンマネージャコントラクトは、前記送金要求による交換取引ハッシュを生成し、前記交換取引ハッシュ、前記第1ユーザの識別子、前記第1サービスの識別子、前記送金要求の対象となる第2サービスの識別子、前記送金要求の対象となる第2ユーザの識別子、送金金額、および要求時間のうちの少なくとも1つを含む送金要求記録を生成してよい。
また他の側面によると、前記第1リーフチェーンマネージャコントラクトは、前記第1ユーザの送金要求の受信に応答して前記第1ユーザの残高から送金要求された金額を差し引き、差し引いた金額が使用されないようにロックを設定してよい。
また他の側面によると、前記第1リーフチェーンマネージャコントラクトは、前記送金要求が失敗したとき、前記ロックされた金額を解除して前記第1ユーザに返還してよい。
また他の側面によると、前記少なくとも1つのリレイヤは、前記複数のリーフチェーンそれぞれに対応するリレイヤおよび前記ルートチェーンに対応するリレイヤを含んでよい。
さらに他の側面によると、前記複数のリーフチェーンそれぞれに対応するリレイヤは、対応するリーフチェーンが予め設定された時間周期ごとに動的に変更されてよい。
リレイヤのトランザクション処理方法であって、少なくとも1つのプロセッサにより、第1リーフチェーンの第1サービスから第2リーフチェーンの第2サービスへの第1送金要求を前記第1リーフチェーンが含む第1リーフチェーンマネージャコントラクトから受信する段階、前記少なくとも1つのプロセッサにより、前記受信した第1送金要求をルートチェーンが含む前記第1リーフチェーンの第1リーフチェーンコントラクトに呼び出す(invoke)段階、前記少なくとも1つのプロセッサにより、前記ルートチェーンが含む前記第2リーフチェーンの第2リーフチェーンコントラクトからの前記第1送金要求に対応する第2送金要求を受信する段階、および前記少なくとも1つのプロセッサにより、前記受信した第2送金要求を前記第2リーフチェーンが含む第2リーフチェーンマネージャコントラクトに呼び出す(invoke)段階を含む、トランザクション処理方法を提供する。
コンピュータ装置と結合して前記トランザクション処理方法をコンピュータ装置に実行させるためにコンピュータ読み取り可能な記録媒体に記録された、コンピュータプログラムを提供する。
前記トランザクション処理方法をコンピュータ装置に実行させるためのコンピュータプログラムが記録されている、コンピュータ読み取り可能な記録媒体を提供する。
ルートチェーンを基盤としてリーフチェーンを追加する方式により、スケールアウトが可能なトランザクション処理システムおよび方法を提供することができる。
本発明の一実施形態における、ネットワーク環境の例を示した図である。 本発明の一実施形態における、コンピュータ装置の例を示したブロック図である。 本発明の一実施形態における、ブロックチェーンの拡張を可能にするトランザクション処理システムの概括的な構成の例を示した図である。 本発明の一実施形態における、トランザクション処理システムの細部構成の例を示した図である。 本発明の一実施形態における、新たなリーフチェーンを追加する過程の例を示したフローチャートである。 本発明の一実施形態における、新たなサービスを追加する過程の例を示したフローチャートである。 本発明の一実施形態における、サービスにコインを発行する過程の例を示したフローチャートである。 本発明の一実施形態における、コイン交換過程の例を示したフローチャートである。 本発明の一実施形態における、各チェーン間のスマートコントラクトによるコイン交換データの流れを示した図である。 本発明の一実施形態における、リレイヤのトランザクション処理方法の例を示した図である。
以下、実施形態について、添付の図面を参照しながら詳しく説明する。
本発明の実施形態に係るトランザクション処理システムは、少なくとも1つのコンピュータ装置によって実現されてよい。コンピュータ装置においては、本発明の一実施形態に係るコンピュータプログラムがインストールおよび実行されてよく、コンピュータ装置は、実行するコンピュータプログラムの制御にしたがって本発明の一実施形態に係るトランザクション処理方法を実行してよい。上述したコンピュータプログラムは、コンピュータ装置と結合してトランザクション処理方法をコンピュータ装置に実行させるためにコンピュータ読み取り可能な記録媒体に記録されてよい。ここで、説明したコンピュータプログラムは、独立する1つのプログラムパッケージの形態であってもよいし、独立する1つのプログラムパッケージの形態がコンピュータ装置に予めインストールされてオペレーティングシステムや他のプログラムパッケージと連係する形態であってもよい。
図1は、本発明の一実施形態に係る、ネットワーク環境の例を示した図である。図1のネットワーク環境は、複数の電子機器110、120、130、140、複数のサーバ150、160、およびネットワーク170を含む例を示している。このような図1は、発明の説明のための一例に過ぎず、電子機器の数やサーバの数が図1のように限定されることはない。また、図1のネットワーク環境は、本実施形態に適用可能な環境のうちの1つの例を説明したものに過ぎず、本実施形態に適用可能な環境が図1のネットワーク環境に限定されることはない。
複数の電子機器110、120、130、140は、コンピュータ装置によって実現される固定端末や移動端末であってよい。複数の電子機器110、120、130、140の例としては、スマートフォン、携帯電話、ナビゲーション、PC(personal computer)、ノート型PC、デジタル放送用端末、PDA(Personal Digital Assistant)、PMP(Portable Multimedia Player)、タブレットなどがある。一例として、図1では、電子機器1(110)の例としてスマートフォンを示しているが、本発明の実施形態において、電子機器1(110)は、実質的に無線または有線通信方式を利用し、ネットワーク170を介して他の電子機器120、130、140および/またはサーバ150、160と通信することのできる多様な物理的なコンピュータ装置のうちの1つを意味してよい。
通信方式が限定されることはなく、ネットワーク170が含むことのできる通信網(一例として、移動通信網、有線インターネット、無線インターネット、放送網)を利用する通信方式だけではなく、機器間の近距離無線通信が含まれてよい。例えば、ネットワーク170は、PAN(personal area network)、LAN(local area network)、CAN(campus area network)、MAN(metropolitan area network)、WAN(wide area network)、BBN(broadband network)、インターネットなどのネットワークのうちの1つ以上の任意のネットワークを含んでよい。さらに、ネットワーク170は、バスネットワーク、スターネットワーク、リングネットワーク、メッシュネットワーク、スター・バスネットワーク、ツリーまたは階層的ネットワークなどを含むネットワークトポロジのうちの任意の1つ以上を含んでもよいが、これらに限定されることはない。
サーバ150、160それぞれは、複数の電子機器110、120、130、140とネットワーク170を介して通信して命令、コード、ファイル、コンテンツ、サービスなどを提供する1つ以上のコンピュータ装置によって実現されてよい。例えば、サーバ150は、ネットワーク170を介して接続した複数の電子機器110、120、130、140にサービス(一例として、映像通話サービス、金融サービス、決済サービス、ソーシャルネットワークサービス、メッセージングサービス、検索サービス、メールサービス、コンテンツ提供サービス、および/または質問および返答サービスなど)を提供するシステムであってよい。
図2は、本発明の一実施形態における、コンピュータ装置の例を示したブロック図である。上述した複数の電子機器110、120、130、140それぞれやサーバ150、160それぞれは、図2に示されたコンピュータ装置200によって実現されてよく、本発明の実施形態に係る方法は、このようなコンピュータ装置200によって実行されてよい。
このとき、図2に示すように、コンピュータ装置200は、メモリ210、プロセッサ220、通信インタフェース230、および入力/出力インタフェース240を含んでよい。メモリ210は、コンピュータ読み取り可能な記録媒体であって、RAM(random access memory)、ROM(read only memory)、ディスクドライブのような永続的大容量記録装置を含んでよい。ここで、ROMやディスクドライブのような永続的大容量記録装置は、メモリ210とは区分される別の永続的記録装置としてコンピュータ装置200に含まれてもよい。また、メモリ210には、オペレーティングシステムと、少なくとも1つのプログラムコードが記録されてよい。このようなソフトウェア構成要素は、メモリ210とは別のコンピュータ読み取り可能な記録媒体からメモリ210にロードされてよい。このような別のコンピュータ読み取り可能な記録媒体は、フロッピードライブ、ディスク、テープ、DVD/CD-ROMドライブ、メモリカードなどのコンピュータ読み取り可能な記録媒体を含んでよい。他の実施形態において、ソフトウェア構成要素は、コンピュータ読み取り可能な記録媒体ではない通信インタフェース230を通じてメモリ210にロードされてもよい。例えば、ソフトウェア構成要素は、ネットワーク170を介して受信されるファイルによってインストールされるコンピュータプログラムに基づいてコンピュータ装置200のメモリ210にロードされてよい。
プロセッサ220は、基本的な算術、ロジック、および入出力演算を実行することにより、コンピュータプログラムの命令を処理するように構成されてよい。命令は、メモリ210または通信インタフェース230によって、プロセッサ220に提供されてよい。例えば、プロセッサ220は、メモリ210のような記録装置に記録されたプログラムコードにしたがって受信される命令を実行するように構成されてよい。
通信インタフェース230は、ネットワーク170を介してコンピュータ装置200が他の装置(一例として、上述した記録装置)と互いに通信するための機能を提供してよい。一例として、コンピュータ装置200のプロセッサ220がメモリ210のような記録装置に記録されたプログラムコードにしたがって生成した要求や命令、データファイルなどが、通信インタフェース230の制御にしたがってネットワーク170を介して他の装置に伝達されてよい。これとは逆に、他の装置からの信号や命令、データ、ファイルなどが、ネットワーク170を介してコンピュータ装置200の通信インタフェース230を通じてコンピュータ装置200に受信されてよい。通信インタフェース230を通じて受信された信号や命令、データなどは、プロセッサ220やメモリ210に伝達されてよく、ファイルなどは、コンピュータ装置200がさらに含むことのできる記録媒体(上述した永続的記録装置)に記録されてよい。
入力/出力インタフェース240は、入力/出力装置250とのインタフェースのための手段であってよい。例えば、入力装置は、マイク、キーボード、カメラ、またはマウスなどの装置を、出力装置は、ディスプレイやスピーカのような装置を含んでよい。他の例として、入力/出力インタフェース240は、タッチスクリーンのように入力と出力のための機能が1つに統合された装置とのインタフェースのための手段であってもよい。入力/出力装置250は、コンピュータ装置200と1つの装置で構成されてもよい。
また、他の実施形態において、コンピュータ装置200は、図2の構成要素よりも少ないか多くの構成要素を含んでもよい。しかし、大部分の従来技術的構成要素を明確に図に示す必要はない。例えば、コンピュータ装置200は、上述した入力/出力装置250のうちの少なくとも一部を含むように実現されてもよいし、トランシーバやデータベースなどのような他の構成要素をさらに含んでもよい。
図3は、本発明の一実施形態における、ブロックチェーンの拡張を可能にするトランザクション処理システムの概括的な構成の例を示した図である。図3は、ルートチェーン(Root Chain)310、リーフチェーンA(Leaf Chain A)320、リーフチェーンB(Leaf Chain B)330、およびリレイヤ(Relayer)340を含むトランザクション処理システム300の例を示している。ルートチェーン310とリーフチェーン320および330は、複数のコンピュータ装置が連結するネットワークを形成してよく、リレイヤ340は、少なくとも1つのコンピュータ装置によって実現されてよい。
トランザクション処理システム300において、ルートチェーン310は、絶対信頼システムであってよく、リーフチェーン320および330それぞれは、ルートチェーン310に自身が信頼システムであるということを証明しなければならない。このとき、リーフチェーン320および330それぞれは個別のサービスと連係してよく、新たなサービスが追加されるときには新たなリーフチェーンも追加されてよい。言い換えれば、図3の実施形態では、2つのリーフチェーン320および330を示しているが、3つ以上のリーフチェーンを含んでもよく、これはブロックチェーンの拡張が可能であることを意味してよい。ここで、「サービス」は、同一または互いに異なる主体がネットワークを介して自身のユーザに提供するオンラインサービスを含んでよい。一例として、互いに異なる銀行が提供するインターネットバンキングサービスそれぞれに対応するリーフチェーンが構成されてよい。また、互いに異なるソーシャルネットワークサービスそれぞれに対応するリーフチェーンが構成されてもよい。リーフチェーン320および330それぞれは、ルートチェーン310にブロックのハッシュを記録して信頼を認められなければならない。一例として、マークル・ツリー・ルート・ハッシュ(merkle tree root hash)が活用されてよい。
ルートチェーン310ではユーザ間のコイン交換は行わず、コイン交換は、リーフチェーン320および330それぞれの内部および/またはリーフチェーン320および330間でなされてよい。このとき、リーフチェーン320および330間のコイン交換は、リレイヤ340を経てルートチェーン310が仲裁および管理してよい。リーフチェーン320および330それぞれには、少なくとも1つの分散型アプリケーション(Decentralized Application:DApp)が含まれてよい。ここで、分散型アプリケーションとは、バックエンドコードが脱中央化されたP2Pネットワーク上で巡回(あるいは、データ呼出および登録をブロックチェーンデータベースに行う)され、これをフロントエンドからインタフェースに提供するアプリケーションを意味する。このとき、リーフチェーン320および330それぞれでは、分散型アプリケーションの必要にしたがい、チェーンまたはコイン交換とは関係のないスマートコントラクト(smart contract)を実現してよく、これをルートチェーン310では関与しない。リーフチェーン320および330それぞれでチェーン間のコイン交換のためのプロトコルを有するスマートコントラクトを実現しようとする場合には、ルートチェーン310からスマートコントラクトの実現のための許可をもらわなければならない。ルートチェーン310の許可がないスマートコントラクトによるチェーン間ではコイン交換ができないように制限されてよい。
リーフチェーン320および330それぞれの内部でのコイン交換は、ルートチェーン310を経由する必要がないため、リーフチェーン320および330それぞれで処理されてよく、処理された内容が含まれたすべてのブロックの要約情報(一例として、上述したマークル・ツリー・ルート・ハッシュ)をルートチェーン310に記録してよい。この反面、リーフチェーン320および330間のコイン交換は、ルートチェーン310を経由しなければならず、リーフチェーン320および330それぞれのブロックとルートチェーン310のブロックには、コイン交換の処理に関する内容が記録されなければならない。このとき、リーフチェーン320および330間のコイン交換は、リレイヤ340を経て行われてよい。
図4は、本発明の一実施形態における、トランザクション処理システムの細部構成の例を示した図である。トランザクション処理システム300は、図4に示すように、1つのルートチェーン310と複数のリーフチェーン320および330、さらにリレイヤ340で構成されてよい。
ルートチェーン310は、ルートチェーン310のためのスマートコントラクトであるルートチェーンマネージャコントラクト(Root Chain Manager Contract)411を含んでよく、トランザクション処理システム300に含まれる複数のリーフチェーン320および330それぞれのためのスマートコントラクトを含んでよい。図4の実施形態では、ルートチェーン310に、リーフチェーンA(Leaf Chain A)320のためのスマートコントラクトであるリーフチェーンAコントラクト(Leaf Chain A Contract)412とリーフチェーンB(Leaf Chain B)330のためのスマートコントラクトであるリーフチェーンBコントラクト(Leaf Chain B Contract)413が含まれる例を示している。
また、リーフチェーン320および330それぞれは、分散型アプリケーションのためのスマートコントラクトを含んでよい。図4の実施形態では、リーフチェーンA320には分散型アプリケーションコントラクト(dApp Contract)421が、リーフチェーンB330には分散型アプリケーションコントラクト431が含まれる例を示している。また、リーフチェーンA320にはリーフチェーンA320のためのスマートコントラクトであるリーフチェーンマネージャコントラクト(Leaf Chain Manager Contract)422が、リーフチェーンA330にはリーフチェーンB330のためのスマートコントラクトであるリーフチェーンマネージャコントラクト432がさらに含まれてよい。
リレイヤ340は、ルートチェーン310とリーフチェーン320および330のブロック生成を観察しながら、ルートチェーン310とリーフチェーン320および330に記録および/または伝達が要求される情報を呼び出してよい(invoke)。文脈上適切である場合には、「呼び出し」は「始動」と言及されてもよい。リレイヤ340は、プロデューサ(Producer)441、カフカ(Kafka)442、インタチェーンコンシューマ(InterChain Consumer)443、インタチェーンフェイルオーバ(InterChain Failover)444、データベース(Database)445を含んでよい。
プロデューサ441は、ルートチェーン310を含むすべてのチェーンで新たに生成されたブロックの情報を収集してカフカ442に入力してよい。カフカ442は、一種のキューサーバであって、収集した情報をキューに記録して順に提供してよい。このとき、インタチェーンコンシューマ443は、各チェーン別に呼び出し(invoke)が要求されるイベントをフィルタリングしてよい。イベントによっては、複数のフィルタリングが要求されてもよい。インタチェーンコンシューマ443は、各チェーンに呼び出し(invoke)をするとき、シグニフィケーション(signification)のためにチェーン別に個別のユーザを生成し、ユーザの権限をスマートコントラクトに記録してよい。
インタチェーンコンシューマ443は、以下の(1)~(7)のようなイベントなどを感知してよい。
(1)リーフチェーンでの送金要求イベント
(1-1)インタチェーンコンシューマ443は、リーフチェーンでの送金要求イベントを感知し、ルートチェーンに送金要求内容を伝達してよい。
(2)ルートチェーンでの送金要求イベント
(2-1)インタチェーンコンシューマ443は、ルートチェーンでの送金要求イベントを感知し、送金要求を受信するリーフチェーンに送金要求内容を伝達してよい。
(2-2)インタチェーンコンシューマ443は、受信するリーフチェーンへの伝達が失敗したとき、送金要求を受信するリーフチェーンの識別情報を含む送金失敗情報をルートチェーンに伝達してよい。
(3)ルートチェーンでの送金要求失敗イベント
(3-1)インタチェーンコンシューマ443は、送金を要求したリーフチェーンに送金失敗内容を伝達してよい。
(4)リーフチェーンでの送金完了イベント
(4-1)インタチェーンコンシューマ443は、ルートチェーンに送金完了内容を伝達してよい。
(5)ルートチェーンでの送金完了イベント
(5-1)インタチェーンコンシューマ443は、送金を要求したリーフチェーンに送金完了内容を伝達してよい。
(6)ルートチェーンでのコイン発行イベント
(6-1)インタチェーンコンシューマ443は、コインが発行されるリーフチェーンに発行内容を伝達してよい。
(7)リーフチェーンでのブロック生成イベント
(7-1)インタチェーンコンシューマ443は、ルートチェーンにブロックのマークル・ツリー・ルート・ハッシュを伝達してよい。
インタチェーンフェイルオーバ444は、(3-1)、(4-1)、(5-1)、(6-1)、および(7-1)が正常に伝達されるように障害克服機能を提供してよく、データベース(Database)445は、インタチェーンコンシューマ443およびインタチェーンフェイルオーバ444において受信および/または送信(伝達)した情報を記録するために活用されてよい。
図5は、本発明の一実施形態における、新たなリーフチェーンを追加する過程の例を示したフローチャートである。
段階510で、トランザクション処理システム300は、リーフチェーンを構築してよい。例えば、新たなリーフチェーンは、以下で説明される新たなサービスを追加するために構築されてよい。
段階520で、トランザクション処理システム300は、チェーン間またはコントラクト間のコイン送金を担当するリーフチェーンマネージャコントラクトをリーフチェーンに実現してよい。
段階530で、トランザクション処理システム300は、該当のリーフチェーンを処理することのできるコントラクト(以下、リーフチェーンコントラクト)をルートチェーンに実現してよい。
段階540で、トランザクション処理システム300は、実現されたルートチェーンのリーフチェーンコントラクトアドレスをルートチェーンマネージャコントラクトに登録してよい。
段階550で、トランザクション処理システム300は、ルートチェーンのリーフチェーンコントラクトにアクセス可能なリレイヤユーザを追加してよい。
段階560で、トランザクション処理システム300は、リーフチェーンのリーフチェーンマネージャコントラクトにアクセス可能なリレイヤユーザを追加してよい。
このとき、段階550および段階560のリレイヤユーザは、同じユーザであってもよいし、互いに異なるユーザであってもよい。リーフチェーン別、さらにはルートチェーンでも互いに異なる個別のリレイヤユーザを設定して活用することが、保安上で有利となる。ここで、リレイヤユーザは、トランザクション処理システム300が提供するサービスのアカウントに対応してよい。
図6は、本発明の一実施形態における、新たなサービスを追加する過程の例を示したフローチャートである。
段階610で、トランザクション処理システム300は、該当となるサービスのコントラクトをリーフチェーンに実現してよい。実現されたコントラクトのアドレスは、該当となるサービスを区分するための値として使用されてよい。該当のサービスは、チェーン間のコイン交換プロトコルを備えたコントラクトであってよい。
段階620で、トランザクション処理システム300は、リーフチェーンのリーフチェーンマネージャコントラクトに、該当となるサービスに対して実現されたコントラクトのアドレスを登録してよい。例えば、図5の段階520では、チェーン間またはコントラクト間のコイン送金を担当するリーフチェーンマネージャコントラクトをリーフチェーンに実現することについて説明した。このようなリーフチェーンマネージャコントラクトにサービスのためのコントラクトのアドレスが登録されてよい。
段階630で、トランザクション処理システム300は、実現されたコントラクトのアドレスをルートチェーンのルートチェーンマネージャコントラクトに登録してよい。このとき、実現されたコントラクトのアドレスは、ルートチェーンマネージャコントラクトの管理者権限によって登録されてよい。ルートチェーンマネージャコントラクトに、リーフチェーンのサービスに対して実現されたコントラクトのアドレスをルートチェーンに実現された該当のリーフチェーンのリーフチェーンコントラクトとともに登録すれば、ルートチェーンのリーフチェーンコントラクトにもリーフチェーンのサービスに対して実現されたコントラクトのアドレスが該当のリーフチェーンのサービスとして登録されるようになる。
図7は、本発明の一実施形態における、サービスにコインを発行させる過程の例を示したフローチャートである。
段階710で、ルートチェーンのルートチェーンマネージャコントラクトは、ルートチェーンに実現された、リーフチェーンコントラクトに登録されたサービスのコントラクトのアドレスに対してコイン発行を要求してよい。例えば、ルートチェーンのルートチェーンマネージャコントラクトは、ルートチェーンに実現されたリーフチェーンコントラクトにより、コインを発行するためのサービスに対するコントラクトのアドレスによって該当のサービスを識別してよく、識別されたサービスに対してコイン発行イベントを発生させてよい。
段階720で、インタチェーンコンシューマは、該当のサービスに対するコイン発行イベントを感知し、該当のリーフチェーンのリーフチェーンマネージャコントラクトにサービスのコイン発行を要求してよい。
段階730で、リーフチェーンマネージャコントラクトは、該当のサービスを探してコインを発行してよい。このとき、コインは、該当のサービスのコントラクトを実現するときに入力したサービスオペレータ(一例として、図5の段階560で追加されたリレイヤユーザ)に発給されてよい。
図8は、本発明の一実施形態における、コイン交換過程の例を示したフローチャートである。同じチェーンの同じサービスでのコイン交換は、該当のリーフチェーンのコイン交換のためのスマートコントラクトで行われてよい。また、同じチェーンの異なるサービス間でのコイン交換は、該当のリーフチェーンのリーフチェーンマネージャコントラクトで行われてよい。例えば、同じチェーンでの第1サービスから第2サービスへの送金は、リーフチェーンマネージャコントラクトが第1サービスの送金要求にしたがって第2サービスのコントラクトのアドレスを呼び出すことによってなされてよい。この反面、異なるチェーン間でのコイン交換は、以下の段階810~890によって行われてよい。図8の段階810~890は、図4を参照しながら説明したリーフチェーンA320とリーフチェーンB330間のコイン交換の例について説明する。
段階810で、リーフチェーンA320は、ユーザaによるリーフチェーンB330のユーザbへのコイン交換要求(送金要求)を受信してよい。このとき、リーフチェーンA320は、ユーザaの残高などを把握し、コイン交換要求が正常な要求である場合には、リーフチェーンA320のブロックに記録してよい。交換要求されたコイン(送金要求されたコイン)は、リーフチェーンA320に含まれるリーフチェーンマネージャコントラクトによってユーザaの残高から差し引かれてよく、使用できないようにロック(lock)されてよい。例えば、リーフチェーンA320のリーフチェーンマネージャコントラクトは、送金要求された金額だけユーザaの残高から差し引かれた金額が使用されないようにロックを設定してよい。差し引かれたユーザaの金額に関する情報は、エスクロコントラクトに記録されてよい。このような送金の成功に関する記録は、プロデューサ441によってカフカ442に記録されてよい。送金要求が正常でない場合、リーフチェーンA320は、送金要求の失敗内容をブロックに記録してよい。また、リーフチェーンA320は、送金要求が失敗したときにはイベントを記録しないようにすることにより、送金が発生しないようにしてよい。
段階820で、インタチェーンコンシューマ443は、リーフチェーンA320からリーフチェーンB330への送金要求イベントを感知し、ルートチェーン310に該当の送金要求を伝達してよい。送金要求イベントの感知は、プロデューサ441の取引収集によって感知されてよく、インタチェーンコンシューマ443は、感知された送金要求イベントの感知に応答してルートチェーン310に該当の送金要求を伝達してよい。
段階830で、ルートチェーン310は、リーフチェーンA320で発給したコインの総量を、送金要求情報に基づいて分析することで、該当の送金要求が正常な要求であるか否かを確認し、該当の送金要求が正常な要求である場合、リーフチェーンA320からリーフチェーンB330へのコイン交換要求をブロックに記録してよい。交換要求は、送金するコイン量が使用できないようにロック(lock)してよい。また、ルートチェーン310は、該当の送金要求が正常な要求でない場合、失敗内容をブロックに記録してよい。失敗と記録された送金要求は、インタチェーンコンシューマ443で送金失敗イベントとして感知されてリーフチェーンA320に伝達されてよく、送金失敗イベントを受信したリーフチェーンA320は、ロックされたコインを解除してユーザaに返還してよい。
段階840で、インタチェーンコンシューマ443は、ルートチェーン310からリーフチェーンB330への送金要求イベントを感知し、リーフチェーンB330に該当の送金要求を伝達してよい。リーフチェーンB330が正常に動作せずに呼び出し(invoke)が失敗した場合には、ルートチェーン310にリーフチェーンB330のシステム異常による伝達失敗内容を送信してよい。失敗と記録された要求は、インタチェーンコンシューマ443で送金失敗イベントとして感知されてリーフチェーンA320に伝達されてよく、送金失敗イベントを受信したリーフチェーンA320は、ロックされたコインを解除してユーザaに返還してよい。
段階850で、リーフチェーンB330は、該当の送金要求が正常な要求である場合、ユーザbにコインを送金し、リーフチェーンB330の総コイン量を送金されたコイン量だけ増加させてよい。送金要求が失敗した場合には、失敗内容をブロックに記録してよい。
段階860で、インタチェーンコンシューマ443は、リーフチェーンBの送金完了結果をイベントとして感知し、ハッシュと成功の可否をルートチェーン310に伝達してよい。
段階870で、ルートチェーン310は、送金結果を受信して送金失敗と送金成功に応じて処理してよく、その結果をハッシュとともにブロックに記録してよい。送金が成功した場合、ルートチェーン310は、ロックされたコイン送金要求を解除し、リーフチェーンA320からリーフチェーンB330への送金を進めてそれぞれのコイン量を変更してよい。送金が失敗した場合、ルートチェーン310は、ロックされたコイン送金要求を解除してリーフチェーンA320に返還してよい。
段階880で、インタチェーンコンシューマ443は、ルートチェーン310で処理した送金結果イベントを感知し、リーフチェーンA320にその結果を伝達してよい。
段階890で、リーフチェーンA320は、送金結果を受信し、成功である場合には、ロックされたコインを解除してリーフチェーンA320の総コイン量を調節(総コイン量から送金コイン量を差し引く)してよい。送金が失敗した場合には、リーフチェーンA320は、ロックされたコインを解除してユーザaに返還してよい。リーフチェーンA320は、このような送金結果を、ルートチェーン310に記録されたハッシュとともにブロックに記録してよい。
図9は、本発明の一実施形態における、各チェーン間のスマートコントラクトによるコイン交換データの流れを示した図である。
(1)ユーザaのコイン交換要求をリーフチェーンA320の分散型アプリケーション1(dApp 1)920が受信した場合、分散型アプリケーション1(920)は、リーフチェーンマネージャコントラクトA910に交換要求をしてよい。リーフチェーンマネージャコントラクトA910は、交換取引ハッシュ(eTxHash)を生成し、交換取引ハッシュ、送金しようとするユーザa(の識別子)とサービスa(の識別子)、送金を受けるサービスb(の識別子)とユーザb(の識別子)、金額情報(送金金額)、および/または要請時間を記録(送金要求記録(エスクロ(escrow)情報)を生成)してよい。このとき、リーフチェーンマネージャコントラクトA910は、分散型アプリケーション1(920)のコントラクトの総コイン量とユーザaの保有コインを差し引いてよい。
(2)プロデューサ441は、(1)で生成された取引を収集してよく、インタチェーンコンシューマ443は、ルートチェーン310のリーフチェーンAコントラクト412に送金を要求してよい。
(3)リーフチェーンAコントラクト412は、ルートチェーンマネージャコントラクト411により、送金要求情報をルートチェーン310に対して個別に記録してよい。このとき、リーフチェーンマネージャAコントラクト412が管理する分散型アプリケーション1(920)の総コイン量から送金コイン量を差し引いてよい。
(4)プロデューサ441は、(3)で生成された取引を収集してよく、インタチェーンコンシューマ443は、送金を受けるサービスがあるリーフチェーンB330のリーフチェーンマネージャコントラクトB940に送金を要求してよい。
(5)リーフチェーンB330のリーフチェーンマネージャコントラクトB940は、送金しようとするサービスである分散型アプリケーション3(950)を呼び出し、分散型アプリケーション3(950)のコントラクトでユーザbに送金がなされるようにしてよい。このとき、分散型アプリケーション3(950)のコントラクトは、リーフチェーンB330の総コイン量も増加させてよい。
(6)プロデューサ441は、(5)で生成された取引を収集してよく、インタチェーンコンシューマ443は、ルートチェーン310のリーフチェーンBコントラクト413に送金完了を要求してよい。
(7)ルートチェーン310のリーフチェーンBコントラクト413は、ルートチェーンマネージャコントラクト411に該当の送金要求のエスクロ(escrow、送金要求記録)情報を読み込んで送金完了を処理してよい。送金が成功した場合、リーフチェーンBコントラクト413が管理する分散型アプリケーション3(950)では、送金金額だけのリーフチェーンB330の総コイン量が増加されてよく、ルートチェーン310のルートチェーンマネージャコントラクト411により該当の送金要求記録は削除されてよい。送金が失敗した場合、リーフチェーンAコントラクト412に登録された、送金要求したサービスである分散型アプリケーション1(920)では、送金コイン量の分だけリーフチェーンA320の総コイン量に増加されてよく、その後、ルートチェーン310のルートチェーンマネージャコントラクト411により該当の送金要求記録は削除されてよい。
(8)プロデューサ441は、(7)で生成された取引を収集してよく、インタチェーンコンシューマ443は、送金したリーフチェーンA320のリーフチェーンマネージャコントラクトA910に送金完了を要求してよい。
(9)リーフチェーンA320のリーフチェーンマネージャコントラクトA910は、送金完了情報を受信して該当の交換取引ハッシュが完了することを記録し、送金要求記録(escrow)にある該当の要求を削除してよい。送金が失敗した場合、リーフチェーンマネージャコントラクトA910は、送金要求記録(escrow)にある金額をユーザaに返還してよく、分散型アプリケーション1(920)の総コイン量も送金コイン分だけ増加させた後、送金要求記録(escrow)から該当の要求を削除してよい。
既存のサービスをトランザクション処理システム300に移行(migration)する方式の例は、以下のとおりとなる。
1.既に生成された取引を各サービスがあるリーフチェーンに分離し、再びブロックを生成する方式。
2.現在のリンクチェーンをそのままコピーし、それぞれのリーフチェーンとして生成する方式。
3.現在運営中のサービスを各リーフチェーンに分離せず、1つのリーフチェーンで継続して維持する方式。
4.移行しなければならないサービスのユーザ残高はそのまま維持し、新たに実現されるリーフチェーンに既存のすべてのユーザの残高をそのまま送金する方式(既存のサービスではこれ以上の送金が起こらないようにし、照会のみが可能となるようにする)。
実施形態によって、リレイヤは、チェーンごとに存在してもよい。例えば、図4を参照しながら説明したように、1つのルートチェーン310と2つのリーフチェーン320および330が存在する場合、合計3つのチェーンのための3つのリレイヤが構成されてよい。この場合、ルートチェーン310のリレイヤは、2つのリーフチェーン320および330との要求、データ、および/またはイベントの伝達を処理してよく、2つのリーフチェーン320および330それぞれのリレイヤは、ルートチェーン310との要求、データ、および/またはイベントの伝達を処理してよい。このとき、リーフチェーンのためのリレイヤの談合を防ぐために、リレイヤそれぞれと連結するチェーンは、予め設定された時間周期(一例として、ブロック時間周期)ごとに動的に変更されてよい。このような実施形態において、ハッシュは、ハッシュタイムロックコントラクト(Hashed timelock contract)により、チェーン間を移動するときにリレイヤによって交換取引の途中に強奪されたり変調されたりしないようにしてよい。このようなハッシュタイムロックは、ユーザが交換取引の結果を直接確認することができる時間を提供するために利用されてよい。また、リレイヤの意図としない支払いを防ぐためのユニークな識別子として、個別の交換取引識別子が活用されてよい。このような交換取引識別子は、リーフチェーン間の価値移動がある場合、交換取引を唯一に識別してトラッキングするために活用されてよい。
図10は、本発明の一実施形態における、リレイヤのトランザクション処理方法の例を示したフローチャートである。本実施形態に係るトランザクション処理方法は、上述したリレイヤを実現するコンピュータ装置200によって実行されてよい。実施形態によって、リレイヤは、複数のコンピュータ装置によって実現されてもよい。例えば、上述したプロデューサ、インタチェーンコンシューマ、カフカインタチェーンフェイルオーバなどがそれぞれ個別のコンピュータ装置で実現され、ネットワークを介して互いに通信するように実現されてもよい。図10では、1つのリレイヤが1つのコンピュータ装置200によって実現されてトランザクション処理方法を処理する実施形態について説明する。一例として、コンピュータ装置200のプロセッサ220は、メモリ210が含むオペレーティングシステムのコードと、少なくとも1つのプログラムのコードとによる制御命令(instruction)を実行するように実現されてよい。ここで、プロセッサ220は、コンピュータ装置200に記録されたコードが提供する制御命令にしたがってコンピュータ装置200が図10の方法に含まれる段階1010~1080を実行するようにコンピュータ装置200を制御してよい。
段階1010で、コンピュータ装置200は、第1リーフチェーンの第1サービスから第2リーフチェーンの第2サービスへの第1送金要求を、第1リーフチェーンが含む第1リーフチェーンマネージャコントラクトから受信してよい。一例として、第1送金要求は、第1サービスの第1ユーザから第2サービスの第2ユーザへの送金要求を含んでよい。このとき、送金要求によるコインは、第1リーフチェーンが含む第1リーフチェーンマネージャコントラクトによって第1ユーザの残高から差し引かれ、使用できないようにロックされ、エスクロコントラクトに送金要求記録として記録されてよい。本実施形態において、要求を受信するということは、実際に要求によるデータを受信すること、および/または要求によって生成されるイベントを照会することを意味してよい。一例として、第1送金要求を受信するということは、コンピュータ装置200が第1送金要求によるデータを第1リーフチェーンマネージャコントラクトから受信することを意味してもよく、第1送金要求によって生成されるイベントをコンピュータ装置200が第1リーフチェーンマネージャコントラクトから照会することを意味してもよい。このような要求の受信がもつ意味は、以下で説明される受信過程にも同じように適用されてよい。
段階1020で、コンピュータ装置200は、受信した第1送金要求を、ルートチェーンが含む第1リーフチェーンの第1リーフチェーンコントラクトによって呼び出してよい(invoke)。例えば、リレイヤは、プロデューサの取引収集によって第1送金要求を受信してよく、インタチェーンコンシューマにより、ルートチェーンが含む第1リーフチェーンの第1リーフチェーンコントラクトに第1送金要求を伝達してよい。
段階1030で、コンピュータ装置200は、ルートチェーンが含む第2リーフチェーンの第2リーフチェーンコントラクトから、第1送金要求に対応する第2送金要求を受信してよい。例えば、ルートチェーンが含むルートチェーンマネージャコントラクトが、複数のリーフチェーンそれぞれで発給されたコインの総量を送金要求された情報を利用して分析することによって第1送金要求が正常であるか否かを決定し、正常であると決定された第1送金要求をブロックに記録し、第1送金要求に対応する第2送金要求を第2リーフチェーンコントラクトによってリレイヤに送信することにより、コンピュータ装置200が第2送金要求を受信してよい。
段階1040で、コンピュータ装置200は、受信した第2送金要求を、第2リーフチェーンが含む第2リーフチェーンマネージャコントラクトによって呼び出してよい(invoke)。例えば、リレイヤは、プロデューサの取引収集によって第2送金要求を受信してよく、インタチェーンコンシューマにより、ルートチェーンに含まれる第2リーフチェーンが含む第2リーフチェーンマネージャコントラクトに第2送金要求を伝達してよい。
段階1050で、コンピュータ装置200は、第2リーフチェーンマネージャコントラクトから第2送金要求に対応する第1送金完了要求を受信してよい。第1送金完了要求は、第2リーフチェーンマネージャコントラクトによって第2送金要求が正常なものであると決定されることによって生成されてよく、リレイヤは、プロデューサの取引収集によって第1送金完了要求を受信してよい。
段階1060で、コンピュータ装置200は、受信した第1送金完了要求を、ルートチェーンが含む第2リーフチェーンの第2リーフチェーンコントラクトによって呼び出してよい(invoke)。一例として、リレイヤは、インタチェーンコンシューマにより、ルートチェーンに含まれる第2リーフチェーンの第2リーフチェーンコントラクトに第1送金完了要求を伝達してよい。
段階1070で、コンピュータ装置200は、ルートチェーンに含まれる第1リーフチェーンの第1リーフチェーンコントラクトから、第1送金完了要求に対応する第2送金完了要求を受信してよい。第2送金完了要求は、ルートチェーンに含まれるルートチェーンマネージャコントラクトが、第2送金完了要求を正常なものとして決定することによって生成されてよい。リレイヤは、プロデューサの取引収集によって第2送金完了要求を受信してよい。
段階1080で、コンピュータ装置200は、受信した第2送金完了要求を、第1リーフチェーンの第1リーフチェーンマネージャコントラクトによって呼び出してよい(invoke)。一例として、リレイヤは、インタチェーンコンシューマにより、第1リーフチェーンの第1リーフチェーンマネージャコントラクトに第2送金完了要請を伝達してよい。第1リーフチェーンでは、第1リーフチェーンマネージャコントラクトが、リレイヤを経て伝達される第2送金完了要求にしたがって第1リーフチェーンの総コイン量を調節してよい。
以上のように、本発明の実施形態によると、ルートチェーンを基盤としてリーフチェーンを追加する方式により、スケールアウトが可能なトランザクション処理システムおよび方法を提供することができる。
上述したシステムまたは装置は、ハードウェア構成要素、ソフトウェア構成要素、またはハードウェア構成要素とソフトウェア構成要素との組み合わせによって実現されてよい。例えば、実施形態で説明された装置および構成要素は、例えば、プロセッサ、コントローラ、ALU(arithmetic logic unit)、デジタル信号プロセッサ、マイクロコンピュータ、FPGA(field programmable gate array)、PLU(programmable logic unit)、マイクロプロセッサ、または命令を実行して応答することができる様々な装置のように、1つ以上の汎用コンピュータまたは特殊目的コンピュータを利用して実現されてよい。処理装置は、オペレーティングシステム(OS)およびOS上で実行される1つ以上のソフトウェアアプリケーションを実行してよい。また、処理装置は、ソフトウェアの実行に応答し、データにアクセスし、データを記録、操作、処理、および生成してもよい。理解の便宜のために、1つの処理装置が使用されるとして説明される場合もあるが、当業者は、処理装置が複数個の処理要素および/または複数種類の処理要素を含んでもよいことが理解できるであろう。例えば、処理装置は、複数個のプロセッサまたは1つのプロセッサおよび1つのコントローラを含んでよい。また、並列プロセッサのような、他の処理構成も可能である。
ソフトウェアは、コンピュータプログラム、コード、命令、またはこれらのうちの1つ以上の組み合わせを含んでもよく、思うままに動作するように処理装置を構成したり、独立的または集合的に処理装置に命令したりしてよい。ソフトウェアおよび/またはデータは、処理装置に基づいて解釈されたり、処理装置に命令またはデータを提供したりするために、いかなる種類の機械、コンポーネント、物理装置、仮想装置、コンピュータ記録媒体または装置に具現化されてよい。ソフトウェアは、ネットワークによって接続されたコンピュータシステム上に分散され、分散された状態で記録されても実行されてもよい。ソフトウェアおよびデータは、1つ以上のコンピュータ読み取り可能な記録媒体に記録されてよい。
実施形態に係る方法は、多様なコンピュータ手段によって実行可能なプログラム命令の形態で実現されてコンピュータ読み取り可能な媒体に記録されてよい。前記コンピュータ読み取り可能な媒体は、プログラム命令、データファイル、データ構造などを単独でまたは組み合わせて含んでよい。前記媒体に記録されるプログラム命令は、実施形態のために特別に設計されて構成されたものであってもよいし、コンピュータソフトウェア当業者に公知な使用可能なものであってもよい。コンピュータ読み取り可能な記録媒体の例としては、ハードディスク、フロッピディスク、磁気テープのような磁気媒体、CD-ROM、DVDのような光媒体、フロプティカルディスク(floptical disk)のような光磁気媒体、およびROM、RAM、フラッシュメモリなどのようなプログラム命令を記録して実行するように特別に構成されたハードウェア装置が含まれる。このような記録媒体は、単一または複数のハードウェアが結合された形態の多様な記録手段または格納手段であってよく、あるコンピュータシステムに直接接続される媒体に限定されることはなく、ネットワーク上に分散存在するものであってもよい。プログラム命令の例は、コンパイラによって生成されるもののような機械語コードだけではなく、インタプリタなどを使用してコンピュータによって実行される高級言語コードを含む。
以上のように、実施形態を、限定された実施形態および図面に基づいて説明したが、当業者であれば、上述した記載から多様な修正および変形が可能であろう。例えば、説明された技術が、説明された方法とは異なる順序で実行されたり、かつ/あるいは、説明されたシステム、構造、装置、回路などの構成要素が、説明された方法とは異なる形態で結合されたりまたは組み合わされたり、他の構成要素または均等物によって対置されたり置換されたとしても、適切な結果を達成することができる。
したがって、異なる実施形態であっても、特許請求の範囲と均等なものであれば、添付される特許請求の範囲に属する。
300:トランザクション処理システム
310:ルートチェーン
320:リーフチェーンA
330:リーフチェーンB
340:リレイヤ

Claims (20)

  1. ルートチェーンと、複数のリーフチェーンと、前記ルートチェーン及び前記複数のリーフチェーン間を中継するための複数のリレイヤとを含むトランザクション処理システムであって、
    前記ルートチェーンは、前記複数のリーフチェーンそれぞれのためのリーフチェーンコントラクトと、前記ルートチェーンのためのルートチェーンマネージャコントラクトとを含み、
    前記複数のリーフチェーンは、それぞれ対応するリーフチェーンマネージャコントラクトを含み、
    前記複数のリレイヤは、
    前記複数のリーフチェーンのうち第1リーフチェーンから第2リーフチェーンへの送金要求を、(1)前記第1リーフチェーンが含む第1リーフチェーンマネージャコントラクトと前記ルートチェーンが含む前記第1リーフチェーンの第1リーフチェーンコントラクトとの間の中継、および(2)前記ルートチェーンが含む前記第2リーフチェーンの第2リーフチェーンコントラクトと前記第2リーフチェーンが含む第2リーフチェーンマネージャコントラクトとの間の中継によって処理するものであり
    前記(1)の中継は、前記第1リーフチェーンのリレイヤ及び前記ルートチェーンのリレイヤにより処理され、前記(2)の中継は、前記第2リーフチェーンのリレイヤ及び前記ルートチェーンのリレイヤにより処理され、前記複数のリレイヤは予め設定された時間周期で変更される、トランザクション処理システム。
  2. 前記複数のリーフチェーンのリレイヤは、
    前記複数のリーフチェーンそれぞれまたは割り当てられたリーフチェーンで生成される取引、および前記ルートチェーンで生成される取引を収集するプロデューサ、および
    前記第1リーフチェーンの第1リーフチェーンマネージャコントラクトからの送金要求を、(1)前記ルートチェーンが含む前記第1リーフチェーンの第1リーフチェーンコントラクトに伝達するか、または(2)前記ルートチェーンの第2リーフチェーンコントラクトからの送金要求を前記第2リーフチェーンの第2リーフチェーンマネージャコントラクトに伝達するインタチェーンコンシューマ
    を含む、請求項1に記載のトランザクション処理システム。
  3. 前記複数のリーフチェーンのリレイヤは、
    前記プロデューサが収集する取引をキューに記録して順に前記インタチェーンコンシューマに提供するキューサーバ、および
    前記送金要求の伝達を保障するために障害を処理するインタチェーンフェイルオーバ
    をさらに含む、請求項2に記載のトランザクション処理システム。
  4. 前記ルートチェーンマネージャコントラクトは、
    前記複数のリーフチェーンそれぞれで発給されたコインの総量を、送金要求された情報を利用して分析することによって、送金要求が正常であるか否かを決定し、
    正常であると決定された送金要求をブロックに記録する、
    請求項1に記載のトランザクション処理システム。
  5. 前記ルートチェーンマネージャコントラクトは、
    前記複数のリーフチェーンそれぞれのリレイヤからの送金完了要求を、前記送金要求の送金要求記録を利用して処理し、
    前記送金要求記録を削除し、
    対応するリーフチェーンに前記複数のリーフチェーンのリレイヤを経て送金完了を要求する、
    請求項4に記載のトランザクション処理システム。
  6. 前記ルートチェーンマネージャコントラクトは、
    新たなリーフチェーンが追加される場合、前記ルートチェーンに実現される前記新たなリーフチェーンのリーフチェーンコントラクトのアドレスを登録し、
    前記ルートチェーンのリーフチェーンコントラクトにアクセス可能なリレイヤユーザを追加する、
    請求項1に記載のトランザクション処理システム。
  7. 前記第1リーフチェーンマネージャコントラクトは、
    前記第1リーフチェーンに実現される新たなサービスのためのサービスコントラクトのアドレスを登録し、
    前記ルートチェーンマネージャコントラクトは、
    前記サービスコントラクトのアドレスをさらに登録する、
    請求項6に記載のトランザクション処理システム。
  8. 前記第1リーフチェーンマネージャコントラクトは、
    前記第1リーフチェーンの第1サービスに対して実現された第1サービスコントラクトによる第1ユーザの送金要求を受信して前記第1リーフチェーンのブロックに記録した後、前記受信した送金要求は前記第1リーフチェーンのリレイヤ及び前記ルートチェーンのリレイヤを経て前記ルートチェーンに伝達させ、
    前記ルートチェーンから前記ルートチェーンのリレイヤ及び前記第1リーフチェーンのリレイヤを経て伝達される送金完了要求にしたがって前記第1リーフチェーンの全体通貨量を調節する、
    請求項1に記載のトランザクション処理システム。
  9. 前記第1リーフチェーンマネージャコントラクトは、
    前記送金要求による交換取引ハッシュを生成し、
    前記交換取引ハッシュ、前記第1ユーザの識別子、前記第1サービスの識別子、前記送金要求の対象となる第2サービスの識別子、前記送金要求の対象となる第2ユーザの識別子、および固有値を含む送金要求記録を生成し、
    前記固有値は、前記送金要求に対応する要求時刻、前記送金要求に対応するリーフチェーンである前記第1リーフチェーンの識別子、および前記ブロックの識別子の結合によって唯一の値として生成される、
    請求項8に記載のトランザクション処理システム。
  10. 前記第1リーフチェーンマネージャコントラクトは、
    前記第1ユーザの送金要求の受信に応答して前記第1ユーザの残高から送金要求された金額を差し引き、差し引いた金額が使用できないようにロックを設定する、
    請求項8に記載のトランザクション処理システム。
  11. 前記第1リーフチェーンマネージャコントラクトは、
    前記送金要求が失敗するとき、前記ロックされた金額を解除して前記第1ユーザに返還する、
    請求項10に記載のトランザクション処理システム。
  12. 前記複数のリレイヤは、前記複数のリーフチェーンそれぞれに対応するリレイヤおよび前記ルートチェーンに対応するリレイヤを含む、
    請求項10に記載のトランザクション処理システム。
  13. 前記複数のリーフチェーンそれぞれに対応するリレイヤは、ハッシュタイムロックコントラクトを利用して動的に変更される、
    請求項12に記載のトランザクション処理システム。
  14. リレイヤのトランザクション処理方法であって、
    少なくとも1つのプロセッサにより、第1リーフチェーンの第1サービスから第2リーフチェーンの第2サービスへの第1送金要求を、前記第1リーフチェーンが含む第1リーフチェーンマネージャコントラクトから受信する段階、
    前記少なくとも1つのプロセッサにより、前記受信した第1送金要求を、ルートチェーンが含む前記第1リーフチェーンの第1リーフチェーンコントラクトによって呼び出す(invoke)段階、
    前記少なくとも1つのプロセッサにより、前記ルートチェーンが含む前記第2リーフチェーンの第2リーフチェーンコントラクトから前記第1送金要求に対応する第2送金要求を受信する段階、および
    前記少なくとも1つのプロセッサにより、前記受信した第2送金要求を、前記第2リーフチェーンが含む第2リーフチェーンマネージャコントラクトによって呼び出す(invoke)段階
    を含み、前記第1送金要求は、前記第1リーフチェーンのリレイヤ及び前記ルートチェーンのリレイヤにより処理され、前記第2送金要求は、前記第2リーフチェーンのリレイヤ及び前記ルートチェーンのリレイヤにより処理され、
    前記第1リーフチェーンのリレイヤ、前記第2リーフチェーンのリレイヤ、及び前記ルートチェーンのリレイヤは、予め設定された時間周期で変更される、トランザクション処理方法。
  15. 前記少なくとも1つのプロセッサにより、前記第2リーフチェーンマネージャコントラクトから前記第2送金要求に対応する第1送金完了要求を受信する段階、
    前記少なくとも1つのプロセッサにより、前記受信した第1送金完了要求を、ルートチェーンが含む前記第2リーフチェーンの前記第2リーフチェーンコントラクトによって呼び出す(invoke)段階、
    前記少なくとも1つのプロセッサにより、前記ルートチェーンが含む前記第1リーフチェーンの前記第1リーフチェーンコントラクトから前記第1送金完了要求に対応する第2送金完了要求を受信する段階、および
    前記少なくとも1つのプロセッサにより、前記受信した第2送金完了要求を、前記第1リーフチェーンの前記第1リーフチェーンマネージャコントラクトによって呼び出す(invoke)段階
    をさらに含む、請求項14に記載のトランザクション処理方法。
  16. 前記第1送金要求は、前記第1サービスの第1ユーザから前記第2サービスの第2ユーザへの送金要求を含み、
    前記送金要求によるコインは、前記第1リーフチェーンが含む前記第1リーフチェーンマネージャコントラクトによって前記第1ユーザの残高から差し引かれ、使用できないようにロックされ、エスクロコントラクトに送金要求記録として記録される、
    請求項14に記載のトランザクション処理方法。
  17. 前記第1送金要求を受信する段階または前記第2送金要求を受信する段階は、
    前記第1または第2リーフチェーンのリレイヤが含むプロデューサの取引収集によって前記第1送金要求を受信するか前記第2送金要求を受信し、
    前記第1送金要求を呼び出す(invoke)段階または前記第2送金要求を呼び出す(invoke)段階は、
    前記第1または第2リーフチェーンのリレイヤがさらに含むインタチェーンコンシューマによって前記第1送金要求を呼び出す(invoke)か、または前記第2送金要求を呼び出す(invoke)する、
    請求項14に記載のトランザクション処理方法。
  18. 前記ルートチェーンが含むルートチェーンマネージャコントラクトが、複数のリーフチェーンそれぞれで発給されたコインの総量を送金要求された情報を利用して分析することによって前記第1送金要求が正常であるか否かを決定し、正常であると決定された前記第1送金要求をブロックに記録し、前記第1送金要求に対応する前記第2送金要求を前記第2リーフチェーンコントラクトによって前記第2リーフチェーンのリレイヤに送信する、
    請求項14に記載のトランザクション処理方法。
  19. 請求項14~18のうちのいずれか一項に記載のトランザクション処理方法をコンピュータ装置に実行させる、コンピュータプログラム。
  20. 請求項14~18のうちのいずれか一項にトランザクション処理方法をコンピュータ装置に実行させるためのコンピュータプログラムが記録されている、コンピュータ読み取り可能な記録媒体。
JP2019185221A 2019-01-02 2019-10-08 ブロックチェーンの拡張を可能にするトランザクション処理システムおよび方法 Active JP7460348B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2019-0000269 2019-01-02
KR1020190000269A KR102204403B1 (ko) 2019-01-02 2019-01-02 블록체인의 확장을 가능하게 하는 트랜잭션 처리 시스템 및 방법

Publications (2)

Publication Number Publication Date
JP2020109617A JP2020109617A (ja) 2020-07-16
JP7460348B2 true JP7460348B2 (ja) 2024-04-02

Family

ID=71124112

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019185221A Active JP7460348B2 (ja) 2019-01-02 2019-10-08 ブロックチェーンの拡張を可能にするトランザクション処理システムおよび方法

Country Status (3)

Country Link
US (1) US11244307B2 (ja)
JP (1) JP7460348B2 (ja)
KR (1) KR102204403B1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102334931B1 (ko) * 2020-11-16 2021-12-06 두나무 주식회사 블록체인들 사이의 토큰 교환을 보조하는 방법 및 시스템
CN112561595A (zh) * 2020-12-21 2021-03-26 杭州趣链科技有限公司 积分兑换方法、系统、装置、设备和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017170997A1 (ja) 2016-03-31 2017-10-05 株式会社bitFlyer 階層型ネットワークシステム、これに用いられるノード及びプログラム
US20180300382A1 (en) 2017-04-12 2018-10-18 Vijay K. Madisetti Method and System for Tuning Blockchain Scalability for Fast and Low-Cost Payment and Transaction Processing

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130087440A (ko) * 2012-01-27 2013-08-06 주식회사 하나은행 국제간 송금 방법, 그리고 이를 수행하는 송금 시스템
JP6431458B2 (ja) * 2015-09-10 2018-11-28 株式会社アトムソリューションズ 仮想通貨を用いた取引システム
KR101990506B1 (ko) * 2017-01-31 2019-06-18 권양호 가상화폐 중개 서비스를 이용한 가상화폐 내기를 하는 오프라인 게임 서비스 제공 방법
KR102349401B1 (ko) 2017-04-05 2022-01-11 삼성에스디에스 주식회사 블록체인 기반의 사용자 정의 화폐 거래 시스템 및 그 동작 방법
GB201711878D0 (en) * 2017-07-24 2017-09-06 Nchain Holdings Ltd Computer - implemented system and method
US20190058709A1 (en) * 2017-08-16 2019-02-21 Telefonaktiebolaget Lm Ericsson (Publ) Tenant management method and system in a cloud computing environment
AU2020202793A1 (en) * 2017-09-29 2020-05-21 Leverage Rock Llc Scalable distributed ledger system, transaction privacy and combating fraud, theft and loss
US10862672B2 (en) * 2017-10-24 2020-12-08 Intuit, Inc. Witness blocks in blockchain applications
US11030217B2 (en) * 2018-05-01 2021-06-08 International Business Machines Corporation Blockchain implementing cross-chain transactions
WO2020022957A1 (en) * 2018-07-27 2020-01-30 Aioz Pte Ltd Method and apparatus for transaction verification in a blockchain-based network
WO2020033216A2 (en) * 2018-07-31 2020-02-13 Oded Wertheim Scaling and accelerating decentralized execution of transactions

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017170997A1 (ja) 2016-03-31 2017-10-05 株式会社bitFlyer 階層型ネットワークシステム、これに用いられるノード及びプログラム
US20180300382A1 (en) 2017-04-12 2018-10-18 Vijay K. Madisetti Method and System for Tuning Blockchain Scalability for Fast and Low-Cost Payment and Transaction Processing

Also Published As

Publication number Publication date
KR102204403B1 (ko) 2021-01-18
KR20200084177A (ko) 2020-07-10
US11244307B2 (en) 2022-02-08
US20200210998A1 (en) 2020-07-02
JP2020109617A (ja) 2020-07-16

Similar Documents

Publication Publication Date Title
US11921682B2 (en) Extracting data from a blockchain network
US11042876B2 (en) Transaction method and system based on centralized settlement and blockchain deposit certificates
TWI705346B (zh) 基於中心化結算與區塊鏈存證的交易方法及系統
Bozic et al. Securing virtual machine orchestration with blockchains
KR20170040079A (ko) 블록 검증을 위한 복수의 일방향 함수를 지원하는 블록 체인
WO2019051822A1 (zh) 资源交易的方法、节点、装置及存储介质
AU2020202575A1 (en) Online payment
JP7304963B2 (ja) プログラム、データ認証方法、およびコンピュータ装置
US20220156725A1 (en) Cross-chain settlement mechanism
JP7460348B2 (ja) ブロックチェーンの拡張を可能にするトランザクション処理システムおよび方法
JP2022539283A (ja) ブロックチェーンとは異なる形式のストレージに格納されるブロックチェーンデータを検証する方法およびシステム
TWI646487B (zh) 具權限分級和避免重複執行的智能合約執行系統及其方法
Garcia Bringas et al. BlockChain platforms in financial services: current perspective
JP7254954B2 (ja) ブロックチェーンで生成されたデータを認証する方法およびシステム
US11983705B1 (en) Bank-driven model for preventing double spending of digital currency transferred between multiple DLT networks using a trusted intermediary
US20220129873A1 (en) Method and system for an electronic bill payment platform
JP2023514007A (ja) ブロックチェーンでスマートコントラクトを利用したエスクロー取引方法およびシステム
US11856004B2 (en) Systems and methods for identifying malicious cryptographic addresses
US11966887B1 (en) Bridging network transaction platforms to unify cross-platform transfers
US20210226921A1 (en) Graphical user interface and operator console management system for distributed terminal network
Bogdanov et al. ON CONСEPTUAL RESPONSE TO SOME OF THE BLOCKCHAIN PROBLEMS
JP2022105477A (ja) 仮想通貨の即時送金のための方法、システム、およびコンピュータプログラム
CN115204870A (zh) 区块链应用的管理方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
A80 Written request to apply exceptions to lack of novelty of invention

Free format text: JAPANESE INTERMEDIATE CODE: A80

Effective date: 20191016

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220929

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230925

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231017

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231228

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240321

R150 Certificate of patent or registration of utility model

Ref document number: 7460348

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150