(57)【要約】【課題】複数のノードの分散ネットワークで構成されたブロックチェーンシステムにおいてサブブロックチェーンを構成する方法を提供する。【解決手段】本発明の実施形態の方法は、１つのメインブロックに従属接続させるためのサブブロックチェーンを構成する候補サブブロックを生成して伝播し、受信された候補サブブロックの有効性を検証後、有効な候補サブブロックを格納及び伝播し、ユーザが質疑したコンテンツとマッチングされた候補サブブロックを生成したノードから受信されたコンテンツブロックの有効性を検証した後、コンテンツブロックに接続された末端ブロックを格納及び伝播し、受信された同じ末端ブロックの個数が既定値以上になると、末端ブロックと接続された候補サブブロックを承認して承認サブブロックを生成し、承認サブブロックを予め格納されたブロックチェーンローカルの複写本にアップデートし、承認サブブロックを伝播することを含む。【選択図】図５
2020088857.tif 000002
【特許請求の範囲】
【請求項１】
複数のノードのうちいずれか１つのノードが、メインブロックチェーン内の複数のメインブロックのうちいずれか１つのメインブロックに従属接続させるためのサブブロックチェーンを構成する候補サブブロックを生成して伝播するステップと、
前記複数のノードのうちいずれか１つのノードが、受信した候補サブブロックの有効性を検証した後、有効な候補サブブロックを格納及び伝播するステップと、
前記複数のノードのうちいずれか１つのノードが、ユーザが質疑したコンテンツとマッチングされた候補サブブロックを生成したノードから送信されたコンテンツブロックの有効性を検証した後、前記コンテンツブロックに接続された末端ブロックを格納及び伝播するステップと、
前記複数のノードのうちいずれか１つのノードは、受信した同じ末端ブロックの個数が既定値以上になると、前記末端ブロックと接続された前記候補サブブロックを承認して承認サブブロックを生成し、前記承認サブブロックを予め格納されたブロックチェーンローカルの複写本にアップデートし、前記承認サブブロックを伝播するステップと、を含む、
複数のノードの分散ネットワークで構成されたブロックチェーンシステムにおけるサブブロックチェーンの構成方法。
【請求項２】
前記承認サブブロックに接続された前記コンテンツブロック及び前記コンテンツブロックに接続された前記末端ブロックで構成された前記サブブロックチェーンが承認されて前記メインブロックチェーンに接続されるステップをさらに含む、
請求項１に記載の複数のノードの分散ネットワークで構成されたブロックチェーンシステムにおけるサブブロックチェーンの構成方法。
【請求項３】
前記複数のノードのうちいずれか１つのノードは、前記承認されたサブブロックチェーンを構成する複数のブロックのうち、特定ブロックのみを選択的に格納する、
請求項１に記載の複数のノードの分散ネットワークで構成されたブロックチェーンシステムにおけるサブブロックチェーンの構成方法。
【請求項４】
前記複数のメインブロックの各々は、予め決められたカテゴリー別項目情報を含み、
前記サブブロックチェーンに含まれたコンテンツは、前記サブブロックチェーンと接続されるメインブロックのカテゴリー別項目情報とマッチングされる、
請求項１に記載の複数のノードの分散ネットワークで構成されたブロックチェーンシステムにおけるサブブロックチェーンの構成方法。
【請求項５】
前記サブブロックチェーンは、前記メインブロックチェーン内の前記複数のメインブロックのうちいずれか１つのメインブロックに従属接続された他のサブブロックチェーンと従属接続される、
請求項１に記載の複数のノードの分散ネットワークで構成されたブロックチェーンシステムにおけるサブブロックチェーンの構成方法。
【請求項６】
前記候補サブブロックを生成して伝播するステップは、
前記末端ブロックを生成するステップと、
前記末端ブロックのハッシュ及びコンテンツを含むコンテンツブロックを生成するステップと、
前記コンテンツブロックのハッシュ及び前記コンテンツのカテゴリーとマッチングされたメインブロックのハッシュを含む候補サブブロックを生成するステップと、
前記候補サブブロックをブロックチェーンネットワークに伝播するステップと、を含む、
請求項１に記載の複数のノードの分散ネットワークで構成されたブロックチェーンシステムにおけるサブブロックチェーンの構成方法。
【請求項７】
前記複数のノードのうちいずれか１つのノードが、ユーザが質疑したコンテンツとマッチングされた候補サブブロックを生成したノードから送信された前記コンテンツブロックの有効性を検証した後、前記コンテンツブロックに接続された前記末端ブロックを格納及び伝播するステップは、
前記ユーザから検索するコンテンツ情報を受信するステップと、
前記格納された候補サブブロックのうち、前記受信されたコンテンツ情報とマッチングされるサブブロックを検索するステップと、
前記検索されたサブブロックを生成したノードに前記検索されたサブブロックに接続されたコンテンツブロックの送信を要請するステップと、
前記送信されたコンテンツブロックの有効性を検証するステップと、
前記有効性が検証されたコンテンツブロックに接続された前記検索されたサブブロックを生成したノードから前記末端ブロックを受信して格納し、前記末端ブロックをブロックチェーンネットワークに伝播するステップと、
を含む、
請求項１に記載の複数のノードの分散ネットワークで構成されたブロックチェーンシステムにおけるサブブロックチェーンの構成方法。
【請求項８】
前記末端ブロックのハッシュ及びコンテンツを含むコンテンツブロックを生成するステップは、互いに従属接続され、自分と従属接続された後端のコンテンツブロックのハッシュを含む複数のコンテンツブロックを生成するステップを含み、
前記複数のコンテンツブロックのうち最後端のコンテンツブロックは、前記末端ブロックのハッシュを含み、前記複数のコンテンツブロックのうち最先端のコンテンツブロックのハッシュ及び前記コンテンツのカテゴリーとマッチングされたメインブロックのハッシュを含む候補サブブロックを生成する、
請求項６に記載の複数のノードの分散ネットワークで構成されたブロックチェーンシステムにおけるサブブロックチェーンの構成方法。
【請求項９】
前記最後端のコンテンツブロックは、前記コンテンツを含み、
前記最後端のコンテンツブロックを除いた残りのコンテンツブロックは、前記コンテンツの要約情報を含む、
請求項８に記載の複数のノードの分散ネットワークで構成されたブロックチェーンシステムにおけるサブブロックチェーンの構成方法。
【請求項１０】
前記複数のコンテンツブロックの各々は、前記コンテンツを複数個に分割した分割コンテンツを含む、
請求項８に記載の複数のノードの分散ネットワークで構成されたブロックチェーンシステムにおけるサブブロックチェーンの構成方法。
【請求項１１】
前記複数のノードのうちいずれか１つのノードが、前記ユーザが質疑したコンテンツとマッチングされた候補サブブロックを生成したノードから送信されたコンテンツブロックの有効性を検証した後、前記コンテンツブロックに接続された末端ブロックを格納及び伝播するステップは、
前記ユーザから検索するコンテンツ情報を受信するステップと、
前記格納された候補サブブロックのうち前記受信されたコンテンツ情報とマッチングされるサブブロックを検索するステップと、
前記検索されたサブブロックを生成したノードに前記検索されたサブブロックに接続された前記複数のコンテンツブロックの送信を要請し、前記送信された複数のコンテンツブロックのそれぞれの有効性を検証するステップと、
前記複数のコンテンツブロックのうち、最後端のコンテンツブロックの有効性の検証が完了すると、前記検索されたサブブロックを生成したノードに末端ブロックを受信して格納し、前記末端ブロックを前記ブロックチェーンネットワークに伝播するステップと、
を含む、
請求項８に記載の複数のノードの分散ネットワークで構成されたブロックチェーンシステムにおけるサブブロックチェーンの構成方法。
【請求項１２】
前記末端ブロックのハッシュ及びコンテンツを含むコンテンツブロックを生成するステップは、
前記末端ブロックを生成するステップと、
前記末端ブロックのハッシュ及びコンテンツを含む原本コンテンツブロック並びに前記末端ブロックのハッシュを含む複製コンテンツブロックを生成するステップと、
前記原本コンテンツブロック及び前記複製コンテンツブロックのハッシュ及び前記コンテンツのカテゴリーとマッチングされたメインブロックのハッシュを含む候補サブブロックを生成するステップと、
前記候補サブブロックをブロックチェーンネットワークに伝播するステップと、
を含む、
請求項６に記載の複数のノードの分散ネットワークで構成されたブロックチェーンシステムにおけるサブブロックチェーンの構成方法。
【請求項１３】
前記複製コンテンツブロックは、前記原本コンテンツブロックの送信を要請するためのスクリプトまたは前記コンテンツが含まれた前記原本コンテンツブロックが格納された格納先に対するリンク情報のうちいずれか１つを含む、
請求項１２に記載の複数のノードの分散ネットワークで構成されたブロックチェーンシステムにおけるサブブロックチェーンの構成方法。
【請求項１４】
コンピュータに、
ユーザの要請に応答して複数のカテゴリー情報の各々を含む互いに従属接続されたメインブロックチェーンを表示し、
前記メインブロックチェーン上のいずれか１つのメインブロックの選択に応答して、前記メインブロックに接続された少なくとも１つのサブブロックチェーンのそれぞれのサブブロックを表示し、
前記サブブロックのうち、いずれか１つのサブブロックの選択に応答して、前記サブブロックに従属接続された複数のコンテンツブロックを格納したコンテンツ格納ノードに前記複数のコンテンツブロックの送信を要請し、
前記送信されたコンテンツブロック内のコンテンツを表示することを実行させる、
ブロックチェーンシステムプログラム。
【請求項１５】
前記複数のコンテンツブロックのうち、前記送信されたコンテンツブロックの有効性検証完了後、前記送信されたコンテンツブロックに後続して接続されたコンテンツブロックの送信が要請される、
請求項１４に記載のブロックチェーンシステムプログラム。
【請求項１６】
前記送信されたコンテンツブロック内のコンテンツの表示が完了すれば、前記送信されたコンテンツブロックの有効性検証が完了したことを判断する、
請求項１５に記載のブロックチェーンシステムプログラム。
【請求項１７】
表示されたコンテンツに対する有効性に関する情報を受信することに応答して、前記表示されたコンテンツの有効性検証が完了したことを判断する、
請求項１５に記載のブロックチェーンシステムプログラム。
【請求項１８】
前記複数のコンテンツノードは、従属的に接続され、前記複数のコンテンツノードのうち最後端のコンテンツノードを除いた残りのコンテンツノードは、前記最後端のコンテンツノードに含まれたコンテンツの要約情報を含む、
請求項１５に記載のブロックチェーンシステムプログラム。
【請求項１９】
前記複数のコンテンツブロックの有効性検証が完了すれば、前記複数のコンテンツノードのうち最後端のコンテンツノードに接続された末端ブロックを前記コンテンツ格納ノードから受信し、
前記受信された前記末端ブロックを他のノードに伝播する、
請求項１６に記載のブロックチェーンシステムプログラム。
【請求項２０】
前記複数のノードは、前記コンテンツブロック内のコンテンツの閲覧回数情報を共有し、
前記サブブロックが表示されるとき、前記閲覧回数情報に基づいて算定されたコンテンツの信頼情報が表示されることをさらに含む、
請求項１５に記載のブロックチェーンシステムプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ブロックチェーンシステムに関し、複数のノードの分散ネットワークで構成されたブロックチェーンシステムにおいてサブブロックチェーンを構成する方法及びこのためのブロックチェーンシステムプログラムに関する。
【背景技術】
【０００２】
ブロックチェーンは、２００８年ナカモト・サトシのＢｉｔｃｏｉｎ：Ａ  Ｐｅｅｒ−ｔｏ−Ｐｅｅｒ  Ｅｌｅｃｔｒｏｎｉｃ  Ｃａｓｈ  Ｓｙｓｔｅｍにおいて、ブロックとブロックとを接続する方法から由来した。ブロックチェーンは、ピアに元帳が共有され、ブロック内の内容が透明に公開され、任意に変更が不可能な特性から、暗号通貨において必須不可欠の技術と認められた。そして、これからブロックチェーンは、暗号通貨のみのための技術でなく、種々の産業分野にわたって活用可能性を見せている。ブロックチェーンは、分散化されたＰ２Ｐネットワークを基にする。Ｐ２Ｐは、「Ｐｅｅｒ−ｔｏ−Ｐｅｅｒ」という意味であって、中央サーバなしに各端末が互いに同等な立場で通信をするネットワークをいう。各端末は、サーバでありながら、同時にクライアントとなる。ブロックチェーンネットワークを構成するノード（Ｐｅｅｒ）は、元帳のコピーをそれぞれ保管し、自分が有した元帳の状況に応じて行動を決定する。すなわち、ノードは、ブロックを受け入れるか、次のブロックを生成するか、受けたブロックを再度周辺ノードに伝播するかなどを決定する。ノードは、独立的な個体であり、自分と接続された他のノードに対する信頼が要求されない。従来のブロックチェーン上のブロックには、制限された容量のデータを入れられる。ネットワークに参加した多数のノードは、ブロックを分散格納するブロックチェーン技術の特性上、ブロックに含まれるデータの容量において一定の制約を伴う。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】大韓民国公開特許公報第１０−２０１８−０１１５７７９号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は、前述した問題点を解決するためのものであって、ブロックチェーン上に含まれるデータの容量制約を克服できる方法及びブロックチェーンシステムを提供することを目的とする。
【０００５】
また、本発明は、コンテンツを含むサブブロックチェーンを構成する方法及びこのためのブロックチェーンシステムを提供することを目的とする。
【０００６】
また、本発明は、必要に応じて容量が大きいコンテンツブロックの選択的同期化が可能な方法及びブロックチェーンシステムを提供することを目的とする。
【０００７】
また、本発明は、サブブロックチェーンの承認合意のためのアルゴリズムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一実施形態は、複数のノードのうち、いずれか１つのノードが、メインブロックチェーン内の複数のメインブロックのうち、いずれか１つのメインブロックに従属接続させるためのサブブロックチェーンを構成する候補サブブロックを生成して伝播するステップと、複数のノードのうち、いずれか１つのノードが、受信された候補サブブロックの有効性を検証後、有効な候補サブブロックを格納及び伝播するステップと、複数のノードのうち、いずれか１つのノードが、ユーザが質疑したコンテンツとマッチングされた候補サブブロックを生成したノードから受信されたコンテンツブロックの有効性を検証した後、前記コンテンツブロックに接続された末端ブロックを格納及び伝播するステップと、複数のノードのうち、いずれか１つのノードは、受信された同じ末端ブロックの個数が既定値以上になると、前記末端ブロックと接続された候補サブブロックを承認して承認サブブロックを生成し、前記承認サブブロックを予め格納されたブロックチェーンローカルの複写本（コピーデータともいう）にアップデートし、前記承認サブブロックを伝播するステップと、を含む複数のノードの分散ネットワークで構成されたブロックチェーンシステムにおいてサブブロックチェーンを構成する方法を提供できる。
【０００９】
他の側面において、前記承認サブブロックに接続された前記コンテンツブロック及び前記コンテンツブロックに接続された前記末端ブロックで構成された前記サブブロックチェーンが承認されて前記メインブロックチェーンに接続されるステップをさらに含む複数のノードの分散ネットワークで構成されたブロックチェーンシステムにおいてサブブロックチェーンを構成する方法を提供できる。
【００１０】
他の側面において、前記複数のノードのうち、いずれか１つのノードは、承認されたサブブロックチェーンを構成する複数のブロックのうち、特定ブロックのみを選択的に格納する複数のノードの分散ネットワークで構成されたブロックチェーンシステムにおいてサブブロックチェーンを構成する方法を提供できる。
【００１１】
他の側面において、前記複数のメインブロックの各々は、予め決められたカテゴリー別項目情報を含み、前記サブブロックチェーンに含まれたコンテンツは、前記サブブロックチェーンと接続されるメインブロックのカテゴリー別項目情報とマッチングされる複数のノードの分散ネットワークで構成されたブロックチェーンシステムにおいてサブブロックチェーンを構成する方法を提供できる。
【００１２】
他の側面において、前記サブブロックチェーンは、メインブロックチェーン内の複数のメインブロックのうち、いずれか１つのメインブロックに従属接続された他のサブブロックチェーンと従属接続される複数のノードの分散ネットワークで構成されたブロックチェーンシステムにおいてサブブロックチェーンを構成する方法を提供できる。
【００１３】
他の側面において、前記候補サブブロックを生成して伝播するステップは、末端ブロックを生成するステップと、前記末端ブロックのハッシュ及びコンテンツを含むコンテンツブロックを生成するステップと、前記コンテンツブロックのハッシュ及び前記コンテンツのカテゴリーとマッチングされたメインブロックのハッシュを含む候補サブブロックを生成するステップと、前記候補サブブロックをブロックチェーンネットワークに伝播するステップとを含む複数のノードの分散ネットワークで構成されたブロックチェーンシステムにおいてサブブロックチェーンを構成する方法を提供できる。
【００１４】
他の側面において、複数のノードのうち、いずれか１つのノードが、ユーザが質疑したコンテンツとマッチングされた候補サブブロックを生成したノードから受信されたコンテンツブロックの有効性を検証した後、前記コンテンツブロックに接続された末端ブロックを格納及び伝播するステップは、ユーザから検索するコンテンツ情報を受信するステップと、格納された候補サブブロックのうち、受信されたコンテンツ情報とマッチングされるサブブロックを検索するステップと、検索されたサブブロックを生成したノードに前記検索されたサブブロックに接続されたコンテンツブロックの送信を要請するステップと、受信されたコンテンツブロックの有効性を検証するステップと、有効性が検証されたコンテンツブロックに接続された前記検索されたサブブロックを生成したノードに末端ブロックを受信して格納し、前記末端ブロックを前記ブロックチェーンネットワークに伝播するステップとを含む複数のノードの分散ネットワークで構成されたブロックチェーンシステムにおいてサブブロックチェーンを構成する方法を提供できる。
【００１５】
他の側面において、前記末端ブロックのハッシュ及びコンテンツを含むコンテンツブロックを生成するステップは、互いに従属接続され、自分と従属接続された後端のコンテンツブロックのハッシュを含む複数のコンテンツブロックを生成するステップを含み、前記複数のコンテンツブロックのうち、最後端のコンテンツブロックは、前記末端ブロックのハッシュを含み、前記複数のコンテンツブロックのうち、最先端のコンテンツブロックのハッシュ及び前記コンテンツのカテゴリーとマッチングされたメインブロックのハッシュを含む候補サブブロックを生成する複数のノードの分散ネットワークで構成されたブロックチェーンシステムにおいてサブブロックチェーンを構成する方法を提供できる。
【００１６】
他の側面において、前記最後端のコンテンツブロックは、前記コンテンツを含み、前記最後端のコンテンツブロックを除いた残りのコンテンツブロックは、前記コンテンツの要約情報を含む複数のノードの分散ネットワークで構成されたブロックチェーンシステムにおいてサブブロックチェーンを構成する方法を提供できる。
【００１７】
他の側面において、前記複数のコンテンツブロックの各々は、前記コンテンツを複数個に分割した分割コンテンツを含む複数のノードの分散ネットワークで構成されたブロックチェーンシステムにおいてサブブロックチェーンを構成する方法を提供できる。
【００１８】
他の側面において、複数のノードのうち、いずれか１つのノードが、ユーザが質疑したコンテンツとマッチングされた候補サブブロックを生成したノードから受信されたコンテンツブロックの有効性を検証した後、前記コンテンツブロックに接続された末端ブロックを格納及び伝播するステップは、ユーザから検索するコンテンツ情報を受信するステップと、格納された候補サブブロックのうち、受信されたコンテンツ情報とマッチングされるサブブロックを検索するステップと、検索されたサブブロックを生成したノードに前記検索されたサブブロックに接続された前記複数のコンテンツブロックの送信を要請し、受信された複数のコンテンツブロックのそれぞれの有効性を検証するステップと、前記複数のコンテンツブロックのうち、最後端のコンテンツブロックの有効性の検証が完了すれば、前記検索されたサブブロックを生成したノードに末端ブロックを受信して格納し、前記末端ブロックを前記ブロックチェーンネットワークに伝播するステップとを含み、複数のノードの分散ネットワークで構成されたブロックチェーンシステムにおいてサブブロックチェーンを構成する方法を提供できる。
【００１９】
他の側面において、前記末端ブロックのハッシュ及びコンテンツを含むコンテンツブロックを生成するステップは、末端ブロックを生成するステップと、前記末端ブロックのハッシュ及びコンテンツを含む原本コンテンツブロック及び前記末端ブロックのハッシュを含む複製コンテンツブロックを生成するステップと、前記原本及び複製コンテンツブロックのハッシュ及び前記コンテンツのカテゴリーとマッチングされたメインブロックのハッシュを含む候補サブブロックを生成するステップと、前記候補サブブロックをブロックチェーンネットワークに伝播するステップと、を含む複数のノードの分散ネットワークで構成されたブロックチェーンシステムにおいてサブブロックチェーンを構成する方法を提供できる。
【００２０】
他の側面において、前記複製コンテンツブロックは、前記原本コンテンツブロックの送信を要請するためのスクリプトまたは前記コンテンツが含まれた前記原本コンテンツブロックが格納された格納先に対するリンク情報のうち、いずれか１つを含む複数のノードの分散ネットワークで構成されたブロックチェーンシステムにおいてサブブロックチェーンを構成する方法を提供できる。
【００２１】
さらに他の側面において、コンピュータに、前記命令は、ユーザの要請に応答して複数のカテゴリー情報の各々を含む互いに従属接続されたメインブロックチェーンを表示し、前記メインブロックチェーン上のいずれか１つのメインブロックの選択に応答して、前記メインブロックに接続された少なくとも１つのサブブロックチェーンのそれぞれのサブブロックを表示し、前記サブブロックのうち、いずれか１つのサブブロックの選択に応答して、前記サブブロックに従属接続された複数のコンテンツブロックを格納したコンテンツ格納ノードに前記複数のコンテンツブロックの送信を要請し、受信されたコンテンツブロック内のコンテンツを表示することを実行させるブロックチェーンプログラムを提供することもできる。
【００２２】
他の側面において、前記複数のコンテンツブロックのうち、受信されたコンテンツブロックの有効性検証完了後、前記受信されたコンテンツブロックに後続して接続されたコンテンツブロックの送信が要請されるブロックチェーンプログラムを提供することもできる。
【００２３】
他の側面において、前記受信されたコンテンツブロック内のコンテンツの表示が完了すれば、前記受信されたコンテンツブロックの有効性検証が完了したことと判断するブロックチェーンプログラムを提供することもできる。
【００２４】
他の側面において、表示されたコンテンツに対する有効性に関する情報を受信することに応答して、前記表示されたコンテンツの有効性検証が完了したことと判断するブロックチェーンプログラムを提供することもできる。
【００２５】
他の側面において、前記複数のコンテンツノードは、従属的に接続され、前記複数のコンテンツノードのうち、最後端のコンテンツノードを除いた残りのコンテンツノードは、前記最後端のコンテンツノードに含まれたコンテンツの要約情報を含むブロックチェーンプログラムを提供することもできる。
【００２６】
他の側面において、前記複数のコンテンツブロックの有効性検証が完了すれば、前記複数のコンテンツノードのうち、最後端のコンテンツノードに接続された末端ブロックを前記コンテンツ格納ノードから受信し、受信された末端ブロックを他のノードに伝播するブロックチェーンプログラムを提供することもできる。
【００２７】
他の側面において、前記複数のノードは、前記コンテンツブロック内のコンテンツの閲覧回数情報を共有し、前記サブブロックが表示されるとき、前記閲覧回数情報に基づいて算定されたコンテンツの信頼情報が表示されることをさらに含むブロックチェーンプログラムを提供することもできる。
【発明の効果】
【００２８】
本発明の一実施形態によれば、ブロックチェーンに含まれるデータ容量の制限を克服できるブロックチェーンシステムを提供できる。
【００２９】
また、本発明の一実施形態によれば、コンテンツが含まれたサブブロックチェーンの信頼のための合意を成すためのアルゴリズムを提供できる。
【００３０】
また、本発明の一実施形態によれば、容量が大きいコンテンツの閲覧前に、コンテンツの信頼水準やコンテンツ信頼と関連した合意達成の可否について確認できる。
【００３１】
また、本発明の一実施形態によれば、コンテンツの共有や販売及び購買が可能なブロックチェーン基盤のコンテンツ共有システムを提供できる。
【００３２】
また、本発明の一実施形態によれば、ストリーミング形態のコンテンツ閲覧が可能なブロックチェーンシステムを提供できる。
【００３３】
また、本発明の一実施形態によれば、コンテンツが含まれたコンテンツブロックの選択的同期化が可能なようにして、格納容量の負担を軽減させることができる。
【００３４】
本発明において得ることができる効果は、以上で言及した効果に制限されず、言及していないさらに他の効果は、下記の記載から明確に理解されることができる。
【図面の簡単な説明】
【００３５】
【図１】複数のノードの分散ネットワークで構成されたブロックチェーンシステムに対する概観を示す。
【図２】本発明の実施形態に係る複数のノードが全部または一部を共有するブロックチェーンに対する例示図である。
【図３】本発明の他の実施形態に係る複数のノードが全部または一部を共有するブロックチェーンに対する例示図である。
【図４】本発明のさらに他の実施形態に係る複数のノードが全部または一部を共有するブロックチェーンに対する例示図である。
【図５】本発明の実施形態に係る複数のノードの分散ネットワークで構成されたブロックチェーンシステムにおいてサブブロックチェーンを構成する方法に対するフローチャートである。
【図６】任意のノードで候補サブブロックを生成する方法に対するフローチャートである。
【図７】受信された候補サブブロックに対する検証及び伝播過程を示したフローチャートである。
【図８】選択された候補サブブロックに接続されたコンテンツブロックを受信し、末端ブロックを伝播する方法を示したフローチャートである。
【図９】ブロックチェーン検索用ユーザインターフェースの例示図である。
【図１０】ブロックチェーン検索用ユーザインターフェースの例示図である。
【図１１】候補サブブロックの承認過程を示したフローチャートである。
【図１２】承認サブブロックの受信によるノードの動作過程を示したフローチャートである。
【図１３】コンテンツの信頼情報を表示する方法に対するフローチャートである。
【発明を実施するための形態】
【００３６】
本発明は、様々な変換を加えることができ、種々の実施形態を有することができるところ、特定の実施形態を図面に例示し、発明の詳細な説明に詳しく説明しようとする。本発明の効果及び特徴、そして、それらを達成する方法は、図面とともに詳しく後述されている実施形態を参照すれば明確になるであろう。しかし、本発明は、以下において開示される実施形態等に限定されるものではなく、様々な形態で実現されることができる。以下の実施形態において、第１、第２などの用語は、限定的な意味ではなく、１つの構成要素を他の構成要素と区別する目的として使用された。また、単数の表現は、文脈上、明白に異なるように意味しない限り、複数の表現を含む。また、「含む」または「有する」などの用語は、明細書上に記載された特徴または構成要素が存在することを意味するものであり、１つ以上の他の特徴または構成要素が付加される可能性を予め排除するものではない。また、図面では、説明の都合上、構成要素等が、そのサイズが誇張または縮小されてもよい。例えば、図面に示された各構成のサイズ及び厚さは、説明の都合上、任意に示したので、本発明が必ずしも図示されたところに限定されない。
【００３７】
以下、添付された図面を参照して本発明の実施形態を具体的に説明し、図面を参照して説明するとき、同一であるか、対応する構成要素は、同じ図面符号を付し、これについての重複する説明は省略する。
【００３８】
図１は、複数のノードの分散ネットワークで構成されたブロックチェーンシステムに対する概観を示す。
【００３９】
以下において説明するシステム１０は、ネットワーク上でピアツーピア（ｐｅｅｒ−ｔｏ−ｐｅｅｒ）ネットワークアーキテクチャ構造をなす。すなわち、システムに参加するユーザらは、みんな同等な地位を有しており、特別なノードは存在せず、全てのノードがネットワークサービスを構成する役割を分担する。ネットワーク上の種々のノードは、互いに同等なトポロジーを有しながら、ネットワークで互いに接続される。ネットワーク内にあるノードが互いに同等な位置にあるとしても、支援する機能によって各自の役割は相違してもよい。
【００４０】
全てのノード１００は、ネットワーク内にルーティング機能を保有しており、他の機能を含むこともできる。全てのノード１００は、取引とブロックをはじめとする各種データを検証し、伝播し、隣接ノードとの接続を維持する機能を果たすことができる。ここでの取引とは、金銭的な取引や仮想貨幣の取引だけでなく、スマートコントラクトによる各種取引及び各種コンテンツの取引を全て含む。したがって、本明細書における取引の意味が特定の取引に限定されないことに注意しなければならない。
【００４１】
ユーザは、一般の個人から組織、コミュニティ、大規模集団に達するまで多様でありうるし、他の類型の個体を含むことができる。
【００４２】
新しいノードがシステムに参加するために、まず、ネットワーク上に存在する他のノードを検索できる。このようなプロセスを始めるために、新しいノードは、既存にネットワーク上に存在するノードのうち少なくとも１個を検索して、接続しなければならない。新しいノードが既に知っている隣接ノードに接続されるために、各ノードは、特定番号のポートでＴＣＰコネクションを接続したり、代案ポートで接続することができる。新しいノードは、接続要請メッセージを隣接ノードに送信し、隣接ノードは、接続要請を承認する場合、承認メッセージを新しいノードに送信することにより、当該要請に応答することができる。１つ以上の接続が成立したら、新しいノードは、自分のＩＰアドレスが入れられているアドレスメッセージを隣接ノードに送信することができる。順に隣接ノードは、送信されたアドレスメッセージをそれらの隣接ノードに送信することにより、新しく接続されたノードがよりよく知られ、他のノードとよりよく接続されるようにしてもよい。また、新しく接続されたノードは、アドレス要請メッセージを隣接ノードに送り、他の隣接ノードのＩＰ住所目録を再度送信することを要請できる。このような方式を介してノードは、自分と接続されている隣接ノードを検索でき、他のノードが自分を検索できるように自分の存在をネットワーク上に知らせることができる。
【００４３】
複数のノード１００のうち、少なくとも一部のノードは、ブロックチェーン全体の複写本または少なくともブロックチェーンの部分集合に該当する複写本を有することができる。一部の実施形態において、ブロックチェーンのうち、メインブロックチェーン全体の複写本と、サブブロックチェーンの全体の複写本またはサブブロックチェーンの部分集合に該当する複写本を有することができる。
【００４４】
ブロックチェーンは、各種データで構成される変更不可能なブロックで構成された分散型コンピュータシステムで構成される。ブロックチェーンを構成する各ブロックは、前のブロックのハッシュを含むので、ブロックが共に接続されて、始めからブロックチェーンに書かれたカテゴリーなどの情報に対するレコードを生成する。ブロックは、前のブロックに従属的に接続されているので、解体、修正、及び再構成がほとんど不可能であり、ノードが各自保有するので、分散され、堅固である。
【００４５】
それぞれのノードは、全てのコンピューティング言語を読み込むことができるようにサーバ、インターフェース、システム、データベース、エージェント、ピア、エンジン、コントローラ、または個別的にまたは集合的に作動するその他の類型のコンピューティング装置を含むか、コンピューティング装置等の適切な組み合わせで構成されることができる。コンピューティング装置は、非一時的なコンピュータ読み取り可能格納媒体（例えば、ハードドライブ、ソリッドステートドライブ、ＲＡＭ、フラッシュメモリ、ＲＯＭ等）上に格納されたソフトウェア命令を実行するように構成されたプロセッサを備えることができる。望ましくは、コンピューティング装置が後述する各種機能を提供できるようにソフトウェア命令が構成される。また、開示された技術は、プロセッサをして開示されたステップを実行させるソフトウェア命令を格納する非一時的コンピュータ読み取り可能媒体を含むコンピュータプログラム製品として実現されてもよい。望ましくは、様々なサーバ、システム、データベース、そして、インターフェースは、ＨＴＴＰ、ＨＴＴＰＳ、ＡＥＳ、公開／個人キー交換、ウェブサービスＡＰＩ、知られた金融取引プロトコル、または他の電子基盤の標準化されたプロトコル、若しくはアルゴリズムを使用してデータを交換できる。望ましくは、データ交換は、パケット交換ネットワーク、インターネット、ＬＡＮ、ＷＡＮ、ＶＰＮ、または他の類型のパケット交換ネットワークを介して行われてもよい。
【００４６】
図２は、本発明の実施形態に係る複数のノードが全部または一部を共有するブロックチェーンに対する例示図である。
【００４７】
ブロックチェーン２００は、メインブロックチェーン２１０とサブブロックチェーン２２０とで構成される。図２によれば、メインブロック２にサブブロックチェーンが接続されたことと図示されているが、これは例示的なものであり、他のメインブロック（メインブロック１、３、４〜ｎ）のうち、少なくとも１つのサブブロックチェーンが接続されてもよい。
【００４８】
メインブロックチェーン２１０は、複数のメインブロック２１１で構成されてもよい。複数のメインブロック２１１は、互いに従属的に接続される。いずれか１つのメインブロックは、前のメインブロックのハッシュを含むことができる。複数のメインブロック２１１の各々には、予め決められたカテゴリー別項目情報が含まれてもよい。ここでのカテゴリーは、同じ性格のコンテンツを細部項目別に区分したものである。例示的に、コンテンツが映画動画である場合、コンテンツは、韓国映画、米国映画、香港映画、中国映画、日本映画などのカテゴリーに区分されてもよい。ただし、コンテンツが映画に限定されるものではない。複数のメインブロック２１１のうち、いずれか１つのメインブロックは、複数の項目のうち、いずれか１つの項目情報のみを有することができ、複数のメインブロックの各々が有した項目情報は互いに相違することができる。
【００４９】
サブブロックチェーン２２０は、複数のメインブロック２１１のうち、いずれか１つのメインブロックに接続されたさらに他のチェーンであるか、他のサブブロックチェーン２２０に接続されたさらに他のチェーンになることができる。例示的に、第１のサブブロックチェーン２２１は、メインブロック２１１に接続されたサブブロックチェーンであり、第２のサブブロックチェーン２２２は、第１のサブブロックチェーン２２１に接続されたサブブロックチェーンになることができる。サブブロックチェーン２２０上のサブブロックには、コンテンツが含まれてもよい。
【００５０】
また、いずれか１つのメインブロックに接続された第１及び第２のサブブロックチェーン２２１、２２２は、同じカテゴリーに分類されるコンテンツを含み、これらは、互いに異なる種類のコンテンツを含むことができる。
【００５１】
それぞれのサブブロックチェーン２２０は、サブブロック２２７、コンテンツブロック２２８、そして末端ブロック２２９を含むことができる。
【００５２】
末端ブロック２２９は、いずれか１つのサブブロックチェーンの最後のブロックを指してもよい。末端ブロック２２９は、自分と接続されたサブブロックを識別するサブブロック識別情報を含むことができる。
【００５３】
コンテンツブロック２２８は、末端ブロック２２９のハッシュと自分と接続されたサブブロックを識別するサブブロック識別情報を含むことができる。また、コンテンツブロック２２８は、コンテンツを含むことができる。ここでのコンテンツは、ネットワークに参加したノードのユーザらが互いに共有したり、販売、購入しようとするデジタル情報であって、デジタルで加工された各種情報内容物やプログラム、映画、音楽、ゲームソフトウェアなどを意味する。
【００５４】
サブブロック２２７は、コンテンツブロック２２８のハッシュと自分と接続されたメインブロックのハッシュとを含むことができる。また、サブブロックは、コンテンツの種類に関する情報を含んでもよい。
【００５５】
ネットワークに参加した複数のノードは、メインブロックチェーン２１０のローカル複写本を有してもよい。メインブロックチェーン２１０内のメインブロック２１１に記録された情報は、カテゴリー情報であって、データ容量が大きくない。したがって、ネットワークに参加したノードがメインブロックチェーン２１０のローカル複写本を格納するためのブロックチェーン同期化時間が速かになされてもよい。
【００５６】
メインブロックチェーン２１０の長さは延長されてもよい。すなわち、新しいメインブロックがメインブロックチェーン２１０上に持続的にアップデートされてもよい。ネットワークに参加したノードのうち、いずれか１つの指定されたノードは、メインブロックチェーン２１０を管理できる。すなわち、指定されたノードは、新しいメインブロックをメインブロックチェーン２１０上に接続することができる。
【００５７】
図３は、本発明の他の実施形態に係る複数のノードが全部または一部を共有するブロックチェーンに対する例示図である。
【００５８】
サブブロックチェーン２２０は、サブブロック２２７と複数のコンテンツブロック２２８、そして、末端ブロック２２９で構成される。
【００５９】
複数のコンテンツブロック２２８は、例示的に第１及び第ｎ（ｎは、２以上の整数）のコンテンツブロックを含むことができる。
【００６０】
第ｎのコンテンツブロックは、末端ブロック２２９のハッシュと自分と接続されたサブブロックの情報を含むことができる。また、第ｎのコンテンツブロックは、コンテンツを含むことができる。第１のコンテンツブロックは、第２のコンテンツブロックのハッシュを含むことができる。すなわち、第ｎ−ｍ（ｍは、１以上ｎ−１以下の整数）のコンテンツブロックは、第ｎ−ｍ＋１のコンテンツブロックのハッシュを含むことができる。すなわち、任意のコンテンツブロックは、自分と従属接続された後端のコンテンツブロックのハッシュを含むことができる。そして、複数のコンテンツブロックのうち、最後端のコンテンツブロックは、末端ブロックのハッシュを含み、最先端のコンテンツブロックのハッシュは、候補サブブロックに含まれてもよい。
【００６１】
第１乃至第ｎ−１のコンテンツブロックの各々は、第ｎのコンテンツブロックに含まれたコンテンツに対する要約情報を含んでもよい。一部の実施形態において、第１乃至第ｎ−１のコンテンツブロックの各々は、第ｎのコンテンツブロックに含まれたコンテンツに対する互いに異なる要約情報を含んでもよい。すなわち、第１乃至第ｎ−１のコンテンツブロックの各々は、第ｎのコンテンツブロックに含まれたコンテンツの容量よりは少ないコンテンツに対する要約情報のみを含むことができる。例示的に、第１のコンテンツブロックは、コンテンツの名称情報を含み、第２のコンテンツブロックは、コンテンツのクレディット情報を含むことができ、第３のコンテンツブロックは、コンテンツの一部を含むことができる。より具体的に、例えば、コンテンツが映画である場合、第１のコンテンツブロックは、映画の名称情報を含み、第２のコンテンツブロックは、映画の開封日時、製作者情報、出演俳優情報、ランニングタイム情報などを含むことができる。そして、第３のコンテンツブロックは、映画のフォト情報や映画の予告編コンテンツを含むことができる。ただし、これに制限されるものではなく、コンテンツブロックの個数によってコンテンツを含む最後のコンテンツブロックを除いた残りのコンテンツブロックに含まれた情報は適宜変更してもよい。
【００６２】
一部の実施形態において、第１乃至第ｎのコンテンツブロックの各々は、１つのコンテンツに対する一部分のコンテンツを含んでもよい。例示的に、１つのコンテンツがｎ個に分割され、分割された分割コンテンツの各々は、第１乃至第ｎのコンテンツブロックの各々に含まれてもよい。コンテンツが映画である場合、時間順に分割された分割映像が第１乃至第ｎのコンテンツブロックの各々に順序どおりに含まれてもよい。
【００６３】
図４は、本発明のさらに他の実施形態に係る複数のノードが全部または一部を共有するブロックチェーンに対する例示図である。
【００６４】
サブブロックチェーン２２０は、サブブロック２２７、原本コンテンツブロック２２８、複製コンテンツブロック２２６、そして、末端ブロック２２９で構成されることもできる。
【００６５】
原本コンテンツブロック２２８と複製コンテンツブロック２２６の各々は、末端ブロック２２９のハッシュを含むことができる。そして、サブブロック２２７は、原本コンテンツブロック２２８のハッシュと複製コンテンツブロック２２６のハッシュとを含むことができる。
【００６６】
原本コンテンツブロック２２８は、コンテンツを含み、複製コンテンツブロック２２６は、コンテンツを含まないブロックである。そして、複製コンテンツブロック２２６は、原本コンテンツブロック２２８を保有したノードに原本コンテンツブロック２２８の送信を要請するためのスクリプトを内蔵できる。ノードが複製コンテンツブロック２２６内のスクリプトを実行すれば、スクリプトは、原本コンテンツブロック２２８を保有したノードに原本コンテンツブロック２２８の送信を要請するようになる。他の側面において、複製コンテンツブロック２２６は、原本コンテンツが格納された格納先に対するリンク情報を含んでもよい。ノードが複製コンテンツブロック２２６内のリンクに接続されたノードに原本コンテンツブロック２２８を要請するようになる。
【００６７】
サブブロックチェーン２２０を格納するノードは、サブブロック２２７、原本コンテンツブロック２２８、複製コンテンツブロック２２６、そして、末端ブロック２２９を全て格納することができる。このうち、原本コンテンツブロック２２８を選択的に格納しないこともある。
【００６８】
一部の実施形態において、コンテンツブロックは、複数個で構成されてもよい。例えば、コンテンツブロックは、第１乃至第ｎ−１のコンテンツブロックと原本コンテンツブロックである第ｎのコンテンツブロックと複製コンテンツブロックとで構成されてもよい。そして、第ｎ−１のコンテンツブロックは、第ｎのコンテンツブロックと複製コンテンツブロックのそれぞれのハッシュを含むことができる。他の側面において、１つのコンテンツが分割されて複数のコンテンツブロックに格納された場合、コンテンツブロックは、第１乃至第ｎの原本コンテンツブロックと第１乃至第ｎの複製コンテンツブロックで構成されることもできる。そして、第ｍ（ｍは、１より大きく、ｎ未満の整数）の原本コンテンツブロックと第ｍの複製コンテンツブロックとは、第ｍ＋１の原本コンテンツブロックと第ｍ＋１の複製コンテンツブロックのそれぞれのハッシュを含むことができる。
【００６９】
図５は、本発明の実施形態に係る複数のノードの分散ネットワークで構成されたブロックチェーンシステムにおいてサブブロックチェーンを構成する方法に対するフローチャートである。
【００７０】
図５に示すように、複数のノードの分散ネットワークで構成されたブロックチェーンシステムにおいてサブブロックチェーンを構成する方法（Ｓ１００）は、複数のノードのうちいずれか１つのノードが、メインブロックに従属接続された候補サブブロックを生成して伝播するステップ（Ｓ１１０）、複数のノードのうちいずれか１つのノードが、受信された候補サブブロックの有効性検証後、有効な候補サブブロックを格納及び伝播するステップ（Ｓ１２０）、複数のノードのうち、いずれか１つのノードが、ユーザが質疑したコンテンツとマッチングされた候補サブブロックを生成したノードからコンテンツブロックを受信し、受信されたコンテンツブロックの有効性を検証した後、前記コンテンツブロックに接続された末端ブロックを格納及び伝播するステップ（Ｓ１３０）、及び複数のノードのうち、いずれか１つのノードは、他のノードから受信した同じ末端ブロックの個数が既定値以上になると、前記末端ブロックと接続された候補サブブロックを承認して承認サブブロックを生成し、前記承認サブブロックを自分のノードに予め格納されたブロックチェーンローカルの複写本にアップデートし、前記承認サブブロックを伝播するステップ（Ｓ１４０）を含むことができる。
【００７１】
以下、図５の各ステップをより詳細に説明する。
【００７２】
図６は、任意のノードで候補サブブロックを生成する方法に対するフローチャートである。
【００７３】
図５及び図６に示すように、任意のノードで候補サブブロックを生成して伝播する方法（Ｓ１１０）は、末端ブロックを生成するステップ（Ｓ１１１）、末端ブロックのハッシュ及びコンテンツを含むコンテンツブロックを生成するステップ（Ｓ１１２）、コンテンツブロックのハッシュ及びコンテンツのカテゴリーとマッチングされたメインブロックのハッシュを含む候補サブブロックを生成するステップ（Ｓ１１３）、及び候補サブブロックをブロックチェーンネットワークに伝播するステップ（Ｓ１１４）を含むことができる。
【００７４】
より詳細には、ブロックチェーンネットワークに参加した全てのノードは、候補サブブロックを生成できる権限を有することができる。一部の実施形態において、一部ノードのみが候補サブブロックを生成してもよい。
【００７５】
ノードは、保有したコンテンツをブロックチェーンシステム上で検証され、共有するために候補サブブロックを生成することができる。
【００７６】
具体的に、ノードは、末端ブロックを生成する（Ｓ１１１）。末端ブロックは、サブブロックチェーンを構成するブロックであって、サブブロックチェーンの最終ブロックに該当する。末端ブロックには、末端ブロックの生成ノード情報と生成時点、コンテンツ情報、候補サブブロックを識別する情報などが含まれてもよい。
【００７７】
ノードは、末端ブロックのハッシュとコンテンツを含むコンテンツブロックを生成する（Ｓ１１２）。コンテンツブロックに含まれたコンテンツは、サブブロックチェーンと接続されたメインブロックに含まれたカテゴリー情報にマッチングされるコンテンツをいう。例示的には、メインブロックに含まれたカテゴリー情報が韓国映画カテゴリーである場合、コンテンツブロックに含まれるコンテンツは、韓国映画に分類される映画コンテンツであってもよい。
【００７８】
ノードは、コンテンツブロックのハッシュ及びメインブロックのハッシュを含む候補サブブロックを生成する（Ｓ１１３）。候補サブブロックは、コンテンツブロックのハッシュを含んでコンテンツブロックと接続されてもよい。そして、候補サブブロックは、自分のサブブロックチェーンが接続されたメインブロックのハッシュを含んでもよい。
【００７９】
一部の実施形態において、互いに従属接続された複数のコンテンツブロックが存在する場合、候補サブブロックは、複数のコンテンツブロックのうち、最先端のコンテンツブロックのハッシュを含んでもよい。
【００８０】
他の側面において、メインブロックに既に承認されたサブブロックが接続された場合、コンテンツブロックのハッシュ、メインブロックのハッシュ、そして、既に承認されたサブブロックのハッシュを含む候補サブブロックを生成する。
【００８１】
ノードは、サブブロックチェーンを構成すると、サブブロックチェーンの候補サブブロックをブロックチェーンネットワーク上に伝播する（Ｓ１１４）。ノードは、サブブロックチェーンの一部の候補サブブロックを伝播する。そして、候補サブブロック内には、コンテンツでないコンテンツの識別情報のみが含まれるので、候補サブブロックのデータ容量が少ない。したがって、候補サブブロックは、数秒内にブロックチェーンネットワークに接続された全てのノードに伝播される。
【００８２】
候補サブブロックは、未承認のブロックであって、メインブロックチェーン上に正式に接続されたブロックではない。ただし、ノードの合意下に候補サブブロックが承認サブブロックになると、承認サブブロックは、メインブロックチェーン上に接続される。また、承認サブブロックがメインブロックチェーンに接続されるとき、承認サブブロックに接続されたコンテンツブロックと末端ブロックとが共にメインブロックチェーンに接続されてもよい。すなわち、承認されたサブブロックチェーンがメインブロックチェーンに接続されてもよい。そして、これは、サブブロックチェーンがブロックチェーンシステム上で承認されたことを意味する。
【００８３】
サブブロックチェーンが承認されてメインブロックチェーンに接続された場合であるといえども、ノードの運営主体であるユーザの選択によってサブブロックチェーンの一部分だけを自分のブロックチェーンローカルの複写本にアップデートすることができる。具体的に、ノードは、承認されたサブブロックチェーンを構成する複数のブロックのうち、特定ブロックのみを選択的に格納することができる。一部の実施形態において、ノードのユーザは、承認されたサブブロックチェーンが存在する場合、承認されたサブブロックチェーン上のサブブロックのみを自分のブロックチェーンローカルの複写本にアップデートすることができる。したがって、ノードのユーザは、格納空間とコンテンツ格納の必要性を考慮して、選択的にコンテンツブロックの格納可否を決定できる。
【００８４】
一部の実施形態において、コンテンツブロックは、複数個になることができる。例示的に、コンテンツブロックは、第１及び第２のコンテンツブロックで構成されてもよい。
【００８５】
Ｓ１１２ステップにおいて、ノードは、末端ブロックのハッシュ及び第１のコンテンツを含む第１のコンテンツブロックを生成し、第２のコンテンツ及び第１のコンテンツブロックのハッシュを含む第２のコンテンツブロックを生成できる。一部の実施形態において、第２のコンテンツは、第１のコンテンツより少ない容量を有することができる。例示的に、コンテンツが動画である場合、第１のコンテンツは、動画とし、第２のコンテンツは、動画の種類情報、動画の製作者情報、動画の登場人物などに関する情報のように、映像でないテキスト及び／又はイメージ情報のように、コンテンツを識別する情報とすることができる。
【００８６】
また、Ｓ１１３ステップにおいて、ノードは、第２のコンテンツブロックのハッシュとコンテンツのカテゴリーとマッチングされたメインブロックのハッシュを含む候補サブブロックを生成してもよい。そして、Ｓ１１４ステップにおいて、ノードは、生成された候補サブブロックをブロックチェーンネットワークに伝播してもよい。
【００８７】
一部の実施形態によれば、Ｓ１１２ステップにおいて、ノードは、末端ブロックのハッシュ及びコンテンツを含む原本コンテンツブロックと末端ブロックのハッシュを含む複製コンテンツブロックとを生成してもよい。
【００８８】
また、Ｓ１１３及びＳ１１４ステップにおいてノードは、原本コンテンツブロックのハッシュ及び複製コンテンツブロックのハッシュを含む候補サブブロックを生成してブロックチェーンネットワークに伝播してもよい。
【００８９】
図７は、受信された候補サブブロックに対する検証及び伝播過程を示したフローチャートである。
【００９０】
図７を参照して、受信された候補サブブロックに対する検証及び伝播方法（Ｓ２００）を説明するとき、ネットワークに参加したノードのうち任意のノードが、他のノードが生成した候補サブブロックを受信する（Ｓ２１０）。
【００９１】
ノードは、受信された候補サブブロックの有効性を検証する（Ｓ２２０）。具体的に、ノードは、候補サブブロックに含まれたコンテンツ情報と候補サブブロックが接続されたメインブロックのカテゴリー項目の整合性を確認する。また、ノードは、候補サブブロックが既に承認された承認サブブロックであるか否かを確認してもよい。また、ノードは、候補サブブロックと同じブロックが以前に受信されたことがあるか否かを確認できる。また、ノードは、例示的にブロックに含まれた情報の構文（ｓｙｎｔａｘ）とデータ構造が正確であるかを検証し、含まれた情報の大きさが予め設定された基準より小さいかを検証する過程など、予め決められたチェックリストに基づいて候補サブブロックの有効性を検証してもよい。
【００９２】
ノードは、受信した候補サブブロックがメインブロックとの関係で整合しないか、受信した候補サブブロックが既に承認されたブロックであるか、重複受信された候補サブブロックである場合、その他のチェックリスト上の要件を満たさない場合のうち、少なくとも１つを満たさない場合、受信した候補サブブロックの有効性検証は失敗したと判断する（Ｓ２２０；Ｎｏ）。ノードは、有効性検証に失敗した候補サブブロックを廃棄し（Ｓ２３０）、検証失敗情報を候補サブブロックの生成ノードに送信することができる（Ｓ２４０）。
【００９３】
これとは異なり、受信した候補サブブロックの有効性検証が完了すると（Ｓ２２０；Ｙｅｓ）、ノードは、当該候補サブブロックを格納し（Ｓ２５０）、ブロックチェーンネットワーク上に伝播することができる（Ｓ２６０）。
【００９４】
ノードは、有効性が検証された候補サブブロックをデータベースに格納する。前述した過程を介してノードのデータベース上には互いに異なる候補サブブロックが蓄積される。ノードは、ユーザの要請に応答して格納された候補サブブロックのうち、ユーザの要請にマッチングされる候補サブブロックを検索できる。
【００９５】
図８は、選択された候補サブブロックに接続されたコンテンツブロックを受信し、末端ブロックを伝播する方法を示したフローチャートであり、図９及び図１０は、ブロックチェーン検索用ユーザインターフェースの例示図である。
【００９６】
図８に示すように、候補サブブロックに接続されたコンテンツブロックを受信し、末端ブロックを伝播する方法（Ｓ３００）は、ユーザの要請に応答してブロックチェーン検索用ユーザインターフェースを実行するステップ（Ｓ３１０）、ユーザの質疑に応答して格納された候補サブブロックを検索するステップ（Ｓ３２０）、質疑されたコンテンツとマッチングされた候補サブブロックを選択するステップ（Ｓ３３０）、選択された候補サブブロックを生成したノードにコンテンツブロックの送信を要請するステップ（Ｓ３４０）、コンテンツブロックを受信するステップ（Ｓ３５０）、受信されたコンテンツブロックの有効性を検証するステップ（Ｓ３６０）、コンテンツブロックの有効性が検証されれば、末端ブロックの送信を要請するステップ（Ｓ３７０）、受信された末端ブロックを格納するステップ（Ｓ３８０）、及び末端ブロックを伝播するステップ（Ｓ３９０）を含むことができる。
【００９７】
具体的に、図８及び図９に示すように、ノードは、ユーザの要請に応答してブロックチェーン検索用ユーザインターフェース５１０を実行して表示する（Ｓ３１０）。ユーザインターフェース５１０上には、ノードに格納されたメインブロックチェーン２１０が表示されてもよい。また、メインブロックチェーン２１０上のメインブロックのそれぞれのカテゴリー情報が共に表示されてもよい。
【００９８】
ユーザは、ユーザインターフェース５１０上の検索語入力欄５２０に検索語を入力できる。ノードは、データベースに格納された候補サブブロックのうち、入力された検索語にマッチングされる候補サブブロックを検索する（Ｓ３２０）。ユーザが質疑した検索語とマッチングされる少なくとも１つの候補サブブロックを表示し、ユーザは、表示された候補サブブロックのうち、いずれか１つを選択する（Ｓ３３０）。
【００９９】
他の側面において、図８及び図１０に示すように、ノードは、ユーザの要請に応答してブロックチェーン検索用ユーザインターフェース５１０を実行して表示してもよい（Ｓ３１０）。ユーザインターフェース５１０上には、メインブロックチェーン２１０が表示されてもよい。ノードは、メインブロックチェーン２１０上の複数のメインブロックのうち、いずれか１つに対するユーザの選択に応答して、ノードのデータベース上に格納された候補サブブロックのうち、選択されたメインブロックと接続された候補サブブロックを表示できる。一部の実施形態において、ノードは、メインブロックチェーン２１０上の複数のメインブロックのうち、いずれか１つに対するユーザの選択に応答して、ノードのデータベース上に格納された承認サブブロックと候補サブブロックとを共に表示してもよい。また、サブブロックを表示するときに表示されたサブブロックが承認されたサブブロックであるかを表示してもよい。したがって、ユーザは、表示されたサブブロックの信頼可否を確認できる。これは、ユーザをして複数のサブブロックのうち、コンテンツの信頼が可能なサブブロックに選択の容易さを提供する。
【０１００】
また、ユーザは、表示された候補サブブロックのうち、いずれか１つの候補サブブロックを選択する（Ｓ３３０）。
【０１０１】
ノードは、ユーザの候補サブブロックを選択したことに応答して、選択された候補サブブロックを生成したノードに選択された候補サブブロックと接続されたコンテンツブロックの送信を要請する（Ｓ３４０）。
【０１０２】
ノードは、コンテンツブロックを受信すると（Ｓ３５０）、コンテンツブロックに含まれたコンテンツを表示できる。そして、コンテンツブロックの有効性を検証する（Ｓ３６０）。
【０１０３】
コンテンツブロックの有効性検証についてより具体的に説明する。
【０１０４】
ノードは、コンテンツの表示が完了すると、コンテンツブロックの有効性検証が完了したと判断することができる。例えば、コンテンツが動画である場合、動画の再生が全て完了すれば、コンテンツブロックの有効性検証が完了したことと判断することができる。一部の実施形態において、ユーザの承認情報の入力に応答してコンテンツブロックの有効性検証を完了できる。例えば、ノードは、コンテンツを表示するとともに、コンテンツの有効性検証可否を確認するための検証用ユーザインターフェースを実行できる。ユーザは、実行された検証用ユーザインターフェース上で当該コンテンツの有効性に関する情報を入力できる。ノードは、ユーザからコンテンツが有効であるという入力情報を受信することに応答してコンテンツブロックの有効性が検証されたと判断することができる。一部の実施形態において、ノードは、コンテンツブロック内のコンテンツを表示する前に決済用ユーザインターフェースを表示してもよい。ユーザは、決済用ユーザインターフェースを介してコンテンツの再生のための費用決済手続を進めることができる。ノードは、コンテンツブロックまたはコンテンツブロックと接続された候補サブブロックに含まれた費用情報、及びコンテンツブロックを生成したノードのブロックチェーンアドレスを読み出すことができる。そして、読み出した情報は、決済用ユーザインターフェースを介して表示されてもよい。ユーザは、決済用ユーザインターフェースを介して表示された費用の決済手続を進めることができる。ノードは、費用決済が完了した後、コンテンツブロック内のコンテンツを実行できる。また、ノードは、費用決済の完了に応答してコンテンツブロックの有効性が検証されたと判断することができる。
【０１０５】
本実施形態は、ノードが予め格納されたサブブロックを検索し、検索されたサブブロックに含まれたサブブロック生成ノードの情報を確認して、当該ノードにコンテンツブロックを要請することにより、コンテンツが表示される。したがって、ノードは、容量が大きいコンテンツブロックを予め格納しなくとも、格納されたサブブロックを用いてコンテンツブロックを受信し、コンテンツブロック内のコンテンツを表示することができる。
【０１０６】
一部の実施形態において、コンテンツブロックは、複数のコンテンツブロックで構成されてもよい。
【０１０７】
複数のコンテンツブロックのうち、末端ブロックと接続された最終コンテンツブロックには、ユーザが実際閲覧することを望むコンテンツが含まれてもよいし、最終コンテンツブロックを除いた残りのコンテンツブロックには、最終コンテンツブロックに含まれたコンテンツを識別するための各種情報が含まれてもよい。
【０１０８】
例えば、コンテンツブロックが候補サブブロックに接続された第１のコンテンツブロックと第１のコンテンツブロック及び末端ブロックに接続された第２のコンテンツブロックとで構成されれば、第１のコンテンツブロックに含まれたコンテンツは、第２のコンテンツブロックに含まれたコンテンツを識別する情報として説明、要約、その他の情報になることができる。
【０１０９】
候補サブブロックを生成したノードは、コンテンツブロックの送信要請に応答して、候補サブブロックに最初に接続された第１のコンテンツブロックを送信することができる。
【０１１０】
第１のコンテンツブロックを受信したノードは、第１のコンテンツブロックの有効性を検証できる。例示的に、ノードは予め設けられたチェックリストに基づいて第１のコンテンツブロックの有効性を検証できる。一部の実施形態において、ノードは、検証用ユーザインターフェースを表示してユーザからの検証確認入力信号を受信すると、第１のコンテンツブロックが有効であると判断することができる。ノードは、第１のコンテンツブロックの有効性を確認すると、第１のコンテンツブロックに後続して接続された第２のコンテンツブロックの送信を候補ブロック生成ノードに要請することができる。このように、コンテンツブロックが複数個で構成された場合、ノードは、コンテンツブロックを順次受信することができる。そして、次のコンテンツブロックの受信は、前のコンテンツブロックの有効性が満たされることを条件として実行されてもよい。また、コンテンツブロック内のコンテンツの表示前に費用決済が要求される場合であれば、最終コンテンツブロック内のコンテンツが表示されるときにのみ費用決済を要求してもよい。
【０１１１】
本実施形態は、コンテンツブロックを複数個で構成し、最終コンテンツブロックにのみ相対的に大容量のコンテンツを含むように構成する。したがって、ノードは、相対的にデータ容量が少ない最先端のコンテンツブロックを受信して、当該コンテンツブロックの有効性検証後（具体的には、コンテンツの識別情報を確認して、最終コンテンツブロックに含まれたコンテンツが何であるか予め確認する等）、後端のコンテンツブロックを受信する。したがって、ユーザは、最先端のコンテンツブロック内のコンテンツ識別情報を予め確認することにより、所望しない大容量のコンテンツを送信されるという問題を防止できる。
【０１１２】
また、本実施形態において複数のコンテンツブロックの各々は、分割されたコンテンツを各々含むことができる。したがって、ユーザは、ストリーミング形態で複数のコンテンツブロックを順次受信し、受信されたコンテンツブロック内のコンテンツを閲覧できる。また、複数のコンテンツブロック別に費用決済がなされるようにして、コンテンツの順次的な閲覧による課金処理が可能である。また、複数のコンテンツブロックのうち、少なくとも一部のコンテンツブロックのみをデータベースに格納することができる。したがって、全体コンテンツの内容のうち、ユーザが必要な部分のコンテンツのみが格納されてもよい。
【０１１３】
一部の実施形態において、コンテンツブロックは、原本コンテンツブロックと複製コンテンツブロックとを含むことができる。原本コンテンツブロックにはコンテンツが含まれてもよい。そして、複製コンテンツブロックは、候補サブブロックを生成したノードに原本コンテンツブロックの送信を要請するためのスクリプトを内蔵できる。他の側面において、複製コンテンツブロックは、原本コンテンツが格納された格納先に対するリンク情報を含んでもよい。
【０１１４】
ノードは、受信された原本コンテンツブロックのみを削除処理してもよい。原本コンテンツブロックの削除によってノードの格納容量の負担が軽減される。また、複製コンテンツブロックにより末端ブロックとサブブロックのチェーン接続は維持される。また、必要に応じて複製コンテンツブロック内のスクリプトやリンクを用いて原本コンテンツブロックを要請できる。
【０１１５】
ノードは、コンテンツブロックの有効性検証において、有効性が検証されない場合（Ｓ３６０；Ｎｏ）、当該コンテンツブロックと接続された候補サブブロックを削除し（Ｓ３６１）、コンテンツブロックの検証失敗情報を、候補サブブロックを生成したノードに送信する（Ｓ３６２）。
【０１１６】
ノードは、コンテンツブロックの有効性検証が完了すると（Ｓ３６０；Ｙｅｓ）、候補サブブロック生成ノードに末端ブロックの送信を要請する（Ｓ３７０）。ノードは、受信された末端ブロックを格納し（Ｓ３８０）、末端ブロックをブロックチェーンネットワークに伝播（Ｓ３９０）することができる。
【０１１７】
一部の実施形態において、コンテンツブロックが複数個である場合、これらのコンテンツブロックは、互いに従属接続され、最先端のコンテンツブロックは、候補サブブロックに接続され、最後端のコンテンツブロックは、末端ブロックに接続されてもよい。そして、ノードは、複数個のコンテンツブロックの各々を順次有効性検証してもよい。そして、ノードは、最後端のコンテンツブロックの有効性検証が完了すると、候補サブブロック生成ノードに末端ブロックの送信を要請してもよい。
【０１１８】
一方、ユーザは、コンテンツを閲覧した後、当該コンテンツが含まれたコンテンツブロックを削除処理してもよい。
【０１１９】
ノードは、ユーザからコンテンツの削除要請の受信に応答してコンテンツが含まれたコンテンツブロックを除去する。一部の実施形態において、コンテンツブロックが複数個のコンテンツブロックを含む場合、最終コンテンツブロックのみを除去してもよい。一部の実施形態において、コンテンツブロックが原本コンテンツブロックと複製コンテンツブロックとを含む場合、原本コンテンツブロックのみを除去してもよい。
【０１２０】
図１１は、候補サブブロックの承認過程を示したフローチャートである。
【０１２１】
図１１を参照して候補サブブロックの承認方法（Ｓ４００）を説明する。
【０１２２】
ネットワークに参加したノードのうち、任意のノードが、他のノードが送信した末端ブロックを受信する（Ｓ４１０）。
【０１２３】
ノードは、受信された末端ブロックの有効性を検証する（Ｓ４２０）。具体的に、ノードは、末端ブロックに接続された候補サブブロックが既に承認されたサブブロックである場合（Ｓ４２０；Ｎｏ）、末端ブロックを削除できる（Ｓ４２１）。
【０１２４】
ノードは、末端ブロックの有効性が検証されると（Ｓ４２０；Ｙｅｓ）、末端ブロックを格納できる（Ｓ４３０）。
【０１２５】
ノードは、格納された同じ末端ブロックの総個数が既定値Ｔ以上であるかを判断する（Ｓ４４０）。ノードは、格納された同一末端ブロックの総個数が既定値以上になると、当該末端ブロックに接続された候補サブブロックを承認する（Ｓ４５０）。末端ブロックは、コンテンツブロックの有効性検証後にネットワーク上に伝播される。したがって、同じ末端ブロックの個数が増加するほど、末端ブロックと関連したコンテンツブロックの閲覧回数が増加したとみなすことができる。これは、コンテンツの信頼度が増加することを意味する。コンテンツの信頼度が既定水準に達すると、初めて候補サブブロックは正式サブブロックと承認されてもよい。
【０１２６】
ノードは、承認されたサブブロックをデータベース上に格納されたブロックチェーン上にアップデートして、サブブロックがメインブロックに接続されるようにすることができる。そして、ノードは、承認されたサブブロックをブロックチェーンネットワーク上に伝播することができる（Ｓ４６０）。
【０１２７】
図１２は、承認サブブロックの受信によるノードの動作過程を示したフローチャートである。
【０１２８】
図１２を参照して承認サブブロックの受信によるノードの動作過程（Ｓ５００）を説明する。
【０１２９】
ネットワークに参加した複数のノードのうち、任意のノードは、承認サブブロックを受信する（Ｓ５１０）。承認サブブロックが受信されると、承認サブブロックの有効性を検証する（Ｓ５２０）。有効性を満たさない場合（Ｓ５２０；Ｎｏ）、例示的には受信された承認サブブロックが既に自分のブロックチェーンにアップデートされた場合には、受信された承認サブブロックを廃棄する（Ｓ５２１）。ノードは、受信された承認サブブロックの有効性を満たす場合（Ｓ５２０）、ブロックチェーンをアップデートし、承認サブブロックをブロックチェーンネットワーク上に伝播する（Ｓ５３０）。
【０１３０】
図１３は、コンテンツの信頼情報を表示する方法に対するフローチャートである。
【０１３１】
図１３を参照して、実施形態に係るコンテンツの信頼情報を表示する方法（Ｓ６００）を説明する。
【０１３２】
任意のノードは、ユーザの要請に応答して検索用ユーザインターフェースを実行し、複数のカテゴリー情報の各々を含む互いに従属接続されたメインブロックチェーンを表示する（Ｓ６１０）。
【０１３３】
ノードは、メインブロックチェーン上のいずれか１つのメインブロックに対するユーザの選択に応答して、メインブロックに接続された少なくとも１つのサブブロックチェーンのそれぞれのサブブロックを表示できる（Ｓ６２０）。このとき、表示されるサブブロックは、承認されたサブブロックであるか、未承認されたサブブロックであってもよく、サブブロックの承認可否が区別されて表示されてもよい。
【０１３４】
ノードは、サブブロックのうち、いずれか１つのサブブロックに対するユーザの選択に応答して、サブブロックに従属接続された複数のコンテンツブロックを格納したコンテンツ格納ノードに複数のコンテンツブロックの送信を要請する（Ｓ６３０）。
【０１３５】
他の側面において、ノードは、サブブロックのうちいずれか１つのサブブロックに対するユーザの選択に応答して、サブブロックに従属接続された複製コンテンツブロックを格納したコンテンツ格納ノードに複製コンテンツブロックの送信を要請してもよい。そして、複製コンテンツブロック内のスクリプトの実行を介して原本コンテンツブロックを受信できる。または、複製コンテンツブロック内のリンクを介して原本コンテンツブロックを受信してもよい。
【０１３６】
ノードは、受信されたコンテンツブロック内のコンテンツを表示する（Ｓ６４０）。
【０１３７】
他の側面において、ノードは、受信された原本コンテンツブロック内のコンテンツを表示してもよい。
【０１３８】
ノードは、複数のコンテンツブロックを格納したコンテンツ格納ノードからいずれか１つのコンテンツブロックを受信すると、受信したコンテンツブロックの有効性を検証する。そして、ノードは、有効性検証が完了したコンテンツブロックに後続して、接続されたコンテンツブロックの送信をコンテンツ格納ノードに要請することができる。例えば、コンテンツブロックが複数のコンテンツブロックで構成された場合、ノードは、前端のコンテンツブロックに対する有効性検証を完了した後、コンテンツ格納ノードに当該ブロックに繋がったコンテンツブロックの送信を要請してもよい。他の側面において、ノードは、コンテンツブロックに対する有効性検証完了後、当該ブロックに繋がった末端ブロックに対する送信をコンテンツ格納ノードに要請してもよい。
【０１３９】
他の側面において、ノードは、複製コンテンツブロックの有効性を検証できる。ノードは、複製コンテンツブロックの有効性が満たされたときに、原本コンテンツブロックを受信してもよい。
【０１４０】
ノードは、複数のコンテンツブロックのうち、最後のコンテンツブロック内のコンテンツがノード上に表示されることに応答して、コンテンツ格納ノードに最後のコンテンツブロックに接続された末端ブロックの送信を要請する（Ｓ６５０）。
【０１４１】
他の側面において、原本コンテンツブロック内のコンテンツがノード上に表示されることに応答して、ノードはコンテンツ格納ノードに末端ブロックの送信を要請してもよい。
【０１４２】
ノードは、末端ブロックの受信に応答してコンテンツ閲覧情報を生成する（Ｓ６６０）。このとき、既に承認されたサブブロックに接続されたコンテンツブロック上のコンテンツを閲覧した場合にのみコンテンツ閲覧情報が生成されてもよい。
【０１４３】
ノードは、コンテンツ閲覧情報をブロックチェーンネットワークに伝播する（Ｓ６７０）。
【０１４４】
任意のノードは、ブロックチェーンネットワークから受信されたコンテンツ閲覧情報を受信して格納することができる。そして、格納された同じコンテンツの閲覧情報の個数に基づいてコンテンツ信頼情報を生成することができる。そして、ノードは、受信されたコンテンツブロックを表示したり、受信されたコンテンツブロック内のコンテンツを表示する前、または受信されたコンテンツブロック内のコンテンツを表示するとき、コンテンツ信頼情報を表示することができる。
【０１４５】
以上で説明された本発明に係る実施形態は、様々なコンピュータ構成要素を介して実行されるプログラム命令語の形態で実現されて、コンピュータ読み取り可能な記録媒体に記録されてもよい。前記コンピュータ読み取り可能な記録媒体は、プログラム命令語、データファイル、データ構造等を単独でまたは組み合わせて含むことができる。前記コンピュータ読み取り可能な記録媒体に記録されるプログラム命令語は、本発明のために特別に設計され、構成されたものであるか、コンピュータソフトウェア分野の当業者に公知されて使用可能なものでありうる。コンピュータ読み取り可能な記録媒体の例には、ハードディスク、フロッピーディスク、及び磁気テープのような磁気媒体、ＣＤ−ＲＯＭ及びＤＶＤのような光気録媒体、フロプティカルディスク（ｆｌｏｐｔｉｃａｌ  ｄｉｓｋ）のような磁気−光媒体（ｍａｇｎｅｔｏ−ｏｐｔｉｃａｌ  ｍｅｄｉｕｍ）、及びＲＯＭ、ＲＡＭ、フラッシュメモリなどのような、プログラム命令語を格納し、実行するように特別に構成されたハードウェア装置が含まれる。プログラム命令語の例には、コンパイラによって作られるような機械語コードだけでなく、インタプリタなどを使用してコンピュータにより実行され得る高級言語コードも含まれる。ハードウェア装置は、本発明に係る処理を行うために、１つ以上のソフトウェアモジュールに変更されることができ、その反対も同様である。
【０１４６】
本発明において説明する特定実行等は、一実施形態であって、いかなる方法でも本発明の範囲を限定するものではない。明細書の簡潔さのために、従来の電子的な構成、制御システム、ソフトウェア、前記システムの他の機能的な側面等の記載は省略されてもよい。また、図面に図示された構成要素間の線等の接続または接続部材などは、機能的な接続及び／又は物理的または回路的接続を例示的に示したものであって、実際装置では、代替可能であるか、追加の様々な機能的な接続、物理的な接続、または回路接続として表されてもよい。また、「必須な」、「重要に」などのように、具体的な言及がなければ、本発明の適用のために必ず必要な構成要素でない場合がある。
【０１４７】
また、説明した本発明の詳細な説明では、本発明の好ましい実施形態を参照して説明したが、当該技術分野の熟練された当業者または当該技術分野における通常の知識を有する者であれば、後述する特許請求の範囲に記載された本発明の思想及び技術領域から逸脱しない範囲内で本発明を様々に修正及び変更させることができることが理解できるであろう。したがって、本発明の技術的範囲は、明細書の詳細な説明に記載された内容に限定されるものではなく、特許請求の範囲により決められなければならないであろう。
【図１】
2020088857.tif 000003
【図２】
2020088857.tif 000004
【図３】
2020088857.tif 000005
【図４】
2020088857.tif 000006
【図５】
2020088857.tif 000007
【図６】
2020088857.tif 000008
【図７】
2020088857.tif 000009
【図８】
2020088857.tif 000010
【図９】
2020088857.tif 000011
【図１０】
2020088857.tif 000012
【図１１】
2020088857.tif 000013
【図１２】
2020088857.tif 000014
【図１３】
2020088857.tif 000015