日本ブロックチェーン協会の定義から、ブロックチェーンを理解しよう⑥ ~ 高可用性編 ~
前回までのおさらい
2)「電子署名とハッシュポインタを使用し改竄検出が容易なデータ構造を持ち、且つ、当該データをネットワーク上に分散する多数のノードに保持させることで、高可用性及びデータ同一性等を実現する技術を広義のブロックチェーンと呼ぶ。」
前回は太字の部分のみを解説しました。電子署名とハッシュポインタを使うことで、「改竄検出が容易なデータ構造」を実現しています。またそれをみんながみんなのデータを持っている(=当該データをネットワーク上に分散する多数のノードに保持させる)ことで改竄を防ぎ、もし起きてもそれが容易に検出できるように設計されていると説明しました。
そのうえでまた一つ読み進めていきたいと思います。
2)「電子署名とハッシュポインタを使用し改竄検出が容易なデータ構造を持ち、且つ、当該データをネットワーク上に分散する多数のノードに保持させることで、高可用性及びデータ同一性等を実現する技術を広義のブロックチェーンと呼ぶ。」
ということで今回は太字の部分ですね。今回は前回のようにちゃっちゃっと進みます!とはなりません。だって見てください。コウ・・・カヨウセイ?
思わずカタカナになってしまうぐらい難しそうな言葉。もう・・・いや。
可用性(Availability)
本題に入る前に、まずは最初の一文字を消した「可用性」ついて理解していきましょう。簡単に言えば「システムが壊れていない状態がどれだけ維持されているか」を示す指標の事です。そのため可用性=稼働率、として説明されることもあります。
システムは銀行のATMでも、インターネットでも何でもいいです。ちなみにJISでは以下のように定義されています。
許可されたエンティティが要求したときに,アクセス及び仕様が可能である特性。
さらに、稼働率は以下の式で表されます。
稼働率 = 総稼働時間/総時間
この稼働率が1に近くなるほど可用性が高く、0に近いほど可用性が低いということになります。正し、あらかじめ設定されたメンテナンスなどは故障には含みません。あくまで災害やサイバー攻撃、バグなどの想定外の故障になります。
高可用性(High Availability)
まあここまでくれば「高可用性」の意味も何となく察しがつくのではないでしょうか。可用性が高いこと。つまり高確率で、システムが壊れていない状態がどれだけ維持されているか、もしくは稼働率が1に近いことになります。
じゃあその高い確率とはどのくらいでしょうか? 80%? 90%? 人によってそれぞれだよ!となりそうではありますが、一応指針目安として以下のようになっているようです。以下の表は任意のシステムを1年間休まず動かした場合になります。
Availabilityレベル Availabilityクラス 年間ダウンタイム 100% 連続処理 0分 99.999% フォールトトレラント 5分 99.99% フォールトレジリエント 53分 99.9% ハイアベイラビリティ 8.8時間 99-99.5% 一般の商用 44~87時間
...99.9%!たっっっか!!!っていうのが個人的な感想ではあります(笑)まあATMとかSNSとかを想像したとき、年間で約8.8時間(一回でというわけではない)も止まったら困りますよね。それでも99.9%なんですから、システム作るってのは大変なんですね・・・・。
まとめ
2)「電子署名とハッシュポインタを使用し改竄検出が容易なデータ構造を持ち、且つ、当該データをネットワーク上に分散する多数のノードに保持させることで、高可用性及びデータ同一性等を実現する技術を広義のブロックチェーンと呼ぶ。」
高可用性とは、とにかく止まらない!ずっと稼働している!ということです。で、ブロックチェーンはそれを満たすような仕組みであるこということですね。
参考資料
・「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典