Tech と Culture

テクノロジーとカルチャー

なんとなく雑記

FBから転載した。

個人的な感覚は、ブロックチェーンはコンピュータサイエンスじゃなくて工学。 エッセンスを抽象化して、アプリケーションを考えたりすることはできるけど、安全性考える時は工学的なアプローチが必須。

VitalikのFinalityの議論があったけど、そういうの以前にソフトウェアが動いている半導体自体が設計・製造メーカーから確率的な信頼性で出荷されてる。コンピューターサイエンス的な思考だと確率的な動作は違和感あるけど、工学的な思考だと当たり前のことに感じる。

バイスの出荷基準はFIT値で保証したりしてる。チップ内部で一方向にしか電流流れない配線はエレクトロマイグレーションで劣化していくし、ゲート電圧なんて少し高く与えると簡単に壊れる。 配線についてはテストデバイスを作って実験しまくってどれぐらい大丈夫か測定して上限を示し、チップレイアウトを設計している人たちがその値を守るように設計する。チップ全体でそれが守られているかチェックするソフトウェアもある。

新しいプロセスができる時に、トランジスタのプロファイル(不純物濃度をどうするとか)はエンジニアが物理制約の中で自由に決めれる。けど変なバランスで設計するとあっという間に壊れるので、なるべく面積小さく速度早く要求される年月で壊れないように設計される。それも全部統計的なデータ取って、ある確率で大丈夫なように設計してる。 いろんな設計レイヤーで徹底的な実験や研究をしてすごく高い信頼性のLSIが出荷されている。それでも100%保証じゃない。(アレニウスの式とか色々その分野だけで一つ教科書ができるぐらい研究されている) 100%保証じゃなくてもマーケットのニーズがあれば売れていく。

昔々、不揮発メモリのニーズはすごく強かったが実現してなかった。ある物理現象で実現できることを天才が示したけど、その現象使うと劣化しやすかった。それでもマーケットニーズが強かったので書き換え回数に制限をつけて出荷してる。

なので、ブロックチェーンのファイナリティが決定論的ではなくいつまで経っても100%にならないというのは"工学"的には特に問題なことじゃない(コンピュータサイエンス的には気持ち悪いかもしれないけど、むしろその方が狭い分野からの見方)。そもそもソフトウェアが動いている半導体の動作が確率に支配されてるんだよね。

誰かが最初に飛行機飛ばした時に、何故空を飛ぶのか良く分からなかったけど、後から色んな人が飛行機を作ったと思う。けど、人を乗せて旅客機事業をやるとなったら色んな安全性の議論は起きたはず。多分ブロックチェーンは今そのフェーズ(飛行機と違って、本当は空飛んでないんじゃないかって説もあるのでさらに難しい)。 まあけど、間違った理屈で「飛行機なんか詐欺だ」というのもすごく変。

ビットコインのブロックチェーンはブロックタイムが10分だけど、世界中にproof of workのパズルの解答を広めるのにおおよそ12秒かかるらしく、ブロックタイムをどんどん縮めていくと多分あるところからフォークして収束しなくなる確率がどんどん上がる。

その他にもcryptcurrencyはinternet of moneyなのでinternetがきちんと動くことに当然依存している。

ここら辺の安全性はコンピュータサイエンスじゃなくて"工学"なんだよ。コンピューターサイエンス的な議論も一杯必要だけど最終的に議論として残るのはコンピューターサイエンス的なところじゃなくて、実証論的な工学的な信頼性。だからビットコインは数学屋の世界からじゃなくてオープンソースの世界から生まれてきた。(もちろんコンピューターサイエンスは実証論てきな部分の追い込みには役に立つと思うけど)

マーケットニーズがあるなら、今ある部品を使ってどんどん新しいものを作ればいい。エンジニアなんだから。 それと同時に、単なる一部の人の投機ゲームから、産業の基盤にしようとするなら、どんなリスクがあるのかきちんと調べ上げて説明しないと受け入れられない。完全じゃなかったとしても、半導体みたいに調べ上げてマーケットが納得する仕様上の制約を作ればいいだけ。

どうも仮想通貨やブロックチェーンは、

・なんでもかんでも肯定してリスク評価せずに「理解できない人は遅れている」という人や

・なんでもかんでも否定して、「あんなものは使えない」という人

が多くて、本当に変な感じだ。

もうそういうフェーズは脱して、産業基盤に使えるものをエンジニアが作り出すフェーズに入りたいものですね。