MENU

IT導入のヒントブログ IT BLOG

【参加レポート】(リモート開催)福岡ブロックチェーン勉強会#51

こんにちは、スミリオンの長嶋です。
下記のイベントに参加してきましたので、内容をレポートします。
 
(リモート開催)福岡ブロックチェーン勉強会#51
https://gbec.connpass.com/event/172260/
 
今回は、「故障モデルとコンセンサス」について中城さんに説明して頂きました。
 
最初に慶應義塾大学の斉藤賢爾(さいとう・けんじ)先生の動画を視聴しました。
■ふたりの将軍問題
・A,Bの将軍は、敵を攻める計画に合意したい
・しかし、A-B間は、メッセンジャーmを通してしか通信出来ない
・Aが発案した計画にBが合意しているとAが知る手立ては?
・そしてBの合意をAが知っているとBが知る手立ては?
・そして・・・・
 
・分散システムの課題への取り組み方
・1.一般にⅩは不可能である
・2.Ⅹを事実上可能にする条件Cがある
・3.条件Cを成立させる方法を考える
・先ほどのふたりの将軍問題に例えると
・1.伝令を用いるふたりの将軍問題には解がない
・2.だが、花火を打ち上げると事実上可能になる
・3.花火を作る方法を考える!
 
・同期システム
・参加者の時計が同期されているシステム
・非同期システム
・参加者の時計が同期されておらず、その進み方もまちまちなシステム
・仮想的にでも同期システムが作れれば、いろんな問題を解決できる
・イベントの順序付けなど
・後述のビザンチン将軍問題も同期しシステムを前提にしている
 
・セイフティ
・悪いことが決して起きない、という形式の性質
・ライブネス
・良いことがいつか起きる、という形式の性質
・分散システムの要件は、セイフティとライブネスの組み合わせであらわされる
 
・障害の種類
・メッセージが届かない、ノードが停止する
⇒ ビナイン/良性(benign)
・前提を置かない
⇒ ビザンチン(Byzantine)
・ビザンチン障害では、プロトコルから逸脱する任意の事象が起きる
 
感想
一見、回答が出ない「ふたりの将軍問題」でしたが、条件を加えることで、
それが解けるようになることは理解でしました。

 
 
次は、以下の資料について、説明して頂きました。
■分散システムの限界について知ろう
https://www.slideshare.net/ShingoOmura/ss-103946354
 
内容が多いので、詳細は割愛しますが、P24に書かれている絵がすごく分かりやすく
合意が一生終わらない例で、「昼ごはん」がずっと決まらない状態。。。。

 
 
最後は、以下の資料について、説明して頂きました。
■分散システムついて語らせてくれ
https://www.slideshare.net/kumagi/ss-78765920
 
こちらもなかなかのボリュームの資料ですので、ポイントだけですが、
P24~ の 「Two Phase Commit」について詳しく説明して頂きました。
P32に結論を書いていますが、「Two Phase Commit」は簡単に死ぬということでした!

 
今回もほんとに有意義な内容でした。
では、また