初級 レッスン3 読了4分

ブロックチェーン:皆がコピーする台帳

魔法のデータベースではありません。誰でも最初から最後まで確認できる連鎖したブロックのリストであり、新しいブロックが追加されるたびに書き直すのが難しくなります。

その言葉は未来の代名詞となり、今日ではレタスの追跡、卒業証書の登録、契約の署名に使われています。始めにその正体を理解することが重要です。宣伝ほど神秘的ではなく、単なるリストです。

ブロックのリストであり、順番に並んでいて、それぞれのブロックにはその中に含まれるトランザクションが記録されています。最初のブロックは2009年1月3日に作成され、ジェネシスブロックと呼ばれています。それ以来、ネットワークは平均して10分ごとに1つのブロックを追加し、90万以上のブロックが停止することなく追加されてきました。リストを最初から最後まで読むことは、Bitcoinでこれまでに起こったすべてを読むことに等しいです。

このリストが普通のファイルと異なるのは、ブロックがどのようにして前のブロックに結びついているかです。各ブロックは、その前のブロックのハッシュをヘッダーに持っています。

ハッシュとは、コンテンツの指紋のようなものです。テキスト、写真、またはブロック全体を入力すると、常に同じサイズの数字が返されます。入力のコンマを1つ変えるだけで、結果は完全に異なります—似ているのではなく、全く異なるのです。そして、逆方向の道はありません。指紋を手にしても、それを生成したものを再構築することはできません。この関数については中級コースで詳しく学びますが、今はその効果だけを理解しておけば十分です。

効果はこうです。次のブロックが前のブロックの指紋を保持しているため、古いブロック内の何かを変更すると、そのブロックの指紋が変わり、上のブロックに記録されているものと一致しなくなります。そして、それが次のブロックにも記録されているため、その破損はリストの最後まで続きます。過去を静かに編集することはできません。それを再書き直すことはできますが、そのブロックとそれ以降のすべてのブロックを再構築する必要があり、それにはそれらを構築するのにかかったすべてのコストがかかります。その間にネットワークの他の部分は次のブロックを構築し続けます。

各ブロックは前のブロックの指紋を保持しています。1つを変更すると、次のすべてのブロックのシールが破れます。

このアイデアは2008年に生まれたものではありません。1991年に、Stuart HaberとScott Stornettaはデジタル文書のタイムスタンプをそのハッシュを連鎖させる方法を発表し、彼らが設立した会社は何年もニューヨーク・タイムズのクラシファイド広告に週の要約を印刷していました。新聞は証人でした:何百万もの印刷されたコピーが配布され、回収することは不可能でした。過去を変えるには、世界中のすべてのコピーを交換する必要がありました。Bitcoinは新聞に依存せずに同じことを行います。

過去を変えるには、すでに配布されたすべての新聞を回収する必要があります。

もう一つの重要な要素があります。それが最初の要素を支えています。記録は一箇所に存在しません。何万台ものコンピュータがそれぞれ完全なコピーを保持しており、現在では約700ギガバイトです。普通のコンピュータとディスクを持っている人なら誰でも自分のコピーをダウンロードできます。それは信頼によるコピーではありません:それぞれがジェネシスブロックから受け取ったすべてを検証し、閉じるものだけを受け入れます。

何万もの完全なコピーがあり、それぞれが最初のブロックから検証されています。

この多重化が検閲を高価にします。トランザクションを消去するには、すべてのコピーから同時に消去する必要があり、一つでも生き残ればリストは再構築できます。ある国でネットワークを禁止しても、その国のコンピュータが取り除かれるだけで、書かれている内容には一行も影響しません。

そして、誰が指揮をとるのかという問題にも答えています。計算力のあるマイナーは、彼が作成するブロックにどのトランザクションを入れるかを選ぶことができますが、それだけです。彼は無効なブロックを受け入れさせることはできません:ブロックが同じコインを二度使ったり、何もないところからビットコインを作ったり、他のルールを破ったりすると、そのブロックを受け取った各コンピュータは単にそれを破棄し、以前のチェーンを続けます。これは実際に起こりました。2010年8月15日、ある欠陥により1つのブロックが1840億ビットコインを作成することを許しました。それは数時間で検出され、修正され、そのブロックを含むチェーンは修正されたバージョンを実行していた人々によって放棄されました。

ルールを破ったブロックは、それを受け取った各ノードによって破棄されます。どれだけ高価であっても。

流行の言葉に公平を期すために言えば、ハッシュを連鎖させることは、互いに信頼しない当事者が仲裁者なしで順序に合意する必要がある場合に本当に役立ちます。だからこそ、発表されているほとんどのアプリケーションはそれを必要としません:登録を担当する企業が存在する場合—レタスや卒業証書では存在します—、通常のデータベースの方が安価で同様に信頼性があります。なぜなら、信頼はすでにそこにあるからです。

残る疑問は、ブロックを追加することが過去を高価にする理由と、その追加を誰が行い、なぜそれがコストをかけるのかです。それは次のレッスンです。