ビットコインノードは、今ではインスタント同期に一歩近づきました
ビットコインノードは、インスタント同期に近づいています
ビットコインの軽量クライアントは、ビットコインのスタートアップ企業ZeroSyncのゼロ知識(ZK)証明によって、ほとんど即座にブロックチェーンの最新情報に同期することができるようになりました。ZeroSyncは最終的にはフルノードでも同様のことができるようにすることを目指しています。
ZK証明は、証明者が与えられた計算が正しいことを証明する短い数学的な文を生成し、その計算の詳細を明かさずに検証者に証明することができます。この証明を構築することは計算上負荷が高いですが、提供される文は常に非常にコンパクトであり、証明計算の入力となったデータのサイズに関係なく、そのデータの正確性を数学的に高速に検証することができます。ビットコインでは、この数学的なトリックはノードやクライアントに非常に有用です。
ビットコインのフルノードは、2009年1月の創設から現在までのブロックチェーンを構成するすべてのデータをダウンロードして検証することが必要です。この包括的な設定をスケーリングすることの難しさから、サトシ・ナカモトはビットコインのホワイトペーパーで、フルノードを実行せずに受信した支払いを検証できる異なるタイプのクライアントを想定しています。
ビットコインの軽量クライアントは、簡略化された支払い検証(SPV)メカニズムを活用しています。支払いを受け取ると、クライアントはネットワークノードにクエリを送信し、最長のチェーンのヘッダーを取得します。そして、受信したトランザクションが追加されたブロックを見つけることができます。これはネットワークノードがそのトランザクションを正当なものとして受け入れたことを示しています。その後、そのブロックにさらにブロックが追加されるにつれて、ライトクライアントはその支払いが正当であり、ネットワークによってブロックに受け入れられたことを確認するための確認数を増やしていきます。
- エリプティック・ブロックチェーン監視企業:北朝鮮のラザルス・グループによる盗難騒動が104日間で2億4,000万ドルに達する
- ビットコイン価格予測:BTCが26,500ドルを超えると、購入する最適な時期?
- 「Toncoinは20%上昇し、堅調さを示す- TONは今週末に3ドルに達するか?」
ビットコインでは、ビットコインのコンセンサスを変更する必要はなく、ZK証明によってこの設定を改善することができます。ビットコインの各ブロックは、そのトランザクションデータをMerkleツリーに効果的に圧縮し、そのツリーのルートをヘッダーに含めることでデータを圧縮しています。ZeroSyncの取り組みは、すべてのビットコインのブロックヘッダーを別のMerkleツリーにバッチ処理することで、ヘッダーチェーンを短く軽量なデータで合成することを可能にします。このプロセスにより、ヘッダーチェーンは短く軽量なデータで合成されるため、証明となります。
ヘッダーチェーンの証明は、与えられたブロックヘッダーがチェーンに含まれているかどうかを迅速に証明することができます。そのブロックヘッダーは、そのブロックに特定のトランザクションが含まれているかどうかを証明するために活用することができます。このプロセスは以前に説明したSPVメソッドに非常に似ていますが、より効率的です。SPVではブロックチェーンのすべてのヘッダーの完全なコピーを保持する必要がありますが、ZK証明ではライトクライアントはその小さなヘッダーチェーンの証明を保存するだけで、チェーンの最新状態に数秒で同期することができます。
ヘッダーチェーンの証明が証明できることは、チェーン内の各ブロックがマイニング時に困難要件を満たしたことを意味します。言い換えると、ヘッダーチェーンの証明を検証することによって、ユーザーやクライアントはその指定された高さまでの各ビットコインブロックが正しくマイニングされ、当時のマイニングの難易度基準を満たしていたことを確信することができます。
ゼロシンクの最初の完全なヘッダーチェーンZK証明のリリースは、ゼロシンクの最初のマイルストーンでした。彼らのより大きなビジョンを実現するためには、ヘッダーチェーンの証明をさらに進化させ、ノードがBitcoin CoreのAssume Valid機能と同様に同期できるようにする必要があります。3つ目のチェックボックスは、ビジョン通りに完全なビットコインブロックチェーンの同期を提供することです。
Assume Validは、デフォルトで有効になっているBitcoin Coreのオプションであり、特定のブロック高までのすべてのスクリプトが有効であると仮定します。これは、初期ブロックのダウンロード時にブロックチェーンを同期している新しいフルノードが、ジェネシスブロックからビットコインコアクライアントで指定されたリリースのブロック高までのスクリプトの検証をスキップできることを意味します。これらのスクリプトは、トランザクションのウィットネスデータの一部であり、主にロックスクリプトの解決と資金の使用、タイムロック、その他のプログラム化された支払い条件です。ユーザーは`assumevalid=0`を設定して、他のブロックの内容の検証と共にすべてのスクリプトを完全に検証するようにクライアントを強制するオプションもあります。ただし、Assume Validをデフォルトで有効にする背後にある一般的でかなり安全な仮定は、その指定されたブロック高までに十分なワークの証明が示されていることで、それ以前のスクリプトが有効であると信じることができるというものです。
ZeroSyncの中間の提供は、完成すれば、ビットコインのユーザーがデフォルトのBitcoin Core IBDと同様にノードを同期させることができるようになります。ノードはビットコインの創設から現在までのすべてのデータをダウンロードしますが、assumevalidの高さ以降のウィットネスデータのみを検証します。UTXOセットも方程式の必要な部分です。そのために、ZeroSyncはビットコインノードの同期効率を向上させることを目指すプロジェクトであるUtreexoを活用しています。Utreexoは、特定のブロックでの最新のUTXOセットを提供し、ZeroSyncはそれをZK証明ベースの設定に追加することができます。その結果、より短いヘッダーチェーンの証明とよりコンパクトで効率的なUTXOセットが得られます。これによって、クライアントは支払い検証のニーズを満たすために利用することができます。
チームのトップクラスのオファリングは一歩進んで、ノードが任意のスクリプトが有効であると仮定せずに、ビットコインの最新の状態に同期することを可能にします。ZKプルーフを使用することで、フルノードは、Bitcoin Coreのデフォルト設定であるassumevalidを使用するよりも高速な初期同期とおそらくより高いセキュリティ保証を実現できます。
重要なことは、Bitcoin Coreのユーザーがassumevalidを無効にしても、すべてのスクリプトを検証し、ZeroSyncのトップクラスのオファリングと同様のセキュリティの前提条件を持つとしても、後者のより大きな価値提案は、すべての情報を検証するための効率と速度の劇的な向上です。現在、ビットコインのブロックチェーンは510GBのデータを保持していますが、ZeroSyncのアプローチは、短く軽量な1MB以上のプルーフの生成により、標準のBitcoin Coreを使用した通常のIBDと比較して数桁のパフォーマンス向上を実現し、まったく同じの合意ルールが適用されることを保証します。
効率の向上は、ビットコインのブロックチェーンがブロックごとに成長し続けるにつれてますます重要になります。いずれは、帯域幅とストレージの観点から、チェーン全体のダウンロードと検証が制約される可能性があります-特に、高速インターネットへのアクセスや大容量のハードドライブへのアクセスが制限されているか高額である地域では。