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

サトシ・ナカモトの​匿名性 — 誰も​崩せなかった​6層の​壁

顔のない人影を、身元を隠す6つの層を表す、盾の形をした同心円が取り囲んでいる

名前は、サトシが誰だったのかを明かしてくれる手がかりに見える。だが公開の記録を見ると、サトシの身元を隠すものは、六つの層に分かれて重なっている。日本人風の仮名、匿名の中継を通したメール、ちぐはぐな言葉と時間の跡、Windowsでの開発、ネットワークを伝わってきた跡のないジェネシスブロック、そして少しずつ身を引いたこと。どれか一つを説明できるだけの仮説では、この記録の本当の難しさには太刀打ちできない。

このエントリでは、開発期間(2007年中頃〜2008年8月)から公の活動期間、撤退までの痕跡を追う。身元の候補を比べたものは身元仮説総覧にある。記録がこれだけ残っているのに、なぜサトシを特定できないのかは、識別の非対称性で扱う。

6層の壁 (全体図)

1 仮名 (命名層)

西洋的な人名でも、明らかに技術的なハンドルでも、明示的な匿名エイリアスでもなく、日本人の名前の形をした仮名が選ばれた。この選び方には、はっきりした文化の背景がある。1990年代後半から2000年代初めの英語圏のSFとハッカーの文化では、ネットワークの匿名性を、東アジア (とりわけ日本) らしい見た目や名前で表すことが、すでに当たり前になっていた。この点の詳しい観察は、仮名をテクノオリエンタリズムから考える分析に譲る。

本エントリーにとって大事なのは、名前の層の次の性質である: 暗号学のメーリングリストで日本人の名前の形をした仮名を見ると、「ネットワークの匿名性 → 日本語的に読める名前 → 国籍不明」という連想が働く。どの身元の仮説も、まずこの連想を取り除かなければ、特定の人物にはたどり着けない。仮名そのものは、特定の国籍や言葉の出自を指してはいない。指しているのは、そうした文化が作り上げた日本のイメージである。

2 通信チャネル (媒体層)

3つの匿名メールアドレスが記録されている:

  • satoshi@anonymousspeech.com — 2008年8月、アダム・バックとウェイ・ダイへの最初のコンタクトで使用。同じ事業者のメールサーバーは、のちにハル・フィニー宛の2009年メールに残ったUTC+8のヘッダーの出どころでもある。このヘッダーは一時、サトシの居場所をめぐる憶測を呼んだが、実際にはサトシ本人の居場所とは関係がなかった。
  • satoshi@vistomail.com — 2008年10月、最初に公開された論文と暗号学メーリングリスト投稿で使用。Vistomailは運営元不明の匿名メールサービスで、現在は閉鎖されている。
  • satoshin@gmx.com — 2009年3月の改訂版の論文・BitcoinTalkフォーラム・P2P Foundationアカウント登録・メール、および2014年3月のNewsweekによるドリアン・ナカモト特定を否定する投稿 (「I am not Dorian Nakamoto」) で使用。2014年の投稿は本人かアカウント侵害かの真偽が議論されている。

三つのアドレスは、公開記録で確かめられた事実として扱う。裏付けは、ホワイトペーパーの告知の投稿が残るmetzdowdの暗号学メーリングリストのアーカイブ、mmalmi.github.io/satoshi・plan99.netの公開書簡、Bitcoin Magazineが公開したアダム・バック宛メール群である。

公開チャネルも分散している:

  • 暗号学メーリングリスト (Metzdowd cryptography) — 論文初公開 (2008年10月31日) とv0.1リリース告知 (2009年1月8日)。
  • SourceForge — v0.1の初期配布 (2009年1月8日、.rar形式)。SVNリポジトリは2009年8月以降 (マルッティ・マルミがセットアップ、サトシ自身ではない)。
  • BitcoinTalkフォーラム — 2009年11月22日〜2010年12月12日の間に575投稿。
  • P2P Foundation — 2009年2月11日にアカウント作成、同日「P2P通貨のオープンソース実装」スレッドを投稿。
  • p2p-researchメーリングリスト — 2009年2月11日に並行投稿。
  • AnonymousSpeech経由のドメイン取得 — 2008年8月18日、匿名登録仲介サービスを経由してbitcoin.orgを取得。

互いに関係のない複数のメール事業者、匿名の登録代行、五つの場所への投稿の散らばり (暗号学メーリングリスト・SourceForge・BitcoinTalk・P2P Foundation・p2p-research) が見られる。こうなっていると、どれか一つの場所を調べても、一人の人の身元としてまとまった姿は見えてこない。

同じころ、ソフトウェアを使うには、一人ひとりが名前を登録しなければならないことが増えはじめていた。その流れと並べて、サトシのこれらの登録を一つずつ挙げたものが、ソフトの登録の時代とサトシの分析にある。

Torについて。ここでは、二つの別の論点を分けて考える必要がある。(a) サトシはTorを技術的話題として論じたか? はい。サトシはBitcoinTalkの「TORとI2P」スレッドに参加し (2010年1月20日と2月4日の返信)、.onionのバックエンドサポート、Tor SOCKSポート9050、Torプロキシ経由でのビットコインの挙動を技術的に詳しく論じている。Torを話題として扱ったことは公開記録上確認できる。その.onionのバックエンドがその後どうなったかは、別のページで、接続できるノードの半分がTorを使うようになるまでを、数を追ってたどっている。

(b) サトシ自身の通信をTor経由で送出していたか? サトシの運用の仕方を論じる二次的な議論では広くそう言われているが、自分の通信の経路について、サトシ本人がはっきり述べた一次資料は見つかっていない。この推測は、匿名のメール、匿名の登録、複数の場所への投稿を続けるには何が要るか、という点から出てきたもので、本人の発言によるものではない。このページでは、サトシが自分のメールや投稿をTorを通して送っていたことを、「十分ありうるが、直接は確かめられていない」こととして扱う。一方で、サトシがTorに技術的に詳しかったことは確かめられる、と書き添えておく。

3 言語的痕跡と時間的痕跡 (言語層)

公開記録からは、互いに関係のない二つの食い違いが見て取れる。

英語の綴りの食い違い。サトシの文章はBitcoinTalk投稿とメールのやりとりのなかでイギリス英語とアメリカ英語の綴りを混在させている。イギリス式 (colour、favour、grey、optimise) とアメリカ式 (characterized) が共存する。口語表現には、BitcoinTalk投稿に見えるbloody hardのような英・豪のスラングが混じり、ほかにflat、mathsも使われる一方、ソースコードの慣習はアメリカ式 (color、catalog)。この混ざり方は、サトシの身元を論じた長い分析で、たびたび取り上げられてきた。

時刻と時間帯の食い違い。論文のPDFの二つの版で、ファイルに記録された時刻の、世界標準時からのずれが違う:

  • 2008年10月に公開された版: Language: en-GB、CreationDate: 2008:10:03 13:49:58-07:00 (太平洋時間帯)。
  • 2009年3月の改訂版: Language: en-GB、CreationDate: 2009:03:24 11:33:15-06:00 (山岳部時間か中部時間。サマータイムかどうかで、どちらかが変わる)。

BitcoinTalkの投稿の時刻は、一日のどの時間にもあるが、一つだけ、決まって投稿のない時間帯がある。UTC 6:00〜12:00の時間帯には、サトシの投稿がきわめて少ない。このパターンはBitcoinTalk公開アーカイブの575投稿から導出できる。サトシのソースコードコミット (v0.1.0〜v0.3.19) のタイムスタンプ分析でも同じ時間帯の空白が観察されており、そこからEST (UTC-5) かCST (UTC-6) に住んでいたという見方が出されている。そう仮定すると、空白は現地時間のほぼ01:00〜07:00 (よくある睡眠の時間帯) にあたる。GMT (英国) やJST (日本) を仮定すると、空白は起きているはずの時間帯にずれ込み、不自然になる。コミットパターンの導出についてはコード分析エントリを参照。

言葉と時間の跡は、合わせて見ると、どれか一つの国、言葉、時間帯にすべてが収まることはない。その意味で、互いに食い違っている。どの身元の仮説も、これらを、わざと混ぜた目くらましとみなすか、一人の人が自然に残したものとして説明するかしなければならない。この綴りの混ざり方と、ホワイトペーパーのPDFに記録された時刻の、時間帯のずれは、サトシの国籍を検討した分析でもっとくわしく扱った。そこでは、綴りだけでは決められない国籍の候補を一つずつ挙げ、綴りとPDFの時刻に照らした。

4 開発・配布の選択 (技術層)

v0.1コードベース・配布アーカイブ・バージョン管理履歴の公開記録は、一貫してWindowsを中心にした開発環境だったことを裏付ける:

  • コンパイルツールチェーン: Visual C++ 6.0 SP6 + MinGW GCC 3.4.5 (v0.1リリースのsrc/readme.txtが対応コンパイラーとして挙げる)。
  • ソースファイルの改行コード: CRLF (Windows慣習)。
  • 配布の形式: .rarの圧縮ファイル (2000年代後半、Linuxのオープンソースではあまり使われず、Windowsのソフトの配布でよく使われた形式)。
  • ホスティング: SourceForge。

詳細は起動環境分析と配布・ツーリング異常分析で扱われている。

バージョン管理履歴は関連する3つの性質を示す:

  • 2007年から2009年1月までの開発は、公に確かめられる形では、どのバージョン管理にも置かれていなかった。2009年1月のv0.1初期リリースはSourceForge上の単一の .rarアーカイブであって、リポジトリのスナップショットではない。
  • Subversionリポジトリは、2009年8月30日にマルッティ・マルミがSourceForgeプロジェクト上に作った(リビジョン1)。サトシ自身ではない(コード分析のコミット履歴整理を参照)。
  • GitHub上のbitcoin/bitcoinリポジトリは引き継ぎ期間中の2010年12月にギャビン・アンドレセンによって作成された。サトシの最終SVNコミット (revision 202、2010年12月15日) の後である。

2010年12月3日のマルッティ・マルミ宛メールで、サトシは「[ギャビンは]Linuxに関しては、技術的に私よりずっと上だ」と自己評価している (自己言及エントリに整理あり)。この自己評価は、v0.1のコードに見える、Windowsで開発していた跡と合っている。

5 コードに書き込まれたジェネシスブロック (誰が送り出したのかたどれない層)

ビットコインチェーンのジェネシスブロック (高さ0) は、サトシが採掘してネットワークにブロードキャストしたものではない。そのパラメーター(タイムスタンプ2009-01-03 18:15:05 UTC、ナンス2083236893、ハッシュ000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f、コインベースメッセージ、マークルルート)はすべてソースコードの中に定数として埋め込まれている。空のデータベースから起動するノードは、これらの定数から決定論的に同じブロック0を再構築する。誰が最初にこれらの値を求めたかに関係なく、同じブロックになる。

詳細はジェネシスブロックハードコード分析で扱う。

本エントリーにとって大事な構造の性質は、ブロック0には、ネットワークを伝わってきた跡がないということである。後のブロックは、どれも、掘ったノードからP2Pネットワークに流され、どう伝わってきたかを推し量れる。ブロック0は違って、一度もネットワークに流されたことがない。チェーンの始まりは、どのノードから送られたのかを、プロトコルの上でたどることのできない、ただ一つのブロックである。

これは、仮名やメールアドレスや言語の雑音よりも一段深い層である: システムそのものが、動き始めたあとは、起点を作った者の跡をどこにも残していない。チェーンの起点のデータからサトシを割り出そうとしても、どんな分析も、ブロック1より前へはさかのぼれない。

6 段階的撤退 (退場層)

サトシは、ある日いっぺんにプロジェクトから去ったのではない。公開の記録には、約7か月をかけて少しずつ身を引いていった流れが残っている:

日付 (UTC)出来事出典
2010年9月サトシ → ギャビン・アンドレセンへ私的に「他のプロジェクトに取り組んでいる」と伝える。具体的な日付・媒体は公開記録になく、アンドレセンの後年の回想からの再構成。ギャビン・アンドレセンのインタビュー (CoinMarketCap「Satoshi Files: ギャビン・アンドレセン」)
2010年10月11日アンドレセンが自分の名前で最初のSVNコミット (revision 165)。SourceForge SVN履歴
2010年12月3日サトシ → マルッティ・マルミ。サーバーのrootパスワードを持つもう一人として、ギャビンを推して、こう書く。「ギャビンが適任だ。彼を信頼している。責任感があり、プロフェッショナルだ。Linuxに関しては、技術的に私よりずっと上だ」mmalmi.github.io/satoshi公開メール
2010年12月5日BitcoinTalkの「Bring it on」スレッドで、サトシが公に反対した投稿: 「違う、呼び込むな。プロジェクトは、少しずつ大きくしていく必要がある。そうすれば、そのあいだにソフトウェアを鍛えていける」BitcoinTalkスレッド、詳細はウィキリークスとビットコインのエントリーで扱う
2010年12月12日サトシがDoS対策の制限をコミット (revision 199・200) し、その中身を、BitcoinTalkでの最後の公開投稿で説明する。投稿は、アンドレセンにも、自分が去ることにも、まったく触れず、技術の話だけで終わっている。SourceForge SVN履歴、BitcoinTalkスレッド
2010年12月15日サトシ最終SVNコミット (revision 202)。IRC経由の外部IP取得処理の小さな修正。SourceForge SVN履歴
2010年12月19日アンドレセンがリードメンテナーとしての就任を公式に発表。同日、GitHub bitcoin/bitcoinリポジトリ作成。BitcoinTalkアナウンスメント
2010年12月27日マイク・ハーン → サトシ、クリスマスメッセージと21Mコイン上限・10分ブロック目標・500 KBブロックサイズ上限への質問。plan99.net公開メール
2010年12月29日サトシ → マイク・ハーン、長文メール。完全なSPV / クライアントモード設計の解説、2100万という数を「経験則に基づく推測」とした説明、ブロックサイズ拡大に対するムーアの法則の引用。サトシが書いた最後の長文メール。plan99.net
2011年4月23日サトシ → マイク・ハーン: 「他のことに取り組むことにした。ギャビンとみんなに任せてあるから、安心だ」plan99.net
2011年4月26日サトシ → ギャビン・アンドレセン: 「謎めいた影の人物」として語るのをやめるよう要請、CAlertキーと、警告を流すためのコードを渡す (いざというときにネットワークに警告を出して止められる権限で、サトシが最後まで持っていた技術上の力)。ギャビン・アンドレセンの後年公開 (CoinMarketCap)
2014年3月7日サトシP2P Foundationアカウントから「I am not Dorian Nakamoto」投稿。本人かアカウント侵害かの真偽は議論されている。P2P Foundationスレッド

この7か月の流れには、はっきりした特徴がある。2010年9月、サトシはギャビン・アンドレセンに、私的に「他のプロジェクトに取り組んでいる」と書き、去ることをほのめかした。アンドレセンは10月11日から自分の名前でコミットし始めた。12月12日のBitcoinTalkの最後の投稿は、引き継ぎには何も触れず、技術の話だけで終わっている。12月15日に最後のコミットがあり、2011年4月26日、ネットワークに警告を出して止められる最後の手段だったCAlertキーを手放した。劇的な別れの宣言はない。BitcoinTalkへの公開告別投稿もない。このやり方は、全体の仕組みと合っている: 影響力と人目に触れる度合いは、それ自体が手がかりになるような一つの瞬間に断ち切られるのではなく、少しずつ減らされていく。

別の観察として: 同じ4月26日のメッセージのなかで、サトシは「私のことを、謎めいた影の人物のように語り続けるのはやめてほしい」と明示的に要請した。これも全体の仕組みと合っている。一人の人がプロジェクトの顔として注目を集めること自体が、中心を持たないというプロジェクトの設計と食い違い、身元をめぐる議論を呼ぶもとになる。ここでまとめたのは、まさにその議論である。

7 観察できること、観察できないこと

上記6層はすべて公開記録から観察可能である。一方、次のものは公開記録から観察できない:

  • サトシが匿名でいることを選んだ心の内の動機。記録に残るのは、どのように匿名を保ったかまでである。
  • 投稿時に用いられた具体的なアンチフィンガープリント技術。Torを使っていたことは十分ありうる (§2)。一方、キーストローク・タイミングのランダム化、ブラウザーフィンガープリント偽装、仮想マシン分離などの具体的な手段は一次資料に記録されていない。
  • Patoshiマイニングパターンに紐付けられている約110万BTCの処分(ラーナー2013。数値の詳細は識別の非対称性分析に記載)。観察可能なのは、これらのコインのほとんどがオンチェーンで動いていないことまで。ジェイムソン・ロップのブロック一覧で数えると、31個のブロック報酬(1,550 BTC)が使われており、最も遅いのは2017年である。観察できないのは、対応する秘密鍵が今も持たれているのか、失われたのか、わざと捨てられたのか、誰かに引き継がれたのか、である。
  • 開発の地理的拠点。Windows環境に関する証拠 (§4) とタイムゾーンメタデータ (§3) から、作業していた場所の見当はある程度絞れるが、一つの場所には決まらない。ファイルに残る時刻や言語の情報は、それぞれの間で食い違っている (§3)。
  • サトシの個人的背景・家族・経歴・職業・学歴・母語。公開記録に存在しない。上の層から言えることは、一つの向きにしか働かない: どの層も特定の候補を外すことはできるが、特定の人物をそうだと決めることはできない。

8 構造の観察: 層が重なっているので、どの身元の仮説も決め手を欠く

六つの層は、ほかの層を見なくても一つずつ観察できるという意味で、互いに独立している。また、どれか一つの層を突破しても (たとえば特定のノード運営者の同定、秘密鍵の復元、削除されたメールアカウントの復元)、それだけではほかの層は突破できないという意味でも独立している。身元仮説がサトシを同定するには、この6層を同時に整合させる必要がある。

身元仮説総覧を層の構造から見直す。名指しされた候補は、どれも、いくつかの層では合うが、別の層では合わない:

  • サトシが明示的に引用した候補 (アダム・バック、ウェイ・ダイ) は、サイファーパンクに加わっていたことや、ビットコインのもとになった仕事をしたことでは合う (層1・2の背景)。だが、本人たちとサトシの公開前のやり取りそのものが、主な反証になる (一人が自作自演で組んだやり取りではなく、別の人として受け取った反応になっている)。
  • ビットコインを作れるだけの力があり、2007〜2008年に公の場で活動した記録もある候補 (ハル・フィニー、ニック・サボ) は、二つの点で合わない。一つは、サトシが少しずつ身を引いた時期と、候補の時期が合うかどうかである。もう一つは、サトシは開発のあいだ表に出ていなかったはずだ、というウェイ・ダイの2014年の見立てである。
  • 自己主張型候補 (クレイグ・ライト) と名前一致候補 (ドリアン・ナカモト) は複数層で同時に整合しない。
  • 力の面だけが合う候補 (ピーター・トッド、金子勇、ポール・ルルー) は、1〜2の層 (実装の力、日本人の名前との一致) では合うが、ほかの層では合わない。

どの場合も、整合しない層は公開記録から観察可能である。層の構造から言えるのは、どの候補も、六つの層を同時には満たさない、ということである。ただし、層があるから候補が合わないのではない。候補が合わない原因が何であれ、その跡が公開の記録の上に現れた形が、この六つの層なのである。

9 本エントリの限界

  • 各観察は、引用した一次記録、既知の二次文献、または、ほかのエントリーに紐づいている。候補どうしの順位付けは、身元仮説総覧と、個々の仮説のエントリーが担う。
  • 六つの層という分け方は、整理の仕方の一つである。同じ跡を、別の分け方 (たとえば、時期の順ではなく、跡の種類、つまり身元を割り出そうとする側が手がかりにできるものの種類) でまとめることもできる。
  • §2のTorについての推測と、§7の作業した場所の推測は、二次文献に頼っている。一次の記録は何も語っていない。

このページで見た、仕組みの上での匿名性は、技術以外の話にサトシが応じなかったことを扱ったページで見た、振る舞いの上での匿名性と、互いに補い合っている。そこでは、クリスマスの挨拶や同情の言葉、個人的な質問など、技術以外の話を向けられたときにサトシがどう応じたか、そして技術のやり取りには応じ続けたことを見た。二つは、記録に残る同じ身の隠し方を、別の面から見た、互いに独立した分析である。

サトシが誰だったかとは別に、サトシがサイファーパンクの流れとどう関わったかは、サトシとサイファーパンクの関わりを扱った分析で見た。

公開の記録に残っているのは、どこかで失われた一つの手がかりではない。名前、メールの経路、言葉と時間、使っていた機械、ジェネシスブロック、少しずつ身を引いたこと。どれも、そこに誰がいたのかが見えない、ということを、別々の角度から示す六つの跡である。六つを重ねても、一つの顔にはならない。身元を特定したとする主張には、最後まで六つの層すべてを同時に越えることが求められる。

参照元の外部ソース

https://en.wikipedia.org/wiki/Satoshi_Nakamoto

その他の外部ソース