ブロックチェーン/レベル I · お金/1.3 ジェネシス/レッスン 2
ジェネシスブロックとその見出し
使うことのできない起源と、それを時点に結びつけた見出し
用意するものブロックエクスプローラーのインターフェース16進数ビューアまたはASCIIコンバータBitcoin Coreのソースコード(chainparams.cpp)
問い
- なぜ最初のブロックには、その朝の新聞の見出しの言い換えが記載されているのでしょうか?
- ジェネシスブロックのアウトプットは、どのような仕組みで、使用可能なコインのデータベースから構造的に除外されているのでしょうか?
- ジェネシスブロックのタイムスタンプとv0.1の発表の間にある6日間の空白は、何によって説明できるのでしょうか?
探究
- ブロック0は2009年1月3日にマイニングされました。そのコインベース入力には「The Times 03/Jan/2009 Chancellor on brink of second bailout for banks」というテキストが含まれています。これは、アリスター・ダーリング財務大臣に関するその日の一面見出しを言い換えたものです。このメッセージには2つの役割があります。1つは、ブロックを英国の新聞の特定の号に結びつけてタイムスタンプとし、作成日として考えられる最も早い日付を証明すること。もう1つは、同時期に進んでいた英国の銀行救済に言及することです。これは、このシステムが距離を置くことを目指して作られた、銀行危機への論評として広く読まれています。
- ジェネシスブロックのコインベーストランザクションには50BTCの報酬が含まれています。しかし、このアウトプットは未使用トランザクションアウトプット(UTXO)セットに追加されません。使用可能なコインのデータベースに入らないため、この50BTCは作成者を含む誰にとっても永久にアクセスできず、使用することもできません。これが意図的なものだったのか、元のコードの癖によるものなのかは、一度も確認されていません。
- サトシ・ナカモトは2009年1月8日から9日にかけて、暗号技術メーリングリストでBitcoin v0.1を発表しました。ブロック1のタイムスタンプは2009年1月9日です。ジェネシスブロックの日付(1月3日)からこの発表までの間には約6日間の空白があり、これについてはソフトウェアの初期の歴史の中で公に説明されたことも、記録されたこともありません。
- ジェネシスブロックのヘッダーは、Bitcoin Coreソフトウェアのすべてのインスタンスにハードコードされています。ノードが参加時にマイニングするものではなく、チェーンのルートとしてあらかじめ読み込まれています。後続のすべてのブロックはハッシュによって直前のブロックにつながっているため、現在のどのブロックも、親ブロックのハッシュを順にさかのぼることで、この特定の起点にたどり着くことができます。
- コインベース入力のスクリプトフィールドには、2〜100バイトの任意のデータを入れることができます。ジェネシスブロックでは、このフィールドに新聞見出しのASCII文字列が格納されています。現代のマイナーはこの領域を追加のノンスやプールの識別文字列に使っていますが、ジェネシスブロックではメッセージのために使われました。
- ブロックエクスプローラーを開き、ブロック高0に移動してください。コインベースのテキストを生の16進数表現とASCII表現で読み、見出しの正確な文字エンコーディングを確認してください。なお、ジェネシスの鍵に関連づけられたアドレスには敬意を表する送金が届いていますが、これらの支払いが元の使用不可能なアウトプットを有効にすることはありません。これらは既知の公開鍵に宛てた別個のトランザクションです。
重要な事実
- ジェネシスブロックは2009年1月3日にマイニングされました。
- そのコインベースのテキストには「The Times 03/Jan/2009 Chancellor on brink of second bailout for banks」と書かれています。
- ジェネシスブロックに含まれる50BTCの報酬は使用できず、永遠にアクセス不可能です。
- ブロック1のタイムスタンプは2009年1月9日で、ジェネシスブロックの日付から6日間の空白がありました。
- サトシ・ナカモトは2009年1月8日から9日にかけて、暗号技術メーリングリストでBitcoin v0.1を発表しました。
- ジェネシスブロックのヘッダーは、チェーンのルートとしてすべてのノードのソフトウェアにハードコードされています。
演習 九・六・三・一
9集めるシステムのローンチに関連する歴史的または技術的な資料9つを挙げてください(例:ホワイトペーパー、最初の取引、創設者からのメールなど)。日付と内容を記載してください。
6まとめる9つの項目を、身元認証、タイムスタンプ付与、ルール定義、インセンティブ配分、通信、構造的制約という機能に基づいて6つのカテゴリーに分類してください。
3絞り込む6つのグループを、新しいシステムの正当性と技術的な境界を定める3つの中核的なメカニズムにまとめてください。
1結晶化するジェネシスブロックの見出しがその日付について証明していることと、証明していないことを1文で書いてください。
事実確認
日付、数字、主張は、下記に記載された公表資料と照合して確認しました。
- S. Nakamoto, 'Bitcoin: A Peer-to-Peer Electronic Cash System' (2008)
- Bitcoin Core source code, chainparams.cpp
- The Times, front page (January 3, 2009)
- S. Nakamoto, 'Bitcoin v0.1 released', cryptography mailing list (January 2009)