中級 レッスン6 読了4分

ノットを結ぶ:信頼するのではなく確認する

一般的なコンピュータとディスクがあれば、他人に真実が何かを尋ねる必要はなくなります。

ほとんどの人がBitcoinを使うとき、自分の残高を他の人に尋ねます。ウォレットを開くと、それがサーバーに問い合わせ、サーバーが数値を返し、あなたはそれを信じます。ほとんどの場合、その数値は正しいです。しかし、動詞に注目してください:信じる。代替手段が存在し、それはあなたの机の上の普通のコンピュータに収まります。

フルノードは2009年1月からのすべてのブロックをダウンロードし、それぞれを自分で確認します。各トランザクションの各エントリの署名を確認し、どのコインも二重に使われていないことを確認し、各ブロックのマークルルートを再計算し、その時点のターゲットに対して各ヘッダーのハッシュを再計算し、各マイナーに支払われた報酬が発行ルールで許可されたものであることを確認します。10億以上のトランザクションが一つ一つ監査され、その結果は、誰にも正しいかどうかを尋ねずに自分で構築した未使用の出力のセットです。

測るか、他の誰かが測るか。

最初の同期が高価な部分です。数百ギガバイトをダウンロードして確認する必要があり、マシンとインターネットによっては1日から数日かかります。その後、ノードは到着するものを追跡するだけです — 10分ごとに数メガバイトで、電力消費は電球と同程度です。

最初から最後まで確認するのは丸一日の旅で、一度だけ行います。

一つの設定が説明に値します。これはよく誤解されることがあるからです。プログラムには、コード内でマークされたポイント以下の非常に古いブロックの署名検証をスキップする最適化が組み込まれています。これは盲目的な信頼ではありません。そのポイントは、誰でも20の独立した情報源で確認できるブロックのハッシュです。2009年から署名を一つ一つ確認したい人は、設定の一行で最適化をオフにできます。

ディスクが小さい場合は、プルーニングがあります。ノードは各ブロックをダウンロードし、確認した後、古いものを削除し、未使用の出力セットと最近のブロックだけを保持します。最小限であれば1ギガバイト未満に収まります。プルーニングは第三者を信頼することではありません。それはすべてを確認し、その後証拠を捨てることです。

プルーニングは信頼ではありません。すべてを確認し、その後証拠を捨てることです。

実際、あなたにとって何が変わるのでしょうか?三つのことです。ウォレットはあなたのノードに問い合わせるようになり、応答は企業の誠実さに依存しなくなります。プライバシーが大幅に向上します。なぜなら、所有するすべてのアドレスを他のサーバーに知らせることがなくなるからです — これはプライバシーに関するレッスンで示されるように、最も一般的な漏洩です。そして、何よりも、あなたはルールを守ることができるようになります。もし明日、マイナーの大多数が予定外のコインを作成することを決定した場合、あなたのノードはこれらのブロックを拒否し、あなたが受け入れたルールに従うチェーンを続けます。これは2017年の争いを決定したものであり、Bitcoinとは何かについてのモジュールで既に説明されています。

ノードを運用することが何ではないかについて正直であることは重要です。それはお金を生むものではなく、マイニングでもなく、何かを加速するものでもありません。シードを失ったり、詐欺に遭ったりすることからあなたを守るものではありません。そして、大多数の人は決してノードを運用しないでしょうが、それで問題ありません。ネットワークは運用が安価で可能であることを必要としており、全員が運用することを必要としていません。価値は、どこでも誰でも許可を求めずに選択肢が存在するためにコストが十分に低いことにあります。

100ドルのコンピュータとディスクで解決します。それは、Bitcoinのルールについて意見を持つことと、それらが実行される場所の一つになることの違いです。

基礎層を内部から理解したら、それだけでは答えられない質問が始まります:1秒でコーヒーを支払う方法、Taprootで何が変わったのか、ブロック戦争がなぜ起こったのか、ブロックチェーンがあなたについて正確に何を明らかにするのか。これが次のモジュールのテーマです。