【仕組み解説】ハッシュグラフ: ブロックチェーンを超える最新技術

ブロックチェーン(Blockchain)に代わる新技術として話題となっている、ハッシュグラフ(Hashgraph)について解説します。
(ブロックチェーンに馴染みがある人向けに簡潔に説明しています。)

目次
 ハッシュグラフとは?
 ヘデラハッシュグラフ
 合意形成アルゴリズム

ハッシュグラフとは?

(多くの人が記事を書くようになった際、"ブロックチェーン"みたいな言葉の濫用が起きないように丁寧に書きます。)

ハッシュグラフはアメリカのソフトウェア会社 Swirlds が開発した分散台帳(DLT)の1つです。クローズドな分散台帳(private DLT)として、既に金融系のサービスなどで使用されています。更に、Hedera Hashgraph社が、ヘデラハッシュグラフ(Hedera hashgraph)というオープンな分散台帳(public DLT)を2018年中にリリース予定です。

単にハッシュグラフと言ったときに、複数の解釈が生まれるので一度整理します。ハッシュグラフという言葉には、以下の用法があります。

1. Swirlds社が開発したprivate DLTのこと
2. Hedera Hashgraph社がリリースする予定のpublic DLTのこと
3. 上記1,2に用いられる合意形成アルゴリズム(=hashgraph consensus algorithm)のこと
4. 上記3の合意形成アルゴリズムに登場する図形のこと

※1については、Swirlds社の公式サイトを見ると、正式にはハッシュグラフではなくSwirldsと呼ぶべきものらしいです。

つまり、"4. ハッシュグラフ"と呼ばれる図形を使った合意形成アルゴリズムのことを"3. ハッシュグラフ"と言い、その合意形成アルゴリズムを用いた分散台帳が、"1. 2. ハッシュグラフ"です。

1については、直接関わる機会がないと思うのでこれ以上は触れません。重要なのは、

public DLT の ヘデラハッシュグラフ

と、それに用いられる技術

合意形成アルゴリズム(ハッシュグラフコンセンサスアルゴリズム)

の2点です。

ヘデラハッシュグラフ

ヘデラハッシュグラフ社が2018年中にリリース予定の分散台帳です。詳細はホワイトペーパーを読むのが一番ですが、全部で76ページもあり、もちろんすべて英語です。簡単に内容をまとめます。

■ヘデラハッシュグラフ協議会(Hedera Hashgraph Council)
ヘデラハッシュグラフのガバナンス維持を目的とした(最大)39の企業・団体で構成される協議会"ヘデラハッシュグラフ協議会(Hedera Hashgraph Council)"を設立(予定)。世界各国の有名企業が名を連ね、2018年の夏頃に発表される。(日本の超有名企業も参加しているとの噂あり。)"open, fast and fair " なDLTであり続けるために欠かせない存在。

■Open
ヘデラハッシュグラフのソースコードはすべて公開される(但し、Open Sourceではない)。これにより、だれでも検証可能である。また、ヘデラハッシュグラフの上にスマートコントラクトアプリを構築する際、ライセンスは必要ない。アプリはプロプライエタリにも、オープンソースにもできる。

■Fast
合意形成アルゴリズムに由来するスピード。
毎秒10万~100万トランザクションを処理できる。また、取引から合意形成までが早い(数秒以内)。低レイテンシー。

■Fair
合意形成アルゴリズムに由来する公平性。
取引の順番が公平に決まる。
(誰が先に買ったかというのがフェアに決まる。ブロックチェーンではマイナーが決めることになっている。)

■セキュリティ
合意形成アルゴリズムに由来する最高水準のセキュリティ。
非同期ビザンチンフォルトトレランス(asynchronous Byzantine Fault Tolerance, aBFT)

■コントラクト指向言語:Solidity
イーサリアム上で動くスマートコントラクト言語Solidityがそのまま使える。つまり、イーサリアム上のアプリを簡単に移行できる。

合意形成アルゴリズム

ハッシュグラフの肝である、合意形成アルゴリズムについて簡単に説明します。(詳細は後日、別の記事を書きます。)

一言で説明すると、

ハッシュグラフという情報伝達のログがみんなに共有され、それに基づいて合意形成がなされます。

例えば、AさんがBさんに取引Xの情報を送ります。次に、AさんはCさんに取引Xの情報を送り、同時にBさんはDさんに取引Xの情報を送ります。これをみんなが繰り返すことで、取引Xの情報は指数関数的スピードで参加者に伝わります。このように伝達される情報のことをゴシップ(gossip)と呼びます。一方で、情報伝達のログ、言い換えるとゴシップのログというのは、「誰から誰にどのゴシップが伝わった」というデータのことです。これは、ゴシップに関する情報なので、そのままゴシップに関するゴシップ(gossip about gossip)と呼ばれています。重要なのは、ゴシップに関するゴシップもゴシップ同様に伝播させます

このようにして、みんなが「誰にどんな情報が伝わったか」ということを共有します。更に、その共有された情報から、あるルールに従って、「これは承認されて、これは承認されない」ということをみんな知ることができます。参加者が実際に賛成・反対を投票しなくても、賛成・反対が決まることから仮想投票(virtual voting)と呼ばれています。

また、余談ですが、大多数に共有された取引から順に承認されるというルールを課すことで、取引の順番が公平に一意に決まります。また、一度合意された取引は100%覆りません。

合意形成アルゴリズムの詳細はtech report 1tech report 2を御覧ください。

最後に

最後に、2018年3月に行われた発表会の動画を御覧ください。めちゃくちゃ豪華です(某社の製品発表イベントを彷彿とさせます)。
https://www.youtube.com/watch?v=F-t-KV3cXQA

ヘデラハッシュグラフ紹介動画もあります。かっこいいです。
https://www.youtube.com/watch?v=JzFXZvTrEnI

最先端テクノロジーとエンターテイメントに興味があります。