ビットコインの「保留取引プール」とは? サトシの自由主義者としての視点
ビットコインを発明し、未だその正体が分かっていないサトシ・ナカモト。そんなサトシが残した約2年間の文章を、小宮自由氏の解説と共に紹介する連載「サトシ・ナカモトが残した言葉〜ビットコインの歴史をたどる旅」の第12回。
まずサトシのメールの前に、本連載の元になっている書籍『ビットコイン バイブル:サトシナカモトとは何者か?』の著者フィル・シャンパーニュ氏の解説も掲載する。
フィル・シャンパーニュ氏の解説
この投稿でサトシが説明しているのは、保留された取引のプール(以下「保留取引プール」)が必要な理由と、ブロックの枝分かれがパラレルに同時平行的に存在する状況でこの保留取引をどう保存するか、である。サトシはコード内のいくつかの機能に触れている。第2章のプルーフ・オブ・ワークの議論(2-5 採掘者のプルーフ・オブ・ワーク *1)を思い出したい。全ての採掘者に同一の取引が集まるわけではなく、到着が遅れて作業中のブロックに編入できない取引も発生する。作業中のブロックに対するハッシュ化作業の最中に新しい取引が到着すると、取引プールに一時保存(保留)される。
その後、取引の伝達に再度触れ、一ブロックの作成にかかる10分の時間を指摘し、この10分が短すぎないかどうかという問題を論じている。
最後に、個人の自由を賞揚する自由主義者たちにとってビットコインがいかに魅力的か、言及している。
【訳注】
*1 過去の記事「ビットコイン・マイニングの難易度、どう調節されている?」を参照。
サトシ・ナカモト 2008年11月14日 火曜日 14時29分22秒
それでは2008年11月14日 14時29分22秒のサトシのメールをみていこう。
========================
Re:ビットコイン ピア・ツー・ピア 電子キャッシュ 論文
サトシ・ナカモト 2008年11月14日 金曜日 14時29分22秒 -0800
(注:斜体部分は、サトシ以外の者の質問を指す)
Hal Finneyは書きました:
候補チェーンそれぞれに紐付けされた保留された取引のリストをノードでは別々に保存すべきと思います。
また、平均でいくつの候補チェーンをノードでは同時に保存すべきかも、質問したいです。
幸い、その時点での最良のブランチ*2に対して保留取引プールを保存すれば済みます。最良のブランチに対して新しいブロックが到着したら、そのブロックの取引をConnectBlock が保留取引プールから削除します。別のブランチが長くなれば、主要ブランチの側で DisconnectBlock を呼び出してフォークに下げ、ブロック内取引を保留取引プールに戻し、新しいブランチにConnectBlockを呼び出し、双方のブランチに含まれる全ての取引を吸収して戻します。このような再編成が起きるのは稀で、表面的なことになると見込まれます。
この最適化が働くため、実際には候補ブランチが負担になることはありません。ただディスク上に保存されるだけで、主要チェーンにならない限り、注意を払う必要はありません。
あるいは、前に James が指摘したように、ネットワークのブロードキャストが信頼性を持つものの、潜在的に遅いフラッディング・アルゴリズムに基づくなら、それがパフォーマンスにはどう影響しますか?
ブロードキャストはほぼ完璧な信頼性を持ちます。TCP伝送の切断は最近では稀で、ブロードキャストのプロトコルには、一定時間後に他のノードからデータ受信を再試行する仕組みがあります。実際のブロードキャストが予想より遅いときは、資源の浪費を避けるべく、ブロック間の目標時間は増加します。通常、ブロックの伝達はブロック生成時間よりも短い時間で実行されるようにしたいです。そうでないと、使用されなくなったブロックの作業にノードがとられる時間が長引きすぎます。
コンピューター間で支払をランダムに送り、パケットをランダムに切断する自動化テストの稼働を予定しています。
ビットコインのシステムには社会的有用性と社会的価値があることが明らかとなり、ノードの運営者は世界に有益な貢献をしていると自覚できます(「@Home」の様々な計算プロジェクトで、慈善目的のために人々が計算資源をボランティアで提供したのに似ています)。
このケースでは、似たような利己主義的な考えがあれば、ネットワークの正常な稼働の維持には十分だろうと思います。
的確に説明できれば、自由主義者の視点にはとても魅力的に映るはずです。ただ、私は言葉よりコードの方が得意なんです。
サトシ・ナカモト
暗号学メーリングリスト
========================
【訳注】
*2 その時点での最長チェーンのこと。
解説
ビットコインは毎日盛んに取引されており、その取引量はブロックが処理できる量を超えています。そうなると必然的に「後回し」にされる取引が生じます。これが保存されているのが「保留取引プール」です。この保留取引をどう効率的に処理するか? ということについて、サトシが技術者の質問に答えています。
サトシはおそらくリバタリアン(自由至上主義者)だと考えられ、ビットコインの設計にもそれが色濃く反映されています。ビットコインは、通貨発行権という財産に関する究極の権利をネットワーク参加者に委ねるという壮大な社会実験です。サトシはそれを、言論ではなくコードによって実現しました。通貨発行の自由がこのときから始まったのです。
小宮自由
Header Image/iStock:solarseven