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

サトシ・ナカモトと​Visual C++ 6.0 — 登録を​求める​ソフトの​時代と、​口座の​要らない​通貨

濃いネイビーの地に「The sign-up era」の見出し。その下に三つの枠が並ぶ。左はPassportへのサインインと名前・メールアドレスの入力を求め、残り30日と表示するVisual C++ 2008 Expressの登録の画面。中央はVisual C++ 6.0 SP6とMinGW GCC 3.4.5の二枚の札。右はビットコインv0.1の枠で、手元で作られた鍵のペアと、「no account」と添えた空の点線の書式

ビットコインv0.1.3のソースに同梱したreadme.txtで、サトシは対応するコンパイラーを二つ挙げている。MinGW GCC 3.4.5と、マイクロソフトが1998年から売っていたMicrosoft Visual C++ 6.0 SP6である。少し下には、その古いコンパイラーにこだわった代償も書き残している。「VC6でビルドするにはBoost 1.35が必要かもしれない。Boost 1.37はVC6でコンパイルできなかった」。

そのころ、マイクロソフトの新しいコンパイラーは無料になっていた。そして、使う人が誰なのかを知りたがった。無料のVisual C++ 2008 Express Editionは、導入から30日以内に登録しなければならない。登録はPassportへのサインインと、個人の情報を書くオンラインの書式を通る。仮名の開発者が10年前のコンパイラーを使い続けていれば、すぐに思いつく読みがある。名前を聞かれない場所にとどまったのだ、という読みである。記録を使えば、この読みは確かめられる。当時のソフトが使う人に何を求めたか、サトシの周りの人たちがそれをどう書いたか、サトシ自身はどこで名前を書いたか、そして何を作ったか。

1998Visual C++ 6.0 発売2001Office XP がライセンス認証付きで世界に (5月)Windows XP がライセンス認証付きで世界に (10月)2002アルトマン -登録できない Office XPを捨てて Office 97 へ(5月)ギルモア - XP は登録するまでデータを返さない (8月)2005Visual Studio Express -無料、登録の鍵で 解錠(11月)2008bitcoin.org をAnonymousSpeech経由で 登録 (8月18日)SourceForge にプロジェクトを登録(11月9日)2009v0.1 公開 - Windows用の .rar と ソース(1月)bitcoin.org のサイトに「satoshi」で登録(6月14日)2010Boost 1.35 を必須にしMSVC 8.0 (2005) でもビルド (2月12日)サトシが フォーラムにメールの確認を入れる(7月29日)2011PGP の末尾は 今もGnuPG MingW32 とWinPT (2月22日)登録の時代とサトシの記録

1. ソフトが名前を聞くようになる

マイクロソフトのライセンス認証(Product Activation)は、ソフトの一本を、入れた機械に結びつける仕組みである。マイクロソフトを通して解錠するまで、ソフトは動き続けない。Office 97とOffice 2000で一部の市場に試したあと、2001年5月発売のOffice XPと、同年10月発売のWindows XPで世界に広げられた。マイクロソフト自身の2002年の案内も、この二つの製品を挙げている。マイクロソフトは、認証はまったく匿名の手続きだと請け合った。それをそのまま信じない人もいた。2001年4月、The Registerの記者は、利用者の多くは、マイクロソフトが何か良からぬことをしているという話なら、どんな小さなものでも信じる構えでいる、と書いている。

開発の道具は、さらに一歩進めて名前を求めた。2005年11月7日に出たVisual Studio Expressは、最初の1年は無料でダウンロードでき、登録の鍵で「期限なく使える」ように解錠される。登録すれば、マイクロソフトは「あなたとあなたの好みについての標準的な情報」を集める。2008年には条件がはっきり書かれていた。Visual Studio 2008の説明書は、長く使うための解錠の鍵を受け取るにはExpress Editionの登録が必要で、Passportにサインインしてオンラインの登録の書式に記入する、と書く。FAQの期限は導入から30日。登録の案内のページは、書式には個人の情報の入力が要り、メールアドレスを確かめるメールが届くこともある、と認めている。

年ソフト使う人に求めたこと
1998Visual C++ 6.0ライセンス認証が世界に広がる前に売られた
2001Office XP、Windows XPマイクロソフトを通して解錠する(ライセンス認証)
2005Visual Studio 2005 Express(無料)「期限なく使う」ための登録の鍵、利用者についての標準的な情報
2006MinGW GCC 3.4.5自由なソフトウェア。解錠の鍵はない
2008Visual Studio 2008 Express(無料)30日以内の登録。Passportへのサインイン、個人の情報、メールの確認

2. 周りの人たちは、もう書いていた

サトシが2008年に論文を告知したcryptographyのメーリングリストには、登録が最悪の時に壁になった体験が、本人の言葉で届いていた。2002年5月、リストの参加者のジェフリー・アルトマンが、9.11のあとマンハッタンの南端で、マイクロソフトのニューヨークの事務所が寄付したOffice XPを使って行方不明者のデータベースを作っていたときのことを書いている。「危機のさなかで、そのコピーを登録する方法がなかった」ので、ソフトは数回動かしたところで止まった。「古いOffice 97を引っ張り出して、代わりにそれを使った。そちらには制限がなかったから」。

同じ2002年の8月には、ティモシー・メイ、エリック・ヒューズとサイファーパンクを始めたジョン・ギルモアが、cypherpunksとcryptographyの両方のリストに書いた。Windows XPとOffice XPは「動かなくなって、手元に保存したデータにも触れさせない。コンピューターをインターネットにつないで、マイクロソフトに『登録』するまで」。この投稿は、トラステッド・コンピューティングをめぐる議論の中にある。動いているソフトを機械そのものに保証させるという、業界の計画である。

ビットコインの近くにいた人たちも、この計画に同じ反応を見せている。ハル・フィニーはRPOWのサイトで、トラステッド・コンピューティングに似た証明を逆向きに使い、利用者のほうがサーバーを確かめられるようにすると書いた。そうすればこの技術は「個人のプライバシーへの脅威ではなく」、プライバシーを助けるものになる(rpow.netのトップページ)。2008年11月にフィニーとビットコインのコードを読んだレイ・ディリンジャーは、2017年にこう書いている。「『Trusted Computing Module』をコンピューターの標準の部品にするという話に、セキュリティの専門家が青ざめるのはそのためだ」(LinkedInの文章)。登録から逃れるために古い製品へ戻るという動きは、この人たちのあいだで、もう文字になっていた。

3. サトシが作るのに使った道具

サトシの道具は、Windowsの開発環境の分析が時期ごとにたどっているとおり、古いマイクロソフトの製品と自由なソフトウェアでできている。v0.1.3のreadmeは、1998年のコンパイラーの最後のサービスパックであるVisual C++ 6.0 SP6と、GCCのWindows版であるMinGW GCC 3.4.5を並べる。二つのうち、ビルドに使っていたのはMinGWで、2009年8月にマルッティ・マルミにこう書いている。「そちらがより良いコンパイラーで、VCはデバッグにしか使っていなかった」。新しいBoost 1.37がVisual C++ 6.0でコンパイルできなかったとき、サトシはコンパイラーを新しくせず、Boostを1.35に戻した。2年後の2011年2月22日、ギャビン・アンドレセンとマルッティ・マルミに送ったPGPの暗号文には、まだGnuPG v1.4.7 (MingW32) - WinPT 1.2.0という見出しが付いていた。GnuPGの無料のWindows版と、そのタスクトレイの操作画面である。

この道具のどれも、サインインを求めない。Visual C++ 6.0はライセンス認証が世界に広がる前のもので、MinGWとGnuPGは解錠の鍵のない自由なソフトウェアである。

4. サトシが名前を書いた場所

サトシは書式を避ける人ではなかった。2008年8月から2009年6月まで、記録には、サトシが何度も登録した跡が残っている。どれも仮名か、そのために作ったアドレスで登録している。

日付登録した先何の名で
2008年8月18日bitcoin.org。有料の匿名登録の仲介AnonymousSpeechを通して登録者の欄は仲介の名前
2008年8〜10月最初の連絡と論文に使ったメールのアカウントsatoshi@anonymousspeech.com、satoshi@vistomail.com
2008年11月9日SourceForgeのbitcoinプロジェクトSourceForgeの利用者のアカウント
2009年2月11日P2P Foundationsatoshin@gmx.com
2009年6月14日bitcoin.orgのサイトユーザー名「satoshi」

書式の向こう側に立ったこともある。bitcoin.orgのメールのサーバーがスパムの遮断の一覧に載ったとき、サトシはビットコインのフォーラムの新しい会員にメールの確認を求める設定を入れ、その損得をこう書いた。

サトシ・ナカモト(マルッティ・マルミ宛のメール、2010年7月29日02:18 UTC)

個人的には、通知やフォーラムからメールが送られる機能を全て無効にする方に傾いている。メール認証を必須にしないのは割と気に入っている。でも、未認証のアドレスにメールを送らないようにする唯一の方法がそれなら、そうしてもいい。

メールの全文を読むと、サトシの好みの順がわかる。できれば確認は求めない。悪用を防ぐほかの手がなければ、確認を入れる。

5. 登録がサトシをVisual C++ 6.0にとどめたのか

古いコンパイラーを仮名と結びつける読みには、本物の支えがある。マイクロソフトの新しいコンパイラーを無料で使う道は、Passportと、個人の情報を書く書式を通っていた。サトシの周りの人たちは、登録を理由に新しいマイクロソフト製品から離れた話を書いていた。そして、サトシが使い続けたコンパイラーには登録がなかった。

記録は、肝心な点のどれでも逆を向いている。同じreadmeには、無料で、登録するものが何もないMinGWという二つ目のコンパイラーが書かれている。マイクロソフトの書式が障害だったなら、書式のないコンパイラーはすでにサトシのビルドの中にあり、しかもリリースを作っていたのはそちらだった。2009年11月には「MinGWを4.3.xにアップグレードして同じ土俵に立てるか見てみるべきだな」とまで書いている。新しくしようと考えていたのは、無料のほうのコンパイラーだった。使い捨てのアドレスで作るPassportのアカウントは、上の表のどの行よりも手間がかからない。そしてサトシは、その表の行をすべて埋めている。

VC6より新しいマイクロソフトのコンパイラーへの対応を入れたのも、サトシ自身のコミットである。2010年2月12日、サトシはコマンドラインとJSON-RPCのためにBoost 1.35以上を必須にし、同じコミット(SVNの履歴の98500d70a8)で、ビットコインをMSVC 8.0(Visual C++ 2005)でもコンパイルできるようにした。Windowsのビルドの説明には、MSVC 8.0(2005)SP1は試験済みだと書き足している。どの版の2005かは記録にない。無料のExpress版だったなら、§1の登録の鍵が必要だった。

登録の書式が、サトシをVisual C++ 6.0にとどめたのではない。このアーカイブにあるサトシの投稿とメールは、ライセンス認証にも、Passportにも、マイクロソフトの登録にも一度も触れていない。このアーカイブで、VC6を残した理由として本人が書いたのは、2010年7月の一文だけである。「当時はMSVC6との互換性を維持したかったのだ」。同じ投稿は、やめた理由も書いている。VC6が対応していないものをBoostの中から使うようになり、「0.2.0の後にサポートを失った」。

6. 代わりに作ったもの

登録の時代がビットコインにかかわるのは、別の場所である。サトシが使った道具ではなく、その道具で作ったものだ。v0.1の告知は、このシステムを「完全に分散化されており、サーバーも中央機関もない」と書く。登録する相手がいない。論文の第10節は、プライバシーを同じところに置いている。

サトシ・ナカモト(ホワイトペーパー、2008年10月31日18:10 UTC)

すべてのトランザクションを公に公表する必要性はこの方法を排除するが、公開鍵を匿名に保つという別の場所で情報の流れを断つことでプライバシーを維持できる。

論文はさらに、トランザクションごとに新しい鍵ペアを使うよう勧めている。ビットコインで使う人を表すのは、その人が自分で作る鍵のペアである。誰かが発行するものではなく、使う人とネットワークのあいだに書式は一枚もない。

Visual Studio 2008 Expressビットコインv0.1
誰が入れてくれるかPassportにサインインしたあとのマイクロソフト誰でもない。クライアントがネットワークに加わる
渡すもの個人の情報、確かめたメールアドレス何もない
何がその人を表すかアカウントに結びついた登録の鍵自分で作る鍵のペア。いくつ作ってもいい

サトシは登録から逃げる必要がなかった。要るものには、どこにもたどり着かない名前で登録した。代わりにしたのは、書式の置き場所がそもそもない通貨を作ることだった。ソフトが使う人の一人ひとりに誰なのかを聞きはじめた年月に、ビットコインは、誰かが出したいちばんはっきりした答えだった。欄を埋めるのを拒んだのではない。欄のないシステムを作ったのである。

参照元の外部ソース

https://www.ic.unicamp.br/~stolfi/EXPORT/projects/bitcoin/satoshi-code/bitcoin/src/readme.txt
サトシがビットコインv0.1.3のソースに同梱したreadme.txtの写し。「Compilers Supported」の一覧とBoost 1.35の注記がある。

その他の外部ソース

他6件を表示