メルクルの木

メルクルの木

ブロックチェーンの主な利点は、ストレージの安全性とネットワーク内のデータの不変性である。これらは、セルをチェーン状につなぎ、暗号化することで実現される。しかし、このような接続のモデルは、最初のブロックチェーン・ネットワークが実現する前に生まれていた。この資料では、読者はメルクルツリーがどのように構成され、どの程度暗号技術に参加しているかを学ぶ。このようなモデルの主な長所と短所だけでなく、誕生以来30年にわたって発展してきたコンセプトの形態についてもお伝えします。

メルクルツリーとは

これは、デジタル情報の正確性を簡単に検証し、セキュリティを確保するのに役立つデータの整理方法である。メルクル構造では、各配列は検査、圧縮、暗号化される。ハッシュと呼ばれるコードが割り当てられる。このような値は一意であり、配列に書かれたデータと密接な関係がある。

メルクルの木
メルクルの木

誰がコンセプトを思いついたのか

通信方式の開発は1950年代に始まった。当時は逆ツリーの形をとっていた。この概念の創造における重要な段階は、アメリカの科学者兼エンジニアのラルフ・マークル(Ralph Merkle)がデータ連結構造を発表した1979年と認識されている。このモデルは、著者の姓にちなんでマルクルツリー(英語版ではMerkle Tree)と名付けられた。この概念は後にブロックチェーン技術の基礎となった。

1990年代以降、ハッシュツリーは暗号プロトコルの構造、すなわちデジタル署名の生成やトランザクションの認証における重要な要素として使われてきた。ハッシュツリーはラルフ・マークルによって開発された。

ハッシュツリーが必要な理由

デジタル情報のセキュリティは、この種の通信の最大の特徴である。このコンセプトは、導入以来30年以上経った現在でも有効である。情報システムの様々な分野で応用され、成功を収めている。インターネット接続、暗号化アルゴリズム、そしてほとんどのブロックチェーン技術は、これに基づいている。

構造

情報能力とコンピューターの発達により、データは増えすぎた。大きな配列は処理しにくいので、容量を減らす必要があった。データを圧縮するためにハッシュ関数が作られた。

5020 $
新規ユーザーへの特典!

9.8

ByBitは暗号通貨取引に便利で安全な条件を提供し、低い手数料、高い流動性、市場分析のための最新ツールを提供します。スポット取引とレバレッジ取引をサポートし、直感的なインターフェースとチュートリアルで初心者からプロのトレーダーまでサポートします。

100 $ボーナスを獲得

新規ユーザー向け

9.5

暗号通貨の世界で迅速かつ安全にあなたの旅を開始することができます最大の暗号取引所。このプラットフォームは、何百もの人気資産、低い手数料、取引と投資のための高度なツールを提供しています。簡単な登録、高速取引、信頼性の高い資金保護により、Binanceはあらゆるレベルのトレーダーにとって素晴らしい選択肢となっています!

これは、入力デジタル情報(例えば、テキスト文字列や任意のバイナリデータ)を使用し、その結果、短いバージョン - ハッシュコード - を生成するアルゴリズムです。ハッシュコードの長さはパラメータで固定されるため、データ量をコンパクトにすることができ、その後の作業に便利である。

ラルフ・マークルは、得られた値を連結するための普遍的なスキームを提案した。この構造の最上位にあるのがメインのハッシュコードで、連鎖識別子である。その別名がMerkle's rootである。スキーム内の各ノードも独自のハッシュを取得し、「葉」は個々のブロックに対応する。

動作原理

まず、各情報の配列が1つのブロックに集められる。それに対して固定長の「ヘッダー」(ハッシュコード)が作成される。

メルクルの木
アルゴリズムによるフレーズ暗号化

次に、フレーズがペアでエンコードされ、マッピングごとに新しい値が計算される。このプロセスは、構造体内のすべてのブロックについて、一度だけ、そして単一のルート合計(「ツリー」のハッシュ)が得られるまで繰り返される。

この概念には重要な性質がある:データは改ざんできない。もしそうなれば、ブロックのルートが変更される。まず、更新されたヘッダーが生成され、次に次のセルのコードがチェーンに沿って変更される。

隠しデータの置換に対する保護は不変性と呼ばれる。一方では、ブロック内の情報の真正性を保証する。一方では、データがどこで変更されたかを特定することが可能になる。

Merkleのスキームは、トランザクション、ブロック形成、ネットワーク構築に使用される。シーケンシャル・チェーンでは、セルごとに認証が必要である。一方、Merkle Treeはルートのみを使用する。各「ツリー」全体を分析することは不要になる。主要な値は、構造内の情報検証の保証として機能する。

検証に費やす時間を短縮することで、ネットワークはより高速になる。

古典的なMerkleの概念に、いくつかのハッシュ関数を使った改良版がある。このアルゴリズムは異なる暗号化方式を使用する。例えば、最も一般的な暗号化タイプであるSHA-256は、ハッシュ関数SHA-3やBLAKE2などで強化されます。

メルクルハッシュツリーにはもう一つ、MPT(Merkle Patricia Tree)という変種があり、これはツリー構造内の情報を見つけるのに適している。従来のマークル・ツリーは、主にツリーに記録された情報の真正性を認証するために使用される。構造体は、例えばイーサリアムのネットワークなどでも、同時に使用されている。

アナログ

データ整理の種類はメルクル通信方式だけではない。ハッシュツリーは何十種類もある。必要な情報を探すスピードを上げるのに役立つものもある。また、選択した条件に従って情報を並べ替えるものもある。ツリーはデータストレージの整理に役立ち、特定の文字列要素に基づく索引システムを構築する。

コンセプトの中には、次のような種類がある:

  • バイナリまたはバイナリツリー(バイナリツリー).この方法では、各ノードは2つ以上の子孫(左と右)を含まない。この概念はデータ構造の実現に適用される。
  • バイナリサーチツリー(BST).これは前の方法の複雑版である。このメソッドでは、ノードがソートの条件(キー)を作成し、それによって要素が検索されます。このメソッドでは、新しい情報を削除または挿入することもできます。
  • AVLツリー。 この名前は著者の姓の頭文字に由来する。彼らはソ連の科学者アデルソン=ヴェルスキーとランディスである。彼らが開発した方式はBST構造に基づいている。ここでは各ノードの高さが制限されている。このパラメータは、構造内のデータの検索と更新に使用される。
  • レッド・ブラック・ツリー.別のバランスは、ルートとリーフが黒であるバイナリー・スキームである。赤のノードは、反対色の値のペアに基づいて構成される。
  • 接頭辞と接尾辞のツリー.これらのハッシュは、文字列の先頭または末尾を考慮して作成される。Merkleのモデルは接頭辞ベースの通信を拡張したものである。
  • Bツリー この概念は、各ノードでキーを作成し、データを複数のブロックに分割する。ハッシュツリーは、ハードディスクなどの順次アクセス可能な外部メディア内の情報を整理する。

暗号業界への影響

最初のブロックチェーン、例えばビットコインやイーサリアムのネットワークは、メルクルツリーに基づいている。これは、既存のセルのデータを代用することができないチェーンを作成する。ブロックチェーンがメルクルの概念から受け継いだ機能を下表にまとめた。

特徴コメント
データの完全性
各ブロックには、前のセルの取引とコードのハッシュ合計が含まれる。これにより、チェーンは変更に強くなる。
トランザクションの検証効率
レコードを分析する際、ノードは少量の情報、例えばセルのハッシュヘッダーのみを比較する必要がある。これは特にマイニングにおいて重要であり、ノードはブロックチェーンに新しいソリューションを追加しようと競争する。
セキュリティ強化
1つのセルの情報を変更すると、チェーンの後続要素も含めて新しいハッシュ合計が生成される。これにより、トランザクションの改ざんや削除が難しくなる。
取引スピード
圧縮され暗号化されたデータを保存することは、ネットワーク上での書き込みを高速化するのに役立つ。しかし、最新のブロックチェーンではこのスピードでは不十分だ。サイドチェーン・ネットワークは、この問題を解決するために作られた。
スマート・コントラクトのサポート
アルゴリズムにおけるトランザクション検証もこのモデルに基づいている。

ブロックチェーンにおけるメルクルツリーの適用方法

この構造は、主要な暗号プロセスの1つであるマイニングの基礎となった。メルクルのコンセプトによれば、すべての取引が実行され、ブロックチェーンが作成される。ユーザーはハッシュを検索し、デジタル通貨で報酬を得る。ネットワークのアクション側では、この構造は迅速な認証 - 検証 - を提供する。

鉱業

最初のブロックチェーンは、プルーフ・オブ・ワーク(PoW)システムで作られた。ハッシュ値を得るには、ハードウェアを使って問題を解く必要がある。結果が見つかると、そのブロックはクローズしたとみなされ、暗号通貨の報酬が支払われる。機器(および機器の所有者)はマイナーと呼ばれ、そのプロセスはデジタル資産の採掘と呼ばれる。

基本的に、トランザクションデータはメルクル木のようなブロックに編成される。セルを閉じる結果の出力がルートハッシュとなる。

ブロックチェーンは逐次リンクされたメルクルツリーである。

しかし、ブロックチェーンの連結にはメルクルツリーの要素もある。例えば、連続する各セルは前のルートの末尾を使用する。このように、コンセプトはチェーンのさまざまな段階に参加している。

検証

メルクルのツリーは、既存のブロックチェーンとの連携に役立つ。記録されたデータの真正性を評価する、つまり検証を行うことができる。この目的のために、ブロックのハッシュコードとルートという主要な値がチェックされる。それらが一致した場合、取引は真正なものとして認識され、次のブロックがチェーンの末尾に付けられる。

よりバランスの取れたバージョンのメルクル・パトリシア・ツリー(MPT)は、ブロックチェーン内の情報の検索を最適化する。この目的のために、アルゴリズムは構造内のキーを使用する。ノード(node)はそれらを使って、ツリー内の目的の取引や情報を素早く見つける。この方法では、選択されたハッシュが分析される。ブロック内で指定された各コードに目を通す必要はない。

場合によっては、検証はトランザクションデータの完全性に基づいて実行される。例えば、ネットワーク内の最新のルートハッシュのみが評価される。

ハッシュツリーの利点と欠点

このコンセプトには長所と短所がある。比較のために表に示した。

メリットデメリット
データの不変性。 ハッシュツリーは情報の偽造を困難にする。ルート値がそのシグナルとなる。ブロック(ツリー)作成にかかる費用。 暗号ネットワークでハッシュをマイニングするには、生産性の高いハードウェアが必要だ。しかし、探索の複雑さは常に増大しているため、コンピューティング・リソースを定期的に増やす必要がある。
動作速度。 Merkleリンケージでは、ハッシュに基づいて推論が行われ、配列を分析するためにリソースを費やす必要はない。一方通行構造。 チェーン内のデータ変更に対する保護は、利点でもあり欠点でもあると考えられている。誤って作成された取引を取り消すことはできない。
省スペース。 ハッシュツリーは構造のルートだけを保存するため、ブロックサイズが小さくなる。保証の欠如。 異なるブロックに同じハッシュ値が見つかる確率は少ないかもしれない。これは衝突と呼ばれる。したがって、100%の信頼性を保証することはできない。
データへの迅速なアクセス。 このコンセプトは、トランザクションのインデックスを追加するのに役立つ。サイズ制限。 メルクルツリー内の情報は圧縮された形で保存される。しかし、多くの情報が生成されるため、それを使った作業が遅くなる。そのため、新たな暗号化アルゴリズム、ネットワークハードワークなど、さらなる最適化手法が必要となる。このような変更は、データを圧縮し、ブロックマイニングを高速化し、セルの量を増やすのに役立ちます。
セキュリティ ハッシュツリーは暗号化アルゴリズムに基づいて構築されている。これにより、攻撃やデータの改ざんからネットワークを保護する。構造への依存.ハッシュツリーの有効性は、配列の適切な設計と構成に関係している。このようなコンセプトは、大量の情報を持つ既存のネットワークに実装するのは難しい。

簡易料金確認

データ整合性解析の一部はブロックヘッダで実行される。このようなシナリオは、簡易支払い検証(SPV)に関与している。これは主に暗号ネットワークと従来のネットワークのスループットを向上させる。

ブロックチェーン(データベース)を完全にロードする代わりに、チェーンのノードはセルヘッダーのみを要求する。これにより、検証対象の取引がブロックチェーンに含まれていることの証明(Merkle Proof)が作成される。

ノードはメルクル方式のトランザクションを検証し、データ交換時のリソースを節約する。つまり、送信する情報量が少なければ少ないほど、証明は高速に実行される。SPVは、携帯電話のような性能の低いリソースを持つデバイス上で、トランザクションをより効率的かつ容易にする。

よくある質問

ハッシュとは何ですか?

マイニングとは、情報をブロックに集め、暗号化されたコードを作成するプロセスである。マイニングは基本的に、ペイアウトのためにハッシュ取引を行う。

メルクルのスキームは他にどこで使われていますか?

例えばGitHubリソースがそうだ。ブロックチェーン製品と古典的なアプリケーションやウェブサイトの両方のソースコードを見つけることができる。

バージョン管理とは?

それは、Merkle構造内で再構築する機能である。例えば、必要であれば、以前のバージョンのデータをロードしたり、スキーマ内でより適切なバージョンを選択するオプションがある。

ブロックチェーンで使われている符号化方式とは?

そうでないものは、ハッシュまたはマイニング・アルゴリズムと呼ばれる。このような方法はすでに数十種類ある。最もポピュラーなものは、SHA-256、Ethash、Scryptである。

ハッシュは解読可能か?

単純なアルゴリズム関数は解読できる。しかし、暗号化が使われていた場合、ハッシュを解読するのは非常に難しい。何十年もかかるだろう。複数の暗号アルゴリズムを組み合わせた場合、解読には数百万年かかる。

テキストに誤りがありますか?マウスでハイライトして Ctrl + 入場

著者 サイフェデ・アムス暗号通貨経済学の専門家。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

jaJapanese

スペルミスの報告

以下の文章が編集部に送られます: