MSTR Cat

ブロックチェーン/レベル I · お金/1.2 サイファーパンクの道のり/レッスン 4

Hashcash:ビットコイン以前のプルーフ・オブ・ワーク

封印としての計算コスト:スパムメールからデジタルの希少性へ

用意するものオンラインSHA-256ハッシュ生成ツールカウンタ値と16進数出力を記録するスプレッドシートビットコインのホワイトペーパー、第4節

問い

  1. 作るのは高コストなのに、確認するのはほぼ無料というスタンプは、何によって成り立っているのか?
  2. 確認にはマイクロ秒しかかからないハッシュパズルが、解くのに何時間もかかるのはなぜか?
  3. スパム対策ツールがどうやって通貨の原動力となったのか?

探究

  1. 1992年、シンシア・ドワークとモニ・ナオルは、スパムメール対策として「Pricing via Processing(処理による課金)」を提案した。彼らの着想は、計算を料金所として機能させるというものだった。送信者に暗号パズルを解かせることで、大量送信は経済的に割に合わなくなる一方、たまにしかメールを送らないユーザーには影響がない。このアイデアはその後5年間、ほぼ論文の上にとどまった。
  2. アダム・バックは、ドワークとナオルの論文を知らないまま、1997年3月にHashcashを提案した。この仕組みでは、送信者はノンス(nonce、可変の文字列)を見つけなければならない。メールのヘッダーとそのノンスを組み合わせたもののSHA-1ハッシュが、指定された数のゼロビットで始まるようにするのである。これは部分的な衝突の探索であり、見つけるのは検証するより指数関数的に難しい。有効な解はそれぞれ、送信者が実際に計算作業を費やしたことを証明する「スタンプ」として機能した。
  3. Hashcashの強みは非対称性にある。有効なスタンプを生成するには数千回から数百万回のハッシュ計算が必要で、時間と電力を消費するが、検証はマイクロ秒単位で済む1回のハッシュ計算だけでよい。この一方向関数によって、通常は複製が無料である媒体に希少性が生まれる。100万通のメールを送るスパマーは100万倍の作業をしなければならないが、受信者はほとんど負担なく各メールを検証できる。
  4. Hashcashはお金ではなかった。各スタンプは特定の受信者とタイムスタンプに結びつけられており、譲渡できず、一度しか使えなかったからである。また、ハードウェアの進化につれて計算が安くなり、新しいスタンプを作るコストが下がったため、その価値も目減りした。スパム対策にはなったが、永続的な価値の保存手段としての性質は生み出せなかった。「プルーフ・オブ・ワーク」という用語自体は、その後1999年にマーカス・ヤコブソンとアリ・ジュエルスによって生まれ、この計算によるコミットメントを形式化した。
  5. サトシ・ナカモトは、ビットコインのホワイトペーパー(2008年10月)の第4節でバックのHashcashを直接引用し、分散型のタイムスタンプに転用した。Hashcashが固定難易度のSHA-1を使っていたのに対し、ビットコインは2016ブロック(約2週間)ごとに再調整される可変のターゲットに対してダブルSHA-256を使う。これにより、ネットワークのハッシュレートが伸びてもブロック間隔は約10分に保たれ、発行スケジュールが安定し、累積した計算コストによって台帳の安全性が確保される。
  6. この非対称性を体験するには、オンラインのSHA-256ツールを開く。文字列「hello」をハッシュ化する。次にカウンター(0、1、2…)を末尾に付け加えていき、16進数の出力が「0」で始まるまで、さらに「00」で始まるまで続ける。試行回数が指数関数的に増えていくことに注目しよう。この総当たり探索はマイニングと同じ構造である。ビットコインの難易度調整により、マイナーが増えハードウェアが進化するにつれてターゲットが厳しくなり、ブロック生成のペースが一定に保たれ、プロトコルの経済的なリズムが維持される。

重要な事実

  • ドワークとナオルは、メール送信にコストを課すために、1992年に「Pricing via Processing(処理による課金)」を提案した。
  • アダム・バックは1997年3月、SHA-1の部分衝突を利用するHashcashを発表した。
  • Hashcashの検証に必要なハッシュ計算は1回だけだが、生成にはk個のゼロビットに対して約2^k回の試行が必要である。
  • 「プルーフ・オブ・ワーク」という用語は、1999年にヤコブソンとジュエルスによって作られた。
  • ビットコインはダブルSHA-256を使用し、2016ブロックごとに難易度目標が再設定される。
  • Hashcashのスタンプは、ビットコインの単位とは異なり、譲渡できず特定の受信者に結びつけられている。

演習 九・六・三・一

9集める暗号学における計算ベースのパズルまたはハッシュベースのコミットメントを9つ挙げてください。それぞれの元々の目的(スパム、署名、マイニング)と検証コストについても記載してください。
6まとめる9つを、セキュリティ、希少性、またはその両方のどれを目的に設計されたか、そして譲渡可能か一回限りの使用かによって、6つに分類してください。
3絞り込む6つを、プルーフ・オブ・ワークのトークンを単なるデジタル署名と区別する3つの特性に絞り込んでください。
1結晶化する本来なら複製が無料であるところに、計算コストがなぜ希少性を生み出すのかを1文で書いてください。

事実確認

日付、数字、主張は、下記に記載された公表資料と照合して確認しました。

インタラクティブ版で開く →

EN PT ES ZH KO RU DE FR MS