IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ エスダブリュー エンパイア カンパニー リミテッドの特許一覧

特許7146093ブロックチェーンでノード間のブロック及び電子文書を共有及び検証する方法
<>
  • 特許-ブロックチェーンでノード間のブロック及び電子文書を共有及び検証する方法 図1
  • 特許-ブロックチェーンでノード間のブロック及び電子文書を共有及び検証する方法 図2
  • 特許-ブロックチェーンでノード間のブロック及び電子文書を共有及び検証する方法 図3
  • 特許-ブロックチェーンでノード間のブロック及び電子文書を共有及び検証する方法 図4
  • 特許-ブロックチェーンでノード間のブロック及び電子文書を共有及び検証する方法 図5
  • 特許-ブロックチェーンでノード間のブロック及び電子文書を共有及び検証する方法 図6
  • 特許-ブロックチェーンでノード間のブロック及び電子文書を共有及び検証する方法 図7
  • 特許-ブロックチェーンでノード間のブロック及び電子文書を共有及び検証する方法 図8
  • 特許-ブロックチェーンでノード間のブロック及び電子文書を共有及び検証する方法 図9
  • 特許-ブロックチェーンでノード間のブロック及び電子文書を共有及び検証する方法 図10
  • 特許-ブロックチェーンでノード間のブロック及び電子文書を共有及び検証する方法 図11
  • 特許-ブロックチェーンでノード間のブロック及び電子文書を共有及び検証する方法 図12
  • 特許-ブロックチェーンでノード間のブロック及び電子文書を共有及び検証する方法 図13
  • 特許-ブロックチェーンでノード間のブロック及び電子文書を共有及び検証する方法 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-09-22
(45)【発行日】2022-10-03
(54)【発明の名称】ブロックチェーンでノード間のブロック及び電子文書を共有及び検証する方法
(51)【国際特許分類】
   G06F 21/64 20130101AFI20220926BHJP
   G06F 21/62 20130101ALI20220926BHJP
   G06Q 20/38 20120101ALI20220926BHJP
   H04L 9/32 20060101ALI20220926BHJP
【FI】
G06F21/64
G06F21/62 345
G06Q20/38
H04L9/32 200Z
【請求項の数】 9
(21)【出願番号】P 2021536101
(86)(22)【出願日】2019-11-01
(65)【公表番号】
(43)【公表日】2022-02-16
(86)【国際出願番号】 KR2019014749
(87)【国際公開番号】W WO2020130331
(87)【国際公開日】2020-06-25
【審査請求日】2021-07-01
(31)【優先権主張番号】10-2018-0167815
(32)【優先日】2018-12-21
(33)【優先権主張国・地域又は機関】KR
(31)【優先権主張番号】10-2018-0168117
(32)【優先日】2018-12-24
(33)【優先権主張国・地域又は機関】KR
(73)【特許権者】
【識別番号】521268174
【氏名又は名称】エスダブリュー エンパイア カンパニー リミテッド
【氏名又は名称原語表記】SWEMPIRE CO., LTD.
【住所又は居所原語表記】701, 9, Yonghyeon-ro, Deogyang-gu, Goyang-si, Gyeonggi-do 10526, Republic of Korea
(74)【代理人】
【識別番号】100121382
【弁理士】
【氏名又は名称】山下 託嗣
(72)【発明者】
【氏名】チェ,ミョン ス
【審査官】平井 誠
(56)【参考文献】
【文献】特許第6405478(JP,B1)
【文献】韓国登録特許第10-1882802(KR,B1)
【文献】特表2020-517200(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/00-88
G06Q 20/38
H04L 9/32
(57)【特許請求の範囲】
【請求項1】
ブロックチェーンに含まれている複数のノードのうちの特定のノード間のブロックを共有及び検証する方法において、
前記複数のノードのうちの少なくとも1つの第1ノードが、前記特定のノードの識別情報及びトランザクション情報を含む少なくとも1つのトランザクションを生成する段階と、
前記複数のノードのうちの少なくとも1つの第2ノードが、前記識別情報及び前記トランザクション情報に基づいて、ブロックヘッダ及びブロックボディの両方が含まれる少なくとも1つのメインブロックを生成する段階と、
前記複数のノードのうちの少なくとも1つの第2ノードが、前記識別情報及び前記トランザクション情報に基づいて、ブロックヘッダのみ含まれる少なくとも1つのサブブロックを生成する段階と、
前記少なくとも1つの第2ノードが、生成された少なくとも1つのメインブロック又はサブブロックを、前記識別情報に基づいて、前記特定のノードと前記特定のノードを除いた残りのノードに区別して共有する段階と、
を含むことを特徴とするブロックチェーンで特定のノード間のブロックを共有及び検証する方法。
【請求項2】
前記少なくとも1つのメインブロックを生成する段階は、
前記少なくとも1つの第2ノードが、前記少なくとも1つのトランザクションのうち同一の識別情報を有するトランザクションを確認する段階と、
前記少なくとも1つの第2ノードが、前記同一の識別情報を有するトランザクションのみ含まれるメインブロックを生成する段階と、
前記少なくとも1つの第2ノードが、前記同一の識別情報を有するトランザクションのみ含まれる前記メインブロックを前記同一の識別情報に対応する特定のノードに共有する段階と、
を含むことを特徴とする請求項1に記載のブロックチェーンで特定のノード間のブロックを共有及び検証する方法。
【請求項3】
前記少なくとも1つの第2ノードが、生成された少なくとも1つのメインブロックを格納及び管理する段階を更に含むことを特徴とする請求項1に記載のブロックチェーンで特定のノード間のブロックを共有及び検証する方法。
【請求項4】
前記少なくとも1つのサブブロックを生成する段階は、
前記少なくとも1つのメインブロックの生成が完了した後、前記少なくとも1つの第2ノードが、生成された少なくとも1つのメインブロックのヘッダを抽出する段階と、
前記少なくとも1つの第2ノードが、抽出されたブロックのヘッダのみ含まれる少なくとも1つのサブブロックを生成する段階と、
を含むことを特徴とする請求項1に記載のブロックチェーンで特定のノード間のブロックを共有及び検証する方法。
【請求項5】
前記特定のノードと前記特定のノードを除いた残りのノードに区別して共有する段階は、
前記少なくとも1つの第2ノードが、生成されたブロックヘッダ及びブロックボディの両方が含まれる少なくとも1つのメインブロックを、前記複数のノードのうち前記特定のノードに共有する段階と、
前記少なくとも1つの第2ノードが、生成されたブロックのヘッダのみ含まれる少なくとも1つのサブブロックを、前記複数のノードのうち前記特定のノードを除いた残りのノードに共有する段階と、
を更に含むことを特徴とする請求項4に記載のブロックチェーンで特定のノード間のブロックを共有及び検証する方法。
【請求項6】
前記少なくとも1つのサブブロックは、ブロックのハッシュ値を含み、
前記残りのノードが、前記ブロックのハッシュ値を用いて、前記少なくとも1つのサブブロックが完全であるか否かを検証する段階を更に含むことを特徴とする請求項5に記載のブロックチェーンで特定のノード間のブロックを共有及び検証する方法。
【請求項7】
前記残りのノードのうちの少なくとも1つのノードが、前記少なくとも1つの第2ノードに前記少なくとも1つのサブブロックに対応するトランザクションのハッシュ値を要請する段階と、
前記少なくとも1つの第2ノードが、前記要請したトランザクションのハッシュ値を演算する段階と、
前記少なくとも1つの第2ノードが、前記演算したトランザクションのハッシュ値を前記少なくとも1つのノードに伝送する段階と、
前記少なくとも1つのノードが、受信したトランザクションのハッシュ値と既に格納されたトランザクションのハッシュ値とを比較する段階と、
前記少なくとも1つのノードが、前記比較の結果に基づいて、前記サブブロックに含まれている前記トランザクション情報が完全であるか否かを検証する段階と、
を更に含むことを特徴とする請求項6に記載のブロックチェーンで特定のノード間のブロックを共有及び検証する方法。
【請求項8】
前記複数のノードが、前記ブロックヘッダ及びブロックボディの両方が含まれる少なくとも1つのメインブロックと、前記ブロックのヘッダのみ含まれる少なくとも1つのサブブロックを、同一のブロックに格納及び管理する段階を更に含むことを特徴とする請求項4に記載のブロックチェーンで特定のノード間のブロックを共有及び検証する方法。
【請求項9】
ブロックチェーンで特定のノード間のブロックを共有及び検証するシステムにおいて、
ブロックチェーンネットワークを構成する複数のノードを含み、
前記複数のノードのうちの少なくとも1つの第1ノードが、前記特定のノードの識別情報及びトランザクション情報を含む少なくとも1つのトランザクションを生成し、
前記複数のノードのうちの少なくとも1つの第2ノードが、前記識別情報及び前記トランザクション情報に基づいて、ブロックヘッダ及びブロックボディの両方を含む少なくとも1つのメインブロックを生成し、
前記複数のノードのうちの少なくとも1つの第2ノードが、前記識別情報及び前記トランザクション情報に基づいて、ブロックのヘッダのみ含まれる少なくとも1つのサブブロックを生成し、
前記少なくとも1つの第2ノードが、生成された少なくとも1つのメインブロック又はサブブロックを、前記識別情報に基づいて、前記特定のノードと前記特定のノードを除いた残りのノードに区別して共有することを特徴とするブロックチェーンで特定のノード間のブロックを共有及び検証するシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はブロックチェーンで特定のノード間のブロックを共有及び検証する方法に関し、より詳細には、ブロックチェーンに含まれている複数のノードのうちブロックを共有する特定のノードをグループに指定しないながらも効率的にノード間のブロックを共有して検証する方法に関する。
【0002】
また、本発明はブロックチェーンでスマートコントラクトを用いた電子文書の流通方法に関し、より詳細には、ブロックチェーンで電子文書を用いる時点に電子文書の書式と電子文書の情報を自動的に併合する方法に関する。
【背景技術】
【0003】
ブロックチェーン(blockchain)は、持続的に増加するデータを特定単位のブロックに記録し、P2P(peer-to-peer)ネットワークを構成するそれぞれのノードがブロックをチェーン状のデータ構造として管理するデータ管理技術又はチェーン状のデータ構造で構成されたデータそのものを意味する。このとき、チェーン状のデータ構造で構成されたブロックチェーンデータは、中央システムなしにそれぞれのノードで分散台帳(distributed edger)の形で運用される。
【0004】
ブロックチェーン技術は、分散データの管理又はデータの偽変造防止のために多様な分野に応用できる。例えば、ブロックチェーン技術が金融分野に応用される場合、信頼を保証する中央金融機関がなくても、分散されたそれぞれのブロックチェーンノードが管理する分散台帳を通じて取引の当事者が安全に取引を行うことができる。
【0005】
一方、ブロックチェーンは、パブリック(public)ブロックチェーンとプライベート(private)ブロックチェーンとに区分できるが、特に金融機関及び企業など特定の利害関係を有する団体は、パブリックブロックチェーンの代わりに、許可された機関のみ閲覧が可能なプライベートブロックチェーンを好む。従って、プライベートブロックチェーンはパブリックブロックチェーンとは異なり、ブロックチェーンに参加したノードのうち利害関係によって特定のノードのみ特定のブロックを共有する方法が行われている。
【0006】
例えば、特定のノード間のブロックを共有する方法は、事前にブロックを共有するノードをグループに指定して行われた。しかし、このように事前にブロックを共有するノードを指定する場合、ブロックチェーンを活用及び運用する側面から以下の3つの問題がある。
【0007】
第一の問題として、ブロックを共有するノードのグループの指定が動的に運用できず、以前に指定されたグループに新たなノードを追加するためには、新規のグループを指定しなければならないので、ブロックを共有するグループが不必要に増加する。従って、グループの増加に伴う管理の非効率性が高くなる。
【0008】
第二の問題として、ブロックを共有するノードのグループで格納及び管理されるブロックは、ノードのグループが解除される場合に削除される。従って、グループが削除された後に前記管理されるブロックを継続して照会するために別途に格納しなければならないので、ブロックチェーン内の複数のノードにおいて格納空間の非効率性が存在する。
【0009】
第三の問題として、グループに指定されたノードのみ共有するブロックは、他のノードを共有できず、ブロックチェーンに参加した全てのノードによりブロックが完全であるかが検証できないため、該当ブロックチェーンの全般的な信頼性が低下する。
【0010】
一方、ブロックチェーン技術は、前述したように、信頼性あるデータの共有と完全性を保障するが、電子文書を流通する上では制限的な部分があった。
【0011】
第一の問題として、電子文書をファイル状又は電子文書の書式とデータを分離して流通するには、ブロックチェーンで分散して格納されるブロックの大きさが制限的である。
【0012】
第二の問題として、電子文書ファイルがブロックチェーンに格納される場合、ブロックチェーン全体の容量が非常に増加し、管理の効率性が低下する。
【0013】
第三の問題として、電子文書のデータのみ流通される場合、文書の形で閲覧及び照会するためには、電子文書の書式を外部のシステムから受信するか、電子文書のデータを外部のシステムに伝送しなければならない。そのため、電子文書の閲覧及び照会の利便性と書式の信頼性を保障し難い。また、証明書のような電子文書には多様な個人情報が存在するが、このような個人情報を保護し難い。
【発明の概要】
【発明が解決しようとする課題】
【0014】
本発明は上記事情に鑑みてなされたものであって、その目的は、事前にグループを指定せず、全てのノードがブロックを共有し、ブロックに含まれている識別情報に基づいて、ブロックと関連する特定のノードは、トランザクション情報を含むブロックを共有し、ブロックと関係がない残りのノードは、ブロックヘッダのみを含むブロックを共有することによって、ブロックチェーン全体ノードの管理の効率性を向上させる方法を提供することにある。
【0015】
また、本発明の他の目的は、ブロックと関係がある特定のノードにのみ共有されるブロックのヘッダのみを、ブロックと関係がない残りのノードに共有することによって、ブロックチェーン全体のノードの格納空間を実質的に増加させる方法を提供することにある。
【0016】
更に、本発明の別の目的は、ブロックと関係がない残りのノードは、ブロックに含まれているハッシュ値を用いてブロックが完全であるかを検証し、ブロックに含まれないトランザクション情報が完全であるかは、ブロック生成ノードで提供するブロックのハッシュ値を用いて検証することによって、ブロックチェーンに参加した全てのノードがブロックの完全性を検証する方法を提供することにある。
【0017】
なお、本発明の更に別の目的は、電子文書を分割して電子文書の情報のみブロックに含めて流通する方法を提供することにある。
【0018】
また、本発明の他の目的は、電子文書を用いる時点に電子文書の書式とデータが自動的に連結されて結合される方法を提供することにある。
【0019】
更に、本発明の別の目的は、個人情報が含まれている電子文書を用いる時点に閲覧資格を検証する方法を提供することにある。
【0020】
本発明が解決しようとする課題は、以上で言及している課題に限らず、言及していない更に他の課題は、以下の記載から通常の技術者が明確に理解できるだろう。
【課題を解決するための手段】
【0021】
本発明の一実施例に係るブロックチェーンで特定のノード間のブロックを共有及び検証する方法は、前記複数のノードのうちの少なくとも1つの第1ノードが、前記特定のノードの識別情報及びトランザクション情報を含む少なくとも1つのトランザクションを生成する段階と、前記複数のノードのうちの少なくとも1つの第2ノードが、前記識別情報及び前記トランザクション情報に基づいて、ブロックヘッダ及びブロックボディの両方が含まれる少なくとも1つのメインブロックを生成する段階と、前記複数のノードのうちの少なくとも1つの第2ノードが、前記識別情報及び前記トランザクション情報に基づいて、ブロックヘッダのみ含まれる少なくとも1つのサブブロックを生成する段階と、前記少なくとも1つの第2ノードが、生成された少なくとも1つのメインブロック又はサブブロックを、前記識別情報に基づいて、前記特定のノードと前記特定のノードを除いた残りのノードに区別して共有する段階と、を含むことができる。
【0022】
本発明の一実施例に係るブロックチェーンで特定のノード間のブロックを共有及び検証するシステムは、ブロックチェーンネットワークを構成する複数のノードを含み、前記複数のノードのうちの少なくとも1つの第1ノードが、前記特定のノードの識別情報及びトランザクション情報を含む少なくとも1つのトランザクションを生成し、前記複数のノードのうちの少なくとも1つの第2ノードが、前記識別情報及び前記トランザクション情報に基づいて、ブロックヘッダ及びブロックボディの両方を含む少なくとも1つのメインブロックを生成し、前記複数のノードのうちの少なくとも1つの第2ノードが、前記識別情報及び前記トランザクション情報に基づいて、ブロックのヘッダのみ含まれる少なくとも1つのサブブロックを生成し、前記少なくとも1つの第2ノードが、生成された少なくとも1つのメインブロック又はサブブロックを、前記識別情報に基づいて、前記特定のノードと前記特定のノードを除いた残りのノードに区別して共有できる。
【0023】
本発明の一実施例に係る複数のノードを含むブロックチェーンでスマートコントラクトを用いた電子文書を流通する方法は、前記電子文書を、電子文書の書式及び併合条件を含む第1分割データ及び識別子と、電子文書の情報を含む第2分割データに分割する段階と、前記第1分割データを前記複数のノードに分散して格納する段階と、前記第2分割データを含むブロックを生成して前記複数のノードに分散して格納する段階と、前記複数のノードのうちの何れか1つのノードが、前記併合条件及び前記識別子に基づいて、前記第1分割データと前記第2分割データとを併合する段階と、を含むことができる。前記複数のノードは、電子文書管理及び流通モジュールを含み、前記併合する段階は、前記複数のノードのうちの何れか1つのノードから電子文書の利用要請を検出する段階と、前記電子文書管理及び流通モジュールを用いて、前記第1分割データから前記電子文書の書式及び前記併合条件を抽出する段階と、前記電子文書管理及び流通モジュールを用いて、前記第2分割データから前記識別子と前記電子文書の情報を抽出する段階と、前記電子文書管理及び流通モジュールを用いて、前記識別子に対応する前記電子文書の書式を確認する段階と、前記電子文書管理及び流通モジュールを用いて、前記確認した電子文書の書式に前記電子文書の情報を併合する段階と、を含むことができる。
【0024】
本発明の一実施例に係る複数のノードを含むブロックチェーンでスマートコントラクトを用いた電子文書を流通するシステムにおいて、前記複数のノードは、電子文書管理及び流通モジュール、電子文書分割モジュール、ブロック生成モジュール及びメモリを含み、前記複数のノードのうちの何れか1つのノードが、前記電子文書分割モジュールを用いて、前記電子文書を、電子文書の書式及び併合条件を含む第1分割データ及び識別子と電子文書の情報を含む第2分割データに分割し、前記何れか1つのノードが、前記第1分割データを前記複数のノードに分散して格納し、前記何れか1つのノードが、前記ブロック生成モジュールを用いて、前記第2分割データを含むブロックを生成して前記複数のノードに分散して格納し、前記複数のノードのうちの何れか1つのノードが、前記電子文書管理及び流通モジュールを用いて、前記併合条件及び前記識別子に基づいて、前記第1分割データと前記第2分割データとを併合できる。前記第1分割データと前記第2分割データとの併合は、前記複数のノードのうちの何れか1つのノードから電子文書の利用要請を検出し、前記電子文書管理及び流通モジュールを用いて、前記第1分割データから前記電子文書の書式及び前記併合条件を抽出し、前記電子文書管理及び流通モジュールを用いて、前記第2分割データから前記識別子と前記電子文書の情報を抽出し、前記電子文書管理及び流通モジュールを用いて、前記識別子に対応する前記電子文書の書式を確認し、前記電子文書管理及び流通モジュールを用いて、確認した電子文書の書式に前記電子文書の情報を併合することによって実行できる。
【発明の効果】
【0025】
前記のような本発明によれば、以下のような多様な効果を奏する。
【0026】
本発明によれば、事前にグループを指定せず、ブロックに含まれている識別情報を通じてブロックと関連する特定のノードにトランザクションが含まれているブロックを共有させ、ブロックと関係がない残りのノードにブロックヘッダのみ含まれているサブブロックを自動的に共有させることができる。
【0027】
また、本発明によれば、ブロックのヘッダのみ含まれているブロックをブロックと関係がない残りのノードに共有することによって、ブロックチェーン全体ノードの格納空間を実質的に増加させることができる。
【0028】
更に、本発明によれば、残りのノードに共有されたブロックのヘッダに含まれているハッシュ値とブロック生成ノードで提供するブロックのハッシュ値を用いることによって、ブロックチェーンに参加した全てのノードがブロックの完全性を検証できる。
【0029】
また、本発明によれば、プライベートブロックチェーンで特定のノード間のブロックの共有に対する自由度を向上させることができる。
【0030】
なお、本発明によれば、電子文書を電子文書の書式と電子文書の情報とに分割して流通することによって、ブロックチェーン上でブロックに格納される電子文書と関連するデータの大きさを最小化できる。
【0031】
また、本発明によれば、電子文書管理及び流通モジュールを用いて文書を用いる時点に電子文書の書式と電子文書の情報を自動的に併合して電子文書を提供できる。
【0032】
更に、本発明によれば、個人情報が含まれている電子文書を閲覧及び検証する際に資格条件を検証する方法を提供することによって、ブロックチェーンで流通される電子文書の信頼性を向上させることができる。
【図面の簡単な説明】
【0033】
図1】本発明のブロックチェーンシステムを示すブロック図である。
図2】本発明の一実施例に係るブロックチェーンで特定のノード間のブロックを共有する方法を示すブロック図である。
図3】本発明の一実施例に係るブロックチェーンで特定のノード間のブロックを共有する方法を説明するフローチャートである。
図4】本発明の一実施例に係るブロックチェーンで特定のノード間のブロックを共有する方法を説明する例示図である。
図5】本発明の一実施例に係る識別情報を用いてブロックを生成して特定のノードに共有する方法を説明するフローチャートである。
図6】本発明の一実施例に係るサブブロックを生成して共有する方法を説明するフローチャートである。
図7】本発明の一実施例に係るサブブロックを生成して共有する方法を説明する例示図である。
図8】本発明の一実施例に係るサブブロック及びトランザクション情報の完全性を検証する方法を説明するフローチャートである。
図9】本発明のブロックチェーンシステムを示すブロック図である。
図10】本発明のブロックチェーンシステムの複数のノードを示すブロック図である。
図11】本発明の一実施例に係るブロックを示す例示図である。
図12】本発明の一実施例に係るブロックチェーンでスマートコントラクトを用いた電子文書を流通する方法を説明するフローチャートである。
図13】本発明の一実施例に係るブロックチェーンで分割された電子文書を併合する方法を説明する例示図である。
図14】本発明の一実施例に係るブロックチェーンで個人情報を含む電子文書を併合する方法を説明するフローチャートである。
【発明を実施するための形態】
【0034】
以下、添付の図面を参照して本発明の好適な実施例を詳細に説明する。本発明の利点及び特徴、そしてそれらを達成する方法は、添付の図面と共に詳細に後述されている実施例を参照すれば明確になる。しかし、本発明は、以下で開示される実施例に制限されるものではなく、互いに異なる多様な形態で実現することができる。但し、本実施例は本発明の開示を完全なものにし、本発明が属する技術分野における通常の知識を有する者に本発明の範囲を完全に理解させるために提供されるものであり、本発明は請求項の範囲により定義されるに過ぎない。明細書全体に亘って同一の参照符号は同一の構成要素を示す。
【0035】
他の定義がなければ、本明細書で用いられる全ての用語(技術及び科学的用語を含む)は、本発明が属する技術分野における通常の知識を有する者が共通して理解できる意味として用いられる。また、一般に用いられる辞典に定義されている用語は、明白に特に定義されていない限り、理想的に又は過度に解釈されない。
【0036】
本明細書で用いられた用語は、実施例を説明するためのものであり、本発明を制限しようとするものではない。本明細書において、単数型は特に言及しない限り複数型も含む。明細書で用いられる「含む(comprises)」及び/又は「含んでいる(comprising)」は、言及された構成要素以外に1つ以上の他の構成要素の存在又は追加を排除しない。
【0037】
<ブロックチェーンで特定のノード間のブロックを共有及び検証する方法>
【0038】
図1は、本発明のブロックチェーンシステムを示すブロック図である。
【0039】
図1を参照すれば、ブロックチェーンシステムは、複数のノード200からなる分散型ネットワーク(decentralized network、100)システムである。分散型ネットワーク100を構成するノード200は、コンピュータ、サーバ、移動端末など演算機能、通信機能、格納機能などを備えた電子装置である。
【0040】
一実施例において、分散型ネットワーク100は、ブロックチェーン(block chain)と呼ばれるブロック(block)の連結グループ内に全ての参加ノードに共通して知られている情報を格納して参照できる。複数のノード200は、相互間の通信が可能であり、ブロックチェーンを格納、管理及び伝播を担当する完全ノード(full node)と、単にトランザクションにのみ参加できる簡易ノード(light node)とに区分できる。本明細書において特別な説明なしにノードについて言及する場合、これは分散型ネットワーク100に参加してブロックチェーンを生成、格納又は検証する動作を行う完全ノードを指す場合が多いが、これに限定されない。
【0041】
一実施例において、ブロックチェーンに連結されている各ブロック(block)は、一定期間内の取引内訳、即ちトランザクション(transaction)を含む。ノード200は、それぞれ役割に従ってブロックチェーンを生成、格納又は検証することで、トランザクションを管理する。
【0042】
一実施例において、トランザクションは多様な形態の取引を示すことができる。例えば、トランザクションは、仮想通貨の所有状態及びその変動を示すための金融取引に該当し得る。また、他の例において、トランザクションはモノの所有状態及びその変動を示すための現物取引に該当し得る。分散型ネットワーク100で取引を行うノードは、それぞれの暗号的な連関関係がある個人キー(private key)及び公開キー(public key)の対を有することができる。
【0043】
一実施例において、本発明は、前述したようなパブリックブロックチェーンに適用できる。
【0044】
他の実施例において、本発明は、プライベートブロックチェーンであり得る。例えば、プライベートブロックチェーンは、読み取り権限により許可された機関のみ閲覧可能であり、取引の検証及び承認により承認された機関と監督機関に該当するノードのみ取引の検証及び承認を行うことができ、トランザクションの側面で法的責任を負う機関のみトランザクションを生成できる。但し、本発明に適用されるプライベートブロックチェーンは、前述した内容に限定されず、特定の利害関係を共有する特定のグループのみ参加可能なブロックチェーンを全て意味する。
【0045】
一実施例において、本発明がプライベートブロックチェーンに適用される場合、取引の検証、承認及び管理などを行う指定されたノードが存在する。
【0046】
一実施例において、本発明に開示されたブロックチェーンは、順次連結されている1つ以上のブロックの分散データベースの一種である。ブロックチェーンは、ブロックチェーンシステム内の使用者の取引内訳を格納して管理するために用いられ、ブロックチェーンネットワーク100に参加する各ノードがブロックを生成してブロックチェーンに連結する。例えば、後述する図4に示されたブロック1乃至ブロック3は、順次連結されているブロックチェーンのブロックの一部である。図4において限られた数のブロックが示されているが、ブロックチェーンに含まれることができるブロックの数はこれに制限されない。
【0047】
図2は、本発明の一実施例に係るブロックチェーンで特定のノード間のブロックを共有する方法を示すブロック図である。
【0048】
図2を参照すれば、本発明の一実施例に係るブロックチェーンで特定のノード間のブロックを共有する方法は、第1ノード210がトランザクション300を生成でき、第2ノード220がトランザクション300を含むブロック400を生成できる。
【0049】
一実施例において、第1ノード210は、トランザクション300を提案して生成するノードである。第1ノード210は、複数のノード200のうちトランザクション300の生成権限を有するノードであり、第1ノード210は複数存在し得る。もちろん、これとは異なり、トランザクション300の生成権限が別途に存在せず、本発明のブロックチェーンネットワーク100に含まれている全てのノード200がトランザクション300を生成可能であってもよい。
【0050】
一実施例において、トランザクション300は、特定のノードの識別情報(ID Information、301)及びトランザクション情報(Transaction Information、302)を含むことができる。例えば、識別情報301は、該当トランザクション情報302を共有できるノードを確認できるタグであり得る。例えば、図2に示されるように、識別情報301にA、B、C、Dが含まれる場合、これはトランザクション情報を共有するノードがノードA、ノードB、ノードC、ノードDであることを意味する。例えば、トランザクション情報302は、多様な形態の取引と関連する情報である。
【0051】
一実施例において、第2ノード220は、ブロック400を生成するノードである。第2ノード220は、複数のノード200のうちブロック400の生成権限を有するノードであり、第2ノード220は複数存在し得る。もちろん、これとは異なり、ブロック400の生成権限が別途に存在せず、本発明のブロックチェーンネットワーク100に含まれている全てのノード200が取引を生成可能であってもよい。
【0052】
一実施例において、ブロックチェーンに含まれている各ブロック(Block、400)は、ブロックヘッダ(Block header、401)とブロックボディ(Block body、213)を含むように構成できる。ブロックヘッダ401は、各ブロック間の連結関係を示すために以前のブロックのハッシュ値を含むことができる。ブロックチェーンが有効かを検証する過程で、ブロックヘッダ401内の連結関係を用いることができる。ブロックボディ402は、ブロック400に格納されて管理されるデータ、例えばトランザクション情報302、トランザクションリスト又はトランザクションチェーンを含むことができる。
【0053】
一実施例において、ブロックヘッダ401は、ブロック400を共有する特定のノードの識別情報(例えば、Node A、B、C、D)、以前ブロックのハッシュ値、現在のブロックのハッシュ値、ノンス(Nonce)を含むことができる。また、ブロックヘッダ401は、ブロック400内のトランザクション情報302を示すハッシュ値を含むことができる。
【0054】
一実施例において、ブロックチェーンは、連結されている複数のブロックを含むことができる。複数のブロックは、ブロックヘッダ401内のハッシュ値に基づいて連結できる。ブロックヘッダ401に含まれている以前のブロックのハッシュ値は直前のブロックに対するハッシュ値であって、直前のブロックに含まれている現在のハッシュ値と同一の値であり得る。複数のブロックは、各ブロックヘッダ内の以前のブロックのハッシュ値によって連鎖的に連結できる。分散型ネットワーク100に参加するノード200は、1つ以上のブロックに含まれている以前のブロックのハッシュ値に基づいてブロックの有効性を検証するので、悪意のある単一ノードが既に生成されたブロックの内容を偽造又は変造する行為が不可能である。
【0055】
一実施例において、ブロックボディ402はトランザクション情報302、トランザクションリスト、又はトランザクションチェーンを含むことができる。トランザクション情報302は、トランザクション300で生成された取引と関連する情報であり得る。トランザクションリストは、ブロックチェーン基盤の取引の目録であり得る。例えば、トランザクションリストは、ブロックチェーン基盤の金融システムで行われた金融取引に関する記録を含むことができる。トランザクションリストは、ツリー(tree)状に表現でき、例えば、使用者Aが使用者Bに送った金額を目録の形で記録し、ブロック内の格納長さは、現在のブロックに含まれているトランザクションの数に基づいて増減し得る。
【0056】
発明の一実施例によれば、図2に示されたのとは異なり、第1ノード210と第2ノード220は、同一のノードであり得る。即ち、トランザクション300を生成してブロック400を生成するノードは同一であり得る。下記の説明の便宜上、第1ノード210と第2ノード220とを区別して記載するが、下記の図3図8に示されたのとは異なり、同一のノードがトランザクション300の生成、ブロック400の生成、生成されたブロック400の共有及びブロック400の検証を何れも行うことができる。
【0057】
図3は、本発明の一実施例に係るブロックチェーンで特定のノード間のブロックを共有する方法を説明するフローチャートである。図4は、本発明の一実施例に係るブロックチェーンで特定のノード間のブロックを共有する方法を説明する例示図である。図3の動作は、図2に示された第1ノード210と第2ノード220により実行できる。一方、図4に示されたブロック1(410)、ブロック2(420)、ブロック3(430)は、順次連結されているブロックチェーン構造であってもよい。
【0058】
一方、説明の便宜上、下記で説明する特定のノードは、生成されたブロックと関係のあるノードであって、ブロックヘッダとブロックボディ(トランザクション情報)を何れも含むブロックを共有するノードとして理解でき、残りのノードは、生成されたブロックと関係のないノードであって、ブロックヘッダのみを含むサブブロックを共有するノードとして理解できる。
【0059】
図3及び図4を参照すれば、一実施例において、動作31で、複数のノード200のうちの少なくとも1つの第1ノード210が特定のノードの識別情報及びトランザクション情報を含む少なくとも1つのトランザクションを生成できる。ここで、少なくとも1つの第1ノード210は、単一ノード又は複数のノードを何れも含みうる概念である。下記で「少なくとも1つの」により修飾される構成は、何れも単一又は複数を含む概念として理解できる。例えば、図4に示すように、少なくとも1つの第1ノード210は、トランザクション1(310)、トランザクション2(320)、トランザクション3(330)、トランザクションN(340)を生成できる。それぞれのトランザクションは、1つの第1ノード210が生成するか、又は複数の第1ノード210がそれぞれ生成できる。トランザクション1(310)は、特定のノードの識別情報(311、Node:A、B、C、D)とトランザクション1情報312を含むことができ、トランザクション2(320)は、特定のノードの識別情報(321、Node:B)とトランザクション2情報322を含むことができ、トランザクション3(330)は、特定のノードの識別情報(331、Node:A、B、C、D)とトランザクション3情報332を含むことができ、トランザクションN(340)は、特定のノードの識別情報(341、Node:B、D)とトランザクションN情報342を含むことができる。ここで、図4に示すトランザクションの数は説明の便宜上、例示的なものであり、トランザクションの数は多様に変形できる。
【0060】
一実施例において、動作32で、複数のノード200のうちの少なくとも1つの第2ノード220が識別情報及びトランザクション情報に基づいて少なくとも1つのブロックを生成できる。例えば、少なくとも1つの第2ノード200は、ブロック1(410)、ブロック2(420)、ブロック3(430)を生成できる。それぞれのブロックは、1つの第2ノード220が生成するか、又は複数の第2ノード220がそれぞれ生成できる。例えば、ブロック2(420)は、トランザクション2(320)の識別情報(321、Node:B)とトランザクション2情報322に基づいて生成でき、識別情報(321、Node:B)を含むブロックヘッダ421と、トランザクション2情報322を含むブロックボディ422で構成できる。また、ブロック3(430)は、トランザクションN(340)の識別情報(341、Node:B、D)とトランザクションN情報342に基づいて生成でき、識別情報(341、Node:B、D)を含むブロックヘッダ431と、トランザクションN情報342を含むブロックボディ432で構成できる。一方、ブロック1(410)の生成に関する具体的な説明は、図5で後述する。ここで、図4に示すブロックの数は説明の便宜上、例示的なものであり、ブロックの数は多様に変形できる。
【0061】
一実施例において、動作33で、少なくとも1つの第2ノード220が、生成された少なくとも1つのブロックを、識別情報に基づいて特定のノードに共有できる。例えば、少なくとも1つの第2ノード220は、ブロックヘッダ421に含まれている識別情報(321、Node:B)に基づいてブロック2(420)をノードB(240)に共有できる。また、少なくとも1つの第2ノード220は、ブロックヘッダ431に含まれている識別情報(341、Node:B、D)に基づいてブロック3(430)をノードB(240)とノードD(260)に共有できる。一方、ブロック1(410)の共有に関する具体的な説明は、図5で後述する。
【0062】
一実施例において、ブロック2(420)はノードA(230)、ノードC(250)、ノードD(260)にも共有でき、ブロック3(430)はノードA(230)、ノードC(250)にも共有できる。特定のノードを除いた残りのノードがブロックを共有する具体的な内容は、図6で後述する。
【0063】
一実施例において、動作34で、少なくとも1つの第2ノード220が、生成された少なくとも1つのブロックを格納及び管理できる。例えば、ブロック410、420、430を生成した少なくとも1つの第2ノード220がブロック410、420、430を格納して全般的に管理できる。一方、ブロックを検証する方法に関する説明は、図8で後述する。
【0064】
このように、本発明は、生成されたブロックを全てのノードが共有し、識別情報に基づいてブロックと関係がある特定のノードにのみトランザクション情報を含むブロックを共有させることができる。
【0065】
発明の一実施例によれば、図示されたのとは異なり、第1ノード210と第2ノード220は、同一のノードであってもよい。
【0066】
図5は、本発明の一実施例に係る識別情報を用いてブロックを生成して特定のノードに共有する方法を説明するフローチャートである。図5の動作は、図3の動作32及び動作33を具体化した動作である。図5の動作は、図2に示した第1ノード210と第2ノード220により実行できる。一方、図4に示すブロック1(410)、ブロック2(420)、ブロック3(430)は、順次連結されているブロックチェーン構造であってもよい。
【0067】
図4及び図5を参照すれば、一実施例において、動作51で、少なくとも1つの第2ノード220が少なくとも1つのトランザクションのうち同一の識別情報を有するトランザクションを確認できる。例えば、図4に示すように、少なくとも1つの第2ノード220は、識別情報(311、Node:A、B、C、D)を有するトランザクション1(310)と識別情報(331、Node:A、B、C、D)を有するトランザクション3(330)を確認できる。即ち、少なくとも1つの第2ノード220は、トランザクション1(310)とトランザクション3(330)が同一の識別情報であって、Node:A、B、C、Dを有することを確認できる。
【0068】
一実施例において、動作52で、少なくとも1つの第2ノード220が、同一の識別情報を有するトランザクションのみ含まれるブロックを生成できる。例えば、少なくとも1つの第2ノード220は、ブロック1(410)を生成できる。例えば、ブロック1(410)は、識別情報(311、Node:A、B、C、D)と識別情報(331、Node:A、B、C、D)を含むブロックヘッダ411と、トランザクション1情報312とトランザクション3情報332を含むブロックボディ412で構成できる。
【0069】
一実施例において、動作53で、少なくとも1つの第2ノード220が、同一の識別情報を有するトランザクションのみ含まれるブロックを同一の識別情報に対応する特定のノードに共有できる。例えば、少なくとも1つの第2ノード220は、識別情報311、331によってノードA(230)、ノードB(240)、ノードC(250)、ノードD(260)にブロック1(410)を共有できる。
【0070】
発明の一実施例によれば、図示されたのとは異なり、第1ノード210と第2ノード220は、同一のノードであってもよい。
【0071】
図6は、本発明の一実施例に係るサブブロックを生成して共有する方法を説明するフローチャートである。図7は、本発明の一実施例に係るサブブロックを生成して共有する方法を説明する例示図である。図6の動作は、図3の動作32及び動作33を具体化した動作である。図6の動作は、図2に示した第1ノード210と第2ノード220により実行できる。一方、図7に示すブロック1(410)、ブロック2(420)、ブロック3(430)は、順次連結されているブロックチェーン構造であってもよい。
【0072】
図6及び図7を参照すれば、一実施例において、動作61で、少なくとも1つのブロックの生成が完了した後、少なくとも1つの第2ノード220が、生成した少なくとも1つのブロックのヘッダを抽出できる。例えば、図7に示すように、少なくとも1つの第2ノード220は、ブロック2(420)の生成を完了した後、ブロック2(420)からブロックヘッダ424を抽出できる。例えば、ブロックヘッダ424は、以前のブロックのハッシュ値(例えば、ブロック1のハッシュ値)、現在のブロックのハッシュ値、トランザクションのハッシュ値を含むことができる。
【0073】
一実施例において、動作62で、少なくとも1つの第2ノード220が、抽出したブロックのヘッダのみ含まれる少なくとも1つのサブブロックを生成できる。ここで、サブブロックは、既に生成したブロックと同一性を維持し、ブロックのヘッダのみを含むブロックである。例えば、少なくとも1つの第2ノード220は、ブロックヘッダ424のみ含むサブブロック2(423)を生成できる。ここで、ブロックヘッダ424は、図6に示すように、ブロックヘッダ421において識別情報321のみ除外された残りの情報を含むことができる。もちろん、これとは異なり、ブロックヘッダ424は、ブロック2(420)のブロックヘッダ421と同一であってもよい。即ち、サブブロック2(423)は、ブロック2(420)と同一性を維持し、ブロックヘッダ424のみ含むブロックであってもよい。
【0074】
一実施例において、動作63で、少なくとも1つの第2ノード220が、生成した少なくとも1つのサブブロックを、複数のノード200のうち特定のノードを除いた残りのノードに共有できる。例えば、少なくとも1つの第2ノード220は、サブブロック2(423)をノードA(230)、ノードC(250)、ノードD(260)に共有できる。
【0075】
一実施例において、動作64で、残りのノードがブロックのハッシュ値を用いて、少なくとも1つのサブブロックが完全か否か(無欠性)を検証できる。サブブロックが完全か否かを検証する具体的な説明は、図8で後述する。
【0076】
一実施例において、図4に示したブロック3(430)も、図6にて説明したブロック2(420)のサブブロック2(423)の共有方法と同一の方法により残りのノードに共有できる。即ち、ブロック3(430)のサブブロック3は、ブロック3(430)から抽出されたブロックヘッダのみを有した状態でノードA(230)とノードC(250)に共有できる。
【0077】
このように、本発明は、生成されたブロックを図4に示したように、全てのノードが共有し、特定のノードは、トランザクション情報を含む完全なブロックを共有させ、残りのノードは、ブロックヘッダのみ含むサブブロックを共有させることができる。このように動作することによって、本発明は別途のグループを指定することなく、ブロック管理の効率性を向上させることができる。
【0078】
発明の一実施例によれば、図示したのとは異なり、第1ノード210と第2ノード220は、同一のノードであってもよい。
【0079】
図8は、本発明の一実施例に係るサブブロック及びトランザクション情報が完全であるか否かを検証する方法を説明するフローチャートである。図8の動作は、図6の動作64を具体化した動作である。図8の動作は、図2に示された第1ノード210と第2ノード220により実行できる。
【0080】
一実施例において、残りのノードが共有するブロックヘッダのないブロックが完全であるか否かを検証する方法は、2段階で行うことができる。第一の段階は、ブロックに含まれているハッシュ値を用いて検証する段階であり、第二の段階は、ブロックに含まれないトランザクションが完全であるか否かを検証する段階である。
【0081】
図7及び図8を参照すれば、一実施例において、動作81で、残りのノードがブロックのハッシュ値を用いて、サブブロックが完全であるか否かを検証できる。例えば、ノードA(230)、ノードC(250)、ノードD(260)は、サブブロック2(423)に含まれているブロックのハッシュ値(以前ブロックのハッシュ値、現在のブロックのハッシュ値)を用いて、サブブロック2が完全であるか否かを検証できる。
【0082】
一実施例において、動作82で、残りのノードのうちの少なくとも1つのノードが、少なくとも1つの第2ノード220に少なくとも1つのサブブロックに対応するトランザクションのハッシュ値を要請できる。例えば、ノードA(230)、ノードC(250)、ノードD(260)のうちの少なくとも1つのノードが少なくとも1つの第2ノード220にサブブロック2(423)に対応するトランザクションのハッシュ値を要請できる。ここで、第2ノード220は、ブロック2(420)を生成、格納、管理するノードであってもよい。
【0083】
一実施例において、動作83で、少なくとも1つの第2ノード220が要請したトランザクションのハッシュ値を演算できる。例えば、少なくとも1つの第2ノード220は、ブロック2(420)のブロックヘッダ421に格納されたトランザクションのハッシュ値に基づいて要請したトランザクションのハッシュ値を演算できる。
【0084】
一実施例において、動作84で、少なくとも1つの第2ノード220が演算したトランザクションのハッシュ値を少なくとも1つのノードに伝送できる。例えば、少なくとも1つの第2ノード220は、演算したトランザクションのハッシュ値をノードA(230)、ノードC(250)、ノードD(260)のうち前記要請をしたノードに伝送できる。
【0085】
一実施例において、動作85で、少なくとも1つのノードが受信したトランザクションのハッシュ値と、既に格納されたトランザクションのハッシュ値とを比較できる。例えば、ノードA(230)、ノードC(250)、ノードD(260)のうちの少なくとも1つのノードは、受信したトランザクションのハッシュ値と、サブブロック2(423)に含まれて既に格納されたトランザクションのハッシュ値とを比較できる。
【0086】
一実施例において、動作86で、少なくとも1つのノードが、比較結果に基づいて、サブブロックに含まれているトランザクション情報が完全であるか否かを検証できる。例えば、ノードA(230)、ノードC(250)、ノードD(260)のうちの少なくとも1つのノードがサブブロック2(423)に含まれているトランザクション情報が完全であるか否かを検証できる。
【0087】
発明の一実施例によれば、複数のノード200は、少なくとも1つのブロックと少なくとも1つのサブブロックを同一のブロックに格納及び管理できる。
【0088】
発明の一実施例によれば、図示したのとは異なり、第1ノード210と第2ノード220は、同一のノードであってもよい。
【0089】
本発明の一実施例に係るブロックチェーンで特定のノード間のブロックを共有及び検証する方法は、前記複数のノードのうちの少なくとも1つの第1ノードが、前記特定のノードの識別情報及びトランザクション情報を含む少なくとも1つのトランザクションを生成する段階と、前記複数のノードのうちの少なくとも1つの第2ノードが、前記識別情報及び前記トランザクション情報に基づいて少なくとも1つのブロックを生成する段階と、前記少なくとも1つの第2ノードが、生成された少なくとも1つのブロックを前記識別情報に基づいて前記特定のノードに共有する段階と、を含むことができる。
【0090】
多様な実施例によれば、前記少なくとも1つのブロックを生成する段階は、前記少なくとも1つの第2ノードが前記少なくとも1つのトランザクションのうち同一の識別情報を有するトランザクションを確認する段階と、前記少なくとも1つの第2ノードが前記同一の識別情報を有するトランザクションのみ含まれるブロックを生成する段階と、前記少なくとも1つの第2ノードが前記同一の識別情報を有するトランザクションのみ含まれる前記ブロックを前記同一の識別情報に対応する特定のノードに共有する段階とを含むことができる。
【0091】
多様な実施例によれば、前記少なくとも1つの第2ノードが、生成された少なくとも1つのブロックを格納及び管理する段階を更に含むことができる。
【0092】
多様な実施例によれば、前記少なくとも1つのブロックを生成する段階は、前記少なくとも1つのブロックの生成が完了した後、前記少なくとも1つの第2ノードが、生成した少なくとも1つのブロックのヘッダを抽出する段階と、前記少なくとも1つの第2ノードが前記抽出したブロックのヘッダのみ含まれる少なくとも1つのサブブロックを生成する段階と、を含むことができる。
【0093】
多様な実施例によれば、前記特定のノードに共有する段階は、前記少なくとも1つの第2ノードが、生成した少なくとも1つのサブブロックを前記複数のノードのうち前記特定のノードを除いた残りのノードに共有する段階を更に含むことができる。
【0094】
多様な実施例によれば、前記少なくとも1つのサブブロックは、ブロックのハッシュ値を含み、前記残りのノードが前記ブロックのハッシュ値を用いて前記少なくとも1つのサブブロックが完全であるか否かを検証する段階を更に含むことができる。
【0095】
多様な実施例によれば、前記残りのノードのうちの少なくとも1つのノードが前記少なくとも1つの第2ノードに前記少なくとも1つのサブブロックに対応するトランザクションのハッシュ値を要請する段階と、前記少なくとも1つの第2ノードが前記要請したトランザクションのハッシュ値を演算する段階と、前記少なくとも1つの第2ノードが前記演算したトランザクションのハッシュ値を前記少なくとも1つのノードに伝送する段階と、前記少なくとも1つのノードが前記受信したトランザクションのハッシュ値と既に格納されたトランザクションのハッシュ値とを比較する段階とを更に含むことができる。
【0096】
多様な実施例によれば、前記少なくとも1つのノードが前記比較結果に基づいて前記サブブロックに含まれている前記トランザクション情報が完全であるか否かを検証する段階を更に含むことができる。
【0097】
多様な実施例によれば、前記複数のノードが前記少なくとも1つのブロックと前記少なくとも1つのサブブロックを同一のブロックに格納及び管理する段階を更に含むことができる。
【0098】
本発明の一実施例に係るブロックチェーンで特定のノード間のブロックを共有及び検証するシステムは、ブロックチェーンネットワークを構成する複数のノードを含み、前記複数のノードのうちの少なくとも1つの第1ノードが、前記特定のノードの識別情報及びトランザクション情報を含む少なくとも1つのトランザクションを生成し、前記複数のノードのうちの少なくとも1つの第2ノードが、前記識別情報及び前記トランザクション情報に基づいて少なくとも1つのブロックを生成し、前記少なくとも1つの第2ノードが、生成された少なくとも1つのブロックを前記識別情報に基づいて前記特定のノードに共有できる。
【0099】
以上、添付の図面を参照して本発明の実施例を説明したが、本発明が属する技術分野における通常の技術者は、本発明がその技術的思想や必須な特徴を変更することなく、他の具体的な形態に実施できるということが理解できるだろう。従って、以上で記述した実施例は、全ての面で例示的なものであり、制限的ではないものとして理解すべきである。
【0100】
<ブロックチェーンでスマートコントラクトを用いた電子文書の流通方法>
【0101】
図9は、本発明のブロックチェーンシステムを示すブロック図である。
【0102】
図9を参照すれば、ブロックチェーンシステムは、複数のノード20からなる分散型ネットワーク(decentralized network、10)システムである。分散型ネットワーク10を構成するノード20は、コンピュータ、サーバ、移動端末など演算機能、通信機能、格納機能などを備えた電子装置である。
【0103】
一実施例において、分散型ネットワーク10は、ブロックチェーン(block chain)と呼ばれるブロック(block)の連結グループ内に全ての参加ノードに共通して知られている情報を格納して参照できる。複数のノード20は、相互間の通信が可能であり、ブロックチェーンを格納、管理及び伝播を担当する完全ノード(full node)と、単にトランザクションにのみ参加できる簡易ノード(light node)とに区分できる。本明細書において特別な説明なしにノードについて言及する場合、これは分散型ネットワーク10に参加してブロックチェーンを生成、格納又は検証する動作を行う完全ノードを指す場合が多いが、これに限定されない。
【0104】
図10は、本発明のブロックチェーンシステムの複数のノードを示すブロック図である。図11は、本発明の一実施例に係るブロックを示す例示図である。一方、図11に示すブロック1(310)、ブロック2(320)、ブロック3(330)は、順次連結されているブロックチェーン構造であってもよい。
【0105】
図10及び図11を参照すれば、本発明の一実施例に係るブロックチェーンシステムに含まれているノード200は、制御モジュール210、電子文書管理及び流通モジュール220、電子文書分割モジュール230、ブロック生成モジュール240、通信モジュール250、メモリ260、入力及び出力モジュール270を含むことができる。
【0106】
一実施例において、制御モジュール210は、ノード200を全般的に制御するための構成である。具体的に、制御モジュール210は、ノード200のメモリ260に格納された各種プログラムを用いてノード200の全般的な動作を制御できる。制御モジュール210は、メモリ260に格納されたアプリケーションを介してデータを生成するようにノード200を制御できる。
【0107】
一実施例において、電子文書管理及び流通モジュール220は、ブロックチェーンシステム100で合意又は署名がなされて、又は合意や署名がなされることなく複数のノード20に配布できる。
【0108】
一実施例において、電子文書管理及び流通モジュール220は、スマートコントラクトに基づいて動作できる。スマートコントラクトは、ブロックチェーンで各ノードに自動的に互いに取引を可能にさせる概念である。本発明は、電子文書の情報を文書ファイル状に閲覧可能にする電子文書の書式を分散化した応用プログラムの形で各ノードに分散して格納できる。ここで、分散化した応用プログラムは、該当応用プログラムの機能を定義する自身の実行コード(スマートコントラクト)で構成できる。従って、電子文書の書式と関連する分散化した応用プログラムが複数のノードに分散して格納されることによって、電子文書の情報が自動的にノードで書式と結合でき、このような自動併合動作がスマートコントラクトを意味する。
【0109】
一実施例において、電子文書管理及び流通モジュール220は、ブロックチェーンシステム100の外部で電子文書の書式と関連する分散化した応用プログラムを実行できるインターフェースと、各種電子文書の書式と、を含むことができる。また、電子文書管理及び流通モジュール220は、電子文書の書式と電子文書の情報とを併合する条件を下記で説明する第1分割データから抽出するか、自ら予め格納できる。また、電子文書管理及び流通モジュール220は、併合条件によって下記で説明する電子文書の書式に対応する第1分割データと、電子文書の情報に対応する第2分割データと、を併合できる。電子文書の書式と電子文書の情報の併合手順は、与えられた条件によって電子文書の情報を電子文書の書式の指定された空間に位置させるか、電子文書の情報に含まれているデータの演算及び組み合わせた結果を表示するか、電子文書の情報の大きさ及び数量によって電子文書の書式を追加するなどの多様な方法を含むことができる。
【0110】
一実施例において、電子文書分割モジュール230は、電子文書を第1分割データと第2分割データとに分割できる。ここで、第1分割データは、電子文書の書式、併合条件、その他の電子文書の利用と関連する各種条件を含むことができる。ここで、第2分割データは、電子文書の情報と識別子を含むことができる。
【0111】
一実施例において、ブロック生成モジュール240は、第2分割データを含むブロックを生成できる。
【0112】
より具体的に、図11を参照すれば、一実施例において、ブロックチェーンに連結されている各ブロック(block)は、一定期間内の取引内訳、即ちトランザクション(transaction)を含む。ノード20は、それぞれ役割に従ってブロックチェーンを生成、格納又は検証することで、トランザクションを管理する。
【0113】
一実施例において、トランザクションは、多様な形態の取引を示すことができる。例えば、トランザクションは、仮想通貨の所有状態及びその変動を示すための金融取引に該当し得る。また、他の例において、トランザクションは、モノの所有状態及びその変動を示すための現物取引に該当し得る。分散型ネットワーク10で取引を行うノードは、それぞれの暗号学的な連関関係がある個人キー(private key)及び公開キー(public key)の対を有することができる。
【0114】
一実施例において、本発明に開示されたブロックチェーンは、順次連結されている1つ以上のブロックの分散データベースの一種であってもよい。ブロックチェーンは、ブロックチェーンシステム内の使用者の取引内訳を格納して管理するために用いられ、ブロックチェーンネットワーク10に参加する各ノードがブロックを生成してブロックチェーンに連結する。例えば、図11に示したブロック1乃至ブロック3は、順次連結されているブロックチェーンのブロックの一部であってもよい。図11において限られた数のブロックが示されているが、ブロックチェーンに含めることができるブロックの数はこれに制限されない。
【0115】
一実施例において、ブロックチェーンに含まれている各ブロックは、ブロックヘッダ(Block header)とブロックボディ(Block body)を含むように構成できる。ブロックヘッダは、各ブロック間の連結関係を示すために以前のブロックのハッシュ値を含むことができる。ブロックチェーンが有効かを検証する過程でブロックヘッダ内の連結関係を用いることができる。ブロックボディは、ブロックに格納されて管理されるデータ、例えばトランザクション情報、トランザクションリスト又はトランザクションチェーンを含むことができる。
【0116】
一実施例において、ブロックヘッダは、以前のブロックのハッシュ値、現在のブロックのハッシュ値、サブブロックのハッシュ値、トランザクションのハッシュ値、ノンス(Nonce)を含むことができる。
【0117】
一実施例において、ブロックチェーンは、連結されている複数のブロックを含むことができる。複数のブロックは、ブロックヘッダ内のハッシュ値に基づいて連結できる。ブロックヘッダに含まれている以前のブロックのハッシュ値は、直前のブロックに対するハッシュ値であって、直前のブロックに含まれている現在のハッシュ値と同一の値である。複数のブロックは、各ブロックヘッダ内の以前のブロックのハッシュ値によって連鎖的に連結できる。分散型ネットワーク10に参加するノード20は、1つ以上のブロックに含まれている以前のブロックのハッシュ値に基づいてブロックの有効性を検証するので、悪意のある単一ノードが既に生成されたブロックの内容を偽造又は変造する行為が不可能である。
【0118】
一実施例において、ブロックボディはトランザクション情報、トランザクションリスト、又はトランザクションチェーンを含むことができる。トランザクション情報は、トランザクションで生成された多様な形態の取引と関連する情報であってもよい。トランザクションリストは、ブロックチェーンに基づく取引の目録であってもよい。例えば、トランザクションリストは、ブロックチェーンに基づく金融システムで行われた金融取引に関する記録を含むことができる。トランザクションリストは、ツリー(tree)状に表現でき、例えば、使用者Aが使用者Bに送った金額を目録の形で記録し、ブロック内の格納長さは、現在のブロックに含まれているトランザクションの数に基づいて増減できる。
【0119】
一実施例において、例えば、ブロック1(310)は、ブロックヘッダ311とブロックボディ312を含むことができる。ブロックヘッダ311は、以前のブロックのハッシュ値(Block 0 hash)、現在のブロックのハッシュ値(Block 1 hash)及びトランザクションのハッシュ値(Transaction hash)を含むことができる。ブロックボディ312は、トランザクション1情報とセキュリティ識別子(Security Identifier)を含むことができる。ここで、トランザクション1情報は、電子文書の第2分割データを含むことができる。一方、ブロック2(320)とブロック3(330)についての説明は、ブロック1(310)と同一であるので、省略する。
【0120】
一実施例において、通信モジュール250は、ノード200と他のノード間又は外部装置間の通信接続によってデータを送受信できる。一方、通信モジュール250は、多様な類型の通信方式によって多様な類型の外部装置と通信を行う構成である。例えば、通信モジュール250は、近距離通信モジュール(例えば、ブルートゥース(登録商標)、WiFi(登録商標) direct又はIrDA(infrared data association))又は遠距離通信モジュール(例えば、セルラーネットワーク、インターネット、又はコンピュータネットワーク(例えば、LAN又はWAN))である。
【0121】
一実施例において、メモリ260は、ノード200の各種命令語の実行と関連する全てのデータを格納できる。また、メモリ260は、制御モジュール210の処理又は制御のためのプログラムなどノード200の全般的な動作のための多様なデータを格納することができる。
【0122】
一実施例において、入力及び出力モジュール270は、使用者の入力を受信するための装置とイメージ又は音響を出力する装置を含むことができる。例えば、入力及び出力モジュール270はタッチスクリーン、マウス、キーボード、ディスプレイ、スピーカなどを含むことができる。
【0123】
下記図12図14で説明する本発明の各方法は、ブロックチェーンネットワーク10に含まれている複数のノード20のうちの何れか1つのノードにより実行できる。また、電子文書を分割する動作、ブロックを生成する動作、及びデータを併合する動作は、何れか1つのノードが全て行うか、それぞれ異なるノードにより実行できる。
【0124】
図12は、本発明の一実施例に係るブロックチェーンで電子文書を流通する方法を説明するフローチャートである。図12の動作は、図10に示されたノード200により実行できる。
【0125】
図12を参照すれば、一実施例において、動作41で、ノード200は、電子文書を電子文書の書式及び併合条件を含む第1分割データ及び識別子と、電子文書の情報を含む第2分割データと、に分割できる。例えば、第1分割データは電子文書の書式、併合条件、その他の電子文書の利用と関連する各種条件を含むことができる。また、第2分割データは、電子文書の情報、識別子、連鎖アドレスを含むことができる。例えば、電子文書の情報は、電子文書に含まれている各種内容などを含むことができ、識別子は、第1分割データに含まれている電子文書の書式を識別できるタグである。
【0126】
一実施例において、動作42で、ノード200は、第1分割データを複数のノード20に分散して格納できる。例えば、複数のノード20は、第1分割データを分散化した応用プログラムの形(スマートコントラクト)で管理できる。
【0127】
具体的に、スマートコントラクトは、ブロックチェーンで各ノードに自動的に互いに取引を可能にさせる概念である。本発明は、電子文書の情報を文書ファイル状に閲覧可能にする電子文書の書式を分散化した応用プログラムの形で各ノードに分散して格納でき、ここで分散化した応用プログラムは、当該応用プログラムの機能を定義する自身の実行コード(スマートコントラクト)で構成できる。従って、電子文書の書式と関連する分散化した応用プログラムが複数のノードに分散して格納されることによって、電子文書の情報を自動的にノードで書式と結合でき、このような自動併合動作がスマートコントラクトを意味する。
【0128】
一実施例において、動作43で、ノード200は、第2分割データを含むブロックを生成して複数のノード20に分散して格納できる。例えば、ブロックは、図11に示したように、ブロックボディに第2分割データを含むことができる。また、電子文書に個人情報が含まれる場合、ブロックはセキュリティ識別子を更に含むことができる。セキュリティ識別子は、電子文書に含まれている発行番号、電子文書の内容、住民登録番号(マイナンバー)、住所のうちの少なくとも1つを含むことができる。
【0129】
一実施例において、動作44で、ノード200は、併合条件及び識別子に基づいて、第1分割データと第2分割データとを併合できる。例えば、併合する方法は、電子文書の書式の指定された空間に電子文書の情報を位置させるか、電子文書の情報に基づいた演算及び組み合わせた結果を表示するか、電子文書の情報の大きさと数量によって他の電子文書の書式を追加する方法を含むことができる。より具体的な内容は、図13及び図14で後述する。
【0130】
一実施例において、動作45で、ノード200は、併合の結果として生成された電子文書を提供できる。例えば、ノード200は、入力及び出力モジュール270を介して電子文書を表示できる。
【0131】
このように、電子文書をブロックチェーンで提供することによって、本発明は、ブロックチェーンの格納空間を効率的に管理できる。
【0132】
図13は、本発明の一実施例に係るブロックチェーンで分割された電子文書を併合する方法を説明する例示図である。図13の動作は、図12の動作44を具体化した動作である。図13の動作は、図10に示したノード200により実行できる。
【0133】
図13を参照すれば、一実施例において、動作51で、ノード200は、入力及び出力モジュール270を用いて使用者から電子文書の利用要請を検出できる。
【0134】
一実施例において、動作52で、ノード200は、電子文書管理及び流通モジュール220を用いて第1分割データから電子文書の書式及び併合条件を抽出できる。
【0135】
一実施例において、動作53で、ノード200は、電子文書管理及び流通モジュール220を用いて第2分割データから識別子と電子文書の情報を抽出できる。
【0136】
一実施例において、動作54で、ノード200は、電子文書管理及び流通モジュール220を用いて識別子に対応する電子文書の書式を確認できる。
【0137】
一実施例において、動作55で、ノード200は、電子文書管理及び流通モジュール220を用いて確認した電子文書の書式に電子文書の情報を自動的に併合できる。
【0138】
このように、本発明は、使用者の電子文書の利用要請に応答して自動的に電子文書の書式と電子文書の情報とを併合して電子文書を提供できる。
【0139】
図14は、本発明の一実施例に係るブロックチェーンで個人情報を含む電子文書を併合する方法を説明するフローチャートである。図14の動作は、図12の動作44を具体化した動作である。図14の動作は、図10に示されたノード200により実行できる。
【0140】
図14を参照すれば、一実施例において、動作61で、ノード200は、入力及び出力モジュール270を用いて使用者から個人情報を含む電子文書の利用要請を検出できる。例えば、個人情報は、住民登録番号(韓国版マイナンバー)、住所、個人の履歴などを含むことができる。
【0141】
一実施例において、動作62で、ノード200は、電子文書管理及び流通モジュール220を用いて第1分割データから電子文書の書式及び併合条件を抽出できる。
【0142】
一実施例において、動作63で、ノード200は、電子文書管理及び流通モジュール220を用いて第2分割データから識別子、電子文書の情報及びセキュリティ識別子を抽出できる。例えば、セキュリティ識別子は、電子文書に含まれている発行番号、電子文書の内容、住民登録番号(韓国版マイナンバー)、住所のうちの少なくとも1つを含むことができる。
【0143】
一実施例において、動作64で、ノード200は、電子文書管理及び流通モジュール220を用いて個人情報を含む電子文書の利用要請に応答してセキュリティ文字の入力を要請できる。例えば、セキュリティ文字は、電子文書に含まれている発行番号又は住民登録番号(韓国版マイナンバー)である。
【0144】
一実施例において、動作65で、ノード200は、電子文書管理及び流通モジュール220を用いて入力したセキュリティ文字とセキュリティ識別子とを比較できる。
【0145】
一実施例において、動作66で、ノード200は、比較結果、セキュリティ文字とセキュリティ識別子とが一致する場合、電子文書管理及び流通モジュール220を用いて識別子に対応する電子文書の書式を確認できる。
【0146】
一実施例において、動作67で、ノード200は、電子文書管理及び流通モジュール220を用いて確認した電子文書の書式に電子文書の情報を併合できる。
【0147】
このように、電子文書をブロックチェーンで提供することによって、本発明は、電子文書の利用申請時点において電子文書の閲覧資格を検証することで、ブロックチェーンの信頼性を向上できる。
【0148】
本発明の一実施例に係る複数のノードを含むブロックチェーンでスマートコントラクトを用いた電子文書を流通する方法は、前記電子文書を電子文書の書式及び併合条件を含む第1分割データ及び識別子と電子文書の情報を含む第2分割データに分割する段階と、前記第1分割データを前記複数のノードに分散して格納する段階と、前記第2分割データを含むブロックを生成して前記複数のノードに分散して格納する段階と、前記複数のノードのうちの何れか1つのノードが、前記併合条件及び前記識別子に基づいて、前記第1分割データと前記第2分割データとを併合する段階とを含むことができる。
【0149】
多様な実施例によれば、前記複数のノードが、前記第1分割データを分散化した応用プログラムの形で管理する段階を更に含むことができる。
【0150】
多様な実施例によれば、前記複数のノードは、電子文書管理及び流通モジュールを含むことができる。
【0151】
多様な実施例によれば、前記併合する段階は、前記複数のノードのうちの何れか1つのノードから電子文書の利用要請を検出する段階と、前記電子文書管理及び流通モジュールを用いて前記第1分割データから前記電子文書の書式及び前記併合条件を抽出する段階と、前記電子文書管理及び流通モジュールを用いて前記第2分割データから前記識別子と前記電子文書の情報を抽出する段階と、前記電子文書管理及び流通モジュールを用いて前記識別子に対応する前記電子文書の書式を確認する段階と、前記電子文書管理及び流通モジュールを用いて確認した電子文書の書式に前記電子文書の情報を併合する段階と、を含むことができる。
【0152】
多様な実施例によれば、前記併合の結果として生成された電子文書を提供する段階を更に含むことができる。
【0153】
多様な実施例によれば、前記電子文書に個人情報が含まれる場合、前記第2分割データを含むブロックにセキュリティ識別子を追加する段階を更に含むことができる。
【0154】
多様な実施例によれば、前記セキュリティ識別子は、前記電子文書に含まれている発行番号、電子文書の内容、住民登録番号、住所のうちの少なくとも1つを含むことができる。
【0155】
多様な実施例によれば、前記併合する段階は、前記複数のノードのうちの何れか1つのノードから個人情報を含む電子文書の利用要請を検出する段階と、前記電子文書管理及び流通モジュールを用いて前記第1分割データから前記電子文書の書式及び前記併合条件を抽出する段階と、前記電子文書管理及び流通モジュールを用いて前記第2分割データから前記識別子、前記電子文書の情報及びセキュリティ識別子を抽出する段階と、前記電子文書管理及び流通モジュールを用いて前記個人情報を含む電子文書の利用要請に応答してセキュリティ文字の入力を要請する段階と、前記電子文書管理及び流通モジュールを用いて前記入力したセキュリティ文字と前記セキュリティ識別子とを比較する段階とを更に含むことができる。
【0156】
多様な実施例によれば、前記比較結果、前記セキュリティ文字と前記セキュリティ識別子とが一致する場合、前記電子文書管理及び流通モジュールを用いて前記識別子に対応する前記電子文書の書式を確認する段階と、前記電子文書管理及び流通モジュールを用いて前記確認した電子文書の書式に前記電子文書の情報を併合する段階とを更に含むことができる。
【0157】
本発明の一実施例に係る複数のノードを含むブロックチェーンでスマートコントラクトを用いた電子文書を流通するシステムにおいて、前記複数のノードは、電子文書管理及び流通モジュール、電子文書分割モジュール、ブロック生成モジュール及びメモリを含み、前記複数のノードのうちの何れか1つのノードが、前記電子文書分割モジュールを用いて、前記電子文書を、電子文書の書式及び併合条件を含む第1分割データ及び識別子と電子文書の情報を含む第2分割データに分割し、前記何れか1つのノードが前記第1分割データを前記複数のノードに分散して格納し、前記何れか1つのノードが、前記ブロック生成モジュールを用いて、前記第2分割データを含むブロックを生成して前記複数のノードに分散して格納し、前記複数のノードのうちの何れか1つのノードが、前記電子文書管理及び流通モジュールを用いて、前記併合条件及び前記識別子に基づいて、前記第1分割データと前記第2分割データとを併合できる。
【0158】
以上、添付の図面を参照して本発明の実施例を説明したが、本発明が属する技術分野における通常の技術者は、本発明を、その技術的思想や必須な特徴を変更することなく、他の具体的な形態で実施できるということを理解できるだろう。従って、以上で記述した実施例は、全ての面で例示的なものであり、制限的ではないものとして理解すべきである。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14