マークルツリーとは

2022-11-16, 10:25

- マークルツリーは、これを提唱したコンピューター科学者の名前にちなんで名づけられました。

- これは、コンピューターサイエンスやブロックチェーンで使用されるデータ構造の一種です。

- マークルツリーやハッシュツリーは、ブロックチェーン上のトランザクションを効率的かつ安全に検証するためのものです。

- 問い合わせをするだけでブロックチェーン上のトランザクションの存在を確認でき、マークルツリーはその検証プロセスを迅速化します。

マークルツリーの語源は、同名のコンピューター科学者の名前にちなんでいます。暗号資産ハッシュの開発者でもあるRalph マークルは、1987年にマルクルツリーのアイデアを提唱した。彼は、「A Digital Signature Based on a Conventional Encryption Function」という論文を執筆しました。

一般的なコンピューターサイエンスの応用として、マークルツリーは単なるデータ構造の一種です。暗号資産の世界では、ブロックチェーンのデータを効率的かつ安全に符号化する方法として採用されました。マークルツリーは、コンピューターサイエンスや暗号資産技術で用いられるハッシュベースのデータ構造であるため、ハッシュツリーと呼ばれることもあります。

マークルツリーの構成

マークルツリーは、上に例示したように、木の構造を持っています。根と枝があり、それぞれに機能があります。実際の木とは異なり、マークルツリーの幹は一番上であり、一番下ではありません。つまり、このツリーの一番上にあるハッシュが幹で、その下に枝と葉が続いています。

ビットコインでは、幹はブロックヘッダの一部であり、存在す幹ランザクションを確認するものである。ブランチは、その下にあるノードの値を含むノードであり、「親ノード」として機能します。通常、マークルツリーでは、これらのノードはその下に2つ以上のノードを含むことはなく、そのためバイナリーハッシュツリーと呼ばれます。

ただし、ハッシュツリーは2つ以上のノードを持つことができます。

最後に、前述のとおり、葉は、その下にこれ以上ノードが機能していない底部のノードです。マークルツリーの配列にあるすべてのノードは、その下にあるハッシュ化されたデータの部分的な表現です。一方、葉は単一トランザクションのハッシュを表現しています。

マークルツリーの仕組み

ビットコインのブロックチェーンは、おそらくマークルツリーの顕著な使用例であり、その仕組みは次のとおりです。通常、マークルツリーはデータの検証をより速く、より効率的に行うために使用されます。

トランザクションのプライマリデータセットからその正しさを検証する必要がある場合、マークルツリーは情報ファイル全体を取得する必要がないことを保証します。

基本的に、マークルツリーはトランザクションを1つずつハッシュ関数に通し、新しいトランザクションを前のトランザクションに連結してハッシュ化することによって作成されます。このプロセスは、ブロック全体が1つのハッシュにまとめられるまで続けられます。マークルツリーはブロック内のすべてのトランザクションを要約し、集合全体の仮想指紋を作成しますこれにより、ユーザーはブロック内の他の不要な情報をダウンロードすることなく、ブロック内の特定のトランザクションの存在を確認できます。

さらに説明すると、ある特定のトランザクション、例えば葉の1つがその上のブロックに含まれていることを確認したい場合、ネットワークに特定のノードについて問い合わせるだけです。その後、3つのハッシュを使った答えが返ってくるため、特定のノードの存在を確認できます。



マークルツリーの重要性

マークルツリーは、以下の理由から、ブロックチェーンやコンピューターサイエンス全般におけるデータ検証のための貴重なツールになっています。

スピード
ブロックチェーン上に特定のデータが存在することを確認する必要があると想像してください。マークルツリーがなければ、ブロックチェーン全体をダウンロードし、それをフィルターする必要があります。ブロックチェーンのデータ量は通常、数百ギガバイトに及ぶ膨大なものなので、必要以上に時間がかかることは明らかです。例えば、ビットコインは、Statistaのレポートによると、今年4月時点で最大389ギガバイトのデータがあります。しかし、マークルツリーを使うことで、特定のトランザクションのクエリを簡単に追跡し、より少ない時間で答えを得られます。

効率性
上記のシナリオをもう一度引用すると、1つのトランザクションを検証するためにすべてのトランザクションを調べるのは明らかに面倒で不必要な作業です。マークルツリーは、トランザクション検証に必要なデータ量を大幅に削減できます。たった4つのハッシュ値で、特定のトランザクションについて必要な情報を簡単に判断できます。

信頼
最後に、ハッシュツリーを使用すると、特定のトランザクションの整合性を検証がかなり容易になります。信頼できないソースからの値を確認する必要がある場合、お客様に関連する部分を再構築し、信頼できるソースのルートハッシュと比較するだけです。これは、検証のスピードアップに非常に有効です。

最近の注目点「100%のプルーフ・オブ・マージン」に匹敵

各ユーザーの口座資産ハッシュ値は、マークルツリーのリーフノードにマークルツリーの形で格納できます。すべてのユーザーが、監査資格を持つ第三者機関を通じて、マークルツリーのリーフノードに格納されたユーザー資産の総額を監査し、自分の資金が資産マークルツリーに含まれているかどうかを確認することができます。


Gate.ioがユーザーの暗号化されたUIDと残高を採用し、マークルツリーを構築する方法

まず、Gate.ioデータベースから、暗号化されたUIDと対応するユーザー残高をエクスポートします。暗号化されたUIDとユーザー残高の各ペアは別々にハッシュ化され、その後、基礎となるデータブロックを形成するために結合されます。各データブロックには、同じハッシュ関数が使用され、マークルツリーのリーフノードが生成されます。次に、得られた暗号化されたデータを対にしてハッシュ化し、リーフノードの親ノードを作成します。このプロセスは、単一のハッシュデータ、すなわちマークルルートが得られるまで続けられます。マークルツリーの構築に成功した後、リーフノードはテキストファイル化してエクスポートされ、マークルルートのハッシュ値とともに監査人により公開されます。

マークルツリーの形で監査されたプラットフォームの総資産が100%以上である場合、プラットフォームがユーザーの資金を維持していることを証明し、プラットフォームが該当資産の100%を証拠金として提供することを意味します。Gate.ioが100%の証拠金を維持している証明に関する詳細については、Gate.ioの100%の証拠金に関する詳細ページまたは第三者監査Armanino公式サイトよりご覧いただけます。

まとめ

マークルツリーの発明とそれに続くブロックチェーン技術での利用は、技術の世界にとって非常に貴重な資産です。ブロックチェーン全体をダウンロードするための余分なスペースを必要とせず、ブロックチェーン上のトランザクションの検証を簡単かつ効率的に行えるようになりました。また、マークルツリーは検証者の時間を節約すると同時に、ブロックチェーン技術のセキュリティを簡略化します。




執筆者 M. Olatunji(Gate.io研究員)
*本記事はオブザーバーの見解を述べたものであり、いかなる投資提案も行うものではありません。
*Gate.ioは本記事のすべての権利を保有します。記事の再掲載は、Gate.ioを参照することを条件に許可されます。それ以外の場合は、著作権侵害として法的措置を取ることとします。
共有
gate logo
Credit Ranking
Complete Gate Post tasks to upgrade your rank