パン屋とビザンチン将軍問題

SRI International はソフトウェア部門も有名です。
Leslie B. Lamportは銀行の決済等に使う分散システムの基本的な手法をいろいろ編み出しています。
名前が面白いのが
1. Lamport’s bakery algorithm パン屋のアルゴリズム
2. Byzantine Generals Problem ビザンチン将軍問題
https://ja.wikipedia.org/wiki/%E3%83%93%E3%82%B6%E3%83%B3%E3%83%81%E3%83%B3%E5%B0%86%E8%BB%8D%E5%95%8F%E9%A1%8C
https://ja.wikipedia.org/wiki/%E3%83%93%E3%82%B6%E3%83%B3%E3%83%81%E3%83%B3%E5%B0%86%E8%BB%8D%E5%95%8F%E9%A1%8C
です。
1. は、2つ以上のスレッド(thread, 例えば2人が別のATMで1つ口座にお金を振り込む)が同時に同一のリソース(この例では口座)を使って混乱するのを防ぐために、レジが1つのパン屋で番号札を発行するようなやり方で、細かく方法を規定します。番号札の発行要求が同時に起こることもありうるので、お客の固有番号(人でいえばマイナンバーのような固有のもの)を比較して優先権を付けます。
2.は、東ローマ帝国の将軍たちがそれぞれ軍団を率いて一つの都市を包囲攻撃する際、攻撃「〇」か撤退「×」を「〇×」を全員に送りあって多数決で判断するとき、通信エラーや裏切りでメッセージが嘘になる可能性があるときどうするか、という問題です(全員が同じ〇×の数を見るとは限らないということ)。Lamportは、メッセージに偽造不可能なサインを付けていない場合、反逆者やエラーが1/3以上の時は解決策がないことを示しました。最近の解決方法の一つは、メッセージをある規則で数値に変換し、それを次のメッセージの中に入れ込んで記録をつないでいくblockchain方式で(エラーや改竄を検出できる)、ビットコインで使われています。名前をByzantineにしたのは、すでに滅亡しているため、文句を言われる可能性がないからだそうです。

bakery パン屋
https://en.wikipedia.org/wiki/Byzantine_fault から
ommission failures 不作為障害 ommision は「削除」の意味
comission failures 作為障害
falsify, garble, manipulate 改竄する
Byzantine fault tolerant ビザンチン障害耐性
caveat 「キャ」ヴィアト (発音注意)警告、差し止め通告 (レベル15)
It can also be relaxed in a more “realistic” problem where the faulty components do not collude together in an attempt to lure the others into error. It is in this setting that practical algorithms have been devised.
relax 緩和させる
faulty フォーるティ faultの形容詞形
collude コるード 結託する
lure おとり、誘惑するもの、釣りのルアー

Leave a Comment

Comments

No comments yet. Why don’t you start the discussion?

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA