ホームページ  >  記事  >  ビットコインのフルノード同期が遅すぎますか?フルノードを使用せずに支払いを検証できるSPVメカニズム

ビットコインのフルノード同期が遅すぎますか?フルノードを使用せずに支払いを検証できるSPVメカニズム

DDD
DDD転載
2024-03-06 13:22:22410ブラウズ

ビットコインは誕生以来、電力リソースを浪費していると批判されてきましたが、その強力なコンピューティング能力は必要なプロセスであり、これに代わるより良い方法を見つけるのは困難です。

分散型台帳が長く存在するにつれて、その基礎となるテクノロジーであるブロックチェーン上の取引に参加する人がますます増えており、分散型台帳の内容は急速に拡大しています。ブロックに設定された 1 MB のストレージ量により、トランザクション プロセスとトランザクション速度が制限されます。 したがって、台帳全体をダウンロードするのは頭痛の種となっています。台帳全体をダウンロードするのではなく、自分に関連する部分だけを見つけることはできますか?言い換えれば、フィルターを見つけて無駄なものを排除するということです。

そこでSPV機構が登場しました。

01. SPVの仕組み

##SPVの正式名称は「Simplified Payment Verification」です。 、一般的な翻訳 簡単な支払い確認用。その目的は、特定の取引が存在するかどうかを検証することですが、取引の合法性を検証することはできません。最初のステップは取引の支払いが検証されたかどうかを確認することであり、2番目のステップは支払いを計算することです。どれだけの確認が得られたか。

サトシ・ナカモトは論文でこの概念について言及しました:

フルノードを実行していない場合でもトランザクションを検証することは可能です。ユーザーは最長のチェーンのみを保持する必要があります。すべてのブロック ヘッダー データの上。

簡単に言うと:

シャオヘイがビットコインをダーバイに送金した場合、ダーバイはどうやってコインの取引が完了したことを知ることができるのでしょうか?分散型システムでは証人を見つけることは不可能です。

従来の方法によると: Dabai はすべてのブロックチェーン台帳をダウンロードし、Xiaohei のアカウントを見つけ、まず以前にそのようなビットコインを持っているかどうか、Dabai に転送されたかどうかを確認し、記録します。ほんの最初のステップで、Dabai の貯蔵能力が爆発的に増加しました。

各ビットコインのブロック容量は 1 MB で、ブロック ヘッダーはわずか 80 KB なので、ブロック ヘッダーをダウンロードするだけでスペースを大幅に節約できます。

ブロック ヘッダーとブロック本体とは正確には何ですか?

ブロック ヘッダーを人の頭と比較すると、ブロックのヘッダー情報 (ハッシュ値、タイムスタンプなど) が保存され、ブロック本体は人の全身に似ており、詳細なデータが保存されます。特定のトランザクション情報など、このブロックの。ブロックヘッダーはブロック本体に含まれます。

つまり、ブロック ヘッダーにはハッシュ値がありますが、ブロック ヘッダーをダウンロードした後でも、Dabai はトランザクションがどのブロックに記録されているかを知ることができません。

現時点では、完全なトランザクション ID とトランザクション ID。ノードは、それが存在するかどうか、またどのブロックにあるかを確認します。

02. SPV 支払い検証プロセス

ねえ、鉱山労働者とシャオヘイが力を合わせてダバイを騙したらどうなるでしょうか?

ここで SPV メカニズムが役に立ちます。

鉱山労働者がシャオヘイが振り向いたと言ったら、彼は振り向いていません。

次に、嘘をつくためには、さらに多くのトランザクションを偽造して、これらのトランザクションが自分のブロック ヘッダーと同じハッシュ値を取得できるようにする必要があります。

ただし、ハッシュの技術的特性により、変更されたデータのハッシュ値を元のデータと同じにすることは困難です。

つまり、SPV の取引プロセス全体は次のとおりです。

最初のステップは、取引の支払いが確認されたかどうかを確認することです

最初に検証対象の支払いのトランザクション ハッシュ値を計算し、ブロック ヘッダーをブロックチェーン ネットワークからローカルに保存し、次に検証対象の支払いに対応するメルケル ツリー ハッシュ認証パスをブロックチェーンから取得します。 。 取得したハッシュ値が自分のハッシュ値と一致するか比較し、一致していれば、その支払いが本物で正当であることを証明します。

2 番目のステップでは、

取得した確認の数を確認します。ブロックヘッダーの位置に基づいて、支払いが受け取った確認の数が決まります。

これら 2 つのステップを完了すると、取引支払いの検証が完了します。

03. 概要

SPV メカニズムは、ストレージ スペースを

節約するだけでなく、P2P ネットワーク帯域幅の無駄も削減し、一般ユーザーがデータなしでダウンロードを完了することもでき、アカウントの監査にも非常に便利です。 ただし、SPV は完全なブロック データを持っていないため、トランザクションが存在しないことを確認できません。この状況は簡単に二重支払いにつながる可能性があり、ランダムなリンク ノードがネットワークによって悪意のある攻撃を受ける可能性もあります。

SPV には他にも利点と欠点があると思いますか? メッセージ領域であなたの意見を共有することを歓迎します。

以上がビットコインのフルノード同期が遅すぎますか?フルノードを使用せずに支払いを検証できるSPVメカニズムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はzhihu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。