(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024046752
(43)【公開日】2024-04-04
(54)【発明の名称】リレーでデータの形式が分からない特定のデータを第1ブロックチェーンネットワークから第2ブロックチェーンネットワークに送信する方法及びこれを利用したリレー
(51)【国際特許分類】
H04L 9/32 20060101AFI20240328BHJP
【FI】
H04L9/32 200Z
【審査請求】有
【請求項の数】26
【出願形態】OL
(21)【出願番号】P 2023156221
(22)【出願日】2023-09-21
(11)【特許番号】
(45)【特許公報発行日】2023-12-13
(31)【優先権主張番号】10-2022-0120884
(32)【優先日】2022-09-23
(33)【優先権主張国・地域又は機関】KR
(31)【優先権主張番号】10-2023-0117826
(32)【優先日】2023-09-05
(33)【優先権主張国・地域又は機関】KR
(71)【出願人】
【識別番号】523360902
【氏名又は名称】パラメタ株式会社
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】金鍾協
(72)【発明者】
【氏名】南宮在敞
(72)【発明者】
【氏名】宋紋圭
(72)【発明者】
【氏名】柳赫坤
(57)【要約】 (修正有)
【課題】リレーでデータの形式が分からない特定のデータを第1ブロックチェーンネットワークからリレーを通じて第2ブロックチェーンネットワークに送信する方法及びこれを利用したリレーを提供する。
【解決手段】リレーによる方法は、第1データ形式にしたがう第1ブロックチェーンネットワークから第2データ形式にしたがう第2ブロックチェーンネットワーク送信するデータを含むサービス呼び出しメッセージを受信するとS300:はい、ブロックチェーン通信メッセージを生成S310し、ブロックチェーン通信メッセージの生成を感知し、検証情報を獲得してリレーメッセージを生成し、リレーメッセージを送信S320し、第2ブロックチェーンネットワークでリレーメッセージを受信すると、リレーメッセージを検証し、リレーメッセージに含まれたデータを受信者に送信S330する。
【選択図】
図3
【特許請求の範囲】
【請求項1】
リレーでデータの形式が分からない特定のデータを第1ブロックチェーンネットワークから第2ブロックチェーンネットワークに送信する方法において、
(a)第1データ形式にしたがう前記第1ブロックチェーンネットワークから第2データ形式にしたがう前記第2ブロックチェーンネットワークに前記特定のデータを送信するためのブロックチェーン通信メッセージの生成が感知されれば、前記リレーは前記ブロックチェーン通信メッセージと検証情報とを含むリレーメッセージを生成する段階と、
(b)前記リレーは、前記リレーメッセージを前記第2ブロックチェーンネットワークに送信して、前記第2ブロックチェーンネットワークをもって、前記リレーメッセージに含まれた前記検証情報を利用して前記リレーメッセージを検証するようにし、前記リレーメッセージに含まれた前記特定のデータを前記第2データ形式に変換して受信者に送信させる段階と、
を含む、方法。
【請求項2】
前記(a)段階以前に、
(a0)前記リレーが、前記第1ブロックチェーンネットワークに第1サービス制御スマートコントラクトと第1メッセージ制御スマートコントラクトとを配布し、前記第2ブロックチェーンネットワークに第2サービス制御スマートコントラクトと第2メッセージ制御スマートコントラクトとを配布する段階をさらに含み、
前記(a)段階において、
(i)前記第1ブロックチェーンネットワークの第1分散型アプリケーションの第1エンコードアルゴリズムによって前記第1データ形式の前記特定のデータが原始バイトにエンコードされれば、前記特定のデータに対応される前記原始バイトを含むサービス呼び出しメッセージが前記第1ブロックチェーンネットワークの前記第1サービス制御スマートコントラクトに送信され、(ii)前記第1サービス制御スマートコントラクトによって前記サービス呼び出しメッセージを含むサービスメッセージが前記第1ブロックチェーンネットワークの前記第1メッセージ制御スマートコントラクトに送信され、(iii)前記第1メッセージ制御スマートコントラクトによって前記サービスメッセージを含む前記ブロックチェーン通信メッセージが生成されれば、前記リレーが前記ブロックチェーン通信メッセージと前記検証情報とを含む前記リレーメッセージを生成し、
前記(b)段階において、
前記リレーは、前記リレーメッセージを前記第2ブロックチェーンネットワークに送信して、前記第2ブロックチェーンネットワークをもって、(i)前記第2メッセージ制御スマートコントラクトを通じて前記リレーメッセージを受信するようにし、(ii)前記リレーメッセージに含まれた前記検証情報を利用して前記リレーメッセージを検証するようにし、(iii)前記リレーメッセージに含まれた前記ブロックチェーン通信メッセージを確認するようにし、(iv)前記ブロックチェーン通信メッセージに含まれた前記サービスメッセージを前記第2サービス制御スマートコントラクトが受信するようにし、(v)前記第2サービス制御スマートコントラクトによって前記サービスメッセージが到着したことを知らせる呼び出しメッセージが前記第2ブロックチェーンネットワークの第2分散型アプリケーションに送信されるようにし、(vi)前記第2分散型アプリケーションによって前記特定のデータに対応される前記原始バイトを要請する実行呼び出しメッセージが前記第2サービス制御スマートコントラクトに送信されるようにし、(vii)前記第2サービス制御スマートコントラクトによって前記特定のデータに対応される前記原始バイトを含むハンドル呼び出しメッセージが前記第2分散型アプリケーションに送信されるようにし、前記第2分散型アプリケーションの第2デコードアルゴリズムによって前記原始バイトが前記第2データ形式の前記特定のデータにデコードされるように支援する、請求項1に記載の方法。
【請求項3】
前記(a)段階において、(ii)前記第1サービス制御スマートコントラクトによって前記サービス呼び出しメッセージを含む前記サービスメッセージが前記第1ブロックチェーンネットワークの前記第1メッセージ制御スマートコントラクトに送信されるようにするために、前記第1分散型アプリケーションで前記第1分散型アプリケーションの使用者に前記特定のデータに対応される前記原始バイトを送信することに関するリレー関連手数料を要請し、
前記(b)段階において、(vi)前記第2分散型アプリケーションによって前記特定のデータに対応される前記原始バイトを要請する前記実行呼び出しメッセージが前記第2サービス制御スマートコントラクトに送信されるようにするために、前記第2分散型アプリケーションで前記第2分散型アプリケーションの使用者に前記特定のデータを受信することに関するリレー非関連手数料を要請する、請求項2に記載の方法。
【請求項4】
前記第1サービス制御スマートコントラクトと前記第2サービス制御スマートコントラクトとは、それぞれ自分が属しているブロックチェーンネットワーク以外の他のブロックチェーンネットワークのスマートコントラクトメソッドを呼び出すことができるように構成され、前記第1ブロックチェーンネットワークの前記第1データ形式及び前記第2ブロックチェーンネットワークの前記第2データ形式に対して分からない状態で管理されることを特徴とする、請求項3に記載の方法。
【請求項5】
前記サービス呼び出しメッセージは、
エラーの発生の際に前記特定のデータを送信する前の状態に復元するための情報であるロールバック情報をさらに含む、請求項2に記載の方法。
【請求項6】
前記ブロックチェーン通信メッセージは、
前記ブロックチェーン通信メッセージを生成した前記第1メッセージ制御スマートコントラクトのブロックチェーンアドレスであるソースアドレスと、
前記ブロックチェーン通信メッセージを受信する前記第2メッセージ制御スマートコントラクトのブロックチェーンアドレスである目的地アドレスと、
前記サービスメッセージのサービスの種類を識別するサービス種類と、
前記ブロックチェーン通信メッセージを識別することができる一連番号と、
前記サービスメッセージと、
を含む、請求項2に記載の方法。
【請求項7】
前記(a)段階において、
(i)前記第1ブロックチェーンネットワークの前記第1分散型アプリケーションの前記第1エンコードアルゴリズムによって前記第1データ形式の前記特定のデータが原始バイトにエンコードされれば、前記特定のデータに対応される前記原始バイトを含む前記サービス呼び出しメッセージが前記第1ブロックチェーンネットワークの前記第1サービス制御スマートコントラクトに送信され、(ii)前記第1サービス制御スマートコントラクトで前記サービス呼び出しメッセージを受信すれば、前記第1分散型アプリケーションで前記サービス呼び出しメッセージの識別のための一連番号を応答し、前記サービス呼び出しメッセージを含む前記サービスメッセージを生成し、前記サービスメッセージを含む送信サービスメッセージを生成し、前記送信サービスメッセージを前記第1ブロックチェーンネットワークの前記第1メッセージ制御スマートコントラクトに送信し、(iii)前記第1ブロックチェーンネットワークの前記第1メッセージ制御スマートコントラクトで前記送信サービスメッセージを受信すれば、前記サービスメッセージを含む前記ブロックチェーン通信メッセージを生成し、前記ブロックチェーン通信メッセージを含むブロックチェーンイベントメッセージを生成すれば、前記リレーは、前記ブロックチェーンイベントメッセージに含まれた前記ブロックチェーン通信メッセージと前記検証情報とを利用して前記リレーメッセージを生成する、請求項2に記載の方法。
【請求項8】
前記送信サービスメッセージは、
前記サービスメッセージを受信する前記第2ブロックチェーンネットワークのネットワークアドレスに関する情報である目的地ネットワークアドレスと、
前記サービスメッセージのサービスの種類を識別するサービス種類と、
送信サービスメッセージを識別することができる一連番号と、
前記サービスメッセージと、
を含む、請求項7に記載の方法。
【請求項9】
前記ブロックチェーンイベントメッセージは、
前記ブロックチェーン通信メッセージが伝達される前記第2ブロックチェーンネットワークの前記第2メッセージ制御スマートコントラクトに係るブロックチェーンアドレスに関する情報である目的地アドレスと、
前記第1ブロックチェーンネットワークで前記サービス呼び出しメッセージを識別するための情報である前記一連番号と、
前記ブロックチェーン通信メッセージと、
を含む、請求項7に記載の方法。
【請求項10】
前記(b)段階において、
前記リレーは、前記リレーメッセージを含むハンドルリレーメッセージを前記第2ブロックチェーンネットワークに送信して、前記第2ブロックチェーンネットワークをもって、(i)前記第2メッセージ制御スマートコントラクトを通じて前記ハンドルリレーメッセージを受信するようにし、(ii)前記リレーメッセージを含む検証ハンドルリレーメッセージを生成して前記第2ブロックチェーンネットワークの第2メッセージ検証スマートコントラクトに送信するようにし、前記第2メッセージ検証スマートコントラクトによって前記検証ハンドルリレーメッセージが受信されれば、前記リレーメッセージに含まれた前記検証情報を検証するようにし、(iii)前記第2メッセージ制御スマートコントラクトによって前記第2メッセージ検証スマートコントラクトを通じて前記リレーメッセージの検証が成功されたことを確認すれば、前記リレーメッセージに含まれた前記ブロックチェーン通信メッセージを確認するようにし、(iv)前記ブロックチェーン通信メッセージに含まれた前記サービスメッセージを含むハンドルサービスメッセージを生成して前記第2サービス制御スマートコントラクトが受信するようにし、(v)前記第2サービス制御スマートコントラクトによって前記ハンドルサービスメッセージが受信されれば、前記ハンドルサービスメッセージに含まれた前記サービスメッセージを確認して、前記サービスメッセージが到着したことを知らせる呼び出しメッセージが前記第2ブロックチェーンネットワークの第2分散型アプリケーションに送信されるようにし、(vi)前記第2分散型アプリケーションによって前記呼び出しメッセージが感知されれば、前記特定のデータに対応される前記原始バイトを要請する実行呼び出しメッセージが前記第2サービス制御スマートコントラクトに送信されるようにし、(vii)前記第2サービス制御スマートコントラクトによって前記実行呼び出しメッセージが受信されれば、前記特定のデータに対応される前記原始バイトを含むハンドル呼び出しメッセージが前記第2分散型アプリケーションに送信されるようにし、前記第2分散型アプリケーションの第2デコードアルゴリズムによって前記原始バイトが前記第2データ形式の前記特定のデータにデコードされるように支援する、請求項7に記載の方法。
【請求項11】
前記検証ハンドルリレーメッセージは、
前記ハンドルリレーメッセージを受信する前記第2メッセージ制御スマートコントラクトのブロックチェーンアドレスと、
前記ブロックチェーン通信メッセージを生成した前記第1メッセージ制御スマートコントラクトのブロックチェーンアドレスと、
前記検証ハンドルリレーメッセージを識別することができる一連番号と、
前記リレーメッセージと、
を含む、請求項10に記載の方法。
【請求項12】
前記ハンドルサービスメッセージは、
前記サービスメッセージを送信した前記第1ブロックチェーンネットワークのネットワークアドレスと、
前記サービスメッセージのサービスの種類を識別するサービス種類と、
前記ハンドルサービスメッセージを識別することができる一連番号と、
前記サービスメッセージと、
を含む、請求項10に記載の方法。
【請求項13】
前記呼び出しメッセージは、
前記第1ブロックチェーンネットワークにある前記特定のデータを送信するアカウントの前記第1ブロックチェーンネットワーク上のブロックチェーンアドレスである発信地アドレス、前記呼び出しメッセージを受信するアカウントの前記第2ブロックチェーンネットワーク上のブロックチェーンアドレスである目的地アドレスと、
前記第1ブロックチェーンネットワークで前記サービス呼び出しメッセージを識別するための情報である一連番号と、
前記第2ブロックチェーンネットワークで前記特定のデータを送信する要請を識別するための識別情報と、
前記特定のデータと、
を含む、請求項10に記載の方法。
【請求項14】
データの形式が分からない特定のデータを第1ブロックチェーンネットワークから第2ブロックチェーンネットワークに送信するリレーにおいて、
インストラクションを格納する少なくとも一つのメモリーと、
前記インストラクションを行うために構成された少なくとも一つのプロセッサと、を含み、
前記プロセッサは、(I)第1データ形式にしたがう前記第1ブロックチェーンネットワークから第2データ形式にしたがう前記第2ブロックチェーンネットワークに前記特定のデータを送信するためのブロックチェーン通信メッセージの生成が感知されれば、前記ブロックチェーン通信メッセージと検証情報とを含むリレーメッセージを生成するプロセスと、(II)前記リレーメッセージを前記第2ブロックチェーンネットワークに送信して、前記第2ブロックチェーンネットワークをもって、前記リレーメッセージに含まれた前記検証情報を利用して前記リレーメッセージを検証するようにし、前記リレーメッセージに含まれた前記特定のデータを前記第2データ形式に変換して受信者に送信させるプロセスと、を遂行することを特徴とするリレー。
【請求項15】
前記(I)プロセス以前に、
(I‐0)前記プロセッサが、前記第1ブロックチェーンネットワークに第1サービス制御スマートコントラクトと第1メッセージ制御スマートコントラクトとを配布し、前記第2ブロックチェーンネットワークに第2サービス制御スマートコントラクトと第2メッセージ制御スマートコントラクトとを配布するプロセスをさらに遂行し、
前記(I)プロセスにおいて、
(i)前記第1ブロックチェーンネットワークの第1分散型アプリケーションの第1エンコードアルゴリズムによって前記第1データ形式の前記特定のデータが原始バイトにエンコードされれば、前記特定のデータに対応される前記原始バイトを含むサービス呼び出しメッセージが前記第1ブロックチェーンネットワークの前記第1サービス制御スマートコントラクトに送信され、(ii)前記第1サービス制御スマートコントラクトによって前記サービス呼び出しメッセージを含むサービスメッセージが前記第1ブロックチェーンネットワークの前記第1メッセージ制御スマートコントラクトに送信され、(iii)前記第1メッセージ制御スマートコントラクトによって前記サービスメッセージを含む前記ブロックチェーン通信メッセージが生成されれば、前記プロセッサが前記ブロックチェーン通信メッセージと前記検証情報とを含む前記リレーメッセージを生成し、
前記(II)プロセスにおいて、
前記プロセッサは、前記リレーメッセージを前記第2ブロックチェーンネットワークに送信して、前記第2ブロックチェーンネットワークをもって、(i)前記第2メッセージ制御スマートコントラクトを通じて前記リレーメッセージを受信するようにし、(ii)前記リレーメッセージに含まれた前記検証情報を利用して前記リレーメッセージを検証するようにし、(iii)前記リレーメッセージに含まれた前記ブロックチェーン通信メッセージを確認するようにし、(iv)前記ブロックチェーン通信メッセージに含まれた前記サービスメッセージを前記第2サービス制御スマートコントラクトが受信するようにし、(v)前記第2サービス制御スマートコントラクトによって前記サービスメッセージが到着したことを知らせる呼び出しメッセージが前記第2ブロックチェーンネットワークの第2分散型アプリケーションに送信されるようにし、(vi)前記第2分散型アプリケーションによって前記特定のデータに対応される前記原始バイトを要請する実行呼び出しメッセージが前記第2サービス制御スマートコントラクトに送信されるようにし、(vii)前記第2サービス制御スマートコントラクトによって前記特定のデータに対応される前記原始バイトを含むハンドル呼び出しメッセージが前記第2分散型アプリケーションに送信されるようにし、前記第2分散型アプリケーションの第2デコードアルゴリズムによって前記原始バイトが前記第2データ形式の前記特定のデータにデコードされるように支援する、請求項14に記載のリレー。
【請求項16】
前記(I)プロセスにおいて、(ii)前記第1サービス制御スマートコントラクトによって前記サービス呼び出しメッセージを含む前記サービスメッセージが前記第1ブロックチェーンネットワークの前記第1メッセージ制御スマートコントラクトに送信されるようにするために、前記第1分散型アプリケーションで前記第1分散型アプリケーションの使用者に前記特定のデータに対応される前記原始バイトを送信することに関するリレー関連手数料を要請し、
前記(II)プロセスにおいて、(vi)前記第2分散型アプリケーションによって前記特定のデータに対応される前記原始バイトを要請する前記実行呼び出しメッセージが前記第2サービス制御スマートコントラクトに送信されるようにするために、前記第2分散型アプリケーションで前記第2分散型アプリケーションの使用者に前記特定のデータを受信することに関するリレー非関連手数料を要請する、請求項15に記載のリレー。
【請求項17】
前記第1サービス制御スマートコントラクトと前記第2サービス制御スマートコントラクトとは、それぞれ自分が属しているブロックチェーンネットワーク以外の他のブロックチェーンネットワークのスマートコントラクトメソッドを呼び出すことができるように構成され、前記第1ブロックチェーンネットワークの前記第1データ形式及び前記第2ブロックチェーンネットワークの前記第2データ形式に対して分からない状態で管理されることを特徴とする、請求項16に記載のリレー。
【請求項18】
前記サービス呼び出しメッセージは、
エラーの発生の際に前記特定のデータを送信する前の状態に復元するための情報であるロールバック情報をさらに含む、請求項15に記載のリレー。
【請求項19】
前記ブロックチェーン通信メッセージは、
前記ブロックチェーン通信メッセージを生成した前記第1メッセージ制御スマートコントラクトのブロックチェーンアドレスであるソースアドレスと、
前記ブロックチェーン通信メッセージを受信する前記第2メッセージ制御スマートコントラクトのブロックチェーンアドレスである目的地アドレスと、
前記サービスメッセージのサービスの種類を識別するサービス種類と、
前記ブロックチェーン通信メッセージを識別することができる一連番号と、
前記サービスメッセージと、
を含む、請求項15に記載のリレー。
【請求項20】
前記(I)プロセスにおいて、
(i)前記第1ブロックチェーンネットワークの前記第1分散型アプリケーションの前記第1エンコードアルゴリズムによって前記第1データ形式の前記特定のデータが原始バイトにエンコードされれば、前記特定のデータに対応される前記原始バイトを含む前記サービス呼び出しメッセージが前記第1ブロックチェーンネットワークの前記第1サービス制御スマートコントラクトに送信され、(ii)前記第1サービス制御スマートコントラクトで前記サービス呼び出しメッセージを受信すれば、前記第1分散型アプリケーションで前記サービス呼び出しメッセージの識別のための一連番号を応答し、前記サービス呼び出しメッセージを含む前記サービスメッセージを生成し、前記サービスメッセージを含む送信サービスメッセージを生成し、前記送信サービスメッセージを前記第1ブロックチェーンネットワークの前記第1メッセージ制御スマートコントラクトに送信し、(iii)前記第1ブロックチェーンネットワークの前記第1メッセージ制御スマートコントラクトで前記送信サービスメッセージを受信すれば、前記サービスメッセージを含む前記ブロックチェーン通信メッセージを生成し、前記ブロックチェーン通信メッセージを含むブロックチェーンイベントメッセージを生成すれば、前記プロセッサは、前記ブロックチェーンイベントメッセージに含まれた前記ブロックチェーン通信メッセージと前記検証情報とを利用して前記リレーメッセージを生成する、請求項15に記載のリレー。
【請求項21】
前記送信サービスメッセージは、
前記サービスメッセージを受信する前記第2ブロックチェーンネットワークのネットワークアドレスに関する情報である目的地ネットワークアドレスと、
前記サービスメッセージのサービスの種類を識別するサービス種類と、
送信サービスメッセージを識別することができる一連番号と、
前記サービスメッセージと、
を含む、請求項20に記載のリレー。
【請求項22】
前記ブロックチェーンイベントメッセージは、
前記ブロックチェーン通信メッセージが伝達される前記第2ブロックチェーンネットワークの前記第2メッセージ制御スマートコントラクトに係るブロックチェーンアドレスに関する情報である目的地アドレスと、
前記第1ブロックチェーンネットワークで前記サービス呼び出しメッセージを識別するための情報である前記一連番号と、
前記ブロックチェーン通信メッセージと、
を含む、請求項20に記載のリレー。
【請求項23】
前記(II)プロセスにおいて、
前記プロセッサは、前記リレーメッセージを含むハンドルリレーメッセージを前記第2ブロックチェーンネットワークに送信して、前記第2ブロックチェーンネットワークをもって、(i)前記第2メッセージ制御スマートコントラクトを通じて前記ハンドルリレーメッセージを受信するようにし、(ii)前記リレーメッセージを含む検証ハンドルリレーメッセージを生成して前記第2ブロックチェーンネットワークの第2メッセージ検証スマートコントラクトに送信するようにし、前記第2メッセージ検証スマートコントラクトによって前記検証ハンドルリレーメッセージが受信されれば、前記リレーメッセージに含まれた前記検証情報を検証するようにし、(iii)前記第2メッセージ制御スマートコントラクトによって前記第2メッセージ検証スマートコントラクトを通じて前記リレーメッセージの検証が成功されたことを確認すれば、前記リレーメッセージに含まれた前記ブロックチェーン通信メッセージを確認するようにし、(iv)前記ブロックチェーン通信メッセージに含まれた前記サービスメッセージを含むハンドルサービスメッセージを生成して前記第2サービス制御スマートコントラクトが受信するようにし、(v)前記第2サービス制御スマートコントラクトによって前記ハンドルサービスメッセージが受信されれば、前記ハンドルサービスメッセージに含まれた前記サービスメッセージを確認し、前記サービスメッセージが到着したことを知らせる呼び出しメッセージが前記第2ブロックチェーンネットワークの第2分散型アプリケーションに送信されるようにし、(vi)前記第2分散型アプリケーションによって前記呼び出しメッセージが感知されれば、前記特定のデータに対応される前記原始バイトを要請する実行呼び出しメッセージが前記第2サービス制御スマートコントラクトに送信されるようにし、(vii)前記第2サービス制御スマートコントラクトによって前記実行呼び出しメッセージが受信されれば、前記特定のデータに対応される前記原始バイトを含むハンドル呼び出しメッセージが前記第2分散型アプリケーションに送信されるようにし、前記第2分散型アプリケーションの第2デコードアルゴリズムによって前記原始バイトが前記第2データ形式の前記特定のデータにデコードされるように支援する、請求項20に記載のリレー。
【請求項24】
前記検証ハンドルリレーメッセージは、
前記ハンドルリレーメッセージを受信する前記第2メッセージ制御スマートコントラクトのブロックチェーンアドレスと、
前記ブロックチェーン通信メッセージを生成した前記第1メッセージ制御スマートコントラクトのブロックチェーンアドレスと、
前記検証ハンドルリレーメッセージを識別することができる一連番号と、
前記リレーメッセージと、
を含む、請求項23に記載のリレー。
【請求項25】
前記ハンドルサービスメッセージは、
前記サービスメッセージを送信した前記第1ブロックチェーンネットワークのネットワークアドレスと、
前記サービスメッセージのサービスの種類を識別するサービス種類と、
前記ハンドルサービスメッセージを識別することができる一連番号と、
前記サービスメッセージと、
を含む、請求項23に記載のリレー。
【請求項26】
前記呼び出しメッセージは、
前記第1ブロックチェーンネットワークにある前記特定のデータを送信するアカウントの前記第1ブロックチェーンネットワーク上のブロックチェーンアドレスである発信地アドレス、前記呼び出しメッセージを受信するアカウントの前記第2ブロックチェーンネットワーク上のブロックチェーンアドレスである目的地アドレスと、
前記第1ブロックチェーンネットワークで前記サービス呼び出しメッセージを識別するための情報である一連番号と、
前記第2ブロックチェーンネットワークで前記特定のデータを送信する要請を識別するための識別情報と、
前記特定のデータと、
を含む、請求項23に記載のリレー。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、リレーでデータの形式が分からない特定のデータをリレーを通じて第1ブロックチェーンネットワークから第2ブロックチェーンネットワークに送信する方法及びこれを利用したリレーに関する。
【背景技術】
【0002】
ブロックチェーンは公共取り引き帳簿ともいい、代表的に仮想通貨で取り引きする時に発生するおそれがあるハッキングを阻む技術である。既存の金融会社の場合、中央集中型サーバーに取り引き記録を保管する一方、ブロックチェーンはブロックチェーンネットワークに参加した使用者皆の共同作業を通じてブロックを生成し、生成されたブロックを全参加者が検証してこれを承認することで皆が同一のブロックを保有することと、一部の使用者によってデータ偽造を阻む方式を用いる。ブロックチェーンは代表的なオンライン仮想通貨であるビットコインに適用されている。ビットコインは誰も閲覧することができる帳簿に取り引き内訳を透明に記録し、ビットコインを使う多数のコンピューターがこの記録を検証してハッキングを阻む。
【0003】
ブロックチェーン基盤で金融取り引き、不動産契約、公証など多様な形態の契約を締結して履行するために、スマートコントラクト(Smart Contract)という概念が提案された。
【0004】
イーサリアム(Ethereum)は、ブロックチェーン技術基盤のスマートコントラクトプラットホームであって、イーサリアムでは金融取り引きだけでなく、不動産取引、公証などの様々な形態の契約が可能である。
【0005】
しかしながら、ブロックチェーンは、一つのブロックチェーンネットワーク内で遂行され、他の種類のブロックチェーンと互いに通信を遂行することを言及していなかった。
【0006】
互いに異なるブロックチェーン間の通信のために、本出願人は韓国出願番号2020‐0042242と韓国出願番号2020‐0076623を通じて互いに異なるブロックチェーンの間で通信する技術について公開したことがある。
【0007】
上記出願を通じてブロックチェーン間の通信が活発に論議され、適用されている。
【0008】
上記出願でリレーを通じて通信を遂行したが、リレーが2つのブロックチェーンそれぞれにおいて通用されるデータ形式が分かっている場合には、2つのブロックチェーンの間でデータを送信するのに大きい問題がなかったが、リレーが2つのブロックチェーンの中で少なくとも一部のブロックチェーンで通用されるデータ形式が分からない場合には、2つのブロックチェーンそれぞれの分散型アプリケーションにおけるデータのエンコード及びデコードによる問題が発生する恐れがある。
【0009】
また、第1ブロックチェーンネットワークから第2ブロックチェーンネットワークにメッセージを送ったり、第2ブロックチェーンネットワークのAPIを呼び出す際、手数料がかかることがあるが、リレーが2つのブロックチェーンの中で少なくとも一部のブロックチェーンで通用されるデータ形式が分からない場合には、第2ブロックチェーンネットワークで呼び出さなければならないAPIの量がどれくらいなのか分からないはずである。なお、もし第2ブロックチェーンネットワークで該当APIをすべて呼び出せば、リレーがこれに対応される手数料をすべて処理しなければならないが、リレーは該当のAPIの量がどれくらいなのか分からないので、リレーが実際にこのようなサービスを運用する場合、事業的に損害を被る恐れがある。
【0010】
したがって、言及した問題を解消する必要性が求められた。
【発明の概要】
【発明が解決しようとする課題】
【0011】
本発明は、リレーでデータの形式が分からない特定のデータを第1ブロックチェーンネットワークから前記リレーを経て第2ブロックチェーンネットワークに送信する方法を提供することを目的とする。
【0012】
また、本発明は、それぞれのブロックチェーンネットワークに配布されたスマートコントラクトそれぞれにおいて、自分が属していない他のブロックチェーンのスマートコントラクトのメソッドを呼び出すようにすることを他の目的とする。
【0013】
また、本発明は、リレーを通じて原始バイト形態のメッセージを第1ブロックチェーンネットワークから第2ブロックチェーンネットワークに伝達し、第2ブロックチェーンネットワークの分散型アプリケーションのデコードアルゴリズムを通じて使用者が伝達されたメッセージを処理するようにすることで、呼び出そうとするメソッドにかかわらず、リレーのトランザクション費用が一定の水準に予測できるようにすることをまた他の目的とする。
【課題を解決するための手段】
【0014】
本発明の一実施例によると、リレーでデータの形式が分からない特定のデータを第1ブロックチェーンネットワークから第2ブロックチェーンネットワークに送信する方法において、(a)第1データ形式にしたがう前記第1ブロックチェーンネットワークから第2データ形式にしたがう前記第2ブロックチェーンネットワークに前記特定のデータを送信するためのブロックチェーン通信メッセージの生成が感知されれば、前記リレーは前記ブロックチェーン通信メッセージと検証情報とを含むリレーメッセージを生成する段階;及び(b)前記リレーは、前記リレーメッセージを前記第2ブロックチェーンネットワークに送信して、前記第2ブロックチェーンネットワークをもって、前記リレーメッセージに含まれた前記検証情報を利用して前記リレーメッセージを検証するようにし、前記リレーメッセージに含まれた前記特定のデータを前記第2データ形式に変換して受信者に送信させる段階;を含む方法が提供される。
【0015】
前記(a)段階以前に、(a0)前記リレーが、前記第1ブロックチェーンネットワークに第1サービス制御スマートコントラクトと第1メッセージ制御スマートコントラクトとを配布し、前記第2ブロックチェーンネットワークに第2サービス制御スマートコントラクトと第2メッセージ制御スマートコントラクトとを配布する段階をさらに含み、前記(a)段階において、(i)前記第1ブロックチェーンネットワークの第1分散型アプリケーションの第1エンコードアルゴリズムによって前記第1データ形式の前記特定のデータが原始バイトにエンコードされれば、前記特定のデータに対応される前記原始バイトを含むサービス呼び出しメッセージが前記第1ブロックチェーンネットワークの前記第1サービス制御スマートコントラクトに送信され、(ii)前記第1サービス制御スマートコントラクトによって前記サービス呼び出しメッセージを含むサービスメッセージが前記第1ブロックチェーンネットワークの前記第1メッセージ制御スマートコントラクトに送信され、(iii)前記第1メッセージ制御スマートコントラクトによって前記サービスメッセージを含む前記ブロックチェーン通信メッセージが生成されれば、前記リレーが前記ブロックチェーン通信メッセージと前記検証情報とを含む前記リレーメッセージを生成し、前記(b)段階において、前記リレーは、前記リレーメッセージを前記第2ブロックチェーンネットワークに送信して、前記第2ブロックチェーンネットワークをもって、(i)前記第2メッセージ制御スマートコントラクトを通じて前記リレーメッセージを受信するようにし、(ii)前記リレーメッセージに含まれた前記検証情報を利用して前記リレーメッセージを検証するようにし、(iii)前記リレーメッセージに含まれた前記ブロックチェーン通信メッセージを確認するようにし、(iv)前記ブロックチェーン通信メッセージに含まれた前記サービスメッセージを前記第2サービス制御スマートコントラクトが受信するようにし、(v)前記第2サービス制御スマートコントラクトによって前記サービスメッセージが到着したことを知らせる呼び出しメッセージが前記第2ブロックチェーンネットワークの第2分散型アプリケーションに送信されるようにし、(vi)前記第2分散型アプリケーションによって前記特定のデータに対応される前記原始バイトを要請する実行呼び出しメッセージが前記第2サービス制御スマートコントラクトに送信されるようにし、(vii)前記第2サービス制御スマートコントラクトによって前記特定のデータに対応される前記原始バイトを含むハンドル呼び出しメッセージが前記第2分散型アプリケーションに送信されるようにし、前記第2分散型アプリケーションの第2デコードアルゴリズムによって前記原始バイトが前記第2データ形式の前記特定のデータにデコードされるように支援する。
【0016】
前記(a)段階において、(ii)前記第1サービス制御スマートコントラクトによって前記サービス呼び出しメッセージを含む前記サービスメッセージが前記第1ブロックチェーンネットワークの前記第1メッセージ制御スマートコントラクトに送信されるようにするために、前記第1分散型アプリケーションで前記第1分散型アプリケーションの使用者に前記特定のデータに対応される前記原始バイトを送信することに関するリレー関連手数料を要請し、前記(b)段階において、(vi)前記第2分散型アプリケーションによって前記特定のデータに対応される前記原始バイトを要請する前記実行呼び出しメッセージが前記第2サービス制御スマートコントラクトに送信されるようにするために、前記第2分散型アプリケーションで前記第2分散型アプリケーションの使用者に前記特定のデータを受信することに関するリレー非関連手数料を要請する。
【0017】
前記第1サービス制御スマートコントラクトと前記第2サービス制御スマートコントラクトとは、それぞれ自分が属しているブロックチェーンネットワーク以外の他のブロックチェーンネットワークのスマートコントラクトメソッドを呼び出すことができるように構成され、前記第1ブロックチェーンネットワークの前記第1データ形式及び前記第2ブロックチェーンネットワークの前記第2データ形式に対して分からない状態で管理されることを特徴とする。
【0018】
前記サービス呼び出しメッセージは、エラーの発生の際に前記特定のデータを送信する前の状態に復元するための情報であるロールバック情報をさらに含む。
【0019】
前記ブロックチェーン通信メッセージは、前記ブロックチェーン通信メッセージを生成した前記第1メッセージ制御スマートコントラクトのブロックチェーンアドレスであるソースアドレス、前記ブロックチェーン通信メッセージを受信する前記第2メッセージ制御スマートコントラクトのブロックチェーンアドレスである目的地アドレス、前記サービスメッセージのサービスの種類を識別するサービス種類、前記ブロックチェーン通信メッセージを識別することができる一連番号、及び前記サービスメッセージ、を含む。
【0020】
前記(a)段階において、(i)前記第1ブロックチェーンネットワークの前記第1分散型アプリケーションの前記第1エンコードアルゴリズムによって前記第1データ形式の前記特定のデータが原始バイトにエンコードされれば、前記特定のデータに対応される前記原始バイトを含む前記サービス呼び出しメッセージが前記第1ブロックチェーンネットワークの前記第1サービス制御スマートコントラクトに送信され、(ii)前記第1サービス制御スマートコントラクトで前記サービス呼び出しメッセージを受信すれば、前記第1分散型アプリケーションで前記サービス呼び出しメッセージの識別のための一連番号を応答し、前記サービス呼び出しメッセージを含む前記サービスメッセージを生成し、前記サービスメッセージを含む送信サービスメッセージを生成し、前記送信サービスメッセージを前記第1ブロックチェーンネットワークの前記第1メッセージ制御スマートコントラクトに送信し、(iii)前記第1ブロックチェーンネットワークの前記第1メッセージ制御スマートコントラクトで前記送信サービスメッセージを受信すれば、前記サービスメッセージを含む前記ブロックチェーン通信メッセージを生成し、前記ブロックチェーン通信メッセージを含むブロックチェーンイベントメッセージを生成すれば、前記リレーは、前記ブロックチェーンイベントメッセージに含まれた前記ブロックチェーン通信メッセージと前記検証情報とを利用して前記リレーメッセージを生成する。
【0021】
前記送信サービスメッセージは、前記サービスメッセージを受信する前記第2ブロックチェーンネットワークのネットワークアドレスに関する情報である目的地ネットワークアドレス、前記サービスメッセージのサービスの種類を識別するサービス種類、送信サービスメッセージを識別することができる一連番号、及び前記サービスメッセージ、を含む。
【0022】
前記ブロックチェーンイベントメッセージは、前記ブロックチェーン通信メッセージが伝達される前記第2ブロックチェーンネットワークの前記第2メッセージ制御スマートコントラクトに係るブロックチェーンアドレスに関する情報である目的地アドレス、前記第1ブロックチェーンネットワークで前記サービス呼び出しメッセージを識別するための情報である前記一連番号、及び前記ブロックチェーン通信メッセージ、を含む。
【0023】
前記(b)段階において、前記リレーは、前記リレーメッセージを含むハンドルリレーメッセージを前記第2ブロックチェーンネットワークに送信して、前記第2ブロックチェーンネットワークをもって、(i)前記第2メッセージ制御スマートコントラクトを通じて前記ハンドルリレーメッセージを受信するようにし、(ii)前記リレーメッセージを含む検証ハンドルリレーメッセージを生成して第2ブロックチェーンネットワークの前記第2メッセージ検証スマートコントラクトに送信するようにし、前記第2メッセージ検証スマートコントラクトによって前記検証ハンドルリレーメッセージが受信されれば、前記リレーメッセージに含まれた前記検証情報を検証するようにし、(iii)前記第2メッセージ制御スマートコントラクトによって前記第2メッセージ検証スマートコントラクトを通じて前記リレーメッセージの検証が成功されたことを確認すれば、前記リレーメッセージに含まれた前記ブロックチェーン通信メッセージを確認するようにし、(iv)前記ブロックチェーン通信メッセージに含まれた前記サービスメッセージを含むハンドルサービスメッセージを生成して前記第2サービス制御スマートコントラクトが受信するようにし、(v)前記第2サービス制御スマートコントラクトによって前記ハンドルサービスメッセージが受信されれば、前記ハンドルサービスメッセージに含まれた前記サービスメッセージを確認して、前記サービスメッセージが到着したことを知らせる呼び出しメッセージが前記第2ブロックチェーンネットワークの第2分散型アプリケーションに送信されるようにし、(vi)前記第2分散型アプリケーションによって前記呼び出しメッセージが感知されれば、前記特定のデータに対応される前記原始バイトを要請する実行呼び出しメッセージが前記第2サービス制御スマートコントラクトに送信されるようにし、(vii)前記第2サービス制御スマートコントラクトによって前記実行呼び出しメッセージが受信されれば、前記特定のデータに対応される前記原始バイトを含むハンドル呼び出しメッセージが前記第2分散型アプリケーションに送信されるようにし、前記第2分散型アプリケーションの第2デコードアルゴリズムによって前記原始バイトが前記第2データ形式の前記特定のデータにデコードされるように支援する。
【0024】
前記検証ハンドルリレーメッセージは、前記ハンドルリレーメッセージを受信する前記第2メッセージ制御スマートコントラクトのブロックチェーンアドレス、前記ブロックチェーン通信メッセージを生成した前記第1メッセージ制御スマートコントラクトのブロックチェーンアドレス、前記検証ハンドルリレーメッセージを識別することができる一連番号、及び前記リレーメッセージ、を含む。
【0025】
前記ハンドルサービスメッセージは、前記サービスメッセージを送信した前記第1ブロックチェーンネットワークのネットワークアドレス、前記サービスメッセージのサービスの種類を識別するサービス種類、前記ハンドルサービスメッセージを識別することができる一連番号、及び前記サービスメッセージ、を含む。
【0026】
前記呼び出しメッセージは、前記第1ブロックチェーンネットワークにある前記特定のデータを送信するアカウントの前記第1ブロックチェーンネットワーク上のブロックチェーンアドレスである発信地アドレス、前記呼び出しメッセージを受信するアカウントの前記第2ブロックチェーンネットワーク上のブロックチェーンアドレスである目的地アドレス、前記第1ブロックチェーンネットワークで前記サービス呼び出しメッセージを識別するための情報である一連番号、前記第2ブロックチェーンネットワークで前記特定のデータを送信する要請を識別するための識別情報、及び前記特定のデータ、を含む。
【0027】
また、本発明の他の実施例によると、データの形式が分からない特定のデータを第1ブロックチェーンネットワークから第2ブロックチェーンネットワークに送信するリレーにおいて、インストラクションを格納する少なくとも一つのメモリー;及び前記インストラクションを行うために構成された少なくとも一つのプロセッサ;を含み、前記プロセッサは、(I)第1データ形式にしたがう前記第1ブロックチェーンネットワークから第2データ形式にしたがう前記第2ブロックチェーンネットワークに前記特定のデータを送信するためのブロックチェーン通信メッセージの生成が感知されれば、前記ブロックチェーン通信メッセージと検証情報とを含むリレーメッセージを生成するプロセス;及び(II)前記リレーメッセージを前記第2ブロックチェーンネットワークに送信して、前記第2ブロックチェーンネットワークをもって、前記リレーメッセージに含まれた前記検証情報を利用して前記リレーメッセージを検証するようにし、前記リレーメッセージに含まれた前記特定のデータを前記第2データ形式に変換して受信者に送信させるプロセス;を遂行することを特徴とするリレーが提供される。
【0028】
前記(I)プロセス以前に、(I‐0)前記プロセッサが、前記第1ブロックチェーンネットワークに第1サービス制御スマートコントラクトと第1メッセージ制御スマートコントラクトとを配布し、前記第2ブロックチェーンネットワークに第2サービス制御スマートコントラクトと第2メッセージ制御スマートコントラクトとを配布するプロセスをさらに遂行し、前記(I)プロセスにおいて、(i)前記第1ブロックチェーンネットワークの第1分散型アプリケーションの第1エンコードアルゴリズムによって前記第1データ形式の前記特定のデータが原始バイトにエンコードされれば、前記特定のデータに対応される前記原始バイトを含むサービス呼び出しメッセージが前記第1ブロックチェーンネットワークの前記第1サービス制御スマートコントラクトに送信され、(ii)前記第1サービス制御スマートコントラクトによって前記サービス呼び出しメッセージを含むサービスメッセージが前記第1ブロックチェーンネットワークの前記第1メッセージ制御スマートコントラクトに送信され、(iii)前記第1メッセージ制御スマートコントラクトによって前記サービスメッセージを含む前記ブロックチェーン通信メッセージが生成されれば、前記プロセッサが前記ブロックチェーン通信メッセージと前記検証情報とを含む前記リレーメッセージを生成し、前記(II)プロセスにおいて、前記プロセッサは、前記リレーメッセージを前記第2ブロックチェーンネットワークに送信して、前記第2ブロックチェーンネットワークをもって、(i)前記第2メッセージ制御スマートコントラクトを通じて前記リレーメッセージを受信するようにし、(ii)前記リレーメッセージに含まれた前記検証情報を利用して前記リレーメッセージを検証するようにし、(iii)前記リレーメッセージに含まれた前記ブロックチェーン通信メッセージを確認するようにし、(iv)前記ブロックチェーン通信メッセージに含まれた前記サービスメッセージを前記第2サービス制御スマートコントラクトが受信するようにし、(v)前記第2サービス制御スマートコントラクトによって前記サービスメッセージが到着したことを知らせる呼び出しメッセージが前記第2ブロックチェーンネットワークの第2分散型アプリケーションに送信されるようにし、(vi)前記第2分散型アプリケーションによって前記特定のデータに対応される前記原始バイトを要請する実行呼び出しメッセージが前記第2サービス制御スマートコントラクトに送信されるようにし、(vii)前記第2サービス制御スマートコントラクトによって前記特定のデータに対応される前記原始バイトを含むハンドル呼び出しメッセージが前記第2分散型アプリケーションに送信されるようにし、前記第2分散型アプリケーションの第2デコードアルゴリズムによって前記原始バイトが前記第2データ形式の前記特定のデータにデコードされるように支援する。
【0029】
前記(I)プロセスにおいて、(ii)前記第1サービス制御スマートコントラクトによって前記サービス呼び出しメッセージを含む前記サービスメッセージが前記第1ブロックチェーンネットワークの前記第1メッセージ制御スマートコントラクトに送信されるようにするために、前記第1分散型アプリケーションで前記第1分散型アプリケーションの使用者に前記特定のデータに対応される前記原始バイトを送信することに関するリレー関連手数料を要請し、前記(II)プロセスにおいて、(vi)前記第2分散型アプリケーションによって前記特定のデータに対応される前記原始バイトを要請する前記実行呼び出しメッセージが前記第2サービス制御スマートコントラクトに送信されるようにするために、前記第2分散型アプリケーションで前記第2分散型アプリケーションの使用者に前記特定のデータを受信することに関するリレー非関連手数料を要請する。
【0030】
前記第1サービス制御スマートコントラクトと前記第2サービス制御スマートコントラクトとは、それぞれ自分が属しているブロックチェーンネットワーク以外の他のブロックチェーンネットワークのスマートコントラクトメソッドを呼び出すことができるように構成され、前記第1ブロックチェーンネットワークの前記第1データ形式及び前記第2ブロックチェーンネットワークの前記第2データ形式に対して分からない状態で管理されることを特徴とする。
【0031】
前記サービス呼び出しメッセージは、エラーの発生の際に前記特定のデータを送信する前の状態に復元するための情報であるロールバック情報をさらに含む。
【0032】
前記ブロックチェーン通信メッセージは、前記ブロックチェーン通信メッセージを生成した前記第1メッセージ制御スマートコントラクトのブロックチェーンアドレスであるソースアドレス、前記ブロックチェーン通信メッセージを受信する前記第2メッセージ制御スマートコントラクトのブロックチェーンアドレスである目的地アドレス、前記サービスメッセージのサービスの種類を識別するサービス種類、前記ブロックチェーン通信メッセージを識別することができる一連番号、及び前記サービスメッセージ、を含む。
【0033】
前記(I)プロセスにおいて、(i)前記第1ブロックチェーンネットワークの前記第1分散型アプリケーションの前記第1エンコードアルゴリズムによって前記第1データ形式の前記特定のデータが原始バイトにエンコードされれば、前記特定のデータに対応される前記原始バイトを含む前記サービス呼び出しメッセージが前記第1ブロックチェーンネットワークの前記第1サービス制御スマートコントラクトに送信され、(ii)前記第1サービス制御スマートコントラクトで前記サービス呼び出しメッセージを受信すれば、前記第1分散型アプリケーションで前記サービス呼び出しメッセージの識別のための一連番号を応答し、前記サービス呼び出しメッセージを含む前記サービスメッセージを生成し、前記サービスメッセージを含む送信サービスメッセージを生成し、前記送信サービスメッセージを前記第1ブロックチェーンネットワークの前記第1メッセージ制御スマートコントラクトに送信し、(iii)前記第1ブロックチェーンネットワークの前記第1メッセージ制御スマートコントラクトで前記送信サービスメッセージを受信すれば、前記サービスメッセージを含む前記ブロックチェーン通信メッセージを生成し、前記ブロックチェーン通信メッセージを含むブロックチェーンイベントメッセージを生成すれば、前記プロセッサは、前記ブロックチェーンイベントメッセージに含まれた前記ブロックチェーン通信メッセージと前記検証情報とを利用して前記リレーメッセージを生成する。
【0034】
前記送信サービスメッセージは、前記サービスメッセージを受信する前記第2ブロックチェーンネットワークのネットワークアドレスに関する情報である目的地ネットワークアドレス、前記サービスメッセージのサービスの種類を識別するサービス種類、送信サービスメッセージを識別することができる一連番号、及び前記サービスメッセージ、を含む。
【0035】
前記ブロックチェーンイベントメッセージは、前記ブロックチェーン通信メッセージが伝達される前記第2ブロックチェーンネットワークの前記第2メッセージ制御スマートコントラクトに係るブロックチェーンアドレスに関する情報である目的地アドレス、前記第1ブロックチェーンネットワークで前記サービス呼び出しメッセージを識別するための情報である前記一連番号、及び前記ブロックチェーン通信メッセージ、を含む。
【0036】
前記(II)プロセスにおいて、前記プロセッサは、前記リレーメッセージを含むハンドルリレーメッセージを前記第2ブロックチェーンネットワークに送信して、前記第2ブロックチェーンネットワークをもって、(i)前記第2メッセージ制御スマートコントラクトを通じて前記ハンドルリレーメッセージを受信するようにし、(ii)前記リレーメッセージを含む検証ハンドルリレーメッセージを生成して前記第2ブロックチェーンネットワークの第2メッセージ検証スマートコントラクトに送信するようにし、前記第2メッセージ検証スマートコントラクトによって前記検証ハンドルリレーメッセージが受信されれば、前記リレーメッセージに含まれた前記検証情報を検証するようにし、(iii)前記第2メッセージ制御スマートコントラクトによって前記第2メッセージ検証スマートコントラクトを通じて前記リレーメッセージの検証が成功されたことを確認すれば、前記リレーメッセージに含まれた前記ブロックチェーン通信メッセージを確認するようにし、(iv)前記ブロックチェーン通信メッセージに含まれた前記サービスメッセージを含むハンドルサービスメッセージを生成して前記第2サービス制御スマートコントラクトが受信するようにし、(v)前記第2サービス制御スマートコントラクトによって前記ハンドルサービスメッセージが受信されれば、前記ハンドルサービスメッセージに含まれた前記サービスメッセージを確認し、前記サービスメッセージが到着したことを知らせる呼び出しメッセージが前記第2ブロックチェーンネットワークの第2分散型アプリケーションに送信されるようにし、(vi)前記第2分散型アプリケーションによって前記呼び出しメッセージが感知されれば、前記特定のデータに対応される前記原始バイトを要請する実行呼び出しメッセージが前記第2サービス制御スマートコントラクトに送信されるようにし、(vii)前記第2サービス制御スマートコントラクトによって前記実行呼び出しメッセージが受信されれば、前記特定のデータに対応される前記原始バイトを含むハンドル呼び出しメッセージが前記第2分散型アプリケーションに送信されるようにし、前記第2分散型アプリケーションの第2デコードアルゴリズムによって前記原始バイトが前記第2データ形式の前記特定のデータにデコードされるように支援する。
【0037】
前記検証ハンドルリレーメッセージは、前記ハンドルリレーメッセージを受信する前記第2メッセージ制御スマートコントラクトのブロックチェーンアドレス、前記ブロックチェーン通信メッセージを生成した前記第1メッセージ制御スマートコントラクトのブロックチェーンアドレス、前記検証ハンドルリレーメッセージを識別することができる一連番号、及び前記リレーメッセージ、を含む。
【0038】
前記ハンドルサービスメッセージは、前記サービスメッセージを送信した前記第1ブロックチェーンネットワークのネットワークアドレス、前記サービスメッセージのサービスの種類を識別するサービス種類、前記ハンドルサービスメッセージを識別することができる一連番号、及び前記サービスメッセージ、を含む。
【0039】
前記呼び出しメッセージは、前記第1ブロックチェーンネットワークにある前記特定のデータを送信するアカウントの前記第1ブロックチェーンネットワーク上のブロックチェーンアドレスである発信地アドレス、前記呼び出しメッセージを受信するアカウントの前記第2ブロックチェーンネットワーク上のブロックチェーンアドレスである目的地アドレス、前記第1ブロックチェーンネットワークで前記サービス呼び出しメッセージを識別するための情報である一連番号、前記第2ブロックチェーンネットワークで前記特定のデータを送信する要請を識別するための識別情報、及び前記特定のデータ、を含む。
【0040】
この他にも、本発明の方法を行うためのコンピュータープログラムを記録するためのコンピューターの読み取り可能な記録媒体がさらに提供される。
【発明の効果】
【0041】
本発明は、リレーでデータの形式が分からない特定のデータを第1ブロックチェーンネットワークから前記リレーを経て第2ブロックチェーンネットワークに送信する方法を提供することができる効果がある。
【0042】
また、本発明は、それぞれのブロックチェーンネットワークに配布されたスマートコントラクトのそれぞれにおいて、自分が属していない他のブロックチェーンのスマートコントラクトのメソッドを呼び出すようにすることができる効果がある。
【0043】
また、本発明は、リレーを通じて原始バイト形態のメッセージを第1ブロックチェーンネットワークから第2ブロックチェーンネットワークに伝達し、第2ブロックチェーンネットワークの分散型アプリケーションのデコードアルゴリズムを通じて使用者が伝達されたメッセージを処理するようにすることで、呼び出そうとするメソッドにかかわらず、リレーのトランザクション費用が一定水準に予測可能にすることができる効果がある。
【図面の簡単な説明】
【0044】
【
図1】本発明の一実施例によるブロックチェーンの間で特定のデータを送受信することができる全体システムの簡略な構成を示す図面である。
【
図2】本発明の一実施例による全体システムでノードが簡略に配置された例を示す図面である。
【
図3】本発明のブロックチェーンの間で特定のデータの送受信ができるようなシステムで通信が遂行される過程を示す流れ図である。
【
図4】本発明のシステムの第1ブロックチェーンネットワークで特定のデータを送信する過程を示す流れ図である。
【
図5】本発明のシステムのリレーで特定のデータを中継する過程を示す流れ図である。
【
図6】本発明のシステムの第2ブロックチェーンネットワークで特定のデータを最終目的地に送信する過程を示す流れ図である。
【
図7】本発明のシステムでエラーの発生の際に処理する過程を示す流れ図である。
【発明を実施するための形態】
【0045】
以下、添付された図面を参照して実施例を詳細に説明する。しかし、実施例には多様な変更が加えられることができるため、特許出願の権利範囲がこのような実施例によって制限されたり限定されるものではない。実施例に対するすべての変更、均等物ないし代替物が権利範囲に含まれるものとして理解されなければならない。
【0046】
実施例で使った用語は、単に説明を目的として使われたもので、限定しようとする意図で解釈されてはならない。単数の表現は文脈上明らかに違うことを意味しない限り、複数の表現を含む。本明細書において、「含む」または「持つ」などの用語は、明細書上に記載された特徴、数字、段階、動作、構成要素、部品またはこれらを組み合わせたものが存在することを指定しようとするものであって、一つまたはそれ以上の他の特徴や数字、段階、動作、構成要素、部品またはこれらを組み合わせたものなどの存在または付加可能性を予め排除しないものとして理解しなければならない。
【0047】
別に定義されない限り、技術的や科学的な用語を含んで、ここで使われる全ての用語は実施例が属する技術分野における通常の知識を有する者によって一般的に理解されることと同一な意味を持っている。一般的に使われる辞書に定義されているもののような用語は、関連技術の文脈上持つ意味と一致する意味を持つものとして解釈しなければならず、本出願で明白に定義しない限り、理想的や過度に形式的な意味で解釈されない。
【0048】
また、添付の図面を参照して説明するにあたり、図面符号にかかわらず同一な構成要素は同一な参照符号を付与し、これに対する重複される説明は省略する。実施例を説明するにあたり、係る公知技術に対する具体的な説明が実施例の要旨を不要に曖昧にするおそれがあると判断される場合、その詳細な説明を省略する。
【0049】
また、実施例の構成要素を説明するにあたって、第1、第2、A、B、(a)、(b)などの用語を使うことができる。このような用語は、その構成要素を他の構成要素と区別するためのものに過ぎず、その用語によって該当構成要素の本質や順番または手順などが限定されない。ある構成要素が他の構成要素に「連結」、「結合」または「接続」されると記載された場合、その構成要素はその他の構成要素に直接連結されたり接続されることができるが、各構成要素の間にまた他の構成要素が「連結」、「結合」または「接続」されることもあると理解しなければならない。
【0050】
いずれか一つの実施例に含まれた構成要素と、共通的な機能を含む構成要素は、他の実施例で同一の名称を使って説明する。反対の記載がない以上、いずれか一つの実施例に記載した説明は他の実施例にも適用されることができ、重複される範囲で具体的な説明は省略する。
【0051】
以下では、本発明の一実施例によるブロックチェーンの間でデータを送信するシステム及び方法を添付された
図1ないし
図7を参照して詳しく説明する。
【0052】
図1は、本発明の一実施例によるブロックチェーンの間でデータを送受信することができる全体システムの簡略な構成を示す図面である。
【0053】
図1を参照すれば、本発明の全体システムは、第1ブロックチェーンネットワーク110、第2ブロックチェーンネットワーク130及びリレー120を含んで構成されることができる。
【0054】
第1ブロックチェーンネットワーク110は、第1分散型アプリケーション111、第1サービス制御スマートコントラクト112、第1メッセージ制御スマートコントラクト114及び第1メッセージ検証スマートコントラクト116の動作を支援することができる。
【0055】
第2ブロックチェーンネットワーク130は、第2分散型アプリケーション131、第2サービス制御スマートコントラクト132、第2メッセージ制御スマートコントラクト134及び第2メッセージ検証スマートコントラクト136の動作を支援することができる。
【0056】
この際、分散型アプリケーションは各々のブロックチェーンネットワークで使用者とのインターフェースを担当するアプリケーションであってもよい。
【0057】
また、分散型アプリケーションは各々送信したり受信したりする特定のデータの形式に応じて特定のデータのエンコードとデコードを遂行することができる。
【0058】
第1ブロックチェーンネットワーク110から第2ブロックチェーンネットワーク130に特定のデータを送信する例を見ると、次のように動作することができる。ここで、第1データ形式にしたがう前記第1ブロックチェーンネットワーク110から第2データ形式にしたがう前記第2ブロックチェーンネットワーク130に特定のデータを送信する場合を想定し、リレー120は第1ブロックチェーンネットワーク110の第1データ形式及び/または第2ブロックチェーンネットワーク130の第2データ形式が分からない状態であることを明らかにしておく。また、本発明において、「リレー120」は狭義のリレー(relay)それ自体で解釈される場合もあるが、リレーと連動される所定の主体(例えば、リレーを管理する運営装置)を意味する広義的な用語で解釈される場合もある。リレー120はコントラクトをマネジメントする主体とリレーを遂行する主体に分けられるが、これに限定されるものではない。
【0059】
第1ブロックチェーンネットワーク110から第2ブロックチェーンネットワーク130に送信するデータを含むサービス呼び出しメッセージを獲得すれば、第1ブロックチェーンネットワーク110は、サービス呼び出しメッセージとサービス呼び出しメッセージのサービス情報とを含むサービスメッセージを生成し、サービスメッセージを含むブロックチェーン通信メッセージを生成することができる。
【0060】
リレー120は、第1ブロックチェーンネットワーク110をモニタリングしている途中でブロックチェーン通信メッセージの生成を感知すれば、第1ブロックチェーンネットワーク110からブロックチェーン通信メッセージを検証するのに必要な情報である検証情報146を獲得し、ブロックチェーン通信メッセージと検証情報146とを含むリレーメッセージを生成し、リレーメッセージをメッセージの目的地を含む第2ブロックチェーンネットワーク130に送信することができる。
【0061】
この際、検証情報146は、ブロックチェーン通信メッセージがブロックチェーンに特定ブロックに属していることを証明することができる一連のデータを意味する。そして、検証情報146はブロックチェーンごとに異に定義されることができる。
【0062】
検証情報146の代表的な例は、ブロックヘッダーから連結されたマークル木(Merkle Tree)の端に連結されているデータであってもよく、これを証明するためにはルート(Root)で連結されるすべてのエンティティー(Entity)のデータを検証情報146にするか、あるいは兄弟(Sibling)のハッシュ(Hash)値を検証情報146にすることができる。
【0063】
一方、検証情報146の他の例として、MPT(Merkle Patricia Tree)を使って連結されるエンティティー(Entity)のデータで検証情報146の証明が行われるようにすることができる。検証情報146の獲得は、該当データのキー(Key)値を持って特定のアカウントでアプリケーションプログラムインターフェース(API:Application Program Interface)を呼び出して得ることができる。
【0064】
第2ブロックチェーンネットワーク130は、リレーメッセージを受信すれば、リレーメッセージに含まれた検証情報146を利用してリレーメッセージを検証し、リレーメッセージに含まれたデータを第2分散型アプリケーション131を通じて受信者に送信することができる。
【0065】
より具体的に、リレー120が、第1ブロックチェーンネットワーク110に第1サービス制御スマートコントラクトと第1メッセージ制御スマートコントラクトなどを配布し、第2ブロックチェーンネットワーク130に第2サービス制御スマートコントラクトと第2メッセージ制御スマートコントラクトなどを配布して、以下で説明する本発明の重要な特徴(すなわち、リレー120が第1データ形式及び第2データ形式が分からなくても何ら問題なしに異種のブロックチェーンの間でデータを送受信することができるという特徴)のための事前条件を用意することができる。
【0066】
このような状態で、(i)第1ブロックチェーンネットワーク110の第1分散型アプリケーション111の第1エンコードアルゴリズムによって第1データ形式の前記特定のデータが原始バイトにエンコードされれば、前記特定のデータに対応される前記原始バイトを含むサービス呼び出しメッセージが第1ブロックチェーンネットワーク110の前記第1サービス制御スマートコントラクトに送信され、(ii)前記第1サービス制御スマートコントラクトによって前記サービス呼び出しメッセージを含むサービスメッセージが第1ブロックチェーンネットワーク110の前記第1メッセージ制御スマートコントラクトに送信され、(iii)前記第1メッセージ制御スマートコントラクトによって前記サービスメッセージを含む前記ブロックチェーン通信メッセージが生成されれば、リレー120が前記ブロックチェーン通信メッセージと前記検証情報146とを含む前記リレーメッセージを生成することができる。
【0067】
この際、前記(ii)において、前記第1サービス制御スマートコントラクトによって前記サービス呼び出しメッセージを含む前記サービスメッセージが第1ブロックチェーンネットワーク110の前記第1メッセージ制御スマートコントラクトに送信されるようにするために、前記第1分散型アプリケーション111で前記第1分散型アプリケーション111の使用者に前記特定のデータに対応される前記原始バイトを送信することに関する第1手数料(いわゆる、リレー関連の手数料)を要請することができる。
【0068】
以後、リレー120は、前記リレーメッセージを第2ブロックチェーンネットワーク130に送信して、第2ブロックチェーンネットワーク130をもって、(i)前記第2メッセージ制御スマートコントラクトを通じて前記リレーメッセージを受信するようにし、(ii)前記リレーメッセージに含まれた前記検証情報146を利用して前記リレーメッセージを検証するようにし、(iii)前記リレーメッセージに含まれた前記ブロックチェーン通信メッセージを確認するようにし、(iv)前記ブロックチェーン通信メッセージに含まれた前記サービスメッセージを前記第2サービス制御スマートコントラクトが受信するようにし、(v)前記第2サービス制御スマートコントラクトによって前記サービスメッセージが到着したことを知らせる呼び出しメッセージが第2ブロックチェーンネットワーク130の第2分散型アプリケーション131に送信されるようにし、(vi)前記第2分散型アプリケーション131によって前記特定のデータに対応される前記原始バイトを要請する実行呼び出しメッセージが前記第2サービス制御スマートコントラクトに送信されるようにし、(vii)前記第2サービス制御スマートコントラクトによって前記特定のデータに対応される前記原始バイトを含むハンドル呼び出しメッセージが前記第2分散型アプリケーション131に送信されるようにし、前記第2分散型アプリケーション131の第2デコードアルゴリズムによって前記原始バイトが前記第2データ形式の前記特定のデータにデコードされるように支援することができる。
【0069】
この際、前記(vi)において、前記第2分散型アプリケーション131によって前記特定のデータに対応される前記原始バイトを要請する前記実行呼び出しメッセージが前記第2サービス制御スマートコントラクトに送信されるようにするために、前記第2分散型アプリケーション131で前記第2分散型アプリケーション131の使用者に前記特定のデータを受信することに関する第2手数料(いわゆる、リレー非関連の手数料)を要請することができる。
【0070】
前記第1サービス制御スマートコントラクト及び前記第2サービス制御スマートコントラクトは、それぞれ自分が属しているブロックチェーンネットワーク以外の他のブロックチェーンネットワークのスマートコントラクトメソッドを呼び出すことができるように構成され、前記第1ブロックチェーンネットワークの前記第1データ形式及び前記第2ブロックチェーンネットワークの前記第2データ形式に対して分からない状態でリレー120と連動されるように管理されることができる。
【0071】
図2は、本発明の一実施例によるシステムでノードが簡略に配置された例を示す図面である。
【0072】
図2を参照すれば、本発明のシステムは、多数のノード211‐215を含む第1ブロックチェーンネットワーク110、多数のノード231‐234を含む第2ブロックチェーンネットワーク130及び第1ブロックチェーンネットワーク110と第2ブロックチェーンネットワーク130との通信を中継するリレー120を含んで構成されることができる。
【0073】
この際、リレー120は、第1ブロックチェーンネットワーク110のノード214と第2ブロックチェーンネットワーク130のノード232とを含むことができる。
【0074】
すなわち、ノード214は、第1ブロックチェーンネットワーク110及びリレー120の両方に含まれて構成されることができ、ノード232は第2ブロックチェーンネットワーク130及びリレー120の両方に含まれて構成されることができる。
【0075】
他の方法として、リレー120はノードを含まず、第1ブロックチェーンネットワーク110の少なくとも一つのノードと通信し、第2ブロックチェーンネットワーク130の少なくとも一つのノードと通信する形態で構成されることもできる。
【0076】
ブロックチェーン間のデータ送受信についたより具体的な例を以後
図3ないし
図7を一緒に参照してより詳しく後述する。
【0077】
図3は、本発明のブロックチェーンの間にデータの送受信ができるようなシステムで通信が遂行される過程を示す流れ図である。
【0078】
図3を参照すれば、第1ブロックチェーンネットワーク110から第2ブロックチェーンネットワーク130に送信するデータを含むサービス呼び出しメッセージを受信すれば(S300)、サービス呼び出しメッセージとサービス呼び出しメッセージのサービス情報とを含むサービスメッセージを生成し、サービスメッセージを含むブロックチェーン通信メッセージを生成することができる(S310)。310段階は、以後、
図4を参照してより詳しく後述する。
【0079】
第1ブロックチェーンネットワーク110をモニタリングするリレー120でブロックチェーン通信メッセージの生成を感知すれば、第1ブロックチェーンネットワーク110からブロックチェーン通信メッセージを検証するのに必要な情報である検証情報146を獲得し、ブロックチェーン通信メッセージと検証情報146とを含むリレーメッセージを生成し、リレーメッセージをメッセージの目的地を含む第2ブロックチェーンネットワーク130に送信することができる(S320)。320段階は、以後、
図5を参照してより詳しく後述する。
【0080】
第2ブロックチェーンネットワーク130でリレーメッセージを受信すれば、リレーメッセージに含まれた検証情報146を利用してリレーメッセージを検証し、リレーメッセージに含まれたデータを受信者に送信することができる(S330)。330段階は、以後、
図6を参照してより詳しく後述する。
【0081】
図4は、本発明のシステムの第1ブロックチェーンネットワーク110でデータを送信する過程を示す流れ図である。
【0082】
図4を参照すれば、
図3の310段階は具体的に次の過程で遂行されることができる。
【0083】
第1ブロックチェーンネットワーク110の第1分散型アプリケーション111は、使用者から第2ブロックチェーンネットワーク130に送信しようとする特定のデータを受信すれば(S410)、特定のデータを含むサービス呼び出しメッセージを生成することができる(S412)。
【0084】
この際、サービス呼び出しメッセージは、第2ブロックチェーンネットワーク130に位置した特定のデータを受信するアカウントのブロックチェーンアドレスである目的地アドレス及び送信しようとする特定のデータを含んで構成されることができる。また、サービス呼び出しメッセージは、選択的にエラーの発生の際に前記特定のデータを送信する前の状態に復元するための情報であるロールバック情報をさらに含むことができる。
【0085】
使用者が第1分散型アプリケーション111を通じて送信する特定のデータをサービス呼び出しメッセージを利用して第1サービス制御スマートコントラクト112に提供する時、第1分散型アプリケーション111は使用者に特定のデータ送信に関する第1手数料を要請することもできる。
【0086】
第1サービス制御スマートコントラクト112は、第1分散型アプリケーション111からサービス呼び出しメッセージを受信すれば、第1分散型アプリケーション111にサービス呼び出しメッセージの識別のための一連番号を応答し、サービス呼び出しメッセージを含むサービスメッセージを生成することができる(S414)。
【0087】
サービスメッセージは、サービス呼び出しメッセージを受信するアカウントのブロックチェーンアドレスである目的地アドレスとサービス呼び出しメッセージとを含んで生成されることができる。
【0088】
又は、サービスメッセージは、サービス呼び出しメッセージを受信するアカウントのブロックチェーンアドレスである目的地アドレスとサービス呼び出しメッセージに加え、サービス呼び出しメッセージの種類を識別するメッセージ種類、サービス種類とサービス種類の詳細事項情報とを含むサービス情報、及びサービス呼び出しメッセージを送信するアカウントのブロックチェーンアドレスである発信地アドレスの中で少なくとも一つをさらに含んで構成されることができる。
【0089】
この際、ブロックチェーンアドレスは、ブロックチェーン通信のためのアドレスであることを示す通信規約識別情報、ブロックチェーンネットワークの種類を区分するブロックチェーン種類情報、同一なブロックチェーンネットワークの種類でブロックチェーンを識別することができるブロックチェーン識別情報、及びブロックチェーンネットワークの特定アカウントを識別することができるアカウント識別情報を含むことができる。
【0090】
例えば、ブロックチェーンアドレスは「btp://0x3.iconee/hx1234~」で構成されることができる。
【0091】
ここで、「btp://」はブロックチェーン通信のためのアドレスであることを示す通信規約識別情報で、「0x3」は同一なブロックチェーンネットワークの種類でブロックチェーンを識別することができるブロックチェーン識別情報で、「iconee」はブロックチェーンネットワークの種類を区分するブロックチェーン種類情報で、「hx1234~」はブロックチェーンネットワークの特定アカウントを識別することができるアカウント識別情報である。
【0092】
そして、第1ブロックチェーンネットワーク110の第1サービス制御スマートコントラクト112は、サービスメッセージを含む送信サービスメッセージ142を生成することができる(S416)。
【0093】
この際、送信サービスメッセージ142は、サービスメッセージを受信する第2ブロックチェーンネットワーク130のネットワークアドレスに関する情報である目的地ネットワークアドレス、サービスメッセージのサービスの種類を識別するサービス種類、送信サービスメッセージ142を識別することができる一連番号、及びサービスメッセージを含むことができる。
【0094】
そして、第1ブロックチェーンネットワーク110の第1サービス制御スマートコントラクト112は、送信サービスメッセージ142を第1ブロックチェーンネットワーク110の第1メッセージ制御スマートコントラクト114に送信することができる(S418)。
【0095】
以後、第1ブロックチェーンネットワーク110の第1メッセージ制御スマートコントラクト114は、送信サービスメッセージ142を受信すれば、ブロックチェーン通信メッセージの生成が可能であるか否かを確認することができる(S420)。
【0096】
420段階の確認結果、ブロックチェーン通信メッセージの生成が可能であれば、第1ブロックチェーンネットワーク110の第1メッセージ制御スマートコントラクト114はサービスメッセージを含むブロックチェーン通信メッセージを生成することができる(S422)。
【0097】
この際、ブロックチェーン通信メッセージは、ブロックチェーン通信メッセージを生成したメッセージ制御スマートコントラクトのブロックチェーンアドレスである発信地アドレス、ブロックチェーン通信メッセージを受信するメッセージ制御スマートコントラクトのブロックチェーンアドレスである目的地アドレス、サービスメッセージのサービスの種類を識別するサービス種類、ブロックチェーン通信メッセージを識別することができる一連番号、及びサービスメッセージを含むことができる。
【0098】
第1ブロックチェーンネットワーク110の第1メッセージ制御スマートコントラクト114は、ブロックチェーン通信メッセージを第1ブロックチェーンネットワーク100の第1ブロックチェーンに追加する(S426)。
【0099】
そして、第1ブロックチェーンネットワーク110の第1メッセージ制御スマートコントラクト114は、ブロックチェーン通信メッセージを含むブロックチェーンイベントメッセージ144を生成する(S428)。
【0100】
この際、ブロックチェーンイベントメッセージ144は、ブロックチェーン通信メッセージが伝達される次のブロックチェーンネットワークのメッセージ制御スマートコントラクトに係るブロックチェーンアドレスに関する情報である次の目的地アドレス、ブロックチェーンイベントメッセージ144を識別してその手順を確認することができる一連情報、及びバイト単位に変更されたブロックチェーン通信メッセージを含むことができる。
【0101】
420段階の確認結果、ブロックチェーン通信メッセージの生成が可能ではなければ、第1ブロックチェーンネットワーク110の第1メッセージ制御スマートコントラクト114は、エラーメッセージを生成することができる(S430)。この際、ブロックチェーン通信メッセージの生成が可能でない場合は、例えば、目的地ブロックチェーンネットワークが確認されない場合などが存在することがある。
【0102】
そして、第1ブロックチェーンネットワーク110の第1メッセージ制御スマートコントラクト114は、エラーメッセージを第1ブロックチェーンネットワーク110の第1ブロックチェーンに追加することができる(S432)。
【0103】
図5は、本発明のシステムのリレーで特定のデータを中継する過程を示す流れ図である。
【0104】
図5を参照すれば、
図3の320段階は具体的に次の過程で遂行されることができる。
【0105】
第1ブロックチェーンネットワーク110をモニタリングするリレー120は、ブロックチェーン通信メッセージを含むブロックチェーンイベントメッセージ144の生成を感知すれば(S510)、第1ブロックチェーンネットワーク110からブロックチェーン通信メッセージを検証することができる検証情報146を獲得することができる(S512)。
【0106】
リレー120は、ブロックチェーン通信メッセージと検証情報146とを含むリレーメッセージを生成することができる(S514)。この際、リレーメッセージは、同一なネットワークアドレスを持つ少なくとも一つのブロックチェーン通信メッセージ、及びブロックチェーン通信メッセージの検証情報146を含むことができる。
【0107】
リレー120は、リレーでリレーメッセージを含むハンドルリレーメッセージ152を生成して第2ブロックチェーンネットワーク130の第2メッセージ制御スマートコントラクト134に送信することができる(S516)。
【0108】
この際、ハンドルリレーメッセージ152は、ブロックチェーン通信メッセージを生成したメッセージ制御スマートコントラクトのブロックチェーンアドレス及び原始バイトに変更されたリレーメッセージを含むことができる。
【0109】
図6は、本発明のシステムの第2ブロックチェーンネットワークで特定のデータを最終の目的地に送信する過程を示す流れ図である。
【0110】
図6を参照すれば、
図3の330段階は具体的に次の過程で遂行されることができる。
【0111】
第2ブロックチェーンネットワーク130の第2メッセージ制御スマートコントラクト134は、リレー120からリレーメッセージを含むハンドルリレーメッセージ152を受信すれば(S610)、リレーメッセージを含む検証ハンドルリレーメッセージ154を生成して第2ブロックチェーンネットワーク130の第2メッセージ検証スマートコントラクト136に送信することができる(S612)。
【0112】
この際、検証ハンドルリレーメッセージ154は、ハンドルリレーメッセージ152を受信するメッセージ制御スマートコントラクトのブロックチェーンアドレス、ブロックチェーン通信メッセージを生成した第1メッセージ制御スマートコントラクト114のブロックチェーンアドレス、第1メッセージ制御スマートコントラクト114が実行されたアドレス、検証ハンドルリレーメッセージ154を識別することができる一連番号、及び原始バイトに変更されたリレーメッセージを含むことができる。
【0113】
第2ブロックチェーンネットワーク130の第2メッセージ検証スマートコントラクト136で検証ハンドルリレーメッセージ154を受信すれば、リレーメッセージに含まれた検証情報146を検証することができる(S614)。
【0114】
第2ブロックチェーンネットワーク130の第2メッセージ制御スマートコントラクト134は、第2メッセージ検証スマートコントラクト136を通じてリレーメッセージの検証に成功することを確認すれば、リレーメッセージに含まれたブロックチェーン通信メッセージを確認し、ブロックチェーン通信メッセージに含まれたサービスメッセージを確認し、サービスメッセージを含むハンドルサービスメッセージ156を生成して第2ブロックチェーンネットワーク130の第2サービス制御スマートコントラクト132に送信することができる(S616)。
【0115】
この際、ハンドルサービスメッセージ156は、サービスメッセージを送信した第1ブロックチェーンネットワーク110のネットワークアドレス、サービスメッセージのサービスの種類を識別するサービス種類、ハンドルサービスメッセージ156を識別することができる一連番号、及びサービスメッセージを含むことができる。
【0116】
第2メッセージ制御スマートコントラクト134は、ハンドルサービスメッセージ156を受信すれば、ハンドルサービスメッセージ156に含まれたサービスメッセージを確認し、サービスメッセージが到着したことを知らせる呼び出しメッセージを第2ブロックチェーンネットワーク130の第2分散型アプリケーション131に送信することができる(S618)。この際、呼び出しメッセージは、前記第1ブロックチェーンネットワーク110にある特定のデータを送信するアカウントのブロックチェーンアドレスである発信地アドレス、呼び出しメッセージを受信するアカウントのブロックチェーンアドレスである目的地アドレス、第1ブロックチェーンネットワーク110でサービス呼び出しメッセージを識別するための情報である一連番号、前記第2ブロックチェーンネットワーク130で前記特定のデータを送信する要請を識別するための識別情報、及び特定のデータを含むことができる。
【0117】
第2分散型アプリケーション131は、呼び出しメッセージを感知すれば、特定のデータを要請する実行呼び出しメッセージを第2サービス制御スマートコントラクト132に送信することができる(S620)。実行呼び出しメッセージは、第2ブロックチェーンネットワーク130で特定のデータを送信する要請を識別するための識別情報を含むことができる。
【0118】
620段階で第2分散型アプリケーション131は、特定のデータを要請する実行呼び出しメッセージを第2サービス制御スマートコントラクト132に送信する時、第2分散型アプリケーション131の使用者に特定のデータの受信に関する第2手数料を要請することもできる。
【0119】
第2サービス制御スマートコントラクト132は、実行呼び出しメッセージを受信すれば、特定のデータを含むハンドル呼び出しメッセージを第2分散型アプリケーション131に送信し、第2分散型アプリケーション131はハンドル呼び出しメッセージに含まれた特定のデータを第2分散型アプリケーション131の使用者に提供することができる(S622)。ハンドル呼び出しメッセージは、第1ブロックチェーンネットワーク110にある特定のデータを送信するアカウントのブロックチェーンアドレスである発信地アドレスと特定のデータとを含むことができる。
【0120】
図7は、本発明のシステムでエラーの発生の際に処理する過程を示す流れ図である。
【0121】
図7を参照すれば、第1サービス制御スマートコントラクト112は、ブロックチェーン通信メッセージの送信にエラーが発生することを感知すれば710、第1分散型アプリケーション111にエラーの発生を知らせるロールバックメッセージを送信することができる(S712)。この際、ロールバックメッセージは、第1ブロックチェーンネットワーク110でサービス呼び出しメッセージを識別するための情報である一連番号、エラーの発生の際に前記特定のデータを送信する前の状態に復元するための情報であるロールバック情報及びロールバックを起こしたエラー情報を含むことができる。
【0122】
第1分散型アプリケーション111は、ロールバックメッセージを受信すれば、第1サービス制御スマートコントラクト112にロールバックのためのデータを要請する実行ロールバックメッセージを送信することができる(S714)。この際、実行ロールバックメッセージは、第1ブロックチェーンネットワーク110でサービス呼び出しメッセージを識別するための情報である一連番号を含むことができる。
【0123】
第1サービス制御スマートコントラクト112は、実行ロールバックメッセージを受信すれば、ロールバックのためのデータを含むハンドル呼び出しメッセージを第1分散型アプリケーション111に送信することができる(S716)。
【0124】
第1分散型アプリケーション111は、ハンドル呼び出しメッセージを受信すれば、ハンドル呼び出しメッセージに含まれたロールバックのためのデータを利用して特定のデータを送信する以前の状態に戻すことができる(S718)。
【0125】
また、以上で説明された本発明による実施例は、多様なコンピュータ構成要素を通じて遂行できるプログラム命令語の形態で具現され、コンピュータの読み取り可能な記録媒体に記録されることができる。前記コンピュータの読み取り可能な記録媒体は、プログラム命令語、データファイル、データ構造などを単独でまたは組み合わせて含むことができる。前記コンピュータの読み取り可能な記録媒体に記録されるプログラム命令語は、本発明のために特別設計されて構成されたものであるか、またはコンピュータソフトウェア分野の当業者に公知されて使用可能なものであってもよい。コンピュータの読み取り可能な記録媒体の例には、ハードディスク、フロッピー(登録商標)ディスク及び磁気テープのような磁気媒体、CD‐ROM、DVDのような光記録媒体、フロプティカルディスク(floptical disk)のような磁気‐光媒体(magneto‐optical media)、及びROM、RAM、フラッシュメモリなどのようなプログラム命令語を格納して遂行するように特別構成されたハードウェア装置が含まれる。プログラム命令語の例には、コンパイラによって作われるもののような機械語コードのみならず、インタプリタなどを使用してコンピュータによって実行されることができる高級言語コードも含まれる。前記ハードウェア装置は、本発明による処理を行うために一つ以上のソフトウェアモジュールとして作動するように構成されることができ、その逆も同様である。
【0126】
以上、本発明が具体的な構成要素などのような特定事項と、限定された実施例及び図面によって説明されたが、これは本発明のより全般的な理解を助けるために提供されたものに過ぎず、本発明が前記実施例に限定されるものではなく、本発明が属する技術分野における通常の知識を有する者であれば、このような記載から多様な修正及び変形を図ることができる。
【0127】
したがって、本発明の思想は前記説明された実施例に限って決まってはならず、後述する特許請求の範囲だけでなく、この特許請求の範囲と均等に、または等価的に変形された全てのものは本発明の思想の範疇に属するものとする。