JP7339335B2 - DAppで要求する高いトランザクション処理量をブロックチェーンで効率的に処理するための方法およびシステム - Google Patents

DAppで要求する高いトランザクション処理量をブロックチェーンで効率的に処理するための方法およびシステム Download PDF

Info

Publication number
JP7339335B2
JP7339335B2 JP2021523193A JP2021523193A JP7339335B2 JP 7339335 B2 JP7339335 B2 JP 7339335B2 JP 2021523193 A JP2021523193 A JP 2021523193A JP 2021523193 A JP2021523193 A JP 2021523193A JP 7339335 B2 JP7339335 B2 JP 7339335B2
Authority
JP
Japan
Prior art keywords
transaction
dapp
queue
server
blockchain
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
JP2021523193A
Other languages
English (en)
Other versions
JP2022520141A (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 JP2022520141A publication Critical patent/JP2022520141A/ja
Application granted granted Critical
Publication of JP7339335B2 publication Critical patent/JP7339335B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1042Peer-to-peer [P2P] networks using topology management mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Multimedia (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Description

以下の説明は、分散型アプリケーション(Decentralized Application、以下「DApp」とする)で要求する高いトランザクション処理量をブロックチェーンで効率的に処理するためのトランザクション処理方法およびシステムに関する。
ブロックチェーン(block-chain)とは、電子台帳(electronic ledger)であって、トランザクションのためのブロックで構成されたコンピュータベースの分散型、P2P(peer-to-peer)のシステムで実現される。各トランザクション(Transaction:Tx)は、ブロックチェーンシステム内の参加者にデジタル資産の制御送信をエンコードするデータ構造を有し、少なくとも1つの入力と少なくとも1つの出力を含む。各ブロックは1つ前のブロックのハッシュを含み、該当のブロックがともに連結することにより、初めからブロックチェーンに記録されたすべてのトランザクションの永久的な、変更することのできない(unalterable)記録を生成する。例えば、特許文献1では、ブロックチェーンに基づくユーザ定義の貨幣取引システムおよびその動作方法を開示している。
ここで、DAppは、バックエンドコードが分散化されたP2Pネットワーク上で回り(あるいは、データの呼び出しや登録をブロックチェーンデータベースにし)、これをフロントエンドでインタフェースとして提供するアプリケーションを意味する。このとき、ブロックチェーンにおけるトランザクションの書き込み(write)は、ブロックチェーンネットワーク上のノードの間での合意によってブロックを生成してチェーンに連結する過程が要求されるため極めて遅く、ブロックチェーン自体もスケールアウト(scale out)できない。例えば、ブロックチェーンネットワークでブロックを生成するためのノードを追加したとしても、ブロックを生成するための合意費用が増加するだけで、トランザクションに対するブロックの生成速度は増加しない。したがって、DAppが要求する高いトランザクション量をブロックチェーンで処理しきれないという問題を抱えている。
韓国特許出願公開第10-2018-0113143号公報
DAppで要求する高いトランザクション処理量をブロックチェーンで効率的に処理するためのトランザクション処理方法およびシステムを提供する。
DAppで要請したトランザクションに受信サーバで固有のトランザクション識別子を付与してキュー(queue)サーバに送信してキューイングし、別のコンシューマサーバでキューイングされたトランザクションをブロックチェーンに順に記録することにより、スケールアウト(scale out)が不可能なブロックチェーンに対しても、DAppが要求する高いトランザクション量を処理することができる、トランザクション処理方法およびシステムを提供する。
トランザクション識別子をDAppにリターンすることにより、後に、該当のトランザクションに対してブロックチェーンでブロックに最終コミット(commit)がなされたかをDAppで照会できるようにする、トランザクション処理方法およびシステムを提供する。
DAppで要請したトランザクションを受信する段階、前記トランザクションのためのトランザクション識別子を生成する段階、前記生成されたトランザクション識別子を含む応答を前記DAppに送信する段階、および前記生成されたトランザクション識別子が付与されたトランザクションがキュー(queue)サーバに含まれるキューに格納された後、コンシューマ(consumer)サーバによってブロックチェーンに順に記録されるように、前記生成されたトランザクション識別子が付与されたトランザクションを前記キューサーバに送信する段階を含む、トランザクション処理方法を提供する。
コンピュータ装置と結合してトランザクション処理方法をコンピュータ装置に実行させるためにコンピュータ読み取り可能な記録媒体に記録される、コンピュータプログラムを提供する。
トランザクション処理方法をコンピュータ装置に実行させるためのコンピュータプログラムが記録されていることを特徴とする、コンピュータ読み取り可能な記録媒体を提供する。
コンピュータ装置であって、コンピュータ読み取り可能な命令を実行するように実現される少なくとも1つのプロセッサを含み、前記少なくとも1つのプロセッサにより、DAppで要請したトランザクションを受信し、前記トランザクションのためのトランザクション識別子を生成し、前記生成されたトランザクション識別子を含む応答を前記DAppに送信し、前記生成されたトランザクション識別子が付与されたトランザクションがキュー(queue)サーバに含まれるキューに格納された後、コンシューマ(consumer)サーバによってブロックチェーンに順に記録されるように、前記生成されたトランザクション識別子が付与されたトランザクションを前記キューサーバに送信することを特徴とする、コンピュータ装置を提供する。
DAppで要請したトランザクションを受信して前記トランザクションのためのトランザクション識別子を生成し、前記生成されたトランザクション識別子を含む応答を前記DAppに送信し、前記生成されたトランザクション識別子が付与されたトランザクションを送信する受信サーバ、前記生成されたトランザクション識別子が付与されたトランザクションを受信してキューに格納するキュー(queue)サーバ、および前記キューサーバのキューに格納されたトランザクションをブロックチェーンに順に記録するコンシューマ(consumer)サーバを含む、トランザクション処理システムを提供する。
DAppで要求する高いトランザクション処理量をブロックチェーンで効率的に処理することができる。
DAppで要請したトランザクションに受信サーバで固有のトランザクション識別子を付与してキュー(queue)サーバに送信してキューイングし、キューイングされたトランザクションを別のコンシューマ(consumer)サーバでブロックチェーンに順に記録することにより、スケールアウト(scale out)が不可能なブロックチェーンに対しても、DAppが要求する高いトランザクション量を処理することができる。
トランザクション識別子をDAppにリターンすることにより、後に、該当のトランザクションに対してブロックチェーンでブロックに最終コミット(commit)がなされたかをDAppで照会することができる。
本発明の一実施形態における、ネットワーク環境の例を示した図である。 本発明の一実施形態における、コンピュータ装置の例を示したブロック図である。 本発明の一実施形態における、トランザクション処理システムの概略的な例を示した図である。 本発明の一実施形態における、トランザクション処理方法の例を示したフローチャートである。
以下、実施形態について、添付の図面を参照しながら詳しく説明する。
本発明の実施形態に係るトランザクション処理システムは、以下で説明する少なくとも1つのコンピュータ装置によって実現されてよい。コンピュータ装置においては、本発明の一実施形態に係るコンピュータプログラムがインストールされて実行されてよく、コンピュータ装置は、実行されるコンピュータプログラムの制御にしたがって本発明の一実施形態に係るトランザクション処理方法を実行してよい。上述したコンピュータプログラムは、コンピュータ装置と結合してトランザクション処理方法をコンピュータ装置に実行させるために、コンピュータ読み取り可能な記録媒体に記録されてよい。
図1は、本発明の一実施形態における、ネットワーク環境の例を示した図である。図1のネットワーク環境は、複数の電子機器110、120、130、140、複数のサーバ150、160、およびネットワーク170を含む例を示している。このような図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は、DApp310、受信サーバ320、ノード330、キュー(queue)サーバ340、およびコンシューマ(consumer)サーバ350を示している。このとき、受信サーバ320、ノード330、キューサーバ340、およびコンシューマサーバ350はそれぞれ、上述したコンピュータ装置200によって実現されてよい。実施形態によって、受信サーバ320、ノード330、キューサーバ340、およびコンシューマサーバ350のうちの少なくとも2つ以上が1つのコンピュータ装置200に含まれるように実現されてもよい。
DApp310は、分散型アプリケーションであって、一例として、ブロックチェーンをベースとしたプラットフォームでスマートコントラクト(smart contract)によって作動するアプリケーションサービスであってよい。このようなDApp310は、ブロックチェーン上にデータを登録(または、記録)して呼び出すことができる。例えば、DApp310は、トランザクション(transaction:Tx)を受信サーバ320に伝達し、ブロックチェーン上にトランザクションデータを登録してよい。
受信サーバ320は、DApp310からトランザクションを受信してブロックチェーンに登録しようとする。このとき、DApp310は、処理しなければならない、一定の期間内のまたは一定の量のデータ(トランザクション)を整理して一度に処理する。言い換えれば、受信サーバ320は、DApp310から一定の期間内または一定の量のトランザクションを一度に受信して処理しなければならない状況が発生するのである。しかし、ブロックチェーンの一定の期間(一例として、分または秒)の処理量には制限があり、このような処理量を増やすためのスケールアウト(scale out)は不可能であるという特徴があるため、受信サーバ320でブロックチェーンの処理量を超えるトランザクションを一度に登録しようとする場合には、ブロックチェーンの処理量を超えた瞬間からすべてのトランザクション登録が失敗となるという問題がある。
このような問題を解決するために、受信サーバ320がトランザクションをブロックチェーンのノード350に直接送信する代わりに、キューサーバ340に送信することが考えられる。このために、受信サーバ320は、DApp310で要請されたトランザクションそれぞれのためのトランザクション識別子(TxID)を生成してよい。例えば、受信サーバ310は、トランザクションに対するハッシュ値を、該当のトランザクションのためのトランザクション識別子として生成してよい。このとき、受信サーバ320は、トランザクション識別子を含む応答をDApp310に送信してDApp310の要請に応答してよく、トランザクション識別子が付与されたトランザクションをキューサーバ340に送信してよい。
このとき、受信サーバ320は、トランザクション識別子を該当のトランザクションのユーザの秘密鍵(private key)によって署名し、秘密鍵によって署名されたトランザクション識別子(sign(TxID))を生成してよく、このような署名されたトランザクション識別子が付与されたトランザクションをキューサーバ340に送信してもよい。例えば、受信サーバ320は、少なくとも1つのユーザのための電子財布を含んでよい。このような電子財布は、ユーザのDApp310のユーザ識別子、ユーザの秘密鍵、およびブロックチェーンのためのパブリックアドレスなどの情報を含んでよい。このとき、受信サーバ320は、特定のユーザのトランザクション識別子を該当のユーザの秘密鍵を利用して署名してよい。
キューサーバ340は、受信サーバ320から送信されたトランザクションをキュー341に格納してよい。このとき、コンシューマサーバ350は、キューサーバ340のキュー341に格納されたトランザクション(それぞれ固有のトランザクション識別子(または、署名されたトランザクション識別子)が付与されたトランザクション)をブロックチェーンに順に記録するために、トランザクションをブロックチェーンのノード350に送信してよい。このように、DApp310が一度に伝達する一定の期間内または一定の量のトランザクションはキューサーバ340のキュー341に格納され、コンシューマサーバ350を経てブロックチェーンに順に登録されるようになるため、本実施形態に係るトランザクション処理システムは、DApp310が要求する高いトランザクション処理量をブロックチェーンで効率的に処理できるように手助けすることが可能となる。
ノード350は、ブロックチェーンネットワークに参加するノードのうちの1つであってよい。このとき、ノード350にトランザクションが受信される場合、ノード350は、ノードの間での合意により、受信したトランザクションに対するブロックを生成してブロックチェーンに追加するように実現されてよい。例えば、ブロックチェーンネットワークにおいて、合意のためのノードのうちの全部(または、予め設定された割合以上のノード)で合意が成立した場合、ノード350は、トランザクションのためのブロックを生成し、合意のためのノードにもブロックの生成を指示してよい。この場合、それぞれのノードではブロックが生成され、該当のノードが格納しているブロックチェーンに追加されてよい。合意のためのノードは、ブロックチェーンネットワークのすべてのノードであってもよいが、実施形態によっては、ブロックチェーンネットワークのすべてのノードのうちから選定された一部のノードであってもよい。
図4は、本発明の一実施形態における、トランザクション処理方法の例を示したフローチャートである。本実施形態に係るトランザクション処理方法は、上述したコンピュータ装置200によって実行されてよい。例えば、コンピュータ装置200のプロセッサ220は、メモリ210が含むオペレーティングシステムのコードと、少なくとも1つのプログラムのコードとによる制御命令(instruction)を実行するように実現されてよい。ここで、プロセッサ220は、コンピュータ装置200に記録されたコードが提供する制御命令にしたがってコンピュータ装置200が図4の方法に含まれる段階410~440を実行するようにコンピュータ装置200を制御してよい。
段階410で、コンピュータ装置200は、DAppで要請したトランザクションを受信してよい。上述したように、DAppは、処理しなければならないデータ(トランザクション)を、一定の期間内または一定の量を一度に整理して送信することがあり、コンピュータ装置200は、DAppから一定の期間内または一定の量のトランザクションを一度に受信することがある。このとき、ブロックチェーンの一定の期間内の処理量には制限があり、スケールアウトも不可能であることから、コンピュータ装置200は、DAppが要求する高いトランザクション処理量をブロックチェーンで効率的に処理できるようにするために、以下の段階420~440を実行してよい。
段階420で、コンピュータ装置200は、トランザクションのためのトランザクション識別子を生成してよい。このとき、コンピュータ装置200は、トランザクションに対するハッシュ値をトランザクション識別子として生成してよい。例えば、トランザクションの内容は、予め設定されたハッシュ関数の入力パラメータであってよく、ハッシュ関数の出力値であるハッシュ値がトランザクション識別子として利用されてよい。
段階430で、コンピュータ装置200は、生成されたトランザクション識別子を含む応答をDAppに送信してよい。このとき、DAppに送信された応答が含むトランザクション識別子は、後に、DAppが要請したトランザクションに対してブロックに最終コミット(commit)がなされたかをブロックチェーンで照会するために利用されてよい。
段階440で、コンピュータ装置200は、生成されたトランザクション識別子が付与されたトランザクションがキューサーバに含まれるキューに格納された後、コンシューマサーバによってブロックチェーンに順に記録されるように、生成されたトランザクション識別子が付与されたトランザクションをキューサーバに送信してよい。実施形態によっては、コンピュータ装置200は、ユーザのユーザ識別子およびユーザの秘密鍵を予め記録しておき、生成されたトランザクション識別子をユーザの秘密鍵によって署名し、署名されたトランザクション識別子を生成してもよい。この場合、コンピュータ装置200は、段階440で、ユーザの秘密鍵によって署名されたトランザクション識別子をトランザクションとともにキューサーバに送信してよい。
このとき、キューサーバは、受信するトランザクションをキューに順に格納するように実現されてよく、コンシューマサーバは、キューに格納されたトランザクションがブロックチェーンに順に記録されるように、ブロックチェーンネットワークの第1ノードのうちの1つにトランザクションを送信するように実現されてよい。このとき、ブロックチェーンネットワークの第1ノードそれぞれは、第1ノードの間での合意により、コンシューマサーバから受信したトランザクションに対するブロックを生成してブロックチェーンに追加するように実現されてよい。このように、DAppが要求する高いトランザクション処理量をブロックチェーンに直接要請するのではなく、キューサーバが含むキューにトランザクションを格納した後、コンシューマサーバを経て順に処理されるようにすることにより、ブロックチェーンがトランザクションを効率的に処理できるように手助けすることが可能となる。
以上のように、本発明の実施形態によると、DAppで要求する高いトランザクション処理量をブロックチェーンで効率的に処理することができる。DAppで要請したトランザクションに受信サーバで固有のトランザクション識別子を付与してキュー(queue)サーバに送信してキューイングし、キューイングされたトランザクションを別のコンシューマ(consumer)サーバでブロックチェーンに順に記録することにより、スケールアウト(scale out)が不可能なブロックチェーンに対しても、DAppが要求する高いトランザクション量を処理することができる。トランザクション識別子をDAppにリターンすることにより、後に、該当のトランザクションに対してブロックチェーンでブロックに最終コミット(commit)がなされたかをDAppで照会することができる。
上述したシステムまたは装置は、ハードウェア構成要素、ソフトウェア構成要素、またはハードウェア構成要素とソフトウェア構成要素との組み合わせによって実現されてよい。例えば、実施形態で説明された装置および構成要素は、例えば、プロセッサ、コントローラ、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、フラッシュメモリなどのようなプログラム命令を格納して実行するように特別に構成されたハードウェア装置が含まれる。このような記録媒体は、単一または複数のハードウェアが結合した形態の多様な記録手段または格納手段であってよく、あるコンピュータシステムに直接接続する媒体に限定されてはならず、ネットワーク上で分散して存在するものであってもよい。プログラム命令の例は、コンパイラによって生成されるもののような機械語コードだけではなく、インタプリタなどを使用してコンピュータによって実行される高級言語コードを含む。
以上のように、実施形態を、限定された実施形態および図面に基づいて説明したが、当業者であれば、上述した記載から多様な修正および変形が可能であろう。例えば、説明された技術が、説明された方法とは異なる順序で実行されたり、かつ/あるいは、説明されたシステム、構造、装置、回路などの構成要素が、説明された方法とは異なる形態で結合されたりまたは組み合わされたり、他の構成要素または均等物によって対置されたり置換されたとしても、適切な結果を達成することができる。
したがって、異なる実施形態であっても、特許請求の範囲と均等なものであれば、添付される特許請求の範囲に属する。

Claims (14)

  1. 分散型アプリケーション(DApp)で要請したトランザクションを受信する段階、
    前記トランザクションのためのトランザクション識別子を生成する段階、
    前記生成されたトランザクション識別子を含む応答を前記DAppに送信する段階、および
    前記生成されたトランザクション識別子が付与されたトランザクションがキューサーバに含まれるキューに格納された後、コンシューマサーバによってブロックチェーンに順に記録されるように、前記生成されたトランザクション識別子が付与された前記トランザクションを前記キューサーバに送信する段階
    を含み、
    前記DAppに送信された応答が含む前記トランザクション識別子により、前記DAppが要請した前記トランザクションに対してブロックに最終コミットがなされたかが前記DAppによって照会される、トランザクション処理方法。
  2. 前記トランザクションのためのトランザクション識別子を生成する段階は、
    前記トランザクションに対するハッシュ値をトランザクション識別子として生成することを特徴とする、
    請求項1に記載のトランザクション処理方法。
  3. ユーザのユーザ識別子および前記ユーザの秘密鍵を記録する段階、および
    前記生成されたトランザクション識別子を前記ユーザの秘密鍵によって署名する段階
    をさらに含み、
    前記生成されたトランザクション識別子が付与された前記トランザクションを前記キューサーバに送信する段階は、
    前記ユーザの秘密鍵によって前記署名されたトランザクション識別子を前記トランザクションとともに前記キューサーバに送信すること
    を特徴とする、請求項1に記載のトランザクション処理方法。
  4. 前記キューサーバは、受信した前記トランザクションをキューに順に格納するように実現され、
    前記コンシューマサーバは、前記キューに格納された前記トランザクションが前記ブロックチェーンに順に記録されるように、前記ブロックチェーンネットワークの第1ノードのうちの1つに前記トランザクションを送信するように実現されること
    を特徴とする、請求項1に記載のトランザクション処理方法。
  5. 前記ブロックチェーンネットワークの第1ノードそれぞれは、前記第1ノードの間での合意により、前記コンシューマサーバから受信される前記トランザクションに対するブロックを生成して前記ブロックチェーンに追加するように実現されること
    を特徴とする、請求項4に記載のトランザクション処理方法。
  6. コンピュータ装置と結合して請求項1~5のうちのいずれか一項に記載の方法をコンピュータ装置に実行させるためにコンピュータ読み取り可能な記録媒体に記録される、コンピュータプログラム。
  7. 請求項1~5のうちのいずれか一項に記載の方法をコンピュータ装置に実行させるためのコンピュータプログラムが記録されていることを特徴とする、コンピュータ読み取り可能な記録媒体。
  8. コンピュータ装置であって、
    コンピュータ読み取り可能な命令を実行するように実現される少なくとも1つのプロセッサ
    を含み、
    前記少なくとも1つのプロセッサにより、
    分散型アプリケーション(DApp)で要請したトランザクションを受信し、
    前記トランザクションのためのトランザクション識別子を生成し、
    前記生成されたトランザクション識別子を含む応答を前記DAppに送信し、
    記生成されたトランザクション識別子が付与されたランザクションをューサーバに送信し、前記キューサーバに前記トランザクションをキューに格納させた後、コンシューマサーバに前記トランザクションをブロックチェーンに順に記録させ、
    前記DAppに送信された応答が含む前記トランザクション識別子により、前記DAppが要請した前記トランザクションに対してブロックに最終コミットがなされたかが前記DAppによって照会されることを特徴とする、コンピュータ装置。
  9. 前記少なくとも1つのプロセッサにより、
    前記トランザクションに対するハッシュ値をトランザクション識別子として生成すること
    を特徴とする、請求項8に記載のコンピュータ装置。
  10. 前記少なくとも1つのプロセッサにより、
    ユーザのユーザ識別子および前記ユーザの秘密鍵を記録し、
    前記生成されたトランザクション識別子を前記ユーザの秘密鍵によって署名し、
    前記ユーザの秘密鍵によって前記署名されたトランザクション識別子を前記トランザクションとともに前記キューサーバに送信すること
    を特徴とする、請求項8に記載のコンピュータ装置。
  11. 前記キューサーバは、受信した前記トランザクションをキューに順に格納するように実現され、
    前記コンシューマサーバは、前記キューに格納された前記トランザクションが前記ブロックチェーンに順に記録されるように、前記ブロックチェーンネットワークの第1ノードのうちの1つに前記トランザクションを送信するように実現されること
    を特徴とする、請求項8に記載のコンピュータ装置。
  12. 前記ブロックチェーンネットワークの第1ノードそれぞれは、前記第1ノードの間での合意により、前記コンシューマサーバから受信される前記トランザクションに対するブロックを生成して前記ブロックチェーンに追加するように実現されること
    を特徴とする、請求項11に記載のコンピュータ装置。
  13. 分散型アプリケーション(DApp)で要請したトランザクションを受信して前記トランザクションのためのトランザクション識別子を生成し、前記生成されたトランザクション識別子を含む応答を前記DAppに送信し、前記生成されたトランザクション識別子が付与されたトランザクションを送信する受信サーバ、
    前記生成されたトランザクション識別子が付与された前記トランザクションを受信してキューに格納するキューサーバ、および
    前記キューサーバの前記キューに格納された前記トランザクションをブロックチェーンに順に記録するコンシューマサーバ
    を含み、
    前記DAppに送信された応答が含む前記トランザクション識別子により、前記DAppが要請した前記トランザクションに対してブロックに最終コミットがなされたかが前記DAppによって照会される、トランザクション処理システム。
  14. 前記コンシューマサーバは、前記キューサーバの前記キューに格納された前記トランザクションが前記ブロックチェーンに順に記録されるように、ブロックチェーンネットワークの第1ノードのうちの1つに前記トランザクションを送信し、
    前記ブロックチェーンネットワークの第1ノードそれぞれは、前記第1ノードの間での合意により、前記コンシューマサーバから受信される前記トランザクションに対するブロックを生成して前記ブロックチェーンに追加するように実現されること
    を特徴とする、請求項13に記載のトランザクション処理システム。
JP2021523193A 2018-11-05 2018-11-05 DAppで要求する高いトランザクション処理量をブロックチェーンで効率的に処理するための方法およびシステム Active JP7339335B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/KR2018/013315 WO2020096072A1 (ko) 2018-11-05 2018-11-05 디앱에서 요구하는 높은 트랜잭션 처리량을 효율적으로 블록체인에서 처리하기 위한 방법 및 시스템

Publications (2)

Publication Number Publication Date
JP2022520141A JP2022520141A (ja) 2022-03-29
JP7339335B2 true JP7339335B2 (ja) 2023-09-05

Family

ID=70612426

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021523193A Active JP7339335B2 (ja) 2018-11-05 2018-11-05 DAppで要求する高いトランザクション処理量をブロックチェーンで効率的に処理するための方法およびシステム

Country Status (3)

Country Link
JP (1) JP7339335B2 (ja)
KR (1) KR102553877B1 (ja)
WO (1) WO2020096072A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102474866B1 (ko) * 2020-11-16 2022-12-05 두나무 주식회사 블록체인 기반 문서 관리 방법 및 장치
US11960469B2 (en) * 2020-12-07 2024-04-16 Deixis, PBC Heterogeneous integration with distributed ledger blockchain services
CN112884579A (zh) * 2021-02-08 2021-06-01 京东数科海益信息科技有限公司 区块链交易共识方法和装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008105099A1 (ja) 2007-02-28 2008-09-04 Fujitsu Limited アプリケーション連携制御プログラム、アプリケーション連携制御方法およびアプリケーション連携制御装置
WO2018126059A1 (en) 2016-12-30 2018-07-05 Slock.it, Inc. Block-chain enabled service provider system
CN108376106A (zh) 2018-02-01 2018-08-07 中国工商银行股份有限公司 一种区块链消息反馈方法及系统
WO2018177245A1 (zh) 2017-03-28 2018-10-04 阿里巴巴集团控股有限公司 一种基于区块链的数据处理方法及设备
JP2018160828A (ja) 2017-03-23 2018-10-11 沖電気工業株式会社 送金元装置、送金先装置、送金方法、受金方法、プログラムおよび送金システム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101680540B1 (ko) * 2015-06-18 2016-11-30 주식회사 코인플러그 블록체인을 기반으로 하는 금융기관 제증명서류 위변조 검증시스템 및 방법
KR101799343B1 (ko) * 2016-05-16 2017-11-22 주식회사 코인플러그 인증 정보의 사용 방법, 파기 방법 및 이를 지원하는 블록체인기반 인증 정보 관리 서버
KR102026225B1 (ko) * 2017-01-19 2019-09-27 주식회사 케이티 블록 체인을 이용하여 데이터를 관리하는 장치 및 방법
US20190079998A1 (en) * 2017-01-31 2019-03-14 Thomas Jay Rush Blockchain data-processing engine
CN107040585B (zh) * 2017-02-22 2020-06-19 创新先进技术有限公司 一种业务校验的方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008105099A1 (ja) 2007-02-28 2008-09-04 Fujitsu Limited アプリケーション連携制御プログラム、アプリケーション連携制御方法およびアプリケーション連携制御装置
WO2018126059A1 (en) 2016-12-30 2018-07-05 Slock.it, Inc. Block-chain enabled service provider system
JP2018160828A (ja) 2017-03-23 2018-10-11 沖電気工業株式会社 送金元装置、送金先装置、送金方法、受金方法、プログラムおよび送金システム
WO2018177245A1 (zh) 2017-03-28 2018-10-04 阿里巴巴集团控股有限公司 一种基于区块链的数据处理方法及设备
CN108376106A (zh) 2018-02-01 2018-08-07 中国工商银行股份有限公司 一种区块链消息反馈方法及系统

Also Published As

Publication number Publication date
KR20210071962A (ko) 2021-06-16
WO2020096072A1 (ko) 2020-05-14
JP2022520141A (ja) 2022-03-29
KR102553877B1 (ko) 2023-07-10

Similar Documents

Publication Publication Date Title
CN110199302B (zh) 事件驱动的区块链工作流处理
TWI781311B (zh) 藉由在具有匯款功能的即時通訊軟體中識別資訊內容來提供匯款功能的方法及系統
US20180198842A1 (en) Address space management with respect to a coherent accelerator processor interface architecture
WO2021239070A1 (zh) 在联盟链网络中创建节点组、基于节点组的交易方法
KR102118178B1 (ko) 블록체인을 위한 다중 트랜잭션 병렬 처리 방법 및 시스템
JP7339335B2 (ja) DAppで要求する高いトランザクション処理量をブロックチェーンで効率的に処理するための方法およびシステム
JP6803702B2 (ja) サーバおよびプログラム
JP6882924B2 (ja) 互いに異なるユーザ識別体系を利用して登録されたユーザを識別するサーバ間のサービス連動方法、システムおよびコンピュータプログラム
JP6758139B2 (ja) 効率的な呼処理のためのシステムおよび方法
KR102542631B1 (ko) 블록체인과는 다른 형식의 저장소에 저장되는 블록체인 데이터를 검증하는 방법 및 시스템
JP2021057036A (ja) 分割払い方法およびシステム
JP7101292B2 (ja) 支払い方法およびシステム
JP7460348B2 (ja) ブロックチェーンの拡張を可能にするトランザクション処理システムおよび方法
KR20220084401A (ko) 블록체인에서의 스마트 컨트랙트를 이용한 에스크로 거래 방법 및 시스템
US11258838B2 (en) Method, system, and non-transitory computer readable record medium for processing chatroom based on usage
US9172729B2 (en) Managing message distribution in a networked environment
KR102606911B1 (ko) Api 서버로 인입되는 트래픽을 조절하는 방법 및 시스템
US20210374716A1 (en) System and method for link-initiated verification and validation of users
US11995639B2 (en) System and method for link-initiated verification and validation of users
US20240281792A1 (en) System and method for social media-based lead generation
US20240169342A1 (en) System and method for link-initiated verification and validation of users
US20240020299A1 (en) Api management for batch processing
KR101721379B1 (ko) 효율적인 호 처리를 위한 시스템 및 방법
CN115022053A (zh) 访问区块链网络的方法、装置和系统
JP2022105477A (ja) 仮想通貨の即時送金のための方法、システム、およびコンピュータプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211007

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221026

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230404

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230608

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230824

R150 Certificate of patent or registration of utility model

Ref document number: 7339335

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150