フォローしました昨日当社のイベントがあった。そこでビットフライヤーブロックチェーンのロゴ入りのレゴをノベルティとして配っていたので、それを見ていて思いつた小ネタを披露しようと思う。次の3つの種類のレゴブロックを考える。1、ノード用のブロック2、投票用のブロック3、コミット用のブロック左下の完成図のようにノード→投票→コミットの順にブロックを重ねるのが目的だ。ノード用のブロックL字型のブロックで一つ一つがノードを表す。4つのノード上でのコンセンサスアルゴリズムを想定しているので4つ必要だ。ノードが1台死んでる状態を考えるなら3つ使うことになるだろう。投票用のブロックここが肝だ。レゴなので色に投票すると考えよう。色付きの横長のブロックでブロックの接合面にある丸いぽっちの形状が色ごとに違うようなものを考える(そんなものが作れるのかどうかは知らない、空想です)これを各ノードの上に(実際には隣のノードにまたがって)はめていく。全部同じ色にしてもよいし、全部違う色でもいい。全部違う色ならコンセンサスは取れない。コミット用のブロック最後はコミットだ。今回はビザンチン障害耐性のあるコンセンサスアルゴリズムを想定しているので3分の2以上、つまり3つ以上の同じ色の投票がある場合のみコミットすることができる。ファイナリティのあるコミットを考えるのでコミット用のブロックは輪っかになった一続きのブロックを用意する。このブロックは色ごとに用意される。ブロックの後ろ側の下のブロックとの接合面が各色に応じた凹みになっていると考えよう。どんな時にコンセンサスブロックが積みあがるかさてこの準備の下どんなことが考察できるだろうか?まず全ノードが同じ色を投票した場合はその色のコミットブロックをはめることができる、当たり前。1つのノードが違う色を投票したらどうなるか?その場合2段目は2色になるだろう。3つの同じ色と1つの違う色。コミット用のブロックをよく見てほしい。これは一か所だけ凹部分がない。下のブロックのポチ部分がどんな形でもマッチするのだ。適当にコミット用のブロックを回転させてはめ込むことができる。同じ2色でも2対2だとこんなことはできない。2対2だとコンセンサスは取れないということだ。次にノードブロックを一個取り除いてみよう。すると安定してはめることのできる投票ブロックが一つ減る。投票は3つまでしかできない。この状態で3つの投票がすべて同じ色であればコミット用のブロックをはめることができるはずだ。ノードが一つ欠けた状態でもコンセンサスをとることが可能である。このノードが欠けた状態で違う色の投票があったらどうなるだろうか?一見コミット用のブロックははまらないように見えるが、違う色の投票のところに凹がない部分を持ってくればはめることはできる。この状態は安定的ではなく、上から力をかければ壊れてしまうだろう(結合力が弱いのでかけている部分に力を入れれば壊れる)。いう意味で常に3つ以上の同じ色の投票がなければコンセンサスは取れないといえる。おちなしすみません、落ちはないです。くだらない話にお付き合いいただき申し訳ないです・・・でもこれをレゴ社が商品化してくれれば面白いなーダウンロードこの記事が気に入ったら、サポートをしてみませんか?気軽にクリエイターを支援できます。仮想通貨交換業もさることながから、現在はブロックチェーンのポテンシャルこそが世の中を変えると思っています。メンバーがお届けする公式ブログ。「ブロックチェーンで世界を簡単に。