20
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Hedera Hashgraphの概要について解説してみる

Last updated at Posted at 2018-06-19

※2018年6月19日公開
※2018年6月20日追記
※2019年7月8日更新

N-Village CTOの林田です。 
「ブロックチェーンを超える技術」と話題のHedera Hashgraphについて学ぶ機会があったので、公開されているホワイトペーパーを元に複数の記事にしてみます。

Hedera Hashgraphとは

 Hedera Hashgraph(ヘデラ ハッシュグラフ)とは、新しいコンセンサスアルゴリズムを採用した分散台帳技術(DLT)です。既存の分散台帳技術とは、次の点が異なるとされています。

  1. 性能
     1つのシャードで1秒あたり数十万回のトランザクションを捌くことができます。コンセンサスの待ち時間は数秒程度です。

  2. セキュリティ
     aBFT=非同期ビザンチンフォルトトラレントであり、コンセンサスアルゴリズムにおいて数学的にセキュリティ上の脆弱性が無いことが証明されています。ただし、他の分散台帳技術と同様、悪意を持ったメンバーがコミュニティの1/3を超えないことが前提です。

  3. ガバナンスと安定性
     世界中から各業界の専門知識を持つ企業が集まり、Hedera Hashgraphを統制するための委員会を組織しています。2019年7月8日の時点では、「ドイツテレコム(Deutsche Telekom)」、「DLA Piper」、「マガジネ・ルイーザ社(Magazine Luiza)」、「野村ホールディングス株式会社」、「Swisscom Blockchain AG」の5社が公表されています。この強力なガバナンスによって、安定したプラットフォーム運営が可能です。

  4. 公平性
     PoWなど、他のコンセンサスアルゴリズムと異なり、特定のトランザクションの処理順を優先する余地がありません。いずれのトランザクションも発生順(厳密には、ネットワーク全体のノードの2/3が取引を受け取ったタイムスタンプの中央値)で処理されるため、公平性のある取引が可能です。

  5. 規制の遵守
     多くの政府が求める、KYCやマネーロンダリング防止(AML)のチェックが可能です。

 次回以降の記事で各内容について詳細を見ていきたいと思います。

Hashgraphのコンセンサスアルゴリズム

 では、Hashgraphのコンセンサスアルゴリズムについて理解したいと思います。コンセンサスアルゴリズムとは、メンバーが互いに信頼し合っていないコミュニティにおいて、システマティックに信頼を生み出すための仕組みです。Hashgraphは通常のブロックチェーンと異なり「分岐」がないので、理解しやすいかと思います。

ゴシップ(噂)プロトコルの動作

 まずは、Hashgraphが採用しているゴシップ(噂)プロトコルの基本的な動作を見ていきましょう。コミュニティ内でトランザクションのゴシップ(噂)が広がっていくイメージに近いです。

  1. A〜Eのメンバーで構成されるコミュニティでお金をやりとりするとします。
    01.png

  2. AがBに100円送金したい場合、Aは「AがBに100円送った」というトランザクションのイベント(コンテナ)生成をBに依頼します。
    02.png

  3. Bは生成したイベントを他のメンバーに送ります。イベントを受け取ったメンバーは、イベントをまだ受け取っていない他のメンバーに、次から次へと送っていきます。しばらくこれを繰り返すと、メンバー全員が「AがBに100円送った」という情報を知ることとなります。
    03.png

  4. このように、各メンバーが任意のタイミングで生成したトランザクションを全員で共有することで、Hashgraphは台帳を更新していきます。
    04.png

 ブロックチェーンとHashgraph、どちらもすべてのメンバーがトランザクションを生成できて、最終的に「ブロック」ないし「イベント」というコンテナに入れられてコミュニティ全体に広がります。
 ブロックチェーンでは、これらすべてのコンテナが単一のチェーンを形成するように動作します。2人のメンバーが同時に2つのコンテナを生成してしまった場合、ブロックチェーンは「分岐」します。コミュニティは最終的に1つを選択してもう一方のコンテナを破棄します。こういった事態を避けるために、ブロックチェーンではコンテナの生成にある程度の時間がかかるよう、PoW等のメカニズムが必要です。
 一方、Hashgraphでは、生成されたすべてのコンテナが使用され、破棄されることがありません。これはブロックチェーンと比較して効率的だといえます。「分岐」が発生しないために、コンテナの生成に時間をかける必要がありません。そのため、PoW等のメカニズムが不要であり、コンセンサスがより単純で、高速に処理することが可能です。

トランザクションの妥当性検証方法

 Hashgraphにおけるトランザクションの妥当性は、どのように検証されるのでしょうか。それを知るために、イベントの中身を見てみたいと思います。

05.png

 ポイントは、1つのイベントに2つのハッシュが含まれている点です。これらのハッシュによって、送られてきたイベントの出処を辿ることができ、妥当性の検証が可能となるのです。

hashgraphアルゴリズムを調べてみた所感

 ブロックチェーンと比較した時のビザンチン問題対応コストの低さ、その結果としての高速性や、誰もが公平にトランザクションを生成できる公平性を両立している点が非常に魅力的だと感じています。細かな仕様などまだ不明点も多いので、継続的に調査していきたいと思います。

 コンセンサスアルゴリズムについてもっと詳細を知りたい方はこちらの記事をご参照ください。


内容に間違いがあればご指摘いただけますと幸いです。よろしくお願いいたします。

20
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
20
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?