(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024091243
(43)【公開日】2024-07-04
(54)【発明の名称】商業サービスに有用な取引処理速度及び拡張性、セキュリティ性を保障するための非競争的合意アルゴリズムとマイクロチェーンアーキテクチャを用いたブロックチェーンシステム及び方法
(51)【国際特許分類】
G06Q 20/38 20120101AFI20240627BHJP
【FI】
G06Q20/38 310
【審査請求】有
【請求項の数】17
【出願形態】OL
(21)【出願番号】P 2023112216
(22)【出願日】2023-07-07
(31)【優先権主張番号】10-2022-0182994
(32)【優先日】2022-12-23
(33)【優先権主張国・地域又は機関】KR
【新規性喪失の例外の表示】特許法第30条第2項適用申請有り 令和4年 8月 1日 下記ウェブサイトを通じて公開 「https://volare.network/」 令和4年 8月10日 下記ウェブサイトを通じて公開 「https://volare.network/」 令和4年 9月 6日 下記ウェブサイトを通じて公開 「https://www.eqbrh.com/tech-service/tech」
(71)【出願人】
【識別番号】523259606
【氏名又は名称】イー・キュー・ビィ・アール・ホールディングス・カンパニー・リミテッド
【氏名又は名称原語表記】EQBR HOLDINGS CO., LTD
(71)【出願人】
【識別番号】523259617
【氏名又は名称】イ・ジュン・グン
【氏名又は名称原語表記】LEE, JUNG GEUN
(71)【出願人】
【識別番号】523259628
【氏名又は名称】イ・ヒュン・キ
【氏名又は名称原語表記】LEE, HYUN KI
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】イ・ジュン・グン
(72)【発明者】
【氏名】イ・ヒュン・キ
(72)【発明者】
【氏名】イ・ミン・キ
(72)【発明者】
【氏名】ハン・ジン・ス
(72)【発明者】
【氏名】ジョ・ヨン・フン
(72)【発明者】
【氏名】グァク・ブム・ギュ
【テーマコード(参考)】
5L020
5L055
【Fターム(参考)】
5L020AA71
5L055AA71
(57)【要約】 (修正有)
【課題】商用ブロックチェーンネットワーク全体の欠陥が、既に設定された割合を超えることなく、システムを正常に動作させることで、商業サービスに有用な取引処理速度及び拡張性、脱中央化、セキュリティ性を保障する非競争的合意アルゴリズムとブロックチェーンシステムを提供する。
【解決手段】商業サービスに有用な取引処理速度及び拡張性、セキュリティ性を保障するためのマイクロチェーンアーキテクチャを用いたブロックチェーンシステムであって、チェーン間のコミュニケーションプロトコルに従って他のマイクロチェーンと通信し、コインを用いて行われるスマート契約締結が各領域に応じて作動される複数のマイクロチェーンをアーキテクチャで構成される。マイクロチェーンは、互いに干渉することなく独立してビジネスロジックを行い、マイクロチェーンに対応するスマート契約を実行する異なるビジネスロジックがそれぞれ実行される。
【選択図】
図1
【特許請求の範囲】
【請求項1】
ブロックチェーンサービスを提供するネットワークを含み、前記ネットワークは、
チェーン間のコミュニケーションプロトコルに従って他のマイクロチェーンと通信し、コインの発行又は焼却を行うメインネットと、
前記メインネットに連結され、前記コインを用いて行われるスマート契約締結が、各領域に応じて作動される複数のマイクロチェーンを含むマイクロチェーンアーキテクチャで構成され、
前記マイクロチェーンは、互いに干渉することなく独立してビジネスロジックを行い、前記マイクロチェーンに対応するスマート契約を実行する異なるビジネスロジックがそれぞれ実行される、
商業サービスに有用な取引処理速度及び拡張性、セキュリティ性を保障するためのマイクロチェーンアーキテクチャを用いたブロックチェーンシステム。
【請求項2】
前記複数のマイクロチェーンは、前記メインネットと信頼を相互担保にして対等な関係で連結され、
少なくとも一つのマイクロチェーンから前記メインネットと直接連結されていない新たなマイクロチェーンに拡張可能である、
請求項1に記載の商業サービスに有用な取引処理速度及び拡張性、セキュリティ性を保障するためのマイクロチェーンアーキテクチャを用いたブロックチェーンシステム。
【請求項3】
前記マイクロチェーンアーキテクチャは、
合意に参加せずに元帳のみを共有するノンイコライザノードと、
周辺の前記ノンイコライザノードと周辺の他のイコライザノードと連結されて他のノードの情報を収集し、合意に参加して前記スマート契約の検証を行うイコライザノードと、を含む、
請求項1に記載の商業サービスに有用な取引処理速度及び拡張性、セキュリティ性を保障するためのマイクロチェーンアーキテクチャを用いたブロックチェーンシステム。
【請求項4】
最小ステーキング(staking)量以上のコインをステーキングした前記イコライザノードは、合意に参加して前記スマート契約の検証を行うときに全て同じ投票力を有する、
請求項3に記載の商業サービスに有用な取引処理速度及び拡張性、セキュリティ性を保障するためのマイクロチェーンアーキテクチャを用いたブロックチェーンシステム。
【請求項5】
前記イコライザノードは、ビザンチン障害に耐えるように演算された最小ノード個数に応じて同じ投票力を有するイコライザノードの中からランダムに抽出され、抽出されたイコライザノードは合意に参加して前記スマート契約の検証を行う、
請求項4に記載の商業サービスに有用な取引処理速度及び拡張性、セキュリティ性を保障するためのマイクロチェーンアーキテクチャを用いたブロックチェーンシステム。
【請求項6】
各イコライザノードに割り当てられ、前記イコライザノードの合意されていないトランザクションのハッシュを変換したキー値と個人キーの署名を含むトランザクションが格納されるメンプール(mempool)を含む、
請求項3に記載の商業サービスに有用な取引処理速度及び拡張性、セキュリティ性を保障するためのマイクロチェーンアーキテクチャを用いたブロックチェーンシステム。
【請求項7】
前記イコライザノードは、合意過程とは無関係にトランザクション要請によって前記トランザクションを受信し、受信されたトランザクションに対する有効性検査を行った後、前記メンプールに前記トランザクションを格納する、
請求項6に記載の商業サービスに有用な取引処理速度及び拡張性、セキュリティ性を保障するためのマイクロチェーンアーキテクチャを用いたブロックチェーンシステム。
【請求項8】
前記マイクロチェーンアーキテクチャは、
ブロックチェーンサービスを提供するネットワーク上で最小ステーキング(staking)量以上のコインをステーキングすると、同じ投票力を有するイコライザノードを含み、
前記イコライザノードのうち、一部のイコライザノードが合意のためのブロックを生成し、前記ブロックを検証し、
他のイコライザノードが検証された前記ブロックに対して非算術式演算方式で提案の有効性を合意する事前投票及び提案に対する投票を行い、既に設定された定足数を超えると、ブロックを生成してブロックチェーンに連結して新たなブロックを生成するように構成された、
請求項1に記載の商業サービスに有用な取引処理速度及び拡張性、セキュリティ性を保障するための非競争的合意アルゴリズムを用いたブロックチェーンシステム。
【請求項9】
前記イコライザノードのうち、一部のイコライザノードは、ビザンチン障害に耐えるように演算された最小ノード個数に応じて、最小ステーキング量以上のコインをステーキングしたイコライザノードの中からランダムに抽出される、
請求項8に記載の商業サービスに有用な取引処理速度及び拡張性、セキュリティ性を保障するための非競争的合意アルゴリズムを用いたブロックチェーンシステム。
【請求項10】
前記提案に対する投票時には、提案されたトランザクション状態で検証を行い、投票によって完全に合意された前記提案されたブロックに他のブロックを積み上げて新たなブロックが生成されることを特徴とする、
請求項8に記載の商業サービスに有用な取引処理速度及び拡張性、セキュリティ性を保障するための非競争的合意アルゴリズムを用いたブロックチェーンシステム。
【請求項11】
ブロックチェーンサービスを提供するネットワークを含み、前記ネットワークは、
チェーン間のコミュニケーションプロトコルに従って他のマイクロチェーンと通信し、コインの発行又は焼却を行うメインネットと、
前記メインネットに連結され、前記コインを用いて行われるスマート契約締結が各領域に応じて作動される複数のマイクロチェーンを含むマイクロチェーンアーキテクチャで構成され、
前記マイクロチェーンは、互いに干渉することなく独立してビジネスロジックを行い、前記マイクロチェーンに対応するスマート契約を実行する異なるビジネスロジックがそれぞれ実行され、
また、前記ネットワークは、最小ステーキング(staking)量以上のコインをステーキングすると、同じ投票力を有するイコライザノードを含み、
前記イコライザノードのうち、一部のイコライザノードは合意のためのブロックを生成し、前記ブロックを検証し、
他のイコライザノードは、検証のために提案された前記ブロックに対して非算術式演算方式で提案の有効性を合意する事前投票、及び提案されたブロックに対する投票を行い、既に設定された定足数を超えると、その後に前記ブロックに他のブロックを積み上げて新たなブロックが生成されるように構成され、
前記複数のマイクロチェーンは、前記メインネットと信頼を相互担保にして対等な関係で連結され、
少なくとも一つのマイクロチェーンから前記メインネットと直接連結されていない新たなマイクロチェーンに拡張可能である、
商業サービスに有用な取引処理速度及び拡張性、セキュリティ性を保障するための非競争的合意アルゴリズムとマイクロチェーンアーキテクチャを用いたブロックチェーンシステム。
【請求項12】
請求項11に記載のブロックチェーンシステムを用いたブロックチェーン方法であって、
ブロック提案者として選択されたイコライザノードが合意のためのトランザクションを含むブロックを生成し、他のイコライザノードに伝播する提案段階と、
前記ブロックを受信した他のイコライザノードが、受信されたブロックの有効性に対して検証を行い、検証が完了すると、他のイコライザノードに事前投票を伝播する事前投票段階と、
既に設定された割合を超えるイコライザノードが事前投票を伝播すると、前記ブロックを合意に一致させるように前記イコライザノードの提案に対する投票を行い、他のイコライザノードに個人キーで署名された投票結果を伝播する投票段階と、
前記既に設定された割合を超えるイコライザノードの投票結果が収集されると、各イコライザノードが提案されたトランザクションを実行してブロックを生成するコミット段階と、を含み、
前記事前投票段階は、真と偽の非算術式演算方式からなり、
前記投票段階は、前記提案されたブロックに対して投票を行い、完全に合意された前記提案されたブロックに他のブロックを積み上げて新たなブロックが生成されるように構成された、
商業サービスに有用な取引処理速度及び拡張性、セキュリティ性を保障するための非競争的合意アルゴリズムとマイクロチェーンアーキテクチャを用いたブロックチェーン方法。
【請求項13】
合意段階の進行に関係なく、トランザクション要請があるときにトランザクションを受信し、前記トランザクションに対する有効性検査が完了すると、要請された前記イコライザノードのメンプールに格納される段階と、
前記メンプールに格納されるトランザクションが他のイコライザノードに伝送される段階と、をさらに含む、
請求項12に記載の商業サービスに有用な取引処理速度及び拡張性、セキュリティ性を保障するための非競争的合意アルゴリズムとマイクロチェーンアーキテクチャを用いたブロックチェーン方法。
【請求項14】
前記提案段階は、合意のためのトランザクションを生成するように、
各イコライザノードのメンプールに格納されたトランザクションのうち、現在のアカウントのノンスから順次に増加するアカウントのノンス(nonce)を有したトランザクションのみを統合してトランザクションリストを生成する段階と、
前記トランザクションリストに対する高さ、ラウンド及びブロックを含む提案書をハッシュして個人キーで署名する段階と、を含む、
請求項12に記載の商業サービスに有用な取引処理速度及び拡張性、セキュリティ性を保障するための非競争的合意アルゴリズムとマイクロチェーンアーキテクチャを用いたブロックチェーン方法。
【請求項15】
前記提案段階の前に新たに生成されたブロックの高さ、現在のラウンド及び各ノードに対する以前のブロックハッシュを含むステージ情報をイコライザノード間で交換し、前記イコライザノードの前記ステージ情報を併合してネットワーク全体に対するステージ情報を決定するネットワーキング段階をさらに含む、
請求項12に記載の商業サービスに有用な取引処理速度及び拡張性、セキュリティ性を保障するための非競争的合意アルゴリズムとマイクロチェーンアーキテクチャを用いたブロックチェーン方法。
【請求項16】
前記コミット段階は、
既に設定された割合を超えるイコライザノードの投票結果が収集されないか、又は既に設定された時間内に有効な提案が受け付けられない場合、前記イコライザノードはラウンドを1段階増加させ、提案段階から再実行する、
請求項12に記載の商業サービスに有用な取引処理速度及び拡張性、セキュリティ性を保障するための非競争的合意アルゴリズムとマイクロチェーンアーキテクチャを用いたブロックチェーン方法。
【請求項17】
請求項12に記載の方法がコンピュータ上で行われるようにするコンピュータプログラムが格納されたコンピュータ読み取り可能な格納媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、商業サービスに有用な取引処理速度及び拡張性、セキュリティ性を保障するための非競争的合意アルゴリズムとマイクロチェーンアーキテクチャを用いたブロックチェーンシステム及び方法に関する。
【背景技術】
【0002】
ブロックチェーンは、第三者である金融機関の検証なしにインターネット商取引の電子決済を安全に行うことができるP2P方式のハッシュ(Hash)で連結されたチェーンベースの分散データ格納環境において、小さいデータを格納できる分散コンピューティング元帳管理技術である。すなわち、ブロックチェーンは、中央サーバなしでネットワークに連結された参加者の端末機(ノード、Node)間の検証を行い、拡張性、脱中央化、セキュリティを実現する技術である。
【0003】
代表的なブロックチェーンであるビットコイン[Nakamoto,Satoshi.「Bitcoin:A peer-to-peer electronic cash system.」 URL:https://bitcoin.org/bitcoin.pdf(2008)]は、2008年に匿名の開発者又は開発者グループであるサトシ・ナカモトによって初めて公開された。ビットコイン(Bitcoin)は、作業証明(PoW、Proof of Work)合意アルゴリズムを通じて取引を追跡し、検証する分散型個人間ネットワークプロトコルを介してビザンチン将軍の問題及び二重支払いの問題を解決しようとした最初の成功的な暗号通貨である。このような作業証明合意アルゴリズムでは、採掘(Mining)と呼ばれる過程を通じて暗号通貨の取引が含まれるブロックを生成する。採掘過程で、全ての採掘者(Miner)は、指定された採掘難易度に応じて目標値より小さいハッシュ値をノンス(Nonce)として利用して繰り返し探す。最も先に、上記条件に該当するノンス値を見つけた採掘者は、ブロックを生成する権限を有するようになり、ブロックを生成した対価として一定量の暗号通貨が補償として得られる。時間の経過と共に、このような作業証明に対する合意方式は莫大なエネルギーを消耗し、採掘者の談合によって巨大な採掘プール(Mining Pool)が発生し、ブロックチェーンの初期目標から逸脱し、むしろネットワークが更なる中央集中化の問題を招いた。また、ビットコインの作業証明合意方式はブロックを再構成する可能性があり、二重払いを防止するために合理的に決済を確認するには最大1時間を要するが、ビットコインには、システムを拡張し、改善する効率的な代替案がなく、利用できる実用的な商用サービスの開発にも限界がある。
【0004】
一方、このような問題点を解決するために、ビットコインのアップグレード版であるイーサリアム(Ethereum)ブロックチェーンが、2013年ヴィタリック・ブテリン(Vitalik Buterin)によって開発された。ヴィタリック・ブテリンは、仮想通貨であるビットコインに使用された核心技術であるブロックチェーンに貨幣の取引記録だけでなく契約書(Contracts)などの追加情報を記録できることに着目し、世界中の数多くのユーザが保有しているコンピューティングリソースを活用してイーサリアム仮想マシン(EVM)を作製し、このプラットフォームを利用してSNS、Eメール、電子投票など、多様な情報を記録するシステムを創案した。すなわち、イーサリアムは、本質的に究極の抽象化された基礎レイヤを構築し、記録と合意、コードの実行を行い、ブロックチェーンを介して誰でも所有権、トランザクション(transaction、取引)形式、及び所有権に対する任意の規則を生成できる分散型アプリケーション及びスマート契約を作成できる画期的なブロックチェーンである。
【0005】
このようなイーサリアムブロックチェーンは、ビットコインブロックチェーンとは幾つかの相違点を有するが、多くの点で類似している。イーサリアムには、ビットコインと同様に、全てのトランザクションがネットワークの全てのノードで処理されなければならないという欠陥がある。つまり、高度な作業証明方式のイーサリアムも、既存の作業証明方式は競争的な合意アルゴリズムを使用することで莫大なエネルギーを消耗し、検証者はさらに他の中央集権を形成するため、脱中央化を保障することは容易ではなく、取引処理速度の面(二重払い防止の確認時間:6分~10分)で、実際の商用サービスに適用しにくいものと考えられ、ノードが増加するほど、互いに検証する回数が大幅に増加し、合意速度がさらに遅くなるため拡張性を保障することが難しく、イーサリアム内での無欠性を確保するために生成されたガス(gas)は、イーサリアムプラットフォームの内部通貨であるイーサ(Ether)の価値が上昇するにつれて、取引手数料がますます無視できないレベルになるという問題がある。
【0006】
このような既存のブロックチェーンの問題点を改善し、より良いブロックチェーンの基盤を構築するために様々な試みと研究が行われている。
【0007】
まず、作業証明合意アルゴリズムの問題点を解決するために、持分証明(PoS、Proof of Stake合意アルゴリズム)[King、Sunny、and Scott Nadal.「Ppcoin:Peer-to peer cryptocurrency with proof-of-stake.」 URL:https://decred.org/research/king 2012.pdf(2012)]が登場した。持分証明合意アルゴリズムは、検証者が保有した暗号通貨の持分に比例して意思決定の権限を有する合意アルゴリズムを総称して指す用語である。持分証明方式は、作業証明とは異なり、計算(エネルギー)集約的な作業を必要としないため、作業証明において必要であった莫大な電力消耗の問題を解決し、作業証明に比べて51%の攻撃をより効果的に防ぐことができる。しかし、持分証明も依然として取引処理速度、脱中央化、及びセキュリティ性などの問題点が提起されており、このような問題点を解決するために、関連研究が持続的に進められている。
【0008】
ピアコイン[King,Sunny,and Scott Nadal.「Ppcoin:Peer-to peer crypto-currency with proof-of-stake.」 URL:https://decred.org/research/king2012.pdf(2012)]は、持分証明合意アルゴリズムを導入した最初の暗号通貨であって、コイン年齢を導入した持分証明方式と作業証明とを融合して純粋作業証明における莫大なエネルギー消耗の問題を解決したが、コインの保有期間を悪意的に増やして新たなチェーンをメインチェーンにする長距離攻撃が可能である問題点を防止しようとするチェックポイントは、開発者が任意に選定するため、これがピアコインの脱中央性を低下させる。
【0009】
Nxt[Popov,Serguei.「A probabilistic analysis of the nxt forging algorithm.」 Ledger 1(2016):69-83]は、純粋に持分証明方式(持分証明合意アルゴリズムのみを使用)のみで実現された最初の暗号通貨であって、ブロックの生成過程に参加するためには、一つのアカウントに1,440個のブロックが生成される間、持分をかけておき、ブロック生成のための基本目標値より小さいハッシュ値を見つけると、ブロックを生成することができるが、基本目標値は、以前のブロックの値に基づいて生成されるため、以前のブロックの生成者が意図的に自分に有利な値を挿入すると、独占が発生するという問題点がある。
【0010】
イーサリアムは、2022年9月、イーサリアム2.0(現在は「アップグレード」と通称している)を発表し、作業証明から持分証明への合意アルゴリズムの転換を予告した。イーサリアム2.0は、「間違ったチェーンに投票したときに処罰する方式」を利用して解決しようとするものである。具体的な合意アルゴリズムに対する議論過程において、作業証明と持分証明とが混合された形であって、ヴィタリック・ブテリンが主導するCasper FFG(friendly finality gadget)と、純粋持分証明を使用し、ブラッド・ザムフィール(Vlad Zamfir)が主導するCasper CBC(correct by construction)とに分かれた。これらは、検証者の最も最近のメッセージに基づいて、最も多くの検証者が好むチェーンをメインチェーンにするものであり、最も長いチェーンをメインチェーンにする方式と類似しているように見えるが、頻繁な分岐が発生したときに少数の検証者が悪意的な行動を行っても多数の検証者には決して勝てないという点で利点がある。
【0011】
次に、データのサイズがますます巨大になっているため、全てのデータをブロックチェーンに結合させるにはブロックの容量を過度に大きくする必要があり、これにより速度が著しく遅くなり、手数料も高くなるという欠点が生じる。これを克服するための様々な研究が行われている。
【0012】
Segregated Witness(SegWit)は、ビットコイン専用として拡張性及びTPS(Transaction per Second、毎秒当たりの取引量)を高めるための方法である。ビットコインのトランザクションの構成要素の中で取引情報と署名を分離し、トランザクションの有効性検査時にのみ必要な要素である署名が占める部分を除去し、取引情報で満たせば、かなり多くの取引情報を収めることができる。
【0013】
ブロックサイズの拡張方法は、文字通りブロックのサイズを拡張して一つのブロックに入るトランザクションの個数を増やす方法である。最も単純且つ実装が簡単な方法ではあるが、これは、単位時間当たりより多くのトランザクションを処理しなければならないことを意味するため、費用的な負担により、採掘者による中央化がなされる可能性があるという欠点がある。
【0014】
Sharding(シャーディング)は、ネットワークをビジネスドメインとは関係なくトランザクションを水平的に分割するシャード(Shard)単位に分けてブロックチェーンのデータを分散格納し、一つのノードが検証すべきデータを分割するOn-chain方式である。既存のイーサリアム検証方式は、全てのノードがブロック全体を格納してトランザクションを処理しなければならないため、速度が遅くなるが、シャーディング方式を使用すると、シャード単位でブロックチェーンデータを分割して格納し、トランザクションを処理するため、一つのノードが検証すべきデータの量が減少し、速度が全体的に向上できる。しかし、シャード単位数が多くなると、複数個のシャード間の伝送は、インターシャードトランザクションが増加するため、むしろ性能を低下させることがある。
【0015】
イーサリアムのデータは、Merkle patricia treeの形で格納されるが、これはMerkle treeとPatricia treeの結合形態であって、Key-valueマッピングと各ノードがhash値を保有する特徴を有している。Merkle patricia treeは、extension node、branch node、leaf nodeの3種類のノードで構成されているが、B+treeと融合させて格納されるデータの種類や状況に応じて使用されるツリーを二元化してbranch nodeの空間効率性とデータ検索効率性を増大させるものである。Merkle patricia treeから入ってくるデータ量が少ないと、branch nodeにあった空き空間を減らし、基本探索から順次探索まで効率的に実行できる。データの量が多いときには、前述のツリーを使用すると、ツリーの深さが深まることができるため、既存のMerkle patricia treeを使用する。
【0016】
しかし、前述した現在の需要者が使用しているか、又はさらに研究されている従来のブロックチェーンシステムは、いずれも商用サービスのための取引処理速度に達しておらず、拡張性に限界があるか、又は拡張時に速度が著しく遅くなるという問題点がある。
【発明の概要】
【発明が解決しようとする課題】
【0017】
本発明は、上記のような従来技術の問題点を改善するためのものであって、商用ブロックチェーンネットワーク全体の欠陥が、既に設定された割合を超えることなく、システムを正常に動作させることで、商業サービスに有用な取引処理速度及び拡張性、脱中央化、セキュリティ性を保障する非競争的合意アルゴリズムとマイクロチェーンアーキテクチャを用いたブロックチェーンシステム(ブロックチェーンシステム名:Equilibrium)及び方法を提供することにその目的がある。
【0018】
また、本発明のブロックチェーンシステムであるEquilibriumは、商業サービスに有用な取引処理速度及び拡張性、脱中央化、セキュリティ性を保障するための新たな非競争的合意とマイクロチェーンアーキテクチャを提案し、取引処理の速度を高め、ほぼ無制限に拡張することができ、取引手数料を大幅に下げ、ストレージの問題を解決する分散型商用サービスのためのブロックチェーンソリューションを提供することにその目的がある。
【課題を解決するための手段】
【0019】
本発明の一実施形態は、商業サービスに有用な取引処理速度及び拡張性、脱中央化、セキュリティ性を保障するための非競争的合意アルゴリズムとマイクロチェーンアーキテクチャを用いたブロックチェーンシステム及び方法に関するものである。
【0020】
まず、本発明の一実施形態による非競争的合意アルゴリズムを用いたブロックチェーンシステムは、高速の取引処理速度を達成するものであって、持分証明合意アルゴリズムを使用し、本発明の一実施形態によるノード(Nodes)は、合意に参加せずに元帳のみを共有するノンイコライザ(non-Equalizer)ノードと、周辺の上記ノンイコライザノードと周辺の他のイコライザノードと連結されて他のノードの情報を収集し、合意に参加して検証を行うイコライザ(Equalizer)ノードと、を含むことができる。
【0021】
合意に参加したイコライザ(Equalizer)ノードのうち、ブロック提案者が提案したブロックに対して投票を行い、且つ上記投票は、様々な方法の持分照明合意アルコリズムにおいて検証者の役割を果たす特定提案に対して持分を有するイコライザノード数の2/3を超える投票数によって同意がなされる。上記投票段階で、イコライザノード数の2/3を超えない場合には、投票を中止せずにイコライザノード数の2/3を超えるまで、次のラウンドでも引き続き投票が試みられる。
【0022】
ここで、アカウントを介してノードを作成し、イコライザになるためには、ノードのアカウント残額から最小のステーキング(staking)量以上のコインをステーキング(staking)しなければならない。持分のないノードはノンイコライザとしての役割を果たす。
【0023】
また、本発明の一実施形態によれば、新たに発生したトランザクションは各イコライザノードに割り当てられ、上記イコライザノードの合意されていないトランザクションのハッシュを変換したキー値と個人キーの署名を含むトランザクションが格納される臨時トランザクション格納所であるメンプール(mempool)を含むことができる。新規ブロックを生成するためのトランザクションがメンプール内にないと、上記トランザクションを追加して他のイコライザノードに伝播し、上記トランザクションがあると、如何なる処置も取らない。上記メンプールのトランザクションは、トランザクションを引き起こした個人キーの署名を含んでいるため、偽造することができず、またトランザクションを受けてメンプールに格納するイコライザノードは、上記メンプールに格納されたトランザクションを他のイコライザノードに伝播するため、任意に削除することもできない。ノードの電源が切れてメモリが初期化されても、全てのトランザクションが他のイコライザノードに伝播されるため、特定のトランザクションが欠落することもない。
【0024】
このとき、本発明の一実施形態によれば、上記イコライザノードは、合意過程とは無関係にトランザクション要請を介して上記トランザクションを受信し、受信されたトランザクションに対する有効性検査を行った後、上記メンプールに上記トランザクションを格納することができる。
【0025】
次に、本発明の一実施形態によるマイクロチェーンアーキテクチャを用いたブロックチェーンシステムは、従来のコンピュータネットワークのマイクロサービスアーキテクチャに基づくアイデアをブロックチェーンに適用し、各ビジネスドメイン別に取引を格納して処理するため、干渉を最小化する方法、すなわち、商業サービスにおけるビジネスの拡張性を無制限に増やしながらも、マイクロチェーンは障害隔離及び干渉を最小化した状態で作動することができるため、取引処理速度が低下しないものであって、ブロックチェーンサービスを提供するネットワークを含み、上記ネットワークは、チェーン間のコミュニケーションプロトコルに従って他のマイクロチェーンと通信し、コインの発行又は焼却を行うブロックチェーンメインネットと、上記各メインネット上でコインを用いて行われるスマート契約の締結が各トランザクションの領域に応じて作動される複数のマイクロチェーンを含むマイクロチェーンアーキテクチャで構成されることができる。上記マイクロチェーンアーキテクチャは、それぞれのマイクロチェーンを連結するためにはメインネットを経由しなければならず、このとき伝達される情報はトークンやコインに限られた情報のみを扱うことになる。
【0026】
一方、本発明の一実施形態による非競争的合意アルゴリズムとマイクロチェーンを用いたブロックチェーン方法は、上述したブロックチェーンシステムにおいて、ブロック提案者として選択されたイコライザノードが、合意のためのトランザクションが含まれたブロックを生成し、他のイコライザノードに伝播する提案段階(propose stage)と、上記ブロック(トランザクション)を受信した他のイコライザノードが受信されたブロック(トランザクション)の有効性に対して検証を行い、検証が完了すると、他のイコライザノードに事前投票を伝播する事前投票段階(prevote stage)と、既に設定された割合を超えるイコライザノードが事前投票を伝播すると、上記ブロック(トランザクション)を合意に一致させるように上記イコライザノードの提案に対する投票を行い、他のイコライザノードに個人キーで署名された投票結果を伝播する投票段階(vote stage)と、上記既に設定された割合を超えるイコライザノードの投票結果が収集されてブロック(トランザクション)が確定されると、各イコライザノードが、提案されたブロック内のトランザクションを実行し、提案を確定してデータベースに入れるコミット段階(commit stage)と、を含むことができる。上記投票段階で提案されたブロックは、他のブロックを積み上げていない状態で検証を受け、上記提案されたブロックに対する投票が行われて、定足数を超える投票を受けて完全な合意がなされた後に、上記提案されたブロックにブロックが積み上げられ、新たなブロックが生成される。
【0027】
本発明の一実施形態によれば、合意段階の進行に関係なく、トランザクション要請があるときにトランザクションを受信し、上記トランザクションに対する有効性検査が完了すると、要請された上記イコライザノードのメンプールに格納される段階と、上記メンプールに格納されるトランザクションが他のイコライザノードに伝達される段階と、をさらに含むことができる。
【0028】
本発明の一実施形態による上記提案段階の前に、ラウンドロビン方式によって各イコライザノードが優先順位を取得し、割り当てられた上記優先順位が最も高いイコライザノードをブロック提案者として選択する段階を含むことができる。
【0029】
本発明の一実施形態による上記提案段階は、合意のためのトランザクションを生成するように各イコライザノードのメンプールに格納されたトランザクションのうち、現在のアカウントのノンスから順次に増加するアカウントのノンス(nonce)を有するトランザクションのみを統合してトランザクションリストを生成する段階と、上記トランザクションリストに対する高さ、ラウンド、及びブロックを含む提案書をハッシュして個人キーで署名する段階と、を含むことができる。
【0030】
本発明の一実施形態による上記投票は、様々な方法の持分証明合意アルゴリズムにおいて、検証者としての役割を果たす特定の提案に対して持分を有するイコライザノード数の2/3を超える投票数によって同意がなされる。これによって、本発明は、簡単な合意手続と迅速な処理が可能であるため、低仕様のコンピュータを有するノードも本発明の合意手続への参加が可能である。
【0031】
本発明の一実施形態による上記コミット段階は、上記既に設定された割合を超えるイコライザノードの投票結果が収集され、トランザクションが確定されると、各イコライザノードが提案したブロック内のトランザクションを実行し、確定された提案をデータベースに入れる。もし、既に設定された割合を超えるイコライザノードの投票結果が収集されないか、又は既に設定された時間内に有効な提案が受け付けられない場合、上記イコライザノードはラウンドを一段階増加させ、提案段階から継続して再実行することができる。
【発明の効果】
【0032】
本発明の商業サービスに有用な非競争的合意アルゴリズムと障害隔離及び干渉の最小化のためのマイクロチェーンアーキテクチャを用いたブロックチェーンシステムによれば、欠陥が全体の既に設定された割合を超えないと、システムが正常に動作できるようにして、単一のマイクロチェーンにおいて取引処理の速度(例:4,500tps)を大幅に高め、確認時間(例:1~3秒)を大幅に短縮させ、ほぼ無制限に拡張性を達成することができ、取引手数料を大幅に減らし、ストレージの問題を解決する分散型商用サービスのためのブロックチェーンソリューションを提供できるという効果を有する。
【0033】
また、本発明は、簡単な合意手続と迅速な処理により、低仕様のコンピュータを有するノードも合意手続への参加が可能であるという効果を有する。
【図面の簡単な説明】
【0034】
【
図1】本発明の一実施形態による商業サービスに有用な取引処理速度及び拡張性を保障するためのアカウント状態構造を示す。
【
図2】本発明の一実施形態による商業サービスに有用な取引処理速度及び拡張性を保障するためのトランザクション構造を示す。
【
図3】本発明の一実施形態による商業サービスに有用な取引処理速度及び拡張性を保障するためのブロック構造を示す。
【
図4】本発明の一実施形態による商業サービスに有用な取引処理速度及び拡張性を保障するためのマイクロチェーンを用いたブロックチェーンシステムのマイクロチェーンアーキテクチャを示す。
【
図5】本発明の一実施形態による商業サービスに有用な取引処理速度及び拡張性を保障するための非競争的合意アルゴリズムとマイクロチェーンを用いたブロックチェーンシステムのノンイコライザノードとイコライザノードからなるマイクロチェーン構造を示す。
【
図6】本発明の一実施形態による商業サービスに有用な取引処理速度及び拡張性を保障するための非競争的合意アルゴリズムとマイクロチェーンを用いたブロックチェーン方法のフローチャートを示す。
【
図7】本発明の一実施形態による商業サービスに有用な取引処理速度及び拡張性を保障するための非競争的合意アルゴリズムとマイクロチェーンを用いたブロックチェーン方法の合意過程を示す。
【
図8】本発明の一実施形態による商業サービスに有用な取引処理速度及び拡張性を保障するための非競争的合意アルゴリズムとマイクロチェーンを用いたブロックチェーン方法の提案段階を示す。
【
図9】本発明の一実施形態による商業サービスに有用な取引処理速度及び拡張性を保障するための非競争的合意アルゴリズムとマイクロチェーンを用いたブロックチェーン方法の投票段階を示す。
【
図10】本発明の一実施形態による商業サービスに有用な取引処理速度及び拡張性を保障するための非競争的合意アルゴリズムとマイクロチェーンを用いたブロックチェーン方法のコミット段階を示す。
【
図11】本発明の一実施形態によるマイクロチェーン間の連動ソリューションアーキテクチャを示す。
【
図12】本発明の一実施形態によるEquilibriumブロックチェーンネットワークの取引処理時間を示す図である。
【
図13】本発明の一実施形態によるEquilibriumブロックチェーンネットワークに与える負荷回数と処理量によるノード仕様別TPSの個数を示すグラフである。
【発明を実施するための形態】
【0035】
前述の態様及び追加の態様は、添付の図面を参照して説明する実施形態によって具体化される。
【0036】
本発明の実施形態は、本発明の技術的思想と事業方法を説明するための目的で例示されたものである。本発明による権利範囲は、以下に提示される実施形態やこれらの実施形態に対する具体的な説明に限定されるものではない。
【0037】
本発明で使用される全ての技術的用語及び科学的用語は、他に定義されない限り、本発明が属する技術分野において通常の知識を有する者に一般に理解される意味を有する。これは、当分野に従事する技術者の意図又は判例、新たな技術の出現などによって変わり得る。したがって、本発明で使用される用語は、単なる用語の名称ではなく、その用語が有する意味と本発明の全体にわたる内容に基づいて定義されるべきである。本発明で使用される全ての用語は、本発明をより明確に説明するための目的で選択されたものであり、本発明による権利範囲を制限するために選択されたものではない。
【0038】
本発明で使用される「含む」、「備える」、「有する」などのような表現は、当該表現が含まれる語句又は文章において特に制限して言及しない限り、他の実施形態を含む可能性を含む開放型用語(open-ended terms)として理解されるべきである。
【0039】
本発明で述べられた単数形の表現は、特に断りのない限り、複数形の意味を含むことができ、これは特許請求の範囲に記載された単数形の表現にも同様に適用される。
【0040】
図面の各ブロックは、ある場合において物理的な部品を表すことがあるが、また他の場合において、一つの物理的な部品の機能の一部又は複数の物理的な部品にわたる機能の論理的な表現であり得る。場合によっては、ブロック又はその一部の実体はプログラム命令語の集合(set)であり得る。このようなブロックは、全部又は一部がハードウェア、ソフトウェア、或いはこれらの結合により実現されてもよい。
【0041】
各実施形態の構成要素は、他の言及又は相互間の矛盾がない限り、実施形態内で様々な組み合わせが可能なものとして理解される。
【0042】
以下では、添付の図面を参照し、本発明が属する技術分野における通常の知識を有する者が容易に実施できるように、実施形態について詳細に説明する。しかし、本発明は様々な異なる形式で実現されてもよく、ここで説明する実施形態に限定されない。
【0043】
図1~
図3は、それぞれ本発明の一実施形態による商業サービスに有用な取引処理速度及び拡張性、脱中央化、セキュリティ性を保障するための非競争的合意アルゴリズムを用いたブロックチェーンシステムの「アカウント状態構造」、「トランザクション構造」、「ブロック構造」を示したものである。
【0044】
図1に示すように、一実施形態として、本ブロックチェーンネットワークにおいて、「状態(state)」は「アカウント(account)」と呼ばれるオブジェクト(object)で構成され、各ノードのアカウントは「0x」で始まる20バイトのアドレスで表示され、個人キーで制御され、ノンス(nonce)、残額(balance)、コード(code)、ストレージ(storage)などのフィールドを含むことができる。
【0045】
上記「ノンス(nonce)」は、現在まで上記アカウントで生成されたトランザクションのうち合意されたトランザクションの数を示し、ノンスを介して特定のアカウントで生成されたトランザクションの重複又は欠落を防止することができる。これにより、ネットワークの他の参加者が特定のアカウントのトランザクションを複製する再生攻撃を防止し、欠落を防止して特定のアカウントのトランザクションが順次に処理されるようにする。
【0046】
上記「残額(balance)」は、ネットワーク内で通貨として使用されるコインの残高であり、各ノードのアカウントにコインがステーキングされるとき、上記ノードはイコライザノードとなり得る。上記残額は、イーサリアムブロックチェーンのアカウントとは異なり、メインネット120の残額と互いに干渉しないマイクロチェーン残額とに分かれる。
【0047】
上記「ハッシュコード(Hash Code)」は、スマートコントラクトのアカウントコードを表すことができ、トランザクションが実行される度にスマートコントラクトのコードを呼び出すことができる。
【0048】
上記「ストレージ(Storage)」は、アカウントの状態を示す格納所を意味する。
【0049】
一実施形態として、「アカウントの状態」を変更するためには、新たなトランザクションを生成し、上記トランザクションに個人キーで署名しなければならない。新たな取引が本ブロックチェーンシステムに送られると、上記システムは取引を適用するためにアカウントの状態を確認し、条件が正確である場合、システムはトランザクションを実行して状態を変更する。
【0050】
また、
図2に示すように、本発明の一実施形態によるトランザクションは、アカウントがネットワーク内で状態変更を要請するために署名されたデータパッケージを表し、それぞれのトランザクションはchainID、from、to、data、ノンス、value、署名(signature)フィールドを含むことができる。
【0051】
上記「chainID」フィールドは、対象チェーンIDを示し、他のチェーンに対するトランザクションの再生攻撃を防止することができる。また、上記「from」はトランザクションを発生させるアカウントであり、上記「to」フィールドはトランザクションが伝達される取引対象のアカウントである。
【0052】
上記「data」は、アカウントがEOA(External Owned Account、外部所有アカウント)とCA(Contract Account、契約アカウント)の二つの種類のアカウントのうち、CAアカウントである場合、アカウントの状態を変更するアカウントコードを実行するためのフィールドである。ここで、EOAとCAの相違点は「ハッシュコード」フィールドと「ストレージ」フィールドにある。EOAは、単にアカウントの残額を格納するため、ハッシュコードとストレージフィールドは空いているのに対し、CAはハッシュコードとストレージフィールドにそれぞれ契約コードと契約状態を格納することができる。
【0053】
上記「value」フィールドは、対象口座に振り込むコインの量を意味し、上記「署名」(signature)(V、R、S)は、コインの共通標準であって取引の出所を確認する役割を果たすことができる。
【0054】
また、
図3に示すように、本発明の一実施形態による合意及び検証された取引に対する結果を格納するデータ単位であるブロック構造が含むフィールドとして、「parent hash」は、最も最近の(現時点でのブロックチェーンネットワーク上において最高の高さにある)ブロックハッシュであり、「parent hash」、「time」、「bloom」は、ブロックチェーン技術において標準として使用される値を意味する。「coinbase」は、合意のためのトランザクションが含まれた提案を生成するノードのアカウントアドレスであり、「root」は状態のMerkle hash、「Txハッシュ」はブロックに含まれたトランザクションのハッシュである。
【0055】
ブロックのトランザクションが処理されると、各トランザクションに対する領収書が生成され、ここには、当該トランザクションの処理中の実行結果とイベントが含まれるが、「receipt hash」は特定ブロックのトランザクションに対する領収証のSHA-256ハッシュを示し、「number」は当該ブロックのインデックスであり、「gas limit」はブロックの全てのトランザクションが使用できる最大のガス限度を定義する値であり、「gas used」はブロックのトランザクションに使用された総ガスである。本発明のEquilibriumネットワーク合意のために、ブロックハッシュ値はブロックヘッダのハッシュを使用して演算されることができる。「extraDATA」に「round」、「Validator」、「Votes」の項目を追加し、上記「round」は当該ブロックが合意されて生成される時点を示す自然数の値であり、提案されたブロックに対する検証のための投票段階において定足数以上の結果が得られない場合には、短時間内に提案されたブロック(トランザクション)の進行(liveness)が行われるように再投票が実施されるようにする。
【0056】
本発明の一実施形態によるノード(Nodes)には、イコライザノード220とノンイコライザノード210の二つの種類がある。ノードは、ネットワークの「ステーキング(staking)政策」に従ってイコライザノード220又はノンイコライザノード210となり得る。
【0057】
アカウントを介してノードを作成し、イコライザノード220になるためには、ノードのアカウント残額から最小ステーキング量以上のコインをステーキングして持分を有する必要がある。最小ステーキング量以上のコインを最小ステーキングした全てのイコライザノード220は、ステーキング量の差にもかかわらず同じ投票力を有し、これにより、本発明は迅速かつ容易にブロック提案者221を決定することができる。また、全てのノードが合意に参加せず、最小ステーキング量以上のコインをステーキングしたイコライザノード220のみが合意に参加するため、投票時間も短縮することができる。検証者としての役割を果たすイコライザノード220は、ネットワークの他のイコライザノード220と合意に参加し、元帳を読み書きすることができる権限を有する。
【0058】
本発明の一実施形態による上記イコライザノード220は、相互間の同意がない状態で受信された要請を処理した後にその結果を通知しないが、合意過程で処理された要請に関連するデータで応答することで、イコライザノード220の相互間の同期化を行うことができる。
【0059】
一方、持分のないノードは基本的なノンイコライザ(non-Equalizer)としての役割を果たす。ノンイコライザノード210は、合意に参加せずにリアルタイムで元帳のみを共有するノードであって、ネットワークにおいてデータを使用し、付加的なサービスを提供しようとする2次事業者らが使用するノードである。
【0060】
イコライザ(Equalizer)ノード220は、周辺の上記ノンイコライザノード210と周辺の他のイコライザノード220と連結され、他のノードの情報を収集し、合意に参加して検証を行うノードである。
【0061】
検証者としての役割を果たすイコライザノード220は、ネットワークの他のイコライザノード220と合意に直接参加し、元帳を読み書きすることができる権限を有してブロックを生成し、ネットワークを維持する役割を果たす。ノンイコライザノード210は、合意に参加せずにリアルタイムで元帳のみを共有するため、ネットワーキング、データ受信及び確認プロセスを軽減することができる。すなわち、取引処理速度が速くなることができる。
【0062】
本発明の一実施形態による上記イコライザノード220は、相互間の同意がない状態で受信された要請を処理した後にその結果を通知しないが、合意過程で処理された要請に関連するデータで応答することで、イコライザノード220の相互間の同期化を行うことができる。
【0063】
また、本発明の一実施形態によれば、新たに発生したトランザクションは、各イコライザノード220に割り当てられ、上記イコライザノード220の合意されていないトランザクションのハッシュを変換したキー値と個人キーの署名を含むトランザクションが格納される臨時トランザクション格納所であるメンプール(mempool)を含むことができる。新規ブロックのトランザクションがメンプール内にないと、上記トランザクションを追加して他のイコライザに伝播し、上記トランザクションがあると、如何なる処置も取らない。上記メンプールのトランザクションは、トランザクションを引き起こした個人キーの署名を含んでいるため、偽造することができず、また、トランザクションを受けてメンプールに格納するイコライザノード220は、上記メンプールに格納されたトランザクションを他のイコライザノード220に伝播するため、任意に削除することもできない。ノードの電源が切れてメモリが初期化されても、全てのトランザクションが他のイコライザノード220に伝播されるため、特定のトランザクションが欠落することもない。
【0064】
このとき、本発明の一実施形態によれば、上記イコライザノード220は、合意過程とは無関係にトランザクション要請を介して上記トランザクションを受信し、受信されたトランザクションに対する有効性検査を行った後、上記メンプールに上記トランザクションを格納することができる。
【0065】
本発明の一実施形態による商業サービスに有用な取引処理速度及び拡張性、脱中央化、セキュリティ性を保障するための非競争的合意アルゴリズムとマイクロチェーン110を用いたブロックチェーンシステムは、ブロックチェーンサービスを提供するネットワークを含み、上記ネットワークは、ネットワーク全体を維持するためにコインを発行して焼却する複数のメインネット120と、上記メインネット120上に様々なビジネス領域に応じて生成された複数のマイクロチェーン110がある。メインネット120は、連動ソリューション(Linking Solution)と呼ばれるチェーン間のコミュニケーションプロトコルを介して全てのマイクロチェーン110と通信するマイクロチェーンアーキテクチャで構成されることができる。
【0066】
従来のブロックチェーンでは、全てのビジネススマート契約が一つのチェーンで作動し、全てのノードがスマート契約の同じビジネスロジックを同時に実行することにより、処理速度が異なるスマート契約の干渉を引き起こすが、本発明のEquilibriumネットワークは、互いに異なるビジネスドメインが互いに相互作用しなければならない場合を除いては、互いに如何なる干渉も行わない。すなわち、本発明の一実施形態による上記マイクロチェーン110は、互いに干渉することなく独立してビジネスロジックを行い、上記マイクロチェーン110に対応するスマート契約を実行する異なるビジネスロジックがそれぞれ独立して実行されることができる。これにより、本発明のEquilibriumネットワークは、取引処理の速度が低下することなく、水平的にほぼ無制限な拡張(スケールアウト)が可能である。
【0067】
図4は、本発明の一実施形態による商業サービスに有用な取引処理速度及び拡張性、脱中央化、セキュリティ性を保障するためのブロックチェーンシステムのマイクロチェーンアーキテクチャを示したものであり、
図5~
図11を利用して、本発明の一実施形態について説明する。
【0068】
図4に示すように、本発明の一実施形態によるネットワークは、複数個のマイクロチェーン110で構成されることができ、メインネット120はA~Fマイクロチェーン110と連結され、各A~Fマイクロチェーン110は、互いに独立して分離して実行されることができる。
【0069】
各A~Fマイクロチェーン110はそれぞれ別個のブロックチェーンサービスを提供し、それぞれ異なるビジネスドメインを構築することができる。これにより、各ブロックチェーンサービスごとに処理速度が異なるスマート契約を行いながらも、スマート契約間の干渉を引き起こすことなく独立して実行することができ、マイクロチェーン110を追加しても取引処理速度に及ぼす影響がないため、必要に応じてマイクロチェーン110を追加し続けることによって、本発明の一実施形態によるネットワークを水平的に継続して無制限に拡張することができる。
【0070】
従来のイーサリアム技術は、レイヤ1とレイヤ2が上下関係として従属され、レイヤ2がレイヤ1の信頼を担保にしてロジックを行うことでき、レイヤ1の同意を担保とせずにはレイヤ2を拡張することができなかった。しかし、本発明の一実施形態によれば、コインの発行又は焼却を行うメインネット120は、発行されたコインに応じて各マイクロチェーン110と通信を行い、各A~Fマイクロチェーン110は自身の信頼をそれぞれ担保にしており、メインネット120の同意がなくても、追加的なマイクロチェーンを形成して拡張することができる。言い換えれば、メインネット120とマイクロチェーン110は対等な関係で緩やかに連結され、マイクロチェーン110はそれぞれ独立して自身のビジネスロジックを行うことができ、追加的なマイクロチェーンとの連結により拡張性を確保することができる。
図4を例として、Fマイクロチェーンは、メインネット120と直接連結されずに間接的に連結され、自身と直接連結される別途のマイクロチェーンを連結して拡張することができる。
【0071】
一方、本発明の一実施形態による各A~Fマイクロチェーン110は、それぞれ自身の信頼を担保にしており、一部のビジネスドメインが攻撃を受けたり、ネットワークの過負荷により障害が生じた場合でも、当該ビジネスドメインを除く残りのマイクロチェーン110は、障害が隔離できる。例えば、Aマイクロチェーン110に障害が発生した場合でも、各B~Fマイクロチェーン110は干渉を受けずに独立したビジネスロジックを行うことができる。
【0072】
したがって、本発明の一実施形態によれば、上記複数のマイクロチェーン110は、上記メインネット120と信頼を相互担保にして対等な関係で緩やかに連結され、メインネット120が全ての信頼を負担しないため、拡張性を容易に確保可能であり、各マイクロチェーン110は、独立して行う自身のビジネスロジックにのみ耐えればよい。これにより、各マイクロチェーン110のビジネスロジックに耐えられる程度の低仕様のコンピュータのみでも駆動が可能である。
【0073】
また、一実施形態によれば、少なくとも一つのマイクロチェーン110から上記メインネット120と直接連結されていない新たなマイクロチェーンに拡張することができる。
【0074】
このとき、メインネット120は、チェーン間のコミュニケーションプロトコルのような連動ソリューション(linking solution)を介してマイクロチェーン110と通信を行うことができる。
【0075】
本発明の一実施形態によれば、上記マイクロチェーン110はそれぞれの領域に応じて作動されるように形成されるため、互いに相互作用しなければならない場合を除いては、互いに干渉することなく独立してビジネスロジックを行い、上記マイクロチェーン110に対応するスマート契約を実行する異なるビジネスロジックがそれぞれ実行されることができる。
【0076】
上記マイクロチェーン110は、ビジネスモデルを基準にトランザクションを分割し、マイクロチェーン110内で発生したトランザクションは他のマイクロチェーン110に影響を与えず、内部でのブロック生成にのみ使用される。
【0077】
上記マイクロチェーン110と比較することができるシャーディングの場合は、ビジネスドメインに関係なくトランザクションを水平的に分割する方法であって、同じトランザクションを行う場合、複数個のシャード間の伝送が必要であり、このとき、インターシャードトランザクションが増加するようになるため、むしろ性能が低下する可能性があるという点で、本発明のマイクロチェーンアーキテクチャとは異なる。
【0078】
一実施形態として、マイクロチェーン110は元帳間(an inter-ledger)の通信を行ってチェーン間の資産移動が可能である。
【0079】
また、
図5に示すように、本発明の一実施形態による上記マイクロチェーンアーキテクチャは、合意に参加せずに元帳のみを共有するノンイコライザノード210及び周辺の上記ノンイコライザノード210と周辺の他のイコライザノード220と連結され、他のノードの情報を収集し、合意に参加して検証を行うイコライザノード220を含むことができる。
【0080】
イコライザノード220とノンイコライザノード210は、それぞれ行う役割に応じてネットワークを維持するサービスを提供するノードとネットワークに参加するノードとを分離することができ、ネットワーキングデータの受信及び確認プロセスを軽減することができる。すなわち、取引処理速度が速くなることができる。
【0081】
このとき、イコライザノード220の他のイコライザノード220及びノンイコライザノード210との連結は、要請及び応答で構成されることができる。
【0082】
上記要請及び応答によって連結が成立された状態で、上記イコライザノード220は、相互間の同意がない状態で受信された要請を処理し、その後の合意過程で処理された要請に関連するデータで応答することで、イコライザノード220の相互間の同期化を行うことができる。このとき、部分的な同期化まで含めて同期的に処理されることができる。
【0083】
また、本発明の一実施形態によれば、各イコライザノード220に割り当てられ、上記イコライザノード220の合意されていないトランザクションのハッシュを変換したキー値と個人キーの署名を含むトランザクションが格納されるメンプール(mempool)を含むことができる。
【0084】
一実施形態として、メンプールはメモリであることができ、ネットワークに参加するイコライザノード220にメモリを付与して臨時トランザクション格納所を割り当てることができる。メンプールには個人キーの署名が含まれているため、偽造を防止することができ、メンプールに格納された臨時トランザクションが他のイコライザノード220に伝播されることができ、任意に削除することもできず、ノードの電源が切れてメモリが初期化されても、他のイコライザノード220のメンプールを利用して特定のトランザクションの欠落を防止することができる。
【0085】
このとき、イコライザノード220は、合意過程とは無関係にトランザクション要請を介してトランザクションを受信し、受信されたトランザクションはサイズが有効であるか、データ構造が有効であるか、発信者の現在のノンス値以上であるか否か、発信者のアドレスが有効であるか否か、発信者の署名が有効であるか否か、呼び出すスマート契約があるか否か、スマート契約に含まれた機能が何であるか、呼び出すスマート契約の要素が有効であるか否か等を含む、有効性確認検査(transaction validity check)を経ることができる。全てのトランザクション有効性検査を通過すると、上記トランザクションは、要請されたノードのメンプール内に格納されることができる。
【0086】
上述したネットワークの構成を用いて、イコライザノード220は合意を行うことができる。
【0087】
図6に示すように、本発明の一実施形態による商業サービスに有用な取引処理速度及び拡張性、脱中央化、セキュリティ性を保障するための非競争的合意アルゴリズムを用いたブロックチェーン方法は、大きくpropose(提案)、Prevote(事前投票)、Vote(投票)、及びCommit(コミット)の4段階で構成されることができる。
【0088】
上述したブロックチェーンシステムにおいて、元帳の無秩序を調整するイコライズ(Equalize)は、ブロック提案者221であるイコライザノード220を選択し、ブロック提案者221として選択されたイコライザノード220が合意のためのトランザクションが含まれたブロックを生成し、他のイコライザノード220に伝播する提案段階(S301)、上記ブロックを受信した他のイコライザノード220が、受信されたブロック(トランザクション)の有効性について検証を行い検証が完了すると、他のイコライザノード220に事前投票を伝播する事前投票段階(S302)、既に設定された割合を超えるイコライザノード220が事前投票を伝播すると、上記ブロック(トランザクション)を合意に一致させるように、上記イコライザノード220の提案に対する投票を行い、他のイコライザノード220に個人キーで署名された投票結果を伝播する投票段階(S303)及び上記既に設定された割合を超えるイコライザノード220の投票結果が収集されてブロックが確定されると、各イコライザノード220が提案されたトランザクションを実行してブロックを生成するコミット段階(S304)を含むことができる。
【0089】
上記事前投票段階は、提案書の有効性に対する投票を非算術式論理演算である真偽方式で行う。
【0090】
上記投票段階は、提案されたブロックが他のブロックを積み上げていない状態で検証を受け、上記提案されたブロックに対する投票が行われ、定足数を超える投票を受けて完全な合意がなされた後に、上記提案されたブロックに他のブロックが積み上げられて新たなブロックが生成される。
【0091】
このとき、投票段階で生成された上記ブロックを以前に生成されたブロックに追加して積み上げずに、上記事前投票及び提案に対する投票によって別途生成されるように構成される。
【0092】
これについてより具体的に説明すると、全てのイコライザノード220が同様に他のノードとのコミュニケーションなしに、同じ投票力を有するため、提案段階の以前段階でブロック生成者を誰にするかをより迅速に決定することができる。また、ブロックの選択は、PoWモデルでは、ブロック生成者がトランザクションが含まれたブロックを作成すると、他の検証者がその後に次のトランザクション又は他のブロックを積み上げる方式でブロック全体を検証するため、ビットコインの場合は6個のブロック、イーサリアムの場合は12~20個のブロック長さを有するべきであるが、本発明は、ブロックを別途に積み上げずに、ブロック提案者221が正当に検証したトランザクションが記載されたブロックであるかを確認し、決定された一つのブロックが投票により定足数2/3を超えることで作成され、直ぐに正当なブロックと決定されるため、正当なブロックの確定に次のブロックが影響を与えず、ブロック決定時間を大幅に短縮させることができる。
【0093】
言い換えれば、本発明は、投票段階における検証時に、直ぐに提案されたブロックに他のブロックを積み上げないまま、上記提案されたブロックをネットワークに伝播する。その後、上記提案されたブロックに対する投票を受け、定足数を超える投票を受けて完全に合意した後に、上記提案されたブロックに他のブロックを積み上げて新たなブロックが生成される。一方、ビットコインとイーサリアムのようなPOW方式は、検証時に直ぐに提案されたブロックに新たなブロックが積み上げられ、より高く積み上げられたブロックチェーンを選択し、ブロックが確定されるものであって、本発明とはネットワーク内でのトラフィックにおいて多くの差異がある。
【0094】
また、本発明は、最小ステーキング量を満たすと、全てのノードが同じ投票力を有するため、脱中央化が強化され、外部のネットワーク攻撃者がネットワークを制御するためには、同時により多くのノードを攻撃しなければならないという困難が加重するため、セキュリティ性を大幅に強化することができる。一方、従来のステーキングベースのpBFTアルゴリズムは、従来の合意アルゴリズムよりは相対的に迅速な処理速度を有するが、ステーキング量が多いほど、補償が多く得られる構造であるため、貧富の二極化現象が発生する可能性があり、ネットワークの脱中央性を阻害することがあり、且つ、従来の高いステーキング量が高い投票力を行使できる上記pBFT合意アルゴリズム(PoS)は、外部の攻撃者が攻撃ポイントを容易に把握することができ、ステーキング量の多いノードを攻撃してネットワークをより効果的に制御することができるため、相対的にセキュリティ性が弱い。例えば、外部のネットワーク攻撃者は、従来のステーキングベースのpBFTアルゴリズムに対して高いステーキング量を有する21個のノードを特定すれば、いつでも攻撃することができる。
【0095】
さらに、本発明の一実施形態によれば、最小ステーキング量以上のコインをステーキングしたイコライザノード220は、ビザンチン障害に耐えるように演算された最小ノード個数に応じて同じ投票力を有するイコライザノード220の中でランダムに決定され、上記最小ノード個数以上の決定されたイコライザノード220は、合意に参加して上記スマート契約の検証を行うことができる。
【0096】
悪意のあるノードがネットワークを無効にすることを防止するために、投票に参加する最小ノード個数を設定し、設定されたノード個数だけランダムに決定する。ランダムにノードを決定する決定方式は、公知の様々な方式で決定することができ、制限されない。
【0097】
また、本発明が事前投票段階及び投票段階のように2回の投票を行う理由は、悪意のあるノードがネットワークを無効にすることを二重に強化させるためのものである。
【0098】
本発明の一実施形態によれば、合意段階の進行に関係なく、トランザクション要請があるときにトランザクションを受信し、上記トランザクションに対する有効性検査が完了すると、要請された上記イコライザノード220のメンプールに格納される段階と、上記メンプールに格納されるトランザクションが他のイコライザノード220に伝達される段階と、をさらに含むことができる。
【0099】
また、従来の作業証明合意アルゴリズムでは、新たなブロックを生成するための採掘(Mining)のためには、高仕様のコンピュータが必要であったが、本発明は、簡単な合意手続と迅速な処理により低仕様のコンピュータを有するノードも合意手続への参加が可能であるという効果を有する。すなわち、低仕様のコンピュータを有するノードは、誰でも容易に本発明のブロックチェーンシステムに参加して合意手続に参加することができる。
【0100】
図7に示すように、本発明の一実施形態による上記提案段階S301の前に、ラウンドロビン方式によって各イコライザノード220が優先順位を取得し、割り当てられた上記優先順位が最も高いイコライザノード220をブロック提案者221として選択する段階(Proposer Election)を含むことができる。
【0101】
特定のラウンド(round)のブロック提案者221は、イコライザノード220全体のうち、ランダムに選択された一定数のイコライザノード220の中からランダムに選択されることができる。
【0102】
ノードが同じ元帳を維持する場合、特定のラウンドでイコライザノード220が選択した提案者は全て同じである。提案者ノードは提案書を生成し、他のノードは提案者ノードの提案を待機しなければならない。
【0103】
一実施形態として、「提案段階S301」は、合意のためのトランザクションを生成するように各イコライザノード220のメンプールに格納されたトランザクションのうち、現在のアカウントのノンスから順次に増加するアカウントのノンス(nonce)を有するトランザクションのみを統合してトランザクションリストを生成する段階を含むことができる。
【0104】
例えば、アカウントAの現在のノンスが20である場合、ソースアドレスがAアドレスであるトランザクションノンスは、20、21、22となるトランザクションでトランザクションリストを生成することができる。
【0105】
このとき、
図8に示すように、各イコライザノード220に割り当てられたメンプールに格納されたトランザクションを、提案者であるイコライザノード220に伝達することができ、提案者はアカウントのノンス値を確認してトランザクションリストが生成されることができる。
【0106】
本発明の一実施形態によれば、合意段階の進行に関係なくトランザクション要請があるときにトランザクションを受信し、上記トランザクションに対する有効性検査が完了すると、要請された上記イコライザノード220のメンプールに格納される段階、及び上記メンプールに格納されるトランザクションが他のイコライザノード220に伝達される段階をさらに含むことができる。
【0107】
言い換えれば、イコライザノード220は、合意段階を行うために提案者であるイコライザノード220にトランザクションを伝達することもでき、他の実施形態として、合意段階とは無関係に、上記のような有効性検査が完了したトランザクションをメンプールに格納し、格納されたトランザクションを他のイコライザノード220に伝達することもできる。
【0108】
さらに、一実施形態として、上記トランザクションリストに対する高さ、ラウンド、及びブロックを含む提案書をハッシュして個人キーで署名する段階を含むことができる。
【0109】
提案書は、トランザクションリストに含まれたトランザクションに対する高さ(height)、ラウンド(round)、ブロック(block)、署名(signature)フィールドを含み、署名に個人キーで署名した後、他のイコライザノード220に伝播することができる。
【0110】
一実施形態として、提案者として選択されたイコライザノード220は、合意のためのトランザクションである提案書をブロードキャストして他のイコライザノード220に伝播することができる。
【0111】
一方、「事前投票段階S302」は、如何なる提案に投票するかを決定する段階であり、提案者から提案書を受け取ったイコライザノード220は、上記提案書の有効性を検証することができる。
【0112】
例えば、提案書の提案が有効な提案者から受信されたものであるか否か、提案書に有効なブロックが含まれているか否か、提案書の署名が有効であるか否かを検証することができる。
【0113】
事前投票段階において提案書の有効性に対する投票は、非算術式論理演算である真偽方式で行われる。
【0114】
一実施形態として、
図8に示すように、提案が有効なものと見なされると、イコライザノード220は事前投票を他のイコライザノード220に伝播することができ、特定の提案に対して全イコライザノード220数の2/3を超える事前投票がある場合、提案が有効なものと見なし、投票段階S303を行うことができる。すなわち、既に設定された割合は、全イコライドノード220の数又はランダムに選択された一定数のイコライザノード220の中からランダムに選択された数の2/3を意味することができる。
【0115】
本発明の一実施形態による「投票段階S303」も、
図9に示すように、イコライザノード220が投票結果を他のイコライザノード220に伝播することができる。
【0116】
このとき、投票結果は、提案書のラウンド(round)、高さ(height)、提案書のハッシュ(proposal hash)を含む投票に個人キーで署名(signature)されたことを意味することができる。
【0117】
また、
図9に示すように、合意に参加するイコライザノード220間で投票結果(votes)をやり取りし、特定の提案に対して全イコライザノード220数の2/3を超える得票がある場合、当該提案が有効であると見なし、コミット段階S304を行うことができる。すなわち、既に設定された割合が事前投票段階S302と同様に、全イコライザノード220数又はランダムに選択された一定数のイコライザノード220の中からランダムに選択された数の2/3を意味することができる。
【0118】
一方、本発明の一実施形態による上記「投票段階S303」は、既に設定された割合を超える(イコライザノード数の2/3)のイコライザノード220の投票結果が収集されないか、又は既に設定された時間内に有効な提案が受け付けられない場合、既に設定された時間や割合条件を満たさないと、投票結果が有効でないと見なされる。しかし、本発明の上記イコライザノード220は、既に設定された割合を超える(イコライザノード数の2/3)まで継続してラウンドを1段階増加させ、提案段階から再実行して投票が試みられることができる。
【0119】
既存のpBFT方式は、投票段階において定足数以上の結果が得られない場合には、次のブロックを積み上げることができず、定足数を満たすまで待機し、提案されたブロックの進行(liveness)を保障できないという欠点がある。この場合、提案されたブロック(トランザクション)が処理できないか、又は処理の可否が不明となり、商業的な使用には困難があるという欠点が生じる。しかしながら、本発明は、上記欠点を解消し、短時間内に提案されたブロック(トランザクション)の進行(liveness)が行われるように、再投票が実施されるラウンド方式を採用したものである。
【0120】
本発明の一実施形態によるコミット段階S304では、
図7に示すように、各イコライザノード220でブロックを生成し、コミットデータをデータベースに格納することができる。提案書に含まれたトランザクションリストを介してブロックを生成し、各ノードのアカウントに対する状態を変更する。
【0121】
具体的に、
図10に示すように、提案書に含まれたトランザクションリストを確認し、データをロードして上記データに応じて変更内容を決定し、状態変更(state transition)及びコミットデータをデータベースに格納(commit in database)することができる。
【0122】
このとき、コミットデータは、トランザクションを通じて伝送された各スマート契約に対するブロック、トランザクション、及び状態を含むアカウント情報及びノンスを含むことができる。
【0123】
さらに、本発明の一実施形態によれば、上記提案段階S301の前に新たに生成されたブロックの高さ、現在のラウンド、及び各ノードに対する以前のブロックハッシュを含むステージ情報をイコライザノード220間で交換し、上記イコライザノード220の上記ステージ情報を併合してネットワーク全体に対するステージ情報を決定するネットワーキング段階をさらに含むことができる。
【0124】
上記ネットワーキング段階において、同じステージ情報を有するイコライザノード220は合意に参加し、イコライザノード220の中からラウンドロビン方式を使用してブロック提案者221を選択することができる。
【0125】
言い換えれば、上記ネットワーキング段階でイコライザノード220間のトランザクションを伝播し、提案者を選択することができる。
【0126】
このような作動過程により、本発明は、ノードが最小ステーキング量以上のネットワークコインをステーキングすると、全て同じ投票力を有するイコライザノード220になる。イコライザノード220になると、様々な方法の持分証明合意アルゴリズムによってランダムに議会(congress)として選択されるようになる。上記議会は、当該高さではブロックを積み上げずに、ブロックそれ自体のみを検証して合意するイコライザノード220の集合である。上記議会が決定されると、ラウンドロビンを介してブロック提案者221が決定され、上記提案者がブロックを議会に伝播し、伝播されるブロックは、議会内のイコライザノード220によって検証され、検証結果を投票にして、議会に伝播する。各イコライザノード220は、検証内容を投票に付して2/3を超える定足数を満たすと、実行段階に進み、ブロック内にあったトランザクションを実行して新たなブロックを形成する。
【0127】
一方、
図11に示すように、二つのマイクロチェーン110は、連結のためのリンキングコントラクト111というスマートコントラクトを有しており、上記スマートコンタクトを介して資産を他のマイクロチェーン110に伝達することができる。二つのマイクロチェーン110の中間で、一部の署名者(signers)310は、トランザクションの形でイベントを感知、署名及び伝達し、マイクロチェーン110を観察することができる。また、署名者310は、合意された連結スマート契約に伝送されるトランザクションを感知し署名する。全ての署名者310によって署名されたイベントは、署名者310の複数の署名が含まれたトランザクションの形で反対側のマイクロチェーン110に伝達される。これと同様に、署名者310の複数の署名を検証する反対側のマイクロチェーン110に連結スマートコントラクトがある。検証されたトランザクションはマイクロチェーン110に反映され、マイクロチェーン110間の資産移動が可能である。
【0128】
この過程で、署名者310は、連結されたスマートコントラクトの上に資産をステーキングすることができ、取引手数料の一部を受けることができる。一方、悪意のある署名者310が探知されると、リンクされたスマートコントラクトを介して悪意のある署名者310がステーキングした資産を没収することができる。
【0129】
一般に、コントラクトの使用時に知られているEVMはEthereum Virtual Machineであって、現在スマートコントラクトを開発できる環境としてブロックチェーン市場で標準のように使用されるため、本発明のブロックチェーンシステムであるEquilibriumも開発者生態系の拡張のために上記EVMを追加した。上記EVM内で消尽されるガス(gas)をハンドリングする部分は、コントラクトのユーザが支払うネットワーク手数料に関連する。イーサリアムのEVMの場合は、ガスがコードを動作させる度に消尽されるように設計されているため、より複雑なコードや、多くの処理を必要とするスマートコントラクトの場合、より多くのガスが消費され、ブロック採掘ノードは、ガスの価格が高い取引を優先とするため、ユーザはガスのためにさらに多くの手数料を支払うことになる。一方、本発明のEquilibriumブロックチェーンの場合にも、EVM内ではコードの複雑度や、演算量によってガスがより多く消費されるが、実際のユーザの入力ガス(input gas)と消費ガス(used gas)を固定させ、且つガス使用量の限度を定義することで、無限ループのあるトランザクションを防止し、ユーザのガス価格に対する優先順位を除去し、安価な価格によって商業的に使用できるように設計されている。
【0130】
以下、本発明の単一のマイクロチェーン110において達成される取引処理の速度について、実験結果に基づいて具体的に説明する。但し、下記の実施形態は本発明を例示して具体化するためのものであり、本発明の権利範囲を制限するためのものではないことに留意する必要がある。本発明の権利範囲は、特許請求の範囲に記載された事項及びこれにより合理的に類推される事項によって決定されるものである。
【0131】
図12を参照して、Equilibriumブロックチェーンネットワークの取引処理時間を見ると、本発明のEquilibriumブロックチェーンネットワークは、他のブロックチェーンよりも遥かに取引量の多い平均6000個以上のトランザクション(トークン及びコイン取引、スマートコントラクトの相互作用など)を処理しながら新たなブロックを2秒ごとに積み上げているため、本発明のEquilibriumブロックチェーンネットワークの取引処理時間は2秒内外であることが分かり、これは、商業サービスに有用な取引処理速度及び拡張性、セキュリティ性を保障できるものである。
【0132】
また、
図13を参照してネットワークに与える負荷回数とTPS個数を見ると、本発明のEquilibriumネットワークは、コンピュータの仕様に大きく影響されず、ネットワークに与える負荷の回数が5000である場合、毎秒当たりの処理可能なトランザクション(TPS、Transaction Per Second)の個数が平均4,000~4,500に達することが確認できる。
【0133】
特に、本発明のEquilibriumネットワークは、他のブロックチェーンが推奨している使用PCの仕様より低いAWSインスタンス基準C5 2XL使用のPCを使用する場合にも、ネットワークに与える負荷の回数が5000である場合、毎秒当たりの処理可能なトランザクション(TPS)の個数が4,200を超える程度に高い。
【0134】
一方、現在、本発明に対する取引処理時間であるブロック生成時間とTPSに対する検証試験はTTA(韓国情報通信技術協会、Telecommunication Technology Association)で実施している。
【0135】
また、本発明のEquilibriumネットワークは、pBFTベースの合意アルゴリズムにより、33%未満の悪意のあるノードがネットワークに存在すると仮定する環境では、悪意のある行動に関係なくLivenessとFinalityを保障することができ、最小ステーキング量によるイコライザの登録により、外部のネットワーク攻撃者がネットワークを制御するためには、同時により多くのノードを攻撃しなければならないため、攻撃が容易ではなく、例え、特定のマイクロチェーン110が攻撃を受けたり、ネットワークの負荷がひどすぎて障害が発生した場合でも、当該ビジネスドメインを除く残りのマイクロチェーン110は障害が隔離され、外部攻撃や過負荷による影響が従来のブロックチェーンネットワーク構造よりも著しく小さくなるため、セキュリティ性にも非常に優れる。
【0136】
上述した本発明の商業サービスに有用な取引処理速度及び拡張性、セキュリティ性を保障するための非競争的合意アルゴリズムを用いたブロックチェーンシステム及び方法は、ネットワークをメインネット120と互いに干渉しないマイクロチェーン110で構成されたマイクロチェーンアーキテクチャで構成し、非競争的合意アルゴリズムでノードを最小ステーキング量に応じてイコライザノード220とノンイコライザノード210とに分け、投票段階で提案されたブロックに対する投票を行い、完全な合意がなされると、提案されたブロックに他のブロックを積み上げて新たなブロックを生成する同期化されたネットワークを構成して、ネットワークトラフィックを最小化し、欠陥のあるノードがノード全体の1/3未満であるべきというpBFT(実用的ビザンチン障害の許容、practical Byzantine Fault Tolerance)モデルに基づく非競争的合意アルゴリズムによって、採掘プロセスの根本的な処理速度の遅延問題を除去し、マイクロチェーンアーキテクチャを介して無制限な拡張性(スケールアウト)を確保することができる。
【符号の説明】
【0137】
110:マイクロチェーン
111:リンキングコントラクト
120:メインネット
210:ノンイコライザノード
220:イコライザノード
221:ブロック提案者
310:署名者