ビットコイン・インスティテュート

レイ・ディリンジャーへの​インタビュー​(Great Wall of Numbers、​2018年10月)

コードレビューについて

サトシは、証明チェーンのコードを検査のために私に送ってきた。堅牢だと判断した。

私がビットコインに興味を持った理由は四つある。長年考えてきた課題に取り組む電子現金のプロトコルだったこと。中心となる証明チェーン(今はブロックチェーンと呼ばれる)を使っていたこと。サトシが最後には、自分は詐欺師ではないと私を納得させたこと。そして何より決め手になったのは、とてつもなく面白かったことだ。信頼される役割を一つも含まない、まったく新しい枠組みで、そんなものは、これまで誰一人考えついたことがなかったんだ。

浮動小数点の発見について

会計に整数型ではなく浮動小数点型を使っているコードを見つけたときは、肝をつぶした。昔から散々な問題を起こしてきた組み合わせなんだ。

サトシの説明はこうだった。JavaScriptとの互換性を考えて設計していて、JavaScriptにはほかの数値型がない。すべての実装が同じ答えを出すように、丸め誤差のバグを前もって潰しておきたかった。クライアントごとに答えが違えば、チェーンはフォークする。そうなったら、まずいことになる。

私の好みは、JavaScriptなんか知るか、丸め誤差は起こりえないようにしたい、と言って整数を使うことだった。

ハル・フィニーの視点について

ハル・フィニーは、PGPの暗号の仕事で浮動小数点の形式での正確な計算を扱った経験があり、私ほど心配していなかった。私たちは、ビットコインをどこまで分割できるようにするかを話し合った。丸め誤差の余裕を取るためにsatoshiを大きくするか、精度の限界の近くに置いて、誤差が出たら即座に、見つけられる形で、はっきり失敗するようにするか、だ。

丸め誤差がなかったことについて

私は会計のコードを、丸め誤差がないか、しらみつぶしに調べた。一つも見つからなかった。数値計算の誤差はどこにでもあって、誰も気づきさえしないほどなのだから、これには少なからず驚いた。

最小の会計単位(satoshi)は、倍精度浮動小数点の形式で丸めを一切起こさずに表せる精度の限界の、すぐ上に設定されていて、どの演算も、satoshiの大きさの単位に影響するビットを丸めないように実装されていた。

ビットコインでsatoshiの丸めを起こすには、2100万ビットコインを超える足し算か引き算をしなければならない。

デフレとため込みについて

供給が固定された経済では、コインを持っているだけで、市場の平均と同じだけ値上がりすることが保証される。リスクのない投資になるのだ。だから合理的な投資家は、生産的な事業に投資せず、ため込む。

古代ローマで起きたのが、まさにこれだ。ローマは金属(金と銀と青銅)を通貨にしていて、人々が経済を回すのに十分なお金を持っていたのに、経済が崩壊した! 誰もが、栄える事業から後で利益を得るつもりでコインをしまい込み、事業は資本が足りずに栄えなかった。

1500年たった今でも、私たちはまだローマのコインの隠し場所を見つけ続けているんだ!

ASICとマイニングの集中化について

補助金で電気料金が人為的に低く抑えられた土地のマイナーがほかのすべてのマイナーに勝ち、ハッシュパワーの大部分がたった一つの国に集まって、たった一つの政府の命令と気まぐれに左右されるようになるとは、サトシは考えていなかったと、私はかなり確信している。

原典の外部ソース

https://www.ofnumbers.com/2018/10/01/interview-with-ray-dillinger/
インタビュアー: ティム・スワンソン(Great Wall of Numbers)。ビットコインホワイトペーパー10周年に合わせて公開。

他の外部ソース