わさっきhb

大学(教育研究)とか ,親馬鹿とか,和歌山とか,とか,とか.

国民の皆様,アリバイ,コミット

「先生,教えてください」
  「はいなんでしょう」

国民の皆様

「先生がブログで取り上げられていた本を読んだんですよ」
  「え,買うたん?」
「はい」
  「どうでしたか?」
「あまり好きになれなかった,ですね…」
  「ふむ.どの辺が?」
「人を頼りすぎているように,思えたんです」
  「なるほど,頼りすぎか…」
「僕らって,技術を身につけて,社会に出ないといけないじゃないですか」
  「教員を巻き込んでもらうと困るが」
「あ,いえ,『僕ら』は学生のことです.学科の」
  「はいはい」
「提案だけして,その実現には皆様のご理解ご協力が必要,というのでは通じないと思うんですよ」
  「てことは」
「あ,はい」
  「人を頼らず,自分の技術をもとに,しっかりしたものを作るべきだ,と」
「ええそうです」
  「まあ一概に否定はでけんが…」
「まずいですか?」
  「使う技術というのは,何であっても,先人の知恵と努力があってこそなので,そこへの感謝は,忘れないようにしたいですね」
「作者への感謝,ですね」
  「作者だけじゃなくて,その技術を自分が知り使うようになるまでの,様々な経路に対してもね」
「へえ…先生は,そう考えられるんですね」
  「政治の世界では,提案したけど実現に至らなかったことは,たくさんあるでしょうね.我々の中で,お蔵入りになってしまったハードウェアやソフトウェア,あるいはノウハウのように」
「そうでした,それで,さっきの本に戻りたいのですが」
  「なんでしょう」
「『国民の皆様』という言葉が,けっこう,使われているんですよ」
  「ん? 数えたの?」
「いえそこまでは」
  「読後感ってやつね.んで?」
「そこで思ったんですが」
  「はい」
「著者が提案する政策を実現するのに,国民の皆様の協力が不可欠だというのをアピールしたい,という意図は分かるんですが」
  「そうですね」
「それと別に,政策が失敗したときに,国民の皆様の理解が足りなかったため,と,『国民の皆様』へ責任を転嫁できるように,書いているんじゃないかと思ったんです」
  「ありゃ,すごい大胆な仮説だなあ.そういうのを支持する,政治に関わる人も,本も,見たことないなあ」
「ありませんか.先生なら,ご存知かなと思ったんですが…」
  「ないない.ま,その種の本をたくさん読んで,分析すると,面白いかもね」
「先生ならそうおっしゃると思ってました」
  「そうかいな」
「でも1冊だけで疲れました.自分の好きな,プログラミング関係の本に戻ります」

アリバイ

「『アリバイ作り』って言葉,ありますよね?」
  「あるねえ.僕自身は,使ったことないし,使い道もないけど」
「先日,友人から電話があって『この日は,お前のところに泊まったことにしてくれ』と言われたんですが」
  「それはアリバイ工作,もしくは口裏合わせってやつですね」
「そうです(笑)」
  「アリバイが,どしたの?」
「ときどきですね,説明会を開いているっていうのの中で,『アリバイ作りのためにやっている』っていう言い方を聞くんですが…」
  「ふむ,違和感があると」
「ええ.もともと,現場不在証明って意味ですよね,アリバイは」
  「ああ,その言葉,最近辞書を引いたんだけど,『げんばふざいしょうめい』じゃなくて『げんじょうふざいしょうめい』が正しいらしいね」
「へえ…Wikipediaもですか?」
  「うん,Wikipediaも.Wikipediaで知って,それから辞書見たんだけど」
「刑事被告人だとか,容疑者だとかが,犯罪現場以外の場所にいたことを示すって意味で」
  「そうですね.アリバイっていう言葉の語源が『他の所に』だったかな」
「だから,説明会のアリバイ作りってのは,実績作りって言うべきじゃないかと」
  「うん,その主張でいいんじゃないでしょうか」

コミット

「大学生になって,やたら『コミット』って言葉を目にするようになったんですが…」
  「ふむ」
「そんなに大人の世界で使うものなんですか?」
  「高校までは,見かけなかった?」
「ええ」
  「僕の感覚でも,目につくようになったのは,ここ数年かな」
「そうなんですか」
  「ただ,僕自身が初めてコミットって言葉を,なんか変なもんだなあと思いながらも認識したのは,ビットコミットメントってのだけどね」
「何でしょうかそれ」
  「セキュリティの技法です.コイントスです.ビットコミットメントって言葉が出回る前は,メンタルポーカーなんて言葉もあったかな」
Wikipediaを引いてみました…これですか」

コミットメント方式を用いる場合、以下のようにコイン投げを行う。

  1. Bobはコインの"表"か"裏"を選び、その値をコミットする。コミットメントをAliceに伝える。
  2. Aliceはコインを投げ、結果をBobに伝える。
  3. Bobはコミットした値をAliceに伝える。
  4. Bobの値とAliceの値が一致している場合Bobの勝ちとする。そうでない場合、Aliceの勝ちとする。

(wikipedia:ビットコミットメント,表記を一部変更)

  「それそれ」
「このコミットメントって,何なんですか?」
  「よくたとえで使うのは,封筒に答えを入れておくことですね.表か裏かに相当する,1ビットの情報を」
「はあ」
  「しかし『コミットメントをAliceに伝える』の時点では,1ビットの情報を決めたBob以外の人は,その1ビットが何か,知ることができないようにしておきます.暗号論的にね」
「封筒だったり暗号だったり,混乱するんですが」
  「あー,じゃあ暗号の話はなしで」
「助かります」
  「んと,次に,Aliceがコイン投げをして,表か裏かの情報を求めます.それから,さっきコミットしていた,1ビットの情報が何だったかを公開して…開封ですね…コイントスの結果と照合する,というものです」
「あとでコインの結果に合わせよう,という不正ができないように,アルゴリズムを決めておくのですね」
  「うん.まあ,2者が関わるので,アルゴリズムよりはプロトコルというほうがいいかな.それと,コミットしたのと反対の人が
「Aliceの側ですね」
  「そうです.Aliceサイドが不正するかもしれないんで,例えば封筒に入った情報を透かし読みして,ハズレになるものを選んでコイントスしたふりをする,なんてことへの対処も必要になります」
「そのコミットって,何なんですか?」
  「預託…かな.情報を預けることなので」
「なるほど.Subversionのコミットも,『預託』と考えるといいんですね」
  「そうですね.国語辞書もいいけど,英和辞書や英語辞書でcommitを引いてみるのもいいよ.たしか,約束だとか誓約だとか,公約だとか,責任を持つだとか,肩入れだとか関与だとかいった意味があったかな」
「その中で,先生のお気に入りの意味はありますか?」
  「英語辞書に書かれていなかったんだけど,どこかで,コミットというのはもともと,神との契約を意味していたと書いていたのは,面白いなあと思ったよ」