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

ウェイ・ダイが​Disperse/Collectを​発表 — 自作の​Crypto++ライブラリを​使用

人物: ウェイ・ダイ
暗い青緑の地に琥珀色を差した、昔の端末画面ふうの図解。左側でファイルが、冗長性を持たせて符号化した断片に分かれ、右側でその断片から元のファイルが組み立て直される様子を、中央の小さな歯車アイコンがつないでいる。

暗い青緑の地に琥珀色を差した、昔の端末画面ふうの図解。左側でファイルが、冗長性を持たせて符号化した断片に分かれ、右側でその断片から元のファイルが組み立て直される様子を、中央の小さな歯車アイコンがつないでいる。

ウェイ・ダイ(サイファーパンクメーリングリストへの投稿、1996年2月5〜6日)

昨年の投稿で、ラビンの情報分散方式は、当てにならないリメーラー(匿名でメールを中継するサーバー)のネットワーク越しに大きなファイルを送るのに役立つかもしれない、と書きました。その続きとして、自分のCrypto++ライブラリを使って、Disperse/Collectというシェアウェアを作りました。Disperseはファイルを、冗長性を持たせた断片に分け、Base64で符号化します。Collectはその断片を復号し、元のファイルを組み立て直します。このソフトウェアは私のホームページhttp://www.eskimo.com/~weidaiからダウンロードできます。

1996年の初めまでに、ウェイ・ダイは、暗号ライブラリのCrypto++をはじめ、いくつものソフトウェアを公開していた。

Crypto++ のコードは、ビットコインに最初から入っていた。サトシの最初のソースコードのうち、SHAを計算する部分は、sha.cppの冒頭にあるとおり、Crypto++ 5.5.2から「単独のファイルとして取り出した」ものである。v0.3.6(2010年7月)では、ハッシュの計算を速くするため、ライブラリのもっと広い範囲(SHA-256と、それが依存する共通の部品)がSVNのリポジトリに加えられた。ビットコインは最初の版からウェイ・ダイのコードを一部使っていたが、この変更で、取り込むコードがさらに増えた。

Crypto++ は、ビットコインの外でも使われていた。プロジェクトの公式ページは、このライブラリを使った商用製品として、Microsoft Office Grooveを挙げている。もっとも、ビットコインがCrypto++を使い続けたわけではない。Bitcoin v0.5は2011年11月、Crypto++ をOpenSSLのSHA-256実装に置き換えている。ビットコインのこのコードについては、ウェイ・ダイがサトシだとする説の分析でも取り上げている。その分析は、v0.3.6でのSSE2を使った高速化を、サトシ一人の仕事ではなく、BitcoinTalkのメンバーBlackEyeの提案によるものとしている。

2年後、ダイはb-moneyを発表する。Disperse/Collectを作り上げたほどの腕がありながら、ダイはこの提案を、結局自分では実装しなかった。2014年にダイ自身が語ったところでは、b-moneyを書き上げるころには「クリプト・アナーキーへの熱がいくらか冷めていた」のだという。能力が足りなかったのではない。実装する力があったことは、Disperse/Collectがすでに示していた。ダイは、実装しないことを自分で選んだのである。