導入

暗号通貨について考えるとき、おそらく「ブロックチェーン」または「分散台帳技術」という用語が頭に浮かぶでしょう。ビットコインの登場以来、何百もの他の暗号通貨が作成されてきました。それらのほとんどは同様のネットワーク アーキテクチャに依存しています。そのデータ構造により、ユーザーは価値を転送したり、分散型アプリケーションと対話したりすることができます。

ブロックチェーンでは、成長するブロックのチェーンに新しいブロックが定期的に追加されます。各ブロックは、一種の暗号リンク (具体的にはハッシュ) を使用して前のブロックに接続されています。これらの各ブロックには、ユーザーによってブロードキャストされた最近のトランザクションが含まれます。

しかし、トランザクションがブロードキャストされてからブロックに組み込まれるまでの間には、待機期間が発生することがよくあります。駅で電車を待つようなものだと考えてください。車両の大きさ (ブロック サイズ) と、待っている人の数 (保留中のトランザクション) によっては、次の電車に乗れないこともあります。あるいは、その次の電車にさえ乗れないかもしれません。トランザクションが確認されるまで、数秒から数時間待つことになるかもしれません。

多くの人にとっては、これは妥当なトレードオフです。結局のところ、中央集権的なコーディネーターに頼ることなく、非常に高度なセキュリティを提供します。一方、ブロックチェーン技術には有効期限があると考える人もいます。批判者は、長期的には、ブロックチェーン技術が直面しているスケーラビリティの問題が、大規模な導入を妨げると考えています。

暗号通貨決済ネットワークの将来は、まったく異なるアーキテクチャ、つまり有向非巡回グラフ(DAG)にあると考える人もいます。


DAG とは何ですか?

DAG は異なる種類のデータ構造です。さまざまな情報を結び付けるデータベースのようなものだと考えてください。「有向非巡回グラフ」には意味の込められた用語なので、まずは分解してみましょう。

A Directed Acyclic Graph.

有向非巡回グラフ。


概念的には、DAG は上記のような形をしています。頂点 (球) と辺 (それらを結ぶ線) で構成されています。一方向に向かっているため、有向です (矢印で示されています)。頂点がループしないため、非循環 (つまり、循環的ではない) です。つまり、ある点から始めてグラフをたどると、同じ点に戻ることはできません。これはすぐに明らかになります。

このようなデータ構造は、一般的にデータをモデル化するために使用されます。科学や医療の分野では、変数間の関係を観察し、変数が互いにどのような影響を与えるかを判断するために DAG を利用することがあります。たとえば、栄養、睡眠サイクル、身体症状などを取り上げて、それらの間のリンクを描き、患者にどのような影響を与えるかを明らかにすることができます。

私たちの目的としては、分散型暗号通貨ネットワークで合意形成を達成するのにそれらがどのように役立つかということにもっと興味があります。


DAG はどのように機能しますか?

DAG ベースの暗号通貨では、構造内の各頂点がトランザクションを表します。ブロックの概念はなく、データベースを拡張するためにマイニングも必要ありません。したがって、トランザクションをブロックにまとめるのではなく、各トランザクションは別のトランザクションの上に構築されます。それでも、ノードがトランザクションを送信するときに実行される小さな作業証明操作があります。これにより、ネットワークがスパムされていないことが保証され、以前のトランザクションも検証されます。

新しいトランザクションを追加するには、古いトランザクションの上に構築する必要があります。アリスが新しいトランザクションを作成したとします。承認されるためには、このトランザクションは以前のトランザクションを参照する必要があります。ビットコインのブロックが前のブロックを参照するのと少し似ていますが、複数のトランザクションが参照されます。

一部のシステムでは、アルゴリズムによって、新しいトランザクションがどのトランザクション (または「ヒント」) に基づいて構築されるかが選択されます。選択される可能性が高くなるヒントは、累積重み (ヒントまでのパスに何回の確認があるかの尺度) が大きいヒントです。

アリスが構築するトランザクションは未確認です。しかし、アリスが参照すると、トランザクションは確認済みになります。アリスのトランザクションは未確認なので、承認される前に他の誰かがその上に構築する必要があります。

システムが成長し続けるように、ユーザーは「重い」重みのトランザクションを確認する可能性が高くなります。そうでなければ、ユーザーが古いトランザクションを継続的に構築することを妨げるものは何もありません。

ブロックチェーンでは、二重支払いの防止は簡単です。同じ資金をブロック内で 2 回使用することはできません。ノードは、そのような試みを簡単に検出し、競合するトランザクションを含むブロックを拒否します。マイナーにとって、ブロックを生成するのはそもそもコストがかかるため、公平にプレイするインセンティブが与えられます。

DAG には二重支払いを防ぐメカニズムもあります。これはマイナーがいない点を除いて、似たようなものです。ノードが古いトランザクションを確認すると、DAG の最初のトランザクションまで遡ってパス全体を評価して、送信者に十分な残高があることを確認します。パスは複数ある場合もありますが、検証する必要があるのは 1 つだけです。

Animation of a DAG in action


ユーザーが無効なパス上に構築すると、自分のトランザクションが無視されるリスクがあります。自分のトランザクションは正当である可能性がありますが、以前のトランザクションが正当でなかったため、誰もその特定のパスを拡張しようとはしません。

一見、直感に反するように思えます。互いに認識していない複数のブランチが存在する状況になるのではないでしょうか。その場合、人々はこれらの異なるブランチに同じ資金を使うことはできないのでしょうか。

DAG with multiple branches


確かにそれは可能ですが、より重い累積重みを持つヒントを優先する選択アルゴリズムによって解決されます。つまり、時間が経つにつれて、他のブランチよりもはるかに強力なブランチが完成することになります。弱いブランチは放棄され、ネットワークは最も重いブランチに基づいて構築され続けます。

ブロックチェーンと同様に、絶対的な最終性はありません。つまり、トランザクションが元に戻らないことを 100% 確信することはできません。非常に可能性は低いですが、理論的には Bitcoin または Ethereum ブロックを「元に戻す」ことで、その中のすべてのトランザクションを元に戻すことができます。トランザクションの後にブロックを追加すればするほど、そのトランザクションに対する信頼度が高まります。資金を使う前に 6 回の確認を待つことが推奨されるのは、このためです。

IOTA の Tangle などの DAG では、確認の信頼性という概念があります。選択アルゴリズムは 100 回実行され、選択したチップでトランザクションが直接または間接的に承認された回数をカウントします。パーセンテージが高いほど、トランザクションが「決済済み」のままであるという信頼性が高まります。

これはユーザー エクスペリエンスの悪化につながるように思われるかもしれません。しかし、そうではありません。アリスがボブに 10 個の MagicDAGToken を送信する場合、グラフの正しい先端を選択することを心配する必要はありません。内部的には、彼女のウォレットは次の処理を実行します。

  • 重要なヒントを選択します (確認が最も多く蓄積されているヒントであることに注意してください)。

  • 以前の取引を遡って、チップに使える十分な残高があることを確認します。

  • 満足したら、トランザクションを DAG に追加し、そのトランザクションが構築されていることを確認します。

アリスにとって、これは通常の暗号通貨のワークフローと同じように見えます。彼女はボブのアドレスと使いたい金額を入力し、送信を押します。上記のリストは、トランザクションを作成するときにすべての参加者が実行する作業証明です。


➠ 暗号通貨を始めようと考えていますか? Binance でビットコインを購入しましょう!


有向非巡回グラフの長所と短所

DAG の長所

スピード

ブロックタイムに制限されず、誰でもいつでもブロードキャストしてトランザクションを処理できます。ユーザーが送信するトランザクションの数に制限はありませんが、古いトランザクションを確認する必要があります。


採掘なし

DAG は、私たちが慣れ親しんでいるような PoW コンセンサス アルゴリズムを使用しません。そのため、DAG のカーボン フットプリントは、ブロックチェーン ネットワークのセキュリティを確保するためにマイニングに依存する暗号通貨のカーボン フットプリントのほんの一部にすぎません。


取引手数料なし

マイナーがいないため、ユーザーはトランザクションをブロードキャストするのに手数料を支払う必要はありません。とはいえ、一部のマイナーは、特殊な種類のノードに少額の手数料を支払う必要があります。低手数料(または、手数料ゼロ)はマイクロペイメントにとって魅力的ですが、ネットワーク手数料が高額になるとマイクロペイメントの目的が達成されません。


スケーラビリティの問題なし

DAG はブロックタイムの制約を受けないため、従来のブロックチェーン ネットワークよりも 1 秒あたりに多くのトランザクションを処理できます。多くの支持者は、このことが、あらゆる種類のマシンが相互にやり取りするモノのインターネット (IoT) のユースケースで DAG の価値を高めると考えています。


DAGの短所

完全に分散化されていない

DAG に依存するプロトコルには、さまざまな集中化の要素があります。一部の人にとっては、これはネットワークをブートストラップするための短期的な解決策であると思われますが、DAG が第三者の介入なしに繁栄できるかどうかはまだわかりません。そうでない場合、DAG は攻撃ベクトルにさらされ、最終的にはネットワークが機能しなくなる可能性があります。


大規模にテストされていない

DAG ベースの暗号通貨は数年前から存在していますが、広く普及するまでにはまだまだ長い道のりがあります。そのため、将来的にユーザーがこのシステムを利用する動機が何になるかを予測するのは困難です。


最後に

有向非巡回グラフは、暗号通貨ネットワークを構築するための興味深い技術であることは間違いありません。今のところ、このデータ構造を使用するプロジェクトは比較的少なく、まだ完全には進化していません。

とはいえ、その潜在能力を発揮できれば、大規模にスケーラブルなエコシステムを実現できる可能性があります。DAG テクノロジーは、モノのインターネット (IoT) やマイクロペイメントなど、高スループットと手数料不要が求められる分野で無数のユースケースに使用されています。