Hyperledger Iroha。特徴は何よりも日本企業であるソラミツがコードを提供しているところだ。日本語での文書もある程度提供されているから理解しやすい。Hyperledgerのページでは、「Mobile application focus」という言葉で紹介が書かれているとおり、iOSやAndroid上でクライアントアプリを作るためのライブラリが提供されている。
Irohaで扱うユースケースの一つとして、教育やヘルスケア分野における証書、つまり、Indyと同じユースケースが示されている。Irohaではブロックチェーンにアカウントの情報をkey, value形式で登録することができる。また、アクセス制御機能を持たせることで、あるアカウントに対して読み込みもしくは書き込みの権限を与えることができる。これらを使って、大学が卒業生のアカウントに卒業証明を書き込んだり、その卒業証明を企業に提供することができる。資産移転やサプライチェーンといったブロックチェーンのよくあるユースケースに対応できるように、整理されたシンプルなAPIが提供されていることが、特徴となるだろう。
構成はOrderingサービスが存在しており、Fabricに似ている。コンソーシアムを組む上でのツールとして有効なブロックチェーンとなるだろう。特に、ドメインを使ったアクセス制御が容易にできるところは役立つように思う。
IT系リサーチャー。最近はブロックチェーン関連に従事。 2019年の再開後は、技術系の話を書こうかね。 2014年以前は、競馬予想ソフト、絵本とAndroid Marketに公開したアプリの話がメインの日常をつづったブログだった。
2019年12月3日火曜日
Hyperledger Indy
またまた、Hyperledger、今回はHyperledger Indyについて書く。Hyperledgerのページには端的にDecentralized Identityと書かれているとおり、分散アイデンティティのためのブロックチェーンである。さまざまなコード (スマートコントラクトと呼ばれる) を実行できることで汎用的な利用が可能であるFabricやSawtoothとは異なり、特定領域用のブロックチェーンになる。米スタートアップのEvernym、Evernymが中心となり設立したSovrin Foundationが2017年にコードを寄贈することでスタートしている。現在、Hyperledgerの中で最も勢いがプロジェクトだ。Indyの暗号ライブラリ部分が切り出されたHyperledger Ursa、IndyのWalletアプリ部分が切り出されたHyperledger Ariesとプロジェクトを増やしながら開発が進められている。
Identityという言葉は非常にピンとこない言葉だ。人はさまざまな属性を持ち、それがその人のIdentityを構築していることになる。分散アイデンティティで取り扱われるのは、その人の属性情報、名前を始めとして、住所や電話番号、生年月日や学歴、資格、...、その人にまつわるすべてである。ということは、Indyではブロックチェーンに人の属性を保存すると考えると、それは間違いだ。Indyではプライバシに力点を置いており、ブロックチェーン上に属性情報を置くのをよしとしない。
HyperledgerのCase Studyで挙げられているSony Global Educationの例では、Fabricを使用しており、ブロックチェーンには教育に関する属性 (学位・成績証明書など) のハッシュ値を保存している。しかし、Indyでブロックチェーンに保存するのは、DID (Decentralized Identifier) と呼んでいる属性情報を管理するサービスの識別子と公開鍵(検証鍵)およびアクセス方法である。IdentityとIdentifierは似ているのに、全く違う意味を持つのでややこしい。
IndyではブロックチェーンにDIDが登録され、かつ、トラストを示すタグ (トラストアンカー)が付いていること、つまり、ブロックチェーンにトラストアンカーとしてどのサービスを登録するかを決定することがトラストのルートとなる。そういう意味では、認証局(CA; Certification Autority) と同じだ。認証局を使う場合は、審査した上でサービスに電子証明書を発行し、ユーザーはサービスにアクセスするときに電子証明書を検証することで信用を確保できる。それに対して、Indyでは審査した上でサービスのDIDとトラストアンカータグなどをブロックチェーンに登録、ユーザーはサービスにアクセスするときにブロックチェーンを確認することで信用を確保する。
学歴や資格情報がデジタル化されるのは間違いないが、それをブロックチェーンを利用したほうがいいかは別問題だ。中国ではCHSI (http://www.chsi.jp/) を使って学歴・学籍の確認をすることができる。中央型で作ればシンプルだ。日本では、経産省が学位・履修・職歴証明・研究データの記録・保存をすることをテーマにブロックチェーンハッカソン2019を開催したが、この先に未来はあるのか。
Identityという言葉は非常にピンとこない言葉だ。人はさまざまな属性を持ち、それがその人のIdentityを構築していることになる。分散アイデンティティで取り扱われるのは、その人の属性情報、名前を始めとして、住所や電話番号、生年月日や学歴、資格、...、その人にまつわるすべてである。ということは、Indyではブロックチェーンに人の属性を保存すると考えると、それは間違いだ。Indyではプライバシに力点を置いており、ブロックチェーン上に属性情報を置くのをよしとしない。
HyperledgerのCase Studyで挙げられているSony Global Educationの例では、Fabricを使用しており、ブロックチェーンには教育に関する属性 (学位・成績証明書など) のハッシュ値を保存している。しかし、Indyでブロックチェーンに保存するのは、DID (Decentralized Identifier) と呼んでいる属性情報を管理するサービスの識別子と公開鍵(検証鍵)およびアクセス方法である。IdentityとIdentifierは似ているのに、全く違う意味を持つのでややこしい。
IndyではブロックチェーンにDIDが登録され、かつ、トラストを示すタグ (トラストアンカー)が付いていること、つまり、ブロックチェーンにトラストアンカーとしてどのサービスを登録するかを決定することがトラストのルートとなる。そういう意味では、認証局(CA; Certification Autority) と同じだ。認証局を使う場合は、審査した上でサービスに電子証明書を発行し、ユーザーはサービスにアクセスするときに電子証明書を検証することで信用を確保できる。それに対して、Indyでは審査した上でサービスのDIDとトラストアンカータグなどをブロックチェーンに登録、ユーザーはサービスにアクセスするときにブロックチェーンを確認することで信用を確保する。
学歴や資格情報がデジタル化されるのは間違いないが、それをブロックチェーンを利用したほうがいいかは別問題だ。中国ではCHSI (http://www.chsi.jp/) を使って学歴・学籍の確認をすることができる。中央型で作ればシンプルだ。日本では、経産省が学位・履修・職歴証明・研究データの記録・保存をすることをテーマにブロックチェーンハッカソン2019を開催したが、この先に未来はあるのか。
2019年12月2日月曜日
Hyperledger Sawtooth & Grid
引き続きHyperledgerについて書く。今回は、Hyperledger Sawtoothについてである。2016年にIntelがソースを寄贈して以降、開発が続いているプロジェクトである。Intelのハードウェア(SGX)とセットで完全な動作が可能となる独自コンセンサスアルゴリズムPoET (Proof of Elapsed Time) が特徴となる。ビットコインのコンセンサスアルゴリズムPoW (Proof of Work) のようにわざとコンピューティングパワーを使うような処理をする必要はなく、コンピューティングパワーをあまり使わずにコンセンサスが取れる。なお、開発環境用にSGXの代わりにシミュレータが提供されているが、不正は容易なので実用的ではない。
信頼できるシステムの実現には、何らかトラストのルートが必要である。Fabricの場合は基本的にノードの提供者を限定することでトラストを実現している。Sawtoothはプロセッサによって実現するというIntelらしい仕組みになっている。Intelの戦略は昔から明確だ。プロセッサを売るために、その有効性が見えるソフトウェアやソリューションを提供してくる。Intelはフィールドワーク含めさまざまな調査をした上で、プロセッサの使いみちについて全方向で提案してくる。利益が莫大だからできるのか、そこまでやるからこそ莫大な利益をあげられるのか。
なお、開発が進められた結果、PoET以外のコンセンサスアルゴリズム(Raft/PBFT)も提供されており、Intelプロセッサなしでも利用可能だ。トラストについてはFabric同様にノードの提供者を限定していることから生み出されていることになる。そのため、使い方によってはできることはFabricと同じだ。
さらに、IntelはCargill、Bitwise IOと共にブロックチェーン上でサプライチェーンを実現するためのツール群を提供するフレームワークとしてHyperledger Gridを提供している。企業向けブロックチェーンの活用はなかなか悩ましい。企業間で連携するシーンと言っても、力関係があるような関係では別の仕組みのほうが効率的だからだ。例えば、トヨタと部品メーカーでは、トヨタが他の部品メーカーにトヨタが作ったシステムに情報を入力させればよい。実際、そうなっていて何の問題もないし、透明性も結局トヨタ次第になるだろうから、効率的だ。とは言ってもそういう関係ばかりではないので、有望な領域はサプライチェーンということになるのだろう。アメリカの小売ターゲットはGridを使って管理するようだ。なお、最大手WalmartはFabricを使う。これらも、複数の小売でコンソーシアムを組むところまでいかないと、ブロックチェーンを使う意味はあまりなくなりそうに感じる。
信頼できるシステムの実現には、何らかトラストのルートが必要である。Fabricの場合は基本的にノードの提供者を限定することでトラストを実現している。Sawtoothはプロセッサによって実現するというIntelらしい仕組みになっている。Intelの戦略は昔から明確だ。プロセッサを売るために、その有効性が見えるソフトウェアやソリューションを提供してくる。Intelはフィールドワーク含めさまざまな調査をした上で、プロセッサの使いみちについて全方向で提案してくる。利益が莫大だからできるのか、そこまでやるからこそ莫大な利益をあげられるのか。
なお、開発が進められた結果、PoET以外のコンセンサスアルゴリズム(Raft/PBFT)も提供されており、Intelプロセッサなしでも利用可能だ。トラストについてはFabric同様にノードの提供者を限定していることから生み出されていることになる。そのため、使い方によってはできることはFabricと同じだ。
さらに、IntelはCargill、Bitwise IOと共にブロックチェーン上でサプライチェーンを実現するためのツール群を提供するフレームワークとしてHyperledger Gridを提供している。企業向けブロックチェーンの活用はなかなか悩ましい。企業間で連携するシーンと言っても、力関係があるような関係では別の仕組みのほうが効率的だからだ。例えば、トヨタと部品メーカーでは、トヨタが他の部品メーカーにトヨタが作ったシステムに情報を入力させればよい。実際、そうなっていて何の問題もないし、透明性も結局トヨタ次第になるだろうから、効率的だ。とは言ってもそういう関係ばかりではないので、有望な領域はサプライチェーンということになるのだろう。アメリカの小売ターゲットはGridを使って管理するようだ。なお、最大手WalmartはFabricを使う。これらも、複数の小売でコンソーシアムを組むところまでいかないと、ブロックチェーンを使う意味はあまりなくなりそうに感じる。
Hyperledger Fabric
企業向けのブロックチェーンのオープンソースというとLinux FoundationによるHyperledgerである。2016年にIBMが寄贈したコードがHyperledger Fabricとなって以来ずっと拡大を続けており、2019/12/2現在で、Hyperledgerのページを見ると、15のプロジェクトが存在するという驚きの状況である。
ブロックチェーンはガートナーのハイプ・サイクルでは幻滅期に位置づけられ、2021年には市場に浸透していくことを予測している。実際、多くの企業が実証実験を行い幻滅している状況で、一部のサービスについては提供が進んでいる状況にあることを考えると、これは正しいのだろう。しかし、多くの場合、ブロックチェーンでなくてもいい、むしろ、ブロックチェーンを使わないほうが効率的なシステムが作れるはずなのにブロックチェーンをわざわざ使っているように感じられる。
ブロックチェーンが注目されるようになった原点であるビットコインは、誰でもコンピューティングパワーをノードとして提供することで仮想通貨の管理システムの一部の提供者になれるという形での非中央型を実現した。提供者は提供するコンピューティングパワーに応じて仮想通貨を得られるというインセンティブを得られるように設計することで、裏切りが起こりにくくし、かつ、裏切りを行うには提供するコンピューティングパワーの過半を得る必要があるようになっている。そのことから、トラストを生み出しているとも言われており、これはすごい発明である。将来的には、マイニングの際に得られる仮想通貨が減り最終的にはなくなること、ブロックチェーンを保存するために必要とするディスク容量がどんどん拡大していくこと、仮想通貨の取引が増えた場合のスケーラビリティの実現などの問題があるものの、何とかしていくだろう。
一方、Hyperledger Fabric、これは、IBMのキーワードをビジネスに繋げるうまさを感じずにはいられない。コンソーシアムチェーンと言われているが、基本的に信頼できる複数の企業でブロックチェーンを管理することを想定している。したがって、トラストを生み出す必要はない。次に、ビットコインではクライアントからの要求(トランザクション)を全ノードで共有するのに対して、細かいことを言うと、FabricではOrderingサービスと呼ばれるサービスが全トランザクションを受け取って、ブロックに取り込む順番を決めて他のノード群に渡す。つまり、Orderingサービスという中央があるわけで非中央型も実現していない。したがって、Fabricはビットコインのすごさを何も実現していないように感じられる。しかし、Fabricはコンソーシアムを作るためのツールである、と考えると、見え方は変わってくる。コンソーシアムに所属する全企業が同じコードやデータを管理することができること、それは企業間の連携のあり方を変える可能性を感じる。
ブロックチェーンはガートナーのハイプ・サイクルでは幻滅期に位置づけられ、2021年には市場に浸透していくことを予測している。実際、多くの企業が実証実験を行い幻滅している状況で、一部のサービスについては提供が進んでいる状況にあることを考えると、これは正しいのだろう。しかし、多くの場合、ブロックチェーンでなくてもいい、むしろ、ブロックチェーンを使わないほうが効率的なシステムが作れるはずなのにブロックチェーンをわざわざ使っているように感じられる。
ブロックチェーンが注目されるようになった原点であるビットコインは、誰でもコンピューティングパワーをノードとして提供することで仮想通貨の管理システムの一部の提供者になれるという形での非中央型を実現した。提供者は提供するコンピューティングパワーに応じて仮想通貨を得られるというインセンティブを得られるように設計することで、裏切りが起こりにくくし、かつ、裏切りを行うには提供するコンピューティングパワーの過半を得る必要があるようになっている。そのことから、トラストを生み出しているとも言われており、これはすごい発明である。将来的には、マイニングの際に得られる仮想通貨が減り最終的にはなくなること、ブロックチェーンを保存するために必要とするディスク容量がどんどん拡大していくこと、仮想通貨の取引が増えた場合のスケーラビリティの実現などの問題があるものの、何とかしていくだろう。
一方、Hyperledger Fabric、これは、IBMのキーワードをビジネスに繋げるうまさを感じずにはいられない。コンソーシアムチェーンと言われているが、基本的に信頼できる複数の企業でブロックチェーンを管理することを想定している。したがって、トラストを生み出す必要はない。次に、ビットコインではクライアントからの要求(トランザクション)を全ノードで共有するのに対して、細かいことを言うと、FabricではOrderingサービスと呼ばれるサービスが全トランザクションを受け取って、ブロックに取り込む順番を決めて他のノード群に渡す。つまり、Orderingサービスという中央があるわけで非中央型も実現していない。したがって、Fabricはビットコインのすごさを何も実現していないように感じられる。しかし、Fabricはコンソーシアムを作るためのツールである、と考えると、見え方は変わってくる。コンソーシアムに所属する全企業が同じコードやデータを管理することができること、それは企業間の連携のあり方を変える可能性を感じる。
2019年10月14日月曜日
ゼロ知識証明CL署名2
CL署名の特徴は、コミットメントに署名することができるところである。実際の値を明かす代わりに、コミットメントを署名者に明かして、署名を作成し、そして、署名の要求者が元の値の署名として使えるようにする。コミットメントについては、Wikipediaのビットコミットメントの項目が参考になる。
コミットメントは、嘘をつかないように、事前にその証拠を伝えることである。ゼロ知識証明基礎2で述べた$a$がコミットメントに当たる。ランダム値である$b$が検証者から証明者に伝えられる前に、$a$をコミットをしておくことで、$c$を応答することが証明になるようになっている。$b$を検証者から証明者に伝えた後で、$a$と$c$を伝えるのであれば、容易にインチキができる。 CL署名では、Damgård Fujisakiのコミットメントを使う。
コミットメントは、嘘をつかないように、事前にその証拠を伝えることである。ゼロ知識証明基礎2で述べた$a$がコミットメントに当たる。ランダム値である$b$が検証者から証明者に伝えられる前に、$a$をコミットをしておくことで、$c$を応答することが証明になるようになっている。$b$を検証者から証明者に伝えた後で、$a$と$c$を伝えるのであれば、容易にインチキができる。 CL署名では、Damgård Fujisakiのコミットメントを使う。
2019年10月13日日曜日
ゼロ知識証明CL署名1
ゼロ知識証明の基礎を説明した。基礎でできることは、$y=g^x$を満たす$x$の値を伝えずに、$x$を知っていることを証明する、ということにすぎない。この証明が何の役に立つのか、が疑問になるだろう。実際のところ、役に立つようにするには、工夫が必要になる。その工夫の一つは、CL署名スキームである。これは、「私は署名を持っている」というようなステートメントを証明し、コミットされた値に対する署名を作成するための署名スキームである。なお、日本語で書かれているページでは、Ontologyテクニカルホワイトペーパーが参考になる。
CL署名の基本スキームは、鍵生成とメッセージ空間、署名アルゴリズム、検証アルゴリズムの4つから成り立つ。まず、それを述べる。
鍵生成
CL署名の基本スキームは、鍵生成とメッセージ空間、署名アルゴリズム、検証アルゴリズムの4つから成り立つ。まず、それを述べる。
鍵生成
$p=2p'+1, q=2q'+1$で$p$, $q$, $p'$, $q'$が素数であるものを算出する。そして、$n=pq$を計算する(長さは$l_n$)。さらに、乱数$a$, $b$, $c$を生成する。そして、公開鍵$PK=(n, a, b, c)$、秘密鍵$SK=p$とする。メッセージ空間
※なお、$p$, $q$は安全素数と呼ばれる。 ※$a, b, c \in QR_n$(平方剰余の集合)に限定。$QR_n \subseteq {\mathbb{Z}_n}^*$、${\mathbb{Z}_n}^*$は、{1, 2, ..., n-1}を意味する。$b^2 \equiv a \bmod n$を満たす$\exists b \in {\mathbb{Z}_n}^*$を満たす$a \in {\mathbb{Z}_n}^*$。
メッセージ空間$m$は長さ$l_m$のバイナリストリングである。つまり、0以上$2^{l_m}$未満の値であるということ。署名アルゴリズム
$e > 2^{l_m+1}$で長さ$l_e=l_m+2$を満たす素数$e$を算出する。また、長さが$l_s=l_n+l_m+l$であるランダム数$s$を生成する。$l$はセキュリティパラメータである。そして、以下を満たす$v$を計算する。 \begin{align} v^e \equiv a^mb^sc \bmod n \end{align}検証アルゴリズム
$(e, s, v)$がメッセージ$m$の署名である。そして、$v^e \equiv a^mb^sc \bmod n$と$2^{l_c} > e > 2^{l_c}-1$をチェックする。なぜ、これで検証ができているのか、それを次に説明する。
2019年10月11日金曜日
ゼロ知識証明基礎3
ゼロ知識証明2では、攻撃の成功確率1/2で証明することができ、繰り返すことで0に近づけることが可能になる方法を説明した。これについては、繰り返しを減らす方法やさらになくす方法も提案されている。
減らすには、検証者が$b$を0以上$q$未満の値からランダムに選択して証明者に伝え、証明者は$c=r+bx \bmod q$を計算して検証者に返答する方法がある。このようにおいても、$g^c=ay^b$は成り立つ。これは1度で、攻撃の成功確率$1/q$で証明することができる。
なくす方法では、ハッシュ関数を使う。$p$, $q$, $g$, $y$, $a$を連結したものから証明者はハッシュを計算。さらにハッシュ値を$b$として、証明者は$c=r+bx \bmod q$を計算して、$a$, $b$, $c$を検証者に伝える。検証者は、同様の検証を行う。これにより、やはり、攻撃の成功確率$1/q$で証明することができる。
減らすには、検証者が$b$を0以上$q$未満の値からランダムに選択して証明者に伝え、証明者は$c=r+bx \bmod q$を計算して検証者に返答する方法がある。このようにおいても、$g^c=ay^b$は成り立つ。これは1度で、攻撃の成功確率$1/q$で証明することができる。
なくす方法では、ハッシュ関数を使う。$p$, $q$, $g$, $y$, $a$を連結したものから証明者はハッシュを計算。さらにハッシュ値を$b$として、証明者は$c=r+bx \bmod q$を計算して、$a$, $b$, $c$を検証者に伝える。検証者は、同様の検証を行う。これにより、やはり、攻撃の成功確率$1/q$で証明することができる。
2019年10月10日木曜日
ゼロ知識証明基礎2
ゼロ知識証明の基本は対話型である。前回も述べた暗号入門7講から私の理解を説明する。
証明者と検証者がいるとする。証明者は、$y=g^x$を満たす$x$を知っていて、検証者に$x$そのものを伝えずに、$x$を知っていることを伝えたいとする。それを証明するには、以下のプロトコルを実行する。
[証明者]
1. $r$をランダムで生成する。
2. $a = g^r$ を計算する。
3. $y$, $a$, $g$を検証者に伝える。
[検証者]
4. $y$, $a$, $g$を証明者から受け取る。
5. 0か1をランダムに選択する(その値を$b$とする)。
6. $b$を証明者に伝える。
[証明者]
7. 検証者から$b$を受け取る。
8. $c=r+bx$を計算する。
9. $c$を検証者に伝える。
[検証者]
10. $c$を証明者から受け取る。
11. $g^c=ay^b$あることを検証する。
12. 1.に戻って繰り返す(繰り返し回数が多いほど$x$を知っていることをより確信する。)
11.の式について説明する。
$y$, $a$, $g$は4.、$c$は10.で受け取っている。そして、$b$は自身が生成したので、計算が可能であることがわかる。そして、
$g^c = g^{r+bx} = g^r \times g^{bx} = a \times g^{b^x} = a \times g^{x^b} = a \times y^b = ay^b$
なので、この式が正しいことはわかる。
でも、これを読んでも、なるほど、とは思わないだろう。どうしてこれで証明したことになるのか。
まず、$y$と$g$の値がわかっていれば、$x$が求められるのではないか、という疑問。これは、その通りである。単純な式$y=g^x$であれば、簡単に$x$が計算できる。上記は、省略して書いたが、本当は、離散対数問題というのを扱う。$y=g^x mod p$のように全ての$g^a$の形になっているところを$g^a mod p$($p$は非常に大きな素数)という形に置き換える。modは"余り"を計算する記号である。C言語などなら%で表現する。modは面白い特徴を持ち、このように置き換えてもそのまま計算式が成り立つのだ。そして、$y$から$x$を求めるのは計算量的に困難になる。なので、暗号学的には$y$から$x$を求めることはできないということ、$y$を伝えても$x$の知識を伝えていないこと(ゼロ知識)にする。
次の疑問は、$x$をなぜ知っていることが証明できているのか、である。では、証明者が$x$を知らない場合にどうなるかを考えてみる。$x$を知らないということは$y=g^x$は計算できないので、ランダムな数値にすることになる。さらに、$c=r+bx$も計算できないので、ランダムな数値にすることになる。すると、11.の式の左辺の$c$と右辺の$y$が対応する値が入らないことになるので、この式は等しくならないことになる。
その次の疑問は、そんなこと言っても、対応するような$x$を作れるのではないか、ということだ。実は、$b$の値として0か1のどちらが応答されるのかが、わかっていれば、インチキできる。
なお、0と1の両方を同時に与えることはできない。$c=r+bx$であるから、0の時は$c=r$で$r$の値がわかり、1の時は$c=r+x$で$r+x$の値がわかる。その結果、$x$の値も引き算で出せてしまう。
以下の本でもゼロ知識証明についての触れられている。暗号技術についてわかりやすく書かれた本なので、ゼロ知識に限らず幅広く知りたい場合はお勧めできる。
証明者と検証者がいるとする。証明者は、$y=g^x$を満たす$x$を知っていて、検証者に$x$そのものを伝えずに、$x$を知っていることを伝えたいとする。それを証明するには、以下のプロトコルを実行する。
[証明者]
1. $r$をランダムで生成する。
2. $a = g^r$ を計算する。
3. $y$, $a$, $g$を検証者に伝える。
[検証者]
4. $y$, $a$, $g$を証明者から受け取る。
5. 0か1をランダムに選択する(その値を$b$とする)。
6. $b$を証明者に伝える。
[証明者]
7. 検証者から$b$を受け取る。
8. $c=r+bx$を計算する。
9. $c$を検証者に伝える。
[検証者]
10. $c$を証明者から受け取る。
11. $g^c=ay^b$あることを検証する。
12. 1.に戻って繰り返す(繰り返し回数が多いほど$x$を知っていることをより確信する。)
11.の式について説明する。
$y$, $a$, $g$は4.、$c$は10.で受け取っている。そして、$b$は自身が生成したので、計算が可能であることがわかる。そして、
$g^c = g^{r+bx} = g^r \times g^{bx} = a \times g^{b^x} = a \times g^{x^b} = a \times y^b = ay^b$
なので、この式が正しいことはわかる。
でも、これを読んでも、なるほど、とは思わないだろう。どうしてこれで証明したことになるのか。
まず、$y$と$g$の値がわかっていれば、$x$が求められるのではないか、という疑問。これは、その通りである。単純な式$y=g^x$であれば、簡単に$x$が計算できる。上記は、省略して書いたが、本当は、離散対数問題というのを扱う。$y=g^x mod p$のように全ての$g^a$の形になっているところを$g^a mod p$($p$は非常に大きな素数)という形に置き換える。modは"余り"を計算する記号である。C言語などなら%で表現する。modは面白い特徴を持ち、このように置き換えてもそのまま計算式が成り立つのだ。そして、$y$から$x$を求めるのは計算量的に困難になる。なので、暗号学的には$y$から$x$を求めることはできないということ、$y$を伝えても$x$の知識を伝えていないこと(ゼロ知識)にする。
次の疑問は、$x$をなぜ知っていることが証明できているのか、である。では、証明者が$x$を知らない場合にどうなるかを考えてみる。$x$を知らないということは$y=g^x$は計算できないので、ランダムな数値にすることになる。さらに、$c=r+bx$も計算できないので、ランダムな数値にすることになる。すると、11.の式の左辺の$c$と右辺の$y$が対応する値が入らないことになるので、この式は等しくならないことになる。
その次の疑問は、そんなこと言っても、対応するような$x$を作れるのではないか、ということだ。実は、$b$の値として0か1のどちらが応答されるのかが、わかっていれば、インチキできる。
$b$が0であるとわかっている場合
$c=r$である。したがって、11.の式の左辺は$g^r$で、右辺は$a$である。つまり、2.で正しく、$a=g^r$を計算して、その値を3.で渡していれば騙すことができる。
$b$が1であるとわかっている場合しかし、知らなかった場合はどうなるだろうか。
$c=r+x$である。が、$x$は知らないので、$c$は計算できない。しかし、11.の式を満たす$c$を伝えればいい。$b$が1とすると、11.の式の右辺は$ay^b = ay$になる。したがって、2.の式で$a$を計算するときに、$a=g^r$を計算する代わりに、$a=g^c / y$を計算すればよい。$c$はランダム値で構わない。これにより、11.の式を満たすことが可能である。
$a=g^r$にしている場合に$b$が1だったら
$c=r+x$が計算できないので11.の式を満たす$c$を送れない。
$a=g^c/y$にしている場合に$b$が0だったらつまり、bが0か1かの予想が当たった場合はインチキができてしまうので、この$b$を送って$c$を受け取る処理を繰り返す必要がある。繰り返すことで、インチキができる可能性が1/2になっていく。
今度は、$a=g^r$を満たす$r$を求めることができないために、11.の式を満たす$c=r$を送ることができない。
なお、0と1の両方を同時に与えることはできない。$c=r+bx$であるから、0の時は$c=r$で$r$の値がわかり、1の時は$c=r+x$で$r+x$の値がわかる。その結果、$x$の値も引き算で出せてしまう。
以下の本でもゼロ知識証明についての触れられている。暗号技術についてわかりやすく書かれた本なので、ゼロ知識に限らず幅広く知りたい場合はお勧めできる。
2019年10月9日水曜日
ゼロ知識証明基礎1
ビットコインからブロックチェーンが流行り、その状況でセキュリティ業界でホットになっている暗号技術がゼロ知識証明である。ゼロ知識証明は、情報そのものを伝えずに、その情報を知っていることを、証明する方法である。与える情報がゼロ、つまりゼロ知識、ということ。で、そんなことできるわけない。なので、本当に何も伝えないわけではなく、情報を加工したものを伝えて、加工前の情報に戻すことが難しいだけ。それを数学的に実現する。しかし、数学をきっちり勉強してこなかったエンジニアにはなかなか理解しがたい。わかりやすく書かれているのは、「情報セキュリティ大学院大学公開講座『暗号入門7講』ゼロ知識証明入門」だと思うが、これでも難しい。でも、もっとわかりやすく、となると、Wikipediaのゼロ知識証明の項目にあるように、洞窟の比喩などになってしまう。比喩を考えるのは楽しいかもしれないが、本当に理解しようと思っている人の助けにはまったくならない。他の人の理解になればと、僕の理解を明日から書いていく。
きっちり本を読んで理解したいのなら、以下の本が役立つ。
2019年10月8日火曜日
ブログ再開
前は突然やる気がなくなったのか、記事の書きかけが下書きとして残ったままやめたようだ。新たにブログを開設するか迷ったが再開することにする。しかし、もう競馬ソフトは作ってないので、その話題は終わりだ。5年も経ってるしな。何となく記憶を思い起こして見ると、結局、ある程度調整しても利益が出るようにならなくて、考え方が間違ってるわ、と思ってやめた気がする。
2014年9月4日木曜日
タイム差の連鎖で比較する方法の検証(5)
タイム差の連鎖で比較する方法の検証(4)で書いたように、今のところ、18番人気を予想するときがある。さすがにおかしいだろう、と調べてみる。2013年までの間で18番人気を予想してしまうのは、6レース。その最も最近のレースは、2012年4回阪神9日11レース。勝ったのは、17番オリービン(4番人気)で、予想した結果は10番アンノルーチェ(18番人気)である。見てみたところ、おかしな数値が出ているところはない。以下がタイム差を計算したもの。数が大きいほど、相手の馬に対して速いことを示す。なお、時間差を走破タイムで割るという調整をしているので、時間差そのままではない。そして、アンノルーチェのオリービンに対するタイム差は、-0.022085369だが、逆は、0.02186513と微妙に違う値になる。これは、その調整による差である。この値から直接のタイム差としては、オリービンのほうが速いということになる。平均値にはほとんど差がない。計算不能だった3頭を除くと、アンノルーチェより速いのは、1番クラレントと17番オリービンしかない。なぜに、これで18番人気なのか。うーん、何が問題なのか、もっと詳細を調べる必要があるな。
| 10 アンノルーチェ | 17 オリービン | ||
| 1 クラレント | -0.022085369 | 0.0041351984 | |
| 2 エックスダンス | |||
| 3 フレールジャック | -0.0015884668 | ||
| 4 モンストール | 0.0012626622 | -6.1875914E-4 | |
| 5 ゼロス | 0.009481094 | ||
| 6 ブレイブファイト | 0.02126317 | 0.006194453 | |
| 7 ゴールスキー | 0.011377697 | 0.00542193 | |
| 8 オートドラゴン | 0.019957723 | 0.013366331 | |
| 9 マイネルクラリティ | 0.01879465 | 0.012109033 | |
| 10 アンノルーチェ | 0.02186513 | ||
| 11 タガノエルシコ | 0.012399922 | 0.0058213435 | |
| 12 ダイシンプラン | 0.025695212 | 0.00988129 | |
| 13 ダローネガ | 0.013413218 | -0.0023949028 | |
| 14 ミキノバンジョー | 0.017621284 | 0.0063157864 | |
| 15 タムロスカイ | 0.019119335 | 0.013514917 | |
| 16 ガンダーラ | 0.021165427 | ||
| 17 オリービン | -0.022085369 | ||
| 18 レッドデイヴィス | 0.012767975 | 0.0038332231 | |
| 平均 | 0.007195 | 0.007139 |
2014年9月2日火曜日
タイム差の連鎖で比較する方法の検証(4)
タイム差の連鎖で比較する方法の検証(3)で書いたバグをとった結果は、以下のようになった。今回も予想の範囲は、2001年から2013年の範囲で、80%以上データがあるレースに限っている。
的中率 23.2% 回収率 86.0%
バグってた時より、的中率も回収率もあがっている。以前にも書いたように一番人気は、以下。
的中率 32.3% 回収率 76.1%
さて、予想結果は、何番人気の馬を予想しただろうか。結果は以下。
1番人気 14545レース
2番人気 7838レース
3番人気 4752レース
4番人気 3166レース
5番人気 2231レース
6番人気 1607レース
7番人気 1047レース
8番人気 796レース
9番人気 597レース
10番人気 357レース
11番人気 252レース
12番人気 179レース
13番人気 130レース
14番人気 92レース
15番人気 66レース
16番人気 43レース
17番人気 14レース
18番人気 6レース
うーん、減ったものの、18番人気を予想するのはおかしいよなー。また、調べてみよう。
的中率 23.2% 回収率 86.0%
バグってた時より、的中率も回収率もあがっている。以前にも書いたように一番人気は、以下。
的中率 32.3% 回収率 76.1%
さて、予想結果は、何番人気の馬を予想しただろうか。結果は以下。
1番人気 14545レース
2番人気 7838レース
3番人気 4752レース
4番人気 3166レース
5番人気 2231レース
6番人気 1607レース
7番人気 1047レース
8番人気 796レース
9番人気 597レース
10番人気 357レース
11番人気 252レース
12番人気 179レース
13番人気 130レース
14番人気 92レース
15番人気 66レース
16番人気 43レース
17番人気 14レース
18番人気 6レース
うーん、減ったものの、18番人気を予想するのはおかしいよなー。また、調べてみよう。
2014年9月1日月曜日
タイム差の連鎖で比較する方法の検証(3)
18番人気を勝つと予想してしまったデータがあると、タイム差の連鎖で比較する方法の検証(2)で書いた。どういうレースでそのような予想をしてしまうのか。まず、データ中で最も最近のデータを調べてみることにした。そのレースは、2013年5回京都7日目8レース。このレースで18番人気である6番マナウスを予想している。実際の結果は、17着であり、ほぼ人気どおり。詳細を調べてみると、おかしいタイム差になっているレースがあった。
6番マナウスと12番やマニンプードレとの時間差の計算のために、
まず、2013年4回京都8日目6レースで7番マナウスと8番アウトシャイン間のタイム差を計算している。このレースでは、
14着7番マナウス1.13.3
15着8番アウトシャイン1.13.3
で時間差なしである。次に、2013年2回小倉9日目12レースで2番アウトシャインと11番ノーザンソングのタイム差を比較している。
2着2番アウトシャイン1.08.4
13着11番ノーザンソング1.09.5
で時間差は-1.1である。次に、2013年4回阪神5日目7レースで6番ノーザンソングと3番ヤマニンプードレのタイム差を比較している。
あっ、ヤマニンプードレは出走取り消しになってる。
これはイレギュラーなので無視しないと駄目だ。バグであり、修正しないと行けない。
6番マナウスと12番やマニンプードレとの時間差の計算のために、
まず、2013年4回京都8日目6レースで7番マナウスと8番アウトシャイン間のタイム差を計算している。このレースでは、
14着7番マナウス1.13.3
15着8番アウトシャイン1.13.3
で時間差なしである。次に、2013年2回小倉9日目12レースで2番アウトシャインと11番ノーザンソングのタイム差を比較している。
2着2番アウトシャイン1.08.4
13着11番ノーザンソング1.09.5
で時間差は-1.1である。次に、2013年4回阪神5日目7レースで6番ノーザンソングと3番ヤマニンプードレのタイム差を比較している。
あっ、ヤマニンプードレは出走取り消しになってる。
これはイレギュラーなので無視しないと駄目だ。バグであり、修正しないと行けない。
2014年8月31日日曜日
タイム差の連鎖で比較する方法の検証(2)
タイム差の連鎖で比較する方法の検証で書いたつづき。
予想がどれぐらいいいのかは、的中率と回収率で評価するしかない。しかし、オッズというのが非常によく出来ているというか、「みんなの意見」は案外正しい (角川文庫)
というか、的中率が上がると回収率が下がり、的中率が下がると回収率が上がるみたいな結果になりがちだ。で、両方あげようとすると、フィルタリングをかけるのか、何らかの手段を講じないといけないだろう。
とりあえずは、この予想方法で、最も速いと予想された馬が何番人気だったのか、という結果を調べてみた。
1番人気 11856レース
2番人気 6681レース
3番人気 4298レース
4番人気 3082レース
5番人気 2290レース
6番人気 1813レース
7番人気 1384レース
8番人気 1255レース
9番人気 1032レース
10番人気 873レース
11番人気 735レース
12番人気 668レース
13番人気 561レース
14番人気 439レース
15番人気 358レース
16番人気 282レース
17番人気 67レース
18番人気 47レース
もっと、人気馬が選出されていると思っていた。いくらなんでも、この予想方法で18番人気の馬が選出されることがあるのは、少ないとはいえ、理解しがたい。もちろん、18番人気の馬が勝つ確率はある。上記のデータと同じ(2001年から2013年のレースでデータが80%以上そろっていたもの)レースで18番人気の馬は2回勝っているようだ。しかし、予想については、タイム差を使っているのだから、基本的にタイムが速い馬が選出されているはずである。人が予想する場合もタイムを見ているはずで、ある程度上位に来ないとおかしいのではないか。詳細を調べてみたい。
予想がどれぐらいいいのかは、的中率と回収率で評価するしかない。しかし、オッズというのが非常によく出来ているというか、「みんなの意見」は案外正しい (角川文庫)
とりあえずは、この予想方法で、最も速いと予想された馬が何番人気だったのか、という結果を調べてみた。
1番人気 11856レース
2番人気 6681レース
3番人気 4298レース
4番人気 3082レース
5番人気 2290レース
6番人気 1813レース
7番人気 1384レース
8番人気 1255レース
9番人気 1032レース
10番人気 873レース
11番人気 735レース
12番人気 668レース
13番人気 561レース
14番人気 439レース
15番人気 358レース
16番人気 282レース
17番人気 67レース
18番人気 47レース
もっと、人気馬が選出されていると思っていた。いくらなんでも、この予想方法で18番人気の馬が選出されることがあるのは、少ないとはいえ、理解しがたい。もちろん、18番人気の馬が勝つ確率はある。上記のデータと同じ(2001年から2013年のレースでデータが80%以上そろっていたもの)レースで18番人気の馬は2回勝っているようだ。しかし、予想については、タイム差を使っているのだから、基本的にタイムが速い馬が選出されているはずである。人が予想する場合もタイムを見ているはずで、ある程度上位に来ないとおかしいのではないか。詳細を調べてみたい。
2014年8月30日土曜日
タイム差の連鎖で比較する方法の検証
タイム差の連鎖で比較するの考え方で書いた方法で計算をしてみた。馬の連鎖は3連鎖までとした。単純に言えば、AとBの馬の差を計算するときに、AとB直接対決した場合か、A-C(AとCが出たレースの差)-B(CとBが出たレースの差)のように、間に別の馬を1頭のみ挟んだ場合、同様にして2頭挟んだ場合を計算する。Aの強さは、A-Bのタイム差(複数ある場合は平均)、A-Cのタイム差、...、と計算したタイム差を平均したものとする。データがそろわないものは予想から外さないと行けないので、80%以上出走馬のタイム差が出た場合のみにした。予想は2001年から2013年の13年分。で、結果は、以下。
的中率 19.7% 回収率 83.1%
うーむ、なんと悪いことよ。ところで、同じレースの1番人気の的中率と回収率は、以下。
的中率 32.3% 回収率 76.1%
回収率は1番人気よりましだが、的中率はかなり悪い。だいたい予想アプリを作るとこういう傾向になる。
的中率 19.7% 回収率 83.1%
うーむ、なんと悪いことよ。ところで、同じレースの1番人気の的中率と回収率は、以下。
的中率 32.3% 回収率 76.1%
回収率は1番人気よりましだが、的中率はかなり悪い。だいたい予想アプリを作るとこういう傾向になる。
2014年8月28日木曜日
書評: カイジ「命より重い!」お金の話
経済学の基礎的な内容で、お金にまつわる話が書かれている。ところどころに漫画のカイジの1ページが差し込まれている。カイジの陥っている状況などを題材として、説明していく。
カイジが書かれていることで興味がひかれるような人を対象に書かれているわけで、そんなに難しい話をしてもしかたないからだろう。原則的な内容で、経済学の基礎はわかっている人なら知っているレベルのことのみで書かれている。たとえば、給料の決まり方は、資本論、つまり、必要経費で決まるという説明で書かれている。実際はさまざまな条件が絡むため、そのままというわけではないので、実感がうまくあてはまらず、逆に知らない人はこれだけ読んでも、わからないのではないだろうか。
最低賃金をあげたらどうなるか、という回答も、最低賃金で働いている人ような人が、まず、職を失う、という内容である。単純にはそう考えられるが、状況次第でそうではない。たとえば、少し前の日本のようにデフレーションで苦しんでいる時期であれば、インフレーションにうまくつながり、景気がよくなるなど、いいスパイラルにつながるかもしれない。そのような場合は、職を失うという結果にはならない。
この本はお金に対する考え方の本で、借金をしてしまうような人向けなのであるが、そういう人が読もうとするかどうかはよくわからないところだ。とりあえず、この本を読むと、カイジを読みたくなってくるのは確かだ。
カイジが書かれていることで興味がひかれるような人を対象に書かれているわけで、そんなに難しい話をしてもしかたないからだろう。原則的な内容で、経済学の基礎はわかっている人なら知っているレベルのことのみで書かれている。たとえば、給料の決まり方は、資本論、つまり、必要経費で決まるという説明で書かれている。実際はさまざまな条件が絡むため、そのままというわけではないので、実感がうまくあてはまらず、逆に知らない人はこれだけ読んでも、わからないのではないだろうか。
最低賃金をあげたらどうなるか、という回答も、最低賃金で働いている人ような人が、まず、職を失う、という内容である。単純にはそう考えられるが、状況次第でそうではない。たとえば、少し前の日本のようにデフレーションで苦しんでいる時期であれば、インフレーションにうまくつながり、景気がよくなるなど、いいスパイラルにつながるかもしれない。そのような場合は、職を失うという結果にはならない。
この本はお金に対する考え方の本で、借金をしてしまうような人向けなのであるが、そういう人が読もうとするかどうかはよくわからないところだ。とりあえず、この本を読むと、カイジを読みたくなってくるのは確かだ。
2014年8月24日日曜日
タイム差の連鎖で比較するの考え方
タイム差の連鎖で比較するで、書いたようにタイム差を使った予想アプリを作成する。
考え方は単純だ。たとえば、2014年の宝塚記念を考えてみる。1着 ジャスタウェイはゴールドシップだが、メイショウマンボを除いて、他の馬とは過去に一緒のレースに出たことがある。なので、それから、タイム差が求められる。たとえば、2着 カレンミロティックとのタイム差は、
有馬記念(2013年)
3着 ゴールドシップ 2.33.8
6着 カレンミロティック2.34.3
をもとに、0.5秒差と算出できる。しかし、直接対決をしていない場合であっても、他の馬経由で算出できる。
ヴィクトリアマイル(2014年)
1着 ヴィルシーナ 1.32.3
2着 メイショウマンボ 1.32.4
ジャパンカップ(2013年)
7着 ヴィルシーナ 2.26.3
15着 ゴールドシップ 2.27.5
つまり、ゴールドシップとヴィルシーナのタイム差は-1.2秒差、ヴィルシーナとメイショウマンボのタイム差は0.1秒差、で合わせて、-1.1秒差というのが他の馬経由でのタイム差である。このタイム差は宝塚記念で実際には勝ったゴールドシップのほうが遅いということだが、たまたま大負けしたジャパンカップが算出用のレースになったのだからしかたない。このようにある馬経由で算出できるタイム差はたくさんあるはずで、それらを平均すれば、それなりに正しいタイム差が出せるのはないかというのが、考え方。
いくつも馬を連鎖すれば、誤差が蓄積されているだろうし、その組み合わせを算出するために計算量が大きくなる時間がかかるだろうから、ある程度連鎖の数はしぼるのがいいのだろう。そして、タイム差は距離によって重みが違うだろうから、単純に-1.2+0.1=-1.1ではなく、-1.2/(2.27.5秒) + 0.1/(1.32.3秒)ように走破タイムで重みを変えることにする。
考え方は単純だ。たとえば、2014年の宝塚記念を考えてみる。1着 ジャスタウェイはゴールドシップだが、メイショウマンボを除いて、他の馬とは過去に一緒のレースに出たことがある。なので、それから、タイム差が求められる。たとえば、2着 カレンミロティックとのタイム差は、
有馬記念(2013年)
3着 ゴールドシップ 2.33.8
6着 カレンミロティック2.34.3
をもとに、0.5秒差と算出できる。しかし、直接対決をしていない場合であっても、他の馬経由で算出できる。
ヴィクトリアマイル(2014年)
1着 ヴィルシーナ 1.32.3
2着 メイショウマンボ 1.32.4
ジャパンカップ(2013年)
7着 ヴィルシーナ 2.26.3
15着 ゴールドシップ 2.27.5
つまり、ゴールドシップとヴィルシーナのタイム差は-1.2秒差、ヴィルシーナとメイショウマンボのタイム差は0.1秒差、で合わせて、-1.1秒差というのが他の馬経由でのタイム差である。このタイム差は宝塚記念で実際には勝ったゴールドシップのほうが遅いということだが、たまたま大負けしたジャパンカップが算出用のレースになったのだからしかたない。このようにある馬経由で算出できるタイム差はたくさんあるはずで、それらを平均すれば、それなりに正しいタイム差が出せるのはないかというのが、考え方。
いくつも馬を連鎖すれば、誤差が蓄積されているだろうし、その組み合わせを算出するために計算量が大きくなる時間がかかるだろうから、ある程度連鎖の数はしぼるのがいいのだろう。そして、タイム差は距離によって重みが違うだろうから、単純に-1.2+0.1=-1.1ではなく、-1.2/(2.27.5秒) + 0.1/(1.32.3秒)ように走破タイムで重みを変えることにする。
2014年8月20日水曜日
高校野球
高校野球「大量リードで盗塁」、何が悪い 夏の甲子園に「大リーグ不文律」は意味なしにあるが、大量リードでの盗塁を問題する人がいるようだ。これは、高校野球の位置づけの微妙間がもたらす問題と言えるだろう。
メジャーやプロ野球にはそういう不文律があるわけだが、結局のところ、こういう不文律は「観客が見て面白くないから」、に尽きる。野球はピッチャーの不調などで最初のほうで一気に試合が決まってしまうことがある。でも、雨でも降らない限り、9回まで試合はやることになる。バラエティ番組と違い、差が開いたからといって、この回は何と得点は3倍とか、するわけにはいかないわけで、試合終了までやるしかない。プロである限りは、ショーである部分が大きいわけで、ある程度勝っている側を制限したりするのは、演出の範囲であろう。一方で、大差がついていても、勝ってる側のピッチャーが乱調になれば、一気に追いつくこともあり得るのが、野球とも言えるので、勝つことだけを考えれば、おかしいのだが、それこそショーとして面白くなるのでいいのだ。
高校野球は微妙だ。本来は高校の部活動のはずなのに、ショーの側面が大きい。もう大昔の話だが、思い出されるのは、松井秀喜の5打席連続敬遠だ。勝つためには、最善の策と考えてしたことのはずだが、批判も多かった。ショーと考えれば、これはありえない作戦だ。多くの人は松井のホームランを楽しみに見てるんだから。大量の客が入って、全試合テレビ中継があり、ニュースや新聞で取り上げられる。プロと同じ状態。だからこそ、いろんなチーム・選手の内実をドラマ仕立てにして、盛り上げたりする。おにぎり2万個の件が議論になるのも、ショーなのか、部活なのかの微妙さから来るのだろう。ショー化して、どんどん消費していく。連投して故障する投手もショーの中で消費されたと言えるのだろうな。
メジャーやプロ野球にはそういう不文律があるわけだが、結局のところ、こういう不文律は「観客が見て面白くないから」、に尽きる。野球はピッチャーの不調などで最初のほうで一気に試合が決まってしまうことがある。でも、雨でも降らない限り、9回まで試合はやることになる。バラエティ番組と違い、差が開いたからといって、この回は何と得点は3倍とか、するわけにはいかないわけで、試合終了までやるしかない。プロである限りは、ショーである部分が大きいわけで、ある程度勝っている側を制限したりするのは、演出の範囲であろう。一方で、大差がついていても、勝ってる側のピッチャーが乱調になれば、一気に追いつくこともあり得るのが、野球とも言えるので、勝つことだけを考えれば、おかしいのだが、それこそショーとして面白くなるのでいいのだ。
高校野球は微妙だ。本来は高校の部活動のはずなのに、ショーの側面が大きい。もう大昔の話だが、思い出されるのは、松井秀喜の5打席連続敬遠だ。勝つためには、最善の策と考えてしたことのはずだが、批判も多かった。ショーと考えれば、これはありえない作戦だ。多くの人は松井のホームランを楽しみに見てるんだから。大量の客が入って、全試合テレビ中継があり、ニュースや新聞で取り上げられる。プロと同じ状態。だからこそ、いろんなチーム・選手の内実をドラマ仕立てにして、盛り上げたりする。おにぎり2万個の件が議論になるのも、ショーなのか、部活なのかの微妙さから来るのだろう。ショー化して、どんどん消費していく。連投して故障する投手もショーの中で消費されたと言えるのだろうな。
2014年8月19日火曜日
ラングリッチ(3)
最近、よくレッスンを受けていた先生が辞めたり、予約がいっぱいすぎてとれなかったりで、新しい先生の開拓が必要だ。選ぶにあたっては、写真と自己紹介文、発音練習みたいな動画、自己紹介のビデオがある。あとはお気に入りに登録されている人数。しゃべりを聞いたところで、あんまりわからないし、新しく入った先生はまだなかったりする。自己紹介文については、なぜか日本語でも紹介されている先生もいたりして謎だ。長い・短いで何か違いがあるわけでもない。結局、適当に選ぶしかないとも言える。
そして、多くの人は写真で選んでいるような気がする。理由は単純だ。お気に入りに登録されている人数順に先生一覧を見ることが出来る。それで見て行くと、写真写りのいい先生が上位のように見えるからだ。先生によって、午前だけだったり、土日だけだったり、といろいろなパターンがあるので、やっぱ多くの人が受けられる時間にレッスンをしている先生が上位にくるような気はするが。でも、現在トップのZee先生はAM5時から9時までのようだが、358もの登録がある。どうなってんだ。日に8コマしかレッスンがない。ということは1週間40コマなのに、358名の登録。平均すると2ヶ月に1コマぐらいしか受けられんぞ。受けたことない人もお気に入りにしてんじゃないのかとすら思える。
そして、多くの人は写真で選んでいるような気がする。理由は単純だ。お気に入りに登録されている人数順に先生一覧を見ることが出来る。それで見て行くと、写真写りのいい先生が上位のように見えるからだ。先生によって、午前だけだったり、土日だけだったり、といろいろなパターンがあるので、やっぱ多くの人が受けられる時間にレッスンをしている先生が上位にくるような気はするが。でも、現在トップのZee先生はAM5時から9時までのようだが、358もの登録がある。どうなってんだ。日に8コマしかレッスンがない。ということは1週間40コマなのに、358名の登録。平均すると2ヶ月に1コマぐらいしか受けられんぞ。受けたことない人もお気に入りにしてんじゃないのかとすら思える。
[修正]Zee先生のクラスは、午前に加えて20:30-25:00までの9コマもさらにあるようだ。長時間労働だな。とすると平均して1ヶ月に1コマぐらいか。それでも、やっぱり、めったにとれないよな。
2014年8月18日月曜日
ラングリッチ(2)
ラングリッチは始めてから何ヶ月か経つと、4日分の予約を取ることが出来るようになる。そのため、明々後日の予約をとることになるのだが、先生によっては全然とれない。いつ予約してるんだ他の人たちは。朝の7時ぐらいに見ても、すでに全部の時間帯埋まっている先生もざらだ。よく話していた先生が、全然とれなくなってしまうのが残念なところだが、これはしかたない。その時間、他の人がすでに予約したというだけで他に先生はいるので、レッスンは受けることが出来る。先生を選ばなければ、全くとれないことはまずない。
また、結構先生が辞める。辞める前に教えてくれる先生もいる。フィリピンでは転職はよくあることのようなので、しかたない。まだ学生でバイトとして先生をしている人もいるので、就職したりもあるようだ。なので、いろいろな先生を試して行くしかない。
何ヶ月か前から、お気に入りの先生を登録できるようになった。そして、お気に入りに登録している人の人数を見ることが出来る。つまり、その先生の人気を見ることが出来る。じゃあ、人気の先生がいい先生なのか、というとこれがよくわからない。大人気の先生も誰かがキャンセルしたのか、とれることもある。で、とって試してみても、何が違うのかよくわからなかったりもする。なので、あまり人気に左右されてもしかたない。でも、先生は人気によって評価されたりするのだろうか、気になるところだな。
登録:
投稿 (Atom)