暗号資産におけるビットコインなどのブロックチェーンに代わると言われている技術のひとつに「DAG(Directed acyclic graph)」というものがあります。有向非循環グラフという手法でデータの管理を行ないます。有向非循環グラフとは、データなどの塊(グラフ)を接続するときに、一方通行になっていて輪(循環)が発生しない状態のグラフのことをいいます。
取引データをひとつのブロックにまとめて鎖のように連続して繋げていくのがブロックチェーンの特徴ですが、DAGでは取引データ同士を直接、一方通行かつランダムに繋げられるのが特徴です。これらの特徴を比較するとDAGのほうに優位性があるため、「ブロックチェーンに代わる」と言われています。本記事ではそんなDAGの特徴を、ブロックチェーンの特徴と比較して解説します。
ブロックの中に取引データを記録し、ブロックサイズの容量までデータが貯まったら次のブロックを生成して接続します。
DAGにはブロックがないので取引データ同士を直接接続します。接続に使う手法は有効非循環グラフです。データはランダムに枝分かれして接続しますが、データの並び順が前後することはありません。
データを分散管理しつつ取引の正確性を担保するのがブロックチェーンの特徴
DAGの優位性を理解するための、まずはブロックチェーンの特徴を理解しましょう。
ブロックチェーンの特徴
1.P2P(ピア・ツー・ピア)ネットワークでデータを分散管理する
2.暗号技術で個々の取引データを守る
3.マイニングによって一連の取引の正確性を守る
1.P2P(ピア・ツー・ピア)ネットワークでデータを分散管理する
ブロックチェーンはインターネット上に張り巡らされたネットワークの中で実現できる仕組みです。ネットワークの参加者であるコンピューター同士がデータを共有し合うことで、中央管理者が不在で取引の実行ができます。
2.暗号技術で個々の取引データを守る
分散管理されているデータ群に対して、新規の取引データを記録しようとしたとき、他人に勝手に記録されてしまっては困ります。そのため「公開鍵暗号方式」という2種類の暗号を組み合わせた仕組みを使って、他人が勝手に取引を実行しないように自分だけのパスワードを設定します。これを「秘密鍵」といいます。一方で取引相手を特定する必要がありますがこのときに使用するのが「公開鍵」です。
3.マイニングによって一連の取引の正確性を守る
ブロックの中に記録した取引データが何者かに改ざんされてしまうと、改ざんした人が不当に利益を得てしまいます。そのため「マイニング」という仕組みを使って一連の取引データの正確性を検証しています。検証する人が多ければ多いほど取引の正確性が高まるので、多数決で正確性を決めているようなものです。ネットワーク参加者が自発的に検証できるように、一番初めの検証できた人に報酬を与えるようになっています。このようなマイニングには様々なアルゴリズムが使われており、例えばPoW(Proof of Work)という方法では、データ検証作業の計算量を意図的に多くし、改ざんした人が意図的に計算結果も修正してしまう可能性を低くしています。
DAGはブロックチェーンが持つ拡張可能性の不安を解消できるが……
中央管理者が不在で、取引データを安全に管理できるブロックチェーンですが、一方で「取引承認に時間がかかるため取引量の増加に対応しきれない」という拡張可能性の不安があります。
拡張可能性に不安がある原因
・取引データが全て、1本の鎖につながっている
・データを記録するブロックの大きさに制限がある
・ブロック生成間隔に時間制限がある
上にまとめた原因より、取引データをひとつずつ記録し、データが積み上がったらブロック単位でマイニングをして正確性を検証するので、データ記録に時間がかかります。これがブロックチェーンの欠点であり、拡張可能性の不安です。
このような不安を解消してくれるのがDAGです。DAGには、「ブロック」も「マイニング」の仕組みもありません。そのため複数の取引データを並行して記録でき、取引承認に時間がかかることもありません。また、すべての取引データをDAGのネットワーク接続者が承認することで取引データの改ざんを防いでいます。さらにマイニングが無いため、報酬としてマイニング者に渡す取引手数料を支払う必要がなく、ブロックチェーンより安価に取引の記録ができます。
しかし、取引データの正確性の検証が多数決になっていないため、「取引データの中身をみんなで検証した」としても、DAG全体で取引データが正確であるとはいえません。DAGもブロックチェーンと同じように、中央の管理者が存在していません。ブロックチェーンの場合は、マイニングによって取引データが正確であることをみんなで検証し、確かに正しいデータであると「合意形成」しています。DAGの場合にはマイニングの仕組みがないため、合意形成することができないのです。
実際にDAGを使って実現された暗号資産があります。「IOTA」というIoTデバイスを効率的に管理するためのソリューションです。「2取引前までの取引を承認した後に取引データを記録する」という仕組みでデータ改ざんを防いでいますが、「コーディネーター」という、IOTA全体のDAGデータの正確性を保証する中央集権サーバーが存在しています。このサーバーを無くす取り組みが行なわれていますが、開発フォーラムを見てもここ数ヵ月進捗がないため現実的ではないかもしれません。
まとめ
いまさらの話ではありますが、ブロックチェーンもDAGも「データを管理するフォーマットである」ことを理解していただけましたでしょうか。完全無欠なITソリューションがないように、ブロックチェーンにもDAGにもメリット・デメリットがあります。拡張可能性という観点でDAGが優れているのは確かですが、データを1件ずつ処理するブロックチェーンがすべての面で劣っているというわけではありません。