第 4 章 · Bitcoin が発明された理由
デジタルの世界で、同じお金を二度使えなくするには?
- 練習する能力
- Mental ModelProtocol Literacy
- 実践
- ブロックエクスプローラーでビットコインのブロックを 1 つ探し、取引件数、報酬、難易度を確認する。
- AI Lab
- AI に擬似コードでマイニングを説明させ、ハッシュレートが倍になってもブロック生成時間が短くならない理由を計算させる。
現実の問題
写真を撮って友人に送ります。送ったあとも、スマートフォンに写真は残っています。
複製の費用はほぼゼロで、送信は複製です。 音楽、文書、動画、コードも、デジタルの世界では同じです。
では、送金はなぜ違うのでしょうか?
友人に 100 元を送ると、自分の残高は 100 減ります。複製ではなく移転です。画面の数字もデータなのに、なぜ複製できないのでしょうか?
第 2 章の答えは、一つの機関が一つの台帳で減算と加算を同時に行うからです。移転を保証するのは機関であり、データの特別な性質ではありません。
その機関をなくします。
番号 000731 のデジタルコインだと書いたファイルを、A に送ります。手元にも残るので、B にも送ります。
A、B、自分が一つずつ持ちます。三つは同じで、どれが本物かを誰も区別できません。
問いは次のとおりです。
中心機関のないデジタルの世界で、同じお金を二回使えなくするには?
コンピューター科学で二十年以上議論されてきた問題です。第 3 章で難しい層が分かりました。偽造ではなく、順序です。 2008 年の具体的な答えを見ます。
思考実験
第 1 章の村をオンラインに移し、順に試します。
第一版:貝をファイルにする。
各貝を shell-000731.txt のようなファイルにします。持つ人が所有します。
三分後に失敗します。コピーで一枚が二枚になり、偽造さえ防げません。
第二版:第 3 章の本人の印を加える。
ファイルの代わりに書付を送ります。本人だけが使える印で、番号 000731 は B に属すると書いて押印します。全員が本人の印だと確認できます。
印がなければ有効な書付を作れず、偽造は防げます。
しかし、B には B のもの、C には C のものという書付を、どちらも本物の印で作れます。
両方が単独では有効なので、B と C は受け取ったと確信します。部屋の両端で別の発言をする問題の、デジタルでの形です。
第三版:公開台帳を共有し、先に記録された方を採用する。
方向は正しくても、先という言葉で元の問題に戻ります。ネットワークに客観的な順序はなく、B と C はそれぞれ自分の書付を先に見ます。誰が順序を宣言しますか? 宣言する人を置けば、王さんに戻ります。
第四版:順序の宣言に、実際の費用を必要とする。
ルールを変えます。
- 受け取った書付を、皆がかごに集めます。
- 誰でも一組を一ページに写し、前のページにつなげられます。
- ただし認めてもらうには、何度も推測して答えを探す難問を先に解きます。答えが出れば、全員がすぐに正しさを確認できます。
- 村は最長のページ列を採用します。あるページを覆すには、そこから問題を解き直し、ほかの全員が積み重ねた作業量に追いつき、超えなければなりません。
第二版の二つの書付が同じかごに入っても、書く人は一つだけを選びます。両方を書けば同じ貝を二回使うため、検証するとページ全体が無効です。
誰かが真偽を裁くのではなく、一つだけが最長の列に入ることで、矛盾を解決します。
物理的にどちらが先かには答えていません。答えがない問いだからです。代わりに、記録済みの順序を覆すには、お金を消費し続ける必要を作ります。
あなたが決める
次のページを書く権限について、村が四つの案から選びます。
結果を観察する
四つの案は、書く権限を選ぶようで、同じことを行います。
順序を宣言する権力に、偽造できない価格を付けます。
並べてみます。
| 案 | 権力の価格 | 偽造できるか | 不正の代償 |
|---|---|---|---|
| 保有量 | 台帳の数字 | 偽造はできないが集中できる | ほぼゼロ |
| 早い者勝ち | 通信速度 | 無制限に繰り返せる | ゼロ |
| エネルギー消費 | 実際に使った電力 | 偽造できない | 消費した費用をすべて失う |
| 保証金 | ロックした資産 | 偽造できない | 保証金の没収 |
三列目と四列目が重要です。無から価格を作れないことと、不正で実際に損をすることの両方が必要です。
最初の、同じお金を二回使えなくする問いにも答えが出ました。直感とは異なります。
データを守るのではありません。 データは複製でき、送金記録も全員が写せます。
全員が順序に合意し、その順序を覆す費用を高くします。 二つの書付のうち一つだけが最長の列に入り、もう一つは消えたのではなく、採用されません。
何度か読み返してください。Bitcoin の設計の中心であり、遅さ、費用、報酬が必要な理由も説明します。
モデルを作る
送金が実際に有効になるまで、次の経路を通ります。
- 押印した書付
- 全員へ配信
- 共有のかごで待機
- 新しいページに記録
- 前のページにつながる
- 後ろにさらにページが続く
二つ目は、長く安定する仕組みです。負のフィードバックで動きます。
- 参加者が増える → ページが速くできる
- 定期的に、予定より速いか遅いかを確認する
- 速ければ問題を難しくし、遅ければ簡単にする
- 予定のペースに戻る
直感に反する結果が生まれます。
全体の計算能力が倍になっても、ページの速度は上がりません。 問題が倍ほど難しくなり、ペースは維持されます。
計算能力で買えるのは速度ではなく、自分が書く確率と、履歴を覆す費用です。 初心者が間違えやすいため、AI Lab で確認します。
三つ目は希少性です。物理世界では物質が希少性を作りますが、デジタルでは三つの条件が必要です。
| 条件 | 確認する問い | 誰が変えられるか |
|---|---|---|
| 総量のルール | 最大量と発行のペースは何か | 全員が動かすソフトウェアに記す |
| 変更の経路 | 総量を変える条件は何か | 大多数に同時の更新を納得してもらう必要がある |
| 検証の費用 | 普通の人が全履歴を確認できるか | 誰でも検証できれば、ルールでだませない |
三つ目は前の二つの土台です。少数のスーパーコンピューターしか検証できなければ、ルールの変更も他者の説明でしか分かりません。 家庭のコンピューターで完全なノードを動かせることが重視されるのは、信頼の尺度で立つ位置を決めるからです。
最後に、資産の記録です。口座残高ではなく、まだ使っていない書付を記録します。
- 受け取ると、自分に属する書付が一つ増えます。
- 使うと、古い書付を丸ごと無効にし、相手と、自分への釣り銭の新しい書付を作ります。
- 残高は未使用の書付の合計であり、どこかに保存された一つの数字ではありません。
利点は、未使用の集合にその書付があるかを見れば、使われたかを確認できることです。全履歴をたどらず、二重支払いを表の検索で検証できます。
何と呼ぶか
名前を付けます。
同じお金を、成功して二回使うことです。
データを複製でき、別の相手に本物の署名をそれぞれ付けられるため、デジタル貨幣の根本問題です。
中心機関がいれば残高の減算で防ぎ、いなければ順序への合意で防ぎます。
複製費用がゼロの世界で、検証できるルールによって量を制限することです。
複製が難しいのではなく、有効なものを、ネットワーク全体の記録が決めます。その変更の費用は高くなります。
ページを書く資格のために、実際に資源を使う計算を行い、条件を満たす結果まで試し続けることです。
重要なのは、実行は遅く、検証は速いことです。機械が長く探す答えを、誰でも一瞬で確認できます。
この非対称性によって、不正には実際の費用がかかり、確認はほぼ無料になります。
作業証明の競争で、ページを書く資格と報酬を得ようとすることです。
採掘という比喩は誤解を生みます。実際には、ネットワークに順序を提供するサービスであり、新しいコインは報酬です。
報酬は、ルールに沿って新たに発行するコインと、ページに入った取引の手数料の二つです。前者は予定に沿って減り、長期には後者が中心になります。
決まったページ数ごとにペースを確認し、問題の難しさを変えて予定に近づけることです。
負のフィードバックです。全体の計算能力が変わっても生成ペースを保ち、発行速度を事前に定められます。
決まったページ数のあと、新しいコインの発行報酬を半分にすることです。
暦ではなく、ページ数で起こります。日付は実際のペースによるため、見積もれても予約はできません。
まだ使っていない書付です。
取引は古い書付を無効にし、新しい書付を作ります。自分の未使用の書付の合計が残高です。
口座残高のモデルとは、取捨選択が異なります。第 9 章で比べます。
一文にまとめます。
Bitcoin は、初めての発行者のいない、デジタルの希少な資産です。単に便利な決済手段ではありません。
実際の資源を消費して、管理者なしで、知らない人たちが同じ履歴に合意することを実現します。
実践
アカウントも資産も不要です。二十分で行います。
エクスプローラーで最新のブロックを開く。 検索して、使えるものを選んでください。表示項目はだいたい同じです。
ブロックの高さ、取引数、サイズ、生成時刻を記録します。
報酬を見つける。 取引一覧の最初には、出所を持たない、他と異なる取引があります。
新しいコインの発行です。ルールによる発行分と、そのブロックの全手数料を分けて記録します。
手数料の割合を計算してください。長期的に興味深い指標で、第 26 章でも扱います。
現在の難易度と、次の調整までのブロック数を記録する。
過去の調整も数回確認してください。難易度は上下しても、平均の生成間隔は同じ規模に安定します。負のフィードバックを観察できます。
連続する十ブロックの時刻から、間隔を計算する。
一分のときも、三十分のときもあります。平均は安定しても、一回ごとは無作為です。
一確認を待つ時間自体が不確かだという観察は、第 6 章で重要になります。
過去へ戻ってみる。 高さを 1 に変え、最初のブロックを見ます。
取引数、サイズ、発行報酬の違いを記録してください。その変化は、十数年の運用の縮図です。
五つの結果を半ページにまとめます。 ステージ成果物に入る、最初の実際のオンチェーンデータです。
AI Lab
二つの手順で、後半が本当の問題です。
まず疑似コードを書かせます。
マイナーの作業を二十行以内の疑似コードで書いてください。
候補ブロックの組み立て、繰り返し試すもの、成功条件、
成功後に配信するもの、他のノードが受け取って検証する方法を含めてください。
特定のライブラリや言語の API を使わず、ロジックだけにしてください。
各行に、その作業を説明する日本語のコメントを付けてください。次に、間違えやすい問いを出します。
明日から、全ネットワークの計算能力が永久に倍になり、ほかの条件は変わらないとします。
問い一:長期の平均生成時間は、元の何分の一になりますか?
問い二:次の難易度調整まで、生成は速くなりますか?
問い三:既存のブロックを覆す費用に、どんな影響がありますか?
結論だけではなく、それぞれ導出を示してください。重要なのは二つ目も含めることです。長期には変わらず、次の調整が有効になるまでは一時的に速くなります。 両方を述べなければ不十分です。
多くのモデルは問い一に半分と答え、計算能力を生産能力と混同します。能力が倍でも、生産量は変わりません。 難易度調整は、その変化を吸収する負のフィードバックです。
問い三も見てください。速度を上げなくても、履歴を覆す費用は倍になります。 三つに答えられれば仕組みを理解しています。間違いがあれば、問い返すことが、定義を十回読むよりよい練習になります。
AI の回答後、自分で必ず検証すること
- 繰り返し増やす数値と、結果が目標値未満かの判断があるか。なければマイニングではない
- 難易度が生成時間を決め、その時間が次の調整を起こす循環を、逆にしていないか
- 二つ目の確認で、長期は変わらないと答えるか。倍速と答えたら、調整の時点を尋ねる
- 調整前には一時的に速くなり、次の調整で戻ると説明できるか。移行期間を説明しなければ不十分
- ブロックの検証で、答えを探す遅さと確認する速さを区別するか
- 報酬、難易度、間隔、計算能力などの数値に時点があるか。なければ未検証と扱う
実例
2008 年 10 月、暗号学のメーリングリストに、ピアツーピア電子現金システムという九ページの論文が届きました。作業証明、デジタル署名、ハッシュチェーンは、すでに存在する部品でした。
貢献は組み合わせです。最長チェーンと作業証明で、二十年以上残った順序の問題に答えました。
2009 年 1 月、最初のブロックが作られ、銀行救済に関する当日の新聞の見出しが入りました。技術的な機能ではなく、時刻の証拠と意思表示でした。
その年の背景を考えてください。 第 1、2 章の問いが集中して表れた時期に示された、一つの答えです。
初期のコードに数値のオーバーフローがあり、上限を大きく超えるコインを作る取引が、正常にブロックへ入りました。
数時間で発見と修正が行われ、新しいクライアントが公開され、その取引を含まない分岐へネットワークが移りました。
二つの意味があります。ルールを実行するコードにも bug があり、数学の保証は実装の正しさではありません。 また、修復は十分な人が自発的に更新したことで成立し、誰も強制できませんでした。
2016 年の事例の予行とも言えます。ルールは石に刻まれたものではなく、いま大多数が動かすコードです。
作業証明の小さなチェーンで、全体の半分を超える計算能力を使い、確認済み取引を覆す深い再編と二重支払いが起きました。
共通点は新技術ではなく、費用と利益の関係です。計算能力が小さく、短期で借りる費用が攻撃の利益を下回り得ました。
Token がゼロでも動くかという問いの実例です。 安全は、覆す費用と利益の差という価格でもあります。その差が安全の余裕です。
その後、取引所は関連資産の確認数を増やしました。必要な確認数に固定の答えはありません。第 6 章で判断を学びます。
変数を一つ変える
確認が速くなり、体験はよくなります。
代償は通信の遅延にあります。世界へ伝える時間と生成間隔が近づくと、二人がほぼ同時にブロックを作りやすくなり、分岐間で揺れます。
一確認の安全が弱まり、元の一確認と同じ安全のために三十確認を待つ可能性があります。総待ち時間は短くならず、不確かさが増える場合があります。
チェーンごとに異なる値を選ぶ理由です。第 8 章で、関連する結果を見ます。
長期の報酬を確保でき、安全の費用を手数料市場に依存させずに済みます。実際の長期課題を一つ解決します。
代わりに希少性を失います。発行し続ける資産は、デジタルの金とは別のものになり、保有の理由も物語も変わります。
さらに、大多数がソフトウェアを変える同意が必要です。現在の保有者は望まないでしょう。ルールの安定はコードだけでなく、保有者とマイナーの利害に支えられています。第 20 章で供給設計を見直します。
エネルギー、参加要件、記録の費用を減らせます。
しかし、不正の代償も、消費済みの電力から、没収され得る保証金に変わります。保証金の価値は同じチェーンの市場によるため、価格が下がると安全の予算も縮みます。
電力の費用は外部で、実際に消費され、価格と直接は結びつきません。保証金は内部で自己参照的です。優劣だけではなく、二つのリスク構造の違いです。 第 8 章で比べます。
複数のことが分かる仮定です。
生成は続きます。難易度がその人に合うまで下がるため、停止しません。
安全は失います。 その人は順序の変更、履歴の反転、二重支払いができます。ただし、無からコインを作り、他人の資金を使うことはできません。署名とルールの検証は各ユーザーが行うからです。
コンセンサスは順序を、暗号学は所有を守ります。 マイナーが攻撃できるのは前者です。第 5 章で後者を学びます。
持ち帰る問い
十八の問いから三つを選びます。
Bitcoin は、Token なしでは仕組みが動かないと、明確に答えられる最初のシステムです。
報酬は、チェーン自身がルールで作り移転できるものでなければなりません。法定通貨で払うなら、銀行口座と支払う人が必要で、中心化に戻ります。
ほかのプロジェクトでも、Token は必要な部品か、それとも後付けの資金調達やポイントかを基準にしてください。多くはこの基準を満たしません。
誰がチェーンの安全を支払うでしょうか?
支払う側は二つです。新規発行は希薄化として全保有者が負い、取引手数料は利用者が負います。
前者が減り、後者が引き継ぐ設計です。引き継ぎが成立するかは、最も長期の未解決の問いです。第 7 章で手数料市場を学びます。
安定は、正直にマイニングする利益が、攻撃の利益より大きいことに依存します。
安定収入、攻撃の大きな初期費用、成功するとチェーンの価値が下がって自分の設備とコインも損なわれること、という三層です。
三つ目が最も重要で、脆い部分です。 保有せず、別の市場で空売りしている攻撃者には成立しません。小さなチェーンの攻撃の多くは、ここで破綻します。
章末チェック
現金は物理的で、渡すと手元になくなります。移転が物理的な性質です。
データの送信は複製で、二人へ署名しても、両方が単独では有効です。
一つの機関が台帳で減算と加算するか、全員が順序に合意する必要があります。 第三の方法はありません。
ページを書く資格のために、資源を実際に消費したことです。
答えを探すのは遅く、検証は速いという非対称性が基礎です。長く計算して見つけた結果を、誰でもすぐ確認できます。
身元の偽造を無意味にし、履歴の変更を高価にします。以降の作業量をやり直し、他者にも追いつく必要があります。
長期には変わりません。難易度が上がり、予定のペースに戻ります。
ただし、次の調整までは、一時的に速くなります。変わらないとだけ答えるのは不十分です。
買えるのは、自分が書く確率と、履歴の変更に抵抗する能力です。速度ではありません。
金は物理的な量と採掘費用によって希少で、その事実は変えられません。
Bitcoin はルールと検証に基づきます。総量は全員のソフトウェアにあり、普通の人も超過発行を確認できます。
大きな違いは変更の経路です。 金の総量は会議で変えられませんが、Bitcoin は大多数の同時更新で、理論上変更できます。
社会的な希少性です。不可能なのではなく、調整費用が高く、保有者の利害が反対します。思うより脆く、思うより強い性質です。
唯一の正解はありませんが、次を確認します。
第一に、攻撃の費用はいくらか? 必要な計算資源を借りるか、資産を買う市場費用は見積もれます。
第二に、成功の利益はいくらか? 二重支払いの最大量は、取引所や大きな送金の確認要件に左右されます。
第三に、二つの差はいくらで、価格によってどう変わるか? 下落時に費用は減っても、利益は同じように減るとは限りません。
第四に、検証の要件は高いか? 家庭のコンピューターで全履歴を検証できなければ、他者の説明に信頼を置くことになります。
最初の三つを数値で書ければ、ランキングだけで判断する人の多くを超えています。第 24 章で、プロトコル全般に広げます。
要点
ビットコインは中央の発行者がいない希少なデジタル資産を生み出した。