分散化は、いったい何を取り除くのか

分散化とは何かと尋ねると、よく返ってくるのは「銀行がいらなくなること」といった答えです。
間違いではありませんが、それだけではあまり説明になっていません。むしろ興味深いのは、何年も暗号資産を取引してきた人の多くが、プラットフォームのアカウント上でそれをしてきたという事実です。SMSで届くコードでログインし、パスワードを忘れればサポートにリセットを頼み、残高はプラットフォーム自身の画面で確認する。その体験はオンラインバンキングとほとんど変わりません。毎日のように分散化を語りながら、実際にはほとんど、あるいはまったく使ったことのない人も少なくないのです。
そこで、基本に立ち返って考えてみたいと思います。分散化は何を取り除き、その代わりに何を置くのでしょうか。
クラスの会計から考える
40人のクラスで、一人10ドルずつ出し合ってクラスの積立金をつくったとしましょう。
よくあるのは、会計係にお金の管理を任せるやり方です。誰が払ったか、何を買ったか、残りはいくらか。すべて会計係のノートに書き込まれます。会計係なら大丈夫だろうと皆が思っているので、誰も確認はしません。
たいていはそれでうまくいきます。ただし、それはひとつの前提に支えられています。全員が会計係を信頼していなければならない、ということです。会計係が数字を書き間違えても、ほかの人はなかなか気づけません。ノートをなくせば、帳簿も失われます。会計係が架空の支出を書き加えようとしても、ほかの誰にも確かめようがありません。
では、別のやり方を試してみましょう。会計係は置きません。40人全員が同じ帳簿の写しを持ちます。支出があるたびにクラス全員に知らせ、皆が同時にそれを書き留めます。記録を書き換えたければ、クラスの大半を説得して一緒に書き換えてもらわなければなりません。そして、ひとつの写しがほかと食い違えば、その時点で問題が明るみに出ます。
この2つ目のやり方が、最も単純なかたちの分散化です。(ビットコインでは「過半数」を人数ではなく計算能力で数えます。その理由はホワイトペーパーの読解ガイドで解説しています。)その本質は、信頼しなければならない単独の管理者がいないこと、全員で台帳を維持すること、そして誰でもいつでも記録を確かめられることにあります。
ビットコインは、この教室を世界の大きさにまで広げたものです。
銀行が担っている4つの仕事
現実に戻りましょう。友人に送金するとき、銀行は目立たないところで4つの仕事をしています。
- 記帳:誰がいくら持っているかを台帳で管理します。
- 承認:その送金が本当に口座名義人からのものかを確認します。
- 二重支払いの防止:同じお金が二度支払われないようにします。
- 完了の宣言:送金が成立し、もう取り消せないことを知らせます。
銀行はこの4つをすべて担い、私たちはそれをきちんとこなしてくれると信頼するしかありません。たいていの場合、銀行はその期待に応えます。しかし銀行も間違えることがありますし、口座を凍結することも、経営が破綻することもあります。
分散化は、この4つの仕事を銀行なしで成し遂げようとするものです。
銀行がいなければ、誰が担うのか
記帳:世界中で独立して運営されている何千ものノードが、それぞれ台帳を検証し、自分の写しを保持しています。誰でもそれをダウンロードして確かめることができ、自らノードを動かして参加することもできます。写しどうしが互いを照合し合い、どれかひとつが「原本」というわけではありません。
承認:各自が秘密鍵を持ち、それで自分のトランザクションに署名します。署名が有効かどうかは誰でも検証できますが、署名から鍵を逆算することは誰にもできません。ひとつ注意があります。署名が示すのは、その鍵を持つ者がトランザクションを承認したということだけで、あなたが誰であるかについては何も語りません。誰かがあなたの鍵を手に入れれば、その人が署名したトランザクションもまったく同じように有効です。
二重支払いの防止:これが最も難しい問題であり、サトシ・ナカモトが実際に解いたのはこの問題でした。ネットワーク全体がトランザクションの順序について合意します。あるコインがいつ使われたかを全員が記録してしまえば、同じコインを二度使うことはできません。
完了の宣言:誰も宣言はしません。トランザクションがブロックに書き込まれると、その後ろに新しいブロックが次々と積み重なっていきます。それを覆すには、後に続くすべてのブロックの作業をやり直したうえで、誠実なノードが延ばし続けているチェーンを追い越さなければなりません。時間がたつほど、そのコストは高くなります。
この4つを合わせると、分散化の姿がはっきりしてきます。分散化とは、単一の中央機関への信頼を、誰もが検証できるコードとコンセンサスに置き換えることです。ルールも台帳も権限も、なくなるわけではありません。違うのは、コードがルールを執行し、全員が台帳を保持し、権限が誰でも自分で確かめられる事実に基づいているという点です。
ただで手に入るものはない
分散化の利点だけを語るのは誠実ではありません。分散化には少なくとも4つの代償があります。
遅く、コストがかかります。同じ台帳の写しが何千もあり、それぞれが別々に保存・検証される仕組みは、ひとつの機関がひと組の帳簿をつけるよりも、どうしても遅く、高くつきます。
問題が起きても、誰も助けてくれません。サポート窓口も、申し立て先もありません。誤ったアドレスに送金したり、秘密鍵をなくしたり、悪意ある承認に署名したりすれば、そのお金はたいてい二度と戻りません。かつて銀行が負っていたリスクを、今度はあなた自身が負うことになります。
ルールを変えるのが困難です。管理者がいないため、どんな変更にも幅広い合意が必要になります。ビットコインのブロックサイズをめぐる論争は何年も続きました。2017年、ビットコインキャッシュのフォーク、Segregated Witness(SegWit)の有効化、そして同年11月のSegWit2xアップグレードの中止を経て、それぞれの陣営が別々の道を歩むことで、論争はおおむね収まりました。誰も単独でルールを変えられないことは強みですが、それは同時に、何かを変えること自体がきわめて難しいことも意味します。
チェーンの外で起きることは、チェーンには保証できません。コードは、一度記録された内容が書き換えられないことは保証できても、その内容が書き込まれた時点で真実だったかどうかまでは保証できません。現実世界の資産や書類、身元がかかわった途端、信頼は再び入り込んできます。ただ、置かれる場所が変わっただけなのです。
主張を見極める4つの問い
「分散型」という言葉は、半ばマーケティング用語になっています。次にこの言葉を目にしたら、4つの問いを投げかけてみてください。
- 誰が台帳を管理しているのか。何千もの独立したノードなのか、それとも一社が運営する少数のサーバーなのか。
- 自分で検証できるのか。データは公開されていると言われるだけでは不十分です。今日、それをダウンロードし、ノードを動かして確かめることができるでしょうか。
- いずれか一者が単独でルールを変えられないか。たとえば、好きなときにコントラクトをアップグレードしたり、アカウントを凍結したり、残高を書き換えたりできないか。
- 保有しているのはオンチェーンの資産そのものか、それとも誰かのアカウント上の数字か。コインを取引プラットフォームに預けている場合、目にしているのはたいてい、そのプラットフォーム自身の台帳上の残高です。その法的な性質は利用規約や現地の法律によって決まり、自分で鍵を持つオンチェーンの資産と同じものではありません。
多くの当事者が管理する台帳、自分で確かめられるデータ、誰も単独では変えられないルール、本当に自分の手にある資産。これらを多く備えているシステムほど、実際に分散化が進んでいると言えます。分散化には程度があり、「はい」か「いいえ」かで単純に割り切れることはめったにありません。信頼できるプロジェクトなら、自分たちがどこまで到達しているかを率直に説明するはずです。
それだけの価値はあるのか
答えは、誰に尋ねるかによって変わります。
分散化とは、ひとつの交換です。効率と利便性の一部、そして何かあれば誰かが助けてくれるという安心感を手放します。その代わりに、特定の機関に信頼を預ける必要がなくなります。状況によっては、それは十分に割に合う交換です。そうとは言えない状況もあるでしょう。
このように見てみると、これまで使ってきたサービスが、少し違って見えてくるかもしれません。
この仕組みが実際に動く様子を見たいなら、「信頼の機械」を訪れてみてください。まずは、誰も信頼される必要のないまま、1件のトランザクションがネットワーク全体によって承認されていく過程を示す展示資料から始めるのがおすすめです。

